@moxt-ai/mobius 0.0.195 → 0.0.197
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.
- package/dist/acp/agent-connection.d.ts.map +1 -1
- package/dist/acp/agent-connection.js +4 -3
- package/dist/acp/agent-connection.js.map +1 -1
- package/dist/acp/codex/app-server-client.d.ts.map +1 -1
- package/dist/acp/codex/app-server-client.js +4 -2
- package/dist/acp/codex/app-server-client.js.map +1 -1
- package/dist/agent-catalog/acp-readiness-probe.d.ts.map +1 -1
- package/dist/agent-catalog/acp-readiness-probe.js +4 -3
- package/dist/agent-catalog/acp-readiness-probe.js.map +1 -1
- package/dist/cli.js +532 -292
- package/dist/cli.js.map +4 -4
- package/dist/daemon-manager.d.ts.map +1 -1
- package/dist/daemon-manager.js +7 -17
- package/dist/daemon-manager.js.map +1 -1
- package/dist/filesystem/path-error.d.ts +5 -0
- package/dist/filesystem/path-error.d.ts.map +1 -0
- package/dist/filesystem/path-error.js +8 -0
- package/dist/filesystem/path-error.js.map +1 -0
- package/dist/filesystem/private-path.d.ts +3 -0
- package/dist/filesystem/private-path.d.ts.map +1 -0
- package/dist/filesystem/private-path.js +550 -0
- package/dist/filesystem/private-path.js.map +7 -0
- package/dist/index.js +504 -255
- package/dist/index.js.map +4 -4
- package/dist/native-sessions/codex-history.d.ts.map +1 -1
- package/dist/native-sessions/codex-history.js +4 -3
- package/dist/native-sessions/codex-history.js.map +1 -1
- package/dist/platform/contracts.d.ts +21 -0
- package/dist/platform/contracts.d.ts.map +1 -1
- package/dist/platform/index.d.ts.map +1 -1
- package/dist/platform/index.js +5 -3
- package/dist/platform/index.js.map +1 -1
- package/dist/platform/linux.d.ts.map +1 -1
- package/dist/platform/linux.js +2 -1
- package/dist/platform/linux.js.map +1 -1
- package/dist/platform/macos.d.ts.map +1 -1
- package/dist/platform/macos.js +2 -1
- package/dist/platform/macos.js.map +1 -1
- package/dist/platform/posix.d.ts +28 -1
- package/dist/platform/posix.d.ts.map +1 -1
- package/dist/platform/posix.js +91 -1
- package/dist/platform/posix.js.map +1 -1
- package/dist/platform/windows.d.ts +3 -0
- package/dist/platform/windows.d.ts.map +1 -0
- package/dist/platform/windows.js +174 -0
- package/dist/platform/windows.js.map +1 -0
- package/dist/process/executable.d.ts +7 -5
- package/dist/process/executable.d.ts.map +1 -1
- package/dist/process/executable.js +844 -386
- package/dist/process/executable.js.map +7 -1
- package/dist/process/process-error.d.ts +5 -0
- package/dist/process/process-error.d.ts.map +1 -0
- package/dist/process/process-error.js +9 -0
- package/dist/process/process-error.js.map +1 -0
- package/dist/runtime.js +504 -255
- package/dist/runtime.js.map +4 -4
- package/dist/storage/runtime-installation-store.d.ts.map +1 -1
- package/dist/storage/runtime-installation-store.js +3 -0
- package/dist/storage/runtime-installation-store.js.map +1 -1
- package/package.json +76 -70
|
@@ -0,0 +1,174 @@
|
|
|
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 { promisify } from "node:util";
|
|
5
|
+
import { LocalPathError } from "../filesystem/path-error.js";
|
|
6
|
+
import { ProcessExecutionError } from "../process/process-error.js";
|
|
7
|
+
import { parseProcessTable, processExists } from "./posix.js";
|
|
8
|
+
const execute = promisify(execFile);
|
|
9
|
+
function environmentValue(environment, name) {
|
|
10
|
+
return Object.entries(environment).find(([key]) => key.toUpperCase() === name.toUpperCase())?.[1];
|
|
11
|
+
}
|
|
12
|
+
function executableExtensions(executableName, environment) {
|
|
13
|
+
if (/\.[a-zA-Z0-9]+$/.test(executableName)) {
|
|
14
|
+
return [""];
|
|
15
|
+
}
|
|
16
|
+
const configured = environmentValue(environment, "PATHEXT") ?? ".COM;.EXE;.BAT;.CMD";
|
|
17
|
+
const extensions = configured
|
|
18
|
+
.split(";")
|
|
19
|
+
.map((extension) => extension.trim())
|
|
20
|
+
.filter((extension) => extension.length > 0)
|
|
21
|
+
.map((extension) => (extension.startsWith(".") ? extension : `.${extension}`));
|
|
22
|
+
return extensions.length > 0 ? extensions : [".EXE"];
|
|
23
|
+
}
|
|
24
|
+
async function resolveExecutableTarget(path) {
|
|
25
|
+
let resolvedPath;
|
|
26
|
+
try {
|
|
27
|
+
resolvedPath = await realpath(extname(path) === "" ? `${path}.cmd` : path);
|
|
28
|
+
}
|
|
29
|
+
catch (cause) {
|
|
30
|
+
if (extname(path) !== "" || !(cause instanceof Error) || !("code" in cause) || cause.code !== "ENOENT") {
|
|
31
|
+
throw cause;
|
|
32
|
+
}
|
|
33
|
+
resolvedPath = await realpath(path);
|
|
34
|
+
}
|
|
35
|
+
if (extname(resolvedPath).toLowerCase() === ".cmd") {
|
|
36
|
+
// npm cmd-shim entrypoints are Node scripts. Resolve the script instead of
|
|
37
|
+
// handing untrusted arguments to cmd.exe's command language.
|
|
38
|
+
const shim = await readFile(resolvedPath, "utf8");
|
|
39
|
+
const script = /"%_prog%"\s+"%dp0%[\\/]([^"\r\n]+\.(?:js|mjs|cjs))"\s+%\*/iu.exec(shim)?.[1];
|
|
40
|
+
if (script !== undefined && shim.includes("SET dp0=%~dp0")) {
|
|
41
|
+
resolvedPath = await realpath(resolve(dirname(resolvedPath), script));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
const pnpmScript = /^\s*node\s+"%~dp0[\\/]([^"\r\n]+\.(?:js|mjs|cjs))"\s+%\*\s*$/imu.exec(shim)?.[1];
|
|
45
|
+
if (pnpmScript === undefined || !shim.includes("@SETLOCAL")) {
|
|
46
|
+
throw new ProcessExecutionError("process_unsupported_script", "Use a native executable or a verified Node entrypoint");
|
|
47
|
+
}
|
|
48
|
+
resolvedPath = await realpath(resolve(dirname(resolvedPath), pnpmScript));
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return resolvedPath;
|
|
52
|
+
}
|
|
53
|
+
function executableLaunch(command, args) {
|
|
54
|
+
if (/\.(?:js|mjs|cjs)$/iu.test(command)) {
|
|
55
|
+
return { command: process.execPath, arguments: [command, ...args] };
|
|
56
|
+
}
|
|
57
|
+
if (/\.(?:cmd|bat)$/iu.test(command)) {
|
|
58
|
+
throw new ProcessExecutionError("process_unsupported_script", "Use a native executable or a verified Node entrypoint");
|
|
59
|
+
}
|
|
60
|
+
return { command, arguments: args };
|
|
61
|
+
}
|
|
62
|
+
function readProcessTable() {
|
|
63
|
+
const systemRoot = environmentValue(process.env, "SystemRoot");
|
|
64
|
+
if (systemRoot === undefined) {
|
|
65
|
+
return Promise.resolve([]);
|
|
66
|
+
}
|
|
67
|
+
return new Promise((resolveTable) => {
|
|
68
|
+
execFile(join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe"), [
|
|
69
|
+
"-NoLogo",
|
|
70
|
+
"-NoProfile",
|
|
71
|
+
"-NonInteractive",
|
|
72
|
+
"-Command",
|
|
73
|
+
"Get-CimInstance Win32_Process | ForEach-Object { '{0} {1} {0}' -f $_.ProcessId, $_.ParentProcessId }",
|
|
74
|
+
], {
|
|
75
|
+
encoding: "utf8",
|
|
76
|
+
windowsHide: true,
|
|
77
|
+
timeout: 10000,
|
|
78
|
+
signal: AbortSignal.timeout(10000),
|
|
79
|
+
maxBuffer: 1024 * 1024,
|
|
80
|
+
}, (error, stdout) => resolveTable(error === null ? parseProcessTable(stdout) : []));
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
function signalCapturedProcesses(processes, _rootProcessId, signal) {
|
|
84
|
+
for (const identity of [...processes].reverse()) {
|
|
85
|
+
try {
|
|
86
|
+
process.kill(identity.processId, signal);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
// A concurrently exited process no longer needs cleanup.
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
function terminateProcess(child, signal) {
|
|
94
|
+
if (child.exitCode !== null || child.signalCode !== null || child.pid === undefined) {
|
|
95
|
+
return;
|
|
96
|
+
}
|
|
97
|
+
child.kill(signal);
|
|
98
|
+
}
|
|
99
|
+
// The path is data in the environment, never interpolated into PowerShell source.
|
|
100
|
+
const windowsPermissions = `
|
|
101
|
+
$ErrorActionPreference = 'Stop'
|
|
102
|
+
Import-Module (Join-Path $PSHOME 'Modules/Microsoft.PowerShell.Security/Microsoft.PowerShell.Security.psd1')
|
|
103
|
+
$item = Get-Item -LiteralPath $env:MOBIUS_PERMISSION_PATH -Force
|
|
104
|
+
if (($item.Attributes -band [IO.FileAttributes]::ReparsePoint) -ne 0) { throw 'Unsafe path' }
|
|
105
|
+
$sid = [Security.Principal.WindowsIdentity]::GetCurrent().User
|
|
106
|
+
$acl = Get-Acl -LiteralPath $item.FullName
|
|
107
|
+
$owner = $acl.GetOwner([Security.Principal.SecurityIdentifier])
|
|
108
|
+
if ($owner -ne $sid -and -not ($owner.Value -eq 'S-1-5-32-544' -and ([Security.Principal.WindowsPrincipal][Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator))) { throw 'Path is not user-owned' }
|
|
109
|
+
if ($env:MOBIUS_PERMISSION_PRIVATE -eq '1') {
|
|
110
|
+
if ($item.PSIsContainer) {
|
|
111
|
+
$private = New-Object Security.AccessControl.DirectorySecurity
|
|
112
|
+
$rule = New-Object Security.AccessControl.FileSystemAccessRule($sid, 'FullControl', 'ContainerInherit,ObjectInherit', 'None', 'Allow')
|
|
113
|
+
} else {
|
|
114
|
+
$private = New-Object Security.AccessControl.FileSecurity
|
|
115
|
+
$rule = New-Object Security.AccessControl.FileSystemAccessRule($sid, 'FullControl', 'Allow')
|
|
116
|
+
}
|
|
117
|
+
$private.SetOwner($sid)
|
|
118
|
+
$private.SetAccessRuleProtection($true, $false)
|
|
119
|
+
$private.AddAccessRule($rule)
|
|
120
|
+
Set-Acl -LiteralPath $item.FullName -AclObject $private
|
|
121
|
+
}
|
|
122
|
+
`;
|
|
123
|
+
async function validatePathPermissions(path, _directory, privateAccess, signal) {
|
|
124
|
+
signal.throwIfAborted();
|
|
125
|
+
const systemRoot = environmentValue(process.env, "SystemRoot");
|
|
126
|
+
if (systemRoot === undefined) {
|
|
127
|
+
throw new LocalPathError("Windows system directory is unavailable");
|
|
128
|
+
}
|
|
129
|
+
try {
|
|
130
|
+
await execute(join(systemRoot, "System32", "WindowsPowerShell", "v1.0", "powershell.exe"), [
|
|
131
|
+
"-NoLogo",
|
|
132
|
+
"-NoProfile",
|
|
133
|
+
"-NonInteractive",
|
|
134
|
+
"-EncodedCommand",
|
|
135
|
+
Buffer.from(windowsPermissions, "utf16le").toString("base64"),
|
|
136
|
+
], {
|
|
137
|
+
env: {
|
|
138
|
+
...process.env,
|
|
139
|
+
MOBIUS_PERMISSION_PATH: path,
|
|
140
|
+
MOBIUS_PERMISSION_PRIVATE: privateAccess ? "1" : "0",
|
|
141
|
+
},
|
|
142
|
+
windowsHide: true,
|
|
143
|
+
signal: AbortSignal.any([signal, AbortSignal.timeout(10000)]),
|
|
144
|
+
timeout: 10000,
|
|
145
|
+
maxBuffer: 16384,
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
catch (cause) {
|
|
149
|
+
signal.throwIfAborted();
|
|
150
|
+
throw new LocalPathError("The local path permissions could not be secured", { cause });
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
export const windowsPlatform = {
|
|
154
|
+
controlSocketPath: (installationHash) => `\\\\.\\pipe\\mobius-${installationHash}`,
|
|
155
|
+
prepareControlSocket: async () => { },
|
|
156
|
+
secureControlSocket: async () => { },
|
|
157
|
+
removeControlSocket: async () => { },
|
|
158
|
+
pathDelimiter: ";",
|
|
159
|
+
environmentValue,
|
|
160
|
+
executableExtensions,
|
|
161
|
+
resolveExecutableTarget,
|
|
162
|
+
executableLaunch,
|
|
163
|
+
spawnOptions: { detached: false, windowsHide: true },
|
|
164
|
+
signalCapturedProcesses,
|
|
165
|
+
terminateProcess,
|
|
166
|
+
validatePathPermissions,
|
|
167
|
+
readProcessTable,
|
|
168
|
+
readProcessTableSynchronously: () => [],
|
|
169
|
+
processExists,
|
|
170
|
+
workBuddyExecutablePaths: () => [],
|
|
171
|
+
openCodeArchives: {},
|
|
172
|
+
grokDependencies: {},
|
|
173
|
+
};
|
|
174
|
+
//# sourceMappingURL=windows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"windows.js","sourceRoot":"","sources":["../../src/platform/windows.ts"],"names":[],"mappings":"AAAA,OAAO,EAAqB,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,OAAO,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAEpC,SAAS,gBAAgB,CAAC,WAAwC,EAAE,IAAY;IAC5E,OAAO,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;AACtG,CAAC;AAED,SAAS,oBAAoB,CAAC,cAAsB,EAAE,WAAwC;IAC1F,IAAI,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,CAAC;QACzC,OAAO,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IACD,MAAM,UAAU,GAAG,gBAAgB,CAAC,WAAW,EAAE,SAAS,CAAC,IAAI,qBAAqB,CAAC;IACrF,MAAM,UAAU,GAAG,UAAU;SACxB,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;SACpC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;SAC3C,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;IACnF,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,KAAK,UAAU,uBAAuB,CAAC,IAAY;IAC/C,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACD,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC/E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrG,MAAM,KAAK,CAAC;QAChB,CAAC;QACD,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxC,CAAC;IACD,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,EAAE,KAAK,MAAM,EAAE,CAAC;QACjD,2EAA2E;QAC3E,6DAA6D;QAC7D,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,6DAA6D,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC7F,IAAI,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;YACzD,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1E,CAAC;aAAM,CAAC;YACJ,MAAM,UAAU,GAAG,iEAAiE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YACrG,IAAI,UAAU,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC1D,MAAM,IAAI,qBAAqB,CAC3B,4BAA4B,EAC5B,uDAAuD,CAC1D,CAAC;YACN,CAAC;YACD,YAAY,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,UAAU,CAAC,CAAC,CAAC;QAC9E,CAAC;IACL,CAAC;IACD,OAAO,YAAY,CAAC;AACxB,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAe,EAAE,IAAuB;IAC9D,IAAI,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACtC,OAAO,EAAE,OAAO,EAAE,OAAO,CAAC,QAAQ,EAAE,SAAS,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;IACxE,CAAC;IACD,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QACnC,MAAM,IAAI,qBAAqB,CAC3B,4BAA4B,EAC5B,uDAAuD,CAC1D,CAAC;IACN,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,gBAAgB;IACrB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IACD,OAAO,IAAI,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QAChC,QAAQ,CACJ,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAC3E;YACI,SAAS;YACT,YAAY;YACZ,iBAAiB;YACjB,UAAU;YACV,sGAAsG;SACzG,EACD;YACI,QAAQ,EAAE,MAAM;YAChB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC;YAClC,SAAS,EAAE,IAAI,GAAG,IAAI;SACzB,EACD,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CACnF,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC;AAED,SAAS,uBAAuB,CAC5B,SAAyC,EACzC,cAAsB,EACtB,MAAc;IAEd,KAAK,MAAM,QAAQ,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC;QAC9C,IAAI,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAC7C,CAAC;QAAC,MAAM,CAAC;YACL,yDAAyD;QAC7D,CAAC;IACL,CAAC;AACL,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAmB,EAAE,MAAsB;IACjE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI,IAAI,KAAK,CAAC,UAAU,KAAK,IAAI,IAAI,KAAK,CAAC,GAAG,KAAK,SAAS,EAAE,CAAC;QAClF,OAAO;IACX,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED,kFAAkF;AAClF,MAAM,kBAAkB,GAAG;;;;;;;;;;;;;;;;;;;;;;CAsB1B,CAAC;AAEF,KAAK,UAAU,uBAAuB,CAClC,IAAY,EACZ,UAAmB,EACnB,aAAsB,EACtB,MAAmB;IAEnB,MAAM,CAAC,cAAc,EAAE,CAAC;IACxB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IAC/D,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,cAAc,CAAC,yCAAyC,CAAC,CAAC;IACxE,CAAC;IACD,IAAI,CAAC;QACD,MAAM,OAAO,CACT,IAAI,CAAC,UAAU,EAAE,UAAU,EAAE,mBAAmB,EAAE,MAAM,EAAE,gBAAgB,CAAC,EAC3E;YACI,SAAS;YACT,YAAY;YACZ,iBAAiB;YACjB,iBAAiB;YACjB,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;SAChE,EACD;YACI,GAAG,EAAE;gBACD,GAAG,OAAO,CAAC,GAAG;gBACd,sBAAsB,EAAE,IAAI;gBAC5B,yBAAyB,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG;aACvD;YACD,WAAW,EAAE,IAAI;YACjB,MAAM,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YAC7D,OAAO,EAAE,KAAK;YACd,SAAS,EAAE,KAAK;SACnB,CACJ,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,cAAc,EAAE,CAAC;QACxB,MAAM,IAAI,cAAc,CAAC,iDAAiD,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3F,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,eAAe,GAAoB;IAC5C,iBAAiB,EAAE,CAAC,gBAAgB,EAAE,EAAE,CAAC,uBAAuB,gBAAgB,EAAE;IAClF,oBAAoB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;IACpC,mBAAmB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;IACnC,mBAAmB,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;IAEnC,aAAa,EAAE,GAAG;IAClB,gBAAgB;IAChB,oBAAoB;IACpB,uBAAuB;IACvB,gBAAgB;IAChB,YAAY,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE;IACpD,uBAAuB;IACvB,gBAAgB;IAChB,uBAAuB;IACvB,gBAAgB;IAChB,6BAA6B,EAAE,GAAG,EAAE,CAAC,EAAE;IACvC,aAAa;IACb,wBAAwB,EAAE,GAAG,EAAE,CAAC,EAAE;IAClC,gBAAgB,EAAE,EAAE;IACpB,gBAAgB,EAAE,EAAE;CACvB,CAAC"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { spawn } from "node:child_process";
|
|
2
|
-
import type { ProcessTreeIdentity } from "../platform/contracts.ts";
|
|
2
|
+
import type { ProcessLaunch, ProcessTreeIdentity } from "../platform/contracts.ts";
|
|
3
3
|
export type { ProcessTreeIdentity } from "../platform/contracts.ts";
|
|
4
|
+
export { ProcessExecutionError } from "./process-error.ts";
|
|
4
5
|
export declare class ExecutableIdentity {
|
|
5
6
|
readonly changedAtMilliseconds: number;
|
|
6
7
|
readonly device: number;
|
|
@@ -16,10 +17,6 @@ export declare class ResolvedExecutable {
|
|
|
16
17
|
readonly path: string;
|
|
17
18
|
constructor(identity: ExecutableIdentity);
|
|
18
19
|
}
|
|
19
|
-
export declare class ProcessExecutionError extends Error {
|
|
20
|
-
readonly code: string;
|
|
21
|
-
constructor(code: string, message: string, options?: ErrorOptions);
|
|
22
|
-
}
|
|
23
20
|
export declare class ProcessResult {
|
|
24
21
|
readonly stderr: string;
|
|
25
22
|
readonly stdout: string;
|
|
@@ -40,4 +37,9 @@ export declare function revalidateExecutable(identity: ExecutableIdentity, platf
|
|
|
40
37
|
export declare function captureProcessTree(child: ReturnType<typeof spawn>): Promise<readonly ProcessTreeIdentity[]>;
|
|
41
38
|
export declare function stopProcessTree(child: ReturnType<typeof spawn>, capturedProcesses?: readonly ProcessTreeIdentity[]): Promise<void>;
|
|
42
39
|
export declare function runBoundedProcess(options: RunProcessOptions): Promise<ProcessResult>;
|
|
40
|
+
export declare function executableLaunch(command: string, args: readonly string[]): ProcessLaunch;
|
|
41
|
+
export declare const platformSpawnOptions: {
|
|
42
|
+
readonly detached: boolean;
|
|
43
|
+
readonly windowsHide: boolean;
|
|
44
|
+
};
|
|
43
45
|
//# sourceMappingURL=executable.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"executable.d.ts","sourceRoot":"","sources":["../../src/process/executable.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"executable.d.ts","sourceRoot":"","sources":["../../src/process/executable.ts"],"names":[],"mappings":"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"}
|