opencode-antigravity-auth 1.1.0 → 1.1.2

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.
package/README.md CHANGED
@@ -15,28 +15,51 @@ Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth
15
15
 
16
16
  ## Quick start
17
17
 
18
- 1) **Add the plugin to config** (`~/.config/opencode/opencode.json` or project `.opencode.json`):
18
+ ### Step 1: Create your config file
19
+
20
+ If this is your first time using Opencode, create the config directory first:
21
+
22
+ ```bash
23
+ mkdir -p ~/.config/opencode
24
+ ```
25
+
26
+ Then create or edit the config file at `~/.config/opencode/opencode.json`:
19
27
 
20
28
  ```json
21
29
  {
22
- "plugin": ["opencode-antigravity-auth@1.1.0"]
30
+ "plugin": ["opencode-antigravity-auth@1.1.2"]
23
31
  }
24
32
  ```
25
33
 
26
- 2) **Authenticate**
34
+ > **Note:** You can also use a project-local `.opencode.json` file in your project root instead. The global config at `~/.config/opencode/opencode.json` applies to all projects.
27
35
 
28
- - For multi-account + per-account project IDs (recommended): run `opencode auth login`.
29
- - For a quick single-account connect: open `opencode` and run `/connect`.
30
- - Choose Google → **OAuth with Google (Antigravity)**.
31
- - Sign in via the browser and return to Opencode. If the browser doesn’t open, use the displayed link.
32
- - `opencode auth login` will ask for a project ID for each account, and after each sign-in you can add another account (up to 10).
36
+ ### Step 2: Authenticate
37
+
38
+ Run the authentication command:
39
+
40
+ ```bash
41
+ opencode auth login
42
+ ```
33
43
 
34
- 3) **Declare the models you want**
44
+ 1. Select **Google** as the provider
45
+ 2. Select **OAuth with Google (Antigravity)**
46
+ 3. **Project ID prompt:** You'll see this prompt:
47
+ ```
48
+ Project ID (leave blank to use your default project):
49
+ ```
50
+ **Just press Enter to skip this** — it's optional and only needed if you want to use a specific Google Cloud project. Most users can leave it blank.
51
+ 4. Sign in via the browser and return to Opencode. If the browser doesn't open, copy the displayed URL manually.
52
+ 5. After signing in, you can add more Google accounts (up to 10) for load balancing, or press Enter to finish.
53
+
54
+ > **Alternative:** For a quick single-account setup without project ID options, open `opencode` and use the `/connect` command instead.
55
+
56
+ ### Step 3: Add the models you want to use
57
+
58
+ Open the **same config file** you created in Step 1 (`~/.config/opencode/opencode.json`) and add the models under `provider.google.models`:
35
59
 
36
- Add Antigravity models under the `provider.google.models` section of your config:
37
60
  ```json
38
61
  {
39
- "plugin": ["opencode-antigravity-auth"],
62
+ "plugin": ["opencode-antigravity-auth@1.1.2"],
40
63
  "provider": {
41
64
  "google": {
42
65
  "models": {
@@ -45,6 +68,10 @@ Add Antigravity models under the `provider.google.models` section of your config
45
68
  "limit": {
46
69
  "context": 1048576,
47
70
  "output": 65535
71
+ },
72
+ "modalities": {
73
+ "input": ["text", "image", "pdf"],
74
+ "output": ["text"]
48
75
  }
49
76
  },
50
77
  "gemini-3-pro-low": {
@@ -52,6 +79,10 @@ Add Antigravity models under the `provider.google.models` section of your config
52
79
  "limit": {
53
80
  "context": 1048576,
54
81
  "output": 65535
82
+ },
83
+ "modalities": {
84
+ "input": ["text", "image", "pdf"],
85
+ "output": ["text"]
55
86
  }
56
87
  },
57
88
  "claude-sonnet-4-5": {
@@ -59,6 +90,10 @@ Add Antigravity models under the `provider.google.models` section of your config
59
90
  "limit": {
60
91
  "context": 200000,
61
92
  "output": 64000
93
+ },
94
+ "modalities": {
95
+ "input": ["text", "image", "pdf"],
96
+ "output": ["text"]
62
97
  }
63
98
  },
64
99
  "claude-sonnet-4-5-thinking": {
@@ -66,6 +101,10 @@ Add Antigravity models under the `provider.google.models` section of your config
66
101
  "limit": {
67
102
  "context": 200000,
68
103
  "output": 64000
104
+ },
105
+ "modalities": {
106
+ "input": ["text", "image", "pdf"],
107
+ "output": ["text"]
69
108
  }
70
109
  },
71
110
  "claude-opus-4-5-thinking": {
@@ -73,6 +112,10 @@ Add Antigravity models under the `provider.google.models` section of your config
73
112
  "limit": {
74
113
  "context": 200000,
75
114
  "output": 64000
115
+ },
116
+ "modalities": {
117
+ "input": ["text", "image", "pdf"],
118
+ "output": ["text"]
76
119
  }
77
120
  },
78
121
  "gpt-oss-120b-medium": {
@@ -80,6 +123,10 @@ Add Antigravity models under the `provider.google.models` section of your config
80
123
  "limit": {
81
124
  "context": 131072,
82
125
  "output": 32768
126
+ },
127
+ "modalities": {
128
+ "input": ["text", "image", "pdf"],
129
+ "output": ["text"]
83
130
  }
84
131
  }
85
132
  }
@@ -88,19 +135,63 @@ Add Antigravity models under the `provider.google.models` section of your config
88
135
  }
89
136
  ```
90
137
 
91
- 4) **Use a model**
138
+ > **Tip:** You only need to add the models you plan to use. The example above includes all available models, but you can remove any you don't need. The `modalities` field enables image and PDF support in the TUI.
139
+
140
+ ### Step 4: Use a model
92
141
 
93
142
  ```bash
94
143
  opencode run "Hello world" --model=google/gemini-3-pro-high
95
144
  ```
96
145
 
146
+ Or start the interactive TUI and select a model from the model picker:
147
+
148
+ ```bash
149
+ opencode
150
+ ```
151
+
97
152
  ## Multi-account load balancing
98
153
 
99
- - Account pool is stored in `~/.config/opencode/antigravity-accounts.json` (or `%APPDATA%/opencode/antigravity-accounts.json` on Windows).
100
- - This file contains OAuth refresh tokens; treat it like a password and don’t share/commit it.
101
- - TUI `/connect` only supports single-account sign-in (no per-account project ID prompts). Use `opencode auth login` to add multiple accounts or set per-account project IDs.
102
- - Each request picks the next account round-robin; on HTTP `429` the account is cooled down and the request retries with the next account.
103
- - If Google revokes a refresh token (`invalid_grant`), that account is removed from the pool; rerun `opencode auth login` to add it back.
154
+ The plugin supports multiple Google accounts to maximize rate limits and provide automatic failover.
155
+
156
+ ### How it works
157
+
158
+ - **Round-robin selection:** Each request uses the next account in the pool
159
+ - **Automatic failover:** On HTTP `429` (rate limit), the plugin automatically switches to the next available account
160
+ - **Smart cooldown:** Rate-limited accounts are temporarily cooled down and automatically become available again after the cooldown expires
161
+ - **Single-account retry:** If you only have one account, the plugin waits for the rate limit to reset and retries automatically
162
+ - **Toast notifications:** The TUI shows which account is being used and when switching occurs
163
+
164
+ ### Adding accounts
165
+
166
+ **CLI flow (`opencode auth login`):**
167
+
168
+ When you run `opencode auth login` and already have accounts saved, you'll be prompted:
169
+
170
+ ```
171
+ 2 account(s) saved:
172
+ 1. user1@gmail.com
173
+ 2. user2@gmail.com
174
+
175
+ (a)dd new account(s) or (f)resh start? [a/f]:
176
+ ```
177
+
178
+ - Press `a` to add more accounts to your existing pool
179
+ - Press `f` to clear all existing accounts and start fresh
180
+
181
+ **TUI flow (`/connect`):**
182
+
183
+ The `/connect` command in the TUI adds accounts non-destructively — it will never clear your existing accounts. To start fresh via TUI, run `opencode auth logout` first, then `/connect`.
184
+
185
+ ### Account storage
186
+
187
+ - Account pool is stored in `~/.config/opencode/antigravity-accounts.json` (or `%APPDATA%\opencode\antigravity-accounts.json` on Windows)
188
+ - This file contains OAuth refresh tokens; **treat it like a password** and don't share or commit it
189
+ - The plugin automatically syncs with OpenCode's auth state — if you log out via OpenCode, stale account storage is cleared automatically
190
+
191
+ ### Automatic account recovery
192
+
193
+ - If Google revokes a refresh token (`invalid_grant`), that account is automatically removed from the pool
194
+ - Rerun `opencode auth login` to re-add the account
104
195
 
105
196
  ## Debugging
106
197
 
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAaD;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAK;WAEN,YAAY,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;gBAKvE,YAAY,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI;IAuE3E,eAAe,IAAI,MAAM;IAIzB,mBAAmB,IAAI,cAAc,EAAE;IAIvC;;OAEG;IACH,QAAQ,IAAI,cAAc,GAAG,IAAI;IAiCjC,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAMpE,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAwB/C,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAOrE,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB;IASxD,gBAAgB,IAAI,MAAM;IAgBpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBlC"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"AACA,OAAO,EAA8B,KAAK,cAAc,EAAE,MAAM,WAAW,CAAC;AAC5E,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAaD;;;;GAIG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAwB;IACxC,OAAO,CAAC,MAAM,CAAK;WAEN,YAAY,CAAC,YAAY,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,CAAC;gBAKvE,YAAY,CAAC,EAAE,gBAAgB,EAAE,MAAM,CAAC,EAAE,cAAc,GAAG,IAAI;IAuE3E,eAAe,IAAI,MAAM;IAIzB,mBAAmB,IAAI,cAAc,EAAE;IAIvC;;OAEG;IACH,QAAQ,IAAI,cAAc,GAAG,IAAI;IAiCjC,eAAe,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,GAAG,IAAI;IAMpE,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAwB/C,cAAc,CAAC,OAAO,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAOrE,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,gBAAgB;IASxD,gBAAgB,IAAI,MAAM;IAuBpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;CAkBlC"}
@@ -160,7 +160,14 @@ export class AccountManager {
160
160
  }
161
161
  getMinWaitTimeMs() {
162
162
  const now = nowMs();
163
- const available = this.accounts.some((a) => !a.isRateLimited || (a.rateLimitResetTime > 0 && now > a.rateLimitResetTime));
163
+ // Clear expired cooldowns first (same logic as pickNext)
164
+ for (const acc of this.accounts) {
165
+ if (acc.isRateLimited && acc.rateLimitResetTime > 0 && now > acc.rateLimitResetTime) {
166
+ acc.isRateLimited = false;
167
+ acc.rateLimitResetTime = 0;
168
+ }
169
+ }
170
+ const available = this.accounts.some((a) => !a.isRateLimited);
164
171
  if (available) {
165
172
  return 0;
166
173
  }
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/plugin/accounts.ts"],"names":[],"mappings":"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"}
@@ -6,4 +6,14 @@ export declare function promptProjectId(): Promise<string>;
6
6
  * Prompts user whether they want to add another OAuth account.
7
7
  */
8
8
  export declare function promptAddAnotherAccount(currentCount: number): Promise<boolean>;
9
+ export type LoginMode = "add" | "fresh";
10
+ export interface ExistingAccountInfo {
11
+ email?: string;
12
+ index: number;
13
+ }
14
+ /**
15
+ * Prompts user to choose login mode when accounts already exist.
16
+ * Returns "add" to append new accounts, "fresh" to clear and start over.
17
+ */
18
+ export declare function promptLoginMode(existingAccounts: ExistingAccountInfo[]): Promise<LoginMode>;
9
19
  //# sourceMappingURL=cli.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/plugin/cli.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASpF"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../../src/plugin/cli.ts"],"names":[],"mappings":"AAGA;;GAEG;AACH,wBAAsB,eAAe,IAAI,OAAO,CAAC,MAAM,CAAC,CAQvD;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CASpF;AAED,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,OAAO,CAAC;AAExC,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,wBAAsB,eAAe,CAAC,gBAAgB,EAAE,mBAAmB,EAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CA0BjG"}
@@ -27,4 +27,33 @@ export async function promptAddAnotherAccount(currentCount) {
27
27
  rl.close();
28
28
  }
29
29
  }
30
+ /**
31
+ * Prompts user to choose login mode when accounts already exist.
32
+ * Returns "add" to append new accounts, "fresh" to clear and start over.
33
+ */
34
+ export async function promptLoginMode(existingAccounts) {
35
+ const rl = createInterface({ input, output });
36
+ try {
37
+ console.log(`\n${existingAccounts.length} account(s) saved:`);
38
+ for (const acc of existingAccounts) {
39
+ const label = acc.email || `Account ${acc.index + 1}`;
40
+ console.log(` ${acc.index + 1}. ${label}`);
41
+ }
42
+ console.log("");
43
+ while (true) {
44
+ const answer = await rl.question("(a)dd new account(s) or (f)resh start? [a/f]: ");
45
+ const normalized = answer.trim().toLowerCase();
46
+ if (normalized === "a" || normalized === "add") {
47
+ return "add";
48
+ }
49
+ if (normalized === "f" || normalized === "fresh") {
50
+ return "fresh";
51
+ }
52
+ console.log("Please enter 'a' to add accounts or 'f' to start fresh.");
53
+ }
54
+ }
55
+ finally {
56
+ rl.close();
57
+ }
58
+ }
30
59
  //# sourceMappingURL=cli.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/plugin/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC;QAC3F,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,YAAoB;IAChE,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,YAAY,iBAAiB,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,CAAC;IACpD,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../../src/plugin/cli.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,IAAI,MAAM,EAAE,MAAM,cAAc,CAAC;AAEhE;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,wDAAwD,CAAC,CAAC;QAC3F,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,YAAoB;IAChE,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,yBAAyB,YAAY,iBAAiB,CAAC,CAAC;QACzF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,OAAO,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,CAAC;IACpD,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC;AASD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,gBAAuC;IAC3E,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,OAAO,CAAC,GAAG,CAAC,KAAK,gBAAgB,CAAC,MAAM,oBAAoB,CAAC,CAAC;QAC9D,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE,CAAC;YACnC,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,IAAI,WAAW,GAAG,CAAC,KAAK,GAAG,CAAC,EAAE,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,GAAG,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,OAAO,IAAI,EAAE,CAAC;YACZ,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC,CAAC;YACnF,MAAM,UAAU,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE/C,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK,EAAE,CAAC;gBAC/C,OAAO,KAAK,CAAC;YACf,CAAC;YACD,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,OAAO,EAAE,CAAC;gBACjD,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;QACzE,CAAC;IACH,CAAC;YAAS,CAAC;QACT,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC;AACH,CAAC"}
@@ -21,4 +21,5 @@ export interface AccountStorage {
21
21
  export declare function getStoragePath(): string;
22
22
  export declare function loadAccounts(): Promise<AccountStorage | null>;
23
23
  export declare function saveAccounts(storage: AccountStorage): Promise<void>;
24
+ export declare function clearAccounts(): Promise<void>;
24
25
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/plugin/storage.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAYD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA0BnE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzE"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../../src/plugin/storage.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,CAAC,CAAC;IACX,QAAQ,EAAE,eAAe,EAAE,CAAC;IAC5B;;;;OAIG;IACH,WAAW,EAAE,MAAM,CAAC;CACrB;AAYD,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CA0BnE;AAED,wBAAsB,YAAY,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAMzE;AAED,wBAAsB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAUnD"}
@@ -44,4 +44,16 @@ export async function saveAccounts(storage) {
44
44
  const content = JSON.stringify(storage, null, 2);
45
45
  await fs.writeFile(path, content, "utf-8");
46
46
  }
47
+ export async function clearAccounts() {
48
+ try {
49
+ const path = getStoragePath();
50
+ await fs.unlink(path);
51
+ }
52
+ catch (error) {
53
+ const code = error.code;
54
+ if (code !== "ENOENT") {
55
+ console.error("[opencode-antigravity-auth] Failed to clear account storage:", error);
56
+ }
57
+ }
58
+ }
47
59
  //# sourceMappingURL=storage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/plugin/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAwBlC,SAAS,YAAY;IACnB,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IAClC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,CAAC,EAAE,UAAU,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,CAAC;IAC5E,OAAO,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,OAAO,IAAI,CAAC,YAAY,EAAE,EAAE,2BAA2B,CAAC,CAAC;AAC3D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY;IAChC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;QAE9D,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACrF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO;YACL,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAwB,EAAE;gBAC3D,OAAO,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAQ,CAAqB,CAAC,YAAY,KAAK,QAAQ,CAAC;YACjG,CAAC,CAAC;YACF,WAAW,EAAE,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;SACpH,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,GAAI,KAA+B,CAAC,IAAI,CAAC;QACnD,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,CAAC,KAAK,CAAC,6DAA6D,EAAE,KAAK,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,OAAuB;IACxD,MAAM,IAAI,GAAG,cAAc,EAAE,CAAC;IAC9B,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AAC7C,CAAC"}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../../src/plugin/storage.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { PluginInput } from "@opencode-ai/plugin";
1
2
  import type { AntigravityTokenExchangeResult } from "../antigravity/oauth";
2
3
  export interface OAuthAuthDetails {
3
4
  type: "oauth";
@@ -25,6 +26,10 @@ export interface LoaderResult {
25
26
  apiKey: string;
26
27
  fetch(input: RequestInfo, init?: RequestInit): Promise<Response>;
27
28
  }
29
+ export type PluginClient = PluginInput["client"];
30
+ export interface PluginContext {
31
+ client: PluginClient;
32
+ }
28
33
  export type AuthPrompt = {
29
34
  type: "text";
30
35
  key: string;
@@ -60,23 +65,10 @@ export interface AuthMethod {
60
65
  prompts?: AuthPrompt[];
61
66
  authorize?: (inputs?: Record<string, string>) => Promise<OAuthAuthorizationResult>;
62
67
  }
63
- export interface PluginClient {
64
- auth: {
65
- set(input: {
66
- path: {
67
- id: string;
68
- };
69
- body: OAuthAuthDetails;
70
- }): Promise<void>;
71
- };
72
- }
73
- export interface PluginContext {
74
- client: PluginClient;
75
- }
76
68
  export interface PluginResult {
77
69
  auth: {
78
70
  provider: string;
79
- loader: (getAuth: GetAuth, provider: Provider) => Promise<LoaderResult | null>;
71
+ loader: (getAuth: GetAuth, provider: Provider) => Promise<LoaderResult | Record<string, unknown>>;
80
72
  methods: AuthMethod[];
81
73
  };
82
74
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAGV,aAAa,EACb,YAAY,EAGb,MAAM,gBAAgB,CAAC;AAiLxB;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,YAAY,MAAM,MACxD,YAAY,aAAa,KACxB,OAAO,CAAC,YAAY,CAofrB,CAAC;AAEH,eAAO,MAAM,yBAAyB,eAvfxB,aAAa,KACxB,OAAO,CAAC,YAAY,CAsfkE,CAAC;AAC1F,eAAO,MAAM,iBAAiB,eAxfhB,aAAa,KACxB,OAAO,CAAC,YAAY,CAufmC,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAGV,aAAa,EACb,YAAY,EAGb,MAAM,gBAAgB,CAAC;AAoNxB;;GAEG;AACH,eAAO,MAAM,uBAAuB,GAAI,YAAY,MAAM,MACxD,YAAY,aAAa,KACxB,OAAO,CAAC,YAAY,CAwrBrB,CAAC;AAEH,eAAO,MAAM,yBAAyB,eA3rBxB,aAAa,KACxB,OAAO,CAAC,YAAY,CA0rBkE,CAAC;AAC1F,eAAO,MAAM,iBAAiB,eA5rBhB,aAAa,KACxB,OAAO,CAAC,YAAY,CA2rBmC,CAAC"}
@@ -2,13 +2,13 @@ import { exec } from "node:child_process";
2
2
  import { ANTIGRAVITY_ENDPOINT_FALLBACKS, ANTIGRAVITY_PROVIDER_ID } from "./constants";
3
3
  import { authorizeAntigravity, exchangeAntigravity } from "./antigravity/oauth";
4
4
  import { accessTokenExpired, isOAuthAuth, parseRefreshParts } from "./plugin/auth";
5
- import { promptAddAnotherAccount, promptProjectId } from "./plugin/cli";
5
+ import { promptAddAnotherAccount, promptLoginMode, promptProjectId } from "./plugin/cli";
6
6
  import { ensureProjectContext } from "./plugin/project";
7
7
  import { startAntigravityDebugRequest } from "./plugin/debug";
8
8
  import { isGenerativeLanguageRequest, prepareAntigravityRequest, transformAntigravityResponse, } from "./plugin/request";
9
9
  import { AntigravityTokenRefreshError, refreshAccessToken } from "./plugin/token";
10
10
  import { startOAuthListener } from "./plugin/server";
11
- import { loadAccounts, saveAccounts } from "./plugin/storage";
11
+ import { clearAccounts, loadAccounts, saveAccounts } from "./plugin/storage";
12
12
  import { AccountManager } from "./plugin/accounts";
13
13
  const MAX_OAUTH_ACCOUNTS = 10;
14
14
  async function openBrowser(url) {
@@ -84,12 +84,14 @@ function clampInt(value, min, max) {
84
84
  }
85
85
  return Math.min(max, Math.max(min, Math.floor(value)));
86
86
  }
87
- async function persistAccountPool(results) {
87
+ async function persistAccountPool(results, replaceAll = false) {
88
88
  if (results.length === 0) {
89
89
  return;
90
90
  }
91
91
  const now = Date.now();
92
- const stored = await loadAccounts();
92
+ // If replaceAll is true (fresh login), start with empty accounts
93
+ // Otherwise, load existing accounts and merge
94
+ const stored = replaceAll ? null : await loadAccounts();
93
95
  const accounts = stored?.accounts ? [...stored.accounts] : [];
94
96
  const indexByRefreshToken = new Map();
95
97
  for (let i = 0; i < accounts.length; i++) {
@@ -133,7 +135,10 @@ async function persistAccountPool(results) {
133
135
  if (accounts.length === 0) {
134
136
  return;
135
137
  }
136
- const activeIndex = typeof stored?.activeIndex === "number" && Number.isFinite(stored.activeIndex) ? stored.activeIndex : 0;
138
+ // For fresh logins, always start at index 0
139
+ const activeIndex = replaceAll
140
+ ? 0
141
+ : (typeof stored?.activeIndex === "number" && Number.isFinite(stored.activeIndex) ? stored.activeIndex : 0);
137
142
  await saveAccounts({
138
143
  version: 1,
139
144
  accounts,
@@ -157,6 +162,30 @@ function retryAfterMsFromResponse(response) {
157
162
  }
158
163
  return 60_000;
159
164
  }
165
+ /**
166
+ * Sleep for a given number of milliseconds, respecting an abort signal.
167
+ */
168
+ function sleep(ms, signal) {
169
+ return new Promise((resolve, reject) => {
170
+ if (signal?.aborted) {
171
+ reject(signal.reason instanceof Error ? signal.reason : new Error("Aborted"));
172
+ return;
173
+ }
174
+ const timeout = setTimeout(() => {
175
+ cleanup();
176
+ resolve();
177
+ }, ms);
178
+ const onAbort = () => {
179
+ cleanup();
180
+ reject(signal?.reason instanceof Error ? signal.reason : new Error("Aborted"));
181
+ };
182
+ const cleanup = () => {
183
+ clearTimeout(timeout);
184
+ signal?.removeEventListener("abort", onAbort);
185
+ };
186
+ signal?.addEventListener("abort", onAbort, { once: true });
187
+ });
188
+ }
160
189
  /**
161
190
  * Creates an Antigravity OAuth plugin for a specific provider ID.
162
191
  */
@@ -165,8 +194,33 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
165
194
  provider: providerId,
166
195
  loader: async (getAuth, provider) => {
167
196
  const auth = await getAuth();
197
+ // If OpenCode has no valid OAuth auth, clear any stale account storage
168
198
  if (!isOAuthAuth(auth)) {
169
- return null;
199
+ try {
200
+ await clearAccounts();
201
+ }
202
+ catch {
203
+ // ignore
204
+ }
205
+ return {};
206
+ }
207
+ // Validate that stored accounts are in sync with OpenCode's auth
208
+ // If OpenCode's refresh token doesn't match any stored account, clear stale storage
209
+ const authParts = parseRefreshParts(auth.refresh);
210
+ const storedAccounts = await loadAccounts();
211
+ if (storedAccounts && storedAccounts.accounts.length > 0 && authParts.refreshToken) {
212
+ const hasMatchingAccount = storedAccounts.accounts.some((acc) => acc.refreshToken === authParts.refreshToken);
213
+ if (!hasMatchingAccount) {
214
+ // OpenCode's auth doesn't match any stored account - storage is stale
215
+ // Clear it and let the user re-authenticate
216
+ console.warn("[opencode-antigravity-auth] Stored accounts don't match OpenCode's auth. Clearing stale storage.");
217
+ try {
218
+ await clearAccounts();
219
+ }
220
+ catch {
221
+ // ignore
222
+ }
223
+ }
170
224
  }
171
225
  const accountManager = await AccountManager.loadFromDisk(auth);
172
226
  if (accountManager.getAccountCount() > 0) {
@@ -197,19 +251,60 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
197
251
  if (!isOAuthAuth(latestAuth)) {
198
252
  return fetch(input, init);
199
253
  }
200
- const accountCount = accountManager.getAccountCount();
201
- if (accountCount === 0) {
254
+ if (accountManager.getAccountCount() === 0) {
202
255
  throw new Error("No Antigravity accounts configured. Run `opencode auth login`.");
203
256
  }
204
257
  let lastFailure = null;
205
258
  let lastError = null;
206
- accountLoop: for (let attempt = 0; attempt < accountCount; attempt++) {
259
+ const abortSignal = init?.signal ?? undefined;
260
+ // Track which account was used in this request for detecting switches
261
+ // This is scoped to the fetch call so it resets per-request
262
+ let previousAccountIndex = null;
263
+ // Helper to check if request was aborted
264
+ const checkAborted = () => {
265
+ if (abortSignal?.aborted) {
266
+ throw abortSignal.reason instanceof Error ? abortSignal.reason : new Error("Aborted");
267
+ }
268
+ };
269
+ // Helper to show toast without blocking on abort
270
+ const showToast = async (message, variant) => {
271
+ if (abortSignal?.aborted)
272
+ return;
273
+ try {
274
+ await client.tui.showToast({
275
+ body: { message, variant },
276
+ });
277
+ }
278
+ catch {
279
+ // TUI may not be available
280
+ }
281
+ };
282
+ // Use while(true) loop to handle rate limits with backoff
283
+ // This ensures we wait and retry when all accounts are rate-limited
284
+ while (true) {
285
+ // Check for abort at the start of each iteration
286
+ checkAborted();
287
+ const accountCount = accountManager.getAccountCount();
288
+ if (accountCount === 0) {
289
+ throw new Error("No Antigravity accounts available. Run `opencode auth login`.");
290
+ }
207
291
  const account = accountManager.pickNext();
208
292
  if (!account) {
209
- const waitMs = accountManager.getMinWaitTimeMs();
293
+ // All accounts are rate-limited - wait and retry
294
+ const waitMs = accountManager.getMinWaitTimeMs() || 60_000;
210
295
  const waitSec = Math.max(1, Math.ceil(waitMs / 1000));
211
- throw new Error(`All ${accountManager.getAccountCount()} account(s) are rate-limited. Retry in ${waitSec}s or add more accounts via 'opencode auth login'.`);
296
+ await showToast(`All ${accountCount} account(s) rate-limited. Waiting ${waitSec}s...`, "warning");
297
+ // Wait for the cooldown to expire
298
+ await sleep(waitMs, abortSignal);
299
+ continue;
212
300
  }
301
+ // Show toast when switching to a different account
302
+ const isAccountSwitch = previousAccountIndex !== null && previousAccountIndex !== account.index;
303
+ if (isAccountSwitch || previousAccountIndex === null) {
304
+ const accountLabel = account.email || `Account ${account.index + 1}`;
305
+ await showToast(`Using ${accountLabel}${accountCount > 1 ? ` (${account.index + 1}/${accountCount})` : ""}`, "info");
306
+ }
307
+ previousAccountIndex = account.index;
213
308
  try {
214
309
  await accountManager.saveToDisk();
215
310
  }
@@ -249,7 +344,7 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
249
344
  try {
250
345
  await client.auth.set({
251
346
  path: { id: providerId },
252
- body: { type: "oauth", refresh: "" },
347
+ body: { type: "oauth", refresh: "", access: "", expires: 0 },
253
348
  });
254
349
  }
255
350
  catch (storeError) {
@@ -287,6 +382,8 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
287
382
  console.error("[opencode-antigravity-auth] Failed to persist project context:", error);
288
383
  }
289
384
  }
385
+ // Try endpoint fallbacks
386
+ let shouldSwitchAccount = false;
290
387
  for (let i = 0; i < ANTIGRAVITY_ENDPOINT_FALLBACKS.length; i++) {
291
388
  const currentEndpoint = ANTIGRAVITY_ENDPOINT_FALLBACKS[i];
292
389
  try {
@@ -303,7 +400,8 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
303
400
  projectId: projectContext.effectiveProjectId,
304
401
  });
305
402
  const response = await fetch(prepared.request, prepared.init);
306
- if (response.status === 429 && accountManager.getAccountCount() > 1) {
403
+ // Handle 429 rate limit
404
+ if (response.status === 429) {
307
405
  const retryAfterMs = retryAfterMsFromResponse(response);
308
406
  accountManager.markRateLimited(account, retryAfterMs);
309
407
  try {
@@ -312,25 +410,51 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
312
410
  catch (error) {
313
411
  console.error("[opencode-antigravity-auth] Failed to persist rate-limit state:", error);
314
412
  }
315
- lastFailure = {
316
- response,
317
- streaming: prepared.streaming,
318
- debugContext,
319
- requestedModel: prepared.requestedModel,
320
- projectId: prepared.projectId,
321
- endpoint: prepared.endpoint,
322
- effectiveModel: prepared.effectiveModel,
323
- toolDebugMissing: prepared.toolDebugMissing,
324
- toolDebugSummary: prepared.toolDebugSummary,
325
- toolDebugPayload: prepared.toolDebugPayload,
326
- };
327
- continue accountLoop;
413
+ const accountLabel = account.email || `Account ${account.index + 1}`;
414
+ if (accountManager.getAccountCount() > 1) {
415
+ // Multiple accounts - switch to next
416
+ await showToast(`Rate limited on ${accountLabel}. Switching...`, "warning");
417
+ lastFailure = {
418
+ response,
419
+ streaming: prepared.streaming,
420
+ debugContext,
421
+ requestedModel: prepared.requestedModel,
422
+ projectId: prepared.projectId,
423
+ endpoint: prepared.endpoint,
424
+ effectiveModel: prepared.effectiveModel,
425
+ toolDebugMissing: prepared.toolDebugMissing,
426
+ toolDebugSummary: prepared.toolDebugSummary,
427
+ toolDebugPayload: prepared.toolDebugPayload,
428
+ };
429
+ shouldSwitchAccount = true;
430
+ break;
431
+ }
432
+ else {
433
+ // Single account - wait and retry
434
+ const waitSec = Math.max(1, Math.ceil(retryAfterMs / 1000));
435
+ await showToast(`Rate limited. Waiting ${waitSec}s...`, "warning");
436
+ lastFailure = {
437
+ response,
438
+ streaming: prepared.streaming,
439
+ debugContext,
440
+ requestedModel: prepared.requestedModel,
441
+ projectId: prepared.projectId,
442
+ endpoint: prepared.endpoint,
443
+ effectiveModel: prepared.effectiveModel,
444
+ toolDebugMissing: prepared.toolDebugMissing,
445
+ toolDebugSummary: prepared.toolDebugSummary,
446
+ toolDebugPayload: prepared.toolDebugPayload,
447
+ };
448
+ // Wait and let the outer loop retry
449
+ await sleep(retryAfterMs, abortSignal);
450
+ shouldSwitchAccount = true;
451
+ break;
452
+ }
328
453
  }
329
- const shouldRetry = (response.status === 403 ||
454
+ const shouldRetryEndpoint = (response.status === 403 ||
330
455
  response.status === 404 ||
331
- (response.status === 429 && accountManager.getAccountCount() <= 1) ||
332
456
  response.status >= 500);
333
- if (shouldRetry && i < ANTIGRAVITY_ENDPOINT_FALLBACKS.length - 1) {
457
+ if (shouldRetryEndpoint && i < ANTIGRAVITY_ENDPOINT_FALLBACKS.length - 1) {
334
458
  lastFailure = {
335
459
  response,
336
460
  streaming: prepared.streaming,
@@ -345,6 +469,7 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
345
469
  };
346
470
  continue;
347
471
  }
472
+ // Success or non-retryable error - return the response
348
473
  return transformAntigravityResponse(response, prepared.streaming, debugContext, prepared.requestedModel, prepared.projectId, prepared.endpoint, prepared.effectiveModel, prepared.toolDebugMissing, prepared.toolDebugSummary, prepared.toolDebugPayload);
349
474
  }
350
475
  catch (error) {
@@ -352,15 +477,21 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
352
477
  lastError = error instanceof Error ? error : new Error(String(error));
353
478
  continue;
354
479
  }
480
+ // All endpoints failed for this account - try next account
355
481
  lastError = error instanceof Error ? error : new Error(String(error));
356
- continue accountLoop;
482
+ shouldSwitchAccount = true;
483
+ break;
357
484
  }
358
485
  }
486
+ if (shouldSwitchAccount) {
487
+ continue;
488
+ }
489
+ // If we get here without returning, something went wrong
490
+ if (lastFailure) {
491
+ return transformAntigravityResponse(lastFailure.response, lastFailure.streaming, lastFailure.debugContext, lastFailure.requestedModel, lastFailure.projectId, lastFailure.endpoint, lastFailure.effectiveModel, lastFailure.toolDebugMissing, lastFailure.toolDebugSummary, lastFailure.toolDebugPayload);
492
+ }
493
+ throw lastError || new Error("All Antigravity accounts failed");
359
494
  }
360
- if (lastFailure) {
361
- return transformAntigravityResponse(lastFailure.response, lastFailure.streaming, lastFailure.debugContext, lastFailure.requestedModel, lastFailure.projectId, lastFailure.endpoint, lastFailure.effectiveModel, lastFailure.toolDebugMissing, lastFailure.toolDebugSummary, lastFailure.toolDebugPayload);
362
- }
363
- throw lastError || new Error("All Antigravity accounts failed");
364
495
  },
365
496
  };
366
497
  },
@@ -376,6 +507,23 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
376
507
  // CLI flow (`opencode auth login`) passes an inputs object.
377
508
  if (inputs) {
378
509
  const accounts = [];
510
+ // Check for existing accounts and prompt user for login mode
511
+ let startFresh = true;
512
+ const existingStorage = await loadAccounts();
513
+ if (existingStorage && existingStorage.accounts.length > 0) {
514
+ const existingAccounts = existingStorage.accounts.map((acc, idx) => ({
515
+ email: acc.email,
516
+ index: idx,
517
+ }));
518
+ const loginMode = await promptLoginMode(existingAccounts);
519
+ startFresh = loginMode === "fresh";
520
+ if (startFresh) {
521
+ console.log("\nStarting fresh - existing accounts will be replaced.\n");
522
+ }
523
+ else {
524
+ console.log("\nAdding to existing accounts.\n");
525
+ }
526
+ }
379
527
  while (accounts.length < MAX_OAUTH_ACCOUNTS) {
380
528
  console.log(`\n=== Antigravity OAuth (Account ${accounts.length + 1}) ===`);
381
529
  const projectId = await promptProjectId();
@@ -442,8 +590,22 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
442
590
  break;
443
591
  }
444
592
  accounts.push(result);
593
+ // Show toast for successful account authentication
594
+ try {
595
+ await client.tui.showToast({
596
+ body: {
597
+ message: `Account ${accounts.length} authenticated${result.email ? ` (${result.email})` : ""}`,
598
+ variant: "success",
599
+ },
600
+ });
601
+ }
602
+ catch {
603
+ // TUI may not be available in CLI mode
604
+ }
445
605
  try {
446
- await persistAccountPool([result]);
606
+ // Use startFresh only on first account, subsequent accounts always append
607
+ const isFirstAccount = accounts.length === 1;
608
+ await persistAccountPool([result], isFirstAccount && startFresh);
447
609
  }
448
610
  catch {
449
611
  // ignore
@@ -472,8 +634,13 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
472
634
  callback: async () => primary,
473
635
  };
474
636
  }
475
- // TUI flow (`/connect`) does not support per-account prompts yet.
637
+ // TUI flow (`/connect`) does not support per-account prompts.
638
+ // Default to adding new accounts (non-destructive).
639
+ // Users can run `opencode auth logout` first if they want a fresh start.
476
640
  const projectId = "";
641
+ // Check existing accounts count for toast message
642
+ const existingStorage = await loadAccounts();
643
+ const existingCount = existingStorage?.accounts.length ?? 0;
477
644
  let listener = null;
478
645
  if (!isHeadless) {
479
646
  try {
@@ -503,11 +670,28 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
503
670
  const result = await exchangeAntigravity(params.code, params.state);
504
671
  if (result.type === "success") {
505
672
  try {
506
- await persistAccountPool([result]);
673
+ // TUI flow adds to existing accounts (non-destructive)
674
+ await persistAccountPool([result], false);
507
675
  }
508
676
  catch {
509
677
  // ignore
510
678
  }
679
+ // Show appropriate toast message
680
+ const newTotal = existingCount + 1;
681
+ const toastMessage = existingCount > 0
682
+ ? `Added account${result.email ? ` (${result.email})` : ""} - ${newTotal} total`
683
+ : `Authenticated${result.email ? ` (${result.email})` : ""}`;
684
+ try {
685
+ await client.tui.showToast({
686
+ body: {
687
+ message: toastMessage,
688
+ variant: "success",
689
+ },
690
+ });
691
+ }
692
+ catch {
693
+ // TUI may not be available
694
+ }
511
695
  }
512
696
  return result;
513
697
  }
@@ -540,11 +724,28 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
540
724
  const result = await exchangeAntigravity(params.code, params.state);
541
725
  if (result.type === "success") {
542
726
  try {
543
- await persistAccountPool([result]);
727
+ // TUI flow adds to existing accounts (non-destructive)
728
+ await persistAccountPool([result], false);
544
729
  }
545
730
  catch {
546
731
  // ignore
547
732
  }
733
+ // Show appropriate toast message
734
+ const newTotal = existingCount + 1;
735
+ const toastMessage = existingCount > 0
736
+ ? `Added account${result.email ? ` (${result.email})` : ""} - ${newTotal} total`
737
+ : `Authenticated${result.email ? ` (${result.email})` : ""}`;
738
+ try {
739
+ await client.tui.showToast({
740
+ body: {
741
+ message: toastMessage,
742
+ variant: "success",
743
+ },
744
+ });
745
+ }
746
+ catch {
747
+ // TUI may not be available
748
+ }
548
749
  }
549
750
  return result;
550
751
  },
@@ -552,7 +753,6 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
552
753
  },
553
754
  },
554
755
  {
555
- provider: providerId,
556
756
  label: "Manually enter API Key",
557
757
  type: "api",
558
758
  },
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "opencode-antigravity-auth",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Google Antigravity IDE OAuth auth plugin for Opencode - access Gemini 3 Pro and Claude 4.5 using Google credentials",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",