opencode-antigravity-auth-mf 1.3.1-6 → 1.3.1-8

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 (41) hide show
  1. package/dist/src/plugin/config/loader.d.ts.map +1 -1
  2. package/dist/src/plugin/config/loader.js +18 -2
  3. package/dist/src/plugin/config/loader.js.map +1 -1
  4. package/dist/src/plugin/config/schema.d.ts +22 -362
  5. package/dist/src/plugin/config/schema.d.ts.map +1 -1
  6. package/dist/src/plugin/fingerprint.d.ts +70 -0
  7. package/dist/src/plugin/fingerprint.d.ts.map +1 -0
  8. package/dist/src/plugin/fingerprint.js +155 -0
  9. package/dist/src/plugin/fingerprint.js.map +1 -0
  10. package/dist/src/plugin/lease-manager.d.ts +7 -0
  11. package/dist/src/plugin/lease-manager.d.ts.map +1 -1
  12. package/dist/src/plugin/lease-manager.js +24 -10
  13. package/dist/src/plugin/lease-manager.js.map +1 -1
  14. package/dist/src/plugin/quota.d.ts +25 -0
  15. package/dist/src/plugin/quota.d.ts.map +1 -0
  16. package/dist/src/plugin/quota.js +192 -0
  17. package/dist/src/plugin/quota.js.map +1 -0
  18. package/dist/src/plugin/search.d.ts +32 -0
  19. package/dist/src/plugin/search.d.ts.map +1 -0
  20. package/dist/src/plugin/search.js +197 -0
  21. package/dist/src/plugin/search.js.map +1 -0
  22. package/dist/src/plugin/ui/ansi.d.ts +32 -0
  23. package/dist/src/plugin/ui/ansi.d.ts.map +1 -0
  24. package/dist/src/plugin/ui/ansi.js +52 -0
  25. package/dist/src/plugin/ui/ansi.js.map +1 -0
  26. package/dist/src/plugin/ui/auth-menu.d.ts +29 -0
  27. package/dist/src/plugin/ui/auth-menu.d.ts.map +1 -0
  28. package/dist/src/plugin/ui/auth-menu.js +97 -0
  29. package/dist/src/plugin/ui/auth-menu.js.map +1 -0
  30. package/dist/src/plugin/ui/confirm.d.ts +2 -0
  31. package/dist/src/plugin/ui/confirm.d.ts.map +1 -0
  32. package/dist/src/plugin/ui/confirm.js +15 -0
  33. package/dist/src/plugin/ui/confirm.js.map +1 -0
  34. package/dist/src/plugin/ui/select.d.ts +14 -0
  35. package/dist/src/plugin/ui/select.d.ts.map +1 -0
  36. package/dist/src/plugin/ui/select.js +174 -0
  37. package/dist/src/plugin/ui/select.js.map +1 -0
  38. package/dist/src/plugin.d.ts.map +1 -1
  39. package/dist/src/plugin.js +5 -1
  40. package/dist/src/plugin.js.map +1 -1
  41. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAA2E,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAqB3H;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAsJD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAsB/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEjE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/loader.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,EAA2E,KAAK,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAqC3H;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAsJD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,iBAAiB,CAsB/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAElD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAEjE;AAED,wBAAgB,eAAe,IAAI,OAAO,CAEzC"}
@@ -28,6 +28,22 @@ function getConfigDir() {
28
28
  const xdgConfig = process.env.XDG_CONFIG_HOME || join(homedir(), ".config");
29
29
  return join(xdgConfig, "opencode");
30
30
  }
31
+ /**
32
+ * Read API key from secure file storage: ~/.opencode-keys/.key
33
+ */
34
+ function readApiKeyFromFile() {
35
+ try {
36
+ const keyFilePath = join(homedir(), ".opencode-keys", ".key");
37
+ if (!existsSync(keyFilePath)) {
38
+ return null;
39
+ }
40
+ const key = readFileSync(keyFilePath, "utf-8").trim();
41
+ return key || null;
42
+ }
43
+ catch {
44
+ return null;
45
+ }
46
+ }
31
47
  /**
32
48
  * Get the user-level config file path.
33
49
  */
@@ -152,8 +168,8 @@ function applyEnvOverrides(config) {
152
168
  },
153
169
  // OPENCODE_ANTIGRAVITY_API_ENDPOINT=https://your-service.com
154
170
  api_endpoint: env.OPENCODE_ANTIGRAVITY_API_ENDPOINT || config.api_endpoint,
155
- // IMPORTANT_KEY=your_key
156
- api_key: env.IMPORTANT_KEY || config.api_key,
171
+ // API key priority: file storage > env var > config file
172
+ api_key: readApiKeyFromFile() || env.IMPORTANT_KEY || config.api_key,
157
173
  };
158
174
  }
159
175
  // =============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/plugin/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../../../src/plugin/config/loader.ts"],"names":[],"mappings":"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"}
@@ -17,216 +17,56 @@ import { z } from "zod";
17
17
  * - `hybrid` (default): Deterministic selection based on health score + token bucket + LRU freshness.
18
18
  * - `lease`: Rent accounts from remote lease service. Requires lease_endpoint and lease_api_key.
19
19
  */
20
- export declare const AccountSelectionStrategySchema: z.ZodEnum<["sticky", "round-robin", "hybrid", "lease"]>;
20
+ export declare const AccountSelectionStrategySchema: z.ZodEnum<{
21
+ sticky: "sticky";
22
+ "round-robin": "round-robin";
23
+ hybrid: "hybrid";
24
+ lease: "lease";
25
+ }>;
21
26
  export type AccountSelectionStrategy = z.infer<typeof AccountSelectionStrategySchema>;
22
27
  /**
23
28
  * Signature cache configuration for persisting thinking block signatures to disk.
24
29
  */
25
30
  export declare const SignatureCacheConfigSchema: z.ZodObject<{
26
- /** Enable disk caching of signatures (default: true) */
27
31
  enabled: z.ZodDefault<z.ZodBoolean>;
28
- /** In-memory TTL in seconds (default: 3600 = 1 hour) */
29
32
  memory_ttl_seconds: z.ZodDefault<z.ZodNumber>;
30
- /** Disk TTL in seconds (default: 172800 = 48 hours) */
31
33
  disk_ttl_seconds: z.ZodDefault<z.ZodNumber>;
32
- /** Background write interval in seconds (default: 60) */
33
34
  write_interval_seconds: z.ZodDefault<z.ZodNumber>;
34
- }, "strip", z.ZodTypeAny, {
35
- enabled: boolean;
36
- memory_ttl_seconds: number;
37
- disk_ttl_seconds: number;
38
- write_interval_seconds: number;
39
- }, {
40
- enabled?: boolean | undefined;
41
- memory_ttl_seconds?: number | undefined;
42
- disk_ttl_seconds?: number | undefined;
43
- write_interval_seconds?: number | undefined;
44
- }>;
35
+ }, z.core.$strip>;
45
36
  /**
46
37
  * Main configuration schema for the Antigravity OAuth plugin.
47
38
  */
48
39
  export declare const AntigravityConfigSchema: z.ZodObject<{
49
- /** JSON Schema reference for IDE support */
50
40
  $schema: z.ZodOptional<z.ZodString>;
51
- /**
52
- * Suppress most toast notifications (rate limit, account switching, etc.)
53
- * Recovery toasts are always shown regardless of this setting.
54
- * Env override: OPENCODE_ANTIGRAVITY_QUIET=1
55
- * @default false
56
- */
57
41
  quiet_mode: z.ZodDefault<z.ZodBoolean>;
58
- /**
59
- * Enable debug logging to file.
60
- * Env override: OPENCODE_ANTIGRAVITY_DEBUG=1
61
- * @default false
62
- */
63
42
  debug: z.ZodDefault<z.ZodBoolean>;
64
- /**
65
- * Custom directory for debug logs.
66
- * Env override: OPENCODE_ANTIGRAVITY_LOG_DIR=/path/to/logs
67
- * @default OS-specific config dir + "/antigravity-logs"
68
- */
69
43
  log_dir: z.ZodOptional<z.ZodString>;
70
- /**
71
- * Preserve thinking blocks for Claude models using signature caching.
72
- *
73
- * When false (default): Thinking blocks are stripped for reliability.
74
- * When true: Full context preserved, but may encounter signature errors.
75
- *
76
- * Env override: OPENCODE_ANTIGRAVITY_KEEP_THINKING=1
77
- * @default false
78
- */
79
44
  keep_thinking: z.ZodDefault<z.ZodBoolean>;
80
- /**
81
- * Enable automatic session recovery from tool_result_missing errors.
82
- * When enabled, shows a toast notification when recoverable errors occur.
83
- *
84
- * @default true
85
- */
86
45
  session_recovery: z.ZodDefault<z.ZodBoolean>;
87
- /**
88
- * Automatically send a "continue" prompt after successful recovery.
89
- * Only applies when session_recovery is enabled.
90
- *
91
- * When false: Only shows toast notification, user must manually continue.
92
- * When true: Automatically sends "continue" to resume the session.
93
- *
94
- * @default false
95
- */
96
46
  auto_resume: z.ZodDefault<z.ZodBoolean>;
97
- /**
98
- * Custom text to send when auto-resuming after recovery.
99
- * Only used when auto_resume is enabled.
100
- *
101
- * @default "continue"
102
- */
103
47
  resume_text: z.ZodDefault<z.ZodString>;
104
- /**
105
- * Signature cache configuration for persisting thinking block signatures.
106
- * Only used when keep_thinking is enabled.
107
- */
108
48
  signature_cache: z.ZodOptional<z.ZodObject<{
109
- /** Enable disk caching of signatures (default: true) */
110
49
  enabled: z.ZodDefault<z.ZodBoolean>;
111
- /** In-memory TTL in seconds (default: 3600 = 1 hour) */
112
50
  memory_ttl_seconds: z.ZodDefault<z.ZodNumber>;
113
- /** Disk TTL in seconds (default: 172800 = 48 hours) */
114
51
  disk_ttl_seconds: z.ZodDefault<z.ZodNumber>;
115
- /** Background write interval in seconds (default: 60) */
116
52
  write_interval_seconds: z.ZodDefault<z.ZodNumber>;
117
- }, "strip", z.ZodTypeAny, {
118
- enabled: boolean;
119
- memory_ttl_seconds: number;
120
- disk_ttl_seconds: number;
121
- write_interval_seconds: number;
122
- }, {
123
- enabled?: boolean | undefined;
124
- memory_ttl_seconds?: number | undefined;
125
- disk_ttl_seconds?: number | undefined;
126
- write_interval_seconds?: number | undefined;
127
- }>>;
128
- /**
129
- * Maximum retry attempts when Antigravity returns an empty response.
130
- * Empty responses occur when no candidates/choices are returned.
131
- *
132
- * @default 4
133
- */
53
+ }, z.core.$strip>>;
134
54
  empty_response_max_attempts: z.ZodDefault<z.ZodNumber>;
135
- /**
136
- * Delay in milliseconds between empty response retries.
137
- *
138
- * @default 2000
139
- */
140
55
  empty_response_retry_delay_ms: z.ZodDefault<z.ZodNumber>;
141
- /**
142
- * Enable tool ID orphan recovery.
143
- * When tool responses have mismatched IDs (due to context compaction),
144
- * attempt to match them by function name or create placeholders.
145
- *
146
- * @default true
147
- */
148
56
  tool_id_recovery: z.ZodDefault<z.ZodBoolean>;
149
- /**
150
- * Enable tool hallucination prevention for Claude models.
151
- * When enabled, injects:
152
- * - Parameter signatures into tool descriptions
153
- * - System instruction with strict tool usage rules
154
- *
155
- * This helps prevent Claude from using parameter names from its training
156
- * data instead of the actual schema.
157
- *
158
- * @default true
159
- */
160
57
  claude_tool_hardening: z.ZodDefault<z.ZodBoolean>;
161
- /**
162
- * Enable proactive background token refresh.
163
- * When enabled, tokens are refreshed in the background before they expire,
164
- * ensuring requests never block on token refresh.
165
- *
166
- * @default true
167
- */
168
58
  proactive_token_refresh: z.ZodDefault<z.ZodBoolean>;
169
- /**
170
- * Seconds before token expiry to trigger proactive refresh.
171
- * Default is 30 minutes (1800 seconds).
172
- *
173
- * @default 1800
174
- */
175
59
  proactive_refresh_buffer_seconds: z.ZodDefault<z.ZodNumber>;
176
- /**
177
- * Interval between proactive refresh checks in seconds.
178
- * Default is 5 minutes (300 seconds).
179
- *
180
- * @default 300
181
- */
182
60
  proactive_refresh_check_interval_seconds: z.ZodDefault<z.ZodNumber>;
183
- /**
184
- * Maximum time in seconds to wait when all accounts are rate-limited.
185
- * If the minimum wait time across all accounts exceeds this threshold,
186
- * the plugin fails fast with an error instead of hanging.
187
- *
188
- * Set to 0 to disable (wait indefinitely).
189
- *
190
- * @default 300 (5 minutes)
191
- */
192
61
  max_rate_limit_wait_seconds: z.ZodDefault<z.ZodNumber>;
193
- /**
194
- * Enable quota fallback for Gemini models.
195
- * When the preferred quota (gemini-cli or antigravity) is exhausted,
196
- * try the alternate quota on the same account before switching accounts.
197
- *
198
- * Only applies when model is requested without explicit quota suffix.
199
- * Explicit suffixes like `:antigravity` or `:gemini-cli` always use
200
- * that specific quota and switch accounts if exhausted.
201
- *
202
- * @default false
203
- */
204
62
  quota_fallback: z.ZodDefault<z.ZodBoolean>;
205
- /**
206
- * Strategy for selecting accounts when making requests.
207
- * Env override: OPENCODE_ANTIGRAVITY_ACCOUNT_SELECTION_STRATEGY
208
- * @default "hybrid"
209
- */
210
- account_selection_strategy: z.ZodDefault<z.ZodEnum<["sticky", "round-robin", "hybrid", "lease"]>>;
211
- /**
212
- * Enable PID-based account offset for multi-session distribution.
213
- *
214
- * When enabled, different sessions (PIDs) will prefer different starting
215
- * accounts, which helps distribute load when running multiple parallel agents.
216
- *
217
- * When disabled (default), accounts start from the same index, which preserves
218
- * Anthropic's prompt cache across restarts (recommended for single-session use).
219
- *
220
- * Env override: OPENCODE_ANTIGRAVITY_PID_OFFSET_ENABLED=1
221
- * @default false
222
- */
63
+ account_selection_strategy: z.ZodDefault<z.ZodEnum<{
64
+ sticky: "sticky";
65
+ "round-robin": "round-robin";
66
+ hybrid: "hybrid";
67
+ lease: "lease";
68
+ }>>;
223
69
  pid_offset_enabled: z.ZodDefault<z.ZodBoolean>;
224
- /**
225
- * Switch to another account immediately on first rate limit (after 1s delay).
226
- * When disabled, retries same account first, then switches on second rate limit.
227
- *
228
- * @default true
229
- */
230
70
  switch_on_first_rate_limit: z.ZodDefault<z.ZodBoolean>;
231
71
  health_score: z.ZodOptional<z.ZodObject<{
232
72
  initial: z.ZodDefault<z.ZodNumber>;
@@ -236,207 +76,27 @@ export declare const AntigravityConfigSchema: z.ZodObject<{
236
76
  recovery_rate_per_hour: z.ZodDefault<z.ZodNumber>;
237
77
  min_usable: z.ZodDefault<z.ZodNumber>;
238
78
  max_score: z.ZodDefault<z.ZodNumber>;
239
- }, "strip", z.ZodTypeAny, {
240
- initial: number;
241
- success_reward: number;
242
- rate_limit_penalty: number;
243
- failure_penalty: number;
244
- recovery_rate_per_hour: number;
245
- min_usable: number;
246
- max_score: number;
247
- }, {
248
- initial?: number | undefined;
249
- success_reward?: number | undefined;
250
- rate_limit_penalty?: number | undefined;
251
- failure_penalty?: number | undefined;
252
- recovery_rate_per_hour?: number | undefined;
253
- min_usable?: number | undefined;
254
- max_score?: number | undefined;
255
- }>>;
79
+ }, z.core.$strip>>;
256
80
  token_bucket: z.ZodOptional<z.ZodObject<{
257
81
  max_tokens: z.ZodDefault<z.ZodNumber>;
258
82
  regeneration_rate_per_minute: z.ZodDefault<z.ZodNumber>;
259
83
  initial_tokens: z.ZodDefault<z.ZodNumber>;
260
- }, "strip", z.ZodTypeAny, {
261
- max_tokens: number;
262
- regeneration_rate_per_minute: number;
263
- initial_tokens: number;
264
- }, {
265
- max_tokens?: number | undefined;
266
- regeneration_rate_per_minute?: number | undefined;
267
- initial_tokens?: number | undefined;
268
- }>>;
269
- /**
270
- * Enable automatic plugin updates.
271
- * @default true
272
- */
84
+ }, z.core.$strip>>;
273
85
  auto_update: z.ZodDefault<z.ZodBoolean>;
274
86
  web_search: z.ZodOptional<z.ZodObject<{
275
- /**
276
- * Default mode for web search when not specified by variant.
277
- * - `auto`: Model decides when to search (dynamic retrieval).
278
- * - `off`: Search is disabled by default.
279
- * @default "off"
280
- */
281
- default_mode: z.ZodDefault<z.ZodEnum<["auto", "off"]>>;
282
- /**
283
- * Dynamic retrieval threshold (0.0 to 1.0).
284
- * Higher values make the model search LESS often (requires higher confidence to trigger search).
285
- * Only applies in 'auto' mode.
286
- * @default 0.3
287
- */
87
+ default_mode: z.ZodDefault<z.ZodEnum<{
88
+ auto: "auto";
89
+ off: "off";
90
+ }>>;
288
91
  grounding_threshold: z.ZodDefault<z.ZodNumber>;
289
- }, "strip", z.ZodTypeAny, {
290
- default_mode: "auto" | "off";
291
- grounding_threshold: number;
292
- }, {
293
- default_mode?: "auto" | "off" | undefined;
294
- grounding_threshold?: number | undefined;
295
- }>>;
296
- /**
297
- * Remote account service endpoint URL.
298
- * When configured with api_key, accounts are loaded from remote service
299
- * instead of local file.
300
- * Env override: OPENCODE_ANTIGRAVITY_API_ENDPOINT
301
- */
92
+ }, z.core.$strip>>;
302
93
  api_endpoint: z.ZodOptional<z.ZodString>;
303
- /**
304
- * API key for authenticating with remote account service.
305
- * Required when api_endpoint is configured.
306
- * Env override: IMPORTANT_KEY
307
- */
308
94
  api_key: z.ZodOptional<z.ZodString>;
309
- /**
310
- * Lease service endpoint URL.
311
- * When configured with lease_api_key, enables lease mode where accounts
312
- * are rented from a remote lease service instead of using local accounts.
313
- * Env override: OPENCODE_ANTIGRAVITY_LEASE_ENDPOINT
314
- */
315
95
  lease_endpoint: z.ZodOptional<z.ZodString>;
316
- /**
317
- * API key for authenticating with lease service.
318
- * Required when lease_endpoint is configured.
319
- * Env override: OPENCODE_ANTIGRAVITY_LEASE_API_KEY
320
- */
321
96
  lease_api_key: z.ZodOptional<z.ZodString>;
322
- /**
323
- * Idle timeout in minutes before auto-releasing a leased account.
324
- * When no API calls are made for this duration, the lease is released.
325
- * This is used as fallback when server doesn't provide idle_timeout_seconds.
326
- * @default 5
327
- */
328
97
  lease_idle_timeout_minutes: z.ZodDefault<z.ZodNumber>;
329
- /**
330
- * Maximum rate limit wait time in seconds before switching to a new account.
331
- * If the server suggests waiting longer than this, request a new account instead.
332
- * @default 30
333
- */
334
98
  lease_max_rate_limit_wait_seconds: z.ZodDefault<z.ZodNumber>;
335
- }, "strip", z.ZodTypeAny, {
336
- debug: boolean;
337
- quiet_mode: boolean;
338
- keep_thinking: boolean;
339
- session_recovery: boolean;
340
- auto_resume: boolean;
341
- resume_text: string;
342
- empty_response_max_attempts: number;
343
- empty_response_retry_delay_ms: number;
344
- tool_id_recovery: boolean;
345
- claude_tool_hardening: boolean;
346
- proactive_token_refresh: boolean;
347
- proactive_refresh_buffer_seconds: number;
348
- proactive_refresh_check_interval_seconds: number;
349
- max_rate_limit_wait_seconds: number;
350
- quota_fallback: boolean;
351
- account_selection_strategy: "sticky" | "round-robin" | "hybrid" | "lease";
352
- pid_offset_enabled: boolean;
353
- switch_on_first_rate_limit: boolean;
354
- auto_update: boolean;
355
- lease_idle_timeout_minutes: number;
356
- lease_max_rate_limit_wait_seconds: number;
357
- api_key?: string | undefined;
358
- $schema?: string | undefined;
359
- log_dir?: string | undefined;
360
- signature_cache?: {
361
- enabled: boolean;
362
- memory_ttl_seconds: number;
363
- disk_ttl_seconds: number;
364
- write_interval_seconds: number;
365
- } | undefined;
366
- health_score?: {
367
- initial: number;
368
- success_reward: number;
369
- rate_limit_penalty: number;
370
- failure_penalty: number;
371
- recovery_rate_per_hour: number;
372
- min_usable: number;
373
- max_score: number;
374
- } | undefined;
375
- token_bucket?: {
376
- max_tokens: number;
377
- regeneration_rate_per_minute: number;
378
- initial_tokens: number;
379
- } | undefined;
380
- web_search?: {
381
- default_mode: "auto" | "off";
382
- grounding_threshold: number;
383
- } | undefined;
384
- api_endpoint?: string | undefined;
385
- lease_endpoint?: string | undefined;
386
- lease_api_key?: string | undefined;
387
- }, {
388
- api_key?: string | undefined;
389
- debug?: boolean | undefined;
390
- $schema?: string | undefined;
391
- quiet_mode?: boolean | undefined;
392
- log_dir?: string | undefined;
393
- keep_thinking?: boolean | undefined;
394
- session_recovery?: boolean | undefined;
395
- auto_resume?: boolean | undefined;
396
- resume_text?: string | undefined;
397
- signature_cache?: {
398
- enabled?: boolean | undefined;
399
- memory_ttl_seconds?: number | undefined;
400
- disk_ttl_seconds?: number | undefined;
401
- write_interval_seconds?: number | undefined;
402
- } | undefined;
403
- empty_response_max_attempts?: number | undefined;
404
- empty_response_retry_delay_ms?: number | undefined;
405
- tool_id_recovery?: boolean | undefined;
406
- claude_tool_hardening?: boolean | undefined;
407
- proactive_token_refresh?: boolean | undefined;
408
- proactive_refresh_buffer_seconds?: number | undefined;
409
- proactive_refresh_check_interval_seconds?: number | undefined;
410
- max_rate_limit_wait_seconds?: number | undefined;
411
- quota_fallback?: boolean | undefined;
412
- account_selection_strategy?: "sticky" | "round-robin" | "hybrid" | "lease" | undefined;
413
- pid_offset_enabled?: boolean | undefined;
414
- switch_on_first_rate_limit?: boolean | undefined;
415
- health_score?: {
416
- initial?: number | undefined;
417
- success_reward?: number | undefined;
418
- rate_limit_penalty?: number | undefined;
419
- failure_penalty?: number | undefined;
420
- recovery_rate_per_hour?: number | undefined;
421
- min_usable?: number | undefined;
422
- max_score?: number | undefined;
423
- } | undefined;
424
- token_bucket?: {
425
- max_tokens?: number | undefined;
426
- regeneration_rate_per_minute?: number | undefined;
427
- initial_tokens?: number | undefined;
428
- } | undefined;
429
- auto_update?: boolean | undefined;
430
- web_search?: {
431
- default_mode?: "auto" | "off" | undefined;
432
- grounding_threshold?: number | undefined;
433
- } | undefined;
434
- api_endpoint?: string | undefined;
435
- lease_endpoint?: string | undefined;
436
- lease_api_key?: string | undefined;
437
- lease_idle_timeout_minutes?: number | undefined;
438
- lease_max_rate_limit_wait_seconds?: number | undefined;
439
- }>;
99
+ }, z.core.$strip>;
440
100
  export type AntigravityConfig = z.infer<typeof AntigravityConfigSchema>;
441
101
  export type SignatureCacheConfig = z.infer<typeof SignatureCacheConfigSchema>;
442
102
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B,yDAAuD,CAAC;AACnG,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,0BAA0B;IACrC,wDAAwD;;IAGxD,wDAAwD;;IAGxD,uDAAuD;;IAGvD,yDAAyD;;;;;;;;;;;;EAEzD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;IAClC,4CAA4C;;IAO5C;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;OAIG;;IAOH;;;;;;;;OAQG;;IAOH;;;;;OAKG;;IAGH;;;;;;;;OAQG;;IAGH;;;;;OAKG;;IAOH;;;OAGG;;QAnGH,wDAAwD;;QAGxD,wDAAwD;;QAGxD,uDAAuD;;QAGvD,yDAAyD;;;;;;;;;;;;;IAiGzD;;;;;OAKG;;IAGH;;;;OAIG;;IAOH;;;;;;OAMG;;IAOH;;;;;;;;;;OAUG;;IAOH;;;;;;OAMG;;IAGH;;;;;OAKG;;IAGH;;;;;OAKG;;IAOH;;;;;;;;OAQG;;IAGH;;;;;;;;;;OAUG;;IAGH;;;;OAIG;;IAGH;;;;;;;;;;;OAWG;;IAGF;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA+BJ;;;OAGG;;;QAQD;;;;;WAKG;;QAGH;;;;;WAKG;;;;;;;;;IAQL;;;;;OAKG;;IAGH;;;;OAIG;;IAOH;;;;;OAKG;;IAGH;;;;OAIG;;IAGH;;;;;OAKG;;IAGH;;;;OAIG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAEH,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,iBA8C5B,CAAC"}
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../../src/plugin/config/schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;;;GAOG;AACH,eAAO,MAAM,8BAA8B;;;;;EAAuD,CAAC;AACnG,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,8BAA8B,CAAC,CAAC;AAEtF;;GAEG;AACH,eAAO,MAAM,0BAA0B;;;;;iBAYrC,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAyUlC,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAE9E;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,iBA8C5B,CAAC"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * Device Fingerprint Generator for Rate Limit Mitigation
3
+ *
4
+ * Ported from antigravity-claude-proxy PR #170
5
+ * https://github.com/badrisnarayanan/antigravity-claude-proxy/pull/170
6
+ *
7
+ * Generates randomized device fingerprints to help distribute API usage
8
+ * across different apparent device identities.
9
+ */
10
+ export interface ClientMetadata {
11
+ ideType: string;
12
+ platform: string;
13
+ pluginType: string;
14
+ osVersion: string;
15
+ arch: string;
16
+ sqmId?: string;
17
+ }
18
+ export interface Fingerprint {
19
+ deviceId: string;
20
+ sessionToken: string;
21
+ userAgent: string;
22
+ apiClient: string;
23
+ clientMetadata: ClientMetadata;
24
+ quotaUser: string;
25
+ createdAt: number;
26
+ }
27
+ /**
28
+ * Fingerprint version for history tracking.
29
+ * Stores a snapshot of a fingerprint with metadata about when/why it was saved.
30
+ */
31
+ export interface FingerprintVersion {
32
+ fingerprint: Fingerprint;
33
+ timestamp: number;
34
+ reason: 'initial' | 'regenerated' | 'restored';
35
+ }
36
+ /** Maximum number of fingerprint versions to keep per account */
37
+ export declare const MAX_FINGERPRINT_HISTORY = 5;
38
+ export interface FingerprintHeaders {
39
+ "User-Agent": string;
40
+ "X-Goog-Api-Client": string;
41
+ "Client-Metadata": string;
42
+ "X-Goog-QuotaUser": string;
43
+ "X-Client-Device-Id": string;
44
+ }
45
+ /**
46
+ * Generate a randomized device fingerprint.
47
+ * Each fingerprint represents a unique "device" identity.
48
+ */
49
+ export declare function generateFingerprint(): Fingerprint;
50
+ /**
51
+ * Collect fingerprint based on actual current system.
52
+ * Uses real OS info instead of randomized values.
53
+ */
54
+ export declare function collectCurrentFingerprint(): Fingerprint;
55
+ /**
56
+ * Build HTTP headers from a fingerprint object.
57
+ * These headers are used to identify the "device" making API requests.
58
+ */
59
+ export declare function buildFingerprintHeaders(fingerprint: Fingerprint | null): Partial<FingerprintHeaders>;
60
+ /**
61
+ * Get or create the session fingerprint.
62
+ * Returns the same fingerprint for all calls within a session.
63
+ */
64
+ export declare function getSessionFingerprint(): Fingerprint;
65
+ /**
66
+ * Regenerate the session fingerprint.
67
+ * Call this to get a fresh identity (e.g., after rate limiting).
68
+ */
69
+ export declare function regenerateSessionFingerprint(): Fingerprint;
70
+ //# sourceMappingURL=fingerprint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint.d.ts","sourceRoot":"","sources":["../../../src/plugin/fingerprint.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuCH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc,EAAE,cAAc,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,WAAW,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,UAAU,CAAC;CAChD;AAED,iEAAiE;AACjE,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAEzC,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAcD;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CA+BjD;AAED;;;GAGG;AACH,wBAAgB,yBAAyB,IAAI,WAAW,CA8BvD;AAED;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAYpG;AAQD;;;GAGG;AACH,wBAAgB,qBAAqB,IAAI,WAAW,CAKnD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,WAAW,CAG1D"}