@claudexor/daemon 4.8.1 → 5.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/command-list-projection.d.ts +1 -1
- package/dist/command-list-projection.d.ts.map +1 -1
- package/dist/command-list-projection.js +2 -3
- package/dist/command-list-projection.js.map +1 -1
- package/dist/daemon-health.d.ts +30 -0
- package/dist/daemon-health.d.ts.map +1 -1
- package/dist/deferred-messages.d.ts.map +1 -1
- package/dist/deferred-messages.js +1 -2
- package/dist/deferred-messages.js.map +1 -1
- package/dist/delivery-command.d.ts.map +1 -1
- package/dist/delivery-command.js +3 -1
- package/dist/delivery-command.js.map +1 -1
- package/dist/enqueue-command.d.ts.map +1 -1
- package/dist/enqueue-command.js +0 -2
- package/dist/enqueue-command.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/job-record.d.ts.map +1 -1
- package/dist/job-record.js +4 -16
- package/dist/job-record.js.map +1 -1
- package/dist/quota-poll-lanes.d.ts +3 -3
- package/dist/quota-poll-lanes.d.ts.map +1 -1
- package/dist/quota-poll-lanes.js.map +1 -1
- package/dist/quota-refresh-batches.d.ts +7 -6
- package/dist/quota-refresh-batches.d.ts.map +1 -1
- package/dist/quota-refresh-batches.js +6 -3
- package/dist/quota-refresh-batches.js.map +1 -1
- package/dist/quota-refresh-demand.d.ts.map +1 -1
- package/dist/quota-refresh-demand.js +3 -2
- package/dist/quota-refresh-demand.js.map +1 -1
- package/dist/quota-registry-replay.d.ts.map +1 -1
- package/dist/quota-registry-replay.js +10 -3
- package/dist/quota-registry-replay.js.map +1 -1
- package/dist/quota-registry-support.d.ts +14 -6
- package/dist/quota-registry-support.d.ts.map +1 -1
- package/dist/quota-registry-support.js +32 -10
- package/dist/quota-registry-support.js.map +1 -1
- package/dist/quota-registry.d.ts +71 -7
- package/dist/quota-registry.d.ts.map +1 -1
- package/dist/quota-registry.js +15 -15
- package/dist/quota-registry.js.map +1 -1
- package/dist/quota-resource-demand.d.ts +1 -1
- package/dist/quota-resource-demand.d.ts.map +1 -1
- package/dist/quota-resource-demand.js +2 -1
- package/dist/quota-resource-demand.js.map +1 -1
- package/dist/quota-resources.d.ts +11 -6
- package/dist/quota-resources.d.ts.map +1 -1
- package/dist/quota-resources.js +10 -5
- package/dist/quota-resources.js.map +1 -1
- package/dist/run-observation.d.ts.map +1 -1
- package/dist/run-observation.js +6 -4
- package/dist/run-observation.js.map +1 -1
- package/dist/store/command-prune.d.ts.map +1 -1
- package/dist/store/command-prune.js +6 -3
- package/dist/store/command-prune.js.map +1 -1
- package/dist/store/command-queries.d.ts.map +1 -1
- package/dist/store/command-queries.js +9 -11
- package/dist/store/command-queries.js.map +1 -1
- package/dist/store/command-rows.d.ts +1 -0
- package/dist/store/command-rows.d.ts.map +1 -1
- package/dist/store/command-rows.js +5 -2
- package/dist/store/command-rows.js.map +1 -1
- package/dist/store/cursors.d.ts +37 -1
- package/dist/store/cursors.d.ts.map +1 -1
- package/dist/store/cursors.js +64 -13
- package/dist/store/cursors.js.map +1 -1
- package/dist/store/deferred-messages.d.ts.map +1 -1
- package/dist/store/deferred-messages.js +1 -3
- package/dist/store/deferred-messages.js.map +1 -1
- package/dist/store/engine-state-recovery.d.ts +2 -2
- package/dist/store/engine-state-recovery.d.ts.map +1 -1
- package/dist/store/engine-state-recovery.js.map +1 -1
- package/dist/store/interactions.d.ts.map +1 -1
- package/dist/store/interactions.js +12 -1
- package/dist/store/interactions.js.map +1 -1
- package/dist/store/mutation.d.ts +5 -0
- package/dist/store/mutation.d.ts.map +1 -1
- package/dist/store/mutation.js +13 -0
- package/dist/store/mutation.js.map +1 -1
- package/dist/store/observation-notices.d.ts +14 -0
- package/dist/store/observation-notices.d.ts.map +1 -0
- package/dist/store/observation-notices.js +25 -0
- package/dist/store/observation-notices.js.map +1 -0
- package/dist/store/project-router.d.ts +6 -0
- package/dist/store/project-router.d.ts.map +1 -1
- package/dist/store/project-router.js +3 -0
- package/dist/store/project-router.js.map +1 -1
- package/dist/store/projects.d.ts +15 -1
- package/dist/store/projects.d.ts.map +1 -1
- package/dist/store/projects.js +83 -26
- package/dist/store/projects.js.map +1 -1
- package/dist/store/publish-blob.d.ts.map +1 -1
- package/dist/store/publish-blob.js +3 -10
- package/dist/store/publish-blob.js.map +1 -1
- package/dist/store/purge-files.d.ts +13 -1
- package/dist/store/purge-files.d.ts.map +1 -1
- package/dist/store/purge-files.js +26 -2
- package/dist/store/purge-files.js.map +1 -1
- package/dist/store/resource-rows.d.ts +0 -2
- package/dist/store/resource-rows.d.ts.map +1 -1
- package/dist/store/resource-rows.js +0 -9
- package/dist/store/resource-rows.js.map +1 -1
- package/dist/store/resources.d.ts.map +1 -1
- package/dist/store/resources.js +2 -6
- package/dist/store/resources.js.map +1 -1
- package/dist/store/retention-changes.d.ts.map +1 -1
- package/dist/store/retention-changes.js +4 -2
- package/dist/store/retention-changes.js.map +1 -1
- package/dist/store/retention-generations.d.ts +5 -0
- package/dist/store/retention-generations.d.ts.map +1 -1
- package/dist/store/retention-generations.js +13 -2
- package/dist/store/retention-generations.js.map +1 -1
- package/dist/store/retention-references.d.ts +2 -1
- package/dist/store/retention-references.d.ts.map +1 -1
- package/dist/store/retention-references.js +1 -0
- package/dist/store/retention-references.js.map +1 -1
- package/dist/store/schema.d.ts +2 -5
- package/dist/store/schema.d.ts.map +1 -1
- package/dist/store/schema.js +30 -9
- package/dist/store/schema.js.map +1 -1
- package/dist/store/sql-daemon-services.d.ts +2 -8
- package/dist/store/sql-daemon-services.d.ts.map +1 -1
- package/dist/store/sql-daemon-services.js +2 -2
- package/dist/store/sql-daemon-services.js.map +1 -1
- package/dist/store/sql-recovery.d.ts +2 -8
- package/dist/store/sql-recovery.d.ts.map +1 -1
- package/dist/store/sql-recovery.js +3 -3
- package/dist/store/sql-recovery.js.map +1 -1
- package/dist/store/store.d.ts +2 -0
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/store.js +2 -0
- package/dist/store/store.js.map +1 -1
- package/dist/store/thread-prompt-read.d.ts +4 -2
- package/dist/store/thread-prompt-read.d.ts.map +1 -1
- package/dist/store/thread-prompt-read.js +4 -2
- package/dist/store/thread-prompt-read.js.map +1 -1
- package/dist/store/threads.d.ts.map +1 -1
- package/dist/store/threads.js +3 -3
- package/dist/store/threads.js.map +1 -1
- package/dist/store/upload-imports.d.ts.map +1 -1
- package/dist/store/upload-imports.js +2 -4
- package/dist/store/upload-imports.js.map +1 -1
- package/dist/store/uploads.d.ts.map +1 -1
- package/dist/store/uploads.js +2 -4
- package/dist/store/uploads.js.map +1 -1
- package/dist/store-contracts.d.ts +6 -2
- package/dist/store-contracts.d.ts.map +1 -1
- package/dist/terminal-authority.d.ts +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-refresh-demand.js","sourceRoot":"","sources":["../src/quota-refresh-demand.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,2BAA2B,EAC3B,iBAAiB,
|
|
1
|
+
{"version":3,"file":"quota-refresh-demand.js","sourceRoot":"","sources":["../src/quota-refresh-demand.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-registry-replay.d.ts","sourceRoot":"","sources":["../src/quota-registry-replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAKL,uBAAuB,
|
|
1
|
+
{"version":3,"file":"quota-registry-replay.d.ts","sourceRoot":"","sources":["../src/quota-registry-replay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAExD,OAAO,EAKL,uBAAuB,EAEvB,KAAK,aAAa,EAClB,KAAK,0BAA0B,EAC/B,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAE3B,eAAO,MAAM,qBAAqB,gCAAgC,CAAC;AACnE,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAG7D,eAAO,MAAM,iBAAiB,4BAA4B,CAAC;AAE3D,eAAO,MAAM,OAAO,0BAA0B,CAAC;AAC/C,eAAO,MAAM,kBAAkB,6BAA6B,CAAC;AAmB7D,wFAAwF;AACxF,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,WAAW,EACpB,KAAK,EAAE;IACL,KAAK,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACzC,uBAAuB,EAAE,CAAC,KAAK,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAClE,cAAc,EAAE,CAAC,KAAK,EAAE,0BAA0B,KAAK,IAAI,CAAC;IAC5D,mBAAmB,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACjE,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI,EAAE,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;CAC1E;;;EA8FF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { hashJson } from "@claudexor/util";
|
|
2
|
-
import { AccountResourcesInvalidated, AccountResourcesObserved, QuotaSnapshot as QuotaSnapshotSchema, QuotaWindowObservation, QuotaWindowSupersession, } from "@claudexor/schema";
|
|
2
|
+
import { AccountResourcesInvalidated, AccountResourcesObserved, QuotaSnapshot as QuotaSnapshotSchema, QuotaWindowObservation, QuotaWindowSupersession, withCurrentQuotaScopes, } from "@claudexor/schema";
|
|
3
3
|
import { legacyV320Snapshot } from "./quota-registry-support.js";
|
|
4
4
|
export const RESOURCES_INVALIDATED = "quota.resources.invalidated";
|
|
5
5
|
export const RESOURCES_OBSERVED = "quota.resources.observed";
|
|
@@ -19,6 +19,13 @@ const REPLAY_TYPES = [
|
|
|
19
19
|
REMOVED,
|
|
20
20
|
PROJECTION_UPDATED,
|
|
21
21
|
];
|
|
22
|
+
/** Current producers already write the current scope representation; only a
|
|
23
|
+
* restored record can carry a retired one. History keeps its original bytes. */
|
|
24
|
+
function restore(owner, snapshot) {
|
|
25
|
+
const current = withCurrentQuotaScopes(snapshot);
|
|
26
|
+
if (current)
|
|
27
|
+
owner.apply(current);
|
|
28
|
+
}
|
|
22
29
|
/** Replay is part of QuotaRegistry's existing journal projection, not another store. */
|
|
23
30
|
export function replayQuotaJournal(journal, owner) {
|
|
24
31
|
let projectionSignature = null;
|
|
@@ -53,7 +60,7 @@ export function replayQuotaJournal(journal, owner) {
|
|
|
53
60
|
hashJson(legacyV320Snapshot(pendingScoped.snapshot)) === baseHash
|
|
54
61
|
? pendingScoped.snapshot
|
|
55
62
|
: null;
|
|
56
|
-
owner
|
|
63
|
+
restore(owner, committedScoped ?? base);
|
|
57
64
|
pendingScoped = null;
|
|
58
65
|
rawMutationAfterMarker = true;
|
|
59
66
|
continue;
|
|
@@ -75,7 +82,7 @@ export function replayQuotaJournal(journal, owner) {
|
|
|
75
82
|
continue;
|
|
76
83
|
}
|
|
77
84
|
if (record.type === WINDOW_OBSERVED) {
|
|
78
|
-
owner
|
|
85
|
+
restore(owner, QuotaWindowObservation.parse(record.payload).snapshot);
|
|
79
86
|
rawMutationAfterMarker = true;
|
|
80
87
|
continue;
|
|
81
88
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-registry-replay.js","sourceRoot":"","sources":["../src/quota-registry-replay.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,2BAA2B,EAC3B,wBAAwB,EACxB,aAAa,IAAI,mBAAmB,EACpC,sBAAsB,EACtB,uBAAuB,
|
|
1
|
+
{"version":3,"file":"quota-registry-replay.js","sourceRoot":"","sources":["../src/quota-registry-replay.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,26 +4,29 @@
|
|
|
4
4
|
* keying, freshness aging, and expired scoped-cooldown pruning. No registry
|
|
5
5
|
* state lives here.
|
|
6
6
|
*/
|
|
7
|
-
import { type CredentialRoute, type HarnessEvent, type QuotaConstraint, type ControlQuotaFreshnessSnapshot, type QuotaSnapshot, type QuotaSource } from "@claudexor/schema";
|
|
7
|
+
import { QUOTA_FRESHNESS_TTL_MS, type CredentialRoute, type HarnessEvent, type QuotaConstraint, type ControlQuotaFreshnessSnapshot, type QuotaSnapshot, type QuotaSource } from "@claudexor/schema";
|
|
8
8
|
/** The reactive vendor-limit cooldown snapshot for a harness event: the
|
|
9
9
|
* existing subject's constraints minus the superseded/expired cooldown, plus
|
|
10
|
-
* the new bounded cooldown window. Pure: the
|
|
10
|
+
* the new bounded cooldown window. Pure: it only reads the snapshots it is handed. */
|
|
11
11
|
export declare function reactiveCooldownSnapshot(input: {
|
|
12
12
|
harness: string;
|
|
13
13
|
credentialRoute: CredentialRoute;
|
|
14
14
|
event: HarnessEvent;
|
|
15
15
|
source: QuotaSource;
|
|
16
|
-
|
|
16
|
+
/** The registry's current snapshots; this subject's own cooldown record is extended. */
|
|
17
|
+
current: Iterable<QuotaSnapshot>;
|
|
17
18
|
}, now: Date): QuotaSnapshot;
|
|
18
19
|
/** Freshness-annotated snapshots with expired (>24h) observations pruned.
|
|
19
20
|
* An old observation whose constraint still EXTENDS into the future (a
|
|
20
21
|
* 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
|
-
|
|
22
|
+
* would hide a live cap from both the footer and the router's ledger.
|
|
23
|
+
* `age` is `staleAt` for display/demand; admission passes `observationStaleAt`
|
|
24
|
+
* and judges each window's own reset at its decision (quotaWindowFreshness). */
|
|
25
|
+
export declare function activeQuotaSnapshots(snapshots: readonly QuotaSnapshot[], now: number, age?: (snapshot: QuotaSnapshot, now: number) => QuotaSnapshot): QuotaSnapshot[];
|
|
23
26
|
/** Passive display projection. Apply the SAME aging rule to each singleton
|
|
24
27
|
* window using raw freshness, before aggregate aging can erase that evidence. */
|
|
25
28
|
export declare function activeQuotaSnapshotsWithConstraintFreshness(snapshots: readonly QuotaSnapshot[], now: number): ControlQuotaFreshnessSnapshot[];
|
|
26
|
-
export
|
|
29
|
+
export { QUOTA_FRESHNESS_TTL_MS };
|
|
27
30
|
/** Same quota EVIDENCE: everything but the observation time (a freshness flip
|
|
28
31
|
* is evidence). A poll that only re-observed unchanged evidence keeps the fresh
|
|
29
32
|
* `observed_at` in memory without a journal frame. */
|
|
@@ -104,7 +107,12 @@ export declare function snapshotKey(snapshot: QuotaSnapshot): string;
|
|
|
104
107
|
* explicit allowlist at every nested level so a future additive field cannot
|
|
105
108
|
* silently make updater rollback boot-incompatible again. */
|
|
106
109
|
export declare function legacyV320Snapshot(snapshot: QuotaSnapshot): QuotaSnapshot;
|
|
110
|
+
/** Aggregate freshness: stale once the observation TTL passes or ANY window's
|
|
111
|
+
* reset is reached (display, demand and journal signatures). */
|
|
107
112
|
export declare function staleAt(snapshot: QuotaSnapshot, now: number): QuotaSnapshot;
|
|
113
|
+
/** The snapshot-wide part of `staleAt` only: raw label and observation TTL.
|
|
114
|
+
* A sibling window's elapsed reset does not age the other windows. */
|
|
115
|
+
export declare function observationStaleAt(snapshot: QuotaSnapshot, now: number): QuotaSnapshot;
|
|
108
116
|
/** The instant at which a fresh snapshot stops satisfying primary demand: its
|
|
109
117
|
* TTL expiry or its earliest reset boundary, whichever comes first. A stale or
|
|
110
118
|
* unreadable observation is already due (-Infinity). One owner for "when is
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-registry-support.d.ts","sourceRoot":"","sources":["../src/quota-registry-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"quota-registry-support.d.ts","sourceRoot":"","sources":["../src/quota-registry-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EACL,sBAAsB,EAUtB,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,6BAA6B,EAClC,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAG3B;;sFAEsF;AACtF,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,wFAAwF;IACxF,OAAO,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC;CAClC,EACD,GAAG,EAAE,IAAI,GACR,aAAa,CAyDf;AAMD;;;;;gFAKgF;AAChF,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,KAAK,aAAuB,GACrE,aAAa,EAAE,CAEjB;AAED;iFACiF;AACjF,wBAAgB,2CAA2C,CACzD,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,GAAG,EAAE,MAAM,GACV,6BAA6B,EAAE,CAQjC;AAsBD,OAAO,EAAE,sBAAsB,EAAE,CAAC;AAElC;;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,CAsCf;AA+ED;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,CA4B3C;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAE3D;AAED;;6DAE6D;AAC7D,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,aAAa,CA0BzE;AAED;gEACgE;AAChE,wBAAgB,OAAO,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAO3E;AAED;sEACsE;AACtE,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,aAAa,CAKtF;AAED;;;;oDAIoD;AACpD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAQlE;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,13 +4,20 @@
|
|
|
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, quotaSourceTraits, quotaSnapshotIdentity, quotaConstraintIdentity, QuotaWindowObservation, vendorResetDayCooldownEnd, } from "@claudexor/schema";
|
|
7
|
+
import { QUOTA_FRESHNESS_TTL_MS, REACTIVE_COOLDOWN_SOURCE, legacyV320QuotaSource, quotaWindowFreshness, 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
|
|
11
|
-
* the new bounded cooldown window. Pure: the
|
|
11
|
+
* the new bounded cooldown window. Pure: it only reads the snapshots it is handed. */
|
|
12
12
|
export function reactiveCooldownSnapshot(input, now) {
|
|
13
|
-
const { harness, credentialRoute, event, source
|
|
13
|
+
const { harness, credentialRoute, event, source } = input;
|
|
14
|
+
// The event's profile stamp scopes the cooldown to ITS subject (round-11):
|
|
15
|
+
// a profiled limit never cools the default subject down (or vice versa).
|
|
16
|
+
const profileId = event.credential_profile_id ?? null;
|
|
17
|
+
const existing = [...input.current].find((snapshot) => snapshot.subject.harness === harness &&
|
|
18
|
+
snapshot.subject.credential_route === credentialRoute &&
|
|
19
|
+
(snapshot.subject.subject_id ?? null) === profileId &&
|
|
20
|
+
snapshot.source === source);
|
|
14
21
|
const reset = event.rate_limit?.resets_at ?? null;
|
|
15
22
|
const delay = event.rate_limit?.retry_delay_ms ?? null;
|
|
16
23
|
// A day-granular vendor reset (A1 payload) bounds the cooldown at end-of-day UTC.
|
|
@@ -39,6 +46,9 @@ export function reactiveCooldownSnapshot(input, now) {
|
|
|
39
46
|
...(event.rate_limit?.applies_to_models !== undefined
|
|
40
47
|
? { applies_to_models: event.rate_limit.applies_to_models }
|
|
41
48
|
: {}),
|
|
49
|
+
...(event.rate_limit?.applies_to_model_prefixes
|
|
50
|
+
? { applies_to_model_prefixes: event.rate_limit.applies_to_model_prefixes }
|
|
51
|
+
: {}),
|
|
42
52
|
...(event.rate_limit?.applies_to_request_kinds
|
|
43
53
|
? { applies_to_request_kinds: event.rate_limit.applies_to_request_kinds }
|
|
44
54
|
: {}),
|
|
@@ -56,9 +66,11 @@ const MAX_SNAPSHOT_AGE_MS = 24 * 60 * 60_000;
|
|
|
56
66
|
/** Freshness-annotated snapshots with expired (>24h) observations pruned.
|
|
57
67
|
* An old observation whose constraint still EXTENDS into the future (a
|
|
58
68
|
* weekly cooldown/reset seen once) is kept and stale-marked: pruning it
|
|
59
|
-
* would hide a live cap from both the footer and the router's ledger.
|
|
60
|
-
|
|
61
|
-
|
|
69
|
+
* would hide a live cap from both the footer and the router's ledger.
|
|
70
|
+
* `age` is `staleAt` for display/demand; admission passes `observationStaleAt`
|
|
71
|
+
* and judges each window's own reset at its decision (quotaWindowFreshness). */
|
|
72
|
+
export function activeQuotaSnapshots(snapshots, now, age = staleAt) {
|
|
73
|
+
return activeRawQuotaSnapshots(snapshots, now).map((snapshot) => age(snapshot, now));
|
|
62
74
|
}
|
|
63
75
|
/** Passive display projection. Apply the SAME aging rule to each singleton
|
|
64
76
|
* window using raw freshness, before aggregate aging can erase that evidence. */
|
|
@@ -67,7 +79,7 @@ export function activeQuotaSnapshotsWithConstraintFreshness(snapshots, now) {
|
|
|
67
79
|
...staleAt(snapshot, now),
|
|
68
80
|
constraints: snapshot.constraints.map((constraint) => ({
|
|
69
81
|
...constraint,
|
|
70
|
-
freshness:
|
|
82
|
+
freshness: quotaWindowFreshness(snapshot, constraint, now),
|
|
71
83
|
})),
|
|
72
84
|
}));
|
|
73
85
|
}
|
|
@@ -87,7 +99,7 @@ function activeRawQuotaSnapshots(snapshots, now) {
|
|
|
87
99
|
}));
|
|
88
100
|
});
|
|
89
101
|
}
|
|
90
|
-
export
|
|
102
|
+
export { QUOTA_FRESHNESS_TTL_MS };
|
|
91
103
|
/** Same quota EVIDENCE: everything but the observation time (a freshness flip
|
|
92
104
|
* is evidence). A poll that only re-observed unchanged evidence keeps the fresh
|
|
93
105
|
* `observed_at` in memory without a journal frame. */
|
|
@@ -274,13 +286,23 @@ export function legacyV320Snapshot(snapshot) {
|
|
|
274
286
|
freshness: snapshot.freshness,
|
|
275
287
|
};
|
|
276
288
|
}
|
|
289
|
+
/** Aggregate freshness: stale once the observation TTL passes or ANY window's
|
|
290
|
+
* reset is reached (display, demand and journal signatures). */
|
|
277
291
|
export function staleAt(snapshot, now) {
|
|
292
|
+
const aged = observationStaleAt(snapshot, now);
|
|
293
|
+
if (aged.freshness !== "fresh")
|
|
294
|
+
return aged;
|
|
295
|
+
const resetExpired = snapshot.constraints.some((constraint) => quotaWindowFreshness(snapshot, constraint, now) !== "fresh");
|
|
296
|
+
return resetExpired ? { ...snapshot, freshness: "stale" } : snapshot;
|
|
297
|
+
}
|
|
298
|
+
/** The snapshot-wide part of `staleAt` only: raw label and observation TTL.
|
|
299
|
+
* A sibling window's elapsed reset does not age the other windows. */
|
|
300
|
+
export function observationStaleAt(snapshot, now) {
|
|
278
301
|
if (snapshot.freshness !== "fresh")
|
|
279
302
|
return snapshot;
|
|
280
303
|
const observed = Date.parse(snapshot.observed_at);
|
|
281
|
-
const resetExpired = snapshot.constraints.some((constraint) => resetExpiredAt(constraint, now));
|
|
282
304
|
const tooOld = !Number.isFinite(observed) || now - observed > QUOTA_FRESHNESS_TTL_MS;
|
|
283
|
-
return
|
|
305
|
+
return tooOld ? { ...snapshot, freshness: "stale" } : snapshot;
|
|
284
306
|
}
|
|
285
307
|
/** The instant at which a fresh snapshot stops satisfying primary demand: its
|
|
286
308
|
* TTL expiry or its earliest reset boundary, whichever comes first. A stale or
|
|
@@ -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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"}
|
package/dist/quota-registry.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { EventLedger } from "./store-contracts.js";
|
|
2
|
-
import { type AccountTarget, type QuotaSnapshot, type QuotaSubject } from "@claudexor/schema";
|
|
2
|
+
import { type AccountResourceTarget, type AccountTarget, type QuotaSnapshot, type QuotaSubject } from "@claudexor/schema";
|
|
3
3
|
import { type QuotaRefresher, type QuotaVendorRefresher } from "./quota-poll-lanes.js";
|
|
4
4
|
import type { QuotaPacerStateStore } from "./quota-poll-pacer.js";
|
|
5
5
|
/** The registered subject UNIVERSE: every subject the daemon expects to hear
|
|
@@ -91,6 +91,32 @@ export declare class QuotaRegistry {
|
|
|
91
91
|
not_before: string;
|
|
92
92
|
}[] | undefined;
|
|
93
93
|
};
|
|
94
|
+
/** Admission read: windows age individually at the deciding reader (quotaWindowFreshness). */
|
|
95
|
+
readAdmission(now?: number): {
|
|
96
|
+
snapshots: {
|
|
97
|
+
subject: {
|
|
98
|
+
harness: string;
|
|
99
|
+
credential_route: "local" | "managed_api_key" | "vendor_native";
|
|
100
|
+
plan_label: string | null;
|
|
101
|
+
subject_id: string | null;
|
|
102
|
+
};
|
|
103
|
+
constraints: {
|
|
104
|
+
id: string;
|
|
105
|
+
label: string;
|
|
106
|
+
applies_to_models?: string[] | null | undefined;
|
|
107
|
+
applies_to_model_prefixes?: string[] | undefined;
|
|
108
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
109
|
+
applies_to_request_kinds?: ("image" | "text")[] | undefined;
|
|
110
|
+
used_ratio: number | null;
|
|
111
|
+
window_seconds: number | null;
|
|
112
|
+
resets_at: string | null;
|
|
113
|
+
cooldown_until: string | null;
|
|
114
|
+
}[];
|
|
115
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit" | "grok_rate_limit";
|
|
116
|
+
observed_at: string;
|
|
117
|
+
freshness: "fresh" | "stale" | "unknown";
|
|
118
|
+
}[];
|
|
119
|
+
};
|
|
94
120
|
/** Opt-in display read, never used for routing, demand, or journal signatures. */
|
|
95
121
|
readConstraintFreshness(now?: number): {
|
|
96
122
|
absences: {
|
|
@@ -156,8 +182,9 @@ export declare class QuotaRegistry {
|
|
|
156
182
|
readResources(now?: number): {
|
|
157
183
|
target: {
|
|
158
184
|
harness: string;
|
|
159
|
-
profile_id: string;
|
|
185
|
+
profile_id: string | null;
|
|
160
186
|
};
|
|
187
|
+
credential_fingerprint?: string | undefined;
|
|
161
188
|
balances: {
|
|
162
189
|
value: {
|
|
163
190
|
scope?: "personal" | "team" | undefined;
|
|
@@ -201,6 +228,9 @@ export declare class QuotaRegistry {
|
|
|
201
228
|
decimal_places: number | null;
|
|
202
229
|
resets_at: string | null;
|
|
203
230
|
reason: string | null;
|
|
231
|
+
capped?: boolean | null | undefined;
|
|
232
|
+
remaining?: string | null | undefined;
|
|
233
|
+
window?: "day" | "lifetime" | "month" | "week" | null | undefined;
|
|
204
234
|
}[] | null;
|
|
205
235
|
source: string | null;
|
|
206
236
|
observed_at: string | null;
|
|
@@ -254,7 +284,7 @@ export declare class QuotaRegistry {
|
|
|
254
284
|
invalidateAccountResources(target: AccountTarget): void;
|
|
255
285
|
private retireResourceEvidence;
|
|
256
286
|
private activeSnapshots;
|
|
257
|
-
refresh(target?:
|
|
287
|
+
refresh(target?: AccountResourceTarget, afterCurrent?: boolean): Promise<{
|
|
258
288
|
snapshots: {
|
|
259
289
|
subject: {
|
|
260
290
|
harness: string;
|
|
@@ -316,7 +346,8 @@ export declare class QuotaRegistry {
|
|
|
316
346
|
}>;
|
|
317
347
|
/** Fresh quota plus the exact global-journal fence for snapshot-then-SSE.
|
|
318
348
|
* The cursor is captured inside refreshCycle, synchronously with `response`,
|
|
319
|
-
* so a later append can never be skipped by a client resuming from it.
|
|
349
|
+
* so a later append can never be skipped by a client resuming from it.
|
|
350
|
+
* `admission` is the same state's per-window routing read (readAdmission). */
|
|
320
351
|
refreshWithCursor(): Promise<{
|
|
321
352
|
response: {
|
|
322
353
|
snapshots: {
|
|
@@ -382,8 +413,9 @@ export declare class QuotaRegistry {
|
|
|
382
413
|
resources: {
|
|
383
414
|
target: {
|
|
384
415
|
harness: string;
|
|
385
|
-
profile_id: string;
|
|
416
|
+
profile_id: string | null;
|
|
386
417
|
};
|
|
418
|
+
credential_fingerprint?: string | undefined;
|
|
387
419
|
balances: {
|
|
388
420
|
value: {
|
|
389
421
|
scope?: "personal" | "team" | undefined;
|
|
@@ -427,6 +459,9 @@ export declare class QuotaRegistry {
|
|
|
427
459
|
decimal_places: number | null;
|
|
428
460
|
resets_at: string | null;
|
|
429
461
|
reason: string | null;
|
|
462
|
+
capped?: boolean | null | undefined;
|
|
463
|
+
remaining?: string | null | undefined;
|
|
464
|
+
window?: "day" | "lifetime" | "month" | "week" | null | undefined;
|
|
430
465
|
}[] | null;
|
|
431
466
|
source: string | null;
|
|
432
467
|
observed_at: string | null;
|
|
@@ -476,8 +511,33 @@ export declare class QuotaRegistry {
|
|
|
476
511
|
last_error: string | null;
|
|
477
512
|
};
|
|
478
513
|
}[];
|
|
514
|
+
admission: {
|
|
515
|
+
snapshots: {
|
|
516
|
+
subject: {
|
|
517
|
+
harness: string;
|
|
518
|
+
credential_route: "local" | "managed_api_key" | "vendor_native";
|
|
519
|
+
plan_label: string | null;
|
|
520
|
+
subject_id: string | null;
|
|
521
|
+
};
|
|
522
|
+
constraints: {
|
|
523
|
+
id: string;
|
|
524
|
+
label: string;
|
|
525
|
+
applies_to_models?: string[] | null | undefined;
|
|
526
|
+
applies_to_model_prefixes?: string[] | undefined;
|
|
527
|
+
applies_to_unspecified_model?: boolean | undefined;
|
|
528
|
+
applies_to_request_kinds?: ("image" | "text")[] | undefined;
|
|
529
|
+
used_ratio: number | null;
|
|
530
|
+
window_seconds: number | null;
|
|
531
|
+
resets_at: string | null;
|
|
532
|
+
cooldown_until: string | null;
|
|
533
|
+
}[];
|
|
534
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit" | "grok_rate_limit";
|
|
535
|
+
observed_at: string;
|
|
536
|
+
freshness: "fresh" | "stale" | "unknown";
|
|
537
|
+
}[];
|
|
538
|
+
};
|
|
479
539
|
}>;
|
|
480
|
-
refreshResources(target?:
|
|
540
|
+
refreshResources(target?: AccountResourceTarget, afterCurrent?: boolean, invalidateBeforeRead?: boolean): Promise<{
|
|
481
541
|
snapshots: {
|
|
482
542
|
subject: {
|
|
483
543
|
harness: string;
|
|
@@ -539,8 +599,9 @@ export declare class QuotaRegistry {
|
|
|
539
599
|
resources: {
|
|
540
600
|
target: {
|
|
541
601
|
harness: string;
|
|
542
|
-
profile_id: string;
|
|
602
|
+
profile_id: string | null;
|
|
543
603
|
};
|
|
604
|
+
credential_fingerprint?: string | undefined;
|
|
544
605
|
balances: {
|
|
545
606
|
value: {
|
|
546
607
|
scope?: "personal" | "team" | undefined;
|
|
@@ -584,6 +645,9 @@ export declare class QuotaRegistry {
|
|
|
584
645
|
decimal_places: number | null;
|
|
585
646
|
resets_at: string | null;
|
|
586
647
|
reason: string | null;
|
|
648
|
+
capped?: boolean | null | undefined;
|
|
649
|
+
remaining?: string | null | undefined;
|
|
650
|
+
window?: "day" | "lifetime" | "month" | "week" | null | undefined;
|
|
587
651
|
}[] | null;
|
|
588
652
|
source: string | null;
|
|
589
653
|
observed_at: string | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-registry.d.ts","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAGL,KAAK,aAAa,EAUlB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAQ3B,OAAO,EAWL,KAAK,cAAc,EACnB,KAAK,oBAAoB,EAE1B,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAclE;;iDAEiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,YAAY,EAAE,CAAC;AAExD,iEAAiE;AACjE,qBAAa,aAAa;IAsBtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAExB,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAxB5B,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA6B;IAC7D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA8C;IACxE,OAAO,CAAC,aAAa,CAAK;IAC1B,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,WAAW,EACrC,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,EAiBlC;IAED,iFAAiF;IACjF,mBAAmB,IAAI,IAAI,CAI1B;IAED,IAAI;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAOH;IAED,kFAAkF;IAClF,uBAAuB,CAAC,GAAG,SAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEjD;IAED,aAAa,CAAC,GAAG,SAAuB
|
|
1
|
+
{"version":3,"file":"quota-registry.d.ts","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"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"}
|
package/dist/quota-registry.js
CHANGED
|
@@ -63,6 +63,10 @@ export class QuotaRegistry {
|
|
|
63
63
|
refreshed_at: null,
|
|
64
64
|
});
|
|
65
65
|
}
|
|
66
|
+
/** Admission read: windows age individually at the deciding reader (quotaWindowFreshness). */
|
|
67
|
+
readAdmission(now = this.now().getTime()) {
|
|
68
|
+
return { snapshots: this.activeSnapshots(now, true) };
|
|
69
|
+
}
|
|
66
70
|
/** Opt-in display read, never used for routing, demand, or journal signatures. */
|
|
67
71
|
readConstraintFreshness(now = this.now().getTime()) {
|
|
68
72
|
return quotaFreshnessRead(this.snapshots, this.resourceCutoffs, this.activeAbsences(now), now);
|
|
@@ -80,18 +84,19 @@ export class QuotaRegistry {
|
|
|
80
84
|
retireResourceEvidence(target, at) {
|
|
81
85
|
retireAccountResourceEvidence(target, at, this.resourceCutoffs, this.snapshots, this.resources);
|
|
82
86
|
}
|
|
83
|
-
activeSnapshots(now) {
|
|
84
|
-
return resourceQuotaSnapshots(this.snapshots.values(), this.resourceCutoffs, now);
|
|
87
|
+
activeSnapshots(now, admission = false) {
|
|
88
|
+
return resourceQuotaSnapshots(this.snapshots.values(), this.resourceCutoffs, now, admission);
|
|
85
89
|
}
|
|
86
90
|
async refresh(target, afterCurrent = false) {
|
|
87
91
|
return (await this.refreshCycle(true, undefined, target, afterCurrent)).response;
|
|
88
92
|
}
|
|
89
93
|
/** Fresh quota plus the exact global-journal fence for snapshot-then-SSE.
|
|
90
94
|
* The cursor is captured inside refreshCycle, synchronously with `response`,
|
|
91
|
-
* so a later append can never be skipped by a client resuming from it.
|
|
95
|
+
* so a later append can never be skipped by a client resuming from it.
|
|
96
|
+
* `admission` is the same state's per-window routing read (readAdmission). */
|
|
92
97
|
async refreshWithCursor() {
|
|
93
|
-
const { response, quotaEventCursor, resources } = await this.refreshCycle();
|
|
94
|
-
return { response, quotaEventCursor, resources };
|
|
98
|
+
const { response, quotaEventCursor, resources, admission } = await this.refreshCycle();
|
|
99
|
+
return { response, quotaEventCursor, resources, admission };
|
|
95
100
|
}
|
|
96
101
|
async refreshResources(target, afterCurrent = false, invalidateBeforeRead = false) {
|
|
97
102
|
const cycle = await this.refreshCycle(true, undefined, target, afterCurrent, invalidateBeforeRead);
|
|
@@ -111,8 +116,8 @@ export class QuotaRegistry {
|
|
|
111
116
|
.run((credentialGeneration) => {
|
|
112
117
|
// Drain the previous cycle before moving the reset cutoff. Even an old
|
|
113
118
|
// source stamped at delivery cannot renew history after this boundary.
|
|
114
|
-
if (target && invalidateBeforeRead)
|
|
115
|
-
this.invalidateAccountResources(target);
|
|
119
|
+
if (target?.profile_id && invalidateBeforeRead)
|
|
120
|
+
this.invalidateAccountResources({ ...target, profile_id: target.profile_id });
|
|
116
121
|
return this.performRefreshCycle(credentialGeneration, scope ?? null, target);
|
|
117
122
|
}, followCredentialChanges)
|
|
118
123
|
.catch((error) => {
|
|
@@ -181,6 +186,7 @@ export class QuotaRegistry {
|
|
|
181
186
|
response,
|
|
182
187
|
quotaEventCursor,
|
|
183
188
|
resources,
|
|
189
|
+
admission: { snapshots: this.activeSnapshots(now, true) },
|
|
184
190
|
scopeVendor: scope?.vendor ?? null,
|
|
185
191
|
target,
|
|
186
192
|
serial,
|
|
@@ -390,14 +396,8 @@ export class QuotaRegistry {
|
|
|
390
396
|
}
|
|
391
397
|
upsertCooldown(harness, credentialRoute, event) {
|
|
392
398
|
const source = REACTIVE_COOLDOWN_SOURCE[harness] ?? "codex_rollout";
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
const profileId = event.credential_profile_id ?? null;
|
|
396
|
-
const existing = [...this.snapshots.values()].find((snapshot) => snapshot.subject.harness === harness &&
|
|
397
|
-
snapshot.subject.credential_route === credentialRoute &&
|
|
398
|
-
(snapshot.subject.subject_id ?? null) === profileId &&
|
|
399
|
-
snapshot.source === source);
|
|
400
|
-
this.upsert(reactiveCooldownSnapshot({ harness, credentialRoute, event, source, existing }, this.now()));
|
|
399
|
+
const current = this.snapshots.values();
|
|
400
|
+
this.upsert(reactiveCooldownSnapshot({ harness, credentialRoute, event, source, current }, this.now()));
|
|
401
401
|
}
|
|
402
402
|
apply(snapshot) {
|
|
403
403
|
const key = snapshotKey(snapshot);
|