@claudexor/daemon 3.5.0 → 3.6.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.
- package/dist/credential-unusable-ledger.d.ts +59 -0
- package/dist/credential-unusable-ledger.d.ts.map +1 -0
- package/dist/credential-unusable-ledger.js +117 -0
- package/dist/credential-unusable-ledger.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/partition-accounts.d.ts +27 -0
- package/dist/partition-accounts.d.ts.map +1 -0
- package/dist/partition-accounts.js +21 -0
- package/dist/partition-accounts.js.map +1 -0
- package/dist/project-partitions.d.ts +10 -0
- package/dist/project-partitions.d.ts.map +1 -1
- package/dist/project-partitions.js +26 -66
- package/dist/project-partitions.js.map +1 -1
- package/dist/project-remove.d.ts +11 -0
- package/dist/project-remove.d.ts.map +1 -0
- package/dist/project-remove.js +67 -0
- package/dist/project-remove.js.map +1 -0
- package/dist/quota-registry-support.d.ts +16 -0
- package/dist/quota-registry-support.d.ts.map +1 -0
- package/dist/quota-registry-support.js +66 -0
- package/dist/quota-registry-support.js.map +1 -0
- package/dist/quota-registry.d.ts +7 -4
- package/dist/quota-registry.d.ts.map +1 -1
- package/dist/quota-registry.js +19 -74
- package/dist/quota-registry.js.map +1 -1
- package/dist/thread-lane-checkpoints.d.ts +59 -1
- package/dist/thread-lane-checkpoints.d.ts.map +1 -1
- package/dist/thread-lane-checkpoints.js +127 -1
- package/dist/thread-lane-checkpoints.js.map +1 -1
- package/dist/thread-store-support.d.ts +6 -1
- package/dist/thread-store-support.d.ts.map +1 -1
- package/dist/thread-store-support.js +54 -2
- package/dist/thread-store-support.js.map +1 -1
- package/dist/threads.d.ts +16 -0
- package/dist/threads.d.ts.map +1 -1
- package/dist/threads.js +31 -67
- package/dist/threads.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-remove.js","sourceRoot":"","sources":["../src/project-remove.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure per-snapshot helpers of the QuotaRegistry, split to a smaller owner
|
|
3
|
+
* (complexity ratchet): durable-journal v3.2.0 rollback shaping, snapshot
|
|
4
|
+
* keying, freshness aging, and expired scoped-cooldown pruning. No registry
|
|
5
|
+
* state lives here.
|
|
6
|
+
*/
|
|
7
|
+
import { type QuotaConstraint, type QuotaSnapshot } from "@claudexor/schema";
|
|
8
|
+
export declare function snapshotKey(snapshot: QuotaSnapshot): string;
|
|
9
|
+
/** Exact durable payload accepted by the strict v3.2.0 quota schemas. Keep an
|
|
10
|
+
* explicit allowlist at every nested level so a future additive field cannot
|
|
11
|
+
* silently make updater rollback boot-incompatible again. */
|
|
12
|
+
export declare function legacyV320Snapshot(snapshot: QuotaSnapshot): QuotaSnapshot;
|
|
13
|
+
export declare function staleAt(snapshot: QuotaSnapshot, now: number): QuotaSnapshot;
|
|
14
|
+
export declare function isExpiredScopedCooldown(source: QuotaSnapshot["source"], constraint: QuotaConstraint, now: number): boolean;
|
|
15
|
+
export declare function withoutExpiredScopedCooldowns(snapshot: QuotaSnapshot, now: number): QuotaSnapshot | null;
|
|
16
|
+
//# sourceMappingURL=quota-registry-support.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quota-registry-support.d.ts","sourceRoot":"","sources":["../src/quota-registry-support.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,aAAa,EACnB,MAAM,mBAAmB,CAAC;AAE3B,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;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"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pure per-snapshot helpers of the QuotaRegistry, split to a smaller owner
|
|
3
|
+
* (complexity ratchet): durable-journal v3.2.0 rollback shaping, snapshot
|
|
4
|
+
* keying, freshness aging, and expired scoped-cooldown pruning. No registry
|
|
5
|
+
* state lives here.
|
|
6
|
+
*/
|
|
7
|
+
import { REACTIVE_COOLDOWN_SOURCE, legacyV320QuotaSource, } from "@claudexor/schema";
|
|
8
|
+
export function snapshotKey(snapshot) {
|
|
9
|
+
const subject = snapshot.subject;
|
|
10
|
+
return [
|
|
11
|
+
subject.harness,
|
|
12
|
+
subject.credential_route,
|
|
13
|
+
subject.subject_id ?? "",
|
|
14
|
+
snapshot.source,
|
|
15
|
+
].join("\0");
|
|
16
|
+
}
|
|
17
|
+
/** Exact durable payload accepted by the strict v3.2.0 quota schemas. Keep an
|
|
18
|
+
* explicit allowlist at every nested level so a future additive field cannot
|
|
19
|
+
* silently make updater rollback boot-incompatible again. */
|
|
20
|
+
export function legacyV320Snapshot(snapshot) {
|
|
21
|
+
return {
|
|
22
|
+
subject: {
|
|
23
|
+
harness: snapshot.subject.harness,
|
|
24
|
+
credential_route: snapshot.subject.credential_route,
|
|
25
|
+
plan_label: snapshot.subject.plan_label,
|
|
26
|
+
subject_id: snapshot.subject.subject_id,
|
|
27
|
+
},
|
|
28
|
+
constraints: snapshot.constraints.map((constraint) => ({
|
|
29
|
+
id: constraint.id,
|
|
30
|
+
label: constraint.label,
|
|
31
|
+
used_ratio: constraint.used_ratio,
|
|
32
|
+
window_seconds: constraint.window_seconds,
|
|
33
|
+
resets_at: constraint.resets_at,
|
|
34
|
+
cooldown_until: constraint.cooldown_until,
|
|
35
|
+
})),
|
|
36
|
+
source: legacyV320QuotaSource(snapshot.source),
|
|
37
|
+
observed_at: snapshot.observed_at,
|
|
38
|
+
freshness: snapshot.freshness,
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
export function staleAt(snapshot, now) {
|
|
42
|
+
if (snapshot.freshness !== "fresh")
|
|
43
|
+
return snapshot;
|
|
44
|
+
const observed = Date.parse(snapshot.observed_at);
|
|
45
|
+
const resetExpired = snapshot.constraints.some((constraint) => resetExpiredAt(constraint, now));
|
|
46
|
+
const tooOld = !Number.isFinite(observed) || now - observed > 5 * 60_000;
|
|
47
|
+
return resetExpired || tooOld ? { ...snapshot, freshness: "stale" } : snapshot;
|
|
48
|
+
}
|
|
49
|
+
function resetExpiredAt(constraint, now) {
|
|
50
|
+
const reset = constraint.resets_at ? Date.parse(constraint.resets_at) : Number.NaN;
|
|
51
|
+
return Number.isFinite(reset) && reset <= now;
|
|
52
|
+
}
|
|
53
|
+
export function isExpiredScopedCooldown(source, constraint, now) {
|
|
54
|
+
// Every reactive cooldown source (the upsertCooldown producers), not a claude-only
|
|
55
|
+
// name check: an expired scoped sibling never hides a newer active one (Q24 generalized).
|
|
56
|
+
return (Object.values(REACTIVE_COOLDOWN_SOURCE).includes(source) &&
|
|
57
|
+
constraint.id.startsWith("cooldown:") &&
|
|
58
|
+
resetExpiredAt(constraint, now));
|
|
59
|
+
}
|
|
60
|
+
export function withoutExpiredScopedCooldowns(snapshot, now) {
|
|
61
|
+
const constraints = snapshot.constraints.filter((constraint) => !isExpiredScopedCooldown(snapshot.source, constraint, now));
|
|
62
|
+
if (constraints.length === snapshot.constraints.length)
|
|
63
|
+
return snapshot;
|
|
64
|
+
return constraints.length === 0 ? null : { ...snapshot, constraints };
|
|
65
|
+
}
|
|
66
|
+
//# sourceMappingURL=quota-registry-support.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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
|
@@ -51,7 +51,7 @@ export declare class QuotaRegistry {
|
|
|
51
51
|
resets_at: string | null;
|
|
52
52
|
cooldown_until: string | null;
|
|
53
53
|
}[];
|
|
54
|
-
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
54
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
55
55
|
observed_at: string;
|
|
56
56
|
freshness: "fresh" | "stale" | "unknown";
|
|
57
57
|
availability?: {
|
|
@@ -101,7 +101,7 @@ export declare class QuotaRegistry {
|
|
|
101
101
|
resets_at: string | null;
|
|
102
102
|
cooldown_until: string | null;
|
|
103
103
|
}[];
|
|
104
|
-
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
104
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
105
105
|
observed_at: string;
|
|
106
106
|
freshness: "fresh" | "stale" | "unknown";
|
|
107
107
|
availability?: {
|
|
@@ -150,7 +150,7 @@ export declare class QuotaRegistry {
|
|
|
150
150
|
resets_at: string | null;
|
|
151
151
|
cooldown_until: string | null;
|
|
152
152
|
}[];
|
|
153
|
-
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout";
|
|
153
|
+
source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_statusline" | "codex_app_server" | "codex_rollout" | "cursor_rate_limit";
|
|
154
154
|
observed_at: string;
|
|
155
155
|
freshness: "fresh" | "stale" | "unknown";
|
|
156
156
|
availability?: {
|
|
@@ -204,7 +204,10 @@ export declare class QuotaRegistry {
|
|
|
204
204
|
ingest(harnessId: string, value: unknown): void;
|
|
205
205
|
upsert(value: QuotaSnapshot): void;
|
|
206
206
|
private recordUpsert;
|
|
207
|
-
|
|
207
|
+
/** `subjectId: null` retires a harness's legacy default/native subject —
|
|
208
|
+
* the unified-accounts migration's quota step (no replay alias: the new row
|
|
209
|
+
* refreshes fresh, legacy null evidence is removed here or ages out). */
|
|
210
|
+
removeSubject(harness: string, subjectId: string | null): number;
|
|
208
211
|
private appendProjectionMarker;
|
|
209
212
|
private publishClockTransitionIfNeeded;
|
|
210
213
|
private projectionSignature;
|
|
@@ -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,
|
|
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,EAQL,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAoB3B;;uEAEuE;AACvE,MAAM,WAAW,kBAAkB;IACjC,SAAS,EAAE,aAAa,EAAE,CAAC;IAC3B,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;CAC3B;AAED,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,kBAAkB,CAAC,CAAC;AAE/D;;iDAEiD;AACjD,MAAM,MAAM,oBAAoB,GAAG,MAAM,YAAY,EAAE,CAAC;AAExD,iEAAiE;AACjE,qBAAa,aAAa;IAiBtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAC3B,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;IAnB5B,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,SAAS,CAAiB;IAC3C,OAAO,CAAC,qBAAqB,CAAS;IAEtC,YACmB,OAAO,EAAE,cAAc,EACvB,UAAU,GAAE,SAAS,cAAc,EAAO,EAC1C,GAAG,GAAE,MAAM,IAAuB,EAClC,QAAQ,CAAC,EAAE,oBAAoB,YAAA,EA8EjD;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;qFACiF;YACnE,YAAY;YASZ,mBAAmB;IAsEjC;;;;oBAIgB;IAChB,OAAO,CAAC,iBAAiB;IA2CzB;;8EAE0E;IAC1E,OAAO,CAAC,cAAc;IAOtB;;sEAEkE;IAClE,oBAAoB,IAAI,IAAI,CAG3B;IAED;;wCAEoC;IACpC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC,CAE5B;IAED,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA0B9C;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,CAGjC;IAED,OAAO,CAAC,YAAY;IA8BpB;;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;IAM3B,kBAAkB,IAAI,IAAI,CAEzB;IAED,OAAO,CAAC,cAAc;IA0DtB,OAAO,CAAC,KAAK;IAIb,OAAO,CAAC,MAAM;CAUf"}
|
package/dist/quota-registry.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { hashJson } from "@claudexor/util";
|
|
2
|
-
import { ControlQuotaResponse, HarnessEvent, QuotaAbsence as QuotaAbsenceSchema, QuotaSnapshot as QuotaSnapshotSchema, } from "@claudexor/schema";
|
|
2
|
+
import { ControlQuotaResponse, HarnessEvent, QuotaAbsence as QuotaAbsenceSchema, QuotaSnapshot as QuotaSnapshotSchema, REACTIVE_COOLDOWN_SOURCE, vendorResetDayCooldownEnd, } from "@claudexor/schema";
|
|
3
|
+
import { isExpiredScopedCooldown, legacyV320Snapshot, snapshotKey, staleAt, withoutExpiredScopedCooldowns, } from "./quota-registry-support.js";
|
|
3
4
|
import { QuotaPollPacer } from "./quota-poll-pacer.js";
|
|
4
5
|
import { QuotaRefreshCoordinator } from "./quota-refresh-coordinator.js";
|
|
5
6
|
import { quotaSubjectIdentity, remainingQuotaRefreshDemand } from "./quota-refresh-demand.js";
|
|
@@ -311,10 +312,7 @@ export class QuotaRegistry {
|
|
|
311
312
|
freshness: "fresh",
|
|
312
313
|
});
|
|
313
314
|
}
|
|
314
|
-
|
|
315
|
-
// an agy branch here would be a knob with no producer (INV-022/023). It
|
|
316
|
-
// joins the list in the same change that makes the adapter emit one.
|
|
317
|
-
if (event.data.rate_limit && credentialRoute && ["codex", "claude"].includes(harnessId)) {
|
|
315
|
+
if (event.data.rate_limit && credentialRoute && harnessId in REACTIVE_COOLDOWN_SOURCE) {
|
|
318
316
|
this.upsertCooldown(harnessId, credentialRoute, event.data);
|
|
319
317
|
}
|
|
320
318
|
}
|
|
@@ -325,15 +323,14 @@ export class QuotaRegistry {
|
|
|
325
323
|
recordUpsert(value) {
|
|
326
324
|
const snapshot = QuotaSnapshotSchema.parse(value);
|
|
327
325
|
// Runtime updates share this journal with the prior installed engine during
|
|
328
|
-
// rollback. v3.2.0's strict
|
|
329
|
-
//
|
|
330
|
-
// type
|
|
331
|
-
// established
|
|
332
|
-
//
|
|
333
|
-
// records loses neither the prior projection nor model scope: the journal
|
|
334
|
-
// appends the pair under one recovery intent and one fsync.
|
|
326
|
+
// rollback. v3.2.0's strict schemas predate applies_to_models AND the
|
|
327
|
+
// cursor_rate_limit source. Prepare the exact current snapshot under a new
|
|
328
|
+
// record type an older runtime safely ignores, then commit it with the
|
|
329
|
+
// established v3.2.0-shaped upsert; current replay applies a prepare only
|
|
330
|
+
// when its matching base follows (one recovery intent, one fsync).
|
|
335
331
|
const legacy = legacyV320Snapshot(snapshot);
|
|
336
|
-
if (snapshot.constraints.some((constraint) => constraint.applies_to_models !== undefined)
|
|
332
|
+
if (snapshot.constraints.some((constraint) => constraint.applies_to_models !== undefined) ||
|
|
333
|
+
legacy.source !== snapshot.source) {
|
|
337
334
|
this.journal.appendBatch([
|
|
338
335
|
{
|
|
339
336
|
type: SCOPED_PREPARED,
|
|
@@ -351,10 +348,13 @@ export class QuotaRegistry {
|
|
|
351
348
|
}
|
|
352
349
|
this.apply(snapshot);
|
|
353
350
|
}
|
|
351
|
+
/** `subjectId: null` retires a harness's legacy default/native subject —
|
|
352
|
+
* the unified-accounts migration's quota step (no replay alias: the new row
|
|
353
|
+
* refreshes fresh, legacy null evidence is removed here or ages out). */
|
|
354
354
|
removeSubject(harness, subjectId) {
|
|
355
355
|
// Fence held official work at the earliest credential-deletion boundary.
|
|
356
356
|
this.noteCredentialChange();
|
|
357
|
-
const removed = [...this.snapshots.values()].filter((snapshot) => snapshot.subject.harness === harness && snapshot.subject.subject_id === subjectId).length;
|
|
357
|
+
const removed = [...this.snapshots.values()].filter((snapshot) => snapshot.subject.harness === harness && (snapshot.subject.subject_id ?? null) === subjectId).length;
|
|
358
358
|
this.journal.append(REMOVED, { harness, subject_id: subjectId });
|
|
359
359
|
this.remove(harness, subjectId);
|
|
360
360
|
this.appendProjectionMarker("direct_mutation", this.now().toISOString());
|
|
@@ -390,12 +390,13 @@ export class QuotaRegistry {
|
|
|
390
390
|
const reset = event.rate_limit?.resets_at ?? null;
|
|
391
391
|
const delay = event.rate_limit?.retry_delay_ms ?? null;
|
|
392
392
|
const now = this.now();
|
|
393
|
+
// A day-granular vendor reset (A1 payload) bounds the cooldown at end-of-day UTC.
|
|
393
394
|
const cooldownUntil = reset ??
|
|
395
|
+
vendorResetDayCooldownEnd(event.payload) ??
|
|
394
396
|
new Date(now.getTime() + (typeof delay === "number" ? delay : 5 * 60_000)).toISOString();
|
|
395
|
-
const source = harness
|
|
396
|
-
// The event's profile stamp scopes the cooldown to ITS subject (
|
|
397
|
-
//
|
|
398
|
-
// down (or vice versa), and two profiles never share one quota key.
|
|
397
|
+
const source = REACTIVE_COOLDOWN_SOURCE[harness] ?? "codex_rollout";
|
|
398
|
+
// The event's profile stamp scopes the cooldown to ITS subject (round-11):
|
|
399
|
+
// a profiled limit never cools the default subject down (or vice versa).
|
|
399
400
|
const profileId = event.credential_profile_id ?? null;
|
|
400
401
|
const constraintId = event.rate_limit?.constraint_id
|
|
401
402
|
? `cooldown:${event.rate_limit.constraint_id}`
|
|
@@ -445,60 +446,4 @@ export class QuotaRegistry {
|
|
|
445
446
|
return removed;
|
|
446
447
|
}
|
|
447
448
|
}
|
|
448
|
-
function snapshotKey(snapshot) {
|
|
449
|
-
const subject = snapshot.subject;
|
|
450
|
-
return [
|
|
451
|
-
subject.harness,
|
|
452
|
-
subject.credential_route,
|
|
453
|
-
subject.subject_id ?? "",
|
|
454
|
-
snapshot.source,
|
|
455
|
-
].join("\0");
|
|
456
|
-
}
|
|
457
|
-
/** Exact durable payload accepted by the strict v3.2.0 quota schemas. Keep an
|
|
458
|
-
* explicit allowlist at every nested level so a future additive field cannot
|
|
459
|
-
* silently make updater rollback boot-incompatible again. */
|
|
460
|
-
function legacyV320Snapshot(snapshot) {
|
|
461
|
-
return {
|
|
462
|
-
subject: {
|
|
463
|
-
harness: snapshot.subject.harness,
|
|
464
|
-
credential_route: snapshot.subject.credential_route,
|
|
465
|
-
plan_label: snapshot.subject.plan_label,
|
|
466
|
-
subject_id: snapshot.subject.subject_id,
|
|
467
|
-
},
|
|
468
|
-
constraints: snapshot.constraints.map((constraint) => ({
|
|
469
|
-
id: constraint.id,
|
|
470
|
-
label: constraint.label,
|
|
471
|
-
used_ratio: constraint.used_ratio,
|
|
472
|
-
window_seconds: constraint.window_seconds,
|
|
473
|
-
resets_at: constraint.resets_at,
|
|
474
|
-
cooldown_until: constraint.cooldown_until,
|
|
475
|
-
})),
|
|
476
|
-
source: snapshot.source,
|
|
477
|
-
observed_at: snapshot.observed_at,
|
|
478
|
-
freshness: snapshot.freshness,
|
|
479
|
-
};
|
|
480
|
-
}
|
|
481
|
-
function staleAt(snapshot, now) {
|
|
482
|
-
if (snapshot.freshness !== "fresh")
|
|
483
|
-
return snapshot;
|
|
484
|
-
const observed = Date.parse(snapshot.observed_at);
|
|
485
|
-
const resetExpired = snapshot.constraints.some((constraint) => resetExpiredAt(constraint, now));
|
|
486
|
-
const tooOld = !Number.isFinite(observed) || now - observed > 5 * 60_000;
|
|
487
|
-
return resetExpired || tooOld ? { ...snapshot, freshness: "stale" } : snapshot;
|
|
488
|
-
}
|
|
489
|
-
function resetExpiredAt(constraint, now) {
|
|
490
|
-
const reset = constraint.resets_at ? Date.parse(constraint.resets_at) : Number.NaN;
|
|
491
|
-
return Number.isFinite(reset) && reset <= now;
|
|
492
|
-
}
|
|
493
|
-
function isExpiredScopedCooldown(source, constraint, now) {
|
|
494
|
-
return (source === "claude_api_retry" &&
|
|
495
|
-
constraint.id.startsWith("cooldown:") &&
|
|
496
|
-
resetExpiredAt(constraint, now));
|
|
497
|
-
}
|
|
498
|
-
function withoutExpiredScopedCooldowns(snapshot, now) {
|
|
499
|
-
const constraints = snapshot.constraints.filter((constraint) => !isExpiredScopedCooldown(snapshot.source, constraint, now));
|
|
500
|
-
if (constraints.length === snapshot.constraints.length)
|
|
501
|
-
return snapshot;
|
|
502
|
-
return constraints.length === 0 ? null : { ...snapshot, constraints };
|
|
503
|
-
}
|
|
504
449
|
//# sourceMappingURL=quota-registry.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quota-registry.js","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,oBAAoB,EACpB,YAAY,EACZ,YAAY,IAAI,kBAAkB,EAClC,aAAa,IAAI,mBAAmB,GAMrC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAE9F,MAAM,QAAQ,GAAG,yBAAyB,CAAC;AAC3C,MAAM,eAAe,GAAG,gCAAgC,CAAC;AACzD,MAAM,OAAO,GAAG,uBAAuB,CAAC;AACxC,MAAM,kBAAkB,GAAG,0BAA0B,CAAC;AACtD;oEACoE;AACpE,MAAM,mBAAmB,GAAG,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC;AAiB7C,iEAAiE;AACjE,MAAM,OAAO,aAAa;IAiBL,OAAO;IACP,UAAU;IACV,GAAG;IACH,QAAQ;IAnBV,SAAS,GAAG,IAAI,GAAG,EAAyB,CAAC;IAC9D;;iDAE6C;IACrC,QAAQ,GAAmB,EAAE,CAAC;IACtC;;gDAE4C;IACpC,gCAAgC,GAAkB,IAAI,CAAC;IAC9C,kBAAkB,GAAG,IAAI,uBAAuB,EAE9D,CAAC;IACa,SAAS,CAAiB;IACnC,qBAAqB,GAAG,KAAK,CAAC;IAEtC,YACmB,OAAuB,EACvB,UAAU,GAA8B,EAAE,EAC1C,GAAG,GAAe,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAClC,QAA+B;uBAH/B,OAAO;0BACP,UAAU;mBACV,GAAG;wBACH,QAAQ;QAEzB,IAAI,sBAAsB,GAAG,KAAK,CAAC;QACnC,IAAI,aAAa,GAAyD,IAAI,CAAC;QAC/E,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACvC,IAAI,MAAM,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBACpC,MAAM,OAAO,GACX,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;oBAClC,MAAM,CAAC,OAAO,KAAK,IAAI;oBACvB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;oBAC5B,CAAC,CAAE,MAAM,CAAC,OAIN;oBACJ,CAAC,CAAC,EAAE,CAAC;gBACT,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBACjE,aAAa;oBACX,OAAO,CAAC,OAAO,KAAK,CAAC,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,OAAO;wBAChF,CAAC,CAAC;4BACE,QAAQ,EAAE,OAAO,CAAC,SAAS;4BAC3B,QAAQ,EAAE,QAAQ,CAAC,IAAI;yBACxB;wBACH,CAAC,CAAC,IAAI,CAAC;gBACX,SAAS;YACX,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC7B,MAAM,IAAI,GAAG,mBAAmB,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,QAAQ,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;gBAChC,MAAM,eAAe,GACnB,aAAa,KAAK,IAAI;oBACtB,aAAa,CAAC,QAAQ,KAAK,QAAQ;oBACnC,QAAQ,CAAC,kBAAkB,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,KAAK,QAAQ;oBAC/D,CAAC,CAAC,aAAa,CAAC,QAAQ;oBACxB,CAAC,CAAC,IAAI,CAAC;gBACX,IAAI,CAAC,KAAK,CAAC,eAAe,IAAI,IAAI,CAAC,CAAC;gBACpC,aAAa,GAAG,IAAI,CAAC;gBACrB,sBAAsB,GAAG,IAAI,CAAC;gBAC9B,SAAS;YACX,CAAC;YACD,kEAAkE;YAClE,kEAAkE;YAClE,uDAAuD;YACvD,aAAa,GAAG,IAAI,CAAC;YACrB,IAAI,MAAM,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAC5B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAsD,CAAC;gBAC9E,sEAAsE;gBACtE,oDAAoD;gBACpD,IACE,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ;oBACnC,CAAC,OAAO,OAAO,CAAC,UAAU,KAAK,QAAQ,IAAI,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,EACvE,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;gBACnD,CAAC;gBACD,sBAAsB,GAAG,IAAI,CAAC;YAChC,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,KAAK,kBAAkB,EAAE,CAAC;gBACvC,MAAM,OAAO,GAAG,MAAM,CAAC,OAA6C,CAAC;gBACrE,IAAI,CAAC,gCAAgC;oBACnC,OAAO,OAAO,CAAC,oBAAoB,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC;gBACzF,sBAAsB,GAAG,KAAK,CAAC;YACjC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC1B,0EAA0E;QAC1E,2EAA2E;QAC3E,qEAAqE;QACrE,yEAAyE;QACzE,IAAI,CAAC,qBAAqB,GAAG,sBAAsB,CAAC;QACpD,IAAI,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC;YAClC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,sBAAsB,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,8BAA8B,EAAE;YACnE,SAAS,EAAE,CAAC,GAAG,EAAE,EAAE,CACjB,2BAA2B,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC;YACpF,OAAO,EAAE,KAAK,IAAI,EAAE;gBAClB,MAAM,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YACjC,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED,iFAAiF;IACjF,mBAAmB;QACjB,IAAI,CAAC,IAAI,CAAC,qBAAqB;YAAE,OAAO;QACxC,IAAI,CAAC,sBAAsB,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACrC,CAAC;IAED,IAAI;QACF,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,OAAO,oBAAoB,CAAC,KAAK,CAAC;YAChC,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAClC,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;IACL,CAAC;IAED;;;6EAGyE;IACjE,eAAe,CAAC,GAAW;QACjC,OAAO,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;aAChC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,6BAA6B,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;aAC/D,MAAM,CAAC,CAAC,QAAQ,EAA6B,EAAE,CAAC,QAAQ,KAAK,IAAI,CAAC;aAClE,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE;YACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;YAClD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,KAAK,CAAC;YAC7C,IAAI,GAAG,GAAG,QAAQ,IAAI,mBAAmB;gBAAE,OAAO,IAAI,CAAC;YACvD,OAAO,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAC9C,CAAC,UAAU,CAAC,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC7D,MAAM,EAAE,GAAG,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;gBAC9C,OAAO,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,GAAG,GAAG,CAAC;YACzC,CAAC,CAAC,CACH,CAAC;QACJ,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,OAAO;QACX,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,QAAQ,CAAC;IAC9C,CAAC;IAED;;8EAE0E;IAC1E,KAAK,CAAC,iBAAiB;QACrB,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QACjE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IACxC,CAAC;IAED;qFACiF;IACzE,KAAK,CAAC,YAAY,CACxB,uBAAuB,GAAG,IAAI;QAE9B,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAChC,CAAC,oBAAoB,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,EACxE,uBAAuB,CACxB,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAAC,oBAA4B;QAC5D,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wDAAwD,CAAC,EAAE;gBACvF,IAAI,EAAE,2BAA2B;gBACjC,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;QACL,CAAC;QACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAChG,MAAM,OAAO,GAA2E,EAAE,CAAC;QAC3F,MAAM,QAAQ,GAAa,EAAE,CAAC;QAC9B,wEAAwE;QACxE,2EAA2E;QAC3E,yEAAyE;QACzE,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;gBACjC,QAAQ,CAAC,IAAI,CACX,MAAM,CAAC,MAAM,YAAY,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAC/E,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACnB,SAAS;YACX,CAAC;YACD,IAAI,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC;oBACX,SAAS,EAAE,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBACxF,QAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACtD,kBAAkB,CAAC,KAAK,CAAC,OAAO,CAAC,CAClC;iBACF,CAAC,CAAC;YACL,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,CAAC,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACtE,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;QACH,CAAC;QACD,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7C,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,yBAAyB,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE;gBAC7E,IAAI,EAAE,2BAA2B;gBACjC,MAAM,EAAE,GAAG;aACZ,CAAC,CAAC;QACL,CAAC;QACD,qEAAqE;QACrE,yEAAyE;QACzE,sEAAsE;QACtE,+BAA+B;QAC/B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,SAAS,CAAC,oBAAoB,CAAC,EAAE,CAAC;YAC7D,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QACD,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,KAAK,IAAI;gBAAE,SAAS;YAC7B,qEAAqE;YACrE,yEAAyE;YACzE,6DAA6D;YAC7D,KAAK,MAAM,QAAQ,IAAI,KAAK,CAAC,SAAS;gBAAE,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;YACpE,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,CAAC;QACjC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,MAAM,QAAQ,GAAG,oBAAoB,CAAC,KAAK,CAAC;YAC1C,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC;YACpC,QAAQ,EAAE,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC;YAClC,YAAY,EAAE,WAAW;SAC1B,CAAC,CAAC;QACH,4EAA4E;QAC5E,4EAA4E;QAC5E,+DAA+D;QAC/D,MAAM,gBAAgB,GAAG,IAAI,CAAC,sBAAsB,CAAC,SAAS,EAAE,WAAW,EAAE,QAAQ,CAAC,CAAC;QACvF,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;IACxC,CAAC;IAED;;;;oBAIgB;IACR,iBAAiB,CAAC,MAA+B,EAAE,GAAW;QACpE,uEAAuE;QACvE,0EAA0E;QAC1E,yEAAyE;QACzE,4DAA4D;QAC5D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,IAAI,KAAK,CAAC,MAAM,KAAK,cAAc;gBAAE,SAAS;YAC9C,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC;YAC9C,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC/C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,CAAC,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,CAC5E,CAAC;YACF,IAAI,CAAC,OAAO;gBAAE,SAAS;YACvB,qEAAqE;YACrE,sEAAsE;YACtE,4DAA4D;YAC5D,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC;YACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QACnC,CAAC;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CACpF,CAAC;QACF,MAAM,MAAM,GAAmB,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,oBAAoB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YAChD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACnD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,MAAM,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YAC9C,MAAM,GAAG,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;YAC1C,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC;gBAAE,SAAS;YACnD,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC;gBACV,OAAO;gBACP,MAAM,EAAE,WAAW;gBACnB,MAAM,EAAE,IAAI;gBACZ,WAAW,EAAE,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,WAAW,EAAE;aACzC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC;IACzB,CAAC;IAED;;8EAE0E;IAClE,cAAc,CAAC,GAAW;QAChC,MAAM,OAAO,GAAG,IAAI,GAAG,CACrB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,oBAAoB,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CACpF,CAAC;QACF,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IAChG,CAAC;IAED;;sEAEkE;IAClE,oBAAoB;QAClB,IAAI,CAAC,kBAAkB,CAAC,0BAA0B,EAAE,CAAC;QACrD,IAAI,CAAC,SAAS,CAAC,oBAAoB,EAAE,CAAC;IACxC,CAAC;IAED;;wCAEoC;IACpC,SAAS;QACP,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,SAAiB,EAAE,KAAc;QACtC,MAAM,KAAK,GAAG,YAAY,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,CAAC,OAAO;YAAE,OAAO;QAC3B,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC;QAC/B,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;QACpD,IAAI,KAAK,IAAI,eAAe,EAAE,CAAC;YAC7B,IAAI,CAAC,MAAM,CAAC;gBACV,OAAO,EAAE;oBACP,OAAO,EAAE,SAAS;oBAClB,gBAAgB,EAAE,eAAe;oBACjC,UAAU,EAAE,KAAK,CAAC,UAAU;oBAC5B,iEAAiE;oBACjE,mEAAmE;oBACnE,mEAAmE;oBACnE,oEAAoE;oBACpE,UAAU,EAAE,KAAK,CAAC,IAAI,CAAC,qBAAqB,IAAI,KAAK,CAAC,UAAU,IAAI,IAAI;iBACzE;gBACD,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;gBAC1B,SAAS,EAAE,OAAO;aACnB,CAAC,CAAC;QACL,CAAC;QACD,0EAA0E;QAC1E,wEAAwE;QACxE,qEAAqE;QACrE,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACxF,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,MAAM,CAAC,KAAoB;QACzB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;IAC3E,CAAC;IAEO,YAAY,CAAC,KAAoB;QACvC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAClD,4EAA4E;QAC5E,4DAA4D;QAC5D,2EAA2E;QAC3E,qEAAqE;QACrE,yEAAyE;QACzE,yEAAyE;QACzE,0EAA0E;QAC1E,4DAA4D;QAC5D,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,iBAAiB,KAAK,SAAS,CAAC,EAAE,CAAC;YAC1F,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC;gBACvB;oBACE,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE;wBACP,OAAO,EAAE,CAAC;wBACV,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC;wBAC3B,QAAQ;qBACT;iBACF;gBACD,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE;aACpC,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACxC,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC;IAED,aAAa,CAAC,OAAe,EAAE,SAAiB;QAC9C,yEAAyE;QACzE,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,MAAM,CACjD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,CACpF,CAAC,MAAM,CAAC;QACT,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAChC,IAAI,CAAC,sBAAsB,CAAC,iBAAiB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC,CAAC;QACzE,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,sBAAsB,CAC5B,MAAuE,EACvE,UAAkB,EAClB,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE;QAEtB,MAAM,mBAAmB,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/D,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,kBAAkB,EAAE;YACrD,MAAM;YACN,WAAW,EAAE,UAAU;YACvB,oBAAoB,EAAE,mBAAmB;SAC1C,CAAC,CAAC;QACH,IAAI,CAAC,gCAAgC,GAAG,mBAAmB,CAAC;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;IACxC,CAAC;IAEO,8BAA8B;QACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACrD,IAAI,SAAS,KAAK,IAAI,CAAC,gCAAgC;YAAE,OAAO;QAChE,IAAI,CAAC,sBAAsB,CAAC,kBAAkB,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtF,CAAC;IAEO,mBAAmB,CAAC,QAA2C;QACrE,sEAAsE;QACtE,wEAAwE;QACxE,OAAO,IAAI,CAAC,SAAS,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,kBAAkB;QAChB,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;YAAE,mBAAmB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACtF,CAAC;IAEO,cAAc,CACpB,OAAe,EACf,eAAgC,EAChC,KAA4C;QAE5C,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,SAAS,IAAI,IAAI,CAAC;QAClD,MAAM,KAAK,GAAG,KAAK,CAAC,UAAU,EAAE,cAAc,IAAI,IAAI,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,aAAa,GACjB,KAAK;YACL,IAAI,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,GAAG,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC3F,MAAM,MAAM,GAAG,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,eAAe,CAAC;QAC3E,wEAAwE;QACxE,uEAAuE;QACvE,oEAAoE;QACpE,MAAM,SAAS,GAAG,KAAK,CAAC,qBAAqB,IAAI,IAAI,CAAC;QACtD,MAAM,YAAY,GAAG,KAAK,CAAC,UAAU,EAAE,aAAa;YAClD,CAAC,CAAC,YAAY,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE;YAC9C,CAAC,CAAC,UAAU,CAAC;QACf,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAChD,CAAC,QAAQ,EAAE,EAAE,CACX,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO;YACpC,QAAQ,CAAC,OAAO,CAAC,gBAAgB,KAAK,eAAe;YACrD,CAAC,QAAQ,CAAC,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC,KAAK,SAAS;YACnD,QAAQ,CAAC,MAAM,KAAK,MAAM,CAC7B,CAAC;QACF,IAAI,CAAC,MAAM,CAAC;YACV,OAAO,EAAE,QAAQ,EAAE,OAAO,IAAI;gBAC5B,OAAO;gBACP,gBAAgB,EAAE,eAAe;gBACjC,UAAU,EAAE,IAAI;gBAChB,UAAU,EAAE,SAAS;aACtB;YACD,MAAM;YACN,WAAW,EAAE,KAAK,CAAC,EAAE;YACrB,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE;gBACX,GAAG,CAAC,QAAQ,EAAE,WAAW,CAAC,MAAM,CAC9B,CAAC,UAAU,EAAE,EAAE,CACb,UAAU,CAAC,EAAE,KAAK,YAAY;oBAC9B,CAAC,uBAAuB,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC,CAC9D,IAAI,EAAE,CAAC;gBACR;oBACE,EAAE,EAAE,YAAY;oBAChB,KAAK,EAAE,UAAU;oBACjB,GAAG,CAAC,KAAK,CAAC,UAAU,EAAE,iBAAiB,KAAK,SAAS;wBACnD,CAAC,CAAC,EAAE,iBAAiB,EAAE,KAAK,CAAC,UAAU,CAAC,iBAAiB,EAAE;wBAC3D,CAAC,CAAC,EAAE,CAAC;oBACP,UAAU,EAAE,IAAI;oBAChB,cAAc,EAAE,IAAI;oBACpB,SAAS,EAAE,KAAK;oBAChB,cAAc,EAAE,aAAa;iBAC9B;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,QAAuB;QACnC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,CAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAEO,MAAM,CAAC,OAAe,EAAE,SAAwB;QACtD,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,KAAK,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YAC7C,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,KAAK,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACtF,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAC3B,OAAO,IAAI,CAAC,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAED,SAAS,WAAW,CAAC,QAAuB;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;IACjC,OAAO;QACL,OAAO,CAAC,OAAO;QACf,OAAO,CAAC,gBAAgB;QACxB,OAAO,CAAC,UAAU,IAAI,EAAE;QACxB,QAAQ,CAAC,MAAM;KAChB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;6DAE6D;AAC7D,SAAS,kBAAkB,CAAC,QAAuB;IACjD,OAAO;QACL,OAAO,EAAE;YACP,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO;YACjC,gBAAgB,EAAE,QAAQ,CAAC,OAAO,CAAC,gBAAgB;YACnD,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU;YACvC,UAAU,EAAE,QAAQ,CAAC,OAAO,CAAC,UAAU;SACxC;QACD,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAmB,EAAE,CAAC,CAAC;YACtE,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,KAAK,EAAE,UAAU,CAAC,KAAK;YACvB,UAAU,EAAE,UAAU,CAAC,UAAU;YACjC,cAAc,EAAE,UAAU,CAAC,cAAc;YACzC,SAAS,EAAE,UAAU,CAAC,SAAS;YAC/B,cAAc,EAAE,UAAU,CAAC,cAAc;SAC1C,CAAC,CAAC;QACH,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,SAAS,EAAE,QAAQ,CAAC,SAAS;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,OAAO,CAAC,QAAuB,EAAE,GAAW;IACnD,IAAI,QAAQ,CAAC,SAAS,KAAK,OAAO;QAAE,OAAO,QAAQ,CAAC;IACpD,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAClD,MAAM,YAAY,GAAG,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,GAAG,GAAG,QAAQ,GAAG,CAAC,GAAG,MAAM,CAAC;IACzE,OAAO,YAAY,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;AACjF,CAAC;AAED,SAAS,cAAc,CAAC,UAA8C,EAAE,GAAW;IACjF,MAAM,KAAK,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC;IACnF,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,GAAG,CAAC;AAChD,CAAC;AAED,SAAS,uBAAuB,CAC9B,MAA+B,EAC/B,UAA2B,EAC3B,GAAW;IAEX,OAAO,CACL,MAAM,KAAK,kBAAkB;QAC7B,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC;QACrC,cAAc,CAAC,UAAU,EAAE,GAAG,CAAC,CAChC,CAAC;AACJ,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAuB,EAAE,GAAW;IACzE,MAAM,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC,MAAM,CAC7C,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC,uBAAuB,CAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,GAAG,CAAC,CAC3E,CAAC;IACF,IAAI,WAAW,CAAC,MAAM,KAAK,QAAQ,CAAC,WAAW,CAAC,MAAM;QAAE,OAAO,QAAQ,CAAC;IACxE,OAAO,WAAW,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,GAAG,QAAQ,EAAE,WAAW,EAAE,CAAC;AACxE,CAAC"}
|
|
1
|
+
{"version":3,"file":"quota-registry.js","sourceRoot":"","sources":["../src/quota-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ContinuityDisclosure, LaneCheckpoint, Session, ThreadTurn } from "@claudexor/schema";
|
|
1
|
+
import type { ContinuityDisclosure, LaneCheckpoint, Session, Thread, ThreadTurn } from "@claudexor/schema";
|
|
2
2
|
/**
|
|
3
3
|
* Pure lane-checkpoint helpers (INV-137). Extracted from `threads.ts` so the
|
|
4
4
|
* store file stays under the new-file complexity cap (INV-124); the ThreadStore
|
|
@@ -28,6 +28,64 @@ export declare function resumeMapFrom(sessions: readonly Session[], threadId: st
|
|
|
28
28
|
sessionId: string;
|
|
29
29
|
profileId: string | null;
|
|
30
30
|
}>;
|
|
31
|
+
/**
|
|
32
|
+
* The thread's durable per-harness ACCOUNT BINDINGS (unified account model,
|
|
33
|
+
* D-U1 order 2): the account an UNPINNED turn stays on — derived from the
|
|
34
|
+
* lane evidence the thread already persists (its latest live session, else
|
|
35
|
+
* its latest lane checkpoint, per harness), never a second hand-maintained
|
|
36
|
+
* record. Null-profile lanes (unmigrated legacy state) bind nothing.
|
|
37
|
+
*/
|
|
38
|
+
export declare function accountBindingsFrom(sessions: readonly Session[], checkpoints: readonly LaneCheckpoint[], threadId: string): Record<string, string>;
|
|
39
|
+
/**
|
|
40
|
+
* Native resume map for an UNPINNED thread turn: the latest live session per
|
|
41
|
+
* harness REGARDLESS of profile. Each entry carries its own profile, and the
|
|
42
|
+
* engine boundary (`resumeSessionForProfile`) re-verifies it against the
|
|
43
|
+
* RESOLVED account, so a pool switch away from the recorded account starts
|
|
44
|
+
* fresh instead of crossing profiles (INV-135/137).
|
|
45
|
+
*/
|
|
46
|
+
export declare function resumeMapAutoFrom(sessions: readonly Session[], threadId: string): Record<string, {
|
|
47
|
+
sessionId: string;
|
|
48
|
+
profileId: string | null;
|
|
49
|
+
}>;
|
|
50
|
+
/**
|
|
51
|
+
* Unified-accounts migration mutation (INV-137, one unit with the lane-home
|
|
52
|
+
* rename): live sessions recorded under the null engine-default subject are
|
|
53
|
+
* rewritten IN PLACE onto the auto-registered row id, and every
|
|
54
|
+
* `<thread>::<harness>::default` lane checkpoint gains a row under the new
|
|
55
|
+
* lane id (the legacy row stays inert — exact-id lookups never see it).
|
|
56
|
+
* Idempotent: a second run finds no null sessions and no missing checkpoints.
|
|
57
|
+
* A row-lane checkpoint that already exists is never moved backwards (a crash
|
|
58
|
+
* between phases followed by new turns may have advanced it) — but a BEHIND
|
|
59
|
+
* row checkpoint advances forward to the ::default lane's turn: a rollback
|
|
60
|
+
* leaves the old row-lane checkpoint in place while new turns advance the
|
|
61
|
+
* default lane, and resuming the stale checkpoint on re-migration would
|
|
62
|
+
* re-inject context the lane already saw. Recency is judged by updated_at,
|
|
63
|
+
* the only ordering evidence at this layer.
|
|
64
|
+
*/
|
|
65
|
+
export declare function migrateNullProfileContinuityMutation(sessions: readonly Session[], checkpoints: readonly LaneCheckpoint[], harnessId: string, rowId: string): {
|
|
66
|
+
sessions: Session[];
|
|
67
|
+
checkpoints: LaneCheckpoint[];
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* The supported downgrade path's reverse of the migration mutation: sessions
|
|
71
|
+
* recorded under the migrated row id return to the null engine-default
|
|
72
|
+
* subject a legacy engine resumes, and each row-lane checkpoint re-seeds the
|
|
73
|
+
* `::default` lane id at its turn.
|
|
74
|
+
*/
|
|
75
|
+
export declare function rollbackProfileContinuityMutation(sessions: readonly Session[], checkpoints: readonly LaneCheckpoint[], harnessId: string, rowId: string): {
|
|
76
|
+
sessions: Session[];
|
|
77
|
+
checkpoints: LaneCheckpoint[];
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Credential-profile deletion mutation (INV-135): clear every matching scalar
|
|
81
|
+
* thread pin (pins predate a harness discriminator, so any harness's pin at
|
|
82
|
+
* the id clears rather than leave an unrunnable route) and stale the deleted
|
|
83
|
+
* account's live sessions.
|
|
84
|
+
*/
|
|
85
|
+
export declare function invalidateCredentialProfileMutation(threads: readonly Thread[], sessions: readonly Session[], harnessId: string, profileId: string): {
|
|
86
|
+
threads: Thread[];
|
|
87
|
+
sessions: Session[];
|
|
88
|
+
};
|
|
31
89
|
/** Mark a session row stale (its profile was deleted): drop the resumable id. */
|
|
32
90
|
export declare function staleSession(session: Session): Session;
|
|
33
91
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-lane-checkpoints.d.ts","sourceRoot":"","sources":["../src/thread-lane-checkpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"thread-lane-checkpoints.d.ts","sourceRoot":"","sources":["../src/thread-lane-checkpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ContinuityDisclosure as ContinuityDisclosureSchema, LaneCheckpoint as LaneCheckpointSchema, Session as SessionSchema, ThreadTurn as ThreadTurnSchema, } from "@claudexor/schema";
|
|
1
|
+
import { ContinuityDisclosure as ContinuityDisclosureSchema, LaneCheckpoint as LaneCheckpointSchema, Session as SessionSchema, Thread as ThreadSchema, ThreadTurn as ThreadTurnSchema, } from "@claudexor/schema";
|
|
2
2
|
import { newId, nowIso } from "@claudexor/util";
|
|
3
3
|
/**
|
|
4
4
|
* Pure lane-checkpoint helpers (INV-137). Extracted from `threads.ts` so the
|
|
@@ -58,6 +58,132 @@ export function resumeMapFrom(sessions, threadId, profileId) {
|
|
|
58
58
|
}
|
|
59
59
|
return map;
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* The thread's durable per-harness ACCOUNT BINDINGS (unified account model,
|
|
63
|
+
* D-U1 order 2): the account an UNPINNED turn stays on — derived from the
|
|
64
|
+
* lane evidence the thread already persists (its latest live session, else
|
|
65
|
+
* its latest lane checkpoint, per harness), never a second hand-maintained
|
|
66
|
+
* record. Null-profile lanes (unmigrated legacy state) bind nothing.
|
|
67
|
+
*/
|
|
68
|
+
export function accountBindingsFrom(sessions, checkpoints, threadId) {
|
|
69
|
+
const bindings = {};
|
|
70
|
+
const freshest = {};
|
|
71
|
+
const consider = (harnessId, profileId, updatedAt) => {
|
|
72
|
+
if (!profileId)
|
|
73
|
+
return;
|
|
74
|
+
const seen = freshest[harnessId];
|
|
75
|
+
if (seen !== undefined && seen >= updatedAt)
|
|
76
|
+
return;
|
|
77
|
+
freshest[harnessId] = updatedAt;
|
|
78
|
+
bindings[harnessId] = profileId;
|
|
79
|
+
};
|
|
80
|
+
for (const s of sessions) {
|
|
81
|
+
if (s.thread_id !== threadId || s.state !== "live")
|
|
82
|
+
continue;
|
|
83
|
+
consider(s.harness_id, s.profile_id ?? null, s.updated_at);
|
|
84
|
+
}
|
|
85
|
+
for (const c of checkpoints) {
|
|
86
|
+
if (c.thread_id !== threadId)
|
|
87
|
+
continue;
|
|
88
|
+
consider(c.harness_id, c.profile_id ?? null, c.updated_at);
|
|
89
|
+
}
|
|
90
|
+
return bindings;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Native resume map for an UNPINNED thread turn: the latest live session per
|
|
94
|
+
* harness REGARDLESS of profile. Each entry carries its own profile, and the
|
|
95
|
+
* engine boundary (`resumeSessionForProfile`) re-verifies it against the
|
|
96
|
+
* RESOLVED account, so a pool switch away from the recorded account starts
|
|
97
|
+
* fresh instead of crossing profiles (INV-135/137).
|
|
98
|
+
*/
|
|
99
|
+
export function resumeMapAutoFrom(sessions, threadId) {
|
|
100
|
+
const map = {};
|
|
101
|
+
const freshest = {};
|
|
102
|
+
for (const s of sessions) {
|
|
103
|
+
if (s.thread_id !== threadId || s.state !== "live" || !s.native_session_id)
|
|
104
|
+
continue;
|
|
105
|
+
const seen = freshest[s.harness_id];
|
|
106
|
+
if (seen !== undefined && seen >= s.updated_at)
|
|
107
|
+
continue;
|
|
108
|
+
freshest[s.harness_id] = s.updated_at;
|
|
109
|
+
map[s.harness_id] = { sessionId: s.native_session_id, profileId: s.profile_id ?? null };
|
|
110
|
+
}
|
|
111
|
+
return map;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Unified-accounts migration mutation (INV-137, one unit with the lane-home
|
|
115
|
+
* rename): live sessions recorded under the null engine-default subject are
|
|
116
|
+
* rewritten IN PLACE onto the auto-registered row id, and every
|
|
117
|
+
* `<thread>::<harness>::default` lane checkpoint gains a row under the new
|
|
118
|
+
* lane id (the legacy row stays inert — exact-id lookups never see it).
|
|
119
|
+
* Idempotent: a second run finds no null sessions and no missing checkpoints.
|
|
120
|
+
* A row-lane checkpoint that already exists is never moved backwards (a crash
|
|
121
|
+
* between phases followed by new turns may have advanced it) — but a BEHIND
|
|
122
|
+
* row checkpoint advances forward to the ::default lane's turn: a rollback
|
|
123
|
+
* leaves the old row-lane checkpoint in place while new turns advance the
|
|
124
|
+
* default lane, and resuming the stale checkpoint on re-migration would
|
|
125
|
+
* re-inject context the lane already saw. Recency is judged by updated_at,
|
|
126
|
+
* the only ordering evidence at this layer.
|
|
127
|
+
*/
|
|
128
|
+
export function migrateNullProfileContinuityMutation(sessions, checkpoints, harnessId, rowId) {
|
|
129
|
+
const now = nowIso();
|
|
130
|
+
const migratedSessions = sessions
|
|
131
|
+
.filter((s) => s.harness_id === harnessId && (s.profile_id ?? null) === null)
|
|
132
|
+
.map((s) => SessionSchema.parse({ ...s, profile_id: rowId, updated_at: now }));
|
|
133
|
+
const migratedCheckpoints = [];
|
|
134
|
+
for (const checkpoint of checkpoints) {
|
|
135
|
+
if (checkpoint.harness_id !== harnessId || (checkpoint.profile_id ?? null) !== null)
|
|
136
|
+
continue;
|
|
137
|
+
const migrated = makeLaneCheckpoint(checkpoint.thread_id, harnessId, rowId, checkpoint.turn_id);
|
|
138
|
+
const existing = checkpoints.find((c) => c.id === migrated.id);
|
|
139
|
+
if (existing) {
|
|
140
|
+
const behind = existing.turn_id !== checkpoint.turn_id && existing.updated_at < checkpoint.updated_at;
|
|
141
|
+
if (behind)
|
|
142
|
+
migratedCheckpoints.push(migrated);
|
|
143
|
+
continue;
|
|
144
|
+
}
|
|
145
|
+
migratedCheckpoints.push(migrated);
|
|
146
|
+
}
|
|
147
|
+
return { sessions: migratedSessions, checkpoints: migratedCheckpoints };
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* The supported downgrade path's reverse of the migration mutation: sessions
|
|
151
|
+
* recorded under the migrated row id return to the null engine-default
|
|
152
|
+
* subject a legacy engine resumes, and each row-lane checkpoint re-seeds the
|
|
153
|
+
* `::default` lane id at its turn.
|
|
154
|
+
*/
|
|
155
|
+
export function rollbackProfileContinuityMutation(sessions, checkpoints, harnessId, rowId) {
|
|
156
|
+
const now = nowIso();
|
|
157
|
+
const rolledSessions = sessions
|
|
158
|
+
.filter((s) => s.harness_id === harnessId && s.profile_id === rowId)
|
|
159
|
+
.map((s) => SessionSchema.parse({ ...s, profile_id: null, updated_at: now }));
|
|
160
|
+
const rolledCheckpoints = [];
|
|
161
|
+
for (const checkpoint of checkpoints) {
|
|
162
|
+
if (checkpoint.harness_id !== harnessId || checkpoint.profile_id !== rowId)
|
|
163
|
+
continue;
|
|
164
|
+
rolledCheckpoints.push(makeLaneCheckpoint(checkpoint.thread_id, harnessId, null, checkpoint.turn_id));
|
|
165
|
+
}
|
|
166
|
+
return { sessions: rolledSessions, checkpoints: rolledCheckpoints };
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Credential-profile deletion mutation (INV-135): clear every matching scalar
|
|
170
|
+
* thread pin (pins predate a harness discriminator, so any harness's pin at
|
|
171
|
+
* the id clears rather than leave an unrunnable route) and stale the deleted
|
|
172
|
+
* account's live sessions.
|
|
173
|
+
*/
|
|
174
|
+
export function invalidateCredentialProfileMutation(threads, sessions, harnessId, profileId) {
|
|
175
|
+
const now = nowIso();
|
|
176
|
+
return {
|
|
177
|
+
threads: threads
|
|
178
|
+
.filter((thread) => thread.credential_profile_id === profileId)
|
|
179
|
+
.map((thread) => ThreadSchema.parse({ ...thread, credential_profile_id: null, updated_at: now })),
|
|
180
|
+
sessions: sessions
|
|
181
|
+
.filter((session) => session.harness_id === harnessId &&
|
|
182
|
+
session.profile_id === profileId &&
|
|
183
|
+
session.state === "live")
|
|
184
|
+
.map(staleSession),
|
|
185
|
+
};
|
|
186
|
+
}
|
|
61
187
|
/** Mark a session row stale (its profile was deleted): drop the resumable id. */
|
|
62
188
|
export function staleSession(session) {
|
|
63
189
|
return SessionSchema.parse({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thread-lane-checkpoints.js","sourceRoot":"","sources":["../src/thread-lane-checkpoints.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"thread-lane-checkpoints.js","sourceRoot":"","sources":["../src/thread-lane-checkpoints.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { LaneCheckpoint, Session, Thread, ThreadTurn } from "@claudexor/schema";
|
|
2
|
-
import type { CreateThreadInput, CreateTurnInput } from "./threads.js";
|
|
2
|
+
import type { CreateThreadInput, CreateTurnInput, UpdateThreadInput } from "./threads.js";
|
|
3
3
|
/**
|
|
4
4
|
* Pure ThreadStore support: the journal mutation codec and the idempotency
|
|
5
5
|
* digests. Extracted from `threads.ts` so the store file stays under the
|
|
@@ -43,4 +43,9 @@ export declare function upsert<T extends {
|
|
|
43
43
|
export declare function assertUnique(items: Array<{
|
|
44
44
|
id: string;
|
|
45
45
|
}>, kind: string): void;
|
|
46
|
+
/** Construct a NEW thread from its create input (defaults documented inline). */
|
|
47
|
+
export declare function buildNewThread(input: CreateThreadInput): Thread;
|
|
48
|
+
/** Apply an UpdateThreadInput patch; a primary outside the (non-empty) pool
|
|
49
|
+
* coerces to null (Auto) rather than persisting an incoherent state. */
|
|
50
|
+
export declare function mergeThreadPatch(thread: Thread, patch: UpdateThreadInput): Thread;
|
|
46
51
|
//# sourceMappingURL=thread-store-support.d.ts.map
|