diff --git a/open-sse/config/antigravityModelAliases.ts b/open-sse/config/antigravityModelAliases.ts index f2713b2832..745249af37 100644 --- a/open-sse/config/antigravityModelAliases.ts +++ b/open-sse/config/antigravityModelAliases.ts @@ -1,25 +1,16 @@ export const ANTIGRAVITY_PUBLIC_MODELS = Object.freeze([ { id: "claude-opus-4-6-thinking", name: "Claude Opus 4.6 Thinking" }, - { id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6" }, - { id: "gemini-3-flash-preview", name: "Gemini 3 Flash Preview" }, - { id: "gemini-3-pro-preview", name: "Gemini 3 Pro Preview" }, - { id: "gemini-3-pro-image-preview", name: "Gemini 3 Pro Image Preview" }, + { id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6 Thinking" }, + { id: "gemini-3-pro-preview", name: "Gemini 3.1 Pro (High)" }, + { id: "gemini-3.1-pro-low", name: "Gemini 3.1 Pro (Low)" }, + { id: "gemini-3-flash-preview", name: "Gemini 3 Flash" }, + { id: "gpt-oss-120b-medium", name: "GPT OSS 120B Medium" }, + { id: "gemini-3-pro-image-preview", name: "Gemini 3 Pro Image" }, + { id: "gemini-3.1-flash-image", name: "Gemini 3.1 Flash Image" }, { id: "gemini-2.5-computer-use-preview-10-2025", name: "Gemini 2.5 Computer Use Preview (10/2025)", }, - { id: "gemini-3.1-flash-image", name: "Gemini 3.1 Flash Image" }, - { id: "gemini-3.1-pro-low", name: "Gemini 3.1 Pro (Low)" }, - { id: "gemini-claude-sonnet-4-5", name: "Claude Sonnet 4.5 (Gemini Route)" }, - { - id: "gemini-claude-sonnet-4-5-thinking", - name: "Claude Sonnet 4.5 Thinking (Gemini Route)", - }, - { - id: "gemini-claude-opus-4-5-thinking", - name: "Claude Opus 4.5 Thinking (Gemini Route)", - }, - { id: "gpt-oss-120b-medium", name: "GPT OSS 120B Medium" }, ]); export const ANTIGRAVITY_MODEL_ALIASES = Object.freeze({ @@ -27,24 +18,19 @@ export const ANTIGRAVITY_MODEL_ALIASES = Object.freeze({ "gemini-3-flash-preview": "gemini-3-flash", "gemini-3-pro-image-preview": "gemini-3-pro-image", "gemini-2.5-computer-use-preview-10-2025": "rev19-uic3-1p", - "gemini-claude-sonnet-4-5": "claude-sonnet-4-5", - "gemini-claude-sonnet-4-5-thinking": "claude-sonnet-4-5-thinking", - "gemini-claude-opus-4-5-thinking": "claude-opus-4-5-thinking", + "gemini-claude-sonnet-4-5": "claude-sonnet-4-6", + "gemini-claude-sonnet-4-5-thinking": "claude-sonnet-4-6", + "gemini-claude-opus-4-5-thinking": "claude-opus-4-6-thinking", }); type AntigravityModelAliasMap = Record; -export const ANTIGRAVITY_REVERSE_MODEL_ALIASES = Object.freeze( - Object.entries(ANTIGRAVITY_MODEL_ALIASES).reduce>( - (acc, [alias, target]) => { - if (!acc[target]) { - acc[target] = alias; - } - return acc; - }, - {} - ) -); +export const ANTIGRAVITY_REVERSE_MODEL_ALIASES: AntigravityModelAliasMap = Object.freeze({ + "gemini-3.1-pro-high": "gemini-3-pro-preview", + "gemini-3-flash": "gemini-3-flash-preview", + "gemini-3-pro-image": "gemini-3-pro-image-preview", + "rev19-uic3-1p": "gemini-2.5-computer-use-preview-10-2025", +}); const CLIENT_VISIBLE_MODEL_NAMES = Object.freeze( ANTIGRAVITY_PUBLIC_MODELS.reduce>((acc, model) => { diff --git a/tests/unit/antigravity-model-aliases.test.ts b/tests/unit/antigravity-model-aliases.test.ts index 67d1bb9b90..543f9d9c2c 100644 --- a/tests/unit/antigravity-model-aliases.test.ts +++ b/tests/unit/antigravity-model-aliases.test.ts @@ -15,14 +15,11 @@ test("resolveAntigravityModelId maps the documented Antigravity aliases to upstr resolveAntigravityModelId("gemini-2.5-computer-use-preview-10-2025"), "rev19-uic3-1p" ); - assert.equal(resolveAntigravityModelId("gemini-claude-sonnet-4-5"), "claude-sonnet-4-5"); - assert.equal( - resolveAntigravityModelId("gemini-claude-sonnet-4-5-thinking"), - "claude-sonnet-4-5-thinking" - ); + assert.equal(resolveAntigravityModelId("gemini-claude-sonnet-4-5"), "claude-sonnet-4-6"); + assert.equal(resolveAntigravityModelId("gemini-claude-sonnet-4-5-thinking"), "claude-sonnet-4-6"); assert.equal( resolveAntigravityModelId("gemini-claude-opus-4-5-thinking"), - "claude-opus-4-5-thinking" + "claude-opus-4-6-thinking" ); assert.equal(resolveAntigravityModelId("unknown-model"), "unknown-model"); }); @@ -31,6 +28,8 @@ test("toClientAntigravityModelId exposes client-visible aliases for known upstre assert.equal(toClientAntigravityModelId("gemini-3.1-pro-high"), "gemini-3-pro-preview"); assert.equal(toClientAntigravityModelId("gemini-3-flash"), "gemini-3-flash-preview"); assert.equal(toClientAntigravityModelId("gpt-oss-120b-medium"), "gpt-oss-120b-medium"); + assert.equal(toClientAntigravityModelId("claude-sonnet-4-6"), "claude-sonnet-4-6"); + assert.equal(toClientAntigravityModelId("claude-opus-4-6-thinking"), "claude-opus-4-6-thinking"); }); test("AntigravityExecutor.transformRequest resolves alias models before dispatching upstream", async () => { diff --git a/tests/unit/models-catalog-route.test.ts b/tests/unit/models-catalog-route.test.ts index 4a7d08feb5..ad2ad9ffe2 100644 --- a/tests/unit/models-catalog-route.test.ts +++ b/tests/unit/models-catalog-route.test.ts @@ -305,6 +305,9 @@ test("v1 models catalog exposes Antigravity client-visible preview aliases inste assert.ok(ids.has("antigravity/gemini-3-pro-preview")); assert.ok(ids.has("antigravity/gemini-3-flash-preview")); assert.equal(ids.has("antigravity/gemini-3.1-pro-high"), false); + assert.equal(ids.has("antigravity/gemini-claude-sonnet-4-5"), false); + assert.equal(ids.has("antigravity/gemini-claude-sonnet-4-5-thinking"), false); + assert.equal(ids.has("antigravity/gemini-claude-opus-4-5-thinking"), false); }); test("v1 models catalog uses provider-node prefixes for compatible provider custom models", async () => { diff --git a/tests/unit/t28-model-catalog-updates.test.ts b/tests/unit/t28-model-catalog-updates.test.ts index 20aa54b3f2..1284dc74a2 100644 --- a/tests/unit/t28-model-catalog-updates.test.ts +++ b/tests/unit/t28-model-catalog-updates.test.ts @@ -25,6 +25,9 @@ test("T28: antigravity static catalog exposes client-visible Gemini preview IDs" assert.ok(staticIds.includes("gemini-3-flash-preview")); assert.ok(!staticIds.includes("gemini-3-pro-high")); assert.ok(!staticIds.includes("gemini-3.1-pro-high")); + assert.ok(!staticIds.includes("gemini-claude-sonnet-4-5")); + assert.ok(!staticIds.includes("gemini-claude-sonnet-4-5-thinking")); + assert.ok(!staticIds.includes("gemini-claude-opus-4-5-thinking")); }); test("T28: github registry exposes Gemini 3.1 Pro Preview and keeps legacy alias compatibility", async () => { diff --git a/tests/unit/t31-t33-t34-t38-model-specs.test.ts b/tests/unit/t31-t33-t34-t38-model-specs.test.ts index f1f60497e7..893c1f0a1d 100644 --- a/tests/unit/t31-t33-t34-t38-model-specs.test.ts +++ b/tests/unit/t31-t33-t34-t38-model-specs.test.ts @@ -22,6 +22,9 @@ test("T31: antigravity static catalog exposes client-visible Gemini preview IDs" const staticIds = (getStaticModelsForProvider("antigravity") || []).map((m) => m.id); assert.ok(staticIds.includes("gemini-3-pro-preview")); assert.ok(staticIds.includes("gemini-3.1-pro-low")); + assert.ok(!staticIds.includes("gemini-claude-sonnet-4-5")); + assert.ok(!staticIds.includes("gemini-claude-sonnet-4-5-thinking")); + assert.ok(!staticIds.includes("gemini-claude-opus-4-5-thinking")); }); test("T31: legacy Gemini aliases resolve to Gemini 3.1 IDs", () => {