Skip to main content

box_tools

Macro box_tools 

Source
macro_rules! box_tools {
    ($($tool:expr),* $(,)?) => { ... };
}
Expand description

Create a Vec<Box<dyn DynTool>> from heterogeneous tool types.

This macro boxes each tool and collects them into a vector that can be passed to crate::AgentBuilder::add_tools().

§Example

use mixtape_core::{Agent, box_tools, ClaudeSonnet4};

let agent = Agent::builder()
    .bedrock(ClaudeSonnet4)
    .add_tools(box_tools![Calculator, WeatherLookup, FileReader])
    .build()
    .await?;

This is equivalent to:

.add_tool(Calculator)
.add_tool(WeatherLookup)
.add_tool(FileReader)