diff --git a/.env.example b/.env.example index e27645a012..9979052ab9 100644 --- a/.env.example +++ b/.env.example @@ -404,7 +404,7 @@ QODER_OAUTH_CLIENT_SECRET=4Z3YjXycVsQvyGF1etiNlIBB4RsqSDtW # Update these when providers release new CLI versions to avoid blocks. CLAUDE_USER_AGENT=claude-cli/1.0.83 (external, cli) -CODEX_USER_AGENT=codex-cli/0.92.0 (Windows 10.0.26100; x64) +CODEX_USER_AGENT=codex-cli/0.125.0 (Windows 10.0.26100; x64) GITHUB_USER_AGENT=GitHubCopilotChat/0.26.7 ANTIGRAVITY_USER_AGENT=antigravity/1.104.0 darwin/arm64 KIRO_USER_AGENT=AWS-SDK-JS/3.0.0 kiro-ide/1.0.0 diff --git a/open-sse/config/codexClient.ts b/open-sse/config/codexClient.ts index df2423cce9..25db6b1930 100644 --- a/open-sse/config/codexClient.ts +++ b/open-sse/config/codexClient.ts @@ -1,4 +1,4 @@ -const DEFAULT_CODEX_CLIENT_VERSION = "0.124.0"; +const DEFAULT_CODEX_CLIENT_VERSION = "0.125.0"; const DEFAULT_CODEX_USER_AGENT_PLATFORM = "Windows 10.0.26100"; const DEFAULT_CODEX_USER_AGENT_ARCH = "x64"; const CODEX_VERSION_OVERRIDE_ENV = "CODEX_CLIENT_VERSION"; diff --git a/open-sse/config/providerRegistry.ts b/open-sse/config/providerRegistry.ts index efb4174f06..657afa57e9 100644 --- a/open-sse/config/providerRegistry.ts +++ b/open-sse/config/providerRegistry.ts @@ -482,9 +482,9 @@ export const REGISTRY: Record = { models: [ { id: "codex-auto-review", name: "Codex Auto Review", targetFormat: "openai-responses" }, { id: "gpt-5.5", name: "GPT 5.5", targetFormat: "openai-responses" }, + { id: "gpt-5.5-mini", name: "GPT 5.5 Mini", targetFormat: "openai-responses" }, { id: "gpt-5.4", name: "GPT 5.4", targetFormat: "openai-responses" }, { id: "gpt-5.4-mini", name: "GPT 5.4 Mini", targetFormat: "openai-responses" }, - { id: "gpt-5.5", name: "GPT 5.5", targetFormat: "openai-responses" }, { id: "gpt-5.3-codex", name: "GPT 5.3 Codex" }, { id: "gpt-5.3-codex-xhigh", name: "GPT 5.3 Codex (xHigh)" }, { id: "gpt-5.3-codex-high", name: "GPT 5.3 Codex (High)" }, diff --git a/tests/unit/executor-codex.test.ts b/tests/unit/executor-codex.test.ts index f125b28ab1..e8797518dd 100644 --- a/tests/unit/executor-codex.test.ts +++ b/tests/unit/executor-codex.test.ts @@ -101,8 +101,8 @@ test("CodexExecutor.buildHeaders binds workspace ids and disables SSE accept for assert.equal(standardHeaders.Authorization, "Bearer codex-token"); assert.equal(standardHeaders.Accept, "text/event-stream"); assert.equal(standardHeaders["chatgpt-account-id"], "workspace-1"); - assert.equal(standardHeaders.Version, "0.124.0"); - assert.equal(standardHeaders["User-Agent"], "codex-cli/0.124.0 (Windows 10.0.26100; x64)"); + assert.equal(standardHeaders.Version, "0.125.0"); + assert.equal(standardHeaders["User-Agent"], "codex-cli/0.125.0 (Windows 10.0.26100; x64)"); assert.equal(compactHeaders.Accept, "application/json"); }); @@ -128,7 +128,7 @@ test("CodexExecutor.buildHeaders honors safe env overrides for Version and User- }, () => { const headers = executor.buildHeaders({ accessToken: "codex-token" }, true); - assert.equal(headers.Version, "0.124.0"); + assert.equal(headers.Version, "0.125.0"); assert.equal(headers["User-Agent"], "custom-codex/9.9.9"); } ); diff --git a/tests/unit/plan3-p0.test.ts b/tests/unit/plan3-p0.test.ts index 5cba2ea3ff..0446fc426c 100644 --- a/tests/unit/plan3-p0.test.ts +++ b/tests/unit/plan3-p0.test.ts @@ -55,6 +55,12 @@ test("getModelInfoCore resolves explicit gpt-5.5 Codex model", async () => { assert.equal(info.model, "gpt-5.5"); }); +test("getModelInfoCore resolves gpt-5.5 to codex", async () => { + const info = await getModelInfoCore("gpt-5.5", {}); + assert.equal(info.provider, "codex"); + assert.equal(info.model, "gpt-5.5"); +}); + test("getModelInfoCore returns explicit ambiguity metadata for ambiguous unprefixed model", async () => { const info = await getModelInfoCore("claude-haiku-4.5", {}); assert.equal(info.provider, null); diff --git a/tests/unit/t12-pricing-updates.test.ts b/tests/unit/t12-pricing-updates.test.ts index 8437bf3e26..34ee601385 100644 --- a/tests/unit/t12-pricing-updates.test.ts +++ b/tests/unit/t12-pricing-updates.test.ts @@ -29,6 +29,12 @@ test("T12: pricing table includes MiniMax, GLM, Kimi and gpt-5.4 mini entries", assert.ok(pricing.kimi["kimi-for-coding"], "missing kimi/kimi-for-coding"); }); +test("T12: codex catalog includes GPT 5.5 entries", () => { + const codexModels = REGISTRY.codex.models.map((m) => m.id); + assert.ok(codexModels.includes("gpt-5.5"), "missing codex/gpt-5.5"); + assert.ok(codexModels.includes("gpt-5.5-mini"), "missing codex/gpt-5.5-mini"); +}); + test("T12: minimax default model list starts with M2.7", () => { const minimaxModels = REGISTRY.minimax.models.map((m) => m.id); const minimaxCnModels = REGISTRY["minimax-cn"].models.map((m) => m.id); diff --git a/tests/unit/t20-t22-provider-headers.test.ts b/tests/unit/t20-t22-provider-headers.test.ts index e3fd82bfb9..bf33bbe589 100644 --- a/tests/unit/t20-t22-provider-headers.test.ts +++ b/tests/unit/t20-t22-provider-headers.test.ts @@ -57,8 +57,8 @@ test("T22: github config exposes dedicated responses endpoint", () => { test("T20: codex config advertises current client headers and auto-review model", () => { const codex = REGISTRY.codex; - assert.equal(codex.headers.Version, "0.124.0"); + assert.equal(codex.headers.Version, "0.125.0"); assert.equal(codex.headers["Openai-Beta"], "responses=experimental"); - assert.equal(codex.headers["User-Agent"], "codex-cli/0.124.0 (Windows 10.0.26100; x64)"); + assert.equal(codex.headers["User-Agent"], "codex-cli/0.125.0 (Windows 10.0.26100; x64)"); assert.ok(codex.models.some((model) => model.id === "codex-auto-review")); });