@claudexor/daemon 2.1.2 → 3.0.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 (45) hide show
  1. package/dist/command-retention.d.ts +4 -1
  2. package/dist/command-retention.d.ts.map +1 -1
  3. package/dist/command-retention.js +19 -2
  4. package/dist/command-retention.js.map +1 -1
  5. package/dist/command-store.d.ts +1 -1
  6. package/dist/command-store.d.ts.map +1 -1
  7. package/dist/command-store.js +6 -18
  8. package/dist/command-store.js.map +1 -1
  9. package/dist/index.d.ts +0 -1
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +0 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/project-partitions.d.ts +36 -43
  14. package/dist/project-partitions.d.ts.map +1 -1
  15. package/dist/project-partitions.js +96 -25
  16. package/dist/project-partitions.js.map +1 -1
  17. package/dist/projects.d.ts +14 -0
  18. package/dist/projects.d.ts.map +1 -1
  19. package/dist/projects.js +66 -7
  20. package/dist/projects.js.map +1 -1
  21. package/dist/quota-registry.d.ts +55 -4
  22. package/dist/quota-registry.d.ts.map +1 -1
  23. package/dist/quota-registry.js +87 -6
  24. package/dist/quota-registry.js.map +1 -1
  25. package/dist/server.d.ts +1 -1
  26. package/dist/server.d.ts.map +1 -1
  27. package/dist/server.js +31 -48
  28. package/dist/server.js.map +1 -1
  29. package/dist/thread-lane-checkpoints.d.ts +40 -0
  30. package/dist/thread-lane-checkpoints.d.ts.map +1 -0
  31. package/dist/thread-lane-checkpoints.js +94 -0
  32. package/dist/thread-lane-checkpoints.js.map +1 -0
  33. package/dist/thread-store-support.d.ts +3 -1
  34. package/dist/thread-store-support.d.ts.map +1 -1
  35. package/dist/thread-store-support.js +4 -1
  36. package/dist/thread-store-support.js.map +1 -1
  37. package/dist/threads.d.ts +24 -6
  38. package/dist/threads.d.ts.map +1 -1
  39. package/dist/threads.js +59 -40
  40. package/dist/threads.js.map +1 -1
  41. package/package.json +5 -5
  42. package/dist/spec-sessions.d.ts +0 -72
  43. package/dist/spec-sessions.d.ts.map +0 -1
  44. package/dist/spec-sessions.js +0 -301
  45. package/dist/spec-sessions.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ import type { ContinuityDisclosure, LaneCheckpoint, Session, ThreadTurn } from "@claudexor/schema";
2
+ /**
3
+ * Pure lane-checkpoint helpers (INV-137). Extracted from `threads.ts` so the
4
+ * store file stays under the new-file complexity cap (INV-124); the ThreadStore
5
+ * owns journaling/commit, these just build + query the checkpoint rows.
6
+ *
7
+ * A lane is a (thread, harness, profile) triple; its checkpoint is the last turn
8
+ * it has SEEN (it produced it, or a continuation packet hydrated it up to there).
9
+ */
10
+ /** Composite lane id `<thread>::<harness>::<profileOrDefault>` — the row identity. */
11
+ export declare function laneId(threadId: string, harnessId: string, profileId: string | null): string;
12
+ /** Build (and validate) a checkpoint row advancing a lane to `turnId`. */
13
+ export declare function makeLaneCheckpoint(threadId: string, harnessId: string, profileId: string | null, turnId: string): LaneCheckpoint;
14
+ /** The last turn a lane has seen, or null when the lane never ran. */
15
+ export declare function findLaneCheckpoint(checkpoints: readonly LaneCheckpoint[], threadId: string, harnessId: string, profileId: string | null): string | null;
16
+ /** All lane checkpoints of a thread (to locate the prior head's lane). */
17
+ export declare function threadLaneCheckpoints(checkpoints: readonly LaneCheckpoint[], threadId: string): LaneCheckpoint[];
18
+ /** Stamp a turn's continuity disclosure (validated), returning the next turn. */
19
+ export declare function stampContinuity(turn: ThreadTurn, disclosure: ContinuityDisclosure): ThreadTurn;
20
+ /**
21
+ * Native resume map for a thread (INV-135): harnessId -> {sessionId, profile}.
22
+ * Resume never crosses credential profiles — a session recorded under one
23
+ * profile (or the null engine default) is eligible ONLY for a turn running as
24
+ * exactly that profile; the entry carries its profile so the engine boundary
25
+ * re-verifies against the RESOLVED profile (preflight rotation may differ).
26
+ */
27
+ export declare function resumeMapFrom(sessions: readonly Session[], threadId: string, profileId: string | null): Record<string, {
28
+ sessionId: string;
29
+ profileId: string | null;
30
+ }>;
31
+ /** Mark a session row stale (its profile was deleted): drop the resumable id. */
32
+ export declare function staleSession(session: Session): Session;
33
+ /**
34
+ * Build (and validate) the native-session row a harness emitted, keyed by
35
+ * (thread, harness, PROFILE) so profile B's session never overwrites A's row
36
+ * (an A→B→A sequence resumes A's own native conversation; the null engine
37
+ * default is its own row). `existing` is the current row for that lane, if any.
38
+ */
39
+ export declare function makeSessionRecord(existing: Session | undefined, threadId: string, harnessId: string, nativeSessionId: string, observedModel: string | null | undefined, profileId: string | null): Session;
40
+ //# sourceMappingURL=thread-lane-checkpoints.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-lane-checkpoints.d.ts","sourceRoot":"","sources":["../src/thread-lane-checkpoints.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AASnG;;;;;;;GAOG;AAEH,sFAAsF;AACtF,wBAAgB,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAE5F;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GACb,cAAc,CAShB;AAED,sEAAsE;AACtE,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,SAAS,cAAc,EAAE,EACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,GAAG,IAAI,CAGf;AAED,0EAA0E;AAC1E,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,SAAS,cAAc,EAAE,EACtC,QAAQ,EAAE,MAAM,GACf,cAAc,EAAE,CAElB;AAED,iFAAiF;AACjF,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,oBAAoB,GAAG,UAAU,CAK9F;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,MAAM,CAAC,MAAM,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAAC,CAajE;AAED,iFAAiF;AACjF,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAQtD;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC/B,QAAQ,EAAE,OAAO,GAAG,SAAS,EAC7B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACxC,SAAS,EAAE,MAAM,GAAG,IAAI,GACvB,OAAO,CAgBT"}
@@ -0,0 +1,94 @@
1
+ import { ContinuityDisclosure as ContinuityDisclosureSchema, LaneCheckpoint as LaneCheckpointSchema, Session as SessionSchema, ThreadTurn as ThreadTurnSchema, } from "@claudexor/schema";
2
+ import { newId, nowIso } from "@claudexor/util";
3
+ /**
4
+ * Pure lane-checkpoint helpers (INV-137). Extracted from `threads.ts` so the
5
+ * store file stays under the new-file complexity cap (INV-124); the ThreadStore
6
+ * owns journaling/commit, these just build + query the checkpoint rows.
7
+ *
8
+ * A lane is a (thread, harness, profile) triple; its checkpoint is the last turn
9
+ * it has SEEN (it produced it, or a continuation packet hydrated it up to there).
10
+ */
11
+ /** Composite lane id `<thread>::<harness>::<profileOrDefault>` — the row identity. */
12
+ export function laneId(threadId, harnessId, profileId) {
13
+ return `${threadId}::${harnessId}::${profileId ?? "default"}`;
14
+ }
15
+ /** Build (and validate) a checkpoint row advancing a lane to `turnId`. */
16
+ export function makeLaneCheckpoint(threadId, harnessId, profileId, turnId) {
17
+ return LaneCheckpointSchema.parse({
18
+ id: laneId(threadId, harnessId, profileId),
19
+ thread_id: threadId,
20
+ harness_id: harnessId,
21
+ profile_id: profileId,
22
+ turn_id: turnId,
23
+ updated_at: nowIso(),
24
+ });
25
+ }
26
+ /** The last turn a lane has seen, or null when the lane never ran. */
27
+ export function findLaneCheckpoint(checkpoints, threadId, harnessId, profileId) {
28
+ const id = laneId(threadId, harnessId, profileId);
29
+ return checkpoints.find((c) => c.id === id)?.turn_id ?? null;
30
+ }
31
+ /** All lane checkpoints of a thread (to locate the prior head's lane). */
32
+ export function threadLaneCheckpoints(checkpoints, threadId) {
33
+ return checkpoints.filter((c) => c.thread_id === threadId);
34
+ }
35
+ /** Stamp a turn's continuity disclosure (validated), returning the next turn. */
36
+ export function stampContinuity(turn, disclosure) {
37
+ return ThreadTurnSchema.parse({
38
+ ...turn,
39
+ continuity: ContinuityDisclosureSchema.parse(disclosure),
40
+ });
41
+ }
42
+ /**
43
+ * Native resume map for a thread (INV-135): harnessId -> {sessionId, profile}.
44
+ * Resume never crosses credential profiles — a session recorded under one
45
+ * profile (or the null engine default) is eligible ONLY for a turn running as
46
+ * exactly that profile; the entry carries its profile so the engine boundary
47
+ * re-verifies against the RESOLVED profile (preflight rotation may differ).
48
+ */
49
+ export function resumeMapFrom(sessions, threadId, profileId) {
50
+ const map = {};
51
+ for (const s of sessions) {
52
+ if (s.thread_id === threadId &&
53
+ s.state === "live" &&
54
+ s.native_session_id &&
55
+ (s.profile_id ?? null) === profileId) {
56
+ map[s.harness_id] = { sessionId: s.native_session_id, profileId: s.profile_id ?? null };
57
+ }
58
+ }
59
+ return map;
60
+ }
61
+ /** Mark a session row stale (its profile was deleted): drop the resumable id. */
62
+ export function staleSession(session) {
63
+ return SessionSchema.parse({
64
+ ...session,
65
+ native_session_id: null,
66
+ resume_kind: "none",
67
+ state: "stale",
68
+ updated_at: nowIso(),
69
+ });
70
+ }
71
+ /**
72
+ * Build (and validate) the native-session row a harness emitted, keyed by
73
+ * (thread, harness, PROFILE) so profile B's session never overwrites A's row
74
+ * (an A→B→A sequence resumes A's own native conversation; the null engine
75
+ * default is its own row). `existing` is the current row for that lane, if any.
76
+ */
77
+ export function makeSessionRecord(existing, threadId, harnessId, nativeSessionId, observedModel, profileId) {
78
+ const now = nowIso();
79
+ return SessionSchema.parse({
80
+ ...(existing ?? {
81
+ id: newId("se"),
82
+ thread_id: threadId,
83
+ harness_id: harnessId,
84
+ created_at: now,
85
+ }),
86
+ profile_id: profileId,
87
+ native_session_id: nativeSessionId,
88
+ last_observed_model: observedModel || existing?.last_observed_model || null,
89
+ resume_kind: "resume_by_id",
90
+ state: "live",
91
+ updated_at: now,
92
+ });
93
+ }
94
+ //# sourceMappingURL=thread-lane-checkpoints.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-lane-checkpoints.js","sourceRoot":"","sources":["../src/thread-lane-checkpoints.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Session, Thread, ThreadTurn } from "@claudexor/schema";
1
+ import type { LaneCheckpoint, Session, Thread, ThreadTurn } from "@claudexor/schema";
2
2
  import type { CreateThreadInput, CreateTurnInput } from "./threads.js";
3
3
  /**
4
4
  * Pure ThreadStore support: the journal mutation codec and the idempotency
@@ -10,6 +10,8 @@ export interface ThreadMutation {
10
10
  threads?: Thread[];
11
11
  sessions?: Session[];
12
12
  turns?: ThreadTurn[];
13
+ /** Per-lane checkpoints (INV-137): journaled alongside turns/sessions. */
14
+ checkpoints?: LaneCheckpoint[];
13
15
  idempotency?: {
14
16
  keyDigest: string;
15
17
  requestDigest: string;
@@ -1 +1 @@
1
- {"version":3,"file":"thread-store-support.d.ts","sourceRoot":"","sources":["../src/thread-store-support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAOrE,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEvE;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,WAAW,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,cAAc,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAsC5D;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,GACtC,cAAc,CAAC,gBAAgB,CAAC,CAalC;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,GACpC,cAAc,CAAC,aAAa,CAAC,CAa/B;AAWD,wBAAgB,mBAAmB,IAAI,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAK9E;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAI3E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI7E"}
1
+ {"version":3,"file":"thread-store-support.d.ts","sourceRoot":"","sources":["../src/thread-store-support.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAQrF,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAEvE;;;;;GAKG;AAEH,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,WAAW,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3E,cAAc,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACjF;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,cAAc,CAyC5D;AAED,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,GACtC,cAAc,CAAC,gBAAgB,CAAC,CAalC;AAED,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,eAAe,CAAC,aAAa,CAAC,GACpC,cAAc,CAAC,aAAa,CAAC,CAa/B;AAWD,wBAAgB,mBAAmB,IAAI,KAAK,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAK9E;AAED,wBAAgB,MAAM,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAI3E;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAI7E"}
@@ -1,4 +1,4 @@
1
- import { Session as SessionSchema, Thread as ThreadSchema, ThreadTurn as ThreadTurnSchema, } from "@claudexor/schema";
1
+ import { LaneCheckpoint as LaneCheckpointSchema, Session as SessionSchema, Thread as ThreadSchema, ThreadTurn as ThreadTurnSchema, } from "@claudexor/schema";
2
2
  import { hashJson } from "@claudexor/util";
3
3
  export function parseMutation(value) {
4
4
  if (!value || typeof value !== "object" || Array.isArray(value)) {
@@ -31,6 +31,9 @@ export function parseMutation(value) {
31
31
  ...(mutation.turns
32
32
  ? { turns: mutation.turns.map((item) => ThreadTurnSchema.parse(item)) }
33
33
  : {}),
34
+ ...(mutation.checkpoints
35
+ ? { checkpoints: mutation.checkpoints.map((item) => LaneCheckpointSchema.parse(item)) }
36
+ : {}),
34
37
  ...(idempotency ? { idempotency: { ...idempotency } } : {}),
35
38
  ...(threadCreation ? { threadCreation: { ...threadCreation } } : {}),
36
39
  };
@@ -1 +1 @@
1
- {"version":3,"file":"thread-store-support.js","sourceRoot":"","sources":["../src/thread-store-support.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"thread-store-support.js","sourceRoot":"","sources":["../src/thread-store-support.ts"],"names":[],"mappings":"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"}
package/dist/threads.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import type { DurableJournal } from "@claudexor/journal";
2
- import type { Attachment, Session, Thread, ThreadTurn, WorkspaceMode } from "@claudexor/schema";
2
+ import type { Attachment, ContinuityDisclosure, LaneCheckpoint, Session, Thread, ThreadTurn, WorkspaceMode } from "@claudexor/schema";
3
3
  export interface CreateThreadInput {
4
4
  title?: string;
5
5
  repoRoot?: string | null;
@@ -8,6 +8,8 @@ export interface CreateThreadInput {
8
8
  workspace?: WorkspaceMode;
9
9
  authPreference?: Thread["auth_preference"];
10
10
  credentialProfileId?: string | null;
11
+ /** Sticky write scope for write turns (null/omit = repo trust default). */
12
+ access?: Thread["access"];
11
13
  primaryHarness?: string | null;
12
14
  /** Sticky eligible harness pool for the thread (turns inherit when unset). */
13
15
  eligibleHarnesses?: string[];
@@ -22,6 +24,10 @@ export interface CreateTurnInput {
22
24
  parentRunId?: string | null;
23
25
  /** Set when this turn implements an approved plan from an earlier run. */
24
26
  planRunId?: string | null;
27
+ /** Freeze-on-implement provenance (D17): sha256 of the implemented plan. */
28
+ planHash?: string | null;
29
+ /** True when the user explicitly implemented a not-ready plan. */
30
+ planOverridden?: boolean;
25
31
  /** Files/images attached to this turn, already resolved to scoped on-disk paths. */
26
32
  attachments?: Attachment[];
27
33
  idempotency?: {
@@ -39,6 +45,8 @@ export interface UpdateThreadInput {
39
45
  credentialProfileId?: string | null;
40
46
  /** Replace the sticky eligible harness pool. */
41
47
  eligibleHarnesses?: string[];
48
+ /** Switch the sticky write scope (null => repo trust default). */
49
+ access?: Thread["access"];
42
50
  }
43
51
  /**
44
52
  * Sink for the content-free `thread.head.updated` invalidation ping (W12).
@@ -118,13 +126,23 @@ export declare class ThreadStore {
118
126
  * "send a new message" instead of a doomed Retry.
119
127
  */
120
128
  setTurnEnqueueError(turnId: string, message: string, code?: string | null, retryable?: boolean): void;
121
- /** Record/refresh the native CLI session a harness emitted for this thread.
122
- * Keyed by (thread, harness, PROFILE) — resume eligibility is
123
- * profile-specific (release wave round-16 #3), so profile B's session must
124
- * never overwrite profile A's row: an A→B→A sequence resumes A's own native
125
- * conversation (the null engine default is its own row too). */
129
+ /** Record/refresh a harness's native session; see `makeSessionRecord` (INV-135). */
126
130
  recordSession(threadId: string, harnessId: string, nativeSessionId: string, observedModel?: string | null, profileId?: string | null): void;
131
+ /** Advance a lane's checkpoint to `turnId` (INV-137): the lane
132
+ * (thread, harness, profile) has now SEEN that turn. Same (harness, profile)
133
+ * key as `resumeMap`, so the next turn's packet math is exact. */
134
+ recordLaneCheckpoint(threadId: string, harnessId: string, profileId: string | null, turnId: string): void;
135
+ /** The last turn a lane has seen, or null when the lane never ran. */
136
+ laneCheckpoint(threadId: string, harnessId: string, profileId: string | null): string | null;
137
+ /** All lane checkpoints of a thread (used to identify the prior head's lane). */
138
+ laneCheckpointsForThread(threadId: string): LaneCheckpoint[];
139
+ /** Stamp how a turn's lane was continued (INV-137); last-writer-wins. */
140
+ setTurnContinuity(turnId: string, disclosure: ContinuityDisclosure): void;
127
141
  relinkProjectRoot(root: string): void;
142
+ invalidateCredentialProfile(harnessId: string, profileId: string): {
143
+ clearedThreads: number;
144
+ invalidatedSessions: number;
145
+ };
128
146
  }
129
147
  export declare function threadProjection(headPing?: ThreadHeadPingSink): {
130
148
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../src/threads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../src/threads.ts"],"names":[],"mappings":"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"}
package/dist/threads.js CHANGED
@@ -1,5 +1,6 @@
1
- import { SCHEMA_VERSION, Session as SessionSchema, Thread as ThreadSchema, ThreadTurn as ThreadTurnSchema, } from "@claudexor/schema";
1
+ import { LaneCheckpoint as LaneCheckpointSchema, SCHEMA_VERSION, Session as SessionSchema, Thread as ThreadSchema, ThreadTurn as ThreadTurnSchema, } from "@claudexor/schema";
2
2
  import { newId, nowIso, redactSecrets } from "@claudexor/util";
3
+ import { findLaneCheckpoint, makeLaneCheckpoint, makeSessionRecord, resumeMapFrom, staleSession, stampContinuity, threadLaneCheckpoints, } from "./thread-lane-checkpoints.js";
3
4
  import { reduceThreadLifecycle } from "./thread-lifecycle.js";
4
5
  import { assertUnique, idempotencyConflict, parseMutation, threadCreationIdempotency, turnIdempotency, upsert, } from "./thread-store-support.js";
5
6
  const UPSERTED = "thread.entities_upserted";
@@ -19,7 +20,7 @@ function coercePrimaryToPool(primary, pool) {
19
20
  export class ThreadStore {
20
21
  journal;
21
22
  headPing;
22
- state = { threads: [], sessions: [], turns: [] };
23
+ state = { threads: [], sessions: [], turns: [], checkpoints: [] };
23
24
  turnIdByKey = new Map();
24
25
  threadIdByKey = new Map();
25
26
  constructor(journal, headPing) {
@@ -34,9 +35,12 @@ export class ThreadStore {
34
35
  SessionSchema.parse(session);
35
36
  for (const turn of this.state.turns)
36
37
  ThreadTurnSchema.parse(turn);
38
+ for (const checkpoint of this.state.checkpoints)
39
+ LaneCheckpointSchema.parse(checkpoint);
37
40
  assertUnique(this.state.threads, "thread");
38
41
  assertUnique(this.state.sessions, "session");
39
42
  assertUnique(this.state.turns, "turn");
43
+ assertUnique(this.state.checkpoints, "lane checkpoint");
40
44
  for (const value of this.turnIdByKey.values()) {
41
45
  if (!this.getTurn(value.turnId))
42
46
  throw new Error("thread idempotency index is dangling");
@@ -59,14 +63,13 @@ export class ThreadStore {
59
63
  this.apply(parsed);
60
64
  // Every PERSISTED mutation invalidates the touched threads' summaries —
61
65
  // pinging here (the single writer) covers create/rename/archive/turn-add/
62
- // enqueue-error/session/worktree without per-call-site wiring, so a future
63
- // mutation path cannot forget the ping. Replay never pings (it goes
64
- // through apply(), not commit()); the run-terminal path pings via
65
- // pingHead() directly because no store mutation happens at terminal.
66
+ // enqueue-error/session/checkpoint without per-call-site wiring. Replay never
67
+ // pings (it goes through apply(), not commit()); run-terminal pings directly.
66
68
  const touched = new Set([
67
69
  ...(parsed.threads ?? []).map((thread) => thread.id),
68
70
  ...(parsed.turns ?? []).map((turn) => turn.thread_id),
69
71
  ...(parsed.sessions ?? []).map((session) => session.thread_id),
72
+ ...(parsed.checkpoints ?? []).map((checkpoint) => checkpoint.thread_id),
70
73
  ]);
71
74
  for (const threadId of touched)
72
75
  this.pingHead(threadId);
@@ -88,6 +91,8 @@ export class ThreadStore {
88
91
  upsert(this.state.sessions, session);
89
92
  for (const turn of mutation.turns ?? [])
90
93
  upsert(this.state.turns, turn);
94
+ for (const checkpoint of mutation.checkpoints ?? [])
95
+ upsert(this.state.checkpoints, checkpoint);
91
96
  if (mutation.idempotency) {
92
97
  const { keyDigest, requestDigest, turnId } = mutation.idempotency;
93
98
  const prior = this.turnIdByKey.get(keyDigest);
@@ -144,6 +149,7 @@ export class ThreadStore {
144
149
  },
145
150
  auth_preference: input.authPreference ?? "auto",
146
151
  credential_profile_id: input.credentialProfileId ?? null,
152
+ access: input.access ?? null,
147
153
  primary_harness: primary,
148
154
  eligible_harnesses: eligible,
149
155
  });
@@ -171,6 +177,7 @@ export class ThreadStore {
171
177
  ...(patch.credentialProfileId !== undefined
172
178
  ? { credential_profile_id: patch.credentialProfileId }
173
179
  : {}),
180
+ ...(patch.access !== undefined ? { access: patch.access } : {}),
174
181
  ...(patch.eligibleHarnesses !== undefined
175
182
  ? { eligible_harnesses: patch.eligibleHarnesses }
176
183
  : {}),
@@ -272,17 +279,7 @@ export class ThreadStore {
272
279
  }
273
280
  /** Native resume map for a thread: harnessId -> native session id (live sessions only). */
274
281
  resumeMap(threadId, profileId = null) {
275
- const map = {};
276
- for (const s of this.sessionsForThread(threadId)) {
277
- // INV-135: resume never crosses credential profiles — a session recorded
278
- // under one profile (or the null engine default) is eligible ONLY for a
279
- // turn running as exactly that profile. The entry CARRIES its profile so
280
- // the engine boundary re-verifies against the RESOLVED profile (which
281
- // preflight rotation may have changed after this map was built).
282
- if (s.state === "live" && s.native_session_id && (s.profile_id ?? null) === profileId)
283
- map[s.harness_id] = { sessionId: s.native_session_id, profileId: s.profile_id ?? null };
284
- }
285
- return map;
282
+ return resumeMapFrom(this.state.sessions, threadId, profileId);
286
283
  }
287
284
  /**
288
285
  * Create a turn BEFORE its run is enqueued (run_id is bound later via
@@ -325,9 +322,10 @@ export class ThreadStore {
325
322
  run_id: null,
326
323
  parent_run_id: input.parentRunId !== undefined ? input.parentRunId : thread.head_run_id,
327
324
  plan_run_id: input.planRunId ?? null,
325
+ plan_hash: input.planHash ?? null,
326
+ plan_readiness_overridden: input.planOverridden === true,
328
327
  kind,
329
- // The durable conversation store is read back into UIs: redact at the
330
- // persistence boundary exactly like other durable state projections do.
328
+ // Redact at the persistence boundary (the store is read back into UIs).
331
329
  prompt: redactSecrets(prompt),
332
330
  attachments: input.attachments ?? [],
333
331
  created_at: nowIso(),
@@ -385,34 +383,39 @@ export class ThreadStore {
385
383
  const nextThread = thread ? ThreadSchema.parse({ ...thread, updated_at: nowIso() }) : undefined;
386
384
  this.commit({ turns: [nextTurn], ...(nextThread ? { threads: [nextThread] } : {}) });
387
385
  }
388
- /** Record/refresh the native CLI session a harness emitted for this thread.
389
- * Keyed by (thread, harness, PROFILE) — resume eligibility is
390
- * profile-specific (release wave round-16 #3), so profile B's session must
391
- * never overwrite profile A's row: an A→B→A sequence resumes A's own native
392
- * conversation (the null engine default is its own row too). */
386
+ /** Record/refresh a harness's native session; see `makeSessionRecord` (INV-135). */
393
387
  recordSession(threadId, harnessId, nativeSessionId, observedModel, profileId = null) {
394
388
  const existing = this.state.sessions.find((s) => s.thread_id === threadId &&
395
389
  s.harness_id === harnessId &&
396
390
  (s.profile_id ?? null) === (profileId ?? null));
397
- const now = nowIso();
398
- const session = SessionSchema.parse({
399
- ...(existing ?? {
400
- id: newId("se"),
401
- thread_id: threadId,
402
- harness_id: harnessId,
403
- created_at: now,
404
- }),
405
- profile_id: profileId,
406
- native_session_id: nativeSessionId,
407
- last_observed_model: observedModel || existing?.last_observed_model || null,
408
- resume_kind: "resume_by_id",
409
- state: "live",
410
- updated_at: now,
411
- });
391
+ const session = makeSessionRecord(existing, threadId, harnessId, nativeSessionId, observedModel, profileId);
412
392
  const thread = this.getThread(threadId);
413
- const nextThread = thread ? ThreadSchema.parse({ ...thread, updated_at: now }) : undefined;
393
+ const nextThread = thread
394
+ ? ThreadSchema.parse({ ...thread, updated_at: session.updated_at })
395
+ : undefined;
414
396
  this.commit({ sessions: [session], ...(nextThread ? { threads: [nextThread] } : {}) });
415
397
  }
398
+ /** Advance a lane's checkpoint to `turnId` (INV-137): the lane
399
+ * (thread, harness, profile) has now SEEN that turn. Same (harness, profile)
400
+ * key as `resumeMap`, so the next turn's packet math is exact. */
401
+ recordLaneCheckpoint(threadId, harnessId, profileId, turnId) {
402
+ this.commit({ checkpoints: [makeLaneCheckpoint(threadId, harnessId, profileId, turnId)] });
403
+ }
404
+ /** The last turn a lane has seen, or null when the lane never ran. */
405
+ laneCheckpoint(threadId, harnessId, profileId) {
406
+ return findLaneCheckpoint(this.state.checkpoints, threadId, harnessId, profileId);
407
+ }
408
+ /** All lane checkpoints of a thread (used to identify the prior head's lane). */
409
+ laneCheckpointsForThread(threadId) {
410
+ return threadLaneCheckpoints(this.state.checkpoints, threadId);
411
+ }
412
+ /** Stamp how a turn's lane was continued (INV-137); last-writer-wins. */
413
+ setTurnContinuity(turnId, disclosure) {
414
+ const turn = this.state.turns.find((t) => t.id === turnId);
415
+ if (!turn)
416
+ return;
417
+ this.commit({ turns: [stampContinuity(turn, disclosure)] });
418
+ }
416
419
  relinkProjectRoot(root) {
417
420
  const threads = this.state.threads
418
421
  .filter((thread) => thread.repo && thread.repo.root !== root)
@@ -424,6 +427,22 @@ export class ThreadStore {
424
427
  if (threads.length > 0)
425
428
  this.commit({ threads });
426
429
  }
430
+ invalidateCredentialProfile(harnessId, profileId) {
431
+ const now = nowIso();
432
+ // Thread pins predate a harness discriminator. Clear every matching scalar
433
+ // id rather than leave an unrunnable route after one harness profile dies.
434
+ const threads = this.state.threads
435
+ .filter((thread) => thread.credential_profile_id === profileId)
436
+ .map((thread) => ThreadSchema.parse({ ...thread, credential_profile_id: null, updated_at: now }));
437
+ const sessions = this.state.sessions
438
+ .filter((session) => session.harness_id === harnessId &&
439
+ session.profile_id === profileId &&
440
+ session.state === "live")
441
+ .map(staleSession);
442
+ if (threads.length > 0 || sessions.length > 0)
443
+ this.commit({ threads, sessions });
444
+ return { clearedThreads: threads.length, invalidatedSessions: sessions.length };
445
+ }
427
446
  }
428
447
  export function threadProjection(headPing) {
429
448
  return {