audit-tools 0.33.9 → 0.33.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 (77) hide show
  1. package/dist/audit/orchestrator/rollingDispatch.js +1 -1
  2. package/dist/audit/orchestrator/rollingDispatch.js.map +1 -1
  3. package/dist/remediate/steps/nextStep.js +1 -1
  4. package/dist/remediate/steps/nextStep.js.map +1 -1
  5. package/dist/shared/dispatch/admissionLeaseReconcile.js +1 -1
  6. package/dist/shared/dispatch/admissionLeaseReconcile.js.map +1 -1
  7. package/dist/shared/dispatch/admissionLoop.d.ts +42 -10
  8. package/dist/shared/dispatch/admissionLoop.d.ts.map +1 -1
  9. package/dist/shared/dispatch/admissionLoop.js +74 -7
  10. package/dist/shared/dispatch/admissionLoop.js.map +1 -1
  11. package/dist/shared/dispatch/dispatchQuotaContract.d.ts +82 -7
  12. package/dist/shared/dispatch/dispatchQuotaContract.d.ts.map +1 -1
  13. package/dist/shared/dispatch/hostDispatchWall.d.ts.map +1 -1
  14. package/dist/shared/dispatch/hostDispatchWall.js +8 -0
  15. package/dist/shared/dispatch/hostDispatchWall.js.map +1 -1
  16. package/dist/shared/dispatch/rollingDispatch.d.ts +17 -10
  17. package/dist/shared/dispatch/rollingDispatch.d.ts.map +1 -1
  18. package/dist/shared/dispatch/rollingDispatch.js +49 -33
  19. package/dist/shared/dispatch/rollingDispatch.js.map +1 -1
  20. package/dist/shared/dispatch/unifiedRolling.d.ts +3 -2
  21. package/dist/shared/dispatch/unifiedRolling.d.ts.map +1 -1
  22. package/dist/shared/dispatch/unifiedRolling.js +12 -4
  23. package/dist/shared/dispatch/unifiedRolling.js.map +1 -1
  24. package/dist/shared/index.d.ts +2 -2
  25. package/dist/shared/index.d.ts.map +1 -1
  26. package/dist/shared/index.js +5 -1
  27. package/dist/shared/index.js.map +1 -1
  28. package/dist/shared/providers/providerConfirmation.d.ts +1 -1
  29. package/dist/shared/providers/providerConfirmation.d.ts.map +1 -1
  30. package/dist/shared/providers/providerConfirmation.js +11 -2
  31. package/dist/shared/providers/providerConfirmation.js.map +1 -1
  32. package/dist/shared/providers/sharedProviderConfirmation.d.ts +20 -5
  33. package/dist/shared/providers/sharedProviderConfirmation.d.ts.map +1 -1
  34. package/dist/shared/providers/sharedProviderConfirmation.js +108 -34
  35. package/dist/shared/providers/sharedProviderConfirmation.js.map +1 -1
  36. package/dist/shared/quota/accountId.d.ts +70 -0
  37. package/dist/shared/quota/accountId.d.ts.map +1 -1
  38. package/dist/shared/quota/accountId.js +82 -5
  39. package/dist/shared/quota/accountId.js.map +1 -1
  40. package/dist/shared/quota/apiPool.d.ts +2 -1
  41. package/dist/shared/quota/apiPool.d.ts.map +1 -1
  42. package/dist/shared/quota/apiPool.js +14 -2
  43. package/dist/shared/quota/apiPool.js.map +1 -1
  44. package/dist/shared/quota/capacity.d.ts +82 -0
  45. package/dist/shared/quota/capacity.d.ts.map +1 -1
  46. package/dist/shared/quota/capacity.js +42 -1
  47. package/dist/shared/quota/capacity.js.map +1 -1
  48. package/dist/shared/quota/claudeOAuthQuotaSource.d.ts.map +1 -1
  49. package/dist/shared/quota/claudeOAuthQuotaSource.js +46 -8
  50. package/dist/shared/quota/claudeOAuthQuotaSource.js.map +1 -1
  51. package/dist/shared/quota/quotaSource.d.ts +73 -2
  52. package/dist/shared/quota/quotaSource.d.ts.map +1 -1
  53. package/dist/shared/quota/quotaSource.js +57 -2
  54. package/dist/shared/quota/quotaSource.js.map +1 -1
  55. package/dist/shared/quota/reservationLedger.d.ts +98 -26
  56. package/dist/shared/quota/reservationLedger.d.ts.map +1 -1
  57. package/dist/shared/quota/reservationLedger.js +109 -37
  58. package/dist/shared/quota/reservationLedger.js.map +1 -1
  59. package/dist/shared/quota/scheduler.d.ts +25 -1
  60. package/dist/shared/quota/scheduler.d.ts.map +1 -1
  61. package/dist/shared/quota/scheduler.js +115 -10
  62. package/dist/shared/quota/scheduler.js.map +1 -1
  63. package/dist/shared/quota/state.d.ts +24 -9
  64. package/dist/shared/quota/state.d.ts.map +1 -1
  65. package/dist/shared/quota/state.js +43 -16
  66. package/dist/shared/quota/state.js.map +1 -1
  67. package/dist/shared/quota/types.d.ts +57 -6
  68. package/dist/shared/quota/types.d.ts.map +1 -1
  69. package/dist/shared/quota/types.js.map +1 -1
  70. package/dist/shared/quota/windowConstraints.d.ts +56 -0
  71. package/dist/shared/quota/windowConstraints.d.ts.map +1 -0
  72. package/dist/shared/quota/windowConstraints.js +71 -0
  73. package/dist/shared/quota/windowConstraints.js.map +1 -0
  74. package/dist/shared/types/providerConfirmation.d.ts +31 -1
  75. package/dist/shared/types/providerConfirmation.d.ts.map +1 -1
  76. package/docs/audit-pkg/operator-guide.md +4 -1
  77. package/package.json +1 -1
@@ -1,7 +1,7 @@
1
1
  import { z } from "zod";
2
2
  import type { ResolvedProviderName, SessionConfig } from "../types/sessionConfig.js";
3
3
  import type { HostConcurrencyLimit, QuotaStateEntry, WaveSchedule } from "./types.js";
4
- import type { QuotaUsageSnapshot } from "./quotaSource.js";
4
+ import { type QuotaUsageSnapshot } from "./quotaSource.js";
5
5
  import { type ProviderType } from "./limits.js";
6
6
  /**
7
7
  * Minimal structural shape of capabilities discovered at runtime — RPM/TPM (e.g.
@@ -255,6 +255,30 @@ export declare function deriveColdStartAdmissionBatch(params: {
255
255
  perPacketTokenEstimate: number;
256
256
  safetyFraction?: number;
257
257
  }): number;
258
+ /**
259
+ * Every window on a snapshot must declare its metering scope. Unmeterable, NOT
260
+ * defaultable: the scope decides which partition the window's allowance is drawn
261
+ * from, so guessing it silently meters against the wrong one. The test tree is
262
+ * untypechecked, so a stale fixture can omit the field with `tsc` staying silent —
263
+ * defaulting would let that fixture pass while exercising the wrong partition,
264
+ * which is precisely how the previous defect stayed invisible.
265
+ *
266
+ * ⚠ Deliberately still called from `scheduleWave` ONLY, and NOT hoisted to the
267
+ * producer boundary, which the design of record scheduled for this step. That move
268
+ * turns out not to be mechanical: every production caller of `probeQuotaSource`
269
+ * swallows a throw into `status: "degraded"` (`apiPool.ts`'s `.catch`, and the
270
+ * `queryCurrentUsage` branch's own try), so asserting there would not fail loud — it
271
+ * would quietly convert a contract violation into a degraded pool. `compositeQuotaSource`
272
+ * bypasses `probeQuotaSource` entirely, so "safe by construction" would be false
273
+ * regardless. Doing it properly needs a distinct error class that the degrade
274
+ * catches deliberately re-throw. Tracked in `docs/backlog.md`.
275
+ *
276
+ * This is a LIVE path, so it must stay a throw: `scheduleWave` is where a scope-less
277
+ * window would actually mis-meter. Snapshots read back from PERSISTED artifacts are a
278
+ * different case and are handled by skipping, not throwing — see
279
+ * `quotaSnapshotWindowPctMap`.
280
+ */
281
+ export declare function assertWindowScopes(snapshot: QuotaUsageSnapshot): void;
258
282
  export declare function scheduleWave(options: ScheduleWaveOptions): WaveSchedule;
259
283
  /**
260
284
  * Build the quota pool key used for indexing quota-state.json entries and gating
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/scheduler.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAe,oBAAoB,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAGlG,OAAO,KAAK,EACV,oBAAoB,EAEpB,eAAe,EAGf,YAAY,EACb,MAAM,YAAY,CAAC;AACpB,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAGL,KAAK,YAAY,EAClB,MAAM,aAAa,CAAC;AAGrB;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,yBAAyB;IACxC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpC,uBAAuB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,wBAAwB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzC,wEAAwE;IACxE,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;GAMG;AACH,eAAO,MAAM,0BAA0B;;IAGnC,oEAAoE;;IAEpE,uDAAuD;;IAEvD;;;;;OAKG;;;;;;;;;;;;EAGI,CAAC;AACZ,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AAI9E;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,GAAG,oBAAoB,EAAE,CAkDxE;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,oBAAoB,CAAC;IACnC,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,kFAAkF;IAClF,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IACzC,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;IACnD,mBAAmB,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IAChD,8EAA8E;IAC9E,gBAAgB,CAAC,EAAE,yBAAyB,GAAG,IAAI,CAAC;IACpD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAMD,2EAA2E;AAC3E,eAAO,MAAM,qBAAqB,MAAM,CAAC;AAsBzC;;;;;;;GAOG;AACH,MAAM,MAAM,eAAe,GAAG,cAAc,GAAG,sBAAsB,CAAC;AAEtE;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,SAAS,EAAE,YAAY,CAAC;IACxB;;;;OAIG;IACH,gBAAgB,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,eAAe,EAAE,eAAe,CAAC;CAClC;AAYD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,oBAAoB,GACjC,sBAAsB,CAUxB;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,+BAA+B,IAAI,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,MAAM,MAAM,sBAAsB,GAAG,cAAc,GAAG,WAAW,GAAG,YAAY,CAAC;AAEjF,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,sBAAsB,CAAC;IACjC,+DAA+D;IAC/D,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,yBAAyB;IACxC,4EAA4E;IAC5E,cAAc,EAAE,sBAAsB,CAAC;IACvC,2EAA2E;IAC3E,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qEAAqE;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,yBAAyB,GAC/B,uBAAuB,CAwBzB;AAGD;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,6BAA6B,IAAI,CAAC;AAE/C;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE;IACpD,eAAe,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,MAAM,CAYT;AAgND,wBAAgB,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,YAAY,CAuKvE;AAED;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACpC,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,GACtB,MAAM,CAGR"}
1
+ {"version":3,"file":"scheduler.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { z } from "zod";
2
2
  import { DispatchModelTierSchema } from "../types/stepContract.js";
3
+ import { hasWindowScope, windowSlopeKey, } from "./quotaSource.js";
3
4
  import { hostClassFor, resolveLimits, } from "./limits.js";
4
5
  /**
5
6
  * One entry of the host's model roster, reported at the dispatch handshake
@@ -252,13 +253,46 @@ export function deriveColdStartAdmissionBatch(params) {
252
253
  }
253
254
  return COLD_START_PROBE_BATCH;
254
255
  }
256
+ /**
257
+ * Every window on a snapshot must declare its metering scope. Unmeterable, NOT
258
+ * defaultable: the scope decides which partition the window's allowance is drawn
259
+ * from, so guessing it silently meters against the wrong one. The test tree is
260
+ * untypechecked, so a stale fixture can omit the field with `tsc` staying silent —
261
+ * defaulting would let that fixture pass while exercising the wrong partition,
262
+ * which is precisely how the previous defect stayed invisible.
263
+ *
264
+ * ⚠ Deliberately still called from `scheduleWave` ONLY, and NOT hoisted to the
265
+ * producer boundary, which the design of record scheduled for this step. That move
266
+ * turns out not to be mechanical: every production caller of `probeQuotaSource`
267
+ * swallows a throw into `status: "degraded"` (`apiPool.ts`'s `.catch`, and the
268
+ * `queryCurrentUsage` branch's own try), so asserting there would not fail loud — it
269
+ * would quietly convert a contract violation into a degraded pool. `compositeQuotaSource`
270
+ * bypasses `probeQuotaSource` entirely, so "safe by construction" would be false
271
+ * regardless. Doing it properly needs a distinct error class that the degrade
272
+ * catches deliberately re-throw. Tracked in `docs/backlog.md`.
273
+ *
274
+ * This is a LIVE path, so it must stay a throw: `scheduleWave` is where a scope-less
275
+ * window would actually mis-meter. Snapshots read back from PERSISTED artifacts are a
276
+ * different case and are handled by skipping, not throwing — see
277
+ * `quotaSnapshotWindowPctMap`.
278
+ */
279
+ export function assertWindowScopes(snapshot) {
280
+ for (const w of snapshot.windows ?? []) {
281
+ if (!hasWindowScope(w)) {
282
+ throw new Error(`quota window "${w.label}" has no metering scope (got ${JSON.stringify(w.scope)}). ` +
283
+ `Every window must declare scope "account" or "model" at its producer — see ` +
284
+ `QuotaWindowScopeSchema in quotaSource.ts.`);
285
+ }
286
+ }
287
+ }
255
288
  /**
256
289
  * Derive a single window's remaining token budget, in learned/absolute priority:
257
290
  * 1. absolute `tokens_remaining` when the window reports one;
258
- * 2. else the learned `tokens_per_pct[label]` × remaining_pct × 100;
291
+ * 2. else the learned slope `tokens_per_pct[windowSlopeKey(scope, label)]`
292
+ * × remaining_pct × 100;
259
293
  * 3. else `null` (cold start — the caller applies the calibration bootstrap).
260
294
  */
261
- function deriveWindowTokenBudget(windowLabel, remainingPct, tokensRemaining, learnedSlopes) {
295
+ function deriveWindowTokenBudget(slopeKey, remainingPct, tokensRemaining, learnedSlopes) {
262
296
  if (typeof tokensRemaining === "number" && Number.isFinite(tokensRemaining)) {
263
297
  return Math.max(0, tokensRemaining);
264
298
  }
@@ -271,7 +305,7 @@ function deriveWindowTokenBudget(windowLabel, remainingPct, tokensRemaining, lea
271
305
  if (remainingPct != null && Number.isFinite(remainingPct) && remainingPct <= 0) {
272
306
  return 0;
273
307
  }
274
- const slope = learnedSlopes?.[windowLabel];
308
+ const slope = learnedSlopes?.[slopeKey];
275
309
  if (typeof slope === "number" &&
276
310
  Number.isFinite(slope) &&
277
311
  slope > 0 &&
@@ -282,15 +316,16 @@ function deriveWindowTokenBudget(windowLabel, remainingPct, tokensRemaining, lea
282
316
  return null;
283
317
  }
284
318
  /**
285
- * Resolve the pool's remaining token budget from its snapshot, reducing across
286
- * the pool's OWN windows with MIN (the binding window governs). Uses the
287
- * per-window breakdown when present, else the flat top-level snapshot as a
288
- * single implicit window. Per-window: absolute → learned-slope → cold-start.
319
+ * Resolve the pool's per-window remaining allowances from its snapshot, plus the MIN
320
+ * across them for reporting. Uses the per-window breakdown when present, else the
321
+ * flat top-level snapshot as a single implicit account-scoped window. Per-window:
322
+ * absolute → learned-slope → cold-start.
289
323
  */
290
324
  function deriveTokenBudget(snapshot, learnedSlopes) {
291
325
  const windows = snapshot.windows && snapshot.windows.length > 0
292
326
  ? snapshot.windows.map((w) => ({
293
327
  label: w.label,
328
+ scope: w.scope,
294
329
  remaining_pct: w.remaining_pct,
295
330
  tokens_remaining: w.tokens_remaining ?? null,
296
331
  reset_at: w.reset_at,
@@ -298,6 +333,13 @@ function deriveTokenBudget(snapshot, learnedSlopes) {
298
333
  : [
299
334
  {
300
335
  label: "default",
336
+ // A source exposing ONE aggregate number is stating an account-wide
337
+ // allowance that applies to every model on the credential — the
338
+ // documented fallback, stated rather than assumed. Never `model`:
339
+ // that would give each of N siblings its own copy of one shared
340
+ // allowance, which is the N× over-admission this partition exists
341
+ // to close.
342
+ scope: "account",
301
343
  remaining_pct: snapshot.remaining_pct,
302
344
  tokens_remaining: snapshot.tokens_remaining,
303
345
  reset_at: snapshot.reset_at,
@@ -307,12 +349,61 @@ function deriveTokenBudget(snapshot, learnedSlopes) {
307
349
  let calibrating = false;
308
350
  let exhaustedResetAt = null;
309
351
  let bindingWindow = null;
352
+ const windowBudgets = [];
310
353
  for (const w of windows) {
311
- const windowBudget = deriveWindowTokenBudget(w.label, w.remaining_pct, w.tokens_remaining, learnedSlopes);
354
+ const slopeKey = windowSlopeKey(w.scope, w.label);
355
+ const windowBudget = deriveWindowTokenBudget(slopeKey, w.remaining_pct, w.tokens_remaining, learnedSlopes);
312
356
  if (windowBudget == null) {
313
357
  calibrating = true;
314
358
  continue;
315
359
  }
360
+ // Emit the window in the unit it can actually meter in. An absolute
361
+ // `tokens_remaining` is directly commensurable (no exchange rate), so it meters
362
+ // in tokens even when account-scoped. Otherwise the shared quantity is the
363
+ // window's PERCENT, priced through this pool's own learned slope — which is what
364
+ // lets N siblings draw on one account allowance at their own conversion rates.
365
+ if (typeof w.tokens_remaining === "number" && Number.isFinite(w.tokens_remaining)) {
366
+ windowBudgets.push({
367
+ scope: w.scope,
368
+ label: w.label,
369
+ budget: Math.max(0, w.tokens_remaining),
370
+ unit: "tokens",
371
+ reset_at: w.reset_at,
372
+ });
373
+ }
374
+ else {
375
+ const slope = learnedSlopes?.[slopeKey];
376
+ if (typeof slope === "number" &&
377
+ Number.isFinite(slope) &&
378
+ slope > 0 &&
379
+ w.remaining_pct != null &&
380
+ Number.isFinite(w.remaining_pct)) {
381
+ windowBudgets.push({
382
+ scope: w.scope,
383
+ label: w.label,
384
+ budget: Math.max(0, w.remaining_pct * 100),
385
+ unit: "percent",
386
+ tokensPerPct: slope,
387
+ reset_at: w.reset_at,
388
+ });
389
+ }
390
+ else {
391
+ // A window with a derivable TOKEN budget but no metering unit is only
392
+ // reachable via the `remaining_pct <= 0` known-empty branch, whose budget is
393
+ // 0. Emit it as an exhausted window so admission BLOCKS on it rather than
394
+ // dropping it from the constraint set (dropping = metering against fewer
395
+ // allowances than apply). The unit is immaterial at budget 0 — a zero ceiling
396
+ // refuses any positive draw either way — so it is emitted as `tokens`, which
397
+ // needs no slope.
398
+ windowBudgets.push({
399
+ scope: w.scope,
400
+ label: w.label,
401
+ budget: 0,
402
+ unit: "tokens",
403
+ reset_at: w.reset_at,
404
+ });
405
+ }
406
+ }
316
407
  // A near-empty window needs no special-case cliff: its own budget
317
408
  // (remaining_pct × slope, or an absolute tokens_remaining) is already tiny,
318
409
  // so the MIN reduction and the K-clamp below throttle it naturally. A
@@ -331,7 +422,7 @@ function deriveTokenBudget(snapshot, learnedSlopes) {
331
422
  bindingWindow = { label: w.label, reset_at: w.reset_at, budget: windowBudget };
332
423
  }
333
424
  }
334
- return { budget, calibrating, exhaustedResetAt, bindingWindow };
425
+ return { budget, calibrating, exhaustedResetAt, bindingWindow, windowBudgets };
335
426
  }
336
427
  function sumTopN(sorted, n) {
337
428
  let sum = 0;
@@ -455,11 +546,24 @@ export function scheduleWave(options) {
455
546
  let calibrating = false;
456
547
  // The binding window (D1), hoisted so an empty_grant wall can surface it + its reset.
457
548
  let bindingWindow = null;
549
+ // Per-window allowances — the METERING basis admission reserves against. Empty on
550
+ // the cooldown path and when there is no snapshot, which admission reads as "no
551
+ // live signal" and falls back to one unbounded pool-keyed constraint.
552
+ let windowBudgets = [];
553
+ // Validate window scopes on EVERY path that carries a snapshot, not only the
554
+ // one that derives a budget. `deriveTokenBudget` is skipped under an active
555
+ // cooldown, but the snapshot is still stamped onto the returned schedule and
556
+ // flows downstream — so a guard living inside the derivation is not a gate at
557
+ // all for the cooldown path. An incomplete gate reads exactly like a working
558
+ // one, which is the failure shape this whole change exists to remove.
559
+ if (quotaSourceSnapshot)
560
+ assertWindowScopes(quotaSourceSnapshot);
458
561
  if (quotaSourceSnapshot && !cooldownUntil) {
459
- const { budget, calibrating: windowCalibrating, exhaustedResetAt, bindingWindow: windowBinding, } = deriveTokenBudget(quotaSourceSnapshot, quotaStateEntry?.tokens_per_pct);
562
+ const { budget, calibrating: windowCalibrating, exhaustedResetAt, bindingWindow: windowBinding, windowBudgets: derivedWindowBudgets, } = deriveTokenBudget(quotaSourceSnapshot, quotaStateEntry?.tokens_per_pct);
460
563
  remainingTokenBudget = budget;
461
564
  calibrating = windowCalibrating;
462
565
  bindingWindow = windowBinding;
566
+ windowBudgets = derivedWindowBudgets;
463
567
  if (budget === 0) {
464
568
  // A genuinely empty window (remaining fraction 0 / absolute count 0):
465
569
  // throttle to 1 and persist a cooldown to its reset so a later transiently
@@ -525,6 +629,7 @@ export function scheduleWave(options) {
525
629
  binding_cap: bindingCap,
526
630
  remaining_token_budget: remainingTokenBudget,
527
631
  binding_window: bindingWindow,
632
+ window_budgets: windowBudgets,
528
633
  in_flight_tokens: inFlightTokens,
529
634
  calibrating,
530
635
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/shared/quota/scheduler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scheduler.js","sourceRoot":"","sources":["../../../src/shared/quota/scheduler.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ObservedWaveOutcome, QuotaState } from "./types.js";
2
- import type { QuotaUsageSnapshot } from "./quotaSource.js";
2
+ import { type QuotaUsageSnapshot, type WindowSlopeKey } from "./quotaSource.js";
3
3
  export declare function setQuotaStateDir(dir: string): void;
4
4
  export declare function getQuotaStatePath(): string;
5
5
  /**
@@ -91,7 +91,7 @@ export declare const MIN_SLOPE_DELTA_PERCENT = 0.5;
91
91
  * positive (≥ {@link MIN_SLOPE_DELTA_PERCENT}), when tokens are non-positive, or
92
92
  * when any input is non-finite. Never throws.
93
93
  */
94
- export declare function foldTokensPerPctObservation(prior: Record<string, number> | undefined, windowLabel: string, priorRemainingPct: number, newRemainingPct: number, tokensDispatched: number): Record<string, number>;
94
+ export declare function foldTokensPerPctObservation(prior: Record<string, number> | undefined, slopeKey: WindowSlopeKey, priorRemainingPct: number, newRemainingPct: number, tokensDispatched: number): Record<string, number>;
95
95
  export declare const OUTPUT_RATIO_EWMA_ALPHA = 0.3;
96
96
  /**
97
97
  * Fold one output/input token-ratio observation into a lens's learned EWMA ratio,
@@ -121,7 +121,7 @@ export declare function recordOutputRatioObservation(providerModelKey: string, l
121
121
  * rebuilt ({@link readQuotaStateForUpdate}); a transient-unreadable one rejects.
122
122
  * An observation that doesn't move the slope leaves the file untouched-in-value.
123
123
  */
124
- export declare function recordTokensPerPctObservation(providerModelKey: string, windowLabel: string, priorRemainingPct: number, newRemainingPct: number, tokensDispatched: number): Promise<void>;
124
+ export declare function recordTokensPerPctObservation(providerModelKey: string, slopeKey: WindowSlopeKey, priorRemainingPct: number, newRemainingPct: number, tokensDispatched: number): Promise<void>;
125
125
  /**
126
126
  * One window's remaining-percent reading paired with the `reset_at` identity
127
127
  * it was read against, so two readings of the "same" label taken at different
@@ -134,16 +134,31 @@ export interface QuotaWindowPctReading {
134
134
  resetAt: string | null;
135
135
  }
136
136
  /**
137
- * Build a window-label → {@link QuotaWindowPctReading} map from a quota usage
138
- * snapshot. Falls back to a single `"default"` label when the source has no
139
- * per-window breakdown (single-window providers). Returns an empty map for a
140
- * null/absent snapshot or one with no usable percent reading.
137
+ * Build a {@link windowSlopeKey} → {@link QuotaWindowPctReading} map from a quota
138
+ * usage snapshot. Falls back to a single account-scoped `"default"` window when the
139
+ * source has no per-window breakdown (single-window providers — matching the
140
+ * synthetic window the scheduler derives for the same case). Returns an empty map
141
+ * for a null/absent snapshot or one with no usable percent reading.
142
+ *
143
+ * Keyed by `(scope, label)` so a slope sample is attributed to the same partition
144
+ * the budget will later be metered against — keying by bare label would blend an
145
+ * account-wide and a model-scoped window that happen to share a group name.
141
146
  *
142
147
  * Single-sourced so the in-process rolling dispatcher and the host-dispatch
143
148
  * merge path attribute a slope sample against the SAME window semantics —
144
149
  * see {@link foldSlopeObservationFromSnapshots}.
150
+ *
151
+ * ⚠ A window with no usable `scope` is SKIPPED (loudly), never keyed. This path is
152
+ * fed PERSISTED snapshots — `dispatch-quota.json` written before scope existed, read
153
+ * back raw with no schema parse — so scope-less windows are real on disk, not a
154
+ * hypothetical. Two rejected alternatives: keying them anyway produces
155
+ * `"undefined:<label>"`, which no reader ever looks up, so the slope is silently
156
+ * orphaned; and THROWING would break {@link foldSlopeObservationFromSnapshots}'s
157
+ * documented "never throws" contract and kill slope learning on any run resumed
158
+ * across the upgrade. Skipping costs one window's slope sample, says so, and lets
159
+ * the rest of the fold proceed.
145
160
  */
146
- export declare function quotaSnapshotWindowPctMap(snapshot: QuotaUsageSnapshot | null | undefined): Map<string, QuotaWindowPctReading>;
161
+ export declare function quotaSnapshotWindowPctMap(snapshot: QuotaUsageSnapshot | null | undefined): Map<WindowSlopeKey, QuotaWindowPctReading>;
147
162
  /**
148
163
  * Attribute tokens dispatched between a PRE and POST window-pct reading (as
149
164
  * produced by {@link quotaSnapshotWindowPctMap}) to whichever windows moved
@@ -184,7 +199,7 @@ export declare function quotaSnapshotWindowPctMap(snapshot: QuotaUsageSnapshot |
184
199
  * any fold (the in-process dispatcher) can tell whether one occurred without
185
200
  * re-deriving the same comparison.
186
201
  */
187
- export declare function foldSlopeObservationFromPctMaps(providerModelKey: string, priorPctByLabel: Map<string, QuotaWindowPctReading>, currentPctByLabel: Map<string, QuotaWindowPctReading>, tokensDispatched: number): Promise<string[]>;
202
+ export declare function foldSlopeObservationFromPctMaps(providerModelKey: string, priorPctByKey: Map<WindowSlopeKey, QuotaWindowPctReading>, currentPctByKey: Map<WindowSlopeKey, QuotaWindowPctReading>, tokensDispatched: number): Promise<string[]>;
188
203
  /**
189
204
  * Snapshot-based convenience wrapper over {@link foldSlopeObservationFromPctMaps}:
190
205
  * maps a PRE and POST {@link QuotaUsageSnapshot} through
@@ -1 +1 @@
1
- {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/state.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"state.d.ts","sourceRoot":"","sources":["../../../src/shared/quota/state.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@ import { readFile, rename } from "node:fs/promises";
2
2
  import { join } from "node:path";
3
3
  import { withFileLock } from "./fileLock.js";
4
4
  import { writeJsonFile } from "../io/json.js";
5
+ import { hasWindowScope, windowSlopeKey, } from "./quotaSource.js";
5
6
  let _statePath;
6
7
  export function setQuotaStateDir(dir) {
7
8
  _statePath = join(dir, "quota-state.json");
@@ -202,7 +203,7 @@ export const MIN_SLOPE_DELTA_PERCENT = 0.5;
202
203
  * positive (≥ {@link MIN_SLOPE_DELTA_PERCENT}), when tokens are non-positive, or
203
204
  * when any input is non-finite. Never throws.
204
205
  */
205
- export function foldTokensPerPctObservation(prior, windowLabel, priorRemainingPct, newRemainingPct, tokensDispatched) {
206
+ export function foldTokensPerPctObservation(prior, slopeKey, priorRemainingPct, newRemainingPct, tokensDispatched) {
206
207
  const base = prior ?? {};
207
208
  if (!Number.isFinite(priorRemainingPct) ||
208
209
  !Number.isFinite(newRemainingPct) ||
@@ -217,11 +218,11 @@ export function foldTokensPerPctObservation(prior, windowLabel, priorRemainingPc
217
218
  const sampleSlope = tokensDispatched / deltaPercent;
218
219
  if (!Number.isFinite(sampleSlope) || sampleSlope <= 0)
219
220
  return base;
220
- const previous = base[windowLabel];
221
+ const previous = base[slopeKey];
221
222
  const blended = typeof previous === "number" && Number.isFinite(previous) && previous > 0
222
223
  ? previous * (1 - TOKENS_PER_PCT_EWMA_ALPHA) + sampleSlope * TOKENS_PER_PCT_EWMA_ALPHA
223
224
  : sampleSlope;
224
- return { ...base, [windowLabel]: blended };
225
+ return { ...base, [slopeKey]: blended };
225
226
  }
226
227
  // EWMA weight for a new output/input ratio observation. Shares the responsive-but-
227
228
  // not-jumpy 0.3 of the tokens_per_pct slope — a lens's output ratio is at least as
@@ -282,12 +283,12 @@ export async function recordOutputRatioObservation(providerModelKey, lens, actua
282
283
  * rebuilt ({@link readQuotaStateForUpdate}); a transient-unreadable one rejects.
283
284
  * An observation that doesn't move the slope leaves the file untouched-in-value.
284
285
  */
285
- export async function recordTokensPerPctObservation(providerModelKey, windowLabel, priorRemainingPct, newRemainingPct, tokensDispatched) {
286
+ export async function recordTokensPerPctObservation(providerModelKey, slopeKey, priorRemainingPct, newRemainingPct, tokensDispatched) {
286
287
  const lockPath = getQuotaStatePath() + ".lock";
287
288
  await withFileLock(lockPath, async () => {
288
289
  const state = await readQuotaStateForUpdate("recordTokensPerPctObservation");
289
290
  const entry = state.entries[providerModelKey] ?? blankEntry();
290
- const updated = foldTokensPerPctObservation(entry.tokens_per_pct, windowLabel, priorRemainingPct, newRemainingPct, tokensDispatched);
291
+ const updated = foldTokensPerPctObservation(entry.tokens_per_pct, slopeKey, priorRemainingPct, newRemainingPct, tokensDispatched);
291
292
  entry.tokens_per_pct = updated;
292
293
  entry.updated_at = new Date().toISOString();
293
294
  state.entries[providerModelKey] = entry;
@@ -295,14 +296,29 @@ export async function recordTokensPerPctObservation(providerModelKey, windowLabe
295
296
  });
296
297
  }
297
298
  /**
298
- * Build a window-label → {@link QuotaWindowPctReading} map from a quota usage
299
- * snapshot. Falls back to a single `"default"` label when the source has no
300
- * per-window breakdown (single-window providers). Returns an empty map for a
301
- * null/absent snapshot or one with no usable percent reading.
299
+ * Build a {@link windowSlopeKey} → {@link QuotaWindowPctReading} map from a quota
300
+ * usage snapshot. Falls back to a single account-scoped `"default"` window when the
301
+ * source has no per-window breakdown (single-window providers — matching the
302
+ * synthetic window the scheduler derives for the same case). Returns an empty map
303
+ * for a null/absent snapshot or one with no usable percent reading.
304
+ *
305
+ * Keyed by `(scope, label)` so a slope sample is attributed to the same partition
306
+ * the budget will later be metered against — keying by bare label would blend an
307
+ * account-wide and a model-scoped window that happen to share a group name.
302
308
  *
303
309
  * Single-sourced so the in-process rolling dispatcher and the host-dispatch
304
310
  * merge path attribute a slope sample against the SAME window semantics —
305
311
  * see {@link foldSlopeObservationFromSnapshots}.
312
+ *
313
+ * ⚠ A window with no usable `scope` is SKIPPED (loudly), never keyed. This path is
314
+ * fed PERSISTED snapshots — `dispatch-quota.json` written before scope existed, read
315
+ * back raw with no schema parse — so scope-less windows are real on disk, not a
316
+ * hypothetical. Two rejected alternatives: keying them anyway produces
317
+ * `"undefined:<label>"`, which no reader ever looks up, so the slope is silently
318
+ * orphaned; and THROWING would break {@link foldSlopeObservationFromSnapshots}'s
319
+ * documented "never throws" contract and kill slope learning on any run resumed
320
+ * across the upgrade. Skipping costs one window's slope sample, says so, and lets
321
+ * the rest of the fold proceed.
306
322
  */
307
323
  export function quotaSnapshotWindowPctMap(snapshot) {
308
324
  const map = new Map();
@@ -310,13 +326,24 @@ export function quotaSnapshotWindowPctMap(snapshot) {
310
326
  return map;
311
327
  if (snapshot.windows && snapshot.windows.length > 0) {
312
328
  for (const w of snapshot.windows) {
329
+ if (!hasWindowScope(w)) {
330
+ process.stderr.write(`[quota] window "${w.label}" from ${snapshot.source} carries no metering scope; ` +
331
+ `skipping its slope sample (a pre-scope persisted snapshot re-learns on the next probe)\n`);
332
+ continue;
333
+ }
313
334
  if (w.remaining_pct != null && Number.isFinite(w.remaining_pct)) {
314
- map.set(w.label, { remainingPct: w.remaining_pct, resetAt: w.reset_at ?? null });
335
+ map.set(windowSlopeKey(w.scope, w.label), {
336
+ remainingPct: w.remaining_pct,
337
+ resetAt: w.reset_at ?? null,
338
+ });
315
339
  }
316
340
  }
317
341
  }
318
342
  else if (snapshot.remaining_pct != null && Number.isFinite(snapshot.remaining_pct)) {
319
- map.set("default", { remainingPct: snapshot.remaining_pct, resetAt: snapshot.reset_at ?? null });
343
+ map.set(windowSlopeKey("account", "default"), {
344
+ remainingPct: snapshot.remaining_pct,
345
+ resetAt: snapshot.reset_at ?? null,
346
+ });
320
347
  }
321
348
  return map;
322
349
  }
@@ -360,12 +387,12 @@ export function quotaSnapshotWindowPctMap(snapshot) {
360
387
  * any fold (the in-process dispatcher) can tell whether one occurred without
361
388
  * re-deriving the same comparison.
362
389
  */
363
- export async function foldSlopeObservationFromPctMaps(providerModelKey, priorPctByLabel, currentPctByLabel, tokensDispatched) {
390
+ export async function foldSlopeObservationFromPctMaps(providerModelKey, priorPctByKey, currentPctByKey, tokensDispatched) {
364
391
  const folded = [];
365
392
  if (!Number.isFinite(tokensDispatched) || tokensDispatched <= 0)
366
393
  return folded;
367
- for (const [label, prior] of priorPctByLabel) {
368
- const current = currentPctByLabel.get(label);
394
+ for (const [slopeKey, prior] of priorPctByKey) {
395
+ const current = currentPctByKey.get(slopeKey);
369
396
  if (current == null)
370
397
  continue;
371
398
  if (prior.resetAt != null && current.resetAt != null && prior.resetAt !== current.resetAt) {
@@ -380,11 +407,11 @@ export async function foldSlopeObservationFromPctMaps(providerModelKey, priorPct
380
407
  if ((prior.remainingPct - current.remainingPct) * 100 < MIN_SLOPE_DELTA_PERCENT)
381
408
  continue;
382
409
  try {
383
- await recordTokensPerPctObservation(providerModelKey, label, prior.remainingPct, current.remainingPct, tokensDispatched);
410
+ await recordTokensPerPctObservation(providerModelKey, slopeKey, prior.remainingPct, current.remainingPct, tokensDispatched);
384
411
  // C2: push only AFTER a successful write — a throw below is caught and
385
412
  // swallowed (slope learning must never abort the caller) WITHOUT this
386
413
  // label being reported as folded.
387
- folded.push(label);
414
+ folded.push(slopeKey);
388
415
  }
389
416
  catch {
390
417
  // Non-fatal: slope learning must never abort the caller.
@@ -1 +1 @@
1
- {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/shared/quota/state.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEjC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG9C,IAAI,UAA8B,CAAC;AAEnC,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,UAAU,GAAG,IAAI,CAAC,GAAG,EAAE,kBAAkB,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,IAAI,CAAC,UAAU;QAAE,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;IAC7F,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACtF,MAAM,GAAG,GAAG,KAAgC,CAAC;IAC7C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC;IAC/B,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,QAAQ,CAAC;AAChF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe;IAC7B,OAAO,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;AACrC,CAAC;AAED;;;;;;;;;;GAUG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAExC;IAQA;IACA;IAVX,YACW,SAAiB;IAC1B;;;;;;OAMG;IACM,IAA8B,EAC9B,MAAc;QAEvB,KAAK,CAAC,kBAAkB,SAAS,iBAAiB,IAAI,MAAM,MAAM,EAAE,CAAC,CAAC;QAX7D,cAAS,GAAT,SAAS,CAAQ;QAQjB,SAAI,GAAJ,IAAI,CAA0B;QAC9B,WAAM,GAAN,MAAM,CAAQ;QAGvB,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;IAC3C,CAAC;CACF;AAED,MAAM,CAAC,KAAK,UAAU,cAAc;IAClC,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IACtC,IAAI,GAAW,CAAC;IAChB,IAAI,CAAC;QACH,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACvD,OAAO,eAAe,EAAE,CAAC;QAC3B,CAAC;QACD,MAAM,IAAI,0BAA0B,CAClC,SAAS,EACT,YAAY,EACZ,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,CAAC;IACJ,CAAC;IAED,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,0BAA0B,CAClC,SAAS,EACT,SAAS,EACT,mBAAmB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAC7E,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,0BAA0B,CAClC,SAAS,EACT,SAAS,EACT,4CAA4C,CAC7C,CAAC;IACJ,CAAC;IACD,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC,EAAE,CAAC;QACzB,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAClD,KAAK,CAAC,qBAAqB,KAAK,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAe;IAC3D,IAAI,CAAC;QACH,OAAO,MAAM,cAAc,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,WAAW,OAAO,KAChB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACvD,2EAA2E,CAC5E,CAAC;QACF,OAAO,eAAe,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,OAAe;IAC3D,IAAI,CAAC;QACH,OAAO,MAAM,cAAc,EAAE,CAAC;IAChC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,CAAC,KAAK,YAAY,0BAA0B,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/E,MAAM,KAAK,CAAC;QACd,CAAC;QACD,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;QACtC,MAAM,cAAc,GAAG,GAAG,SAAS,YAAY,IAAI,IAAI,EAAE;aACtD,WAAW,EAAE;aACb,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE,CAAC;QAC3B,IAAI,WAAW,GAAG,IAAI,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,0EAA0E;YAC1E,qEAAqE;YACrE,WAAW,GAAG,KAAK,CAAC;QACtB,CAAC;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,WAAW,OAAO,KAAK,KAAK,CAAC,OAAO,KAClC,WAAW,CAAC,CAAC,CAAC,kBAAkB,cAAc,EAAE,CAAC,CAAC,CAAC,yBACrD,wEAAwE,CACzE,CAAC;QACF,OAAO,eAAe,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,KAAiB;IACrD,MAAM,OAAO,GAAoC,EAAE,CAAC;IACpD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,OAAO,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,aAAa,CAAC,iBAAiB,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAuB,CAAC,CAAC;AACzF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,cAAc,CAAC,KAAsB;IAC5C,MAAM,UAAU,GAAoB;QAClC,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,cAAc,EAAE,KAAK,CAAC,cAAc;QACpC,WAAW,EAAE,KAAK,CAAC,WAAW;KAC/B,CAAC;IACF,IAAI,KAAK,CAAC,qBAAqB,KAAK,SAAS,EAAE,CAAC;QAC9C,UAAU,CAAC,qBAAqB,GAAG,KAAK,CAAC,qBAAqB,CAAC;IACjE,CAAC;IACD,IAAI,KAAK,CAAC,cAAc,KAAK,SAAS;QAAE,UAAU,CAAC,cAAc,GAAG,KAAK,CAAC,cAAc,CAAC;IACzF,IAAI,KAAK,CAAC,gBAAgB,KAAK,SAAS;QAAE,UAAU,CAAC,gBAAgB,GAAG,KAAK,CAAC,gBAAgB,CAAC;IAC/F,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,2EAA2E;AAC3E,8EAA8E;AAC9E,+DAA+D;AAC/D,MAAM,CAAC,MAAM,yBAAyB,GAAG,GAAG,CAAC;AAC7C,8EAA8E;AAC9E,gFAAgF;AAChF,yDAAyD;AACzD,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;;;;;;;;GAUG;AACH,MAAM,UAAU,2BAA2B,CACzC,KAAyC,EACzC,WAAmB,EACnB,iBAAyB,EACzB,eAAuB,EACvB,gBAAwB;IAExB,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;IACzB,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAAC;QACjC,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;QAClC,gBAAgB,IAAI,CAAC,EACrB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,sEAAsE;IACtE,MAAM,YAAY,GAAG,CAAC,iBAAiB,GAAG,eAAe,CAAC,GAAG,GAAG,CAAC;IACjE,IAAI,YAAY,GAAG,uBAAuB;QAAE,OAAO,IAAI,CAAC;IACxD,MAAM,WAAW,GAAG,gBAAgB,GAAG,YAAY,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;IACnC,MAAM,OAAO,GACX,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QACvE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,yBAAyB,CAAC,GAAG,WAAW,GAAG,yBAAyB;QACtF,CAAC,CAAC,WAAW,CAAC;IAClB,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,WAAW,CAAC,EAAE,OAAO,EAAE,CAAC;AAC7C,CAAC;AAED,mFAAmF;AACnF,mFAAmF;AACnF,qFAAqF;AACrF,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC;AAE3C;;;;;;;;;GASG;AACH,MAAM,UAAU,0BAA0B,CACxC,KAAyC,EACzC,IAAY,EACZ,iBAAyB,EACzB,kBAA0B;IAE1B,MAAM,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;IACzB,IACE,CAAC,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC;QACnC,CAAC,MAAM,CAAC,QAAQ,CAAC,kBAAkB,CAAC;QACpC,iBAAiB,IAAI,CAAC;QACtB,kBAAkB,IAAI,CAAC,EACvB,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,MAAM,WAAW,GAAG,kBAAkB,GAAG,iBAAiB,CAAC;IAC3D,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnE,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC;IAC5B,MAAM,OAAO,GACX,OAAO,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,CAAC;QACvE,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,GAAG,uBAAuB,CAAC,GAAG,WAAW,GAAG,uBAAuB;QAClF,CAAC,CAAC,WAAW,CAAC;IAClB,OAAO,EAAE,GAAG,IAAI,EAAE,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,gBAAwB,EACxB,IAAY,EACZ,iBAAyB,EACzB,kBAA0B;IAE1B,MAAM,QAAQ,GAAG,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,8BAA8B,CAAC,CAAC;QAC5E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,0BAA0B,CACxC,KAAK,CAAC,gBAAgB,EACtB,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,CACnB,CAAC;QACF,KAAK,CAAC,gBAAgB,GAAG,OAAO,CAAC;QACjC,KAAK,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;QACxC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,6BAA6B,CACjD,gBAAwB,EACxB,WAAmB,EACnB,iBAAyB,EACzB,eAAuB,EACvB,gBAAwB;IAExB,MAAM,QAAQ,GAAG,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,YAAY,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QACtC,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,+BAA+B,CAAC,CAAC;QAC7E,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,2BAA2B,CACzC,KAAK,CAAC,cAAc,EACpB,WAAW,EACX,iBAAiB,EACjB,eAAe,EACf,gBAAgB,CACjB,CAAC;QACF,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC;QAC/B,KAAK,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC5C,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;QACxC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACL,CAAC;AAcD;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CACvC,QAA+C;IAE/C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAiC,CAAC;IACrD,IAAI,CAAC,QAAQ;QAAE,OAAO,GAAG,CAAC;IAC1B,IAAI,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpD,KAAK,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,EAAE,CAAC;YACjC,IAAI,CAAC,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;gBAChE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,YAAY,EAAE,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,CAAC,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;YACnF,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,QAAQ,CAAC,aAAa,IAAI,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,EAAE,CAAC;QACrF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,YAAY,EAAE,QAAQ,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,QAAQ,IAAI,IAAI,EAAE,CAAC,CAAC;IACnG,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,gBAAwB,EACxB,eAAmD,EACnD,iBAAqD,EACrD,gBAAwB;IAExB,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,gBAAgB,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAC/E,KAAK,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,eAAe,EAAE,CAAC;QAC7C,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QAC7C,IAAI,OAAO,IAAI,IAAI;YAAE,SAAS;QAC9B,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,IAAI,OAAO,CAAC,OAAO,IAAI,IAAI,IAAI,KAAK,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1F,2EAA2E;YAC3E,SAAS;QACX,CAAC;QACD,wEAAwE;QACxE,wEAAwE;QACxE,4EAA4E;QAC5E,uEAAuE;QACvE,0DAA0D;QAC1D,IAAI,CAAC,KAAK,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,GAAG,GAAG,uBAAuB;YAAE,SAAS;QAC1F,IAAI,CAAC;YACH,MAAM,6BAA6B,CACjC,gBAAgB,EAChB,KAAK,EACL,KAAK,CAAC,YAAY,EAClB,OAAO,CAAC,YAAY,EACpB,gBAAgB,CACjB,CAAC;YACF,uEAAuE;YACvE,sEAAsE;YACtE,kCAAkC;YAClC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,iCAAiC,CACrD,gBAAwB,EACxB,aAAoD,EACpD,eAAsD,EACtD,gBAAwB;IAExB,OAAO,+BAA+B,CACpC,gBAAgB,EAChB,yBAAyB,CAAC,aAAa,CAAC,EACxC,yBAAyB,CAAC,eAAe,CAAC,EAC1C,gBAAgB,CACjB,CAAC;AACJ,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AACvC,MAAM,CAAC,MAAM,eAAe,GAAG,EAAE,GAAG,MAAM,CAAC;AAE3C,MAAM,UAAU,wBAAwB,CAAC,mBAA2B;IAClE,MAAM,EAAE,GAAG,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,GAAG,CAAC,CAAC,CAAC,CAAC;IAChF,OAAO,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;AACvC,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,gBAAwB,EACxB,OAA4B;IAE5B,MAAM,QAAQ,GAAG,iBAAiB,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,YAAY,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC,CAAC;AACzF,CAAC;AAED,KAAK,UAAU,uBAAuB,CACpC,gBAAwB,EACxB,OAA4B;IAE5B,MAAM,KAAK,GAAG,MAAM,uBAAuB,CAAC,mBAAmB,CAAC,CAAC;IACjE,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,UAAU,EAAE,CAAC;IAE9D,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAClC,4EAA4E;QAC5E,4EAA4E;QAC5E,0EAA0E;QAC1E,4EAA4E;QAC5E,0EAA0E;QAC1E,wEAAwE;QACxE,oDAAoD;QACpD,MAAM,cAAc,GAClB,KAAK,CAAC,cAAc,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACxF,IAAI,CAAC,cAAc,EAAE,CAAC;YACpB,KAAK,CAAC,qBAAqB,GAAG,CAAC,CAAC;YAChC,KAAK,CAAC,cAAc,GAAG,IAAI,CAAC;QAC9B,CAAC;IACH,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,KAAK,CAAC,qBAAqB,IAAI,CAAC,CAAC;QACtD,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,KAAK,cAAc,CAAC,CAAC,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QACzF,KAAK,CAAC,qBAAqB,GAAG,WAAW,CAAC;QAC1C,6EAA6E;QAC7E,yEAAyE;QACzE,0EAA0E;QAC1E,iEAAiE;QACjE,IAAI,OAAO,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;YACvC,KAAK,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC/C,CAAC;QAED,IAAI,OAAO,CAAC,OAAO,KAAK,cAAc,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;YACxD,KAAK,CAAC,cAAc,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QACxE,CAAC;aAAM,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC;YAClC,KAAK,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAChD,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAC5C,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;IACxC,MAAM,eAAe,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"state.js","sourceRoot":"","sources":["../../../src/shared/quota/state.ts"],"names":[],"mappings":"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"}