@claudexor/core 3.2.1 → 3.3.7

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.
@@ -1 +1 @@
1
- {"version":3,"file":"auth-capability-verifier.d.ts","sourceRoot":"","sources":["../src/auth-capability-verifier.ts"],"names":[],"mappings":"AAgBA,OAAO,EAML,KAAK,qBAAqB,IAAI,yBAAyB,EACvD,KAAK,qBAAqB,IAAI,yBAAyB,EACvD,KAAK,WAAW,EAChB,KAAK,mBAAmB,IAAI,uBAAuB,EACnD,KAAK,cAAc,EACnB,KAAK,eAAe,EAErB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMpE,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,aAAa,EAAE,eAAe,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,yBAAyB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IAM/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,YACmB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,EACpE,IAAI,GAAE,0BAA+B,EAOtC;IAED,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,eAAe,EACzB,IAAI,GAAE,0BAA+B,GACpC,sBAAsB,CAExB;IAED,UAAU,CACR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,WAAW,EACtB,aAAa,EAAE,eAAe,EAC9B,cAAc,EAAE,cAAc,GAC7B,uBAAuB,CAczB;IAED,OAAO,CAAC,OAAO,EAAE,gCAAgC,GAAG,yBAAyB,CAiB5E;IAEK,MAAM,CAAC,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA0P3F;IAED,gFAAgF;IAChF,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAgB/B;IAED,OAAO,CAAC,aAAa;CAYtB"}
1
+ {"version":3,"file":"auth-capability-verifier.d.ts","sourceRoot":"","sources":["../src/auth-capability-verifier.ts"],"names":[],"mappings":"AAgBA,OAAO,EAML,KAAK,qBAAqB,IAAI,yBAAyB,EACvD,KAAK,qBAAqB,IAAI,yBAAyB,EACvD,KAAK,WAAW,EAChB,KAAK,mBAAmB,IAAI,uBAAuB,EACnD,KAAK,cAAc,EACnB,KAAK,eAAe,EAErB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAMpE,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,WAAW,CAAC;IACvB,aAAa,EAAE,eAAe,CAAC;IAC/B,cAAc,EAAE,cAAc,CAAC;CAChC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,yBAAyB,CAAC;CACpC;AAED,MAAM,WAAW,iCAAiC;IAChD,OAAO,EAAE,yBAAyB,CAAC;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,0BAA0B;IACzC,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;GAIG;AACH,qBAAa,sBAAsB;IAM/B,OAAO,CAAC,QAAQ,CAAC,OAAO;IAL1B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAa;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAe;IACzC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IAErC,YACmB,OAAO,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,cAAc,GAAG,SAAS,EACpE,IAAI,GAAE,0BAA+B,EAOtC;IAED,MAAM,CAAC,YAAY,CACjB,QAAQ,EAAE,eAAe,EACzB,IAAI,GAAE,0BAA+B,GACpC,sBAAsB,CAExB;IAED,UAAU,CACR,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,WAAW,EACtB,aAAa,EAAE,eAAe,EAC9B,cAAc,EAAE,cAAc,GAC7B,uBAAuB,CAczB;IAED,OAAO,CAAC,OAAO,EAAE,gCAAgC,GAAG,yBAAyB,CAiB5E;IAEK,MAAM,CAAC,OAAO,EAAE,iCAAiC,GAAG,OAAO,CAAC,yBAAyB,CAAC,CA6P3F;IAED,gFAAgF;IAChF,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAgB/B;IAED,OAAO,CAAC,aAAa;CAYtB"}
@@ -132,6 +132,9 @@ export class AuthCapabilityVerifier {
132
132
  env: {},
133
133
  attachments: [],
134
134
  browser: null,
135
+ // The auth smoke is not a delegated run and gets no boundary; stated
136
+ // rather than defaulted, so a new spec site cannot omit it silently.
137
+ confinement: null,
135
138
  extra_mcp_servers: [],
136
139
  stream_deltas: false,
137
140
  extra: request.abortSignal ? { abortSignal: request.abortSignal } : {},
@@ -1 +1 @@
1
- {"version":3,"file":"auth-capability-verifier.js","sourceRoot":"","sources":["../src/auth-capability-verifier.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth-capability-verifier.js","sourceRoot":"","sources":["../src/auth-capability-verifier.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,75 @@
1
+ import type { HarnessConfinement } from "@claudexor/schema";
2
+ export interface ConfinementInput {
3
+ /** The operator's REAL home — the thing the child must not be able to mine. */
4
+ operatorHome: string;
5
+ /** Claudexor's runtime tree: daemon token/socket, trust, every project's state. */
6
+ runtimeRoot: string;
7
+ /** Vendor credential state the harness itself authenticates out of (§8 carve-out). */
8
+ nativeStateRoot: string;
9
+ /** This attempt's scoped HOME. */
10
+ scopedHome: string;
11
+ /** This attempt's worktree (its cwd). */
12
+ worktree: string;
13
+ /** Scratch root the toolchain writes to; defaults to the process TMPDIR. */
14
+ tmpDir?: string;
15
+ }
16
+ /**
17
+ * The host the boundary is being applied ON. Injectable so the platform
18
+ * branches are TESTABLE without booting that platform: the availability probe
19
+ * and every exec go through here.
20
+ */
21
+ export interface ConfinementHost {
22
+ platform: NodeJS.Platform;
23
+ exists(path: string): boolean;
24
+ run(bin: string, args: readonly string[]): {
25
+ status: number | null;
26
+ stderr?: string;
27
+ };
28
+ }
29
+ /**
30
+ * The paths this profile must make unreadable. Also the probe surface: the
31
+ * boundary is verified by trying to read the FIRST of them.
32
+ */
33
+ export declare function confinementDeniedReadPaths(input: ConfinementInput): string[];
34
+ /** Kept for the seam tests and the docs: the macOS policy text for one attempt. */
35
+ export declare function buildConfinementProfile(input: ConfinementInput): string;
36
+ /**
37
+ * The one question a caller outside this file may ask about the host.
38
+ *
39
+ * Deliberately NOT "which mechanism": the routing decision that depends on this
40
+ * — whether to tell the adapter to stand its own sandbox down — turns on
41
+ * whether Claudexor will actually provide a boundary, never on which one or on
42
+ * the platform's name.
43
+ */
44
+ export declare function confinementBoundaryAvailable(host?: ConfinementHost): {
45
+ available: boolean;
46
+ reason: string | null;
47
+ };
48
+ /** What one attempt's boundary turned out to be: applied, or absent and why. */
49
+ export interface ConfinementOutcome {
50
+ /** The APPLIED boundary, or null when this host has none. */
51
+ confinement: HarnessConfinement | null;
52
+ /** Why no boundary was applied; null exactly when one was. */
53
+ unavailableReason: string | null;
54
+ }
55
+ /**
56
+ * Build, verify and describe the boundary for one attempt.
57
+ *
58
+ * Degrades HONESTLY where the platform offers nothing — the run proceeds and
59
+ * the outcome carries the reason, which the caller writes onto the attempt,
60
+ * into the child's prompt and into its own result. It never degrades SILENTLY,
61
+ * and it never names a mechanism it did not just prove on this host.
62
+ *
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.
68
+ */
69
+ export declare function applyConfinement(input: ConfinementInput, host?: ConfinementHost): ConfinementOutcome;
70
+ /** Rewrite an argv so the child (and every descendant) starts inside the boundary. */
71
+ export declare function confinedInvocation(confinement: HarnessConfinement | null | undefined, bin: string, args: readonly string[]): {
72
+ bin: string;
73
+ args: string[];
74
+ };
75
+ //# sourceMappingURL=confinement.d.ts.map
@@ -0,0 +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;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"}
@@ -0,0 +1,305 @@
1
+ import { spawnSync } from "node:child_process";
2
+ import { existsSync, realpathSync } from "node:fs";
3
+ import { join, relative, sep } from "node:path";
4
+ import { sensitiveResourcePolicy, sha256 } from "@claudexor/util";
5
+ import { ConfinementUnavailableError } from "./errors.js";
6
+ /**
7
+ * OS-enforced filesystem confinement for a delegated harness process.
8
+ *
9
+ * WHY THIS IS NOT AN ENV VAR. A scoped `HOME` redirects `~`-relative lookups
10
+ * and nothing else; `/Users/<op>/.claudexor/v3/daemon/token` — a bearer for the
11
+ * whole control API — stays one absolute path away. The threat model, the
12
+ * live reproduction and the list of what this does NOT cover are in
13
+ * docs/DELEGATED_CONFINEMENT.md; keep them in step with this file.
14
+ *
15
+ * WHY THE HARNESS SANDBOX STANDS DOWN. macOS refuses `sandbox_apply` inside an
16
+ * already-restricted process (measured: any deny clause in the outer profile is
17
+ * enough), and codex shells out to `/usr/bin/sandbox-exec` for its own
18
+ * workspace-write sandbox. An outer boundary and the harness's own are
19
+ * mutually exclusive, so the engine states `external_sandbox_full` — the
20
+ * access profile that already means "I am providing the sandbox" — and each
21
+ * adapter maps that onto its own switch. No harness name is branched on. That
22
+ * stand-down is spent ONLY where a boundary was actually proven available: a
23
+ * host with none keeps whatever enforcement the harness brings itself.
24
+ *
25
+ * WHERE THERE IS NO BOUNDARY — every platform but macOS, by owner decision, and
26
+ * a macOS host missing `sandbox-exec`. The run still runs, on the scoped `HOME`
27
+ * alone. It does not pretend: the absence and its reason are recorded on the
28
+ * attempt, told to the child, and returned to the caller. Refusing instead would
29
+ * make "delegated" a macOS-only feature; claiming a boundary we did not prove
30
+ * would be worse than having none, so the type below cannot express a mechanism
31
+ * name without the path it was proven to deny.
32
+ */
33
+ const SEATBELT_BIN = "/usr/bin/sandbox-exec";
34
+ /** System prefixes a workspace-scoped run has no business writing to. */
35
+ const SYSTEM_WRITE_DENY = [
36
+ "/usr",
37
+ "/opt",
38
+ "/Library",
39
+ "/Applications",
40
+ "/System",
41
+ "/bin",
42
+ "/sbin",
43
+ "/etc",
44
+ "/var",
45
+ ];
46
+ const DEFAULT_HOST = {
47
+ platform: process.platform,
48
+ exists: existsSync,
49
+ run: (bin, args) => spawnSync(bin, [...args], { encoding: "utf8", timeout: 15_000 }),
50
+ };
51
+ /**
52
+ * Seatbelt matches RESOLVED paths (`/tmp` is `/private/tmp`), so a profile
53
+ * written against the symlinked spelling silently allows what it names.
54
+ * Resolution falls back to the literal for a path that does not exist yet —
55
+ * a deny on a not-yet-created path is still worth emitting.
56
+ */
57
+ function resolved(path) {
58
+ try {
59
+ return realpathSync.native(path);
60
+ }
61
+ catch {
62
+ return path;
63
+ }
64
+ }
65
+ /** Whether `root` is `path` or an ancestor of it, after resolution. */
66
+ function contains(root, path) {
67
+ const rel = relative(resolved(root), resolved(path));
68
+ return rel === "" || (!rel.startsWith("..") && !rel.startsWith(sep) && !/^[A-Za-z]:/.test(rel));
69
+ }
70
+ function subpath(paths) {
71
+ return paths.map((path) => `(subpath ${JSON.stringify(resolved(path))})`).join(" ");
72
+ }
73
+ /**
74
+ * The paths this profile must make unreadable. Also the probe surface: the
75
+ * boundary is verified by trying to read the FIRST of them.
76
+ */
77
+ export function confinementDeniedReadPaths(input) {
78
+ return [
79
+ join(input.runtimeRoot, "daemon"),
80
+ input.runtimeRoot,
81
+ ...sensitiveResourcePolicy
82
+ .homeRelativeCredentialEntries()
83
+ .map((entry) => join(input.operatorHome, entry)),
84
+ ];
85
+ }
86
+ /** The run's own roots: allowed, and the reason the deny set needs carve-outs. */
87
+ function ownRoots(input) {
88
+ return [input.scopedHome, input.worktree, input.nativeStateRoot];
89
+ }
90
+ /** macOS: kernel-enforced per-path denial for the process and every descendant. */
91
+ const SEATBELT = {
92
+ id: "seatbelt",
93
+ platform: "darwin",
94
+ bins: [SEATBELT_BIN],
95
+ /** SBPL text. Last match wins, so the carve-outs follow the denies. */
96
+ buildProfile(input) {
97
+ const scratch = input.tmpDir ?? process.env.TMPDIR ?? "/tmp";
98
+ // SBPL is last-match-wins, and the order below is the policy. The scratch
99
+ // allow sits ABOVE the operator-home deny on purpose: a `TMPDIR` configured
100
+ // inside `$HOME` would otherwise re-open the whole home for writing. The run's
101
+ // own roots come last because they outrank every deny above them, including
102
+ // the case where the worktree lives inside the operator's home (isolation:
103
+ // live, which is exactly the delegated shape).
104
+ return [
105
+ "(version 1)",
106
+ "(allow default)",
107
+ `(deny file-read* ${subpath(confinementDeniedReadPaths(input))})`,
108
+ `(deny file-write* ${subpath([...SYSTEM_WRITE_DENY])})`,
109
+ `(allow file-write* ${subpath([scratch, "/tmp"])})`,
110
+ `(deny file-write* ${subpath([input.operatorHome])})`,
111
+ `(allow file-read* file-write* ${subpath(ownRoots(input))})`,
112
+ "",
113
+ ].join("\n");
114
+ },
115
+ invocation(profile, bin, args) {
116
+ return { bin: SEATBELT_BIN, args: ["-p", profile, bin, ...args] };
117
+ },
118
+ };
119
+ /**
120
+ * The registry. ONE mechanism today, by owner decision: Seatbelt on macOS, and
121
+ * NO kernel boundary anywhere else. Linux bubblewrap/Landlock and a Windows
122
+ * equivalent were considered and declined — see docs/DELEGATED_CONFINEMENT.md §6.
123
+ * Non-macOS is served by the scoped HOME plus a disclosed, typed absence, which
124
+ * is what the rest of this file and the delegated terminal are shaped around.
125
+ *
126
+ * The list stays a list because the mechanism id is OPAQUE end to end: the only
127
+ * place a name selects behaviour is the lookup in `confinedInvocation`.
128
+ */
129
+ const MECHANISMS = [SEATBELT];
130
+ /** Kept for the seam tests and the docs: the macOS policy text for one attempt. */
131
+ export function buildConfinementProfile(input) {
132
+ return SEATBELT.buildProfile(input, SEATBELT_BIN);
133
+ }
134
+ /** Read `probePath` from inside the policy, the way the harness child would. */
135
+ function readUnder(mechanism, profile, probePath, host) {
136
+ const invocation = mechanism.invocation(profile, "/bin/ls", [probePath]);
137
+ return host.run(invocation.bin, invocation.args);
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
+ }
156
+ /**
157
+ * Prove the policy denies, on THIS host, before anything runs under it.
158
+ *
159
+ * Returns the reason it could NOT be proven, or null when it was. A policy that
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.
175
+ */
176
+ function proveConfinementDenial(mechanism, profile, probePath, allowedControlPaths, host) {
177
+ // NEGATIVE CONTROL.
178
+ if (host.run("/bin/ls", [probePath]).status !== 0) {
179
+ return `the probe path ${probePath} is not readable even unconfined, so a denial there proves nothing`;
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.
195
+ const probe = readUnder(mechanism, profile, probePath, host);
196
+ if (probe.status === 0)
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
+ }
201
+ if (probe.status === null) {
202
+ return `the ${mechanism.id} probe did not complete${describeProbeFault(probe.stderr)}`;
203
+ }
204
+ return null;
205
+ }
206
+ /**
207
+ * Whether an OS-enforced boundary exists on this host, and which one.
208
+ *
209
+ * A platform with no mechanism is a DECISION, not a gap to be discovered at
210
+ * spawn time, so the answer is a stated reason rather than a throw. Nothing here
211
+ * hunts for a boundary the owner declined to build: the question is only whether
212
+ * THIS platform's declared mechanism is present.
213
+ */
214
+ function confinementMechanism(host) {
215
+ const mechanism = MECHANISMS.find((candidate) => candidate.platform === host.platform);
216
+ if (!mechanism) {
217
+ return {
218
+ mechanism: null,
219
+ bin: null,
220
+ reason: `Claudexor applies no OS-enforced filesystem boundary on ${host.platform}; only macOS has one`,
221
+ };
222
+ }
223
+ const bin = mechanism.bins.find((candidate) => host.exists(candidate));
224
+ if (!bin) {
225
+ return {
226
+ mechanism: null,
227
+ bin: null,
228
+ reason: `${host.platform} enforces a boundary with ${mechanism.id}, which is not installed here (looked for ${mechanism.bins.join(", ")})`,
229
+ };
230
+ }
231
+ return { mechanism, bin, reason: null };
232
+ }
233
+ /**
234
+ * The one question a caller outside this file may ask about the host.
235
+ *
236
+ * Deliberately NOT "which mechanism": the routing decision that depends on this
237
+ * — whether to tell the adapter to stand its own sandbox down — turns on
238
+ * whether Claudexor will actually provide a boundary, never on which one or on
239
+ * the platform's name.
240
+ */
241
+ export function confinementBoundaryAvailable(host = DEFAULT_HOST) {
242
+ const availability = confinementMechanism(host);
243
+ return { available: availability.mechanism !== null, reason: availability.reason };
244
+ }
245
+ /**
246
+ * Build, verify and describe the boundary for one attempt.
247
+ *
248
+ * Degrades HONESTLY where the platform offers nothing — the run proceeds and
249
+ * the outcome carries the reason, which the caller writes onto the attempt,
250
+ * into the child's prompt and into its own result. It never degrades SILENTLY,
251
+ * and it never names a mechanism it did not just prove on this host.
252
+ *
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.
258
+ */
259
+ export function applyConfinement(input, host = DEFAULT_HOST) {
260
+ const available = confinementMechanism(host);
261
+ if (!available.mechanism)
262
+ return { confinement: null, unavailableReason: available.reason };
263
+ const denied = confinementDeniedReadPaths(input);
264
+ // The carve-outs re-open whatever they contain, so an "own root" that CONTAINS
265
+ // a denied path silently defeats the policy. Refuse rather than emit one that
266
+ // reads like a boundary and is not.
267
+ const swallowed = ownRoots(input).find((root) => denied.some((path) => path !== root && contains(root, path)));
268
+ if (swallowed) {
269
+ throw new ConfinementUnavailableError(`filesystem confinement would be self-defeating: the allowed root ${swallowed} contains a path the policy must deny`);
270
+ }
271
+ const profile = available.mechanism.buildProfile(input, available.bin);
272
+ const probeCandidate = denied.find((path) => host.exists(path));
273
+ if (!probeCandidate) {
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");
275
+ }
276
+ const probePath = resolved(probeCandidate);
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);
281
+ if (why)
282
+ throw new ConfinementUnavailableError(`filesystem confinement failed: ${why}`);
283
+ return {
284
+ confinement: {
285
+ mechanism: available.mechanism.id,
286
+ profile,
287
+ profile_digest: sha256(profile),
288
+ verified_denied_path: probePath,
289
+ },
290
+ unavailableReason: null,
291
+ };
292
+ }
293
+ /** Rewrite an argv so the child (and every descendant) starts inside the boundary. */
294
+ export function confinedInvocation(confinement, bin, args) {
295
+ if (!confinement)
296
+ return { bin, args: [...args] };
297
+ const mechanism = MECHANISMS.find((candidate) => candidate.id === confinement.mechanism);
298
+ if (!mechanism) {
299
+ // The record names a boundary this engine cannot apply. Spawning unwrapped
300
+ // would run the child outside the boundary its own record claims.
301
+ throw new ConfinementUnavailableError(`the attempt records confinement mechanism '${confinement.mechanism}', which this engine cannot apply`);
302
+ }
303
+ return mechanism.invocation(confinement.profile, bin, args);
304
+ }
305
+ //# sourceMappingURL=confinement.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"confinement.js","sourceRoot":"","sources":["../src/confinement.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -23,4 +23,35 @@ export declare class DelegationBeltUnavailableError extends ClaudexorError {
23
23
  readonly code = "delegation_belt_unavailable";
24
24
  readonly status = 503;
25
25
  }
26
+ /**
27
+ * A run marked `execution.delegated` could not be confined to a scoped harness
28
+ * HOME. Its caller cannot audit a confinement that silently did not happen, so
29
+ * the attempt refuses instead of degrading onto the operator's real home (which
30
+ * holds the daemon control token and the caller's own provider settings).
31
+ */
32
+ export declare class DelegatedHomeUnavailableError extends ClaudexorError {
33
+ readonly code = "delegated_home_unavailable";
34
+ readonly category: "internal";
35
+ }
36
+ /**
37
+ * A run marked `execution.delegated` could not be given an OS-ENFORCED
38
+ * filesystem boundary — the host does not offer one, or the profile did not
39
+ * take effect when probed. The scoped HOME beside it is a convention that an
40
+ * absolute path defeats, so there is nothing to degrade onto: the attempt
41
+ * refuses. See docs/DELEGATED_CONFINEMENT.md.
42
+ */
43
+ export declare class ConfinementUnavailableError extends ClaudexorError {
44
+ readonly code = "delegated_confinement_unavailable";
45
+ readonly category: "config_error";
46
+ }
47
+ /**
48
+ * A terminal MUTATING delegated run whose attempts do not all carry the applied
49
+ * HOME/access/profile/confinement facts. Asking for confinement is not evidence
50
+ * that it happened, so an unauditable mutating terminal is an infrastructure
51
+ * refusal rather than a pass.
52
+ */
53
+ export declare class DelegatedEvidenceIncompleteError extends ClaudexorError {
54
+ readonly code = "delegated_evidence_incomplete";
55
+ readonly category: "internal";
56
+ }
26
57
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED,qBAAa,uBAAwB,SAAQ,cAAc;CAAG;AAC9D,qBAAa,oBAAqB,SAAQ,cAAc;CAAG;AAC3D,qBAAa,cAAe,SAAQ,cAAc;CAAG;AAErD;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,cAAc;IAChE,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,QAAQ,CAAC,MAAM,OAAO;CACvB"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,EAGzD;CACF;AAED,qBAAa,uBAAwB,SAAQ,cAAc;CAAG;AAC9D,qBAAa,oBAAqB,SAAQ,cAAc;CAAG;AAC3D,qBAAa,cAAe,SAAQ,cAAc;CAAG;AAErD;;;;;GAKG;AACH,qBAAa,8BAA+B,SAAQ,cAAc;IAChE,QAAQ,CAAC,IAAI,iCAAiC;IAC9C,QAAQ,CAAC,MAAM,OAAO;CACvB;AAED;;;;;GAKG;AACH,qBAAa,6BAA8B,SAAQ,cAAc;IAC/D,QAAQ,CAAC,IAAI,gCAAgC;IAC7C,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;CACzC;AAED;;;;;;GAMG;AACH,qBAAa,2BAA4B,SAAQ,cAAc;IAC7D,QAAQ,CAAC,IAAI,uCAAuC;IACpD,QAAQ,CAAC,QAAQ,EAAG,cAAc,CAAU;CAC7C;AAED;;;;;GAKG;AACH,qBAAa,gCAAiC,SAAQ,cAAc;IAClE,QAAQ,CAAC,IAAI,mCAAmC;IAChD,QAAQ,CAAC,QAAQ,EAAG,UAAU,CAAU;CACzC"}
package/dist/errors.js CHANGED
@@ -24,4 +24,35 @@ export class DelegationBeltUnavailableError extends ClaudexorError {
24
24
  code = "delegation_belt_unavailable";
25
25
  status = 503;
26
26
  }
27
+ /**
28
+ * A run marked `execution.delegated` could not be confined to a scoped harness
29
+ * HOME. Its caller cannot audit a confinement that silently did not happen, so
30
+ * the attempt refuses instead of degrading onto the operator's real home (which
31
+ * holds the daemon control token and the caller's own provider settings).
32
+ */
33
+ export class DelegatedHomeUnavailableError extends ClaudexorError {
34
+ code = "delegated_home_unavailable";
35
+ category = "internal";
36
+ }
37
+ /**
38
+ * A run marked `execution.delegated` could not be given an OS-ENFORCED
39
+ * filesystem boundary — the host does not offer one, or the profile did not
40
+ * take effect when probed. The scoped HOME beside it is a convention that an
41
+ * absolute path defeats, so there is nothing to degrade onto: the attempt
42
+ * refuses. See docs/DELEGATED_CONFINEMENT.md.
43
+ */
44
+ export class ConfinementUnavailableError extends ClaudexorError {
45
+ code = "delegated_confinement_unavailable";
46
+ category = "config_error";
47
+ }
48
+ /**
49
+ * A terminal MUTATING delegated run whose attempts do not all carry the applied
50
+ * HOME/access/profile/confinement facts. Asking for confinement is not evidence
51
+ * that it happened, so an unauditable mutating terminal is an infrastructure
52
+ * refusal rather than a pass.
53
+ */
54
+ export class DelegatedEvidenceIncompleteError extends ClaudexorError {
55
+ code = "delegated_evidence_incomplete";
56
+ category = "internal";
57
+ }
27
58
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,cAAc;CAAG;AAC9D,MAAM,OAAO,oBAAqB,SAAQ,cAAc;CAAG;AAC3D,MAAM,OAAO,cAAe,SAAQ,cAAc;CAAG;AAErD;;;;;GAKG;AACH,MAAM,OAAO,8BAA+B,SAAQ,cAAc;IACvD,IAAI,GAAG,6BAA6B,CAAC;IACrC,MAAM,GAAG,GAAG,CAAC;CACvB"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,OAAO,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAE,OAA6B;QACxD,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,uBAAwB,SAAQ,cAAc;CAAG;AAC9D,MAAM,OAAO,oBAAqB,SAAQ,cAAc;CAAG;AAC3D,MAAM,OAAO,cAAe,SAAQ,cAAc;CAAG;AAErD;;;;;GAKG;AACH,MAAM,OAAO,8BAA+B,SAAQ,cAAc;IACvD,IAAI,GAAG,6BAA6B,CAAC;IACrC,MAAM,GAAG,GAAG,CAAC;CACvB;AAED;;;;;GAKG;AACH,MAAM,OAAO,6BAA8B,SAAQ,cAAc;IACtD,IAAI,GAAG,4BAA4B,CAAC;IACpC,QAAQ,GAAG,UAAmB,CAAC;CACzC;AAED;;;;;;GAMG;AACH,MAAM,OAAO,2BAA4B,SAAQ,cAAc;IACpD,IAAI,GAAG,mCAAmC,CAAC;IAC3C,QAAQ,GAAG,cAAuB,CAAC;CAC7C;AAED;;;;;GAKG;AACH,MAAM,OAAO,gCAAiC,SAAQ,cAAc;IACzD,IAAI,GAAG,+BAA+B,CAAC;IACvC,QAAQ,GAAG,UAAmB,CAAC;CACzC"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./errors.js";
2
2
  export * from "./adapter.js";
3
+ export * from "./confinement.js";
3
4
  export * from "./attachment-integrity.js";
4
5
  export * from "./effort.js";
5
6
  export * from "./model.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
package/dist/index.js CHANGED
@@ -1,5 +1,6 @@
1
1
  export * from "./errors.js";
2
2
  export * from "./adapter.js";
3
+ export * from "./confinement.js";
3
4
  export * from "./attachment-integrity.js";
4
5
  export * from "./effort.js";
5
6
  export * from "./model.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,WAAW,CAAC;AAC1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,sBAAsB,CAAC;AACrC,cAAc,qBAAqB,CAAC;AACpC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC;AAClC,cAAc,wBAAwB,CAAC"}
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":"AAIA,OAAO,EAEL,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,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,CA6P3B;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,CAuFxB;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"}
1
+ {"version":3,"file":"proc.d.ts","sourceRoot":"","sources":["../src/proc.ts"],"names":[],"mappings":"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"}
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":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AACrF,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EACL,eAAe,GAGhB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,0BAA0B,GAG3B,MAAM,oBAAoB,CAAC;AA2F5B;;;;GAIG;AACH,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,YAAY,CACjC,GAAW,EACX,IAAc,EACd,IAAI,GAAiB,EAAE;IAEvB,MAAM,GAAG,GAAsB,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC;IAClF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;;YACtD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;QAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG;QACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,0EAA0E;QAC1E,2EAA2E;QAC3E,uEAAuE;QACvE,yDAAyD;QACzD,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAExE,IAAI,aAA0B,CAAC;IAC/B,MAAM,MAAM,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;QAC3C,aAAa,GAAG,OAAO,CAAC;IAC1B,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IAC3C,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,EAAE,CAAC,CAAC;IAE3C,+EAA+E;IAC/E,4EAA4E;IAC5E,8EAA8E;IAC9E,4EAA4E;IAC5E,yEAAyE;IACzE,4EAA4E;IAC5E,8DAA8D;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,0BAA0B,CAAC;IACtE,IAAI,iBAAiD,CAAC;IACtD,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,YAAY,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC;IACrE,CAAC;IAED,6DAA6D;IAC7D,gFAAgF;IAChF,2EAA2E;IAC3E,8EAA8E;IAC9E,gFAAgF;IAChF,yEAAyE;IACzE,8EAA8E;IAC9E,gFAAgF;IAChF,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAQ,EAAE;QAChD,IAAI,CAAC,iBAAiB;YAAE,OAAO;QAC/B,YAAY,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC;IAEF,+EAA+E;IAC/E,+EAA+E;IAC/E,+EAA+E;IAC/E,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QAC7B,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAChC,CAAC;IACD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;QACvB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,KAAK,EAAE,CAAC,IAAY,EAAE,EAAE;gBACtB,IAAI,CAAC;oBACH,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC1B,CAAC;gBAAC,MAAM,CAAC;oBACP,wDAAwD;gBAC1D,CAAC;YACH,CAAC;YACD,GAAG,EAAE,GAAG,EAAE;gBACR,IAAI,CAAC;oBACH,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;gBACpB,CAAC;gBAAC,MAAM,CAAC;oBACP,oBAAoB;gBACtB,CAAC;YACH,CAAC;YACD,MAAM;SACP,CAAC,CAAC;IACL,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,KAAK,GAAgB,EAAE,CAAC;IAC9B,IAAI,IAAI,GAAwB,IAAI,CAAC;IACrC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,UAAU,GAAiB,IAAI,CAAC;IAEpC,MAAM,IAAI,GAAG,CAAC,CAAY,EAAQ,EAAE;QAClC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACd,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,MAAM,KAAK,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAC3D,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3D,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,UAAU,GAAG,GAAG,CAAC;QACjB,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE;QACjC,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;YAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,IAAI,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACrC,QAAQ,GAAG,IAAI,CAAC;QAChB,IAAI,IAAI,EAAE,CAAC;YACT,IAAI,EAAE,CAAC;YACP,IAAI,GAAG,IAAI,CAAC;QACd,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,KAAiC,CAAC;IAEtC,IAAI,SAAqC,CAAC;IAC1C,2EAA2E;IAC3E,2EAA2E;IAC3E,6EAA6E;IAC7E,4EAA4E;IAC5E,0EAA0E;IAC1E,4EAA4E;IAC5E,6CAA6C;IAC7C,IAAI,UAAU,GAAkD,IAAI,CAAC;IACrE,MAAM,aAAa,GAAG,CAAC,UAA2B,EAAE,eAAwB,EAAQ,EAAE;QACpF,MAAM,IAAI,GAAG,UAAU,IAAI,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC;QACzD,MAAM,SAAS,GAAG,eAAe,IAAI,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;QACrE,2EAA2E;QAC3E,+DAA+D;QAC/D,yEAAyE;QACzE,2EAA2E;QAC3E,kDAAkD;QAClD,IAAI,CAAC,UAAU,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACjD,UAAU,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,eAAe,CAAC,CAAC;gBAC1C,OAAO,EAAE,KAAK,CAAC,GAAG;gBAClB,iBAAiB,EAAE,IAAI;gBACvB,OAAO,EAAE,SAAS;gBAClB,UAAU,EAAE,IAAI,CAAC,gBAAgB,IAAI,SAAS,GAAG,KAAK;gBACtD,sEAAsE;gBACtE,uEAAuE;gBACvE,uEAAuE;gBACvE,4DAA4D;gBAC5D,GAAG,CAAC,iBAAiB;oBACnB,CAAC,CAAC,EAAE,WAAW,EAAE,CAAC,iBAAiB,CAAC,EAAE,YAAY,EAAE,iBAAiB,CAAC,MAAM,EAAE;oBAC9E,CAAC,CAAC,EAAE,CAAC;aACR,CAAC,CAAC;QACL,CAAC;QACD,sEAAsE;QACtE,yEAAyE;QACzE,iEAAiE;QACjE,QAAQ,CAAC,IAAI,CAAC,CAAC;QACf,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,uEAAuE;YACvE,sCAAsC;YACtC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC1B,IAAI,CAAC,QAAQ;oBAAE,QAAQ,CAAC,SAAS,CAAC,CAAC;YACrC,CAAC,EAAE,SAAS,CAAC,CAAC;QAChB,CAAC;IACH,CAAC,CAAC;IACF,uEAAuE;IACvE,+CAA+C;IAC/C,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACxE,CAAC;IACD,MAAM,OAAO,GAAG,GAAS,EAAE,CAAC,aAAa,EAAE,CAAC;IAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,WAAW,CAAC,OAAO;YAAE,aAAa,EAAE,CAAC;;YACpC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,uEAAuE;IACvE,4EAA4E;IAC5E,0EAA0E;IAC1E,+EAA+E;IAC/E,4EAA4E;IAC5E,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,WAAW,GAAyC,IAAI,CAAC;IAC7D,IAAI,oBAAoB,GAAG,KAAK,CAAC;IACjC,MAAM,UAAU,GAAG,KAAK,IAAmD,EAAE;QAC3E,IAAI,WAAW;YAAE,OAAO,WAAW,CAAC;QACpC,WAAW,GAAG,IAAI,CAAC;QACnB,MAAM,WAAW,GAAG,UAA2D,CAAC;QAChF,IAAI,WAAW,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,WAAW,GAAG,MAAM,WAAW,CAAC;YAClC,CAAC;YAAC,MAAM,CAAC;gBACP,qEAAqE;YACvE,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC;IACrB,CAAC,CAAC;IAEF,IAAI,CAAC;QACH,SAAS,CAAC;YACR,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACrB,MAAM,KAAK,CAAC,KAAK,EAAe,CAAC;gBACjC,SAAS;YACX,CAAC;YACD,IAAI,UAAU;gBAAE,MAAM,UAAU,CAAC;YACjC,IAAI,QAAQ;gBAAE,MAAM;YACpB,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;gBAClC,IAAI,GAAG,OAAO,CAAC;YACjB,CAAC,CAAC,CAAC;QACL,CAAC;QACD,4EAA4E;QAC5E,8EAA8E;QAC9E,4EAA4E;QAC5E,+EAA+E;QAC/E,2DAA2D;QAC3D,IAAI,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,IAAI,OAAO,EAAE,KAAK,KAAK,aAAa,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACtE,oBAAoB,GAAG,IAAI,CAAC;YAC5B,MAAM;gBACJ,IAAI,EAAE,yBAAyB;gBAC/B,OAAO,EAAE,KAAK,CAAC,GAAG;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC;QACJ,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,qEAAqE;YACrE,aAAa,EAAE,CAAC;QAClB,CAAC;QACD,IAAI,QAAQ,IAAI,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACnD,sEAAsE;QACtE,4EAA4E;QAC5E,2EAA2E;QAC3E,MAAM,OAAO,GAAG,MAAM,UAAU,EAAE,CAAC;QACnC,IACE,CAAC,oBAAoB;YACrB,OAAO,EAAE,KAAK,KAAK,aAAa;YAChC,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAC7B,CAAC;YACD,IAAI,CAAC,wBAAwB,EAAE,CAAC;gBAC9B,OAAO,EAAE,KAAK,CAAC,GAAG;gBAClB,SAAS,EAAE,OAAO,CAAC,SAAS;gBAC5B,UAAU,EAAE,OAAO,CAAC,UAAU;aAC/B,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,KAAK,CAAC,KAAK,EAAE,CAAC;IAChB,CAAC;AACH,CAAC;AASD;;;;;;;;;GASG;AACH,MAAM,UAAU,YAAY,CAC1B,MAAc,EACd,MAAc,EACd,IAAI,GAA2D,EAAE;IAEjE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,GAAG,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,CAAC,CAAC,CAAS,EAAU,EAAE,CAAC,CAAC,CAAC,CAAC;IAC/D,MAAM,OAAO,GAA4B;QACvC,CAAC,QAAQ,EAAE,MAAM,CAAC;QAClB,CAAC,QAAQ,EAAE,MAAM,CAAC;KACnB,CAAC,MAAM,CAAC,CAAC,KAAK,EAA6B,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACvE,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,EAAE;QACzC,MAAM,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnE,OAAO,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC;IAC9B,CAAC,CAAC,CAAC;IACH,OAAO,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC3B,CAAC;AAED,mFAAmF;AACnF,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,GAAW,EACX,IAAc,EACd,IAAI,GAAiB,EAAE;IAEvB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,MAAM,GAAG,EAAE,CAAC;IAChB,IAAI,IAAI,GAAkB,IAAI,CAAC;IAC/B,IAAI,MAAM,GAA0B,IAAI,CAAC;IACzC,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACrD,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;aAC9C,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ;YAAE,MAAM,IAAI,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC;aACnD,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC5B,IAAI,GAAG,EAAE,CAAC,IAAI,CAAC;YACf,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC;QACrB,CAAC;QACD,4EAA4E;QAC5E,qEAAqE;IACvE,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,GAAW,EACX,IAAc,EACd,IAAI,GAAiB,EAAE;IAEvB,MAAM,GAAG,GAAsB,cAAc,CAAC,IAAI,CAAC,UAAU,IAAI,eAAe,CAAC,CAAC;IAClF,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE,CAAC;QAC1D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;YAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC;;YACtD,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE;QAC7B,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG;QACH,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;QAC/B,QAAQ,EAAE,IAAI;KACf,CAAC,CAAC;IACH,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;QAAE,oBAAoB,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IACxE,6EAA6E;IAC7E,2EAA2E;IAC3E,8EAA8E;IAC9E,6EAA6E;IAC7E,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,mBAAmB,GAAG,IAAI,CAAC,aAAa,IAAI,0BAA0B,CAAC;IAC7E,IAAI,kBAAkD,CAAC;IACvD,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,OAAO,GAAG,mBAAmB,CAAC,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7D,IAAI,OAAO,CAAC,MAAM,KAAK,OAAO;YAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IACtE,CAAC;IACD,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAQ,EAAE;QAChD,IAAI,kBAAkB,EAAE,CAAC;YACvB,mBAAmB,CAAC,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAAC,CAAC;YACvD,OAAO;QACT,CAAC;QACD,IAAI,CAAC;YACH,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC;QAAC,MAAM,CAAC;YACP,kBAAkB;QACpB,CAAC;IACH,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAClC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS;QAAE,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5D,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAElB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,CAAS,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE7D,IAAI,SAAqC,CAAC;IAC1C,MAAM,aAAa,GAAG,GAAS,EAAE;QAC/B,QAAQ,CAAC,IAAI,CAAC,YAAY,IAAI,QAAQ,CAAC,CAAC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,iBAAiB,IAAI,KAAK,CAAC;QAClD,IAAI,SAAS,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YACjC,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS,CAAC,CAAC;YAC7D,SAAS,CAAC,KAAK,EAAE,EAAE,CAAC;QACtB,CAAC;IACH,CAAC,CAAC;IACF,IAAI,KAAiC,CAAC;IACtC,IAAI,IAAI,CAAC,SAAS,IAAI,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;QACzC,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAChE,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;IACrC,IAAI,WAAW,EAAE,CAAC;QAChB,IAAI,WAAW,CAAC,OAAO;YAAE,aAAa,EAAE,CAAC;;YACpC,WAAW,CAAC,gBAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,CAAC;IACD,IAAI,CAAC;QACH,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,GAAG,MAAM,IAAI,OAAO,CACtC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAClB,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrE,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;YACH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACzB,IAAI,OAAO,KAAK,CAAC,GAAG,KAAK,QAAQ;oBAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACrE,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC,CAAC;QACL,CAAC,CACF,CAAC;QACF,OAAO;YACL,IAAI;YACJ,MAAM;YACN,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;YACpD,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;SACrD,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,KAAK;YAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC/B,IAAI,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;QACvC,WAAW,EAAE,mBAAmB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAWD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,OAAO,GAAsB,EAAE;IAC3D,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;QAC7B,IAAI,OAAO,EAAE,KAAK,CAAC;YAAE,OAAO;QAC5B,IAAI,CAAC;YACH,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACzB,CAAC;QAAC,MAAM,CAAC;YACP,4CAA4C;QAC9C,CAAC;QACD,IAAI,CAAC,CAAC,CAAC,CAAC;IACV,CAAC,EAAE,OAAO,CAAC,UAAU,IAAI,KAAK,CAAC,CAAC;IAChC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC;IAChB,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;AAC9C,CAAC"}
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":"AAkBA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,mBAAmB,EACzB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC3B,MAAM,uBAAuB,CAAC;AAE/B,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,qBAAqB,GAAG,kBAAkB,CAAC;AAE1E,wBAAgB,uBAAuB,CAAC,QAAQ,GAAE,MAAyB,GAAG,gBAAgB,CAE7F;AAED;;;;;;GAMG;AACH,eAAO,MAAM,oCAAoC,yCAAyC,CAAC;AAE3F,MAAM,MAAM,qBAAqB,GAC7B;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACjC;IAAE,MAAM,EAAE,WAAW,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GACpC;IAAE,MAAM,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEtD;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,CACH,GAAG,EAAE,MAAM,EACX,IAAI,EAAE,MAAM,EAAE,KACX;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAQ3D,GACA,qBAAqB,CAuBvB;AAED,MAAM,WAAW,iBAAiB;IAChC,+EAA+E;IAC/E,QAAQ,IAAI,eAAe,EAAE,CAAC;CAC/B;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAC9B,GAAG,GAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;IAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAQ5E,GACA,eAAe,EAAE,CA0BnB;AAED,eAAO,MAAM,wBAAwB,EAAE,iBAEtC,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,MAAM,EAAE,CAyB7F;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,kBAAkB,EAAE,CAAC;IAC9B,0EAA0E;IAC1E,UAAU,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACrD;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,OAAO,EAAE,MAAM,EACf,IAAI,GAAE;IACJ,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACxC,GACL,qBAAqB,CAwBvB;AAED,MAAM,MAAM,6BAA6B;AACvC,0DAA0D;AACxD;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE;AACzC;;;;GAIG;GACD;IACE,KAAK,EAAE,aAAa,CAAC;IACrB,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,MAAM,WAAW,sBAAsB;IACrC,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;;;;;OAQG;IACH,YAAY,CAAC,EAAE,oBAAoB,CAAC;IACpC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,qBAAqB,CAAC;IACjC,8EAA8E;IAC9E,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC;IACnC,wDAAwD;IACxD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,mBAAmB,CAAC;IAC7B,IAAI,CAAC,EAAE,iBAAiB,CAAC;IACzB,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtC,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,IAAI,CAAC;IACjD;;;;;OAKG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,yEAAyE;IACzE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sEAAsE;IACtE,eAAe,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,qBAAqB,CAAC;IACzD,wEAAwE;IACxE,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1C;AAiED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CACnC,IAAI,EAAE,sBAAsB,GAC3B,OAAO,CAAC,6BAA6B,CAAC,CA8GxC"}
@@ -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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"}
@@ -1 +1 @@
1
- {"version":3,"file":"runloop.d.ts","sourceRoot":"","sources":["../src/runloop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACtE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAwB/F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,SAAS,CAOjF;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB;;;;OAIG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,YAAY,EAAE,GAAG,IAAI,CAAC;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IAChF,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC;IAClD;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;QACnC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,KAAK,cAAc,CAAC,YAAY,CAAC,CAAC;QACvE,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;KAC1C,CAAC;IACF;;iCAE6B;IAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;CACjF;AAED,wBAAuB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CAAC,YAAY,CAAC,CA4K1F"}
1
+ {"version":3,"file":"runloop.d.ts","sourceRoot":"","sources":["../src/runloop.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAEtE,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,KAAK,EAAE,6BAA6B,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAwB/F,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,cAAc,GAAG,WAAW,GAAG,SAAS,CAOjF;AAED,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,cAAc,CAAC;IACrB;;;;OAIG;IACH,UAAU,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,KAAK,YAAY,EAAE,GAAG,IAAI,CAAC;IACvE,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC;IAChD,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAClC,2EAA2E;IAC3E,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,YAAY,GAAG,IAAI,CAAC;IAChF,4EAA4E;IAC5E,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC;IAClD;;;;;;;OAOG;IACH,OAAO,CAAC,EAAE;QACR,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;QACnC,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,UAAU,KAAK,cAAc,CAAC,YAAY,CAAC,CAAC;QACvE,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,OAAO,CAAC;KAC1C,CAAC;IACF;;iCAE6B;IAC7B,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,OAAO,CAAC,6BAA6B,CAAC,CAAC;CACjF;AAED,wBAAuB,aAAa,CAAC,IAAI,EAAE,iBAAiB,GAAG,cAAc,CAAC,YAAY,CAAC,CAiL1F"}
package/dist/runloop.js CHANGED
@@ -1,3 +1,4 @@
1
+ import { confinedInvocation } from "./confinement.js";
1
2
  import { spawnProcess } from "./proc.js";
2
3
  /**
3
4
  * Shared CLI adapter run loop.
@@ -48,8 +49,13 @@ export async function* runCliHarness(opts) {
48
49
  // Box the stdin handle: it is assigned inside the onSpawn callback, which
49
50
  // TypeScript's control-flow narrowing cannot see through a plain let.
50
51
  const session = { io: null };
52
+ // The OS boundary is applied HERE, at the one seam every local-CLI adapter
53
+ // already funnels through, rather than in each adapter's argv builder: an
54
+ // adapter that forgot to opt in would run a delegated child unconfined while
55
+ // the run record still said it asked for confinement.
56
+ const invocation = confinedInvocation(spec.confinement, opts.bin, opts.args);
51
57
  try {
52
- for await (const ev of spawnProcess(opts.bin, opts.args, {
58
+ for await (const ev of spawnProcess(invocation.bin, invocation.args, {
53
59
  cwd: spec.cwd,
54
60
  env: opts.env,
55
61
  inheritEnv: spec.env_inheritance,
@@ -1 +1 @@
1
- {"version":3,"file":"runloop.js","sourceRoot":"","sources":["../src/runloop.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAmB,MAAM,WAAW,CAAC;AAG1D;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,eAAe,GAAG,EAAE,CAAC;AAC3B,MAAM,iBAAiB,GAAG,IAAI,CAAC;AAE/B,MAAM,UAAU,mBAAmB,CAAC,IAAoB;IACtD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC,aAAa,CAAC,CAAC;IAC3C,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;QAAE,OAAO,SAAS,CAAC;IAC5D,MAAM,SAAS,GAAG,MAA8B,CAAC;IACjD,OAAO,OAAO,SAAS,CAAC,OAAO,KAAK,SAAS,IAAI,OAAO,SAAS,CAAC,gBAAgB,KAAK,UAAU;QAC/F,CAAC,CAAE,MAAsB;QACzB,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC;AAyCD,MAAM,CAAC,KAAK,SAAS,CAAC,CAAC,aAAa,CAAC,IAAuB;IAC1D,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACtB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,GAAG,CAAC;IACrC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,IAAY,EAAU,EAAE,CAAC,IAAI,CAAC,CAAC;IAC/D,MAAM,EAAE,GAAG,GAAW,EAAE,CAAC,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IAClD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,IAAI,oBAAoB,GAAG,CAAC,CAAC;IAC7B,IAAI,yBAAyB,GAAG,CAAC,CAAC;IAClC,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,WAAW,GAAG,KAAK,CAAC;IACxB,IAAI,QAAQ,GAAkB,IAAI,CAAC;IACnC,IAAI,UAAU,GAA0B,IAAI,CAAC;IAC7C,8EAA8E;IAC9E,iFAAiF;IACjF,IAAI,sBAAsB,GAGf,IAAI,CAAC;IAChB,MAAM,WAAW,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAE9C,MAAM,UAAU,GAAG,GAAW,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhG,0EAA0E;IAC1E,sEAAsE;IACtE,MAAM,OAAO,GAA8B,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IACxD,IAAI,CAAC;QACH,IAAI,KAAK,EAAE,MAAM,EAAE,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,EAAE;YACvD,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,UAAU,EAAE,IAAI,CAAC,eAAe;YAChC,WAAW;YACX,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACzC,wBAAwB,EAAE,CAAC,IAAI,EAAE,EAAE;gBACjC,sBAAsB,GAAG,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpF,QAAQ,GAAG,IAAI,CAAC;YAClB,CAAC;YACD,GAAG,CAAC,IAAI,CAAC,OAAO;gBACd,CAAC,CAAC;oBACE,aAAa,EAAE,IAAI;oBACnB,OAAO,EAAE,CAAC,EAAc,EAAE,EAAE;wBAC1B,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC;wBAChB,IAAI,IAAI,CAAC,OAAO,EAAE,YAAY;4BAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;oBACtE,CAAC;iBACF;gBACH,CAAC,CAAC,EAAE,CAAC;SACR,CAAC,EAAE,CAAC;YACH,IAAI,EAAE,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACzB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;gBACzB,IAAI,UAAU,CAAC,MAAM,GAAG,eAAe;oBAAE,UAAU,CAAC,KAAK,EAAE,CAAC;gBAC5D,SAAS;YACX,CAAC;YACD,IAAI,EAAE,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACvB,QAAQ,GAAG,EAAE,CAAC,IAAI,CAAC;gBACnB,UAAU,GAAG,EAAE,CAAC,MAAM,CAAC;gBACvB,SAAS;YACX,CAAC;YACD,IAAI,EAAE,CAAC,IAAI,KAAK,yBAAyB,EAAE,CAAC;gBAC1C,yEAAyE;gBACzE,oEAAoE;gBACpE,sBAAsB,GAAG,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,EAAE,UAAU,EAAE,EAAE,CAAC,UAAU,EAAE,CAAC;gBAChF,QAAQ,GAAG,IAAI,CAAC;gBAChB,SAAS;YACX,CAAC;YACD,IAAI,GAAY,CAAC;YACjB,IAAI,CAAC;gBACH,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,oBAAoB,IAAI,CAAC,CAAC;gBAC1B,SAAS;YACX,CAAC;YACD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5D,IAAI,KAAK,EAAE,MAAM,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC7D,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;wBAAE,QAAQ,GAAG,IAAI,CAAC;oBAC1C,MAAM,GAAG,CAAC;gBACZ,CAAC;gBACD,SAAS;YACX,CAAC;YACD,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACrD,IAAI,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,EAAE,IAAI,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnE,kEAAkE;gBAClE,gEAAgE;gBAChE,OAAO,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;gBACjB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;YACpB,CAAC;YACD,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACpB,yBAAyB,IAAI,CAAC,CAAC;gBAC/B,SAAS;YACX,CAAC;YACD,IAAI,IAAI,GAAG,KAAK,CAAC;YACjB,KAAK,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;gBACzB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;oBAAE,QAAQ,GAAG,IAAI,CAAC;gBAC1C,MAAM,GAAG,CAAC;gBACV,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC/B,IAAI,GAAG,IAAI,CAAC;oBACZ,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,IAAI;gBAAE,MAAM;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,QAAQ,GAAG,IAAI,CAAC;QAChB,WAAW,GAAG,IAAI,CAAC;QACnB,MAAM;YACJ,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,EAAE,EAAE,EAAE,EAAE;YACR,KAAK,EAAE,GAAG,KAAK,qBAAqB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;SACvF,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,OAAO,CAAC,EAAE,EAAE,GAAG,EAAE,CAAC;QAClB,OAAO,CAAC,EAAE,GAAG,IAAI,CAAC;IACpB,CAAC;IAED,MAAM,OAAO,GAAG,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC;IAC9C,kFAAkF;IAClF,iFAAiF;IACjF,0EAA0E;IAC1E,IAAI,sBAAsB,EAAE,CAAC;QAC3B,MAAM;YACJ,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,EAAE,EAAE,EAAE,EAAE;YACR,KAAK,EAAE,GAAG,KAAK,kDAAkD,sBAAsB,CAAC,SAAS,CAAC,MAAM,sBACtG,sBAAsB,CAAC,UAAU,CAAC,MAAM;gBACtC,CAAC,CAAC,KAAK,sBAAsB,CAAC,UAAU,CAAC,MAAM,oCAAoC;gBACnF,CAAC,CAAC,EACN,EAAE;SACH,CAAC;IACJ,CAAC;IACD,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,CAAC,EAAE,CAAC;QACjE,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI;YACxE,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,EAAE,EAAE,EAAE,EAAE;YACR,KAAK,EAAE,GAAG,KAAK,qBAAqB,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;SACzE,CAAC;IACJ,CAAC;SAAM,IAAI,CAAC,QAAQ,IAAI,CAAC,OAAO,IAAI,QAAQ,KAAK,IAAI,IAAI,UAAU,EAAE,CAAC;QACpE,MAAM;YACJ,IAAI,EAAE,OAAO;YACb,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,EAAE,EAAE,EAAE,EAAE;YACR,KAAK,EAAE,GAAG,KAAK,yBAAyB,UAAU,EAAE;SACrD,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAA4B,EAAE,CAAC;IAC5C,IAAI,oBAAoB,GAAG,CAAC;QAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,oBAAoB,CAAC;IACvF,IAAI,yBAAyB,GAAG,CAAC;QAC/B,OAAO,CAAC,6BAA6B,CAAC,GAAG,yBAAyB,CAAC;IACrE,IAAI,OAAO;QAAE,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC;IACvC,IAAI,QAAQ,KAAK,IAAI;QAAE,OAAO,CAAC,WAAW,CAAC,GAAG,QAAQ,CAAC;IACvD,iFAAiF;IACjF,0EAA0E;IAC1E,uEAAuE;IACvE,IAAI,sBAAsB,EAAE,CAAC;QAC3B,OAAO,CAAC,yBAAyB,CAAC,GAAG;YACnC,SAAS,EAAE,sBAAsB,CAAC,SAAS;YAC3C,UAAU,EAAE,sBAAsB,CAAC,UAAU;SAC9C,CAAC;IACJ,CAAC;IACD,+EAA+E;IAC/E,qEAAqE;IACrE,IAAI,CAAC,OAAO,IAAI,UAAU;QAAE,OAAO,CAAC,aAAa,CAAC,GAAG,UAAU,CAAC;IAChE,IAAI,WAAW;QAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;IAChD,MAAM;QACJ,IAAI,EAAE,WAAW;QACjB,UAAU,EAAE,IAAI,CAAC,UAAU;QAC3B,EAAE,EAAE,EAAE,EAAE;QACR,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"runloop.js","sourceRoot":"","sources":["../src/runloop.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.2.1",
3
+ "version": "3.3.7",
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/util": "3.2.1",
24
- "@claudexor/schema": "3.2.1"
23
+ "@claudexor/schema": "3.3.7",
24
+ "@claudexor/util": "3.3.7"
25
25
  },
26
26
  "repository": {
27
27
  "type": "git",