From b594e80ee82a9aa2f4dbc3587db27e2969d0e96a Mon Sep 17 00:00:00 2001 From: Dallin Romney Date: Thu, 13 Aug 2026 16:43:14 +0800 Subject: [PATCH] fix: merge normalized OpenRouter provider settings --- extensions/openrouter/index.test.ts | 4 ++-- extensions/openrouter/provider-routing.ts | 11 +---------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/extensions/openrouter/index.test.ts b/extensions/openrouter/index.test.ts index fff8ec407bfa..a1723cd130db 100644 --- a/extensions/openrouter/index.test.ts +++ b/extensions/openrouter/index.test.ts @@ -1145,13 +1145,13 @@ describe("openrouter provider hooks", () => { }); }); - it("merges routing split across trimmed duplicate OpenRouter provider keys", async () => { + it("merges routing split across case- and whitespace-equivalent OpenRouter keys", async () => { const provider = await registerSingleProviderPlugin(openrouterPlugin); const patch = provider.extraParamsForTransport?.({ config: { models: { providers: { - " openrouter ": { + " OpenRouter ": { params: { provider: { order: ["anthropic"], diff --git a/extensions/openrouter/provider-routing.ts b/extensions/openrouter/provider-routing.ts index 92fc72749483..708b285cc136 100644 --- a/extensions/openrouter/provider-routing.ts +++ b/extensions/openrouter/provider-routing.ts @@ -75,20 +75,11 @@ function resolveOpenRouterProviderConfigParams( } const providers = Object.entries(ctx.config?.models?.providers ?? {}); - const exactKey = providers.find(([provider]) => provider.trim() === requestedProvider)?.[0]; - const fallbackKey = providers.find( - ([provider]) => normalizeProviderId(provider) === normalizedProvider, - )?.[0]; - const providerKey = (exactKey ?? fallbackKey)?.trim(); - if (!providerKey) { - return undefined; - } - // Preserve routing split across normalized duplicates; merge nested params // field-wise while allowing later scalar settings to override earlier ones. let matchedParams: Record | undefined; for (const [provider, config] of providers) { - if (provider.trim() !== providerKey) { + if (normalizeProviderId(provider) !== normalizedProvider) { continue; } const params = readRecord(config.params);