@claudexor/core 3.3.16 → 3.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -28,6 +28,24 @@ export declare function providerScrubEnv(keep?: readonly string[]): Record<strin
28
28
  * re-adds its single chosen credential explicitly afterward.
29
29
  */
30
30
  export declare const CLEAN_ENV_ALLOWLIST: readonly string[];
31
+ /**
32
+ * Windows process-environment keys a spawned native CLI needs to start at all:
33
+ * the system root and shell that Windows itself resolves against, the temp and
34
+ * profile roots every vendor CLI writes to, and PATHEXT. Read case-insensitively
35
+ * on Windows, so the canonical uppercase spelling here matches any casing the OS
36
+ * used. Kept as one named set so every scrubbed spawn env forwards the same
37
+ * keys instead of each caller guessing.
38
+ */
39
+ export declare const WINDOWS_RUNTIME_ENV_KEYS: readonly string[];
40
+ /**
41
+ * Copy allowlisted keys out of `source`. Windows spells its own variables
42
+ * `SystemRoot`, `ComSpec`, `windir`, and a plain object copy of `process.env`
43
+ * loses the case-insensitive lookup the live object has, so there the match is
44
+ * case-insensitive and the value lands under the canonical spelling (Windows
45
+ * is case-insensitive at CreateProcess). On POSIX, where `http_proxy` and
46
+ * `HTTP_PROXY` are genuinely different variables, the match stays exact.
47
+ */
48
+ export declare function pickAllowlistedEnv(source: NodeJS.ProcessEnv, keys: readonly string[], platform?: NodeJS.Platform): NodeJS.ProcessEnv;
31
49
  /**
32
50
  * Build the base child env for a given inheritance mode. `mirror_native` copies
33
51
  * the parent env (the native CLIs' default); `clean` copies only the minimal
@@ -1 +1 @@
1
- {"version":3,"file":"env-scope.d.ts","sourceRoot":"","sources":["../src/env-scope.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EA4DhD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAOnF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAoChD,CAAC;AAEF;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,GAAG,OAAO,EACtC,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAAC,UAAU,CASnB"}
1
+ {"version":3,"file":"env-scope.d.ts","sourceRoot":"","sources":["../src/env-scope.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EA4DhD,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,GAAE,SAAS,MAAM,EAAO,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAOnF;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAoChD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAarD,CAAC;AAEF;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,CAAC,UAAU,EACzB,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAAC,UAAU,CAWnB;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,eAAe,GAAG,OAAO,EACtC,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAAC,UAAU,CAInB"}
package/dist/env-scope.js CHANGED
@@ -133,6 +133,48 @@ export const CLEAN_ENV_ALLOWLIST = [
133
133
  "REQUESTS_CA_BUNDLE",
134
134
  "CURL_CA_BUNDLE",
135
135
  ];
136
+ /**
137
+ * Windows process-environment keys a spawned native CLI needs to start at all:
138
+ * the system root and shell that Windows itself resolves against, the temp and
139
+ * profile roots every vendor CLI writes to, and PATHEXT. Read case-insensitively
140
+ * on Windows, so the canonical uppercase spelling here matches any casing the OS
141
+ * used. Kept as one named set so every scrubbed spawn env forwards the same
142
+ * keys instead of each caller guessing.
143
+ */
144
+ export const WINDOWS_RUNTIME_ENV_KEYS = [
145
+ "SYSTEMROOT",
146
+ "SYSTEMDRIVE",
147
+ "WINDIR",
148
+ "COMSPEC",
149
+ "PATHEXT",
150
+ "TEMP",
151
+ "TMP",
152
+ "USERPROFILE",
153
+ "HOMEDRIVE",
154
+ "HOMEPATH",
155
+ "APPDATA",
156
+ "LOCALAPPDATA",
157
+ ];
158
+ /**
159
+ * Copy allowlisted keys out of `source`. Windows spells its own variables
160
+ * `SystemRoot`, `ComSpec`, `windir`, and a plain object copy of `process.env`
161
+ * loses the case-insensitive lookup the live object has, so there the match is
162
+ * case-insensitive and the value lands under the canonical spelling (Windows
163
+ * is case-insensitive at CreateProcess). On POSIX, where `http_proxy` and
164
+ * `HTTP_PROXY` are genuinely different variables, the match stays exact.
165
+ */
166
+ export function pickAllowlistedEnv(source, keys, platform = process.platform) {
167
+ const insensitive = platform === "win32"
168
+ ? new Map(Object.entries(source).map(([key, value]) => [key.toUpperCase(), value]))
169
+ : null;
170
+ const out = {};
171
+ for (const key of keys) {
172
+ const value = source[key] ?? insensitive?.get(key.toUpperCase());
173
+ if (value !== undefined)
174
+ out[key] = value;
175
+ }
176
+ return out;
177
+ }
136
178
  /**
137
179
  * Build the base child env for a given inheritance mode. `mirror_native` copies
138
180
  * the parent env (the native CLIs' default); `clean` copies only the minimal
@@ -143,12 +185,6 @@ export function composeBaseEnv(inheritance, source = process.env, execPath = pro
143
185
  const normalizedSource = harnessRuntimeEnv(source, execPath, platform);
144
186
  if (inheritance !== "clean")
145
187
  return normalizedSource;
146
- const out = {};
147
- for (const key of CLEAN_ENV_ALLOWLIST) {
148
- const value = normalizedSource[key];
149
- if (value !== undefined)
150
- out[key] = value;
151
- }
152
- return out;
188
+ return pickAllowlistedEnv(normalizedSource, CLEAN_ENV_ALLOWLIST, platform);
153
189
  }
154
190
  //# sourceMappingURL=env-scope.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"env-scope.js","sourceRoot":"","sources":["../src/env-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"env-scope.js","sourceRoot":"","sources":["../src/env-scope.ts"],"names":[],"mappings":"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"}
@@ -48,5 +48,5 @@ export declare function isBoundedRegularExecutable(info: ExecutableInspection):
48
48
  * bounded regular file the current user may execute. No content hash. Returns
49
49
  * false on any inspection error (dangling symlink, permission, mid-walk race).
50
50
  */
51
- export declare function isLaunchableExecutable(path: string): boolean;
51
+ export declare function isLaunchableExecutable(path: string, platform?: NodeJS.Platform): boolean;
52
52
  //# sourceMappingURL=executable-inspection.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"executable-inspection.d.ts","sourceRoot":"","sources":["../src/executable-inspection.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,gEAAgE;IAChE,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;yDACqD;IACrD,cAAc,EAAE,OAAO,CAAC;CACzB;AASD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,KAAK,CAAC,GAChD,CAAC,CAuBH;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAEpE;AAED,uEAAuE;AACvE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAI9E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAuB5D"}
1
+ {"version":3,"file":"executable-inspection.d.ts","sourceRoot":"","sources":["../src/executable-inspection.ts"],"names":[],"mappings":"AAYA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,oBAAoB;IACnC,gEAAgE;IAChE,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,OAAO,CAAC;IACvB,gEAAgE;IAChE,YAAY,EAAE,OAAO,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,qBAAqB;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd;yDACqD;IACrD,cAAc,EAAE,OAAO,CAAC;CACzB;AASD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,CAAC,IAAI,EAAE,oBAAoB,EAAE,EAAE,EAAE,MAAM,KAAK,CAAC,GAChD,CAAC,CAuBH;AAED,+CAA+C;AAC/C,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,oBAAoB,CAEpE;AAED,uEAAuE;AACvE,wBAAgB,0BAA0B,CAAC,IAAI,EAAE,oBAAoB,GAAG,OAAO,CAI9E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,OAAO,CAuBT"}
@@ -50,12 +50,12 @@ export function isBoundedRegularExecutable(info) {
50
50
  * bounded regular file the current user may execute. No content hash. Returns
51
51
  * false on any inspection error (dangling symlink, permission, mid-walk race).
52
52
  */
53
- export function isLaunchableExecutable(path) {
53
+ export function isLaunchableExecutable(path, platform = process.platform) {
54
54
  try {
55
55
  const info = inspectExecutable(path);
56
56
  if (!info.isRegularFile || !info.identityStable)
57
57
  return false;
58
- if (process.platform !== "win32")
58
+ if (platform !== "win32")
59
59
  accessSync(info.realpath, constants.X_OK);
60
60
  return true;
61
61
  }
@@ -69,7 +69,7 @@ export function isLaunchableExecutable(path) {
69
69
  const real = realpathSync(resolve(path));
70
70
  if (!statSync(real).isFile())
71
71
  return false;
72
- if (process.platform !== "win32")
72
+ if (platform !== "win32")
73
73
  accessSync(real, constants.X_OK);
74
74
  return true;
75
75
  }
@@ -1 +1 @@
1
- {"version":3,"file":"executable-inspection.js","sourceRoot":"","sources":["../src/executable-inspection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executable-inspection.js","sourceRoot":"","sources":["../src/executable-inspection.ts"],"names":[],"mappings":"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"}
@@ -28,6 +28,8 @@ export type ProcessGroupEmptyProbe = {
28
28
  pgid: number;
29
29
  reason: "unsupported_platform" | "permission_denied" | "probe_failed";
30
30
  };
31
+ /** Outcome of the injected win32 tree kill (`taskkill /T /F` in production). */
32
+ export type ProcessTreeKillOutcome = "killed" | "not_found" | "failed";
31
33
  export type ProcessGroupSignalResult = {
32
34
  status: "sent";
33
35
  pgid: number;
@@ -40,13 +42,22 @@ export type ProcessGroupSignalResult = {
40
42
  status: "unknown";
41
43
  pgid: number;
42
44
  signal: NodeJS.Signals;
43
- reason: "stale_leader" | "missing_leader" | "identity_unknown" | "permission_denied" | "signal_failed";
45
+ reason: "stale_leader" | "missing_leader" | "identity_unknown" | "permission_denied" | "signal_failed" | "unsupported_platform";
44
46
  };
45
47
  export interface ProcessGroupServiceOptions {
46
48
  platform?: string;
47
49
  identity?: ProcessIdentityReader;
48
50
  probeProcessGroup?: (negativePgid: number) => void;
49
51
  signalProcessGroup?: (negativePgid: number, signal: NodeJS.Signals) => void;
52
+ /**
53
+ * OPT-IN win32 terminator (`killWindowsProcessTree` in production). Windows
54
+ * has no process groups and no cooperative signal, so a win32 `signal` is a
55
+ * whole-tree kill of the recorded leader. Absent (the default) keeps win32
56
+ * signalling refused, so no consumer inherits Windows termination it did not
57
+ * ask for. The caller injects it from the tree owner, which keeps this
58
+ * module a leaf.
59
+ */
60
+ killProcessTree?: (pid: number) => ProcessTreeKillOutcome;
50
61
  }
51
62
  export declare function parseProcessGroupHandle(value: unknown): ProcessGroupHandle;
52
63
  export declare class ProcessGroupService {
@@ -54,10 +65,17 @@ export declare class ProcessGroupService {
54
65
  private readonly identity;
55
66
  private readonly probeProcessGroup;
56
67
  private readonly signalProcessGroup;
68
+ private readonly killProcessTree?;
57
69
  constructor(options?: ProcessGroupServiceOptions);
58
70
  captureLeader(pid: number): ProcessGroupCapture;
59
71
  compareLeader(handle: ProcessGroupHandle): ProcessIdentityComparison;
60
- /** Only ESRCH proves the complete group empty; every other error is unknown. */
72
+ /**
73
+ * Only ESRCH proves the complete group empty; every other error is unknown.
74
+ * On win32 there is no group probe: emptiness is the recorded LEADER's
75
+ * kernel identity being gone (missing, or a different process on a recycled
76
+ * pid) after the tree kill that `signal` performs — a leader-death proof,
77
+ * weaker than the POSIX group proof and disclosed as such by its own owner.
78
+ */
61
79
  probeEmpty(handle: ProcessGroupHandle): ProcessGroupEmptyProbe;
62
80
  /** Refuses to signal unless the exact recorded leader identity still owns the PGID. */
63
81
  signal(handle: ProcessGroupHandle, signal: NodeJS.Signals): ProcessGroupSignalResult;
@@ -1 +1 @@
1
- {"version":3,"file":"process-group.d.ts","sourceRoot":"","sources":["../src/process-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-group.d.ts","sourceRoot":"","sources":["../src/process-group.ts"],"names":[],"mappings":"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"}
@@ -38,6 +38,7 @@ export class ProcessGroupService {
38
38
  identity;
39
39
  probeProcessGroup;
40
40
  signalProcessGroup;
41
+ killProcessTree;
41
42
  constructor(options = {}) {
42
43
  this.platform = options.platform ?? process.platform;
43
44
  this.identity = options.identity ?? defaultProcessIdentityService;
@@ -45,6 +46,7 @@ export class ProcessGroupService {
45
46
  options.probeProcessGroup ?? ((negativePgid) => process.kill(negativePgid, 0));
46
47
  this.signalProcessGroup =
47
48
  options.signalProcessGroup ?? ((negativePgid, signal) => process.kill(negativePgid, signal));
49
+ this.killProcessTree = options.killProcessTree;
48
50
  }
49
51
  captureLeader(pid) {
50
52
  const identity = this.identity.read(pid);
@@ -59,8 +61,23 @@ export class ProcessGroupService {
59
61
  compareLeader(handle) {
60
62
  return compareProcessIdentity(handle.leader, this.identity.read(handle.leader.pid));
61
63
  }
62
- /** Only ESRCH proves the complete group empty; every other error is unknown. */
64
+ /**
65
+ * Only ESRCH proves the complete group empty; every other error is unknown.
66
+ * On win32 there is no group probe: emptiness is the recorded LEADER's
67
+ * kernel identity being gone (missing, or a different process on a recycled
68
+ * pid) after the tree kill that `signal` performs — a leader-death proof,
69
+ * weaker than the POSIX group proof and disclosed as such by its own owner.
70
+ */
63
71
  probeEmpty(handle) {
72
+ if (this.platform === "win32") {
73
+ const comparison = this.compareLeader(handle);
74
+ if (comparison === "same")
75
+ return { status: "nonempty", pgid: handle.pgid };
76
+ if (comparison === "missing" || comparison === "different") {
77
+ return { status: "empty", pgid: handle.pgid };
78
+ }
79
+ return { status: "unknown", pgid: handle.pgid, reason: "probe_failed" };
80
+ }
64
81
  if (this.platform !== "linux" && this.platform !== "darwin") {
65
82
  return { status: "unknown", pgid: handle.pgid, reason: "unsupported_platform" };
66
83
  }
@@ -88,6 +105,20 @@ export class ProcessGroupService {
88
105
  : "identity_unknown";
89
106
  return { status: "unknown", pgid: handle.pgid, signal, reason };
90
107
  }
108
+ if (this.platform === "win32") {
109
+ if (!this.killProcessTree) {
110
+ return { status: "unknown", pgid: handle.pgid, signal, reason: "unsupported_platform" };
111
+ }
112
+ // Windows cannot deliver TERM; both escalation steps are the same tree
113
+ // kill, issued only while the recorded identity still owns the pid.
114
+ const outcome = this.killProcessTree(handle.pgid);
115
+ if (outcome === "not_found")
116
+ return { status: "empty", pgid: handle.pgid, signal };
117
+ if (outcome === "failed") {
118
+ return { status: "unknown", pgid: handle.pgid, signal, reason: "signal_failed" };
119
+ }
120
+ return { status: "sent", pgid: handle.pgid, signal };
121
+ }
91
122
  try {
92
123
  this.signalProcessGroup(-handle.pgid, signal);
93
124
  return { status: "sent", pgid: handle.pgid, signal };
@@ -1 +1 @@
1
- {"version":3,"file":"process-group.js","sourceRoot":"","sources":["../src/process-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-group.js","sourceRoot":"","sources":["../src/process-group.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
- export type ProcessIdentityPlatform = "linux" | "darwin";
2
- export type ProcessIdentitySource = "procfs_stat" | "proc_pidinfo";
1
+ export type ProcessIdentityPlatform = "linux" | "darwin" | "win32";
2
+ export type ProcessIdentitySource = "procfs_stat" | "proc_pidinfo" | "win32_process_times";
3
3
  export type ProcessIdentityUnknownReason = "invalid_pid" | "unsupported_platform" | "permission_denied" | "malformed_response" | "helper_unavailable" | "helper_failed" | "io_error";
4
4
  export interface KnownProcessIdentity {
5
5
  status: "known";
@@ -24,42 +24,78 @@ export interface UnknownProcessIdentity {
24
24
  }
25
25
  export type ProcessIdentity = KnownProcessIdentity | MissingProcessIdentity | UnknownProcessIdentity;
26
26
  export type ProcessIdentityComparison = "same" | "different" | "missing" | "unknown";
27
+ export type LinuxProcessState = "R" | "S" | "D" | "Z" | "T" | "t" | "X" | "x" | "K" | "W" | "P" | "I";
28
+ export interface ProcessObservation {
29
+ readonly identity: ProcessIdentity;
30
+ /** Mutable Linux execution state from the same proc-stat read as identity. */
31
+ readonly linuxState: LinuxProcessState | null;
32
+ }
27
33
  export interface ProcessIdentityReader {
28
34
  read(pid: number): ProcessIdentity;
29
35
  self(): ProcessIdentity;
30
36
  }
31
- export interface DarwinHelperExecution {
37
+ export interface ProcessObservationReader {
38
+ observe(pid: number): ProcessObservation;
39
+ }
40
+ export interface ProcessHelperExecution {
32
41
  status: number | null;
33
42
  stdout: string;
34
43
  stderr: string;
35
44
  errorCode?: string;
36
45
  }
46
+ /** @deprecated Use {@link ProcessHelperExecution} — the shape is not Darwin-specific. */
47
+ export type DarwinHelperExecution = ProcessHelperExecution;
37
48
  export interface ProcessIdentityServiceOptions {
38
49
  platform?: string;
39
50
  selfPid?: number;
40
51
  readTextFile?: (path: string) => string;
41
52
  /** Absolute path to the bundled proc_pidinfo helper; null disables it. */
42
53
  darwinHelperPath?: string | null;
43
- runDarwinHelper?: (path: string, pid: number) => DarwinHelperExecution;
54
+ runDarwinHelper?: (path: string, pid: number) => ProcessHelperExecution;
55
+ /**
56
+ * OPT-IN win32 birth-time reader. Absent (the production default) keeps
57
+ * win32 `unsupported_platform`, so every consumer that fails closed there
58
+ * today — run capture, the orphan reaper, the daemon writer lease — is
59
+ * untouched. A lane that needs a Windows identity passes
60
+ * {@link executeWin32ProcessTimes} explicitly and owns the cost.
61
+ */
62
+ runWin32Reader?: (pid: number) => ProcessHelperExecution;
44
63
  }
45
- /** Parse Linux proc stat field 5 (pgrp) and field 22 (starttime). */
64
+ /** Parse Linux proc stat fields 3 (state), 5 (pgrp), and 22 (starttime). */
65
+ export declare function parseLinuxProcStatObservation(raw: string, expectedPid: number): ProcessObservation;
66
+ /** Legacy identity-only projection; persisted and wire-facing bytes stay unchanged. */
46
67
  export declare function parseLinuxProcStat(raw: string, expectedPid: number): ProcessIdentity;
68
+ export declare function observeProcess(identity: ProcessIdentityReader, pid: number, observation?: ProcessObservationReader): ProcessObservation;
47
69
  /** Strict parser for the bundled Darwin helper's locale-independent protocol. */
48
70
  export declare function parseDarwinHelperOutput(raw: string, expectedPid: number): ProcessIdentity;
49
71
  export declare function compareProcessIdentity(expected: KnownProcessIdentity, observed: ProcessIdentity): ProcessIdentityComparison;
50
72
  export declare function isKnownProcessIdentity(value: unknown): value is KnownProcessIdentity;
73
+ /**
74
+ * Windows birth-time reader. Windows exposes no `/proc`, so the kernel's own
75
+ * `GetProcessTimes` creation time is read through the absolute System32
76
+ * PowerShell (same pinned-path discipline as the `taskkill` owner) and printed
77
+ * as a locale-independent FILETIME. Blocking and ~sub-second, so it is opt-in
78
+ * per lane rather than a default for every spawn.
79
+ */
80
+ export declare function executeWin32ProcessTimes(pid: number): ProcessHelperExecution;
81
+ /** Strict parser for the win32 reader's locale-independent protocol. */
82
+ export declare function parseWin32ReaderOutput(raw: string, expectedPid: number): ProcessIdentity;
51
83
  export declare class ProcessIdentityService implements ProcessIdentityReader {
52
84
  private readonly platform;
53
85
  private readonly selfPid;
54
86
  private readonly readTextFile;
55
87
  private readonly darwinHelperPath;
56
88
  private readonly runDarwinHelper;
89
+ private readonly runWin32Reader?;
57
90
  private cachedSelf;
58
91
  constructor(options?: ProcessIdentityServiceOptions);
59
92
  read(pid: number): ProcessIdentity;
60
93
  self(): ProcessIdentity;
61
94
  private readLinux;
62
95
  private readDarwin;
96
+ private readWin32;
63
97
  }
64
98
  export declare const defaultProcessIdentityService: ProcessIdentityService;
99
+ export declare function createProcessObservationReader(options?: ProcessIdentityServiceOptions): ProcessObservationReader;
100
+ export declare const defaultProcessObservationReader: ProcessObservationReader;
65
101
  //# sourceMappingURL=process-identity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-identity.d.ts","sourceRoot":"","sources":["../src/process-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-identity.d.ts","sourceRoot":"","sources":["../src/process-identity.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,20 @@
1
1
  import { constants, accessSync, readFileSync } from "node:fs";
2
2
  import { spawnSync } from "node:child_process";
3
3
  import { fileURLToPath } from "node:url";
4
- const LINUX_PROCESS_STATES = new Set(["R", "S", "D", "Z", "T", "t", "X", "x", "K", "W", "P", "I"]);
4
+ const LINUX_PROCESS_STATES = new Set([
5
+ "R",
6
+ "S",
7
+ "D",
8
+ "Z",
9
+ "T",
10
+ "t",
11
+ "X",
12
+ "x",
13
+ "K",
14
+ "W",
15
+ "P",
16
+ "I",
17
+ ]);
5
18
  function validPositiveInteger(value) {
6
19
  return Number.isSafeInteger(value) && value > 0;
7
20
  }
@@ -14,20 +27,24 @@ function canonicalPositive(value) {
14
27
  function unknown(pid, platform, reason) {
15
28
  return { status: "unknown", pid, platform, reason };
16
29
  }
17
- /** Parse Linux proc stat field 5 (pgrp) and field 22 (starttime). */
18
- export function parseLinuxProcStat(raw, expectedPid) {
30
+ /** Parse Linux proc stat fields 3 (state), 5 (pgrp), and 22 (starttime). */
31
+ export function parseLinuxProcStatObservation(raw, expectedPid) {
32
+ const malformed = (reason) => ({
33
+ identity: unknown(expectedPid, "linux", reason),
34
+ linuxState: null,
35
+ });
19
36
  if (!validPositiveInteger(expectedPid))
20
- return unknown(expectedPid, "linux", "invalid_pid");
37
+ return malformed("invalid_pid");
21
38
  const firstSpace = raw.indexOf(" ");
22
39
  const commEnd = raw.lastIndexOf(")");
23
40
  if (firstSpace <= 0 || commEnd <= firstSpace + 1)
24
- return unknown(expectedPid, "linux", "malformed_response");
41
+ return malformed("malformed_response");
25
42
  const parsedPid = raw.slice(0, firstSpace);
26
43
  if (!canonicalPositive(parsedPid) || Number(parsedPid) !== expectedPid) {
27
- return unknown(expectedPid, "linux", "malformed_response");
44
+ return malformed("malformed_response");
28
45
  }
29
46
  if (raw[firstSpace + 1] !== "(" || raw[commEnd + 1] !== " ") {
30
- return unknown(expectedPid, "linux", "malformed_response");
47
+ return malformed("malformed_response");
31
48
  }
32
49
  const fieldsFromState = raw
33
50
  .slice(commEnd + 2)
@@ -42,17 +59,29 @@ export function parseLinuxProcStat(raw, expectedPid) {
42
59
  !canonicalPositive(processGroup) ||
43
60
  !startTicks ||
44
61
  !canonicalUnsigned(startTicks)) {
45
- return unknown(expectedPid, "linux", "malformed_response");
62
+ return malformed("malformed_response");
46
63
  }
47
64
  return {
48
- status: "known",
49
- pid: expectedPid,
50
- platform: "linux",
51
- source: "procfs_stat",
52
- startToken: `linux:${startTicks}`,
53
- processGroupId: Number(processGroup),
65
+ identity: {
66
+ status: "known",
67
+ pid: expectedPid,
68
+ platform: "linux",
69
+ source: "procfs_stat",
70
+ startToken: `linux:${startTicks}`,
71
+ processGroupId: Number(processGroup),
72
+ },
73
+ linuxState: state,
54
74
  };
55
75
  }
76
+ /** Legacy identity-only projection; persisted and wire-facing bytes stay unchanged. */
77
+ export function parseLinuxProcStat(raw, expectedPid) {
78
+ return parseLinuxProcStatObservation(raw, expectedPid).identity;
79
+ }
80
+ export function observeProcess(identity, pid, observation) {
81
+ if (observation)
82
+ return observation.observe(pid);
83
+ return { identity: identity.read(pid), linuxState: null };
84
+ }
56
85
  /** Strict parser for the bundled Darwin helper's locale-independent protocol. */
57
86
  export function parseDarwinHelperOutput(raw, expectedPid) {
58
87
  if (!validPositiveInteger(expectedPid))
@@ -116,6 +145,13 @@ export function isKnownProcessIdentity(value) {
116
145
  typeof candidate.startToken === "string" &&
117
146
  /^darwin:(0|[1-9][0-9]*):[0-9]{6}$/.test(candidate.startToken));
118
147
  }
148
+ if (candidate.platform === "win32") {
149
+ return (candidate.source === "win32_process_times" &&
150
+ typeof candidate.startToken === "string" &&
151
+ /^win32:[1-9][0-9]*$/.test(candidate.startToken) &&
152
+ // Windows has no process groups: a win32 handle is leader-only.
153
+ candidate.processGroupId === candidate.pid);
154
+ }
119
155
  return false;
120
156
  }
121
157
  function bundledDarwinHelperPath() {
@@ -152,12 +188,92 @@ function executeDarwinHelper(path, pid) {
152
188
  errorCode: result.error?.code,
153
189
  };
154
190
  }
191
+ /**
192
+ * Windows birth-time reader. Windows exposes no `/proc`, so the kernel's own
193
+ * `GetProcessTimes` creation time is read through the absolute System32
194
+ * PowerShell (same pinned-path discipline as the `taskkill` owner) and printed
195
+ * as a locale-independent FILETIME. Blocking and ~sub-second, so it is opt-in
196
+ * per lane rather than a default for every spawn.
197
+ */
198
+ export function executeWin32ProcessTimes(pid) {
199
+ const systemRoot = process.env["SystemRoot"] || "C:\\Windows";
200
+ const powershell = `${systemRoot}\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`;
201
+ const script = "try { $p = [System.Diagnostics.Process]::GetProcessById(" +
202
+ String(pid) +
203
+ "); " +
204
+ "[Console]::Out.Write('claudexor-process-identity-win32-v1' + [char]9 + $p.Id + [char]9 + " +
205
+ "$p.StartTime.ToFileTimeUtc()); exit 0 } " +
206
+ "catch [System.ArgumentException] { exit 3 } " +
207
+ "catch [System.ComponentModel.Win32Exception] { exit 4 } " +
208
+ "catch { exit 5 }";
209
+ const result = spawnSync(powershell, ["-NoProfile", "-NonInteractive", "-NoLogo", "-Command", script], {
210
+ encoding: "utf8",
211
+ timeout: 5_000,
212
+ maxBuffer: 64 * 1024,
213
+ windowsHide: true,
214
+ env: { SystemRoot: systemRoot, PATH: `${systemRoot}\\System32` },
215
+ });
216
+ return {
217
+ status: result.status,
218
+ stdout: result.stdout ?? "",
219
+ stderr: result.stderr ?? "",
220
+ errorCode: result.error?.code,
221
+ };
222
+ }
223
+ /** Strict parser for the win32 reader's locale-independent protocol. */
224
+ export function parseWin32ReaderOutput(raw, expectedPid) {
225
+ if (!validPositiveInteger(expectedPid))
226
+ return unknown(expectedPid, "win32", "invalid_pid");
227
+ const line = raw.endsWith("\n") ? raw.slice(0, -1) : raw;
228
+ const fields = line.trim().split("\t");
229
+ if (fields.length !== 3 || fields[0] !== "claudexor-process-identity-win32-v1") {
230
+ return unknown(expectedPid, "win32", "malformed_response");
231
+ }
232
+ const [, pidText, fileTime] = fields;
233
+ // The FILETIME is 100-ns ticks since 1601: ~1.3e17 today, well past
234
+ // Number.MAX_SAFE_INTEGER, so it stays an opaque decimal string.
235
+ if (!pidText ||
236
+ !canonicalPositive(pidText) ||
237
+ Number(pidText) !== expectedPid ||
238
+ !fileTime ||
239
+ !/^[1-9][0-9]{0,19}$/.test(fileTime)) {
240
+ return unknown(expectedPid, "win32", "malformed_response");
241
+ }
242
+ return {
243
+ status: "known",
244
+ pid: expectedPid,
245
+ platform: "win32",
246
+ source: "win32_process_times",
247
+ startToken: `win32:${fileTime}`,
248
+ // Windows has no process groups; the handle addresses this process only.
249
+ processGroupId: expectedPid,
250
+ };
251
+ }
252
+ function readLinuxProcessObservation(readTextFile, pid) {
253
+ try {
254
+ return parseLinuxProcStatObservation(readTextFile(`/proc/${pid}/stat`), pid);
255
+ }
256
+ catch (error) {
257
+ const code = error?.code;
258
+ if (code === "ENOENT" || code === "ESRCH") {
259
+ return { identity: { status: "missing", pid, platform: "linux" }, linuxState: null };
260
+ }
261
+ if (code === "EACCES" || code === "EPERM") {
262
+ return {
263
+ identity: unknown(pid, "linux", "permission_denied"),
264
+ linuxState: null,
265
+ };
266
+ }
267
+ return { identity: unknown(pid, "linux", "io_error"), linuxState: null };
268
+ }
269
+ }
155
270
  export class ProcessIdentityService {
156
271
  platform;
157
272
  selfPid;
158
273
  readTextFile;
159
274
  darwinHelperPath;
160
275
  runDarwinHelper;
276
+ runWin32Reader;
161
277
  cachedSelf;
162
278
  constructor(options = {}) {
163
279
  this.platform = options.platform ?? process.platform;
@@ -166,6 +282,7 @@ export class ProcessIdentityService {
166
282
  this.darwinHelperPath =
167
283
  options.darwinHelperPath === undefined ? bundledDarwinHelperPath() : options.darwinHelperPath;
168
284
  this.runDarwinHelper = options.runDarwinHelper ?? executeDarwinHelper;
285
+ this.runWin32Reader = options.runWin32Reader;
169
286
  }
170
287
  read(pid) {
171
288
  if (!validPositiveInteger(pid))
@@ -174,6 +291,8 @@ export class ProcessIdentityService {
174
291
  return this.readLinux(pid);
175
292
  if (this.platform === "darwin")
176
293
  return this.readDarwin(pid);
294
+ if (this.platform === "win32")
295
+ return this.readWin32(pid);
177
296
  return unknown(pid, this.platform, "unsupported_platform");
178
297
  }
179
298
  self() {
@@ -181,17 +300,7 @@ export class ProcessIdentityService {
181
300
  return this.cachedSelf;
182
301
  }
183
302
  readLinux(pid) {
184
- try {
185
- return parseLinuxProcStat(this.readTextFile(`/proc/${pid}/stat`), pid);
186
- }
187
- catch (error) {
188
- const code = error?.code;
189
- if (code === "ENOENT" || code === "ESRCH")
190
- return { status: "missing", pid, platform: "linux" };
191
- if (code === "EACCES" || code === "EPERM")
192
- return unknown(pid, "linux", "permission_denied");
193
- return unknown(pid, "linux", "io_error");
194
- }
303
+ return readLinuxProcessObservation(this.readTextFile, pid).identity;
195
304
  }
196
305
  readDarwin(pid) {
197
306
  if (!this.darwinHelperPath)
@@ -214,6 +323,43 @@ export class ProcessIdentityService {
214
323
  return unknown(pid, "darwin", "helper_failed");
215
324
  return parseDarwinHelperOutput(execution.stdout, pid);
216
325
  }
326
+ readWin32(pid) {
327
+ if (!this.runWin32Reader)
328
+ return unknown(pid, "win32", "unsupported_platform");
329
+ let execution;
330
+ try {
331
+ execution = this.runWin32Reader(pid);
332
+ }
333
+ catch {
334
+ return unknown(pid, "win32", "helper_failed");
335
+ }
336
+ if (execution.errorCode)
337
+ return unknown(pid, "win32", "helper_unavailable");
338
+ if (execution.status === 3)
339
+ return { status: "missing", pid, platform: "win32" };
340
+ if (execution.status === 4)
341
+ return unknown(pid, "win32", "permission_denied");
342
+ if (execution.status !== 0)
343
+ return unknown(pid, "win32", "helper_failed");
344
+ return parseWin32ReaderOutput(execution.stdout, pid);
345
+ }
217
346
  }
218
347
  export const defaultProcessIdentityService = new ProcessIdentityService();
348
+ export function createProcessObservationReader(options = {}) {
349
+ const platform = options.platform ?? process.platform;
350
+ const identity = new ProcessIdentityService(options);
351
+ const readTextFile = options.readTextFile ?? ((path) => readFileSync(path, "utf8"));
352
+ return {
353
+ observe(pid) {
354
+ if (platform === "linux") {
355
+ if (!validPositiveInteger(pid)) {
356
+ return { identity: unknown(pid, platform, "invalid_pid"), linuxState: null };
357
+ }
358
+ return readLinuxProcessObservation(readTextFile, pid);
359
+ }
360
+ return { identity: identity.read(pid), linuxState: null };
361
+ },
362
+ };
363
+ }
364
+ export const defaultProcessObservationReader = createProcessObservationReader();
219
365
  //# sourceMappingURL=process-identity.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-identity.js","sourceRoot":"","sources":["../src/process-identity.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-identity.js","sourceRoot":"","sources":["../src/process-identity.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,15 @@
1
- import { type ProcessGroupHandle, type ProcessGroupService } from "./process-group.js";
1
+ import { ProcessGroupService, type ProcessGroupHandle } from "./process-group.js";
2
2
  import { type KnownProcessIdentity, type ProcessIdentityReader } from "./process-identity.js";
3
+ /**
4
+ * Process-group service for a lane that must supervise its child on Windows
5
+ * too — today the interactive native-login runner and the daemon that watches
6
+ * it. Off win32 this is the ordinary service. On win32 it opts into the two
7
+ * Windows seams: the kernel birth-time identity reader (so a recycled pid is
8
+ * never mistaken for the recorded process) and this module's `taskkill /T /F`
9
+ * as the terminator. Every other consumer keeps the fail-closed default, where
10
+ * win32 identity stays unprovable and no group signal is ever sent.
11
+ */
12
+ export declare function processGroupServiceWithWindowsSupport(platform?: NodeJS.Platform): ProcessGroupService;
3
13
  export interface ProcessTreeNode {
4
14
  pid: number;
5
15
  ppid: number;
@@ -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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"}
@@ -16,8 +16,26 @@
16
16
  * empty (fail-closed to `unconfirmed`, never a silent success).
17
17
  */
18
18
  import { spawnSync } from "node:child_process";
19
- import { defaultProcessGroupService, } from "./process-group.js";
20
- import { compareProcessIdentity, defaultProcessIdentityService, } from "./process-identity.js";
19
+ import { ProcessGroupService, defaultProcessGroupService, } from "./process-group.js";
20
+ import { ProcessIdentityService, compareProcessIdentity, defaultProcessIdentityService, executeWin32ProcessTimes, } from "./process-identity.js";
21
+ /**
22
+ * Process-group service for a lane that must supervise its child on Windows
23
+ * too — today the interactive native-login runner and the daemon that watches
24
+ * it. Off win32 this is the ordinary service. On win32 it opts into the two
25
+ * Windows seams: the kernel birth-time identity reader (so a recycled pid is
26
+ * never mistaken for the recorded process) and this module's `taskkill /T /F`
27
+ * as the terminator. Every other consumer keeps the fail-closed default, where
28
+ * win32 identity stays unprovable and no group signal is ever sent.
29
+ */
30
+ export function processGroupServiceWithWindowsSupport(platform = process.platform) {
31
+ if (platform !== "win32")
32
+ return new ProcessGroupService({ platform });
33
+ return new ProcessGroupService({
34
+ platform,
35
+ identity: new ProcessIdentityService({ platform, runWin32Reader: executeWin32ProcessTimes }),
36
+ killProcessTree: (pid) => killWindowsProcessTree(pid).status,
37
+ });
38
+ }
21
39
  export function resolveKillTreeStrategy(platform = process.platform) {
22
40
  return platform === "win32" ? "windows_taskkill" : "posix_process_group";
23
41
  }
@@ -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":"runtime-env.d.ts","sourceRoot":"","sources":["../src/runtime-env.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAef;AAYD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAiCR;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAAC,UAAU,CAEnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAcf;AAwBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,YAAY,GAAE,SAAS,MAAM,EAAsB,GAClD,MAAM,GAAG,IAAI,CA4Cf;AA4CD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAQf"}
1
+ {"version":3,"file":"runtime-env.d.ts","sourceRoot":"","sources":["../src/runtime-env.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAef;AAYD;;;;;;;;;;;GAWG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEpD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAiCR;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,CAAC,UAAU,CAEnB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAcf;AAoBD;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,MAAM,EACX,MAAM,GAAE,MAAM,CAAC,UAAwB,EACvC,YAAY,GAAE,SAAS,MAAM,EAAsB,GAClD,MAAM,GAAG,IAAI,CAuDf;AA4CD;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,QAAQ,GAAE,MAAyB,EACnC,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,IAAI,CAQf"}
@@ -1,6 +1,6 @@
1
1
  import { existsSync, lstatSync, readlinkSync, realpathSync, statSync } from "node:fs";
2
2
  import { homedir } from "node:os";
3
- import { basename, delimiter, dirname, isAbsolute, join } from "node:path";
3
+ import { basename, delimiter, dirname, extname, isAbsolute, join } from "node:path";
4
4
  import { isLaunchableExecutable } from "./executable-inspection.js";
5
5
  /**
6
6
  * The directory of the Node binary Claudexor ITSELF is running on, when that
@@ -33,7 +33,7 @@ export function managedRunnerNodeDir(execPath = process.execPath, platform = pro
33
33
  if (atRiskNodeAdvisory(execPath, platform) !== null)
34
34
  return null;
35
35
  // realpath + regular-file + executable facts (identity-stable, bounded).
36
- if (!isLaunchableExecutable(execPath))
36
+ if (!isLaunchableExecutable(execPath, platform))
37
37
  return null;
38
38
  // Anchor the REAL binary's dir (follow symlinks) rather than the launcher's.
39
39
  let runnerDir;
@@ -133,10 +133,10 @@ export function harnessRuntimeEnv(source = process.env, execPath = process.execP
133
133
  * the machine-specific parity failure this seam closes.
134
134
  */
135
135
  export function resolveHarnessBinary(bin, source = process.env, execPath = process.execPath, platform = process.platform) {
136
- const names = binaryNameCandidates(bin, source, platform);
136
+ const names = binaryNameCandidates(bin, platform);
137
137
  if (isAbsolute(bin)) {
138
138
  for (const name of names)
139
- if (isLaunchableExecutable(name))
139
+ if (isLaunchableExecutable(name, platform))
140
140
  return name;
141
141
  return null;
142
142
  }
@@ -145,28 +145,27 @@ export function resolveHarnessBinary(bin, source = process.env, execPath = proce
145
145
  continue;
146
146
  for (const name of names) {
147
147
  const candidate = join(dir, name);
148
- if (isLaunchableExecutable(candidate))
148
+ if (isLaunchableExecutable(candidate, platform))
149
149
  return candidate;
150
150
  }
151
151
  }
152
152
  return null;
153
153
  }
154
154
  /**
155
- * Name candidates in cmd.exe lookup order: on Windows a bare `codex` is
156
- * spawnable as `codex.exe`/`codex.cmd` via PATHEXT, so the resolver must try
157
- * those too or doctor reports null for a perfectly runnable CLI. Elsewhere the
158
- * name is used as-is. `platform` is forwarded from the resolver (same default,
159
- * so production is unchanged) so an injected win32 gets win32 name candidates,
160
- * not just win32 PATH ordering.
155
+ * Windows executable IMAGES only the same call Claudexor already makes for
156
+ * `git.exe` (v3.3.9): Node refuses to launch `.cmd`/`.bat` without a shell,
157
+ * and Claudexor never spawns a harness through one, so offering those
158
+ * spellings would only resolve a path that cannot be run. A bare extensionless
159
+ * name is not offered either: on Windows it is an npm/sh shim, not an image.
160
+ * An explicit name that already carries an extension is honored as written.
161
161
  */
162
- function binaryNameCandidates(bin, source, platform = process.platform) {
162
+ const WINDOWS_IMAGE_EXTENSIONS = [".exe", ".com"];
163
+ function binaryNameCandidates(bin, platform) {
163
164
  if (platform !== "win32")
164
165
  return [bin];
165
- const exts = (source.PATHEXT ?? ".COM;.EXE;.BAT;.CMD").split(";").filter(Boolean);
166
- const lower = bin.toLowerCase();
167
- if (exts.some((e) => lower.endsWith(e.toLowerCase())))
166
+ if (extname(bin) !== "")
168
167
  return [bin];
169
- return [bin, ...exts.map((e) => bin + e)];
168
+ return WINDOWS_IMAGE_EXTENSIONS.map((ext) => bin + ext);
170
169
  }
171
170
  const HOMEBREW_PREFIXES = ["/opt/homebrew", "/usr/local", "/home/linuxbrew/.linuxbrew"];
172
171
  /**
@@ -191,7 +190,10 @@ export function brokenInstallAdvisory(bin, source = process.env, brewPrefixes =
191
190
  if (resolveHarnessBinary(bin, source) !== null)
192
191
  return null;
193
192
  const name = basename(bin);
194
- const names = binaryNameCandidates(bin, source);
193
+ const names = binaryNameCandidates(bin, process.platform);
194
+ // A Windows npm install ships shims (`codex`, `codex.cmd`) and no image, so
195
+ // the resolver correctly finds nothing; say that instead of "not installed".
196
+ const shimNames = process.platform === "win32" && extname(bin) === "" ? [bin, `${bin}.cmd`, `${bin}.bat`] : [];
195
197
  const candidates = isAbsolute(bin)
196
198
  ? names
197
199
  : normalizedHarnessPath(source)
@@ -213,6 +215,15 @@ export function brokenInstallAdvisory(bin, source = process.env, brewPrefixes =
213
215
  `reinstall ${name} or point the binary override at a working install`;
214
216
  return `${where} exists but ${how} — ${fix}`;
215
217
  }
218
+ for (const dir of normalizedHarnessPath(source).split(delimiter)) {
219
+ if (!dir)
220
+ continue;
221
+ for (const shim of shimNames) {
222
+ if (lstatKind(join(dir, shim)) === null)
223
+ continue;
224
+ return `${join(dir, shim)} exists but is a launcher script, not a Windows executable — install the native ${name}.exe or point the binary override at one`;
225
+ }
226
+ }
216
227
  if (!SAFE_BREW_NAME.test(name))
217
228
  return null;
218
229
  for (const prefix of brewPrefixes) {
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-env.js","sourceRoot":"","sources":["../src/runtime-env.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-env.js","sourceRoot":"","sources":["../src/runtime-env.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.16",
3
+ "version": "3.4.1",
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.16",
24
- "@claudexor/util": "3.3.16"
23
+ "@claudexor/schema": "3.4.1",
24
+ "@claudexor/util": "3.4.1"
25
25
  },
26
26
  "repository": {
27
27
  "type": "git",