pub struct ToolRegistry { /* private fields */ }Implementations§
Source§impl ToolRegistry
impl ToolRegistry
pub fn new(tools: Vec<Arc<dyn ToolExecutor>>) -> Self
pub fn register_tool(&mut self, tool: Arc<dyn ToolExecutor>)
pub fn get_tool_definitions( &self, tool_names: &[ToolName], ) -> Vec<ToolDefinition>
pub async fn process_tools( &self, tool_use: &ToolUseData, allowed_tools: &[ToolName], ) -> Result<Box<dyn ToolCallHandle>, String>
pub fn list_tools(&self) -> Vec<&str>
Sourcepub fn get_tool_executor_by_name(
&self,
name: &str,
) -> Option<&Arc<dyn ToolExecutor>>
pub fn get_tool_executor_by_name( &self, name: &str, ) -> Option<&Arc<dyn ToolExecutor>>
Get tool executor by name
Sourcepub fn get_tool_category_by_name(&self, name: &str) -> Option<ToolCategory>
pub fn get_tool_category_by_name(&self, name: &str) -> Option<ToolCategory>
Get tool category by name
Auto Trait Implementations§
impl Freeze for ToolRegistry
impl !RefUnwindSafe for ToolRegistry
impl !Send for ToolRegistry
impl !Sync for ToolRegistry
impl Unpin 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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreCreates a shared type from an unshared type.