import type { AgentTool } from "@apholdings/jensen-agent-core"; import { type Static } from "@sinclair/typebox"; export interface ProcessRecord { /** Unique run ID generated at start time */ runId: string; /** Root PID of the spawned process tree */ rootPid: number; /** PID of the process actually listening on the port (when available) */ listenerPid?: number; /** The command that was executed */ command: string; /** Working directory */ cwd: string; /** Path to stdout log file */ stdoutPath: string; /** Path to stderr log file */ stderrPath: string; /** Port the process is expected to listen on (optional) */ expectedPort?: number; /** ISO 8601 timestamp when started */ startedAt: string; /** Current state */ status: "starting" | "running" | "stopped" | "failed"; /** Last N lines of stderr on failure */ lastErrorLines?: string; } declare const processManagerSchema: import("@sinclair/typebox").TObject<{ action: import("@sinclair/typebox").TEnum<{ TODO: "TODO"; START: "start"; STATUS: "status"; STOP: "stop"; LIST: "list"; }>; command: import("@sinclair/typebox").TOptional; cwd: import("@sinclair/typebox").TOptional; runId: import("@sinclair/typebox").TOptional; expectedPort: import("@sinclair/typebox").TOptional; readyTimeout: import("@sinclair/typebox").TOptional; }>; export type ProcessManagerInput = Static; export interface ProcessManagerOperations { execPowerShell(command: string, cwd: string, options: { signal?: AbortSignal; timeout?: number; }): Promise<{ exitCode: number | null; stdout: string; stderr: string; }>; } export interface ProcessManagerToolOptions { operations?: ProcessManagerOperations; } export declare function createProcessManagerTool(cwd: string, options?: ProcessManagerToolOptions): AgentTool; /** Default process manager tool */ export declare const processManagerTool: AgentTool; command: import("@sinclair/typebox").TOptional; cwd: import("@sinclair/typebox").TOptional; runId: import("@sinclair/typebox").TOptional; expectedPort: import("@sinclair/typebox").TOptional; readyTimeout: import("@sinclair/typebox").TOptional; }>, any>; export {}; //# sourceMappingURL=process-manager.d.ts.map