@cortexkit/antigravity-auth-core 3.0.9 → 3.0.11

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 (40) hide show
  1. package/dist/common-auth-embedded/claustrum/consumer.d.ts +3 -1
  2. package/dist/common-auth-embedded/claustrum/consumer.js +25 -21
  3. package/dist/common-auth-embedded/claustrum/enrollment.d.ts +5 -0
  4. package/dist/common-auth-embedded/claustrum/enrollment.js +27 -0
  5. package/dist/common-auth-embedded/claustrum/index.d.ts +1 -0
  6. package/dist/common-auth-embedded/claustrum/index.js +1 -0
  7. package/dist/common-auth-embedded/claustrum/quota-writer.d.ts +18 -0
  8. package/dist/common-auth-embedded/claustrum/quota-writer.js +253 -0
  9. package/dist/common-auth-embedded/claustrum/roster.d.ts +18 -2
  10. package/dist/common-auth-embedded/claustrum/roster.js +100 -43
  11. package/dist/common-auth-embedded/fs/private-files.d.ts +2 -0
  12. package/dist/common-auth-embedded/fs/private-files.js +49 -3
  13. package/dist/common-auth-embedded/fs/with-lock.d.ts +1 -0
  14. package/dist/common-auth-embedded/fs/with-lock.js +2 -0
  15. package/dist/common-auth-embedded/quota/format.d.ts +19 -0
  16. package/dist/common-auth-embedded/quota/format.js +50 -5
  17. package/dist/common-auth-embedded/quota/index.d.ts +3 -3
  18. package/dist/common-auth-embedded/quota/index.js +2 -2
  19. package/dist/common-auth-embedded/quota/map.d.ts +24 -1
  20. package/dist/common-auth-embedded/quota/map.js +31 -6
  21. package/dist/common-auth-embedded/quota/merge.d.ts +6 -1
  22. package/dist/common-auth-embedded/quota/merge.js +17 -3
  23. package/dist/common-auth-embedded/quota/projection.d.ts +3 -1
  24. package/dist/common-auth-embedded/quota/projection.js +3 -1
  25. package/dist/common-auth-embedded/source-output.json +89 -73
  26. package/dist/pre-response-deadline.d.ts.map +1 -1
  27. package/dist/pre-response-deadline.js +5 -1
  28. package/dist/pre-response-deadline.js.map +1 -1
  29. package/dist/quota-manager.d.ts +3 -3
  30. package/dist/quota-manager.d.ts.map +1 -1
  31. package/dist/quota-manager.js +59 -36
  32. package/dist/quota-manager.js.map +1 -1
  33. package/dist/transform/gemini.d.ts.map +1 -1
  34. package/dist/transform/gemini.js +12 -0
  35. package/dist/transform/gemini.js.map +1 -1
  36. package/dist/vault-enrollment-authority.d.ts +2 -0
  37. package/dist/vault-enrollment-authority.d.ts.map +1 -1
  38. package/dist/vault-enrollment-authority.js +2 -0
  39. package/dist/vault-enrollment-authority.js.map +1 -1
  40. package/package.json +1 -1
@@ -11,7 +11,7 @@
11
11
  // no entry gets an absence record. A pair outside the coverage is never
12
12
  // touched, so a header-shaped partial observation (which covers only what it
13
13
  // carries) cannot erase a family limit or the budget.
14
- import { ALL_SCOPE, decodeQuotaMap, entryTime, isQuotaCounters, limitKey, } from './map.js';
14
+ import { ALL_SCOPE, decodeQuotaMap, entryTime, isQuotaCounters, isQuotaCredits, limitKey, } from './map.js';
15
15
  /** Thrown by `mergeQuotaObservation` when either argument is malformed. */
16
16
  export class QuotaCodecError extends TypeError {
17
17
  constructor(message) {
@@ -84,7 +84,8 @@ export function isQuotaObservation(value) {
84
84
  if (!coverage.every(isObservedPair))
85
85
  return false;
86
86
  return ((value.budget === undefined || isObservedBudget(value.budget)) &&
87
- (value.counters === undefined || isQuotaCounters(value.counters)));
87
+ (value.counters === undefined || isQuotaCounters(value.counters)) &&
88
+ (value.credits === undefined || isQuotaCredits(value.credits)));
88
89
  }
89
90
  function compareEntries(left, right) {
90
91
  if (left.scope !== right.scope)
@@ -110,6 +111,17 @@ function mergeCounters(stored, observed) {
110
111
  }
111
112
  return counters.size === 0 ? undefined : Object.fromEntries(counters);
112
113
  }
114
+ // Credits merge like a single counter: the newer record wins, an equal time
115
+ // applies (the observation applied last wins), and an observation without
116
+ // credits leaves the stored record alone.
117
+ function mergeCredits(stored, observed) {
118
+ if (observed === undefined)
119
+ return stored;
120
+ if (stored !== undefined && observed.checkedAt < stored.checkedAt) {
121
+ return stored;
122
+ }
123
+ return { ...observed };
124
+ }
113
125
  /**
114
126
  * Applies `observation` to `stored` (undefined for a row with no map yet) and
115
127
  * returns the new map. Pure: neither argument is modified. Throws
@@ -166,13 +178,15 @@ export function mergeQuotaObservation(stored, observation) {
166
178
  : { scope, label: pair.label, kind: 'retired', retiredAt: at });
167
179
  }
168
180
  // Keys this module does not recognise are carried over untouched.
169
- const { limits: _limits, budget: _budget, counters: _counters, ...unknownKeys } = base;
181
+ const { limits: _limits, budget: _budget, counters: _counters, credits: _credits, ...unknownKeys } = base;
170
182
  const budget = mergeBudget(base.budget, observation.budget, at);
171
183
  const counters = mergeCounters(base.counters, observation.counters);
184
+ const credits = mergeCredits(base.credits, observation.credits);
172
185
  return {
173
186
  ...unknownKeys,
174
187
  limits: [...entries.values()].sort(compareEntries),
175
188
  ...(budget === undefined ? {} : { budget }),
176
189
  ...(counters === undefined ? {} : { counters }),
190
+ ...(credits === undefined ? {} : { credits }),
177
191
  };
178
192
  }
@@ -1,4 +1,4 @@
1
- import { type QuotaCounter, type QuotaMap } from './map.js';
1
+ import { type QuotaCounter, type QuotaCredits, type QuotaMap } from './map.js';
2
2
  export interface ProjectedLimit {
3
3
  scope: string;
4
4
  label: string;
@@ -40,6 +40,8 @@ export interface ProjectedQuota {
40
40
  /** Present only when the stored budget is a reading, not cleared. */
41
41
  budget?: ProjectedBudget;
42
42
  counters?: Record<string, QuotaCounter>;
43
+ /** The stored prepaid credits, unchanged in every scope. */
44
+ credits?: QuotaCredits;
43
45
  /**
44
46
  * The named groups the windows belong to, in the order the plugin lists
45
47
  * them. Set only by a plugin whose windows all belong to such groups; the
@@ -6,7 +6,7 @@
6
6
  // scope, orders the result the way the primitives expect, and carries each
7
7
  // entry's (scope, label) so a decision names the limit it judged rather than
8
8
  // the position it occupied.
9
- import { ALL_SCOPE, readQuotaCounters, } from './map.js';
9
+ import { ALL_SCOPE, isQuotaCredits, readQuotaCounters, } from './map.js';
10
10
  function project(entry) {
11
11
  if (entry.kind === 'retired') {
12
12
  return {
@@ -95,12 +95,14 @@ export function projectQuota(map, scope = ALL_SCOPE) {
95
95
  : undefined;
96
96
  const budget = map?.budget?.kind === 'reading' ? projectBudget(map.budget) : undefined;
97
97
  const counters = readQuotaCounters(map?.counters);
98
+ const credits = isQuotaCredits(map?.credits) ? map.credits : undefined;
98
99
  return {
99
100
  scope,
100
101
  limits,
101
102
  ...(checkedAt === undefined ? {} : { checkedAt }),
102
103
  ...(budget === undefined ? {} : { budget }),
103
104
  ...(counters === undefined ? {} : { counters }),
105
+ ...(credits === undefined ? {} : { credits }),
104
106
  };
105
107
  }
106
108
  /**
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "schema": 1,
3
3
  "package": "@cortexkit/common-auth",
4
- "version": "0.22.0",
4
+ "version": "0.24.0",
5
5
  "artifactStatus": "published",
6
6
  "publicRoots": {
7
7
  "./store": {
@@ -37,15 +37,15 @@
37
37
  "import": "./dist/pi-slot/index.js"
38
38
  }
39
39
  },
40
- "input": "tools/common-auth-build/inputs/cortexkit-common-auth-0.22.0.tgz",
41
- "tarballSha256": "846844993cfddd8511e5cf9b0a364629b210a3efbd086ba7d51eed8fc52581ab",
42
- "sri": "sha512-02yOfdzAI1QSwtofnjvSeFsELl6Lo1kp7jE4pCRFLRx0q0aFxlGeJgWacIVvM7y/DClkhstQvaRrtL/VSs8jUQ==",
43
- "canonicalFiles": 137,
44
- "canonicalBytes": 836435,
40
+ "input": "tools/common-auth-build/inputs/cortexkit-common-auth-0.24.0.tgz",
41
+ "tarballSha256": "7b96e74e4017df1678050b1fe18ca821a548da4412414d4df222307a7c1d0ca0",
42
+ "sri": "sha512-dHGHnWBbVC/NHTq22GlFaqYFWg7M1TcCYZvYVIML1bx/rQiIoG05t/ojXjRWdrymHV7GYoaE+yx0YdYHHrPByQ==",
43
+ "canonicalFiles": 139,
44
+ "canonicalBytes": 861956,
45
45
  "generator": {
46
46
  "path": "packages/opencode/scripts/embed-common-auth.ts",
47
47
  "version": 3,
48
- "sha256": "01b7caa2370617052fe82fa0f7dd3ebc43d23de75e19b53a8683150259a1d5bc"
48
+ "sha256": "0d093bc6e05261723f521904c32a328d890fdac5d00bf8b7035708ae44674103"
49
49
  },
50
50
  "files": [
51
51
  {
@@ -227,17 +227,17 @@
227
227
  {
228
228
  "source": "package/dist/claustrum/consumer.d.ts",
229
229
  "output": "claustrum/consumer.d.ts",
230
- "bytes": 9422,
231
- "sourceSha256": "757c3c0e9a0d03984d0510dc5a6248e35426fe03d2b72a0a1f59204b9f1666ef",
232
- "outputSha256": "757c3c0e9a0d03984d0510dc5a6248e35426fe03d2b72a0a1f59204b9f1666ef",
230
+ "bytes": 9548,
231
+ "sourceSha256": "150eac9038881740a78e5664501a6ef0aa5e177a6dd46854cbeaf38513463e90",
232
+ "outputSha256": "150eac9038881740a78e5664501a6ef0aa5e177a6dd46854cbeaf38513463e90",
233
233
  "transform": "verbatim"
234
234
  },
235
235
  {
236
236
  "source": "package/dist/claustrum/consumer.js",
237
237
  "output": "claustrum/consumer.js",
238
- "bytes": 25150,
239
- "sourceSha256": "58cd180a286241cbe699441939045a28132c04ba1fb0b4e5a07ff1b18b3ff486",
240
- "outputSha256": "58cd180a286241cbe699441939045a28132c04ba1fb0b4e5a07ff1b18b3ff486",
238
+ "bytes": 25698,
239
+ "sourceSha256": "ec47dc016bf4d95655c17093a78d9c214b623214c821d352f73ea60f830c0d83",
240
+ "outputSha256": "ec47dc016bf4d95655c17093a78d9c214b623214c821d352f73ea60f830c0d83",
241
241
  "transform": "verbatim"
242
242
  },
243
243
  {
@@ -259,17 +259,17 @@
259
259
  {
260
260
  "source": "package/dist/claustrum/enrollment.d.ts",
261
261
  "output": "claustrum/enrollment.d.ts",
262
- "bytes": 7743,
263
- "sourceSha256": "7503e56a09f94e77a94a7ae15fd616f149ec9f675ec7c79bdea4a014ca014143",
264
- "outputSha256": "7503e56a09f94e77a94a7ae15fd616f149ec9f675ec7c79bdea4a014ca014143",
262
+ "bytes": 7976,
263
+ "sourceSha256": "d6b4e8561ccc0ff2f9b4386856c5fe3dc7c475e13f98314a0666d0b20458d43b",
264
+ "outputSha256": "d6b4e8561ccc0ff2f9b4386856c5fe3dc7c475e13f98314a0666d0b20458d43b",
265
265
  "transform": "verbatim"
266
266
  },
267
267
  {
268
268
  "source": "package/dist/claustrum/enrollment.js",
269
269
  "output": "claustrum/enrollment.js",
270
- "bytes": 33520,
271
- "sourceSha256": "eeac604495c093503007478ab803c05b6e0bce8bf281f8bf9bbfee44c8ff85f1",
272
- "outputSha256": "eeac604495c093503007478ab803c05b6e0bce8bf281f8bf9bbfee44c8ff85f1",
270
+ "bytes": 35060,
271
+ "sourceSha256": "a9ca3a23778cc86ab9798051ba19dcb3b2b8e3dc4c4fda356cbd56eca50097db",
272
+ "outputSha256": "a9ca3a23778cc86ab9798051ba19dcb3b2b8e3dc4c4fda356cbd56eca50097db",
273
273
  "transform": "verbatim"
274
274
  },
275
275
  {
@@ -307,17 +307,17 @@
307
307
  {
308
308
  "source": "package/dist/claustrum/index.d.ts",
309
309
  "output": "claustrum/index.d.ts",
310
- "bytes": 3708,
311
- "sourceSha256": "97dc7d8f1cd9a74301a55569a06a2661d54966240edbfdcaf5989d112ec94885",
312
- "outputSha256": "97dc7d8f1cd9a74301a55569a06a2661d54966240edbfdcaf5989d112ec94885",
310
+ "bytes": 3761,
311
+ "sourceSha256": "f2c1b8d99048666c068805b08b430492b2632be08e2beda466ee56b871572847",
312
+ "outputSha256": "f2c1b8d99048666c068805b08b430492b2632be08e2beda466ee56b871572847",
313
313
  "transform": "verbatim"
314
314
  },
315
315
  {
316
316
  "source": "package/dist/claustrum/index.js",
317
317
  "output": "claustrum/index.js",
318
- "bytes": 2456,
319
- "sourceSha256": "1e2ae0ee6f2754189e846298a1c6ce2dd4a5eb8cb7f9293f6c24f9725b8537be",
320
- "outputSha256": "1e2ae0ee6f2754189e846298a1c6ce2dd4a5eb8cb7f9293f6c24f9725b8537be",
318
+ "bytes": 2509,
319
+ "sourceSha256": "5f8b4bebfc2dec055b69769adcd1ce48ad7acc2c26256edbe4a2e984dc788147",
320
+ "outputSha256": "5f8b4bebfc2dec055b69769adcd1ce48ad7acc2c26256edbe4a2e984dc788147",
321
321
  "transform": "verbatim"
322
322
  },
323
323
  {
@@ -352,20 +352,36 @@
352
352
  "outputSha256": "031b95ccc3b3779ddb3be78278b29d6b2a741fc8217443a610ad2f98fe33ef33",
353
353
  "transform": "verbatim"
354
354
  },
355
+ {
356
+ "source": "package/dist/claustrum/quota-writer.d.ts",
357
+ "output": "claustrum/quota-writer.d.ts",
358
+ "bytes": 1112,
359
+ "sourceSha256": "35c3193c833ef169b5ebd9fdb03a8e08c234e9154b68b04d3cbea79975fffd14",
360
+ "outputSha256": "35c3193c833ef169b5ebd9fdb03a8e08c234e9154b68b04d3cbea79975fffd14",
361
+ "transform": "verbatim"
362
+ },
363
+ {
364
+ "source": "package/dist/claustrum/quota-writer.js",
365
+ "output": "claustrum/quota-writer.js",
366
+ "bytes": 9694,
367
+ "sourceSha256": "5a7d5d1059dcadc06aa41e81e0707cc444636473822047f0ec72da7589c770f1",
368
+ "outputSha256": "5a7d5d1059dcadc06aa41e81e0707cc444636473822047f0ec72da7589c770f1",
369
+ "transform": "verbatim"
370
+ },
355
371
  {
356
372
  "source": "package/dist/claustrum/roster.d.ts",
357
373
  "output": "claustrum/roster.d.ts",
358
- "bytes": 9932,
359
- "sourceSha256": "7c5684ff5c3f66d418f3624d07565a08556662f445cb96a7575a270851fab9c3",
360
- "outputSha256": "7c5684ff5c3f66d418f3624d07565a08556662f445cb96a7575a270851fab9c3",
374
+ "bytes": 10931,
375
+ "sourceSha256": "c394bc08c7cce4dc68fd539ac03cb200727534693600c7daf5ba7c9c4d0618ce",
376
+ "outputSha256": "c394bc08c7cce4dc68fd539ac03cb200727534693600c7daf5ba7c9c4d0618ce",
361
377
  "transform": "verbatim"
362
378
  },
363
379
  {
364
380
  "source": "package/dist/claustrum/roster.js",
365
381
  "output": "claustrum/roster.js",
366
- "bytes": 25106,
367
- "sourceSha256": "e6ac8f59dab51db4756ccbaa89fc73acd213a7a4795fdf5a7c7e4f653455fe94",
368
- "outputSha256": "e6ac8f59dab51db4756ccbaa89fc73acd213a7a4795fdf5a7c7e4f653455fe94",
382
+ "bytes": 27602,
383
+ "sourceSha256": "45ed2d4e69fad154ce86f5ff4f839c2ae9269dd9146ce7a8b2e5b6f49476ddf8",
384
+ "outputSha256": "45ed2d4e69fad154ce86f5ff4f839c2ae9269dd9146ce7a8b2e5b6f49476ddf8",
369
385
  "transform": "verbatim"
370
386
  },
371
387
  {
@@ -531,17 +547,17 @@
531
547
  {
532
548
  "source": "package/dist/fs/private-files.d.ts",
533
549
  "output": "fs/private-files.d.ts",
534
- "bytes": 3228,
535
- "sourceSha256": "1882d869cfebb3cebc8b9db47fb15083f8300c51c26c71666e898377fcd9a1ba",
536
- "outputSha256": "1882d869cfebb3cebc8b9db47fb15083f8300c51c26c71666e898377fcd9a1ba",
550
+ "bytes": 3398,
551
+ "sourceSha256": "b344509a32fcd983f09e5814286630a53c8e577ad1b973eabe19f8e58659e8d3",
552
+ "outputSha256": "b344509a32fcd983f09e5814286630a53c8e577ad1b973eabe19f8e58659e8d3",
537
553
  "transform": "verbatim"
538
554
  },
539
555
  {
540
556
  "source": "package/dist/fs/private-files.js",
541
557
  "output": "fs/private-files.js",
542
- "bytes": 12448,
543
- "sourceSha256": "1c8f34202b535d774d8c1a53bd403255f02701760c7378e020756c02c55a97c4",
544
- "outputSha256": "1c8f34202b535d774d8c1a53bd403255f02701760c7378e020756c02c55a97c4",
558
+ "bytes": 14779,
559
+ "sourceSha256": "114c06ce4c0998087878d99c5dc37425e90d5fad205f57fe0bdf9694e3c8e31d",
560
+ "outputSha256": "114c06ce4c0998087878d99c5dc37425e90d5fad205f57fe0bdf9694e3c8e31d",
545
561
  "transform": "verbatim"
546
562
  },
547
563
  {
@@ -563,17 +579,17 @@
563
579
  {
564
580
  "source": "package/dist/fs/with-lock.d.ts",
565
581
  "output": "fs/with-lock.d.ts",
566
- "bytes": 1153,
567
- "sourceSha256": "a0509ca4ee64b392b69c7a8555c7b33c0c223a8e58aec48848c3216350f1ba0c",
568
- "outputSha256": "a0509ca4ee64b392b69c7a8555c7b33c0c223a8e58aec48848c3216350f1ba0c",
582
+ "bytes": 1179,
583
+ "sourceSha256": "403d301f0cc332b72f8e7d904ac26f8efc93081cbd2cddd46b3f6a5a61d52685",
584
+ "outputSha256": "403d301f0cc332b72f8e7d904ac26f8efc93081cbd2cddd46b3f6a5a61d52685",
569
585
  "transform": "verbatim"
570
586
  },
571
587
  {
572
588
  "source": "package/dist/fs/with-lock.js",
573
589
  "output": "fs/with-lock.js",
574
- "bytes": 1697,
575
- "sourceSha256": "35b4ed6dec77ffcb7850e655a35957da15c14a0fa27b6f3d1d634e243de43456",
576
- "outputSha256": "35b4ed6dec77ffcb7850e655a35957da15c14a0fa27b6f3d1d634e243de43456",
590
+ "bytes": 1789,
591
+ "sourceSha256": "94fa839ec83d730280048f7e586453daadc590c4fbcf5601fd96f4a2d4193d6b",
592
+ "outputSha256": "94fa839ec83d730280048f7e586453daadc590c4fbcf5601fd96f4a2d4193d6b",
577
593
  "transform": "verbatim"
578
594
  },
579
595
  {
@@ -699,81 +715,81 @@
699
715
  {
700
716
  "source": "package/dist/quota/format.d.ts",
701
717
  "output": "quota/format.d.ts",
702
- "bytes": 4415,
703
- "sourceSha256": "293073e9f75e7f15790669f4be8340061566e889259593fcfaf17be9fa4f0a01",
704
- "outputSha256": "293073e9f75e7f15790669f4be8340061566e889259593fcfaf17be9fa4f0a01",
718
+ "bytes": 5507,
719
+ "sourceSha256": "7df60af3e135f34e157bf41c05b59052047f1a583ff3f1dabb3ca4e525b8089a",
720
+ "outputSha256": "7df60af3e135f34e157bf41c05b59052047f1a583ff3f1dabb3ca4e525b8089a",
705
721
  "transform": "verbatim"
706
722
  },
707
723
  {
708
724
  "source": "package/dist/quota/format.js",
709
725
  "output": "quota/format.js",
710
- "bytes": 16323,
711
- "sourceSha256": "d4856ea40dc4269f9a6ffa78bee8564ba648170530e8ff71af4cf38ba5f3baaa",
712
- "outputSha256": "d4856ea40dc4269f9a6ffa78bee8564ba648170530e8ff71af4cf38ba5f3baaa",
726
+ "bytes": 18143,
727
+ "sourceSha256": "e00f3bb6d9da8b13522f02f953387e218f9cc6b62b80821ca081aa06f76d27c6",
728
+ "outputSha256": "e00f3bb6d9da8b13522f02f953387e218f9cc6b62b80821ca081aa06f76d27c6",
713
729
  "transform": "verbatim"
714
730
  },
715
731
  {
716
732
  "source": "package/dist/quota/index.d.ts",
717
733
  "output": "quota/index.d.ts",
718
- "bytes": 1059,
719
- "sourceSha256": "fbb7a865108f98da1f3bb44fba20614a2998ccf5c906b271419b49d37a814214",
720
- "outputSha256": "fbb7a865108f98da1f3bb44fba20614a2998ccf5c906b271419b49d37a814214",
734
+ "bytes": 1107,
735
+ "sourceSha256": "bbc90a42ee076209b368a3ffd477b0554dbe86da63c7e345cd3515b8ffc8950a",
736
+ "outputSha256": "bbc90a42ee076209b368a3ffd477b0554dbe86da63c7e345cd3515b8ffc8950a",
721
737
  "transform": "verbatim"
722
738
  },
723
739
  {
724
740
  "source": "package/dist/quota/index.js",
725
741
  "output": "quota/index.js",
726
- "bytes": 511,
727
- "sourceSha256": "691e7db4bf6025770991f98adda82ca4cb9be45eeefa3709b114fb2decfdf66e",
728
- "outputSha256": "691e7db4bf6025770991f98adda82ca4cb9be45eeefa3709b114fb2decfdf66e",
742
+ "bytes": 545,
743
+ "sourceSha256": "781024edb9aa55a4cb88dfd0657abe569a1d9d15ac2b9a4a90456499a21a85fd",
744
+ "outputSha256": "781024edb9aa55a4cb88dfd0657abe569a1d9d15ac2b9a4a90456499a21a85fd",
729
745
  "transform": "verbatim"
730
746
  },
731
747
  {
732
748
  "source": "package/dist/quota/map.d.ts",
733
749
  "output": "quota/map.d.ts",
734
- "bytes": 2901,
735
- "sourceSha256": "28ba151926d76d45051065b243032ae4f698a3c4f94b44f32341c97467c7faf6",
736
- "outputSha256": "28ba151926d76d45051065b243032ae4f698a3c4f94b44f32341c97467c7faf6",
750
+ "bytes": 3876,
751
+ "sourceSha256": "95a8545c91726fecad46289ffd7fb400b62c376bfbc44477348ae30efe2ee853",
752
+ "outputSha256": "95a8545c91726fecad46289ffd7fb400b62c376bfbc44477348ae30efe2ee853",
737
753
  "transform": "verbatim"
738
754
  },
739
755
  {
740
756
  "source": "package/dist/quota/map.js",
741
757
  "output": "quota/map.js",
742
- "bytes": 5669,
743
- "sourceSha256": "95339af4c80684b4e462f5ba32affeaa5f8b5885db599dc5e8ac1ffd1890d729",
744
- "outputSha256": "95339af4c80684b4e462f5ba32affeaa5f8b5885db599dc5e8ac1ffd1890d729",
758
+ "bytes": 6610,
759
+ "sourceSha256": "c25cf67edc7d9cdc697d8956181d55cd13e823bead30c6acc82477c8222eb1df",
760
+ "outputSha256": "c25cf67edc7d9cdc697d8956181d55cd13e823bead30c6acc82477c8222eb1df",
745
761
  "transform": "verbatim"
746
762
  },
747
763
  {
748
764
  "source": "package/dist/quota/merge.d.ts",
749
765
  "output": "quota/merge.d.ts",
750
- "bytes": 1775,
751
- "sourceSha256": "3531d738712f40b79415cd58940c55bf4cce6827c500fc3912368ff012e31f25",
752
- "outputSha256": "3531d738712f40b79415cd58940c55bf4cce6827c500fc3912368ff012e31f25",
766
+ "bytes": 1997,
767
+ "sourceSha256": "b1f5d76d4176b118f7dbc19dd7d2f986697c8ecae2476b2cbe0c5a2538560527",
768
+ "outputSha256": "b1f5d76d4176b118f7dbc19dd7d2f986697c8ecae2476b2cbe0c5a2538560527",
753
769
  "transform": "verbatim"
754
770
  },
755
771
  {
756
772
  "source": "package/dist/quota/merge.js",
757
773
  "output": "quota/merge.js",
758
- "bytes": 7439,
759
- "sourceSha256": "64440806fd70d214eb6a6f4c98f3a6ba442ca48d39762395a202c25fbf08a23e",
760
- "outputSha256": "64440806fd70d214eb6a6f4c98f3a6ba442ca48d39762395a202c25fbf08a23e",
774
+ "bytes": 8096,
775
+ "sourceSha256": "b1d76faf1fb480b97ef1886ce75dbd2156002baedc39249468559cb4eece5bbb",
776
+ "outputSha256": "b1d76faf1fb480b97ef1886ce75dbd2156002baedc39249468559cb4eece5bbb",
761
777
  "transform": "verbatim"
762
778
  },
763
779
  {
764
780
  "source": "package/dist/quota/projection.d.ts",
765
781
  "output": "quota/projection.d.ts",
766
- "bytes": 3549,
767
- "sourceSha256": "2bbf4942bc034f3521c6c35e30446d73de525a099f7ba49c004d160e4dd917ea",
768
- "outputSha256": "2bbf4942bc034f3521c6c35e30446d73de525a099f7ba49c004d160e4dd917ea",
782
+ "bytes": 3661,
783
+ "sourceSha256": "c4f4c8c53245bd0c8bd08a1483aede705a4c3e21e4a131f14835340ffee38fab",
784
+ "outputSha256": "c4f4c8c53245bd0c8bd08a1483aede705a4c3e21e4a131f14835340ffee38fab",
769
785
  "transform": "verbatim"
770
786
  },
771
787
  {
772
788
  "source": "package/dist/quota/projection.js",
773
789
  "output": "quota/projection.js",
774
- "bytes": 5640,
775
- "sourceSha256": "be7012f1df5845a1f3377b148f35ffe029583c1b9b5426f70a7ba96f7b49a150",
776
- "outputSha256": "be7012f1df5845a1f3377b148f35ffe029583c1b9b5426f70a7ba96f7b49a150",
790
+ "bytes": 5787,
791
+ "sourceSha256": "762f4ba4f64accc7f7344402897ddaad3cfc908c11ff8e6ee9b6277602b78702",
792
+ "outputSha256": "762f4ba4f64accc7f7344402897ddaad3cfc908c11ff8e6ee9b6277602b78702",
777
793
  "transform": "verbatim"
778
794
  },
779
795
  {
@@ -1 +1 @@
1
- {"version":3,"file":"pre-response-deadline.d.ts","sourceRoot":"","sources":["../src/pre-response-deadline.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,wBAAwB,SAAU,CAAA;AAG/C,eAAO,MAAM,4BAA4B,wHAC8E,CAAA;AAEvH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,OAAM;IACnB,QAAQ,CAAC,MAAM,yBAAwB;IACvC,QAAQ,CAAC,MAAM,0BAAyB;;CAMzC;AAED,wBAAgB,0BAA0B,IAAI,QAAQ,CAWrD;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,IAAI,MAAM,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CAAA;CAC5D;AAWD,+EAA+E;AAC/E,qBAAa,mBAAmB;IAU5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,MAAM,CAAO;IACrB,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;gBAGnC,MAAM,CAAC,GAAE,WAAW,GAAG,IAAI,aAAA,EAC3B,IAAI,GAAE,gBAAwB;IAcjD,WAAW,IAAI,MAAM;IAIrB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI;IAS7C,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,MAAM;IAKd,KAAK,IAAI,IAAI;IAQb,aAAa,IAAI,IAAI;IAKrB,sBAAsB,IAAI,IAAI;IAM9B,MAAM,IAAI,IAAI;IAMd,2EAA2E;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAatD,iFAAiF;IAC3E,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuBzD,OAAO,IAAI,IAAI;CAOhB"}
1
+ {"version":3,"file":"pre-response-deadline.d.ts","sourceRoot":"","sources":["../src/pre-response-deadline.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,wBAAwB,SAAU,CAAA;AAG/C,eAAO,MAAM,4BAA4B,wHAC8E,CAAA;AAEvH,qBAAa,uBAAwB,SAAQ,KAAK;IAChD,QAAQ,CAAC,IAAI,OAAM;IACnB,QAAQ,CAAC,MAAM,yBAAwB;IACvC,QAAQ,CAAC,MAAM,0BAAyB;;CAMzC;AAED,wBAAgB,0BAA0B,IAAI,QAAQ,CAWrD;AAED,iFAAiF;AACjF,MAAM,WAAW,gBAAgB;IAC/B,GAAG,IAAI,MAAM,CAAA;IACb,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,IAAI,CAAA;CAC5D;AAWD,+EAA+E;AAC/E,qBAAa,mBAAmB;IAU5B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,QAAQ,CAAC,IAAI;IAVvB,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAA;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAwB;IACnD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAQ;IAClC,OAAO,CAAC,MAAM,CAAO;IACrB,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAY;IACzC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;gBAGnC,MAAM,CAAC,GAAE,WAAW,GAAG,IAAI,aAAA,EAC3B,IAAI,GAAE,gBAAwB;IAcjD,WAAW,IAAI,MAAM;IAIrB,MAAM,CAAC,MAAM,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI;IAS7C,OAAO,CAAC,GAAG;IAQX,OAAO,CAAC,MAAM;IAKd,KAAK,IAAI,IAAI;IAQb,aAAa,IAAI,IAAI;IAKrB,sBAAsB,IAAI,IAAI;IAM9B,MAAM,IAAI,IAAI;IAMd,2EAA2E;IAC3E,IAAI,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC,QAAQ,CAAC;IAatD,iFAAiF;IAC3E,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAuBzD,OAAO,IAAI,IAAI;CAOhB"}
@@ -1,4 +1,8 @@
1
- // Provisional pending measurement of real request-to-header latency.
1
+ // Measured through the native Antigravity CLI: Claude Opus 5.5 high sends
2
+ // response headers within about 3 s and then streams its thinking, while
3
+ // Gemini 3.8 Flash and Argon at high hold the headers until thinking ends
4
+ // (5-6 s on short prompts). Ten minutes leaves wide headroom over both; it is
5
+ // a backstop for an endpoint that never answers, not a thinking limit.
2
6
  export const PRE_RESPONSE_DEADLINE_MS = 600_000;
3
7
  // Fixed text avoids status-code and quota phrases scanned by host retry policies.
4
8
  export const PRE_RESPONSE_TIMEOUT_MESSAGE = 'Antigravity did not begin a response within the pre-response time limit. Check your connection and try again later.';
@@ -1 +1 @@
1
- {"version":3,"file":"pre-response-deadline.js","sourceRoot":"","sources":["../src/pre-response-deadline.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pre-response-deadline.js","sourceRoot":"","sources":["../src/pre-response-deadline.ts"],"names":[],"mappings":"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"}
@@ -108,6 +108,7 @@ export interface RetrieveUserQuotaSummaryBucket {
108
108
  window: 'weekly' | '5h';
109
109
  resetTime: string;
110
110
  remainingFraction: number;
111
+ disabled?: boolean;
111
112
  description?: string;
112
113
  }
113
114
  export interface RetrieveUserQuotaSummaryGroup {
@@ -122,9 +123,8 @@ export interface RetrieveUserQuotaSummaryResponse {
122
123
  /**
123
124
  * Aggregate a retrieveUserQuotaSummary response into a QuotaSummary.
124
125
  *
125
- * Each RUQS group maps to a pool via bucketId prefix. Within a pool,
126
- * windows are stored shortest-first (5h before weekly, etc.). The pool's
127
- * `remainingFraction`/`resetTime` derive from the most-constrained window.
126
+ * Only known bucket IDs contribute. Their windows are merged across groups,
127
+ * stored shortest-first, and reduced to the most-constrained pool reading.
128
128
  */
129
129
  export declare function aggregateQuotaSummary(response: RetrieveUserQuotaSummaryResponse): QuotaSummary;
130
130
  export interface FetchQuotaSummaryOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"quota-manager.d.ts","sourceRoot":"","sources":["../src/quota-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-manager.d.ts","sourceRoot":"","sources":["../src/quota-manager.ts"],"names":[],"mappings":"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"}
@@ -434,18 +434,20 @@ function mostConstrainedWindow(windows) {
434
434
  };
435
435
  }
436
436
  /**
437
- * Map a retrieveUserQuotaSummary bucketId prefix to our internal pool.
438
- *
439
- * bucketId prefixes:
440
- * `gemini-*` → gemini
441
- * `3p-*` → non-gemini
437
+ * Map only quota bucket IDs whose meaning is known to an internal pool.
438
+ * Other IDs may describe separate entitlements and must not affect these pools.
442
439
  */
443
440
  function poolForBucketId(bucketId) {
444
- if (bucketId.startsWith('gemini-'))
445
- return 'gemini';
446
- if (bucketId.startsWith('3p-'))
447
- return 'non-gemini';
448
- return null;
441
+ switch (bucketId) {
442
+ case 'gemini-5h':
443
+ case 'gemini-weekly':
444
+ return 'gemini';
445
+ case '3p-5h':
446
+ case '3p-weekly':
447
+ return 'non-gemini';
448
+ default:
449
+ return null;
450
+ }
449
451
  }
450
452
  /**
451
453
  * Count models listed in a group's description. The description is
@@ -486,48 +488,69 @@ function windowDurationMs(window) {
486
488
  /**
487
489
  * Aggregate a retrieveUserQuotaSummary response into a QuotaSummary.
488
490
  *
489
- * Each RUQS group maps to a pool via bucketId prefix. Within a pool,
490
- * windows are stored shortest-first (5h before weekly, etc.). The pool's
491
- * `remainingFraction`/`resetTime` derive from the most-constrained window.
491
+ * Only known bucket IDs contribute. Their windows are merged across groups,
492
+ * stored shortest-first, and reduced to the most-constrained pool reading.
492
493
  */
493
494
  export function aggregateQuotaSummary(response) {
494
- const groups = {};
495
- let totalCount = 0;
495
+ const windowsByPool = {
496
+ gemini: new Map(),
497
+ 'non-gemini': new Map(),
498
+ };
499
+ const modelCounts = {
500
+ gemini: 0,
501
+ 'non-gemini': 0,
502
+ };
503
+ const seenBucketIds = new Set();
504
+ const duplicateBucketIds = new Set();
496
505
  for (const group of response.groups) {
497
- const windows = [];
506
+ const contributingPools = new Set();
498
507
  for (const bucket of group.buckets) {
508
+ // A disabled bucket's remaining fraction may be stale, so exclude it from quota calculations.
509
+ if (bucket.disabled === true)
510
+ continue;
499
511
  const pool = poolForBucketId(bucket.bucketId);
500
512
  if (!pool)
501
513
  continue;
502
- windows.push({
514
+ contributingPools.add(pool);
515
+ const window = {
503
516
  window: bucket.window,
504
517
  remainingFraction: normalizeRemainingFraction(bucket.remainingFraction),
505
518
  resetTime: bucket.resetTime,
506
- });
519
+ };
520
+ const previous = windowsByPool[pool].get(bucket.bucketId);
521
+ if (seenBucketIds.has(bucket.bucketId)) {
522
+ duplicateBucketIds.add(bucket.bucketId);
523
+ }
524
+ else {
525
+ seenBucketIds.add(bucket.bucketId);
526
+ }
527
+ if (!previous || window.remainingFraction < previous.remainingFraction) {
528
+ windowsByPool[pool].set(bucket.bucketId, window);
529
+ }
507
530
  }
531
+ // Count only groups that contain a known bucket ID for the pool.
532
+ const modelCount = group.description
533
+ ? parseDescriptionModelCount(group.description)
534
+ : 0;
535
+ for (const pool of contributingPools)
536
+ modelCounts[pool] += modelCount;
537
+ }
538
+ if (duplicateBucketIds.size > 0) {
539
+ log.debug('duplicate quota summary bucket ids', {
540
+ bucketIds: [...duplicateBucketIds].sort(),
541
+ });
542
+ }
543
+ const groups = {};
544
+ let totalCount = 0;
545
+ for (const pool of ['gemini', 'non-gemini']) {
546
+ const windows = [...windowsByPool[pool].values()];
508
547
  if (windows.length === 0)
509
548
  continue;
510
- // Order: shortest window first so the binding 5h window leads visually.
511
549
  windows.sort((a, b) => windowDurationMs(a.window) - windowDurationMs(b.window));
512
550
  const constrained = mostConstrainedWindow(windows);
513
- // Pick the first RECOGNIZED bucket for pool derivation. Older
514
- // servers may prepend a junk bucket (system noise, a non-standard
515
- // prefix like `claude-3p-`) whose bucketId doesn't match any of
516
- // our pool prefixes; the legacy poolForBucketId derivation used
517
- // group.buckets[0] unconditionally, which silently dropped the
518
- // whole group when an unknown prefix led the array.
519
- const recognizedBucket = group.buckets.find((bucket) => poolForBucketId(bucket.bucketId));
520
- if (!recognizedBucket)
521
- continue;
522
- const pool = poolForBucketId(recognizedBucket.bucketId);
523
- if (!pool || !constrained)
551
+ if (!constrained)
524
552
  continue;
525
- // The description is a list of model names comma-separated, often
526
- // prefixed with a label like "Models within this group:". Strip
527
- // the prefix before splitting so it doesn't count as a model.
528
- const modelCount = group.description
529
- ? parseDescriptionModelCount(group.description)
530
- : 0;
553
+ const modelCount = modelCounts[pool];
531
554
  groups[pool] = {
532
555
  remainingFraction: constrained.remainingFraction,
533
556
  resetTime: constrained.resetTime,