Trait Plugin

Source
pub trait Plugin: Send + Sync {
    // Required methods
    fn name(&self) -> &str;
    fn tools(&self) -> Vec<Box<dyn AsyncTool>>;
    fn supports_tool(&self, tool_name: &str) -> bool;

    // Provided methods
    fn description(&self) -> &str { ... }
    fn version(&self) -> &str { ... }
}
Expand description

Plugin interface - organizes related tools

Required Methods§

Source

fn name(&self) -> &str

Plugin name

Source

fn tools(&self) -> Vec<Box<dyn AsyncTool>>

Get all tools provided by this plugin

Source

fn supports_tool(&self, tool_name: &str) -> bool

Check if this plugin supports a specific tool

Provided Methods§

Source

fn description(&self) -> &str

Plugin description

Source

fn version(&self) -> &str

Plugin version

Implementors§