opencode-antigravity-auth 1.3.1 → 1.3.2-beta.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.
Files changed (88) hide show
  1. package/README.md +15 -0
  2. package/dist/src/antigravity/oauth.d.ts.map +1 -1
  3. package/dist/src/antigravity/oauth.js +10 -4
  4. package/dist/src/antigravity/oauth.js.map +1 -1
  5. package/dist/src/constants.d.ts +30 -3
  6. package/dist/src/constants.d.ts.map +1 -1
  7. package/dist/src/constants.js +80 -3
  8. package/dist/src/constants.js.map +1 -1
  9. package/dist/src/plugin/accounts.d.ts +42 -3
  10. package/dist/src/plugin/accounts.d.ts.map +1 -1
  11. package/dist/src/plugin/accounts.js +178 -20
  12. package/dist/src/plugin/accounts.js.map +1 -1
  13. package/dist/src/plugin/cli.d.ts +17 -12
  14. package/dist/src/plugin/cli.d.ts.map +1 -1
  15. package/dist/src/plugin/cli.js +56 -15
  16. package/dist/src/plugin/cli.js.map +1 -1
  17. package/dist/src/plugin/config/loader.d.ts.map +1 -1
  18. package/dist/src/plugin/config/loader.js +0 -13
  19. package/dist/src/plugin/config/loader.js.map +1 -1
  20. package/dist/src/plugin/config/schema.d.ts +38 -319
  21. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  22. package/dist/src/plugin/config/schema.js +66 -27
  23. package/dist/src/plugin/config/schema.js.map +1 -1
  24. package/dist/src/plugin/core/streaming/transformer.d.ts.map +1 -1
  25. package/dist/src/plugin/core/streaming/transformer.js +37 -6
  26. package/dist/src/plugin/core/streaming/transformer.js.map +1 -1
  27. package/dist/src/plugin/core/streaming/types.d.ts.map +1 -1
  28. package/dist/src/plugin/debug.d.ts.map +1 -1
  29. package/dist/src/plugin/debug.js +14 -1
  30. package/dist/src/plugin/debug.js.map +1 -1
  31. package/dist/src/plugin/fingerprint.d.ts +70 -0
  32. package/dist/src/plugin/fingerprint.d.ts.map +1 -0
  33. package/dist/src/plugin/fingerprint.js +155 -0
  34. package/dist/src/plugin/fingerprint.js.map +1 -0
  35. package/dist/src/plugin/quota.d.ts +25 -0
  36. package/dist/src/plugin/quota.d.ts.map +1 -0
  37. package/dist/src/plugin/quota.js +192 -0
  38. package/dist/src/plugin/quota.js.map +1 -0
  39. package/dist/src/plugin/request-helpers.d.ts.map +1 -1
  40. package/dist/src/plugin/request-helpers.js +61 -23
  41. package/dist/src/plugin/request-helpers.js.map +1 -1
  42. package/dist/src/plugin/request.d.ts +4 -1
  43. package/dist/src/plugin/request.d.ts.map +1 -1
  44. package/dist/src/plugin/request.js +60 -13
  45. package/dist/src/plugin/request.js.map +1 -1
  46. package/dist/src/plugin/rotation.d.ts +5 -4
  47. package/dist/src/plugin/rotation.d.ts.map +1 -1
  48. package/dist/src/plugin/rotation.js +35 -9
  49. package/dist/src/plugin/rotation.js.map +1 -1
  50. package/dist/src/plugin/search.d.ts +32 -0
  51. package/dist/src/plugin/search.d.ts.map +1 -0
  52. package/dist/src/plugin/search.js +197 -0
  53. package/dist/src/plugin/search.js.map +1 -0
  54. package/dist/src/plugin/storage.d.ts +3 -0
  55. package/dist/src/plugin/storage.d.ts.map +1 -1
  56. package/dist/src/plugin/storage.js +15 -2
  57. package/dist/src/plugin/storage.js.map +1 -1
  58. package/dist/src/plugin/transform/gemini.d.ts +1 -13
  59. package/dist/src/plugin/transform/gemini.d.ts.map +1 -1
  60. package/dist/src/plugin/transform/gemini.js +49 -12
  61. package/dist/src/plugin/transform/gemini.js.map +1 -1
  62. package/dist/src/plugin/transform/model-resolver.d.ts.map +1 -1
  63. package/dist/src/plugin/transform/model-resolver.js +4 -2
  64. package/dist/src/plugin/transform/model-resolver.js.map +1 -1
  65. package/dist/src/plugin/transform/types.d.ts +5 -0
  66. package/dist/src/plugin/transform/types.d.ts.map +1 -1
  67. package/dist/src/plugin/types.d.ts +1 -0
  68. package/dist/src/plugin/types.d.ts.map +1 -1
  69. package/dist/src/plugin/ui/ansi.d.ts +32 -0
  70. package/dist/src/plugin/ui/ansi.d.ts.map +1 -0
  71. package/dist/src/plugin/ui/ansi.js +52 -0
  72. package/dist/src/plugin/ui/ansi.js.map +1 -0
  73. package/dist/src/plugin/ui/auth-menu.d.ts +29 -0
  74. package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -0
  75. package/dist/src/plugin/ui/auth-menu.js +97 -0
  76. package/dist/src/plugin/ui/auth-menu.js.map +1 -0
  77. package/dist/src/plugin/ui/confirm.d.ts +2 -0
  78. package/dist/src/plugin/ui/confirm.d.ts.map +1 -0
  79. package/dist/src/plugin/ui/confirm.js +15 -0
  80. package/dist/src/plugin/ui/confirm.js.map +1 -0
  81. package/dist/src/plugin/ui/select.d.ts +14 -0
  82. package/dist/src/plugin/ui/select.d.ts.map +1 -0
  83. package/dist/src/plugin/ui/select.js +174 -0
  84. package/dist/src/plugin/ui/select.js.map +1 -0
  85. package/dist/src/plugin.d.ts.map +1 -1
  86. package/dist/src/plugin.js +404 -78
  87. package/dist/src/plugin.js.map +1 -1
  88. package/package.json +4 -4
@@ -0,0 +1,192 @@
1
+ import { ANTIGRAVITY_ENDPOINT_PROD, ANTIGRAVITY_HEADERS, ANTIGRAVITY_PROVIDER_ID, } from "../constants";
2
+ import { accessTokenExpired, formatRefreshParts, parseRefreshParts } from "./auth";
3
+ import { ensureProjectContext } from "./project";
4
+ import { refreshAccessToken } from "./token";
5
+ import { getModelFamily } from "./transform/model-resolver";
6
+ const FETCH_TIMEOUT_MS = 10000;
7
+ function buildAuthFromAccount(account) {
8
+ return {
9
+ type: "oauth",
10
+ refresh: formatRefreshParts({
11
+ refreshToken: account.refreshToken,
12
+ projectId: account.projectId,
13
+ managedProjectId: account.managedProjectId,
14
+ }),
15
+ access: undefined,
16
+ expires: undefined,
17
+ };
18
+ }
19
+ function normalizeRemainingFraction(value) {
20
+ if (typeof value !== "number" || !Number.isFinite(value)) {
21
+ return undefined;
22
+ }
23
+ if (value < 0)
24
+ return 0;
25
+ if (value > 1)
26
+ return 1;
27
+ return value;
28
+ }
29
+ function parseResetTime(resetTime) {
30
+ if (!resetTime)
31
+ return null;
32
+ const timestamp = Date.parse(resetTime);
33
+ if (!Number.isFinite(timestamp)) {
34
+ return null;
35
+ }
36
+ return timestamp;
37
+ }
38
+ function classifyQuotaGroup(modelName, displayName) {
39
+ const combined = `${modelName} ${displayName ?? ""}`.toLowerCase();
40
+ if (combined.includes("claude")) {
41
+ return "claude";
42
+ }
43
+ const isGemini3 = combined.includes("gemini-3") || combined.includes("gemini 3");
44
+ if (!isGemini3) {
45
+ return null;
46
+ }
47
+ const family = getModelFamily(modelName);
48
+ return family === "gemini-flash" ? "gemini-flash" : "gemini-pro";
49
+ }
50
+ function aggregateQuota(models) {
51
+ const groups = {};
52
+ if (!models) {
53
+ return { groups, modelCount: 0 };
54
+ }
55
+ let totalCount = 0;
56
+ for (const [modelName, entry] of Object.entries(models)) {
57
+ const group = classifyQuotaGroup(modelName, entry.displayName ?? entry.modelName);
58
+ if (!group) {
59
+ continue;
60
+ }
61
+ const quotaInfo = entry.quotaInfo;
62
+ const remainingFraction = quotaInfo
63
+ ? normalizeRemainingFraction(quotaInfo.remainingFraction ?? 0)
64
+ : undefined;
65
+ const resetTime = quotaInfo?.resetTime;
66
+ const resetTimestamp = parseResetTime(resetTime);
67
+ totalCount += 1;
68
+ const existing = groups[group];
69
+ const nextCount = (existing?.modelCount ?? 0) + 1;
70
+ const nextRemaining = remainingFraction === undefined
71
+ ? existing?.remainingFraction
72
+ : existing?.remainingFraction === undefined
73
+ ? remainingFraction
74
+ : Math.min(existing.remainingFraction, remainingFraction);
75
+ let nextResetTime = existing?.resetTime;
76
+ if (resetTimestamp !== null) {
77
+ if (!existing?.resetTime) {
78
+ nextResetTime = resetTime;
79
+ }
80
+ else {
81
+ const existingTimestamp = parseResetTime(existing.resetTime);
82
+ if (existingTimestamp === null || resetTimestamp < existingTimestamp) {
83
+ nextResetTime = resetTime;
84
+ }
85
+ }
86
+ }
87
+ groups[group] = {
88
+ remainingFraction: nextRemaining,
89
+ resetTime: nextResetTime,
90
+ modelCount: nextCount,
91
+ };
92
+ }
93
+ return { groups, modelCount: totalCount };
94
+ }
95
+ async function fetchWithTimeout(url, options, timeoutMs = FETCH_TIMEOUT_MS) {
96
+ const controller = new AbortController();
97
+ const timeout = setTimeout(() => controller.abort(), timeoutMs);
98
+ try {
99
+ return await fetch(url, { ...options, signal: controller.signal });
100
+ }
101
+ finally {
102
+ clearTimeout(timeout);
103
+ }
104
+ }
105
+ async function fetchAvailableModels(accessToken, projectId) {
106
+ const endpoint = ANTIGRAVITY_ENDPOINT_PROD;
107
+ const quotaUserAgent = ANTIGRAVITY_HEADERS["User-Agent"] || "antigravity/windows/amd64";
108
+ const errors = [];
109
+ const body = projectId ? { project: projectId } : {};
110
+ const response = await fetchWithTimeout(`${endpoint}/v1internal:fetchAvailableModels`, {
111
+ method: "POST",
112
+ headers: {
113
+ Authorization: `Bearer ${accessToken}`,
114
+ "Content-Type": "application/json",
115
+ "User-Agent": quotaUserAgent,
116
+ },
117
+ body: JSON.stringify(body),
118
+ });
119
+ if (response.ok) {
120
+ return (await response.json());
121
+ }
122
+ const message = await response.text().catch(() => "");
123
+ const snippet = message.trim().slice(0, 200);
124
+ errors.push(`fetchAvailableModels ${response.status} at ${endpoint}${snippet ? `: ${snippet}` : ""}`);
125
+ throw new Error(errors.join("; ") || "fetchAvailableModels failed");
126
+ }
127
+ function applyAccountUpdates(account, auth) {
128
+ const parts = parseRefreshParts(auth.refresh);
129
+ if (!parts.refreshToken) {
130
+ return undefined;
131
+ }
132
+ const updated = {
133
+ ...account,
134
+ refreshToken: parts.refreshToken,
135
+ projectId: parts.projectId ?? account.projectId,
136
+ managedProjectId: parts.managedProjectId ?? account.managedProjectId,
137
+ };
138
+ const changed = updated.refreshToken !== account.refreshToken ||
139
+ updated.projectId !== account.projectId ||
140
+ updated.managedProjectId !== account.managedProjectId;
141
+ return changed ? updated : undefined;
142
+ }
143
+ export async function checkAccountsQuota(accounts, client, providerId = ANTIGRAVITY_PROVIDER_ID) {
144
+ const results = [];
145
+ for (const [index, account] of accounts.entries()) {
146
+ const disabled = account.enabled === false;
147
+ let auth = buildAuthFromAccount(account);
148
+ try {
149
+ if (accessTokenExpired(auth)) {
150
+ const refreshed = await refreshAccessToken(auth, client, providerId);
151
+ if (!refreshed) {
152
+ throw new Error("Token refresh failed");
153
+ }
154
+ auth = refreshed;
155
+ }
156
+ const projectContext = await ensureProjectContext(auth);
157
+ auth = projectContext.auth;
158
+ const updatedAccount = applyAccountUpdates(account, auth);
159
+ let quotaResult;
160
+ try {
161
+ const response = await fetchAvailableModels(auth.access ?? "", projectContext.effectiveProjectId);
162
+ quotaResult = aggregateQuota(response.models);
163
+ }
164
+ catch (error) {
165
+ quotaResult = {
166
+ groups: {},
167
+ modelCount: 0,
168
+ error: error instanceof Error ? error.message : String(error),
169
+ };
170
+ }
171
+ results.push({
172
+ index,
173
+ email: account.email,
174
+ status: "ok",
175
+ disabled,
176
+ quota: quotaResult,
177
+ updatedAccount,
178
+ });
179
+ }
180
+ catch (error) {
181
+ results.push({
182
+ index,
183
+ email: account.email,
184
+ status: "error",
185
+ disabled,
186
+ error: error instanceof Error ? error.message : String(error),
187
+ });
188
+ }
189
+ }
190
+ return results;
191
+ }
192
+ //# sourceMappingURL=quota.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"quota.js","sourceRoot":"","sources":["../../../src/plugin/quota.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"request-helpers.d.ts","sourceRoot":"","sources":["../../../src/plugin/request-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"request-helpers.d.ts","sourceRoot":"","sources":["../../../src/plugin/request-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { getKeepThinking } from "./config";
2
2
  import { createLogger } from "./logger";
3
+ import { cacheSignature } from "./cache";
3
4
  import { EMPTY_SCHEMA_PLACEHOLDER_NAME, EMPTY_SCHEMA_PLACEHOLDER_DESCRIPTION, SKIP_THOUGHT_SIGNATURE, } from "../constants";
4
5
  import { processImageData } from "./image-saver";
5
6
  const log = createLogger("request-helpers");
@@ -910,25 +911,29 @@ function filterContentArray(contentArray, sessionId, getCachedSignatureFn, isCla
910
911
  continue;
911
912
  }
912
913
  // For the LAST assistant message with thinking blocks:
913
- // - If signature is valid (length >= 50), pass through unchanged
914
- // - If signature is invalid/missing, inject sentinel to bypass validation
914
+ // - If signature is OUR cached signature, pass through unchanged
915
+ // - Otherwise inject sentinel to bypass Antigravity validation
916
+ // NOTE: We can't trust signatures just because they're >= 50 chars - Claude returns
917
+ // its own signatures which are long but invalid for Antigravity.
915
918
  if (isLastAssistantMessage && (isThinking || hasSignature)) {
916
- const existingSignature = item.signature || item.thoughtSignature;
917
- const hasValidSignature = typeof existingSignature === "string" && existingSignature.length >= 50;
918
- if (hasValidSignature) {
919
- filtered.push(item);
920
- }
921
- else {
922
- // Invalid or missing signature - inject sentinel
923
- const thinkingText = getThinkingText(item) || "";
924
- log.debug("Injecting sentinel signature for invalid last-message thinking block");
925
- const sentinelPart = {
926
- type: item.type || "thinking",
927
- thinking: thinkingText,
928
- signature: SKIP_THOUGHT_SIGNATURE,
929
- };
930
- filtered.push(sentinelPart);
919
+ // First check if it's our cached signature
920
+ if (isOurCachedSignature(item, sessionId, getCachedSignatureFn)) {
921
+ const sanitized = sanitizeThinkingPart(item);
922
+ if (sanitized)
923
+ filtered.push(sanitized);
924
+ continue;
931
925
  }
926
+ // Not our signature (or no signature) - inject sentinel
927
+ const thinkingText = getThinkingText(item) || "";
928
+ const existingSignature = item.signature || item.thoughtSignature;
929
+ const signatureInfo = existingSignature ? `foreign signature (${String(existingSignature).length} chars)` : "no signature";
930
+ log.debug(`Injecting sentinel for last-message thinking block with ${signatureInfo}`);
931
+ const sentinelPart = {
932
+ type: item.type || "thinking",
933
+ thinking: thinkingText,
934
+ signature: SKIP_THOUGHT_SIGNATURE,
935
+ };
936
+ filtered.push(sentinelPart);
932
937
  continue;
933
938
  }
934
939
  if (isOurCachedSignature(item, sessionId, getCachedSignatureFn)) {
@@ -1061,10 +1066,20 @@ function transformGeminiCandidate(candidate) {
1061
1066
  }
1062
1067
  // Handle Gemini-style: thought: true
1063
1068
  if (part.thought === true) {
1064
- thinkingTexts.push(part.text || "");
1069
+ const thinkingText = part.text || "";
1070
+ thinkingTexts.push(thinkingText);
1065
1071
  const transformed = { ...part, type: "reasoning" };
1066
1072
  if (part.cache_control)
1067
1073
  transformed.cache_control = part.cache_control;
1074
+ // Convert signature to providerMetadata format for OpenCode
1075
+ const sig = part.signature || part.thoughtSignature;
1076
+ if (sig) {
1077
+ transformed.providerMetadata = {
1078
+ anthropic: { signature: sig }
1079
+ };
1080
+ delete transformed.signature;
1081
+ delete transformed.thoughtSignature;
1082
+ }
1068
1083
  return transformed;
1069
1084
  }
1070
1085
  // Handle Anthropic-style in candidates: type: "thinking"
@@ -1079,12 +1094,25 @@ function transformGeminiCandidate(candidate) {
1079
1094
  };
1080
1095
  if (part.cache_control)
1081
1096
  transformed.cache_control = part.cache_control;
1097
+ // Convert signature to providerMetadata format for OpenCode
1098
+ const sig = part.signature || part.thoughtSignature;
1099
+ if (sig) {
1100
+ transformed.providerMetadata = {
1101
+ anthropic: { signature: sig }
1102
+ };
1103
+ delete transformed.signature;
1104
+ delete transformed.thoughtSignature;
1105
+ }
1082
1106
  return transformed;
1083
1107
  }
1084
- // Handle functionCall: parse JSON strings in args
1108
+ // Handle functionCall: parse JSON strings in args and ensure args is always defined
1085
1109
  // (Ported from LLM-API-Key-Proxy's _extract_tool_call)
1086
- if (part.functionCall && part.functionCall.args) {
1087
- const parsedArgs = recursivelyParseJsonStrings(part.functionCall.args);
1110
+ // Fix: When Claude calls a tool with no parameters, args may be undefined.
1111
+ // opencode expects state.input to be a record, so we must ensure args: {} as fallback.
1112
+ if (part.functionCall) {
1113
+ const parsedArgs = part.functionCall.args
1114
+ ? recursivelyParseJsonStrings(part.functionCall.args)
1115
+ : {};
1088
1116
  return {
1089
1117
  ...part,
1090
1118
  functionCall: {
@@ -1130,12 +1158,22 @@ export function transformThinkingParts(response) {
1130
1158
  if (block && typeof block === "object" && block.type === "thinking") {
1131
1159
  const thinkingText = block.thinking || block.text || "";
1132
1160
  reasoningTexts.push(thinkingText);
1133
- transformedContent.push({
1161
+ const transformed = {
1134
1162
  ...block,
1135
1163
  type: "reasoning",
1136
1164
  text: thinkingText,
1137
1165
  thought: true,
1138
- });
1166
+ };
1167
+ // Convert signature to providerMetadata format for OpenCode
1168
+ const sig = block.signature || block.thoughtSignature;
1169
+ if (sig) {
1170
+ transformed.providerMetadata = {
1171
+ anthropic: { signature: sig }
1172
+ };
1173
+ delete transformed.signature;
1174
+ delete transformed.thoughtSignature;
1175
+ }
1176
+ transformedContent.push(transformed);
1139
1177
  }
1140
1178
  else {
1141
1179
  transformedContent.push(block);