antigravity-claude-proxy 2.8.0 → 2.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -16,16 +16,12 @@ A proxy server that exposes an **Anthropic-compatible API** backed by **Antigrav
|
|
|
16
16
|
> [!CAUTION]
|
|
17
17
|
> Using this proxy may violate Google's Terms of Service. A small number of users have reported their Google accounts being **banned** or **shadow-banned** (restricted access without explicit notification).
|
|
18
18
|
>
|
|
19
|
-
> **High-risk scenarios:**
|
|
20
|
-
> - 🚨 **Fresh Google accounts** have a very high chance of getting banned
|
|
21
|
-
> - 🚨 **New accounts with Pro/Ultra subscriptions** are frequently flagged and banned
|
|
22
|
-
>
|
|
23
19
|
> **By using this proxy, you acknowledge:**
|
|
24
20
|
> - This is an unofficial tool not endorsed by Google
|
|
25
21
|
> - Your account may be suspended or permanently banned
|
|
26
22
|
> - You assume all risks associated with using this proxy
|
|
27
23
|
>
|
|
28
|
-
> **Recommendation:**
|
|
24
|
+
> **Recommendation:** Do not use your main account. Use a burner account instead, and optionally add it to your main account's family plan if needed.
|
|
29
25
|
|
|
30
26
|
</details>
|
|
31
27
|
|
|
@@ -187,9 +183,9 @@ Add this configuration:
|
|
|
187
183
|
"ANTHROPIC_BASE_URL": "http://localhost:8080",
|
|
188
184
|
"ANTHROPIC_MODEL": "claude-opus-4-6-thinking",
|
|
189
185
|
"ANTHROPIC_DEFAULT_OPUS_MODEL": "claude-opus-4-6-thinking",
|
|
190
|
-
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-
|
|
191
|
-
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-sonnet-4-
|
|
192
|
-
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-4-
|
|
186
|
+
"ANTHROPIC_DEFAULT_SONNET_MODEL": "claude-sonnet-4-6-thinking",
|
|
187
|
+
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-sonnet-4-6",
|
|
188
|
+
"CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-4-6-thinking",
|
|
193
189
|
"ENABLE_EXPERIMENTAL_MCP_CLI": "true"
|
|
194
190
|
}
|
|
195
191
|
}
|
package/package.json
CHANGED
package/public/js/data-store.js
CHANGED
|
@@ -81,7 +81,7 @@ document.addEventListener('alpine:init', () => {
|
|
|
81
81
|
this.models = data.models;
|
|
82
82
|
this.modelConfig = data.modelConfig || {};
|
|
83
83
|
this.usageHistory = data.usageHistory || {};
|
|
84
|
-
|
|
84
|
+
|
|
85
85
|
// Don't show loading on initial load if we have cache
|
|
86
86
|
this.initialLoad = false;
|
|
87
87
|
this.computeQuotaRows();
|
|
@@ -351,7 +351,7 @@ document.addEventListener('alpine:init', () => {
|
|
|
351
351
|
|
|
352
352
|
this.quotaRows = rows.sort((a, b) => {
|
|
353
353
|
if (a.pinned !== b.pinned) return a.pinned ? -1 : 1;
|
|
354
|
-
|
|
354
|
+
|
|
355
355
|
let valA = a[sortCol];
|
|
356
356
|
let valB = b[sortCol];
|
|
357
357
|
|
|
@@ -436,8 +436,8 @@ document.addEventListener('alpine:init', () => {
|
|
|
436
436
|
_generatePlaceholderData() {
|
|
437
437
|
const models = [
|
|
438
438
|
'claude-opus-4-6-thinking',
|
|
439
|
-
'claude-sonnet-4-
|
|
440
|
-
'claude-sonnet-4-
|
|
439
|
+
'claude-sonnet-4-6-thinking',
|
|
440
|
+
'claude-sonnet-4-6',
|
|
441
441
|
'gemini-3.1-pro-high',
|
|
442
442
|
'gemini-3.1-pro-low',
|
|
443
443
|
'gemini-3-flash'
|
package/src/constants.js
CHANGED
|
@@ -278,16 +278,16 @@ export const ANTIGRAVITY_SYSTEM_INSTRUCTION = `You are Antigravity, a powerful a
|
|
|
278
278
|
// Model fallback mapping - maps primary model to fallback when quota exhausted
|
|
279
279
|
export const MODEL_FALLBACK_MAP = {
|
|
280
280
|
'gemini-3.1-pro-high': 'claude-opus-4-6-thinking',
|
|
281
|
-
'gemini-3.1-pro-low': 'claude-sonnet-4-
|
|
282
|
-
'gemini-3-flash': 'claude-sonnet-4-
|
|
281
|
+
'gemini-3.1-pro-low': 'claude-sonnet-4-6',
|
|
282
|
+
'gemini-3-flash': 'claude-sonnet-4-6-thinking',
|
|
283
283
|
'claude-opus-4-6-thinking': 'gemini-3.1-pro-high',
|
|
284
|
-
'claude-sonnet-4-
|
|
285
|
-
'claude-sonnet-4-
|
|
284
|
+
'claude-sonnet-4-6-thinking': 'gemini-3-flash',
|
|
285
|
+
'claude-sonnet-4-6': 'gemini-3-flash'
|
|
286
286
|
};
|
|
287
287
|
|
|
288
288
|
// Default test models for each family (used by test suite)
|
|
289
289
|
export const TEST_MODELS = {
|
|
290
|
-
claude: 'claude-sonnet-4-
|
|
290
|
+
claude: 'claude-sonnet-4-6-thinking',
|
|
291
291
|
gemini: 'gemini-3-flash'
|
|
292
292
|
};
|
|
293
293
|
|
|
@@ -300,9 +300,9 @@ export const DEFAULT_PRESETS = [
|
|
|
300
300
|
ANTHROPIC_BASE_URL: 'http://localhost:8080',
|
|
301
301
|
ANTHROPIC_MODEL: 'claude-opus-4-6-thinking',
|
|
302
302
|
ANTHROPIC_DEFAULT_OPUS_MODEL: 'claude-opus-4-6-thinking',
|
|
303
|
-
ANTHROPIC_DEFAULT_SONNET_MODEL: 'claude-sonnet-4-
|
|
304
|
-
ANTHROPIC_DEFAULT_HAIKU_MODEL: 'claude-sonnet-4-
|
|
305
|
-
CLAUDE_CODE_SUBAGENT_MODEL: 'claude-sonnet-4-
|
|
303
|
+
ANTHROPIC_DEFAULT_SONNET_MODEL: 'claude-sonnet-4-6-thinking',
|
|
304
|
+
ANTHROPIC_DEFAULT_HAIKU_MODEL: 'claude-sonnet-4-6',
|
|
305
|
+
CLAUDE_CODE_SUBAGENT_MODEL: 'claude-sonnet-4-6-thinking',
|
|
306
306
|
ENABLE_EXPERIMENTAL_MCP_CLI: 'true'
|
|
307
307
|
}
|
|
308
308
|
},
|
|
@@ -162,6 +162,14 @@ export function convertContentToParts(content, isClaudeModel = false, isGeminiMo
|
|
|
162
162
|
const signatureFamily = getCachedSignatureFamily(block.signature);
|
|
163
163
|
const targetFamily = isClaudeModel ? 'claude' : isGeminiModel ? 'gemini' : null;
|
|
164
164
|
|
|
165
|
+
// For Claude: drop unknown or non-Claude signatures.
|
|
166
|
+
// This prevents resumed sessions from forwarding stale signatures that
|
|
167
|
+
// fail upstream validation with "Invalid `signature` in `thinking` block".
|
|
168
|
+
if (isClaudeModel && (!signatureFamily || signatureFamily !== 'claude')) {
|
|
169
|
+
logger.debug('[ContentConverter] Dropping untrusted thinking signature for Claude model');
|
|
170
|
+
continue;
|
|
171
|
+
}
|
|
172
|
+
|
|
165
173
|
// Drop blocks with incompatible signatures for Gemini (cross-model switch)
|
|
166
174
|
if (isGeminiModel && signatureFamily && targetFamily && signatureFamily !== targetFamily) {
|
|
167
175
|
logger.debug(`[ContentConverter] Dropping incompatible ${signatureFamily} thinking for ${targetFamily} model`);
|