IcarusTool

Trait IcarusTool 

Source
pub trait IcarusTool: Send + Sync {
    // Required methods
    fn info(&self) -> ToolInfo;
    fn to_rmcp_tool(&self) -> Tool;
    fn execute<'life0, 'async_trait>(
        &'life0 self,
        args: Value,
    ) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>
       where Self: 'async_trait,
             'life0: 'async_trait;

    // Provided methods
    fn requires_stable_storage(&self) -> bool { ... }
    fn storage_requirements(&self) -> StorageRequirements { ... }
}
Expand description

Core trait for Icarus tools that integrate with rmcp

Required Methods§

Source

fn info(&self) -> ToolInfo

Get tool information

Source

fn to_rmcp_tool(&self) -> Tool

Convert to rmcp tool representation

Source

fn execute<'life0, 'async_trait>( &'life0 self, args: Value, ) -> Pin<Box<dyn Future<Output = Result<Value>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait,

Execute the tool with given arguments

Provided Methods§

Source

fn requires_stable_storage(&self) -> bool

Check if the tool requires stable storage

Source

fn storage_requirements(&self) -> StorageRequirements

Get storage requirements for capacity planning

Implementors§