pub type ToolFn = Arc<dyn Fn(&Value) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send>> + Send + Sync>;
异步工具执行函数类型 — 接受 JSON 参数,返回 boxed future。
pub struct ToolFn { /* private fields */ }