fix(agents): unblock gpt-5.3-codex API-key routing and replay (#31083)

* fix(agents): unblock gpt-5.3-codex API-key replay path

* fix(agents): scope OpenAI replay ID rewrites per turn

* test: fix nodes-tool mock typing and reformat telegram accounts
This commit is contained in:
Charles Dusek
2026-03-01 21:45:12 -06:00
committed by GitHub
parent e1bf9591c3
commit 92199ac129
9 changed files with 347 additions and 26 deletions

View File

@@ -27,7 +27,6 @@ const ANTHROPIC_MODEL_ALIASES: Record<string, string> = {
"sonnet-4.6": "claude-sonnet-4-6",
"sonnet-4.5": "claude-sonnet-4-5",
};
const OPENAI_CODEX_OAUTH_MODEL_PREFIXES = ["gpt-5.3-codex"] as const;
function normalizeAliasKey(value: string): string {
return value.trim().toLowerCase();
@@ -133,25 +132,9 @@ function normalizeProviderModelId(provider: string, model: string): string {
return model;
}
function shouldUseOpenAICodexProvider(provider: string, model: string): boolean {
if (provider !== "openai") {
return false;
}
const normalized = model.trim().toLowerCase();
if (!normalized) {
return false;
}
return OPENAI_CODEX_OAUTH_MODEL_PREFIXES.some(
(prefix) => normalized === prefix || normalized.startsWith(`${prefix}-`),
);
}
export function normalizeModelRef(provider: string, model: string): ModelRef {
const normalizedProvider = normalizeProviderId(provider);
const normalizedModel = normalizeProviderModelId(normalizedProvider, model.trim());
if (shouldUseOpenAICodexProvider(normalizedProvider, normalizedModel)) {
return { provider: "openai-codex", model: normalizedModel };
}
return { provider: normalizedProvider, model: normalizedModel };
}