use super::base::BaseTool;
pub type ToolsRenderer = fn(&[&dyn BaseTool]) -> String;
pub fn render_text_description(tools: &[&dyn BaseTool]) -> String {
tools
.iter()
.map(|t| format!("{} - {}", t.name(), t.description()))
.collect::<Vec<_>>()
.join("\n")
}
pub fn render_text_description_and_args(tools: &[&dyn BaseTool]) -> String {
tools
.iter()
.map(|t| {
let schema = t.tool_call_schema();
format!("{} - {}, args: {}", t.name(), t.description(), schema)
})
.collect::<Vec<_>>()
.join("\n")
}