@claudexor/core 3.3.7-rc.0 → 3.3.8

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.
@@ -60,9 +60,11 @@ export interface ConfinementOutcome {
60
60
  * into the child's prompt and into its own result. It never degrades SILENTLY,
61
61
  * and it never names a mechanism it did not just prove on this host.
62
62
  *
63
- * Still refuses for the two conditions that are Claudexor's own fault rather
64
- * than the platform's: an allowed root that swallows a denied one, and a policy
65
- * that a working mechanism failed to enforce for this attempt.
63
+ * Still refuses for the three conditions that are Claudexor's own layout or
64
+ * this host's rather than the platform's: an allowed root that swallows a
65
+ * denied one, a host where no denied path exists so nothing can be proven
66
+ * denied, and a policy that a working mechanism failed to enforce for this
67
+ * attempt.
66
68
  */
67
69
  export declare function applyConfinement(input: ConfinementInput, host?: ConfinementHost): ConfinementOutcome;
68
70
  /** Rewrite an argv so the child (and every descendant) starts inside the boundary. */
@@ -1 +1 @@
1
- {"version":3,"file":"confinement.d.ts","sourceRoot":"","sources":["../src/confinement.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA+C5D,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvF;AAuDD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAQ5E;AAiDD,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AAyED;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,eAA8B,GAAG;IAClF,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAGA;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,8DAA8D;IAC9D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,gBAAgB,EACvB,IAAI,GAAE,eAA8B,GACnC,kBAAkB,CAkCpB;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAClD,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAWjC"}
1
+ {"version":3,"file":"confinement.d.ts","sourceRoot":"","sources":["../src/confinement.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AA+C5D,MAAM,WAAW,gBAAgB;IAC/B,+EAA+E;IAC/E,YAAY,EAAE,MAAM,CAAC;IACrB,mFAAmF;IACnF,WAAW,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,eAAe,EAAE,MAAM,CAAC;IACxB,kCAAkC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,yCAAyC;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,4EAA4E;IAC5E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC;IAC1B,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAC9B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,MAAM,EAAE,GAAG;QAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvF;AAuDD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAQ5E;AAiDD,mFAAmF;AACnF,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM,CAEvE;AA6HD;;;;;;;GAOG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,GAAE,eAA8B,GAAG;IAClF,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAGA;AAED,gFAAgF;AAChF,MAAM,WAAW,kBAAkB;IACjC,6DAA6D;IAC7D,WAAW,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACvC,8DAA8D;IAC9D,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,gBAAgB,EACvB,IAAI,GAAE,eAA8B,GACnC,kBAAkB,CA2CpB;AAED,sFAAsF;AACtF,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAClD,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,CAAA;CAAE,CAWjC"}
@@ -136,25 +136,70 @@ function readUnder(mechanism, profile, probePath, host) {
136
136
  const invocation = mechanism.invocation(profile, "/bin/ls", [probePath]);
137
137
  return host.run(invocation.bin, invocation.args);
138
138
  }
139
+ /** A trimmed, bounded stderr tail for a probe's failure reason. */
140
+ function describeProbeFault(stderr) {
141
+ return stderr && stderr.trim() ? ` (${stderr.trim().slice(0, 200)})` : "";
142
+ }
143
+ /**
144
+ * stderr signatures of the SANDBOX ITSELF failing to launch or apply the
145
+ * profile — a refused `sandbox_apply`, a profile that would not compile/parse —
146
+ * as opposed to the wrapped program running and hitting a real policy deny.
147
+ * `sandbox-exec` prefixes its OWN failures with `sandbox-exec:` and never runs
148
+ * the wrapped tool; a denied read instead surfaces from the tool itself
149
+ * (`ls: <path>: Operation not permitted`). A nonzero exit carrying one of these
150
+ * is infrastructure, not proof.
151
+ */
152
+ const SANDBOX_APPLICATION_FAULT_RE = /sandbox-exec:|sandbox_apply|sandbox_compile|failed to (parse|compile|apply|initialize)|could not (parse|compile)|error parsing/i;
153
+ function isSandboxApplicationFault(stderr) {
154
+ return typeof stderr === "string" && SANDBOX_APPLICATION_FAULT_RE.test(stderr);
155
+ }
139
156
  /**
140
157
  * Prove the policy denies, on THIS host, before anything runs under it.
141
158
  *
142
159
  * Returns the reason it could NOT be proven, or null when it was. A policy that
143
- * fails to compile, or that a future OS quietly stops enforcing, would
144
- * otherwise produce a run that reports `confined` and is not.
160
+ * fails to compile, that a launcher refuses to apply, or that a future OS
161
+ * quietly stops enforcing, would otherwise produce a run that records a false
162
+ * `verified_denied_path` and reports `confined` when it is not.
163
+ *
164
+ * Three guards, because a nonzero exit alone means nothing:
165
+ * NEGATIVE control — the denied path must be readable UNCONFINED, or an
166
+ * ENOENT there would masquerade as a policy deny.
167
+ * POSITIVE control — an ALLOWED path must stay readable UNDER the sandbox. If
168
+ * it does not, the sandbox never applied (failed `sandbox_apply`, a profile
169
+ * that would not compile), so any subsequent "deny" is the launcher
170
+ * failing, not the policy denying. This is the guard the audit was missing.
171
+ * FAULT discrimination — even with the sandbox applied, a nonzero exit whose
172
+ * stderr is a launch/application fault, or that never completed, is never
173
+ * recorded as proof. Only an explained nonzero (positive control passed, no
174
+ * fault signature, path proven readable unconfined) is a real deny.
145
175
  */
146
- function proveConfinementDenial(mechanism, profile, probePath, host) {
147
- // CONTROL first. A probe path that is simply absent fails the confined read
148
- // for the wrong reason, and the policy would be "proven" by an ENOENT.
176
+ function proveConfinementDenial(mechanism, profile, probePath, allowedControlPaths, host) {
177
+ // NEGATIVE CONTROL.
149
178
  if (host.run("/bin/ls", [probePath]).status !== 0) {
150
179
  return `the probe path ${probePath} is not readable even unconfined, so a denial there proves nothing`;
151
180
  }
181
+ // POSITIVE CONTROL. Pick an allowed path that is readable unconfined, then
182
+ // require it to STAY readable under the sandbox. A failure here is the sandbox
183
+ // not applying, not the policy working.
184
+ const control = allowedControlPaths
185
+ .map((path) => resolved(path))
186
+ .find((path) => host.run("/bin/ls", [path]).status === 0);
187
+ if (!control) {
188
+ return `no allowed control path was readable unconfined, so the ${mechanism.id} sandbox application could not be confirmed`;
189
+ }
190
+ const positive = readUnder(mechanism, profile, control, host);
191
+ if (positive.status !== 0) {
192
+ return `the ${mechanism.id} sandbox did not apply: the allowed control path ${control} was not readable under it${describeProbeFault(positive.stderr)}`;
193
+ }
194
+ // THE TEST: the denied path must now be denied under the proven-applied sandbox.
152
195
  const probe = readUnder(mechanism, profile, probePath, host);
153
196
  if (probe.status === 0)
154
197
  return `${probePath} stayed readable under the ${mechanism.id} policy`;
198
+ if (isSandboxApplicationFault(probe.stderr)) {
199
+ return `the ${mechanism.id} probe hit a sandbox application fault, not a policy deny${describeProbeFault(probe.stderr)}`;
200
+ }
155
201
  if (probe.status === null) {
156
- const detail = probe.stderr ? ` (${probe.stderr.trim().slice(0, 200)})` : "";
157
- return `the ${mechanism.id} probe did not complete${detail}`;
202
+ return `the ${mechanism.id} probe did not complete${describeProbeFault(probe.stderr)}`;
158
203
  }
159
204
  return null;
160
205
  }
@@ -205,9 +250,11 @@ export function confinementBoundaryAvailable(host = DEFAULT_HOST) {
205
250
  * into the child's prompt and into its own result. It never degrades SILENTLY,
206
251
  * and it never names a mechanism it did not just prove on this host.
207
252
  *
208
- * Still refuses for the two conditions that are Claudexor's own fault rather
209
- * than the platform's: an allowed root that swallows a denied one, and a policy
210
- * that a working mechanism failed to enforce for this attempt.
253
+ * Still refuses for the three conditions that are Claudexor's own layout or
254
+ * this host's rather than the platform's: an allowed root that swallows a
255
+ * denied one, a host where no denied path exists so nothing can be proven
256
+ * denied, and a policy that a working mechanism failed to enforce for this
257
+ * attempt.
211
258
  */
212
259
  export function applyConfinement(input, host = DEFAULT_HOST) {
213
260
  const available = confinementMechanism(host);
@@ -227,7 +274,10 @@ export function applyConfinement(input, host = DEFAULT_HOST) {
227
274
  throw new ConfinementUnavailableError("filesystem confinement could not be verified: none of the denied paths exists on this host, so the policy cannot be proven to deny anything");
228
275
  }
229
276
  const probePath = resolved(probeCandidate);
230
- const why = proveConfinementDenial(available.mechanism, profile, probePath, host);
277
+ // The run's own allow-listed roots double as the positive-control surface:
278
+ // one of them staying readable under the sandbox is what proves the profile
279
+ // actually applied before any denial is credited.
280
+ const why = proveConfinementDenial(available.mechanism, profile, probePath, ownRoots(input), host);
231
281
  if (why)
232
282
  throw new ConfinementUnavailableError(`filesystem confinement failed: ${why}`);
233
283
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"confinement.js","sourceRoot":"","sources":["../src/confinement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"confinement.js","sourceRoot":"","sources":["../src/confinement.ts"],"names":[],"mappings":"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"}
package/dist/proc.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type ProcessTreeTerminationOutcome, type ReapProcessTreeOptions } from "./process-tree.js";
1
+ import { type KillTreeStrategy, type WindowsKillTreeResult, type ProcessTreeTerminationOutcome, type ReapProcessTreeOptions } from "./process-tree.js";
2
2
  import { type ProcessGroupService } from "./process-group.js";
3
3
  export interface SpawnOptions {
4
4
  cwd?: string;
@@ -13,6 +13,10 @@ export interface SpawnOptions {
13
13
  timeoutMs?: number;
14
14
  /** Signal sent when the consumer closes the stream before process exit. */
15
15
  cancelSignal?: NodeJS.Signals;
16
+ /** Test seams: prove the win32 kill-fallback without a Windows host (the
17
+ * fsyncDirectoryHandle precedent). Production always uses the defaults. */
18
+ killTreeStrategy?: KillTreeStrategy;
19
+ windowsKillTree?: (pid: number) => WindowsKillTreeResult;
16
20
  /** Hard-kill delay after cancelSignal when the child ignores cooperative stop. */
17
21
  cancelKillDelayMs?: number;
18
22
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"proc.d.ts","sourceRoot":"","sources":["../src/proc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proc.d.ts","sourceRoot":"","sources":["../src/proc.ts"],"names":[],"mappings":"AAIA,OAAO,EAIL,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,EAC1B,KAAK,6BAA6B,EAClC,KAAK,sBAAsB,EAC5B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAGL,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,YAAY;IAC3B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD;;;;OAIG;IACH,UAAU,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,YAAY,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IAC9B;+EAC2E;IAC3E,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,qBAAqB,CAAC;IACzD,kFAAkF;IAClF,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B;;;;;;;OAOG;IACH,wBAAwB,CAAC,EAAE,CAAC,IAAI,EAAE;QAChC,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,EAAE,CAAC;QACpB,UAAU,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,MAAM,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrD,KAAK,IAAI,CAAC;IACX;;;;OAIG;IACH,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;IAChF;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,wEAAwE;IACxE,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B;;;;OAIG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,4EAA4E;IAC5E,OAAO,CAAC,EAAE,CAAC,EAAE,EAAE,UAAU,KAAK,IAAI,CAAC;CACpC;AAED,iEAAiE;AACjE,MAAM,WAAW,UAAU;IACzB,6EAA6E;IAC7E,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,0EAA0E;IAC1E,GAAG,IAAI,IAAI,CAAC;IACZ;;kDAE8C;IAC9C,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAA;CAAE;AACtE;;;;;;GAMG;GACD;IACE,IAAI,EAAE,yBAAyB,CAAC;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD,CAAC;AAEN;;;;GAIG;AACH,wBAAuB,YAAY,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,YAAiB,GACtB,cAAc,CAAC,SAAS,CAAC,CAgQ3B;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,GAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA;CAAO,GAChE,MAAM,GAAG,IAAI,CAcf;AAED,mFAAmF;AACnF,wBAAsB,UAAU,CAC9B,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,aAAa,CAAC,CAgBxB;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CACjC,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,EACd,IAAI,GAAE,YAAiB,GACtB,OAAO,CAAC,aAAa,CAAC,CA4GxB;AAED,MAAM,WAAW,iBAAiB;IAChC,qEAAqE;IACrE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,iBAAsB,GAAG;IAAE,IAAI,EAAE,MAAM,IAAI,CAAA;CAAE,CAcnF"}
package/dist/proc.js CHANGED
@@ -2,7 +2,7 @@ import { spawn } from "node:child_process";
2
2
  import { registerChildProcess, unregisterChildProcess } from "./process-registry.js";
3
3
  import { createInterface } from "node:readline";
4
4
  import { composeBaseEnv } from "./env-scope.js";
5
- import { reapProcessTree, } from "./process-tree.js";
5
+ import { killWindowsProcessTree, reapProcessTree, resolveKillTreeStrategy, } from "./process-tree.js";
6
6
  import { defaultProcessGroupService, } from "./process-group.js";
7
7
  /**
8
8
  * Spawn a process and stream stdout/stderr lines as they arrive, ending with an
@@ -58,6 +58,9 @@ export async function* spawnProcess(cmd, args, opts = {}) {
58
58
  // recycled, or unreadable. When capture never succeeded (no proven handle) we
59
59
  // do not signal at all — the whole-tree reap remains the fail-closed disclosure
60
60
  // channel (it reports `unconfirmed` for a group it cannot identity-prove).
61
+ // On win32 there is never a proven handle (no POSIX identity source); the
62
+ // whole tree kill lives in the reap `requestCancel` always kicks first
63
+ // (taskkill /T /F inside reapProcessTree's windows leg).
61
64
  const killTree = (signal) => {
62
65
  if (!directGroupHandle)
63
66
  return;
@@ -340,12 +343,22 @@ export async function runCaptureRaw(cmd, args, opts = {}) {
340
343
  });
341
344
  if (typeof child.pid === "number")
342
345
  registerChildProcess(child.pid, cmd);
346
+ let captureChildClosed = false;
347
+ child.once("close", () => {
348
+ captureChildClosed = true;
349
+ });
350
+ child.once("error", () => {
351
+ captureChildClosed = true;
352
+ });
343
353
  // Identity-proven-only group signalling for capture children too (round-4 #1
344
354
  // residue): a raw `process.kill(-pid)` after the short-lived capture child
345
355
  // exited could hit an unrelated recycled group. Group signals go only through
346
356
  // the identity-verified handle captured at spawn; without a proven handle we
347
357
  // fall back to `child.kill` — the ChildProcess OBJECT is pinned to this exact
348
358
  // process by Node, so a direct-child signal can never target a recycled PID.
359
+ // On win32 no handle ever captures; the viable tree kill is taskkill, gated
360
+ // on the child not yet having closed (Node holds the process handle until
361
+ // then, so the PID cannot have been recycled).
349
362
  const captureGroupService = opts.processGroups ?? defaultProcessGroupService;
350
363
  let captureGroupHandle;
351
364
  if (typeof child.pid === "number") {
@@ -358,6 +371,16 @@ export async function runCaptureRaw(cmd, args, opts = {}) {
358
371
  captureGroupService.signal(captureGroupHandle, signal);
359
372
  return;
360
373
  }
374
+ if ((opts.killTreeStrategy ?? resolveKillTreeStrategy()) === "windows_taskkill" &&
375
+ typeof child.pid === "number" &&
376
+ !captureChildClosed) {
377
+ // A FAILED taskkill (typed result) must not strand the capture awaiting
378
+ // `close` forever (wave finding): fall through to the pinned
379
+ // ChildProcess kill so the direct child still dies and close fires.
380
+ const killed = (opts.windowsKillTree ?? killWindowsProcessTree)(child.pid);
381
+ if (killed.status !== "failed")
382
+ return;
383
+ }
361
384
  try {
362
385
  child.kill(signal);
363
386
  }
package/dist/proc.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"proc.js","sourceRoot":"","sources":["../src/proc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"proc.js","sourceRoot":"","sources":["../src/proc.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,45 @@ export interface ProcessTreeNode {
5
5
  ppid: number;
6
6
  pgid: number;
7
7
  }
8
+ /**
9
+ * Which whole-tree termination mechanism this host offers. POSIX hosts get the
10
+ * identity-proven process-group ladder above; win32 has no process groups, no
11
+ * `ps`, and no ESRCH group probe — its honest minimal tree kill is
12
+ * `taskkill /PID <pid> /T /F` (Job Objects would need a native addon, declined
13
+ * by owner proportionality). The strategy is decided ONCE here so callers
14
+ * dispatch on a named mechanism, not on a platform string.
15
+ */
16
+ export type KillTreeStrategy = "posix_process_group" | "windows_taskkill";
17
+ export declare function resolveKillTreeStrategy(platform?: string): KillTreeStrategy;
18
+ /**
19
+ * Typed D21 disclosure reason: Windows offers no process-group emptiness probe,
20
+ * so a tree kill there can never PROVE whole-tree death (taskkill enumerates
21
+ * the parent-child snapshot at kill time; a descendant whose intermediate
22
+ * parent already exited is unreachable). The reap reports `unconfirmed` with
23
+ * this reason instead of overclaiming `confirmed`.
24
+ */
25
+ export declare const WINDOWS_TREE_DEATH_PROOF_UNAVAILABLE = "windows_no_process_group_death_proof";
26
+ export type WindowsKillTreeResult = {
27
+ status: "killed";
28
+ pid: number;
29
+ } | {
30
+ status: "not_found";
31
+ pid: number;
32
+ } | {
33
+ status: "failed";
34
+ pid: number;
35
+ detail: string;
36
+ };
37
+ /**
38
+ * `taskkill /PID <pid> /T /F` via an absolute System32 path (mirrors the pinned
39
+ * `PATH` used for `ps` above — a poisoned PATH must not pick the killer).
40
+ * Exit 0 = the enumerated tree was terminated; exit 128 = no such process.
41
+ */
42
+ export declare function killWindowsProcessTree(pid: number, run?: (cmd: string, args: string[]) => {
43
+ status: number | null;
44
+ stdout: string;
45
+ stderr: string;
46
+ }): WindowsKillTreeResult;
8
47
  export interface ProcessTreeReader {
9
48
  /** All live processes as {pid,ppid,pgid}; [] when unreadable (fail-closed). */
10
49
  snapshot(): ProcessTreeNode[];
@@ -102,6 +141,12 @@ export interface ReapProcessTreeOptions {
102
141
  * signal still clear once it actually dies, instead of pinning the deadline.
103
142
  */
104
143
  probeGroupAlive?: (pgid: number) => boolean;
144
+ /** Platform whose kill-tree strategy applies (default the live host). */
145
+ platform?: string;
146
+ /** Injection seam for the win32 tree killer (deterministic tests). */
147
+ windowsKillTree?: (pid: number) => WindowsKillTreeResult;
148
+ /** Raw single-PID liveness probe for the win32 path (signal 0 only). */
149
+ probePidAlive?: (pid: number) => boolean;
105
150
  }
106
151
  /**
107
152
  * Reap `rootPid`'s whole process tree and PROVE it dead. Cooperative signal ->
@@ -1 +1 @@
1
- {"version":3,"file":"process-tree.d.ts","sourceRoot":"","sources":["../src/process-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-tree.d.ts","sourceRoot":"","sources":["../src/process-tree.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,57 @@
18
18
  import { spawnSync } from "node:child_process";
19
19
  import { defaultProcessGroupService, } from "./process-group.js";
20
20
  import { compareProcessIdentity, defaultProcessIdentityService, } from "./process-identity.js";
21
+ export function resolveKillTreeStrategy(platform = process.platform) {
22
+ return platform === "win32" ? "windows_taskkill" : "posix_process_group";
23
+ }
24
+ /**
25
+ * Typed D21 disclosure reason: Windows offers no process-group emptiness probe,
26
+ * so a tree kill there can never PROVE whole-tree death (taskkill enumerates
27
+ * the parent-child snapshot at kill time; a descendant whose intermediate
28
+ * parent already exited is unreachable). The reap reports `unconfirmed` with
29
+ * this reason instead of overclaiming `confirmed`.
30
+ */
31
+ export const WINDOWS_TREE_DEATH_PROOF_UNAVAILABLE = "windows_no_process_group_death_proof";
32
+ /**
33
+ * `taskkill /PID <pid> /T /F` via an absolute System32 path (mirrors the pinned
34
+ * `PATH` used for `ps` above — a poisoned PATH must not pick the killer).
35
+ * Exit 0 = the enumerated tree was terminated; exit 128 = no such process.
36
+ */
37
+ export function killWindowsProcessTree(pid, run = (cmd, args) => {
38
+ const r = spawnSync(cmd, args, {
39
+ encoding: "utf8",
40
+ timeout: 5_000,
41
+ maxBuffer: 1024 * 1024,
42
+ windowsHide: true,
43
+ });
44
+ return { status: r.status, stdout: r.stdout ?? "", stderr: r.stderr ?? "" };
45
+ }) {
46
+ if (!Number.isSafeInteger(pid) || pid <= 0) {
47
+ return { status: "failed", pid, detail: "invalid pid" };
48
+ }
49
+ const systemRoot = process.env["SystemRoot"] || "C:\\Windows";
50
+ const taskkill = `${systemRoot}\\System32\\taskkill.exe`;
51
+ let out;
52
+ try {
53
+ out = run(taskkill, ["/PID", String(pid), "/T", "/F"]);
54
+ }
55
+ catch (error) {
56
+ return {
57
+ status: "failed",
58
+ pid,
59
+ detail: error instanceof Error ? error.message : String(error),
60
+ };
61
+ }
62
+ if (out.status === 0)
63
+ return { status: "killed", pid };
64
+ if (out.status === 128)
65
+ return { status: "not_found", pid };
66
+ return {
67
+ status: "failed",
68
+ pid,
69
+ detail: `taskkill exited ${out.status}: ${(out.stderr || out.stdout).trim().slice(0, 200)}`,
70
+ };
71
+ }
21
72
  /**
22
73
  * Read the live process table via `ps` (POSIX, present on both darwin and
23
74
  * linux). C locale, bounded time/buffer, no shell. Any failure yields [] — the
@@ -141,6 +192,58 @@ function defaultProbeGroupAlive(pgid) {
141
192
  return error?.code !== "ESRCH";
142
193
  }
143
194
  }
195
+ function defaultProbePidAlive(pid) {
196
+ try {
197
+ process.kill(pid, 0);
198
+ return true;
199
+ }
200
+ catch (error) {
201
+ return error?.code !== "ESRCH";
202
+ }
203
+ }
204
+ /**
205
+ * The win32 leg of {@link reapProcessTree}: one forced tree kill, then a
206
+ * bounded liveness poll on the ROOT pid (the only identity Windows lets us
207
+ * probe without a native addon).
208
+ *
209
+ * Fail-closed honesty (QA-027/D21): even a fully successful taskkill cannot
210
+ * prove the WHOLE tree dead — Windows has no process-group ESRCH probe and no
211
+ * rescan path to orphaned grandchildren — so the best possible outcome is
212
+ * `unconfirmed` carrying the typed {@link WINDOWS_TREE_DEATH_PROOF_UNAVAILABLE}
213
+ * reason. That surfaces as a disclosure on the run, never a refusal (the kill
214
+ * itself is real), and never a silent `confirmed` the platform cannot back.
215
+ *
216
+ * PID-reuse: the kill is issued only while the root still PROBES alive; the
217
+ * probe→kill window is the residual risk Windows leaves without Job Objects
218
+ * (declined: native addon). The root pid is not re-killed once it probes dead.
219
+ */
220
+ async function reapProcessTreeWindows(opts) {
221
+ const kill = opts.windowsKillTree ?? killWindowsProcessTree;
222
+ const probeAlive = opts.probePidAlive ?? defaultProbePidAlive;
223
+ const sleep = opts.sleep ?? ((ms) => new Promise((resolve) => setTimeout(resolve, ms)));
224
+ const now = opts.now ?? Date.now;
225
+ const graceMs = opts.graceMs ?? 1_000;
226
+ const deadlineMs = opts.deadlineMs ?? graceMs + 4_000;
227
+ const probeIntervalMs = Math.max(1, opts.probeIntervalMs ?? 100);
228
+ const disclosure = {
229
+ state: "unconfirmed",
230
+ survivors: [],
231
+ unresolved: [{ pgid: opts.rootPid, reason: WINDOWS_TREE_DEATH_PROOF_UNAVAILABLE }],
232
+ };
233
+ if (!probeAlive(opts.rootPid))
234
+ return disclosure;
235
+ const killed = kill(opts.rootPid);
236
+ const start = now();
237
+ while (probeAlive(opts.rootPid)) {
238
+ if (killed.status === "failed" || now() - start >= deadlineMs) {
239
+ // The root itself is proven alive: report it as a survivor, not merely
240
+ // an unprovable tree.
241
+ return { state: "unconfirmed", survivors: [opts.rootPid], unresolved: [] };
242
+ }
243
+ await sleep(probeIntervalMs);
244
+ }
245
+ return disclosure;
246
+ }
144
247
  /**
145
248
  * Reap `rootPid`'s whole process tree and PROVE it dead. Cooperative signal ->
146
249
  * bounded grace -> SIGKILL, re-scanning for groups that fork/re-group during
@@ -151,6 +254,12 @@ function defaultProbeGroupAlive(pgid) {
151
254
  * chain is still intact.
152
255
  */
153
256
  export async function reapProcessTree(opts) {
257
+ if (resolveKillTreeStrategy(opts.platform ?? process.platform) === "windows_taskkill") {
258
+ // No `ps`, no pgids, no group ESRCH probe on win32 — the POSIX ladder
259
+ // below would capture nothing and falsely report `confirmed`. The kill is
260
+ // issued synchronously before the first await, like the POSIX capture.
261
+ return reapProcessTreeWindows(opts);
262
+ }
154
263
  const groups = opts.groups ?? defaultProcessGroupService;
155
264
  const tree = opts.tree ?? defaultProcessTreeReader;
156
265
  const identity = opts.identity ?? defaultProcessIdentityService;
@@ -1 +1 @@
1
- {"version":3,"file":"process-tree.js","sourceRoot":"","sources":["../src/process-tree.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-tree.js","sourceRoot":"","sources":["../src/process-tree.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@claudexor/core",
3
- "version": "3.3.7-rc.0",
3
+ "version": "3.3.8",
4
4
  "license": "MIT",
5
5
  "description": "HarnessAdapter contract, process helpers, typed errors, and low-level execution utilities.",
6
6
  "type": "module",
@@ -20,8 +20,8 @@
20
20
  ],
21
21
  "dependencies": {
22
22
  "@playwright/mcp": "0.0.78",
23
- "@claudexor/schema": "3.3.7-rc.0",
24
- "@claudexor/util": "3.3.7-rc.0"
23
+ "@claudexor/schema": "3.3.8",
24
+ "@claudexor/util": "3.3.8"
25
25
  },
26
26
  "repository": {
27
27
  "type": "git",