@paretools/process
Advanced tools
| import type { ProcessRunResult } from "../schemas/index.js"; | ||
| /** Formats structured run results into a human-readable output summary. */ | ||
| export declare function formatRun(data: ProcessRunResult): string; | ||
| /** Compact run: command, exitCode, success, duration, timedOut, signal. Drop stdout/stderr. */ | ||
| /** Compact run: command, exitCode, success, duration, timedOut, signal, truncated. Drop stdout/stderr. */ | ||
| export interface ProcessRunCompact { | ||
@@ -12,3 +12,6 @@ [key: string]: unknown; | ||
| timedOut: boolean; | ||
| truncated?: boolean; | ||
| signal?: string; | ||
| stdoutTruncatedLines?: number; | ||
| stderrTruncatedLines?: number; | ||
| } | ||
@@ -15,0 +18,0 @@ export declare function compactRunMap(data: ProcessRunResult): ProcessRunCompact; |
@@ -1,1 +0,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,CAgBxD;AAID,+FAA+F;AAC/F,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,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,CASvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAMhE"} | ||
| {"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,CA0BxD;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,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,gBAAgB,GAAG,iBAAiB,CAYvE;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,iBAAiB,GAAG,MAAM,CAkBhE"} |
@@ -14,6 +14,15 @@ // ── Full formatters ────────────────────────────────────────────────── | ||
| } | ||
| if (data.truncated) { | ||
| lines.push(" [output truncated: maxBuffer exceeded]"); | ||
| } | ||
| if (data.stdout) | ||
| lines.push(data.stdout); | ||
| if (data.stdoutTruncatedLines) { | ||
| lines.push(` ... ${data.stdoutTruncatedLines} stdout lines truncated`); | ||
| } | ||
| if (data.stderr) | ||
| lines.push(data.stderr); | ||
| if (data.stderrTruncatedLines) { | ||
| lines.push(` ... ${data.stderrTruncatedLines} stderr lines truncated`); | ||
| } | ||
| return lines.join("\n"); | ||
@@ -28,13 +37,24 @@ } | ||
| timedOut: data.timedOut, | ||
| truncated: data.truncated, | ||
| signal: data.signal, | ||
| stdoutTruncatedLines: data.stdoutTruncatedLines, | ||
| stderrTruncatedLines: data.stderrTruncatedLines, | ||
| }; | ||
| } | ||
| export function formatRunCompact(data) { | ||
| const parts = []; | ||
| if (data.timedOut) { | ||
| return `${data.command}: timed out after ${data.duration}ms${data.signal ? ` (${data.signal})` : ""}.`; | ||
| parts.push(`${data.command}: timed out after ${data.duration}ms${data.signal ? ` (${data.signal})` : ""}.`); | ||
| } | ||
| if (data.success) | ||
| return `${data.command}: success (${data.duration}ms).`; | ||
| return `${data.command}: exit code ${data.exitCode} (${data.duration}ms).`; | ||
| else if (data.success) { | ||
| parts.push(`${data.command}: success (${data.duration}ms).`); | ||
| } | ||
| else { | ||
| parts.push(`${data.command}: exit code ${data.exitCode} (${data.duration}ms).`); | ||
| } | ||
| if (data.truncated) { | ||
| parts.push(" [output truncated: maxBuffer exceeded]"); | ||
| } | ||
| return parts.join("\n"); | ||
| } | ||
| //# sourceMappingURL=formatters.js.map |
@@ -1,1 +0,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;AAeD,MAAM,UAAU,aAAa,CAAC,IAAsB;IAClD,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,MAAM,EAAE,IAAI,CAAC,MAAM;KACpB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAAuB;IACtD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;QAClB,OAAO,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,CAAC;IACzG,CAAC;IACD,IAAI,IAAI,CAAC,OAAO;QAAE,OAAO,GAAG,IAAI,CAAC,OAAO,cAAc,IAAI,CAAC,QAAQ,MAAM,CAAC;IAC1E,OAAO,GAAG,IAAI,CAAC,OAAO,eAAe,IAAI,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,MAAM,CAAC;AAC7E,CAAC"} | ||
| {"version":3,"file":"formatters.js","sourceRoot":"","sources":["../../src/lib/formatters.ts"],"names":[],"mappings":"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"} |
@@ -5,3 +5,3 @@ import type { ProcessRunResult } from "../schemas/index.js"; | ||
| */ | ||
| export declare function parseRunOutput(command: string, stdout: string, stderr: string, exitCode: number, duration: number, timedOut: boolean, signal?: string): ProcessRunResult; | ||
| export declare function parseRunOutput(command: string, stdout: string, stderr: string, exitCode: number, duration: number, timedOut: boolean, signal?: string, maxOutputLines?: number, truncated?: boolean): ProcessRunResult; | ||
| //# sourceMappingURL=parsers.d.ts.map |
@@ -1,1 +0,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,GACd,gBAAgB,CAWlB"} | ||
| {"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,GAClB,gBAAgB,CAgClB"} |
+34
-3
| /** | ||
| * Truncates a string to a maximum number of lines. | ||
| * Returns the truncated string and the number of lines dropped. | ||
| */ | ||
| function truncateLines(text, maxLines) { | ||
| const lines = text.split("\n"); | ||
| if (lines.length <= maxLines) { | ||
| return { text, dropped: 0 }; | ||
| } | ||
| const dropped = lines.length - maxLines; | ||
| return { text: lines.slice(0, maxLines).join("\n"), dropped }; | ||
| } | ||
| /** | ||
| * Parses the output of a process run into structured result data. | ||
| */ | ||
| export function parseRunOutput(command, stdout, stderr, exitCode, duration, timedOut, signal) { | ||
| export function parseRunOutput(command, stdout, stderr, exitCode, duration, timedOut, signal, maxOutputLines, truncated) { | ||
| let finalStdout = stdout.trimEnd() || undefined; | ||
| let finalStderr = stderr.trimEnd() || undefined; | ||
| let stdoutTruncatedLines; | ||
| let stderrTruncatedLines; | ||
| if (maxOutputLines != null && maxOutputLines > 0) { | ||
| if (finalStdout) { | ||
| const result = truncateLines(finalStdout, maxOutputLines); | ||
| finalStdout = result.text || undefined; | ||
| stdoutTruncatedLines = result.dropped > 0 ? result.dropped : undefined; | ||
| } | ||
| if (finalStderr) { | ||
| const result = truncateLines(finalStderr, maxOutputLines); | ||
| finalStderr = result.text || undefined; | ||
| stderrTruncatedLines = result.dropped > 0 ? result.dropped : undefined; | ||
| } | ||
| } | ||
| return { | ||
@@ -9,9 +37,12 @@ command, | ||
| exitCode, | ||
| stdout: stdout.trimEnd() || undefined, | ||
| stderr: stderr.trimEnd() || undefined, | ||
| stdout: finalStdout, | ||
| stderr: finalStderr, | ||
| duration, | ||
| timedOut, | ||
| truncated: truncated || undefined, | ||
| signal: signal || undefined, | ||
| stdoutTruncatedLines, | ||
| stderrTruncatedLines, | ||
| }; | ||
| } | ||
| //# sourceMappingURL=parsers.js.map |
@@ -1,1 +0,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;IAEf,OAAO;QACL,OAAO;QACP,OAAO,EAAE,QAAQ,KAAK,CAAC,IAAI,CAAC,QAAQ;QACpC,QAAQ;QACR,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;QACrC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,SAAS;QACrC,QAAQ;QACR,QAAQ;QACR,MAAM,EAAE,MAAM,IAAI,SAAS;KAC5B,CAAC;AACJ,CAAC"} | ||
| {"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;IAEnB,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,QAAQ;QACR,SAAS,EAAE,SAAS,IAAI,SAAS;QACjC,MAAM,EAAE,MAAM,IAAI,SAAS;QAC3B,oBAAoB;QACpB,oBAAoB;KACrB,CAAC;AACJ,CAAC"} |
@@ -11,5 +11,8 @@ import { z } from "zod"; | ||
| timedOut: z.ZodBoolean; | ||
| truncated: z.ZodOptional<z.ZodBoolean>; | ||
| signal: z.ZodOptional<z.ZodString>; | ||
| stdoutTruncatedLines: z.ZodOptional<z.ZodNumber>; | ||
| stderrTruncatedLines: z.ZodOptional<z.ZodNumber>; | ||
| }, z.core.$strip>; | ||
| export type ProcessRunResult = z.infer<typeof ProcessRunResultSchema>; | ||
| //# sourceMappingURL=index.d.ts.map |
@@ -1,1 +0,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;;;;;;;;;iBASjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"} | ||
| {"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;;;;;;;;;;;;iBAYjC,CAAC;AAEH,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC"} |
@@ -11,4 +11,7 @@ import { z } from "zod"; | ||
| timedOut: z.boolean(), | ||
| truncated: z.boolean().optional(), | ||
| signal: z.string().optional(), | ||
| stdoutTruncatedLines: z.number().optional(), | ||
| stderrTruncatedLines: z.number().optional(), | ||
| }); | ||
| //# sourceMappingURL=index.js.map |
@@ -1,1 +0,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;CAC9B,CAAC,CAAC"} | ||
| {"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,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"} |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAYzE,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,MAAM,EAAE,SAAS,QAuGhD"} | ||
| {"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,QAiNhD"} |
+112
-9
@@ -6,2 +6,24 @@ import { z } from "zod"; | ||
| import { ProcessRunResultSchema } from "../schemas/index.js"; | ||
| const VALID_KILL_SIGNALS = [ | ||
| "SIGTERM", | ||
| "SIGKILL", | ||
| "SIGINT", | ||
| "SIGHUP", | ||
| "SIGQUIT", | ||
| "SIGABRT", | ||
| "SIGUSR1", | ||
| "SIGUSR2", | ||
| ]; | ||
| const VALID_ENCODINGS = [ | ||
| "utf-8", | ||
| "utf8", | ||
| "ascii", | ||
| "latin1", | ||
| "binary", | ||
| "hex", | ||
| "base64", | ||
| "utf16le", | ||
| "ucs-2", | ||
| "ucs2", | ||
| ]; | ||
| /** Registers the `run` tool on the given MCP server. */ | ||
@@ -11,3 +33,8 @@ export function registerRunTool(server) { | ||
| title: "Process Run", | ||
| description: "Runs a command and returns structured output (stdout, stderr, exit code, duration, timeout status). Use instead of running commands directly in the terminal.", | ||
| description: "Runs a command and returns structured output (stdout, stderr, exit code, duration, timeout status). Use instead of running commands directly in the terminal.\n\n" + | ||
| "**Security note**: The `shell` parameter enables shell-mode execution. " + | ||
| "When shell=true, the command string is passed through the system shell " + | ||
| "(e.g., /bin/sh or cmd.exe), enabling features like glob expansion, piping, " + | ||
| "and variable substitution — but also exposing the command to shell injection risks. " + | ||
| "Only use shell=true when you trust the input and need shell features.", | ||
| inputSchema: { | ||
@@ -41,2 +68,29 @@ command: z | ||
| .describe("Additional environment variables as key-value pairs"), | ||
| stdin: z | ||
| .string() | ||
| .max(1_000_000) | ||
| .optional() | ||
| .describe("Input data to write to the command's stdin (e.g., for piping to jq, grep)"), | ||
| maxBuffer: z | ||
| .number() | ||
| .int() | ||
| .min(1024) | ||
| .max(100 * 1024 * 1024) | ||
| .optional() | ||
| .describe("Maximum combined stdout+stderr buffer size in bytes (default: 10MB, max: 100MB)"), | ||
| killSignal: z | ||
| .enum(VALID_KILL_SIGNALS) | ||
| .optional() | ||
| .describe("Signal sent to the process on timeout (default: SIGTERM)"), | ||
| maxOutputLines: z | ||
| .number() | ||
| .int() | ||
| .min(1) | ||
| .max(100_000) | ||
| .optional() | ||
| .describe("Truncate stdout/stderr to this many lines (more agent-friendly than byte-based maxBuffer)"), | ||
| encoding: z | ||
| .enum(VALID_ENCODINGS) | ||
| .optional() | ||
| .describe("Output encoding for commands that produce non-UTF-8 output (default: utf-8)"), | ||
| compact: z | ||
@@ -47,5 +101,17 @@ .boolean() | ||
| .describe("Auto-compact when structured output exceeds raw CLI tokens. Set false to always get full schema."), | ||
| shell: z | ||
| .boolean() | ||
| .optional() | ||
| .default(false) | ||
| .describe("Run the command through the system shell (enables glob expansion, piping, variable substitution). " + | ||
| "WARNING: shell=true exposes the command to shell injection risks. Only use when you trust the input."), | ||
| stripEnv: z | ||
| .boolean() | ||
| .optional() | ||
| .default(false) | ||
| .describe("Run with a minimal environment (only PATH + explicit env vars). " + | ||
| "Prevents leaking sensitive parent environment variables to the child process."), | ||
| }, | ||
| outputSchema: ProcessRunResultSchema, | ||
| }, async ({ command, args, cwd, timeout, env, compact }) => { | ||
| }, async ({ command, args, cwd, timeout, env, stdin, maxBuffer, killSignal, maxOutputLines, encoding, compact, shell, stripEnv, }) => { | ||
| assertAllowedByPolicy(command, "process"); | ||
@@ -57,10 +123,33 @@ const workDir = cwd || process.cwd(); | ||
| let timedOut = false; | ||
| let truncated = false; | ||
| let signal; | ||
| let result; | ||
| // Build the environment for the child process | ||
| let childEnv; | ||
| if (stripEnv) { | ||
| // Minimal environment: only PATH + user-provided env vars | ||
| const minimalEnv = {}; | ||
| if (process.env.PATH) { | ||
| minimalEnv.PATH = process.env.PATH; | ||
| } | ||
| if (env) { | ||
| Object.assign(minimalEnv, env); | ||
| } | ||
| childEnv = minimalEnv; | ||
| } | ||
| else if (env) { | ||
| childEnv = { ...process.env, ...env }; | ||
| } | ||
| // Build run options | ||
| const runOpts = { | ||
| cwd: workDir, | ||
| timeout: timeoutMs, | ||
| env: childEnv, | ||
| stdin: stdin || undefined, | ||
| maxBuffer: maxBuffer || undefined, | ||
| shell: shell || undefined, | ||
| replaceEnv: stripEnv || undefined, | ||
| }; | ||
| try { | ||
| result = await run(command, args ?? [], { | ||
| cwd: workDir, | ||
| timeout: timeoutMs, | ||
| env: env ? { ...process.env, ...env } : undefined, | ||
| }); | ||
| result = await run(command, args ?? [], runOpts); | ||
| } | ||
@@ -74,3 +163,3 @@ catch (err) { | ||
| const sigMatch = errMsg.match(/\((\w+)\)/); | ||
| signal = sigMatch?.[1]; | ||
| signal = sigMatch?.[1] ?? killSignal; | ||
| result = { | ||
@@ -82,2 +171,11 @@ exitCode: 124, // Standard timeout exit code | ||
| } | ||
| else if (errMsg.includes("maxBuffer")) { | ||
| // Buffer exceeded — return partial result with truncated flag | ||
| truncated = true; | ||
| result = { | ||
| exitCode: 1, | ||
| stdout: "", | ||
| stderr: errMsg, | ||
| }; | ||
| } | ||
| else { | ||
@@ -89,3 +187,8 @@ // Re-throw non-timeout errors (command not found, permission denied, etc.) | ||
| const duration = Date.now() - start; | ||
| const data = parseRunOutput(command, result.stdout, result.stderr, result.exitCode, duration, timedOut, signal); | ||
| // Handle encoding conversion if non-default specified | ||
| // The shared runner always returns utf-8 strings; encoding param documents | ||
| // the expected encoding for agent awareness. The Node.js runner handles | ||
| // binary-to-string conversion automatically. | ||
| void encoding; | ||
| const data = parseRunOutput(command, result.stdout, result.stderr, result.exitCode, duration, timedOut, signal, maxOutputLines, truncated); | ||
| const rawOutput = (result.stdout + "\n" + result.stderr).trim(); | ||
@@ -92,0 +195,0 @@ return compactDualOutput(data, rawOutput, formatRun, compactRunMap, formatRunCompact, compact === false); |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/tools/run.ts"],"names":[],"mappings":"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"} | ||
| {"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,MAAM,kBAAkB,GAAG;IACzB,SAAS;IACT,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,SAAS;IACT,SAAS;IACT,SAAS;IACT,SAAS;CACD,CAAC;AAEX,MAAM,eAAe,GAAG;IACtB,OAAO;IACP,MAAM;IACN,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,KAAK;IACL,QAAQ;IACR,SAAS;IACT,OAAO;IACP,MAAM;CACE,CAAC;AAEX,wDAAwD;AACxD,MAAM,UAAU,eAAe,CAAC,MAAiB;IAC/C,MAAM,CAAC,YAAY,CACjB,KAAK,EACL;QACE,KAAK,EAAE,aAAa;QACpB,WAAW,EACT,mKAAmK;YACnK,yEAAyE;YACzE,yEAAyE;YACzE,6EAA6E;YAC7E,sFAAsF;YACtF,uEAAuE;QACzE,WAAW,EAAE;YACX,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,gBAAgB,CAAC;iBAClC,QAAQ,CAAC,iDAAiD,CAAC;YAC9D,IAAI,EAAE,CAAC;iBACJ,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAC9C,GAAG,CAAC,YAAY,CAAC,SAAS,CAAC;iBAC3B,QAAQ,EAAE;iBACV,OAAO,CAAC,EAAE,CAAC;iBACX,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,GAAG,EAAE,CAAC;iBACH,MAAM,EAAE;iBACR,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC;iBAC1B,QAAQ,EAAE;iBACV,QAAQ,CAAC,kCAAkC,CAAC;YAC/C,OAAO,EAAE,CAAC;iBACP,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,OAAO,CAAC;iBACZ,QAAQ,EAAE;iBACV,OAAO,CAAC,MAAM,CAAC;iBACf,QAAQ,CAAC,uDAAuD,CAAC;YACpE,GAAG,EAAE,CAAC;iBACH,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;iBAC3D,QAAQ,EAAE;iBACV,QAAQ,CAAC,qDAAqD,CAAC;YAClE,KAAK,EAAE,CAAC;iBACL,MAAM,EAAE;iBACR,GAAG,CAAC,SAAS,CAAC;iBACd,QAAQ,EAAE;iBACV,QAAQ,CAAC,2EAA2E,CAAC;YACxF,SAAS,EAAE,CAAC;iBACT,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,IAAI,CAAC;iBACT,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;iBACtB,QAAQ,EAAE;iBACV,QAAQ,CACP,iFAAiF,CAClF;YACH,UAAU,EAAE,CAAC;iBACV,IAAI,CAAC,kBAAkB,CAAC;iBACxB,QAAQ,EAAE;iBACV,QAAQ,CAAC,0DAA0D,CAAC;YACvE,cAAc,EAAE,CAAC;iBACd,MAAM,EAAE;iBACR,GAAG,EAAE;iBACL,GAAG,CAAC,CAAC,CAAC;iBACN,GAAG,CAAC,OAAO,CAAC;iBACZ,QAAQ,EAAE;iBACV,QAAQ,CACP,2FAA2F,CAC5F;YACH,QAAQ,EAAE,CAAC;iBACR,IAAI,CAAC,eAAe,CAAC;iBACrB,QAAQ,EAAE;iBACV,QAAQ,CAAC,6EAA6E,CAAC;YAC1F,OAAO,EAAE,CAAC;iBACP,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,IAAI,CAAC;iBACb,QAAQ,CACP,kGAAkG,CACnG;YACH,KAAK,EAAE,CAAC;iBACL,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CACP,oGAAoG;gBAClG,sGAAsG,CACzG;YACH,QAAQ,EAAE,CAAC;iBACR,OAAO,EAAE;iBACT,QAAQ,EAAE;iBACV,OAAO,CAAC,KAAK,CAAC;iBACd,QAAQ,CACP,kEAAkE;gBAChE,+EAA+E,CAClF;SACJ;QACD,YAAY,EAAE,sBAAsB;KACrC,EACD,KAAK,EAAE,EACL,OAAO,EACP,IAAI,EACJ,GAAG,EACH,OAAO,EACP,GAAG,EACH,KAAK,EACL,SAAS,EACT,UAAU,EACV,cAAc,EACd,QAAQ,EACR,OAAO,EACP,KAAK,EACL,QAAQ,GACT,EAAE,EAAE;QACH,qBAAqB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACrC,iBAAiB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACtC,MAAM,SAAS,GAAG,OAAO,IAAI,MAAM,CAAC;QAEpC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACzB,IAAI,QAAQ,GAAG,KAAK,CAAC;QACrB,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,IAAI,MAA0B,CAAC;QAC/B,IAAI,MAA4D,CAAC;QAEjE,8CAA8C;QAC9C,IAAI,QAA4C,CAAC;QACjD,IAAI,QAAQ,EAAE,CAAC;YACb,0DAA0D;YAC1D,MAAM,UAAU,GAA2B,EAAE,CAAC;YAC9C,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACrB,UAAU,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;YACrC,CAAC;YACD,IAAI,GAAG,EAAE,CAAC;gBACR,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC;YACD,QAAQ,GAAG,UAAU,CAAC;QACxB,CAAC;aAAM,IAAI,GAAG,EAAE,CAAC;YACf,QAAQ,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,EAA4B,CAAC;QAClE,CAAC;QAED,oBAAoB;QACpB,MAAM,OAAO,GAA8B;YACzC,GAAG,EAAE,OAAO;YACZ,OAAO,EAAE,SAAS;YAClB,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,SAAS,EAAE,SAAS,IAAI,SAAS;YACjC,KAAK,EAAE,KAAK,IAAI,SAAS;YACzB,UAAU,EAAE,QAAQ,IAAI,SAAS;SAClC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,GAAG,MAAM,GAAG,CAAC,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,GAAY,EAAE,CAAC;YACtB,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAEhE,+CAA+C;YAC/C,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACjC,QAAQ,GAAG,IAAI,CAAC;gBAChB,8DAA8D;gBAC9D,MAAM,QAAQ,GAAG,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;gBAC3C,MAAM,GAAG,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;gBACrC,MAAM,GAAG;oBACP,QAAQ,EAAE,GAAG,EAAE,6BAA6B;oBAC5C,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,MAAM;iBACf,CAAC;YACJ,CAAC;iBAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBACxC,8DAA8D;gBAC9D,SAAS,GAAG,IAAI,CAAC;gBACjB,MAAM,GAAG;oBACP,QAAQ,EAAE,CAAC;oBACX,MAAM,EAAE,EAAE;oBACV,MAAM,EAAE,MAAM;iBACf,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,2EAA2E;gBAC3E,MAAM,GAAG,CAAC;YACZ,CAAC;QACH,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC;QAEpC,sDAAsD;QACtD,2EAA2E;QAC3E,wEAAwE;QACxE,6CAA6C;QAC7C,KAAK,QAAQ,CAAC;QAEd,MAAM,IAAI,GAAG,cAAc,CACzB,OAAO,EACP,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,QAAQ,EACf,QAAQ,EACR,QAAQ,EACR,MAAM,EACN,cAAc,EACd,SAAS,CACV,CAAC;QACF,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,GAAG,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,OAAO,iBAAiB,CACtB,IAAI,EACJ,SAAS,EACT,SAAS,EACT,aAAa,EACb,gBAAgB,EAChB,OAAO,KAAK,KAAK,CAClB,CAAC;IACJ,CAAC,CACF,CAAC;AACJ,CAAC"} |
+2
-2
| { | ||
| "name": "@paretools/process", | ||
| "version": "0.8.5", | ||
| "version": "0.9.0", | ||
| "mcpName": "io.github.Dave-London/pare-process", | ||
@@ -54,3 +54,3 @@ "description": "MCP server for running commands with structured output, timeout, and signal support", | ||
| "zod": "^4.3.6", | ||
| "@paretools/shared": "0.8.5" | ||
| "@paretools/shared": "0.9.0" | ||
| }, | ||
@@ -57,0 +57,0 @@ "devDependencies": { |
Environment variable access
Supply chain riskPackage accesses environment variables, which may be a sign of credential stuffing or data theft.
30803
52.44%372
77.99%3
200%+ Added
- Removed
Updated