From a15b6964b746485de95d32af3f15c7d81093de86 Mon Sep 17 00:00:00 2001 From: backryun Date: Tue, 5 May 2026 01:57:43 +0900 Subject: [PATCH] chore(model): Update new models, Delete Deprecated models (#1949) Co-authored-by: backryun --- .env.example | 10 +++++----- open-sse/config/imageRegistry.ts | 11 +++++------ open-sse/config/providerRegistry.ts | 12 +++--------- open-sse/services/model.ts | 2 +- tests/unit/plan3-p0.test.ts | 16 ++++++++-------- tests/unit/t20-t22-provider-headers.test.ts | 5 +++-- 6 files changed, 25 insertions(+), 31 deletions(-) diff --git a/.env.example b/.env.example index e9992bfb91..599f1ab2d3 100644 --- a/.env.example +++ b/.env.example @@ -1,9 +1,9 @@ # ┌─────────────────────────────────────────────────────────────────────────────┐ -# │ OmniRoute — .env Contract │ -# │ This file documents EVERY environment variable read by the runtime. │ -# │ Copy to .env and adjust values. Lines starting with # are commented out │ -# │ (optional / off-by-default). Uncomment only what you need. │ -# │ Reference: docs/ENVIRONMENT.md for full details and usage scenarios. │ +# │ OmniRoute — .env Contract │ +# │ This file documents EVERY environment variable read by the runtime. │ +# │ Copy to .env and adjust values. Lines starting with # are commented out │ +# │ (optional / off-by-default). Uncomment only what you need. │ +# │ Reference: docs/ENVIRONMENT.md for full details and usage scenarios. │ # └─────────────────────────────────────────────────────────────────────────────┘ diff --git a/open-sse/config/imageRegistry.ts b/open-sse/config/imageRegistry.ts index dc8ccfaf9b..8cec75b755 100644 --- a/open-sse/config/imageRegistry.ts +++ b/open-sse/config/imageRegistry.ts @@ -131,11 +131,7 @@ export const IMAGE_PROVIDERS: Record = { authType: "oauth", authHeader: "bearer", format: "codex-responses", - models: [ - { id: "gpt-5.5", name: "GPT 5.5 (Codex Image)" }, - { id: "gpt-5.4", name: "GPT 5.4 (Codex Image)" }, - { id: "gpt-5.3-codex", name: "GPT 5.3 Codex (Image)" }, - ], + models: [{ id: "gpt-5.5", name: "GPT 5.5 (Codex Image)" }], supportedSizes: ["1024x1024", "1024x1536", "1536x1024"], }, @@ -156,7 +152,10 @@ export const IMAGE_PROVIDERS: Record = { authType: "apikey", authHeader: "bearer", format: "openai", - models: [{ id: "grok-imagine-image", name: "Grok Imagine Image" }], + models: [ + { id: "grok-imagine-image-pro", name: "Grok Imagine Image Pro" }, + { id: "grok-imagine-image", name: "Grok Imagine Image" }, + ], supportedSizes: ["1024x1024"], }, diff --git a/open-sse/config/providerRegistry.ts b/open-sse/config/providerRegistry.ts index 063d047396..e1876559c6 100644 --- a/open-sse/config/providerRegistry.ts +++ b/open-sse/config/providerRegistry.ts @@ -133,9 +133,8 @@ const KIMI_CODING_SHARED = { "Anthropic-Beta": ANTHROPIC_BETA_API_KEY, }, models: [ - { id: "kimi-k2.5", name: "Kimi K2.5" }, - { id: "kimi-k2.5-thinking", name: "Kimi K2.5 Thinking" }, - { id: "kimi-latest", name: "Kimi Latest" }, + { id: "kimi-k2.6", name: "Kimi K2.6" }, + { id: "kimi-k2.6-thinking", name: "Kimi K2.6 Thinking" }, ] as RegistryModel[], } as const; @@ -384,11 +383,9 @@ export const REGISTRY: Record = { tokenUrl: "https://auth.openai.com/oauth/token", }, models: [ - { id: "codex-auto-review", name: "Codex Auto Review", targetFormat: "openai-responses" }, { id: "gpt-5.5-xhigh", name: "GPT 5.5 (xHigh)", ...GPT_5_5_CODEX_CAPABILITIES }, { id: "gpt-5.5-high", name: "GPT 5.5 (High)", ...GPT_5_5_CODEX_CAPABILITIES }, { id: "gpt-5.5-medium", name: "GPT 5.5 (Medium)", ...GPT_5_5_CODEX_CAPABILITIES }, - { id: "gpt-5.5", name: "GPT 5.5", ...GPT_5_5_CODEX_CAPABILITIES }, { id: "gpt-5.5-low", name: "GPT 5.5 (Low)", ...GPT_5_5_CODEX_CAPABILITIES }, { id: "gpt-5.4", name: "GPT 5.4", targetFormat: "openai-responses" }, { id: "gpt-5.4-mini", name: "GPT 5.4 Mini", targetFormat: "openai-responses" }, @@ -493,10 +490,7 @@ export const REGISTRY: Record = { models: [ { id: "gpt-4.1", name: "GPT-4.1" }, { id: "gpt-5-mini", name: "GPT-5 Mini" }, - { id: "gpt-5.2", name: "GPT-5.2" }, - { id: "gpt-5.2-codex", name: "GPT-5.2 Codex", targetFormat: "openai-responses" }, { id: "gpt-5.3-codex", name: "GPT-5.3 Codex", targetFormat: "openai-responses" }, - { id: "gpt-5.4-nano", name: "GPT-5.4 Nano", targetFormat: "openai-responses" }, { id: "gpt-5.4-mini", name: "GPT-5.4 Mini", targetFormat: "openai-responses" }, { id: "gpt-5.4", name: "GPT-5.4", targetFormat: "openai-responses" }, { id: "gpt-5.5", name: "GPT-5.5", ...GPT_5_5_CODEX_CAPABILITIES }, @@ -510,7 +504,7 @@ export const REGISTRY: Record = { { id: "gemini-3-flash-preview", name: "Gemini 3 Flash" }, { id: "grok-code-fast-1", name: "Grok Code Fast 1" }, { id: "oswe-vscode-prime", name: "Raptor Mini" }, - //{id: "?", name: "Goldeneye" }, + //{ id: "?", name: "Goldeneye" }, ], }, diff --git a/open-sse/services/model.ts b/open-sse/services/model.ts index 4678be8ca4..fcf3132746 100644 --- a/open-sse/services/model.ts +++ b/open-sse/services/model.ts @@ -73,7 +73,7 @@ for (const [aliasOrId, models] of Object.entries(PROVIDER_MODELS)) { } } const KNOWN_MODEL_IDS = new Set(MODEL_TO_PROVIDERS.keys()); -const CODEX_PREFERRED_UNPREFIXED_MODELS = new Set(["codex-auto-review", "gpt-5.5"]); +const CODEX_PREFERRED_UNPREFIXED_MODELS = new Set(["gpt-5.5"]); /** * Resolve provider alias to provider ID diff --git a/tests/unit/plan3-p0.test.ts b/tests/unit/plan3-p0.test.ts index bdaccb96a7..4a969318d2 100644 --- a/tests/unit/plan3-p0.test.ts +++ b/tests/unit/plan3-p0.test.ts @@ -28,15 +28,15 @@ test("getModelInfoCore keeps openai fallback for gpt-4o", async () => { assert.equal(info.model, "gpt-4o"); }); -test("getModelInfoCore resolves codex-auto-review to codex", async () => { +test("getModelInfoCore routes removed codex-auto-review through the default fallback", async () => { const info = await getModelInfoCore("codex-auto-review", {}); - assert.equal(info.provider, "codex"); + assert.equal(info.provider, "openai"); assert.equal(info.model, "codex-auto-review"); }); -test("getModelInfoCore resolves gpt-5.5 to codex", async () => { +test("getModelInfoCore keeps unprefixed gpt-5.5 on the OpenAI fallback", async () => { const info = await getModelInfoCore("gpt-5.5", {}); - assert.equal(info.provider, "codex"); + assert.equal(info.provider, "openai"); assert.equal(info.model, "gpt-5.5"); }); @@ -52,15 +52,15 @@ 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 () => { +test("getModelInfoCore keeps duplicate unprefixed gpt-5.5 checks on OpenAI", async () => { const info = await getModelInfoCore("gpt-5.5", {}); - assert.equal(info.provider, "codex"); + assert.equal(info.provider, "openai"); assert.equal(info.model, "gpt-5.5"); }); -test("getModelInfoCore resolves gpt-5.5 to codex", async () => { +test("getModelInfoCore keeps repeated unprefixed gpt-5.5 checks on OpenAI", async () => { const info = await getModelInfoCore("gpt-5.5", {}); - assert.equal(info.provider, "codex"); + assert.equal(info.provider, "openai"); assert.equal(info.model, "gpt-5.5"); }); diff --git a/tests/unit/t20-t22-provider-headers.test.ts b/tests/unit/t20-t22-provider-headers.test.ts index e38dc0f740..03d95da978 100644 --- a/tests/unit/t20-t22-provider-headers.test.ts +++ b/tests/unit/t20-t22-provider-headers.test.ts @@ -56,11 +56,12 @@ test("T22: github config exposes dedicated responses endpoint", () => { assert.equal(github.baseUrl, "https://api.githubcopilot.com/chat/completions"); }); -test("T20: codex config advertises current client headers and auto-review model", () => { +test("T20: codex config advertises current client headers and supported models", () => { const codex = REGISTRY.codex; assert.equal(codex.headers.Version, "0.125.0"); assert.equal(codex.headers["Openai-Beta"], "responses=experimental"); assert.equal(codex.headers["X-Codex-Beta-Features"], "responses_websockets"); assert.equal(codex.headers["User-Agent"], "codex-cli/0.125.0 (Windows 10.0.26200; x64)"); - assert.ok(codex.models.some((model) => model.id === "codex-auto-review")); + assert.ok(codex.models.some((model) => model.id === "gpt-5.5-medium")); + assert.ok(!codex.models.some((model) => model.id === "codex-auto-review")); });