mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-10 18:04:59 +00:00
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:
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user