@cortexkit/antigravity-auth-core 2.0.0 → 2.0.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.
@@ -17,7 +17,6 @@ import { fetchWithActiveTimeout } from "./fetch-timeout.js";
17
17
  import { buildAntigravityHarnessUserAgent } from "./fingerprint.js";
18
18
  import { createLogger } from "./logger.js";
19
19
  import { getQuotaGroupForModel } from "./model-registry.js";
20
- import { getModelFamily } from "./transform/model-resolver.js";
21
20
  const log = createLogger('quota-manager');
22
21
  export const QUOTA_MANAGER_DEFAULT_BASE_BACKOFF_MS = 30_000;
23
22
  export const QUOTA_MANAGER_DEFAULT_MAX_BACKOFF_MS = 10 * 60 * 1000;
@@ -271,15 +270,19 @@ export function classifyQuotaGroup(modelName, displayName) {
271
270
  return registryGroup;
272
271
  }
273
272
  const combined = `${modelName} ${displayName ?? ''}`.toLowerCase();
274
- if (combined.includes('claude')) {
275
- return 'claude';
273
+ // Check Claude / GPT-OSS substrings BEFORE the `gemini` substring so a
274
+ // `gemini-claude-*` alias (Claude route exposed under a `gemini-`
275
+ // namespace) attributes to the non-gemini pool rather than the gemini
276
+ // pool. `tab_*` autocomplete IDs are already classified by
277
+ // `getQuotaGroupForModel` above (the registry/prefix branches), so
278
+ // this fallback only runs for genuinely-unrecognised model strings.
279
+ if (combined.includes('claude') || combined.includes('gpt-oss')) {
280
+ return 'non-gemini';
276
281
  }
277
- const isGemini3 = combined.includes('gemini-3') || combined.includes('gemini 3');
278
- if (!isGemini3) {
279
- return null;
282
+ if (combined.includes('gemini')) {
283
+ return 'gemini';
280
284
  }
281
- const family = getModelFamily(modelName);
282
- return family === 'gemini-flash' ? 'gemini-flash' : 'gemini-pro';
285
+ return null;
283
286
  }
284
287
  function normalizeRemainingFraction(value) {
285
288
  if (typeof value !== 'number' || !Number.isFinite(value)) {
@@ -360,6 +363,224 @@ export function aggregateQuota(models) {
360
363
  perModel.sort((a, b) => a.modelId.localeCompare(b.modelId));
361
364
  return { groups, perModel, modelCount: totalCount };
362
365
  }
366
+ /**
367
+ * Derive the most-constrained window from a set of window entries.
368
+ * Returns the entry with the smallest `remainingFraction` — this is the
369
+ * binding constraint for the pool. `resetTime` comes from the same window.
370
+ * Returns `undefined` when there are no windows.
371
+ */
372
+ function mostConstrainedWindow(windows) {
373
+ if (windows.length === 0)
374
+ return undefined;
375
+ let best = windows[0];
376
+ for (let i = 1; i < windows.length; i++) {
377
+ if (windows[i].remainingFraction < best.remainingFraction) {
378
+ best = windows[i];
379
+ }
380
+ }
381
+ return {
382
+ remainingFraction: best.remainingFraction,
383
+ resetTime: best.resetTime,
384
+ };
385
+ }
386
+ /**
387
+ * Map a retrieveUserQuotaSummary bucketId prefix to our internal pool.
388
+ *
389
+ * bucketId prefixes:
390
+ * `gemini-*` → gemini
391
+ * `3p-*` → non-gemini
392
+ */
393
+ function poolForBucketId(bucketId) {
394
+ if (bucketId.startsWith('gemini-'))
395
+ return 'gemini';
396
+ if (bucketId.startsWith('3p-'))
397
+ return 'non-gemini';
398
+ return null;
399
+ }
400
+ /**
401
+ * Count models listed in a group's description. The description is
402
+ * typically a comma-separated list of model names ("Claude Sonnet 4.6,
403
+ * Gemini 3.1 Pro, Flash") often prefixed with a label like
404
+ * "Models within this group:". Strip the prefix before splitting so
405
+ * the label itself is not counted as a model. Returns 0 for shapes
406
+ * that don't match a comma-separated list.
407
+ */
408
+ function parseDescriptionModelCount(description) {
409
+ const prefixMatch = description.match(/^[^:]+:\s*/);
410
+ const payload = prefixMatch
411
+ ? description.slice(prefixMatch[0].length)
412
+ : description;
413
+ if (!payload)
414
+ return 0;
415
+ const entries = payload
416
+ .split(',')
417
+ .map((entry) => entry.trim())
418
+ .filter((entry) => entry.length > 0);
419
+ return entries.length;
420
+ }
421
+ /**
422
+ * Map a quota window kind to its duration in milliseconds for
423
+ * deterministic sort order. Unknown windows get MAX_SAFE_INTEGER so
424
+ * they sort last without random reordering across runs.
425
+ */
426
+ function windowDurationMs(window) {
427
+ switch (window) {
428
+ case '5h':
429
+ return 5 * 60 * 60 * 1000;
430
+ case 'weekly':
431
+ return 7 * 24 * 60 * 60 * 1000;
432
+ default:
433
+ return Number.MAX_SAFE_INTEGER;
434
+ }
435
+ }
436
+ /**
437
+ * Aggregate a retrieveUserQuotaSummary response into a QuotaSummary.
438
+ *
439
+ * Each RUQS group maps to a pool via bucketId prefix. Within a pool,
440
+ * windows are stored shortest-first (5h before weekly, etc.). The pool's
441
+ * `remainingFraction`/`resetTime` derive from the most-constrained window.
442
+ */
443
+ export function aggregateQuotaSummary(response) {
444
+ const groups = {};
445
+ let totalCount = 0;
446
+ for (const group of response.groups) {
447
+ const windows = [];
448
+ for (const bucket of group.buckets) {
449
+ const pool = poolForBucketId(bucket.bucketId);
450
+ if (!pool)
451
+ continue;
452
+ windows.push({
453
+ window: bucket.window,
454
+ remainingFraction: normalizeRemainingFraction(bucket.remainingFraction),
455
+ resetTime: bucket.resetTime,
456
+ });
457
+ }
458
+ if (windows.length === 0)
459
+ continue;
460
+ // Order: shortest window first so the binding 5h window leads visually.
461
+ windows.sort((a, b) => windowDurationMs(a.window) - windowDurationMs(b.window));
462
+ const constrained = mostConstrainedWindow(windows);
463
+ // Pick the first RECOGNIZED bucket for pool derivation. Older
464
+ // servers may prepend a junk bucket (system noise, a non-standard
465
+ // prefix like `claude-3p-`) whose bucketId doesn't match any of
466
+ // our pool prefixes; the legacy poolForBucketId derivation used
467
+ // group.buckets[0] unconditionally, which silently dropped the
468
+ // whole group when an unknown prefix led the array.
469
+ const recognizedBucket = group.buckets.find((bucket) => poolForBucketId(bucket.bucketId));
470
+ if (!recognizedBucket)
471
+ continue;
472
+ const pool = poolForBucketId(recognizedBucket.bucketId);
473
+ if (!pool || !constrained)
474
+ continue;
475
+ // The description is a list of model names comma-separated, often
476
+ // prefixed with a label like "Models within this group:". Strip
477
+ // the prefix before splitting so it doesn't count as a model.
478
+ const modelCount = group.description
479
+ ? parseDescriptionModelCount(group.description)
480
+ : 0;
481
+ groups[pool] = {
482
+ remainingFraction: constrained.remainingFraction,
483
+ resetTime: constrained.resetTime,
484
+ modelCount,
485
+ windows,
486
+ };
487
+ totalCount += modelCount;
488
+ }
489
+ return { groups, modelCount: totalCount };
490
+ }
491
+ /**
492
+ * Fetch the windowed quota summary via `retrieveUserQuotaSummary`.
493
+ *
494
+ * Uses the same transport/UA/timeout conventions as `fetchAvailableModels`.
495
+ * On a 429 or 5xx against one endpoint, falls through to the next entry
496
+ * in `options.endpoints` (matching the legacy fetchers' failover
497
+ * convention). On 403 with the managedProjectId, retries with the
498
+ * regular projectId. If that also 403s, falls back to
499
+ * `fetchAvailableModels` so quota never goes dark. On missing
500
+ * managedProjectId, tries projectId first.
501
+ */
502
+ export async function fetchQuotaSummary(options) {
503
+ const timeoutMs = options.timeoutMs ?? QUOTA_MANAGER_DEFAULT_TIMEOUT_MS;
504
+ const userAgent = options.userAgent ?? buildAntigravityHarnessUserAgent();
505
+ const transport = options.fetchVia ?? defaultTransport;
506
+ const errors = [];
507
+ if (options.endpoints.length === 0) {
508
+ throw new Error('No endpoints configured for fetchQuotaSummary');
509
+ }
510
+ const tryBody = async (endpoint, projectId) => {
511
+ const body = { project: projectId };
512
+ try {
513
+ const response = await transport(`${endpoint}/v1internal:retrieveUserQuotaSummary`, {
514
+ method: 'POST',
515
+ headers: {
516
+ 'User-Agent': userAgent,
517
+ Authorization: `Bearer ${options.accessToken}`,
518
+ 'Content-Type': 'application/json',
519
+ 'Accept-Encoding': 'gzip',
520
+ },
521
+ body: JSON.stringify(body),
522
+ }, { timeoutMs });
523
+ if (response.ok) {
524
+ return {
525
+ ok: true,
526
+ summary: (await response.json()),
527
+ };
528
+ }
529
+ const status = response.status;
530
+ if (status === 403) {
531
+ errors.push(`retrieveUserQuotaSummary 403 at ${endpoint} (project=${projectId.slice(0, 12)}…)`);
532
+ return { ok: false, reason: '403' };
533
+ }
534
+ if (status === 429 || status >= 500) {
535
+ const message = await response.text().catch(() => '');
536
+ errors.push(`retrieveUserQuotaSummary ${status} at ${endpoint}${message ? `: ${message.trim().slice(0, 200)}` : ''}`);
537
+ // Endpoint failover: the caller may have multiple endpoints;
538
+ // continue to the next one with the same project ID.
539
+ return { ok: false, reason: 'transient' };
540
+ }
541
+ const message = await response.text().catch(() => '');
542
+ errors.push(`retrieveUserQuotaSummary ${status} at ${endpoint}${message ? `: ${message.trim().slice(0, 200)}` : ''}`);
543
+ return { ok: false, reason: 'transient' };
544
+ }
545
+ catch (error) {
546
+ errors.push(`retrieveUserQuotaSummary network error at ${endpoint}: ${error instanceof Error ? error.message : String(error)}`);
547
+ return { ok: false, reason: 'transient' };
548
+ }
549
+ };
550
+ // Try managedProjectId first, then projectId, then legacy fallback.
551
+ // For each project, iterate the endpoint list so a 500/429 on the
552
+ // primary endpoint falls through to the next entry.
553
+ const primary = options.managedProjectId ?? options.projectId;
554
+ let primaryGot403 = false;
555
+ if (primary) {
556
+ for (const endpoint of options.endpoints) {
557
+ const result = await tryBody(endpoint, primary);
558
+ if (result.ok)
559
+ return { summary: result.summary };
560
+ if (result.reason === '403')
561
+ primaryGot403 = true;
562
+ }
563
+ }
564
+ // Retry with the regular projectId ONLY when the managed-project attempt
565
+ // got a 403 (i.e. the managed project does not own the user). A transient
566
+ // failure (429, 5xx, network) must NOT fall through here — the regular
567
+ // projectId could return a different project's quota data.
568
+ const fallbackId = primaryGot403 &&
569
+ options.managedProjectId &&
570
+ options.projectId &&
571
+ options.managedProjectId !== options.projectId
572
+ ? options.projectId
573
+ : undefined;
574
+ if (fallbackId) {
575
+ for (const endpoint of options.endpoints) {
576
+ const result = await tryBody(endpoint, fallbackId);
577
+ if (result.ok)
578
+ return { summary: result.summary };
579
+ }
580
+ }
581
+ // Give up — the caller should fall back to fetchAvailableModels.
582
+ throw new Error(errors.join('; ') || 'fetchQuotaSummary failed: no project ID available');
583
+ }
363
584
  /**
364
585
  * Aggregate Gemini CLI quota buckets into a summary.
365
586
  */
@@ -450,10 +671,12 @@ export async function fetchAvailableModels(options) {
450
671
  export async function fetchGeminiCliQuota(options) {
451
672
  const timeoutMs = options.timeoutMs ?? QUOTA_MANAGER_DEFAULT_TIMEOUT_MS;
452
673
  const userAgent = options.userAgent ?? buildAntigravityHarnessUserAgent();
674
+ const transport = options.fetchVia ?? defaultTransport;
675
+ const errors = [];
453
676
  for (const endpoint of options.endpoints) {
454
677
  const body = options.projectId ? { project: options.projectId } : {};
455
678
  try {
456
- const response = await defaultTransport(`${endpoint}/v1internal:retrieveUserQuota`, {
679
+ const response = await transport(`${endpoint}/v1internal:retrieveUserQuota`, {
457
680
  method: 'POST',
458
681
  headers: {
459
682
  Authorization: `Bearer ${options.accessToken}`,
@@ -467,11 +690,25 @@ export async function fetchGeminiCliQuota(options) {
467
690
  }
468
691
  const status = response.status;
469
692
  if (status === 429 || status >= 500) {
693
+ errors.push(`fetchGeminiCliQuota ${status} at ${endpoint}`);
470
694
  continue;
471
695
  }
696
+ // Non-retryable server response (e.g. 403) — treat as no CLI quota.
472
697
  return { buckets: [] };
473
698
  }
474
- catch { }
699
+ catch (error) {
700
+ // Transport-level failure (network abort, DNS, timeout). Collect the
701
+ // error and try the next endpoint; if all endpoints fail, throw so
702
+ // the caller can distinguish a transient network failure from an
703
+ // authoritative 'no CLI quota configured' response.
704
+ errors.push(error instanceof Error ? error.message : String(error));
705
+ }
706
+ }
707
+ // All endpoints produced transport-level errors — propagate so the
708
+ // outer caller (quota.ts .catch) can surface the real failure reason
709
+ // rather than the generic 'No Gemini CLI quota available' message.
710
+ if (errors.length > 0) {
711
+ throw new Error(errors.join('; ') || 'fetchGeminiCliQuota failed');
475
712
  }
476
713
  return { buckets: [] };
477
714
  }
@@ -1 +1 @@
1
- {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../src/quota-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-manager.js","sourceRoot":"","sources":["../src/quota-manager.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAExC,OAAO,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,EAAE,gCAAgC,EAAE,MAAM,kBAAkB,CAAA;AACnE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAA;AAW3D,MAAM,GAAG,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;AAEzC,MAAM,CAAC,MAAM,qCAAqC,GAAG,MAAM,CAAA;AAC3D,MAAM,CAAC,MAAM,oCAAoC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;AAClE,MAAM,CAAC,MAAM,gCAAgC,GAAG,MAAM,CAAA;AA6EtD;;;GAGG;AACH,MAAM,UAAU,YAAY,CAAC,OAA0B;IACrD,IAAI,OAAO,CAAC,KAAK;QAAE,OAAO,KAAK,OAAO,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAA;IAC5D,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,IAAI,EAAE,CAAA;IACxC,OAAO,KAAK,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAA;AAC7E,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,OAA4B;IAC7D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAA;IAC7C,MAAM,aAAa,GACjB,OAAO,CAAC,aAAa,IAAI,qCAAqC,CAAA;IAChE,MAAM,YAAY,GAChB,OAAO,CAAC,YAAY,IAAI,oCAAoC,CAAA;IAC9D,MAAM,cAAc,GAClB,OAAO,CAAC,cAAc,IAAI,gCAAgC,CAAA;IAE5D,MAAM,KAAK,GAAG,IAAI,GAAG,EAAwB,CAAA;IAC7C,IAAI,QAAQ,GAAG,KAAK,CAAA;IAEpB,MAAM,KAAK,GAAG,CAAC,OAA0B,EAAU,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;IAE5E,MAAM,aAAa,GAAG,CAAC,GAAW,EAAQ,EAAE;QAC1C,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI,CAAC,KAAK;YAAE,OAAM;QAClB,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAA;QAC7B,KAAK,CAAC,YAAY,GAAG,CAAC,CAAA;IACxB,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CACpB,GAAW,EACkC,EAAE;QAC/C,MAAM,OAAO,GAAG,GAAG,EAAE,CAAA;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;YAC9B,mBAAmB,EAAE,CAAC;YACtB,YAAY,EAAE,CAAC;SAChB,CAAA;QACD,MAAM,QAAQ,GAAG,KAAK,CAAC,mBAAmB,GAAG,CAAC,CAAA;QAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CACxB,YAAY,EACZ,aAAa,GAAG,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CACpC,CAAA;QACD,KAAK,CAAC,mBAAmB,GAAG,QAAQ,CAAA;QACpC,KAAK,CAAC,YAAY,GAAG,OAAO,GAAG,SAAS,CAAA;QACxC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QACrB,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,KAAK,CAAC,YAAY,EAAE,CAAA;IACxD,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,CAAC,GAAW,EAAE,MAA0B,EAAQ,EAAE;QACpE,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;YAC9B,mBAAmB,EAAE,CAAC;YACtB,YAAY,EAAE,CAAC;SAChB,CAAA;QACD,KAAK,CAAC,MAAM,GAAG,MAAM,CAAA;QACrB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IACvB,CAAC,CAAA;IAED,MAAM,mBAAmB,GAAG,CAC1B,OAA0B,EAC1B,KAAa,EACO,EAAE,CAAC,CAAC;QACxB,KAAK;QACL,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,MAAM,EAAE,UAAU;QAClB,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;QACzB,cAAc,EAAE,SAAS;KAC1B,CAAC,CAAA;IAEF,MAAM,kBAAkB,GAAG,CACzB,OAA0B,EAC1B,KAAa,EACb,YAAoB,EACA,EAAE;QACtB,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,MAAM,CAAA;QAChD,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAA;QAC7B,CAAC;QACD,OAAO;YACL,KAAK;YACL,KAAK,EAAE,OAAO,CAAC,KAAK;YACpB,MAAM,EAAE,OAAO;YACf,KAAK,EAAE,wCAAwC,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,GAAG;SACvF,CAAA;IACH,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,KAAK,EAC1B,OAA0B,EAC1B,cAAqC,EACR,EAAE;QAC/B,IAAI,QAAQ,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EAAE,cAAc,CAAC,KAAK;gBAC3B,KAAK,EAAE,OAAO,CAAC,KAAK;gBACpB,MAAM,EAAE,OAAO;gBACf,KAAK,EAAE,wBAAwB;aAChC,CAAA;QACH,CAAC;QAED,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK,EAAE,GAAG,cAAc,CAAA;QAC/C,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,CAAA;QAE1B,IAAI,OAAO,CAAC,OAAO,KAAK,KAAK,EAAE,CAAC;YAC9B,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;YAClD,WAAW,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;YACxB,OAAO,MAAM,CAAA;QACf,CAAC;QAED,MAAM,OAAO,GAAG,GAAG,EAAE,CAAA;QACrB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;QAC5B,IAAI,CAAC,KAAK,IAAI,KAAK,IAAI,KAAK,CAAC,YAAY,GAAG,OAAO,EAAE,CAAC;YACpD,OAAO,kBAAkB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,YAAY,CAAC,CAAA;QAC/D,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,CAAA;QAChC,IAAI,QAAQ,EAAE,CAAC;YACb,oEAAoE;YACpE,4CAA4C;YAC5C,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAA;YAC7B,OAAO,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAA;QAC7B,CAAC;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAA;QACxC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI;YAC/B,mBAAmB,EAAE,CAAC;YACtB,YAAY,EAAE,CAAC;SAChB,CAAA;QACD,MAAM,CAAC,UAAU,GAAG,UAAU,CAAA;QAC9B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAEtB,MAAM,OAAO,GAAG,CAAC,KAAK,IAAiC,EAAE;YACvD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;gBAClD,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO;oBACzC,CAAC,CAAC,UAAU,CAAC,MAAM;oBACnB,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;gBAEhD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;gBAClE,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC9B,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAA;gBACrD,CAAC;gBACD,MAAM,UAAU,GAAuB,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,CAAA;gBAC3D,WAAW,CAAC,GAAG,EAAE,UAAU,CAAC,CAAA;gBAE5B,yDAAyD;gBACzD,qEAAqE;gBACrE,oEAAoE;gBACpE,kEAAkE;gBAClE,mEAAmE;gBACnE,IAAI,MAAM,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;oBAC9B,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;oBACxC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE;wBAChC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;wBACjB,SAAS;wBACT,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,yBAAyB;qBACjD,CAAC,CAAA;oBACF,OAAO,UAAU,CAAA;gBACnB,CAAC;gBAED,aAAa,CAAC,GAAG,CAAC,CAAA;gBAClB,OAAO,UAAU,CAAA;YACnB,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,OAAO,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;gBACtE,IAAI,QAAQ,IAAI,UAAU,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;oBAC1C,MAAM,aAAa,GAAuB;wBACxC,KAAK;wBACL,KAAK,EAAE,OAAO,CAAC,KAAK;wBACpB,MAAM,EAAE,OAAO;wBACf,KAAK,EAAE,OAAO;qBACf,CAAA;oBACD,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;oBAC/B,OAAO,aAAa,CAAA;gBACtB,CAAC;gBACD,MAAM,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC,GAAG,CAAC,CAAA;gBACxC,GAAG,CAAC,KAAK,CAAC,sBAAsB,EAAE;oBAChC,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC;oBACjB,SAAS;oBACT,KAAK,EAAE,OAAO;iBACf,CAAC,CAAA;gBACF,MAAM,aAAa,GAAuB;oBACxC,KAAK;oBACL,KAAK,EAAE,OAAO,CAAC,KAAK;oBACpB,MAAM,EAAE,OAAO;oBACf,KAAK,EAAE,OAAO;iBACf,CAAA;gBACD,WAAW,CAAC,GAAG,EAAE,aAAa,CAAC,CAAA;gBAC/B,OAAO,aAAa,CAAA;YACtB,CAAC;oBAAS,CAAC;gBACT,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAC/B,IAAI,QAAQ,EAAE,CAAC;oBACb,QAAQ,CAAC,QAAQ,GAAG,SAAS,CAAA;oBAC7B,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAA;oBAC/B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAA;gBAC1B,CAAC;YACH,CAAC;QACH,CAAC,CAAC,EAAE,CAAA;QAEJ,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAA;QACzB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;QAEtB,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,KAAK,EAC3B,QAA6B,EAC7B,cAAsC,EACP,EAAE;QACjC,MAAM,OAAO,GAAyB,EAAE,CAAA;QACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,MAAM,KAAK,GAAG,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;YAC9C,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,OAAO,EAAE;gBAC3C,KAAK;gBACL,KAAK,EAAE,cAAc,CAAC,KAAK;aAC5B,CAAC,CAAA;YACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;QACtB,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC,CAAA;IAED,MAAM,SAAS,GAAG,CAChB,OAA0B,EACM,EAAE;QAClC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAA;QACvC,OAAO,KAAK,EAAE,MAAM,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,eAAe,GAAG,CAAC,OAA0B,EAAU,EAAE;QAC7D,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,YAAY,IAAI,CAAC,CAAA;IACrD,CAAC,CAAA;IAED,MAAM,cAAc,GAAG,CACrB,MAAc,EACd,OAAmC,EAC3B,EAAE;QACV,MAAM,QAAQ,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACvE,OAAO,GAAG,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAA;IACzC,CAAC,CAAA;IAED,MAAM,OAAO,GAAG,KAAK,IAAmB,EAAE;QACxC,IAAI,QAAQ;YAAE,OAAM;QACpB,QAAQ,GAAG,IAAI,CAAA;QACf,iEAAiE;QACjE,mEAAmE;QACnE,mCAAmC;QACnC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CACxB,KAAK,CAAC,MAAM,EAAE,EACd,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAC1B,CAAC,MAAM,CACN,CAAC,OAAO,EAA0C,EAAE,CAAC,OAAO,IAAI,IAAI,CACrE,CAAA;QACD,iEAAiE;QACjE,kEAAkE;QAClE,oEAAoE;QACpE,oEAAoE;QACpE,mEAAmE;QACnE,gEAAgE;QAChE,iEAAiE;QACjE,4CAA4C;QAC5C,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,UAAU,EAAE,KAAK,EAAE,CAAA;QAC3B,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,mEAAmE;YACnE,oCAAoC;YACpC,MAAM,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,KAAK,EAAE,CAAC;YAC9B,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAA;QAC5B,CAAC;IACH,CAAC,CAAA;IAED,OAAO;QACL,cAAc;QACd,eAAe;QACf,SAAS;QACT,eAAe;QACf,cAAc;QACd,OAAO;QACP,kBAAkB;QAClB,cAAc;QACd,uBAAuB;KACxB,CAAA;AACH,CAAC;AAED,SAAS,OAAO,CAAC,GAAW;IAC1B,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;AACnE,CAAC;AAED,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAChC,SAAiB,EACjB,WAAoB;IAEpB,MAAM,aAAa,GAAG,qBAAqB,CAAC,SAAS,CAAC,CAAA;IACtD,IAAI,aAAa,EAAE,CAAC;QAClB,OAAO,aAAa,CAAA;IACtB,CAAC;IAED,MAAM,QAAQ,GAAG,GAAG,SAAS,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC,WAAW,EAAE,CAAA;IAClE,uEAAuE;IACvE,kEAAkE;IAClE,sEAAsE;IACtE,2DAA2D;IAC3D,mEAAmE;IACnE,oEAAoE;IACpE,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChE,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAChC,OAAO,QAAQ,CAAA;IACjB,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,CAAA;IACV,CAAC;IACD,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACvB,IAAI,KAAK,GAAG,CAAC;QAAE,OAAO,CAAC,CAAA;IACvB,OAAO,KAAK,CAAA;AACd,CAAC;AAED,SAAS,cAAc,CAAC,SAAkB;IACxC,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;IACvC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;QAChC,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,SAAS,CAAA;AAClB,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAiD;IAEjD,MAAM,MAAM,GAAmD,EAAE,CAAA;IACjE,MAAM,QAAQ,GAAyB,EAAE,CAAA;IACzC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,CAAC,EAAE,CAAA;IAC5C,CAAC;IAED,IAAI,UAAU,GAAG,CAAC,CAAA;IAClB,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,kBAAkB,CAC9B,SAAS,EACT,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS,CACrC,CAAA;QACD,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAA;QACjC,MAAM,iBAAiB,GAAG,SAAS;YACjC,CAAC,CAAC,0BAA0B,CAAC,SAAS,CAAC,iBAAiB,CAAC;YACzD,CAAC,CAAC,SAAS,CAAA;QACb,MAAM,SAAS,GAAG,SAAS,EAAE,SAAS,CAAA;QACtC,MAAM,cAAc,GAAG,cAAc,CAAC,SAAS,CAAC,CAAA;QAEhD,UAAU,IAAI,CAAC,CAAA;QAEf,QAAQ,CAAC,IAAI,CAAC;YACZ,OAAO,EAAE,SAAS;YAClB,WAAW,EAAE,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,SAAS;YACjD,KAAK;YACL,iBAAiB,EAAE,iBAAiB,IAAI,CAAC;YACzC,SAAS;SACV,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,SAAQ;QACV,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC9B,MAAM,SAAS,GAAG,CAAC,QAAQ,EAAE,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAA;QACjD,MAAM,aAAa,GACjB,iBAAiB,KAAK,SAAS;YAC7B,CAAC,CAAC,QAAQ,EAAE,iBAAiB;YAC7B,CAAC,CAAC,QAAQ,EAAE,iBAAiB,KAAK,SAAS;gBACzC,CAAC,CAAC,iBAAiB;gBACnB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB,CAAC,CAAA;QAE/D,IAAI,aAAa,GAAG,QAAQ,EAAE,SAAS,CAAA;QACvC,IAAI,cAAc,KAAK,IAAI,EAAE,CAAC;YAC5B,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC;gBACzB,aAAa,GAAG,SAAS,CAAA;YAC3B,CAAC;iBAAM,CAAC;gBACN,MAAM,iBAAiB,GAAG,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;gBAC5D,IAAI,iBAAiB,KAAK,IAAI,IAAI,cAAc,GAAG,iBAAiB,EAAE,CAAC;oBACrE,aAAa,GAAG,SAAS,CAAA;gBAC3B,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,CAAC,KAAK,CAAC,GAAG;YACd,iBAAiB,EAAE,aAAa;YAChC,SAAS,EAAE,aAAa;YACxB,UAAU,EAAE,SAAS;SACtB,CAAA;IACH,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAE3D,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA;AACrD,CAAC;AA0CD;;;;;GAKG;AACH,SAAS,qBAAqB,CAC5B,OAA2B;IAE3B,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,IAAI,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;IACtB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACxC,IAAI,OAAO,CAAC,CAAC,CAAE,CAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC3D,IAAI,GAAG,OAAO,CAAC,CAAC,CAAE,CAAA;QACpB,CAAC;IACH,CAAC;IACD,OAAO;QACL,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;QACzC,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAA;AACH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CAAC,QAAgB;IACvC,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAA;IACnD,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC;QAAE,OAAO,YAAY,CAAA;IACnD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;;;;;;GAOG;AACH,SAAS,0BAA0B,CAAC,WAAmB;IACrD,MAAM,WAAW,GAAG,WAAW,CAAC,KAAK,CAAC,YAAY,CAAC,CAAA;IACnD,MAAM,OAAO,GAAG,WAAW;QACzB,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QAC1C,CAAC,CAAC,WAAW,CAAA;IACf,IAAI,CAAC,OAAO;QAAE,OAAO,CAAC,CAAA;IACtB,MAAM,OAAO,GAAG,OAAO;SACpB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;IACtC,OAAO,OAAO,CAAC,MAAM,CAAA;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAS,gBAAgB,CAAC,MAAgC;IACxD,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,IAAI;YACP,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAC3B,KAAK,QAAQ;YACX,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAA;QAChC;YACE,OAAO,MAAM,CAAC,gBAAgB,CAAA;IAClC,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAA0C;IAE1C,MAAM,MAAM,GAAmD,EAAE,CAAA;IACjE,IAAI,UAAU,GAAG,CAAC,CAAA;IAElB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,OAAO,GAAuB,EAAE,CAAA;QACtC,KAAK,MAAM,MAAM,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YACnC,MAAM,IAAI,GAAG,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;YAC7C,IAAI,CAAC,IAAI;gBAAE,SAAQ;YACnB,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,iBAAiB,EAAE,0BAA0B,CAAC,MAAM,CAAC,iBAAiB,CAAC;gBACvE,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAC,CAAA;QACJ,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,SAAQ;QAElC,wEAAwE;QACxE,OAAO,CAAC,IAAI,CACV,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,MAAM,CAAC,CAClE,CAAA;QAED,MAAM,WAAW,GAAG,qBAAqB,CAAC,OAAO,CAAC,CAAA;QAClD,8DAA8D;QAC9D,kEAAkE;QAClE,gEAAgE;QAChE,gEAAgE;QAChE,+DAA+D;QAC/D,oDAAoD;QACpD,MAAM,gBAAgB,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACrD,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,CACjC,CAAA;QACD,IAAI,CAAC,gBAAgB;YAAE,SAAQ;QAC/B,MAAM,IAAI,GAAG,eAAe,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAA;QACvD,IAAI,CAAC,IAAI,IAAI,CAAC,WAAW;YAAE,SAAQ;QAEnC,kEAAkE;QAClE,gEAAgE;QAChE,8DAA8D;QAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW;YAClC,CAAC,CAAC,0BAA0B,CAAC,KAAK,CAAC,WAAW,CAAC;YAC/C,CAAC,CAAC,CAAC,CAAA;QAEL,MAAM,CAAC,IAAI,CAAC,GAAG;YACb,iBAAiB,EAAE,WAAW,CAAC,iBAAiB;YAChD,SAAS,EAAE,WAAW,CAAC,SAAS;YAChC,UAAU;YACV,OAAO;SACR,CAAA;QACD,UAAU,IAAI,UAAU,CAAA;IAC1B,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,CAAA;AAC3C,CAAC;AAwBD;;;;;;;;;;GAUG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,OAAiC;IAEjC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gCAAgC,CAAA;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gCAAgC,EAAE,CAAA;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAA;IACtD,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAA;IAClE,CAAC;IAUD,MAAM,OAAO,GAAG,KAAK,EACnB,QAAgB,EAChB,SAAiB,EACO,EAAE;QAC1B,MAAM,IAAI,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,CAAA;QACnC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,QAAQ,sCAAsC,EACjD;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,YAAY,EAAE,SAAS;oBACvB,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE;oBAC9C,cAAc,EAAE,kBAAkB;oBAClC,iBAAiB,EAAE,MAAM;iBAC1B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,EACD,EAAE,SAAS,EAAE,CACd,CAAA;YAED,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO;oBACL,EAAE,EAAE,IAAI;oBACR,OAAO,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqC;iBACrE,CAAA;YACH,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;YAC9B,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CACT,mCAAmC,QAAQ,aAAa,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CACnF,CAAA;gBACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,CAAA;YACrC,CAAC;YAED,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBACrD,MAAM,CAAC,IAAI,CACT,4BAA4B,MAAM,OAAO,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzG,CAAA;gBACD,6DAA6D;gBAC7D,qDAAqD;gBACrD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;YAC3C,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YACrD,MAAM,CAAC,IAAI,CACT,4BAA4B,MAAM,OAAO,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CACzG,CAAA;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,6CAA6C,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACnH,CAAA;YACD,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,CAAA;QAC3C,CAAC;IACH,CAAC,CAAA;IAED,oEAAoE;IACpE,kEAAkE;IAClE,oDAAoD;IACpD,MAAM,OAAO,GAAG,OAAO,CAAC,gBAAgB,IAAI,OAAO,CAAC,SAAS,CAAA;IAC7D,IAAI,aAAa,GAAG,KAAK,CAAA;IACzB,IAAI,OAAO,EAAE,CAAC;QACZ,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;YAC/C,IAAI,MAAM,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;YACjD,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK;gBAAE,aAAa,GAAG,IAAI,CAAA;QACnD,CAAC;IACH,CAAC;IAED,yEAAyE;IACzE,0EAA0E;IAC1E,uEAAuE;IACvE,2DAA2D;IAC3D,MAAM,UAAU,GACd,aAAa;QACb,OAAO,CAAC,gBAAgB;QACxB,OAAO,CAAC,SAAS;QACjB,OAAO,CAAC,gBAAgB,KAAK,OAAO,CAAC,SAAS;QAC5C,CAAC,CAAC,OAAO,CAAC,SAAS;QACnB,CAAC,CAAC,SAAS,CAAA;IACf,IAAI,UAAU,EAAE,CAAC;QACf,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;YAClD,IAAI,MAAM,CAAC,EAAE;gBAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,CAAA;QACnD,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,mDAAmD,CACzE,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAmC;IAEnC,MAAM,MAAM,GAAoC,EAAE,CAAA;IAElD,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvD,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,SAAQ;QACV,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QAC9B,MAAM,eAAe,GACnB,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/B,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC;YAC/B,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAA;QACnC,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,SAAQ;QACV,CAAC;QAED,MAAM,CAAC,IAAI,CAAC;YACV,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,0BAA0B,CAAC,MAAM,CAAC,iBAAiB,CAAC;YACvE,SAAS,EAAE,MAAM,CAAC,SAAS;SAC5B,CAAC,CAAA;IACJ,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAA;IAEzD,OAAO,EAAE,MAAM,EAAE,CAAA;AACnB,CAAC;AA0BD,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,OAAoC;IAEpC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gCAAgC,CAAA;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gCAAgC,EAAE,CAAA;IACzE,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAA;IAEtD,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,QAAQ,kCAAkC,EAC7C;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,YAAY,EAAE,SAAS;oBACvB,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE;oBAC9C,cAAc,EAAE,kBAAkB;oBAClC,iBAAiB,EAAE,MAAM;iBAC1B;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,EACD,EAAE,SAAS,EAAE,CACd,CAAA;YAED,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAiC,CAAA;YAChE,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;YAE9B,IAAI,MAAM,KAAK,GAAG,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBACxC,IAAI,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,SAAS,CACnC,GAAG,QAAQ,kCAAkC,EAC7C;wBACE,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACP,YAAY,EAAE,SAAS;4BACvB,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE;4BAC9C,cAAc,EAAE,kBAAkB;4BAClC,iBAAiB,EAAE,MAAM;yBAC1B;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;qBACzB,EACD,EAAE,SAAS,EAAE,CACd,CAAA;oBACD,IAAI,aAAa,CAAC,EAAE,EAAE,CAAC;wBACrB,OAAO,CAAC,MAAM,aAAa,CAAC,IAAI,EAAE,CAAiC,CAAA;oBACrE,CAAC;gBACH,CAAC;gBAAC,MAAM,CAAC;oBACP,gCAAgC;gBAClC,CAAC;YACH,CAAC;YAED,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBACpC,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;gBACrD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;gBAC5C,MAAM,CAAC,IAAI,CACT,wBAAwB,MAAM,OAAO,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChF,CAAA;gBACD,SAAQ;YACV,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAA;YACrD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAA;YAC5C,MAAM,CAAC,IAAI,CACT,wBAAwB,MAAM,OAAO,QAAQ,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAChF,CAAA;YACD,MAAK;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CACT,yCAAyC,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAC/G,CAAA;QACH,CAAC;IACH,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,6BAA6B,CAAC,CAAA;AACrE,CAAC;AAmBD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,OAAmC;IAEnC,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gCAAgC,CAAA;IACvE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,gCAAgC,EAAE,CAAA;IACzE,MAAM,SAAS,GAAG,OAAO,CAAC,QAAQ,IAAI,gBAAgB,CAAA;IACtD,MAAM,MAAM,GAAa,EAAE,CAAA;IAE3B,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;QACzC,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;QACpE,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,SAAS,CAC9B,GAAG,QAAQ,+BAA+B,EAC1C;gBACE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE;oBACP,aAAa,EAAE,UAAU,OAAO,CAAC,WAAW,EAAE;oBAC9C,cAAc,EAAE,kBAAkB;oBAClC,YAAY,EAAE,SAAS;iBACxB;gBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aAC3B,EACD,EAAE,SAAS,EAAE,CACd,CAAA;YAED,IAAI,QAAQ,CAAC,EAAE,EAAE,CAAC;gBAChB,OAAO,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAA8B,CAAA;YAC7D,CAAC;YAED,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;YAC9B,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,IAAI,GAAG,EAAE,CAAC;gBACpC,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,OAAO,QAAQ,EAAE,CAAC,CAAA;gBAC3D,SAAQ;YACV,CAAC;YACD,oEAAoE;YACpE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;QACxB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,qEAAqE;YACrE,mEAAmE;YACnE,iEAAiE;YACjE,oDAAoD;YACpD,MAAM,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QACrE,CAAC;IACH,CAAC;IAED,mEAAmE;IACnE,qEAAqE;IACrE,mEAAmE;IACnE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,4BAA4B,CAAC,CAAA;IACpE,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;AACxB,CAAC;AAED,KAAK,UAAU,gBAAgB,CAC7B,GAAW,EACX,IAAiB,EACjB,OAA8B;IAE9B,OAAO,sBAAsB,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAA;AAC5E,CAAC"}
@@ -7,12 +7,31 @@
7
7
  * migration on the persisted account pool.
8
8
  */
9
9
  import type { AccountMetadataV3 } from './account-types.ts';
10
- export type QuotaGroup = 'claude' | 'gemini-pro' | 'gemini-flash' | 'gpt-oss';
10
+ export type QuotaGroup = 'gemini' | 'non-gemini';
11
+ export type QuotaWindow = 'weekly' | '5h';
12
+ export interface QuotaWindowEntry {
13
+ window: QuotaWindow;
14
+ remainingFraction: number;
15
+ resetTime: string;
16
+ }
11
17
  export interface QuotaGroupSummary {
18
+ /** Most-constrained window's remainingFraction (derived from `windows`). */
12
19
  remainingFraction?: number;
20
+ /** Most-constrained window's resetTime (derived from `windows`). */
13
21
  resetTime?: string;
14
22
  modelCount: number;
23
+ /**
24
+ * Per-window breakdown from the retrieveUserQuotaSummary response.
25
+ * shortest-first (5h before weekly, etc.). Omitted in legacy cached shapes —
26
+ * consumers treat a single remainingFraction as one unlabeled window.
27
+ */
28
+ windows?: QuotaWindowEntry[];
15
29
  }
30
+ /**
31
+ * Migrate pre-pool quota keys while loading persisted account data. Current
32
+ * keys pass through unchanged, making this safe for every storage read.
33
+ */
34
+ export declare function normalizeLegacyCachedQuota(raw: AccountMetadataV3['cachedQuota']): Partial<Record<QuotaGroup, QuotaGroupSummary>> | undefined;
16
35
  export interface PerModelQuotaEntry {
17
36
  modelId: string;
18
37
  displayName?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"quota-types.d.ts","sourceRoot":"","sources":["../src/quota-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,cAAc,GAAG,SAAS,CAAA;AAE7E,MAAM,WAAW,iBAAiB;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACtD,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,UAAU,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,cAAc,CAAC,EAAE,qBAAqB,CAAA;IACtC,cAAc,CAAC,EAAE,iBAAiB,CAAA;CACnC"}
1
+ {"version":3,"file":"quota-types.d.ts","sourceRoot":"","sources":["../src/quota-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAE3D,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,CAAA;AAEhD,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,IAAI,CAAA;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,WAAW,CAAA;IACnB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAiB;IAChC,4EAA4E;IAC5E,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,oEAAoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,EAAE,MAAM,CAAA;IAClB;;;;OAIG;IACH,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAA;CAC7B;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CACxC,GAAG,EAAE,iBAAiB,CAAC,aAAa,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,GAAG,SAAS,CAsD5D;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,EAAE,UAAU,GAAG,IAAI,CAAA;IACxB,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAA;IACtD,QAAQ,CAAC,EAAE,kBAAkB,EAAE,CAAA;IAC/B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,MAAM,CAAA;IACf,iBAAiB,EAAE,MAAM,CAAA;IACzB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,mBAAmB,EAAE,CAAA;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAA;CACf;AAED,MAAM,MAAM,kBAAkB,GAAG,IAAI,GAAG,UAAU,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,kBAAkB,CAAA;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,KAAK,CAAC,EAAE,YAAY,CAAA;IACpB,cAAc,CAAC,EAAE,qBAAqB,CAAA;IACtC,cAAc,CAAC,EAAE,iBAAiB,CAAA;CACnC"}
@@ -6,5 +6,45 @@
6
6
  * separate from `account-types.ts` so quota evolution does not force a
7
7
  * migration on the persisted account pool.
8
8
  */
9
- export {};
9
+ /**
10
+ * Migrate pre-pool quota keys while loading persisted account data. Current
11
+ * keys pass through unchanged, making this safe for every storage read.
12
+ */
13
+ export function normalizeLegacyCachedQuota(raw) {
14
+ if (!raw)
15
+ return raw;
16
+ const hasLegacy = 'gemini-pro' in raw ||
17
+ 'gemini-flash' in raw ||
18
+ 'claude' in raw ||
19
+ 'gpt-oss' in raw;
20
+ if (!hasLegacy)
21
+ return raw;
22
+ const earlierResetTime = (a, b) => {
23
+ if (!a)
24
+ return b;
25
+ if (!b)
26
+ return a;
27
+ return a < b ? a : b;
28
+ };
29
+ const minFraction = (a, b) => {
30
+ if (!a)
31
+ return b;
32
+ if (!b)
33
+ return a;
34
+ const fa = a.remainingFraction ?? 1;
35
+ const fb = b.remainingFraction ?? 1;
36
+ const winner = fa <= fb ? a : b;
37
+ const loser = fa <= fb ? b : a;
38
+ return {
39
+ ...winner,
40
+ resetTime: earlierResetTime(winner.resetTime, loser.resetTime),
41
+ };
42
+ };
43
+ const gemini = minFraction(raw.gemini, minFraction(raw['gemini-pro'], raw['gemini-flash']));
44
+ const nonGemini = minFraction(raw['non-gemini'], minFraction(raw.claude, raw['gpt-oss']));
45
+ return {
46
+ ...(gemini !== undefined ? { gemini } : {}),
47
+ ...(nonGemini !== undefined ? { 'non-gemini': nonGemini } : {}),
48
+ };
49
+ }
10
50
  //# sourceMappingURL=quota-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"quota-types.js","sourceRoot":"","sources":["../src/quota-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
1
+ {"version":3,"file":"quota-types.js","sourceRoot":"","sources":["../src/quota-types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA4BH;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CACxC,GAAqC;IAErC,IAAI,CAAC,GAAG;QAAE,OAAO,GAAG,CAAA;IAEpB,MAAM,SAAS,GACb,YAAY,IAAI,GAAG;QACnB,cAAc,IAAI,GAAG;QACrB,QAAQ,IAAI,GAAG;QACf,SAAS,IAAI,GAAG,CAAA;IAClB,IAAI,CAAC,SAAS;QAAE,OAAO,GAAG,CAAA;IAE1B,MAAM,gBAAgB,GAAG,CACvB,CAAqB,EACrB,CAAqB,EACD,EAAE;QACtB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC,CAAA;IAED,MAAM,WAAW,GAAG,CAClB,CAAgC,EAChC,CAAgC,EACD,EAAE;QACjC,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,IAAI,CAAC,CAAC;YAAE,OAAO,CAAC,CAAA;QAChB,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAA;QACnC,MAAM,EAAE,GAAG,CAAC,CAAC,iBAAiB,IAAI,CAAC,CAAA;QACnC,MAAM,MAAM,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC/B,MAAM,KAAK,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC9B,OAAO;YACL,GAAG,MAAM;YACT,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC;SAC/D,CAAA;IACH,CAAC,CAAA;IAED,MAAM,MAAM,GAAG,WAAW,CACxB,GAAG,CAAC,MAAuC,EAC3C,WAAW,CACT,GAAG,CAAC,YAAY,CAAkC,EAClD,GAAG,CAAC,cAAc,CAAkC,CACrD,CACF,CAAA;IACD,MAAM,SAAS,GAAG,WAAW,CAC3B,GAAG,CAAC,YAAY,CAAkC,EAClD,WAAW,CACT,GAAG,CAAC,MAAuC,EAC3C,GAAG,CAAC,SAAS,CAAkC,CAChD,CACF,CAAA;IAED,OAAO;QACL,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAChE,CAAA;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cortexkit/antigravity-auth-core",
3
- "version": "2.0.0",
3
+ "version": "2.0.1",
4
4
  "description": "Harness-agnostic core for Google Antigravity OAuth: transport, fingerprint, request transforms, accounts, quota",
5
5
  "type": "module",
6
6
  "license": "MIT",