mirror of
https://github.com/diegosouzapw/OmniRoute.git
synced 2026-07-26 09:52:11 +03:00
fix(antigravity): hide deprecated Gemini-Claude models (#1631)
fix(antigravity): hide deprecated Gemini-Claude models, redirect legacy aliases to Claude 4.6 — integrated into release/v3.7.1
This commit is contained in:
@@ -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<string, string>;
|
||||
|
||||
export const ANTIGRAVITY_REVERSE_MODEL_ALIASES = Object.freeze(
|
||||
Object.entries(ANTIGRAVITY_MODEL_ALIASES).reduce<Record<string, string>>(
|
||||
(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<Record<string, string>>((acc, model) => {
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -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 () => {
|
||||
|
||||
@@ -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", () => {
|
||||
|
||||
Reference in New Issue
Block a user