@principles/core 1.296.2 → 1.297.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.
- package/README.md +0 -1
- package/dist/runtime-v2/adapter/index.d.ts +0 -2
- package/dist/runtime-v2/adapter/index.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/index.js +0 -1
- package/dist/runtime-v2/adapter/index.js.map +1 -1
- package/dist/runtime-v2/adapter/output-schema-registry.d.ts +3 -3
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.d.ts.map +1 -1
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js +1 -2
- package/dist/runtime-v2/adapter/pi-ai-runtime-adapter.js.map +1 -1
- package/dist/runtime-v2/cli/probe.d.ts +4 -15
- package/dist/runtime-v2/cli/probe.d.ts.map +1 -1
- package/dist/runtime-v2/cli/probe.js +24 -44
- package/dist/runtime-v2/cli/probe.js.map +1 -1
- package/dist/runtime-v2/config/index.d.ts +1 -1
- package/dist/runtime-v2/config/index.d.ts.map +1 -1
- package/dist/runtime-v2/config/index.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-agent-binding.d.ts +10 -17
- package/dist/runtime-v2/config/pd-config-agent-binding.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-agent-binding.js +23 -27
- package/dist/runtime-v2/config/pd-config-agent-binding.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-defaults.d.ts +3 -5
- package/dist/runtime-v2/config/pd-config-defaults.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-defaults.js +17 -20
- package/dist/runtime-v2/config/pd-config-defaults.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-effective.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-effective.js +4 -1
- package/dist/runtime-v2/config/pd-config-effective.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-redaction.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-redaction.js +4 -7
- package/dist/runtime-v2/config/pd-config-redaction.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-types.d.ts +5 -1
- package/dist/runtime-v2/config/pd-config-types.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-types.js +6 -0
- package/dist/runtime-v2/config/pd-config-types.js.map +1 -1
- package/dist/runtime-v2/config/pd-config-validate.d.ts.map +1 -1
- package/dist/runtime-v2/config/pd-config-validate.js +6 -0
- package/dist/runtime-v2/config/pd-config-validate.js.map +1 -1
- package/dist/runtime-v2/golden-trace.d.ts.map +1 -1
- package/dist/runtime-v2/golden-trace.js +8 -1
- package/dist/runtime-v2/golden-trace.js.map +1 -1
- package/dist/runtime-v2/index.d.ts +4 -4
- package/dist/runtime-v2/index.d.ts.map +1 -1
- package/dist/runtime-v2/index.js +2 -3
- package/dist/runtime-v2/index.js.map +1 -1
- package/dist/runtime-v2/internalization/artificer-intent-preflight.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/artificer-intent-preflight.js +26 -95
- package/dist/runtime-v2/internalization/artificer-intent-preflight.js.map +1 -1
- package/dist/runtime-v2/internalization/bash-risk.d.ts +32 -0
- package/dist/runtime-v2/internalization/bash-risk.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/bash-risk.js +785 -0
- package/dist/runtime-v2/internalization/bash-risk.js.map +1 -0
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts +25 -2
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.js +177 -14
- package/dist/runtime-v2/internalization/evaluator-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/evaluator-runner.js +14 -2
- package/dist/runtime-v2/internalization/evaluator-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts +47 -0
- package/dist/runtime-v2/internalization/internalization-orchestrator.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/internalization-orchestrator.js +164 -3
- package/dist/runtime-v2/internalization/internalization-orchestrator.js.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts +9 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/peer-runner-contracts.js.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts +39 -0
- package/dist/runtime-v2/internalization/pitask-metadata.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/pitask-metadata.js +59 -0
- package/dist/runtime-v2/internalization/pitask-metadata.js.map +1 -1
- package/dist/runtime-v2/internalization/rule-source-correction.d.ts +60 -0
- package/dist/runtime-v2/internalization/rule-source-correction.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/rule-source-correction.js +214 -0
- package/dist/runtime-v2/internalization/rule-source-correction.js.map +1 -0
- package/dist/runtime-v2/internalization/rulecode-verification-obligations.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/rulecode-verification-obligations.js +65 -0
- package/dist/runtime-v2/internalization/rulecode-verification-obligations.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-output.d.ts +14 -2
- package/dist/runtime-v2/internalization/scribe-output.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-output.js +57 -2
- package/dist/runtime-v2/internalization/scribe-output.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts +13 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-prompt-builder.js +15 -3
- package/dist/runtime-v2/internalization/scribe-prompt-builder.js.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.d.ts +34 -0
- package/dist/runtime-v2/internalization/scribe-runner.d.ts.map +1 -1
- package/dist/runtime-v2/internalization/scribe-runner.js +128 -4
- package/dist/runtime-v2/internalization/scribe-runner.js.map +1 -1
- package/dist/runtime-v2/internalization/textual-basis-anchor.d.ts +72 -0
- package/dist/runtime-v2/internalization/textual-basis-anchor.d.ts.map +1 -0
- package/dist/runtime-v2/internalization/textual-basis-anchor.js +100 -0
- package/dist/runtime-v2/internalization/textual-basis-anchor.js.map +1 -0
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts +9 -7
- package/dist/runtime-v2/pain-signal-runtime-factory.d.ts.map +1 -1
- package/dist/runtime-v2/pain-signal-runtime-factory.js +59 -121
- package/dist/runtime-v2/pain-signal-runtime-factory.js.map +1 -1
- package/dist/runtime-v2/runtime-protocol.d.ts +2 -3
- package/dist/runtime-v2/runtime-protocol.d.ts.map +1 -1
- package/dist/runtime-v2/runtime-protocol.js +15 -10
- package/dist/runtime-v2/runtime-protocol.js.map +1 -1
- package/dist/runtime-v2/store/lifecycle/lease-manager.d.ts.map +1 -1
- package/dist/runtime-v2/store/lifecycle/lease-manager.js +11 -2
- package/dist/runtime-v2/store/lifecycle/lease-manager.js.map +1 -1
- package/dist/runtime-v2/tools/artificer-l2-tool-contract.d.ts.map +1 -1
- package/dist/runtime-v2/tools/artificer-l2-tool-contract.js +26 -0
- package/dist/runtime-v2/tools/artificer-l2-tool-contract.js.map +1 -1
- package/dist/telemetry-event.d.ts +2 -2
- package/dist/telemetry-event.d.ts.map +1 -1
- package/dist/telemetry-event.js +5 -0
- package/dist/telemetry-event.js.map +1 -1
- package/dist/workflow-funnel-loader.d.ts +0 -2
- package/dist/workflow-funnel-loader.d.ts.map +1 -1
- package/dist/workflow-funnel-loader.js.map +1 -1
- package/package.json +5 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts +0 -72
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.d.ts.map +0 -1
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js +0 -837
- package/dist/runtime-v2/adapter/openclaw-cli-runtime-adapter.js.map +0 -1
- package/dist/runtime-v2/utils/cli-process-runner.d.ts +0 -35
- package/dist/runtime-v2/utils/cli-process-runner.d.ts.map +0 -1
- package/dist/runtime-v2/utils/cli-process-runner.js +0 -263
- package/dist/runtime-v2/utils/cli-process-runner.js.map +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"openclaw-cli-runtime-adapter.js","sourceRoot":"","sources":["../../../src/runtime-v2/adapter/openclaw-cli-runtime-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
export interface CliProcessRunnerOptions {
|
|
2
|
-
command: string;
|
|
3
|
-
args?: string[];
|
|
4
|
-
cwd?: string;
|
|
5
|
-
env?: Record<string, string>;
|
|
6
|
-
timeoutMs?: number;
|
|
7
|
-
killGracePeriodMs?: number;
|
|
8
|
-
}
|
|
9
|
-
export type SpawnErrorCode = 'ENOENT' | 'EACCES' | 'EMFILE' | 'UNKNOWN';
|
|
10
|
-
export interface CliOutput {
|
|
11
|
-
stdout: string;
|
|
12
|
-
stderr: string;
|
|
13
|
-
exitCode: number | null;
|
|
14
|
-
timedOut: boolean;
|
|
15
|
-
durationMs: number;
|
|
16
|
-
/**
|
|
17
|
-
* Explicit spawn error type. Set when proc.on('error') is called with
|
|
18
|
-
* ENOENT (binary not found), EACCES (permission denied), EMFILE (too many open files),
|
|
19
|
-
* or other errors. Use this instead of parsing stderr for error detection.
|
|
20
|
-
*/
|
|
21
|
-
spawnError?: SpawnErrorCode;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Run a CLI process with timeout, graceful tree kill, and env merge.
|
|
25
|
-
*
|
|
26
|
-
* @param opts.command - Non-empty path to the binary to run (validated)
|
|
27
|
-
* @param opts.args - Array of string arguments (no shell injection, shell: false)
|
|
28
|
-
* @param opts.cwd - Working directory for the child process
|
|
29
|
-
* @param opts.env - Environment variables (merged with parent process.env)
|
|
30
|
-
* @param opts.timeoutMs - Optional timeout in ms; if exceeded the process tree is killed
|
|
31
|
-
* @param opts.killGracePeriodMs - Grace period between SIGTERM and SIGKILL (default 3000ms)
|
|
32
|
-
* @returns CliOutput with captured stdout, stderr, exitCode, timedOut flag, and durationMs
|
|
33
|
-
*/
|
|
34
|
-
export declare function runCliProcess(opts: CliProcessRunnerOptions): Promise<CliOutput>;
|
|
35
|
-
//# sourceMappingURL=cli-process-runner.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-process-runner.d.ts","sourceRoot":"","sources":["../../../src/runtime-v2/utils/cli-process-runner.ts"],"names":[],"mappings":"AAUA,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAExE,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAiFD;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,uBAAuB,GAAG,OAAO,CAAC,SAAS,CAAC,CAqLrF"}
|
|
@@ -1,263 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* CliProcessRunner — generic child process runner with timeout, graceful tree kill,
|
|
3
|
-
* env merge, and no shell injection.
|
|
4
|
-
*
|
|
5
|
-
* Purpose: Foundation utility consumed by OpenClawCliRuntimeAdapter (m6-02).
|
|
6
|
-
* Runs arbitrary CLI commands, captures stdout/stderr, and handles timeouts with
|
|
7
|
-
* graceful tree kill (SIGTERM → grace period → SIGKILL).
|
|
8
|
-
*/
|
|
9
|
-
import { spawn, execFileSync } from 'child_process';
|
|
10
|
-
/**
|
|
11
|
-
* Resolve a command on Windows when it may be a npm shim (.cmd/.bat/.exe).
|
|
12
|
-
*
|
|
13
|
-
* On Windows, `spawn('openclaw', [], {shell:false})` fails with ENOENT because
|
|
14
|
-
* Node's spawn() with shell:false does not consult the PATHEXT associations that
|
|
15
|
-
* cmd.exe uses. `where.exe` (equivalent to `which` on Unix) resolves the actual
|
|
16
|
-
* executable path including .cmd/.bat shims created by npm.
|
|
17
|
-
*
|
|
18
|
-
* When running under Git Bash (MSYS), `where.exe` returns Unix-style paths
|
|
19
|
-
* (e.g. /c/Users/.../openclaw) which spawn() cannot use. This function converts
|
|
20
|
-
* them to Windows paths and prefers Windows-native executables (.cmd, .bat, .exe).
|
|
21
|
-
*
|
|
22
|
-
* @returns The resolved command path, or the original if not Windows or already absolute.
|
|
23
|
-
*/
|
|
24
|
-
function resolveCommandForWindows(command) {
|
|
25
|
-
if (process.platform !== 'win32') {
|
|
26
|
-
return command;
|
|
27
|
-
}
|
|
28
|
-
// If the command already contains a path separator, it is already resolved
|
|
29
|
-
if (command.includes('/') || command.includes('\\')) {
|
|
30
|
-
return command;
|
|
31
|
-
}
|
|
32
|
-
try {
|
|
33
|
-
// Use where.exe to resolve the command — works for .cmd, .bat, .exe shims
|
|
34
|
-
// Array-form spawn: constant binary + single validated argument, no shell.
|
|
35
|
-
const result = execFileSync('where.exe', [command], {
|
|
36
|
-
encoding: 'utf-8',
|
|
37
|
-
timeout: 5000,
|
|
38
|
-
windowsHide: true,
|
|
39
|
-
});
|
|
40
|
-
// where.exe returns all matches, one per line
|
|
41
|
-
const lines = result.split('\n').map((l) => l.trim()).filter(Boolean);
|
|
42
|
-
// Prefer Windows-native executables (.cmd, .bat, .exe) over Unix scripts.
|
|
43
|
-
// If a .cmd/.bat file is found, return it directly — avoids the broken
|
|
44
|
-
// anaconda MSYS cygpath bug where shell scripts get wrong path resolution.
|
|
45
|
-
const windowsNative = lines.find((l) => /\.(cmd|bat|exe)$/i.test(l));
|
|
46
|
-
if (windowsNative) {
|
|
47
|
-
// Convert MSYS Unix-style .cmd paths (e.g. /c/Users/.../openclaw.cmd)
|
|
48
|
-
// to proper Windows absolute paths before returning.
|
|
49
|
-
const normalized = windowsNative.replace(/\\/g, '/');
|
|
50
|
-
if (/^\/[a-z]\//i.test(normalized)) {
|
|
51
|
-
const msysPath = normalized;
|
|
52
|
-
const driveLetter = msysPath[1] ?? 'C';
|
|
53
|
-
const winPath = driveLetter.toUpperCase() + ':' + msysPath.slice(2).replace(/\//g, '\\');
|
|
54
|
-
return winPath;
|
|
55
|
-
}
|
|
56
|
-
return windowsNative;
|
|
57
|
-
}
|
|
58
|
-
// No Windows-native result found. The first line may be a Unix-style path
|
|
59
|
-
// (e.g. /c/Users/.../openclaw) returned by Git Bash's where.exe.
|
|
60
|
-
// Convert it to a Windows absolute path so spawn() can use it.
|
|
61
|
-
if (lines.length > 0) {
|
|
62
|
-
const firstResult = lines[0] ?? command;
|
|
63
|
-
// Convert MSYS/Git Bash Unix-style path to Windows path
|
|
64
|
-
// /c/Users/... → C:\Users\...
|
|
65
|
-
// /d/Program Files/... → D:\Program Files\...
|
|
66
|
-
if (/^[A-Z]:/i.test(firstResult)) {
|
|
67
|
-
// Already a Windows absolute path (e.g. C:\Users\...)
|
|
68
|
-
return firstResult;
|
|
69
|
-
}
|
|
70
|
-
if (/^\/[a-z]\//i.test(firstResult)) {
|
|
71
|
-
// MSYS Unix-style path: /c/Users/... → C:\Users\...
|
|
72
|
-
const msysPath = /** @type {string} */ (firstResult);
|
|
73
|
-
const driveLetter = msysPath[1] ?? 'C';
|
|
74
|
-
const winPath = driveLetter.toUpperCase() + ':' + msysPath.slice(2).replace(/\//g, '\\');
|
|
75
|
-
return winPath;
|
|
76
|
-
}
|
|
77
|
-
return firstResult;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
// where.exe failed — fall through to original command
|
|
82
|
-
}
|
|
83
|
-
return command;
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Run a CLI process with timeout, graceful tree kill, and env merge.
|
|
87
|
-
*
|
|
88
|
-
* @param opts.command - Non-empty path to the binary to run (validated)
|
|
89
|
-
* @param opts.args - Array of string arguments (no shell injection, shell: false)
|
|
90
|
-
* @param opts.cwd - Working directory for the child process
|
|
91
|
-
* @param opts.env - Environment variables (merged with parent process.env)
|
|
92
|
-
* @param opts.timeoutMs - Optional timeout in ms; if exceeded the process tree is killed
|
|
93
|
-
* @param opts.killGracePeriodMs - Grace period between SIGTERM and SIGKILL (default 3000ms)
|
|
94
|
-
* @returns CliOutput with captured stdout, stderr, exitCode, timedOut flag, and durationMs
|
|
95
|
-
*/
|
|
96
|
-
export async function runCliProcess(opts) {
|
|
97
|
-
// ── Input validation ──────────────────────────────────────────────────────
|
|
98
|
-
if (typeof opts.command !== 'string' || opts.command.trim() === '') {
|
|
99
|
-
throw new TypeError('opts.command must be a non-empty string');
|
|
100
|
-
}
|
|
101
|
-
const { command } = opts;
|
|
102
|
-
const rawArgs = opts.args ?? [];
|
|
103
|
-
if (!Array.isArray(rawArgs) || rawArgs.some((a) => typeof a !== 'string')) {
|
|
104
|
-
throw new TypeError('opts.args must be an array of strings');
|
|
105
|
-
}
|
|
106
|
-
const args = rawArgs;
|
|
107
|
-
const { cwd } = opts;
|
|
108
|
-
const { timeoutMs } = opts;
|
|
109
|
-
const killGracePeriodMs = opts.killGracePeriodMs ?? 3000;
|
|
110
|
-
// ── Env merge ─────────────────────────────────────────────────────────────
|
|
111
|
-
const env = Object.assign({}, process.env, opts.env ?? {});
|
|
112
|
-
// ── Output capture ────────────────────────────────────────────────────────
|
|
113
|
-
let stdout = '';
|
|
114
|
-
let stderr = '';
|
|
115
|
-
// ── Resolve command on Windows (npm shim resolution) ─────────────────────
|
|
116
|
-
const resolved = resolveCommandForWindows(command);
|
|
117
|
-
// ── Windows: detect if resolved command is a .cmd/.bat shim ─────────────
|
|
118
|
-
const isWindowsCmdShim = process.platform === 'win32' && /\.(cmd|bat)$/i.test(resolved);
|
|
119
|
-
// ── Spawn configuration ──────────────────────────────────────────────────
|
|
120
|
-
const spawnConfig = (() => {
|
|
121
|
-
if (process.platform !== 'win32') {
|
|
122
|
-
return { command: resolved, args, shell: false };
|
|
123
|
-
}
|
|
124
|
-
if (isWindowsCmdShim) {
|
|
125
|
-
// Windows batch files (.cmd/.bat): use spawn with shell:false and array args.
|
|
126
|
-
// Use forward slashes (/ instead of \) — cmd.exe accepts both but MSYS bash
|
|
127
|
-
// does NOT do path conversion on forward slashes, avoiding the anaconda
|
|
128
|
-
// cygpath bug that corrupts /c/ → D:\ProgramData\anaconda3\Library\c\.
|
|
129
|
-
const forwardPath = resolved.replace(/\\/g, '/');
|
|
130
|
-
return { command: 'cmd.exe', args: ['/c', forwardPath, ...args], shell: false };
|
|
131
|
-
}
|
|
132
|
-
// Non-batch Windows executables can be spawned directly. Keeping shell=false
|
|
133
|
-
// preserves argv boundaries and keeps ENOENT handling deterministic.
|
|
134
|
-
return { command: resolved, args, shell: false };
|
|
135
|
-
})();
|
|
136
|
-
// ── Spawn ─────────────────────────────────────────────────────────────────
|
|
137
|
-
const proc = spawn(spawnConfig.command, spawnConfig.args, {
|
|
138
|
-
cwd,
|
|
139
|
-
env,
|
|
140
|
-
shell: spawnConfig.shell,
|
|
141
|
-
// A dedicated process group lets timeout handling terminate the complete
|
|
142
|
-
// Unix process tree via a negative PID. Windows uses taskkill /T instead.
|
|
143
|
-
detached: process.platform !== 'win32',
|
|
144
|
-
});
|
|
145
|
-
// Attach data handlers BEFORE spawning so we don't miss any output
|
|
146
|
-
proc.stdout?.on('data', (chunk) => {
|
|
147
|
-
stdout += chunk.toString();
|
|
148
|
-
});
|
|
149
|
-
proc.stderr?.on('data', (chunk) => {
|
|
150
|
-
stderr += chunk.toString();
|
|
151
|
-
});
|
|
152
|
-
const startedAt = Date.now();
|
|
153
|
-
// ── Timeout handling ──────────────────────────────────────────────────────
|
|
154
|
-
let timeoutHandle = null;
|
|
155
|
-
let killGraceHandle = null;
|
|
156
|
-
// Flag set when timeout fires; consulted in close/error handlers to set timedOut correctly
|
|
157
|
-
let timedOut = false;
|
|
158
|
-
function killProcessTree() {
|
|
159
|
-
const { pid } = proc;
|
|
160
|
-
if (pid === null || pid === undefined)
|
|
161
|
-
return;
|
|
162
|
-
if (process.platform === 'win32') {
|
|
163
|
-
// Windows: use taskkill with /T (kill process tree) and /F (force)
|
|
164
|
-
// taskkill /F is SIGKILL equivalent — force kill without grace period
|
|
165
|
-
const killer = spawn('taskkill', ['/PID', String(pid), '/T', '/F']);
|
|
166
|
-
killer.on('error', () => {
|
|
167
|
-
// Process may have already exited — taskkill itself failed
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
else {
|
|
171
|
-
// Unix: terminate the dedicated process group, including descendants.
|
|
172
|
-
try {
|
|
173
|
-
process.kill(-pid, 'SIGTERM');
|
|
174
|
-
}
|
|
175
|
-
catch {
|
|
176
|
-
// Process may have already exited
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
function cancelTimers() {
|
|
181
|
-
if (timeoutHandle !== null) {
|
|
182
|
-
clearTimeout(timeoutHandle);
|
|
183
|
-
timeoutHandle = null;
|
|
184
|
-
}
|
|
185
|
-
if (killGraceHandle !== null) {
|
|
186
|
-
clearTimeout(killGraceHandle);
|
|
187
|
-
killGraceHandle = null;
|
|
188
|
-
}
|
|
189
|
-
}
|
|
190
|
-
if (timeoutMs != null) {
|
|
191
|
-
timeoutHandle = setTimeout(() => {
|
|
192
|
-
// Mark timedOut=true FIRST so close/error handlers know the process was killed by timeout
|
|
193
|
-
timedOut = true;
|
|
194
|
-
// First, attempt graceful termination
|
|
195
|
-
killProcessTree();
|
|
196
|
-
// Then schedule SIGKILL after grace period (only on non-Windows)
|
|
197
|
-
if (process.platform !== 'win32') {
|
|
198
|
-
const { pid } = proc;
|
|
199
|
-
killGraceHandle = setTimeout(() => {
|
|
200
|
-
if (pid !== null && pid !== undefined) {
|
|
201
|
-
try {
|
|
202
|
-
process.kill(-pid, 'SIGKILL');
|
|
203
|
-
}
|
|
204
|
-
catch {
|
|
205
|
-
// Already exited
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
}, killGracePeriodMs);
|
|
209
|
-
}
|
|
210
|
-
}, timeoutMs);
|
|
211
|
-
}
|
|
212
|
-
// ── Completion promise ─────────────────────────────────────────────────────
|
|
213
|
-
return new Promise((resolve) => {
|
|
214
|
-
let settled = false;
|
|
215
|
-
function resolveOnce(output) {
|
|
216
|
-
if (!settled) {
|
|
217
|
-
settled = true;
|
|
218
|
-
cancelTimers();
|
|
219
|
-
resolve(output);
|
|
220
|
-
}
|
|
221
|
-
}
|
|
222
|
-
proc.on('close', (code) => {
|
|
223
|
-
const durationMs = Date.now() - startedAt;
|
|
224
|
-
resolveOnce({
|
|
225
|
-
stdout,
|
|
226
|
-
stderr,
|
|
227
|
-
// When killed by timeout, exitCode is non-null (OS-level kill exit code).
|
|
228
|
-
// Normal exit uses the actual code; timeout kills set exitCode=null per CliOutput contract.
|
|
229
|
-
exitCode: timedOut ? null : code,
|
|
230
|
-
timedOut,
|
|
231
|
-
durationMs,
|
|
232
|
-
});
|
|
233
|
-
});
|
|
234
|
-
proc.on('error', (err) => {
|
|
235
|
-
// ENOENT, EACCES, EMFILE, etc. — resolve with null exit code and empty output
|
|
236
|
-
// so callers can handle "command not found" gracefully
|
|
237
|
-
const durationMs = Date.now() - startedAt;
|
|
238
|
-
const errWithCode = err;
|
|
239
|
-
let spawnError = undefined;
|
|
240
|
-
if (errWithCode.code === 'ENOENT') {
|
|
241
|
-
spawnError = 'ENOENT';
|
|
242
|
-
}
|
|
243
|
-
else if (errWithCode.code === 'EACCES') {
|
|
244
|
-
spawnError = 'EACCES';
|
|
245
|
-
}
|
|
246
|
-
else if (errWithCode.code === 'EMFILE') {
|
|
247
|
-
spawnError = 'EMFILE';
|
|
248
|
-
}
|
|
249
|
-
else if (errWithCode.code) {
|
|
250
|
-
spawnError = 'UNKNOWN';
|
|
251
|
-
}
|
|
252
|
-
resolveOnce({
|
|
253
|
-
stdout: '',
|
|
254
|
-
stderr: errWithCode.code ? `ENOENT: ${errWithCode.code}` : err.message,
|
|
255
|
-
exitCode: null,
|
|
256
|
-
timedOut,
|
|
257
|
-
durationMs,
|
|
258
|
-
spawnError,
|
|
259
|
-
});
|
|
260
|
-
});
|
|
261
|
-
});
|
|
262
|
-
}
|
|
263
|
-
//# sourceMappingURL=cli-process-runner.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cli-process-runner.js","sourceRoot":"","sources":["../../../src/runtime-v2/utils/cli-process-runner.ts"],"names":[],"mappings":"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"}
|