use ai_agent_sdk::{get_all_tools, Agent, AgentOptions, EnvConfig};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
println!("--- Example 13: Agent Tool ---\n");
let config = EnvConfig::load();
let model = config.model.unwrap_or_else(|| "claude-sonnet-4-6".to_string());
println!("Using model: {}\n", model);
let tools = get_all_tools();
println!("Available tools: {:?}\n", tools.iter().map(|t| &t.name).collect::<Vec<_>>());
let mut agent = Agent::create(AgentOptions {
model: Some(model.to_string()),
max_turns: Some(10),
tools,
..Default::default()
});
agent.set_system_prompt("You have access to tools. When asked to spawn a subagent, \
use the 'Agent' tool with the appropriate description and prompt.");
let result = agent.prompt(
"Use the 'Agent' tool to spawn a subagent. Description: 'count-numbers'. \
Prompt: 'Count from 1 to 3, one number per line.'"
).await?;
println!("{}", result.text);
println!("\n=== done ===");
Ok(())
}