@claudexor/daemon 4.7.0 → 4.8.1

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 (148) hide show
  1. package/dist/client.d.ts +203 -1
  2. package/dist/client.d.ts.map +1 -1
  3. package/dist/client.js +14 -0
  4. package/dist/client.js.map +1 -1
  5. package/dist/command-authority.d.ts +2 -0
  6. package/dist/command-authority.d.ts.map +1 -1
  7. package/dist/command-authority.js.map +1 -1
  8. package/dist/command-rpc.d.ts +1 -1
  9. package/dist/command-rpc.d.ts.map +1 -1
  10. package/dist/command-rpc.js +5 -2
  11. package/dist/command-rpc.js.map +1 -1
  12. package/dist/deferred-message-owner.d.ts +24 -0
  13. package/dist/deferred-message-owner.d.ts.map +1 -0
  14. package/dist/deferred-message-owner.js +12 -0
  15. package/dist/deferred-message-owner.js.map +1 -0
  16. package/dist/deferred-messages.d.ts +182 -0
  17. package/dist/deferred-messages.d.ts.map +1 -0
  18. package/dist/deferred-messages.js +285 -0
  19. package/dist/deferred-messages.js.map +1 -0
  20. package/dist/enqueue-command.d.ts +19 -0
  21. package/dist/enqueue-command.d.ts.map +1 -0
  22. package/dist/enqueue-command.js +37 -0
  23. package/dist/enqueue-command.js.map +1 -0
  24. package/dist/exact-retry-defaults.d.ts +7 -0
  25. package/dist/exact-retry-defaults.d.ts.map +1 -0
  26. package/dist/exact-retry-defaults.js +32 -0
  27. package/dist/exact-retry-defaults.js.map +1 -0
  28. package/dist/index.d.ts +4 -0
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +3 -0
  31. package/dist/index.js.map +1 -1
  32. package/dist/interactions.d.ts +7 -1
  33. package/dist/interactions.d.ts.map +1 -1
  34. package/dist/interactions.js +40 -0
  35. package/dist/interactions.js.map +1 -1
  36. package/dist/quota-registry-support.d.ts +2 -2
  37. package/dist/quota-registry.d.ts +5 -5
  38. package/dist/run-observation.d.ts +7 -0
  39. package/dist/run-observation.d.ts.map +1 -0
  40. package/dist/run-observation.js +100 -0
  41. package/dist/run-observation.js.map +1 -0
  42. package/dist/server.d.ts +6 -1
  43. package/dist/server.d.ts.map +1 -1
  44. package/dist/server.js +56 -41
  45. package/dist/server.js.map +1 -1
  46. package/dist/store/blob-files.d.ts +2 -2
  47. package/dist/store/blob-files.d.ts.map +1 -1
  48. package/dist/store/blob-files.js +1 -0
  49. package/dist/store/blob-files.js.map +1 -1
  50. package/dist/store/command-prune.d.ts.map +1 -1
  51. package/dist/store/command-prune.js +22 -4
  52. package/dist/store/command-prune.js.map +1 -1
  53. package/dist/store/command-queries.d.ts +6 -2
  54. package/dist/store/command-queries.d.ts.map +1 -1
  55. package/dist/store/command-queries.js +66 -1
  56. package/dist/store/command-queries.js.map +1 -1
  57. package/dist/store/commands.d.ts +22 -0
  58. package/dist/store/commands.d.ts.map +1 -1
  59. package/dist/store/commands.js +26 -13
  60. package/dist/store/commands.js.map +1 -1
  61. package/dist/store/deferred-message-rows.d.ts +23 -0
  62. package/dist/store/deferred-message-rows.d.ts.map +1 -0
  63. package/dist/store/deferred-message-rows.js +59 -0
  64. package/dist/store/deferred-message-rows.js.map +1 -0
  65. package/dist/store/deferred-messages.d.ts +58 -0
  66. package/dist/store/deferred-messages.d.ts.map +1 -0
  67. package/dist/store/deferred-messages.js +439 -0
  68. package/dist/store/deferred-messages.js.map +1 -0
  69. package/dist/store/deferred-retention.d.ts +6 -0
  70. package/dist/store/deferred-retention.d.ts.map +1 -0
  71. package/dist/store/deferred-retention.js +30 -0
  72. package/dist/store/deferred-retention.js.map +1 -0
  73. package/dist/store/generations.d.ts.map +1 -1
  74. package/dist/store/generations.js +7 -0
  75. package/dist/store/generations.js.map +1 -1
  76. package/dist/store/idempotency.d.ts +2 -2
  77. package/dist/store/idempotency.d.ts.map +1 -1
  78. package/dist/store/idempotency.js +4 -2
  79. package/dist/store/idempotency.js.map +1 -1
  80. package/dist/store/importer.js +3 -1
  81. package/dist/store/importer.js.map +1 -1
  82. package/dist/store/interactions.d.ts +2 -1
  83. package/dist/store/interactions.d.ts.map +1 -1
  84. package/dist/store/interactions.js +11 -1
  85. package/dist/store/interactions.js.map +1 -1
  86. package/dist/store/publish-blob.d.ts +4 -0
  87. package/dist/store/publish-blob.d.ts.map +1 -1
  88. package/dist/store/publish-blob.js +33 -10
  89. package/dist/store/publish-blob.js.map +1 -1
  90. package/dist/store/resource-rows.d.ts +6 -0
  91. package/dist/store/resource-rows.d.ts.map +1 -1
  92. package/dist/store/resource-rows.js.map +1 -1
  93. package/dist/store/resources.d.ts +22 -0
  94. package/dist/store/resources.d.ts.map +1 -1
  95. package/dist/store/resources.js +6 -0
  96. package/dist/store/resources.js.map +1 -1
  97. package/dist/store/retention-changes.d.ts +1 -0
  98. package/dist/store/retention-changes.d.ts.map +1 -1
  99. package/dist/store/retention-changes.js +1 -0
  100. package/dist/store/retention-changes.js.map +1 -1
  101. package/dist/store/retention-pages.d.ts +1 -1
  102. package/dist/store/retention-pages.d.ts.map +1 -1
  103. package/dist/store/retention-pages.js.map +1 -1
  104. package/dist/store/retention-references.d.ts.map +1 -1
  105. package/dist/store/retention-references.js +4 -0
  106. package/dist/store/retention-references.js.map +1 -1
  107. package/dist/store/retention.d.ts.map +1 -1
  108. package/dist/store/retention.js +5 -0
  109. package/dist/store/retention.js.map +1 -1
  110. package/dist/store/schema.d.ts +9 -2
  111. package/dist/store/schema.d.ts.map +1 -1
  112. package/dist/store/schema.js +35 -2
  113. package/dist/store/schema.js.map +1 -1
  114. package/dist/store/sql-command-router.d.ts +4 -0
  115. package/dist/store/sql-command-router.d.ts.map +1 -1
  116. package/dist/store/sql-command-router.js +18 -0
  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 +14 -1
  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 +8 -0
  123. package/dist/store/sql-validation.js.map +1 -1
  124. package/dist/store/store.d.ts +1 -1
  125. package/dist/store/store.d.ts.map +1 -1
  126. package/dist/store/thread-history-read.d.ts +81 -0
  127. package/dist/store/thread-history-read.d.ts.map +1 -0
  128. package/dist/store/thread-history-read.js +215 -0
  129. package/dist/store/thread-history-read.js.map +1 -0
  130. package/dist/store/thread-prompt-read.d.ts +7 -0
  131. package/dist/store/thread-prompt-read.d.ts.map +1 -0
  132. package/dist/store/thread-prompt-read.js +62 -0
  133. package/dist/store/thread-prompt-read.js.map +1 -0
  134. package/dist/store/upload-binding-retention.d.ts +3 -3
  135. package/dist/store/upload-binding-retention.d.ts.map +1 -1
  136. package/dist/store/upload-binding-retention.js +2 -1
  137. package/dist/store/upload-binding-retention.js.map +1 -1
  138. package/dist/store/upload-imports.d.ts +21 -0
  139. package/dist/store/upload-imports.d.ts.map +1 -0
  140. package/dist/store/upload-imports.js +96 -0
  141. package/dist/store/upload-imports.js.map +1 -0
  142. package/dist/store/uploads.d.ts +7 -2
  143. package/dist/store/uploads.d.ts.map +1 -1
  144. package/dist/store/uploads.js +44 -10
  145. package/dist/store/uploads.js.map +1 -1
  146. package/dist/store-contracts.d.ts +14 -1
  147. package/dist/store-contracts.d.ts.map +1 -1
  148. package/package.json +5 -5
@@ -51,7 +51,7 @@ export declare class QuotaRegistry {
51
51
  resets_at: string | null;
52
52
  cooldown_until: string | null;
53
53
  }[];
54
- source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit";
54
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit" | "grok_rate_limit";
55
55
  observed_at: string;
56
56
  freshness: "fresh" | "stale" | "unknown";
57
57
  snapshot_id?: string | undefined;
@@ -123,7 +123,7 @@ export declare class QuotaRegistry {
123
123
  plan_label: string | null;
124
124
  subject_id: string | null;
125
125
  };
126
- source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit";
126
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit" | "grok_rate_limit";
127
127
  observed_at: string;
128
128
  freshness: "fresh" | "stale" | "unknown";
129
129
  snapshot_id?: string | undefined;
@@ -274,7 +274,7 @@ export declare class QuotaRegistry {
274
274
  resets_at: string | null;
275
275
  cooldown_until: string | null;
276
276
  }[];
277
- source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit";
277
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit" | "grok_rate_limit";
278
278
  observed_at: string;
279
279
  freshness: "fresh" | "stale" | "unknown";
280
280
  snapshot_id?: string | undefined;
@@ -338,7 +338,7 @@ export declare class QuotaRegistry {
338
338
  resets_at: string | null;
339
339
  cooldown_until: string | null;
340
340
  }[];
341
- source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit";
341
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit" | "grok_rate_limit";
342
342
  observed_at: string;
343
343
  freshness: "fresh" | "stale" | "unknown";
344
344
  snapshot_id?: string | undefined;
@@ -497,7 +497,7 @@ export declare class QuotaRegistry {
497
497
  resets_at: string | null;
498
498
  cooldown_until: string | null;
499
499
  }[];
500
- source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit";
500
+ source: "agy_command_usage" | "claude_api_retry" | "claude_oauth_usage" | "claude_rate_limit_event" | "claude_statusline" | "codex_app_server" | "codex_app_server_event" | "codex_image_response" | "codex_rollout" | "cursor_rate_limit" | "grok_rate_limit";
501
501
  observed_at: string;
502
502
  freshness: "fresh" | "stale" | "unknown";
503
503
  snapshot_id?: string | undefined;
@@ -0,0 +1,7 @@
1
+ import { type RunWaitManySummary } from "@claudexor/schema";
2
+ import { type InteractionRegistry } from "./interactions.js";
3
+ import type { CommandQueries } from "./store-contracts.js";
4
+ /** One body-free snapshot pass. It preserves caller positions, not a globally
5
+ * atomic history; only completed observations replace not_observed rows. */
6
+ export declare function readRunObservations(queries: Pick<CommandQueries, "observationRecords">, interactions: Pick<InteractionRegistry, "snapshotPendingIdentities">, storeId: string, ids: readonly string[], signal?: AbortSignal): Promise<RunWaitManySummary[]>;
7
+ //# sourceMappingURL=run-observation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-observation.d.ts","sourceRoot":"","sources":["../src/run-observation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAClF,OAAO,EAA2B,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAyB,MAAM,sBAAsB,CAAC;AASlF;4EAC4E;AAC5E,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,IAAI,CAAC,cAAc,EAAE,oBAAoB,CAAC,EACnD,YAAY,EAAE,IAAI,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,EACpE,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,SAAS,MAAM,EAAE,EACtB,MAAM,CAAC,EAAE,WAAW,GACnB,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAoF/B"}
@@ -0,0 +1,100 @@
1
+ import { createHash } from "node:crypto";
2
+ import { setImmediate as yieldToAdmission } from "node:timers/promises";
3
+ import { RunObservationRecord } from "@claudexor/schema";
4
+ import { digestPendingIdentities } from "./interactions.js";
5
+ import { StoreError } from "./store/errors.js";
6
+ function unavailable(problem) {
7
+ return { status: null, pending: null, token: null, problem };
8
+ }
9
+ /** One body-free snapshot pass. It preserves caller positions, not a globally
10
+ * atomic history; only completed observations replace not_observed rows. */
11
+ export async function readRunObservations(queries, interactions, storeId, ids, signal) {
12
+ const requested = [...ids];
13
+ const summaries = requested.map(() => unavailable("not_observed"));
14
+ if (signal?.aborted)
15
+ return summaries;
16
+ const select = queries.observationRecords;
17
+ if (!select)
18
+ throw new StoreError("run_observation_unavailable", 503, false, "body-free command observation unavailable");
19
+ let records;
20
+ try {
21
+ records = select.call(queries, [...new Set(requested)]);
22
+ }
23
+ catch (error) {
24
+ if (signal?.aborted)
25
+ return summaries;
26
+ throw error;
27
+ }
28
+ if (signal?.aborted)
29
+ return summaries;
30
+ const byJob = new Map();
31
+ const byRun = new Map();
32
+ const runIds = new Set();
33
+ for (let i = 0; i < records.length; i++) {
34
+ if (i > 0 && i % 64 === 0)
35
+ await yieldToAdmission();
36
+ if (signal?.aborted)
37
+ return summaries;
38
+ const raw = records[i];
39
+ const parsed = RunObservationRecord.safeParse(raw);
40
+ const record = parsed.success ? parsed.data : null;
41
+ // Keep a malformed row's addresses so it is unknown, never a fabricated miss.
42
+ byJob.set(raw.jobId, record);
43
+ if (raw.runId !== null)
44
+ byRun.set(raw.runId, record);
45
+ if (record && record.runId !== null)
46
+ runIds.add(record.runId);
47
+ }
48
+ let snapshots = new Map();
49
+ try {
50
+ if (runIds.size)
51
+ snapshots = await (signal
52
+ ? interactions.snapshotPendingIdentities([...runIds], signal)
53
+ : interactions.snapshotPendingIdentities([...runIds]));
54
+ }
55
+ catch (error) {
56
+ if (signal?.aborted)
57
+ return summaries;
58
+ throw error;
59
+ }
60
+ const empty = digestPendingIdentities([]);
61
+ for (let i = 0; i < requested.length; i++) {
62
+ if (i > 0 && i % 64 === 0)
63
+ await yieldToAdmission();
64
+ if (signal?.aborted)
65
+ break;
66
+ const id = requested[i];
67
+ const record = byJob.has(id) ? byJob.get(id) : byRun.get(id);
68
+ if (record === undefined) {
69
+ summaries[i] = unavailable("not_found");
70
+ continue;
71
+ }
72
+ if (record === null) {
73
+ summaries[i] = unavailable("snapshot_unavailable");
74
+ continue;
75
+ }
76
+ const pending = record.runId === null ? empty : snapshots.get(record.runId);
77
+ if (pending instanceof StoreError)
78
+ throw pending;
79
+ if (!pending || pending instanceof Error) {
80
+ summaries[i] = unavailable("snapshot_unavailable");
81
+ continue;
82
+ }
83
+ const token = createHash("sha256")
84
+ .update(JSON.stringify([
85
+ "claudexor.run-observation",
86
+ 1,
87
+ storeId,
88
+ record.partition,
89
+ record.epoch,
90
+ record.jobId,
91
+ record.runId,
92
+ record.state,
93
+ pending.digest,
94
+ ]))
95
+ .digest("base64url");
96
+ summaries[i] = { status: record.state, pending: pending.pending, token, problem: null };
97
+ }
98
+ return summaries;
99
+ }
100
+ //# sourceMappingURL=run-observation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run-observation.js","sourceRoot":"","sources":["../src/run-observation.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  import type { RunTimeLimit } from "./run-time-limit.js";
2
- import { type TurnEnqueueProblem as TurnEnqueueProblemValue, type CancelReasonCode, type RuntimeConcurrencyCaps, type DaemonStoreFacts, type ConcurrencyLimit, type JobAdmission } from "@claudexor/schema";
2
+ import { type TurnEnqueueProblem as TurnEnqueueProblemValue, type CancelReasonCode, type DeferredMessageStopReport, type RuntimeConcurrencyCaps, type DaemonStoreFacts, type ConcurrencyLimit, type JobAdmission } from "@claudexor/schema";
3
+ import { type DeferredStartPreparation } from "./deferred-messages.js";
3
4
  import { type CommandBackend } from "./command-authority.js";
4
5
  import { type DelegationAdmissionAuthority } from "./delegation-admission.js";
5
6
  import { jobStateFromResult, type JobRecord } from "./job-record.js";
@@ -27,6 +28,7 @@ export interface DaemonOptions extends RuntimeReplacementAuthority {
27
28
  runtimeConcurrencyCaps?: RuntimeConcurrencyCaps;
28
29
  storeFacts?: () => DaemonStoreFacts;
29
30
  commands: CommandBackend;
31
+ deferredStart?: () => DeferredStartPreparation | undefined;
30
32
  delegationAuthority?: DelegationAdmissionAuthority;
31
33
  maxHistory?: number;
32
34
  idempotencyRetentionMs?: number;
@@ -64,6 +66,7 @@ export declare class DaemonServer {
64
66
  private readonly activeTasks;
65
67
  private readonly taskFailures;
66
68
  private readonly commands;
69
+ private readonly deferred;
67
70
  private get active();
68
71
  private readonly startedAt;
69
72
  private stopping;
@@ -96,8 +99,10 @@ export declare class DaemonServer {
96
99
  cancelJob(jid: string, reasonCode?: CancelReasonCode): {
97
100
  id: string;
98
101
  cancelled: true;
102
+ deferredMessageStop: DeferredMessageStopReport;
99
103
  };
100
104
  private stoppingError;
105
+ private publishQueued;
101
106
  /** Age/cap and params-byte command retention: at normal admission and after every terminal. */
102
107
  pruneHistory(): void;
103
108
  private acceptCommand;
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAGxD,OAAO,EAGL,KAAK,kBAAkB,IAAI,uBAAuB,EAKlD,KAAK,gBAAgB,EACrB,KAAK,yBAAyB,EAC9B,KAAK,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAAoB,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEzF,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;AAIhC,OAAO,EAAE,KAAK,4BAA4B,EAAE,MAAM,2BAA2B,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAIlB,KAAK,SAAS,EACf,MAAM,iBAAiB,CAAC;AASzB,OAAO,EAIL,KAAK,yBAAyB,EAC/B,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,EAAuB,KAAK,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACjG,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,CAAC;AAE3D,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,iBAAiB,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAClD,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;CAC/E;AAED,MAAM,MAAM,QAAQ,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,UAAU,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;AAE9E,MAAM,WAAW,aAAc,SAAQ,2BAA2B;IAChE,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,CAAC;IACjB,aAAa,CAAC,EAAE,gBAAgB,CAAC;IACjC,4FAA4F;IAC5F,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,UAAU,CAAC,EAAE,MAAM,gBAAgB,CAAC;IACpC,QAAQ,EAAE,cAAc,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,wBAAwB,GAAG,SAAS,CAAC;IAC3D,mBAAmB,CAAC,EAAE,4BAA4B,CAAC;IACnD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB;;0BAEsB;IACtB,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3D,wEAAwE;IACxE,iBAAiB,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,KAAK,IAAI,CAAC;IAChD;;;;wEAIoE;IACpE,mBAAmB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,uBAAuB,KAAK,IAAI,CAAC;IACjF,mBAAmB,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,6BAA6B,CAAC,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,8EAA8E;IAC9E,WAAW,CAAC,EAAE,yBAAyB,CAAC;IACxC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,CACf,OAAO,EAAE,sBAAsB,GAAG,qBAAqB,KACpD,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED;uDACuD;AACvD,qBAAa,YAAY;IAwBX,OAAO,CAAC,QAAQ,CAAC,IAAI;IAvBjC,OAAO,CAAC,MAAM,CAAC,CAAS;IACxB,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAsB;IAChD,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmC;IAC9D,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAqB;IAC/C,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAsC;IAClE,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuB;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA4B;IACxD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAiB;IAC9C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;IAC1C,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAmB;IAC5C,OAAO,KAAK,MAAM,GAEjB;IACD,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAc;IACxC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAC,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAC,CAAgB;IACpC,OAAO,CAAC,eAAe,CAAc;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAE7B;IAEH,YAA6B,IAAI,EAAE,aAAa,EAU/C;IAEK,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAgB3B;YAEa,SAAS;IAyBvB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpB;IAED;oFACgF;IAChF,oBAAoB,IAAI,OAAO,CAAC,IAAI,CAAC,CAIpC;YAEa,QAAQ;IA+DtB,qDAAqD;IACrD,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC,CAE/B;IAED,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,IAAI;YAIE,MAAM;IAqBpB;+EAC2E;IACrE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,CAmF5D;IAED,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAyB;IAErD;sFACkF;IAClF,SAAS,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAOzC;IAED;+EAC2E;IAC3E,SAAS,CACP,GAAG,EAAE,MAAM,EACX,UAAU,CAAC,EAAE,gBAAgB,GAC5B;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,IAAI,CAAC;QAAC,mBAAmB,EAAE,yBAAyB,CAAA;KAAE,CAoBjF;IAED,OAAO,CAAC,aAAa;IAIrB,OAAO,CAAC,aAAa;IAWrB,+FAA+F;IAC/F,YAAY,IAAI,IAAI,CAOnB;IAED,OAAO,CAAC,aAAa;IAwBrB,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,UAAU;IAKlB;wFACoF;IACpF,OAAO,CAAC,KAAK;YA4BC,MAAM;CAoFrB"}
package/dist/server.js CHANGED
@@ -4,9 +4,11 @@ import { createServer } from "node:net";
4
4
  import { ControlRunStartRequest, TurnEnqueueProblem, delegatedParentOf, resolveRunReviewRequested, normalizeCancelReasonCode, isTerminalLifecycle, } from "@claudexor/schema";
5
5
  import { daemonHealth, daemonConcurrencyCaps } from "./daemon-health.js";
6
6
  import { RpcFollowers } from "./rpc-followers.js";
7
- import { assertNoInlineSecretValues, newId, nowIso, pathExists } from "@claudexor/util";
7
+ import { newId, nowIso, pathExists } from "@claudexor/util";
8
+ import { DeferredMessages } from "./deferred-messages.js";
9
+ import { enqueueCommand } from "./enqueue-command.js";
8
10
  import { commandStoreForId, commandStoreForRequest, } from "./command-authority.js";
9
- import { commandAcceptanceReceipt, admitCommandRequest, findAcceptedCommand, publicAcceptedCommand, } from "./command-rpc.js";
11
+ import { publicAcceptedCommand } from "./command-rpc.js";
10
12
  import { parseCommandListQuery } from "./command-list-select.js";
11
13
  import { clearStaleUnixSocketPath, listenOnDaemonEndpoint } from "./daemon-listen.js";
12
14
  import { jobStateFromResult, publicJobRecord, resultReason, resultSummary, } from "./job-record.js";
@@ -31,6 +33,7 @@ export class DaemonServer {
31
33
  activeTasks = new Set();
32
34
  taskFailures = [];
33
35
  commands;
36
+ deferred;
34
37
  get active() {
35
38
  return this.activeJobs.size;
36
39
  }
@@ -46,6 +49,13 @@ export class DaemonServer {
46
49
  this.opts = opts;
47
50
  this.concurrency = daemonConcurrencyCaps(opts);
48
51
  this.commands = opts.commands;
52
+ this.deferred = new DeferredMessages({
53
+ commands: this.commands,
54
+ preparation: () => this.opts.deferredStart?.(),
55
+ active: (id) => this.activeJobs.has(id),
56
+ stopped: (id) => this.cancelled.has(id),
57
+ publish: (record) => this.publishQueued(record),
58
+ });
49
59
  }
50
60
  async start() {
51
61
  if (this.stopping) {
@@ -102,6 +112,8 @@ export class DaemonServer {
102
112
  return this.stopPromise;
103
113
  }
104
114
  async stopOnce(recoverStore = false) {
115
+ // Unsaved next-message holds join the drain report; they never block the abort.
116
+ const unsaved = this.deferred.shutdown();
105
117
  for (const controller of this.controllers.values()) {
106
118
  try {
107
119
  controller.abort("host_cancelled");
@@ -110,13 +122,14 @@ export class DaemonServer {
110
122
  /* already gone */
111
123
  }
112
124
  }
113
- const settled = await Promise.allSettled([...this.activeTasks]);
125
+ const settled = await Promise.allSettled([...this.activeTasks, this.deferred.drained()]);
114
126
  const rejected = settled.filter((entry) => entry.status === "rejected");
115
- const failures = [...rejected.map((entry) => entry.reason), ...this.taskFailures];
127
+ const failures = [...rejected.map((entry) => entry.reason), ...this.taskFailures, ...unsaved];
116
128
  if (this.active !== 0 ||
117
129
  failures.some((error) => !recoverStore || !storageOnlyFailure(error))) {
118
130
  const first = rejected[0]?.reason ??
119
131
  this.taskFailures[0] ??
132
+ unsaved[0] ??
120
133
  new Error(`daemon still owns ${this.active} active runner(s)`);
121
134
  throw Object.assign(new Error(`daemon shutdown drain failed: ${first instanceof Error ? first.message : String(first)}`), {
122
135
  code: "daemon_shutdown_unconfirmed",
@@ -203,39 +216,22 @@ export class DaemonServer {
203
216
  if (servingMode !== "normal")
204
217
  throw recoveryOnlyRefusal(method);
205
218
  switch (method) {
206
- case "claudexor.enqueue": {
207
- if (this.stopping) {
208
- throw Object.assign(new Error("daemon is stopping; retry after reconnect"), {
209
- code: "daemon_stopping",
210
- status: 503,
211
- });
212
- }
213
- const envelope = params;
214
- const rawRequest = envelope?.request;
215
- const operation = typeof envelope.operation === "string" ? envelope.operation : undefined;
216
- const idempotencyKey = String(envelope?.idempotencyKey ?? "");
217
- const clientId = String(envelope?.clientId ?? "daemon-client");
218
- assertNoInlineSecretValues(rawRequest, "$", "daemon job params");
219
- // Idempotency precedes Delegate admission: replaying the exact command
220
- // must keep returning its durable job even after the parent is fenced
221
- // or its monotonic eight-child allowance is full. A different request
222
- // under the same key still conflicts inside find().
223
- const replay = findAcceptedCommand(this.commands, envelope);
224
- if (replay)
225
- return commandAcceptanceReceipt(replay, true);
226
- // Journal-owned belt admission spans retries/processes; ordinary
227
- // parentRunId alone never establishes delegated lineage.
228
- const request = admitCommandRequest(this.commands, rawRequest, operation, this.opts.delegationAuthority);
229
- const delegatedFrom = delegatedParentOf(request);
230
- const accepted = this.acceptCommand(request, idempotencyKey, clientId, envelope.idempotencyRequest, operation);
231
- if (!accepted.reused && delegatedFrom) {
232
- this.opts.delegationAuthority.noteChildAccepted(delegatedFrom, accepted.record.id);
233
- }
234
- if (!accepted.reused)
235
- this.queue.push(admissionJob(accepted.record));
236
- void this.drain();
237
- return commandAcceptanceReceipt(accepted.record, accepted.reused);
238
- }
219
+ case "claudexor.enqueue":
220
+ return enqueueCommand(params, {
221
+ commands: this.commands,
222
+ stopping: this.stopping,
223
+ delegation: this.opts.delegationAuthority,
224
+ accept: this.acceptCommand.bind(this),
225
+ publish: (record) => this.publishQueued(record),
226
+ });
227
+ case "claudexor.deferredMessage":
228
+ return this.deferred.mutate(params);
229
+ case "claudexor.deferredMessageRead":
230
+ return this.deferred.read(String(params?.draftId), params);
231
+ case "claudexor.deferredMessageProjection":
232
+ return this.deferred.projection(String(params?.predecessorId), params);
233
+ case "claudexor.deferredMessageStop":
234
+ return this.deferred.stop(String(params?.predecessorId), params);
239
235
  case "claudexor.status": {
240
236
  const rec = this.getRecord(String(params?.id));
241
237
  if (!rec)
@@ -308,11 +304,23 @@ export class DaemonServer {
308
304
  // the terminal writers. Only enum members reach this parameter: RunControl
309
305
  // validates the HTTP boundary, normalizeCancelReasonCode the raw RPC.
310
306
  this.controllers.get(jid)?.abort(reasonCode || undefined);
311
- return { id: jid, cancelled: true };
307
+ // The ordinary stop above never waits on this write. If the hold cannot be
308
+ // saved, its typed failure follows the stop and the fences keep the next
309
+ // message unsent.
310
+ return { id: jid, cancelled: true, deferredMessageStop: this.deferred.stop(rec.id) };
312
311
  }
313
312
  stoppingError(message) {
314
313
  return Object.assign(new Error(message), { code: "daemon_stopping", status: 503 });
315
314
  }
315
+ publishQueued(record) {
316
+ if (record.state !== "queued" ||
317
+ this.activeJobs.has(record.id) ||
318
+ this.queue.some((job) => job.id === record.id))
319
+ return;
320
+ this.queue.push(admissionJob(record));
321
+ if (!this.stopping)
322
+ void this.drain();
323
+ }
316
324
  /** Age/cap and params-byte command retention: at normal admission and after every terminal. */
317
325
  pruneHistory() {
318
326
  const removed = this.commands.pruneHistory(this.opts.maxHistory ?? 500, this.opts.idempotencyRetentionMs ?? 30 * 24 * 60 * 60 * 1_000, (this.opts.now ?? (() => new Date()))().getTime());
@@ -456,9 +464,16 @@ export class DaemonServer {
456
464
  }
457
465
  }
458
466
  }
459
- this.pruneHistory();
460
- if (!this.stopping)
461
- this.drain();
467
+ try {
468
+ this.pruneHistory();
469
+ if (!this.stopping)
470
+ this.drain();
471
+ }
472
+ finally {
473
+ // The freed slot is reused before the next message's asynchronous
474
+ // dispatch validation; an accepted successor joins the same queue.
475
+ await this.deferred.settled(id);
476
+ }
462
477
  }
463
478
  }
464
479
  }
@@ -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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"}
@@ -18,8 +18,8 @@ export interface BodyRef {
18
18
  * orphan sweep both ask this exact question so a file can only be removed
19
19
  * when no index of any table points at its digest. `?1` is the bare hex digest.
20
20
  */
21
- export declare const BLOB_OWNER_PREDICATE = "EXISTS(SELECT 1 FROM command WHERE params_sha = ?1)\n OR EXISTS(SELECT 1 FROM command WHERE result_sha = ?1)\n OR EXISTS(SELECT 1 FROM turn WHERE prompt_sha = ?1)\n OR EXISTS(SELECT 1 FROM event WHERE payload_sha = ?1)\n OR EXISTS(SELECT 1 FROM resource WHERE sha256 = ?1 AND state IN ('publishing', 'ready'))\n OR EXISTS(SELECT 1 FROM upload WHERE finalize_sha = ?1)\n OR EXISTS(SELECT 1 FROM effect_obligation WHERE kind = 'publish_blob'\n AND json_extract(CAST(payload AS TEXT), '$.sha') = ?1)";
22
- export declare const BLOB_OWNER_SQL = "SELECT (EXISTS(SELECT 1 FROM command WHERE params_sha = ?1)\n OR EXISTS(SELECT 1 FROM command WHERE result_sha = ?1)\n OR EXISTS(SELECT 1 FROM turn WHERE prompt_sha = ?1)\n OR EXISTS(SELECT 1 FROM event WHERE payload_sha = ?1)\n OR EXISTS(SELECT 1 FROM resource WHERE sha256 = ?1 AND state IN ('publishing', 'ready'))\n OR EXISTS(SELECT 1 FROM upload WHERE finalize_sha = ?1)\n OR EXISTS(SELECT 1 FROM effect_obligation WHERE kind = 'publish_blob'\n AND json_extract(CAST(payload AS TEXT), '$.sha') = ?1)) AS owned";
21
+ export declare const BLOB_OWNER_PREDICATE = "EXISTS(SELECT 1 FROM command WHERE params_sha = ?1)\n OR EXISTS(SELECT 1 FROM command WHERE result_sha = ?1)\n OR EXISTS(SELECT 1 FROM deferred_message WHERE body_sha = ?1)\n OR EXISTS(SELECT 1 FROM turn WHERE prompt_sha = ?1)\n OR EXISTS(SELECT 1 FROM event WHERE payload_sha = ?1)\n OR EXISTS(SELECT 1 FROM resource WHERE sha256 = ?1 AND state IN ('publishing', 'ready'))\n OR EXISTS(SELECT 1 FROM upload WHERE finalize_sha = ?1)\n OR EXISTS(SELECT 1 FROM effect_obligation WHERE kind = 'publish_blob'\n AND json_extract(CAST(payload AS TEXT), '$.sha') = ?1)";
22
+ export declare const BLOB_OWNER_SQL = "SELECT (EXISTS(SELECT 1 FROM command WHERE params_sha = ?1)\n OR EXISTS(SELECT 1 FROM command WHERE result_sha = ?1)\n OR EXISTS(SELECT 1 FROM deferred_message WHERE body_sha = ?1)\n OR EXISTS(SELECT 1 FROM turn WHERE prompt_sha = ?1)\n OR EXISTS(SELECT 1 FROM event WHERE payload_sha = ?1)\n OR EXISTS(SELECT 1 FROM resource WHERE sha256 = ?1 AND state IN ('publishing', 'ready'))\n OR EXISTS(SELECT 1 FROM upload WHERE finalize_sha = ?1)\n OR EXISTS(SELECT 1 FROM effect_obligation WHERE kind = 'publish_blob'\n AND json_extract(CAST(payload AS TEXT), '$.sha') = ?1)) AS owned";
23
23
  /** Inline bytes and their final reference disappear in one durable prefix. */
24
24
  export declare function deleteUnownedInlineInTx(sql: SqlWriteContext, sha256: string): void;
25
25
  export declare function sha256Hex(bytes: Uint8Array): string;
@@ -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,sgBAOkC,CAAC;AACpE,eAAO,MAAM,cAAc,whBAA8C,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;;;;;;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"}
@@ -13,6 +13,7 @@ export const INLINE_BODY_MAX_BYTES = 64 * 1024;
13
13
  */
14
14
  export const BLOB_OWNER_PREDICATE = `EXISTS(SELECT 1 FROM command WHERE params_sha = ?1)
15
15
  OR EXISTS(SELECT 1 FROM command WHERE result_sha = ?1)
16
+ OR EXISTS(SELECT 1 FROM deferred_message WHERE body_sha = ?1)
16
17
  OR EXISTS(SELECT 1 FROM turn WHERE prompt_sha = ?1)
17
18
  OR EXISTS(SELECT 1 FROM event WHERE payload_sha = ?1)
18
19
  OR EXISTS(SELECT 1 FROM resource WHERE sha256 = ?1 AND state IN ('publishing', 'ready'))
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"command-prune.d.ts","sourceRoot":"","sources":["../../src/store/command-prune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAMtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;wEAEwE;AACxE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,EAAE,CAkC/F;AAED;iFACiF;AACjF,qBAAa,gBAAgB;IAGzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,WAAW,CAAgC;IACnD,YACmB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE;QACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,gBAAgB,CAAC,EAAE,OAAO,qBAAqB,CAAC;KAC5C,EACJ;IAEJ,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAuBpE;IAED,KAAK,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAchD;IAED;;4EAEwE;IACxE,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,OAAO;CAGhB"}
1
+ {"version":3,"file":"command-prune.d.ts","sourceRoot":"","sources":["../../src/store/command-prune.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AACnF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEjD,OAAO,EAAmC,KAAK,eAAe,EAAE,MAAM,eAAe,CAAC;AAMtF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,KAAK,QAAQ,GAAG;IACd,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B,CAAC;AAEF;;wEAEwE;AACxE,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,SAAS,QAAQ,EAAE,GAAG,MAAM,EAAE,CA6C/F;AAED;iFACiF;AACjF,qBAAa,gBAAgB;IAGzB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,WAAW,CAAgC;IACnD,YACmB,KAAK,EAAE,WAAW,EAClB,KAAK,EAAE,SAAS,EAChB,OAAO,GAAE;QACxB,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;QAChC,gBAAgB,CAAC,EAAE,OAAO,qBAAqB,CAAC;KAC5C,EACJ;IAEJ,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAwBpE;IAED,KAAK,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAchD;IAED;;4EAEwE;IACxE,OAAO,CAAC,kBAAkB;IAiD1B,OAAO,CAAC,OAAO;CAGhB"}
@@ -10,7 +10,18 @@ export function applyCommandPruneInTx(sql, rows) {
10
10
  requireTransaction(sql);
11
11
  const released = [];
12
12
  for (const row of rows) {
13
+ if (draftRetainsCommand(sql, row.id))
14
+ continue;
13
15
  const keys = [`c:${row.id}:a`, `c:${row.id}:u`];
16
+ const drafts = sql
17
+ .prepare("DELETE FROM deferred_message WHERE pid=? AND predecessor_job_id=? AND state IN ('cleared','dispatched') RETURNING id,body_sha")
18
+ .all(row.pid, row.id);
19
+ for (const draft of drafts) {
20
+ keys.push(`draft:${draft.id}`);
21
+ if (draft.body_sha)
22
+ released.push(draft.body_sha);
23
+ deleteTargetIdempotencyInTx(sql, "deferred_message", row.pid, draft.id);
24
+ }
14
25
  if (row.run_id) {
15
26
  keys.push(`r:${row.run_id}:c`, `r:${row.run_id}:live`, `r:${row.run_id}:t`, `d:${row.run_id}`);
16
27
  const interactions = sql
@@ -54,10 +65,11 @@ export class SqlCommandPruner {
54
65
  now: new Date(now),
55
66
  retentionMs,
56
67
  cap,
57
- exempt: (candidate) => !!(candidate.runDir &&
58
- candidate.runId &&
59
- ((this.options.retainedEnvelope ?? retainedEnvelopeOfRun)(candidate.runDir, candidate.runId) ||
60
- holdsRetainedSources(candidate.runDir, candidate.runId, (error) => this.options.log?.(`command retention kept ${candidate.id}: retained sources of run ${candidate.runId} are unreadable: ${error instanceof Error ? error.message : String(error)}`)))),
68
+ exempt: (candidate) => draftRetainsCommand(this.store, candidate.id) ||
69
+ !!(candidate.runDir &&
70
+ candidate.runId &&
71
+ ((this.options.retainedEnvelope ?? retainedEnvelopeOfRun)(candidate.runDir, candidate.runId) ||
72
+ holdsRetainedSources(candidate.runDir, candidate.runId, (error) => this.options.log?.(`command retention kept ${candidate.id}: retained sources of run ${candidate.runId} are unreadable: ${error instanceof Error ? error.message : String(error)}`)))),
61
73
  });
62
74
  this.prune(selection.victims.map((row) => row.id));
63
75
  this.pruneReceiptEvents(now);
@@ -121,4 +133,10 @@ export class SqlCommandPruner {
121
133
  collectReleasedBodies(this.store, this.blobs, digests, this.options.log);
122
134
  }
123
135
  }
136
+ function draftRetainsCommand(sql, id) {
137
+ return !!sql
138
+ .prepare(`SELECT 1 FROM deferred_message WHERE predecessor_job_id=? AND state IN ('waiting','held')
139
+ UNION ALL SELECT 1 FROM deferred_message WHERE successor_job_id=? LIMIT 1`)
140
+ .get(id, id);
141
+ }
124
142
  //# sourceMappingURL=command-prune.js.map