@claudexor/daemon 4.6.2 → 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.
- package/dist/client.d.ts +203 -1
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +14 -0
- package/dist/client.js.map +1 -1
- package/dist/command-authority.d.ts +2 -0
- package/dist/command-authority.d.ts.map +1 -1
- package/dist/command-authority.js.map +1 -1
- package/dist/command-rpc.d.ts +1 -1
- package/dist/command-rpc.d.ts.map +1 -1
- package/dist/command-rpc.js +5 -2
- package/dist/command-rpc.js.map +1 -1
- package/dist/deferred-message-owner.d.ts +24 -0
- package/dist/deferred-message-owner.d.ts.map +1 -0
- package/dist/deferred-message-owner.js +12 -0
- package/dist/deferred-message-owner.js.map +1 -0
- package/dist/deferred-messages.d.ts +182 -0
- package/dist/deferred-messages.d.ts.map +1 -0
- package/dist/deferred-messages.js +285 -0
- package/dist/deferred-messages.js.map +1 -0
- package/dist/enqueue-command.d.ts +19 -0
- package/dist/enqueue-command.d.ts.map +1 -0
- package/dist/enqueue-command.js +37 -0
- package/dist/enqueue-command.js.map +1 -0
- package/dist/exact-retry-defaults.d.ts +7 -0
- package/dist/exact-retry-defaults.d.ts.map +1 -0
- package/dist/exact-retry-defaults.js +32 -0
- package/dist/exact-retry-defaults.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/interactions.d.ts +7 -1
- package/dist/interactions.d.ts.map +1 -1
- package/dist/interactions.js +40 -0
- package/dist/interactions.js.map +1 -1
- package/dist/quota-registry-support.d.ts +2 -2
- package/dist/quota-registry.d.ts +5 -5
- package/dist/run-observation.d.ts +7 -0
- package/dist/run-observation.d.ts.map +1 -0
- package/dist/run-observation.js +100 -0
- package/dist/run-observation.js.map +1 -0
- package/dist/server.d.ts +6 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +56 -41
- package/dist/server.js.map +1 -1
- package/dist/store/blob-files.d.ts +2 -2
- package/dist/store/blob-files.d.ts.map +1 -1
- package/dist/store/blob-files.js +1 -0
- package/dist/store/blob-files.js.map +1 -1
- package/dist/store/command-prune.d.ts.map +1 -1
- package/dist/store/command-prune.js +22 -4
- package/dist/store/command-prune.js.map +1 -1
- package/dist/store/command-queries.d.ts +6 -2
- package/dist/store/command-queries.d.ts.map +1 -1
- package/dist/store/command-queries.js +66 -1
- package/dist/store/command-queries.js.map +1 -1
- package/dist/store/commands.d.ts +22 -0
- package/dist/store/commands.d.ts.map +1 -1
- package/dist/store/commands.js +26 -13
- package/dist/store/commands.js.map +1 -1
- package/dist/store/deferred-message-rows.d.ts +23 -0
- package/dist/store/deferred-message-rows.d.ts.map +1 -0
- package/dist/store/deferred-message-rows.js +59 -0
- package/dist/store/deferred-message-rows.js.map +1 -0
- package/dist/store/deferred-messages.d.ts +58 -0
- package/dist/store/deferred-messages.d.ts.map +1 -0
- package/dist/store/deferred-messages.js +439 -0
- package/dist/store/deferred-messages.js.map +1 -0
- package/dist/store/deferred-retention.d.ts +6 -0
- package/dist/store/deferred-retention.d.ts.map +1 -0
- package/dist/store/deferred-retention.js +30 -0
- package/dist/store/deferred-retention.js.map +1 -0
- package/dist/store/generations.d.ts.map +1 -1
- package/dist/store/generations.js +7 -0
- package/dist/store/generations.js.map +1 -1
- package/dist/store/idempotency.d.ts +2 -2
- package/dist/store/idempotency.d.ts.map +1 -1
- package/dist/store/idempotency.js +4 -2
- package/dist/store/idempotency.js.map +1 -1
- package/dist/store/importer.js +3 -1
- package/dist/store/importer.js.map +1 -1
- package/dist/store/interactions.d.ts +2 -1
- package/dist/store/interactions.d.ts.map +1 -1
- package/dist/store/interactions.js +11 -1
- package/dist/store/interactions.js.map +1 -1
- package/dist/store/publish-blob.d.ts +4 -0
- package/dist/store/publish-blob.d.ts.map +1 -1
- package/dist/store/publish-blob.js +33 -10
- package/dist/store/publish-blob.js.map +1 -1
- package/dist/store/resource-rows.d.ts +6 -0
- package/dist/store/resource-rows.d.ts.map +1 -1
- package/dist/store/resource-rows.js.map +1 -1
- package/dist/store/resources.d.ts +22 -0
- package/dist/store/resources.d.ts.map +1 -1
- package/dist/store/resources.js +6 -0
- package/dist/store/resources.js.map +1 -1
- package/dist/store/retention-changes.d.ts +1 -0
- package/dist/store/retention-changes.d.ts.map +1 -1
- package/dist/store/retention-changes.js +1 -0
- package/dist/store/retention-changes.js.map +1 -1
- package/dist/store/retention-pages.d.ts +1 -1
- package/dist/store/retention-pages.d.ts.map +1 -1
- package/dist/store/retention-pages.js.map +1 -1
- package/dist/store/retention-references.d.ts.map +1 -1
- package/dist/store/retention-references.js +4 -0
- package/dist/store/retention-references.js.map +1 -1
- package/dist/store/retention.d.ts.map +1 -1
- package/dist/store/retention.js +5 -0
- package/dist/store/retention.js.map +1 -1
- package/dist/store/schema.d.ts +9 -2
- package/dist/store/schema.d.ts.map +1 -1
- package/dist/store/schema.js +35 -2
- package/dist/store/schema.js.map +1 -1
- package/dist/store/sql-command-router.d.ts +4 -0
- package/dist/store/sql-command-router.d.ts.map +1 -1
- package/dist/store/sql-command-router.js +18 -0
- package/dist/store/sql-command-router.js.map +1 -1
- package/dist/store/sql-daemon-services.d.ts.map +1 -1
- package/dist/store/sql-daemon-services.js +14 -1
- package/dist/store/sql-daemon-services.js.map +1 -1
- package/dist/store/sql-validation.d.ts.map +1 -1
- package/dist/store/sql-validation.js +8 -0
- package/dist/store/sql-validation.js.map +1 -1
- package/dist/store/store.d.ts +1 -1
- package/dist/store/store.d.ts.map +1 -1
- package/dist/store/thread-history-read.d.ts +81 -0
- package/dist/store/thread-history-read.d.ts.map +1 -0
- package/dist/store/thread-history-read.js +215 -0
- package/dist/store/thread-history-read.js.map +1 -0
- package/dist/store/thread-prompt-read.d.ts +7 -0
- package/dist/store/thread-prompt-read.d.ts.map +1 -0
- package/dist/store/thread-prompt-read.js +62 -0
- package/dist/store/thread-prompt-read.js.map +1 -0
- package/dist/store/upload-binding-retention.d.ts +3 -3
- package/dist/store/upload-binding-retention.d.ts.map +1 -1
- package/dist/store/upload-binding-retention.js +2 -1
- package/dist/store/upload-binding-retention.js.map +1 -1
- package/dist/store/upload-imports.d.ts +21 -0
- package/dist/store/upload-imports.d.ts.map +1 -0
- package/dist/store/upload-imports.js +96 -0
- package/dist/store/upload-imports.js.map +1 -0
- package/dist/store/uploads.d.ts +7 -2
- package/dist/store/uploads.d.ts.map +1 -1
- package/dist/store/uploads.js +44 -10
- package/dist/store/uploads.js.map +1 -1
- package/dist/store-contracts.d.ts +14 -1
- package/dist/store-contracts.d.ts.map +1 -1
- package/package.json +5 -5
package/dist/quota-registry.d.ts
CHANGED
|
@@ -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;
|
package/dist/server.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
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,sBAAsB,EAC3B,KAAK,gBAAgB,EACrB,KAAK,gBAAgB,EACrB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAI3B,OAAO,EAGL,KAAK,cAAc,EACpB,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
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 {
|
|
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 {
|
|
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
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
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
|
-
|
|
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
|
-
|
|
460
|
-
|
|
461
|
-
this.
|
|
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
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -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,
|
|
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"}
|
package/dist/store/blob-files.js
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAwB,MAAM,eAAe,CAAC;AAIzE,0FAA0F;AAC1F,MAAM,CAAC,MAAM,qBAAqB,GAAG,EAAE,GAAG,IAAI,CAAC;AAa/C;;;;GAIG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG
|
|
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,
|
|
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) =>
|
|
58
|
-
candidate.
|
|
59
|
-
|
|
60
|
-
|
|
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
|