@claudexor/daemon 4.8.2 → 5.0.2

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 (157) hide show
  1. package/dist/command-list-projection.d.ts +1 -1
  2. package/dist/command-list-projection.d.ts.map +1 -1
  3. package/dist/command-list-projection.js +2 -3
  4. package/dist/command-list-projection.js.map +1 -1
  5. package/dist/command-store.d.ts +2 -0
  6. package/dist/command-store.d.ts.map +1 -1
  7. package/dist/command-store.js.map +1 -1
  8. package/dist/deferred-message-owner.d.ts +10 -1
  9. package/dist/deferred-message-owner.d.ts.map +1 -1
  10. package/dist/deferred-messages.d.ts.map +1 -1
  11. package/dist/deferred-messages.js +11 -5
  12. package/dist/deferred-messages.js.map +1 -1
  13. package/dist/delivery-command.d.ts.map +1 -1
  14. package/dist/delivery-command.js +3 -1
  15. package/dist/delivery-command.js.map +1 -1
  16. package/dist/enqueue-command.d.ts +19 -4
  17. package/dist/enqueue-command.d.ts.map +1 -1
  18. package/dist/enqueue-command.js +72 -10
  19. package/dist/enqueue-command.js.map +1 -1
  20. package/dist/index.d.ts +1 -0
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/job-record.d.ts.map +1 -1
  24. package/dist/job-record.js +8 -19
  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/quota-poll-lanes.d.ts +3 -3
  31. package/dist/quota-poll-lanes.d.ts.map +1 -1
  32. package/dist/quota-poll-lanes.js.map +1 -1
  33. package/dist/quota-refresh-batches.d.ts +7 -6
  34. package/dist/quota-refresh-batches.d.ts.map +1 -1
  35. package/dist/quota-refresh-batches.js +6 -3
  36. package/dist/quota-refresh-batches.js.map +1 -1
  37. package/dist/quota-refresh-demand.d.ts.map +1 -1
  38. package/dist/quota-refresh-demand.js +3 -2
  39. package/dist/quota-refresh-demand.js.map +1 -1
  40. package/dist/quota-registry-replay.d.ts.map +1 -1
  41. package/dist/quota-registry-replay.js +10 -3
  42. package/dist/quota-registry-replay.js.map +1 -1
  43. package/dist/quota-registry-support.d.ts +14 -6
  44. package/dist/quota-registry-support.d.ts.map +1 -1
  45. package/dist/quota-registry-support.js +32 -10
  46. package/dist/quota-registry-support.js.map +1 -1
  47. package/dist/quota-registry.d.ts +71 -7
  48. package/dist/quota-registry.d.ts.map +1 -1
  49. package/dist/quota-registry.js +15 -15
  50. package/dist/quota-registry.js.map +1 -1
  51. package/dist/quota-resource-demand.d.ts +1 -1
  52. package/dist/quota-resource-demand.d.ts.map +1 -1
  53. package/dist/quota-resource-demand.js +2 -1
  54. package/dist/quota-resource-demand.js.map +1 -1
  55. package/dist/quota-resources.d.ts +11 -6
  56. package/dist/quota-resources.d.ts.map +1 -1
  57. package/dist/quota-resources.js +10 -5
  58. package/dist/quota-resources.js.map +1 -1
  59. package/dist/run-observation.d.ts.map +1 -1
  60. package/dist/run-observation.js +2 -11
  61. package/dist/run-observation.js.map +1 -1
  62. package/dist/server.d.ts +0 -1
  63. package/dist/server.d.ts.map +1 -1
  64. package/dist/server.js +12 -38
  65. package/dist/server.js.map +1 -1
  66. package/dist/store/blob-files.d.ts +15 -4
  67. package/dist/store/blob-files.d.ts.map +1 -1
  68. package/dist/store/blob-files.js +28 -5
  69. package/dist/store/blob-files.js.map +1 -1
  70. package/dist/store/commands.d.ts +22 -0
  71. package/dist/store/commands.d.ts.map +1 -1
  72. package/dist/store/commands.js +98 -15
  73. package/dist/store/commands.js.map +1 -1
  74. package/dist/store/cursors.d.ts +37 -1
  75. package/dist/store/cursors.d.ts.map +1 -1
  76. package/dist/store/cursors.js +64 -13
  77. package/dist/store/cursors.js.map +1 -1
  78. package/dist/store/deferred-messages.d.ts +9 -2
  79. package/dist/store/deferred-messages.d.ts.map +1 -1
  80. package/dist/store/deferred-messages.js +49 -24
  81. package/dist/store/deferred-messages.js.map +1 -1
  82. package/dist/store/engine-state-recovery.d.ts +2 -2
  83. package/dist/store/engine-state-recovery.d.ts.map +1 -1
  84. package/dist/store/engine-state-recovery.js.map +1 -1
  85. package/dist/store/event-store.d.ts +2 -0
  86. package/dist/store/event-store.d.ts.map +1 -1
  87. package/dist/store/event-store.js +3 -1
  88. package/dist/store/event-store.js.map +1 -1
  89. package/dist/store/external-files.d.ts +40 -2
  90. package/dist/store/external-files.d.ts.map +1 -1
  91. package/dist/store/external-files.js +125 -4
  92. package/dist/store/external-files.js.map +1 -1
  93. package/dist/store/import-context.js +1 -1
  94. package/dist/store/import-context.js.map +1 -1
  95. package/dist/store/project-router.d.ts +7 -0
  96. package/dist/store/project-router.d.ts.map +1 -1
  97. package/dist/store/project-router.js +11 -0
  98. package/dist/store/project-router.js.map +1 -1
  99. package/dist/store/projects.d.ts +15 -1
  100. package/dist/store/projects.d.ts.map +1 -1
  101. package/dist/store/projects.js +83 -26
  102. package/dist/store/projects.js.map +1 -1
  103. package/dist/store/publish-blob.d.ts.map +1 -1
  104. package/dist/store/publish-blob.js +3 -10
  105. package/dist/store/publish-blob.js.map +1 -1
  106. package/dist/store/purge-files.d.ts +13 -1
  107. package/dist/store/purge-files.d.ts.map +1 -1
  108. package/dist/store/purge-files.js +26 -2
  109. package/dist/store/purge-files.js.map +1 -1
  110. package/dist/store/resource-rows.d.ts +0 -2
  111. package/dist/store/resource-rows.d.ts.map +1 -1
  112. package/dist/store/resource-rows.js +0 -9
  113. package/dist/store/resource-rows.js.map +1 -1
  114. package/dist/store/resources.d.ts.map +1 -1
  115. package/dist/store/resources.js +2 -6
  116. package/dist/store/resources.js.map +1 -1
  117. package/dist/store/sql-command-router.d.ts +2 -0
  118. package/dist/store/sql-command-router.d.ts.map +1 -1
  119. package/dist/store/sql-command-router.js +9 -0
  120. package/dist/store/sql-command-router.js.map +1 -1
  121. package/dist/store/sql-daemon-services.d.ts +2 -8
  122. package/dist/store/sql-daemon-services.d.ts.map +1 -1
  123. package/dist/store/sql-daemon-services.js +2 -2
  124. package/dist/store/sql-daemon-services.js.map +1 -1
  125. package/dist/store/sql-recovery.d.ts +2 -8
  126. package/dist/store/sql-recovery.d.ts.map +1 -1
  127. package/dist/store/sql-recovery.js +3 -3
  128. package/dist/store/sql-recovery.js.map +1 -1
  129. package/dist/store/store.d.ts +9 -0
  130. package/dist/store/store.d.ts.map +1 -1
  131. package/dist/store/store.js +19 -0
  132. package/dist/store/store.js.map +1 -1
  133. package/dist/store/terminal-files.d.ts +20 -1
  134. package/dist/store/terminal-files.d.ts.map +1 -1
  135. package/dist/store/terminal-files.js +176 -22
  136. package/dist/store/terminal-files.js.map +1 -1
  137. package/dist/store/thread-prompt-read.d.ts +4 -2
  138. package/dist/store/thread-prompt-read.d.ts.map +1 -1
  139. package/dist/store/thread-prompt-read.js +4 -2
  140. package/dist/store/thread-prompt-read.js.map +1 -1
  141. package/dist/store/threads.d.ts +2 -0
  142. package/dist/store/threads.d.ts.map +1 -1
  143. package/dist/store/threads.js +7 -3
  144. package/dist/store/threads.js.map +1 -1
  145. package/dist/store/upload-imports.d.ts.map +1 -1
  146. package/dist/store/upload-imports.js +2 -4
  147. package/dist/store/upload-imports.js.map +1 -1
  148. package/dist/store/uploads.d.ts.map +1 -1
  149. package/dist/store/uploads.js +2 -4
  150. package/dist/store/uploads.js.map +1 -1
  151. package/dist/store-contracts.d.ts +13 -2
  152. package/dist/store-contracts.d.ts.map +1 -1
  153. package/dist/terminal-authority.d.ts +9 -1
  154. package/dist/terminal-authority.d.ts.map +1 -1
  155. package/dist/terminal-authority.js +32 -0
  156. package/dist/terminal-authority.js.map +1 -1
  157. package/package.json +5 -5
package/dist/server.js CHANGED
@@ -1,18 +1,18 @@
1
1
  import { rpcProblem, storageOnlyFailure } from "./rpc-problem.js";
2
2
  import { RunTimeLimits } from "./run-time-limits.js";
3
3
  import { createServer } from "node:net";
4
- import { ControlRunStartRequest, TurnEnqueueProblem, delegatedParentOf, resolveRunReviewRequested, normalizeCancelReasonCode, isTerminalLifecycle, } from "@claudexor/schema";
4
+ import { TurnEnqueueProblem, delegatedParentOf, normalizeCancelReasonCode, isTerminalLifecycle, } from "@claudexor/schema";
5
5
  import { daemonHealth, daemonConcurrencyCaps } from "./daemon-health.js";
6
6
  import { RpcFollowers } from "./rpc-followers.js";
7
- import { newId, nowIso, pathExists } from "@claudexor/util";
7
+ import { nowIso, pathExists } from "@claudexor/util";
8
8
  import { DeferredMessages } from "./deferred-messages.js";
9
- import { enqueueCommand } from "./enqueue-command.js";
10
- import { commandStoreForId, commandStoreForRequest, } from "./command-authority.js";
9
+ import { enqueueStaged } from "./enqueue-command.js";
10
+ import { commandStoreForId } from "./command-authority.js";
11
11
  import { publicAcceptedCommand } from "./command-rpc.js";
12
12
  import { parseCommandListQuery } from "./command-list-select.js";
13
13
  import { clearStaleUnixSocketPath, listenOnDaemonEndpoint } from "./daemon-listen.js";
14
- import { jobStateFromResult, publicJobRecord, resultReason, resultSummary, } from "./job-record.js";
15
- import { settleJobError } from "./job-settlement.js";
14
+ import { jobStateFromResult, publicJobRecord } from "./job-record.js";
15
+ import { settleJobError, settledJobPatch } from "./job-settlement.js";
16
16
  import { admissionActivity, admissionJob, eligibleJobIndex, queuedAdmission, } from "./job-admission.js";
17
17
  import { daemonTokenMatches, recoveryOnlyRefusal, servingModeOf, } from "./serving-admission.js";
18
18
  import { socketAlive } from "./socket-probe.js";
@@ -217,11 +217,10 @@ export class DaemonServer {
217
217
  throw recoveryOnlyRefusal(method);
218
218
  switch (method) {
219
219
  case "claudexor.enqueue":
220
- return enqueueCommand(params, {
220
+ return enqueueStaged(params, {
221
221
  commands: this.commands,
222
- stopping: this.stopping,
222
+ stopping: () => this.stopping,
223
223
  delegation: this.opts.delegationAuthority,
224
- accept: this.acceptCommand.bind(this),
225
224
  publish: (record) => this.publishQueued(record),
226
225
  });
227
226
  case "claudexor.deferredMessage":
@@ -327,22 +326,6 @@ export class DaemonServer {
327
326
  for (const id of removed)
328
327
  this.cancelled.delete(id);
329
328
  }
330
- acceptCommand(params, idempotencyKey, clientId, idempotencyParams, operation) {
331
- const store = commandStoreForRequest(this.commands, params);
332
- const parsed = ControlRunStartRequest.safeParse(params);
333
- const acceptedParams = parsed.success && parsed.data.mode === "agent"
334
- ? { ...params, review: resolveRunReviewRequested(parsed.data) }
335
- : params;
336
- return store.accept({
337
- id: newId("job"),
338
- params: acceptedParams,
339
- idempotencyKey,
340
- clientId,
341
- // Resolved defaults belong to accepted execution, never the wire digest.
342
- idempotencyParams: idempotencyParams ?? params,
343
- operation,
344
- });
345
- }
346
329
  getRecord(id) {
347
330
  return commandStoreForId(this.commands, id)?.get(id);
348
331
  }
@@ -401,19 +384,10 @@ export class DaemonServer {
401
384
  rec = this.updateRecord(rec, info);
402
385
  },
403
386
  });
404
- const state = jobStateFromResult(result, controller.signal.aborted);
405
- if (state === "failed" || state === "interrupted") {
406
- const reason = resultReason(result);
407
- rec = this.updateRecord(rec, {
408
- state,
409
- result,
410
- error: resultSummary(result) ?? `run ended ${state}${reason ? ` (${reason})` : ""}`,
411
- finishedAt: nowIso(),
412
- });
413
- }
414
- else {
415
- rec = this.updateRecord(rec, { state, result, finishedAt: nowIso() });
416
- }
387
+ const patch = settledJobPatch(jobStateFromResult(result, controller.signal.aborted), result);
388
+ // The verdict is fixed above; only the result's large bodies are written off the loop.
389
+ await commandStoreForId(this.commands, id)?.stageUpdate?.(id, patch);
390
+ rec = this.updateRecord(rec, patch);
417
391
  }
418
392
  catch (thrown) {
419
393
  rec = settleJobError({
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -26,10 +26,11 @@ export declare function sha256Hex(bytes: Uint8Array): string;
26
26
  export type GcOutcome = UnlinkOutcome;
27
27
  /**
28
28
  * Content-addressed bodies: `resource-store/blobs/<sha256>` for anything above
29
- * 64 KiB, written synchronously on the request thread in the same tick as the
30
- * owning transaction (temp `O_DSYNC` + rename, never rewriting an existing
31
- * file), then the `blob` row plus the owner's reference row commit together.
32
- * The store owns the shared owner generations the GC is bound to.
29
+ * 64 KiB, present in the same tick as the owning transaction (temp `O_DSYNC` +
30
+ * rename, never rewriting an existing file): written there on the request
31
+ * thread, or found there after `stageBody` wrote it off that thread. Then the
32
+ * `blob` row plus the owner's reference row commit together. The store owns
33
+ * the shared owner generations the GC is bound to.
33
34
  */
34
35
  export declare class BlobFiles {
35
36
  private readonly store;
@@ -40,6 +41,16 @@ export declare class BlobFiles {
40
41
  /** Before the owning transaction (same tick): hash, and write the file if the body is large.
41
42
  * "Already present" is decided by the FILE, never by the `blob` row (C3). */
42
43
  prepareBody(bytes: Uint8Array): BodyRef;
44
+ /**
45
+ * Off the request thread, ahead of a synchronous owner: write a large body's
46
+ * content-addressed file so the owner's same-tick `prepareBody` finds it and
47
+ * only registers the directory. It owns and registers no file; the store's
48
+ * body directory is created (each new level registered) before the first
49
+ * staged write. Any failure, or a GC of the still-unowned file before the
50
+ * owner commits, leaves the write to that owner: presence is decided by the
51
+ * file at preparation (C3).
52
+ */
53
+ stageBody(bytes: Uint8Array): Promise<void>;
43
54
  /** Inside the owning transaction: the `blob` row (idempotent per digest). */
44
55
  insertRow(ref: BodyRef): void;
45
56
  /** The body bytes, verified against the digest; inline wins, else the file. */
@@ -1 +1 @@
1
- {"version":3,"file":"blob-files.d.ts","sourceRoot":"","sources":["../../src/store/blob-files.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,QAAY,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mEAAmE;IACnE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,ukBAQkC,CAAC;AACpE,eAAO,MAAM,cAAc,ylBAA8C,CAAC;AAE1E,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOlF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAEtC;;;;;;GAMG;AACH,qBAAa,SAAS;IAMlB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC,YACmB,KAAK,EAAE,WAAW,EACnC,GAAG,SAAoB,EAIxB;IAED;iFAC6E;IAC7E,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAwBtC;IAED,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAM5B;IAED,+EAA+E;IAC/E,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAc3B;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK/B;IAED,2GAA2G;IAC3G,WAAW,CACT,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAWvD;IAED,wFAAwF;IACxF,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG7B;IAED;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtC;IAED;;;;;OAKG;IACH,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAYrC;IAED,OAAO,CAAC,QAAQ;CAWjB"}
1
+ {"version":3,"file":"blob-files.d.ts","sourceRoot":"","sources":["../../src/store/blob-files.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9C,0FAA0F;AAC1F,eAAO,MAAM,qBAAqB,QAAY,CAAC;AAE/C,MAAM,WAAW,OAAO;IACtB,4CAA4C;IAC5C,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,mEAAmE;IACnE,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,2EAA2E;IAC3E,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED;;;;GAIG;AACH,eAAO,MAAM,oBAAoB,ukBAQkC,CAAC;AACpE,eAAO,MAAM,cAAc,ylBAA8C,CAAC;AAE1E,8EAA8E;AAC9E,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAOlF;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,MAAM,CAEnD;AAED,MAAM,MAAM,SAAS,GAAG,aAAa,CAAC;AAEtC;;;;;;;GAOG;AACH,qBAAa,SAAS;IAMlB,OAAO,CAAC,QAAQ,CAAC,KAAK;IALxB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAElC,YACmB,KAAK,EAAE,WAAW,EACnC,GAAG,SAAoB,EAIxB;IAED;iFAC6E;IAC7E,WAAW,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAyBtC;IAED;;;;;;;;OAQG;IACG,SAAS,CAAC,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAQhD;IAED,6EAA6E;IAC7E,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAM5B;IAED,+EAA+E;IAC/E,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAc3B;IAED,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAK/B;IAED,2GAA2G;IAC3G,WAAW,CACT,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,MAAM,GACb;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAWvD;IAED,wFAAwF;IACxF,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAG7B;IAED;;;;OAIG;IACH,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEtC;IAED;;;;;OAKG;IACH,EAAE,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,CAYrC;IAED,OAAO,CAAC,QAAQ;CAWjB"}
@@ -2,7 +2,7 @@ import { createHash } from "node:crypto";
2
2
  import { existsSync, readFileSync } from "node:fs";
3
3
  import { join } from "node:path";
4
4
  import { StoreError } from "./errors.js";
5
- import { linkExternalFile, writeExternalFile } from "./external-files.js";
5
+ import { linkExternalFile, stageExternalFile, writeExternalFile } from "./external-files.js";
6
6
  import { requireTransaction } from "./mutation.js";
7
7
  /** Bodies up to this size are stored inline in `blob.inline`; larger bodies are files. */
8
8
  export const INLINE_BODY_MAX_BYTES = 64 * 1024;
@@ -33,10 +33,11 @@ export function sha256Hex(bytes) {
33
33
  }
34
34
  /**
35
35
  * Content-addressed bodies: `resource-store/blobs/<sha256>` for anything above
36
- * 64 KiB, written synchronously on the request thread in the same tick as the
37
- * owning transaction (temp `O_DSYNC` + rename, never rewriting an existing
38
- * file), then the `blob` row plus the owner's reference row commit together.
39
- * The store owns the shared owner generations the GC is bound to.
36
+ * 64 KiB, present in the same tick as the owning transaction (temp `O_DSYNC` +
37
+ * rename, never rewriting an existing file): written there on the request
38
+ * thread, or found there after `stageBody` wrote it off that thread. Then the
39
+ * `blob` row plus the owner's reference row commit together. The store owns
40
+ * the shared owner generations the GC is bound to.
40
41
  */
41
42
  export class BlobFiles {
42
43
  store;
@@ -66,6 +67,7 @@ export class BlobFiles {
66
67
  name: sha256,
67
68
  bytes,
68
69
  keepExisting: true,
70
+ purpose: "blob_body",
69
71
  });
70
72
  return {
71
73
  sha256,
@@ -75,6 +77,27 @@ export class BlobFiles {
75
77
  generation: receipt.generation,
76
78
  };
77
79
  }
80
+ /**
81
+ * Off the request thread, ahead of a synchronous owner: write a large body's
82
+ * content-addressed file so the owner's same-tick `prepareBody` finds it and
83
+ * only registers the directory. It owns and registers no file; the store's
84
+ * body directory is created (each new level registered) before the first
85
+ * staged write. Any failure, or a GC of the still-unowned file before the
86
+ * owner commits, leaves the write to that owner: presence is decided by the
87
+ * file at preparation (C3).
88
+ */
89
+ async stageBody(bytes) {
90
+ if (bytes.byteLength <= INLINE_BODY_MAX_BYTES)
91
+ return;
92
+ try {
93
+ if (this.dir === this.store.paths.blobs)
94
+ this.store.bodyDirectory();
95
+ await stageExternalFile({ dir: this.dir, name: sha256Hex(bytes), bytes });
96
+ }
97
+ catch {
98
+ /* the synchronous preparation writes it */
99
+ }
100
+ }
78
101
  /** Inside the owning transaction: the `blob` row (idempotent per digest). */
79
102
  insertRow(ref) {
80
103
  if (!this.store.inTransaction)
@@ -1 +1 @@
1
- {"version":3,"file":"blob-files.js","sourceRoot":"","sources":["../../src/store/blob-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"blob-files.js","sourceRoot":"","sources":["../../src/store/blob-files.ts"],"names":[],"mappings":"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"}
@@ -48,12 +48,34 @@ export declare class SqlCommandStore implements CommandStorePort {
48
48
  record: JobRecord;
49
49
  reused: boolean;
50
50
  };
51
+ private acceptanceRecord;
52
+ /**
53
+ * Off the request thread, before the synchronous `accept`: write the large
54
+ * bodies it will own (`BlobFiles.stageBody`), so its same-tick preparation
55
+ * finds them. Best effort; replay, admission and the write stay with `accept`.
56
+ */
57
+ stageAcceptance(input: AcceptCommand): Promise<string>;
58
+ /** The `update` twin of `stageAcceptance`, for bodies known before the update. */
59
+ stageUpdate(id: string, patch: Partial<JobRecord>): Promise<void>;
60
+ private stageBodies;
61
+ /** The bodies a row write of `record` prepares, collected instead of written. */
62
+ private rowBodies;
51
63
  find(input: FindCommand): JobRecord | null;
52
64
  get(id: string): JobRecord | undefined;
53
65
  flushed(): Promise<void>;
54
66
  update(id: string, patch: Partial<JobRecord>): JobRecord;
67
+ /** The record an update writes: the patch over the row, with a durable
68
+ * terminal's RunFacts outcome winning over the patch. */
69
+ private nextRecord;
55
70
  prune(ids: readonly string[]): void;
56
71
  prunedScopeRoots(): string[];
72
+ /**
73
+ * Off the request thread, before the synchronous `persistTerminal`: write the
74
+ * large bodies it will own (BlobFiles.stageBody) and the receipts its file
75
+ * step will publish (SqlTerminalFiles.stage). Best effort; persistTerminal
76
+ * still decides, commits and writes whatever was not staged or has changed.
77
+ */
78
+ stageTerminal(id: string, raw: RunEvent, telemetry: RunTelemetry | null): Promise<void>;
57
79
  /** The synchronous EventLog hook: one SQL terminal then immediate file repair.
58
80
  * Returning pending means SQL committed; EventLog must never roll it back or
59
81
  * emit another terminal. A second terminal INSERT is a constraint failure. */
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/store/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,WAAW,EACjB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAM9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAQjD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD,OAAO,EAIL,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAG5D;uEACuE;AACvE,qBAAa,eAAgB,YAAW,gBAAgB;IAGpD,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;IACxE,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAiB;IACxC,YACmB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EACxB,UAAU,EAAE,IAAI,CAAC,mBAAmB,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC,EACvD,OAAO,EAAE;QACxB,MAAM,EAAE,MAAM,OAAO,CAAC;QACtB,WAAW,EAAE,WAAW,CAAC;QACzB,aAAa,EAAE,gBAAgB,CAAC;QAChC,MAAM,EAAE,gBAAgB,CAAC;KAC1B,EAGF;IAED,MAAM,CAAC,KAAK,EAAE,aAAa,GAAG;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,MAAM,EAAE,OAAO,CAAA;KAAE,CAKnE;IAED,4EAA4E;IAC5E,iBAAiB,CAAC,KAAK,EAAE,aAAa;;;;;;;;;;;;;MAgBrC;IAED;uEACmE;IACnE,UAAU,CAAC,EAAE,EAAE,eAAe,EAAE,UAAU,EAAE,UAAU,CAAC,eAAe,CAAC,mBAAmB,CAAC,CAAC;;;MAiB3F;IAED,IAAI,CAAC,KAAK,EAAE,WAAW,GAAG,SAAS,GAAG,IAAI,CAazC;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAGrC;IAED,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAEvB;IAED,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,GAAG,SAAS,CA2BvD;IAED,KAAK,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,IAAI,CAElC;IAED,gBAAgB,IAAI,MAAM,EAAE,CAM3B;IAED;;kFAE8E;IAC9E,eAAe,CACb,EAAE,EAAE,MAAM,EACV,GAAG,EAAE,QAAQ,EACb,SAAS,EAAE,YAAY,GAAG,IAAI,GAC7B;QAAE,KAAK,EAAE,cAAc,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAoDlE;IAED,sBAAsB,CAAC,EAAE,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAiDnD;IAED,mBAAmB,IAAI,IAAI,CAW1B;IAED,OAAO,CAAC,OAAO;IAmBf,OAAO,CAAC,WAAW;CA8BpB"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/store/commands.ts"],"names":[],"mappings":"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"}
@@ -3,10 +3,20 @@ 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
+ /** The command record a durable terminal settles, derived from its RunFacts. */
11
+ function terminalRecord(current, event) {
12
+ const { facts } = recoveredTerminalFacts(current, event);
13
+ return {
14
+ ...current,
15
+ state: facts.outcome.lifecycle,
16
+ finishedAt: event.ts,
17
+ result: terminalCommandResult(current, facts),
18
+ };
19
+ }
10
20
  /** Partition-scoped SQL command writes. Collection reads live in the separate
11
21
  * addressed query owner, not an enumerable in-memory command cache. */
12
22
  export class SqlCommandStore {
@@ -32,12 +42,7 @@ export class SqlCommandStore {
32
42
  /** All body preparation precedes the synchronous acceptance transaction. */
33
43
  prepareAcceptance(input) {
34
44
  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
- };
45
+ const record = this.acceptanceRecord(input);
41
46
  const prepared = this.prepare(record, undefined, input.operation ?? "run.create", input.clientId);
42
47
  const event = this.events.prepare("command.accepted", { record, ...digests });
43
48
  return { input: structuredClone(input), digests, record, prepared, event };
@@ -63,6 +68,55 @@ export class SqlCommandStore {
63
68
  tx.changes.blobChanged(prepared.row.params_sha, prepared.row.result_sha);
64
69
  return { record, reused: false };
65
70
  }
71
+ acceptanceRecord(input) {
72
+ return {
73
+ id: input.id,
74
+ state: "queued",
75
+ params: structuredClone(input.params),
76
+ createdAt: input.createdAt ?? this.store.now().toISOString(),
77
+ };
78
+ }
79
+ /**
80
+ * Off the request thread, before the synchronous `accept`: write the large
81
+ * bodies it will own (`BlobFiles.stageBody`), so its same-tick preparation
82
+ * finds them. Best effort; replay, admission and the write stay with `accept`.
83
+ */
84
+ async stageAcceptance(input) {
85
+ const record = this.acceptanceRecord(input);
86
+ const accepted = { record, ...commandDigests(this.generation.name, input) };
87
+ await this.stageBodies(() => [...this.rowBodies(record), eventBody(accepted)]);
88
+ return record.createdAt;
89
+ }
90
+ /** The `update` twin of `stageAcceptance`, for bodies known before the update. */
91
+ async stageUpdate(id, patch) {
92
+ await this.stageBodies(() => {
93
+ const row = commandRow(this.store, id, this.generation.pid);
94
+ if (!row)
95
+ return [];
96
+ const next = this.nextRecord(row, patch);
97
+ const { params: _params, ...record } = next;
98
+ return [...this.rowBodies(next, row), eventBody({ record })];
99
+ });
100
+ }
101
+ async stageBodies(bodies) {
102
+ let staged;
103
+ try {
104
+ staged = bodies();
105
+ }
106
+ catch {
107
+ return; // the synchronous mutation decides and reports
108
+ }
109
+ await Promise.all(staged.map((bytes) => this.blobs.stageBody(bytes)));
110
+ }
111
+ /** The bodies a row write of `record` prepares, collected instead of written. */
112
+ rowBodies(record, previous) {
113
+ const bodies = [];
114
+ prepareCommandRow(record, { pid: this.generation.pid, live: true, operation: "stage", clientId: null, previous }, (bytes) => {
115
+ bodies.push(bytes);
116
+ return { sha256: "", size: bytes.byteLength, inline: null, file: null, generation: null };
117
+ });
118
+ return bodies;
119
+ }
66
120
  find(input) {
67
121
  validateCommandKey(input.idempotencyKey);
68
122
  const { keyDigest, requestDigest } = commandDigests(this.generation.name, input);
@@ -85,6 +139,11 @@ export class SqlCommandStore {
85
139
  const row = commandRow(this.store, id, this.generation.pid);
86
140
  if (!row)
87
141
  throw new Error(`no such job: ${id}`);
142
+ return this.writeUpdate(row, this.nextRecord(row, patch));
143
+ }
144
+ /** The record an update writes: the patch over the row, with a durable
145
+ * terminal's RunFacts outcome winning over the patch. */
146
+ nextRecord(row, patch) {
88
147
  const current = hydrateCommand(row, this.blobs);
89
148
  let next = {
90
149
  ...current,
@@ -107,7 +166,7 @@ export class SqlCommandStore {
107
166
  result: { ...extra, ...terminalCommandResult(current, facts) },
108
167
  };
109
168
  }
110
- return this.writeUpdate(row, next);
169
+ return next;
111
170
  }
112
171
  prune(ids) {
113
172
  this.options.pruner.prune(ids, this.generation.pid);
@@ -115,6 +174,36 @@ export class SqlCommandStore {
115
174
  prunedScopeRoots() {
116
175
  return this.store.prepare("SELECT root FROM pruned_root ORDER BY root").all().map((row) => row.root);
117
176
  }
177
+ /**
178
+ * Off the request thread, before the synchronous `persistTerminal`: write the
179
+ * large bodies it will own (BlobFiles.stageBody) and the receipts its file
180
+ * step will publish (SqlTerminalFiles.stage). Best effort; persistTerminal
181
+ * still decides, commits and writes whatever was not staged or has changed.
182
+ */
183
+ async stageTerminal(id, raw, telemetry) {
184
+ let current, event, bodies;
185
+ try {
186
+ event = RunEvent.parse(raw);
187
+ const row = commandRow(this.store, id, this.generation.pid);
188
+ if (!row)
189
+ return;
190
+ current = hydrateCommand(row, this.blobs);
191
+ const next = terminalRecord(current, event);
192
+ const { params: _params, ...record } = next;
193
+ bodies = [
194
+ ...this.rowBodies(next, row),
195
+ eventBody({ record }),
196
+ eventBody(journaledRunEventCopy(event)),
197
+ ];
198
+ }
199
+ catch {
200
+ return;
201
+ }
202
+ await Promise.all([
203
+ ...bodies.map((bytes) => this.blobs.stageBody(bytes)),
204
+ this.options.terminalFiles.stage(current, event, telemetry),
205
+ ]);
206
+ }
118
207
  /** The synchronous EventLog hook: one SQL terminal then immediate file repair.
119
208
  * Returning pending means SQL committed; EventLog must never roll it back or
120
209
  * emit another terminal. A second terminal INSERT is a constraint failure. */
@@ -124,13 +213,7 @@ export class SqlCommandStore {
124
213
  if (!row)
125
214
  throw new Error(`no such job: ${id}`);
126
215
  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
- };
216
+ const next = terminalRecord(current, event);
134
217
  const prepared = this.prepare(next, row);
135
218
  const { params: _params, ...record } = next;
136
219
  const updated = this.events.prepare("command.updated", { record });
@@ -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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"}
@@ -22,7 +22,43 @@ export declare function resolveJournalCursor(store: EngineStore, partition: stri
22
22
  generation: PartitionGeneration;
23
23
  afterSeq: number;
24
24
  };
25
- /** The retained events after a cursor, as the global/project SSE replays them today. */
25
+ /** Work units of one retained-journal read, not a history limit: a replay
26
+ * continues page by page. A page holds at most this many rows and this many
27
+ * stored payload bytes (the inline row bytes, or a referenced body's recorded
28
+ * size), measured before any body is read. One event above the byte budget is
29
+ * a page by itself; no event is dropped or shortened. */
30
+ export declare const JOURNAL_PAGE_ROWS = 256;
31
+ export declare const JOURNAL_PAGE_BYTES: number;
32
+ export interface JournalEventPageRequest {
33
+ /** A delivered event cursor or an earlier page `position`; absent starts the generation. */
34
+ after?: string | null;
35
+ /** An earlier page's `through`; absent captures the partition's durable head now. */
36
+ through?: string | null;
37
+ }
38
+ export interface JournalEventPage {
39
+ events: ControlJournalEvent[];
40
+ /** Where the next page starts: the last event's cursor, else the request position. */
41
+ position: string;
42
+ /** The head this walk reads through, in the same `{v,p,e,s}` encoding. */
43
+ through: string;
44
+ /** Retained rows remain after `position`, at or before `through`. */
45
+ more: boolean;
46
+ }
47
+ /** Page sizing reads lengths only; query-plan tests pin both primary-key range reads. */
48
+ export declare const JOURNAL_PAGE_SIZE_SQL = "SELECT e.seq, coalesce(b.size, length(e.payload)) AS bytes\n FROM event e LEFT JOIN blob b ON b.sha256 = e.payload_sha\n WHERE e.pid = ? AND e.seq > ? AND e.seq <= ? ORDER BY e.seq LIMIT ?";
49
+ export declare const JOURNAL_PAGE_READ_SQL = "SELECT seq, time, type, payload, payload_sha FROM event WHERE pid = ? AND seq > ? AND seq <= ? ORDER BY seq";
50
+ /**
51
+ * One bounded keyset page of the current generation's retained events, as the
52
+ * global/project SSE replays them. Both positions are cursors checked against
53
+ * the generation serving now, so a replaced or retired generation is refused
54
+ * (409 `resnapshot`) instead of continuing in another epoch. Sizes are chosen
55
+ * first; only the selected rows are read and hydrated, in the same synchronous
56
+ * turn on the owner connection.
57
+ */
58
+ export declare function readJournalEventPage(store: EngineStore, partition: string, request?: JournalEventPageRequest, blobs?: Pick<BlobFiles, "read">): JournalEventPage;
59
+ /** The complete retained suffix after a cursor, collected through the same
60
+ * pages, for in-process readers that need the whole history (store
61
+ * equivalence, tests). Network replay streams page by page instead. */
26
62
  export declare function readJournalEvents(store: EngineStore, partition: string, afterCursor?: string | null, blobs?: Pick<BlobFiles, "read">): ControlJournalEvent[];
27
63
  /** Both cursor/SSE and reducer reads hydrate the same logical payload. A digest
28
64
  * reference is authoritative; missing or corrupt bytes remain typed failures. */