opencode-antigravity-auth 1.1.0 → 1.1.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.
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.1"]
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.1"],
40
63
  "provider": {
41
64
  "google": {
42
65
  "models": {
@@ -88,19 +111,63 @@ Add Antigravity models under the `provider.google.models` section of your config
88
111
  }
89
112
  ```
90
113
 
91
- 4) **Use a model**
114
+ > **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.
115
+
116
+ ### Step 4: Use a model
92
117
 
93
118
  ```bash
94
119
  opencode run "Hello world" --model=google/gemini-3-pro-high
95
120
  ```
96
121
 
122
+ Or start the interactive TUI and select a model from the model picker:
123
+
124
+ ```bash
125
+ opencode
126
+ ```
127
+
97
128
  ## Multi-account load balancing
98
129
 
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.
130
+ The plugin supports multiple Google accounts to maximize rate limits and provide automatic failover.
131
+
132
+ ### How it works
133
+
134
+ - **Round-robin selection:** Each request uses the next account in the pool
135
+ - **Automatic failover:** On HTTP `429` (rate limit), the plugin automatically switches to the next available account
136
+ - **Smart cooldown:** Rate-limited accounts are temporarily cooled down and automatically become available again after the cooldown expires
137
+ - **Single-account retry:** If you only have one account, the plugin waits for the rate limit to reset and retries automatically
138
+ - **Toast notifications:** The TUI shows which account is being used and when switching occurs
139
+
140
+ ### Adding accounts
141
+
142
+ **CLI flow (`opencode auth login`):**
143
+
144
+ When you run `opencode auth login` and already have accounts saved, you'll be prompted:
145
+
146
+ ```
147
+ 2 account(s) saved:
148
+ 1. user1@gmail.com
149
+ 2. user2@gmail.com
150
+
151
+ (a)dd new account(s) or (f)resh start? [a/f]:
152
+ ```
153
+
154
+ - Press `a` to add more accounts to your existing pool
155
+ - Press `f` to clear all existing accounts and start fresh
156
+
157
+ **TUI flow (`/connect`):**
158
+
159
+ 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`.
160
+
161
+ ### Account storage
162
+
163
+ - Account pool is stored in `~/.config/opencode/antigravity-accounts.json` (or `%APPDATA%\opencode\antigravity-accounts.json` on Windows)
164
+ - This file contains OAuth refresh tokens; **treat it like a password** and don't share or commit it
165
+ - The plugin automatically syncs with OpenCode's auth state — if you log out via OpenCode, stale account storage is cleared automatically
166
+
167
+ ### Automatic account recovery
168
+
169
+ - If Google revokes a refresh token (`invalid_grant`), that account is automatically removed from the pool
170
+ - Rerun `opencode auth login` to re-add the account
104
171
 
105
172
  ## Debugging
106
173
 
@@ -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,CAisBrB,CAAC;AAEH,eAAO,MAAM,yBAAyB,eApsBxB,aAAa,KACxB,OAAO,CAAC,YAAY,CAmsBkE,CAAC;AAC1F,eAAO,MAAM,iBAAiB,eArsBhB,aAAa,KACxB,OAAO,CAAC,YAAY,CAosBmC,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
  */
@@ -164,9 +193,36 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
164
193
  auth: {
165
194
  provider: providerId,
166
195
  loader: async (getAuth, provider) => {
196
+ // Track which account was used in the previous request for detecting switches
197
+ let previousAccountIndex = null;
167
198
  const auth = await getAuth();
199
+ // If OpenCode has no valid OAuth auth, clear any stale account storage
168
200
  if (!isOAuthAuth(auth)) {
169
- return null;
201
+ try {
202
+ await clearAccounts();
203
+ }
204
+ catch {
205
+ // ignore
206
+ }
207
+ return {};
208
+ }
209
+ // Validate that stored accounts are in sync with OpenCode's auth
210
+ // If OpenCode's refresh token doesn't match any stored account, clear stale storage
211
+ const authParts = parseRefreshParts(auth.refresh);
212
+ const storedAccounts = await loadAccounts();
213
+ if (storedAccounts && storedAccounts.accounts.length > 0 && authParts.refreshToken) {
214
+ const hasMatchingAccount = storedAccounts.accounts.some((acc) => acc.refreshToken === authParts.refreshToken);
215
+ if (!hasMatchingAccount) {
216
+ // OpenCode's auth doesn't match any stored account - storage is stale
217
+ // Clear it and let the user re-authenticate
218
+ console.warn("[opencode-antigravity-auth] Stored accounts don't match OpenCode's auth. Clearing stale storage.");
219
+ try {
220
+ await clearAccounts();
221
+ }
222
+ catch {
223
+ // ignore
224
+ }
225
+ }
170
226
  }
171
227
  const accountManager = await AccountManager.loadFromDisk(auth);
172
228
  if (accountManager.getAccountCount() > 0) {
@@ -197,19 +253,56 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
197
253
  if (!isOAuthAuth(latestAuth)) {
198
254
  return fetch(input, init);
199
255
  }
200
- const accountCount = accountManager.getAccountCount();
201
- if (accountCount === 0) {
256
+ if (accountManager.getAccountCount() === 0) {
202
257
  throw new Error("No Antigravity accounts configured. Run `opencode auth login`.");
203
258
  }
204
259
  let lastFailure = null;
205
260
  let lastError = null;
206
- accountLoop: for (let attempt = 0; attempt < accountCount; attempt++) {
261
+ const abortSignal = init?.signal ?? undefined;
262
+ // Use while(true) loop to handle rate limits with backoff
263
+ // This ensures we wait and retry when all accounts are rate-limited
264
+ while (true) {
265
+ const accountCount = accountManager.getAccountCount();
266
+ if (accountCount === 0) {
267
+ throw new Error("No Antigravity accounts available. Run `opencode auth login`.");
268
+ }
207
269
  const account = accountManager.pickNext();
208
270
  if (!account) {
209
- const waitMs = accountManager.getMinWaitTimeMs();
271
+ // All accounts are rate-limited - wait and retry
272
+ const waitMs = accountManager.getMinWaitTimeMs() || 60_000;
210
273
  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'.`);
274
+ try {
275
+ await client.tui.showToast({
276
+ body: {
277
+ message: `All ${accountCount} account(s) rate-limited. Waiting ${waitSec}s...`,
278
+ variant: "warning",
279
+ },
280
+ });
281
+ }
282
+ catch {
283
+ // TUI may not be available
284
+ }
285
+ // Wait for the cooldown to expire
286
+ await sleep(waitMs, abortSignal);
287
+ continue;
288
+ }
289
+ // Show toast when switching to a different account
290
+ const isAccountSwitch = previousAccountIndex !== null && previousAccountIndex !== account.index;
291
+ if (isAccountSwitch || previousAccountIndex === null) {
292
+ const accountLabel = account.email || `Account ${account.index + 1}`;
293
+ try {
294
+ await client.tui.showToast({
295
+ body: {
296
+ message: `Using ${accountLabel}${accountCount > 1 ? ` (${account.index + 1}/${accountCount})` : ""}`,
297
+ variant: "info",
298
+ },
299
+ });
300
+ }
301
+ catch {
302
+ // TUI may not be available
303
+ }
212
304
  }
305
+ previousAccountIndex = account.index;
213
306
  try {
214
307
  await accountManager.saveToDisk();
215
308
  }
@@ -249,7 +342,7 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
249
342
  try {
250
343
  await client.auth.set({
251
344
  path: { id: providerId },
252
- body: { type: "oauth", refresh: "" },
345
+ body: { type: "oauth", refresh: "", access: "", expires: 0 },
253
346
  });
254
347
  }
255
348
  catch (storeError) {
@@ -287,6 +380,8 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
287
380
  console.error("[opencode-antigravity-auth] Failed to persist project context:", error);
288
381
  }
289
382
  }
383
+ // Try endpoint fallbacks
384
+ let shouldSwitchAccount = false;
290
385
  for (let i = 0; i < ANTIGRAVITY_ENDPOINT_FALLBACKS.length; i++) {
291
386
  const currentEndpoint = ANTIGRAVITY_ENDPOINT_FALLBACKS[i];
292
387
  try {
@@ -303,7 +398,8 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
303
398
  projectId: projectContext.effectiveProjectId,
304
399
  });
305
400
  const response = await fetch(prepared.request, prepared.init);
306
- if (response.status === 429 && accountManager.getAccountCount() > 1) {
401
+ // Handle 429 rate limit
402
+ if (response.status === 429) {
307
403
  const retryAfterMs = retryAfterMsFromResponse(response);
308
404
  accountManager.markRateLimited(account, retryAfterMs);
309
405
  try {
@@ -312,25 +408,71 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
312
408
  catch (error) {
313
409
  console.error("[opencode-antigravity-auth] Failed to persist rate-limit state:", error);
314
410
  }
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;
411
+ const accountLabel = account.email || `Account ${account.index + 1}`;
412
+ if (accountManager.getAccountCount() > 1) {
413
+ // Multiple accounts - switch to next
414
+ try {
415
+ await client.tui.showToast({
416
+ body: {
417
+ message: `Rate limited on ${accountLabel}. Switching...`,
418
+ variant: "warning",
419
+ },
420
+ });
421
+ }
422
+ catch {
423
+ // TUI may not be available
424
+ }
425
+ lastFailure = {
426
+ response,
427
+ streaming: prepared.streaming,
428
+ debugContext,
429
+ requestedModel: prepared.requestedModel,
430
+ projectId: prepared.projectId,
431
+ endpoint: prepared.endpoint,
432
+ effectiveModel: prepared.effectiveModel,
433
+ toolDebugMissing: prepared.toolDebugMissing,
434
+ toolDebugSummary: prepared.toolDebugSummary,
435
+ toolDebugPayload: prepared.toolDebugPayload,
436
+ };
437
+ shouldSwitchAccount = true;
438
+ break;
439
+ }
440
+ else {
441
+ // Single account - wait and retry
442
+ const waitSec = Math.max(1, Math.ceil(retryAfterMs / 1000));
443
+ try {
444
+ await client.tui.showToast({
445
+ body: {
446
+ message: `Rate limited. Waiting ${waitSec}s...`,
447
+ variant: "warning",
448
+ },
449
+ });
450
+ }
451
+ catch {
452
+ // TUI may not be available
453
+ }
454
+ lastFailure = {
455
+ response,
456
+ streaming: prepared.streaming,
457
+ debugContext,
458
+ requestedModel: prepared.requestedModel,
459
+ projectId: prepared.projectId,
460
+ endpoint: prepared.endpoint,
461
+ effectiveModel: prepared.effectiveModel,
462
+ toolDebugMissing: prepared.toolDebugMissing,
463
+ toolDebugSummary: prepared.toolDebugSummary,
464
+ toolDebugPayload: prepared.toolDebugPayload,
465
+ };
466
+ // Wait and let the outer loop retry
467
+ await sleep(retryAfterMs, abortSignal);
468
+ shouldSwitchAccount = true;
469
+ break;
470
+ }
328
471
  }
329
- const shouldRetry = (response.status === 403 ||
472
+ const shouldRetryEndpoint = (response.status === 403 ||
330
473
  response.status === 404 ||
331
- (response.status === 429 && accountManager.getAccountCount() <= 1) ||
332
474
  response.status >= 500);
333
- if (shouldRetry && i < ANTIGRAVITY_ENDPOINT_FALLBACKS.length - 1) {
475
+ if (shouldRetryEndpoint && i < ANTIGRAVITY_ENDPOINT_FALLBACKS.length - 1) {
334
476
  lastFailure = {
335
477
  response,
336
478
  streaming: prepared.streaming,
@@ -345,6 +487,7 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
345
487
  };
346
488
  continue;
347
489
  }
490
+ // Success or non-retryable error - return the response
348
491
  return transformAntigravityResponse(response, prepared.streaming, debugContext, prepared.requestedModel, prepared.projectId, prepared.endpoint, prepared.effectiveModel, prepared.toolDebugMissing, prepared.toolDebugSummary, prepared.toolDebugPayload);
349
492
  }
350
493
  catch (error) {
@@ -352,15 +495,21 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
352
495
  lastError = error instanceof Error ? error : new Error(String(error));
353
496
  continue;
354
497
  }
498
+ // All endpoints failed for this account - try next account
355
499
  lastError = error instanceof Error ? error : new Error(String(error));
356
- continue accountLoop;
500
+ shouldSwitchAccount = true;
501
+ break;
357
502
  }
358
503
  }
504
+ if (shouldSwitchAccount) {
505
+ continue;
506
+ }
507
+ // If we get here without returning, something went wrong
508
+ if (lastFailure) {
509
+ return transformAntigravityResponse(lastFailure.response, lastFailure.streaming, lastFailure.debugContext, lastFailure.requestedModel, lastFailure.projectId, lastFailure.endpoint, lastFailure.effectiveModel, lastFailure.toolDebugMissing, lastFailure.toolDebugSummary, lastFailure.toolDebugPayload);
510
+ }
511
+ throw lastError || new Error("All Antigravity accounts failed");
359
512
  }
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
513
  },
365
514
  };
366
515
  },
@@ -376,6 +525,23 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
376
525
  // CLI flow (`opencode auth login`) passes an inputs object.
377
526
  if (inputs) {
378
527
  const accounts = [];
528
+ // Check for existing accounts and prompt user for login mode
529
+ let startFresh = true;
530
+ const existingStorage = await loadAccounts();
531
+ if (existingStorage && existingStorage.accounts.length > 0) {
532
+ const existingAccounts = existingStorage.accounts.map((acc, idx) => ({
533
+ email: acc.email,
534
+ index: idx,
535
+ }));
536
+ const loginMode = await promptLoginMode(existingAccounts);
537
+ startFresh = loginMode === "fresh";
538
+ if (startFresh) {
539
+ console.log("\nStarting fresh - existing accounts will be replaced.\n");
540
+ }
541
+ else {
542
+ console.log("\nAdding to existing accounts.\n");
543
+ }
544
+ }
379
545
  while (accounts.length < MAX_OAUTH_ACCOUNTS) {
380
546
  console.log(`\n=== Antigravity OAuth (Account ${accounts.length + 1}) ===`);
381
547
  const projectId = await promptProjectId();
@@ -442,8 +608,22 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
442
608
  break;
443
609
  }
444
610
  accounts.push(result);
611
+ // Show toast for successful account authentication
612
+ try {
613
+ await client.tui.showToast({
614
+ body: {
615
+ message: `Account ${accounts.length} authenticated${result.email ? ` (${result.email})` : ""}`,
616
+ variant: "success",
617
+ },
618
+ });
619
+ }
620
+ catch {
621
+ // TUI may not be available in CLI mode
622
+ }
445
623
  try {
446
- await persistAccountPool([result]);
624
+ // Use startFresh only on first account, subsequent accounts always append
625
+ const isFirstAccount = accounts.length === 1;
626
+ await persistAccountPool([result], isFirstAccount && startFresh);
447
627
  }
448
628
  catch {
449
629
  // ignore
@@ -472,8 +652,13 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
472
652
  callback: async () => primary,
473
653
  };
474
654
  }
475
- // TUI flow (`/connect`) does not support per-account prompts yet.
655
+ // TUI flow (`/connect`) does not support per-account prompts.
656
+ // Default to adding new accounts (non-destructive).
657
+ // Users can run `opencode auth logout` first if they want a fresh start.
476
658
  const projectId = "";
659
+ // Check existing accounts count for toast message
660
+ const existingStorage = await loadAccounts();
661
+ const existingCount = existingStorage?.accounts.length ?? 0;
477
662
  let listener = null;
478
663
  if (!isHeadless) {
479
664
  try {
@@ -503,11 +688,28 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
503
688
  const result = await exchangeAntigravity(params.code, params.state);
504
689
  if (result.type === "success") {
505
690
  try {
506
- await persistAccountPool([result]);
691
+ // TUI flow adds to existing accounts (non-destructive)
692
+ await persistAccountPool([result], false);
507
693
  }
508
694
  catch {
509
695
  // ignore
510
696
  }
697
+ // Show appropriate toast message
698
+ const newTotal = existingCount + 1;
699
+ const toastMessage = existingCount > 0
700
+ ? `Added account${result.email ? ` (${result.email})` : ""} - ${newTotal} total`
701
+ : `Authenticated${result.email ? ` (${result.email})` : ""}`;
702
+ try {
703
+ await client.tui.showToast({
704
+ body: {
705
+ message: toastMessage,
706
+ variant: "success",
707
+ },
708
+ });
709
+ }
710
+ catch {
711
+ // TUI may not be available
712
+ }
511
713
  }
512
714
  return result;
513
715
  }
@@ -540,11 +742,28 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
540
742
  const result = await exchangeAntigravity(params.code, params.state);
541
743
  if (result.type === "success") {
542
744
  try {
543
- await persistAccountPool([result]);
745
+ // TUI flow adds to existing accounts (non-destructive)
746
+ await persistAccountPool([result], false);
544
747
  }
545
748
  catch {
546
749
  // ignore
547
750
  }
751
+ // Show appropriate toast message
752
+ const newTotal = existingCount + 1;
753
+ const toastMessage = existingCount > 0
754
+ ? `Added account${result.email ? ` (${result.email})` : ""} - ${newTotal} total`
755
+ : `Authenticated${result.email ? ` (${result.email})` : ""}`;
756
+ try {
757
+ await client.tui.showToast({
758
+ body: {
759
+ message: toastMessage,
760
+ variant: "success",
761
+ },
762
+ });
763
+ }
764
+ catch {
765
+ // TUI may not be available
766
+ }
548
767
  }
549
768
  return result;
550
769
  },
@@ -552,7 +771,6 @@ export const createAntigravityPlugin = (providerId) => async ({ client }) => ({
552
771
  },
553
772
  },
554
773
  {
555
- provider: providerId,
556
774
  label: "Manually enter API Key",
557
775
  type: "api",
558
776
  },
@@ -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.1",
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",