fix(models): land #31202 normalize custom provider keys (@stakeswky)

Landed from contributor PR #31202 by @stakeswky.

Co-authored-by: stakeswky <stakeswky@users.noreply.github.com>
This commit is contained in:
Peter Steinberger
2026-03-02 03:11:48 +00:00
parent 342bf4838e
commit 6bea38b21f
3 changed files with 97 additions and 1 deletions

View File

@@ -496,6 +496,13 @@ export function normalizeProviders(params: {
for (const [key, provider] of Object.entries(providers)) {
const normalizedKey = key.trim();
if (!normalizedKey) {
mutated = true;
continue;
}
if (normalizedKey !== key) {
mutated = true;
}
let normalizedProvider = provider;
const configuredApiKey = normalizedProvider.apiKey;
@@ -554,7 +561,19 @@ export function normalizeProviders(params: {
normalizedProvider = antigravityNormalized;
}
next[key] = normalizedProvider;
const existing = next[normalizedKey];
if (existing) {
// Keep deterministic behavior if users accidentally define duplicate
// provider keys that only differ by surrounding whitespace.
mutated = true;
next[normalizedKey] = {
...existing,
...normalizedProvider,
models: normalizedProvider.models ?? existing.models,
};
continue;
}
next[normalizedKey] = normalizedProvider;
}
return mutated ? next : providers;