| 1 | import assert from "node:assert/strict"; |
| 2 | import { providerProtocolLabel, providerEndpointMismatch, providerProtocolChoices } from "../lib/providerProtocol"; |
| 3 | assert.equal(providerProtocolLabel("dashscope-responses"), "百炼 Responses (/responses)"); |
| 4 | assert.equal(providerProtocolLabel("anthropic"), "Anthropic Messages (/v1/messages)"); |
| 5 | assert.equal(providerEndpointMismatch("dashscope-responses", "https://api.deepseek.com/anthropic/v1/messages"), true); |
| 6 | assert.equal(providerEndpointMismatch("anthropic", "https://example.test/v1/messages"), false); |
| 7 | assert.equal(providerEndpointMismatch("openai", "https://example.test/v1/chat/completions?x=1"), false); |
| 8 | assert.equal(providerEndpointMismatch("responses", "https://example.test/v1"), false); |
| 9 | assert.equal(providerEndpointMismatch("responses", "https://example.test/gateway"), false); |
| 10 | assert.equal(providerEndpointMismatch("custom", "https://example.test/v1/messages"), false); |
| 11 | console.log("provider protocol: PASS"); |
| 12 | |
| 13 | const registered = ["anthropic", "dashscope-responses", "openai", "responses", "vendor-private"]; |
| 14 | assert.deepEqual(providerProtocolChoices("openai", undefined, registered), ["openai", "anthropic", "responses"]); |
| 15 | assert.deepEqual(providerProtocolChoices("anthropic", "anthropic", registered), ["anthropic", "openai", "responses"]); |
| 16 | assert.ok(providerProtocolChoices("openai", "dashscope-responses", registered).includes("dashscope-responses")); |
| 17 | assert.ok(providerProtocolChoices("dashscope-responses", "dashscope-responses", registered).includes("dashscope-responses")); |
| 18 | assert.ok(providerProtocolChoices("openai", undefined, ["openai", "dashscope-responses"], true).includes("dashscope-responses")); |
| 19 | console.log("provider protocol choices: PASS"); |
| 20 |