opencode-antigravity-auth-remix 1.4.6 → 1.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (71) hide show
  1. package/README.md +24 -17
  2. package/dist/src/constants.d.ts +22 -8
  3. package/dist/src/constants.d.ts.map +1 -1
  4. package/dist/src/constants.js +22 -8
  5. package/dist/src/constants.js.map +1 -1
  6. package/dist/src/plugin/accounts.d.ts +54 -3
  7. package/dist/src/plugin/accounts.d.ts.map +1 -1
  8. package/dist/src/plugin/accounts.js +269 -9
  9. package/dist/src/plugin/accounts.js.map +1 -1
  10. package/dist/src/plugin/cli.d.ts +3 -1
  11. package/dist/src/plugin/cli.d.ts.map +1 -1
  12. package/dist/src/plugin/cli.js +26 -7
  13. package/dist/src/plugin/cli.js.map +1 -1
  14. package/dist/src/plugin/config/loader.d.ts.map +1 -1
  15. package/dist/src/plugin/config/loader.js +7 -4
  16. package/dist/src/plugin/config/loader.js.map +1 -1
  17. package/dist/src/plugin/config/models.d.ts +27 -0
  18. package/dist/src/plugin/config/models.d.ts.map +1 -0
  19. package/dist/src/plugin/config/models.js +79 -0
  20. package/dist/src/plugin/config/models.js.map +1 -0
  21. package/dist/src/plugin/config/schema.d.ts +20 -0
  22. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  23. package/dist/src/plugin/config/schema.js +68 -7
  24. package/dist/src/plugin/config/schema.js.map +1 -1
  25. package/dist/src/plugin/config/updater.d.ts +55 -0
  26. package/dist/src/plugin/config/updater.d.ts.map +1 -0
  27. package/dist/src/plugin/config/updater.js +125 -0
  28. package/dist/src/plugin/config/updater.js.map +1 -0
  29. package/dist/src/plugin/debug.d.ts +26 -0
  30. package/dist/src/plugin/debug.d.ts.map +1 -1
  31. package/dist/src/plugin/debug.js +69 -1
  32. package/dist/src/plugin/debug.js.map +1 -1
  33. package/dist/src/plugin/quota.d.ts +10 -0
  34. package/dist/src/plugin/quota.d.ts.map +1 -1
  35. package/dist/src/plugin/quota.js +88 -7
  36. package/dist/src/plugin/quota.js.map +1 -1
  37. package/dist/src/plugin/recovery.d.ts.map +1 -1
  38. package/dist/src/plugin/recovery.js +2 -0
  39. package/dist/src/plugin/recovery.js.map +1 -1
  40. package/dist/src/plugin/refresh-queue.d.ts.map +1 -1
  41. package/dist/src/plugin/refresh-queue.js +4 -0
  42. package/dist/src/plugin/refresh-queue.js.map +1 -1
  43. package/dist/src/plugin/request.d.ts.map +1 -1
  44. package/dist/src/plugin/request.js +30 -15
  45. package/dist/src/plugin/request.js.map +1 -1
  46. package/dist/src/plugin/search.d.ts.map +1 -1
  47. package/dist/src/plugin/search.js +4 -1
  48. package/dist/src/plugin/search.js.map +1 -1
  49. package/dist/src/plugin/storage.d.ts +31 -1
  50. package/dist/src/plugin/storage.d.ts.map +1 -1
  51. package/dist/src/plugin/storage.js +134 -7
  52. package/dist/src/plugin/storage.js.map +1 -1
  53. package/dist/src/plugin/transform/model-resolver.d.ts +13 -10
  54. package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
  55. package/dist/src/plugin/transform/model-resolver.js +20 -38
  56. package/dist/src/plugin/transform/model-resolver.js.map +1 -1
  57. package/dist/src/plugin/transform/types.d.ts +1 -1
  58. package/dist/src/plugin/transform/types.d.ts.map +1 -1
  59. package/dist/src/plugin/ui/auth-menu.d.ts +7 -3
  60. package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
  61. package/dist/src/plugin/ui/auth-menu.js +28 -15
  62. package/dist/src/plugin/ui/auth-menu.js.map +1 -1
  63. package/dist/src/plugin/ui/select.d.ts +9 -0
  64. package/dist/src/plugin/ui/select.d.ts.map +1 -1
  65. package/dist/src/plugin/ui/select.js +104 -24
  66. package/dist/src/plugin/ui/select.js.map +1 -1
  67. package/dist/src/plugin.d.ts +22 -0
  68. package/dist/src/plugin.d.ts.map +1 -1
  69. package/dist/src/plugin.js +1033 -84
  70. package/dist/src/plugin.js.map +1 -1
  71. package/package.json +2 -2
package/README.md CHANGED
@@ -13,11 +13,11 @@
13
13
  > | Dual Quota System, Multi-Account Rotation, Session Recovery, Thinking Recovery | [NoeFabris/opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) |
14
14
  > | `generate_image` Tool (Native Implementation + Img2Img) | Native Implementation |
15
15
  >
16
- > **Status:** Version 1.4.6 - Aligned endpoint headers and metadata with reference implementation.
16
+ > **Status:** Version 1.5.1 - Aligned endpoint headers and metadata with reference implementation.
17
17
 
18
18
  ---
19
19
 
20
- Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth so you can use Antigravity rate limits and access models like `gemini-3-pro-high` and `claude-opus-4-5-thinking` with your Google credentials.
20
+ Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth so you can use Antigravity rate limits and access models like `gemini-3-pro-high` and `claude-opus-4-6-thinking` with your Google credentials.
21
21
 
22
22
  ## What you get
23
23
 
@@ -29,6 +29,7 @@ Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth
29
29
  - **Auto Recovery** - Automatic session recovery from Claude tool_result_missing errors
30
30
  - **Plugin Compatible** - Works alongside other OpenCode plugins (opencodesync, etc.)
31
31
  - **generate_image Tool** - AI image generation with text-to-image, image-to-image (multi-image fusion), auto-save, and 4K support
32
+ - **check_quota Tool** - Check the current quota status and rate limits for all authenticated Antigravity accounts directly in chat
32
33
  - **google_search Tool** - Built-in web search grounding with a separate tool call (no extra config)
33
34
 
34
35
  <details open>
@@ -70,7 +71,7 @@ Install the opencode-antigravity-auth-remix plugin and add the Antigravity model
70
71
 
71
72
  ```json
72
73
  {
73
- "plugin": ["opencode-antigravity-auth-remix@1.4.6"]
74
+ "plugin": ["opencode-antigravity-auth-remix@1.5.1"]
74
75
  }
75
76
  ```
76
77
 
@@ -98,7 +99,7 @@ Models with `antigravity-` prefix use **Antigravity quota** (Claude + Gemini 3):
98
99
  |---| ------------------------------------------- | ------------------------------ | ------------------------------ |
99
100
  | 01| `google/antigravity-gemini-3-pro` | `-low`, `-high` | Gemini 3 Pro with thinking |
100
101
  | 02| `google/antigravity-gemini-3-flash` | `-minimal`, `-low`, `-medium`, `-high` | Gemini 3 Flash with thinking |
101
- | 03| `google/antigravity-claude-opus-4-5-thinking` | `-low`, `-medium`, `-high` | Claude Opus 4.5 with thinking |
102
+ | 03| `google/antigravity-claude-opus-4-6-thinking` | `-low`, `-medium`, `-high` | Claude Opus 4.6 with thinking |
102
103
  | 04| `google/antigravity-claude-sonnet-4-5-thinking` | `-low`, `-medium`, `-high` | Claude Sonnet 4.5 with thinking|
103
104
  | 05| `google/antigravity-claude-sonnet-4-5` | - | Claude Sonnet 4.5 (no thinking)|
104
105
 
@@ -121,7 +122,7 @@ Copy this to `~/.config/opencode/opencode.json`:
121
122
  ```json
122
123
  {
123
124
  "$schema": "https://opencode.ai/config.json",
124
- "plugin": ["opencode-antigravity-auth-remix@1.4.6"],
125
+ "plugin": ["opencode-antigravity-auth-remix@1.5.1"],
125
126
  "provider": {
126
127
  "google": {
127
128
  "models": {
@@ -151,9 +152,9 @@ Copy this to `~/.config/opencode/opencode.json`:
151
152
  "high": { "options": { "thinkingConfig": { "thinkingLevel": "high", "includeThoughts": true } } }
152
153
  }
153
154
  },
154
- "antigravity-claude-opus-4-5-thinking": {
155
- "id": "antigravity-claude-opus-4-5-thinking",
156
- "name": "#03 Claude Opus 4.5 Thinking (Antigravity)",
155
+ "antigravity-claude-opus-4-6-thinking": {
156
+ "id": "antigravity-claude-opus-4-6-thinking",
157
+ "name": "#03 Claude Opus 4.6 Thinking (Antigravity)",
157
158
  "reasoning": true,
158
159
  "limit": { "context": 200000, "output": 64000 },
159
160
  "cost": { "input": 0, "output": 0 },
@@ -257,7 +258,6 @@ opencode run "Hello" --model=google/gemini-2.5-flash
257
258
  ## Built-in Tools
258
259
 
259
260
  ### generate_image
260
-
261
261
  AI image generation with automatic file saving and WebP conversion. Uses `gemini-3-pro-image`.
262
262
 
263
263
  | Parameter | Type | Required | Default | Description |
@@ -293,6 +293,9 @@ To use Image-to-Image generation, provide the absolute local paths of your refer
293
293
  - Supports JPG, PNG, WebP.
294
294
  - Maximum 10 reference images.
295
295
 
296
+ ### check_quota
297
+ Check the current quota status and rate limits for all authenticated Antigravity accounts directly in chat. Returns detailed usage statistics for Claude and Gemini models, including remaining quota percentages and reset times.
298
+
296
299
  **Account management options (via `opencode auth login`):**
297
300
  - **Check quotas** — View remaining API quota for each account
298
301
  - **Manage accounts** — Enable/disable specific accounts for rotation
@@ -320,11 +323,11 @@ MIT
320
323
  > | 双配额系统、多账号轮换、会话恢复、思考过程恢复 | [NoeFabris/opencode-antigravity-auth](https://github.com/NoeFabris/opencode-antigravity-auth) |
321
324
  > | `generate_image` 工具 (原生实现 + 图生图) | 原生实现 |
322
325
  >
323
- > **状态:** 版本 1.4.6 - 对齐了端点请求头和元数据实现。
326
+ > **状态:** 版本 1.5.0 - 对齐了端点请求头和元数据实现。
324
327
 
325
328
  ---
326
329
 
327
- 使 Opencode 能够通过 OAuth 验证 **Antigravity** (Google 的 IDE),从而让你可以使用 Google 凭据访问 Antigravity 配额并使用 `gemini-3-pro-high` 和 `claude-opus-4-5-thinking` 等模型。
330
+ 使 Opencode 能够通过 OAuth 验证 **Antigravity** (Google 的 IDE),从而让你可以使用 Google 凭据访问 Antigravity 配额并使用 `gemini-3-pro-high` 和 `claude-opus-4-6-thinking` 等模型。
328
331
 
329
332
  ## 核心功能
330
333
 
@@ -336,6 +339,7 @@ MIT
336
339
  - **自动恢复** - 自动处理 Claude 的 `tool_result_missing` 错误并恢复会话
337
340
  - **插件兼容性** - 可与其他 OpenCode 插件 (如 opencodesync 等) 同时运行
338
341
  - **generate_image 工具** - AI 图像生成,支持文生图、图生图 (多图融合)、自动保存、WebP 转换和 4K 输出
342
+ - **check_quota 工具** - 在聊天中直接查询所有已认证 Antigravity 账号的当前配额状态和速率限制
339
343
  - **google_search 工具** - 内置联网检索能力,独立工具调用(无需额外配置)
340
344
 
341
345
  ## 安装步骤
@@ -354,7 +358,7 @@ MIT
354
358
 
355
359
  ```json
356
360
  {
357
- "plugin": ["opencode-antigravity-auth-remix@1.4.6"]
361
+ "plugin": ["opencode-antigravity-auth-remix@1.5.1"]
358
362
  }
359
363
  ```
360
364
 
@@ -382,7 +386,7 @@ MIT
382
386
  |---| ------------------------------------------- | ------------------------------ | ------------------------------ |
383
387
  | 01| `google/antigravity-gemini-3-pro` | `-low`, `-high` | Gemini 3 Pro (带思考过程) |
384
388
  | 02| `google/antigravity-gemini-3-flash` | `-minimal`, `-low`, `-medium`, `-high` | Gemini 3 Flash (带思考过程) |
385
- | 03| `google/antigravity-claude-opus-4-5-thinking` | `-low`, `-medium`, `-high` | Claude Opus 4.5 (带思考预算) |
389
+ | 03| `google/antigravity-claude-opus-4-6-thinking` | `-low`, `-medium`, `-high` | Claude Opus 4.6 (带思考预算) |
386
390
  | 04| `google/antigravity-claude-sonnet-4-5-thinking` | `-low`, `-medium`, `-high` | Claude Sonnet 4.5 (带思考预算)|
387
391
  | 05| `google/antigravity-claude-sonnet-4-5` | - | Claude Sonnet 4.5 (普通模式)|
388
392
 
@@ -405,7 +409,7 @@ MIT
405
409
  ```json
406
410
  {
407
411
  "$schema": "https://opencode.ai/config.json",
408
- "plugin": ["opencode-antigravity-auth-remix@1.4.6"],
412
+ "plugin": ["opencode-antigravity-auth-remix@1.5.1"],
409
413
  "provider": {
410
414
  "google": {
411
415
  "models": {
@@ -435,9 +439,9 @@ MIT
435
439
  "high": { "options": { "thinkingConfig": { "thinkingLevel": "high", "includeThoughts": true } } }
436
440
  }
437
441
  },
438
- "antigravity-claude-opus-4-5-thinking": {
439
- "id": "antigravity-claude-opus-4-5-thinking",
440
- "name": "#03 Claude Opus 4.5 Thinking (Antigravity)",
442
+ "antigravity-claude-opus-4-6-thinking": {
443
+ "id": "antigravity-claude-opus-4-6-thinking",
444
+ "name": "#03 Claude Opus 4.6 Thinking (Antigravity)",
441
445
  "reasoning": true,
442
446
  "limit": { "context": 200000, "output": 64000 },
443
447
  "cost": { "input": 0, "output": 0 },
@@ -703,6 +707,9 @@ opencode run "你好" --model=google/gemini-2.5-flash
703
707
  - 支持 JPG, PNG, WebP 格式。
704
708
  - 最多支持 10 张参考图片。
705
709
 
710
+ ### check_quota (查额度工具)
711
+ 在聊天中直接查询所有已认证 Antigravity 账号的当前配额状态和速率限制。返回详细的 Claude 和 Gemini 模型使用统计信息,包括剩余配额百分比和重置时间。
712
+
706
713
  ## 开源协议
707
714
 
708
715
  MIT
@@ -46,8 +46,28 @@ export declare const GEMINI_CLI_ENDPOINT = "https://cloudcode-pa.googleapis.com"
46
46
  * Hardcoded project id used when Antigravity does not return one (e.g., business/workspace accounts).
47
47
  */
48
48
  export declare const ANTIGRAVITY_DEFAULT_PROJECT_ID = "rising-fact-p41fc";
49
+ /**
50
+ * Antigravity version string - SINGLE SOURCE OF TRUTH.
51
+ * Update this value when a new version is needed.
52
+ * Used by ANTIGRAVITY_HEADERS, fingerprint.ts, and all version-dependent code.
53
+ *
54
+ * @remarks
55
+ * This version MUST be kept in sync with Google's supported Antigravity versions.
56
+ * Using an outdated version will cause "This version of Antigravity is no longer supported" errors.
57
+ *
58
+ * @see https://github.com/NoeFabris/opencode-antigravity-auth/issues/324
59
+ */
60
+ export declare const ANTIGRAVITY_VERSION: "1.15.8";
61
+ /**
62
+ * Default headers for Antigravity API requests.
63
+ *
64
+ * Uses ANTIGRAVITY_VERSION to ensure the User-Agent version stays in sync
65
+ * with the single source of truth, preventing "version no longer supported" errors.
66
+ *
67
+ * @see https://github.com/NoeFabris/opencode-antigravity-auth/issues/324
68
+ */
49
69
  export declare const ANTIGRAVITY_HEADERS: {
50
- readonly "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/1.104.0 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36";
70
+ readonly "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/1.15.8 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36";
51
71
  readonly "X-Goog-Api-Client": "google-cloud-sdk vscode_cloudshelleditor/0.1";
52
72
  readonly "Client-Metadata": "{\"ideType\":\"IDE_UNSPECIFIED\",\"platform\":\"PLATFORM_UNSPECIFIED\",\"pluginType\":\"GEMINI\"}";
53
73
  };
@@ -56,12 +76,6 @@ export declare const GEMINI_CLI_HEADERS: {
56
76
  readonly "X-Goog-Api-Client": "gl-node/22.18.0";
57
77
  readonly "Client-Metadata": "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI";
58
78
  };
59
- /**
60
- * Antigravity version string - SINGLE SOURCE OF TRUTH.
61
- * Update this value when a new version is needed.
62
- * Used by both constants.ts and fingerprint.ts
63
- */
64
- export declare const ANTIGRAVITY_VERSION: "1.15.8";
65
79
  export type HeaderSet = {
66
80
  "User-Agent": string;
67
81
  "X-Goog-Api-Client": string;
@@ -109,7 +123,7 @@ export declare const SKIP_THOUGHT_SIGNATURE = "skip_thought_signature_validator"
109
123
  */
110
124
  /**
111
125
  * Model used for Google Search grounding requests.
112
- * Uses gemini-3-flash for fast, cost-effective search operations.
126
+ * Uses gemini-2.5-flash for fast, cost-effective search operations. (3-flash is always at capacity and doesn't support souce citation).
113
127
  */
114
128
  export declare const SEARCH_MODEL = "gemini-2.5-flash";
115
129
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+JAIjC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+JAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB,sDAA6B,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wCAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,EAAG,QAAiB,CAAC;AA+BrD,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAalE;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAMhD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,4zBAWiD,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kDAAwC,CAAC;AAE/E,eAAO,MAAM,6BAA6B,iBAAiB,CAAC;AAC5D,eAAO,MAAM,oCAAoC,mCAAmC,CAAC;AAErF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AAMzE;;;;GAIG;AAKH;;;GAGG;AACH,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,yBAAyB,qlBAYY,CAAC;AAMnD;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;GAM/B,CAAC;AAEF,eAAO,MAAM,8BAA8B,ifAM1C,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+JAIjC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+JAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB,sDAA6B,CAAC;AAE/D;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,wCAA4B,CAAC;AAE7D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE;;;;;;;;;;GAUG;AACH,eAAO,MAAM,mBAAmB,EAAG,QAAiB,CAAC;AAErD;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AA+BX,MAAM,MAAM,SAAS,GAAG;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;CAC3B,CAAC;AAEF,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,CAalE;AAED,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAMhD;;;;;;GAMG;AACH,eAAO,MAAM,8BAA8B,4zBAWiD,CAAC;AAE7F;;;GAGG;AACH,eAAO,MAAM,yBAAyB,kDAAwC,CAAC;AAE/E,eAAO,MAAM,6BAA6B,iBAAiB,CAAC;AAC5D,eAAO,MAAM,oCAAoC,mCAAmC,CAAC;AAErF;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,qCAAqC,CAAC;AAMzE;;;;GAIG;AAKH;;;GAGG;AACH,eAAO,MAAM,YAAY,qBAAqB,CAAC;AAE/C;;GAEG;AACH,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,2BAA2B,OAAO,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,iBAAiB,QAAQ,CAAC;AAEvC;;GAEG;AACH,eAAO,MAAM,yBAAyB,qlBAYY,CAAC;AAMnD;;GAEG;AACH,eAAO,MAAM,WAAW,uBAAuB,CAAC;AAEhD;;GAEG;AACH,eAAO,MAAM,mBAAmB,+BAA+B,CAAC;AAEhE;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAa,CAAC;AAE3C;;GAEG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAWhD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB;;;GAM/B,CAAC;AAEF,eAAO,MAAM,8BAA8B,ifAM1C,CAAC"}
@@ -60,8 +60,28 @@ export const GEMINI_CLI_ENDPOINT = ANTIGRAVITY_ENDPOINT_PROD;
60
60
  * Hardcoded project id used when Antigravity does not return one (e.g., business/workspace accounts).
61
61
  */
62
62
  export const ANTIGRAVITY_DEFAULT_PROJECT_ID = "rising-fact-p41fc";
63
+ /**
64
+ * Antigravity version string - SINGLE SOURCE OF TRUTH.
65
+ * Update this value when a new version is needed.
66
+ * Used by ANTIGRAVITY_HEADERS, fingerprint.ts, and all version-dependent code.
67
+ *
68
+ * @remarks
69
+ * This version MUST be kept in sync with Google's supported Antigravity versions.
70
+ * Using an outdated version will cause "This version of Antigravity is no longer supported" errors.
71
+ *
72
+ * @see https://github.com/NoeFabris/opencode-antigravity-auth/issues/324
73
+ */
74
+ export const ANTIGRAVITY_VERSION = "1.15.8";
75
+ /**
76
+ * Default headers for Antigravity API requests.
77
+ *
78
+ * Uses ANTIGRAVITY_VERSION to ensure the User-Agent version stays in sync
79
+ * with the single source of truth, preventing "version no longer supported" errors.
80
+ *
81
+ * @see https://github.com/NoeFabris/opencode-antigravity-auth/issues/324
82
+ */
63
83
  export const ANTIGRAVITY_HEADERS = {
64
- "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/1.104.0 Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36",
84
+ "User-Agent": `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Antigravity/${ANTIGRAVITY_VERSION} Chrome/138.0.7204.235 Electron/37.3.1 Safari/537.36`,
65
85
  "X-Goog-Api-Client": "google-cloud-sdk vscode_cloudshelleditor/0.1",
66
86
  "Client-Metadata": '{"ideType":"IDE_UNSPECIFIED","platform":"PLATFORM_UNSPECIFIED","pluginType":"GEMINI"}',
67
87
  };
@@ -70,12 +90,6 @@ export const GEMINI_CLI_HEADERS = {
70
90
  "X-Goog-Api-Client": "gl-node/22.18.0",
71
91
  "Client-Metadata": "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI",
72
92
  };
73
- /**
74
- * Antigravity version string - SINGLE SOURCE OF TRUTH.
75
- * Update this value when a new version is needed.
76
- * Used by both constants.ts and fingerprint.ts
77
- */
78
- export const ANTIGRAVITY_VERSION = "1.15.8";
79
93
  const ANTIGRAVITY_PLATFORMS = ["windows/amd64", "darwin/arm64", "linux/amd64", "darwin/amd64", "linux/arm64"];
80
94
  // Derive user agents from version (keeps them in sync automatically)
81
95
  const ANTIGRAVITY_USER_AGENTS = ANTIGRAVITY_PLATFORMS.map(platform => `antigravity/${ANTIGRAVITY_VERSION} ${platform}`);
@@ -173,7 +187,7 @@ export const SKIP_THOUGHT_SIGNATURE = "skip_thought_signature_validator";
173
187
  // ============================================================================
174
188
  /**
175
189
  * Model used for Google Search grounding requests.
176
- * Uses gemini-3-flash for fast, cost-effective search operations.
190
+ * Uses gemini-2.5-flash for fast, cost-effective search operations. (3-flash is always at capacity and doesn't support souce citation).
177
191
  */
178
192
  export const SEARCH_MODEL = "gemini-2.5-flash";
179
193
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
- import { type AccountStorageV3, type RateLimitStateV3, type ModelFamily, type HeaderStyle, type CooldownReason } from "./storage";
1
+ import { type AccountStorageV3, type AccountMetadataV3, type RateLimitStateV3, type ModelFamily, type HeaderStyle, type CooldownReason } from "./storage";
2
2
  import type { OAuthAuthDetails, RefreshParts } from "./types";
3
3
  import type { AccountSelectionStrategy } from "./config/schema";
4
4
  import { type Fingerprint, type FingerprintVersion } from "./fingerprint";
5
+ import type { QuotaGroup, QuotaGroupSummary } from "./quota";
5
6
  export type { ModelFamily, HeaderStyle, CooldownReason } from "./storage";
6
7
  export type { AccountSelectionStrategy } from "./config/schema";
7
8
  export type RateLimitReason = "QUOTA_EXHAUSTED" | "RATE_LIMIT_EXCEEDED" | "MODEL_CAPACITY_EXHAUSTED" | "SERVER_ERROR" | "UNKNOWN";
@@ -34,7 +35,28 @@ export interface ManagedAccount {
34
35
  fingerprint?: import("./fingerprint").Fingerprint;
35
36
  /** History of previous fingerprints for this account */
36
37
  fingerprintHistory?: FingerprintVersion[];
38
+ /** Cached quota data from last checkAccountsQuota() call */
39
+ cachedQuota?: Partial<Record<QuotaGroup, QuotaGroupSummary>>;
40
+ cachedQuotaUpdatedAt?: number;
41
+ verificationRequired?: boolean;
42
+ verificationRequiredAt?: number;
43
+ verificationRequiredReason?: string;
44
+ verificationUrl?: string;
37
45
  }
46
+ /**
47
+ * Resolve the quota group for soft quota checks.
48
+ *
49
+ * When a model string is available, we can precisely determine the quota group.
50
+ * When model is null/undefined, we fall back based on family:
51
+ * - Claude → "claude" quota group
52
+ * - Gemini → "gemini-pro" (conservative fallback; may misclassify flash models)
53
+ *
54
+ * @param family - The model family ("claude" | "gemini")
55
+ * @param model - Optional model string for precise resolution
56
+ * @returns The QuotaGroup to use for soft quota checks
57
+ */
58
+ export declare function resolveQuotaGroup(family: ModelFamily, model?: string | null): QuotaGroup;
59
+ export declare function computeSoftQuotaCacheTtlMs(ttlConfig: "auto" | number, refreshIntervalMinutes: number): number;
38
60
  /**
39
61
  * In-memory multi-account manager with sticky account selection.
40
62
  *
@@ -68,8 +90,8 @@ export declare class AccountManager {
68
90
  */
69
91
  shouldShowAccountToast(accountIndex: number, debounceMs?: number): boolean;
70
92
  markToastShown(accountIndex: number): void;
71
- getCurrentOrNextForFamily(family: ModelFamily, model?: string | null, strategy?: AccountSelectionStrategy, headerStyle?: HeaderStyle, pidOffsetEnabled?: boolean): ManagedAccount | null;
72
- getNextForFamily(family: ModelFamily, model?: string | null, headerStyle?: HeaderStyle): ManagedAccount | null;
93
+ getCurrentOrNextForFamily(family: ModelFamily, model?: string | null, strategy?: AccountSelectionStrategy, headerStyle?: HeaderStyle, pidOffsetEnabled?: boolean, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number): ManagedAccount | null;
94
+ getNextForFamily(family: ModelFamily, model?: string | null, headerStyle?: HeaderStyle, softQuotaThresholdPercent?: number, softQuotaCacheTtlMs?: number): ManagedAccount | null;
73
95
  markRateLimited(account: ManagedAccount, retryAfterMs: number, family: ModelFamily, headerStyle?: HeaderStyle, model?: string | null): void;
74
96
  /**
75
97
  * Mark an account as used after a successful API request.
@@ -90,6 +112,23 @@ export declare class AccountManager {
90
112
  getFreshAccountsForQuota(quotaKey: string, family: ModelFamily, model?: string | null): ManagedAccount[];
91
113
  isRateLimitedForHeaderStyle(account: ManagedAccount, family: ModelFamily, headerStyle: HeaderStyle, model?: string | null): boolean;
92
114
  getAvailableHeaderStyle(account: ManagedAccount, family: ModelFamily, model?: string | null): HeaderStyle | null;
115
+ /**
116
+ * Check if any OTHER account has antigravity quota available for the given family/model.
117
+ *
118
+ * Used to determine whether to switch accounts vs fall back to gemini-cli:
119
+ * - If true: Switch to another account (preserve antigravity priority)
120
+ * - If false: All accounts exhausted antigravity, safe to fall back to gemini-cli
121
+ *
122
+ * @param currentAccountIndex - Index of the current account (will be excluded from check)
123
+ * @param family - Model family ("gemini" or "claude")
124
+ * @param model - Optional model name for model-specific rate limits
125
+ * @returns true if any other enabled, non-cooling-down account has antigravity available
126
+ */
127
+ hasOtherAccountWithAntigravityAvailable(currentAccountIndex: number, family: ModelFamily, model?: string | null): boolean;
128
+ setAccountEnabled(accountIndex: number, enabled: boolean): boolean;
129
+ markAccountVerificationRequired(accountIndex: number, reason?: string, verifyUrl?: string): boolean;
130
+ clearAccountVerificationRequired(accountIndex: number, enableAccount?: boolean): boolean;
131
+ removeAccountByIndex(accountIndex: number): boolean;
93
132
  removeAccount(account: ManagedAccount): boolean;
94
133
  updateFromAuth(account: ManagedAccount, auth: OAuthAuthDetails): void;
95
134
  toAuthDetails(account: ManagedAccount): OAuthAuthDetails;
@@ -118,5 +157,17 @@ export declare class AccountManager {
118
157
  * @returns Array of fingerprint versions, or empty array if not found
119
158
  */
120
159
  getAccountFingerprintHistory(accountIndex: number): FingerprintVersion[];
160
+ updateQuotaCache(accountIndex: number, quotaGroups: Partial<Record<QuotaGroup, QuotaGroupSummary>>): void;
161
+ isAccountOverSoftQuota(account: ManagedAccount, family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): boolean;
162
+ getAccountsForQuotaCheck(): AccountMetadataV3[];
163
+ getOldestQuotaCacheAge(): number | null;
164
+ areAllAccountsOverSoftQuota(family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): boolean;
165
+ /**
166
+ * Get minimum wait time until any account's soft quota resets.
167
+ * Returns 0 if any account is available (not over threshold).
168
+ * Returns the minimum resetTime across all over-threshold accounts.
169
+ * Returns null if no resetTime data is available.
170
+ */
171
+ getMinWaitTimeForSoftQuota(family: ModelFamily, thresholdPercent: number, cacheTtlMs: number, model?: string | null): number | null;
121
172
  }
122
173
  //# sourceMappingURL=accounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"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"}