@claudexor/daemon 3.11.0 → 3.12.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 (64) hide show
  1. package/dist/command-retention.d.ts +10 -2
  2. package/dist/command-retention.d.ts.map +1 -1
  3. package/dist/command-retention.js +80 -16
  4. package/dist/command-retention.js.map +1 -1
  5. package/dist/command-scope-roots.d.ts +7 -0
  6. package/dist/command-scope-roots.d.ts.map +1 -0
  7. package/dist/command-scope-roots.js +14 -0
  8. package/dist/command-scope-roots.js.map +1 -0
  9. package/dist/command-store.d.ts +5 -0
  10. package/dist/command-store.d.ts.map +1 -1
  11. package/dist/command-store.js +36 -22
  12. package/dist/command-store.js.map +1 -1
  13. package/dist/index.d.ts +2 -0
  14. package/dist/index.d.ts.map +1 -1
  15. package/dist/index.js +2 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/journal-fold-policy.d.ts +51 -0
  18. package/dist/journal-fold-policy.d.ts.map +1 -0
  19. package/dist/journal-fold-policy.js +174 -0
  20. package/dist/journal-fold-policy.js.map +1 -0
  21. package/dist/journal-maintenance.d.ts +27 -4
  22. package/dist/journal-maintenance.d.ts.map +1 -1
  23. package/dist/journal-maintenance.js +59 -9
  24. package/dist/journal-maintenance.js.map +1 -1
  25. package/dist/journal-manager-journal.d.ts +18 -0
  26. package/dist/journal-manager-journal.d.ts.map +1 -0
  27. package/dist/journal-manager-journal.js +25 -0
  28. package/dist/journal-manager-journal.js.map +1 -0
  29. package/dist/journal-manager.d.ts +1 -0
  30. package/dist/journal-manager.d.ts.map +1 -1
  31. package/dist/journal-manager.js +11 -12
  32. package/dist/journal-manager.js.map +1 -1
  33. package/dist/journal-recovery-files.d.ts +5 -0
  34. package/dist/journal-recovery-files.d.ts.map +1 -1
  35. package/dist/journal-recovery-files.js +42 -3
  36. package/dist/journal-recovery-files.js.map +1 -1
  37. package/dist/journaled-run-events.d.ts +20 -0
  38. package/dist/journaled-run-events.d.ts.map +1 -0
  39. package/dist/journaled-run-events.js +46 -0
  40. package/dist/journaled-run-events.js.map +1 -0
  41. package/dist/project-partitions.d.ts +6 -0
  42. package/dist/project-partitions.d.ts.map +1 -1
  43. package/dist/project-partitions.js +13 -1
  44. package/dist/project-partitions.js.map +1 -1
  45. package/dist/quota-registry-support.d.ts +15 -1
  46. package/dist/quota-registry-support.d.ts.map +1 -1
  47. package/dist/quota-registry-support.js +49 -1
  48. package/dist/quota-registry-support.js.map +1 -1
  49. package/dist/quota-registry.d.ts.map +1 -1
  50. package/dist/quota-registry.js +18 -40
  51. package/dist/quota-registry.js.map +1 -1
  52. package/dist/run-event-terminal-index.d.ts +13 -0
  53. package/dist/run-event-terminal-index.d.ts.map +1 -0
  54. package/dist/run-event-terminal-index.js +38 -0
  55. package/dist/run-event-terminal-index.js.map +1 -0
  56. package/dist/run-events.d.ts +2 -0
  57. package/dist/run-events.d.ts.map +1 -1
  58. package/dist/run-events.js +4 -4
  59. package/dist/run-events.js.map +1 -1
  60. package/dist/server.d.ts +2 -1
  61. package/dist/server.d.ts.map +1 -1
  62. package/dist/server.js +4 -3
  63. package/dist/server.js.map +1 -1
  64. package/package.json +5 -5
@@ -0,0 +1,174 @@
1
+ import { CredentialRoute, QuotaSnapshot as QuotaSnapshotSchema, QuotaSource, TERMINAL_CONTROL_SETUP_JOB_STATES, } from "@claudexor/schema";
2
+ import { legacyV320Snapshot, snapshotKey } from "./quota-registry-support.js";
3
+ const KEEP = Object.freeze({});
4
+ const TERMINAL_RUN_EVENTS = new Set(["run.completed", "run.failed", "run.blocked"]);
5
+ const TERMINAL_SETUP_STATES = new Set(TERMINAL_CONTROL_SETUP_JOB_STATES);
6
+ /** The one frozen policy for every partition and every pass. */
7
+ export const journalFoldPolicy = Object.freeze({ verdict: journalFoldVerdict });
8
+ function journalFoldVerdict(record) {
9
+ try {
10
+ switch (record.type) {
11
+ case "command.accepted":
12
+ // A group per id, never a slot: a duplicate acceptance (same id,
13
+ // conflicting digest) must survive for the CommandStore's own
14
+ // idempotency-history check, as on an unfolded journal.
15
+ return groupOrKeep(commandId(record.payload), (id) => `c:${id}:a`);
16
+ case "command.updated":
17
+ return slotOrKeep(commandId(record.payload), (id) => `c:${id}:u`);
18
+ case "command.pruned":
19
+ return prunedVerdict(record.payload);
20
+ case "run.event":
21
+ return runEventVerdict(record.payload);
22
+ case "interaction.requested":
23
+ return interactionRequestedVerdict(record.payload);
24
+ case "interaction.resolved":
25
+ return interactionResolvedVerdict(record.payload);
26
+ case "quota.projection.updated":
27
+ return { slot: "q:marker" };
28
+ case "quota.snapshot.scoped_prepared":
29
+ return slotOrKeep(scopedPreparedKey(record.payload), (key) => `q:${key}:p`);
30
+ case "quota.snapshot.upserted":
31
+ return slotOrKeep(upsertedKey(record.payload), (key) => `q:${key}:u`);
32
+ case "quota.subject.removed":
33
+ return removedSubjectVerdict(record.payload);
34
+ case "thread.head.updated":
35
+ return slotOrKeep(stringField(record.payload, "thread_id"), (id) => `t:${id}`);
36
+ case "setup.job.saved":
37
+ return setupSavedVerdict(record.payload);
38
+ case "setup.job.log":
39
+ return groupOrKeep(stringField(record.payload, "jobId"), (id) => `s:${id}:log`);
40
+ default:
41
+ return KEEP;
42
+ }
43
+ }
44
+ catch {
45
+ return KEEP;
46
+ }
47
+ }
48
+ function slotOrKeep(key, name) {
49
+ return key === null ? KEEP : { slot: name(key) };
50
+ }
51
+ function groupOrKeep(key, name) {
52
+ return key === null ? KEEP : { group: name(key) };
53
+ }
54
+ function object(value) {
55
+ return value && typeof value === "object" && !Array.isArray(value)
56
+ ? value
57
+ : null;
58
+ }
59
+ function stringField(value, key) {
60
+ const field = object(value)?.[key];
61
+ return typeof field === "string" && field.length > 0 ? field : null;
62
+ }
63
+ function stringList(value) {
64
+ if (!Array.isArray(value) || value.length === 0)
65
+ return null;
66
+ return value.every((item) => typeof item === "string" && item.length > 0)
67
+ ? value
68
+ : null;
69
+ }
70
+ function commandId(payload) {
71
+ return stringField(object(payload)?.record, "id");
72
+ }
73
+ /** Every run event of a run is keyed under its run id; the terminal retires
74
+ * the live group and the created slot, and a prune tombstone retires all three. */
75
+ function runEventNames(runId) {
76
+ return [`r:${runId}:t`, `r:${runId}:live`, `r:${runId}:c`];
77
+ }
78
+ /** A prune tombstone retires its commands' records AND every journaled run
79
+ * event of the runs those commands owned (`run_ids`, written since this
80
+ * change; legacy tombstones without it retire the commands only), and is
81
+ * itself kept — the latest per set of project roots it names — because
82
+ * crash-GC reads the roots of pruned commands from it. Ids in a superseded
83
+ * tombstone are dead weight: its retire already ran when it was folded. */
84
+ function prunedVerdict(payload) {
85
+ const value = object(payload);
86
+ const ids = stringList(value?.ids);
87
+ if (!ids)
88
+ return KEEP;
89
+ const roots = stringList(value?.roots) ?? [];
90
+ const runIds = stringList(value?.run_ids) ?? [];
91
+ return {
92
+ slot: `c:pruned:${[...roots].sort().join("\0")}`,
93
+ retire: [...ids.flatMap((id) => [`c:${id}:a`, `c:${id}:u`]), ...runIds.flatMap(runEventNames)],
94
+ };
95
+ }
96
+ /** A terminal run keeps only its terminal: `run.created` and the journaled
97
+ * progress events are forgotten with it (the macOS app auto-attaches on
98
+ * `run.created` only for live runs; durable terminal recovery reads terminals
99
+ * only; the per-run stream replays `events.jsonl`). Terminals are a GROUP per
100
+ * run, never a slot: a second terminal for the same run is corruption the
101
+ * terminal index must still see and refuse, exactly as on an unfolded journal,
102
+ * until the run's prune tombstone retires the whole group. */
103
+ function runEventVerdict(payload) {
104
+ const runId = stringField(payload, "run_id");
105
+ const type = stringField(payload, "type");
106
+ if (runId === null || type === null)
107
+ return KEEP;
108
+ if (TERMINAL_RUN_EVENTS.has(type)) {
109
+ return { group: `r:${runId}:t`, retire: [`r:${runId}:live`, `r:${runId}:c`] };
110
+ }
111
+ if (type === "run.created")
112
+ return { slot: `r:${runId}:c` };
113
+ return { group: `r:${runId}:live` };
114
+ }
115
+ /** A group per id, never a slot: a duplicate request frame must survive for
116
+ * the InteractionStore's own duplicate check, as on an unfolded journal. */
117
+ function interactionRequestedVerdict(payload) {
118
+ const runId = stringField(payload, "runId");
119
+ const interactionId = stringField(payload, "interactionId");
120
+ if (runId === null || interactionId === null)
121
+ return KEEP;
122
+ return { group: `i:${runId}:${interactionId}` };
123
+ }
124
+ /** The resolution retires exactly the requests it settles and is itself
125
+ * forgotten: the InteractionStore rebuilds only still-pending questions. */
126
+ function interactionResolvedVerdict(payload) {
127
+ const runId = stringField(payload, "runId");
128
+ const interactionIds = stringList(object(payload)?.interactionIds);
129
+ if (runId === null || !interactionIds)
130
+ return KEEP;
131
+ return { drop: true, retire: interactionIds.map((id) => `i:${runId}:${id}`) };
132
+ }
133
+ /** Both quota slots are keyed by the LEGACY base snapshot, which is the key
134
+ * the committing upsert carries on the wire (sources are harness-specific, so
135
+ * the only legacy remap — cursor_rate_limit to claude_api_retry — never
136
+ * collides with a genuine legacy-source snapshot of the same subject). */
137
+ function scopedPreparedKey(payload) {
138
+ const snapshot = QuotaSnapshotSchema.safeParse(object(payload)?.snapshot);
139
+ return snapshot.success ? snapshotKey(legacyV320Snapshot(snapshot.data)) : null;
140
+ }
141
+ function upsertedKey(payload) {
142
+ const snapshot = QuotaSnapshotSchema.safeParse(payload);
143
+ return snapshot.success ? snapshotKey(snapshot.data) : null;
144
+ }
145
+ /** `quota.subject.removed` names only (harness, subject_id); the registry
146
+ * removes every snapshot of that subject across routes and sources, so the
147
+ * retire list enumerates the schema's route and source vocabularies. A journal
148
+ * can only replay sources the schema still knows, so the enumeration is
149
+ * complete for every replayable record. */
150
+ function removedSubjectVerdict(payload) {
151
+ const value = object(payload);
152
+ const harness = typeof value?.harness === "string" ? value.harness : null;
153
+ const subjectId = value?.subject_id;
154
+ if (harness === null || (typeof subjectId !== "string" && subjectId !== null))
155
+ return KEEP;
156
+ const subject = subjectId ?? "";
157
+ const retire = [];
158
+ for (const route of CredentialRoute.options) {
159
+ for (const source of QuotaSource.options) {
160
+ const key = [harness, route, subject, source].join("\0");
161
+ retire.push(`q:${key}:p`, `q:${key}:u`);
162
+ }
163
+ }
164
+ return { slot: `q:${harness}\0${subject}:removed`, retire };
165
+ }
166
+ function setupSavedVerdict(payload) {
167
+ const job = object(object(payload)?.job);
168
+ const jobId = stringField(job, "jobId");
169
+ const state = stringField(job, "state");
170
+ if (jobId === null || state === null || !TERMINAL_SETUP_STATES.has(state))
171
+ return KEEP;
172
+ return { retire: [`s:${jobId}:log`] };
173
+ }
174
+ //# sourceMappingURL=journal-fold-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal-fold-policy.js","sourceRoot":"","sources":["../src/journal-fold-policy.ts"],"names":[],"mappings":"AAgDA,OAAO,EACL,eAAe,EACf,aAAa,IAAI,mBAAmB,EACpC,WAAW,EACX,iCAAiC,GAClC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAE9E,MAAM,IAAI,GAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AAC5C,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,eAAe,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC,CAAC;AACpF,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAS,iCAAiC,CAAC,CAAC;AAEjF,gEAAgE;AAChE,MAAM,CAAC,MAAM,iBAAiB,GAAgB,MAAM,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,kBAAkB,EAAE,CAAC,CAAC;AAE7F,SAAS,kBAAkB,CAAC,MAAkB;IAC5C,IAAI,CAAC;QACH,QAAQ,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,KAAK,kBAAkB;gBACrB,iEAAiE;gBACjE,8DAA8D;gBAC9D,wDAAwD;gBACxD,OAAO,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACrE,KAAK,iBAAiB;gBACpB,OAAO,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YACpE,KAAK,gBAAgB;gBACnB,OAAO,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACvC,KAAK,WAAW;gBACd,OAAO,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACzC,KAAK,uBAAuB;gBAC1B,OAAO,2BAA2B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACrD,KAAK,sBAAsB;gBACzB,OAAO,0BAA0B,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpD,KAAK,0BAA0B;gBAC7B,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YAC9B,KAAK,gCAAgC;gBACnC,OAAO,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YAC9E,KAAK,yBAAyB;gBAC5B,OAAO,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC,CAAC;YACxE,KAAK,uBAAuB;gBAC1B,OAAO,qBAAqB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC/C,KAAK,qBAAqB;gBACxB,OAAO,UAAU,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjF,KAAK,iBAAiB;gBACpB,OAAO,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YAC3C,KAAK,eAAe;gBAClB,OAAO,WAAW,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;YAClF;gBACE,OAAO,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,UAAU,CAAC,GAAkB,EAAE,IAA6B;IACnE,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACnD,CAAC;AAED,SAAS,WAAW,CAAC,GAAkB,EAAE,IAA6B;IACpE,OAAO,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AACpD,CAAC;AAED,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAChE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,WAAW,CAAC,KAAc,EAAE,GAAW;IAC9C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;AACtE,CAAC;AAED,SAAS,UAAU,CAAC,KAAc;IAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAC7D,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;QACvE,CAAC,CAAE,KAAkB;QACrB,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,SAAS,SAAS,CAAC,OAAgB;IACjC,OAAO,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC;AAED;mFACmF;AACnF,SAAS,aAAa,CAAC,KAAa;IAClC,OAAO,CAAC,KAAK,KAAK,IAAI,EAAE,KAAK,KAAK,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,CAAC;AAC7D,CAAC;AAED;;;;;2EAK2E;AAC3E,SAAS,aAAa,CAAC,OAAgB;IACrC,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,EAAE,CAAC;IAChD,OAAO;QACL,IAAI,EAAE,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAChD,MAAM,EAAE,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;KAC/F,CAAC;AACJ,CAAC;AAED;;;;;;8DAM8D;AAC9D,SAAS,eAAe,CAAC,OAAgB;IACvC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,WAAW,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC1C,IAAI,KAAK,KAAK,IAAI,IAAI,IAAI,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACjD,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,KAAK,OAAO,EAAE,KAAK,KAAK,IAAI,CAAC,EAAE,CAAC;IAChF,CAAC;IACD,IAAI,IAAI,KAAK,aAAa;QAAE,OAAO,EAAE,IAAI,EAAE,KAAK,KAAK,IAAI,EAAE,CAAC;IAC5D,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,OAAO,EAAE,CAAC;AACtC,CAAC;AAED;4EAC4E;AAC5E,SAAS,2BAA2B,CAAC,OAAgB;IACnD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IAC5D,IAAI,KAAK,KAAK,IAAI,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IAC1D,OAAO,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,aAAa,EAAE,EAAE,CAAC;AAClD,CAAC;AAED;4EAC4E;AAC5E,SAAS,0BAA0B,CAAC,OAAgB;IAClD,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC5C,MAAM,cAAc,GAAG,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,cAAc,CAAC,CAAC;IACnE,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,cAAc;QAAE,OAAO,IAAI,CAAC;IACnD,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,KAAK,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AAChF,CAAC;AAED;;;0EAG0E;AAC1E,SAAS,iBAAiB,CAAC,OAAgB;IACzC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC1E,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAClF,CAAC;AAED,SAAS,WAAW,CAAC,OAAgB;IACnC,MAAM,QAAQ,GAAG,mBAAmB,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;IACxD,OAAO,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC9D,CAAC;AAED;;;;2CAI2C;AAC3C,SAAS,qBAAqB,CAAC,OAAgB;IAC7C,MAAM,KAAK,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC9B,MAAM,OAAO,GAAG,OAAO,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1E,MAAM,SAAS,GAAG,KAAK,EAAE,UAAU,CAAC;IACpC,IAAI,OAAO,KAAK,IAAI,IAAI,CAAC,OAAO,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IAC3F,MAAM,OAAO,GAAG,SAAS,IAAI,EAAE,CAAC;IAChC,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,KAAK,MAAM,KAAK,IAAI,eAAe,CAAC,OAAO,EAAE,CAAC;QAC5C,KAAK,MAAM,MAAM,IAAI,WAAW,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,GAAG,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,KAAK,OAAO,KAAK,OAAO,UAAU,EAAE,MAAM,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,iBAAiB,CAAC,OAAgB;IACzC,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACxC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACvF,OAAO,EAAE,MAAM,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC,EAAE,CAAC;AACxC,CAAC"}
@@ -1,18 +1,26 @@
1
- import type { DurableJournal } from "@claudexor/journal";
1
+ import type { DurableJournal, JournalCompactionOutcome } from "@claudexor/journal";
2
2
  /** One cancelable maintenance flight under the daemon's existing root writer.
3
3
  * A manager creates a new journal object per generation and closes the old one;
4
4
  * those exact objects are the dedupe keys, never another durable authority. */
5
5
  export declare class JournalMaintenance {
6
- private readonly warn;
6
+ /** One sink for failures, typed declines and `journal.records_retired`
7
+ * receipts (the daemon log plus startup diagnostics in the composition root). */
8
+ private readonly log;
7
9
  private readonly pending;
8
- private readonly attempted;
9
10
  private readonly controller;
10
11
  private flight;
11
12
  private armed;
12
13
  private stopped;
13
14
  private cleaned;
14
15
  private readonly stagingDir;
15
- constructor(rootDir: string, warn: (message: string) => void);
16
+ constructor(rootDir: string,
17
+ /** One sink for failures, typed declines and `journal.records_retired`
18
+ * receipts (the daemon log plus startup diagnostics in the composition root). */
19
+ log: (message: string) => void);
20
+ /** Request one pass for this generation. Requests coalesce while pending; a
21
+ * request that arrives during the generation's own flight runs one more pass
22
+ * after it — the journal's threshold hook is edge-triggered, so that request
23
+ * means the file crossed the threshold again. */
16
24
  request: (journal: DurableJournal) => void;
17
25
  /** Called only after normal admission, including recovery-route reopen. */
18
26
  arm(): void;
@@ -24,4 +32,19 @@ export declare class JournalMaintenance {
24
32
  private removeCrashCandidates;
25
33
  private warnFailure;
26
34
  }
35
+ /** The process footprint as log-line fields (`rssMb=… heapUsedMb=… externalMb=…`,
36
+ * whole mebibytes). The daemon's retained journal set lives on its heap, so
37
+ * the lines that already exist — the normal-admission line and every journal
38
+ * maintenance receipt — carry it, and the memory class stays observable on
39
+ * every install without a new mechanism. */
40
+ export declare function processMemoryFields(usage?: Pick<NodeJS.MemoryUsage, "rss" | "heapUsed" | "external">): string;
41
+ /** One log line per maintenance outcome: the typed decline with its reason and
42
+ * bounds, or the `journal.records_retired` receipt — compaction-time counts
43
+ * beside what the fold already retired while replaying this generation at
44
+ * open (`retiredAtReplay`). Both end with the process memory fields. The quiet
45
+ * no-ops (below the threshold, an empty journal) produce no line. */
46
+ export declare function describeCompactionOutcome(partition: string, outcome: JournalCompactionOutcome, replay?: {
47
+ count: number;
48
+ bytes: number;
49
+ }, memory?: string): string | null;
27
50
  //# sourceMappingURL=journal-maintenance.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal-maintenance.d.ts","sourceRoot":"","sources":["../src/journal-maintenance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD;;+EAE+E;AAC/E,qBAAa,kBAAkB;IAY3B,OAAO,CAAC,QAAQ,CAAC,IAAI;IAXvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAiC;IAC3D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YACE,OAAO,EAAE,MAAM,EACE,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAGjD;IAED,OAAO,YAAa,cAAc,KAAG,IAAI,CAIvC;IAEF,2EAA2E;IAC3E,GAAG,IAAI,IAAI,CAWV;IAED;kFAC8E;IAC9E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpB;IAED,OAAO,CAAC,WAAW;YAaL,GAAG;YA0BH,qBAAqB;IAanC,OAAO,CAAC,WAAW;CAKpB"}
1
+ {"version":3,"file":"journal-maintenance.d.ts","sourceRoot":"","sources":["../src/journal-maintenance.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAGnF;;+EAE+E;AAC/E,qBAAa,kBAAkB;IAW3B;qFACiF;IACjF,OAAO,CAAC,QAAQ,CAAC,GAAG;IAZtB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA6B;IACrD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyB;IACpD,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IAEpC,YACE,OAAO,EAAE,MAAM;IACf;qFACiF;IAChE,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,EAGhD;IAED;;;qDAGiD;IACjD,OAAO,YAAa,cAAc,KAAG,IAAI,CAIvC;IAEF,2EAA2E;IAC3E,GAAG,IAAI,IAAI,CAWV;IAED;kFAC8E;IAC9E,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAKpB;IAED,OAAO,CAAC,WAAW;YAaL,GAAG;YA+BH,qBAAqB;IAanC,OAAO,CAAC,WAAW;CAKpB;AAED;;;;4CAI4C;AAC5C,wBAAgB,mBAAmB,CACjC,KAAK,GAAE,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,UAAU,GAAG,UAAU,CAAyB,GACvF,MAAM,CAGR;AAED;;;;qEAIqE;AACrE,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,wBAAwB,EACjC,MAAM,GAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAA2B,EACjE,MAAM,GAAE,MAA8B,GACrC,MAAM,GAAG,IAAI,CA0Bf"}
@@ -6,21 +6,27 @@ import { ensureCanonicalPrivateDirectory } from "@claudexor/util";
6
6
  * A manager creates a new journal object per generation and closes the old one;
7
7
  * those exact objects are the dedupe keys, never another durable authority. */
8
8
  export class JournalMaintenance {
9
- warn;
9
+ log;
10
10
  pending = new Set();
11
- attempted = new WeakSet();
12
11
  controller = new AbortController();
13
12
  flight = null;
14
13
  armed = false;
15
14
  stopped = false;
16
15
  cleaned = false;
17
16
  stagingDir;
18
- constructor(rootDir, warn) {
19
- this.warn = warn;
17
+ constructor(rootDir,
18
+ /** One sink for failures, typed declines and `journal.records_retired`
19
+ * receipts (the daemon log plus startup diagnostics in the composition root). */
20
+ log) {
21
+ this.log = log;
20
22
  this.stagingDir = join(rootDir, "journal-compaction");
21
23
  }
24
+ /** Request one pass for this generation. Requests coalesce while pending; a
25
+ * request that arrives during the generation's own flight runs one more pass
26
+ * after it — the journal's threshold hook is edge-triggered, so that request
27
+ * means the file crossed the threshold again. */
22
28
  request = (journal) => {
23
- if (this.stopped || this.attempted.has(journal))
29
+ if (this.stopped)
24
30
  return;
25
31
  this.pending.add(journal);
26
32
  this.startFlight();
@@ -73,7 +79,6 @@ export class JournalMaintenance {
73
79
  while (!this.stopped && this.pending.size > 0) {
74
80
  const journal = this.pending.values().next().value;
75
81
  this.pending.delete(journal);
76
- this.attempted.add(journal);
77
82
  try {
78
83
  if (journal.state().status !== "ready")
79
84
  continue;
@@ -82,10 +87,13 @@ export class JournalMaintenance {
82
87
  continue;
83
88
  } // the manager retired this exact generation
84
89
  try {
85
- await journal.compactInBackground({
90
+ const outcome = await journal.compactInBackground({
86
91
  stagingDir: this.stagingDir,
87
92
  signal: this.controller.signal,
88
93
  });
94
+ const line = describeCompactionOutcome(journal.options.partition, outcome, journal.retiredAtReplay());
95
+ if (line)
96
+ this.log(line);
89
97
  }
90
98
  catch (error) {
91
99
  this.warnFailure(error);
@@ -96,7 +104,7 @@ export class JournalMaintenance {
96
104
  for (const name of await readdir(this.stagingDir)) {
97
105
  this.controller.signal.throwIfAborted();
98
106
  // Only this producer's UUID-shaped scratch files, never journal.bin,
99
- // append.pending, recovery receipts, archives or unrelated entries.
107
+ // append.pending.json, recovery receipts, archives or unrelated entries.
100
108
  if (!/^journal-compaction-[0-9a-f]{8}(?:-[0-9a-f]{4}){3}-[0-9a-f]{12}\.compact$/.test(name))
101
109
  continue;
102
110
  const path = join(this.stagingDir, name);
@@ -106,7 +114,49 @@ export class JournalMaintenance {
106
114
  }
107
115
  }
108
116
  warnFailure(error) {
109
- this.warn(`journal maintenance failed: ${error instanceof Error ? error.message : String(error)}`);
117
+ this.log(`journal maintenance failed: ${error instanceof Error ? error.message : String(error)}`);
110
118
  }
111
119
  }
120
+ /** The process footprint as log-line fields (`rssMb=… heapUsedMb=… externalMb=…`,
121
+ * whole mebibytes). The daemon's retained journal set lives on its heap, so
122
+ * the lines that already exist — the normal-admission line and every journal
123
+ * maintenance receipt — carry it, and the memory class stays observable on
124
+ * every install without a new mechanism. */
125
+ export function processMemoryFields(usage = process.memoryUsage()) {
126
+ const mb = (bytes) => Math.round(bytes / (1024 * 1024));
127
+ return `rssMb=${mb(usage.rss)} heapUsedMb=${mb(usage.heapUsed)} externalMb=${mb(usage.external)}`;
128
+ }
129
+ /** One log line per maintenance outcome: the typed decline with its reason and
130
+ * bounds, or the `journal.records_retired` receipt — compaction-time counts
131
+ * beside what the fold already retired while replaying this generation at
132
+ * open (`retiredAtReplay`). Both end with the process memory fields. The quiet
133
+ * no-ops (below the threshold, an empty journal) produce no line. */
134
+ export function describeCompactionOutcome(partition, outcome, replay = { count: 0, bytes: 0 }, memory = processMemoryFields()) {
135
+ if ("declined" in outcome) {
136
+ if (outcome.reason === "below_threshold" || outcome.reason === "empty")
137
+ return null;
138
+ const bounds = [];
139
+ if (outcome.compressedBytes !== undefined)
140
+ bounds.push(`compressedBytes=${outcome.compressedBytes}`);
141
+ // Only a capacity decline names a cap that fired; a no-reclaim decline's
142
+ // cap is the current file size, which `compressedBytes` already exceeds.
143
+ if (outcome.reason === "capacity" && outcome.cap !== undefined)
144
+ bounds.push(`cap=${outcome.cap}`);
145
+ return ["journal.compaction_declined", `partition=${partition}`, `reason=${outcome.reason}`]
146
+ .concat(bounds, memory)
147
+ .join(" ");
148
+ }
149
+ return [
150
+ "journal.records_retired",
151
+ `partition=${partition}`,
152
+ `retainedCount=${outcome.retainedCount}`,
153
+ `retiredCount=${outcome.retiredCount}`,
154
+ `retiredBytes=${outcome.retiredBytes}`,
155
+ `retiredAtReplayCount=${replay.count}`,
156
+ `retiredAtReplayBytes=${replay.bytes}`,
157
+ `beforeBytes=${outcome.beforeBytes}`,
158
+ `afterBytes=${outcome.afterBytes}`,
159
+ memory,
160
+ ].join(" ");
161
+ }
112
162
  //# sourceMappingURL=journal-maintenance.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"journal-maintenance.js","sourceRoot":"","sources":["../src/journal-maintenance.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal-maintenance.js","sourceRoot":"","sources":["../src/journal-maintenance.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ import type { DurableJournal, DurableJournalOptions } from "@claudexor/journal";
2
+ /**
3
+ * The daemon's journal options for one manager: every partition replays and
4
+ * compacts through the daemon fold policy (one frozen policy shared by every
5
+ * manager and every pass), opts into deferred maintenance
6
+ * whenever a maintenance callback exists, and re-requests maintenance for the
7
+ * live generation when an append crosses the compaction threshold — the
8
+ * journal fires that hook once per crossing and re-arms it when the pass
9
+ * settles (install, typed decline or a failed pass).
10
+ */
11
+ export declare function daemonJournalOptions(input: {
12
+ rootDir: string;
13
+ partition: string;
14
+ now: () => Date;
15
+ requestMaintenance: ((journal: DurableJournal) => void) | undefined;
16
+ current: () => DurableJournal | null;
17
+ }): DurableJournalOptions;
18
+ //# sourceMappingURL=journal-manager-journal.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal-manager-journal.d.ts","sourceRoot":"","sources":["../src/journal-manager-journal.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAGhF;;;;;;;;GAQG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE;IAC1C,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,kBAAkB,EAAE,CAAC,CAAC,OAAO,EAAE,cAAc,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACpE,OAAO,EAAE,MAAM,cAAc,GAAG,IAAI,CAAC;CACtC,GAAG,qBAAqB,CAYxB"}
@@ -0,0 +1,25 @@
1
+ import { journalFoldPolicy } from "./journal-fold-policy.js";
2
+ /**
3
+ * The daemon's journal options for one manager: every partition replays and
4
+ * compacts through the daemon fold policy (one frozen policy shared by every
5
+ * manager and every pass), opts into deferred maintenance
6
+ * whenever a maintenance callback exists, and re-requests maintenance for the
7
+ * live generation when an append crosses the compaction threshold — the
8
+ * journal fires that hook once per crossing and re-arms it when the pass
9
+ * settles (install, typed decline or a failed pass).
10
+ */
11
+ export function daemonJournalOptions(input) {
12
+ return {
13
+ rootDir: input.rootDir,
14
+ partition: input.partition,
15
+ now: input.now,
16
+ deferCompaction: input.requestMaintenance !== undefined,
17
+ fold: journalFoldPolicy,
18
+ onCompactionThreshold: () => {
19
+ const journal = input.current();
20
+ if (journal)
21
+ input.requestMaintenance?.(journal);
22
+ },
23
+ };
24
+ }
25
+ //# sourceMappingURL=journal-manager-journal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journal-manager-journal.js","sourceRoot":"","sources":["../src/journal-manager-journal.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;;;;;;;GAQG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAMpC;IACC,OAAO;QACL,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,SAAS,EAAE,KAAK,CAAC,SAAS;QAC1B,GAAG,EAAE,KAAK,CAAC,GAAG;QACd,eAAe,EAAE,KAAK,CAAC,kBAAkB,KAAK,SAAS;QACvD,IAAI,EAAE,iBAAiB;QACvB,qBAAqB,EAAE,GAAG,EAAE;YAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC;YAChC,IAAI,OAAO;gBAAE,KAAK,CAAC,kBAAkB,EAAE,CAAC,OAAO,CAAC,CAAC;QACnD,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -25,6 +25,7 @@ export declare class JournalManager {
25
25
  private readonly now;
26
26
  private readonly faults;
27
27
  private readonly registrations;
28
+ private readonly journalOptions;
28
29
  private journal;
29
30
  private recovery;
30
31
  private generationValue;
@@ -1 +1 @@
1
- {"version":3,"file":"journal-manager.d.ts","sourceRoot":"","sources":["../src/journal-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal-manager.d.ts","sourceRoot":"","sources":["../src/journal-manager.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@ import { ensureCanonicalPrivateDirectory, fsyncDirectory } from "@claudexor/util
6
6
  import { exportJournalRecovery, fingerprintPartition, cloneRecovery, recoveryAt, recoveryFrom, safeMessage, sha256, writeAtomicPrivateJson, } from "./journal-recovery-files.js";
7
7
  import { conflict, matchingReceipt, quarantineRequestDigest, readOperation, typedError, validateRequest, } from "./journal-recovery-operation.js";
8
8
  import { journalEvents } from "./journal-events.js";
9
+ import { daemonJournalOptions } from "./journal-manager-journal.js";
9
10
  import { applyPreparedOperation, completePreparedReceipt, inspectPreparedOperation, preparationFingerprint, reconcilePreparedOperationOnStart, revalidatePreparedState, } from "./journal-prepared-operation.js";
10
11
  import { prepareProjectionSlots, ProjectionSlot, } from "./journal-projection-slot.js";
11
12
  export class JournalManager {
@@ -20,6 +21,7 @@ export class JournalManager {
20
21
  now;
21
22
  faults;
22
23
  registrations = new Map();
24
+ journalOptions;
23
25
  journal = null;
24
26
  recovery = { status: "ready", discardedTailBytes: 0 };
25
27
  generationValue = 0;
@@ -37,6 +39,13 @@ export class JournalManager {
37
39
  this.artifactPrefix = basename(this.partitionDir);
38
40
  this.operationsDir = join(this.rootDir, "recovery-operations", basename(this.partitionDir));
39
41
  this.quarantineDir = join(this.rootDir, "journal-quarantine");
42
+ this.journalOptions = daemonJournalOptions({
43
+ rootDir: this.journalRoot,
44
+ partition: this.partition,
45
+ now: this.now,
46
+ requestMaintenance: options.requestMaintenance,
47
+ current: () => this.journal,
48
+ });
40
49
  }
41
50
  registerProjection(descriptor) {
42
51
  this.assertOpen();
@@ -74,12 +83,7 @@ export class JournalManager {
74
83
  this.generationValue += 1;
75
84
  const projectionStatus = [];
76
85
  try {
77
- this.journal = DurableJournal.prepare({
78
- rootDir: this.journalRoot,
79
- partition: this.partition,
80
- now: this.now,
81
- deferCompaction: this.options.requestMaintenance !== undefined,
82
- });
86
+ this.journal = DurableJournal.prepare(this.journalOptions);
83
87
  this.recovery = this.journal.state();
84
88
  this.preparedOperation = inspectPreparedOperation({
85
89
  rootDir: this.rootDir,
@@ -396,12 +400,7 @@ export class JournalManager {
396
400
  this.clearSlots();
397
401
  this.generationValue += 1;
398
402
  try {
399
- this.journal = new DurableJournal({
400
- rootDir: this.journalRoot,
401
- partition: this.partition,
402
- now: this.now,
403
- deferCompaction: this.options.requestMaintenance !== undefined,
404
- });
403
+ this.journal = new DurableJournal(this.journalOptions);
405
404
  this.recovery = this.journal.state();
406
405
  if (this.recovery.status === "recovery_required") {
407
406
  this.enterRecovery(this.recovery);
@@ -1 +1 @@
1
- {"version":3,"file":"journal-manager.js","sourceRoot":"","sources":["../src/journal-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"journal-manager.js","sourceRoot":"","sources":["../src/journal-manager.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,11 @@ export declare function exportJournalRecovery(input: {
36
36
  recovery: JournalRecoveryState;
37
37
  now: () => Date;
38
38
  }): ControlJournalExportReceipt;
39
+ /** Stream one owned regular file into an exclusive private copy and return its
40
+ * sha256 hex — bounded buffers, never the whole file in memory (a journal
41
+ * partition can exceed the 2 GiB `readFileSync` wall). The source must stay
42
+ * byte-identical across the copy or the export fails. */
43
+ export declare function copyOwnedFile(source: string, target: string, mode: number): string;
39
44
  export declare function readOwnedFile(path: string): Buffer;
40
45
  export declare function writeAtomicPrivateJson(path: string, value: unknown, exclusive: boolean): void;
41
46
  export declare function sha256(bytes: Buffer): string;