/** * `ExtensionTool` — a core {@link Tool} backed by an extension subprocess. The TS * sibling of the Rust host's `extension/tool_proxy.rs`. * * Registered tools appear to the agent as ordinary tools named `.` * (the MCP convention). `execute` forwards to the extension over `tool/execute` and * maps the reply back to a result string. */ import type { Tool } from '../agent.js'; import type { ExtensionProcess } from './process.js'; import { type Context } from './protocol.js'; /** * Upper bound (ms) for a single `tool/execute` round-trip. The agent applies its * own per-tool timeout too; whichever is shorter wins in practice. */ export declare const TOOL_EXECUTE_TIMEOUT_MS = 120000; /** A tool exposed by an extension, adapted to the engine's {@link Tool} seam. */ export declare class ExtensionTool implements Tool { private readonly process; private readonly context; /** `.` — what the agent/LLM sees. */ readonly name: string; readonly description: string; readonly parameters: Record; /** Bare tool name sent to the extension. */ private readonly bareName; constructor(extName: string, reg: { name: string; description: string; parameters: Record; }, process: ExtensionProcess, context: Context); execute(args: Record): Promise; } //# sourceMappingURL=tool_proxy.d.ts.map