badri-s commited on
Commit
392e154
·
1 Parent(s): 272b0dc

feat: Update Antigravity client constants, platform detection, and API request bodies to align with binary specifications, including `mode: 1` and platform architecture.

Browse files
src/account-manager/credentials.js CHANGED
@@ -235,7 +235,7 @@ export async function discoverProject(token, projectId = undefined) {
235
  'Content-Type': 'application/json',
236
  ...LOAD_CODE_ASSIST_HEADERS
237
  },
238
- body: JSON.stringify({ metadata })
239
  });
240
 
241
  if (!response.ok) {
 
235
  'Content-Type': 'application/json',
236
  ...LOAD_CODE_ASSIST_HEADERS
237
  },
238
+ body: JSON.stringify({ metadata, mode: 1 })
239
  });
240
 
241
  if (!response.ok) {
src/cloudcode/model-api.js CHANGED
@@ -49,12 +49,12 @@ export async function listModels(token) {
49
  const modelList = Object.entries(data.models)
50
  .filter(([modelId]) => isSupportedModel(modelId))
51
  .map(([modelId, modelData]) => ({
52
- id: modelId,
53
- object: 'model',
54
- created: Math.floor(Date.now() / 1000),
55
- owned_by: 'anthropic',
56
- description: modelData.displayName || modelId
57
- }));
58
 
59
  // Warm the model validation cache
60
  modelCache.validModels = new Set(modelList.map(m => m.id));
@@ -183,10 +183,8 @@ export async function getSubscriptionTier(token) {
183
  method: 'POST',
184
  headers,
185
  body: JSON.stringify({
186
- metadata: {
187
- ...CLIENT_METADATA,
188
- duetProject: 'rising-fact-p41fc'
189
- }
190
  })
191
  });
192
 
 
49
  const modelList = Object.entries(data.models)
50
  .filter(([modelId]) => isSupportedModel(modelId))
51
  .map(([modelId, modelData]) => ({
52
+ id: modelId,
53
+ object: 'model',
54
+ created: Math.floor(Date.now() / 1000),
55
+ owned_by: 'anthropic',
56
+ description: modelData.displayName || modelId
57
+ }));
58
 
59
  // Warm the model validation cache
60
  modelCache.validModels = new Set(modelList.map(m => m.id));
 
183
  method: 'POST',
184
  headers,
185
  body: JSON.stringify({
186
+ metadata: CLIENT_METADATA,
187
+ mode: 1
 
 
188
  })
189
  });
190
 
src/constants.js CHANGED
@@ -40,24 +40,25 @@ function getPlatformUserAgent() {
40
  // Reference: Antigravity binary analysis - google.internal.cloud.code.v1internal.ClientMetadata.IdeType
41
  export const IDE_TYPE = {
42
  UNSPECIFIED: 0,
43
- JETSKI: 5, // Internal codename for Gemini CLI
44
- ANTIGRAVITY: 6,
45
  PLUGINS: 7
46
  };
47
 
48
- // Platform enum
49
- // Reference: Antigravity binary analysis - google.internal.cloud.code.v1internal.ClientMetadata.Platform
50
  export const PLATFORM = {
51
  UNSPECIFIED: 0,
52
- WINDOWS: 1,
53
- LINUX: 2,
54
- MACOS: 3
 
 
55
  };
56
 
57
- // Plugin type enum
58
  export const PLUGIN_TYPE = {
59
  UNSPECIFIED: 0,
60
- DUET_AI: 1,
61
  GEMINI: 2
62
  };
63
 
@@ -66,12 +67,17 @@ export const PLUGIN_TYPE = {
66
  * @returns {number} Platform enum value
67
  */
68
  function getPlatformEnum() {
69
- switch (platform()) {
70
- case 'darwin': return PLATFORM.MACOS;
71
- case 'win32': return PLATFORM.WINDOWS;
72
- case 'linux': return PLATFORM.LINUX;
73
- default: return PLATFORM.UNSPECIFIED;
 
 
 
 
74
  }
 
75
  }
76
 
77
  // Centralized client metadata (used in request bodies for loadCodeAssist, onboardUser, etc.)
@@ -93,10 +99,11 @@ export const ANTIGRAVITY_ENDPOINT_FALLBACKS = [
93
  ];
94
 
95
  // Required headers for Antigravity API requests
 
 
96
  export const ANTIGRAVITY_HEADERS = {
97
  'User-Agent': getPlatformUserAgent(),
98
- 'X-Goog-Api-Client': 'google-cloud-sdk vscode_cloudshelleditor/0.1',
99
- 'Client-Metadata': JSON.stringify(CLIENT_METADATA)
100
  };
101
 
102
  // Endpoint order for loadCodeAssist (prod first)
@@ -110,6 +117,7 @@ export const LOAD_CODE_ASSIST_ENDPOINTS = [
110
  export const ONBOARD_USER_ENDPOINTS = ANTIGRAVITY_ENDPOINT_FALLBACKS;
111
 
112
  // Headers for loadCodeAssist API
 
113
  export const LOAD_CODE_ASSIST_HEADERS = ANTIGRAVITY_HEADERS;
114
 
115
  // Default project ID if none can be discovered
 
40
  // Reference: Antigravity binary analysis - google.internal.cloud.code.v1internal.ClientMetadata.IdeType
41
  export const IDE_TYPE = {
42
  UNSPECIFIED: 0,
43
+ JETSKI: 10, // Internal codename for Gemini CLI
44
+ ANTIGRAVITY: 9,
45
  PLUGINS: 7
46
  };
47
 
48
+ // Platform enum (as specified in Antigravity binary)
 
49
  export const PLATFORM = {
50
  UNSPECIFIED: 0,
51
+ DARWIN_AMD64: 1,
52
+ DARWIN_ARM64: 2,
53
+ LINUX_AMD64: 3,
54
+ LINUX_ARM64: 4,
55
+ WINDOWS_AMD64: 5
56
  };
57
 
58
+ // Plugin type enum (as specified in Antigravity binary)
59
  export const PLUGIN_TYPE = {
60
  UNSPECIFIED: 0,
61
+ CLOUD_CODE: 1,
62
  GEMINI: 2
63
  };
64
 
 
67
  * @returns {number} Platform enum value
68
  */
69
  function getPlatformEnum() {
70
+ const os = platform();
71
+ const architecture = arch();
72
+
73
+ if (os === 'darwin') {
74
+ return architecture === 'arm64' ? PLATFORM.DARWIN_ARM64 : PLATFORM.DARWIN_AMD64;
75
+ } else if (os === 'linux') {
76
+ return architecture === 'arm64' ? PLATFORM.LINUX_ARM64 : PLATFORM.LINUX_AMD64;
77
+ } else if (os === 'win32') {
78
+ return PLATFORM.WINDOWS_AMD64;
79
  }
80
+ return PLATFORM.UNSPECIFIED;
81
  }
82
 
83
  // Centralized client metadata (used in request bodies for loadCodeAssist, onboardUser, etc.)
 
99
  ];
100
 
101
  // Required headers for Antigravity API requests
102
+ // Headers for general Antigravity API requests
103
+ // Strictly matches the generic 'u' method in main.js
104
  export const ANTIGRAVITY_HEADERS = {
105
  'User-Agent': getPlatformUserAgent(),
106
+ 'Content-Type': 'application/json'
 
107
  };
108
 
109
  // Endpoint order for loadCodeAssist (prod first)
 
117
  export const ONBOARD_USER_ENDPOINTS = ANTIGRAVITY_ENDPOINT_FALLBACKS;
118
 
119
  // Headers for loadCodeAssist API
120
+ // Matches the minimal headers seen in the binary's u() method
121
  export const LOAD_CODE_ASSIST_HEADERS = ANTIGRAVITY_HEADERS;
122
 
123
  // Default project ID if none can be discovered