@claudexor/cli 3.3.16 → 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.
Files changed (83) hide show
  1. package/dist/acp-surface-runner.d.ts +3 -2
  2. package/dist/acp-surface-runner.d.ts.map +1 -1
  3. package/dist/acp-surface-runner.js +20 -17
  4. package/dist/acp-surface-runner.js.map +1 -1
  5. package/dist/claudexord-entry.d.ts +7 -0
  6. package/dist/claudexord-entry.d.ts.map +1 -1
  7. package/dist/claudexord-entry.js +14 -0
  8. package/dist/claudexord-entry.js.map +1 -1
  9. package/dist/claudexord.d.ts +0 -10
  10. package/dist/claudexord.d.ts.map +1 -1
  11. package/dist/claudexord.js +95 -100
  12. package/dist/claudexord.js.map +1 -1
  13. package/dist/cli.js +10 -12
  14. package/dist/cli.js.map +1 -1
  15. package/dist/control-services.d.ts +4 -1
  16. package/dist/control-services.d.ts.map +1 -1
  17. package/dist/control-services.js +22 -21
  18. package/dist/control-services.js.map +1 -1
  19. package/dist/daemon-admission-runtime.d.ts +63 -0
  20. package/dist/daemon-admission-runtime.d.ts.map +1 -0
  21. package/dist/daemon-admission-runtime.js +180 -0
  22. package/dist/daemon-admission-runtime.js.map +1 -0
  23. package/dist/daemon-launch.d.ts +53 -0
  24. package/dist/daemon-launch.d.ts.map +1 -0
  25. package/dist/daemon-launch.js +211 -0
  26. package/dist/daemon-launch.js.map +1 -0
  27. package/dist/daemon-lifecycle.d.ts +14 -2
  28. package/dist/daemon-lifecycle.d.ts.map +1 -1
  29. package/dist/daemon-lifecycle.js +53 -10
  30. package/dist/daemon-lifecycle.js.map +1 -1
  31. package/dist/daemon-run.d.ts +6 -1
  32. package/dist/daemon-run.d.ts.map +1 -1
  33. package/dist/daemon-run.js +70 -19
  34. package/dist/daemon-run.js.map +1 -1
  35. package/dist/daemon-start-report.d.ts +8 -0
  36. package/dist/daemon-start-report.d.ts.map +1 -0
  37. package/dist/daemon-start-report.js +24 -0
  38. package/dist/daemon-start-report.js.map +1 -0
  39. package/dist/daemon-startup.d.ts +90 -0
  40. package/dist/daemon-startup.d.ts.map +1 -0
  41. package/dist/daemon-startup.js +156 -0
  42. package/dist/daemon-startup.js.map +1 -0
  43. package/dist/engine-skew.d.ts +4 -0
  44. package/dist/engine-skew.d.ts.map +1 -1
  45. package/dist/engine-skew.js +10 -3
  46. package/dist/engine-skew.js.map +1 -1
  47. package/dist/mcp-run-projections.d.ts +78 -1
  48. package/dist/mcp-run-projections.d.ts.map +1 -1
  49. package/dist/mcp-run-projections.js +57 -3
  50. package/dist/mcp-run-projections.js.map +1 -1
  51. package/dist/mcp-runner.d.ts.map +1 -1
  52. package/dist/mcp-runner.js +41 -37
  53. package/dist/mcp-runner.js.map +1 -1
  54. package/dist/ops-commands.d.ts +9 -0
  55. package/dist/ops-commands.d.ts.map +1 -1
  56. package/dist/ops-commands.js +61 -66
  57. package/dist/ops-commands.js.map +1 -1
  58. package/dist/ops-harness-selection.d.ts +6 -0
  59. package/dist/ops-harness-selection.d.ts.map +1 -0
  60. package/dist/ops-harness-selection.js +29 -0
  61. package/dist/ops-harness-selection.js.map +1 -0
  62. package/dist/orphan-sweeper.js +13 -3
  63. package/dist/orphan-sweeper.js.map +1 -1
  64. package/dist/remote-command.d.ts +10 -1
  65. package/dist/remote-command.d.ts.map +1 -1
  66. package/dist/remote-command.js +34 -10
  67. package/dist/remote-command.js.map +1 -1
  68. package/dist/runtime-replacement-stop.d.ts +13 -2
  69. package/dist/runtime-replacement-stop.d.ts.map +1 -1
  70. package/dist/runtime-replacement-stop.js +46 -11
  71. package/dist/runtime-replacement-stop.js.map +1 -1
  72. package/dist/setup-lifecycle-binding.d.ts +7 -1
  73. package/dist/setup-lifecycle-binding.d.ts.map +1 -1
  74. package/dist/setup-lifecycle-binding.js +27 -17
  75. package/dist/setup-lifecycle-binding.js.map +1 -1
  76. package/dist/startup-diagnostics.d.ts +61 -0
  77. package/dist/startup-diagnostics.d.ts.map +1 -0
  78. package/dist/startup-diagnostics.js +416 -0
  79. package/dist/startup-diagnostics.js.map +1 -0
  80. package/dist/thread-turn-services.d.ts +1 -1
  81. package/dist/thread-turn-services.d.ts.map +1 -1
  82. package/dist/thread-turn-services.js.map +1 -1
  83. package/package.json +23 -23
@@ -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, daemonLeaseOwner, daemonDir, defaultSocketPath, socketAlive, } from "@claudexor/daemon";
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
- async function stop(expectedVersion, expectedBuildSha) {
65
- const daemon = await connectDaemonIfRunning();
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
- if (daemonLeaseOwner(defaultSocketPath()) || (await socketAlive(defaultSocketPath()))) {
68
- throw new Error("remote daemon is running but its Control API identity cannot be verified");
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
- const expectedOwner = daemonLeaseOwner(defaultSocketPath());
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 new Error("remote daemon is live but its writer-lease identity cannot be verified");
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(defaultSocketPath(), options), expectedOwner);
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 stop(expectedVersion, expectedBuildSha);
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
- leaseOwner(path: string): DaemonLeaseOwner | null;
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,EAGZ,sBAAsB,EAIvB,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,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAAC;IAClD,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;;;;;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,CAwElB"}
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, daemonLeaseOwner, awaitDaemonTermination, defaultSocketPath, readToken, socketAlive, } from "@claudexor/daemon";
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
- leaseOwner: daemonLeaseOwner,
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
- // A daemon claims the writer lease before it binds the socket. Treating the
103
- // boot window as absence would let the installer move the runtime pointer
104
- // beneath that live process. Idempotent success therefore requires both
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
- writeRefusal(deps, "runtime_activity_unknown", "runtime replacement cannot authenticate to the live daemon");
116
- return true;
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
- const expectedOwner = deps.leaseOwner(socketPath);
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":"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"}
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,mEAAmE;IAC7D,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,CAe3B;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"}
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
- async start() {
21
- let store;
22
- try {
23
- store = this.slot.current();
24
- }
25
- catch (error) {
26
- // A corrupt partition is a supported degraded startup. Calling
27
- // current() later reproduces the typed recovery error for every setup
28
- // route while the recovery plane remains available.
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
- throw error;
32
- }
33
- const handle = this.create(store);
34
- this.active = handle;
35
- this.activeGeneration = this.slot.generation();
36
- await handle.start();
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":"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"}
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"}