Skip to main content

Toolset

Trait Toolset 

Source
pub trait Toolset:
    Send
    + Sync
    + 'static {
    type ToolCall: ToolCallWrapper + Clone + Debug + Eq + PartialEq + Send + Sync + 'static;
    type Selector: ToolSelector<Self>;

    // Required methods
    fn definitions() -> &'static [ToolDef];
    fn parse_tool_call(
        metadata: ToolMetadata,
    ) -> Result<Self::ToolCall, ToolCallError>;

    // Provided method
    fn definitions_for<I>(selectors: I) -> Vec<&'static ToolDef>
       where I: IntoIterator<Item = Self::Selector> { ... }
}

Required Associated Types§

Required Methods§

Provided Methods§

Source

fn definitions_for<I>(selectors: I) -> Vec<&'static ToolDef>
where I: IntoIterator<Item = Self::Selector>,

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§