fix: prevent cross-provider model env var leaks and sync Codex detection (#243)
Two provider routing bugs that cause silent wrong-model failures: 1. model.ts: getUserSpecifiedModelSetting() read ANTHROPIC_MODEL || GEMINI_MODEL || OPENAI_MODEL with no provider check. A user switching from Anthropic to OpenAI with ANTHROPIC_MODEL still set would silently send the Anthropic model name to the OpenAI API. Now gates each env var behind the active provider from getAPIProvider(). 2. providers.ts: isCodexModel() maintained a hardcoded list of 8 model names that was missing gpt-5.4-mini and gpt-5.2 from the canonical CODEX_ALIAS_MODELS table in providerConfig.ts. This caused a split-brain: getAPIProvider() returned 'openai' while resolveProviderRequest() selected 'codex_responses' transport. Now delegates to the exported isCodexAlias() to keep both detection systems in sync.
This commit is contained in:
committed by
GitHub
parent
ea335aeddc
commit
fbf3385395
@@ -201,7 +201,7 @@ function parseModelDescriptor(model: string): ModelDescriptor {
|
||||
}
|
||||
}
|
||||
|
||||
function isCodexAlias(model: string): boolean {
|
||||
export function isCodexAlias(model: string): boolean {
|
||||
const normalized = model.trim().toLowerCase()
|
||||
const base = normalized.split('?', 1)[0] ?? normalized
|
||||
return base in CODEX_ALIAS_MODELS
|
||||
|
||||
Reference in New Issue
Block a user