@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
@@ -0,0 +1,107 @@
1
+ import { execFile } from "node:child_process";
2
+ import { constants } from "node:fs";
3
+ import { access, realpath } from "node:fs/promises";
4
+ const PROCESS_TABLE_TIMEOUT_MILLISECONDS = 1_000;
5
+ const PROCESS_TABLE_OUTPUT_LIMIT_BYTES = 1024 * 1024;
6
+ export function parseProcessTable(output) {
7
+ const entries = [];
8
+ for (const line of output.split("\n")) {
9
+ const groups = /^\s*(?<pid>\d+)\s+(?<ppid>\d+)\s+(?<pgid>\d+)\s*$/.exec(line)?.groups;
10
+ if (groups === undefined) {
11
+ continue;
12
+ }
13
+ const processId = Number(groups["pid"]);
14
+ const parentProcessId = Number(groups["ppid"]);
15
+ const processGroupId = Number(groups["pgid"]);
16
+ if (!Number.isSafeInteger(processId) ||
17
+ processId <= 0 ||
18
+ !Number.isSafeInteger(parentProcessId) ||
19
+ parentProcessId < 0 ||
20
+ !Number.isSafeInteger(processGroupId) ||
21
+ processGroupId <= 0) {
22
+ continue;
23
+ }
24
+ entries.push({ parentProcessId, processGroupId, processId });
25
+ }
26
+ return entries;
27
+ }
28
+ export function readProcessTableWithPs(executable) {
29
+ return new Promise((resolveTable) => {
30
+ execFile(executable, ["-axo", "pid=,ppid=,pgid="], {
31
+ encoding: "utf8",
32
+ maxBuffer: PROCESS_TABLE_OUTPUT_LIMIT_BYTES,
33
+ signal: AbortSignal.timeout(PROCESS_TABLE_TIMEOUT_MILLISECONDS),
34
+ timeout: PROCESS_TABLE_TIMEOUT_MILLISECONDS,
35
+ }, (error, stdout) => {
36
+ resolveTable(error === null ? parseProcessTable(stdout) : []);
37
+ });
38
+ });
39
+ }
40
+ export function processExists(processId) {
41
+ try {
42
+ process.kill(processId, 0);
43
+ return true;
44
+ }
45
+ catch {
46
+ return false;
47
+ }
48
+ }
49
+ export function signalCapturedProcesses(processes, rootProcessId, signal) {
50
+ const processIds = new Set(processes.map((identity) => identity.processId));
51
+ const signalledGroups = new Set();
52
+ for (const identity of processes) {
53
+ const isRootProcessGroup = identity.processGroupId === rootProcessId;
54
+ if ((!isRootProcessGroup && !processIds.has(identity.processGroupId)) ||
55
+ signalledGroups.has(identity.processGroupId)) {
56
+ continue;
57
+ }
58
+ try {
59
+ process.kill(-identity.processGroupId, signal);
60
+ signalledGroups.add(identity.processGroupId);
61
+ }
62
+ catch {
63
+ // A concurrently exited group no longer needs cleanup.
64
+ }
65
+ }
66
+ for (const identity of processes) {
67
+ if (identity.processId === rootProcessId ||
68
+ identity.processGroupId === rootProcessId ||
69
+ signalledGroups.has(identity.processGroupId)) {
70
+ continue;
71
+ }
72
+ try {
73
+ process.kill(identity.processId, signal);
74
+ }
75
+ catch {
76
+ // A concurrently exited process no longer needs cleanup.
77
+ }
78
+ }
79
+ }
80
+ function terminateProcess(child, signal) {
81
+ if (child.exitCode !== null || child.signalCode !== null || child.pid === undefined) {
82
+ return;
83
+ }
84
+ try {
85
+ process.kill(-child.pid, signal);
86
+ return;
87
+ }
88
+ catch {
89
+ // Fall through when the child did not create a process group.
90
+ }
91
+ child.kill(signal);
92
+ }
93
+ export const posixOperations = {
94
+ pathDelimiter: ":",
95
+ environmentValue: (environment, name) => environment[name],
96
+ executableExtensions: () => [""],
97
+ resolveExecutableTarget: async (path) => {
98
+ const target = await realpath(path);
99
+ await access(target, constants.X_OK);
100
+ return target;
101
+ },
102
+ executableLaunch: (command, args) => ({ command, arguments: args }),
103
+ spawnOptions: { detached: true, windowsHide: true },
104
+ signalCapturedProcesses,
105
+ terminateProcess,
106
+ };
107
+ //# sourceMappingURL=posix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posix.js","sourceRoot":"","sources":["../../../../src/util/process/platform/posix.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { ProcessPlatformSupport } from "./contracts.ts";
2
+ export declare const windowsProcessPlatform: ProcessPlatformSupport;
3
+ //# sourceMappingURL=windows.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows.d.ts","sourceRoot":"","sources":["../../../../src/util/process/platform/windows.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAiB,sBAAsB,EAA0C,MAAM,gBAAgB,CAAC;AAuHpH,eAAO,MAAM,sBAAsB,EAAE,sBAYpC,CAAC"}
@@ -0,0 +1,114 @@
1
+ import { execFile } from "node:child_process";
2
+ import { readFile, realpath } from "node:fs/promises";
3
+ import { dirname, extname, join, resolve } from "node:path";
4
+ import { ProcessExecutionError } from "../process-error.js";
5
+ import { parseProcessTable, processExists } from "./posix.js";
6
+ function environmentValue(environment, name) {
7
+ return Object.entries(environment).find(([key]) => key.toUpperCase() === name.toUpperCase())?.[1];
8
+ }
9
+ function executableExtensions(executableName, environment) {
10
+ if (/\.[a-zA-Z0-9]+$/.test(executableName)) {
11
+ return [""];
12
+ }
13
+ const configured = environmentValue(environment, "PATHEXT") ?? ".COM;.EXE;.BAT;.CMD";
14
+ const extensions = configured
15
+ .split(";")
16
+ .map((extension) => extension.trim())
17
+ .filter((extension) => extension.length > 0)
18
+ .map((extension) => (extension.startsWith(".") ? extension : `.${extension}`));
19
+ return extensions.length > 0 ? extensions : [".EXE"];
20
+ }
21
+ async function resolveExecutableTarget(path) {
22
+ let resolvedPath;
23
+ try {
24
+ resolvedPath = await realpath(extname(path) === "" ? `${path}.cmd` : path);
25
+ }
26
+ catch (cause) {
27
+ if (extname(path) !== "" || !(cause instanceof Error) || !("code" in cause) || cause.code !== "ENOENT") {
28
+ throw cause;
29
+ }
30
+ resolvedPath = await realpath(path);
31
+ }
32
+ if (extname(resolvedPath).toLowerCase() === ".cmd") {
33
+ // npm cmd-shim entrypoints are Node scripts. Resolve the script instead of
34
+ // handing untrusted arguments to cmd.exe's command language.
35
+ const shim = await readFile(resolvedPath, "utf8");
36
+ // Node's bundled npm uses its own shim format, not npm cmd-shim.
37
+ if (shim.includes('SET "NPM_CLI_JS=%~dp0\\node_modules\\npm\\bin\\npm-cli.js"') &&
38
+ shim.includes('"%NODE_EXE%" "%NPM_CLI_JS%" %*')) {
39
+ return await realpath(resolve(dirname(resolvedPath), "node_modules/npm/bin/npm-cli.js"));
40
+ }
41
+ const script = /"%_prog%"\s+"%dp0%[\\/]([^"\r\n]+\.(?:js|mjs|cjs))"\s+%\*/iu.exec(shim)?.[1];
42
+ if (script !== undefined && shim.includes("SET dp0=%~dp0")) {
43
+ resolvedPath = await realpath(resolve(dirname(resolvedPath), script));
44
+ }
45
+ else {
46
+ const pnpmScript = /^\s*node\s+"%~dp0[\\/]([^"\r\n]+\.(?:js|mjs|cjs))"\s+%\*\s*$/imu.exec(shim)?.[1];
47
+ if (pnpmScript === undefined || !shim.includes("@SETLOCAL")) {
48
+ throw new ProcessExecutionError("process_unsupported_script", "Use a native executable or a verified Node entrypoint");
49
+ }
50
+ resolvedPath = await realpath(resolve(dirname(resolvedPath), pnpmScript));
51
+ }
52
+ }
53
+ return resolvedPath;
54
+ }
55
+ function executableLaunch(command, args) {
56
+ if (/\.(?:js|mjs|cjs)$/iu.test(command)) {
57
+ return { command: process.execPath, arguments: [command, ...args] };
58
+ }
59
+ if (/\.(?:cmd|bat)$/iu.test(command)) {
60
+ throw new ProcessExecutionError("process_unsupported_script", "Use a native executable or a verified Node entrypoint");
61
+ }
62
+ return { command, arguments: args };
63
+ }
64
+ function readProcessTable() {
65
+ const systemRoot = environmentValue(process.env, "SystemRoot");
66
+ if (systemRoot === undefined) {
67
+ return Promise.resolve([]);
68
+ }
69
+ return new Promise((resolveTable) => {
70
+ execFile(join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe"), [
71
+ "-NoLogo",
72
+ "-NoProfile",
73
+ "-NonInteractive",
74
+ "-Command",
75
+ "Get-CimInstance Win32_Process | ForEach-Object { '{0} {1} {0}' -f $_.ProcessId, $_.ParentProcessId }",
76
+ ], {
77
+ encoding: "utf8",
78
+ windowsHide: true,
79
+ timeout: 10000,
80
+ signal: AbortSignal.timeout(10000),
81
+ maxBuffer: 1024 * 1024,
82
+ }, (error, stdout) => resolveTable(error === null ? parseProcessTable(stdout) : []));
83
+ });
84
+ }
85
+ function signalCapturedProcesses(processes, _rootProcessId, signal) {
86
+ for (const identity of [...processes].reverse()) {
87
+ try {
88
+ process.kill(identity.processId, signal);
89
+ }
90
+ catch {
91
+ // A concurrently exited process no longer needs cleanup.
92
+ }
93
+ }
94
+ }
95
+ function terminateProcess(child, signal) {
96
+ if (child.exitCode !== null || child.signalCode !== null || child.pid === undefined) {
97
+ return;
98
+ }
99
+ child.kill(signal);
100
+ }
101
+ export const windowsProcessPlatform = {
102
+ pathDelimiter: ";",
103
+ environmentValue,
104
+ executableExtensions,
105
+ resolveExecutableTarget,
106
+ executableLaunch,
107
+ spawnOptions: { detached: false, windowsHide: true },
108
+ signalCapturedProcesses,
109
+ terminateProcess,
110
+ readProcessTable,
111
+ readProcessTableSynchronously: () => [],
112
+ processExists,
113
+ };
114
+ //# sourceMappingURL=windows.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"windows.js","sourceRoot":"","sources":["../../../../src/util/process/platform/windows.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@moxt-ai/mobius",
3
- "version": "0.0.336",
3
+ "version": "0.0.337",
4
4
  "description": "Mobius CLI for pairing and running local AI agent services.",
5
5
  "type": "module",
6
6
  "bin": {
@@ -47,7 +47,7 @@
47
47
  },
48
48
  "devDependencies": {
49
49
  "@anthropic-ai/sdk": "0.122.0",
50
- "@moxt-ai/mobius-sdk": "0.0.131",
50
+ "@moxt-ai/mobius-sdk": "0.0.132",
51
51
  "@moxt-ai/mobius-test": "0.0.1",
52
52
  "@types/node": "^24.13.5",
53
53
  "@types/semver": "^7.8.0",