@claudexor/daemon 5.0.2 → 5.1.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 (156) hide show
  1. package/dist/client.d.ts +56 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/deferred-message-owner.d.ts +4 -0
  4. package/dist/deferred-message-owner.d.ts.map +1 -1
  5. package/dist/deferred-messages.d.ts +22 -1
  6. package/dist/deferred-messages.d.ts.map +1 -1
  7. package/dist/deferred-messages.js +50 -15
  8. package/dist/deferred-messages.js.map +1 -1
  9. package/dist/index.d.ts +2 -0
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -0
  12. package/dist/index.js.map +1 -1
  13. package/dist/interactions.d.ts.map +1 -1
  14. package/dist/interactions.js +29 -7
  15. package/dist/interactions.js.map +1 -1
  16. package/dist/model-operation-execution.d.ts +10 -0
  17. package/dist/model-operation-execution.d.ts.map +1 -1
  18. package/dist/model-operation-execution.js +12 -5
  19. package/dist/model-operation-execution.js.map +1 -1
  20. package/dist/model-operations.d.ts +1 -0
  21. package/dist/model-operations.d.ts.map +1 -1
  22. package/dist/model-operations.js +20 -10
  23. package/dist/model-operations.js.map +1 -1
  24. package/dist/quota-registry-support.d.ts.map +1 -1
  25. package/dist/quota-registry-support.js +14 -9
  26. package/dist/quota-registry-support.js.map +1 -1
  27. package/dist/server.d.ts +2 -2
  28. package/dist/server.d.ts.map +1 -1
  29. package/dist/server.js.map +1 -1
  30. package/dist/store/blob-files.d.ts +2 -2
  31. package/dist/store/blob-files.d.ts.map +1 -1
  32. package/dist/store/blob-files.js +1 -0
  33. package/dist/store/blob-files.js.map +1 -1
  34. package/dist/store/command-prune.d.ts.map +1 -1
  35. package/dist/store/command-prune.js +4 -0
  36. package/dist/store/command-prune.js.map +1 -1
  37. package/dist/store/commands.d.ts +7 -2
  38. package/dist/store/commands.d.ts.map +1 -1
  39. package/dist/store/commands.js +38 -11
  40. package/dist/store/commands.js.map +1 -1
  41. package/dist/store/deferred-message-rows.d.ts +10 -0
  42. package/dist/store/deferred-message-rows.d.ts.map +1 -1
  43. package/dist/store/deferred-message-rows.js +28 -1
  44. package/dist/store/deferred-message-rows.js.map +1 -1
  45. package/dist/store/deferred-messages.d.ts +10 -3
  46. package/dist/store/deferred-messages.d.ts.map +1 -1
  47. package/dist/store/deferred-messages.js +45 -9
  48. package/dist/store/deferred-messages.js.map +1 -1
  49. package/dist/store/external-files.d.ts +17 -0
  50. package/dist/store/external-files.d.ts.map +1 -1
  51. package/dist/store/external-files.js +54 -0
  52. package/dist/store/external-files.js.map +1 -1
  53. package/dist/store/idempotency.d.ts +1 -1
  54. package/dist/store/idempotency.d.ts.map +1 -1
  55. package/dist/store/idempotency.js +2 -1
  56. package/dist/store/idempotency.js.map +1 -1
  57. package/dist/store/libuv-pool.d.ts +25 -0
  58. package/dist/store/libuv-pool.d.ts.map +1 -0
  59. package/dist/store/libuv-pool.js +96 -0
  60. package/dist/store/libuv-pool.js.map +1 -0
  61. package/dist/store/maintenance-worker.d.ts.map +1 -1
  62. package/dist/store/maintenance-worker.js +45 -0
  63. package/dist/store/maintenance-worker.js.map +1 -1
  64. package/dist/store/maintenance.d.ts +28 -2
  65. package/dist/store/maintenance.d.ts.map +1 -1
  66. package/dist/store/maintenance.js +36 -6
  67. package/dist/store/maintenance.js.map +1 -1
  68. package/dist/store/project-router.d.ts +107 -1
  69. package/dist/store/project-router.d.ts.map +1 -1
  70. package/dist/store/project-router.js +30 -0
  71. package/dist/store/project-router.js.map +1 -1
  72. package/dist/store/publish-blob.d.ts.map +1 -1
  73. package/dist/store/publish-blob.js +36 -14
  74. package/dist/store/publish-blob.js.map +1 -1
  75. package/dist/store/purge-files.d.ts +11 -2
  76. package/dist/store/purge-files.d.ts.map +1 -1
  77. package/dist/store/purge-files.js +34 -7
  78. package/dist/store/purge-files.js.map +1 -1
  79. package/dist/store/resource-release.d.ts +15 -0
  80. package/dist/store/resource-release.d.ts.map +1 -0
  81. package/dist/store/resource-release.js +56 -0
  82. package/dist/store/resource-release.js.map +1 -0
  83. package/dist/store/resource-rows.d.ts +2 -0
  84. package/dist/store/resource-rows.d.ts.map +1 -1
  85. package/dist/store/resource-rows.js.map +1 -1
  86. package/dist/store/resource-uses.d.ts +84 -0
  87. package/dist/store/resource-uses.d.ts.map +1 -0
  88. package/dist/store/resource-uses.js +129 -0
  89. package/dist/store/resource-uses.js.map +1 -0
  90. package/dist/store/resources.d.ts +16 -2
  91. package/dist/store/resources.d.ts.map +1 -1
  92. package/dist/store/resources.js +42 -3
  93. package/dist/store/resources.js.map +1 -1
  94. package/dist/store/retention-changes.d.ts +8 -2
  95. package/dist/store/retention-changes.d.ts.map +1 -1
  96. package/dist/store/retention-changes.js +24 -11
  97. package/dist/store/retention-changes.js.map +1 -1
  98. package/dist/store/retention-generations.d.ts +7 -2
  99. package/dist/store/retention-generations.d.ts.map +1 -1
  100. package/dist/store/retention-generations.js +71 -26
  101. package/dist/store/retention-generations.js.map +1 -1
  102. package/dist/store/retention-reference-reader.d.ts +26 -1
  103. package/dist/store/retention-reference-reader.d.ts.map +1 -1
  104. package/dist/store/retention-reference-reader.js +31 -7
  105. package/dist/store/retention-reference-reader.js.map +1 -1
  106. package/dist/store/retention-references.d.ts +5 -0
  107. package/dist/store/retention-references.d.ts.map +1 -1
  108. package/dist/store/retention-references.js +35 -6
  109. package/dist/store/retention-references.js.map +1 -1
  110. package/dist/store/schema.d.ts +2 -2
  111. package/dist/store/schema.d.ts.map +1 -1
  112. package/dist/store/schema.js +17 -2
  113. package/dist/store/schema.js.map +1 -1
  114. package/dist/store/sql-command-router.d.ts +10 -1
  115. package/dist/store/sql-command-router.d.ts.map +1 -1
  116. package/dist/store/sql-command-router.js +10 -1
  117. package/dist/store/sql-command-router.js.map +1 -1
  118. package/dist/store/sql-daemon-services.d.ts.map +1 -1
  119. package/dist/store/sql-daemon-services.js +9 -8
  120. package/dist/store/sql-daemon-services.js.map +1 -1
  121. package/dist/store/sql-validation.d.ts.map +1 -1
  122. package/dist/store/sql-validation.js +1 -0
  123. package/dist/store/sql-validation.js.map +1 -1
  124. package/dist/store/terminal-files.d.ts +6 -3
  125. package/dist/store/terminal-files.d.ts.map +1 -1
  126. package/dist/store/terminal-files.js +6 -38
  127. package/dist/store/terminal-files.js.map +1 -1
  128. package/dist/store/thread-closure.d.ts +62 -0
  129. package/dist/store/thread-closure.d.ts.map +1 -0
  130. package/dist/store/thread-closure.js +290 -0
  131. package/dist/store/thread-closure.js.map +1 -0
  132. package/dist/store/thread-retirement.d.ts +29 -0
  133. package/dist/store/thread-retirement.d.ts.map +1 -0
  134. package/dist/store/thread-retirement.js +123 -0
  135. package/dist/store/thread-retirement.js.map +1 -0
  136. package/dist/store/threads.d.ts.map +1 -1
  137. package/dist/store/threads.js +6 -1
  138. package/dist/store/threads.js.map +1 -1
  139. package/dist/store/upload-imports.d.ts.map +1 -1
  140. package/dist/store/upload-imports.js +16 -3
  141. package/dist/store/upload-imports.js.map +1 -1
  142. package/dist/store/uploads.d.ts +13 -2
  143. package/dist/store/uploads.d.ts.map +1 -1
  144. package/dist/store/uploads.js +76 -30
  145. package/dist/store/uploads.js.map +1 -1
  146. package/dist/store-contracts.d.ts +25 -2
  147. package/dist/store-contracts.d.ts.map +1 -1
  148. package/dist/terminal-authority.d.ts +1 -1
  149. package/dist/thread-lifecycle.d.ts +3 -1
  150. package/dist/thread-lifecycle.d.ts.map +1 -1
  151. package/dist/thread-lifecycle.js +2 -2
  152. package/dist/thread-lifecycle.js.map +1 -1
  153. package/dist/writer-lease.d.ts.map +1 -1
  154. package/dist/writer-lease.js +6 -3
  155. package/dist/writer-lease.js.map +1 -1
  156. package/package.json +5 -5
@@ -0,0 +1,290 @@
1
+ import { createHash } from "node:crypto";
2
+ import { commandRow, hydrateCommand } from "./command-rows.js";
3
+ import { isServedPid } from "./generations.js";
4
+ import { decodeBody, hydrateTurn } from "./thread-rows.js";
5
+ import { deferredMessageDetail } from "./deferred-message-rows.js";
6
+ const COLUMNS = `id,pid,operation,client_id,state,run_id,task_id,run_dir,thread_id,turn_id,delegated_from,
7
+ continue_from,scope_root,created_at,started_at,finished_at,summary,params_sha,result_sha,error,kind,live,
8
+ needs_decision,response_state,response_expires_at,request_resource_id,response_resource_id,task_group_id`;
9
+ const bytesHex = (value) => value ? createHash("sha256").update(value).digest("hex") : null;
10
+ /** A document's path segment: never a separator, never a dot-only name. */
11
+ const segment = (value) => encodeURIComponent(value).replace(/^\.+/, (dots) => "%2E".repeat(dots.length));
12
+ function refsOf(thread, turns) {
13
+ const refs = new Set([
14
+ ...thread.run_ids,
15
+ ...(thread.head_run_id ? [thread.head_run_id] : []),
16
+ ]);
17
+ for (const turn of turns) {
18
+ const body = decodeBody(turn);
19
+ if (turn.run_id)
20
+ refs.add(turn.run_id);
21
+ for (const key of ["parent_run_id", "answers_plan_run_id", "plan_run_id"]) {
22
+ const value = body[key];
23
+ if (typeof value === "string" && value)
24
+ refs.add(value);
25
+ }
26
+ }
27
+ return [...refs];
28
+ }
29
+ /** The thread row alone and its store: one addressed read, for answers that
30
+ * need no closure. Like the closure, it answers for a purged thread too. */
31
+ export function readClosureThread(store, threadId) {
32
+ const row = store.prepare("SELECT body FROM thread WHERE id=?").get(threadId);
33
+ return row ? { storeId: store.storeId ?? "", thread: decodeBody(row) } : null;
34
+ }
35
+ /** Throws nothing for a retained thread; a missing thread returns null. */
36
+ export function readThreadClosure(store, threadId) {
37
+ const threadRow = store
38
+ .prepare("SELECT pid,state,head_revision,body FROM thread WHERE id=?")
39
+ .get(threadId);
40
+ if (!threadRow)
41
+ return null;
42
+ const thread = decodeBody(threadRow);
43
+ const turnRows = store
44
+ .prepare("SELECT id,ordinal,run_id,prompt_sha,body FROM turn WHERE thread_id=? ORDER BY ordinal")
45
+ .all(threadId);
46
+ const commands = new Map();
47
+ const pending = [];
48
+ const add = (rows) => {
49
+ for (const row of rows)
50
+ if (!commands.has(row.id)) {
51
+ commands.set(row.id, row);
52
+ pending.push(row);
53
+ }
54
+ };
55
+ const byThread = store.prepare(`SELECT ${COLUMNS} FROM command WHERE thread_id=?`);
56
+ const byAddress = store.prepare(`SELECT ${COLUMNS} FROM command WHERE id=?1 OR run_id=?1`);
57
+ const byEdge = store.prepare(`SELECT ${COLUMNS} FROM command WHERE continue_from=?1 OR delegated_from=?1`);
58
+ add(byThread.all(threadId));
59
+ const holds = [];
60
+ for (const ref of refsOf(thread, turnRows)) {
61
+ const rows = byAddress.all(ref);
62
+ if (rows.length === 0)
63
+ holds.push({
64
+ code: "command_record_not_retained",
65
+ subject: ref,
66
+ message: `run ${ref} is named by the thread but its command record is not retained`,
67
+ });
68
+ add(rows);
69
+ }
70
+ for (let next = pending.shift(); next; next = pending.shift()) {
71
+ for (const address of new Set([next.id, next.run_id].filter((v) => !!v)))
72
+ add(byEdge.all(address));
73
+ for (const edge of [next.continue_from, next.delegated_from])
74
+ if (edge) {
75
+ const rows = byAddress.all(edge);
76
+ if (rows.length === 0)
77
+ holds.push({
78
+ code: "command_record_not_retained",
79
+ subject: edge,
80
+ message: `command ${next.id} links to ${edge}, whose record is not retained`,
81
+ });
82
+ add(rows);
83
+ }
84
+ }
85
+ const ordered = [...commands.values()].sort((a, b) => (a.id < b.id ? -1 : 1));
86
+ const hash = createHash("sha256");
87
+ const note = (...values) => void hash.update(`${JSON.stringify(values)}\n`);
88
+ const documents = [{ key: "thread", path: "sql/thread.json" }];
89
+ note("store", store.storeId ?? null);
90
+ note("thread", threadId, threadRow.pid, threadRow.head_revision, bytesHex(threadRow.body));
91
+ for (const turn of turnRows) {
92
+ note("turn", turn.id, turn.ordinal, turn.run_id, turn.prompt_sha, bytesHex(turn.body));
93
+ documents.push({
94
+ key: `turn:${turn.id}`,
95
+ path: `sql/turns/${String(turn.ordinal).padStart(6, "0")}-${segment(turn.id)}.json`,
96
+ });
97
+ const body = decodeBody(turn);
98
+ if (!turn.run_id && !body["enqueue_error"])
99
+ holds.push({
100
+ code: "closure_not_quiescent",
101
+ subject: turn.id,
102
+ message: `turn ${turn.id} has no run and no recorded refusal; its start is still pending`,
103
+ });
104
+ }
105
+ const lanes = store
106
+ .prepare("SELECT id,body FROM session WHERE thread_id=? ORDER BY id")
107
+ .all(threadId);
108
+ for (const row of lanes) {
109
+ note("session", row.id, bytesHex(row.body));
110
+ documents.push({ key: `session:${row.id}`, path: `sql/sessions/${segment(row.id)}.json` });
111
+ }
112
+ const checkpoints = store
113
+ .prepare("SELECT harness_id,profile_id,turn_id,body FROM lane_checkpoint WHERE thread_id=? ORDER BY harness_id,profile_id")
114
+ .all(threadId);
115
+ for (const row of checkpoints) {
116
+ note("checkpoint", row.harness_id, row.profile_id, row.turn_id, bytesHex(row.body));
117
+ documents.push({
118
+ key: `checkpoint:${row.harness_id}\0${row.profile_id}`,
119
+ path: `sql/checkpoints/${segment(row.harness_id)}-${segment(row.profile_id || "default")}.json`,
120
+ });
121
+ }
122
+ const decisions = store.prepare("SELECT body FROM operator_decision WHERE run_id=?");
123
+ const terminals = store.prepare("SELECT event FROM run_terminal WHERE run_id=?");
124
+ // Node truncates TEXT at NUL; the key is runId\0interactionId.
125
+ const interactions = store.prepare("SELECT CAST(id AS BLOB) AS id,state,request,resolution FROM interaction WHERE run_id=?");
126
+ const drafts = store.prepare("SELECT * FROM deferred_message WHERE predecessor_job_id=?1 OR successor_job_id=?1");
127
+ const pendingFiles = store.prepare("SELECT 1 FROM effect_obligation WHERE kind='terminal_files' AND key=? AND state='pending'");
128
+ const seenDrafts = new Set();
129
+ for (const row of ordered) {
130
+ note("command", row.id, row.pid, row.operation, row.state, row.kind, row.live, row.run_id, row.run_dir, row.thread_id, row.turn_id, row.continue_from, row.delegated_from, row.finished_at, row.needs_decision, row.params_sha, row.result_sha, bytesHex(row.summary), bytesHex(row.error));
131
+ documents.push({ key: `command:${row.id}`, path: `sql/commands/${segment(row.id)}.json` });
132
+ const label = row.run_id ?? row.id;
133
+ if (row.state === "queued" || row.state === "running")
134
+ holds.push({
135
+ code: "closure_not_quiescent",
136
+ subject: label,
137
+ message: `${row.kind} command ${label} is still ${row.state}`,
138
+ });
139
+ if (row.needs_decision)
140
+ holds.push({
141
+ code: "closure_awaiting_decision",
142
+ subject: label,
143
+ message: `run ${label} is waiting for an operator decision`,
144
+ });
145
+ if (!isServedPid(store, row.pid))
146
+ holds.push({
147
+ code: "closure_partition_unavailable",
148
+ subject: label,
149
+ message: `run ${label} lives in a partition this engine does not serve`,
150
+ });
151
+ for (const draft of drafts.all(row.id)) {
152
+ if (seenDrafts.has(draft.id))
153
+ continue;
154
+ seenDrafts.add(draft.id);
155
+ note("deferred", draft.id, draft.state, draft.revision, draft.body_sha, draft.successor_job_id, draft.dispatched_revision, bytesHex(draft.hold));
156
+ documents.push({
157
+ key: `deferred:${draft.id}`,
158
+ path: `sql/deferred/${segment(draft.id)}.json`,
159
+ });
160
+ if (draft.state === "waiting" || draft.state === "held")
161
+ holds.push({
162
+ code: "closure_not_quiescent",
163
+ subject: draft.id,
164
+ message: `deferred message ${draft.id} is ${draft.state}`,
165
+ });
166
+ }
167
+ if (!row.run_id)
168
+ continue;
169
+ if (pendingFiles.get(row.run_id))
170
+ holds.push({
171
+ code: "closure_not_quiescent",
172
+ subject: row.run_id,
173
+ message: `run ${row.run_id} is terminal but its final files are not yet written`,
174
+ });
175
+ const decision = decisions.get(row.run_id);
176
+ if (decision) {
177
+ note("decision", row.run_id, bytesHex(decision.body));
178
+ documents.push({
179
+ key: `decision:${row.run_id}`,
180
+ path: `sql/decisions/${segment(row.run_id)}.json`,
181
+ });
182
+ }
183
+ const terminal = terminals.get(row.run_id);
184
+ if (terminal) {
185
+ note("terminal", row.run_id, bytesHex(terminal.event));
186
+ documents.push({
187
+ key: `terminal:${row.run_id}`,
188
+ path: `sql/terminals/${segment(row.run_id)}.json`,
189
+ });
190
+ }
191
+ const asked = interactions.all(row.run_id);
192
+ for (const interaction of asked) {
193
+ const id = Buffer.from(interaction.id).toString("utf8");
194
+ note("interaction", id, interaction.state, bytesHex(interaction.request), bytesHex(interaction.resolution));
195
+ documents.push({
196
+ key: `interaction:${id}`,
197
+ path: `sql/interactions/${segment(id)}.json`,
198
+ });
199
+ if (interaction.state === "pending")
200
+ holds.push({
201
+ code: "closure_not_quiescent",
202
+ subject: row.run_id,
203
+ message: `run ${row.run_id} has a pending interaction`,
204
+ });
205
+ }
206
+ }
207
+ return {
208
+ storeId: store.storeId ?? "",
209
+ thread,
210
+ headRevision: threadRow.head_revision,
211
+ digest: `sha256:${hash.digest("hex")}`,
212
+ turns: turnRows.map((row) => ({
213
+ turnId: row.id,
214
+ ordinal: row.ordinal,
215
+ runId: row.run_id,
216
+ promptSha256: row.prompt_sha,
217
+ })),
218
+ commands: ordered.map((row) => ({
219
+ jobId: row.id,
220
+ runId: row.run_id,
221
+ state: row.state,
222
+ kind: row.kind,
223
+ threadId: row.thread_id,
224
+ turnId: row.turn_id,
225
+ continueFrom: row.continue_from,
226
+ delegatedFrom: row.delegated_from,
227
+ runDir: row.run_dir,
228
+ })),
229
+ documents,
230
+ holds,
231
+ };
232
+ }
233
+ function rowDocument(store, blobs, threadId, key) {
234
+ const body = (sql, ...args) => {
235
+ const row = store.prepare(sql).get(...args);
236
+ return row ? decodeBody(row) : undefined;
237
+ };
238
+ const colon = key.indexOf(":");
239
+ const kind = colon < 0 ? key : key.slice(0, colon);
240
+ const id = colon < 0 ? "" : key.slice(colon + 1);
241
+ switch (kind) {
242
+ case "thread":
243
+ return body("SELECT body FROM thread WHERE id=?", threadId);
244
+ case "turn": {
245
+ const row = store.prepare("SELECT body,prompt_sha FROM turn WHERE id=?").get(id);
246
+ return row ? hydrateTurn(row, blobs) : undefined;
247
+ }
248
+ case "session":
249
+ return body("SELECT body FROM session WHERE id=?", id);
250
+ case "checkpoint": {
251
+ const [harness, profile] = id.split("\0");
252
+ return body("SELECT body FROM lane_checkpoint WHERE thread_id=? AND harness_id=? AND profile_id=?", threadId, harness, profile);
253
+ }
254
+ case "command": {
255
+ const row = commandRow(store, id);
256
+ return row ? hydrateCommand(row, blobs) : undefined;
257
+ }
258
+ case "decision":
259
+ return body("SELECT body FROM operator_decision WHERE run_id=?", id);
260
+ case "terminal": {
261
+ const row = store.prepare("SELECT event FROM run_terminal WHERE run_id=?").get(id);
262
+ return row ? JSON.parse(Buffer.from(row.event).toString("utf8")) : undefined;
263
+ }
264
+ case "interaction": {
265
+ const row = store
266
+ .prepare("SELECT state,request,resolution FROM interaction WHERE id=?")
267
+ .get(id);
268
+ if (!row)
269
+ return undefined;
270
+ const parse = (value) => JSON.parse(Buffer.from(value).toString("utf8"));
271
+ return {
272
+ state: row.state,
273
+ request: parse(row.request),
274
+ resolution: row.resolution ? parse(row.resolution) : null,
275
+ };
276
+ }
277
+ case "deferred": {
278
+ const row = store.prepare("SELECT * FROM deferred_message WHERE id=?").get(id);
279
+ return row ? deferredMessageDetail(store, blobs, row) : undefined;
280
+ }
281
+ default:
282
+ return undefined;
283
+ }
284
+ }
285
+ /** The exact bytes of one closure document; a vanished row is null, never empty. */
286
+ export function readThreadClosureDocument(store, blobs, threadId, key) {
287
+ const value = rowDocument(store, blobs, threadId, key);
288
+ return value === undefined ? null : Buffer.from(`${JSON.stringify(value, null, 2)}\n`);
289
+ }
290
+ //# sourceMappingURL=thread-closure.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-closure.js","sourceRoot":"","sources":["../../src/store/thread-closure.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { ThreadRetirementOperation, type Thread, type ThreadExportDigestEntry, type ThreadRetireRequest } from "@claudexor/schema";
2
+ import { type MutationContext, type SqlWriteContext } from "./mutation.js";
3
+ import type { Obligations } from "./obligations.js";
4
+ import type { SqlThreadStore } from "./threads.js";
5
+ /** A definite answer: bound to its operation, so it can never later accept. */
6
+ export interface RetirementRefusal {
7
+ code: string;
8
+ message: string;
9
+ error(): Error;
10
+ }
11
+ export declare function retirementRefusal(code: string, message: string): RetirementRefusal;
12
+ export declare function retirementOutcome(sql: Pick<SqlWriteContext, "prepare">, pid: number, threadId: string, operationId: string): ThreadRetirementOperation | null;
13
+ /** First writer wins, in the transaction of its decision; a replay keeps it. */
14
+ export declare function bindRetirementOutcome(tx: MutationContext, pid: number, threadId: string, operationId: string, refusal: RetirementRefusal | null, outcome?: "accepted" | "abandoned"): ThreadRetirementOperation;
15
+ /** An open purge obligation is open cleanup; its reason names the last failure. */
16
+ export declare function readThreadCleanup(obligations: Pick<Obligations, "get">, threadId: string): {
17
+ reason: string | null;
18
+ } | null;
19
+ /**
20
+ * The one conditional acceptance: active, closed or trashed goes straight to
21
+ * purged, atomically with its cleanup obligation and the operation's bound
22
+ * outcome, only while the exact closure is finished and still the one the caller
23
+ * exported. The check runs inside the same transaction as the decision, so any
24
+ * admission that committed first is seen and any later one finds a purged thread.
25
+ * Nothing here deletes bytes: the purge owner does, under the obligation this
26
+ * writes, and deletes only lane entries whose bytes these accepted entries hold.
27
+ */
28
+ export declare function acceptRetirement(threads: Pick<SqlThreadStore, "store" | "generation" | "getThread" | "prepare" | "applyInTx">, obligations: Pick<Obligations, "create">, id: string, request: ThreadRetireRequest, acceptedLane: readonly ThreadExportDigestEntry[]): Thread;
29
+ //# sourceMappingURL=thread-retirement.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-retirement.d.ts","sourceRoot":"","sources":["../../src/store/thread-retirement.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,EACzB,KAAK,MAAM,EACX,KAAK,uBAAuB,EAC5B,KAAK,mBAAmB,EACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAGL,KAAK,eAAe,EACpB,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAEnD,+EAA+E;AAC/E,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,IAAI,KAAK,CAAC;CAChB;AAWD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,iBAAiB,CAalF;AAED,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,SAAS,CAAC,EACrC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,yBAAyB,GAAG,IAAI,CAGlC;AAED,gFAAgF;AAChF,wBAAgB,qBAAqB,CACnC,EAAE,EAAE,eAAe,EACnB,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,iBAAiB,GAAG,IAAI,EACjC,OAAO,GAAE,UAAU,GAAG,WAAyB,GAC9C,yBAAyB,CAmB3B;AAED,mFAAmF;AACnF,wBAAgB,iBAAiB,CAC/B,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,KAAK,CAAC,EACrC,QAAQ,EAAE,MAAM,GACf;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAIlC;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,OAAO,GAAG,YAAY,GAAG,WAAW,GAAG,SAAS,GAAG,WAAW,CAAC,EAC7F,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,EACxC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,mBAAmB,EAC5B,YAAY,EAAE,SAAS,uBAAuB,EAAE,GAC/C,MAAM,CAwDR"}
@@ -0,0 +1,123 @@
1
+ import { hashJson, safeProblemMessage } from "@claudexor/util";
2
+ import { Thread as ThreadSchema, ThreadRetirementOperation, } from "@claudexor/schema";
3
+ import { reduceThreadLifecycle } from "../thread-lifecycle.js";
4
+ import { bindIdempotencyInTx, lookupIdempotency } from "./idempotency.js";
5
+ import { requireTransaction, runMutation, } from "./mutation.js";
6
+ import { readThreadClosure } from "./thread-closure.js";
7
+ const OPERATION = "thread.retire";
8
+ /** The key names the operation alone: abandon and retire share its one outcome. */
9
+ const keyOf = (pid, threadId, operationId) => ({
10
+ owner: "thread_retire",
11
+ pid,
12
+ keyDigest: hashJson({ threadId, operationId }),
13
+ });
14
+ const REQUEST_DIGEST = hashJson({ operation: OPERATION });
15
+ export function retirementRefusal(code, message) {
16
+ const safe = safeProblemMessage(message);
17
+ return {
18
+ code,
19
+ message: safe,
20
+ error: () => Object.assign(new Error(safe), {
21
+ code,
22
+ status: code === "thread_purged" ? 410 : 409,
23
+ retryable: false,
24
+ context: { settled: true },
25
+ }),
26
+ };
27
+ }
28
+ export function retirementOutcome(sql, pid, threadId, operationId) {
29
+ const binding = lookupIdempotency(sql, keyOf(pid, threadId, operationId), REQUEST_DIGEST);
30
+ return binding ? ThreadRetirementOperation.parse(binding.result) : null;
31
+ }
32
+ /** First writer wins, in the transaction of its decision; a replay keeps it. */
33
+ export function bindRetirementOutcome(tx, pid, threadId, operationId, refusal, outcome = "abandoned") {
34
+ requireTransaction(tx);
35
+ const settledAt = tx.now().toISOString();
36
+ const result = ThreadRetirementOperation.parse({
37
+ operationId,
38
+ outcome: refusal ? "refused" : outcome,
39
+ code: refusal?.code ?? null,
40
+ message: refusal?.message ?? null,
41
+ settledAt,
42
+ });
43
+ const bound = bindIdempotencyInTx(tx, {
44
+ ...keyOf(pid, threadId, operationId),
45
+ operation: OPERATION,
46
+ requestDigest: REQUEST_DIGEST,
47
+ targetId: threadId,
48
+ createdAt: settledAt,
49
+ result,
50
+ });
51
+ return ThreadRetirementOperation.parse(bound.result);
52
+ }
53
+ /** An open purge obligation is open cleanup; its reason names the last failure. */
54
+ export function readThreadCleanup(obligations, threadId) {
55
+ const row = obligations.get("purge_fs", threadId);
56
+ if (!row)
57
+ return null;
58
+ return { reason: row.payload.lastError ?? null };
59
+ }
60
+ /**
61
+ * The one conditional acceptance: active, closed or trashed goes straight to
62
+ * purged, atomically with its cleanup obligation and the operation's bound
63
+ * outcome, only while the exact closure is finished and still the one the caller
64
+ * exported. The check runs inside the same transaction as the decision, so any
65
+ * admission that committed first is seen and any later one finds a purged thread.
66
+ * Nothing here deletes bytes: the purge owner does, under the obligation this
67
+ * writes, and deletes only lane entries whose bytes these accepted entries hold.
68
+ */
69
+ export function acceptRetirement(threads, obligations, id, request, acceptedLane) {
70
+ const { store, generation } = threads;
71
+ const thread = threads.getThread(id);
72
+ if (!thread)
73
+ throw Object.assign(new Error(`no such thread: ${id}`), { status: 404 });
74
+ if (thread.state === "purged")
75
+ throw new Error(`thread ${id} is already purged`);
76
+ const next = ThreadSchema.parse({
77
+ ...reduceThreadLifecycle(thread, "retire"),
78
+ retirement: {
79
+ operationId: request.operationId,
80
+ exportId: request.exportId,
81
+ closureDigest: request.closureDigest,
82
+ contentDigest: request.contentDigest,
83
+ laneDigest: request.laneDigest,
84
+ acceptedAt: store.now().toISOString(),
85
+ },
86
+ });
87
+ const prepared = threads.prepare({ threads: [next] });
88
+ const refusal = runMutation(store, (tx) => {
89
+ // First writer wins here too: an operation already refused or abandoned keeps
90
+ // that outcome, and this request is answered by it without evaluating anything.
91
+ const bound = retirementOutcome(tx, generation.pid, id, request.operationId);
92
+ if (bound)
93
+ return retirementRefusal(bound.outcome === "abandoned"
94
+ ? "thread_retirement_abandoned"
95
+ : (bound.code ?? "thread_retirement_conflict"), bound.message ?? `operation ${request.operationId} was already ${bound.outcome}`);
96
+ const closure = readThreadClosure(store, id);
97
+ const blocked = closure?.holds[0];
98
+ const refused = blocked
99
+ ? retirementRefusal(blocked.code === "closure_not_quiescent" || blocked.code === "closure_awaiting_decision"
100
+ ? "thread_busy"
101
+ : "thread_export_incomplete", blocked.message)
102
+ : closure?.digest !== request.closureDigest
103
+ ? retirementRefusal("thread_export_stale", "the closure changed since this export")
104
+ : null;
105
+ if (refused) {
106
+ bindRetirementOutcome(tx, generation.pid, id, request.operationId, refused);
107
+ return refused;
108
+ }
109
+ // The shared reducer also ends the retired history's managed attachment holds.
110
+ threads.applyInTx(tx, prepared);
111
+ bindRetirementOutcome(tx, generation.pid, id, request.operationId, null, "accepted");
112
+ obligations.create("purge_fs", id, generation.pid, {
113
+ thread,
114
+ retirement: next.retirement,
115
+ acceptedLane,
116
+ });
117
+ return null;
118
+ });
119
+ if (refusal)
120
+ throw refusal.error();
121
+ return next;
122
+ }
123
+ //# sourceMappingURL=thread-retirement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"thread-retirement.js","sourceRoot":"","sources":["../../src/store/thread-retirement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,EACL,MAAM,IAAI,YAAY,EACtB,yBAAyB,GAI1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC1E,OAAO,EACL,kBAAkB,EAClB,WAAW,GAGZ,MAAM,eAAe,CAAC;AAGvB,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAUxD,MAAM,SAAS,GAAG,eAAe,CAAC;AAClC,mFAAmF;AACnF,MAAM,KAAK,GAAG,CAAC,GAAW,EAAE,QAAgB,EAAE,WAAmB,EAAE,EAAE,CAAC,CAAC;IACrE,KAAK,EAAE,eAAwB;IAC/B,GAAG;IACH,SAAS,EAAE,QAAQ,CAAC,EAAE,QAAQ,EAAE,WAAW,EAAE,CAAC;CAC/C,CAAC,CAAC;AACH,MAAM,cAAc,GAAG,QAAQ,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC;AAE1D,MAAM,UAAU,iBAAiB,CAAC,IAAY,EAAE,OAAe;IAC7D,MAAM,IAAI,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACzC,OAAO;QACL,IAAI;QACJ,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,GAAG,EAAE,CACV,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;YAC7B,IAAI;YACJ,MAAM,EAAE,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;YAC5C,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE;SAC3B,CAAC;KACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,iBAAiB,CAC/B,GAAqC,EACrC,GAAW,EACX,QAAgB,EAChB,WAAmB;IAEnB,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC,EAAE,cAAc,CAAC,CAAC;IAC1F,OAAO,OAAO,CAAC,CAAC,CAAC,yBAAyB,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;AAC1E,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,qBAAqB,CACnC,EAAmB,EACnB,GAAW,EACX,QAAgB,EAChB,WAAmB,EACnB,OAAiC,EACjC,OAAO,GAA6B,WAAW;IAE/C,kBAAkB,CAAC,EAAE,CAAC,CAAC;IACvB,MAAM,SAAS,GAAG,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC;QAC7C,WAAW;QACX,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO;QACtC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,IAAI;QAC3B,OAAO,EAAE,OAAO,EAAE,OAAO,IAAI,IAAI;QACjC,SAAS;KACV,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,mBAAmB,CAAC,EAAE,EAAE;QACpC,GAAG,KAAK,CAAC,GAAG,EAAE,QAAQ,EAAE,WAAW,CAAC;QACpC,SAAS,EAAE,SAAS;QACpB,aAAa,EAAE,cAAc;QAC7B,QAAQ,EAAE,QAAQ;QAClB,SAAS,EAAE,SAAS;QACpB,MAAM;KACP,CAAC,CAAC;IACH,OAAO,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACvD,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,iBAAiB,CAC/B,WAAqC,EACrC,QAAgB;IAEhB,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;IAClD,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,OAAO,EAAE,MAAM,EAAG,GAAG,CAAC,OAA6B,CAAC,SAAS,IAAI,IAAI,EAAE,CAAC;AAC1E,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,OAA6F,EAC7F,WAAwC,EACxC,EAAU,EACV,OAA4B,EAC5B,YAAgD;IAEhD,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC;IACtC,MAAM,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACrC,IAAI,CAAC,MAAM;QAAE,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,CAAC,CAAC;IACtF,IAAI,MAAM,CAAC,KAAK,KAAK,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IACjF,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC;QAC9B,GAAG,qBAAqB,CAAC,MAAM,EAAE,QAAQ,CAAC;QAC1C,UAAU,EAAE;YACV,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,aAAa,EAAE,OAAO,CAAC,aAAa;YACpC,UAAU,EAAE,OAAO,CAAC,UAAU;YAC9B,UAAU,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;SACtC;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE,EAAE;QACxC,8EAA8E;QAC9E,gFAAgF;QAChF,MAAM,KAAK,GAAG,iBAAiB,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;QAC7E,IAAI,KAAK;YACP,OAAO,iBAAiB,CACtB,KAAK,CAAC,OAAO,KAAK,WAAW;gBAC3B,CAAC,CAAC,6BAA6B;gBAC/B,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,IAAI,4BAA4B,CAAC,EAChD,KAAK,CAAC,OAAO,IAAI,aAAa,OAAO,CAAC,WAAW,gBAAgB,KAAK,CAAC,OAAO,EAAE,CACjF,CAAC;QACJ,MAAM,OAAO,GAAG,iBAAiB,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7C,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,OAAO,GAAG,OAAO;YACrB,CAAC,CAAC,iBAAiB,CACf,OAAO,CAAC,IAAI,KAAK,uBAAuB,IAAI,OAAO,CAAC,IAAI,KAAK,2BAA2B;gBACtF,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,0BAA0B,EAC9B,OAAO,CAAC,OAAO,CAChB;YACH,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa;gBACzC,CAAC,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,uCAAuC,CAAC;gBACnF,CAAC,CAAC,IAAI,CAAC;QACX,IAAI,OAAO,EAAE,CAAC;YACZ,qBAAqB,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;YAC5E,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,+EAA+E;QAC/E,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChC,qBAAqB,CAAC,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE,EAAE,EAAE,OAAO,CAAC,WAAW,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC;QACrF,WAAW,CAAC,MAAM,CAAC,UAAU,EAAE,EAAE,EAAE,UAAU,CAAC,GAAG,EAAE;YACjD,MAAM;YACN,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY;SACe,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC,CAAC,CAAC;IACH,IAAI,OAAO;QAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;IACnC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../src/store/threads.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,oBAAoB,EACpB,cAAc,EACd,OAAO,EACP,MAAM,EACN,UAAU,EACV,kBAAkB,EACnB,MAAM,mBAAmB,CAAC;AAuB3B,OAAO,EAIL,KAAK,cAAc,EAGpB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAC3F,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAI5C,OAAO,EAAe,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,EAOL,KAAK,sBAAsB,EAC5B,MAAM,kBAAkB,CAAC;AAE1B,iFAAiF;AACjF,qBAAa,cAAc;IAEvB,QAAQ,CAAC,KAAK,EAAE,WAAW;IAC3B,QAAQ,CAAC,KAAK,EAAE,SAAS;IACzB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACxE,QAAQ,CAAC,WAAW,EAAE,WAAW;IAJnC,YACW,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,EAC/D,WAAW,EAAE,WAAW,EAC/B;IAEJ,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAOtB,OAAO,CAAC,QAAQ,EAAE,cAAc,GAAG,sBAAsB,CAGxD;IAED,oFAAoF;IACpF,SAAS,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,sBAAsB,GAAG,IAAI,CAarE;IAED,OAAO,CAAC,MAAM;IASd,YAAY,CAAC,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAoBxD;IAED,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAG/B;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQjC;IACD,YAAY,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAQ7C;IAED,gFAAgF;IAChF,kBAAkB,CAChB,KAAK,EAAE,iBAAiB,CAAC,aAAa,CAAC,EACvC,gBAAgB,UAAQ,GACvB,MAAM,GAAG,SAAS,CAGpB;IAED,mDAAmD;IACnD,YAAY,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAYzD;IAED,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAE9B;IAED,aAAa,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAEhC;IAED,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAY9B;IAED,OAAO,CAAC,eAAe;IAQvB,2EAA2E;IAC3E,iBAAiB,CACf,EAAE,EAAE,MAAM,EACV,YAAY,EAAE,MAAM,EACpB,OAAO,EAAE,MAAM,EACf,qBAAqB,CAAC,EAAE,MAAM,GAC7B,IAAI,CAYN;IAED,WAAW,CAAC,IAAI,CAAC,EAAE,QAAQ,GAAG,MAAM,EAAE,CAQrC;IACD,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAIxC;IACD,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE,CAMvC;IACD,OAAO,CAAC,EAAE,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,CAI1C;IAED;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CA2B/F;IAED,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,EAAE,CAM7C;IAED,2FAA2F;IAC3F,SAAS,CACP,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAM,GAAG,IAAW,GAC9B,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAEjE;IAED,0FAA0F;IACpF,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAEnD;IAED,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,eAAoB,GAAG,UAAU,CAoDpF;IAED,qBAAqB,CACnB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,WAAW,CAAC,eAAe,CAAC,aAAa,CAAC,CAAC,GACjD,UAAU,GAAG,SAAS,CAYxB;IAED,iFAAiF;IACjF,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAmB/C;IAED;;;;;;;OAOG;IACH,mBAAmB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,GAAG,IAAI,CAgBrE;IAED,oFAAoF;IACpF,aAAa,CACX,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EACvB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,EAC7B,SAAS,GAAE,MAAM,GAAG,IAAW,GAC9B,IAAI,CAoBN;IAED;;sEAEkE;IAClE,oBAAoB,CAClB,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,MAAM,EAAE,MAAM,GACb,IAAI,CAEN;IAED,sEAAsE;IACtE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAO3F;IAED,iFAAiF;IACjF,wBAAwB,CAAC,QAAQ,EAAE,MAAM,GAAG,cAAc,EAAE,CAQ3D;IAED,yEAAyE;IACzE,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,oBAAoB,GAAG,IAAI,CAIxE;IAED,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAWpC;IAED;kEAC8D;IAC9D,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMxD;IAED,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC,CAE/F;IAED,4BAA4B,CAC1B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAS3C;IAED,yBAAyB,CACvB,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,GACZ;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAS3C;IAED,OAAO,CAAC,uBAAuB;IAW/B,2BAA2B,CACzB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,GAChB;QAAE,cAAc,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAYzD;CACF"}
1
+ {"version":3,"file":"threads.d.ts","sourceRoot":"","sources":["../../src/store/threads.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { reduceThreadLifecycle } from "../thread-lifecycle.js";
5
5
  import { deriveThreadTitle } from "../thread-title.js";
6
6
  import { threadCreationIdempotency, turnRunConflict, turnIdempotency, buildNewThread, mergeThreadPatch, } from "../thread-store-support.js";
7
7
  import { threadWorktreeMutation } from "../thread-worktree-state.js";
8
+ import { syncThreadResourceUsesInTx } from "./resource-uses.js";
8
9
  import { appendPreparedEventInTx, prepareEvent } from "./event-store.js";
9
10
  import { globalGeneration, isServedPid, requireServedGeneration } from "./generations.js";
10
11
  import { lookupIdempotency } from "./idempotency.js";
@@ -61,6 +62,7 @@ export class SqlThreadStore {
61
62
  ]);
62
63
  for (const id of touched)
63
64
  this.pingHeadInTx(tx, id);
65
+ syncThreadResourceUsesInTx(tx, prepared.mutation, this);
64
66
  }
65
67
  commit(mutation, purge) {
66
68
  const prepared = this.prepare(mutation);
@@ -142,7 +144,10 @@ export class SqlThreadStore {
142
144
  // An imported purged conversation may still have filesystem leftovers.
143
145
  // Repeating purge preserves its revision and accepted creation bindings.
144
146
  if (!this.store.prepare("SELECT 1 FROM effect_obligation WHERE kind='purge_fs' AND key=?").get(id)) {
145
- runMutation(this.store, () => this.obligations.create("purge_fs", id, this.generation.pid, { thread }));
147
+ // A retired thread's accepted inventory cleared with its cleanup, so nothing
148
+ // that reappeared since was exported: this cleanup holds every such byte.
149
+ const held = thread.retirement ? { retirement: thread.retirement, acceptedLane: [] } : {};
150
+ runMutation(this.store, () => this.obligations.create("purge_fs", id, this.generation.pid, { thread, ...held }));
146
151
  }
147
152
  return thread;
148
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/store/threads.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"threads.js","sourceRoot":"","sources":["../../src/store/threads.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upload-imports.d.ts","sourceRoot":"","sources":["../../src/store/upload-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C;;;;GAIG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAH5B,YACmB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,WAAW,EACrC;IAEJ,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CA6CrD;IAED,4FAA4F;IAC5F,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,OAAO;IAqBf,OAAO,CAAC,GAAG;CAWZ"}
1
+ {"version":3,"file":"upload-imports.d.ts","sourceRoot":"","sources":["../../src/store/upload-imports.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAK/C;;;;GAIG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS;IAH5B,YACmB,KAAK,EAAE,WAAW,EAClB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,WAAW,EACrC;IAEJ,MAAM,CAAC,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,mBAAmB,CAiDrD;IAED,4FAA4F;IAC5F,OAAO,CAAC,QAAQ;IAahB,OAAO,CAAC,OAAO;IA8Bf,OAAO,CAAC,GAAG;CAWZ"}