opencode-antigravity-auth 1.6.5-beta.0 → 2.0.0
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 +36 -12
- package/dist/index.d.ts +10 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -2
- package/dist/index.js.map +1 -1
- package/dist/src/antigravity/oauth.d.ts +0 -28
- package/dist/src/antigravity/oauth.d.ts.map +1 -1
- package/dist/src/antigravity/oauth.js +25 -103
- package/dist/src/antigravity/oauth.js.map +1 -1
- package/dist/src/constants.d.ts +53 -32
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +64 -56
- package/dist/src/constants.js.map +1 -1
- package/dist/src/hooks/auto-update-checker/cache.js +1 -1
- package/dist/src/hooks/auto-update-checker/checker.d.ts +1 -1
- package/dist/src/hooks/auto-update-checker/checker.js +2 -2
- package/dist/src/hooks/auto-update-checker/index.d.ts +4 -4
- package/dist/src/hooks/auto-update-checker/index.js +6 -6
- package/dist/src/hooks/auto-update-checker/logging.js +1 -1
- package/dist/src/plugin/accounts.d.ts +9 -10
- package/dist/src/plugin/accounts.d.ts.map +1 -1
- package/dist/src/plugin/accounts.js +14 -13
- package/dist/src/plugin/accounts.js.map +1 -1
- package/dist/src/plugin/auth.d.ts +1 -1
- package/dist/src/plugin/cache/index.d.ts +1 -1
- package/dist/src/plugin/cache/index.js +1 -1
- package/dist/src/plugin/cache/signature-cache.d.ts +1 -1
- package/dist/src/plugin/cache/signature-cache.js +1 -1
- package/dist/src/plugin/cache.d.ts +7 -5
- package/dist/src/plugin/cache.d.ts.map +1 -1
- package/dist/src/plugin/cache.js +20 -3
- package/dist/src/plugin/cache.js.map +1 -1
- package/dist/src/plugin/cli.d.ts +4 -6
- package/dist/src/plugin/cli.d.ts.map +1 -1
- package/dist/src/plugin/cli.js +5 -11
- package/dist/src/plugin/cli.js.map +1 -1
- package/dist/src/plugin/config/index.d.ts +2 -2
- package/dist/src/plugin/config/index.js +2 -2
- package/dist/src/plugin/config/loader.d.ts +1 -1
- package/dist/src/plugin/config/loader.js +2 -2
- package/dist/src/plugin/config/models-v2.d.ts +36 -0
- package/dist/src/plugin/config/models-v2.d.ts.map +1 -0
- package/dist/src/plugin/config/models-v2.js +51 -0
- package/dist/src/plugin/config/models-v2.js.map +1 -0
- package/dist/src/plugin/config/models.d.ts +1 -1
- package/dist/src/plugin/config/updater.d.ts +16 -3
- package/dist/src/plugin/config/updater.d.ts.map +1 -1
- package/dist/src/plugin/config/updater.js +53 -10
- package/dist/src/plugin/config/updater.js.map +1 -1
- package/dist/src/plugin/core/streaming/index.d.ts +2 -2
- package/dist/src/plugin/core/streaming/index.js +2 -2
- package/dist/src/plugin/core/streaming/transformer.d.ts +1 -1
- package/dist/src/plugin/core/streaming/transformer.js +1 -1
- package/dist/src/plugin/debug.d.ts +1 -1
- package/dist/src/plugin/debug.js +2 -2
- package/dist/src/plugin/fingerprint.d.ts +8 -5
- package/dist/src/plugin/fingerprint.d.ts.map +1 -1
- package/dist/src/plugin/fingerprint.js +23 -41
- package/dist/src/plugin/fingerprint.js.map +1 -1
- package/dist/src/plugin/logger.d.ts +1 -1
- package/dist/src/plugin/logger.js +2 -2
- package/dist/src/plugin/project.d.ts +4 -4
- package/dist/src/plugin/project.d.ts.map +1 -1
- package/dist/src/plugin/project.js +95 -94
- package/dist/src/plugin/project.js.map +1 -1
- package/dist/src/plugin/quota.d.ts +2 -2
- package/dist/src/plugin/quota.d.ts.map +1 -1
- package/dist/src/plugin/quota.js +12 -8
- package/dist/src/plugin/quota.js.map +1 -1
- package/dist/src/plugin/recovery/index.d.ts +3 -3
- package/dist/src/plugin/recovery/index.js +3 -3
- package/dist/src/plugin/recovery/storage.d.ts +1 -1
- package/dist/src/plugin/recovery/storage.js +1 -1
- package/dist/src/plugin/recovery.d.ts +3 -3
- package/dist/src/plugin/recovery.js +3 -3
- package/dist/src/plugin/refresh-queue.d.ts +2 -2
- package/dist/src/plugin/refresh-queue.js +2 -2
- package/dist/src/plugin/request-helpers.d.ts +1 -1
- package/dist/src/plugin/request-helpers.js +5 -5
- package/dist/src/plugin/request.d.ts +9 -6
- package/dist/src/plugin/request.d.ts.map +1 -1
- package/dist/src/plugin/request.js +23 -23
- package/dist/src/plugin/request.js.map +1 -1
- package/dist/src/plugin/search.js +7 -7
- package/dist/src/plugin/search.js.map +1 -1
- package/dist/src/plugin/server.js +1 -1
- package/dist/src/plugin/storage.d.ts +3 -5
- package/dist/src/plugin/storage.d.ts.map +1 -1
- package/dist/src/plugin/storage.js +56 -67
- package/dist/src/plugin/storage.js.map +1 -1
- package/dist/src/plugin/stores/signature-store.d.ts +1 -1
- package/dist/src/plugin/token.d.ts +1 -1
- package/dist/src/plugin/token.js +5 -5
- package/dist/src/plugin/transform/claude.d.ts +1 -1
- package/dist/src/plugin/transform/claude.js +1 -1
- package/dist/src/plugin/transform/cross-model-sanitizer.js +2 -2
- package/dist/src/plugin/transform/gemini.d.ts +1 -1
- package/dist/src/plugin/transform/index.d.ts +9 -9
- package/dist/src/plugin/transform/index.js +4 -4
- package/dist/src/plugin/transform/model-resolver.d.ts +12 -1
- package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
- package/dist/src/plugin/transform/model-resolver.js +26 -4
- package/dist/src/plugin/transform/model-resolver.js.map +1 -1
- package/dist/src/plugin/transform/types.d.ts +1 -1
- package/dist/src/plugin/types.d.ts +26 -2
- package/dist/src/plugin/types.d.ts.map +1 -1
- package/dist/src/plugin/ui/auth-menu.d.ts +1 -4
- package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -1
- package/dist/src/plugin/ui/auth-menu.js +8 -16
- package/dist/src/plugin/ui/auth-menu.js.map +1 -1
- package/dist/src/plugin/ui/confirm.js +1 -1
- package/dist/src/plugin/ui/select.js +1 -1
- package/dist/src/plugin/version.d.ts +35 -6
- package/dist/src/plugin/version.d.ts.map +1 -1
- package/dist/src/plugin/version.js +138 -42
- package/dist/src/plugin/version.js.map +1 -1
- package/dist/src/plugin.d.ts +11 -8
- package/dist/src/plugin.d.ts.map +1 -1
- package/dist/src/plugin.js +97 -276
- package/dist/src/plugin.js.map +1 -1
- package/dist/src/v2.d.ts +4 -0
- package/dist/src/v2.d.ts.map +1 -0
- package/dist/src/v2.js +391 -0
- package/dist/src/v2.js.map +1 -0
- package/index.js +4 -0
- package/package.json +14 -6
package/README.md
CHANGED
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
[](LICENSE)
|
|
7
7
|
[](https://x.com/dopesalmon)
|
|
8
8
|
|
|
9
|
-
Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth so you can use Antigravity rate limits and access models like `gemini-3-pro` and `claude-opus-4-6-thinking` with your Google credentials.
|
|
9
|
+
Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth so you can use Antigravity rate limits and access models like `gemini-3.1-pro` and `claude-opus-4-6-thinking` with your Google credentials.
|
|
10
10
|
|
|
11
11
|
## What You Get
|
|
12
12
|
|
|
13
|
-
- **Claude Opus 4.6, Sonnet 4.6** and **Gemini 3 Pro/Flash** via Google OAuth
|
|
13
|
+
- **Claude Opus 4.6, Sonnet 4.6** and **Gemini 3.1 Pro/Flash** via Google OAuth
|
|
14
14
|
- **Multi-account support** — add multiple Google accounts, auto-rotates when rate-limited
|
|
15
15
|
- **Dual quota system** — access both Antigravity and Gemini CLI quotas from one plugin
|
|
16
16
|
- **Thinking models** — extended thinking for Claude and Gemini 3 with configurable budgets
|
|
@@ -24,18 +24,13 @@ Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth
|
|
|
24
24
|
<summary><b>⚠️ Terms of Service Warning — Read Before Installing</b></summary>
|
|
25
25
|
|
|
26
26
|
> [!CAUTION]
|
|
27
|
-
> Using this plugin
|
|
28
|
-
>
|
|
29
|
-
> **High-risk scenarios:**
|
|
30
|
-
> - 🚨 **Fresh Google accounts** have a very high chance of getting banned
|
|
31
|
-
> - 🚨 **New accounts with Pro/Ultra subscriptions** are frequently flagged and banned
|
|
27
|
+
> Using this plugin (and any proxy for Antigravity) violates Google's Terms of Service. A number of users have reported their Google accounts being **banned** or **shadow-banned** (restricted access without explicit notification).
|
|
32
28
|
>
|
|
33
29
|
> **By using this plugin, you acknowledge:**
|
|
34
30
|
> - This is an unofficial tool not endorsed by Google
|
|
35
31
|
> - Your account may be suspended or permanently banned
|
|
36
32
|
> - You assume all risks associated with using this plugin
|
|
37
33
|
>
|
|
38
|
-
> **Recommendation:** Use an established Google account that you don't rely on for critical services. Avoid creating new accounts specifically for this plugin.
|
|
39
34
|
|
|
40
35
|
</details>
|
|
41
36
|
|
|
@@ -43,6 +38,35 @@ Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth
|
|
|
43
38
|
|
|
44
39
|
## Installation
|
|
45
40
|
|
|
41
|
+
### OpenCode V2
|
|
42
|
+
|
|
43
|
+
Version **2.0.0** targets OpenCode **2.1.2 or newer**. V2 requires a new plugin implementation, plural
|
|
44
|
+
configuration keys, and a `#variant` suffix on model references.
|
|
45
|
+
|
|
46
|
+
```json
|
|
47
|
+
{
|
|
48
|
+
"$schema": "https://opencode.ai/config.json",
|
|
49
|
+
"plugins": ["opencode-antigravity-auth@latest"]
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Use this configuration once version 2.0.0 is published; PR checkouts can be
|
|
54
|
+
built and loaded by absolute directory path. The plugin registers its models automatically. Connect **Google → Google OAuth
|
|
55
|
+
(Antigravity)** with `opencode auth login`, then run:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
opencode run --model=google/antigravity-gemini-3-flash#high "Hello"
|
|
59
|
+
opencode run --model=google/antigravity-claude-opus-4-6-thinking#max "Hello"
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
Existing `antigravity-accounts.json` accounts are reused. Revoked refresh tokens
|
|
63
|
+
still require a fresh Google sign-in. See [the V2 migration and verification
|
|
64
|
+
guide](docs/OPENCODE-V2.md) for configuration examples, current Antigravity
|
|
65
|
+
protocol changes, and the runtime regression test.
|
|
66
|
+
|
|
67
|
+
The package also supports the V1 object plugin entrypoint in OpenCode
|
|
68
|
+
**1.18.29+**. The instructions below use V1 configuration and command syntax.
|
|
69
|
+
|
|
46
70
|
<details open>
|
|
47
71
|
<summary><b>For Humans</b></summary>
|
|
48
72
|
|
|
@@ -73,7 +97,7 @@ Install the opencode-antigravity-auth plugin and add the Antigravity model defin
|
|
|
73
97
|
```
|
|
74
98
|
|
|
75
99
|
3. **Add models** — choose one:
|
|
76
|
-
- Run `opencode auth login` → select **"Configure models in opencode.json"** (auto-configures all models)
|
|
100
|
+
- Run `opencode auth login` → Google → OAuth with Google (Antigravity) → select **"Configure models in opencode.json"** (auto-configures all models)
|
|
77
101
|
- Or manually copy the [full configuration](#models) below
|
|
78
102
|
|
|
79
103
|
4. **Use it:**
|
|
@@ -247,7 +271,7 @@ Add this to your `~/.config/opencode/opencode.json`:
|
|
|
247
271
|
|
|
248
272
|
## Multi-Account Setup
|
|
249
273
|
|
|
250
|
-
Add multiple Google accounts for higher combined
|
|
274
|
+
Add multiple Google accounts for a higher combined quota. The plugin automatically rotates between accounts when one is rate-limited.
|
|
251
275
|
|
|
252
276
|
```bash
|
|
253
277
|
opencode auth login # Run again to add more accounts
|
|
@@ -262,7 +286,7 @@ For details on load balancing, dual quota pools, and account storage, see [docs/
|
|
|
262
286
|
|
|
263
287
|
---
|
|
264
288
|
|
|
265
|
-
##
|
|
289
|
+
## Troubleshooting
|
|
266
290
|
|
|
267
291
|
> **Quick Reset**: Most issues can be resolved by deleting `~/.config/opencode/antigravity-accounts.json` and running `opencode auth login` again.
|
|
268
292
|
|
|
@@ -682,7 +706,7 @@ See the full [Troubleshooting Guide](docs/TROUBLESHOOTING.md) for solutions to c
|
|
|
682
706
|
|
|
683
707
|
## Support
|
|
684
708
|
|
|
685
|
-
If this plugin
|
|
709
|
+
If this plugin saves you time, consider supporting its development:
|
|
686
710
|
|
|
687
711
|
[](https://ko-fi.com/S6S81QBOIR)
|
|
688
712
|
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,11 @@
|
|
|
1
|
-
export { AntigravityCLIOAuthPlugin, GoogleOAuthPlugin, } from "./src/plugin";
|
|
2
|
-
export { authorizeAntigravity, exchangeAntigravity, } from "./src/antigravity/oauth";
|
|
3
|
-
export type { AntigravityAuthorization, AntigravityTokenExchangeResult, } from "./src/antigravity/oauth";
|
|
1
|
+
export { AntigravityCLIOAuthPlugin, GoogleOAuthPlugin, } from "./src/plugin.js";
|
|
2
|
+
export { authorizeAntigravity, exchangeAntigravity, } from "./src/antigravity/oauth.js";
|
|
3
|
+
export type { AntigravityAuthorization, AntigravityTokenExchangeResult, } from "./src/antigravity/oauth.js";
|
|
4
|
+
/** One package entrypoint for OpenCode V2 and V1.18.29+ server plugins. */
|
|
5
|
+
declare const _default: {
|
|
6
|
+
server: ({ client, directory, runtimeVersion, fetch: sendFetch }: import("./src/plugin/types.ts").PluginContext) => Promise<import("./src/plugin/types.ts").PluginResult>;
|
|
7
|
+
id: string;
|
|
8
|
+
setup: (context: import("@opencode/plugin/promise/plugin").Context) => Promise<import("@opencode/plugin/promise/plugin").Cleanup | void> | import("@opencode/plugin/promise/plugin").Cleanup | void;
|
|
9
|
+
};
|
|
10
|
+
export default _default;
|
|
4
11
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAEjC,YAAY,EACV,wBAAwB,EACxB,8BAA8B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,2EAA2E;;;;;;AAC3E,wBAAgE"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
import { AntigravityV2Plugin } from "./src/v2.js";
|
|
2
|
+
import { AntigravityCLIOAuthPlugin as legacyServer } from "./src/plugin.js";
|
|
3
|
+
export { AntigravityCLIOAuthPlugin, GoogleOAuthPlugin, } from "./src/plugin.js";
|
|
4
|
+
export { authorizeAntigravity, exchangeAntigravity, } from "./src/antigravity/oauth.js";
|
|
5
|
+
/** One package entrypoint for OpenCode V2 and V1.18.29+ server plugins. */
|
|
6
|
+
export default { ...AntigravityV2Plugin, server: legacyServer };
|
|
3
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,yBAAyB,IAAI,YAAY,EAAE,MAAM,cAAc,CAAC;AAEzE,OAAO,EACL,yBAAyB,EACzB,iBAAiB,GAClB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,oBAAoB,EACpB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAMjC,2EAA2E;AAC3E,eAAe,EAAE,GAAG,mBAAmB,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -27,33 +27,5 @@ export declare function authorizeAntigravity(projectId?: string): Promise<Antigr
|
|
|
27
27
|
* Exchange an authorization code for Antigravity CLI access and refresh tokens.
|
|
28
28
|
*/
|
|
29
29
|
export declare function exchangeAntigravity(code: string, state: string): Promise<AntigravityTokenExchangeResult>;
|
|
30
|
-
/**
|
|
31
|
-
* Result returned after constructing a Gemini CLI OAuth authorization URL.
|
|
32
|
-
*/
|
|
33
|
-
export interface GeminiCliAuthorization {
|
|
34
|
-
url: string;
|
|
35
|
-
verifier: string;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Build the Gemini CLI OAuth authorization URL.
|
|
39
|
-
* Uses the Gemini CLI's public client credentials to trigger Gemini Code Assist provisioning.
|
|
40
|
-
* The login_hint parameter pre-selects the Google account in the consent screen.
|
|
41
|
-
*/
|
|
42
|
-
export declare function authorizeGeminiCli(redirectUri: string, loginHint?: string): Promise<GeminiCliAuthorization>;
|
|
43
|
-
interface GeminiCliTokenExchangeSuccess {
|
|
44
|
-
type: "success";
|
|
45
|
-
email?: string;
|
|
46
|
-
}
|
|
47
|
-
interface GeminiCliTokenExchangeFailure {
|
|
48
|
-
type: "failed";
|
|
49
|
-
error: string;
|
|
50
|
-
}
|
|
51
|
-
export type GeminiCliTokenExchangeResult = GeminiCliTokenExchangeSuccess | GeminiCliTokenExchangeFailure;
|
|
52
|
-
/**
|
|
53
|
-
* Exchange a Gemini CLI authorization code for tokens.
|
|
54
|
-
* We don't need to save the tokens — the act of completing the OAuth consent
|
|
55
|
-
* provisions the Gemini Code Assist API for the account server-side at Google.
|
|
56
|
-
*/
|
|
57
|
-
export declare function exchangeGeminiCli(code: string, verifier: string, redirectUri: string): Promise<GeminiCliTokenExchangeResult>;
|
|
58
30
|
export {};
|
|
59
31
|
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/antigravity/oauth.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../../src/antigravity/oauth.ts"],"names":[],"mappings":"AA0BA;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,+BAA+B;IACvC,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,+BAA+B;IACvC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,8BAA8B,GACtC,+BAA+B,GAC/B,+BAA+B,CAAC;AAoCpC;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,SAAS,SAAK,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAsB5F;AA2ED;;GAEG;AACH,wBAAsB,mBAAmB,CACvC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,8BAA8B,CAAC,CAsEzC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { generatePKCE } from "@openauthjs/openauth/pkce";
|
|
2
|
-
import { ANTIGRAVITY_CLIENT_ID, ANTIGRAVITY_CLIENT_SECRET, ANTIGRAVITY_REDIRECT_URI, ANTIGRAVITY_SCOPES,
|
|
3
|
-
import { createLogger } from "../plugin/logger";
|
|
4
|
-
import { calculateTokenExpiry } from "../plugin/auth";
|
|
2
|
+
import { ANTIGRAVITY_CLIENT_ID, ANTIGRAVITY_CLIENT_SECRET, ANTIGRAVITY_REDIRECT_URI, ANTIGRAVITY_SCOPES, ANTIGRAVITY_ENDPOINT, getAntigravityUserAgent, GEMINI_CLI_HEADERS, } from "../constants.js";
|
|
3
|
+
import { createLogger } from "../plugin/logger.js";
|
|
4
|
+
import { calculateTokenExpiry } from "../plugin/auth.js";
|
|
5
5
|
const log = createLogger("oauth");
|
|
6
6
|
/**
|
|
7
7
|
* Encode an object into a URL-safe base64 string.
|
|
@@ -62,29 +62,25 @@ async function fetchProjectID(accessToken) {
|
|
|
62
62
|
const loadHeaders = {
|
|
63
63
|
Authorization: `Bearer ${accessToken}`,
|
|
64
64
|
"Content-Type": "application/json",
|
|
65
|
-
"User-Agent":
|
|
66
|
-
"Client-Metadata": getAntigravityHeaders()["Client-Metadata"],
|
|
65
|
+
"User-Agent": getAntigravityUserAgent(),
|
|
67
66
|
};
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
});
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
errors.push(`loadCodeAssist ${response.status} at ${baseEndpoint}${message ? `: ${message}` : ""}`);
|
|
86
|
-
continue;
|
|
87
|
-
}
|
|
67
|
+
try {
|
|
68
|
+
const url = `${ANTIGRAVITY_ENDPOINT}/v1internal:loadCodeAssist`;
|
|
69
|
+
const response = await fetchWithTimeout(url, {
|
|
70
|
+
method: "POST",
|
|
71
|
+
headers: loadHeaders,
|
|
72
|
+
// The Antigravity Hub sends only ideType; MACOS/WINDOWS are not valid platform values.
|
|
73
|
+
body: JSON.stringify({
|
|
74
|
+
metadata: {
|
|
75
|
+
ideType: "ANTIGRAVITY",
|
|
76
|
+
},
|
|
77
|
+
}),
|
|
78
|
+
});
|
|
79
|
+
if (!response.ok) {
|
|
80
|
+
const message = await response.text().catch(() => "");
|
|
81
|
+
errors.push(`loadCodeAssist ${response.status} at ${ANTIGRAVITY_ENDPOINT}${message ? `: ${message}` : ""}`);
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
88
84
|
const data = await response.json();
|
|
89
85
|
if (typeof data.cloudaicompanionProject === "string" && data.cloudaicompanionProject) {
|
|
90
86
|
return data.cloudaicompanionProject;
|
|
@@ -94,12 +90,12 @@ async function fetchProjectID(accessToken) {
|
|
|
94
90
|
data.cloudaicompanionProject.id) {
|
|
95
91
|
return data.cloudaicompanionProject.id;
|
|
96
92
|
}
|
|
97
|
-
errors.push(`loadCodeAssist missing project id at ${
|
|
98
|
-
}
|
|
99
|
-
catch (e) {
|
|
100
|
-
errors.push(`loadCodeAssist error at ${baseEndpoint}: ${e instanceof Error ? e.message : String(e)}`);
|
|
93
|
+
errors.push(`loadCodeAssist missing project id at ${ANTIGRAVITY_ENDPOINT}`);
|
|
101
94
|
}
|
|
102
95
|
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
errors.push(`loadCodeAssist error at ${ANTIGRAVITY_ENDPOINT}: ${e instanceof Error ? e.message : String(e)}`);
|
|
98
|
+
}
|
|
103
99
|
if (errors.length) {
|
|
104
100
|
log.warn("Failed to resolve Antigravity project via loadCodeAssist", { errors: errors.join("; ") });
|
|
105
101
|
}
|
|
@@ -168,78 +164,4 @@ export async function exchangeAntigravity(code, state) {
|
|
|
168
164
|
};
|
|
169
165
|
}
|
|
170
166
|
}
|
|
171
|
-
/**
|
|
172
|
-
* Build the Gemini CLI OAuth authorization URL.
|
|
173
|
-
* Uses the Gemini CLI's public client credentials to trigger Gemini Code Assist provisioning.
|
|
174
|
-
* The login_hint parameter pre-selects the Google account in the consent screen.
|
|
175
|
-
*/
|
|
176
|
-
export async function authorizeGeminiCli(redirectUri, loginHint) {
|
|
177
|
-
const pkce = (await generatePKCE());
|
|
178
|
-
const url = new URL("https://accounts.google.com/o/oauth2/v2/auth");
|
|
179
|
-
url.searchParams.set("client_id", GEMINI_CLI_CLIENT_ID);
|
|
180
|
-
url.searchParams.set("response_type", "code");
|
|
181
|
-
url.searchParams.set("redirect_uri", redirectUri);
|
|
182
|
-
url.searchParams.set("scope", GEMINI_CLI_SCOPES.join(" "));
|
|
183
|
-
url.searchParams.set("code_challenge", pkce.challenge);
|
|
184
|
-
url.searchParams.set("code_challenge_method", "S256");
|
|
185
|
-
url.searchParams.set("access_type", "offline");
|
|
186
|
-
url.searchParams.set("prompt", "consent");
|
|
187
|
-
if (loginHint) {
|
|
188
|
-
url.searchParams.set("login_hint", loginHint);
|
|
189
|
-
}
|
|
190
|
-
return {
|
|
191
|
-
url: url.toString(),
|
|
192
|
-
verifier: pkce.verifier,
|
|
193
|
-
};
|
|
194
|
-
}
|
|
195
|
-
/**
|
|
196
|
-
* Exchange a Gemini CLI authorization code for tokens.
|
|
197
|
-
* We don't need to save the tokens — the act of completing the OAuth consent
|
|
198
|
-
* provisions the Gemini Code Assist API for the account server-side at Google.
|
|
199
|
-
*/
|
|
200
|
-
export async function exchangeGeminiCli(code, verifier, redirectUri) {
|
|
201
|
-
try {
|
|
202
|
-
const tokenResponse = await fetch("https://oauth2.googleapis.com/token", {
|
|
203
|
-
method: "POST",
|
|
204
|
-
headers: {
|
|
205
|
-
"Content-Type": "application/x-www-form-urlencoded;charset=UTF-8",
|
|
206
|
-
"Accept": "*/*",
|
|
207
|
-
"User-Agent": GEMINI_CLI_HEADERS["User-Agent"],
|
|
208
|
-
},
|
|
209
|
-
body: new URLSearchParams({
|
|
210
|
-
client_id: GEMINI_CLI_CLIENT_ID,
|
|
211
|
-
client_secret: GEMINI_CLI_CLIENT_SECRET,
|
|
212
|
-
code,
|
|
213
|
-
grant_type: "authorization_code",
|
|
214
|
-
redirect_uri: redirectUri,
|
|
215
|
-
code_verifier: verifier,
|
|
216
|
-
}),
|
|
217
|
-
});
|
|
218
|
-
if (!tokenResponse.ok) {
|
|
219
|
-
const errorText = await tokenResponse.text();
|
|
220
|
-
return { type: "failed", error: errorText };
|
|
221
|
-
}
|
|
222
|
-
const tokenPayload = (await tokenResponse.json());
|
|
223
|
-
// Fetch user email to confirm which account was provisioned
|
|
224
|
-
const userInfoResponse = await fetch("https://www.googleapis.com/oauth2/v1/userinfo?alt=json", {
|
|
225
|
-
headers: {
|
|
226
|
-
Authorization: `Bearer ${tokenPayload.access_token}`,
|
|
227
|
-
"User-Agent": GEMINI_CLI_HEADERS["User-Agent"],
|
|
228
|
-
},
|
|
229
|
-
});
|
|
230
|
-
const userInfo = userInfoResponse.ok
|
|
231
|
-
? (await userInfoResponse.json())
|
|
232
|
-
: {};
|
|
233
|
-
return {
|
|
234
|
-
type: "success",
|
|
235
|
-
email: userInfo.email,
|
|
236
|
-
};
|
|
237
|
-
}
|
|
238
|
-
catch (error) {
|
|
239
|
-
return {
|
|
240
|
-
type: "failed",
|
|
241
|
-
error: error instanceof Error ? error.message : "Unknown error",
|
|
242
|
-
};
|
|
243
|
-
}
|
|
244
|
-
}
|
|
245
167
|
//# sourceMappingURL=oauth.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/antigravity/oauth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD,OAAO,EACL,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,kBAAkB,EAClB,
|
|
1
|
+
{"version":3,"file":"oauth.js","sourceRoot":"","sources":["../../../src/antigravity/oauth.ts"],"names":[],"mappings":"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"}
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -15,38 +15,52 @@ export declare const ANTIGRAVITY_SCOPES: readonly string[];
|
|
|
15
15
|
*/
|
|
16
16
|
export declare const ANTIGRAVITY_REDIRECT_URI = "http://localhost:51121/oauth-callback";
|
|
17
17
|
/**
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
18
|
+
* Antigravity Cloud Code host. Consumer Antigravity Hub clients send generate,
|
|
19
|
+
* stream, loadCodeAssist, onboardUser, and fetchAvailableModels requests to the
|
|
20
|
+
* non-sandbox daily host only; mixing hosts can grant incompatible entitlements.
|
|
21
21
|
*/
|
|
22
|
-
export declare const ANTIGRAVITY_ENDPOINT_DAILY = "https://daily-cloudcode-pa.
|
|
23
|
-
|
|
22
|
+
export declare const ANTIGRAVITY_ENDPOINT_DAILY = "https://daily-cloudcode-pa.googleapis.com";
|
|
23
|
+
/** Production Cloud Code host, used by the Gemini CLI quota path. */
|
|
24
24
|
export declare const ANTIGRAVITY_ENDPOINT_PROD = "https://cloudcode-pa.googleapis.com";
|
|
25
25
|
/**
|
|
26
|
-
*
|
|
27
|
-
* Shared across request handling and project discovery to mirror CLIProxy behavior.
|
|
26
|
+
* Primary endpoint for Antigravity-style requests.
|
|
28
27
|
*/
|
|
29
|
-
export declare const
|
|
30
|
-
/**
|
|
31
|
-
* Preferred endpoint order for project discovery (prod first, then fallbacks).
|
|
32
|
-
* loadCodeAssist appears to be best supported on prod for managed project resolution.
|
|
33
|
-
*/
|
|
34
|
-
export declare const ANTIGRAVITY_LOAD_ENDPOINTS: readonly ["https://cloudcode-pa.googleapis.com", "https://daily-cloudcode-pa.sandbox.googleapis.com", "https://autopush-cloudcode-pa.sandbox.googleapis.com"];
|
|
35
|
-
/**
|
|
36
|
-
* Primary endpoint to use (daily sandbox - same as CLIProxy/Vibeproxy).
|
|
37
|
-
*/
|
|
38
|
-
export declare const ANTIGRAVITY_ENDPOINT = "https://daily-cloudcode-pa.sandbox.googleapis.com";
|
|
28
|
+
export declare const ANTIGRAVITY_ENDPOINT = "https://daily-cloudcode-pa.googleapis.com";
|
|
39
29
|
/**
|
|
40
30
|
* Gemini CLI endpoint (production).
|
|
41
31
|
* Used for models without :antigravity suffix.
|
|
42
32
|
* Same as opencode-gemini-auth's GEMINI_CODE_ASSIST_ENDPOINT.
|
|
43
33
|
*/
|
|
44
34
|
export declare const GEMINI_CLI_ENDPOINT = "https://cloudcode-pa.googleapis.com";
|
|
35
|
+
/**
|
|
36
|
+
* Endpoints to try, in order, for a header style. Antigravity never falls back
|
|
37
|
+
* across hosts; Gemini CLI stays on production.
|
|
38
|
+
*/
|
|
39
|
+
export declare function getEndpointFallbacks(style: HeaderStyle): readonly string[];
|
|
45
40
|
/**
|
|
46
41
|
* Hardcoded project id used when Antigravity does not return one (e.g., business/workspace accounts).
|
|
47
42
|
*/
|
|
48
43
|
export declare const ANTIGRAVITY_DEFAULT_PROJECT_ID = "rising-fact-p41fc";
|
|
49
|
-
|
|
44
|
+
/**
|
|
45
|
+
* Cloud Code only serves newer models to Antigravity Hub clients at or above this version.
|
|
46
|
+
*/
|
|
47
|
+
export declare const ANTIGRAVITY_MINIMUM_VERSION = "2.23.0";
|
|
48
|
+
/**
|
|
49
|
+
* Hub release reported when the update manifest is unreachable. Keep it at or above
|
|
50
|
+
* ANTIGRAVITY_MINIMUM_VERSION and update it together with ANTIGRAVITY_HUB_CHANGELISTS.
|
|
51
|
+
*/
|
|
52
|
+
export declare const ANTIGRAVITY_VERSION_FALLBACK = "2.24.0";
|
|
53
|
+
/**
|
|
54
|
+
* Build changelists of specific Hub releases. Releases without a known CL omit the
|
|
55
|
+
* cl= field instead of claiming another build's CL.
|
|
56
|
+
*/
|
|
57
|
+
export declare const ANTIGRAVITY_HUB_CHANGELISTS: Readonly<Record<string, string>>;
|
|
58
|
+
/** Platform of the arm64 macOS update manifest the runtime version is read from. */
|
|
59
|
+
export declare const ANTIGRAVITY_HUB_PLATFORM = "os_type=darwin; arch=arm64";
|
|
60
|
+
/** Suffix the Hub appends to its User-Agent on onboardUser control-plane calls. */
|
|
61
|
+
export declare const ANTIGRAVITY_NODE_API_CLIENT = "google-api-nodejs-client/10.3.0";
|
|
62
|
+
/** X-Goog-Api-Client the Hub sends on onboardUser control-plane calls. */
|
|
63
|
+
export declare const ANTIGRAVITY_GOOG_API_CLIENT = "gl-node/22.21.1";
|
|
50
64
|
export declare function getAntigravityVersion(): string;
|
|
51
65
|
/**
|
|
52
66
|
* Set the runtime Antigravity version. Can only be called once (at startup).
|
|
@@ -54,33 +68,40 @@ export declare function getAntigravityVersion(): string;
|
|
|
54
68
|
*/
|
|
55
69
|
export declare function setAntigravityVersion(version: string): void;
|
|
56
70
|
/** @deprecated Use getAntigravityVersion() for runtime access. */
|
|
57
|
-
export declare const ANTIGRAVITY_VERSION = "
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
71
|
+
export declare const ANTIGRAVITY_VERSION = "2.24.0";
|
|
72
|
+
/**
|
|
73
|
+
* Antigravity Hub User-Agent, e.g.
|
|
74
|
+
* `antigravity/hub/2.24.0 (aidev_client; os_type=darwin; arch=arm64; cl=1000335682)`.
|
|
75
|
+
* Resolved at call time so requests always carry the current runtime version.
|
|
76
|
+
*/
|
|
77
|
+
export declare function getAntigravityUserAgent(version?: string): string;
|
|
78
|
+
/**
|
|
79
|
+
* Long Hub User-Agent used by onboardUser control-plane requests.
|
|
80
|
+
*/
|
|
81
|
+
export declare function getAntigravityOnboardUserAgent(version?: string): string;
|
|
82
|
+
/**
|
|
83
|
+
* Headers for Antigravity content, project, and quota requests. The Hub sends only
|
|
84
|
+
* its User-Agent: no X-Goog-Api-Client and no Client-Metadata.
|
|
85
|
+
*/
|
|
86
|
+
export declare function getAntigravityHeaders(): HeaderSet;
|
|
61
87
|
/** @deprecated Use getAntigravityHeaders() for runtime access. */
|
|
62
88
|
export declare const ANTIGRAVITY_HEADERS: {
|
|
63
|
-
readonly "User-Agent":
|
|
64
|
-
readonly "X-Goog-Api-Client": "google-cloud-sdk vscode_cloudshelleditor/0.1";
|
|
65
|
-
readonly "Client-Metadata": "{\"ideType\":\"ANTIGRAVITY\",\"platform\":\"WINDOWS\",\"pluginType\":\"GEMINI\"}" | "{\"ideType\":\"ANTIGRAVITY\",\"platform\":\"MACOS\",\"pluginType\":\"GEMINI\"}";
|
|
89
|
+
readonly "User-Agent": string;
|
|
66
90
|
};
|
|
67
91
|
export declare const GEMINI_CLI_HEADERS: {
|
|
68
92
|
readonly "User-Agent": "google-api-nodejs-client/9.15.1";
|
|
69
93
|
readonly "X-Goog-Api-Client": "gl-node/22.17.0";
|
|
70
94
|
readonly "Client-Metadata": "ideType=IDE_UNSPECIFIED,platform=PLATFORM_UNSPECIFIED,pluginType=GEMINI";
|
|
71
95
|
};
|
|
72
|
-
/**
|
|
73
|
-
* Gemini CLI OAuth credentials (public installed-app credentials from gemini-cli source).
|
|
74
|
-
* Used to trigger the Gemini Code Assist provisioning flow for accounts that lack it.
|
|
75
|
-
*/
|
|
76
|
-
export declare const GEMINI_CLI_CLIENT_ID = "681255809395-oo8ft2oprdrnp9e3aqf6av3hmdib135j.apps.googleusercontent.com";
|
|
77
|
-
export declare const GEMINI_CLI_CLIENT_SECRET = "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";
|
|
78
|
-
export declare const GEMINI_CLI_SCOPES: readonly string[];
|
|
79
96
|
export type HeaderSet = {
|
|
80
97
|
"User-Agent": string;
|
|
81
98
|
"X-Goog-Api-Client"?: string;
|
|
82
99
|
"Client-Metadata"?: string;
|
|
83
100
|
};
|
|
101
|
+
/**
|
|
102
|
+
* Header set for a request style. Antigravity no longer randomizes platform or
|
|
103
|
+
* API client values: the Hub User-Agent is tied to the manifest release and CL.
|
|
104
|
+
*/
|
|
84
105
|
export declare function getRandomizedHeaders(style: HeaderStyle, model?: string): HeaderSet;
|
|
85
106
|
export type HeaderStyle = "antigravity" | "gemini-cli";
|
|
86
107
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"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"}
|