/** * Cline's native tools → contract kind + canonical input (doc §3.2, rev 19). * Tool names and input shapes read from the cline 3.0.65 binary's own zod * schemas (2026-09-29): * run_commands {commands: [string | {command, args?}]} (also a bare * string / array / {command} / {cmd}) * editor {path, old_text?, new_text, insert_line?} — replaces * old_text, creates the file when old_text is absent, or * inserts at insert_line * apply_patch {input: "*** Begin Patch ..."} or a bare string * read_files {files: [{path, start_line?, end_line?}]} (also * file_paths / paths / bare strings) * search_codebase {queries: string[] | string} (regex patterns) * fetch_web_content {requests: [{url, prompt}]} * spawn_agent {task}, team_* → task; skills, ask_question, * submit_and_exit, switch_to_act_mode → other; MCP tools mcp____. * tool-kind.ts's shared table does not list these names, so this module sets * `kind` itself (AgentMessage.kind wins over the name lookup). */ import type { AgentMessage } from './agent-runner.js'; import { type ToolKind } from './kimicode-runner-tools.js'; /** Contract kind + canonical input for one cline tool call. */ export declare function clineCanonicalTool(name: string, rawInput: unknown): { kind: ToolKind; input: Record; }; /** ACP `tool_call` has no tool name — only ACP's own kind and rawInput. The * cline name it came from, so both protocols share one mapping. */ export declare function acpToolName(acpKind: unknown, rawInput: unknown, title: unknown): string; /** Text of a cline tool output: a string, a ToolOperationResult or an array * of them ({query, result, success, error}), or any other JSON value. */ export declare function clineOutputText(out: unknown): string; /** Pairs cline's tool starts and ends (by toolCallId) into the rich * tool_use/tool_result AgentMessages ToolActivityTracker turns into * matched tool_activity events. */ export declare class ClineToolCalls { private open; /** Ended ids: a second end (ACP reports a refused call failed twice) or a * late start for one is dropped, not turned into a phantom call. */ private closed; /** Whether the latest ended call was refused (never run). */ lastDenied: boolean; start(id: string, name: string, rawInput: unknown, sessionId?: string): AgentMessage | null; /** End message(s); an end whose start never arrived gets one synthesized. * A refused call (`denied`, or a refusal error — cline-runner-scoped.ts) * ends with `denied: true`. */ end(id: string, name: string | undefined, output: unknown, error: string | undefined, sessionId?: string, denied?: boolean): AgentMessage[]; } //# sourceMappingURL=cline-runner-tools.d.ts.map