|
1 | | -import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs" |
2 | | -import { join } from "node:path" |
| 1 | +import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs" |
3 | 2 | import { homedir } from "node:os" |
4 | | -import type { ConfigMergeResult, InstallConfig, DetectedConfig } from "./types" |
| 3 | +import { join } from "node:path" |
| 4 | +import type { ConfigMergeResult, DetectedConfig, InstallConfig } from "./types" |
5 | 5 |
|
6 | 6 | const OPENCODE_CONFIG_DIR = join(homedir(), ".config", "opencode") |
7 | 7 | const OPENCODE_JSON = join(OPENCODE_CONFIG_DIR, "opencode.json") |
@@ -359,16 +359,46 @@ export async function runBunInstall(): Promise<boolean> { |
359 | 359 | } |
360 | 360 | } |
361 | 361 |
|
362 | | -const ANTIGRAVITY_PROVIDER_CONFIG = { |
| 362 | +export const ANTIGRAVITY_PROVIDER_CONFIG = { |
363 | 363 | google: { |
364 | 364 | name: "Google", |
365 | 365 | api: "antigravity", |
| 366 | + // NOTE: opencode-antigravity-auth expects full model specs (name/limit/modalities). |
| 367 | + // If these are incomplete, models may appear but fail at runtime (e.g. 404). |
366 | 368 | models: { |
367 | | - "gemini-3-pro-high": { name: "Gemini 3 Pro (High)", thinking: true, attachment: true }, |
368 | | - "gemini-3-pro-medium": { name: "Gemini 3 Pro (Medium)", thinking: true, attachment: true }, |
369 | | - "gemini-3-pro-low": { name: "Gemini 3 Pro (Low)", thinking: true, attachment: true }, |
370 | | - "gemini-3-flash": { name: "Gemini 3 Flash", attachment: true }, |
371 | | - "gemini-3-flash-lite": { name: "Gemini 3 Flash Lite", attachment: true }, |
| 369 | + "gemini-3-pro-high": { |
| 370 | + name: "Gemini 3 Pro High (Antigravity)", |
| 371 | + thinking: true, |
| 372 | + attachment: true, |
| 373 | + limit: { context: 1048576, output: 65535 }, |
| 374 | + modalities: { input: ["text", "image", "pdf"], output: ["text"] }, |
| 375 | + }, |
| 376 | + "gemini-3-pro-medium": { |
| 377 | + name: "Gemini 3 Pro Medium (Antigravity)", |
| 378 | + thinking: true, |
| 379 | + attachment: true, |
| 380 | + limit: { context: 1048576, output: 65535 }, |
| 381 | + modalities: { input: ["text", "image", "pdf"], output: ["text"] }, |
| 382 | + }, |
| 383 | + "gemini-3-pro-low": { |
| 384 | + name: "Gemini 3 Pro Low (Antigravity)", |
| 385 | + thinking: true, |
| 386 | + attachment: true, |
| 387 | + limit: { context: 1048576, output: 65535 }, |
| 388 | + modalities: { input: ["text", "image", "pdf"], output: ["text"] }, |
| 389 | + }, |
| 390 | + "gemini-3-flash": { |
| 391 | + name: "Gemini 3 Flash (Antigravity)", |
| 392 | + attachment: true, |
| 393 | + limit: { context: 1048576, output: 65536 }, |
| 394 | + modalities: { input: ["text", "image", "pdf"], output: ["text"] }, |
| 395 | + }, |
| 396 | + "gemini-3-flash-lite": { |
| 397 | + name: "Gemini 3 Flash Lite (Antigravity)", |
| 398 | + attachment: true, |
| 399 | + limit: { context: 1048576, output: 65536 }, |
| 400 | + modalities: { input: ["text", "image", "pdf"], output: ["text"] }, |
| 401 | + }, |
372 | 402 | }, |
373 | 403 | }, |
374 | 404 | } |
|
0 commit comments