Public declaration syntax from forge-ts/packages/forge-tool/src/execution.ts Original source SHA-256: 55e38f75ec08327a76b8771800420975893fee9135d44c9a464c8b1cdf665c79 Function bodies and constant values are omitted. This is not the complete implementation. Source line 45 export interface ToolExecutor { /** The name of the tool this executor handles. */ readonly name: string; /** * Executes the tool with the given call arguments. * * @param call - The tool call containing the call ID, tool name, and JSON arguments. * @returns A ToolResult with the execution output. * @throws {ForgeToolError} If the tool logic fails. */ execute(call: ToolCall): Promise; } Source line 75 export class FnToolExecutor implements ToolExecutor { readonly name: string; constructor( name: string, handler: (call: ToolCall) => ToolResult | Promise ); async execute(call: ToolCall): Promise; } Source line 141 export async function executeToolCall( call: ToolCall, definition: ToolDefinition, executor: ToolExecutor, approvalHandler: ApprovalHandler ): Promise;