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:** Use an established Google account that you don't rely on for critical services. Avoid creating new accounts specifically for this proxy.
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-5-thinking",
191
- "ANTHROPIC_DEFAULT_HAIKU_MODEL": "claude-sonnet-4-5",
192
- "CLAUDE_CODE_SUBAGENT_MODEL": "claude-sonnet-4-5-thinking",
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "antigravity-claude-proxy",
3
- "version": "2.8.0",
3
+ "version": "2.8.1",
4
4
  "description": "Proxy server to use Antigravity's Claude models with Claude Code CLI",
5
5
  "main": "src/index.js",
6
6
  "type": "module",
@@ -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-5-thinking',
440
- 'claude-sonnet-4-5',
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-5',
282
- 'gemini-3-flash': 'claude-sonnet-4-5-thinking',
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-5-thinking': 'gemini-3-flash',
285
- 'claude-sonnet-4-5': 'gemini-3-flash'
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-5-thinking',
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-5-thinking',
304
- ANTHROPIC_DEFAULT_HAIKU_MODEL: 'claude-sonnet-4-5',
305
- CLAUDE_CODE_SUBAGENT_MODEL: 'claude-sonnet-4-5-thinking',
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`);
@@ -10,7 +10,7 @@ import { existsSync } from 'fs';
10
10
  */
11
11
 
12
12
  // Fallback constant
13
- const FALLBACK_ANTIGRAVITY_VERSION = '1.18.4';
13
+ const FALLBACK_ANTIGRAVITY_VERSION = '1.20.3';
14
14
 
15
15
  // Cache for the generated User-Agent string
16
16
  let cachedUserAgent = null;