import type { AgentTool } from '@earendil-works/pi-agent-core'; export interface ExecCommandDetails { command: string; cwd: string; status: 'success' | 'failed' | 'timed_out' | 'blocked'; exitCode: number | null; durationMs: number; timedOut: boolean; truncated: boolean; truncatedBy?: 'lines' | 'bytes' | null; outputBytes: number; stdout: string; stderr: string; aggregatedOutput: string; failureHint?: string; } export interface ExecCommandUpdateDetails { kind: 'command_output_delta'; command: string; cwd: string; stream: 'stdout' | 'stderr'; delta: string; } export interface CreateExecCommandToolOptions { /** Env var names allowed through prepareSafeToolEnv even if they match secret heuristics. */ getSkillPassthroughEnvVarNames?: () => string[]; prepareEnv?: (baseEnv: Record, cwd: string) => Promise>; } export declare function createExecCommandTool(workspaceCwd: string, options?: CreateExecCommandToolOptions): AgentTool;