diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index 0c0c2c5b..f8bf2565 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -2,6 +2,10 @@ ## [Unreleased] +### Added + +- Added `PI_AI_ANTIGRAVITY_VERSION` environment variable to override the Antigravity User-Agent version when Google updates their version requirements ([#1129](https://github.com/badlogic/pi-mono/issues/1129)) + ## [0.50.8] - 2026-02-01 ### Added diff --git a/packages/ai/README.md b/packages/ai/README.md index 6aadcbca..6f040737 100644 --- a/packages/ai/README.md +++ b/packages/ai/README.md @@ -911,6 +911,14 @@ const response = await complete(model, context, { }); ``` +#### Antigravity Version Override + +Set `PI_AI_ANTIGRAVITY_VERSION` to override the Antigravity User-Agent version when Google updates their requirements: + +```bash +export PI_AI_ANTIGRAVITY_VERSION="1.23.0" +``` + #### Cache Retention Set `PI_CACHE_RETENTION=long` to extend prompt cache retention: diff --git a/packages/ai/src/providers/google-gemini-cli.ts b/packages/ai/src/providers/google-gemini-cli.ts index 7d655a21..896998d4 100644 --- a/packages/ai/src/providers/google-gemini-cli.ts +++ b/packages/ai/src/providers/google-gemini-cli.ts @@ -72,15 +72,20 @@ const GEMINI_CLI_HEADERS = { }; // Headers for Antigravity (sandbox endpoint) - requires specific User-Agent -const ANTIGRAVITY_HEADERS = { - "User-Agent": "antigravity/1.15.8 darwin/arm64", - "X-Goog-Api-Client": "google-cloud-sdk vscode_cloudshelleditor/0.1", - "Client-Metadata": JSON.stringify({ - ideType: "IDE_UNSPECIFIED", - platform: "PLATFORM_UNSPECIFIED", - pluginType: "GEMINI", - }), -}; +const DEFAULT_ANTIGRAVITY_VERSION = "1.15.8"; + +function getAntigravityHeaders() { + const version = process.env.PI_AI_ANTIGRAVITY_VERSION || DEFAULT_ANTIGRAVITY_VERSION; + return { + "User-Agent": `antigravity/${version} darwin/arm64`, + "X-Goog-Api-Client": "google-cloud-sdk vscode_cloudshelleditor/0.1", + "Client-Metadata": JSON.stringify({ + ideType: "IDE_UNSPECIFIED", + platform: "PLATFORM_UNSPECIFIED", + pluginType: "GEMINI", + }), + }; +} // Antigravity system instruction (ported from CLIProxyAPI v6.6.89). const ANTIGRAVITY_SYSTEM_INSTRUCTION = ` @@ -430,7 +435,7 @@ export const streamGoogleGeminiCli: StreamFunction<"google-gemini-cli", GoogleGe const requestBody = buildRequest(model, context, projectId, options, isAntigravity); options?.onPayload?.(requestBody); - const headers = isAntigravity ? ANTIGRAVITY_HEADERS : GEMINI_CLI_HEADERS; + const headers = isAntigravity ? getAntigravityHeaders() : GEMINI_CLI_HEADERS; const requestHeaders = { Authorization: `Bearer ${accessToken}`, diff --git a/packages/coding-agent/CHANGELOG.md b/packages/coding-agent/CHANGELOG.md index e4b5f94d..b97058b6 100644 --- a/packages/coding-agent/CHANGELOG.md +++ b/packages/coding-agent/CHANGELOG.md @@ -5,6 +5,7 @@ ### Added - Added `titlebar-spinner.ts` example extension that shows a braille spinner animation in the terminal title while the agent is working. +- Added `PI_AI_ANTIGRAVITY_VERSION` environment variable documentation to help text ([#1129](https://github.com/badlogic/pi-mono/issues/1129)) ## [0.50.8] - 2026-02-01 diff --git a/packages/coding-agent/src/cli/args.ts b/packages/coding-agent/src/cli/args.ts index 181731bf..06c83c5c 100644 --- a/packages/coding-agent/src/cli/args.ts +++ b/packages/coding-agent/src/cli/args.ts @@ -288,6 +288,7 @@ ${chalk.bold("Environment Variables:")} AWS_REGION - AWS region for Amazon Bedrock (e.g., us-east-1) ${ENV_AGENT_DIR.padEnd(32)} - Session storage directory (default: ~/${CONFIG_DIR_NAME}/agent) PI_SHARE_VIEWER_URL - Base URL for /share command (default: https://buildwithpi.ai/session/) + PI_AI_ANTIGRAVITY_VERSION - Override Antigravity User-Agent version (e.g., 1.23.0) ${chalk.bold("Available Tools (default: read, bash, edit, write):")} read - Read file contents