pub trait ToolExecutor {
// Required methods
fn execute(
&mut self,
tool_name: &str,
input: &str,
) -> Result<ToolResult, ToolError>;
fn query_memory(&mut self, query: &str) -> Result<String, ToolError>;
}pub trait ToolExecutor {
// Required methods
fn execute(
&mut self,
tool_name: &str,
input: &str,
) -> Result<ToolResult, ToolError>;
fn query_memory(&mut self, query: &str) -> Result<String, ToolError>;
}