@claudexor/cli 3.25.1 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/account-reset-services.d.ts +2 -2
- package/dist/account-reset-services.d.ts.map +1 -1
- package/dist/account-reset-services.js.map +1 -1
- package/dist/account-resource-query.d.ts +2 -2
- package/dist/account-resource-query.d.ts.map +1 -1
- package/dist/account-resource-query.js +3 -3
- package/dist/account-resource-query.js.map +1 -1
- package/dist/claude-statusline.d.ts +2 -4
- package/dist/claude-statusline.d.ts.map +1 -1
- package/dist/claude-statusline.js +6 -5
- package/dist/claude-statusline.js.map +1 -1
- package/dist/claudexord-entry.d.ts +7 -2
- package/dist/claudexord-entry.d.ts.map +1 -1
- package/dist/claudexord-entry.js +10 -3
- package/dist/claudexord-entry.js.map +1 -1
- package/dist/claudexord.d.ts +0 -1
- package/dist/claudexord.d.ts.map +1 -1
- package/dist/claudexord.js +308 -240
- package/dist/claudexord.js.map +1 -1
- package/dist/cli-error.js +3 -3
- package/dist/cli-error.js.map +1 -1
- package/dist/cli.js +4 -49
- package/dist/cli.js.map +1 -1
- package/dist/codex-quota-source.js +2 -2
- package/dist/codex-quota-source.js.map +1 -1
- package/dist/command-flags.d.ts.map +1 -1
- package/dist/command-flags.js +1 -0
- package/dist/command-flags.js.map +1 -1
- package/dist/command-registry.js +1 -1
- package/dist/command-registry.js.map +1 -1
- package/dist/continue-from-run.d.ts +7 -8
- package/dist/continue-from-run.d.ts.map +1 -1
- package/dist/continue-from-run.js +3 -4
- package/dist/continue-from-run.js.map +1 -1
- package/dist/control-api-address.d.ts +6 -0
- package/dist/control-api-address.d.ts.map +1 -0
- package/dist/control-api-address.js +53 -0
- package/dist/control-api-address.js.map +1 -0
- package/dist/control-services.d.ts +139 -115
- package/dist/control-services.d.ts.map +1 -1
- package/dist/control-services.js +11 -32
- package/dist/control-services.js.map +1 -1
- package/dist/daemon-admission-runtime.d.ts +0 -60
- package/dist/daemon-admission-runtime.d.ts.map +1 -1
- package/dist/daemon-admission-runtime.js +3 -168
- package/dist/daemon-admission-runtime.js.map +1 -1
- package/dist/daemon-agent-runner.d.ts +6 -3
- package/dist/daemon-agent-runner.d.ts.map +1 -1
- package/dist/daemon-agent-runner.js +2 -1
- package/dist/daemon-agent-runner.js.map +1 -1
- package/dist/daemon-lifecycle.d.ts +10 -3
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +16 -7
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/daemon-owner.d.ts +7 -0
- package/dist/daemon-owner.d.ts.map +1 -0
- package/dist/daemon-owner.js +39 -0
- package/dist/daemon-owner.js.map +1 -0
- package/dist/daemon-run.d.ts +8 -1
- package/dist/daemon-run.d.ts.map +1 -1
- package/dist/daemon-run.js +31 -3
- package/dist/daemon-run.js.map +1 -1
- package/dist/daemon-runtime-shutdown.d.ts +1 -1
- package/dist/daemon-runtime-shutdown.d.ts.map +1 -1
- package/dist/daemon-runtime-shutdown.js +2 -2
- package/dist/daemon-runtime-shutdown.js.map +1 -1
- package/dist/daemon-startup.d.ts +5 -42
- package/dist/daemon-startup.d.ts.map +1 -1
- package/dist/daemon-startup.js +7 -85
- package/dist/daemon-startup.js.map +1 -1
- package/dist/daemon-status-report.d.ts +4 -0
- package/dist/daemon-status-report.d.ts.map +1 -0
- package/dist/daemon-status-report.js +39 -0
- package/dist/daemon-status-report.js.map +1 -0
- package/dist/engine-skew.d.ts +1 -0
- package/dist/engine-skew.d.ts.map +1 -1
- package/dist/engine-skew.js +6 -2
- package/dist/engine-skew.js.map +1 -1
- package/dist/harness-maintenance-service.d.ts +9 -222
- package/dist/harness-maintenance-service.d.ts.map +1 -1
- package/dist/harness-maintenance-service.js +7 -37
- package/dist/harness-maintenance-service.js.map +1 -1
- package/dist/live.d.ts +2 -5
- package/dist/live.d.ts.map +1 -1
- package/dist/live.js +2 -44
- package/dist/live.js.map +1 -1
- package/dist/mcp-catalog-query.d.ts +2 -1
- package/dist/mcp-catalog-query.d.ts.map +1 -1
- package/dist/mcp-catalog-query.js +6 -5
- package/dist/mcp-catalog-query.js.map +1 -1
- package/dist/mcp-daemon-unavailable.d.ts.map +1 -1
- package/dist/mcp-daemon-unavailable.js +4 -3
- package/dist/mcp-daemon-unavailable.js.map +1 -1
- package/dist/mcp-journal-recovery.d.ts.map +1 -1
- package/dist/mcp-journal-recovery.js +4 -4
- package/dist/mcp-journal-recovery.js.map +1 -1
- package/dist/mcp-runner.d.ts +1 -1
- package/dist/mcp-runner.d.ts.map +1 -1
- package/dist/mcp-runner.js +8 -6
- package/dist/mcp-runner.js.map +1 -1
- package/dist/mcp-thread-query.d.ts +1 -1
- package/dist/mcp-thread-query.d.ts.map +1 -1
- package/dist/mcp-thread-query.js +2 -2
- package/dist/mcp-thread-query.js.map +1 -1
- package/dist/model-operation-control.d.ts +375 -0
- package/dist/model-operation-control.d.ts.map +1 -0
- package/dist/model-operation-control.js +16 -0
- package/dist/model-operation-control.js.map +1 -0
- package/dist/model-services.d.ts +302 -91
- package/dist/model-services.d.ts.map +1 -1
- package/dist/model-services.js +5 -7
- package/dist/model-services.js.map +1 -1
- package/dist/ops-commands.d.ts +1 -8
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +13 -16
- package/dist/ops-commands.js.map +1 -1
- package/dist/orphan-reaper.d.ts +18 -0
- package/dist/orphan-reaper.d.ts.map +1 -1
- package/dist/orphan-reaper.js +50 -0
- package/dist/orphan-reaper.js.map +1 -1
- package/dist/plugin-cli.d.ts +3 -0
- package/dist/plugin-cli.d.ts.map +1 -0
- package/dist/plugin-cli.js +57 -0
- package/dist/plugin-cli.js.map +1 -0
- package/dist/plugin-mcp.d.ts +3 -0
- package/dist/plugin-mcp.d.ts.map +1 -0
- package/dist/plugin-mcp.js +116 -0
- package/dist/plugin-mcp.js.map +1 -0
- package/dist/plugin-runtime.d.ts +24 -0
- package/dist/plugin-runtime.d.ts.map +1 -0
- package/dist/plugin-runtime.js +113 -0
- package/dist/plugin-runtime.js.map +1 -0
- package/dist/plugins.d.ts +2 -0
- package/dist/plugins.d.ts.map +1 -1
- package/dist/plugins.js +92 -184
- package/dist/plugins.js.map +1 -1
- package/dist/project-command.d.ts +4 -1
- package/dist/project-command.d.ts.map +1 -1
- package/dist/project-command.js +14 -5
- package/dist/project-command.js.map +1 -1
- package/dist/quota-services.d.ts +6 -4
- package/dist/quota-services.d.ts.map +1 -1
- package/dist/quota-services.js +58 -23
- package/dist/quota-services.js.map +1 -1
- package/dist/recovery-control-services.d.ts +99 -0
- package/dist/recovery-control-services.d.ts.map +1 -0
- package/dist/recovery-control-services.js +32 -0
- package/dist/recovery-control-services.js.map +1 -0
- package/dist/remote-filesystem.d.ts +3 -3
- package/dist/remote-filesystem.d.ts.map +1 -1
- package/dist/remote-filesystem.js.map +1 -1
- package/dist/request-preflight.d.ts +2 -2
- package/dist/request-preflight.d.ts.map +1 -1
- package/dist/request-preflight.js.map +1 -1
- package/dist/retention-service.d.ts +3 -3
- package/dist/retention-service.d.ts.map +1 -1
- package/dist/settings-command.d.ts.map +1 -1
- package/dist/settings-command.js +7 -2
- package/dist/settings-command.js.map +1 -1
- package/dist/settings-service.d.ts +66 -6
- package/dist/settings-service.d.ts.map +1 -1
- package/dist/settings-service.js +1 -1
- package/dist/settings-service.js.map +1 -1
- package/dist/setup-client-pty.js +1 -1
- package/dist/setup-client-pty.js.map +1 -1
- package/dist/setup-credential-window.d.ts +4 -4
- package/dist/setup-credential-window.d.ts.map +1 -1
- package/dist/setup-credential-window.js +1 -1
- package/dist/setup-credential-window.js.map +1 -1
- package/dist/setup-device-code-disclosure.js +1 -1
- package/dist/setup-device-code-disclosure.js.map +1 -1
- package/dist/setup-job-persistence.d.ts +30 -0
- package/dist/setup-job-persistence.d.ts.map +1 -0
- package/dist/setup-job-persistence.js +3 -0
- package/dist/setup-job-persistence.js.map +1 -0
- package/dist/{setup-job-store.d.ts → setup-job-projection.d.ts} +9 -17
- package/dist/setup-job-projection.d.ts.map +1 -0
- package/dist/{setup-job-store.js → setup-job-projection.js} +29 -68
- package/dist/setup-job-projection.js.map +1 -0
- package/dist/setup-job-support.js +1 -1
- package/dist/setup-job-support.js.map +1 -1
- package/dist/setup-jobs.d.ts +3 -4
- package/dist/setup-jobs.d.ts.map +1 -1
- package/dist/setup-jobs.js +3 -3
- package/dist/setup-jobs.js.map +1 -1
- package/dist/setup-lifecycle-binding.js +1 -1
- package/dist/setup-lifecycle-binding.js.map +1 -1
- package/dist/setup-login-completion.js +1 -1
- package/dist/setup-login-completion.js.map +1 -1
- package/dist/sql-daemon-queries.d.ts +24 -0
- package/dist/sql-daemon-queries.d.ts.map +1 -0
- package/dist/sql-daemon-queries.js +41 -0
- package/dist/sql-daemon-queries.js.map +1 -0
- package/dist/sql-daemon-runtime.d.ts +1415 -0
- package/dist/sql-daemon-runtime.d.ts.map +1 -0
- package/dist/sql-daemon-runtime.js +94 -0
- package/dist/sql-daemon-runtime.js.map +1 -0
- package/dist/sql-daemon-storage.d.ts +40 -0
- package/dist/sql-daemon-storage.d.ts.map +1 -0
- package/dist/sql-daemon-storage.js +203 -0
- package/dist/sql-daemon-storage.js.map +1 -0
- package/dist/sql-import-publication.d.ts +19 -0
- package/dist/sql-import-publication.d.ts.map +1 -0
- package/dist/sql-import-publication.js +54 -0
- package/dist/sql-import-publication.js.map +1 -0
- package/dist/sql-setup-lifecycle.d.ts +15 -0
- package/dist/sql-setup-lifecycle.d.ts.map +1 -0
- package/dist/sql-setup-lifecycle.js +28 -0
- package/dist/sql-setup-lifecycle.js.map +1 -0
- package/dist/sql-setup-store.d.ts +7 -0
- package/dist/sql-setup-store.d.ts.map +1 -0
- package/dist/sql-setup-store.js +102 -0
- package/dist/sql-setup-store.js.map +1 -0
- package/dist/sql-startup-storage.d.ts +15 -0
- package/dist/sql-startup-storage.d.ts.map +1 -0
- package/dist/sql-startup-storage.js +75 -0
- package/dist/sql-startup-storage.js.map +1 -0
- package/dist/thread-delivery.d.ts +2 -2
- package/dist/thread-purge.d.ts +8 -2
- package/dist/thread-purge.d.ts.map +1 -1
- package/dist/thread-purge.js +37 -8
- package/dist/thread-purge.js.map +1 -1
- package/dist/thread-turn-services.d.ts +2 -2
- package/dist/thread-turn-services.d.ts.map +1 -1
- package/dist/thread-turn-services.js.map +1 -1
- package/package.json +25 -26
- package/dist/setup-job-store.d.ts.map +0 -1
- package/dist/setup-job-store.js.map +0 -1
package/dist/control-services.js
CHANGED
|
@@ -26,6 +26,7 @@ import { createRunRequirementsPreflight } from "./request-preflight.js";
|
|
|
26
26
|
import { threadRunStartRequiresGit } from "./thread-execution-workspace.js";
|
|
27
27
|
import { applyThreadDiff } from "./thread-delivery.js";
|
|
28
28
|
import { assertCredentialProfileCompatibility } from "./profile-compatibility.js";
|
|
29
|
+
import { recoveryControlServices } from "./recovery-control-services.js";
|
|
29
30
|
import { remoteFilesystemServices } from "./remote-filesystem.js";
|
|
30
31
|
import { projectRunApplicability } from "./run-applicability.js";
|
|
31
32
|
import { threadTurnServices } from "./thread-turn-services.js";
|
|
@@ -52,7 +53,7 @@ function activeRunProjectRoot(job) {
|
|
|
52
53
|
export function controlServices(interactions, liveInputs, projects, threads, setupBinding, journalManager, authReadiness,
|
|
53
54
|
/** Lazy accessor (C5b): the store mkdirs on construction and only product
|
|
54
55
|
* routes touch it, so the recovery plane must never materialize it. */
|
|
55
|
-
resources, quotaRegistry, daemonJobs, effectiveConcurrencyCaps) {
|
|
56
|
+
resources, quotaRegistry, daemonJobs, effectiveConcurrencyCaps, purgeDurability) {
|
|
56
57
|
const secretStore = new SecretStore();
|
|
57
58
|
const listHarnesses = async (input) => {
|
|
58
59
|
const [statuses, git] = await Promise.all([
|
|
@@ -97,9 +98,8 @@ resources, quotaRegistry, daemonJobs, effectiveConcurrencyCaps) {
|
|
|
97
98
|
requiresGit: runStartRequiresGit,
|
|
98
99
|
});
|
|
99
100
|
const preflightThreadRunRequirements = createRunRequirementsPreflight(lazyResources, NO_PROJECT_ROOT, { requiresGit: runStartRequiresGit }, { git: "durable_job" });
|
|
100
|
-
//
|
|
101
|
-
|
|
102
|
-
const { purgeThread, hasPurgeLeftovers } = threadPurgeOwner(threads, NO_PROJECT_ROOT);
|
|
101
|
+
// Routes and retention share one thread purge and durability owner.
|
|
102
|
+
const { purgeThread, hasPurgeLeftovers } = threadPurgeOwner(threads, NO_PROJECT_ROOT, purgeDurability);
|
|
103
103
|
return {
|
|
104
104
|
preflightRunRequirements,
|
|
105
105
|
preflightThreadRunRequirements,
|
|
@@ -118,20 +118,13 @@ resources, quotaRegistry, daemonJobs, effectiveConcurrencyCaps) {
|
|
|
118
118
|
purgeThread,
|
|
119
119
|
hasPurgeLeftovers,
|
|
120
120
|
}),
|
|
121
|
-
//
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
const store = projects();
|
|
125
|
-
return {
|
|
126
|
-
projects: store.list().map((p) => ({ ...p, nesting: store.nestingFor(p.id) })),
|
|
127
|
-
};
|
|
128
|
-
},
|
|
129
|
-
// QA-067: filesystem routes are a remote-runtime-only surface — the local
|
|
130
|
-
// daemon never serves them (the routes answer 501 without these services).
|
|
121
|
+
// Nested projects are disclosed, never refused.
|
|
122
|
+
listProjects: async () => ({ projects: projects().listWithNesting() }),
|
|
123
|
+
// Filesystem routes are available only on the remote runtime.
|
|
131
124
|
...remoteFilesystemServices(projects),
|
|
132
125
|
registerProject: async (input) => {
|
|
133
|
-
const project = threads.registerProject(input);
|
|
134
|
-
return { ...project, nesting: projects().nestingFor(project.id) };
|
|
126
|
+
const { project, created } = threads.registerProject(input);
|
|
127
|
+
return { ...project, nesting: projects().nestingFor(project.id), created };
|
|
135
128
|
},
|
|
136
129
|
relinkProject: async (id, root) => {
|
|
137
130
|
const project = threads.relinkProject(id, root);
|
|
@@ -139,7 +132,7 @@ resources, quotaRegistry, daemonJobs, effectiveConcurrencyCaps) {
|
|
|
139
132
|
},
|
|
140
133
|
// QA-049 minimal project remove: retire the durable registry entry + archive
|
|
141
134
|
// the journal partition, fenced against non-purged threads and live/queued
|
|
142
|
-
// runs. The thread fence lives in
|
|
135
|
+
// runs. The thread fence lives in ProjectControlPort; the active-run set is
|
|
143
136
|
// read in process with no await before removal (project-scoped, non-terminal runs),
|
|
144
137
|
// canonicalized to match the store's realpath'd roots.
|
|
145
138
|
removeProject: async (id) => {
|
|
@@ -229,21 +222,7 @@ resources, quotaRegistry, daemonJobs, effectiveConcurrencyCaps) {
|
|
|
229
222
|
agentCapabilities: async () => buildAgentCapabilityCatalog(),
|
|
230
223
|
runApplicability: async (input) => projectRunApplicability(input.repoRoot),
|
|
231
224
|
...setupJobControlServices(setupJobs),
|
|
232
|
-
|
|
233
|
-
recoveryInspectPartition: async (partition) => journalPartition(partition).inspect(),
|
|
234
|
-
recoveryValidatePartition: async (partition) => journalPartition(partition).validate(),
|
|
235
|
-
recoveryExportPartition: async (partition) => journalPartition(partition).exportRecovery(),
|
|
236
|
-
recoveryQuarantinePartition: async (partition, input) => {
|
|
237
|
-
const request = input;
|
|
238
|
-
if (partition !== "global") {
|
|
239
|
-
return journalPartition(partition).quarantineAndStartFresh(request);
|
|
240
|
-
}
|
|
241
|
-
const preflight = journalManager.preflightQuarantine(request);
|
|
242
|
-
if (preflight.disposition === "completed" && setupBinding.isBoundToCurrentGeneration()) {
|
|
243
|
-
return preflight.receipt;
|
|
244
|
-
}
|
|
245
|
-
return setupBinding.replaceAfter(() => journalManager.quarantineAndStartFresh(request));
|
|
246
|
-
},
|
|
225
|
+
...recoveryControlServices({ partition: journalPartition, setup: () => setupBinding }),
|
|
247
226
|
...settingsControlServices(NO_PROJECT_ROOT, effectiveConcurrencyCaps, bustStatusCaches),
|
|
248
227
|
...quotaControlServices(quotaRegistry),
|
|
249
228
|
// INV-135: durable registry + live doctor projection, one probe per
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"control-services.js","sourceRoot":"","sources":["../src/control-services.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"control-services.js","sourceRoot":"","sources":["../src/control-services.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,4 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Claudexord's startup-admission runtime, kept out of main() so the
|
|
3
|
-
* entrypoint stays a thin composition root:
|
|
4
|
-
*
|
|
5
|
-
* - C8: the best-effort post-authority diagnostics opener with launch
|
|
6
|
-
* provenance (a diagnostics failure never controls daemon lifecycle);
|
|
7
|
-
* - the quota poller armed only on normal admission (C1a);
|
|
8
|
-
* - D5 stage 4 as ONE single-flight completion shared by the startup path
|
|
9
|
-
* and the C6b recovery-route reopen, which re-runs it with a LIVE
|
|
10
|
-
* re-verdict so the daemon transitions to normal without a restart.
|
|
11
|
-
*/
|
|
12
|
-
import { withRunlessTurnRecovery, type DaemonServingMode, type JournalManager, type ProjectPartitions, type RootAuthorityGrant, type ThreadHeadPingSink } from "@claudexor/daemon";
|
|
13
|
-
import { type DaemonStartupAdmission } from "./daemon-startup.js";
|
|
14
1
|
import { type DaemonStartupDiagnostics } from "./startup-diagnostics.js";
|
|
15
|
-
/** Register after commands so runless-turn recovery sees interrupted jobs. */
|
|
16
|
-
export declare function registerDaemonThreadProjection(manager: JournalManager, commandRecords: Parameters<typeof withRunlessTurnRecovery>[1]): {
|
|
17
|
-
threadStoreSlot: import("@claudexor/daemon").JournalProjectionSlot<import("@claudexor/daemon").ThreadStore>;
|
|
18
|
-
threadHeadPing: ThreadHeadPingSink;
|
|
19
|
-
};
|
|
20
2
|
export interface StartupDiagnosticsHandle {
|
|
21
3
|
diagnostics: DaemonStartupDiagnostics | null;
|
|
22
4
|
recordStage(stage: string, message: string): void;
|
|
@@ -41,46 +23,4 @@ export declare function createDaemonQuotaPoller(poll: () => void): {
|
|
|
41
23
|
arm(): void;
|
|
42
24
|
stop(): void;
|
|
43
25
|
};
|
|
44
|
-
/** The composition root's normal-plane duties, run exactly once from either
|
|
45
|
-
* the startup path or the C6b reopen (C1a quota arming, C2 pid snapshots,
|
|
46
|
-
* C5a retired-key sweep persistence, setup binding, ghost quarantine,
|
|
47
|
-
* startup retention). */
|
|
48
|
-
export interface NormalPlaneDuties {
|
|
49
|
-
requested(): boolean;
|
|
50
|
-
armQuotaPolling(): void;
|
|
51
|
-
beginPidSnapshots(): void;
|
|
52
|
-
/** Unified-accounts startup migration (INV-135): runs FIRST on the normal
|
|
53
|
-
* plane — before setup jobs, so a login job can never race the registry
|
|
54
|
-
* write — and is crash-recoverable via its own phase file (an incomplete
|
|
55
|
-
* harness refuses runs typed until the next start finishes it). */
|
|
56
|
-
migrateAccounts(): void;
|
|
57
|
-
/** Command history retention (age/cap and the retained-params byte budget)
|
|
58
|
-
* over the just-activated registry; a heavy install must not carry its
|
|
59
|
-
* oldest prompts until the next terminal happens to prune them. */
|
|
60
|
-
pruneCommandHistory(): void;
|
|
61
|
-
startSetup(): Promise<void>;
|
|
62
|
-
quarantineGhosts(): void;
|
|
63
|
-
scheduleRetention(): void;
|
|
64
|
-
armJournalMaintenance(): void;
|
|
65
|
-
}
|
|
66
|
-
/** D5 stage 4, single-flight: the startup path runs it with the frozen
|
|
67
|
-
* stage-2 verdict; the C6b recovery-route reopen re-runs it with a live one.
|
|
68
|
-
* Concurrent callers join the in-flight completion. */
|
|
69
|
-
export declare function createStartupAdmissionRuntime(input: {
|
|
70
|
-
admission: DaemonStartupAdmission;
|
|
71
|
-
grant: Pick<RootAuthorityGrant, "advanceFloor">;
|
|
72
|
-
global: JournalManager;
|
|
73
|
-
partitions: ProjectPartitions;
|
|
74
|
-
diagnostics: StartupDiagnosticsHandle;
|
|
75
|
-
/** Project roots crash-GC may sweep, from the stage-2 prepared global
|
|
76
|
-
* command projection (accepted commands plus prune tombstones) instead of a
|
|
77
|
-
* second journal replay. */
|
|
78
|
-
knownProjectRoots: () => readonly string[];
|
|
79
|
-
/** Caller-owned execution roots of delegated runs (envelope scratch only). */
|
|
80
|
-
knownExecutionRoots?: () => readonly string[];
|
|
81
|
-
normalPlane: NormalPlaneDuties;
|
|
82
|
-
}): {
|
|
83
|
-
runAdmissionCompletion(blockedPartitions: () => string[]): Promise<DaemonServingMode>;
|
|
84
|
-
wrapQuarantineWithReopen<T>(service: (partition: string, request: unknown) => Promise<T>): (partition: string, request: unknown) => Promise<T>;
|
|
85
|
-
};
|
|
86
26
|
//# sourceMappingURL=daemon-admission-runtime.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-admission-runtime.d.ts","sourceRoot":"","sources":["../src/daemon-admission-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon-admission-runtime.d.ts","sourceRoot":"","sources":["../src/daemon-admission-runtime.ts"],"names":[],"mappings":"AAKA,OAAO,EAGL,KAAK,wBAAwB,EAC9B,MAAM,0BAA0B,CAAC;AAElC,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,wBAAwB,GAAG,IAAI,CAAC;IAC7C,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAClD,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IACrD,0EAA0E;IAC1E,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1C,KAAK,IAAI,IAAI,CAAC;CACf;AAED;;oEAEoE;AACpE,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE;IAC/C,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf,GAAG,wBAAwB,CAyC3B;AAED;;;uEAGuE;AACvE,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG;IAAE,GAAG,IAAI,IAAI,CAAC;IAAC,IAAI,IAAI,IAAI,CAAA;CAAE,CAcvF"}
|
|
@@ -1,40 +1,9 @@
|
|
|
1
|
-
/**
|
|
2
|
-
|
|
3
|
-
* entrypoint stays a thin composition root:
|
|
4
|
-
*
|
|
5
|
-
* - C8: the best-effort post-authority diagnostics opener with launch
|
|
6
|
-
* provenance (a diagnostics failure never controls daemon lifecycle);
|
|
7
|
-
* - the quota poller armed only on normal admission (C1a);
|
|
8
|
-
* - D5 stage 4 as ONE single-flight completion shared by the startup path
|
|
9
|
-
* and the C6b recovery-route reopen, which re-runs it with a LIVE
|
|
10
|
-
* re-verdict so the daemon transitions to normal without a restart.
|
|
11
|
-
*/
|
|
12
|
-
import { daemonDir, logPath, QUOTA_POLL_INTERVAL_MS, threadHeadPingProjection, threadProjection, withRunlessTurnRecovery, } from "@claudexor/daemon";
|
|
13
|
-
import { sweepRetiredConfigKeysAtStartup } from "@claudexor/config";
|
|
1
|
+
/** Startup diagnostics and quota polling shared by the SQL composition. */
|
|
2
|
+
import { daemonDir, logPath, QUOTA_POLL_INTERVAL_MS } from "@claudexor/daemon";
|
|
14
3
|
import { redactSecrets } from "@claudexor/util";
|
|
15
4
|
import { DAEMON_LAUNCH_SOURCE_ENV } from "./daemon-launch.js";
|
|
16
|
-
import { logLine
|
|
17
|
-
import { completeStartupAdmission, recoveryBlockedPartitions, } from "./daemon-startup.js";
|
|
5
|
+
import { logLine } from "./daemon-lifecycle.js";
|
|
18
6
|
import { openDaemonStartupDiagnosticsAfterAuthority, safeDaemonLaunchSource, } from "./startup-diagnostics.js";
|
|
19
|
-
/** Register after commands so runless-turn recovery sees interrupted jobs. */
|
|
20
|
-
export function registerDaemonThreadProjection(manager, commandRecords) {
|
|
21
|
-
// Sidebar invalidation ping (W12): a GLOBAL-partition emitter every
|
|
22
|
-
// ThreadStore (global + per-project) writes through, so any thread
|
|
23
|
-
// mutation reaches the app's single global stream. The ping is auxiliary
|
|
24
|
-
// invalidation — it must never fail the mutation that triggered it
|
|
25
|
-
// (mirrors the runner's turn-binding policy).
|
|
26
|
-
const threadHeadPingSlot = manager.registerProjection(threadHeadPingProjection());
|
|
27
|
-
const threadHeadPing = (ping) => {
|
|
28
|
-
try {
|
|
29
|
-
threadHeadPingSlot.current().ping(ping);
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
/* invalidation ping must never fail the thread mutation */
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
const threadStoreSlot = manager.registerProjection(withRunlessTurnRecovery(threadProjection(threadHeadPing), commandRecords));
|
|
36
|
-
return { threadStoreSlot, threadHeadPing };
|
|
37
|
-
}
|
|
38
7
|
/** C8: open the private post-authority diagnostics with full launch
|
|
39
8
|
* provenance (runtime identity, entry path, pid, data root, and the
|
|
40
9
|
* CLAUDEXOR_DAEMON_LAUNCH_SOURCE value coerced to a safe label). */
|
|
@@ -98,138 +67,4 @@ export function createDaemonQuotaPoller(poll) {
|
|
|
98
67
|
},
|
|
99
68
|
};
|
|
100
69
|
}
|
|
101
|
-
/** D5 stage 4, single-flight: the startup path runs it with the frozen
|
|
102
|
-
* stage-2 verdict; the C6b recovery-route reopen re-runs it with a live one.
|
|
103
|
-
* Concurrent callers join the in-flight completion. */
|
|
104
|
-
export function createStartupAdmissionRuntime(input) {
|
|
105
|
-
// Normal-plane side effects run exactly once, from whichever path opened
|
|
106
|
-
// normal admission first.
|
|
107
|
-
let normalAdmissionCompleted = false;
|
|
108
|
-
const onNormalAdmission = async () => {
|
|
109
|
-
if (normalAdmissionCompleted || input.normalPlane.requested())
|
|
110
|
-
return;
|
|
111
|
-
normalAdmissionCompleted = true;
|
|
112
|
-
input.normalPlane.armQuotaPolling();
|
|
113
|
-
// Crash-GC has consumed the previous life's pids.json by now; live
|
|
114
|
-
// snapshots may own the file again (C2).
|
|
115
|
-
input.normalPlane.beginPidSnapshots();
|
|
116
|
-
// Same-root config evolution hygiene (B9): persist the retired-key sweep
|
|
117
|
-
// only on the NORMAL plane (C5a). Pre-admission parses already tolerate
|
|
118
|
-
// retired keys via loadConfig's in-memory strip; unknown keys NOT on the
|
|
119
|
-
// retired registry still fail loud (INV-021).
|
|
120
|
-
for (const sweep of sweepRetiredConfigKeysAtStartup()) {
|
|
121
|
-
logLine(logPath(), `swept retired config keys from ${sweep.path}: ${sweep.removed.join(", ")}`);
|
|
122
|
-
}
|
|
123
|
-
input.normalPlane.migrateAccounts();
|
|
124
|
-
input.normalPlane.pruneCommandHistory();
|
|
125
|
-
await input.normalPlane.startSetup();
|
|
126
|
-
input.normalPlane.quarantineGhosts();
|
|
127
|
-
input.normalPlane.scheduleRetention();
|
|
128
|
-
input.normalPlane.armJournalMaintenance();
|
|
129
|
-
};
|
|
130
|
-
let admissionCompletion = null;
|
|
131
|
-
let frozenVerdictSuperseded = false;
|
|
132
|
-
const liveBlockedPartitions = () => recoveryBlockedPartitions({
|
|
133
|
-
globalPreparation: { inspection: input.global.inspect() },
|
|
134
|
-
partitionsPreparation: input.partitions.refreshPreparation(),
|
|
135
|
-
});
|
|
136
|
-
const runAdmissionCompletion = (blockedPartitions, supersedesFrozenVerdict = false) => {
|
|
137
|
-
if (input.admission.snapshot() === "normal")
|
|
138
|
-
return Promise.resolve("normal");
|
|
139
|
-
if (!admissionCompletion) {
|
|
140
|
-
// Resolve the read-only verdict before it enters the mutation flight. A
|
|
141
|
-
// throwing live inspection owns no slot, so a concurrent delayed startup
|
|
142
|
-
// can still use its authoritative frozen receipt. Once completion starts,
|
|
143
|
-
// every caller shares its success or failure without replaying duties.
|
|
144
|
-
let resolvedBlockedPartitions;
|
|
145
|
-
try {
|
|
146
|
-
resolvedBlockedPartitions = (frozenVerdictSuperseded ? liveBlockedPartitions : blockedPartitions)();
|
|
147
|
-
}
|
|
148
|
-
catch (error) {
|
|
149
|
-
return Promise.reject(error);
|
|
150
|
-
}
|
|
151
|
-
const completion = Promise.resolve().then(async () => {
|
|
152
|
-
const servingMode = await completeStartupAdmission({
|
|
153
|
-
grant: input.grant,
|
|
154
|
-
// Once a recovery mutation succeeds, the stage-2 startup snapshot
|
|
155
|
-
// predates operator-authorized state. A late startup completion must
|
|
156
|
-
// not overwrite the live re-verdict with those stale blockers.
|
|
157
|
-
blockedPartitions: resolvedBlockedPartitions,
|
|
158
|
-
global: {
|
|
159
|
-
// A manager already reopened by a recovery-route quarantine
|
|
160
|
-
// (openGeneration) is live authority; only still-prepared state
|
|
161
|
-
// revalidates (the reopen runs over a mix of both).
|
|
162
|
-
revalidatePreparation: () => {
|
|
163
|
-
if (!input.global.ready())
|
|
164
|
-
input.global.revalidatePreparation();
|
|
165
|
-
},
|
|
166
|
-
activatePrepared: () => input.global.activatePrepared(),
|
|
167
|
-
recoverAfterStartup: () => input.global.recoverAfterStartup(),
|
|
168
|
-
},
|
|
169
|
-
partitions: input.partitions,
|
|
170
|
-
crashGc: () => runStartupCrashGc({
|
|
171
|
-
daemonDir: daemonDir(),
|
|
172
|
-
logPath: logPath(),
|
|
173
|
-
knownProjectRoots: input.knownProjectRoots,
|
|
174
|
-
...(input.knownExecutionRoots
|
|
175
|
-
? { knownExecutionRoots: input.knownExecutionRoots }
|
|
176
|
-
: {}),
|
|
177
|
-
...(input.diagnostics.diagnostics
|
|
178
|
-
? { diagnostics: input.diagnostics.diagnostics }
|
|
179
|
-
: {}),
|
|
180
|
-
}),
|
|
181
|
-
admission: input.admission,
|
|
182
|
-
log: (message) => {
|
|
183
|
-
logLine(logPath(), message);
|
|
184
|
-
input.diagnostics.recordStage("startup_admission", message);
|
|
185
|
-
},
|
|
186
|
-
});
|
|
187
|
-
if (servingMode === "normal")
|
|
188
|
-
await onNormalAdmission();
|
|
189
|
-
// Publish successful LIVE freshness before this Promise can resolve
|
|
190
|
-
// and clear its slot. Delayed startup can then never observe both a
|
|
191
|
-
// vacant flight and the pre-mutation frozen verdict as authoritative.
|
|
192
|
-
if (supersedesFrozenVerdict)
|
|
193
|
-
frozenVerdictSuperseded = true;
|
|
194
|
-
return servingMode;
|
|
195
|
-
});
|
|
196
|
-
admissionCompletion = completion;
|
|
197
|
-
const clearCompletion = () => {
|
|
198
|
-
if (admissionCompletion === completion)
|
|
199
|
-
admissionCompletion = null;
|
|
200
|
-
};
|
|
201
|
-
void completion.then(clearCompletion, clearCompletion);
|
|
202
|
-
}
|
|
203
|
-
return admissionCompletion;
|
|
204
|
-
};
|
|
205
|
-
// C6b: after a successful recovery-route quarantine the daemon transitions
|
|
206
|
-
// to normal WITHOUT a restart, re-verdicting the CURRENT partition state.
|
|
207
|
-
const reopenAfterRecovery = async () => {
|
|
208
|
-
while (input.admission.snapshot() !== "normal") {
|
|
209
|
-
const joined = admissionCompletion;
|
|
210
|
-
if (joined) {
|
|
211
|
-
await joined.catch(() => { });
|
|
212
|
-
continue;
|
|
213
|
-
}
|
|
214
|
-
const servingMode = await runAdmissionCompletion(liveBlockedPartitions, true);
|
|
215
|
-
if (servingMode !== "normal")
|
|
216
|
-
return; // partitions still block: stay protected
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
return {
|
|
220
|
-
runAdmissionCompletion,
|
|
221
|
-
wrapQuarantineWithReopen: (service) => async (partition, request) => {
|
|
222
|
-
const receipt = await service(partition, request);
|
|
223
|
-
try {
|
|
224
|
-
await reopenAfterRecovery();
|
|
225
|
-
}
|
|
226
|
-
catch (error) {
|
|
227
|
-
// The quarantine itself SUCCEEDED; a failed reopen stays on the
|
|
228
|
-
// protected recovery plane and is disclosed.
|
|
229
|
-
logLine(logPath(), `recovery reopen failed; still serving recovery only: ${redactSecrets(error instanceof Error ? error.message : String(error))}`);
|
|
230
|
-
}
|
|
231
|
-
return receipt;
|
|
232
|
-
},
|
|
233
|
-
};
|
|
234
|
-
}
|
|
235
70
|
//# sourceMappingURL=daemon-admission-runtime.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-admission-runtime.js","sourceRoot":"","sources":["../src/daemon-admission-runtime.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"daemon-admission-runtime.js","sourceRoot":"","sources":["../src/daemon-admission-runtime.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAChD,OAAO,EACL,0CAA0C,EAC1C,sBAAsB,GAEvB,MAAM,0BAA0B,CAAC;AAWlC;;oEAEoE;AACpE,MAAM,UAAU,sBAAsB,CAAC,QAItC;IACC,IAAI,WAAW,GAAoC,IAAI,CAAC;IACxD,IAAI,CAAC;QACH,WAAW,GAAG,0CAA0C,CAAC;YACvD,cAAc,EAAE,QAAQ,CAAC,OAAO;YAChC,QAAQ,EAAE,QAAQ,CAAC,GAAG;YACtB,SAAS,EAAE,QAAQ,CAAC,KAAK;YACzB,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,QAAQ,EAAE,SAAS,EAAE;YACrB,YAAY,EAAE,sBAAsB,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;SAC5E,CAAC,CAAC;QACH,WAAW,CAAC,MAAM,CAAC;YACjB,KAAK,EAAE,oBAAoB;YAC3B,OAAO,EAAE,qDAAqD;SAC/D,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CACL,OAAO,EAAE,EACT,oCAAoC,aAAa,CAC/C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CACvD,EAAE,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,CAAC,KAAwD,EAAQ,EAAE;QAChF,IAAI,CAAC;YACH,WAAW,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;QAC7B,CAAC;QAAC,MAAM,CAAC;YACP,yCAAyC;QAC3C,CAAC;IACH,CAAC,CAAC;IACF,OAAO;QACL,WAAW;QACX,WAAW,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;QAC3D,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,iBAAiB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QACvF,GAAG,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;YACtB,MAAM,QAAQ,GAAG,aAAa,CAAC,OAAO,CAAC,CAAC;YACxC,OAAO,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;YAC7B,MAAM,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC;QACvC,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,KAAK,EAAE;KAClC,CAAC;AACJ,CAAC;AAED;;;uEAGuE;AACvE,MAAM,UAAU,uBAAuB,CAAC,IAAgB;IACtD,IAAI,KAAK,GAA0B,IAAI,CAAC;IACxC,OAAO;QACL,GAAG,EAAE,GAAG,EAAE;YACR,IAAI,KAAK;gBAAE,OAAO;YAClB,KAAK,GAAG,WAAW,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YAClD,KAAK,CAAC,KAAK,EAAE,CAAC;YACd,IAAI,EAAE,CAAC;QACT,CAAC;QACD,IAAI,EAAE,GAAG,EAAE;YACT,IAAI,KAAK;gBAAE,aAAa,CAAC,KAAK,CAAC,CAAC;YAChC,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,16 +1,19 @@
|
|
|
1
|
-
import type { InteractionRegistry, LiveInputRegistry,
|
|
1
|
+
import type { InteractionRegistry, LiveInputRegistry, ProjectThreadPort, CommandQueries, QuotaRegistry, ResourceStorePort, RunEventBus, RunnerFn } from "@claudexor/daemon";
|
|
2
2
|
import { type DelegationBudgetAuthority } from "@claudexor/orchestrator";
|
|
3
3
|
import { RuntimeConcurrencyCaps } from "@claudexor/schema";
|
|
4
|
+
import { buildRunOrchestrator } from "./run-orchestrator.js";
|
|
4
5
|
/** Agent commands alone own projects, tool execution, and conversation continuity.
|
|
5
6
|
* Model commands are dispatched before entering this run-normalization boundary. */
|
|
6
7
|
export declare function createDaemonAgentRunner(deps: {
|
|
7
8
|
delegationBudgetAuthority: DelegationBudgetAuthority;
|
|
8
9
|
quotaStore: () => QuotaRegistry;
|
|
9
|
-
threads:
|
|
10
|
+
threads: ProjectThreadPort;
|
|
11
|
+
commands: Pick<CommandQueries, "getByRunId">;
|
|
10
12
|
interactions: InteractionRegistry;
|
|
11
13
|
liveInputs: LiveInputRegistry;
|
|
12
|
-
resources: () =>
|
|
14
|
+
resources: () => ResourceStorePort;
|
|
13
15
|
bus: RunEventBus;
|
|
14
16
|
runtimeConcurrencyCaps?: RuntimeConcurrencyCaps;
|
|
17
|
+
terminalPersistence?: (jobId: string) => NonNullable<Parameters<ReturnType<typeof buildRunOrchestrator>["run"]>[0]["onTerminalPersist"]>;
|
|
15
18
|
}): RunnerFn;
|
|
16
19
|
//# sourceMappingURL=daemon-agent-runner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-agent-runner.d.ts","sourceRoot":"","sources":["../src/daemon-agent-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,
|
|
1
|
+
{"version":3,"file":"daemon-agent-runner.d.ts","sourceRoot":"","sources":["../src/daemon-agent-runner.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,WAAW,EACX,QAAQ,EACT,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAsB,KAAK,yBAAyB,EAAE,MAAM,yBAAyB,CAAC;AAI7F,OAAO,EAGL,sBAAsB,EACvB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAY7D;oFACoF;AACpF,wBAAgB,uBAAuB,CAAC,IAAI,EAAE;IAC5C,yBAAyB,EAAE,yBAAyB,CAAC;IACrD,UAAU,EAAE,MAAM,aAAa,CAAC;IAChC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC;IAC7C,YAAY,EAAE,mBAAmB,CAAC;IAClC,UAAU,EAAE,iBAAiB,CAAC;IAC9B,SAAS,EAAE,MAAM,iBAAiB,CAAC;IACnC,GAAG,EAAE,WAAW,CAAC;IACjB,sBAAsB,CAAC,EAAE,sBAAsB,CAAC;IAChD,mBAAmB,CAAC,EAAE,CACpB,KAAK,EAAE,MAAM,KACV,WAAW,CACd,UAAU,CAAC,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CACnF,CAAC;CACH,GAAG,QAAQ,CAuQX"}
|
|
@@ -22,7 +22,7 @@ export function createDaemonAgentRunner(deps) {
|
|
|
22
22
|
// resolver below as a durable, retryable refusal on the exact turn.
|
|
23
23
|
const threadBound = typeof params?.threadId === "string";
|
|
24
24
|
const p = restoreRecordedRunReviewRequest(normalizeRunStartRequest(params, { deferExecutionWorkspaceAvailability: threadBound }));
|
|
25
|
-
const continuation = continuationForRun(p,
|
|
25
|
+
const continuation = continuationForRun(p, deps.commands);
|
|
26
26
|
const mode = p.mode;
|
|
27
27
|
const noProjectAsk = mode === "ask" && p.scope.kind === "none";
|
|
28
28
|
const repoRoot = p.scope.kind === "project" ? p.scope.root : NO_PROJECT_ROOT;
|
|
@@ -130,6 +130,7 @@ export function createDaemonAgentRunner(deps) {
|
|
|
130
130
|
const delegationBelt = delegationBeltForRun(p.delegate === true, p.paidBudget);
|
|
131
131
|
return orchestrator
|
|
132
132
|
.run({
|
|
133
|
+
onTerminalPersist: deps.terminalPersistence?.(ctx.jobId),
|
|
133
134
|
onEventPersist: (event) => {
|
|
134
135
|
// The owning journal partition is the durable terminal
|
|
135
136
|
// authority. EventLog runs this before committing RunFacts.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-agent-runner.js","sourceRoot":"","sources":["../src/daemon-agent-runner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"daemon-agent-runner.js","sourceRoot":"","sources":["../src/daemon-agent-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { PidsSnapshotWriter } from "./orphan-reaper.js";
|
|
1
2
|
import type { DaemonStartupDiagnostics } from "./startup-diagnostics.js";
|
|
2
3
|
interface LifecycleDeps {
|
|
3
4
|
daemonDir: string;
|
|
@@ -8,7 +9,10 @@ interface LifecycleDeps {
|
|
|
8
9
|
/** Enter the shutdown state machine (DaemonRuntimeShutdown.beginShutdown). */
|
|
9
10
|
beginShutdown: (reason: string) => Promise<void>;
|
|
10
11
|
signals?: Pick<NodeJS.Process, "on" | "off">;
|
|
12
|
+
/** The final, synchronous snapshot written by the finalizer. */
|
|
11
13
|
snapshot?: (path: string) => void;
|
|
14
|
+
/** The periodic, change-only asynchronous snapshots. */
|
|
15
|
+
pidsWriter?: Pick<PidsSnapshotWriter, "refresh" | "settled">;
|
|
12
16
|
}
|
|
13
17
|
export declare const logLine: (path: string, message: string) => void;
|
|
14
18
|
/** Pre-start: kill surviving children of a previous daemon life, then GC
|
|
@@ -20,8 +24,11 @@ export declare function runStartupCrashGc(deps: Pick<LifecycleDeps, "daemonDir"
|
|
|
20
24
|
}): Promise<void>;
|
|
21
25
|
/**
|
|
22
26
|
* Post-start: periodic live-children snapshots (the reap list a crash leaves
|
|
23
|
-
* behind
|
|
24
|
-
*
|
|
27
|
+
* behind; written off the event loop and only when the children changed),
|
|
28
|
+
* windowed event-loop facts for daemon status, and SIGTERM/SIGINT -> the
|
|
29
|
+
* shutdown state machine (abort children, persist, close, bounded escalation).
|
|
30
|
+
* Returns the finalizer for main()'s tail; it awaits any in-flight periodic
|
|
31
|
+
* write before the final snapshot, so the final snapshot is the last word.
|
|
25
32
|
*
|
|
26
33
|
* The snapshot timer is NOT armed here: with zero live children a snapshot
|
|
27
34
|
* DELETES pids.json, and until stage-4 crash-GC has consumed the previous
|
|
@@ -32,7 +39,7 @@ export declare function runStartupCrashGc(deps: Pick<LifecycleDeps, "daemonDir"
|
|
|
32
39
|
*/
|
|
33
40
|
export declare function armDaemonLifecycle(deps: LifecycleDeps): {
|
|
34
41
|
beginPidSnapshots: () => void;
|
|
35
|
-
finalize: () => void
|
|
42
|
+
finalize: () => Promise<void>;
|
|
36
43
|
};
|
|
37
44
|
export {};
|
|
38
45
|
//# sourceMappingURL=daemon-lifecycle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon-lifecycle.d.ts","sourceRoot":"","sources":["../src/daemon-lifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon-lifecycle.d.ts","sourceRoot":"","sources":["../src/daemon-lifecycle.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,kBAAkB,EAA0C,MAAM,oBAAoB,CAAC;AAEhG,OAAO,KAAK,EAEV,wBAAwB,EACzB,MAAM,0BAA0B,CAAC;AAElC,UAAU,aAAa;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,IAAI,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC;IACvD,8EAA8E;IAC9E,aAAa,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,GAAG,KAAK,CAAC,CAAC;IAC7C,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,wDAAwD;IACxD,UAAU,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;CAC9D;AAED,eAAO,MAAM,OAAO,SAAU,MAAM,WAAW,MAAM,KAAG,IAMvD,CAAC;AAiBF;wDACwD;AACxD,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,IAAI,CAAC,aAAa,EAAE,WAAW,GAAG,aAAa,GAAG,SAAS,CAAC,GAAG;IACnE,qEAAqE;IACrE,iBAAiB,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;IAC3C,mBAAmB,CAAC,EAAE,MAAM,SAAS,MAAM,EAAE,CAAC;CAC/C,GACA,OAAO,CAAC,IAAI,CAAC,CAoBf;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,aAAa,GAAG;IACvD,iBAAiB,EAAE,MAAM,IAAI,CAAC;IAC9B,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/B,CA+DA"}
|