mod args;
mod executor;
pub use args::ToolArgs;
pub use executor::{
BatchExecutionResult, ParallelSafety, ToolCategory, ToolExecutor, ToolRegistration,
};
pub(crate) type ToolFn = std::sync::Arc<
dyn Fn(
&serde_json::Value,
)
-> std::pin::Pin<Box<dyn std::future::Future<Output = super::ToolResult> + Send>>
+ Send
+ Sync,
>;