{"repo": "astrobotcat/astrobot-recettes", "files": {"openclaw-test/extensions/deepseek/openclaw.plugin.json": {"9c625f3be576a517dd56a108adc75621c9602819": {"t": 1785745280.7344708, "n": 689, "h": "8b5b9215d91b7334", "c": "{\n \"id\": \"deepseek\",\n \"enabledByDefault\": true,\n \"providers\": [\"deepseek\"],\n \"providerAuthEnvVars\": {\n \"deepseek\": [\"DEEPSEEK_API_KEY\"]\n },\n \"providerAuthChoices\": [\n {\n \"provider\": \"deepseek\",\n \"method\": \"api-key\",\n \"choiceId\": \"deepseek-api-key\",\n \"choiceLabel\": \"DeepSeek API key\",\n \"groupId\": \"deepseek\",\n \"groupLabel\": \"DeepSeek\",\n \"groupHint\": \"API key\",\n \"optionKey\": \"deepseekApiKey\",\n \"cliFlag\": \"--deepseek-api-key\",\n \"cliOption\": \"--deepseek-api-key \",\n \"cliDescription\": \"DeepSeek API key\"\n }\n ],\n \"configSchema\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {}\n }\n}\n"}, "914d06c012626cf427258c7cdf1792b71402e095": {"t": 1785749677.6716416, "n": 689, "h": "8b5b9215d91b7334", "c": "{\n \"id\": \"deepseek\",\n \"enabledByDefault\": true,\n \"providers\": [\"deepseek\"],\n \"providerAuthEnvVars\": {\n \"deepseek\": [\"DEEPSEEK_API_KEY\"]\n },\n \"providerAuthChoices\": [\n {\n \"provider\": \"deepseek\",\n \"method\": \"api-key\",\n \"choiceId\": \"deepseek-api-key\",\n \"choiceLabel\": \"DeepSeek API key\",\n \"groupId\": \"deepseek\",\n \"groupLabel\": \"DeepSeek\",\n \"groupHint\": \"API key\",\n \"optionKey\": \"deepseekApiKey\",\n \"cliFlag\": \"--deepseek-api-key\",\n \"cliOption\": \"--deepseek-api-key \",\n \"cliDescription\": \"DeepSeek API key\"\n }\n ],\n \"configSchema\": {\n \"type\": \"object\",\n \"additionalProperties\": false,\n \"properties\": {}\n }\n}\n"}}, "openclaw-test/src/agents/provider-attribution.test.ts": {"9c625f3be576a517dd56a108adc75621c9602819": {"t": 1786068366.7546427, "n": 32515, "h": "bf06d57001e44ca2", "c": "import { describe, expect, it } from \"vitest\";\nimport {\n listProviderAttributionPolicies,\n resolveProviderAttributionHeaders,\n resolveProviderAttributionIdentity,\n resolveProviderAttributionPolicy,\n resolveProviderEndpoint,\n resolveProviderRequestAttributionHeaders,\n resolveProviderRequestCapabilities,\n resolveProviderRequestPolicy,\n describeProviderRequestRoutingSummary,\n} from \"./provider-attribution.js\";\n\ndescribe(\"provider attribution\", () => {\n it(\"resolves the canonical OpenClaw product and runtime version\", () => {\n const identity = resolveProviderAttributionIdentity({\n OPENCLAW_VERSION: \"2026.3.99\",\n });\n\n expect(identity).toEqual({\n product: \"OpenClaw\",\n version: \"2026.3.99\",\n });\n });\n\n it(\"returns a documented OpenRouter attribution policy\", () => {\n const policy = resolveProviderAttributionPolicy(\"openrouter\", {\n OPENCLAW_VERSION: \"2026.3.22\",\n });\n\n expect(policy).toEqual({\n provider: \"openrouter\",\n enabledByDefault: true,\n verification: \"vendor-documented\",\n hook: \"request-headers\",\n docsUrl: \"https://openrouter.ai/docs/app-attribution\",\n reviewNote: \"Documented app attribution headers. Verified in OpenClaw runtime wrapper.\",\n product: \"OpenClaw\",\n version: \"2026.3.22\",\n headers: {\n \"HTTP-Referer\": \"https://openclaw.ai\",\n \"X-OpenRouter-Title\": \"OpenClaw\",\n \"X-OpenRouter-Categories\": \"cli-agent\",\n },\n });\n });\n\n it(\"normalizes aliases when resolving provider headers\", () => {\n expect(\n resolveProviderAttributionHeaders(\"OpenRouter\", {\n OPENCLAW_VERSION: \"2026.3.22\",\n }),\n ).toEqual({\n \"HTTP-Referer\": \"https://openclaw.ai\",\n \"X-OpenRouter-Title\": \"OpenClaw\",\n \"X-OpenRouter-Categories\": \"cli-agent\",\n });\n });\n\n it(\"returns a hidden-spec OpenAI attribution policy\", () => {\n expect(resolveProviderAttributionPolicy(\"openai\", { OPENCLAW_VERSION: \"2026.3.22\" })).toEqual({\n provider: \"openai\",\n enabledByDefault: true,\n verification: \"vendor-hidden-api-spec\",\n hook: \"request-headers\",\n reviewNote:\n \"OpenAI native traffic supports hidden originator/User-Agent attribution. Verified against the Codex wire contract.\",\n product: \"OpenClaw\",\n version: \"2026.3.22\",\n headers: {\n originator: \"openclaw\",\n version: \"2026.3.22\",\n \"User-Agent\": \"openclaw/2026.3.22\",\n },\n });\n expect(resolveProviderAttributionHeaders(\"openai\", { OPENCLAW_VERSION: \"2026.3.22\" })).toEqual({\n originator: \"openclaw\",\n version: \"2026.3.22\",\n \"User-Agent\": \"openclaw/2026.3.22\",\n });\n });\n\n it(\"returns a hidden-spec OpenAI Codex attribution policy\", () => {\n expect(\n resolveProviderAttributionPolicy(\"openai-codex\", { OPENCLAW_VERSION: \"2026.3.22\" }),\n ).toEqual({\n provider: \"openai-codex\",\n enabledByDefault: true,\n verification: \"vendor-hidden-api-spec\",\n hook: \"request-headers\",\n reviewNote:\n \"OpenAI Codex ChatGPT-backed traffic supports the same hidden originator/User-Agent attribution contract.\",\n product: \"OpenClaw\",\n version: \"2026.3.22\",\n headers: {\n originator: \"openclaw\",\n version: \"2026.3.22\",\n \"User-Agent\": \"openclaw/2026.3.22\",\n },\n });\n });\n\n it(\"lists the current attribution support matrix\", () => {\n expect(\n listProviderAttributionPolicies({ OPENCLAW_VERSION: \"2026.3.22\" }).map((policy) => [\n policy.provider,\n policy.enabledByDefault,\n policy.verification,\n policy.hook,\n ]),\n ).toEqual([\n [\"openrouter\", true, \"vendor-documented\", \"request-headers\"],\n [\"openai\", true, \"vendor-hidden-api-spec\", \"request-headers\"],\n [\"openai-codex\", true, \"vendor-hidden-api-spec\", \"request-headers\"],\n [\"anthropic\", false, \"vendor-sdk-hook-only\", \"default-headers\"],\n [\"google\", false, \"vendor-sdk-hook-only\", \"user-agent-extra\"],\n [\"groq\", false, \"vendor-sdk-hook-only\", \"default-headers\"],\n [\"mistral\", false, \"vendor-sdk-hook-only\", \"custom-user-agent\"],\n [\"together\", false, \"vendor-sdk-hook-only\", \"default-headers\"],\n ]);\n });\n\n it(\"authorizes hidden OpenAI attribution only on verified native hosts\", () => {\n expect(\n resolveProviderRequestPolicy(\n {\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://api.openai.com/v1\",\n transport: \"stream\",\n capability: \"llm\",\n },\n { OPENCLAW_VERSION: \"2026.3.22\" },\n ),\n ).toMatchObject({\n endpointClass: \"openai-public\",\n attributionProvider: \"openai\",\n allowsHiddenAttribution: true,\n usesKnownNativeOpenAIEndpoint: true,\n usesVerifiedOpenAIAttributionHost: true,\n usesExplicitProxyLikeEndpoint: false,\n });\n\n expect(\n resolveProviderRequestPolicy(\n {\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://proxy.example.com/v1\",\n transport: \"stream\",\n capability: \"llm\",\n },\n { OPENCLAW_VERSION: \"2026.3.22\" },\n ),\n ).toMatchObject({\n endpointClass: \"custom\",\n attributionProvider: undefined,\n allowsHiddenAttribution: false,\n usesKnownNativeOpenAIEndpoint: false,\n usesVerifiedOpenAIAttributionHost: false,\n usesExplicitProxyLikeEndpoint: true,\n });\n });\n\n it(\"classifies OpenAI-family default, codex, and Azure routes distinctly\", () => {\n expect(\n resolveProviderRequestPolicy({\n provider: \"openai\",\n api: \"openai-responses\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toMatchObject({\n endpointClass: \"default\",\n attributionProvider: undefined,\n usesKnownNativeOpenAIRoute: true,\n usesExplicitProxyLikeEndpoint: false,\n });\n\n expect(\n resolveProviderRequestPolicy({\n provider: \"openai-codex\",\n api: \"openai-responses\",\n baseUrl: \"https://chatgpt.com/backend-api\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toMatchObject({\n endpointClass: \"openai-codex\",\n attributionProvider: \"openai-codex\",\n allowsHiddenAttribution: true,\n });\n\n expect(\n resolveProviderRequestPolicy({\n provider: \"azure-openai\",\n api: \"azure-openai-responses\",\n baseUrl: \"https://tenant.openai.azure.com/openai/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toMatchObject({\n endpointClass: \"azure-openai\",\n attributionProvider: undefined,\n allowsHiddenAttribution: false,\n usesKnownNativeOpenAIEndpoint: true,\n });\n });\n\n it(\"classifies native Mistral hosts centrally\", () => {\n expect(resolveProviderEndpoint(\"https://api.mistral.ai/v1\")).toMatchObject({\n endpointClass: \"mistral-public\",\n hostname: \"api.mistral.ai\",\n });\n\n expect(\n resolveProviderRequestCapabilities({\n provider: \"mistral\",\n api: \"openai-completions\",\n baseUrl: \"https://api.mistral.ai/v1\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n endpointClass: \"mistral-public\",\n isKnownNativeEndpoint: true,\n knownProviderFamily: \"mistral\",\n });\n });\n\n it(\"classifies native OpenAI-compatible vendor hosts centrally\", () => {\n expect(resolveProviderEndpoint(\"https://api.x.ai/v1\")).toMatchObject({\n endpointClass: \"xai-native\",\n hostname: \"api.x.ai\",\n });\n expect(resolveProviderEndpoint(\"https://api.grok.x.ai/v1\")).toMatchObject({\n endpointClass: \"xai-native\",\n hostname: \"api.grok.x.ai\",\n });\n expect(resolveProviderEndpoint(\"https://api.z.ai/api/coding/paas/v4\")).toMatchObject({\n endpointClass: \"zai-native\",\n hostname: \"api.z.ai\",\n });\n expect(resolveProviderEndpoint(\"https://api.deepseek.com\")).toMatchObject({\n endpointClass: \"deepseek-native\",\n hostname: \"api.deepseek.com\",\n });\n expect(resolveProviderEndpoint(\"https://llm.chutes.ai/v1\")).toMatchObject({\n endpointClass: \"chutes-native\",\n hostname: \"llm.chutes.ai\",\n });\n expect(resolveProviderEndpoint(\"https://api.groq.com/openai/v1\")).toMatchObject({\n endpointClass: \"groq-native\",\n hostname: \"api.groq.com\",\n });\n expect(resolveProviderEndpoint(\"https://api.cerebras.ai/v1\")).toMatchObject({\n endpointClass: \"cerebras-native\",\n hostname: \"api.cerebras.ai\",\n });\n expect(resolveProviderEndpoint(\"https://opencode.ai/api\")).toMatchObject({\n endpointClass: \"opencode-native\",\n hostname: \"opencode.ai\",\n });\n });\n\n it(\"treats OpenRouter-hosted Responses routes as explicit proxy-like endpoints\", () => {\n expect(\n resolveProviderRequestPolicy({\n provider: \"openrouter\",\n api: \"openai-responses\",\n baseUrl: \"https://openrouter.ai/api/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toMatchObject({\n endpointClass: \"openrouter\",\n usesExplicitProxyLikeEndpoint: true,\n attributionProvider: \"openrouter\",\n });\n });\n\n it(\"gates documented OpenRouter attribution to known OpenRouter endpoints\", () => {\n expect(\n resolveProviderRequestPolicy({\n provider: \"openrouter\",\n api: \"openai-responses\",\n baseUrl: \"https://openrouter.ai/api/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toMatchObject({\n endpointClass: \"openrouter\",\n attributionProvider: \"openrouter\",\n allowsHiddenAttribution: false,\n });\n\n expect(\n resolveProviderRequestAttributionHeaders({\n provider: \"openrouter\",\n baseUrl: \"https://proxy.example.com/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toBeUndefined();\n });\n\n it(\"summarizes proxy-like, local, invalid, default, and native routing compactly\", () => {\n expect(\n describeProviderRequestRoutingSummary({\n provider: \"openai\",\n api: \"openai-responses\",\n }),\n ).toBe(\"provider=openai api=openai-responses endpoint=default route=default policy=none\");\n\n expect(\n describeProviderRequestRoutingSummary({\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"javascript:alert(1)\",\n }),\n ).toBe(\"provider=openai api=openai-responses endpoint=invalid route=invalid policy=none\");\n\n expect(\n describeProviderRequestRoutingSummary({\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://proxy.example.com/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toBe(\"provider=openai api=openai-responses endpoint=custom route=proxy-like policy=none\");\n\n expect(\n describeProviderRequestRoutingSummary({\n provider: \"qwen\",\n api: \"openai-responses\",\n baseUrl: \"http://localhost:1234/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toBe(\"provider=qwen api=openai-responses endpoint=local route=local policy=none\");\n\n expect(\n describeProviderRequestRoutingSummary({\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://api.openai.com/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toBe(\n \"provider=openai api=openai-responses endpoint=openai-public route=native policy=hidden\",\n );\n\n expect(\n describeProviderRequestRoutingSummary({\n provider: \"openrouter\",\n api: \"openai-responses\",\n baseUrl: \"https://openrouter.ai/api/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toBe(\n \"provider=openrouter api=openai-responses endpoint=openrouter route=proxy-like policy=documented\",\n );\n\n expect(\n describeProviderRequestRoutingSummary({\n provider: \"groq\",\n api: \"openai-completions\",\n baseUrl: \"https://api.groq.com/openai/v1\",\n transport: \"stream\",\n capability: \"llm\",\n }),\n ).toBe(\"provider=groq api=openai-completions endpoint=groq-native route=native policy=none\");\n });\n\n it(\"models other provider families without enabling hidden attribution\", () => {\n expect(\n resolveProviderRequestPolicy({\n provider: \"google\",\n baseUrl: \"https://generativelanguage.googleapis.com\",\n transport: \"http\",\n capability: \"image\",\n }),\n ).toMatchObject({\n knownProviderFamily: \"google\",\n attributionProvider: undefined,\n allowsHiddenAttribution: false,\n });\n\n expect(\n resolveProviderRequestPolicy({\n provider: \"github-copilot\",\n transport: \"http\",\n capability: \"llm\",\n }),\n ).toMatchObject({\n knownProviderFamily: \"github-copilot\",\n attributionProvider: undefined,\n allowsHiddenAttribution: false,\n });\n });\n\n it(\"classifies native Anthropic endpoints separately from custom hosts\", () => {\n expect(resolveProviderEndpoint(\"https://api.anthropic.com/v1\")).toMatchObject({\n endpointClass: \"anthropic-public\",\n hostname: \"api.anthropic.com\",\n });\n\n expect(resolveProviderEndpoint(\"https://proxy.example.com/anthropic\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"proxy.example.com\",\n });\n });\n\n it(\"classifies Google Gemini and Vertex endpoints separately from custom hosts\", () => {\n expect(resolveProviderEndpoint(\"https://generativelanguage.googleapis.com\")).toMatchObject({\n endpointClass: \"google-generative-ai\",\n hostname: \"generativelanguage.googleapis.com\",\n });\n\n expect(\n resolveProviderEndpoint(\"https://europe-west4-aiplatform.googleapis.com/v1/projects/test\"),\n ).toMatchObject({\n endpointClass: \"google-vertex\",\n hostname: \"europe-west4-aiplatform.googleapis.com\",\n googleVertexRegion: \"europe-west4\",\n });\n\n expect(resolveProviderEndpoint(\"https://aiplatform.googleapis.com\")).toMatchObject({\n endpointClass: \"google-vertex\",\n hostname: \"aiplatform.googleapis.com\",\n googleVertexRegion: \"global\",\n });\n\n expect(resolveProviderEndpoint(\"https://proxy.example.com/google\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"proxy.example.com\",\n });\n });\n\n it(\"classifies native Moonshot and ModelStudio endpoints separately from custom hosts\", () => {\n expect(resolveProviderEndpoint(\"https://api.moonshot.ai/v1\")).toMatchObject({\n endpointClass: \"moonshot-native\",\n hostname: \"api.moonshot.ai\",\n });\n\n expect(resolveProviderEndpoint(\"https://api.moonshot.cn/v1\")).toMatchObject({\n endpointClass: \"moonshot-native\",\n hostname: \"api.moonshot.cn\",\n });\n\n expect(\n resolveProviderEndpoint(\"https://dashscope-intl.aliyuncs.com/compatible-mode/v1\"),\n ).toMatchObject({\n endpointClass: \"modelstudio-native\",\n hostname: \"dashscope-intl.aliyuncs.com\",\n });\n\n expect(resolveProviderEndpoint(\"https://proxy.example.com/v1\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"proxy.example.com\",\n });\n });\n\n it(\"classifies native GitHub Copilot endpoints separately from custom hosts\", () => {\n expect(resolveProviderEndpoint(\"https://api.individual.githubcopilot.com\")).toMatchObject({\n endpointClass: \"github-copilot-native\",\n hostname: \"api.individual.githubcopilot.com\",\n });\n\n expect(resolveProviderEndpoint(\"https://api.enterprise.githubcopilot.com\")).toMatchObject({\n endpointClass: \"github-copilot-native\",\n hostname: \"api.enterprise.githubcopilot.com\",\n });\n\n expect(resolveProviderEndpoint(\"https://api.githubcopilot.example.com\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"api.githubcopilot.example.com\",\n });\n });\n\n it(\"does not classify malformed or embedded Google host strings as native endpoints\", () => {\n expect(resolveProviderEndpoint(\"proxy/generativelanguage.googleapis.com\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"proxy\",\n });\n\n expect(resolveProviderEndpoint(\"https://xgenerativelanguage.googleapis.com\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"xgenerativelanguage.googleapis.com\",\n });\n\n expect(resolveProviderEndpoint(\"proxy/aiplatform.googleapis.com\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"proxy\",\n });\n\n expect(resolveProviderEndpoint(\"https://xaiplatform.googleapis.com\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"xaiplatform.googleapis.com\",\n });\n });\n\n it(\"does not trust schemeless or embedded trusted-provider substrings\", () => {\n expect(resolveProviderEndpoint(\"api.anthropic.com.attacker.example\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"api.anthropic.com.attacker.example\",\n });\n\n expect(resolveProviderEndpoint(\"api.openai.com.attacker.example\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"api.openai.com.attacker.example\",\n });\n\n expect(resolveProviderEndpoint(\"attacker.example/?target=api.openai.com\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"attacker.example\",\n });\n\n expect(resolveProviderEndpoint(\"openrouter.ai.attacker.example\")).toMatchObject({\n endpointClass: \"custom\",\n hostname: \"openrouter.ai.attacker.example\",\n });\n });\n\n it(\"ignores non-http schemes when normalizing native comparable base URLs\", () => {\n expect(resolveProviderEndpoint(\"javascript:alert(1)\")).toMatchObject({\n endpointClass: \"invalid\",\n });\n });\n\n it(\"requires the dedicated OpenAI audio transcription API for audio attribution\", () => {\n expect(\n resolveProviderRequestPolicy({\n provider: \"openai\",\n api: \"openai-audio-transcriptions\",\n baseUrl: \"https://api.openai.com/v1\",\n transport: \"media-understanding\",\n capability: \"audio\",\n }),\n ).toMatchObject({\n attributionProvider: \"openai\",\n allowsHiddenAttribution: true,\n });\n\n expect(\n resolveProviderRequestPolicy({\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://api.openai.com/v1\",\n transport: \"media-understanding\",\n capability: \"audio\",\n }),\n ).toMatchObject({\n attributionProvider: \"openai\",\n allowsHiddenAttribution: true,\n });\n\n expect(\n resolveProviderRequestPolicy({\n provider: \"openai\",\n api: \"not-openai-audio\",\n baseUrl: \"https://api.openai.com/v1\",\n transport: \"media-understanding\",\n capability: \"audio\",\n }),\n ).toMatchObject({\n attributionProvider: undefined,\n allowsHiddenAttribution: false,\n });\n });\n\n it(\"resolves centralized request capabilities for native and proxied routes\", () => {\n expect(\n resolveProviderRequestCapabilities({\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://api.openai.com/v1\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n endpointClass: \"openai-public\",\n allowsOpenAIServiceTier: true,\n supportsOpenAIReasoningCompatPayload: true,\n allowsResponsesStore: true,\n supportsResponsesStoreField: true,\n shouldStripResponsesPromptCache: false,\n });\n\n expect(\n resolveProviderRequestCapabilities({\n provider: \"anthropic\",\n api: \"anthropic-messages\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n endpointClass: \"default\",\n allowsAnthropicServiceTier: true,\n });\n\n expect(\n resolveProviderRequestCapabilities({\n provider: \"custom-proxy\",\n api: \"openai-responses\",\n baseUrl: \"https://proxy.example.com/v1\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n endpointClass: \"custom\",\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: true,\n shouldStripResponsesPromptCache: true,\n });\n });\n\n it(\"respects compat.supportsPromptCacheKey override on prompt cache stripping\", () => {\n // compat.supportsPromptCacheKey = true disables the strip even on a\n // proxy-like endpoint that would otherwise trigger it.\n expect(\n resolveProviderRequestCapabilities({\n provider: \"custom-proxy\",\n api: \"openai-responses\",\n baseUrl: \"https://proxy.example.com/v1\",\n capability: \"llm\",\n transport: \"stream\",\n compat: { supportsPromptCacheKey: true },\n }),\n ).toMatchObject({\n endpointClass: \"custom\",\n shouldStripResponsesPromptCache: false,\n });\n\n // compat.supportsPromptCacheKey = false forces the strip even on a\n // native OpenAI endpoint that would otherwise forward the field.\n expect(\n resolveProviderRequestCapabilities({\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://api.openai.com/v1\",\n capability: \"llm\",\n transport: \"stream\",\n compat: { supportsPromptCacheKey: false },\n }),\n ).toMatchObject({\n endpointClass: \"openai-public\",\n shouldStripResponsesPromptCache: true,\n });\n\n // compat.supportsPromptCacheKey unset preserves the existing default\n // (strip on proxy-like responses endpoints, preserving the fix from\n // #48155 for providers that reject the field).\n expect(\n resolveProviderRequestCapabilities({\n provider: \"custom-proxy\",\n api: \"openai-responses\",\n baseUrl: \"https://proxy.example.com/v1\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n shouldStripResponsesPromptCache: true,\n });\n });\n\n it(\"resolves shared compat families and native streaming-usage gates\", () => {\n expect(\n resolveProviderRequestCapabilities({\n provider: \"moonshot\",\n api: \"openai-completions\",\n baseUrl: \"https://api.moonshot.ai/v1\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n endpointClass: \"moonshot-native\",\n supportsNativeStreamingUsageCompat: true,\n compatibilityFamily: \"moonshot\",\n });\n\n expect(\n resolveProviderRequestCapabilities({\n provider: \"qwen\",\n api: \"openai-completions\",\n baseUrl: \"https://dashscope.aliyuncs.com/compatible-mode/v1\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n endpointClass: \"modelstudio-native\",\n supportsNativeStreamingUsageCompat: true,\n });\n\n expect(\n resolveProviderRequestCapabilities({\n provider: \"generic\",\n api: \"openai-completions\",\n baseUrl: \"https://coding.dashscope.aliyuncs.com/v1\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n endpointClass: \"modelstudio-native\",\n supportsNativeStreamingUsageCompat: true,\n });\n\n expect(\n resolveProviderRequestCapabilities({\n provider: \"ollama\",\n modelId: \"kimi-k2.5:cloud\",\n capability: \"llm\",\n transport: \"stream\",\n }),\n ).toMatchObject({\n compatibilityFamily: \"moonshot\",\n });\n });\n\n it(\"treats native GitHub Copilot base URLs as known native endpoints\", () => {\n expect(\n resolveProviderRequestCapabilities({\n provider: \"github-copilot\",\n api: \"openai-responses\",\n baseUrl: \"https://api.individual.githubcopilot.com\",\n capability: \"llm\",\n transport: \"http\",\n }),\n ).toMatchObject({\n endpointClass: \"github-copilot-native\",\n knownProviderFamily: \"github-copilot\",\n isKnownNativeEndpoint: true,\n });\n });\n\n it(\"resolves a provider capability matrix for representative native and proxied routes\", () => {\n const cases = [\n {\n name: \"native OpenAI responses\",\n input: {\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://api.openai.com/v1\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"openai-family\",\n endpointClass: \"openai-public\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: true,\n supportsOpenAIReasoningCompatPayload: true,\n allowsResponsesStore: true,\n supportsResponsesStoreField: true,\n shouldStripResponsesPromptCache: false,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: false,\n },\n },\n {\n name: \"proxied OpenAI responses\",\n input: {\n provider: \"openai\",\n api: \"openai-responses\",\n baseUrl: \"https://proxy.example.com/v1\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"openai-family\",\n endpointClass: \"custom\",\n isKnownNativeEndpoint: false,\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: true,\n shouldStripResponsesPromptCache: true,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: false,\n },\n },\n {\n name: \"direct Anthropic messages\",\n input: {\n provider: \"anthropic\",\n api: \"anthropic-messages\",\n baseUrl: \"https://api.anthropic.com/v1\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"anthropic\",\n endpointClass: \"anthropic-public\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: false,\n shouldStripResponsesPromptCache: false,\n allowsAnthropicServiceTier: true,\n supportsNativeStreamingUsageCompat: false,\n },\n },\n {\n name: \"proxied custom anthropic api\",\n input: {\n provider: \"custom-anthropic\",\n api: \"anthropic-messages\",\n baseUrl: \"https://proxy.example.com/anthropic\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n endpointClass: \"custom\",\n isKnownNativeEndpoint: false,\n allowsAnthropicServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n supportsResponsesStoreField: false,\n supportsNativeStreamingUsageCompat: false,\n },\n },\n {\n name: \"native OpenRouter responses\",\n input: {\n provider: \"openrouter\",\n api: \"openai-responses\",\n baseUrl: \"https://openrouter.ai/api/v1\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"openrouter\",\n endpointClass: \"openrouter\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: true,\n shouldStripResponsesPromptCache: true,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: false,\n },\n },\n {\n name: \"native Moonshot completions\",\n input: {\n provider: \"moonshot\",\n api: \"openai-completions\",\n baseUrl: \"https://api.moonshot.ai/v1\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"moonshot\",\n endpointClass: \"moonshot-native\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: false,\n shouldStripResponsesPromptCache: false,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: true,\n compatibilityFamily: \"moonshot\",\n },\n },\n {\n name: \"native Qwen completions\",\n input: {\n provider: \"qwen\",\n api: \"openai-completions\",\n baseUrl: \"https://dashscope-intl.aliyuncs.com/compatible-mode/v1\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"modelstudio\",\n endpointClass: \"modelstudio-native\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: false,\n shouldStripResponsesPromptCache: false,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: true,\n },\n },\n {\n name: \"generic provider on native DashScope completions\",\n input: {\n provider: \"generic\",\n api: \"openai-completions\",\n baseUrl: \"https://coding-intl.dashscope.aliyuncs.com/v1\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"generic\",\n endpointClass: \"modelstudio-native\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: false,\n shouldStripResponsesPromptCache: false,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: true,\n },\n },\n {\n name: \"native Google Gemini api\",\n input: {\n provider: \"google\",\n api: \"google-generative-ai\",\n baseUrl: \"https://generativelanguage.googleapis.com\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"google\",\n endpointClass: \"google-generative-ai\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: false,\n shouldStripResponsesPromptCache: false,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: false,\n },\n },\n {\n name: \"native GitHub Copilot responses\",\n input: {\n provider: \"github-copilot\",\n api: \"openai-responses\",\n baseUrl: \"https://api.individual.githubcopilot.com\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"github-copilot\",\n endpointClass: \"github-copilot-native\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: false,\n supportsOpenAIReasoningCompatPayload: false,\n allowsResponsesStore: false,\n supportsResponsesStoreField: true,\n shouldStripResponsesPromptCache: true,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: false,\n },\n },\n {\n name: \"native OpenAI Codex responses\",\n input: {\n provider: \"openai-codex\",\n api: \"openai-codex-responses\",\n baseUrl: \"https://chatgpt.com/backend-api/codex\",\n capability: \"llm\" as const,\n transport: \"stream\" as const,\n },\n expected: {\n knownProviderFamily: \"openai-family\",\n endpointClass: \"openai-codex\",\n isKnownNativeEndpoint: true,\n allowsOpenAIServiceTier: true,\n supportsOpenAIReasoningCompatPayload: true,\n allowsResponsesStore: false,\n supportsResponsesStoreField: true,\n shouldStripResponsesPromptCache: false,\n allowsAnthropicServiceTier: false,\n supportsNativeStreamingUsageCompat: false,\n },\n },\n ];\n\n for (const testCase of cases) {\n expect(resolveProviderRequestCapabilities(testCase.input), testCase.name).toMatchObject(\n testCase.expected,\n );\n }\n });\n});\n"}}}}