use agy_bridge::{AgyBridge, config::AgentConfig};
#[tokio::main]
async fn main() -> Result<(), agy_bridge::error::Error> {
agy_bridge::load_dotenv();
let bridge = AgyBridge::builder().build()?;
let parent_config = AgentConfig::builder()
.system_instructions("You are a coordinator agent that delegates tasks to subagents.")
.build();
let parent = bridge.agent(parent_config).await?;
println!(" Parent agent created (id={})", parent.id());
let child_config = AgentConfig::builder()
.system_instructions("You are a math specialist subagent. Answer concisely.")
.model("gemini-3.5-flash")
.build();
let child = parent.spawn_subagent(child_config, None).await?;
println!(" Child subagent spawned (id={})", child.id());
let prompt = "What is 17 * 23?";
println!(" User → child: {prompt}");
let response_text = child.chat(prompt).await?.text().await?;
println!(" Child: {response_text}");
child.shutdown().await?;
println!(" Child shut down.");
parent.shutdown().await?;
println!(" Parent shut down.");
Ok(())
}