use mixtape_core::{Agent, Display, ToolResult};
use serde_json::Value;
pub trait ToolFormatter: Send + Sync {
fn format_tool_input(&self, name: &str, input: &Value, display: Display) -> Option<String>;
fn format_tool_output(
&self,
name: &str,
output: &ToolResult,
display: Display,
) -> Option<String>;
}
impl ToolFormatter for Agent {
fn format_tool_input(&self, name: &str, input: &Value, display: Display) -> Option<String> {
Agent::format_tool_input(self, name, input, display)
}
fn format_tool_output(
&self,
name: &str,
output: &ToolResult,
display: Display,
) -> Option<String> {
Agent::format_tool_output(self, name, output, display)
}
}