/** * Optional formatter that downstream consumers (e.g. gg-editor) can pass to * customise the per-tool header and inline summary without forking this * component. Each fn returns `undefined` to fall back to the built-in * behaviour. Same shape applies to running + done states. */ /** Inline summary is either plain text (uses textDim) or styled with a hex color. */ export type InlineSummary = string | { text: string; color: string; }; export interface ToolExecutionFormatters { /** Override the bold tool label, e.g. "Cut Filler Words". */ formatLabel?: (name: string, args: Record) => string | undefined; /** Override the parenthetical detail, e.g. `"transcript.json"` → `Cut Filler Words(transcript.json)`. */ formatDetail?: (name: string, args: Record) => string | undefined; /** * Override the inline summary at done time. Return a string for the default * dim color, or `{ text, color }` to render in a custom color (e.g. gg-boss * uses this to randomise the "dispatched" color per call). */ formatInline?: (name: string, result: string, isError: boolean) => InlineSummary | undefined; } interface ToolRunningProps { status: "running"; name: string; args: Record; /** Live progress output (e.g., bash streaming stdout). */ progressOutput?: string; /** Animate the running indicator until this timestamp, then settle static. */ animateUntil?: number; formatters?: ToolExecutionFormatters; marginTop?: number; } interface ToolDoneProps { status: "done"; name: string; args: Record; result: string; isError: boolean; details?: unknown; formatters?: ToolExecutionFormatters; marginTop?: number; } type ToolExecutionProps = ToolRunningProps | ToolDoneProps; export declare function ToolExecution(props: ToolExecutionProps): import("react/jsx-runtime").JSX.Element; export {}; //# sourceMappingURL=ToolExecution.d.ts.map