@moxt-ai/mobius 0.0.336 → 0.0.337

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/cli.js +427 -353
  2. package/dist/cli.js.map +4 -4
  3. package/dist/runtime.js +350 -310
  4. package/dist/runtime.js.map +4 -4
  5. package/dist/util/filesystem/private-path.js +6 -324
  6. package/dist/util/filesystem/private-path.js.map +4 -4
  7. package/dist/util/platform/contracts.d.ts +0 -26
  8. package/dist/util/platform/contracts.d.ts.map +1 -1
  9. package/dist/util/platform/index.d.ts.map +1 -1
  10. package/dist/util/platform/index.js +1 -4
  11. package/dist/util/platform/index.js.map +1 -1
  12. package/dist/util/platform/linux.d.ts.map +1 -1
  13. package/dist/util/platform/linux.js +1 -117
  14. package/dist/util/platform/linux.js.map +1 -1
  15. package/dist/util/platform/macos.d.ts.map +1 -1
  16. package/dist/util/platform/macos.js +1 -4
  17. package/dist/util/platform/macos.js.map +1 -1
  18. package/dist/util/platform/posix.d.ts +0 -21
  19. package/dist/util/platform/posix.d.ts.map +1 -1
  20. package/dist/util/platform/posix.js +1 -104
  21. package/dist/util/platform/posix.js.map +1 -1
  22. package/dist/util/platform/windows.d.ts.map +1 -1
  23. package/dist/util/platform/windows.js +1 -107
  24. package/dist/util/platform/windows.js.map +1 -1
  25. package/dist/util/process/executable.d.ts +2 -2
  26. package/dist/util/process/executable.d.ts.map +1 -1
  27. package/dist/util/process/executable.js +31 -222
  28. package/dist/util/process/executable.js.map +4 -4
  29. package/dist/util/process/platform/contracts.d.ts +29 -0
  30. package/dist/util/process/platform/contracts.d.ts.map +1 -0
  31. package/dist/util/process/platform/contracts.js +2 -0
  32. package/dist/util/process/platform/contracts.js.map +1 -0
  33. package/dist/util/process/platform/index.d.ts +3 -0
  34. package/dist/util/process/platform/index.d.ts.map +1 -0
  35. package/dist/util/process/platform/index.js +20 -0
  36. package/dist/util/process/platform/index.js.map +1 -0
  37. package/dist/util/process/platform/linux.d.ts +3 -0
  38. package/dist/util/process/platform/linux.d.ts.map +1 -0
  39. package/dist/util/process/platform/linux.js +122 -0
  40. package/dist/util/process/platform/linux.js.map +1 -0
  41. package/dist/util/process/platform/macos.d.ts +3 -0
  42. package/dist/util/process/platform/macos.d.ts.map +1 -0
  43. package/dist/util/process/platform/macos.js +8 -0
  44. package/dist/util/process/platform/macos.js.map +1 -0
  45. package/dist/util/process/platform/posix.d.ts +25 -0
  46. package/dist/util/process/platform/posix.d.ts.map +1 -0
  47. package/dist/util/process/platform/posix.js +107 -0
  48. package/dist/util/process/platform/posix.js.map +1 -0
  49. package/dist/util/process/platform/windows.d.ts +3 -0
  50. package/dist/util/process/platform/windows.d.ts.map +1 -0
  51. package/dist/util/process/platform/windows.js +114 -0
  52. package/dist/util/process/platform/windows.js.map +1 -0
  53. package/package.json +2 -2
@@ -1,123 +1,7 @@
1
- import { constants, readdirSync, readFileSync } from "node:fs";
2
- import { access, readdir, readFile, realpath, stat } from "node:fs/promises";
3
1
  import { isAbsolute, join } from "node:path";
4
- import { posixOperations, processExists as posixProcessExists, readProcessTableWithPs } from "./posix.js";
5
- function appendLinuxProcessTableEntry(entries, processId, encoded) {
6
- const closingParenthesis = encoded.lastIndexOf(")");
7
- if (!encoded.startsWith(`${processId.toString()} (`) || closingParenthesis < 0) {
8
- return;
9
- }
10
- const fields = encoded
11
- .slice(closingParenthesis + 1)
12
- .trim()
13
- .split(/\s+/);
14
- const parentProcessId = Number(fields[1]);
15
- const processGroupId = Number(fields[2]);
16
- if (!Number.isSafeInteger(parentProcessId) ||
17
- parentProcessId < 0 ||
18
- !Number.isSafeInteger(processGroupId) ||
19
- processGroupId <= 0) {
20
- return;
21
- }
22
- entries.push({ parentProcessId, processGroupId, processId });
23
- }
24
- async function readLinuxProcessTable() {
25
- const entries = [];
26
- try {
27
- const directories = await readdir("/proc", { withFileTypes: true });
28
- for (const directory of directories) {
29
- if (!directory.isDirectory() || !/^\d+$/.test(directory.name)) {
30
- continue;
31
- }
32
- const processId = Number(directory.name);
33
- if (!Number.isSafeInteger(processId) || processId <= 0) {
34
- continue;
35
- }
36
- try {
37
- appendLinuxProcessTableEntry(entries, processId, await readFile(join("/proc", directory.name, "stat"), "utf8"));
38
- }
39
- catch {
40
- // Processes can exit while procfs is being enumerated.
41
- }
42
- }
43
- }
44
- catch {
45
- // A restricted Linux runtime may not mount procfs; the fixed ps fallback runs below.
46
- }
47
- return entries;
48
- }
49
- function readLinuxProcessTableSynchronously() {
50
- const entries = [];
51
- try {
52
- const directories = readdirSync("/proc", { withFileTypes: true });
53
- for (const directory of directories) {
54
- if (!directory.isDirectory() || !/^\d+$/.test(directory.name)) {
55
- continue;
56
- }
57
- const processId = Number(directory.name);
58
- if (!Number.isSafeInteger(processId) || processId <= 0) {
59
- continue;
60
- }
61
- try {
62
- appendLinuxProcessTableEntry(entries, processId, readFileSync(join("/proc", directory.name, "stat"), "utf8"));
63
- }
64
- catch {
65
- // Processes can exit while procfs is being enumerated.
66
- }
67
- }
68
- }
69
- catch {
70
- // A restricted Linux runtime may not mount procfs; the asynchronous fallback runs below.
71
- }
72
- return entries;
73
- }
74
- async function readLinuxProcessTableWithFallback() {
75
- const procfsEntries = await readLinuxProcessTable();
76
- if (procfsEntries.length > 0) {
77
- return procfsEntries;
78
- }
79
- for (const candidate of ["/usr/bin/ps", "/bin/ps", "/run/current-system/sw/bin/ps"]) {
80
- try {
81
- const resolvedPath = await realpath(candidate);
82
- if (!(await stat(resolvedPath)).isFile()) {
83
- continue;
84
- }
85
- await access(resolvedPath, constants.X_OK);
86
- }
87
- catch {
88
- continue;
89
- }
90
- const entries = await readProcessTableWithPs(candidate);
91
- if (entries.length > 0) {
92
- return entries;
93
- }
94
- }
95
- return [];
96
- }
97
- function processExists(processId) {
98
- try {
99
- const encoded = readFileSync(join("/proc", processId.toString(), "stat"), "utf8");
100
- const closingParenthesis = encoded.lastIndexOf(")");
101
- if (closingParenthesis >= 0) {
102
- const processState = encoded
103
- .slice(closingParenthesis + 1)
104
- .trimStart()
105
- .charAt(0);
106
- if (processState === "Z" || processState === "X") {
107
- return false;
108
- }
109
- }
110
- }
111
- catch {
112
- // Fall through so restricted procfs mounts still use the portable signal probe.
113
- }
114
- return posixProcessExists(processId);
115
- }
2
+ import { posixOperations } from "./posix.js";
116
3
  export const linuxPlatform = {
117
4
  ...posixOperations,
118
- readProcessTable: readLinuxProcessTableWithFallback,
119
- readProcessTableSynchronously: readLinuxProcessTableSynchronously,
120
- processExists,
121
5
  claudeCodeExecutablePaths: (environment) => {
122
6
  const homeDirectory = environment["HOME"];
123
7
  return homeDirectory !== undefined && isAbsolute(homeDirectory)
@@ -1 +1 @@
1
- {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../src/util/platform/linux.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"linux.js","sourceRoot":"","sources":["../../../src/util/platform/linux.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC1C,GAAG,eAAe;IAClB,yBAAyB,EAAE,CAAC,WAAW,EAAE,EAAE;QACvC,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,OAAO,aAAa,KAAK,SAAS,IAAI,UAAU,CAAC,aAAa,CAAC;YAC3D,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;YAClD,CAAC,CAAC,EAAE,CAAC;IACb,CAAC;CACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"macos.d.ts","sourceRoot":"","sources":["../../../src/util/platform/macos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,eAAO,MAAM,aAAa,EAAE,eAmB3B,CAAC"}
1
+ {"version":3,"file":"macos.d.ts","sourceRoot":"","sources":["../../../src/util/platform/macos.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAGtD,eAAO,MAAM,aAAa,EAAE,eAgB3B,CAAC"}
@@ -1,11 +1,8 @@
1
1
  import { isAbsolute, join } from "node:path";
2
2
  import { claudeDesktopExecutablePaths } from "./claude-desktop.js";
3
- import { posixOperations, processExists, readProcessTableWithPs } from "./posix.js";
3
+ import { posixOperations } from "./posix.js";
4
4
  export const macosPlatform = {
5
5
  ...posixOperations,
6
- readProcessTable: () => readProcessTableWithPs("/bin/ps"),
7
- readProcessTableSynchronously: () => [],
8
- processExists,
9
6
  claudeCodeExecutablePaths: (environment) => {
10
7
  const paths = ["/opt/homebrew/bin/claude", "/usr/local/bin/claude"];
11
8
  const homeDirectory = environment["HOME"];
@@ -1 +1 @@
1
- {"version":3,"file":"macos.js","sourceRoot":"","sources":["../../../src/util/platform/macos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAEpF,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC1C,GAAG,eAAe;IAClB,gBAAgB,EAAE,GAAG,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC;IACzD,6BAA6B,EAAE,GAAG,EAAE,CAAC,EAAE;IACvC,aAAa;IACb,yBAAyB,EAAE,CAAC,WAAW,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,CAAC,0BAA0B,EAAE,uBAAuB,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,aAAa,KAAK,SAAS,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CACN,GAAG,4BAA4B,CAC3B,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,EAChF,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAC9D,CACJ,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAC"}
1
+ {"version":3,"file":"macos.js","sourceRoot":"","sources":["../../../src/util/platform/macos.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AAEnE,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,MAAM,CAAC,MAAM,aAAa,GAAoB;IAC1C,GAAG,eAAe;IAClB,yBAAyB,EAAE,CAAC,WAAW,EAAE,EAAE;QACvC,MAAM,KAAK,GAAG,CAAC,0BAA0B,EAAE,uBAAuB,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,aAAa,KAAK,SAAS,IAAI,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAC3D,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;YAC9D,KAAK,CAAC,IAAI,CACN,GAAG,4BAA4B,CAC3B,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,EAAE,qBAAqB,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC,EAChF,CAAC,CAAC,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,CAC9D,CACJ,CAAC;QACN,CAAC;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ,CAAC"}
@@ -1,30 +1,9 @@
1
- import { type ChildProcess } from "node:child_process";
2
- import type { ProcessTableEntry, ProcessTreeIdentity } from "./contracts.ts";
3
- export declare function parseProcessTable(output: string): readonly ProcessTableEntry[];
4
- export declare function readProcessTableWithPs(executable: string): Promise<readonly ProcessTableEntry[]>;
5
- export declare function processExists(processId: number): boolean;
6
- export declare function signalCapturedProcesses(processes: readonly ProcessTreeIdentity[], rootProcessId: number, signal: number): void;
7
- declare function terminateProcess(child: ChildProcess, signal: NodeJS.Signals): void;
8
1
  declare function removeControlSocket(path: string): Promise<void>;
9
2
  export declare const posixOperations: {
10
3
  controlSocketPath: (installationHash: string) => string;
11
4
  prepareControlSocket: typeof removeControlSocket;
12
5
  secureControlSocket: (path: string) => Promise<void>;
13
6
  removeControlSocket: typeof removeControlSocket;
14
- pathDelimiter: string;
15
- environmentValue: (environment: Readonly<NodeJS.ProcessEnv>, name: string) => string | undefined;
16
- executableExtensions: () => string[];
17
- resolveExecutableTarget: (path: string) => Promise<string>;
18
- executableLaunch: (command: string, args: readonly string[]) => {
19
- command: string;
20
- arguments: readonly string[];
21
- };
22
- spawnOptions: {
23
- detached: true;
24
- windowsHide: true;
25
- };
26
- signalCapturedProcesses: typeof signalCapturedProcesses;
27
- terminateProcess: typeof terminateProcess;
28
7
  validatePathPermissions: (path: string, directory: boolean, privateAccess: boolean, signal: AbortSignal) => Promise<void>;
29
8
  };
30
9
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"posix.d.ts","sourceRoot":"","sources":["../../../src/util/platform/posix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAY,MAAM,oBAAoB,CAAC;AAMjE,OAAO,KAAK,EAAmB,iBAAiB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAK9F,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,iBAAiB,EAAE,CAuB9E;AAED,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,iBAAiB,EAAE,CAAC,CAgBhG;AAED,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED,wBAAgB,uBAAuB,CACnC,SAAS,EAAE,SAAS,mBAAmB,EAAE,EACzC,aAAa,EAAE,MAAM,EACrB,MAAM,EAAE,MAAM,GACf,IAAI,CAgCN;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,CAAC,OAAO,GAAG,IAAI,CAW3E;AAED,iBAAe,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9D;AAED,eAAO,MAAM,eAAe;0CACc,MAAM;;gCAEV,MAAM;;;oCAMR,QAAQ,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,MAAM;;oCAEnC,MAAM;gCAKhB,MAAM,QAAQ,SAAS,MAAM,EAAE;;;;;;;;;;oCAIrB,MAAM,aAAa,OAAO,iBAAiB,OAAO,UAAU,WAAW;CA0BhH,CAAC"}
1
+ {"version":3,"file":"posix.d.ts","sourceRoot":"","sources":["../../../src/util/platform/posix.ts"],"names":[],"mappings":"AAMA,iBAAe,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAQ9D;AAED,eAAO,MAAM,eAAe;0CACc,MAAM;;gCAEV,MAAM;;oCAIF,MAAM,aAAa,OAAO,iBAAiB,OAAO,UAAU,WAAW;CAkBhH,CAAC"}
@@ -1,98 +1,7 @@
1
- import { execFile } from "node:child_process";
2
- import { constants } from "node:fs";
3
- import { access, chmod, lstat, realpath, unlink } from "node:fs/promises";
1
+ import { chmod, lstat, unlink } from "node:fs/promises";
4
2
  import { tmpdir } from "node:os";
5
3
  import { join } from "node:path";
6
4
  import { LocalPathError } from "../filesystem/path-error.js";
7
- const PROCESS_TABLE_TIMEOUT_MILLISECONDS = 1_000;
8
- const PROCESS_TABLE_OUTPUT_LIMIT_BYTES = 1024 * 1024;
9
- export function parseProcessTable(output) {
10
- const entries = [];
11
- for (const line of output.split("\n")) {
12
- const groups = /^\s*(?<pid>\d+)\s+(?<ppid>\d+)\s+(?<pgid>\d+)\s*$/.exec(line)?.groups;
13
- if (groups === undefined) {
14
- continue;
15
- }
16
- const processId = Number(groups["pid"]);
17
- const parentProcessId = Number(groups["ppid"]);
18
- const processGroupId = Number(groups["pgid"]);
19
- if (!Number.isSafeInteger(processId) ||
20
- processId <= 0 ||
21
- !Number.isSafeInteger(parentProcessId) ||
22
- parentProcessId < 0 ||
23
- !Number.isSafeInteger(processGroupId) ||
24
- processGroupId <= 0) {
25
- continue;
26
- }
27
- entries.push({ parentProcessId, processGroupId, processId });
28
- }
29
- return entries;
30
- }
31
- export function readProcessTableWithPs(executable) {
32
- return new Promise((resolveTable) => {
33
- execFile(executable, ["-axo", "pid=,ppid=,pgid="], {
34
- encoding: "utf8",
35
- maxBuffer: PROCESS_TABLE_OUTPUT_LIMIT_BYTES,
36
- signal: AbortSignal.timeout(PROCESS_TABLE_TIMEOUT_MILLISECONDS),
37
- timeout: PROCESS_TABLE_TIMEOUT_MILLISECONDS,
38
- }, (error, stdout) => {
39
- resolveTable(error === null ? parseProcessTable(stdout) : []);
40
- });
41
- });
42
- }
43
- export function processExists(processId) {
44
- try {
45
- process.kill(processId, 0);
46
- return true;
47
- }
48
- catch {
49
- return false;
50
- }
51
- }
52
- export function signalCapturedProcesses(processes, rootProcessId, signal) {
53
- const processIds = new Set(processes.map((identity) => identity.processId));
54
- const signalledGroups = new Set();
55
- for (const identity of processes) {
56
- const isRootProcessGroup = identity.processGroupId === rootProcessId;
57
- if ((!isRootProcessGroup && !processIds.has(identity.processGroupId)) ||
58
- signalledGroups.has(identity.processGroupId)) {
59
- continue;
60
- }
61
- try {
62
- process.kill(-identity.processGroupId, signal);
63
- signalledGroups.add(identity.processGroupId);
64
- }
65
- catch {
66
- // A concurrently exited group no longer needs cleanup.
67
- }
68
- }
69
- for (const identity of processes) {
70
- if (identity.processId === rootProcessId ||
71
- identity.processGroupId === rootProcessId ||
72
- signalledGroups.has(identity.processGroupId)) {
73
- continue;
74
- }
75
- try {
76
- process.kill(identity.processId, signal);
77
- }
78
- catch {
79
- // A concurrently exited process no longer needs cleanup.
80
- }
81
- }
82
- }
83
- function terminateProcess(child, signal) {
84
- if (child.exitCode !== null || child.signalCode !== null || child.pid === undefined) {
85
- return;
86
- }
87
- try {
88
- process.kill(-child.pid, signal);
89
- return;
90
- }
91
- catch {
92
- // Fall through when the child did not create a process group.
93
- }
94
- child.kill(signal);
95
- }
96
5
  async function removeControlSocket(path) {
97
6
  try {
98
7
  await unlink(path);
@@ -110,18 +19,6 @@ export const posixOperations = {
110
19
  await chmod(path, 0o600);
111
20
  },
112
21
  removeControlSocket,
113
- pathDelimiter: ":",
114
- environmentValue: (environment, name) => environment[name],
115
- executableExtensions: () => [""],
116
- resolveExecutableTarget: async (path) => {
117
- const target = await realpath(path);
118
- await access(target, constants.X_OK);
119
- return target;
120
- },
121
- executableLaunch: (command, args) => ({ command, arguments: args }),
122
- spawnOptions: { detached: true, windowsHide: true },
123
- signalCapturedProcesses,
124
- terminateProcess,
125
22
  validatePathPermissions: async (path, directory, privateAccess, signal) => {
126
23
  signal.throwIfAborted();
127
24
  const metadata = await lstat(path);
@@ -1 +1 @@
1
- {"version":3,"file":"posix.js","sourceRoot":"","sources":["../../../src/util/platform/posix.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"posix.js","sourceRoot":"","sources":["../../../src/util/platform/posix.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,KAAK,UAAU,mBAAmB,CAAC,IAAY;IAC3C,IAAI,CAAC;QACD,MAAM,MAAM,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7E,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAG;IAC3B,iBAAiB,EAAE,CAAC,gBAAwB,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,gBAAgB,OAAO,CAAC;IAClG,oBAAoB,EAAE,mBAAmB;IACzC,mBAAmB,EAAE,KAAK,EAAE,IAAY,EAAE,EAAE;QACxC,MAAM,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;IACD,mBAAmB;IACnB,uBAAuB,EAAE,KAAK,EAAE,IAAY,EAAE,SAAkB,EAAE,aAAsB,EAAE,MAAmB,EAAE,EAAE;QAC7G,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;QACnC,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,GAAG,KAAK,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACpE,MAAM,IAAI,cAAc,CAAC,wBAAwB,CAAC,CAAC;QACvD,CAAC;QACD,IAAI,aAAa,EAAE,CAAC;YAChB,MAAM,KAAK,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QACjD,CAAC;QACD,MAAM,CAAC,cAAc,EAAE,CAAC;IAC5B,CAAC;CAQJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../src/util/platform/windows.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,eAAe,EAAyD,MAAM,gBAAgB,CAAC;AA8M7G,eAAO,MAAM,eAAe,EAAE,eA+B7B,CAAC"}
1
+ {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../src/util/platform/windows.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AA6FtD,eAAO,MAAM,eAAe,EAAE,eAmB7B,CAAC"}
@@ -1,11 +1,8 @@
1
1
  import { execFile } from "node:child_process";
2
- import { readFile, realpath } from "node:fs/promises";
3
- import { dirname, extname, isAbsolute, join, resolve } from "node:path";
2
+ import { isAbsolute, join } from "node:path";
4
3
  import { promisify } from "node:util";
5
4
  import { LocalPathError } from "../filesystem/path-error.js";
6
- import { ProcessExecutionError } from "../process/process-error.js";
7
5
  import { claudeDesktopExecutablePaths, installedDirectories } from "./claude-desktop.js";
8
- import { parseProcessTable, processExists } from "./posix.js";
9
6
  const execute = promisify(execFile);
10
7
  function environmentValue(environment, name) {
11
8
  return Object.entries(environment).find(([key]) => key.toUpperCase() === name.toUpperCase())?.[1];
@@ -27,98 +24,6 @@ function desktopClaudeExecutablePaths(environment) {
27
24
  }
28
25
  return claudeDesktopExecutablePaths(roots, [["claude.exe"]]);
29
26
  }
30
- function executableExtensions(executableName, environment) {
31
- if (/\.[a-zA-Z0-9]+$/.test(executableName)) {
32
- return [""];
33
- }
34
- const configured = environmentValue(environment, "PATHEXT") ?? ".COM;.EXE;.BAT;.CMD";
35
- const extensions = configured
36
- .split(";")
37
- .map((extension) => extension.trim())
38
- .filter((extension) => extension.length > 0)
39
- .map((extension) => (extension.startsWith(".") ? extension : `.${extension}`));
40
- return extensions.length > 0 ? extensions : [".EXE"];
41
- }
42
- async function resolveExecutableTarget(path) {
43
- let resolvedPath;
44
- try {
45
- resolvedPath = await realpath(extname(path) === "" ? `${path}.cmd` : path);
46
- }
47
- catch (cause) {
48
- if (extname(path) !== "" || !(cause instanceof Error) || !("code" in cause) || cause.code !== "ENOENT") {
49
- throw cause;
50
- }
51
- resolvedPath = await realpath(path);
52
- }
53
- if (extname(resolvedPath).toLowerCase() === ".cmd") {
54
- // npm cmd-shim entrypoints are Node scripts. Resolve the script instead of
55
- // handing untrusted arguments to cmd.exe's command language.
56
- const shim = await readFile(resolvedPath, "utf8");
57
- // Node's bundled npm uses its own shim format, not npm cmd-shim.
58
- if (shim.includes('SET "NPM_CLI_JS=%~dp0\\node_modules\\npm\\bin\\npm-cli.js"') &&
59
- shim.includes('"%NODE_EXE%" "%NPM_CLI_JS%" %*')) {
60
- return await realpath(resolve(dirname(resolvedPath), "node_modules/npm/bin/npm-cli.js"));
61
- }
62
- const script = /"%_prog%"\s+"%dp0%[\\/]([^"\r\n]+\.(?:js|mjs|cjs))"\s+%\*/iu.exec(shim)?.[1];
63
- if (script !== undefined && shim.includes("SET dp0=%~dp0")) {
64
- resolvedPath = await realpath(resolve(dirname(resolvedPath), script));
65
- }
66
- else {
67
- const pnpmScript = /^\s*node\s+"%~dp0[\\/]([^"\r\n]+\.(?:js|mjs|cjs))"\s+%\*\s*$/imu.exec(shim)?.[1];
68
- if (pnpmScript === undefined || !shim.includes("@SETLOCAL")) {
69
- throw new ProcessExecutionError("process_unsupported_script", "Use a native executable or a verified Node entrypoint");
70
- }
71
- resolvedPath = await realpath(resolve(dirname(resolvedPath), pnpmScript));
72
- }
73
- }
74
- return resolvedPath;
75
- }
76
- function executableLaunch(command, args) {
77
- if (/\.(?:js|mjs|cjs)$/iu.test(command)) {
78
- return { command: process.execPath, arguments: [command, ...args] };
79
- }
80
- if (/\.(?:cmd|bat)$/iu.test(command)) {
81
- throw new ProcessExecutionError("process_unsupported_script", "Use a native executable or a verified Node entrypoint");
82
- }
83
- return { command, arguments: args };
84
- }
85
- function readProcessTable() {
86
- const systemRoot = environmentValue(process.env, "SystemRoot");
87
- if (systemRoot === undefined) {
88
- return Promise.resolve([]);
89
- }
90
- return new Promise((resolveTable) => {
91
- execFile(join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe"), [
92
- "-NoLogo",
93
- "-NoProfile",
94
- "-NonInteractive",
95
- "-Command",
96
- "Get-CimInstance Win32_Process | ForEach-Object { '{0} {1} {0}' -f $_.ProcessId, $_.ParentProcessId }",
97
- ], {
98
- encoding: "utf8",
99
- windowsHide: true,
100
- timeout: 10000,
101
- signal: AbortSignal.timeout(10000),
102
- maxBuffer: 1024 * 1024,
103
- }, (error, stdout) => resolveTable(error === null ? parseProcessTable(stdout) : []));
104
- });
105
- }
106
- function signalCapturedProcesses(processes, _rootProcessId, signal) {
107
- for (const identity of [...processes].reverse()) {
108
- try {
109
- process.kill(identity.processId, signal);
110
- }
111
- catch {
112
- // A concurrently exited process no longer needs cleanup.
113
- }
114
- }
115
- }
116
- function terminateProcess(child, signal) {
117
- if (child.exitCode !== null || child.signalCode !== null || child.pid === undefined) {
118
- return;
119
- }
120
- child.kill(signal);
121
- }
122
27
  // The path is data in the environment, never interpolated into PowerShell source.
123
28
  const windowsPermissions = `
124
29
  $ErrorActionPreference = 'Stop'
@@ -180,18 +85,7 @@ export const windowsPlatform = {
180
85
  prepareControlSocket: async () => { },
181
86
  secureControlSocket: async () => { },
182
87
  removeControlSocket: async () => { },
183
- pathDelimiter: ";",
184
- environmentValue,
185
- executableExtensions,
186
- resolveExecutableTarget,
187
- executableLaunch,
188
- spawnOptions: { detached: false, windowsHide: true },
189
- signalCapturedProcesses,
190
- terminateProcess,
191
88
  validatePathPermissions,
192
- readProcessTable,
193
- readProcessTableSynchronously: () => [],
194
- processExists,
195
89
  claudeCodeExecutablePaths: (environment) => {
196
90
  const paths = [];
197
91
  const userProfile = environmentValue(environment, "USERPROFILE");
@@ -1 +1 @@
1
- {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../src/util/platform/windows.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../src/util/platform/windows.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { spawn } from "node:child_process";
2
- import type { ProcessLaunch, ProcessTreeIdentity } from "../platform/contracts.ts";
3
- export type { ProcessTreeIdentity } from "../platform/contracts.ts";
2
+ import type { ProcessLaunch, ProcessTreeIdentity } from "./platform/contracts.ts";
3
+ export type { ProcessTreeIdentity } from "./platform/contracts.ts";
4
4
  export { ProcessExecutionError } from "./process-error.ts";
5
5
  export declare class ExecutableIdentity {
6
6
  readonly changedAtMilliseconds: number;
@@ -1 +1 @@
1
- {"version":3,"file":"executable.d.ts","sourceRoot":"","sources":["../../../src/util/process/executable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"executable.d.ts","sourceRoot":"","sources":["../../../src/util/process/executable.ts"],"names":[],"mappings":"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"}