import type { ToolkitScript } from "./script-registry.ts"; /** * Toolkit script invocation: the harness owns execution. Fixed argv per runner (never a shell * string), captured exit/stdout/stderr ALWAYS — the structural error contract that makes * false-success impossible regardless of what the model narrates. */ export interface ScriptExecution { exitCode: number | null; stdout: string; stderr: string; durationMs: number; timedOut: boolean; } export type ScriptExecutor = (command: string, argv: string[], cwd: string, timeoutMs: number, signal?: AbortSignal) => Promise; export declare function buildScriptArgv(script: ToolkitScript, args: readonly string[]): { command: string; argv: string[]; }; /** Default executor: real process spawn, no shell interpolation, bounded output and time. */ export declare const spawnScriptExecutor: ScriptExecutor; export declare function executeToolkitScript(args: { script: ToolkitScript; scriptArgs: readonly string[]; cwd: string; timeoutMs?: number; signal?: AbortSignal; executor?: ScriptExecutor; }): Promise; //# sourceMappingURL=script-runner.d.ts.map