/** * Trace tool — standalone quick verbatim reads and checks. * * Split from the `flow` tool to eliminate the confusion where the agent * nested dispatch ops as siblings in the `flow[]` array instead of inside * a task object. Trace is self-defining (agents/trace.md already * contains the full mission), so it needs zero required fields. */ import { type Static } from "@sinclair/typebox"; import type { ExtensionContext } from "@earendil-works/pi-coding-agent"; import type { AgentToolResult } from "@earendil-works/pi-agent-core"; import { type LoadedFlowModelConfigs } from "../config/config.js"; import { type FlowDetails } from "../types/flow.js"; export declare const TraceParams: any; export interface TraceToolOptions { getSettings?: () => { toolOptimize: boolean; structuredOutput: boolean; bodyVerbosity: "lite" | "full"; contextCompression?: import("../core2/snapshot.js").CompressionLevel; } | undefined; getDepthConfig?: () => { currentDepth: number; maxDepth: number; ancestorFlowStack: string[]; preventCycles: boolean; } | undefined; getLoadedFlowModelConfigs?: () => LoadedFlowModelConfigs | undefined; tierOverrideResolver?: (tier: "lite" | "flash" | "full") => string | undefined; fallbackModel?: string; } export declare function createTraceTool(opts?: TraceToolOptions): { name: string; label: string; promptSnippet: string; promptGuidelines: string[]; description: string; parameters: any; prepareArguments: (input: unknown) => unknown; execute(toolCallId: string, params: Static, signal: AbortSignal | undefined, onUpdate: any, ctx: ExtensionContext): Promise>; renderCall: (args: any, theme: any) => import("@earendil-works/pi-tui").Text | import("@earendil-works/pi-tui").Container; renderResult: (result: any, { expanded }: any, theme: any, args: any) => import("@earendil-works/pi-tui").Text | import("@earendil-works/pi-tui").Container; }; //# sourceMappingURL=trace.d.ts.map