@claudexor/cli 3.3.16 → 3.4.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/acp-surface-runner.d.ts +3 -2
- package/dist/acp-surface-runner.d.ts.map +1 -1
- package/dist/acp-surface-runner.js +20 -17
- package/dist/acp-surface-runner.js.map +1 -1
- package/dist/claudexord-entry.d.ts +7 -0
- package/dist/claudexord-entry.d.ts.map +1 -1
- package/dist/claudexord-entry.js +14 -0
- package/dist/claudexord-entry.js.map +1 -1
- package/dist/claudexord.d.ts +0 -10
- package/dist/claudexord.d.ts.map +1 -1
- package/dist/claudexord.js +95 -100
- package/dist/claudexord.js.map +1 -1
- package/dist/cli.js +10 -12
- package/dist/cli.js.map +1 -1
- package/dist/control-services.d.ts +26 -23
- package/dist/control-services.d.ts.map +1 -1
- package/dist/control-services.js +22 -21
- package/dist/control-services.js.map +1 -1
- package/dist/daemon-admission-runtime.d.ts +63 -0
- package/dist/daemon-admission-runtime.d.ts.map +1 -0
- package/dist/daemon-admission-runtime.js +180 -0
- package/dist/daemon-admission-runtime.js.map +1 -0
- package/dist/daemon-launch.d.ts +53 -0
- package/dist/daemon-launch.d.ts.map +1 -0
- package/dist/daemon-launch.js +211 -0
- package/dist/daemon-launch.js.map +1 -0
- package/dist/daemon-lifecycle.d.ts +14 -2
- package/dist/daemon-lifecycle.d.ts.map +1 -1
- package/dist/daemon-lifecycle.js +53 -10
- package/dist/daemon-lifecycle.js.map +1 -1
- package/dist/daemon-run.d.ts +6 -1
- package/dist/daemon-run.d.ts.map +1 -1
- package/dist/daemon-run.js +70 -19
- package/dist/daemon-run.js.map +1 -1
- package/dist/daemon-start-report.d.ts +8 -0
- package/dist/daemon-start-report.d.ts.map +1 -0
- package/dist/daemon-start-report.js +24 -0
- package/dist/daemon-start-report.js.map +1 -0
- package/dist/daemon-startup.d.ts +90 -0
- package/dist/daemon-startup.d.ts.map +1 -0
- package/dist/daemon-startup.js +156 -0
- package/dist/daemon-startup.js.map +1 -0
- package/dist/engine-skew.d.ts +4 -0
- package/dist/engine-skew.d.ts.map +1 -1
- package/dist/engine-skew.js +10 -3
- package/dist/engine-skew.js.map +1 -1
- package/dist/mcp-run-projections.d.ts +78 -1
- package/dist/mcp-run-projections.d.ts.map +1 -1
- package/dist/mcp-run-projections.js +57 -3
- package/dist/mcp-run-projections.js.map +1 -1
- package/dist/mcp-runner.d.ts.map +1 -1
- package/dist/mcp-runner.js +41 -37
- package/dist/mcp-runner.js.map +1 -1
- package/dist/native-login.d.ts.map +1 -1
- package/dist/native-login.js +3 -7
- package/dist/native-login.js.map +1 -1
- package/dist/ops-commands.d.ts +9 -0
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +61 -66
- package/dist/ops-commands.js.map +1 -1
- package/dist/ops-harness-selection.d.ts +6 -0
- package/dist/ops-harness-selection.d.ts.map +1 -0
- package/dist/ops-harness-selection.js +29 -0
- package/dist/ops-harness-selection.js.map +1 -0
- package/dist/orphan-sweeper.js +13 -3
- package/dist/orphan-sweeper.js.map +1 -1
- package/dist/remote-command.d.ts +10 -1
- package/dist/remote-command.d.ts.map +1 -1
- package/dist/remote-command.js +34 -10
- package/dist/remote-command.js.map +1 -1
- package/dist/runtime-replacement-stop.d.ts +13 -2
- package/dist/runtime-replacement-stop.d.ts.map +1 -1
- package/dist/runtime-replacement-stop.js +46 -11
- package/dist/runtime-replacement-stop.js.map +1 -1
- package/dist/setup-client-pty.d.ts +8 -0
- package/dist/setup-client-pty.d.ts.map +1 -1
- package/dist/setup-client-pty.js +17 -0
- package/dist/setup-client-pty.js.map +1 -1
- package/dist/setup-job-store.d.ts +4 -4
- package/dist/setup-jobs.d.ts +10 -10
- package/dist/setup-jobs.d.ts.map +1 -1
- package/dist/setup-jobs.js +6 -8
- package/dist/setup-jobs.js.map +1 -1
- package/dist/setup-lifecycle-binding.d.ts +7 -1
- package/dist/setup-lifecycle-binding.d.ts.map +1 -1
- package/dist/setup-lifecycle-binding.js +27 -17
- package/dist/setup-lifecycle-binding.js.map +1 -1
- package/dist/setup-login-runner.d.ts +2 -2
- package/dist/setup-login-runner.d.ts.map +1 -1
- package/dist/setup-login-runner.js +10 -22
- package/dist/setup-login-runner.js.map +1 -1
- package/dist/startup-diagnostics.d.ts +61 -0
- package/dist/startup-diagnostics.d.ts.map +1 -0
- package/dist/startup-diagnostics.js +416 -0
- package/dist/startup-diagnostics.js.map +1 -0
- package/dist/thread-turn-services.d.ts +1 -1
- package/dist/thread-turn-services.d.ts.map +1 -1
- package/dist/thread-turn-services.js.map +1 -1
- package/package.json +23 -23
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { type ControlPrimaryOutput, type ModeKind, type RunFailure, type RunOutcomeFacts } from "@claudexor/schema";
|
|
1
|
+
import { type ControlPrimaryOutput, type ModeKind, type RunFacts, type RunFailure, type RunOutcomeFacts } from "@claudexor/schema";
|
|
2
2
|
import { type ControlApiAddress } from "./live.js";
|
|
3
3
|
import { type RunDetailProblem } from "./run-detail-projections.js";
|
|
4
4
|
export declare const ACP_MAX_REPLAY_TURNS = 50;
|
|
@@ -15,7 +15,7 @@ export declare function selectReplayTurns<T>(rawTurns: readonly T[]): {
|
|
|
15
15
|
* problem (e.g. 500 run_facts_invalid) rides the result as `detailProblem`
|
|
16
16
|
* so the client still receives the terminal answer plus the typed reason its
|
|
17
17
|
* detail projections are absent. Exported for test. */
|
|
18
|
-
export declare function projectTerminalTurnDetail(addr: ControlApiAddress, runId: string): Promise<{
|
|
18
|
+
export declare function projectTerminalTurnDetail(addr: ControlApiAddress, runId: string, lifecycle: RunOutcomeFacts["lifecycle"]): Promise<{
|
|
19
19
|
applyEligibility: unknown;
|
|
20
20
|
planReadiness: unknown;
|
|
21
21
|
planQuestions: unknown[];
|
|
@@ -23,6 +23,7 @@ export declare function projectTerminalTurnDetail(addr: ControlApiAddress, runId
|
|
|
23
23
|
primaryOutput: ControlPrimaryOutput | null;
|
|
24
24
|
outcomeFacts: RunOutcomeFacts | null;
|
|
25
25
|
outcomeBanner: string | null;
|
|
26
|
+
runFacts: RunFacts | null;
|
|
26
27
|
detailProblem?: RunDetailProblem;
|
|
27
28
|
}>;
|
|
28
29
|
type AcpTerminalRecord = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-surface-runner.d.ts","sourceRoot":"","sources":["../src/acp-surface-runner.ts"],"names":[],"mappings":"AAEA,OAAO,EAEL,KAAK,oBAAoB,EACzB,KAAK,QAAQ,EACb,KAAK,UAAU,EACf,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAEpE,OAAO,EAOL,KAAK,gBAAgB,EACtB,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"acp-surface-runner.d.ts","sourceRoot":"","sources":["../src/acp-surface-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ import { controlApiFetch } from "./live.js";
|
|
|
7
7
|
import { primaryOutputForCli } from "./primary-output.js";
|
|
8
8
|
import { describeRunDetailProblem, presentRunPrimaryOutput, projectApplyEligibility, projectOutcomeBanner, projectRunPrimaryOutput, projectRunFailure, } from "./run-detail-projections.js";
|
|
9
9
|
import { projectRunOutcomeFacts } from "./daemon-outcome.js";
|
|
10
|
+
import { projectRunFacts } from "./run-facts-projection.js";
|
|
10
11
|
// Daemon job state IS the run lifecycle (D8): terminal set = the ONE
|
|
11
12
|
// projection-owned TERMINAL_LIFECYCLES, never a local re-derivation.
|
|
12
13
|
const TERMINALS = TERMINAL_LIFECYCLES;
|
|
@@ -30,7 +31,7 @@ export function selectReplayTurns(rawTurns) {
|
|
|
30
31
|
* problem (e.g. 500 run_facts_invalid) rides the result as `detailProblem`
|
|
31
32
|
* so the client still receives the terminal answer plus the typed reason its
|
|
32
33
|
* detail projections are absent. Exported for test. */
|
|
33
|
-
export async function projectTerminalTurnDetail(addr, runId) {
|
|
34
|
+
export async function projectTerminalTurnDetail(addr, runId, lifecycle) {
|
|
34
35
|
const empty = {
|
|
35
36
|
applyEligibility: null,
|
|
36
37
|
planReadiness: null,
|
|
@@ -39,29 +40,31 @@ export async function projectTerminalTurnDetail(addr, runId) {
|
|
|
39
40
|
primaryOutput: null,
|
|
40
41
|
outcomeFacts: null,
|
|
41
42
|
outcomeBanner: null,
|
|
43
|
+
runFacts: null,
|
|
42
44
|
};
|
|
43
45
|
if (!runId)
|
|
44
46
|
return empty;
|
|
45
|
-
let detail = null;
|
|
46
47
|
try {
|
|
47
|
-
detail = await fetchRunDetail(addr, runId);
|
|
48
|
+
const detail = await fetchRunDetail(addr, runId);
|
|
49
|
+
const runFacts = projectRunFacts(detail, { runId, lifecycle });
|
|
50
|
+
return {
|
|
51
|
+
applyEligibility: projectApplyEligibility(detail),
|
|
52
|
+
planReadiness: detail?.["planReadiness"] && typeof detail["planReadiness"] === "object"
|
|
53
|
+
? detail["planReadiness"]
|
|
54
|
+
: null,
|
|
55
|
+
planQuestions: Array.isArray(detail?.["planQuestions"])
|
|
56
|
+
? detail["planQuestions"]
|
|
57
|
+
: [],
|
|
58
|
+
failure: projectRunFailure(detail),
|
|
59
|
+
primaryOutput: projectRunPrimaryOutput(detail),
|
|
60
|
+
outcomeFacts: projectRunOutcomeFacts(detail),
|
|
61
|
+
outcomeBanner: projectOutcomeBanner(detail),
|
|
62
|
+
runFacts,
|
|
63
|
+
};
|
|
48
64
|
}
|
|
49
65
|
catch (error) {
|
|
50
66
|
return { ...empty, detailProblem: describeRunDetailProblem(error) };
|
|
51
67
|
}
|
|
52
|
-
return {
|
|
53
|
-
applyEligibility: projectApplyEligibility(detail),
|
|
54
|
-
planReadiness: detail?.["planReadiness"] && typeof detail["planReadiness"] === "object"
|
|
55
|
-
? detail["planReadiness"]
|
|
56
|
-
: null,
|
|
57
|
-
planQuestions: Array.isArray(detail?.["planQuestions"])
|
|
58
|
-
? detail["planQuestions"]
|
|
59
|
-
: [],
|
|
60
|
-
failure: projectRunFailure(detail),
|
|
61
|
-
primaryOutput: projectRunPrimaryOutput(detail),
|
|
62
|
-
outcomeFacts: projectRunOutcomeFacts(detail),
|
|
63
|
-
outcomeBanner: projectOutcomeBanner(detail),
|
|
64
|
-
};
|
|
65
68
|
}
|
|
66
69
|
/** Effective mode persisted on the daemon job after the thread-turn funnel. */
|
|
67
70
|
export function acpTerminalRecordMode(record) {
|
|
@@ -278,7 +281,7 @@ export async function acpSessionQuery(p, hooks, bridges) {
|
|
|
278
281
|
await interactions({ runId });
|
|
279
282
|
}
|
|
280
283
|
if (TERMINALS.has(record.state)) {
|
|
281
|
-
const detail = await projectTerminalTurnDetail(addr, runId);
|
|
284
|
+
const detail = await projectTerminalTurnDetail(addr, runId, record.state);
|
|
282
285
|
const summary = acpTerminalSummary({ runId, runDir, record, detail });
|
|
283
286
|
const { primaryOutput: _primaryOutput, ...terminalProjection } = detail;
|
|
284
287
|
// Plan lifecycle (D17): a plan turn that ends needs_answers carries its
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"acp-surface-runner.js","sourceRoot":"","sources":["../src/acp-surface-runner.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"acp-surface-runner.js","sourceRoot":"","sources":["../src/acp-surface-runner.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,13 @@
|
|
|
3
3
|
* Kept outside claudexord.ts so the daemon owner remains below its readability
|
|
4
4
|
* ratchet and the entry decision can be tested without daemon initialization.
|
|
5
5
|
*/
|
|
6
|
+
/** Handle `claudexord --probe`: print the engine build identity as ONE JSON line
|
|
7
|
+
* ({version, buildSha}) and exit WITHOUT any durable startup — no writer lease,
|
|
8
|
+
* no socket bind, no journal open, no runtime root. This is the pre-swap
|
|
9
|
+
* handshake the macOS installer's RuntimeInstallCoordinator.probeVersion runs
|
|
10
|
+
* against a freshly-unpacked closure with the app-bundled Node (D-2). Returns
|
|
11
|
+
* true when the probe handled the invocation. */
|
|
12
|
+
export declare function runProbeIfRequested(argv: readonly string[]): boolean;
|
|
6
13
|
export declare function isBeltServeInvocation(argv: readonly string[]): boolean;
|
|
7
14
|
export declare function runBeltServeIfRequested(argv: readonly string[]): Promise<boolean>;
|
|
8
15
|
export declare function dispatchClaudexordEntry(daemonMain: () => Promise<void>, argv?: readonly string[]): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudexord-entry.d.ts","sourceRoot":"","sources":["../src/claudexord-entry.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"claudexord-entry.d.ts","sourceRoot":"","sources":["../src/claudexord-entry.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH;;;;;iDAKiD;AACjD,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAKpE;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAEtE;AAED,wBAAsB,uBAAuB,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAKvF;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC/B,IAAI,GAAE,SAAS,MAAM,EAA0B,GAC9C,IAAI,CAWN;AAED,6FAA6F;AAC7F,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,IAAI,EACjB,IAAI,GAAE,SAAS,MAAM,EAAiB,GACrC,IAAI,CAWN"}
|
package/dist/claudexord-entry.js
CHANGED
|
@@ -1,11 +1,25 @@
|
|
|
1
1
|
import { realpathSync } from "node:fs";
|
|
2
2
|
import { resolve } from "node:path";
|
|
3
3
|
import { fileURLToPath } from "node:url";
|
|
4
|
+
import { engineBuildIdentity } from "@claudexor/util";
|
|
4
5
|
/**
|
|
5
6
|
* Side-effect-free dispatch for the daemon executable's alternate belt role.
|
|
6
7
|
* Kept outside claudexord.ts so the daemon owner remains below its readability
|
|
7
8
|
* ratchet and the entry decision can be tested without daemon initialization.
|
|
8
9
|
*/
|
|
10
|
+
/** Handle `claudexord --probe`: print the engine build identity as ONE JSON line
|
|
11
|
+
* ({version, buildSha}) and exit WITHOUT any durable startup — no writer lease,
|
|
12
|
+
* no socket bind, no journal open, no runtime root. This is the pre-swap
|
|
13
|
+
* handshake the macOS installer's RuntimeInstallCoordinator.probeVersion runs
|
|
14
|
+
* against a freshly-unpacked closure with the app-bundled Node (D-2). Returns
|
|
15
|
+
* true when the probe handled the invocation. */
|
|
16
|
+
export function runProbeIfRequested(argv) {
|
|
17
|
+
if (!argv.includes("--probe"))
|
|
18
|
+
return false;
|
|
19
|
+
const id = engineBuildIdentity();
|
|
20
|
+
process.stdout.write(`${JSON.stringify({ version: id.version, buildSha: id.sha })}\n`);
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
9
23
|
export function isBeltServeInvocation(argv) {
|
|
10
24
|
return argv.length === 2 && argv[0] === "mcp" && argv[1] === "serve-belt";
|
|
11
25
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudexord-entry.js","sourceRoot":"","sources":["../src/claudexord-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"claudexord-entry.js","sourceRoot":"","sources":["../src/claudexord-entry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD;;;;GAIG;AACH;;;;;iDAKiD;AACjD,MAAM,UAAU,mBAAmB,CAAC,IAAuB;IACzD,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,MAAM,EAAE,GAAG,mBAAmB,EAAE,CAAC;IACjC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,EAAE,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACvF,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,IAAuB;IAC3D,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC;AAC5E,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,IAAuB;IACnE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC/C,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,GAAG,MAAM,eAAe,EAAE,CAAC;IAC3C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAA+B,EAC/B,IAAI,GAAsB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAE/C,uBAAuB,CAAC,IAAI,CAAC;SAC1B,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACtB,IAAI,CAAC,OAAO;YAAE,MAAM,UAAU,EAAE,CAAC;IACnC,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;QACxB,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,eAAe,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAC1E,CAAC;QACF,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;IACvB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,EACjB,KAAiB,EACjB,IAAI,GAAsB,OAAO,CAAC,IAAI;IAEtC,IAAI,CAAC;QACH,IACE,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,QAAQ;YAC3B,YAAY,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,YAAY,CAAC,MAAM,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,EACvF,CAAC;YACD,KAAK,EAAE,CAAC;QACV,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,yDAAyD;IAC3D,CAAC;AACH,CAAC"}
|
package/dist/claudexord.d.ts
CHANGED
|
@@ -1,14 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import { type QuotaSubject } from "@claudexor/schema";
|
|
3
|
-
/** Public daemon-composition hook retained for embedders and tests. */
|
|
4
|
-
export declare function quotaSubjectUniverse(): QuotaSubject[];
|
|
5
|
-
/** Handle `claudexord --probe`: print the engine build identity as ONE JSON line
|
|
6
|
-
* ({version, buildSha}) and exit WITHOUT any durable startup — no writer lease,
|
|
7
|
-
* no socket bind, no journal open, no runtime root. This is the pre-swap
|
|
8
|
-
* handshake the macOS installer's RuntimeInstallCoordinator.probeVersion runs
|
|
9
|
-
* against a freshly-unpacked closure with the app-bundled Node (D-2). Returns
|
|
10
|
-
* true when the probe handled the invocation. */
|
|
11
|
-
export declare function runProbeIfRequested(argv: readonly string[]): boolean;
|
|
12
2
|
export declare function main(): Promise<void>;
|
|
13
3
|
/** Explicit entry preserves import-side-effect freedom for daemon probes. */
|
|
14
4
|
export declare function runClaudexordEntry(): void;
|
package/dist/claudexord.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claudexord.d.ts","sourceRoot":"","sources":["../src/claudexord.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"claudexord.d.ts","sourceRoot":"","sources":["../src/claudexord.ts"],"names":[],"mappings":";AA2EA,wBAAsB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CA6gB1C;AAED,6EAA6E;AAC7E,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC"}
|
package/dist/claudexord.js
CHANGED
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import {
|
|
2
|
+
import { mkdirSync } from "node:fs";
|
|
3
3
|
import { join } from "node:path";
|
|
4
|
-
import { DaemonClient, commandProjection, interactionProjection, operatorDecisionProjection, runEventProjection, JournalManager, DaemonServer, InteractionRegistry, ProjectPartitions, projectProjection, RunEventBus, ResourceStore, quotaProjection, threadHeadPingProjection, threadProjection, daemonDir, defaultSocketPath,
|
|
4
|
+
import { DaemonClient, commandProjection, interactionProjection, operatorDecisionProjection, runEventProjection, JournalManager, DaemonServer, InteractionRegistry, ProjectPartitions, projectProjection, RunEventBus, ResourceStore, quotaProjection, threadHeadPingProjection, threadProjection, daemonDir, defaultSocketPath, acquireRootAuthority, ensureToken, ensureDaemonRuntimeRoot, logPath, socketAlive, } from "@claudexor/daemon";
|
|
5
5
|
import { DaemonControlApiServer, normalizeRunStartRequest } from "@claudexor/control-api";
|
|
6
|
-
import {
|
|
6
|
+
import { createDaemonQuotaPoller, createStartupAdmissionRuntime, openStartupDiagnostics, } from "./daemon-admission-runtime.js";
|
|
7
|
+
import { armDaemonLifecycle, logLine } from "./daemon-lifecycle.js";
|
|
8
|
+
import { bindRecoveryTransport, controlApiEnabledForStartup, DaemonStartupAdmission, proveRecoveryTransport, quarantineGhostProjectsAtStartup, recoveryBlockedPartitions, } from "./daemon-startup.js";
|
|
7
9
|
import { assertPlanImplementReady } from "./plan-implement-readiness.js";
|
|
8
10
|
import { Orchestrator } from "@claudexor/orchestrator";
|
|
9
11
|
import { delegationBeltForRun } from "./delegation-belt-descriptor.js";
|
|
10
|
-
import { loadConfig
|
|
12
|
+
import { loadConfig } from "@claudexor/config";
|
|
11
13
|
import { engineBuildIdentity, noProjectRepoRoot, redactSecrets } from "@claudexor/util";
|
|
12
14
|
import { scheduleStartupRetention } from "./retention-service.js";
|
|
13
15
|
import { controlServices } from "./control-services.js";
|
|
@@ -21,29 +23,12 @@ import { DaemonRuntimeShutdown } from "./daemon-runtime-shutdown.js";
|
|
|
21
23
|
import { quotaRefreshers } from "./quota-refreshers.js";
|
|
22
24
|
import { resolveThreadExecutionWorkspace, threadRunStartRequiresGit, } from "./thread-execution-workspace.js";
|
|
23
25
|
import { preflightRunGitRequirement } from "./request-preflight.js";
|
|
24
|
-
import { dispatchClaudexordEntry, runIfDirectEntry } from "./claudexord-entry.js";
|
|
26
|
+
import { dispatchClaudexordEntry, runIfDirectEntry, runProbeIfRequested, } from "./claudexord-entry.js";
|
|
25
27
|
import { createDelegationDaemonBinding } from "./delegation-daemon-binding.js";
|
|
26
28
|
import { quotaSubjectUniverseFromConfig } from "./quota-subject-universe.js";
|
|
27
29
|
import { runStopIfRequested } from "./runtime-replacement-stop.js";
|
|
28
30
|
import { threadContinuityContext } from "./thread-continuity-context.js";
|
|
29
31
|
const NO_PROJECT_ROOT = noProjectRepoRoot();
|
|
30
|
-
/** Public daemon-composition hook retained for embedders and tests. */
|
|
31
|
-
export function quotaSubjectUniverse() {
|
|
32
|
-
return quotaSubjectUniverseFromConfig();
|
|
33
|
-
}
|
|
34
|
-
/** Handle `claudexord --probe`: print the engine build identity as ONE JSON line
|
|
35
|
-
* ({version, buildSha}) and exit WITHOUT any durable startup — no writer lease,
|
|
36
|
-
* no socket bind, no journal open, no runtime root. This is the pre-swap
|
|
37
|
-
* handshake the macOS installer's RuntimeInstallCoordinator.probeVersion runs
|
|
38
|
-
* against a freshly-unpacked closure with the app-bundled Node (D-2). Returns
|
|
39
|
-
* true when the probe handled the invocation. */
|
|
40
|
-
export function runProbeIfRequested(argv) {
|
|
41
|
-
if (!argv.includes("--probe"))
|
|
42
|
-
return false;
|
|
43
|
-
const id = engineBuildIdentity();
|
|
44
|
-
process.stdout.write(`${JSON.stringify({ version: id.version, buildSha: id.sha })}\n`);
|
|
45
|
-
return true;
|
|
46
|
-
}
|
|
47
32
|
export async function main() {
|
|
48
33
|
// Probe and identity-proven stop must run before any durable startup.
|
|
49
34
|
if (runProbeIfRequested(process.argv.slice(2)))
|
|
@@ -53,7 +38,10 @@ export async function main() {
|
|
|
53
38
|
const servingIdentity = engineBuildIdentity();
|
|
54
39
|
ensureDaemonRuntimeRoot();
|
|
55
40
|
const socketPath = defaultSocketPath();
|
|
56
|
-
|
|
41
|
+
// D5 stage 1: permanent barrier (epoch/floor refusals) before ANY recovery.
|
|
42
|
+
const rootAuthority = acquireRootAuthority({ socketPath, version: servingIdentity.version });
|
|
43
|
+
// C8: private diagnostics open right after the authority win (never control lifecycle).
|
|
44
|
+
const startupDiagnostics = openStartupDiagnostics(servingIdentity);
|
|
57
45
|
let shutdownRuntime = null;
|
|
58
46
|
// Release wave round-12 BLOCK: the single-writer lease may only be released
|
|
59
47
|
// after a CLEAN shutdown — a failed/partial shutdown keeps components that
|
|
@@ -61,20 +49,12 @@ export async function main() {
|
|
|
61
49
|
// beside them. On failure the lease dies with the process instead.
|
|
62
50
|
let releaseWriterLease = true;
|
|
63
51
|
let lifecycle = null;
|
|
64
|
-
let
|
|
52
|
+
let quotaPoller = null;
|
|
65
53
|
try {
|
|
66
54
|
const token = ensureToken();
|
|
67
55
|
if (await socketAlive(socketPath)) {
|
|
68
56
|
throw new Error(`a claudexor daemon is already listening on ${socketPath}; stop it first`);
|
|
69
57
|
}
|
|
70
|
-
await runStartupCrashGc({ daemonDir: daemonDir(), logPath: logPath() });
|
|
71
|
-
// Same-root config evolution hygiene (B9): strip + persist any known-retired
|
|
72
|
-
// keys an OLDER version wrote into the global config, before any strict
|
|
73
|
-
// parse can trip on them (mirrors the crash-GC startup sweep). Unknown keys
|
|
74
|
-
// NOT on the retired registry still fail loud at parse (INV-021).
|
|
75
|
-
for (const sweep of sweepRetiredConfigKeysAtStartup()) {
|
|
76
|
-
logLine(logPath(), `swept retired config keys from ${sweep.path}: ${sweep.removed.join(", ")}`);
|
|
77
|
-
}
|
|
78
58
|
const bus = new RunEventBus();
|
|
79
59
|
const { authority: delegationBudgetAuthority, bind: bindDelegationDaemon } = createDelegationDaemonBinding();
|
|
80
60
|
const journalManager = new JournalManager(daemonDir());
|
|
@@ -83,7 +63,7 @@ export async function main() {
|
|
|
83
63
|
const operatorDecisionStoreSlot = journalManager.registerProjection(operatorDecisionProjection());
|
|
84
64
|
const runEventStoreSlot = journalManager.registerProjection(runEventProjection());
|
|
85
65
|
const projectStoreSlot = journalManager.registerProjection(projectProjection());
|
|
86
|
-
const quotaStoreSlot = journalManager.registerProjection(quotaProjection(quotaRefreshers(),
|
|
66
|
+
const quotaStoreSlot = journalManager.registerProjection(quotaProjection(quotaRefreshers(), quotaSubjectUniverseFromConfig));
|
|
87
67
|
// Sidebar invalidation ping (W12): a GLOBAL-partition emitter every
|
|
88
68
|
// ThreadStore (global + per-project) writes through, so any thread
|
|
89
69
|
// mutation reaches the app's single global stream. The ping is auxiliary
|
|
@@ -104,25 +84,34 @@ export async function main() {
|
|
|
104
84
|
create: (journal) => new SetupJobStore(daemonDir(), { journal }),
|
|
105
85
|
validate: (store) => store.validateProjection(),
|
|
106
86
|
});
|
|
107
|
-
|
|
108
|
-
const
|
|
87
|
+
// D5 stage 2: read-only prepare + validate; zero recovery writes.
|
|
88
|
+
const globalPreparation = journalManager.prepare();
|
|
89
|
+
const admission = new DaemonStartupAdmission();
|
|
90
|
+
quotaPoller = createDaemonQuotaPoller(() => {
|
|
109
91
|
try {
|
|
110
92
|
void quotaStoreSlot.current().pollStale();
|
|
111
93
|
}
|
|
112
94
|
catch { }
|
|
113
|
-
};
|
|
114
|
-
quotaPollTimer = setInterval(pollQuota, 60_000).unref();
|
|
115
|
-
pollQuota();
|
|
95
|
+
});
|
|
116
96
|
const threads = new ProjectPartitions(daemonDir(), projectStoreSlot, commandStoreSlot, interactionStoreSlot, operatorDecisionStoreSlot, runEventStoreSlot, threadStoreSlot, threadHeadPing);
|
|
97
|
+
const partitionsPreparation = threads.prepare();
|
|
98
|
+
const startupBlockedPartitions = recoveryBlockedPartitions({
|
|
99
|
+
globalPreparation,
|
|
100
|
+
partitionsPreparation,
|
|
101
|
+
});
|
|
117
102
|
const interactions = new InteractionRegistry({
|
|
118
103
|
forRequest: (params) => threads.interactionsForRequest(params),
|
|
119
104
|
all: () => threads.interactionStores(),
|
|
120
105
|
});
|
|
121
|
-
|
|
106
|
+
// C5b: construction mkdirs under the daemon dir and the recovery plane
|
|
107
|
+
// serves no resources — the store materializes on first product use.
|
|
108
|
+
let resourceStore = null;
|
|
109
|
+
const resources = () => (resourceStore ??= new ResourceStore(join(daemonDir(), "resource-store")));
|
|
122
110
|
const server = new DaemonServer({
|
|
123
111
|
socketPath,
|
|
124
112
|
token,
|
|
125
113
|
commands: threads,
|
|
114
|
+
servingMode: admission.snapshot,
|
|
126
115
|
delegationAuthority: delegationBudgetAuthority,
|
|
127
116
|
onRunTerminal: (runId, threadId) => {
|
|
128
117
|
interactions.dropForRun(runId);
|
|
@@ -145,7 +134,7 @@ export async function main() {
|
|
|
145
134
|
return shutdownRuntime.beginRuntimeReplacement();
|
|
146
135
|
},
|
|
147
136
|
runtimeIdentity: { version: servingIdentity.version, buildSha: servingIdentity.sha },
|
|
148
|
-
runtimeLeaseOwner:
|
|
137
|
+
runtimeLeaseOwner: rootAuthority.lease.owner,
|
|
149
138
|
runner: async (params, ctx) => {
|
|
150
139
|
const p = normalizeRunStartRequest(params);
|
|
151
140
|
const mode = p.mode;
|
|
@@ -334,7 +323,7 @@ export async function main() {
|
|
|
334
323
|
: undefined,
|
|
335
324
|
attachments: turnId
|
|
336
325
|
? (threads.getTurn(turnId)?.attachments ?? [])
|
|
337
|
-
: resources.resolve(p.attachments),
|
|
326
|
+
: resources().resolve(p.attachments),
|
|
338
327
|
browser: p.browser === true,
|
|
339
328
|
mode: p.mode,
|
|
340
329
|
contextMode: noProjectAsk
|
|
@@ -404,8 +393,7 @@ export async function main() {
|
|
|
404
393
|
control: () => control,
|
|
405
394
|
journal: {
|
|
406
395
|
close: () => {
|
|
407
|
-
|
|
408
|
-
clearInterval(quotaPollTimer);
|
|
396
|
+
quotaPoller?.stop();
|
|
409
397
|
threads.close();
|
|
410
398
|
journalManager.close();
|
|
411
399
|
},
|
|
@@ -416,78 +404,84 @@ export async function main() {
|
|
|
416
404
|
// the startup retention pass below consumes them directly.
|
|
417
405
|
const selfClient = new DaemonClient(socketPath, token);
|
|
418
406
|
const services = controlServices(interactions, () => projectStoreSlot.current(), threads, setupBinding, journalManager, authReadiness, resources, () => quotaStoreSlot.current(), () => selfClient.list());
|
|
419
|
-
control =
|
|
420
|
-
process.env.CLAUDEXOR_NO_CONTROL_API === "1"
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
407
|
+
control = !controlApiEnabledForStartup({
|
|
408
|
+
disabledByEnv: process.env.CLAUDEXOR_NO_CONTROL_API === "1",
|
|
409
|
+
blockedPartitions: startupBlockedPartitions,
|
|
410
|
+
log: (message) => logLine(logPath(), message),
|
|
411
|
+
})
|
|
412
|
+
? null
|
|
413
|
+
: new DaemonControlApiServer({
|
|
414
|
+
token,
|
|
415
|
+
daemon: new DaemonClient(socketPath, token),
|
|
416
|
+
port: Number(process.env.CLAUDEXOR_CONTROL_PORT ?? 0),
|
|
417
|
+
servingMode: admission.snapshot,
|
|
418
|
+
bus,
|
|
419
|
+
services,
|
|
420
|
+
});
|
|
429
421
|
lifecycle = armDaemonLifecycle({
|
|
430
422
|
daemonDir: daemonDir(),
|
|
431
423
|
logPath: logPath(),
|
|
424
|
+
...(startupDiagnostics.diagnostics ? { diagnostics: startupDiagnostics.diagnostics } : {}),
|
|
432
425
|
beginShutdown: (reason) => shutdownRuntime.beginShutdown(reason),
|
|
433
426
|
});
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
427
|
+
const { runAdmissionCompletion, wrapQuarantineWithReopen } = createStartupAdmissionRuntime({
|
|
428
|
+
admission,
|
|
429
|
+
grant: rootAuthority,
|
|
430
|
+
global: journalManager,
|
|
431
|
+
partitions: threads,
|
|
432
|
+
diagnostics: startupDiagnostics,
|
|
433
|
+
normalPlane: {
|
|
434
|
+
requested: () => shutdownRuntime.requested(),
|
|
435
|
+
armQuotaPolling: () => quotaPoller.arm(),
|
|
436
|
+
beginPidSnapshots: () => lifecycle.beginPidSnapshots(),
|
|
437
|
+
startSetup: () => setupBinding.start(),
|
|
438
|
+
quarantineGhosts: () => quarantineGhostProjectsAtStartup(threads, (message) => logLine(logPath(), message)),
|
|
439
|
+
scheduleRetention: () => scheduleStartupRetention(services.runRetention, {
|
|
440
|
+
logPath: logPath(),
|
|
441
|
+
shuttingDown: () => shutdownRuntime.requested(),
|
|
442
|
+
}),
|
|
443
|
+
},
|
|
444
|
+
});
|
|
445
|
+
services.recoveryQuarantinePartition = wrapQuarantineWithReopen(services.recoveryQuarantinePartition);
|
|
446
|
+
// D5 stage 3: bind the REAL transport with product admission CLOSED, then
|
|
447
|
+
// prove self-health/exact identity through it before anything destructive.
|
|
448
|
+
const controlAddr = await bindRecoveryTransport({
|
|
449
|
+
server,
|
|
450
|
+
control,
|
|
451
|
+
requested: () => shutdownRuntime.requested(),
|
|
452
|
+
daemonDir: daemonDir(),
|
|
453
|
+
logPath: logPath(),
|
|
454
|
+
socketPath,
|
|
455
|
+
});
|
|
450
456
|
if (!shutdownRuntime.requested()) {
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
for (const ghost of retired) {
|
|
457
|
-
logLine(logPath(), `projects: quarantined ghost ${ghost.projectId} (${ghost.reason}): ${ghost.root}`);
|
|
458
|
-
}
|
|
459
|
-
}
|
|
460
|
-
catch (error) {
|
|
461
|
-
logLine(logPath(), `projects: ghost sweep failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
462
|
-
}
|
|
463
|
-
scheduleStartupRetention(services.runRetention, {
|
|
464
|
-
logPath: logPath(),
|
|
465
|
-
shuttingDown: () => shutdownRuntime.requested(),
|
|
457
|
+
await proveRecoveryTransport({
|
|
458
|
+
socket: selfClient,
|
|
459
|
+
identity: servingIdentity,
|
|
460
|
+
token,
|
|
461
|
+
control: controlAddr,
|
|
466
462
|
});
|
|
463
|
+
// D5 stage 4: floor advance + destructive recovery + normal admission —
|
|
464
|
+
// or stay recovery-only with the floor unchanged and cleanup off. The
|
|
465
|
+
// normal-plane side effects run inside the single-flight completion.
|
|
466
|
+
await runAdmissionCompletion(() => startupBlockedPartitions);
|
|
467
467
|
}
|
|
468
468
|
await shutdownRuntime.wait();
|
|
469
469
|
lifecycle.finalize();
|
|
470
|
-
|
|
470
|
+
logLine(logPath(), "claudexord shut down");
|
|
471
|
+
startupDiagnostics.recordStage("shutdown_complete", "claudexord shut down");
|
|
471
472
|
}
|
|
472
473
|
catch (error) {
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
}
|
|
476
|
-
|
|
477
|
-
/* preserve the lifecycle failure */
|
|
478
|
-
}
|
|
474
|
+
// logLine is already best-effort; a failed diagnostic write never masks
|
|
475
|
+
// the lifecycle failure itself.
|
|
476
|
+
logLine(logPath(), `daemon lifecycle FAILED: ${redactSecrets(error instanceof Error ? `${error.name}: ${error.message}` : String(error))}`);
|
|
477
|
+
startupDiagnostics.recordFailure("daemon lifecycle FAILED", error);
|
|
479
478
|
if (shutdownRuntime) {
|
|
480
479
|
try {
|
|
481
480
|
await shutdownRuntime.beginShutdown("startup failure");
|
|
482
481
|
lifecycle?.finalize();
|
|
483
482
|
}
|
|
484
483
|
catch (shutdownError) {
|
|
485
|
-
|
|
486
|
-
appendFileSync(logPath(), `[${new Date().toISOString()}] shutdown FAILED: ${redactSecrets(shutdownError instanceof Error ? shutdownError.message : String(shutdownError))}\n`);
|
|
487
|
-
}
|
|
488
|
-
catch {
|
|
489
|
-
/* preserve the shutdown failure */
|
|
490
|
-
}
|
|
484
|
+
logLine(logPath(), `shutdown FAILED: ${redactSecrets(shutdownError instanceof Error ? shutdownError.message : String(shutdownError))}`);
|
|
491
485
|
releaseWriterLease = false;
|
|
492
486
|
throw new AggregateError([error, shutdownError], "claudexord failed and could not complete shutdown");
|
|
493
487
|
}
|
|
@@ -495,10 +489,11 @@ export async function main() {
|
|
|
495
489
|
throw error;
|
|
496
490
|
}
|
|
497
491
|
finally {
|
|
498
|
-
|
|
499
|
-
|
|
492
|
+
quotaPoller?.stop();
|
|
493
|
+
startupDiagnostics.close();
|
|
494
|
+
// Drops only the live writer claim; the barrier itself persists (D1).
|
|
500
495
|
if (releaseWriterLease)
|
|
501
|
-
|
|
496
|
+
rootAuthority.release();
|
|
502
497
|
}
|
|
503
498
|
}
|
|
504
499
|
/** Explicit entry preserves import-side-effect freedom for daemon probes. */
|