pub struct ToolRegistry { /* private fields */ }Expand description
Tool registry for managing and discovering tools.
The registry supports:
- Dynamic tool registration and unregistration
- Tool discovery by name or tag
- Caching for performance
- Thread-safe concurrent access
Implementations§
Source§impl ToolRegistry
impl ToolRegistry
Sourcepub async fn register(&self, tool: ToolDefinition) -> Result<()>
pub async fn register(&self, tool: ToolDefinition) -> Result<()>
Register a tool in the registry.
Sourcepub async fn register_many(&self, tools: Vec<ToolDefinition>) -> Result<()>
pub async fn register_many(&self, tools: Vec<ToolDefinition>) -> Result<()>
Register multiple tools at once.
Sourcepub async fn unregister(&self, name: &str) -> Result<Option<ToolDefinition>>
pub async fn unregister(&self, name: &str) -> Result<Option<ToolDefinition>>
Unregister a tool from the registry.
Sourcepub async fn get(&self, name: &str) -> Result<Option<ToolDefinition>>
pub async fn get(&self, name: &str) -> Result<Option<ToolDefinition>>
Get a tool definition by name.
Sourcepub async fn list(&self) -> Result<Vec<ToolDefinition>>
pub async fn list(&self) -> Result<Vec<ToolDefinition>>
List all registered tools.
Sourcepub async fn find_by_tag(&self, tag: &str) -> Result<Vec<ToolDefinition>>
pub async fn find_by_tag(&self, tag: &str) -> Result<Vec<ToolDefinition>>
Find tools by tag.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for ToolRegistry
impl !RefUnwindSafe for ToolRegistry
impl Send for ToolRegistry
impl Sync for ToolRegistry
impl Unpin for ToolRegistry
impl UnsafeUnpin for ToolRegistry
impl !UnwindSafe for ToolRegistry
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more