/** * Timed Bash Tool Wrapper * * Wraps the built-in bash tool to append execution-time classification * to every result. This gives the LLM concrete feedback to self-correct * strategy (e.g. switch from bash grep to grep tool, batch commands, etc.). * * Child flows also receive a hard deadline from the parent runner. When a * bash command is still running near that deadline, this wrapper aborts just * the bash tool and returns an explicit instruction to stop using tools and * summarize. That preserves the flow state process long enough to produce * its final structured report instead of being killed while a shell command is * still active. */ type TimingTier = "normal" | "avg" | "long" | "extreme_long" | "very_long"; export interface TimingReport { tier: TimingTier; seconds: number; label: string; } /** Classify duration into user-defined tiers with actionable feedback. */ export declare function classifyDuration(ms: number): TimingReport; /** Format the timing appendix that gets appended to bash output. */ export declare function formatTimingAppendix(report: TimingReport): string; /** * Create a timed bash tool definition that wraps the built-in one. * Extensions override built-in tools by name, so this replaces the * default `bash` tool transparently. * * Returns `null` if the underlying `createBashToolDefinition` is not * available (e.g. test environment or incompatible CLI version). */ export declare function createTimedBashToolDefinition(cwd: string, options?: { shellPath?: string; commandPrefix?: string; operations?: any; spawnHook?: any; }): any; export {}; //# sourceMappingURL=timed-bash.d.ts.map