pub async fn execute_tools( calls: &[ToolCall], registry: &HashMap<String, RegisteredTool>, ) -> Vec<ToolResult>