From 4f0cfc799ea61b616290d8cfc23cce01fffc1e95 Mon Sep 17 00:00:00 2001 From: zu Date: Sat, 28 Feb 2026 15:56:06 +0800 Subject: [PATCH] feat: add Gemini 3.1 Pro support for google-antigravity provider MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add gemini-3.1-pro-high and gemini-3.1-pro-low to antigravity model registry - Update DEFAULT_ANTIGRAVITY_VERSION from 1.15.8 to 1.18.0 (Google sandbox requires UA >= 1.18.0 for Gemini 3.1 models) - Gemini 3 Pro has been deprecated by Google ('please switch to 3.1') Verified via direct API testing against the Antigravity sandbox endpoint: - gemini-3.1-pro-low with UA 1.18.0: 200 OK ✅ - gemini-3.1-pro-high with UA 1.18.0: 200 OK ✅ - gemini-3.1-pro-low with UA 1.15.8: 'upgrade to latest version' ❌ - gemini-3-pro-low: 'switch to Gemini 3.1 Pro' (deprecated) --- packages/ai/scripts/generate-models.ts | 24 +++++++++++++ packages/ai/src/models.generated.ts | 34 +++++++++++++++++++ .../ai/src/providers/google-gemini-cli.ts | 2 +- 3 files changed, 59 insertions(+), 1 deletion(-) diff --git a/packages/ai/scripts/generate-models.ts b/packages/ai/scripts/generate-models.ts index b0b201f55..8d02ddcb1 100644 --- a/packages/ai/scripts/generate-models.ts +++ b/packages/ai/scripts/generate-models.ts @@ -1031,6 +1031,30 @@ async function generateModels() { // Uses sandbox endpoint and different OAuth credentials for access to additional models const ANTIGRAVITY_ENDPOINT = "https://daily-cloudcode-pa.sandbox.googleapis.com"; const antigravityModels: Model<"google-gemini-cli">[] = [ + { + id: "gemini-3.1-pro-high", + name: "Gemini 3.1 Pro High (Antigravity)", + api: "google-gemini-cli", + provider: "google-antigravity", + baseUrl: ANTIGRAVITY_ENDPOINT, + reasoning: true, + input: ["text", "image"], + cost: { input: 2, output: 12, cacheRead: 0.2, cacheWrite: 2.375 }, + contextWindow: 1048576, + maxTokens: 65535, + }, + { + id: "gemini-3.1-pro-low", + name: "Gemini 3.1 Pro Low (Antigravity)", + api: "google-gemini-cli", + provider: "google-antigravity", + baseUrl: ANTIGRAVITY_ENDPOINT, + reasoning: true, + input: ["text", "image"], + cost: { input: 2, output: 12, cacheRead: 0.2, cacheWrite: 2.375 }, + contextWindow: 1048576, + maxTokens: 65535, + }, { id: "gemini-3-pro-high", name: "Gemini 3 Pro High (Antigravity)", diff --git a/packages/ai/src/models.generated.ts b/packages/ai/src/models.generated.ts index f8062ad58..42c99a88e 100644 --- a/packages/ai/src/models.generated.ts +++ b/packages/ai/src/models.generated.ts @@ -3394,6 +3394,40 @@ export const MODELS = { contextWindow: 1048576, maxTokens: 65535, } satisfies Model<"google-gemini-cli">, + "gemini-3.1-pro-high": { + id: "gemini-3.1-pro-high", + name: "Gemini 3.1 Pro High (Antigravity)", + api: "google-gemini-cli", + provider: "google-antigravity", + baseUrl: "https://daily-cloudcode-pa.sandbox.googleapis.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 12, + cacheRead: 0.2, + cacheWrite: 2.375, + }, + contextWindow: 1048576, + maxTokens: 65535, + } satisfies Model<"google-gemini-cli">, + "gemini-3.1-pro-low": { + id: "gemini-3.1-pro-low", + name: "Gemini 3.1 Pro Low (Antigravity)", + api: "google-gemini-cli", + provider: "google-antigravity", + baseUrl: "https://daily-cloudcode-pa.sandbox.googleapis.com", + reasoning: true, + input: ["text", "image"], + cost: { + input: 2, + output: 12, + cacheRead: 0.2, + cacheWrite: 2.375, + }, + contextWindow: 1048576, + maxTokens: 65535, + } satisfies Model<"google-gemini-cli">, "gpt-oss-120b-medium": { id: "gpt-oss-120b-medium", name: "GPT-OSS 120B Medium (Antigravity)", diff --git a/packages/ai/src/providers/google-gemini-cli.ts b/packages/ai/src/providers/google-gemini-cli.ts index 7a877ddb4..597295d79 100644 --- a/packages/ai/src/providers/google-gemini-cli.ts +++ b/packages/ai/src/providers/google-gemini-cli.ts @@ -72,7 +72,7 @@ const GEMINI_CLI_HEADERS = { }; // Headers for Antigravity (sandbox endpoint) - requires specific User-Agent -const DEFAULT_ANTIGRAVITY_VERSION = "1.15.8"; +const DEFAULT_ANTIGRAVITY_VERSION = "1.18.0"; function getAntigravityHeaders() { const version = process.env.PI_AI_ANTIGRAVITY_VERSION || DEFAULT_ANTIGRAVITY_VERSION;