fix: preserve user overrides (cost, headers, compat) during model merge
Only override capability fields (input, reasoning, contextWindow, maxTokens) from code; spread explicitModel first so user-specific fields like cost, headers, and compat are preserved.
This commit is contained in:
parent
8bca9fd828
commit
8cfd737186
@ -45,8 +45,14 @@ function mergeProviderModels(implicit: ProviderConfig, explicit: ProviderConfig)
|
||||
const implicitModel = id ? implicitById.get(id) : undefined;
|
||||
if (!implicitModel) return explicitModel;
|
||||
// Merge: code-defined capability fields override stale config values,
|
||||
// while config-only fields (cost, headers, compat) are preserved.
|
||||
return { ...explicitModel, ...implicitModel };
|
||||
// while user-specific fields (cost, headers, compat) are preserved.
|
||||
return {
|
||||
...explicitModel,
|
||||
input: implicitModel.input,
|
||||
reasoning: implicitModel.reasoning,
|
||||
contextWindow: implicitModel.contextWindow,
|
||||
maxTokens: implicitModel.maxTokens,
|
||||
};
|
||||
});
|
||||
|
||||
// Append implicit models whose IDs are not present in the explicit list.
|
||||
|
||||
Loading…
Reference in New Issue
Block a user