opencode-antigravity-auth 1.2.3 → 1.2.4
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 +18 -12
- package/dist/src/constants.d.ts +12 -0
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +13 -0
- package/dist/src/constants.js.map +1 -1
- package/dist/src/plugin/request-helpers.d.ts +10 -3
- package/dist/src/plugin/request-helpers.d.ts.map +1 -1
- package/dist/src/plugin/request-helpers.js +526 -17
- package/dist/src/plugin/request-helpers.js.map +1 -1
- package/dist/src/plugin/request.d.ts.map +1 -1
- package/dist/src/plugin/request.js +13 -69
- package/dist/src/plugin/request.js.map +1 -1
- package/dist/src/plugin.d.ts.map +1 -1
- package/dist/src/plugin.js +26 -6
- package/dist/src/plugin.js.map +1 -1
- package/package.json +57 -57
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Antigravity OAuth Plugin for Opencode
|
|
1
|
+
# Antigravity + Gemini CLI OAuth Plugin for Opencode
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/opencode-antigravity-auth)
|
|
4
4
|
|
|
@@ -7,8 +7,8 @@ Enable Opencode to authenticate against **Antigravity** (Google's IDE) via OAuth
|
|
|
7
7
|
## What you get
|
|
8
8
|
|
|
9
9
|
- **Google OAuth sign-in** (multi-account via `opencode auth login`) with automatic token refresh
|
|
10
|
-
- **Multi-account load balancing** Automatically cycle through multiple Google accounts to maximize
|
|
11
|
-
- **
|
|
10
|
+
- **Multi-account load balancing** Automatically cycle through multiple Google accounts to maximize throughput
|
|
11
|
+
- **Two quota sources for Gemini** Automatic fallback between **Antigravity quota** and **Gemini CLI quota** (same account) before switching accounts
|
|
12
12
|
- **Real-time SSE streaming** including thinking blocks and incremental output
|
|
13
13
|
- **Advanced Claude support** Interleaved thinking, stable multi-turn signatures, and validated tool calling
|
|
14
14
|
- **Automatic endpoint fallback** between Antigravity API endpoints (daily → autopush → prod)
|
|
@@ -42,7 +42,7 @@ If the agent only installs the plugin, ask it to also add models under `provider
|
|
|
42
42
|
|
|
43
43
|
```json
|
|
44
44
|
{
|
|
45
|
-
"plugin": ["opencode-antigravity-auth@1.2.
|
|
45
|
+
"plugin": ["opencode-antigravity-auth@1.2.4"]
|
|
46
46
|
}
|
|
47
47
|
```
|
|
48
48
|
|
|
@@ -60,7 +60,7 @@ If the agent only installs the plugin, ask it to also add models under `provider
|
|
|
60
60
|
|
|
61
61
|
```json
|
|
62
62
|
{
|
|
63
|
-
"plugin": ["opencode-antigravity-auth@1.2.
|
|
63
|
+
"plugin": ["opencode-antigravity-auth@1.2.4"],
|
|
64
64
|
"provider": {
|
|
65
65
|
"google": {
|
|
66
66
|
"models": {
|
|
@@ -110,14 +110,14 @@ mkdir -p ~/.config/opencode
|
|
|
110
110
|
|
|
111
111
|
if [ -f ~/.config/opencode/opencode.json ]; then
|
|
112
112
|
if command -v jq &> /dev/null; then
|
|
113
|
-
jq '.plugin = ((.plugin // []) + ["opencode-antigravity-auth@1.2.
|
|
113
|
+
jq '.plugin = ((.plugin // []) + ["opencode-antigravity-auth@1.2.4"] | unique)' \
|
|
114
114
|
~/.config/opencode/opencode.json > /tmp/oc.json && \
|
|
115
115
|
mv /tmp/oc.json ~/.config/opencode/opencode.json
|
|
116
116
|
else
|
|
117
|
-
echo "Add \"opencode-antigravity-auth@1.2.
|
|
117
|
+
echo "Add \"opencode-antigravity-auth@1.2.4\" to the plugin array manually"
|
|
118
118
|
fi
|
|
119
119
|
else
|
|
120
|
-
echo '{"plugin":["opencode-antigravity-auth@1.2.
|
|
120
|
+
echo '{"plugin":["opencode-antigravity-auth@1.2.4"]}' > ~/.config/opencode/opencode.json
|
|
121
121
|
fi
|
|
122
122
|
```
|
|
123
123
|
|
|
@@ -265,14 +265,20 @@ The plugin supports multiple Google accounts to maximize rate limits and provide
|
|
|
265
265
|
|
|
266
266
|
### Dual quota pools (Gemini only)
|
|
267
267
|
|
|
268
|
-
For Gemini models, the plugin can access two independent quota pools using the same Google account:
|
|
268
|
+
For Gemini models, the plugin can access **two independent quota pools** using the same Google account:
|
|
269
269
|
|
|
270
270
|
| Quota Pool | Headers Used | When Used |
|
|
271
271
|
|------------|--------------|-----------|
|
|
272
|
-
| Antigravity | Antigravity headers | Primary (tried first) |
|
|
273
|
-
| Gemini CLI | Gemini CLI headers | Fallback when Antigravity is rate-limited |
|
|
272
|
+
| **Antigravity** | Antigravity headers | Primary (tried first) |
|
|
273
|
+
| **Gemini CLI** | Gemini CLI headers | Fallback when Antigravity is rate-limited |
|
|
274
274
|
|
|
275
|
-
This effectively **doubles your Gemini quota** per account.
|
|
275
|
+
This effectively **doubles your Gemini quota** per account.
|
|
276
|
+
|
|
277
|
+
**How it works:**
|
|
278
|
+
1. Plugin tries Antigravity quota first
|
|
279
|
+
2. If rate-limited (429), it automatically retries using Gemini CLI headers
|
|
280
|
+
3. Only if **both** pools are exhausted does it switch to the next account
|
|
281
|
+
4. This happens seamlessly — conversation context is preserved when switching between quota pools.
|
|
276
282
|
|
|
277
283
|
> **Note:** Claude models only work with Antigravity headers, so this dual-pool fallback only applies to Gemini models.
|
|
278
284
|
|
package/dist/src/constants.d.ts
CHANGED
|
@@ -55,4 +55,16 @@ export type HeaderStyle = "antigravity" | "gemini-cli";
|
|
|
55
55
|
* Provider identifier shared between the plugin loader and credential store.
|
|
56
56
|
*/
|
|
57
57
|
export declare const ANTIGRAVITY_PROVIDER_ID = "google";
|
|
58
|
+
/**
|
|
59
|
+
* When true, preserves thinking blocks for Claude models using signature caching/restoration.
|
|
60
|
+
* By default (false), thinking blocks are stripped from Claude requests for reliability.
|
|
61
|
+
*
|
|
62
|
+
* Set OPENCODE_ANTIGRAVITY_KEEP_THINKING=1 to enable thinking preservation.
|
|
63
|
+
*
|
|
64
|
+
* Trade-offs:
|
|
65
|
+
* - false (default): 100% reliable, no signature errors, ~5-15% more tokens per turn
|
|
66
|
+
* - true: Full context preserved, but may encounter signature validation errors if
|
|
67
|
+
* OpenCode SDK modifies thinking blocks (adds cache_control, wraps in objects)
|
|
68
|
+
*/
|
|
69
|
+
export declare const KEEP_THINKING_BLOCKS: boolean;
|
|
58
70
|
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+JAIjC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+JAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB,sDAA6B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,qBAAqB,8EAA8E,CAAC;AAEjH;;GAEG;AACH,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAM/C,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB,0CAA0C,CAAC;AAEhF;;;;GAIG;AACH,eAAO,MAAM,0BAA0B,sDAAsD,CAAC;AAC9F,eAAO,MAAM,6BAA6B,yDAAyD,CAAC;AACpG,eAAO,MAAM,yBAAyB,wCAAwC,CAAC;AAE/E;;;GAGG;AACH,eAAO,MAAM,8BAA8B,+JAIjC,CAAC;AAEX;;;GAGG;AACH,eAAO,MAAM,0BAA0B,+JAI7B,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,oBAAoB,sDAA6B,CAAC;AAE/D;;GAEG;AACH,eAAO,MAAM,8BAA8B,sBAAsB,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;CAItB,CAAC;AAEX,eAAO,MAAM,kBAAkB;;;;CAIrB,CAAC;AAEX,MAAM,MAAM,WAAW,GAAG,aAAa,GAAG,YAAY,CAAC;AAEvD;;GAEG;AACH,eAAO,MAAM,uBAAuB,WAAW,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,eAAO,MAAM,oBAAoB,SAE0B,CAAC"}
|
package/dist/src/constants.js
CHANGED
|
@@ -68,4 +68,17 @@ export const GEMINI_CLI_HEADERS = {
|
|
|
68
68
|
* Provider identifier shared between the plugin loader and credential store.
|
|
69
69
|
*/
|
|
70
70
|
export const ANTIGRAVITY_PROVIDER_ID = "google";
|
|
71
|
+
/**
|
|
72
|
+
* When true, preserves thinking blocks for Claude models using signature caching/restoration.
|
|
73
|
+
* By default (false), thinking blocks are stripped from Claude requests for reliability.
|
|
74
|
+
*
|
|
75
|
+
* Set OPENCODE_ANTIGRAVITY_KEEP_THINKING=1 to enable thinking preservation.
|
|
76
|
+
*
|
|
77
|
+
* Trade-offs:
|
|
78
|
+
* - false (default): 100% reliable, no signature errors, ~5-15% more tokens per turn
|
|
79
|
+
* - true: Full context preserved, but may encounter signature validation errors if
|
|
80
|
+
* OpenCode SDK modifies thinking blocks (adds cache_control, wraps in objects)
|
|
81
|
+
*/
|
|
82
|
+
export const KEEP_THINKING_BLOCKS = process.env.OPENCODE_ANTIGRAVITY_KEEP_THINKING === "1" ||
|
|
83
|
+
process.env.OPENCODE_ANTIGRAVITY_KEEP_THINKING === "true";
|
|
71
84
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2EAA2E,CAAC;AAEjH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,gDAAgD;IAChD,gDAAgD;IAChD,kDAAkD;IAClD,uCAAuC;IACvC,uDAAuD;CACxD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uCAAuC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,mDAAmD,CAAC;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAG,sDAAsD,CAAC;AACpG,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,0BAA0B;IAC1B,6BAA6B;IAC7B,yBAAyB;CACjB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;IACzB,0BAA0B;IAC1B,6BAA6B;CACrB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,YAAY,EAAE,kCAAkC;IAChD,mBAAmB,EAAE,8CAA8C;IACnE,iBAAiB,EAAE,uFAAuF;CAClG,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,iCAAiC;IAC/C,mBAAmB,EAAE,iBAAiB;IACtC,iBAAiB,EAAE,yEAAyE;CACpF,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,2EAA2E,CAAC;AAEjH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAE/E;;GAEG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAsB;IACnD,gDAAgD;IAChD,gDAAgD;IAChD,kDAAkD;IAClD,uCAAuC;IACvC,uDAAuD;CACxD,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,uCAAuC,CAAC;AAEhF;;;;GAIG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,mDAAmD,CAAC;AAC9F,MAAM,CAAC,MAAM,6BAA6B,GAAG,sDAAsD,CAAC;AACpG,MAAM,CAAC,MAAM,yBAAyB,GAAG,qCAAqC,CAAC;AAE/E;;;GAGG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,0BAA0B;IAC1B,6BAA6B;IAC7B,yBAAyB;CACjB,CAAC;AAEX;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,yBAAyB;IACzB,0BAA0B;IAC1B,6BAA6B;CACrB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,0BAA0B,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG,mBAAmB,CAAC;AAElE,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,YAAY,EAAE,kCAAkC;IAChD,mBAAmB,EAAE,8CAA8C;IACnE,iBAAiB,EAAE,uFAAuF;CAClG,CAAC;AAEX,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,YAAY,EAAE,iCAAiC;IAC/C,mBAAmB,EAAE,iBAAiB;IACtC,iBAAiB,EAAE,yEAAyE;CACpF,CAAC;AAIX;;GAEG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAG,QAAQ,CAAC;AAEhD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAC/B,OAAO,CAAC,GAAG,CAAC,kCAAkC,KAAK,GAAG;IACtD,OAAO,CAAC,GAAG,CAAC,kCAAkC,KAAK,MAAM,CAAC"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cleans a JSON schema for Antigravity API compatibility.
|
|
3
|
+
* Transforms unsupported features into description hints while preserving semantic information.
|
|
4
|
+
*
|
|
5
|
+
* Ported from CLIProxyAPI's CleanJSONSchemaForAntigravity (gemini_schema.go)
|
|
6
|
+
*/
|
|
7
|
+
export declare function cleanJSONSchemaForAntigravity(schema: any): any;
|
|
1
8
|
export interface AntigravityApiError {
|
|
2
9
|
code?: number;
|
|
3
10
|
message?: string;
|
|
@@ -57,12 +64,12 @@ export declare function resolveThinkingConfig(userConfig: ThinkingConfig | undef
|
|
|
57
64
|
* @param sessionId - Optional session ID for signature cache lookup
|
|
58
65
|
* @param getCachedSignatureFn - Optional function to retrieve cached signatures
|
|
59
66
|
*/
|
|
60
|
-
export declare function filterUnsignedThinkingBlocks(contents: any[], sessionId?: string, getCachedSignatureFn?: (sessionId: string, text: string) => string | undefined): any[];
|
|
67
|
+
export declare function filterUnsignedThinkingBlocks(contents: any[], sessionId?: string, getCachedSignatureFn?: (sessionId: string, text: string) => string | undefined, isClaudeModel?: boolean): any[];
|
|
61
68
|
/**
|
|
62
69
|
* Filters thinking blocks from Anthropic-style messages[] payloads using cached signatures.
|
|
63
70
|
*/
|
|
64
|
-
export declare function filterMessagesThinkingBlocks(messages: any[], sessionId?: string, getCachedSignatureFn?: (sessionId: string, text: string) => string | undefined): any[];
|
|
65
|
-
export declare function deepFilterThinkingBlocks(payload: unknown, sessionId?: string, getCachedSignatureFn?: (sessionId: string, text: string) => string | undefined): unknown;
|
|
71
|
+
export declare function filterMessagesThinkingBlocks(messages: any[], sessionId?: string, getCachedSignatureFn?: (sessionId: string, text: string) => string | undefined, isClaudeModel?: boolean): any[];
|
|
72
|
+
export declare function deepFilterThinkingBlocks(payload: unknown, sessionId?: string, getCachedSignatureFn?: (sessionId: string, text: string) => string | undefined, isClaudeModel?: boolean): unknown;
|
|
66
73
|
/**
|
|
67
74
|
* Transforms thinking/reasoning content in response parts to OpenCode's expected format.
|
|
68
75
|
* Handles both Gemini-style (thought: true) and Anthropic-style (type: "thinking") formats.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-helpers.d.ts","sourceRoot":"","sources":["../../../src/plugin/request-helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"request-helpers.d.ts","sourceRoot":"","sources":["../../../src/plugin/request-helpers.ts"],"names":[],"mappings":"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"}
|