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 +108 -17
- package/dist/src/plugin/accounts.d.ts.map +1 -1
- package/dist/src/plugin/accounts.js +8 -1
- package/dist/src/plugin/accounts.js.map +1 -1
- package/dist/src/plugin/cli.d.ts +10 -0
- package/dist/src/plugin/cli.d.ts.map +1 -1
- package/dist/src/plugin/cli.js +29 -0
- package/dist/src/plugin/cli.js.map +1 -1
- package/dist/src/plugin/storage.d.ts +1 -0
- package/dist/src/plugin/storage.d.ts.map +1 -1
- package/dist/src/plugin/storage.js +12 -0
- package/dist/src/plugin/storage.js.map +1 -1
- package/dist/src/plugin/types.d.ts +6 -14
- package/dist/src/plugin/types.d.ts.map +1 -1
- package/dist/src/plugin.d.ts.map +1 -1
- package/dist/src/plugin.js +239 -39
- package/dist/src/plugin.js.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
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.
|
|
30
|
+
"plugin": ["opencode-antigravity-auth@1.1.2"]
|
|
23
31
|
}
|
|
24
32
|
```
|
|
25
33
|
|
|
26
|
-
|
|
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
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
36
|
+
### Step 2: Authenticate
|
|
37
|
+
|
|
38
|
+
Run the authentication command:
|
|
39
|
+
|
|
40
|
+
```bash
|
|
41
|
+
opencode auth login
|
|
42
|
+
```
|
|
33
43
|
|
|
34
|
-
|
|
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
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
-
|
|
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;
|
|
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
|
-
|
|
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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"}
|
package/dist/src/plugin/cli.d.ts
CHANGED
|
@@ -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"}
|
package/dist/src/plugin/cli.js
CHANGED
|
@@ -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 |
|
|
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":"AAAA,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,sBAAsB,CAAC;AAE3E,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,WAAW,GAAG,gBAAgB,GAAG,mBAAmB,CAAC;AAEjE,MAAM,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;AAEjD,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE;QACL,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;CAClE;AAED,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;IACjD,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;CACzD,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAChE,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC;CACzD,CAAC;AAEN,MAAM,MAAM,wBAAwB,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,CAC3E;IACE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,OAAO,CAAC,8BAA8B,CAAC,CAAC;CACzD,GACD;IACE,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,8BAA8B,CAAC,CAAC;CACrE,CACJ,CAAC;AAEF,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,GAAG,KAAK,CAAC;IACtB,OAAO,CAAC,EAAE,UAAU,EAAE,CAAC;IACvB,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,OAAO,CAAC,wBAAwB,CAAC,CAAC;CACpF;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE;QACJ,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/plugin/types.ts"],"names":[],"mappings":"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"}
|
package/dist/src/plugin.d.ts.map
CHANGED
|
@@ -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;
|
|
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"}
|
package/dist/src/plugin.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
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
|
|
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 (
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
},
|
package/dist/src/plugin.js.map
CHANGED
|
@@ -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.
|
|
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",
|