mirror of
https://github.com/Nezumi-2711/9router.git
synced 2026-09-22 13:38:31 +00:00
feat(antigravity): add gemini-3.5-flash-extra-low (Low) model
- Add gemini-3.5-flash-extra-low across CLI menu, provider models, usage, pricing - Add MITM synonyms (high/medium/extra-low) and split pattern so Low no longer falls through to Medium - Strip models/ prefix in getMappedModel for AG public name normalization Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
committed by
decolua
co-authored by
Cursor
parent
40cfa63eb8
commit
e6c09aad15
@@ -55,6 +55,7 @@ const PROVIDER_MODELS = {
|
|||||||
ag: [
|
ag: [
|
||||||
{ id: "gemini-3-flash-agent" },
|
{ id: "gemini-3-flash-agent" },
|
||||||
{ id: "gemini-3.5-flash-low" },
|
{ id: "gemini-3.5-flash-low" },
|
||||||
|
{ id: "gemini-3.5-flash-extra-low" },
|
||||||
{ id: "gemini-pro-agent" },
|
{ id: "gemini-pro-agent" },
|
||||||
{ id: "gemini-3.1-pro-low" },
|
{ id: "gemini-3.1-pro-low" },
|
||||||
{ id: "claude-sonnet-4-6" },
|
{ id: "claude-sonnet-4-6" },
|
||||||
|
|||||||
@@ -82,9 +82,9 @@ export const PROVIDER_MODELS = {
|
|||||||
{ id: "iflow-rome-30ba3b", name: "iFlow ROME" },
|
{ id: "iflow-rome-30ba3b", name: "iFlow ROME" },
|
||||||
],
|
],
|
||||||
ag: [ // Antigravity - special case: models call different backends
|
ag: [ // Antigravity - special case: models call different backends
|
||||||
{ id: "gemini-3.5-flash-extra-low", name: "Gemini 3.5 Flash (Extra Low)" },
|
|
||||||
{ id: "gemini-3-flash-agent", name: "Gemini 3.5 Flash (High)" },
|
{ id: "gemini-3-flash-agent", name: "Gemini 3.5 Flash (High)" },
|
||||||
{ id: "gemini-3.5-flash-low", name: "Gemini 3.5 Flash (Medium)" },
|
{ id: "gemini-3.5-flash-low", name: "Gemini 3.5 Flash (Medium)" },
|
||||||
|
{ id: "gemini-3.5-flash-extra-low", name: "Gemini 3.5 Flash (Low)" },
|
||||||
{ id: "gemini-pro-agent", name: "Gemini 3.1 Pro (High)" },
|
{ id: "gemini-pro-agent", name: "Gemini 3.1 Pro (High)" },
|
||||||
{ id: "gemini-3.1-pro-low", name: "Gemini 3.1 Pro (Low)" },
|
{ id: "gemini-3.1-pro-low", name: "Gemini 3.1 Pro (Low)" },
|
||||||
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6 (Thinking)" },
|
{ id: "claude-sonnet-4-6", name: "Claude Sonnet 4.6 (Thinking)" },
|
||||||
|
|||||||
@@ -399,6 +399,7 @@ async function getAntigravityUsage(accessToken, providerSpecificData, proxyOptio
|
|||||||
const importantModels = [
|
const importantModels = [
|
||||||
'gemini-3-flash-agent',
|
'gemini-3-flash-agent',
|
||||||
'gemini-3.5-flash-low',
|
'gemini-3.5-flash-low',
|
||||||
|
'gemini-3.5-flash-extra-low',
|
||||||
'gemini-pro-agent',
|
'gemini-pro-agent',
|
||||||
'gemini-3.1-pro-low',
|
'gemini-3.1-pro-low',
|
||||||
'claude-sonnet-4-6',
|
'claude-sonnet-4-6',
|
||||||
|
|||||||
+5
-1
@@ -32,6 +32,9 @@ const URL_PATTERNS = {
|
|||||||
const MODEL_SYNONYMS = {
|
const MODEL_SYNONYMS = {
|
||||||
antigravity: {
|
antigravity: {
|
||||||
"gemini-default": "gemini-3.5-flash-low",
|
"gemini-default": "gemini-3.5-flash-low",
|
||||||
|
"gemini-3.5-flash-high": "gemini-3-flash-agent",
|
||||||
|
"gemini-3.5-flash-medium": "gemini-3.5-flash-low",
|
||||||
|
"gemini-3.5-flash-extra-low": "gemini-3.5-flash-extra-low",
|
||||||
"gemini-3.1-pro-high": "gemini-pro-agent",
|
"gemini-3.1-pro-high": "gemini-pro-agent",
|
||||||
"gemini-3-pro-high": "gemini-pro-agent",
|
"gemini-3-pro-high": "gemini-pro-agent",
|
||||||
"gemini-3-pro-low": "gemini-3.1-pro-low",
|
"gemini-3-pro-low": "gemini-3.1-pro-low",
|
||||||
@@ -42,7 +45,8 @@ const MODEL_SYNONYMS = {
|
|||||||
// Order matters: more specific patterns first. Catches AG renamed variants (e.g. gemini-pro-agent)
|
// Order matters: more specific patterns first. Catches AG renamed variants (e.g. gemini-pro-agent)
|
||||||
const MODEL_PATTERNS = {
|
const MODEL_PATTERNS = {
|
||||||
antigravity: [
|
antigravity: [
|
||||||
{ match: /flash.*low|low.*flash|flash.*medium|medium.*flash/i, alias: "gemini-3.5-flash-low" },
|
{ match: /flash.*extra.*low|extra.*low.*flash|flash.*low|low.*flash/i, alias: "gemini-3.5-flash-extra-low" },
|
||||||
|
{ match: /flash.*medium|medium.*flash/i, alias: "gemini-3.5-flash-low" },
|
||||||
{ match: /flash.*agent|agent.*flash|flash/i, alias: "gemini-3-flash-agent" },
|
{ match: /flash.*agent|agent.*flash|flash/i, alias: "gemini-3-flash-agent" },
|
||||||
{ match: /pro.*low|low.*pro/i, alias: "gemini-3.1-pro-low" },
|
{ match: /pro.*low|low.*pro/i, alias: "gemini-3.1-pro-low" },
|
||||||
{ match: /gemini.*pro|pro.*gemini/i, alias: "gemini-pro-agent" },
|
{ match: /gemini.*pro|pro.*gemini/i, alias: "gemini-pro-agent" },
|
||||||
|
|||||||
+3
-2
@@ -109,8 +109,9 @@ function getMappedModel(tool, model) {
|
|||||||
try {
|
try {
|
||||||
const aliases = getMitmAlias(tool);
|
const aliases = getMitmAlias(tool);
|
||||||
if (!aliases) return null;
|
if (!aliases) return null;
|
||||||
// Normalize via synonym map (e.g., gemini-default → gemini-3-flash)
|
// Normalize via synonym map (e.g., public AG names -> backend model ids)
|
||||||
const lookup = MODEL_SYNONYMS?.[tool]?.[model] || model;
|
const normalizedModel = String(model).replace(/^models\//, "");
|
||||||
|
const lookup = MODEL_SYNONYMS?.[tool]?.[normalizedModel] || normalizedModel;
|
||||||
if (aliases[lookup]) return aliases[lookup];
|
if (aliases[lookup]) return aliases[lookup];
|
||||||
// Prefix match fallback
|
// Prefix match fallback
|
||||||
const prefixKey = Object.keys(aliases).find(k => k && aliases[k] && (lookup.startsWith(k) || k.startsWith(lookup)));
|
const prefixKey = Object.keys(aliases).find(k => k && aliases[k] && (lookup.startsWith(k) || k.startsWith(lookup)));
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ export const MITM_TOOLS = {
|
|||||||
description: "Google Antigravity IDE with MITM",
|
description: "Google Antigravity IDE with MITM",
|
||||||
configType: "mitm",
|
configType: "mitm",
|
||||||
mitmDomain: "daily-cloudcode-pa.googleapis.com",
|
mitmDomain: "daily-cloudcode-pa.googleapis.com",
|
||||||
modelAliases: ["gemini-3.5-flash-low", "gemini-3-flash-agent", "gemini-3.5-flash-extra-low", "gemini-3.1-pro-low", "gemini-pro-agent", "claude-sonnet-4-6", "claude-opus-4-6-thinking", "gpt-oss-120b-medium", "gemini-3-flash"],
|
modelAliases: ["gemini-3-flash-agent", "gemini-3.5-flash-low", "gemini-3.5-flash-extra-low", "gemini-3.1-pro-low", "gemini-pro-agent", "claude-sonnet-4-6", "claude-opus-4-6-thinking", "gpt-oss-120b-medium", "gemini-3-flash"],
|
||||||
defaultModels: [
|
defaultModels: [
|
||||||
{ id: "gemini-3.5-flash-low", name: "Gemini 3.5 Flash (Medium) / Default", alias: "gemini-3.5-flash-low" },
|
{ id: "gemini-3.5-flash-low", name: "Gemini 3.5 Flash (Medium) / Default", alias: "gemini-3.5-flash-low" },
|
||||||
{ id: "gemini-3-flash-agent", name: "Gemini 3.5 Flash (High)", alias: "gemini-3-flash-agent" },
|
{ id: "gemini-3-flash-agent", name: "Gemini 3.5 Flash (High)", alias: "gemini-3-flash-agent" },
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ export const MODEL_PRICING = {
|
|||||||
"gemini-pro-agent": { input: 4.00, output: 18.00, cached: 0.50, reasoning: 27.00, cache_creation: 4.00 },
|
"gemini-pro-agent": { input: 4.00, output: 18.00, cached: 0.50, reasoning: 27.00, cache_creation: 4.00 },
|
||||||
"gemini-3-flash-agent": { input: 0.50, output: 3.00, cached: 0.03, reasoning: 4.50, cache_creation: 0.50 },
|
"gemini-3-flash-agent": { input: 0.50, output: 3.00, cached: 0.03, reasoning: 4.50, cache_creation: 0.50 },
|
||||||
"gemini-3.5-flash-low": { input: 0.50, output: 3.00, cached: 0.03, reasoning: 4.50, cache_creation: 0.50 },
|
"gemini-3.5-flash-low": { input: 0.50, output: 3.00, cached: 0.03, reasoning: 4.50, cache_creation: 0.50 },
|
||||||
|
"gemini-3.5-flash-extra-low": { input: 0.50, output: 3.00, cached: 0.03, reasoning: 4.50, cache_creation: 0.50 },
|
||||||
"gemini-3-flash": { input: 0.50, output: 3.00, cached: 0.03, reasoning: 4.50, cache_creation: 0.50 },
|
"gemini-3-flash": { input: 0.50, output: 3.00, cached: 0.03, reasoning: 4.50, cache_creation: 0.50 },
|
||||||
"gemini-2.5-pro": { input: 2.00, output: 12.00, cached: 0.25, reasoning: 18.00, cache_creation: 2.00 },
|
"gemini-2.5-pro": { input: 2.00, output: 12.00, cached: 0.25, reasoning: 18.00, cache_creation: 2.00 },
|
||||||
"gemini-2.5-flash": { input: 0.30, output: 2.50, cached: 0.03, reasoning: 3.75, cache_creation: 0.30 },
|
"gemini-2.5-flash": { input: 0.30, output: 2.50, cached: 0.03, reasoning: 3.75, cache_creation: 0.30 },
|
||||||
|
|||||||
Reference in New Issue
Block a user