pub type ToolFunc = Box<dyn Fn(State) -> Result<Value> + Send + Sync>;
pub struct ToolFunc(/* private fields */);