@claudexor/daemon 5.0.1 → 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 (185) hide show
  1. package/dist/client.d.ts +56 -0
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/command-store.d.ts +2 -0
  4. package/dist/command-store.d.ts.map +1 -1
  5. package/dist/command-store.js.map +1 -1
  6. package/dist/deferred-message-owner.d.ts +14 -1
  7. package/dist/deferred-message-owner.d.ts.map +1 -1
  8. package/dist/deferred-messages.d.ts +22 -1
  9. package/dist/deferred-messages.d.ts.map +1 -1
  10. package/dist/deferred-messages.js +60 -18
  11. package/dist/deferred-messages.js.map +1 -1
  12. package/dist/enqueue-command.d.ts +19 -4
  13. package/dist/enqueue-command.d.ts.map +1 -1
  14. package/dist/enqueue-command.js +72 -8
  15. package/dist/enqueue-command.js.map +1 -1
  16. package/dist/index.d.ts +2 -0
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +1 -0
  19. package/dist/index.js.map +1 -1
  20. package/dist/interactions.d.ts.map +1 -1
  21. package/dist/interactions.js +29 -7
  22. package/dist/interactions.js.map +1 -1
  23. package/dist/job-record.d.ts.map +1 -1
  24. package/dist/job-record.js +4 -3
  25. package/dist/job-record.js.map +1 -1
  26. package/dist/job-settlement.d.ts +3 -1
  27. package/dist/job-settlement.d.ts.map +1 -1
  28. package/dist/job-settlement.js +13 -0
  29. package/dist/job-settlement.js.map +1 -1
  30. package/dist/model-operation-execution.d.ts +10 -0
  31. package/dist/model-operation-execution.d.ts.map +1 -1
  32. package/dist/model-operation-execution.js +12 -5
  33. package/dist/model-operation-execution.js.map +1 -1
  34. package/dist/model-operations.d.ts +1 -0
  35. package/dist/model-operations.d.ts.map +1 -1
  36. package/dist/model-operations.js +20 -10
  37. package/dist/model-operations.js.map +1 -1
  38. package/dist/quota-registry-support.d.ts.map +1 -1
  39. package/dist/quota-registry-support.js +14 -9
  40. package/dist/quota-registry-support.js.map +1 -1
  41. package/dist/server.d.ts +2 -3
  42. package/dist/server.d.ts.map +1 -1
  43. package/dist/server.js +12 -38
  44. package/dist/server.js.map +1 -1
  45. package/dist/store/blob-files.d.ts +17 -6
  46. package/dist/store/blob-files.d.ts.map +1 -1
  47. package/dist/store/blob-files.js +29 -5
  48. package/dist/store/blob-files.js.map +1 -1
  49. package/dist/store/command-prune.d.ts.map +1 -1
  50. package/dist/store/command-prune.js +4 -0
  51. package/dist/store/command-prune.js.map +1 -1
  52. package/dist/store/commands.d.ts +29 -2
  53. package/dist/store/commands.d.ts.map +1 -1
  54. package/dist/store/commands.js +136 -26
  55. package/dist/store/commands.js.map +1 -1
  56. package/dist/store/deferred-message-rows.d.ts +10 -0
  57. package/dist/store/deferred-message-rows.d.ts.map +1 -1
  58. package/dist/store/deferred-message-rows.js +28 -1
  59. package/dist/store/deferred-message-rows.js.map +1 -1
  60. package/dist/store/deferred-messages.d.ts +19 -5
  61. package/dist/store/deferred-messages.d.ts.map +1 -1
  62. package/dist/store/deferred-messages.js +93 -30
  63. package/dist/store/deferred-messages.js.map +1 -1
  64. package/dist/store/event-store.d.ts +2 -0
  65. package/dist/store/event-store.d.ts.map +1 -1
  66. package/dist/store/event-store.js +3 -1
  67. package/dist/store/event-store.js.map +1 -1
  68. package/dist/store/external-files.d.ts +57 -2
  69. package/dist/store/external-files.d.ts.map +1 -1
  70. package/dist/store/external-files.js +178 -3
  71. package/dist/store/external-files.js.map +1 -1
  72. package/dist/store/idempotency.d.ts +1 -1
  73. package/dist/store/idempotency.d.ts.map +1 -1
  74. package/dist/store/idempotency.js +2 -1
  75. package/dist/store/idempotency.js.map +1 -1
  76. package/dist/store/import-context.js +1 -1
  77. package/dist/store/import-context.js.map +1 -1
  78. package/dist/store/libuv-pool.d.ts +25 -0
  79. package/dist/store/libuv-pool.d.ts.map +1 -0
  80. package/dist/store/libuv-pool.js +96 -0
  81. package/dist/store/libuv-pool.js.map +1 -0
  82. package/dist/store/maintenance-worker.d.ts.map +1 -1
  83. package/dist/store/maintenance-worker.js +45 -0
  84. package/dist/store/maintenance-worker.js.map +1 -1
  85. package/dist/store/maintenance.d.ts +28 -2
  86. package/dist/store/maintenance.d.ts.map +1 -1
  87. package/dist/store/maintenance.js +36 -6
  88. package/dist/store/maintenance.js.map +1 -1
  89. package/dist/store/project-router.d.ts +108 -1
  90. package/dist/store/project-router.d.ts.map +1 -1
  91. package/dist/store/project-router.js +38 -0
  92. package/dist/store/project-router.js.map +1 -1
  93. package/dist/store/publish-blob.d.ts.map +1 -1
  94. package/dist/store/publish-blob.js +36 -14
  95. package/dist/store/publish-blob.js.map +1 -1
  96. package/dist/store/purge-files.d.ts +11 -2
  97. package/dist/store/purge-files.d.ts.map +1 -1
  98. package/dist/store/purge-files.js +34 -7
  99. package/dist/store/purge-files.js.map +1 -1
  100. package/dist/store/resource-release.d.ts +15 -0
  101. package/dist/store/resource-release.d.ts.map +1 -0
  102. package/dist/store/resource-release.js +56 -0
  103. package/dist/store/resource-release.js.map +1 -0
  104. package/dist/store/resource-rows.d.ts +2 -0
  105. package/dist/store/resource-rows.d.ts.map +1 -1
  106. package/dist/store/resource-rows.js.map +1 -1
  107. package/dist/store/resource-uses.d.ts +84 -0
  108. package/dist/store/resource-uses.d.ts.map +1 -0
  109. package/dist/store/resource-uses.js +129 -0
  110. package/dist/store/resource-uses.js.map +1 -0
  111. package/dist/store/resources.d.ts +16 -2
  112. package/dist/store/resources.d.ts.map +1 -1
  113. package/dist/store/resources.js +42 -3
  114. package/dist/store/resources.js.map +1 -1
  115. package/dist/store/retention-changes.d.ts +8 -2
  116. package/dist/store/retention-changes.d.ts.map +1 -1
  117. package/dist/store/retention-changes.js +24 -11
  118. package/dist/store/retention-changes.js.map +1 -1
  119. package/dist/store/retention-generations.d.ts +7 -2
  120. package/dist/store/retention-generations.d.ts.map +1 -1
  121. package/dist/store/retention-generations.js +71 -26
  122. package/dist/store/retention-generations.js.map +1 -1
  123. package/dist/store/retention-reference-reader.d.ts +26 -1
  124. package/dist/store/retention-reference-reader.d.ts.map +1 -1
  125. package/dist/store/retention-reference-reader.js +31 -7
  126. package/dist/store/retention-reference-reader.js.map +1 -1
  127. package/dist/store/retention-references.d.ts +5 -0
  128. package/dist/store/retention-references.d.ts.map +1 -1
  129. package/dist/store/retention-references.js +35 -6
  130. package/dist/store/retention-references.js.map +1 -1
  131. package/dist/store/schema.d.ts +2 -2
  132. package/dist/store/schema.d.ts.map +1 -1
  133. package/dist/store/schema.js +17 -2
  134. package/dist/store/schema.js.map +1 -1
  135. package/dist/store/sql-command-router.d.ts +12 -1
  136. package/dist/store/sql-command-router.d.ts.map +1 -1
  137. package/dist/store/sql-command-router.js +19 -1
  138. package/dist/store/sql-command-router.js.map +1 -1
  139. package/dist/store/sql-daemon-services.d.ts.map +1 -1
  140. package/dist/store/sql-daemon-services.js +9 -8
  141. package/dist/store/sql-daemon-services.js.map +1 -1
  142. package/dist/store/sql-validation.d.ts.map +1 -1
  143. package/dist/store/sql-validation.js +1 -0
  144. package/dist/store/sql-validation.js.map +1 -1
  145. package/dist/store/store.d.ts +9 -0
  146. package/dist/store/store.d.ts.map +1 -1
  147. package/dist/store/store.js +19 -0
  148. package/dist/store/store.js.map +1 -1
  149. package/dist/store/terminal-files.d.ts +24 -2
  150. package/dist/store/terminal-files.d.ts.map +1 -1
  151. package/dist/store/terminal-files.js +153 -31
  152. package/dist/store/terminal-files.js.map +1 -1
  153. package/dist/store/thread-closure.d.ts +62 -0
  154. package/dist/store/thread-closure.d.ts.map +1 -0
  155. package/dist/store/thread-closure.js +290 -0
  156. package/dist/store/thread-closure.js.map +1 -0
  157. package/dist/store/thread-retirement.d.ts +29 -0
  158. package/dist/store/thread-retirement.d.ts.map +1 -0
  159. package/dist/store/thread-retirement.js +123 -0
  160. package/dist/store/thread-retirement.js.map +1 -0
  161. package/dist/store/threads.d.ts +2 -0
  162. package/dist/store/threads.d.ts.map +1 -1
  163. package/dist/store/threads.js +10 -1
  164. package/dist/store/threads.js.map +1 -1
  165. package/dist/store/upload-imports.d.ts.map +1 -1
  166. package/dist/store/upload-imports.js +16 -3
  167. package/dist/store/upload-imports.js.map +1 -1
  168. package/dist/store/uploads.d.ts +13 -2
  169. package/dist/store/uploads.d.ts.map +1 -1
  170. package/dist/store/uploads.js +76 -30
  171. package/dist/store/uploads.js.map +1 -1
  172. package/dist/store-contracts.d.ts +32 -2
  173. package/dist/store-contracts.d.ts.map +1 -1
  174. package/dist/terminal-authority.d.ts +9 -1
  175. package/dist/terminal-authority.d.ts.map +1 -1
  176. package/dist/terminal-authority.js +32 -0
  177. package/dist/terminal-authority.js.map +1 -1
  178. package/dist/thread-lifecycle.d.ts +3 -1
  179. package/dist/thread-lifecycle.d.ts.map +1 -1
  180. package/dist/thread-lifecycle.js +2 -2
  181. package/dist/thread-lifecycle.js.map +1 -1
  182. package/dist/writer-lease.d.ts.map +1 -1
  183. package/dist/writer-lease.js +6 -3
  184. package/dist/writer-lease.js.map +1 -1
  185. package/package.json +5 -5
@@ -3,10 +3,36 @@ import { commandDigests, validateCommandKey, } from "../command-store.js";
3
3
  import { journaledRunEventCopy } from "../journaled-run-events.js";
4
4
  import { recoveredTerminalFacts, terminalCommandResult, terminalResultMatches, } from "../terminal-authority.js";
5
5
  import { applyCommandInTx, commandRow, hydrateCommand, prepareCommandRow, } from "./command-rows.js";
6
- import { collectReleasedBodies, SqlEventLedger } from "./event-store.js";
6
+ import { collectReleasedBodies, eventBody, SqlEventLedger } from "./event-store.js";
7
7
  import { bindIdempotencyInTx, lookupIdempotency } from "./idempotency.js";
8
8
  import { MutationPostCommitError, requireTransaction, runMutation, } from "./mutation.js";
9
9
  import { applyTerminalInTx, storedTerminal } from "./run-events.js";
10
+ import { claimResourceUsesInTx, markTurnDispatchedInTx, referencedResourceIds, turnDispatchUses, } from "./resource-uses.js";
11
+ /** A purged thread is terminal: no new work of it is accepted. Its accepted
12
+ * commands still answer their replay, which every caller looks up first, and a
13
+ * `delivery` command (apply, discard, revert or a message receipt of a run's
14
+ * retained result) is not new work, so it stays as available as before purge. */
15
+ function assertThreadAdmits(tx, row) {
16
+ if (row.kind === "delivery" || row.thread_id === null)
17
+ return;
18
+ const thread = tx.prepare("SELECT state FROM thread WHERE id=?").get(row.thread_id);
19
+ if (thread?.state === "purged")
20
+ throw Object.assign(new Error(`thread ${row.thread_id} was purged; it admits no new work`), {
21
+ code: "thread_purged",
22
+ status: 409,
23
+ retryable: false,
24
+ });
25
+ }
26
+ /** The command record a durable terminal settles, derived from its RunFacts. */
27
+ function terminalRecord(current, event) {
28
+ const { facts } = recoveredTerminalFacts(current, event);
29
+ return {
30
+ ...current,
31
+ state: facts.outcome.lifecycle,
32
+ finishedAt: event.ts,
33
+ result: terminalCommandResult(current, facts),
34
+ };
35
+ }
10
36
  /** Partition-scoped SQL command writes. Collection reads live in the separate
11
37
  * addressed query owner, not an enumerable in-memory command cache. */
12
38
  export class SqlCommandStore {
@@ -32,24 +58,31 @@ export class SqlCommandStore {
32
58
  /** All body preparation precedes the synchronous acceptance transaction. */
33
59
  prepareAcceptance(input) {
34
60
  const digests = commandDigests(this.generation.name, input);
35
- const record = {
36
- id: input.id,
37
- state: "queued",
38
- params: structuredClone(input.params),
39
- createdAt: this.store.now().toISOString(),
40
- };
61
+ const record = this.acceptanceRecord(input);
41
62
  const prepared = this.prepare(record, undefined, input.operation ?? "run.create", input.clientId);
42
63
  const event = this.events.prepare("command.accepted", { record, ...digests });
43
64
  return { input: structuredClone(input), digests, record, prepared, event };
44
65
  }
45
66
  /** Compose acceptance with its owner's other row reducers; never starts a
46
- * transaction or publishes a queue entry. Replay remains first. */
47
- acceptInTx(tx, acceptance) {
67
+ * transaction or publishes a queue entry. Replay remains first. `resourcesFrom`:
68
+ * the accepted owner whose managed resources this command inherits (a draft); a
69
+ * thread turn's first dispatch inherits the turn's own (`turnDispatchUses`). Only
70
+ * product work references resources: a delivery of a run's retained result (whose
71
+ * params are that run's) and model or maintenance commands take no hold. */
72
+ acceptInTx(tx, acceptance, resourcesFrom) {
48
73
  requireTransaction(tx);
49
74
  const { input, digests, record, prepared, event } = acceptance;
50
75
  const prior = this.find(input);
51
76
  if (prior)
52
77
  return { record: prior, reused: true };
78
+ assertThreadAdmits(tx, prepared.row);
79
+ if (prepared.row.kind === "product") {
80
+ const refs = record.params?.attachments;
81
+ const turn = turnDispatchUses(tx, prepared.row.turn_id);
82
+ claimResourceUsesInTx(tx, { owner: "command", id: record.id }, [...new Set([...referencedResourceIds(refs), ...turn.ids])], resourcesFrom ?? turn.from);
83
+ if (prepared.row.turn_id)
84
+ markTurnDispatchedInTx(tx, prepared.row.turn_id, record.createdAt);
85
+ }
53
86
  applyCommandInTx(tx, prepared, "accept");
54
87
  bindIdempotencyInTx(tx, {
55
88
  owner: "command",
@@ -63,6 +96,55 @@ export class SqlCommandStore {
63
96
  tx.changes.blobChanged(prepared.row.params_sha, prepared.row.result_sha);
64
97
  return { record, reused: false };
65
98
  }
99
+ acceptanceRecord(input) {
100
+ return {
101
+ id: input.id,
102
+ state: "queued",
103
+ params: structuredClone(input.params),
104
+ createdAt: input.createdAt ?? this.store.now().toISOString(),
105
+ };
106
+ }
107
+ /**
108
+ * Off the request thread, before the synchronous `accept`: write the large
109
+ * bodies it will own (`BlobFiles.stageBody`), so its same-tick preparation
110
+ * finds them. Best effort; replay, admission and the write stay with `accept`.
111
+ */
112
+ async stageAcceptance(input) {
113
+ const record = this.acceptanceRecord(input);
114
+ const accepted = { record, ...commandDigests(this.generation.name, input) };
115
+ await this.stageBodies(() => [...this.rowBodies(record), eventBody(accepted)]);
116
+ return record.createdAt;
117
+ }
118
+ /** The `update` twin of `stageAcceptance`, for bodies known before the update. */
119
+ async stageUpdate(id, patch) {
120
+ await this.stageBodies(() => {
121
+ const row = commandRow(this.store, id, this.generation.pid);
122
+ if (!row)
123
+ return [];
124
+ const next = this.nextRecord(row, patch);
125
+ const { params: _params, ...record } = next;
126
+ return [...this.rowBodies(next, row), eventBody({ record })];
127
+ });
128
+ }
129
+ async stageBodies(bodies) {
130
+ let staged;
131
+ try {
132
+ staged = bodies();
133
+ }
134
+ catch {
135
+ return; // the synchronous mutation decides and reports
136
+ }
137
+ await Promise.all(staged.map((bytes) => this.blobs.stageBody(bytes)));
138
+ }
139
+ /** The bodies a row write of `record` prepares, collected instead of written. */
140
+ rowBodies(record, previous) {
141
+ const bodies = [];
142
+ prepareCommandRow(record, { pid: this.generation.pid, live: true, operation: "stage", clientId: null, previous }, (bytes) => {
143
+ bodies.push(bytes);
144
+ return { sha256: "", size: bytes.byteLength, inline: null, file: null, generation: null };
145
+ });
146
+ return bodies;
147
+ }
66
148
  find(input) {
67
149
  validateCommandKey(input.idempotencyKey);
68
150
  const { keyDigest, requestDigest } = commandDigests(this.generation.name, input);
@@ -85,6 +167,11 @@ export class SqlCommandStore {
85
167
  const row = commandRow(this.store, id, this.generation.pid);
86
168
  if (!row)
87
169
  throw new Error(`no such job: ${id}`);
170
+ return this.writeUpdate(row, this.nextRecord(row, patch));
171
+ }
172
+ /** The record an update writes: the patch over the row, with a durable
173
+ * terminal's RunFacts outcome winning over the patch. */
174
+ nextRecord(row, patch) {
88
175
  const current = hydrateCommand(row, this.blobs);
89
176
  let next = {
90
177
  ...current,
@@ -107,7 +194,7 @@ export class SqlCommandStore {
107
194
  result: { ...extra, ...terminalCommandResult(current, facts) },
108
195
  };
109
196
  }
110
- return this.writeUpdate(row, next);
197
+ return next;
111
198
  }
112
199
  prune(ids) {
113
200
  this.options.pruner.prune(ids, this.generation.pid);
@@ -115,6 +202,36 @@ export class SqlCommandStore {
115
202
  prunedScopeRoots() {
116
203
  return this.store.prepare("SELECT root FROM pruned_root ORDER BY root").all().map((row) => row.root);
117
204
  }
205
+ /**
206
+ * Off the request thread, before the synchronous `persistTerminal`: write the
207
+ * large bodies it will own (BlobFiles.stageBody) and the receipts its file
208
+ * step will publish (SqlTerminalFiles.stage). Best effort; persistTerminal
209
+ * still decides, commits and writes whatever was not staged or has changed.
210
+ */
211
+ async stageTerminal(id, raw, telemetry) {
212
+ let current, event, bodies;
213
+ try {
214
+ event = RunEvent.parse(raw);
215
+ const row = commandRow(this.store, id, this.generation.pid);
216
+ if (!row)
217
+ return;
218
+ current = hydrateCommand(row, this.blobs);
219
+ const next = terminalRecord(current, event);
220
+ const { params: _params, ...record } = next;
221
+ bodies = [
222
+ ...this.rowBodies(next, row),
223
+ eventBody({ record }),
224
+ eventBody(journaledRunEventCopy(event)),
225
+ ];
226
+ }
227
+ catch {
228
+ return;
229
+ }
230
+ await Promise.all([
231
+ ...bodies.map((bytes) => this.blobs.stageBody(bytes)),
232
+ this.options.terminalFiles.stage(current, event, telemetry),
233
+ ]);
234
+ }
118
235
  /** The synchronous EventLog hook: one SQL terminal then immediate file repair.
119
236
  * Returning pending means SQL committed; EventLog must never roll it back or
120
237
  * emit another terminal. A second terminal INSERT is a constraint failure. */
@@ -124,13 +241,7 @@ export class SqlCommandStore {
124
241
  if (!row)
125
242
  throw new Error(`no such job: ${id}`);
126
243
  const current = hydrateCommand(row, this.blobs);
127
- const { facts } = recoveredTerminalFacts(current, event);
128
- const next = {
129
- ...current,
130
- state: facts.outcome.lifecycle,
131
- finishedAt: event.ts,
132
- result: terminalCommandResult(current, facts),
133
- };
244
+ const next = terminalRecord(current, event);
134
245
  const prepared = this.prepare(next, row);
135
246
  const { params: _params, ...record } = next;
136
247
  const updated = this.events.prepare("command.updated", { record });
@@ -139,9 +250,7 @@ export class SqlCommandStore {
139
250
  runMutation(this.store, (tx) => {
140
251
  applyCommandInTx(tx, prepared, "update");
141
252
  applyTerminalInTx(tx, this.generation.pid, event);
142
- this.options.obligations.create("terminal_files", event.run_id, this.generation.pid, {
143
- telemetry,
144
- });
253
+ this.options.obligations.create("terminal_files", event.run_id, this.generation.pid, {});
145
254
  this.events.appendInTx(tx, updated);
146
255
  this.events.appendInTx(tx, run);
147
256
  tx.changes.blobChanged(row.params_sha, row.result_sha, prepared.row.params_sha, prepared.row.result_sha);
@@ -206,7 +315,10 @@ export class SqlCommandStore {
206
315
  errorRequiredActions: undefined,
207
316
  errorContext: undefined,
208
317
  finishedAt: terminal.ts,
209
- }, this.options.terminalFiles.prepareRecoveryTelemetry(current.runDir, facts));
318
+ },
319
+ // Re-create the terminal-files obligation without a telemetry payload;
320
+ // no mirror is rebuilt.
321
+ true);
210
322
  }
211
323
  else if (current.state !== facts.outcome.lifecycle ||
212
324
  !terminalResultMatches(current.result, terminalCommandResult(current, facts))) {
@@ -237,18 +349,16 @@ export class SqlCommandStore {
237
349
  previous,
238
350
  }, (bytes) => this.blobs.prepareBody(bytes));
239
351
  }
240
- writeUpdate(row, next, recoveryTelemetry) {
352
+ writeUpdate(row, next, recreateTerminalFiles = false) {
241
353
  const prepared = this.prepare(next, row);
242
354
  const { params: _params, ...record } = next;
243
355
  const event = this.events.prepare("command.updated", { record });
244
356
  runMutation(this.store, (tx) => {
245
357
  applyCommandInTx(tx, prepared, "update");
246
- if (recoveryTelemetry !== undefined &&
358
+ if (recreateTerminalFiles &&
247
359
  next.runId &&
248
360
  !this.options.obligations.get("terminal_files", next.runId))
249
- this.options.obligations.create("terminal_files", next.runId, this.generation.pid, {
250
- telemetry: recoveryTelemetry,
251
- });
361
+ this.options.obligations.create("terminal_files", next.runId, this.generation.pid, {});
252
362
  this.events.appendInTx(tx, event);
253
363
  tx.changes.blobChanged(row.params_sha, row.result_sha, prepared.row.params_sha, prepared.row.result_sha);
254
364
  });
@@ -1 +1 @@
1
- {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/store/commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/store/commands.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { DeferredMessageDetail, DeferredMessageProjection } from "@claudexor/schema";
2
2
  import type { EngineStore } from "./store.js";
3
3
  import type { BlobFiles } from "./blob-files.js";
4
+ import type { MutationContext } from "./mutation.js";
4
5
  export interface DeferredMessageRow {
5
6
  id: string;
6
7
  pid: number;
@@ -12,7 +13,16 @@ export interface DeferredMessageRow {
12
13
  successor_job_id: string | null;
13
14
  dispatched_revision: number | null;
14
15
  created_at: string;
16
+ /** The revision its current hold was applied at (#613); a replace keeps the old value. */
17
+ held_revision?: number | null;
18
+ /** Why the draft left a process-custody hold by itself (#613); schema 7. */
19
+ resumed?: Uint8Array | null;
15
20
  }
21
+ /** Held only for unknown process custody, at exactly this revision, and not replaced
22
+ * since that hold was applied (#613). Rows held before schema 7 never qualify. */
23
+ export declare function heldForProcessCustody(row: DeferredMessageRow, revision: number): boolean;
24
+ /** The one row writer; `resumed` is history and is never cleared once set. */
25
+ export declare function writeDraftRowInTx(tx: MutationContext, row: DeferredMessageRow): void;
16
26
  /** Compact reads select identities only, never hydrate a command's full result. */
17
27
  export declare function deferredMessageProjection(store: EngineStore, row: DeferredMessageRow): DeferredMessageProjection;
18
28
  /** Full text and controls are addressed reads only. Cleared rows own no body. */
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-message-rows.d.ts","sourceRoot":"","sources":["../../src/store/deferred-message-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,kBAAkB,GACtB,yBAAyB,CAuB3B;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,kBAAkB,GACtB,qBAAqB,CAUvB;AAED;qDACqD;AACrD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAwBhG"}
1
+ {"version":3,"file":"deferred-message-rows.d.ts","sourceRoot":"","sources":["../../src/store/deferred-message-rows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AACrF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAErD,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB,EAAE,MAAM,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC;IAC1C,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,UAAU,GAAG,IAAI,CAAC;IACxB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,0FAA0F;IAC1F,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,4EAA4E;IAC5E,OAAO,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CAC7B;AAID;kFACkF;AAClF,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,kBAAkB,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAQxF;AAED,8EAA8E;AAC9E,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,eAAe,EAAE,GAAG,EAAE,kBAAkB,GAAG,IAAI,CAwBpF;AAED,mFAAmF;AACnF,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,WAAW,EAClB,GAAG,EAAE,kBAAkB,GACtB,yBAAyB,CAwB3B;AAED,iFAAiF;AACjF,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,kBAAkB,GACtB,qBAAqB,CAUvB;AAED;qDACqD;AACrD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAwBhG"}
@@ -1,4 +1,30 @@
1
1
  import { DeferredMessageDetail, DeferredMessageProjection } from "@claudexor/schema";
2
+ const json = (bytes) => JSON.parse(Buffer.from(bytes).toString("utf8"));
3
+ /** Held only for unknown process custody, at exactly this revision, and not replaced
4
+ * since that hold was applied (#613). Rows held before schema 7 never qualify. */
5
+ export function heldForProcessCustody(row, revision) {
6
+ if (row.state !== "held" || row.revision !== revision || !row.hold)
7
+ return false;
8
+ if (row.held_revision !== row.revision)
9
+ return false;
10
+ try {
11
+ return json(row.hold)?.code === "settlement_unknown";
12
+ }
13
+ catch {
14
+ return false;
15
+ }
16
+ }
17
+ /** The one row writer; `resumed` is history and is never cleared once set. */
18
+ export function writeDraftRowInTx(tx, row) {
19
+ tx.prepare(`INSERT INTO deferred_message(id,pid,predecessor_job_id,revision,state,body_sha,hold,
20
+ successor_job_id,dispatched_revision,created_at,held_revision,resumed)
21
+ VALUES(?,?,?,?,?,?,?,?,?,?,?,?)
22
+ ON CONFLICT(id) DO UPDATE SET revision=excluded.revision,state=excluded.state,
23
+ body_sha=excluded.body_sha,hold=excluded.hold,successor_job_id=excluded.successor_job_id,
24
+ dispatched_revision=excluded.dispatched_revision,
25
+ held_revision=COALESCE(excluded.held_revision,deferred_message.held_revision),
26
+ resumed=COALESCE(excluded.resumed,deferred_message.resumed)`).run(row.id, row.pid, row.predecessor_job_id, row.revision, row.state, row.body_sha, row.hold, row.successor_job_id, row.dispatched_revision, row.created_at, row.held_revision ?? null, row.resumed ?? null);
27
+ }
2
28
  /** Compact reads select identities only, never hydrate a command's full result. */
3
29
  export function deferredMessageProjection(store, row) {
4
30
  const run = (id) => {
@@ -14,7 +40,8 @@ export function deferredMessageProjection(store, row) {
14
40
  predecessorJobId: row.predecessor_job_id,
15
41
  predecessorRunId,
16
42
  predecessorResult: `/v2/runs/${predecessorRunId ?? row.predecessor_job_id}`,
17
- hold: row.hold ? JSON.parse(Buffer.from(row.hold).toString("utf8")) : null,
43
+ hold: row.hold ? json(row.hold) : null,
44
+ ...(row.resumed ? { resumed: json(row.resumed) } : {}),
18
45
  dispatchedRevision: row.dispatched_revision,
19
46
  successorJobId: row.successor_job_id,
20
47
  successorRunId: run(row.successor_job_id),
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-message-rows.js","sourceRoot":"","sources":["../../src/store/deferred-message-rows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deferred-message-rows.js","sourceRoot":"","sources":["../../src/store/deferred-message-rows.ts"],"names":[],"mappings":"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"}
@@ -1,22 +1,23 @@
1
1
  import { CapturedRunStart, DeferredMessageMutation, DeferredMessageDetail, DeferredMessageProjection, DeferredMessageHold, type DeferredMessageReceipt, type ResourceAttachmentRef } from "@claudexor/schema";
2
2
  import type { JobRecord } from "../job-record.js";
3
- import { type DeferredMessageOwner } from "../deferred-message-owner.js";
3
+ import { type DeferredMessageOwner, type PromotionStamp } from "../deferred-message-owner.js";
4
4
  import type { BlobFiles } from "./blob-files.js";
5
5
  import type { SqlCommandStore } from "./commands.js";
6
6
  import type { PartitionGeneration } from "./partitions.js";
7
+ import { type ResourceUseHolder } from "./resource-uses.js";
7
8
  import type { EngineStore } from "./store.js";
8
9
  export declare function deferredConflict(code: string, message: string, context?: object): Error;
9
10
  /** Minimal partition-scoped owner. It owns no timer, runner or retry authority.
10
11
  * Every mutable decision linearizes on the same SQL writer as commands. */
11
12
  export declare class SqlDeferredMessages implements DeferredMessageOwner {
12
- private readonly store;
13
- private readonly blobs;
13
+ readonly store: EngineStore;
14
+ readonly blobs: BlobFiles;
14
15
  readonly generation: Pick<PartitionGeneration, "pid" | "name" | "epoch">;
15
16
  private readonly commands;
16
17
  private readonly validateRefs;
17
18
  private readonly assertCurrentRoute;
18
19
  private readonly events;
19
- constructor(store: EngineStore, blobs: BlobFiles, generation: Pick<PartitionGeneration, "pid" | "name" | "epoch">, commands: SqlCommandStore, validateRefs?: (refs: ResourceAttachmentRef[]) => void, assertCurrentRoute?: (request: CapturedRunStart) => void);
20
+ constructor(store: EngineStore, blobs: BlobFiles, generation: Pick<PartitionGeneration, "pid" | "name" | "epoch">, commands: SqlCommandStore, validateRefs?: (refs: ResourceAttachmentRef[], heldBy?: ResourceUseHolder) => void, assertCurrentRoute?: (request: CapturedRunStart) => void);
20
21
  get(id: string): DeferredMessageDetail | null;
21
22
  reservation(predecessor: string): DeferredMessageProjection | null;
22
23
  latest(predecessor: string): DeferredMessageProjection | null;
@@ -25,19 +26,32 @@ export declare class SqlDeferredMessages implements DeferredMessageOwner {
25
26
  /** Key lookup precedes current state, CAS, resource admission and captures.
26
27
  * The binding stores only the applied revision; current handles are addressed. */
27
28
  replay(input: DeferredMessageMutation, key: string): DeferredMessageReceipt | null;
29
+ /** Off the request thread, before `mutate`: write the draft body it will own. */
30
+ stage(raw: DeferredMessageMutation, capturedStart?: CapturedRunStart): Promise<void>;
28
31
  mutate(raw: DeferredMessageMutation, key: string, capturedStart?: CapturedRunStart): DeferredMessageReceipt;
29
32
  /** A one-shot ordinary command request for async preparation. */
30
33
  request(id: string): CapturedRunStart;
34
+ /** Off the request thread, after preparation: write the successor's large
35
+ * parameter and acceptance bodies under the job id and creation time `promote`
36
+ * then uses. Promotion still rechecks and decides everything synchronously. */
37
+ stagePromotion(id: string, expectedRevision: number): Promise<PromotionStamp>;
38
+ private successorAcceptance;
31
39
  /** Async preparation finishes before this call. Rechecks and acceptance plus
32
40
  * freeze are ONE synchronous mutation; publish the returned job only after it.
33
41
  * A post-COMMIT notification error is deliberately allowed to escape: recovery
34
42
  * reads this same dispatched handle instead of accepting another command. */
35
- promote(id: string, expectedRevision: number, preparedStart: CapturedRunStart, fence: () => DeferredMessageHold | null, admit: (request: CapturedRunStart, draftId: string) => void): {
43
+ promote(id: string, expectedRevision: number, preparedStart: CapturedRunStart, fence: () => DeferredMessageHold | null, admit: (request: CapturedRunStart, draftId: string) => void, stamp?: PromotionStamp): {
36
44
  draft: DeferredMessageProjection;
37
45
  record: JobRecord | null;
38
46
  reused: boolean;
39
47
  };
40
48
  hold(id: string, reason: DeferredMessageHold): void;
49
+ /** #613: an unchanged draft held only for process custody returns to `waiting`,
50
+ * visibly; its dispatch then takes the ordinary revision and admission path. */
51
+ resume(id: string, revision: number): boolean;
52
+ /** A Stop of a custody-held draft keeps it held for the Stop, never for return. */
53
+ rehold(id: string, revision: number, reason: DeferredMessageHold): boolean;
54
+ private fromCustodyHold;
41
55
  recoverAfterStartup(): void;
42
56
  private terminalHold;
43
57
  /** Compact job/run alias resolution. Slot reads stop here; only callers that
@@ -1 +1 @@
1
- {"version":3,"file":"deferred-messages.d.ts","sourceRoot":"","sources":["../../src/store/deferred-messages.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deferred-messages.d.ts","sourceRoot":"","sources":["../../src/store/deferred-messages.ts"],"names":[],"mappings":"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"}