pub type ToolInvocationFuture<'a> = Pin<Box<dyn Future<Output = Result<Value, String>> + Send + 'a>>;
pub struct ToolInvocationFuture<'a> { /* private fields */ }