@paretools/process 0.8.5 → 0.10.0
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/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lib/formatters.d.ts +6 -1
- package/dist/lib/formatters.d.ts.map +1 -1
- package/dist/lib/formatters.js +36 -4
- package/dist/lib/formatters.js.map +1 -1
- package/dist/lib/parsers.d.ts +1 -1
- package/dist/lib/parsers.d.ts.map +1 -1
- package/dist/lib/parsers.js +36 -3
- package/dist/lib/parsers.js.map +1 -1
- package/dist/schemas/index.d.ts +5 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +5 -0
- package/dist/schemas/index.js.map +1 -1
- package/dist/tools/run.d.ts.map +1 -1
- package/dist/tools/run.js +112 -17
- package/dist/tools/run.js.map +1 -1
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
|
3
3
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
4
4
|
import { registerAllTools } from "./tools/index.js";
|
|
5
5
|
const server = new McpServer({ name: "@paretools/process", version: "0.8.1" }, {
|
|
6
|
-
instructions: "Structured process execution (run). Runs commands with timeout, environment, and signal support. Returns typed JSON with exit code, stdout, stderr, duration, and timeout status.
|
|
6
|
+
instructions: "Structured process execution (run). Runs commands with timeout, environment, and signal support. Returns typed JSON with exit code, stdout, stderr, duration, and timeout status.",
|
|
7
7
|
});
|
|
8
8
|
registerAllTools(server);
|
|
9
9
|
const transport = new StdioServerTransport();
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,EAChD;IACE,YAAY,EACV,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,MAAM,GAAG,IAAI,SAAS,CAC1B,EAAE,IAAI,EAAE,oBAAoB,EAAE,OAAO,EAAE,OAAO,EAAE,EAChD;IACE,YAAY,EACV,mLAAmL;CACtL,CACF,CAAC;AAEF,gBAAgB,CAAC,MAAM,CAAC,CAAC;AAEzB,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;AAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC"}
|
package/dist/lib/formatters.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ProcessRunResult } from "../schemas/index.js";
|
|
2
2
|
/** Formats structured run results into a human-readable output summary. */
|
|
3
3
|
export declare function formatRun(data: ProcessRunResult): string;
|
|
4
|
-
/** Compact run: command, exitCode, success, duration, timedOut, signal. Drop stdout/stderr. */
|
|
4
|
+
/** Compact run: command, exitCode, success, duration, timedOut, signal, truncated. Drop stdout/stderr. */
|
|
5
5
|
export interface ProcessRunCompact {
|
|
6
6
|
[key: string]: unknown;
|
|
7
7
|
command: string;
|
|
@@ -9,7 +9,12 @@ export interface ProcessRunCompact {
|
|
|
9
9
|
exitCode: number;
|
|
10
10
|
duration: number;
|
|
11
11
|
timedOut: boolean;
|
|
12
|
+
truncated?: boolean;
|
|
12
13
|
signal?: string;
|
|
14
|
+
userCpuTimeMs?: number;
|
|
15
|
+
systemCpuTimeMs?: number;
|
|
16
|
+
stdoutTruncatedLines?: number;
|
|
17
|
+
stderrTruncatedLines?: number;
|
|
13
18
|
}
|
|
14
19
|
export declare function compactRunMap(data: ProcessRunResult): ProcessRunCompact;
|
|
15
20
|
export declare function formatRunCompact(data: ProcessRunCompact): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAI5D,2EAA2E;AAC3E,wBAAgB,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,MAAM,CAgCxD;AAID,0GAA0G;AAC1G,MAAM,WAAW,iBAAiB;IAChC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,CAcvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAwBhE"}
|
package/dist/lib/formatters.js
CHANGED
|
@@ -11,10 +11,24 @@ export function formatRun(data) {
|
|
|
11
11
|
else {
|
|
12
12
|
lines.push(`${data.command}: exit code ${data.exitCode} (${data.duration}ms).`);
|
|
13
13
|
}
|
|
14
|
+
if (data.truncated) {
|
|
15
|
+
lines.push(" [output truncated: maxBuffer exceeded]");
|
|
16
|
+
}
|
|
14
17
|
if (data.stdout)
|
|
15
18
|
lines.push(data.stdout);
|
|
19
|
+
if (data.userCpuTimeMs !== undefined || data.systemCpuTimeMs !== undefined) {
|
|
20
|
+
const user = data.userCpuTimeMs !== undefined ? `${data.userCpuTimeMs.toFixed(2)}ms` : "n/a";
|
|
21
|
+
const system = data.systemCpuTimeMs !== undefined ? `${data.systemCpuTimeMs.toFixed(2)}ms` : "n/a";
|
|
22
|
+
lines.push(` cpu: user=${user}, system=${system}`);
|
|
23
|
+
}
|
|
24
|
+
if (data.stdoutTruncatedLines) {
|
|
25
|
+
lines.push(` ... ${data.stdoutTruncatedLines} stdout lines truncated`);
|
|
26
|
+
}
|
|
16
27
|
if (data.stderr)
|
|
17
28
|
lines.push(data.stderr);
|
|
29
|
+
if (data.stderrTruncatedLines) {
|
|
30
|
+
lines.push(` ... ${data.stderrTruncatedLines} stderr lines truncated`);
|
|
31
|
+
}
|
|
18
32
|
return lines.join("\n");
|
|
19
33
|
}
|
|
20
34
|
export function compactRunMap(data) {
|
|
@@ -24,15 +38,33 @@ export function compactRunMap(data) {
|
|
|
24
38
|
exitCode: data.exitCode,
|
|
25
39
|
duration: data.duration,
|
|
26
40
|
timedOut: data.timedOut,
|
|
41
|
+
truncated: data.truncated,
|
|
27
42
|
signal: data.signal,
|
|
43
|
+
userCpuTimeMs: data.userCpuTimeMs,
|
|
44
|
+
systemCpuTimeMs: data.systemCpuTimeMs,
|
|
45
|
+
stdoutTruncatedLines: data.stdoutTruncatedLines,
|
|
46
|
+
stderrTruncatedLines: data.stderrTruncatedLines,
|
|
28
47
|
};
|
|
29
48
|
}
|
|
30
49
|
export function formatRunCompact(data) {
|
|
50
|
+
const parts = [];
|
|
31
51
|
if (data.timedOut) {
|
|
32
|
-
|
|
52
|
+
parts.push(`${data.command}: timed out after ${data.duration}ms${data.signal ? ` (${data.signal})` : ""}.`);
|
|
53
|
+
}
|
|
54
|
+
else if (data.success) {
|
|
55
|
+
parts.push(`${data.command}: success (${data.duration}ms).`);
|
|
56
|
+
}
|
|
57
|
+
else {
|
|
58
|
+
parts.push(`${data.command}: exit code ${data.exitCode} (${data.duration}ms).`);
|
|
59
|
+
}
|
|
60
|
+
if (data.truncated) {
|
|
61
|
+
parts.push(" [output truncated: maxBuffer exceeded]");
|
|
62
|
+
}
|
|
63
|
+
if (data.userCpuTimeMs !== undefined || data.systemCpuTimeMs !== undefined) {
|
|
64
|
+
const user = data.userCpuTimeMs !== undefined ? `${data.userCpuTimeMs.toFixed(2)}ms` : "n/a";
|
|
65
|
+
const system = data.systemCpuTimeMs !== undefined ? `${data.systemCpuTimeMs.toFixed(2)}ms` : "n/a";
|
|
66
|
+
parts.push(` cpu: user=${user}, system=${system}`);
|
|
33
67
|
}
|
|
34
|
-
|
|
35
|
-
return `${data.command}: success (${data.duration}ms).`;
|
|
36
|
-
return `${data.command}: exit code ${data.exitCode} (${data.duration}ms).`;
|
|
68
|
+
return parts.join("\n");
|
|
37
69
|
}
|
|
38
70
|
//# sourceMappingURL=formatters.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"AAEA,wEAAwE;AAExE,2EAA2E;AAC3E,MAAM,UAAU,SAAS,CAAC,IAAsB;IAC9C,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,CACR,GAAG,IAAI,CAAC,OAAO,qBAAqB,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAChG,CAAC;IACJ,CAAC;SAAM,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACxB,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC;IAC/D,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,OAAO,eAAe,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,MAAM,CAAC,CAAC;IAClF,CAAC;IAED,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzC,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC;
|
|
1
|
+
{"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/parsers.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import type { ProcessRunResult } from "../schemas/index.js";
|
|
|
2
2
|
/**
|
|
3
3
|
* Parses the output of a process run into structured result data.
|
|
4
4
|
*/
|
|
5
|
-
export declare function parseRunOutput(command: string, stdout: string, stderr: string, exitCode: number, duration: number, timedOut: boolean, signal?: string): ProcessRunResult;
|
|
5
|
+
export declare function parseRunOutput(command: string, stdout: string, stderr: string, exitCode: number, duration: number, timedOut: boolean, signal?: string, maxOutputLines?: number, truncated?: boolean, userCpuTimeMicros?: number, systemCpuTimeMicros?: number): ProcessRunResult;
|
|
6
6
|
//# sourceMappingURL=parsers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"parsers.d.ts","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAe5D;;GAEG;AACH,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,OAAO,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,cAAc,CAAC,EAAE,MAAM,EACvB,SAAS,CAAC,EAAE,OAAO,EACnB,iBAAiB,CAAC,EAAE,MAAM,EAC1B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,gBAAgB,CAkClB"}
|
package/dist/lib/parsers.js
CHANGED
|
@@ -1,16 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Truncates a string to a maximum number of lines.
|
|
3
|
+
* Returns the truncated string and the number of lines dropped.
|
|
4
|
+
*/
|
|
5
|
+
function truncateLines(text, maxLines) {
|
|
6
|
+
const lines = text.split("\n");
|
|
7
|
+
if (lines.length <= maxLines) {
|
|
8
|
+
return { text, dropped: 0 };
|
|
9
|
+
}
|
|
10
|
+
const dropped = lines.length - maxLines;
|
|
11
|
+
return { text: lines.slice(0, maxLines).join("\n"), dropped };
|
|
12
|
+
}
|
|
1
13
|
/**
|
|
2
14
|
* Parses the output of a process run into structured result data.
|
|
3
15
|
*/
|
|
4
|
-
export function parseRunOutput(command, stdout, stderr, exitCode, duration, timedOut, signal) {
|
|
16
|
+
export function parseRunOutput(command, stdout, stderr, exitCode, duration, timedOut, signal, maxOutputLines, truncated, userCpuTimeMicros, systemCpuTimeMicros) {
|
|
17
|
+
let finalStdout = stdout.trimEnd() || undefined;
|
|
18
|
+
let finalStderr = stderr.trimEnd() || undefined;
|
|
19
|
+
let stdoutTruncatedLines;
|
|
20
|
+
let stderrTruncatedLines;
|
|
21
|
+
if (maxOutputLines != null && maxOutputLines > 0) {
|
|
22
|
+
if (finalStdout) {
|
|
23
|
+
const result = truncateLines(finalStdout, maxOutputLines);
|
|
24
|
+
finalStdout = result.text || undefined;
|
|
25
|
+
stdoutTruncatedLines = result.dropped > 0 ? result.dropped : undefined;
|
|
26
|
+
}
|
|
27
|
+
if (finalStderr) {
|
|
28
|
+
const result = truncateLines(finalStderr, maxOutputLines);
|
|
29
|
+
finalStderr = result.text || undefined;
|
|
30
|
+
stderrTruncatedLines = result.dropped > 0 ? result.dropped : undefined;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
5
33
|
return {
|
|
6
34
|
command,
|
|
7
35
|
success: exitCode === 0 && !timedOut,
|
|
8
36
|
exitCode,
|
|
9
|
-
stdout:
|
|
10
|
-
stderr:
|
|
37
|
+
stdout: finalStdout,
|
|
38
|
+
stderr: finalStderr,
|
|
11
39
|
duration,
|
|
40
|
+
userCpuTimeMs: userCpuTimeMicros !== undefined ? userCpuTimeMicros / 1000 : undefined,
|
|
41
|
+
systemCpuTimeMs: systemCpuTimeMicros !== undefined ? systemCpuTimeMicros / 1000 : undefined,
|
|
12
42
|
timedOut,
|
|
43
|
+
truncated: truncated || undefined,
|
|
13
44
|
signal: signal || undefined,
|
|
45
|
+
stdoutTruncatedLines,
|
|
46
|
+
stderrTruncatedLines,
|
|
14
47
|
};
|
|
15
48
|
}
|
|
16
49
|
//# sourceMappingURL=parsers.js.map
|
package/dist/lib/parsers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,QAAiB,EACjB,MAAe;
|
|
1
|
+
{"version":3,"file":"parsers.js","sourceRoot":"","sources":["../../src/lib/parsers.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,SAAS,aAAa,CAAC,IAAY,EAAE,QAAgB;IACnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,KAAK,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;QAC7B,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC;IAC9B,CAAC;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC;IACxC,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;AAChE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAC5B,OAAe,EACf,MAAc,EACd,MAAc,EACd,QAAgB,EAChB,QAAgB,EAChB,QAAiB,EACjB,MAAe,EACf,cAAuB,EACvB,SAAmB,EACnB,iBAA0B,EAC1B,mBAA4B;IAE5B,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC;IAChD,IAAI,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS,CAAC;IAChD,IAAI,oBAAwC,CAAC;IAC7C,IAAI,oBAAwC,CAAC;IAE7C,IAAI,cAAc,IAAI,IAAI,IAAI,cAAc,GAAG,CAAC,EAAE,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1D,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;YACvC,oBAAoB,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,CAAC;QACD,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;YAC1D,WAAW,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;YACvC,oBAAoB,GAAG,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;QACzE,CAAC;IACH,CAAC;IAED,OAAO;QACL,OAAO;QACP,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ;QACpC,QAAQ;QACR,MAAM,EAAE,WAAW;QACnB,MAAM,EAAE,WAAW;QACnB,QAAQ;QACR,aAAa,EAAE,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QACrF,eAAe,EAAE,mBAAmB,KAAK,SAAS,CAAC,CAAC,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAAC,CAAC,SAAS;QAC3F,QAAQ;QACR,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,MAAM,EAAE,MAAM,IAAI,SAAS;QAC3B,oBAAoB;QACpB,oBAAoB;KACrB,CAAC;AACJ,CAAC"}
|
package/dist/schemas/index.d.ts
CHANGED
|
@@ -7,8 +7,13 @@ export declare const ProcessRunResultSchema: z.ZodObject<{
|
|
|
7
7
|
stdout: z.ZodOptional<z.ZodString>;
|
|
8
8
|
stderr: z.ZodOptional<z.ZodString>;
|
|
9
9
|
duration: z.ZodNumber;
|
|
10
|
+
userCpuTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
11
|
+
systemCpuTimeMs: z.ZodOptional<z.ZodNumber>;
|
|
10
12
|
timedOut: z.ZodBoolean;
|
|
13
|
+
truncated: z.ZodOptional<z.ZodBoolean>;
|
|
11
14
|
signal: z.ZodOptional<z.ZodString>;
|
|
15
|
+
stdoutTruncatedLines: z.ZodOptional<z.ZodNumber>;
|
|
16
|
+
stderrTruncatedLines: z.ZodOptional<z.ZodNumber>;
|
|
12
17
|
}, z.core.$strip>;
|
|
13
18
|
export type ProcessRunResult = z.infer<typeof ProcessRunResultSchema>;
|
|
14
19
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sHAAsH;AACtH,eAAO,MAAM,sBAAsB
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sHAAsH;AACtH,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;iBAcjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"}
|
package/dist/schemas/index.js
CHANGED
|
@@ -7,7 +7,12 @@ export const ProcessRunResultSchema = z.object({
|
|
|
7
7
|
stdout: z.string().optional(),
|
|
8
8
|
stderr: z.string().optional(),
|
|
9
9
|
duration: z.number(),
|
|
10
|
+
userCpuTimeMs: z.number().optional(),
|
|
11
|
+
systemCpuTimeMs: z.number().optional(),
|
|
10
12
|
timedOut: z.boolean(),
|
|
13
|
+
truncated: z.boolean().optional(),
|
|
11
14
|
signal: z.string().optional(),
|
|
15
|
+
stdoutTruncatedLines: z.number().optional(),
|
|
16
|
+
stderrTruncatedLines: z.number().optional(),
|
|
12
17
|
});
|
|
13
18
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sHAAsH;AACtH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,sHAAsH;AACtH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;IACpB,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACtC,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE;IACrB,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3C,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5C,CAAC,CAAC"}
|
package/dist/tools/run.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAoCzE,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QA+MhD"}
|
package/dist/tools/run.js
CHANGED
|
@@ -3,11 +3,38 @@ import { compactDualOutput, INPUT_LIMITS, run, assertAllowedByPolicy, assertAllo
|
|
|
3
3
|
import { parseRunOutput } from "../lib/parsers.js";
|
|
4
4
|
import { formatRun, compactRunMap, formatRunCompact } from "../lib/formatters.js";
|
|
5
5
|
import { ProcessRunResultSchema } from "../schemas/index.js";
|
|
6
|
+
const VALID_KILL_SIGNALS = [
|
|
7
|
+
"SIGTERM",
|
|
8
|
+
"SIGKILL",
|
|
9
|
+
"SIGINT",
|
|
10
|
+
"SIGHUP",
|
|
11
|
+
"SIGQUIT",
|
|
12
|
+
"SIGABRT",
|
|
13
|
+
"SIGUSR1",
|
|
14
|
+
"SIGUSR2",
|
|
15
|
+
];
|
|
16
|
+
const VALID_ENCODINGS = [
|
|
17
|
+
"utf-8",
|
|
18
|
+
"utf8",
|
|
19
|
+
"ascii",
|
|
20
|
+
"latin1",
|
|
21
|
+
"binary",
|
|
22
|
+
"hex",
|
|
23
|
+
"base64",
|
|
24
|
+
"utf16le",
|
|
25
|
+
"ucs-2",
|
|
26
|
+
"ucs2",
|
|
27
|
+
];
|
|
6
28
|
/** Registers the `run` tool on the given MCP server. */
|
|
7
29
|
export function registerRunTool(server) {
|
|
8
30
|
server.registerTool("run", {
|
|
9
31
|
title: "Process Run",
|
|
10
|
-
description: "Runs a command and returns structured output (stdout, stderr, exit code, duration, timeout status)
|
|
32
|
+
description: "Runs a command and returns structured output (stdout, stderr, exit code, duration, timeout status).\n\n" +
|
|
33
|
+
"**Security note**: The `shell` parameter enables shell-mode execution. " +
|
|
34
|
+
"When shell=true, the command string is passed through the system shell " +
|
|
35
|
+
"(e.g., /bin/sh or cmd.exe), enabling features like glob expansion, piping, " +
|
|
36
|
+
"and variable substitution — but also exposing the command to shell injection risks. " +
|
|
37
|
+
"Only use shell=true when you trust the input and need shell features.",
|
|
11
38
|
inputSchema: {
|
|
12
39
|
command: z
|
|
13
40
|
.string()
|
|
@@ -19,11 +46,7 @@ export function registerRunTool(server) {
|
|
|
19
46
|
.optional()
|
|
20
47
|
.default([])
|
|
21
48
|
.describe("Arguments to pass to the command"),
|
|
22
|
-
cwd: z
|
|
23
|
-
.string()
|
|
24
|
-
.max(INPUT_LIMITS.PATH_MAX)
|
|
25
|
-
.optional()
|
|
26
|
-
.describe("Working directory (default: cwd)"),
|
|
49
|
+
cwd: z.string().max(INPUT_LIMITS.PATH_MAX).optional().describe("Working directory"),
|
|
27
50
|
timeout: z
|
|
28
51
|
.number()
|
|
29
52
|
.int()
|
|
@@ -36,28 +59,86 @@ export function registerRunTool(server) {
|
|
|
36
59
|
.record(z.string(), z.string().max(INPUT_LIMITS.STRING_MAX))
|
|
37
60
|
.optional()
|
|
38
61
|
.describe("Additional environment variables as key-value pairs"),
|
|
39
|
-
|
|
62
|
+
stdin: z
|
|
63
|
+
.string()
|
|
64
|
+
.max(1_000_000)
|
|
65
|
+
.optional()
|
|
66
|
+
.describe("Input data to write to the command's stdin (e.g., for piping to jq, grep)"),
|
|
67
|
+
maxBuffer: z
|
|
68
|
+
.number()
|
|
69
|
+
.int()
|
|
70
|
+
.min(1024)
|
|
71
|
+
.max(100 * 1024 * 1024)
|
|
72
|
+
.optional()
|
|
73
|
+
.describe("Maximum combined stdout+stderr buffer size in bytes (default: 10MB, max: 100MB)"),
|
|
74
|
+
killSignal: z
|
|
75
|
+
.enum(VALID_KILL_SIGNALS)
|
|
76
|
+
.optional()
|
|
77
|
+
.describe("Signal sent to the process on timeout (default: SIGTERM)"),
|
|
78
|
+
maxOutputLines: z
|
|
79
|
+
.number()
|
|
80
|
+
.int()
|
|
81
|
+
.min(1)
|
|
82
|
+
.max(100_000)
|
|
83
|
+
.optional()
|
|
84
|
+
.describe("Truncate stdout/stderr to this many lines (more agent-friendly than byte-based maxBuffer)"),
|
|
85
|
+
encoding: z
|
|
86
|
+
.enum(VALID_ENCODINGS)
|
|
87
|
+
.optional()
|
|
88
|
+
.describe("Output encoding for commands that produce non-UTF-8 output (default: utf-8)"),
|
|
89
|
+
compact: z.boolean().optional().default(true).describe("Prefer compact output"),
|
|
90
|
+
shell: z
|
|
91
|
+
.boolean()
|
|
92
|
+
.optional()
|
|
93
|
+
.default(false)
|
|
94
|
+
.describe("Run the command through the system shell (enables glob expansion, piping, variable substitution). " +
|
|
95
|
+
"WARNING: shell=true exposes the command to shell injection risks. Only use when you trust the input."),
|
|
96
|
+
stripEnv: z
|
|
40
97
|
.boolean()
|
|
41
98
|
.optional()
|
|
42
|
-
.default(
|
|
43
|
-
.describe("
|
|
99
|
+
.default(false)
|
|
100
|
+
.describe("Run with a minimal environment (only PATH + explicit env vars). " +
|
|
101
|
+
"Prevents leaking sensitive parent environment variables to the child process."),
|
|
44
102
|
},
|
|
45
103
|
outputSchema: ProcessRunResultSchema,
|
|
46
|
-
}, async ({ command, args, cwd, timeout, env, compact }) => {
|
|
104
|
+
}, async ({ command, args, cwd, timeout, env, stdin, maxBuffer, killSignal, maxOutputLines, encoding, compact, shell, stripEnv, }) => {
|
|
47
105
|
assertAllowedByPolicy(command, "process");
|
|
48
106
|
const workDir = cwd || process.cwd();
|
|
49
107
|
assertAllowedRoot(workDir, "process");
|
|
50
108
|
const timeoutMs = timeout ?? 60_000;
|
|
51
109
|
const start = Date.now();
|
|
52
110
|
let timedOut = false;
|
|
111
|
+
let truncated = false;
|
|
53
112
|
let signal;
|
|
54
113
|
let result;
|
|
114
|
+
// Build the environment for the child process
|
|
115
|
+
let childEnv;
|
|
116
|
+
if (stripEnv) {
|
|
117
|
+
// Minimal environment: only PATH + user-provided env vars
|
|
118
|
+
const minimalEnv = {};
|
|
119
|
+
if (process.env.PATH) {
|
|
120
|
+
minimalEnv.PATH = process.env.PATH;
|
|
121
|
+
}
|
|
122
|
+
if (env) {
|
|
123
|
+
Object.assign(minimalEnv, env);
|
|
124
|
+
}
|
|
125
|
+
childEnv = minimalEnv;
|
|
126
|
+
}
|
|
127
|
+
else if (env) {
|
|
128
|
+
childEnv = { ...process.env, ...env };
|
|
129
|
+
}
|
|
130
|
+
// Build run options
|
|
131
|
+
const runOpts = {
|
|
132
|
+
cwd: workDir,
|
|
133
|
+
timeout: timeoutMs,
|
|
134
|
+
env: childEnv,
|
|
135
|
+
stdin: stdin || undefined,
|
|
136
|
+
maxBuffer: maxBuffer || undefined,
|
|
137
|
+
shell: shell || undefined,
|
|
138
|
+
replaceEnv: stripEnv || undefined,
|
|
139
|
+
};
|
|
55
140
|
try {
|
|
56
|
-
result = await run(command, args ?? [],
|
|
57
|
-
cwd: workDir,
|
|
58
|
-
timeout: timeoutMs,
|
|
59
|
-
env: env ? { ...process.env, ...env } : undefined,
|
|
60
|
-
});
|
|
141
|
+
result = await run(command, args ?? [], runOpts);
|
|
61
142
|
}
|
|
62
143
|
catch (err) {
|
|
63
144
|
const errMsg = err instanceof Error ? err.message : String(err);
|
|
@@ -66,20 +147,34 @@ export function registerRunTool(server) {
|
|
|
66
147
|
timedOut = true;
|
|
67
148
|
// Extract signal from message like "...was killed (SIGTERM)."
|
|
68
149
|
const sigMatch = errMsg.match(/\((\w+)\)/);
|
|
69
|
-
signal = sigMatch?.[1];
|
|
150
|
+
signal = sigMatch?.[1] ?? killSignal;
|
|
70
151
|
result = {
|
|
71
152
|
exitCode: 124, // Standard timeout exit code
|
|
72
153
|
stdout: "",
|
|
73
154
|
stderr: errMsg,
|
|
74
155
|
};
|
|
75
156
|
}
|
|
157
|
+
else if (errMsg.includes("maxBuffer")) {
|
|
158
|
+
// Buffer exceeded — return partial result with truncated flag
|
|
159
|
+
truncated = true;
|
|
160
|
+
result = {
|
|
161
|
+
exitCode: 1,
|
|
162
|
+
stdout: "",
|
|
163
|
+
stderr: errMsg,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
76
166
|
else {
|
|
77
167
|
// Re-throw non-timeout errors (command not found, permission denied, etc.)
|
|
78
168
|
throw err;
|
|
79
169
|
}
|
|
80
170
|
}
|
|
81
171
|
const duration = Date.now() - start;
|
|
82
|
-
|
|
172
|
+
// Handle encoding conversion if non-default specified
|
|
173
|
+
// The shared runner always returns utf-8 strings; encoding param documents
|
|
174
|
+
// the expected encoding for agent awareness. The Node.js runner handles
|
|
175
|
+
// binary-to-string conversion automatically.
|
|
176
|
+
void encoding;
|
|
177
|
+
const data = parseRunOutput(command, result.stdout, result.stderr, result.exitCode, duration, timedOut, signal, maxOutputLines, truncated, result.userCpuTimeMicros, result.systemCpuTimeMicros);
|
|
83
178
|
const rawOutput = (result.stdout + "\n" + result.stderr).trim();
|
|
84
179
|
return compactDualOutput(data, rawOutput, formatRun, compactRunMap, formatRunCompact, compact === false);
|
|
85
180
|
});
|
package/dist/tools/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EACL,iBAAiB,EACjB,YAAY,EACZ,GAAG,EACH,qBAAqB,EACrB,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@paretools/process",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.0",
|
|
4
4
|
"mcpName": "io.github.Dave-London/pare-process",
|
|
5
5
|
"description": "MCP server for running commands with structured output, timeout, and signal support",
|
|
6
6
|
"license": "MIT",
|
|
@@ -51,7 +51,7 @@
|
|
|
51
51
|
"dependencies": {
|
|
52
52
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
53
53
|
"zod": "^4.3.6",
|
|
54
|
-
"@paretools/shared": "0.
|
|
54
|
+
"@paretools/shared": "0.10.0"
|
|
55
55
|
},
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@types/node": "^25.2.3",
|