From 898d3e61754993dd27de136f4cc8dcfe9619e8a5 Mon Sep 17 00:00:00 2001 From: YeonGyu-Kim Date: Mon, 5 Jan 2026 23:36:10 +0900 Subject: [PATCH] fix(cli): migrate Gemini models to explicit antigravity- prefix for quota routing MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit All Gemini model references now use the `antigravity-` prefix to ensure explicit routing to Antigravity quota pools instead of relying on legacy `-preview` suffix disambiguation. This approach prevents potential breakage if Google removes the `-preview` suffix in future versions. Updates include: - config-manager: Updated Gemini model assignments with antigravity- prefix - config-manager.test.ts: Updated test assertions to match new naming convention - install.ts: Updated config summary display to show antigravity-prefixed model name Migration follows opencode-antigravity-auth plugin v1.2.7+ guidance for explicit quota routing configuration. 🤖 GENERATED WITH ASSISTANCE OF [OhMyOpenCode](https://github.com/code-yeongyu/oh-my-opencode) --- src/cli/config-manager.test.ts | 6 +++--- src/cli/config-manager.ts | 30 +++++++++++++++++++++++------- src/cli/install.ts | 2 +- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/src/cli/config-manager.test.ts b/src/cli/config-manager.test.ts index 72d9419..cd95438 100644 --- a/src/cli/config-manager.test.ts +++ b/src/cli/config-manager.test.ts @@ -11,9 +11,9 @@ describe("config-manager ANTIGRAVITY_PROVIDER_CONFIG", () => { expect(models).toBeTruthy() const required = [ - "gemini-3-pro-high", - "gemini-3-pro-low", - "gemini-3-flash", + "antigravity-gemini-3-pro-high", + "antigravity-gemini-3-pro-low", + "antigravity-gemini-3-flash", ] for (const key of required) { diff --git a/src/cli/config-manager.ts b/src/cli/config-manager.ts index 692c6c2..3eb5688 100644 --- a/src/cli/config-manager.ts +++ b/src/cli/config-manager.ts @@ -279,8 +279,10 @@ export function generateOmoConfig(installConfig: InstallConfig): Record { } } +/** + * Antigravity Provider Configuration + * + * IMPORTANT: Model names MUST use `antigravity-` prefix for stability. + * + * The opencode-antigravity-auth plugin supports two naming conventions: + * - `antigravity-gemini-3-pro-high` (RECOMMENDED, explicit Antigravity quota routing) + * - `gemini-3-pro-high` (LEGACY, backward compatible but may break in future) + * + * Legacy names rely on Gemini CLI using `-preview` suffix for disambiguation. + * If Google removes `-preview`, legacy names may route to wrong quota. + * + * @see https://github.com/NoeFabris/opencode-antigravity-auth#migration-guide-v127 + */ export const ANTIGRAVITY_PROVIDER_CONFIG = { google: { name: "Google", models: { - "gemini-3-pro-high": { + "antigravity-gemini-3-pro-high": { name: "Gemini 3 Pro High (Antigravity)", thinking: true, attachment: true, limit: { context: 1048576, output: 65535 }, modalities: { input: ["text", "image", "pdf"], output: ["text"] }, }, - "gemini-3-pro-low": { + "antigravity-gemini-3-pro-low": { name: "Gemini 3 Pro Low (Antigravity)", thinking: true, attachment: true, limit: { context: 1048576, output: 65535 }, modalities: { input: ["text", "image", "pdf"], output: ["text"] }, }, - "gemini-3-flash": { + "antigravity-gemini-3-flash": { name: "Gemini 3 Flash (Antigravity)", attachment: true, limit: { context: 1048576, output: 65536 }, diff --git a/src/cli/install.ts b/src/cli/install.ts index abb6fe6..5845211 100644 --- a/src/cli/install.ts +++ b/src/cli/install.ts @@ -49,7 +49,7 @@ function formatConfigSummary(config: InstallConfig): string { const sisyphusModel = config.hasClaude ? "claude-opus-4-5" : "glm-4.7-free" const oracleModel = config.hasChatGPT ? "gpt-5.2" : (config.hasClaude ? "claude-opus-4-5" : "glm-4.7-free") const librarianModel = "glm-4.7-free" - const frontendModel = config.hasGemini ? "gemini-3-pro-high" : (config.hasClaude ? "claude-opus-4-5" : "glm-4.7-free") + const frontendModel = config.hasGemini ? "antigravity-gemini-3-pro-high" : (config.hasClaude ? "claude-opus-4-5" : "glm-4.7-free") lines.push(` ${SYMBOLS.bullet} Sisyphus ${SYMBOLS.arrow} ${color.cyan(sisyphusModel)}`) lines.push(` ${SYMBOLS.bullet} Oracle ${SYMBOLS.arrow} ${color.cyan(oracleModel)}`)