@claudexor/cli 3.3.15 → 3.4.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/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 +4 -1
- 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 +7 -1
- package/dist/daemon-run.d.ts.map +1 -1
- package/dist/daemon-run.js +76 -20
- 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/delegation-belt-descriptor.d.ts +1 -1
- package/dist/delegation-belt-descriptor.js +1 -1
- 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/ops-commands.d.ts +9 -0
- package/dist/ops-commands.d.ts.map +1 -1
- package/dist/ops-commands.js +62 -67
- 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/registry.d.ts.map +1 -1
- package/dist/registry.js +1 -0
- package/dist/registry.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-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/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
package/dist/remote-command.js
CHANGED
|
@@ -3,12 +3,12 @@ import { closeSync, constants, existsSync, lstatSync, openSync, readlinkSync, re
|
|
|
3
3
|
import { arch, homedir, platform } from "node:os";
|
|
4
4
|
import { join } from "node:path";
|
|
5
5
|
import { CLAUDEXOR_VERSION } from "@claudexor/util";
|
|
6
|
-
import { awaitDaemonTermination,
|
|
6
|
+
import { awaitDaemonTermination, daemonDir, defaultSocketPath, inspectDaemonWriterLease, socketAlive, } from "@claudexor/daemon";
|
|
7
7
|
import { ensureDaemon, connectDaemonIfRunning } from "./daemon-run.js";
|
|
8
8
|
import { controlApiFetch, CONTROL_PROTOCOL_MAJOR, handshakeControlApi } from "./live.js";
|
|
9
9
|
import { printJson, printUsageError } from "./cli-io.js";
|
|
10
10
|
import { resolveSetupLoginRunnerPath } from "./setup-job-support.js";
|
|
11
|
-
import { admitAndAwaitRuntimeReplacementStop } from "./runtime-replacement-stop.js";
|
|
11
|
+
import { admitAndAwaitRuntimeReplacementStop, decideRuntimeReplacementWithoutControl, runtimeReplacementCapableOwner, } from "./runtime-replacement-stop.js";
|
|
12
12
|
function runtimeTarget() {
|
|
13
13
|
return `${platform()}-${arch()}`;
|
|
14
14
|
}
|
|
@@ -26,6 +26,11 @@ function endpointPort(baseUrl) {
|
|
|
26
26
|
async function bootstrap() {
|
|
27
27
|
const { addr } = await ensureDaemon();
|
|
28
28
|
const identity = await handshakeControlApi(addr, "claudexor-macos-remote");
|
|
29
|
+
// C7b: publication requires NORMAL serving (absent = normal for pre-#165
|
|
30
|
+
// daemons). A recovery-only remote must never be published to the app.
|
|
31
|
+
if (identity.servingMode !== "normal") {
|
|
32
|
+
throw Object.assign(new Error("remote daemon is serving recovery only; publication requires normal serving"), { code: "daemon_recovery_only", status: 503, retryable: true });
|
|
33
|
+
}
|
|
29
34
|
printJson({
|
|
30
35
|
ok: true,
|
|
31
36
|
target: runtimeTarget(),
|
|
@@ -61,26 +66,45 @@ export function assertRemoteEngineIdentity(observed, expectedVersion, expectedBu
|
|
|
61
66
|
}
|
|
62
67
|
return { version: expectedVersion, buildSha: expectedBuildSha };
|
|
63
68
|
}
|
|
64
|
-
|
|
65
|
-
|
|
69
|
+
const productionRemoteRuntimeStopDeps = {
|
|
70
|
+
connect: connectDaemonIfRunning,
|
|
71
|
+
socketPath: defaultSocketPath,
|
|
72
|
+
socketReachable: socketAlive,
|
|
73
|
+
inspectLease: inspectDaemonWriterLease,
|
|
74
|
+
};
|
|
75
|
+
function runtimeActivityUnknown(message) {
|
|
76
|
+
return Object.assign(new Error(message), {
|
|
77
|
+
code: "runtime_activity_unknown",
|
|
78
|
+
status: 503,
|
|
79
|
+
retryable: true,
|
|
80
|
+
});
|
|
81
|
+
}
|
|
82
|
+
export async function stopRemoteDaemonForRuntimeReplacement(expectedVersion, expectedBuildSha, deps = productionRemoteRuntimeStopDeps) {
|
|
83
|
+
const socketPath = deps.socketPath();
|
|
84
|
+
const daemon = await deps.connect();
|
|
66
85
|
if (!daemon) {
|
|
67
|
-
|
|
68
|
-
|
|
86
|
+
const decision = decideRuntimeReplacementWithoutControl(await deps.socketReachable(socketPath), deps.inspectLease(socketPath));
|
|
87
|
+
if (decision.status === "activity_unknown") {
|
|
88
|
+
throw runtimeActivityUnknown(decision.detail);
|
|
69
89
|
}
|
|
70
90
|
printJson({ ok: true, stopped: true, alreadyStopped: true });
|
|
71
91
|
return 0;
|
|
72
92
|
}
|
|
73
93
|
const identity = await handshakeControlApi(daemon.addr, "claudexor-macos-remote-stop");
|
|
74
94
|
const expectedIdentity = assertRemoteEngineIdentity(identity, expectedVersion, expectedBuildSha);
|
|
75
|
-
|
|
95
|
+
// Bind the target from a fresh strict inspection immediately before the
|
|
96
|
+
// target-bound admission RPC. Control reachability cannot upgrade an
|
|
97
|
+
// absent, stale, or unknown lease into signal authority.
|
|
98
|
+
const lease = deps.inspectLease(socketPath);
|
|
99
|
+
const expectedOwner = runtimeReplacementCapableOwner(lease);
|
|
76
100
|
if (!expectedOwner) {
|
|
77
|
-
throw
|
|
101
|
+
throw runtimeActivityUnknown("remote daemon is live but its writer-lease activity cannot be verified");
|
|
78
102
|
}
|
|
79
103
|
const expectedTarget = {
|
|
80
104
|
...expectedIdentity,
|
|
81
105
|
leaseOwner: { pid: expectedOwner.pid, token: expectedOwner.token },
|
|
82
106
|
};
|
|
83
|
-
const termination = await admitAndAwaitRuntimeReplacementStop(() => daemon.client.shutdownForRuntimeReplacement(expectedTarget), (options) => awaitDaemonTermination(
|
|
107
|
+
const termination = await admitAndAwaitRuntimeReplacementStop(() => daemon.client.shutdownForRuntimeReplacement(expectedTarget), (options) => awaitDaemonTermination(socketPath, options), expectedOwner);
|
|
84
108
|
if (termination.outcome === "still_alive") {
|
|
85
109
|
throw new Error(`remote daemon did not stop: ${termination.detail}`);
|
|
86
110
|
}
|
|
@@ -173,7 +197,7 @@ export async function remoteCommand(args, json) {
|
|
|
173
197
|
typeof expectedBuildSha !== "string") {
|
|
174
198
|
return printUsageError(json, "usage: claudexor remote stop <expectedVersion> <expectedBuildSha> --json");
|
|
175
199
|
}
|
|
176
|
-
return
|
|
200
|
+
return stopRemoteDaemonForRuntimeReplacement(expectedVersion, expectedBuildSha);
|
|
177
201
|
}
|
|
178
202
|
if (sub === "activate" || sub === "rollback") {
|
|
179
203
|
const expected = args._[2];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"remote-command.js","sourceRoot":"","sources":["../src/remote-command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"remote-command.js","sourceRoot":"","sources":["../src/remote-command.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,24 @@
|
|
|
1
|
-
import { type AwaitDaemonTerminationOptions, type DaemonTerminationOutcome, type DaemonLeaseOwner, DaemonClient, awaitDaemonTermination } from "@claudexor/daemon";
|
|
1
|
+
import { type AwaitDaemonTerminationOptions, type DaemonTerminationOutcome, type DaemonLeaseOwner, type DaemonWriterLeaseStatus, DaemonClient, awaitDaemonTermination } from "@claudexor/daemon";
|
|
2
2
|
interface RuntimeReplacementStopDeps {
|
|
3
3
|
socketPath(): string;
|
|
4
4
|
readToken(): string | null;
|
|
5
5
|
socketAlive(path: string): Promise<boolean>;
|
|
6
|
-
|
|
6
|
+
inspectLease(path: string): DaemonWriterLeaseStatus;
|
|
7
7
|
client(path: string, token: string): Pick<DaemonClient, "shutdownForRuntimeReplacement">;
|
|
8
8
|
awaitTermination(path: string, options: AwaitDaemonTerminationOptions): ReturnType<typeof awaitDaemonTermination>;
|
|
9
9
|
write(line: string): void;
|
|
10
10
|
}
|
|
11
|
+
/** Shared no-Control decision for local and remote runtime replacement.
|
|
12
|
+
* This policy never selects a target: only a physically absent or positively
|
|
13
|
+
* stale lease alongside an unreachable socket proves idempotent stop. */
|
|
14
|
+
export declare function decideRuntimeReplacementWithoutControl(socketReachable: boolean, lease: DaemonWriterLeaseStatus): {
|
|
15
|
+
status: "already_stopped";
|
|
16
|
+
} | {
|
|
17
|
+
status: "activity_unknown";
|
|
18
|
+
detail: string;
|
|
19
|
+
};
|
|
20
|
+
/** Package-private projection for the authenticated local and remote paths. */
|
|
21
|
+
export declare function runtimeReplacementCapableOwner(lease: DaemonWriterLeaseStatus): DaemonLeaseOwner | null;
|
|
11
22
|
/** One owner for the admission/termination uncertainty boundary used by both
|
|
12
23
|
* local and remote runtime replacement. Only a proven
|
|
13
24
|
* `{ok:true,fenced:true,targetBound:true}` receipt grants
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-replacement-stop.d.ts","sourceRoot":"","sources":["../src/runtime-replacement-stop.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,YAAY,
|
|
1
|
+
{"version":3,"file":"runtime-replacement-stop.d.ts","sourceRoot":"","sources":["../src/runtime-replacement-stop.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,6BAA6B,EAClC,KAAK,wBAAwB,EAC7B,KAAK,gBAAgB,EACrB,KAAK,uBAAuB,EAC5B,YAAY,EAEZ,sBAAsB,EAKvB,MAAM,mBAAmB,CAAC;AAE3B,UAAU,0BAA0B;IAClC,UAAU,IAAI,MAAM,CAAC;IACrB,SAAS,IAAI,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC5C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,uBAAuB,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,EAAE,+BAA+B,CAAC,CAAC;IACzF,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,6BAA6B,GACrC,UAAU,CAAC,OAAO,sBAAsB,CAAC,CAAC;IAC7C,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAoED;;yEAEyE;AACzE,wBAAgB,sCAAsC,CACpD,eAAe,EAAE,OAAO,EACxB,KAAK,EAAE,uBAAuB,GAC7B;IAAE,MAAM,EAAE,iBAAiB,CAAA;CAAE,GAAG;IAAE,MAAM,EAAE,kBAAkB,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CA0BhF;AAED,+EAA+E;AAC/E,wBAAgB,8BAA8B,CAC5C,KAAK,EAAE,uBAAuB,GAC7B,gBAAgB,GAAG,IAAI,CAEzB;AAED;;;;;oDAKoD;AACpD,wBAAsB,mCAAmC,CACvD,gBAAgB,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,EACxC,gBAAgB,EAAE,CAAC,OAAO,EAAE,6BAA6B,KAAK,OAAO,CAAC,wBAAwB,CAAC,EAC/F,aAAa,EAAE,gBAAgB,GAC9B,OAAO,CAAC,wBAAwB,CAAC,CAgCnC;AAED;;;;yDAIyD;AACzD,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,IAAI,GAAE,0BAA2C,GAChD,OAAO,CAAC,OAAO,CAAC,CAoElB"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { DaemonClient,
|
|
1
|
+
import { DaemonClient, awaitDaemonTermination, defaultSocketPath, inspectDaemonWriterLease, readToken, socketAlive, } from "@claudexor/daemon";
|
|
2
2
|
const productionDeps = {
|
|
3
3
|
socketPath: defaultSocketPath,
|
|
4
4
|
readToken,
|
|
5
5
|
socketAlive,
|
|
6
|
-
|
|
6
|
+
inspectLease: inspectDaemonWriterLease,
|
|
7
7
|
client: (path, token) => new DaemonClient(path, token),
|
|
8
8
|
awaitTermination: awaitDaemonTermination,
|
|
9
9
|
write: (line) => process.stdout.write(line),
|
|
@@ -47,6 +47,37 @@ function writeRefusal(deps, code, detail) {
|
|
|
47
47
|
deps.write(`${JSON.stringify({ stopped: false, code, retryable: true, detail })}\n`);
|
|
48
48
|
process.exitCode = 1;
|
|
49
49
|
}
|
|
50
|
+
/** Shared no-Control decision for local and remote runtime replacement.
|
|
51
|
+
* This policy never selects a target: only a physically absent or positively
|
|
52
|
+
* stale lease alongside an unreachable socket proves idempotent stop. */
|
|
53
|
+
export function decideRuntimeReplacementWithoutControl(socketReachable, lease) {
|
|
54
|
+
if (socketReachable) {
|
|
55
|
+
return {
|
|
56
|
+
status: "activity_unknown",
|
|
57
|
+
detail: "runtime replacement found a reachable daemon socket without verified Control",
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
if (lease.status === "absent" ||
|
|
61
|
+
(lease.status === "owned" && lease.capability.status === "proven_stale")) {
|
|
62
|
+
return { status: "already_stopped" };
|
|
63
|
+
}
|
|
64
|
+
if (lease.status === "unknown") {
|
|
65
|
+
return {
|
|
66
|
+
status: "activity_unknown",
|
|
67
|
+
detail: `runtime replacement cannot verify writer-lease authority (${lease.reason})`,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
status: "activity_unknown",
|
|
72
|
+
detail: lease.capability.status === "capable"
|
|
73
|
+
? "runtime replacement found a capable writer lease but no reachable daemon socket"
|
|
74
|
+
: "runtime replacement cannot verify writer-lease activity",
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
/** Package-private projection for the authenticated local and remote paths. */
|
|
78
|
+
export function runtimeReplacementCapableOwner(lease) {
|
|
79
|
+
return lease.status === "owned" && lease.capability.status === "capable" ? lease.owner : null;
|
|
80
|
+
}
|
|
50
81
|
/** One owner for the admission/termination uncertainty boundary used by both
|
|
51
82
|
* local and remote runtime replacement. Only a proven
|
|
52
83
|
* `{ok:true,fenced:true,targetBound:true}` receipt grants
|
|
@@ -99,12 +130,9 @@ export async function runStopIfRequested(argv, deps = productionDeps) {
|
|
|
99
130
|
const socketPath = deps.socketPath();
|
|
100
131
|
const alive = await deps.socketAlive(socketPath);
|
|
101
132
|
if (!alive) {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
// surfaces to prove absence, matching the remote replacement path.
|
|
106
|
-
if (deps.leaseOwner(socketPath)) {
|
|
107
|
-
writeRefusal(deps, "runtime_activity_unknown", "runtime replacement found a writer lease but no reachable daemon socket");
|
|
133
|
+
const decision = decideRuntimeReplacementWithoutControl(false, deps.inspectLease(socketPath));
|
|
134
|
+
if (decision.status === "activity_unknown") {
|
|
135
|
+
writeRefusal(deps, "runtime_activity_unknown", decision.detail);
|
|
108
136
|
return true;
|
|
109
137
|
}
|
|
110
138
|
deps.write(`${JSON.stringify({ stopped: true, alreadyStopped: true })}\n`);
|
|
@@ -112,10 +140,17 @@ export async function runStopIfRequested(argv, deps = productionDeps) {
|
|
|
112
140
|
}
|
|
113
141
|
const token = deps.readToken();
|
|
114
142
|
if (!token) {
|
|
115
|
-
|
|
116
|
-
|
|
143
|
+
const decision = decideRuntimeReplacementWithoutControl(true, deps.inspectLease(socketPath));
|
|
144
|
+
if (decision.status === "activity_unknown") {
|
|
145
|
+
writeRefusal(deps, "runtime_activity_unknown", decision.detail);
|
|
146
|
+
return true;
|
|
147
|
+
}
|
|
148
|
+
throw new Error("reachable socket unexpectedly classified as already stopped");
|
|
117
149
|
}
|
|
118
|
-
|
|
150
|
+
// Select the target from a fresh strict inspection immediately before the
|
|
151
|
+
// target-bound admission RPC. Stale, absent, or unknown authority cannot be
|
|
152
|
+
// turned into a signal target even when the socket itself is reachable.
|
|
153
|
+
const expectedOwner = runtimeReplacementCapableOwner(deps.inspectLease(socketPath));
|
|
119
154
|
if (!expectedOwner) {
|
|
120
155
|
writeRefusal(deps, "runtime_activity_unknown", "runtime replacement cannot bind the live daemon to its writer lease");
|
|
121
156
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-replacement-stop.js","sourceRoot":"","sources":["../src/runtime-replacement-stop.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"runtime-replacement-stop.js","sourceRoot":"","sources":["../src/runtime-replacement-stop.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,7 +24,13 @@ export declare class SetupLifecycleBinding<TStore, THandle extends SetupLifecycl
|
|
|
24
24
|
private draining;
|
|
25
25
|
private shutdownPromise;
|
|
26
26
|
constructor(slot: SetupProjectionSlot<TStore>, create: (store: TStore) => THandle);
|
|
27
|
-
/** Start the initial supervisor when the projection is healthy.
|
|
27
|
+
/** Start the initial supervisor when the projection is healthy. Serialized
|
|
28
|
+
* with replaceAfter/shutdown and IDEMPOTENT (S2-CR2): on the global-reopen
|
|
29
|
+
* path the quarantine route's replaceAfter already bound and started a
|
|
30
|
+
* supervisor before onNormalAdmission calls start() — that supervisor stays
|
|
31
|
+
* the live one instead of being orphaned mid-monitor-loop by a second
|
|
32
|
+
* handle over the same store. Once draining/shutdown began, start() stays
|
|
33
|
+
* refused so no undrainable supervisor can appear. */
|
|
28
34
|
start(): Promise<void>;
|
|
29
35
|
current(): THandle;
|
|
30
36
|
generation(): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-lifecycle-binding.d.ts","sourceRoot":"","sources":["../src/setup-lifecycle-binding.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,OAAO,EAAE,CAAC;IACnD,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM;IACzC,OAAO,IAAI,MAAM,CAAC;IAClB,UAAU,IAAI,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,qBAAqB,CAAC,MAAM,EAAE,OAAO,SAAS,oBAAoB;IAQ3E,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAA8B;IAErD,YACmB,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACjC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACjD;IAEJ
|
|
1
|
+
{"version":3,"file":"setup-lifecycle-binding.d.ts","sourceRoot":"","sources":["../src/setup-lifecycle-binding.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,oBAAoB;IACnC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACvB,IAAI,CAAC,MAAM,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE,GAAG,SAAS,OAAO,EAAE,CAAC;IACnD,UAAU,IAAI,IAAI,CAAC;IACnB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,mBAAmB,CAAC,MAAM;IACzC,OAAO,IAAI,MAAM,CAAC;IAClB,UAAU,IAAI,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,qBAAqB,CAAC,MAAM,EAAE,OAAO,SAAS,oBAAoB;IAQ3E,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,MAAM;IARzB,OAAO,CAAC,MAAM,CAAwB;IACtC,OAAO,CAAC,gBAAgB,CAAK;IAC7B,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,eAAe,CAA8B;IAErD,YACmB,IAAI,EAAE,mBAAmB,CAAC,MAAM,CAAC,EACjC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,EACjD;IAEJ;;;;;;0DAMsD;IACtD,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAkBrB;IAED,OAAO,IAAI,OAAO,CASjB;IAED,UAAU,IAAI,MAAM,CAEnB;IAED,0BAA0B,IAAI,OAAO,CAEpC;IAED;;gEAE4D;IAC5D,aAAa,IAAI,OAAO,CAEvB;IAED,UAAU,IAAI,IAAI,CAIjB;IAED,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CASxB;IAED;;;OAGG;IACH,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAkD3D;YAEa,SAAS;IAcvB,OAAO,CAAC,wBAAwB;IAIhC,OAAO,CAAC,aAAa;CAOtB"}
|
|
@@ -16,24 +16,34 @@ export class SetupLifecycleBinding {
|
|
|
16
16
|
this.slot = slot;
|
|
17
17
|
this.create = create;
|
|
18
18
|
}
|
|
19
|
-
/** Start the initial supervisor when the projection is healthy.
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
if (error instanceof JournalRecoveryRequiredError)
|
|
19
|
+
/** Start the initial supervisor when the projection is healthy. Serialized
|
|
20
|
+
* with replaceAfter/shutdown and IDEMPOTENT (S2-CR2): on the global-reopen
|
|
21
|
+
* path the quarantine route's replaceAfter already bound and started a
|
|
22
|
+
* supervisor before onNormalAdmission calls start() — that supervisor stays
|
|
23
|
+
* the live one instead of being orphaned mid-monitor-loop by a second
|
|
24
|
+
* handle over the same store. Once draining/shutdown began, start() stays
|
|
25
|
+
* refused so no undrainable supervisor can appear. */
|
|
26
|
+
start() {
|
|
27
|
+
return this.exclusive(async () => {
|
|
28
|
+
if (this.active !== null || this.draining)
|
|
30
29
|
return;
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
30
|
+
let store;
|
|
31
|
+
try {
|
|
32
|
+
store = this.slot.current();
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
// A corrupt partition is a supported degraded startup. Calling
|
|
36
|
+
// current() later reproduces the typed recovery error for every setup
|
|
37
|
+
// route while the recovery plane remains available.
|
|
38
|
+
if (error instanceof JournalRecoveryRequiredError)
|
|
39
|
+
return;
|
|
40
|
+
throw error;
|
|
41
|
+
}
|
|
42
|
+
const handle = this.create(store);
|
|
43
|
+
this.active = handle;
|
|
44
|
+
this.activeGeneration = this.slot.generation();
|
|
45
|
+
await handle.start();
|
|
46
|
+
});
|
|
37
47
|
}
|
|
38
48
|
current() {
|
|
39
49
|
if (this.active)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup-lifecycle-binding.js","sourceRoot":"","sources":["../src/setup-lifecycle-binding.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,4BAA4B,EAAE,MAAM,oBAAoB,CAAC;AAclE;;;;GAIG;AACH,MAAM,OAAO,qBAAqB;IAQb,IAAI;IACJ,MAAM;IARjB,MAAM,GAAmB,IAAI,CAAC;IAC9B,gBAAgB,GAAG,CAAC,CAAC;IACrB,QAAQ,GAAkB,OAAO,CAAC,OAAO,EAAE,CAAC;IAC5C,QAAQ,GAAG,KAAK,CAAC;IACjB,eAAe,GAAyB,IAAI,CAAC;IAErD,YACmB,IAAiC,EACjC,MAAkC;oBADlC,IAAI;sBACJ,MAAM;IACtB,CAAC;IAEJ,
|
|
1
|
+
{"version":3,"file":"setup-lifecycle-binding.js","sourceRoot":"","sources":["../src/setup-lifecycle-binding.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export interface DaemonStartupDiagnosticContext {
|
|
2
|
+
runtimeVersion: string;
|
|
3
|
+
buildSha: string;
|
|
4
|
+
entryPath: string;
|
|
5
|
+
pid: number;
|
|
6
|
+
dataRoot: string;
|
|
7
|
+
launchSource: string;
|
|
8
|
+
}
|
|
9
|
+
export interface DaemonStartupDiagnosticRecord {
|
|
10
|
+
stage: string;
|
|
11
|
+
message: string;
|
|
12
|
+
error?: unknown;
|
|
13
|
+
}
|
|
14
|
+
export interface DaemonStartupDiagnostics {
|
|
15
|
+
readonly path: string;
|
|
16
|
+
readonly rotatedPath: string;
|
|
17
|
+
record(record: DaemonStartupDiagnosticRecord): boolean;
|
|
18
|
+
close(): void;
|
|
19
|
+
lastFailure(): string | null;
|
|
20
|
+
}
|
|
21
|
+
export interface DaemonStartupDiagnosticOptions {
|
|
22
|
+
path?: string;
|
|
23
|
+
maxCurrentBytes?: number;
|
|
24
|
+
maxRecordBytes?: number;
|
|
25
|
+
platform?: NodeJS.Platform;
|
|
26
|
+
uid?: number;
|
|
27
|
+
now?: () => Date;
|
|
28
|
+
}
|
|
29
|
+
/** Coerce an environment-supplied launch source into a SAFE_LABEL value —
|
|
30
|
+
* "unknown" when absent or unsafe. Diagnostics never fail daemon startup, so
|
|
31
|
+
* a malformed environment must degrade to a safe label, not a throw. */
|
|
32
|
+
export declare function safeDaemonLaunchSource(value: string | undefined): string;
|
|
33
|
+
/** Open the canonical writer only after a separate root-authority owner won. */
|
|
34
|
+
export declare function openDaemonStartupDiagnosticsAfterAuthority(context: DaemonStartupDiagnosticContext, options?: DaemonStartupDiagnosticOptions): DaemonStartupDiagnostics;
|
|
35
|
+
export interface ReadDaemonDiagnosticTailOptions {
|
|
36
|
+
path?: string;
|
|
37
|
+
lines?: number;
|
|
38
|
+
platform?: NodeJS.Platform;
|
|
39
|
+
uid?: number;
|
|
40
|
+
}
|
|
41
|
+
export type DaemonDiagnosticTailRead = {
|
|
42
|
+
kind: "retained";
|
|
43
|
+
text: string;
|
|
44
|
+
} | {
|
|
45
|
+
kind: "oversize_omitted";
|
|
46
|
+
observedBytes: number;
|
|
47
|
+
limitBytes: number;
|
|
48
|
+
text: string;
|
|
49
|
+
};
|
|
50
|
+
/**
|
|
51
|
+
* Read a current-generation tail through the same inode proof.
|
|
52
|
+
*
|
|
53
|
+
* A file larger than the writer's current-generation cap is legacy or otherwise
|
|
54
|
+
* outside the bounded writer contract. Do not select a byte window from it:
|
|
55
|
+
* that boundary can remove the prefix/header required to redact any token family
|
|
56
|
+
* or multiline private-key block. Return typed omission evidence without reading
|
|
57
|
+
* file content instead. Files within the cap are read in full, redacted, and only
|
|
58
|
+
* then reduced to the requested line tail.
|
|
59
|
+
*/
|
|
60
|
+
export declare function readDaemonDiagnosticTail(options?: ReadDaemonDiagnosticTailOptions): DaemonDiagnosticTailRead;
|
|
61
|
+
//# sourceMappingURL=startup-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"startup-diagnostics.d.ts","sourceRoot":"","sources":["../src/startup-diagnostics.ts"],"names":[],"mappings":"AAmCA,MAAM,WAAW,8BAA8B;IAC7C,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,6BAA6B;IAC5C,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,MAAM,CAAC,MAAM,EAAE,6BAA6B,GAAG,OAAO,CAAC;IACvD,KAAK,IAAI,IAAI,CAAC;IACd,WAAW,IAAI,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,8BAA8B;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAyPD;;wEAEwE;AACxE,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAGxE;AAED,gFAAgF;AAChF,wBAAgB,0CAA0C,CACxD,OAAO,EAAE,8BAA8B,EACvC,OAAO,GAAE,8BAAmC,GAC3C,wBAAwB,CAqH1B;AAED,MAAM,WAAW,+BAA+B;IAC9C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,MAAM,wBAAwB,GAChC;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;CACd,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEN;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,GAAE,+BAAoC,GAC5C,wBAAwB,CAuC1B"}
|