@claudexor/daemon 3.19.0 → 3.22.0

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 (60) hide show
  1. package/dist/command-retention.d.ts +1 -1
  2. package/dist/command-retention.d.ts.map +1 -1
  3. package/dist/command-retention.js +20 -4
  4. package/dist/command-retention.js.map +1 -1
  5. package/dist/continuation-admission.d.ts +11 -0
  6. package/dist/continuation-admission.d.ts.map +1 -0
  7. package/dist/continuation-admission.js +16 -0
  8. package/dist/continuation-admission.js.map +1 -0
  9. package/dist/credential-generation.d.ts +18 -0
  10. package/dist/credential-generation.d.ts.map +1 -0
  11. package/dist/credential-generation.js +43 -0
  12. package/dist/credential-generation.js.map +1 -0
  13. package/dist/credential-unusable-ledger.d.ts +26 -22
  14. package/dist/credential-unusable-ledger.d.ts.map +1 -1
  15. package/dist/credential-unusable-ledger.js +178 -38
  16. package/dist/credential-unusable-ledger.js.map +1 -1
  17. package/dist/index.d.ts +1 -0
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +1 -0
  20. package/dist/index.js.map +1 -1
  21. package/dist/journal-fold-policy.d.ts.map +1 -1
  22. package/dist/journal-fold-policy.js +26 -2
  23. package/dist/journal-fold-policy.js.map +1 -1
  24. package/dist/pre-progress-refusal-ledger.d.ts +3 -6
  25. package/dist/pre-progress-refusal-ledger.d.ts.map +1 -1
  26. package/dist/pre-progress-refusal-ledger.js +7 -16
  27. package/dist/pre-progress-refusal-ledger.js.map +1 -1
  28. package/dist/project-partitions.d.ts +4 -0
  29. package/dist/project-partitions.d.ts.map +1 -1
  30. package/dist/project-partitions.js +7 -0
  31. package/dist/project-partitions.js.map +1 -1
  32. package/dist/quota-poll-lanes.d.ts +27 -9
  33. package/dist/quota-poll-lanes.d.ts.map +1 -1
  34. package/dist/quota-poll-lanes.js +95 -20
  35. package/dist/quota-poll-lanes.js.map +1 -1
  36. package/dist/quota-poll-pacer.d.ts +33 -36
  37. package/dist/quota-poll-pacer.d.ts.map +1 -1
  38. package/dist/quota-poll-pacer.js +115 -63
  39. package/dist/quota-poll-pacer.js.map +1 -1
  40. package/dist/quota-registry-support.d.ts +74 -0
  41. package/dist/quota-registry-support.d.ts.map +1 -1
  42. package/dist/quota-registry-support.js +154 -8
  43. package/dist/quota-registry-support.js.map +1 -1
  44. package/dist/quota-registry.d.ts +32 -7
  45. package/dist/quota-registry.d.ts.map +1 -1
  46. package/dist/quota-registry.js +76 -73
  47. package/dist/quota-registry.js.map +1 -1
  48. package/dist/server.d.ts.map +1 -1
  49. package/dist/server.js +2 -1
  50. package/dist/server.js.map +1 -1
  51. package/dist/terminal-authority.d.ts +1 -0
  52. package/dist/terminal-authority.d.ts.map +1 -1
  53. package/dist/thread-store-support.d.ts.map +1 -1
  54. package/dist/thread-store-support.js +10 -1
  55. package/dist/thread-store-support.js.map +1 -1
  56. package/dist/threads.d.ts +3 -1
  57. package/dist/threads.d.ts.map +1 -1
  58. package/dist/threads.js +2 -2
  59. package/dist/threads.js.map +1 -1
  60. package/package.json +6 -5
@@ -15,11 +15,85 @@ export declare function reactiveCooldownSnapshot(input: {
15
15
  source: QuotaSource;
16
16
  existing: QuotaSnapshot | undefined;
17
17
  }, now: Date): QuotaSnapshot;
18
+ /** Freshness-annotated snapshots with expired (>24h) observations pruned.
19
+ * An old observation whose constraint still EXTENDS into the future (a
20
+ * weekly cooldown/reset seen once) is kept and stale-marked: pruning it
21
+ * would hide a live cap from both the footer and the router's ledger. */
22
+ export declare function activeQuotaSnapshots(snapshots: readonly QuotaSnapshot[], now: number): QuotaSnapshot[];
18
23
  export declare const QUOTA_FRESHNESS_TTL_MS: number;
19
24
  /** Same quota EVIDENCE: everything but the observation time (a freshness flip
20
25
  * is evidence). A poll that only re-observed unchanged evidence keeps the fresh
21
26
  * `observed_at` in memory without a journal frame. */
22
27
  export declare function sameQuotaEvidence(a: QuotaSnapshot, b: QuotaSnapshot): boolean;
28
+ /** Retire only restrictions superseded by a later authenticated primary read.
29
+ * The registry must journal a changed result even when the primary read only
30
+ * changed its timestamp. Keep the old observation's time and unrelated facts. */
31
+ export declare function withoutSupersededQuotaConstraints(existing: QuotaSnapshot, observation: QuotaSnapshot, now: Date): QuotaSnapshot;
32
+ /** One reconciliation over the current raw snapshots; the registry commits all
33
+ * returned facts together before updating any in-memory projection. */
34
+ export declare function reconcileQuotaSnapshot(value: QuotaSnapshot, existing: readonly QuotaSnapshot[], now: Date): {
35
+ snapshot: {
36
+ subject: {
37
+ harness: string;
38
+ credential_route: "local" | "managed_api_key" | "vendor_native";
39
+ plan_label: string | null;
40
+ subject_id: string | null;
41
+ };
42
+ constraints: {
43
+ id: string;
44
+ label: string;
45
+ applies_to_models?: string[] | null | undefined;
46
+ applies_to_model_prefixes?: string[] | undefined;
47
+ applies_to_unspecified_model?: boolean | undefined;
48
+ used_ratio: number | null;
49
+ window_seconds: number | null;
50
+ resets_at: string | null;
51
+ cooldown_until: string | null;
52
+ }[];
53
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_rollout" | "cursor_rate_limit";
54
+ observed_at: string;
55
+ freshness: "fresh" | "stale" | "unknown";
56
+ };
57
+ updates: {
58
+ subject: {
59
+ harness: string;
60
+ credential_route: "local" | "managed_api_key" | "vendor_native";
61
+ plan_label: string | null;
62
+ subject_id: string | null;
63
+ };
64
+ constraints: {
65
+ id: string;
66
+ label: string;
67
+ applies_to_models?: string[] | null | undefined;
68
+ applies_to_model_prefixes?: string[] | undefined;
69
+ applies_to_unspecified_model?: boolean | undefined;
70
+ used_ratio: number | null;
71
+ window_seconds: number | null;
72
+ resets_at: string | null;
73
+ cooldown_until: string | null;
74
+ }[];
75
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_rollout" | "cursor_rate_limit";
76
+ observed_at: string;
77
+ freshness: "fresh" | "stale" | "unknown";
78
+ }[];
79
+ supersessions: {
80
+ subject: {
81
+ harness: string;
82
+ credential_route: "local" | "managed_api_key" | "vendor_native";
83
+ plan_label: string | null;
84
+ subject_id: string | null;
85
+ };
86
+ observed_at: string;
87
+ version: 1;
88
+ snapshot_id: string;
89
+ }[];
90
+ reconciled: boolean;
91
+ };
92
+ /** Existing prepare/upsert wire shape, reusable for an atomic reconciliation. */
93
+ export declare function quotaSnapshotRecords(snapshot: QuotaSnapshot): Array<{
94
+ type: string;
95
+ payload: unknown;
96
+ }>;
23
97
  export declare function snapshotKey(snapshot: QuotaSnapshot): string;
24
98
  /** Exact durable payload accepted by the strict v3.2.0 quota schemas. Keep an
25
99
  * explicit allowlist at every nested level so a future additive field cannot
@@ -1 +1 @@
1
- {"version":3,"file":"quota-registry-support.d.ts","sourceRoot":"","sources":["../src/quota-registry-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAIL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAG3B;;2EAE2E;AAC3E,wBAAgB,wBAAwB,CACtC,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC,EACD,GAAG,EAAE,IAAI,GACR,aAAa,CAyCf;AAED,eAAO,MAAM,sBAAsB,QAAa,CAAC;AAEjD;;sDAEsD;AACtD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAE7E;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAQ3D;AAED;;6DAE6D;AAC7D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAoBzE;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAM3E;AAED;;;;oDAIoD;AACpD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAQlE;AAED;;+EAE+E;AAC/E,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzF;AAOD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAQT;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,MAAM,GACV,aAAa,GAAG,IAAI,CAMtB"}
1
+ {"version":3,"file":"quota-registry-support.d.ts","sourceRoot":"","sources":["../src/quota-registry-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EASL,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAG3B;;2EAE2E;AAC3E,wBAAgB,wBAAwB,CACtC,KAAK,EAAE;IACL,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,eAAe,CAAC;IACjC,KAAK,EAAE,YAAY,CAAC;IACpB,MAAM,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,aAAa,GAAG,SAAS,CAAC;CACrC,EACD,GAAG,EAAE,IAAI,GACR,aAAa,CAyCf;AAMD;;;yEAGyE;AACzE,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,GAAG,EAAE,MAAM,GACV,aAAa,EAAE,CAgBjB;AAED,eAAO,MAAM,sBAAsB,QAAa,CAAC;AAEjD;;sDAEsD;AACtD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAE7E;AAED;;iFAEiF;AACjF,wBAAgB,iCAAiC,CAC/C,QAAQ,EAAE,aAAa,EACvB,WAAW,EAAE,aAAa,EAC1B,GAAG,EAAE,IAAI,GACR,aAAa,CAqCf;AAyDD;uEACuE;AACvE,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,aAAa,EACpB,QAAQ,EAAE,SAAS,aAAa,EAAE,EAClC,GAAG,EAAE,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyBV;AAED,iFAAiF;AACjF,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,aAAa,GACtB,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,CAAC,CAyB3C;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED;;6DAE6D;AAC7D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CAoBzE;AAED,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAM3E;AAED;;;;oDAIoD;AACpD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAQlE;AAED;;+EAE+E;AAC/E,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzF;AAOD,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,UAAU,EAAE,eAAe,EAC3B,GAAG,EAAE,MAAM,GACV,OAAO,CAQT;AAED,wBAAgB,6BAA6B,CAC3C,QAAQ,EAAE,aAAa,EACvB,GAAG,EAAE,MAAM,GACV,aAAa,GAAG,IAAI,CAMtB"}
@@ -4,7 +4,7 @@
4
4
  * keying, freshness aging, and expired scoped-cooldown pruning. No registry
5
5
  * state lives here.
6
6
  */
7
- import { REACTIVE_COOLDOWN_SOURCE, legacyV320QuotaSource, vendorResetDayCooldownEnd, } from "@claudexor/schema";
7
+ import { REACTIVE_COOLDOWN_SOURCE, legacyV320QuotaSource, quotaSourceTraits, quotaSnapshotIdentity, quotaConstraintIdentity, QuotaWindowObservation, vendorResetDayCooldownEnd, } from "@claudexor/schema";
8
8
  import { hashJson } from "@claudexor/util";
9
9
  /** The reactive vendor-limit cooldown snapshot for a harness event: the
10
10
  * existing subject's constraints minus the superseded/expired cooldown, plus
@@ -47,6 +47,30 @@ export function reactiveCooldownSnapshot(input, now) {
47
47
  ],
48
48
  };
49
49
  }
50
+ /** Snapshots older than this are pruned from every projection read (W17):
51
+ * a day-old observation is not quota truth, just footer clutter. */
52
+ const MAX_SNAPSHOT_AGE_MS = 24 * 60 * 60_000;
53
+ /** Freshness-annotated snapshots with expired (>24h) observations pruned.
54
+ * An old observation whose constraint still EXTENDS into the future (a
55
+ * weekly cooldown/reset seen once) is kept and stale-marked: pruning it
56
+ * would hide a live cap from both the footer and the router's ledger. */
57
+ export function activeQuotaSnapshots(snapshots, now) {
58
+ return snapshots
59
+ .map((snapshot) => withoutExpiredScopedCooldowns(snapshot, now))
60
+ .filter((snapshot) => snapshot !== null)
61
+ .filter((snapshot) => {
62
+ const observed = Date.parse(snapshot.observed_at);
63
+ if (!Number.isFinite(observed))
64
+ return false;
65
+ if (now - observed <= MAX_SNAPSHOT_AGE_MS)
66
+ return true;
67
+ return snapshot.constraints.some((constraint) => [constraint.cooldown_until, constraint.resets_at].some((raw) => {
68
+ const at = raw ? Date.parse(raw) : Number.NaN;
69
+ return Number.isFinite(at) && at > now;
70
+ }));
71
+ })
72
+ .map((snapshot) => staleAt(snapshot, now));
73
+ }
50
74
  export const QUOTA_FRESHNESS_TTL_MS = 5 * 60_000;
51
75
  /** Same quota EVIDENCE: everything but the observation time (a freshness flip
52
76
  * is evidence). A poll that only re-observed unchanged evidence keeps the fresh
@@ -54,14 +78,136 @@ export const QUOTA_FRESHNESS_TTL_MS = 5 * 60_000;
54
78
  export function sameQuotaEvidence(a, b) {
55
79
  return hashJson({ ...a, observed_at: null }) === hashJson({ ...b, observed_at: null });
56
80
  }
57
- export function snapshotKey(snapshot) {
58
- const subject = snapshot.subject;
81
+ /** Retire only restrictions superseded by a later authenticated primary read.
82
+ * The registry must journal a changed result even when the primary read only
83
+ * changed its timestamp. Keep the old observation's time and unrelated facts. */
84
+ export function withoutSupersededQuotaConstraints(existing, observation, now) {
85
+ const traits = quotaSourceTraits(observation.source);
86
+ if (!traits.vendorAuthenticated ||
87
+ traits.refreshDemandHarness !== observation.subject.harness ||
88
+ staleAt(observation, now.getTime()).freshness !== "fresh" ||
89
+ REACTIVE_COOLDOWN_SOURCE[existing.subject.harness] !== existing.source ||
90
+ existing.subject.harness !== observation.subject.harness ||
91
+ existing.subject.credential_route !== observation.subject.credential_route ||
92
+ existing.subject.subject_id !== observation.subject.subject_id ||
93
+ !(Date.parse(observation.observed_at) > Date.parse(existing.observed_at))) {
94
+ return existing;
95
+ }
96
+ const constraints = existing.constraints.filter((constraint) => {
97
+ // A generic refusal retained no window identity. A successful recognized
98
+ // read permits the next requested attempt, including unknown/empty quota;
99
+ // it does not promise that the provider will accept that attempt.
100
+ if (constraint.id === "cooldown" &&
101
+ !constraint.applies_to_models?.length &&
102
+ !constraint.applies_to_model_prefixes?.length) {
103
+ return false;
104
+ }
105
+ // Independently identified windows require a measured replacement of the
106
+ // same window and scope. Absence/unknown usage cannot disprove one.
107
+ return !observation.constraints.some((current) => current.used_ratio !== null &&
108
+ sameQuotaWindow(existing.source, constraint.id, current.id) &&
109
+ sameModelScope(constraint, current));
110
+ });
111
+ return constraints.length === existing.constraints.length
112
+ ? existing
113
+ : { ...existing, constraints };
114
+ }
115
+ function sameQuotaWindow(source, oldId, newId) {
116
+ const id = oldId.startsWith("cooldown:") ? oldId.slice("cooldown:".length) : oldId;
117
+ if (id === newId)
118
+ return true;
119
+ // Codex rollout omits the native default bucket id that app-server includes.
120
+ // A different bucket (for example review) is an independent constraint.
121
+ return source === "codex_rollout" && (newId === `codex:${id}` || newId === `default:${id}`);
122
+ }
123
+ function sameModelScope(a, b) {
124
+ return hashJson(quotaModelScope(a)) === hashJson(quotaModelScope(b));
125
+ }
126
+ function quotaModelScope(constraint) {
127
+ const { id, label, used_ratio, window_seconds, resets_at, cooldown_until, ...scope } = constraint;
128
+ return {
129
+ ...scope,
130
+ applies_to_models: [...(scope.applies_to_models ?? [])].sort(),
131
+ applies_to_unspecified_model: scope.applies_to_unspecified_model ?? false,
132
+ };
133
+ }
134
+ /** Match only a measured replacement of the exact known window, never an
135
+ * absent window, unknown usage, another credential or a different scope. */
136
+ function windowSupersession(existing, observation, now) {
137
+ if (quotaSourceTraits(existing.source).snapshotMode !== "window" ||
138
+ !quotaSourceTraits(observation.source).vendorAuthenticated ||
139
+ quotaSourceTraits(observation.source).refreshDemandHarness !== observation.subject.harness ||
140
+ staleAt(observation, now.getTime()).freshness !== "fresh" ||
141
+ existing.subject.harness !== observation.subject.harness ||
142
+ existing.subject.credential_route !== observation.subject.credential_route ||
143
+ existing.subject.subject_id !== observation.subject.subject_id ||
144
+ Date.parse(observation.observed_at) <= Date.parse(existing.observed_at))
145
+ return null;
146
+ const identity = quotaConstraintIdentity(existing.constraints[0]);
147
+ if (!observation.constraints.some((constraint) => constraint.used_ratio !== null && quotaConstraintIdentity(constraint) === identity))
148
+ return null;
149
+ return {
150
+ version: 1,
151
+ subject: existing.subject,
152
+ snapshot_id: snapshotKey(existing),
153
+ observed_at: observation.observed_at,
154
+ };
155
+ }
156
+ /** One reconciliation over the current raw snapshots; the registry commits all
157
+ * returned facts together before updating any in-memory projection. */
158
+ export function reconcileQuotaSnapshot(value, existing, now) {
159
+ let snapshot = value;
160
+ const witnesses = [];
161
+ const supersessions = [];
162
+ for (const observation of existing) {
163
+ const atObservation = new Date(observation.observed_at);
164
+ const reduced = withoutSupersededQuotaConstraints(snapshot, observation, atObservation);
165
+ const supersession = windowSupersession(snapshot, observation, atObservation);
166
+ if (reduced !== snapshot || supersession)
167
+ witnesses.push(observation);
168
+ if (supersession)
169
+ supersessions.push(supersession);
170
+ snapshot = reduced;
171
+ }
172
+ const retired = existing.flatMap((prior) => {
173
+ const supersession = windowSupersession(prior, snapshot, now);
174
+ if (supersession)
175
+ supersessions.push(supersession);
176
+ const next = withoutSupersededQuotaConstraints(prior, snapshot, now);
177
+ return next === prior ? [] : [next];
178
+ });
179
+ return {
180
+ snapshot,
181
+ updates: [...witnesses, snapshot, ...retired],
182
+ supersessions,
183
+ reconciled: witnesses.length > 0 || retired.length > 0 || supersessions.length > 0,
184
+ };
185
+ }
186
+ /** Existing prepare/upsert wire shape, reusable for an atomic reconciliation. */
187
+ export function quotaSnapshotRecords(snapshot) {
188
+ if (quotaSourceTraits(snapshot.source).snapshotMode === "window") {
189
+ return [
190
+ {
191
+ type: "quota.window.observed",
192
+ payload: QuotaWindowObservation.parse({ version: 1, snapshot }),
193
+ },
194
+ ];
195
+ }
196
+ const legacy = legacyV320Snapshot(snapshot);
197
+ const upsert = { type: "quota.snapshot.upserted", payload: legacy };
198
+ if (legacy.source === snapshot.source &&
199
+ !snapshot.constraints.some((c) => c.applies_to_models !== undefined || c.applies_to_model_prefixes !== undefined))
200
+ return [upsert];
59
201
  return [
60
- subject.harness,
61
- subject.credential_route,
62
- subject.subject_id ?? "",
63
- snapshot.source,
64
- ].join("\0");
202
+ {
203
+ type: "quota.snapshot.scoped_prepared",
204
+ payload: { version: 1, base_hash: hashJson(legacy), snapshot },
205
+ },
206
+ upsert,
207
+ ];
208
+ }
209
+ export function snapshotKey(snapshot) {
210
+ return quotaSnapshotIdentity(snapshot);
65
211
  }
66
212
  /** Exact durable payload accepted by the strict v3.2.0 quota schemas. Keep an
67
213
  * explicit allowlist at every nested level so a future additive field cannot
@@ -1 +1 @@
1
- {"version":3,"file":"quota-registry-support.js","sourceRoot":"","sources":["../src/quota-registry-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"quota-registry-support.js","sourceRoot":"","sources":["../src/quota-registry-support.ts"],"names":[],"mappings":"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"}
@@ -12,6 +12,7 @@ export declare class QuotaRegistry {
12
12
  private readonly now;
13
13
  private readonly subjects?;
14
14
  private readonly snapshots;
15
+ private readonly supersededWindows;
15
16
  /** Ephemeral typed-absence state, recomputed each refresh/poll cycle — NOT
16
17
  * journaled: an absence is a live derivation of "who reported nothing this
17
18
  * cycle", never a durable fact to replay. */
@@ -39,15 +40,17 @@ export declare class QuotaRegistry {
39
40
  id: string;
40
41
  label: string;
41
42
  applies_to_models?: string[] | null | undefined;
43
+ applies_to_model_prefixes?: string[] | undefined;
42
44
  applies_to_unspecified_model?: boolean | undefined;
43
45
  used_ratio: number | null;
44
46
  window_seconds: number | null;
45
47
  resets_at: string | null;
46
48
  cooldown_until: string | null;
47
49
  }[];
48
- source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
50
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_rollout" | "cursor_rate_limit";
49
51
  observed_at: string;
50
52
  freshness: "fresh" | "stale" | "unknown";
53
+ snapshot_id?: string | undefined;
51
54
  availability?: {
52
55
  state: "available" | "cooldown" | "exhausted";
53
56
  blocking_constraints: string[];
@@ -55,6 +58,7 @@ export declare class QuotaRegistry {
55
58
  model_scoped_exhaustions: {
56
59
  constraint_id: string;
57
60
  applies_to_models: string[];
61
+ applies_to_model_prefixes?: string[] | undefined;
58
62
  resets_at: string | null;
59
63
  }[];
60
64
  } | undefined;
@@ -74,13 +78,15 @@ export declare class QuotaRegistry {
74
78
  refreshed_at: string | null;
75
79
  refresh_skipped?: {
76
80
  vendor: string;
81
+ subject?: {
82
+ harness: string;
83
+ credential_route: "local" | "managed_api_key" | "vendor_native";
84
+ plan_label: string | null;
85
+ subject_id: string | null;
86
+ } | undefined;
77
87
  not_before: string;
78
88
  }[] | undefined;
79
89
  };
80
- /** Freshness-annotated snapshots with expired (>24h) observations pruned.
81
- * An old observation whose constraint still EXTENDS into the future (a
82
- * weekly cooldown/reset seen once) is kept and stale-marked: pruning it
83
- * would hide a live cap from both the footer and the router's ledger. */
84
90
  private activeSnapshots;
85
91
  refresh(): Promise<{
86
92
  snapshots: {
@@ -94,15 +100,17 @@ export declare class QuotaRegistry {
94
100
  id: string;
95
101
  label: string;
96
102
  applies_to_models?: string[] | null | undefined;
103
+ applies_to_model_prefixes?: string[] | undefined;
97
104
  applies_to_unspecified_model?: boolean | undefined;
98
105
  used_ratio: number | null;
99
106
  window_seconds: number | null;
100
107
  resets_at: string | null;
101
108
  cooldown_until: string | null;
102
109
  }[];
103
- source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
110
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_rollout" | "cursor_rate_limit";
104
111
  observed_at: string;
105
112
  freshness: "fresh" | "stale" | "unknown";
113
+ snapshot_id?: string | undefined;
106
114
  availability?: {
107
115
  state: "available" | "cooldown" | "exhausted";
108
116
  blocking_constraints: string[];
@@ -110,6 +118,7 @@ export declare class QuotaRegistry {
110
118
  model_scoped_exhaustions: {
111
119
  constraint_id: string;
112
120
  applies_to_models: string[];
121
+ applies_to_model_prefixes?: string[] | undefined;
113
122
  resets_at: string | null;
114
123
  }[];
115
124
  } | undefined;
@@ -129,6 +138,12 @@ export declare class QuotaRegistry {
129
138
  refreshed_at: string | null;
130
139
  refresh_skipped?: {
131
140
  vendor: string;
141
+ subject?: {
142
+ harness: string;
143
+ credential_route: "local" | "managed_api_key" | "vendor_native";
144
+ plan_label: string | null;
145
+ subject_id: string | null;
146
+ } | undefined;
132
147
  not_before: string;
133
148
  }[] | undefined;
134
149
  }>;
@@ -148,15 +163,17 @@ export declare class QuotaRegistry {
148
163
  id: string;
149
164
  label: string;
150
165
  applies_to_models?: string[] | null | undefined;
166
+ applies_to_model_prefixes?: string[] | undefined;
151
167
  applies_to_unspecified_model?: boolean | undefined;
152
168
  used_ratio: number | null;
153
169
  window_seconds: number | null;
154
170
  resets_at: string | null;
155
171
  cooldown_until: string | null;
156
172
  }[];
157
- source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
173
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_rollout" | "cursor_rate_limit";
158
174
  observed_at: string;
159
175
  freshness: "fresh" | "stale" | "unknown";
176
+ snapshot_id?: string | undefined;
160
177
  availability?: {
161
178
  state: "available" | "cooldown" | "exhausted";
162
179
  blocking_constraints: string[];
@@ -164,6 +181,7 @@ export declare class QuotaRegistry {
164
181
  model_scoped_exhaustions: {
165
182
  constraint_id: string;
166
183
  applies_to_models: string[];
184
+ applies_to_model_prefixes?: string[] | undefined;
167
185
  resets_at: string | null;
168
186
  }[];
169
187
  } | undefined;
@@ -183,6 +201,12 @@ export declare class QuotaRegistry {
183
201
  refreshed_at: string | null;
184
202
  refresh_skipped?: {
185
203
  vendor: string;
204
+ subject?: {
205
+ harness: string;
206
+ credential_route: "local" | "managed_api_key" | "vendor_native";
207
+ plan_label: string | null;
208
+ subject_id: string | null;
209
+ } | undefined;
186
210
  not_before: string;
187
211
  }[] | undefined;
188
212
  };
@@ -238,6 +262,7 @@ export declare class QuotaRegistry {
238
262
  validateProjection(): void;
239
263
  private upsertCooldown;
240
264
  private apply;
265
+ private applyWindowSupersession;
241
266
  private remove;
242
267
  }
243
268
  //# sourceMappingURL=quota-registry.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"quota-registry.d.ts","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EASL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAS3B,OAAO,EAUL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAalE;;iDAEiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,YAAY,EAAE,CAAC;AAExD,iEAAiE;AACjE,qBAAa,aAAa;IAkBtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IApB5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D;;iDAE6C;IAC7C,OAAO,CAAC,QAAQ,CAAsB;IACtC;;gDAE4C;IAC5C,OAAO,CAAC,gCAAgC,CAAuB;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAE/B;IACJ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,qBAAqB,CAAS;IAEtC,YACmB,OAAO,EAAE,cAAc,EACxC,UAAU,GAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAO,EAClD,GAAG,GAAE,MAAM,IAAuB,EAClC,QAAQ,CAAC,EAAE,oBAAoB,YAAA,EAChD,UAAU,CAAC,EAAE,oBAAoB,EAyElC;IAED,iFAAiF;IACjF,mBAAmB,IAAI,IAAI,CAI1B;IAED,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOH;IAED;;;6EAGyE;IACzE,OAAO,CAAC,eAAe;IAkBjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEZ;IAED;;8EAE0E;IACpE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAGtB;IAED;;;;;;mDAM+C;YACjC,YAAY;YAcZ,mBAAmB;IA2FjC;;;;;;;;;;;0DAWsD;IACtD,OAAO,CAAC,iBAAiB;IAyCzB;;8DAE0D;IAC1D,OAAO,CAAC,cAAc;IAatB;;;;2DAIuD;IACvD,oBAAoB,IAAI,IAAI,CAG3B;IAED;;;4EAGwE;IACxE,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAe5B;IAED,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA2B9C;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAGjC;IAED,OAAO,CAAC,YAAY;IAwCpB;;6EAEyE;IACzE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAW/D;IAED,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,mBAAmB;IAS3B,kBAAkB,IAAI,IAAI,CAEzB;IAED,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,MAAM;CAUf"}
1
+ {"version":3,"file":"quota-registry.d.ts","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAEzD,OAAO,EAYL,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAU3B,OAAO,EAWL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAmBlE;;iDAEiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,YAAY,EAAE,CAAC;AAExD,iEAAiE;AACjE,qBAAa,aAAa;IAmBtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IArB5B,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAoC;IAC9D,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8C;IAChF;;iDAE6C;IAC7C,OAAO,CAAC,QAAQ,CAAsB;IACtC;;gDAE4C;IAC5C,OAAO,CAAC,gCAAgC,CAAuB;IAC/D,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAE/B;IACJ,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAiB;IAChD,OAAO,CAAC,iBAAiB,CAAiC;IAC1D,OAAO,CAAC,qBAAqB,CAAS;IAEtC,YACmB,OAAO,EAAE,cAAc,EACxC,UAAU,GAAE,SAAS,CAAC,cAAc,GAAG,oBAAoB,CAAC,EAAO,EAClD,GAAG,GAAE,MAAM,IAAuB,EAClC,QAAQ,CAAC,EAAE,oBAAoB,YAAA,EAChD,UAAU,CAAC,EAAE,oBAAoB,EAmFlC;IAED,iFAAiF;IACjF,mBAAmB,IAAI,IAAI,CAI1B;IAED,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOH;IAED,OAAO,CAAC,eAAe;IAIjB,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAEZ;IAED;;8EAE0E;IACpE,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;OAGtB;IAED;;;;;;mDAM+C;YACjC,YAAY;YAcZ,mBAAmB;IA4FjC;;;;;;;;;;;0DAWsD;IACtD,OAAO,CAAC,iBAAiB;IAyCzB;;8DAE0D;IAC1D,OAAO,CAAC,cAAc;IAatB;;;;2DAIuD;IACvD,oBAAoB,IAAI,IAAI,CAG3B;IAED;;;4EAGwE;IACxE,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAuB5B;IAED,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA2B9C;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAUjC;IAED,OAAO,CAAC,YAAY;IA0BpB;;6EAEyE;IACzE,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAW/D;IAED,OAAO,CAAC,sBAAsB;IAe9B,OAAO,CAAC,8BAA8B;IAOtC,OAAO,CAAC,mBAAmB;IAS3B,kBAAkB,IAAI,IAAI,CAEzB;IAED,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,KAAK;IAOb,OAAO,CAAC,uBAAuB;IAS/B,OAAO,CAAC,MAAM;CAcf"}