@jsonstudio/rcc 0.89.1348 → 0.89.1488

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.
Files changed (126) hide show
  1. package/README.md +51 -1427
  2. package/configsamples/config.json +12 -4
  3. package/dist/build-info.js +2 -2
  4. package/dist/cli/commands/config.js +3 -0
  5. package/dist/cli/commands/config.js.map +1 -1
  6. package/dist/cli/commands/init.js +3 -0
  7. package/dist/cli/commands/init.js.map +1 -1
  8. package/dist/cli/config/bundled-docs.js +2 -2
  9. package/dist/cli/config/bundled-docs.js.map +1 -1
  10. package/dist/cli/config/init-config.d.ts +2 -1
  11. package/dist/cli/config/init-config.js +33 -1
  12. package/dist/cli/config/init-config.js.map +1 -1
  13. package/dist/client/gemini/gemini-protocol-client.js +2 -1
  14. package/dist/client/gemini/gemini-protocol-client.js.map +1 -1
  15. package/dist/client/gemini-cli/gemini-cli-protocol-client.js +67 -16
  16. package/dist/client/gemini-cli/gemini-cli-protocol-client.js.map +1 -1
  17. package/dist/client/openai/chat-protocol-client.js +2 -1
  18. package/dist/client/openai/chat-protocol-client.js.map +1 -1
  19. package/dist/client/responses/responses-protocol-client.js +2 -1
  20. package/dist/client/responses/responses-protocol-client.js.map +1 -1
  21. package/dist/error-handling/quiet-error-handling-center.js +46 -8
  22. package/dist/error-handling/quiet-error-handling-center.js.map +1 -1
  23. package/dist/manager/modules/quota/antigravity-quota-manager.d.ts +4 -0
  24. package/dist/manager/modules/quota/antigravity-quota-manager.js +130 -2
  25. package/dist/manager/modules/quota/antigravity-quota-manager.js.map +1 -1
  26. package/dist/manager/modules/quota/provider-quota-daemon.events.js +67 -4
  27. package/dist/manager/modules/quota/provider-quota-daemon.events.js.map +1 -1
  28. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js +9 -6
  29. package/dist/manager/modules/quota/provider-quota-daemon.model-backoff.js.map +1 -1
  30. package/dist/modules/llmswitch/bridge.js +17 -4
  31. package/dist/modules/llmswitch/bridge.js.map +1 -1
  32. package/dist/modules/llmswitch/core-loader.d.ts +1 -1
  33. package/dist/modules/llmswitch/core-loader.js +15 -3
  34. package/dist/modules/llmswitch/core-loader.js.map +1 -1
  35. package/dist/providers/auth/antigravity-userinfo-helper.d.ts +5 -2
  36. package/dist/providers/auth/antigravity-userinfo-helper.js +63 -8
  37. package/dist/providers/auth/antigravity-userinfo-helper.js.map +1 -1
  38. package/dist/providers/auth/gemini-cli-userinfo-helper.js +66 -4
  39. package/dist/providers/auth/gemini-cli-userinfo-helper.js.map +1 -1
  40. package/dist/providers/auth/oauth-lifecycle.js +112 -1
  41. package/dist/providers/auth/oauth-lifecycle.js.map +1 -1
  42. package/dist/providers/auth/tokenfile-auth.d.ts +14 -0
  43. package/dist/providers/auth/tokenfile-auth.js +125 -2
  44. package/dist/providers/auth/tokenfile-auth.js.map +1 -1
  45. package/dist/providers/core/config/camoufox-launcher.d.ts +5 -0
  46. package/dist/providers/core/config/camoufox-launcher.js +5 -0
  47. package/dist/providers/core/config/camoufox-launcher.js.map +1 -1
  48. package/dist/providers/core/config/service-profiles.js +7 -18
  49. package/dist/providers/core/config/service-profiles.js.map +1 -1
  50. package/dist/providers/core/runtime/base-provider.d.ts +0 -5
  51. package/dist/providers/core/runtime/base-provider.js +26 -112
  52. package/dist/providers/core/runtime/base-provider.js.map +1 -1
  53. package/dist/providers/core/runtime/gemini-cli-http-provider.d.ts +6 -0
  54. package/dist/providers/core/runtime/gemini-cli-http-provider.js +409 -100
  55. package/dist/providers/core/runtime/gemini-cli-http-provider.js.map +1 -1
  56. package/dist/providers/core/runtime/http-request-executor.d.ts +3 -0
  57. package/dist/providers/core/runtime/http-request-executor.js +110 -38
  58. package/dist/providers/core/runtime/http-request-executor.js.map +1 -1
  59. package/dist/providers/core/runtime/http-transport-provider.d.ts +3 -0
  60. package/dist/providers/core/runtime/http-transport-provider.js +89 -39
  61. package/dist/providers/core/runtime/http-transport-provider.js.map +1 -1
  62. package/dist/providers/core/runtime/rate-limit-manager.d.ts +1 -12
  63. package/dist/providers/core/runtime/rate-limit-manager.js +4 -77
  64. package/dist/providers/core/runtime/rate-limit-manager.js.map +1 -1
  65. package/dist/providers/core/utils/http-client.js +20 -43
  66. package/dist/providers/core/utils/http-client.js.map +1 -1
  67. package/dist/runtime/wasm-runtime/wasm-config.d.ts +73 -0
  68. package/dist/runtime/wasm-runtime/wasm-config.js +124 -0
  69. package/dist/runtime/wasm-runtime/wasm-config.js.map +1 -0
  70. package/dist/runtime/wasm-runtime/wasm-loader.d.ts +40 -0
  71. package/dist/runtime/wasm-runtime/wasm-loader.js +62 -0
  72. package/dist/runtime/wasm-runtime/wasm-loader.js.map +1 -0
  73. package/dist/server/handlers/handler-utils.js +5 -1
  74. package/dist/server/handlers/handler-utils.js.map +1 -1
  75. package/dist/server/handlers/responses-handler.js +1 -1
  76. package/dist/server/handlers/responses-handler.js.map +1 -1
  77. package/dist/server/runtime/http-server/index.js +121 -30
  78. package/dist/server/runtime/http-server/index.js.map +1 -1
  79. package/dist/server/runtime/http-server/request-executor.js +50 -6
  80. package/dist/server/runtime/http-server/request-executor.js.map +1 -1
  81. package/dist/server/runtime/http-server/routes.js +4 -1
  82. package/dist/server/runtime/http-server/routes.js.map +1 -1
  83. package/dist/utils/strip-internal-keys.d.ts +12 -0
  84. package/dist/utils/strip-internal-keys.js +28 -0
  85. package/dist/utils/strip-internal-keys.js.map +1 -0
  86. package/docs/CHAT_PROCESS_PROTOCOL_AND_PIPELINE.md +221 -0
  87. package/docs/antigravity-gemini-format-cleanup.md +143 -0
  88. package/docs/antigravity-routing-contract.md +31 -0
  89. package/docs/chat-semantic-expansion-plan.md +8 -6
  90. package/docs/glm-chat-completions.md +1 -1
  91. package/docs/llms-wasm-migration.md +331 -0
  92. package/docs/llms-wasm-module-boundaries.md +588 -0
  93. package/docs/llms-wasm-replay-baseline.md +171 -0
  94. package/docs/plans/llms-wasm-migration-plan.md +401 -0
  95. package/docs/servertool-framework.md +65 -0
  96. package/docs/v2-architecture/README.md +6 -8
  97. package/docs/verified-configs/README.md +60 -0
  98. package/docs/verified-configs/v0.45.0/README.md +244 -0
  99. package/docs/verified-configs/v0.45.0/lmstudio-5521-gpt-oss-20b-mlx.json +135 -0
  100. package/docs/verified-configs/v0.45.0/merged-config.5521.json +1205 -0
  101. package/docs/verified-configs/v0.45.0/merged-config.qwen-5522.json +1559 -0
  102. package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus-final.json +221 -0
  103. package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus-fixed.json +242 -0
  104. package/docs/verified-configs/v0.45.0/qwen-5522-qwen3-coder-plus.json +242 -0
  105. package/package.json +17 -11
  106. package/scripts/antigravity-token-bridge.mjs +283 -0
  107. package/scripts/build-core.mjs +3 -1
  108. package/scripts/ci/repo-sanity.mjs +138 -0
  109. package/scripts/mock-provider/run-regressions.mjs +157 -1
  110. package/scripts/run-bg.sh +0 -14
  111. package/scripts/tests/ci-jest.mjs +119 -0
  112. package/scripts/tools-dev/responses-debug-client/README.md +23 -0
  113. package/scripts/tools-dev/responses-debug-client/payloads/poem.json +13 -0
  114. package/scripts/tools-dev/responses-debug-client/payloads/sample-no-tools.json +98 -0
  115. package/scripts/tools-dev/responses-debug-client/payloads/text.json +13 -0
  116. package/scripts/tools-dev/responses-debug-client/payloads/tool.json +27 -0
  117. package/scripts/tools-dev/responses-debug-client/run.mjs +65 -0
  118. package/scripts/tools-dev/responses-debug-client/src/index.ts +281 -0
  119. package/scripts/tools-dev/run-llmswitch-chat.mjs +53 -0
  120. package/scripts/tools-dev/server-tools-dev/run-web-fetch.mjs +65 -0
  121. package/scripts/vendor-core.mjs +13 -3
  122. package/scripts/test-fc-responses.mjs +0 -66
  123. package/scripts/test-guidance.mjs +0 -100
  124. package/scripts/test-iflow-web-search.mjs +0 -141
  125. package/scripts/test-iflow.mjs +0 -379
  126. package/scripts/test-tool-exec.mjs +0 -26
@@ -8,11 +8,17 @@ const PACKAGE_CANDIDATES_BY_IMPL = {
8
8
  ],
9
9
  engine: [
10
10
  path.join('node_modules', '@jsonstudio', 'llms-engine')
11
+ ],
12
+ wasm: [
13
+ // NOTE: llms-wasm is published under @jsonstudio/llms-engine.
14
+ // This alias keeps host-side code readable.
15
+ path.join('node_modules', '@jsonstudio', 'llms-engine')
11
16
  ]
12
17
  };
13
18
  const corePackageDirByImpl = {
14
19
  ts: null,
15
- engine: null
20
+ engine: null,
21
+ wasm: null
16
22
  };
17
23
  function resolveCorePackageDir(impl) {
18
24
  const cached = corePackageDirByImpl[impl];
@@ -39,8 +45,14 @@ function resolveCorePackageDir(impl) {
39
45
  }
40
46
  function resolveCoreDistPath(subpath, impl) {
41
47
  const clean = subpath.replace(/^\/*/, '').replace(/\.js$/i, '');
42
- const distDir = path.join(resolveCorePackageDir(impl), 'dist');
43
- const candidate = path.join(distDir, `${clean}.js`);
48
+ const baseDir = resolveCorePackageDir(impl);
49
+ const distDir = path.join(baseDir, 'dist');
50
+ // NOTE:
51
+ // - TS / engine use dist/*.js modules.
52
+ // - WASM package (@jsonstudio/llms-engine) exposes entrypoints under js/*.js.
53
+ const candidate = impl === 'wasm'
54
+ ? path.join(baseDir, 'js', `${clean}.mjs`)
55
+ : path.join(distDir, `${clean}.js`);
44
56
  if (!fs.existsSync(candidate)) {
45
57
  throw new Error(`[llmswitch-core-loader] 未找到 ${candidate},请确认对应核心库包含该模块。`);
46
58
  }
@@ -1 +1 @@
1
- {"version":3,"file":"core-loader.js","sourceRoot":"","sources":["../../../src/modules/llmswitch/core-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"core-loader.js","sourceRoot":"","sources":["../../../src/modules/llmswitch/core-loader.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,8 @@
1
1
  /**
2
2
  * Antigravity OAuth helper utilities.
3
- * Mirrors the logic implemented in gcli2api for resolving project metadata.
3
+ * Resolves Antigravity project metadata via the Cloud Code Assist internal endpoints.
4
4
  */
5
+ export declare function resolveAntigravityApiBaseCandidates(explicit?: string): string[];
5
6
  export declare function fetchAntigravityProjectId(accessToken: string, apiBase?: string): Promise<string | undefined>;
6
7
  export declare function buildAntigravityHeaders(accessToken: string): Record<string, string>;
7
8
  export declare function resolveAntigravityApiBase(explicit?: string): string;
@@ -9,4 +10,6 @@ export declare const ANTIGRAVITY_HELPER_DEFAULTS: {
9
10
  apiBase: string;
10
11
  userAgent: string;
11
12
  };
12
- export declare function ensureAntigravityTokenProjectMetadata(tokenFilePath: string, apiBaseHint?: string): Promise<boolean>;
13
+ export declare function ensureAntigravityTokenProjectMetadata(tokenFilePath: string, apiBaseHint?: string, options?: {
14
+ force?: boolean;
15
+ }): Promise<boolean>;
@@ -1,13 +1,16 @@
1
1
  /**
2
2
  * Antigravity OAuth helper utilities.
3
- * Mirrors the logic implemented in gcli2api for resolving project metadata.
3
+ * Resolves Antigravity project metadata via the Cloud Code Assist internal endpoints.
4
4
  */
5
5
  import fs from 'node:fs/promises';
6
6
  import path from 'node:path';
7
7
  import os from 'node:os';
8
8
  import { logOAuthDebug } from './oauth-logger.js';
9
- const DEFAULT_ANTIGRAVITY_API_BASE = 'https://daily-cloudcode-pa.sandbox.googleapis.com';
10
- const DEFAULT_USER_AGENT = 'antigravity/1.11.3 windows/amd64';
9
+ const DEFAULT_ANTIGRAVITY_API_BASE_DAILY = 'https://daily-cloudcode-pa.sandbox.googleapis.com';
10
+ const DEFAULT_ANTIGRAVITY_API_BASE_AUTOPUSH = 'https://autopush-cloudcode-pa.sandbox.googleapis.com';
11
+ const DEFAULT_ANTIGRAVITY_API_BASE_PROD = 'https://cloudcode-pa.googleapis.com';
12
+ const DEFAULT_ANTIGRAVITY_API_BASE = DEFAULT_ANTIGRAVITY_API_BASE_PROD;
13
+ const DEFAULT_USER_AGENT = 'antigravity/1.11.9 windows/amd64';
11
14
  const METADATA_PAYLOAD = {
12
15
  ideType: 'ANTIGRAVITY',
13
16
  platform: 'PLATFORM_UNSPECIFIED',
@@ -56,19 +59,41 @@ const buildHeaders = (accessToken) => ({
56
59
  'Accept': 'application/json',
57
60
  'Accept-Encoding': 'gzip, deflate, br'
58
61
  });
62
+ function normalizeApiBase(value) {
63
+ const trimmed = String(value || '').trim();
64
+ if (!trimmed) {
65
+ return '';
66
+ }
67
+ const noSlash = trimmed.replace(/\/+$/, '');
68
+ return noSlash.replace(/\/v1internal$/i, '');
69
+ }
59
70
  const normalizedBase = (base) => {
60
- const envBase = process.env.ROUTECODEX_ANTIGRAVITY_API_BASE?.trim();
71
+ const envBase = (process.env.ROUTECODEX_ANTIGRAVITY_API_BASE || process.env.RCC_ANTIGRAVITY_API_BASE || '').trim();
61
72
  const candidate = (base && base.trim()) || envBase || DEFAULT_ANTIGRAVITY_API_BASE;
62
- return candidate.replace(/\/+$/, '');
73
+ return normalizeApiBase(candidate);
63
74
  };
75
+ export function resolveAntigravityApiBaseCandidates(explicit) {
76
+ const primary = normalizedBase(explicit);
77
+ const ordered = [
78
+ primary,
79
+ DEFAULT_ANTIGRAVITY_API_BASE_PROD,
80
+ DEFAULT_ANTIGRAVITY_API_BASE_DAILY,
81
+ DEFAULT_ANTIGRAVITY_API_BASE_AUTOPUSH
82
+ ].map((base) => normalizeApiBase(base)).filter((base) => base.length);
83
+ return Array.from(new Set(ordered));
84
+ }
64
85
  function extractAccessTokenFromSnapshot(snapshot) {
65
86
  const lower = snapshot.access_token;
66
87
  const upper = snapshot.AccessToken;
88
+ const nested = snapshot.token;
89
+ const nestedAccess = nested && typeof nested === 'object' ? nested.access_token : undefined;
67
90
  const value = typeof lower === 'string'
68
91
  ? lower
69
92
  : typeof upper === 'string'
70
93
  ? upper
71
- : undefined;
94
+ : typeof nestedAccess === 'string'
95
+ ? nestedAccess
96
+ : undefined;
72
97
  if (value && value.trim()) {
73
98
  return value.trim();
74
99
  }
@@ -88,6 +113,20 @@ function hasProjectMetadata(snapshot) {
88
113
  return true;
89
114
  }
90
115
  }
116
+ const nested = snapshot.token;
117
+ if (nested && typeof nested === 'object') {
118
+ const nestedProjectId = nested.project_id;
119
+ if (typeof nestedProjectId === 'string' && nestedProjectId) {
120
+ return true;
121
+ }
122
+ const nestedProjects = nested.projects;
123
+ if (Array.isArray(nestedProjects) && nestedProjects.length > 0) {
124
+ const hasNested = nestedProjects.some((proj) => proj && typeof proj === 'object' && typeof proj.projectId === 'string');
125
+ if (hasNested) {
126
+ return true;
127
+ }
128
+ }
129
+ }
91
130
  return false;
92
131
  }
93
132
  async function tryLoadCodeAssist(apiBase, headers) {
@@ -195,7 +234,7 @@ export const ANTIGRAVITY_HELPER_DEFAULTS = {
195
234
  apiBase: DEFAULT_ANTIGRAVITY_API_BASE,
196
235
  userAgent: DEFAULT_USER_AGENT
197
236
  };
198
- export async function ensureAntigravityTokenProjectMetadata(tokenFilePath, apiBaseHint) {
237
+ export async function ensureAntigravityTokenProjectMetadata(tokenFilePath, apiBaseHint, options) {
199
238
  const resolved = expandHome(tokenFilePath);
200
239
  if (!resolved) {
201
240
  return false;
@@ -204,7 +243,7 @@ export async function ensureAntigravityTokenProjectMetadata(tokenFilePath, apiBa
204
243
  if (!snapshot) {
205
244
  return false;
206
245
  }
207
- if (hasProjectMetadata(snapshot)) {
246
+ if (!options?.force && hasProjectMetadata(snapshot)) {
208
247
  return true;
209
248
  }
210
249
  const accessToken = extractAccessTokenFromSnapshot(snapshot);
@@ -229,6 +268,22 @@ export async function ensureAntigravityTokenProjectMetadata(tokenFilePath, apiBa
229
268
  projectsNode.push({ projectId });
230
269
  }
231
270
  }
271
+ const nested = snapshot.token;
272
+ if (nested && typeof nested === 'object') {
273
+ nested.project_id = projectId;
274
+ const nestedProjects = nested.projects;
275
+ if (!Array.isArray(nestedProjects) || nestedProjects.length === 0) {
276
+ nested.projects = [{ projectId }];
277
+ }
278
+ else {
279
+ const exists = nestedProjects.some((proj) => proj && typeof proj === 'object' && typeof proj.projectId === 'string'
280
+ ? proj.projectId === projectId
281
+ : false);
282
+ if (!exists) {
283
+ nestedProjects.push({ projectId });
284
+ }
285
+ }
286
+ }
232
287
  try {
233
288
  await fs.writeFile(resolved, `${JSON.stringify(snapshot, null, 2)}\n`, 'utf-8');
234
289
  logOAuthDebug(`[OAuth] Antigravity: ensured project_id=${projectId} for ${resolved}`);
@@ -1 +1 @@
1
- {"version":3,"file":"antigravity-userinfo-helper.js","sourceRoot":"","sources":["../../../src/providers/auth/antigravity-userinfo-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"antigravity-userinfo-helper.js","sourceRoot":"","sources":["../../../src/providers/auth/antigravity-userinfo-helper.ts"],"names":[],"mappings":"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"}
@@ -141,16 +141,78 @@ export function mergeGeminiCLITokenData(oauthToken, userInfo, projects) {
141
141
  * 获取默认 project_id
142
142
  */
143
143
  export function getDefaultProjectId(token) {
144
+ if (Array.isArray(token.projects) && token.projects.length > 0) {
145
+ const projects = token.projects;
146
+ const tierScore = (value) => {
147
+ if (typeof value !== 'string') {
148
+ return 0;
149
+ }
150
+ const upper = value.trim().toUpperCase();
151
+ if (upper === 'ULTRA' || upper === 'ENTERPRISE') {
152
+ return 3;
153
+ }
154
+ if (upper === 'PRO' || upper === 'PAID') {
155
+ return 2;
156
+ }
157
+ if (upper === 'FREE') {
158
+ return 1;
159
+ }
160
+ return 0;
161
+ };
162
+ const boolScore = (value) => (value === true ? 2 : 0);
163
+ const numberScore = (value) => typeof value === 'number' && Number.isFinite(value) ? value : 0;
164
+ const getStringField = (proj, keys) => {
165
+ for (const key of keys) {
166
+ const value = proj[key];
167
+ if (typeof value === 'string' && value.trim()) {
168
+ return value.trim();
169
+ }
170
+ }
171
+ return undefined;
172
+ };
173
+ let bestProjectId;
174
+ let bestScore = 0;
175
+ for (const project of projects) {
176
+ if (!project || typeof project !== 'object') {
177
+ continue;
178
+ }
179
+ const projectId = getStringField(project, ['projectId', 'project_id', 'id']);
180
+ if (!projectId) {
181
+ continue;
182
+ }
183
+ const score = tierScore(getStringField(project, ['subscription_tier', 'subscriptionTier', 'tier', 'paid_tier', 'paidTier'])) +
184
+ boolScore(project.licensed) +
185
+ boolScore(project.hasLicense) +
186
+ boolScore(project.has_code_assist) +
187
+ boolScore(project.hasCodeAssist) +
188
+ boolScore(project.codeAssistEligible) +
189
+ numberScore(project.priority) +
190
+ numberScore(project.weight);
191
+ if (score > bestScore) {
192
+ bestScore = score;
193
+ bestProjectId = projectId;
194
+ }
195
+ }
196
+ if (bestProjectId && bestScore > 0) {
197
+ return bestProjectId;
198
+ }
199
+ if (typeof token.project_id === 'string' && token.project_id) {
200
+ return token.project_id;
201
+ }
202
+ if (typeof token.projectId === 'string' && token.projectId) {
203
+ return token.projectId;
204
+ }
205
+ const firstProject = projects[0];
206
+ return typeof firstProject.projectId === 'string'
207
+ ? String(firstProject.projectId)
208
+ : undefined;
209
+ }
144
210
  if (typeof token.project_id === 'string' && token.project_id) {
145
211
  return token.project_id;
146
212
  }
147
213
  if (typeof token.projectId === 'string' && token.projectId) {
148
214
  return token.projectId;
149
215
  }
150
- if (Array.isArray(token.projects) && token.projects.length > 0) {
151
- const firstProject = token.projects[0];
152
- return typeof firstProject.projectId === 'string' ? firstProject.projectId : undefined;
153
- }
154
216
  return undefined;
155
217
  }
156
218
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"gemini-cli-userinfo-helper.js","sourceRoot":"","sources":["../../../src/providers/auth/gemini-cli-userinfo-helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gemini-cli-userinfo-helper.js","sourceRoot":"","sources":["../../../src/providers/auth/gemini-cli-userinfo-helper.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,7 @@ import {} from './qwen-userinfo-helper.js';
9
9
  import { fetchGeminiCLIUserInfo, fetchGeminiCLIProjects, mergeGeminiCLITokenData, getDefaultProjectId } from './gemini-cli-userinfo-helper.js';
10
10
  import { parseTokenSequenceFromPath } from './token-scanner/index.js';
11
11
  import { logOAuthDebug } from './oauth-logger.js';
12
- import { fetchAntigravityProjectId } from './antigravity-userinfo-helper.js';
12
+ import { fetchAntigravityProjectId, ensureAntigravityTokenProjectMetadata } from './antigravity-userinfo-helper.js';
13
13
  import { HTTP_PROTOCOLS, LOCAL_HOSTS } from '../../constants/index.js';
14
14
  const TOKEN_REFRESH_SKEW_MS = 60_000;
15
15
  const inFlight = new Map();
@@ -108,10 +108,72 @@ function isOAuthConfig(auth) {
108
108
  function hasNonEmptyString(value) {
109
109
  return typeof value === 'string' && value.trim().length > 0;
110
110
  }
111
+ function normalizeAntigravityAccountToken(raw) {
112
+ const token = raw.token;
113
+ if (!token || typeof token !== 'object') {
114
+ return null;
115
+ }
116
+ const tokenObj = token;
117
+ const access = tokenObj.access_token;
118
+ if (typeof access !== 'string' || !access.trim()) {
119
+ return null;
120
+ }
121
+ const out = { ...tokenObj };
122
+ const root = raw;
123
+ if (typeof root.disabled === 'boolean') {
124
+ out.disabled = root.disabled;
125
+ }
126
+ if (typeof root.disabled_reason === 'string') {
127
+ out.disabled_reason = root.disabled_reason;
128
+ }
129
+ if (typeof root.disabled_at === 'number' || typeof root.disabled_at === 'string') {
130
+ out.disabled_at = root.disabled_at;
131
+ }
132
+ if (typeof root.proxy_disabled === 'boolean') {
133
+ out.proxy_disabled = root.proxy_disabled;
134
+ }
135
+ if (typeof root.proxyDisabled === 'boolean') {
136
+ out.proxyDisabled = root.proxyDisabled;
137
+ }
138
+ if (typeof root.proxy_disabled_reason === 'string') {
139
+ out.proxy_disabled_reason = root.proxy_disabled_reason;
140
+ }
141
+ if (typeof root.proxy_disabled_at === 'number' || typeof root.proxy_disabled_at === 'string') {
142
+ out.proxy_disabled_at = root.proxy_disabled_at;
143
+ }
144
+ if (Array.isArray(root.protected_models)) {
145
+ out.protected_models = root.protected_models;
146
+ }
147
+ if (Array.isArray(root.protectedModels)) {
148
+ out.protectedModels = root.protectedModels;
149
+ }
150
+ if (!hasNonEmptyString(out.project_id) && hasNonEmptyString(root.project_id)) {
151
+ out.project_id = String(root.project_id);
152
+ }
153
+ if (!hasNonEmptyString(out.projectId) && hasNonEmptyString(root.projectId)) {
154
+ out.projectId = String(root.projectId);
155
+ }
156
+ if (!Array.isArray(out.projects) && Array.isArray(root.projects)) {
157
+ out.projects = root.projects;
158
+ }
159
+ if (!hasNonEmptyString(out.email) && hasNonEmptyString(root.email)) {
160
+ out.email = String(root.email);
161
+ }
162
+ const expiryTimestamp = tokenObj.expiry_timestamp;
163
+ if (!hasNonEmptyString(out.expires_at) && typeof expiryTimestamp === 'number') {
164
+ out.expires_at =
165
+ expiryTimestamp > 10_000_000_000 ? expiryTimestamp : expiryTimestamp * 1000;
166
+ }
167
+ return out;
168
+ }
111
169
  function sanitizeToken(token) {
112
170
  if (!token || typeof token !== 'object') {
113
171
  return null;
114
172
  }
173
+ const normalized = normalizeAntigravityAccountToken(token);
174
+ if (normalized) {
175
+ return normalized;
176
+ }
115
177
  const copy = { ...token };
116
178
  if (!hasNonEmptyString(copy.apiKey) && hasNonEmptyString(copy.api_key)) {
117
179
  copy.apiKey = copy.api_key;
@@ -127,6 +189,26 @@ async function readTokenFromFile(file) {
127
189
  return null;
128
190
  }
129
191
  }
192
+ async function markAntigravityTokenDisabled(tokenFilePath, reason) {
193
+ if (!tokenFilePath) {
194
+ return;
195
+ }
196
+ try {
197
+ const txt = await fs.readFile(tokenFilePath, 'utf-8');
198
+ const parsed = txt.trim() ? JSON.parse(txt) : null;
199
+ if (!parsed || typeof parsed !== 'object' || Array.isArray(parsed)) {
200
+ return;
201
+ }
202
+ const obj = parsed;
203
+ obj.disabled = true;
204
+ obj.disabled_reason = typeof reason === 'string' && reason.trim() ? reason.trim() : obj.disabled_reason ?? 'invalid_grant';
205
+ obj.disabled_at = Math.floor(Date.now() / 1000);
206
+ await fs.writeFile(tokenFilePath, `${JSON.stringify(obj, null, 2)}\n`, 'utf-8');
207
+ }
208
+ catch (error) {
209
+ logOAuthDebug(`[OAuth] Antigravity: failed to mark token disabled for ${tokenFilePath} - ${error instanceof Error ? error.message : String(error)}`);
210
+ }
211
+ }
130
212
  async function backupTokenFile(file) {
131
213
  if (!file) {
132
214
  return null;
@@ -242,6 +324,11 @@ function evaluateTokenState(token, providerType) {
242
324
  const hasAccess = hasAccessToken(token);
243
325
  const expiresAt = getExpiresAt(token);
244
326
  const isExpiredOrNear = expiresAt !== null && Date.now() >= (expiresAt - TOKEN_REFRESH_SKEW_MS);
327
+ const isDisabled = token &&
328
+ typeof token === 'object' &&
329
+ (token.disabled === true ||
330
+ token.proxy_disabled === true ||
331
+ token.proxyDisabled === true);
245
332
  let validAccess;
246
333
  const pt = providerType.toLowerCase();
247
334
  if (pt === 'iflow') {
@@ -253,6 +340,9 @@ function evaluateTokenState(token, providerType) {
253
340
  else {
254
341
  validAccess = (hasApiKey || hasAccess) && !isExpiredOrNear;
255
342
  }
343
+ if (pt === 'antigravity' && isDisabled) {
344
+ validAccess = false;
345
+ }
256
346
  return { hasApiKey, hasAccess, expiresAt, isExpiredOrNear, validAccess };
257
347
  }
258
348
  function logTokenSnapshot(providerType, token, endpoints) {
@@ -495,6 +585,10 @@ async function maybeEnrichToken(providerType, tokenData) {
495
585
  if (projectId) {
496
586
  merged.project_id = projectId;
497
587
  }
588
+ // Clear disabled flag on successful OAuth refresh to re-enable account.
589
+ merged.disabled = false;
590
+ merged.disabled_reason = null;
591
+ merged.disabled_at = null;
498
592
  return merged;
499
593
  }
500
594
  catch (error) {
@@ -665,6 +759,19 @@ export async function ensureValidOAuthToken(providerType, auth, opts = {}) {
665
759
  const strategy = createStrategy(providerType, overrides, tokenFilePath);
666
760
  let token = await readTokenFromFile(tokenFilePath);
667
761
  const hadExistingTokenFile = token !== null;
762
+ // Antigravity: always attempt to refresh project_id from token file (no synthetic fallback).
763
+ if (providerType === 'antigravity' && token) {
764
+ try {
765
+ const ensured = await ensureAntigravityTokenProjectMetadata(tokenFilePath, undefined, { force: true });
766
+ if (ensured) {
767
+ token = await readTokenFromFile(tokenFilePath);
768
+ }
769
+ }
770
+ catch (error) {
771
+ const msg = error instanceof Error ? error.message : String(error);
772
+ console.error(`[OAuth] Antigravity: failed to ensure project_id metadata - ${msg}`);
773
+ }
774
+ }
668
775
  // Gemini CLI family: if existing token lacks project metadata, try to enrich it without
669
776
  // forcing a full OAuth flow. Use current access_token to fetch userinfo/projects and write back.
670
777
  if (isGeminiCliFamily(providerType) && token) {
@@ -790,6 +897,10 @@ export async function handleUpstreamInvalidOAuthToken(providerType, auth, upstre
790
897
  if (!looksInvalid) {
791
898
  return false;
792
899
  }
900
+ if (pt === 'antigravity') {
901
+ const tokenFilePath = resolveTokenFilePath(auth, providerType);
902
+ await markAntigravityTokenDisabled(tokenFilePath, msg);
903
+ }
793
904
  const opts = {
794
905
  forceReacquireIfRefreshFails: true,
795
906
  openBrowser: true,