use helios_engine::{Agent, CalculatorTool, Config};
#[tokio::main]
async fn main() -> helios_engine::Result<()> {
println!("🚀 Ultra Simple Helios Example\n");
println!("1️⃣ Creating an agent - shortest possible syntax:\n");
let mut agent = Agent::builder("Helper")
.auto_config()
.prompt("You are helpful and concise.")
.build()
.await?;
println!("✓ Agent created!\n");
println!("2️⃣ Asking questions - simplest possible:\n");
let answer = agent.ask("What is 2+2?").await?;
println!("Q: What is 2+2?\nA: {}\n", answer);
println!("3️⃣ Creating config with shortest syntax:\n");
let _config = Config::builder()
.m("gpt-4") .key("your-api-key") .temp(0.8) .tokens(1024) .build();
println!("✓ Config created with ultra-short syntax!\n");
println!("4️⃣ Agent with tools - simplest way:\n");
let mut calc_agent = Agent::builder("Calculator")
.auto_config()
.prompt("You are a math expert.")
.with_tool(Box::new(CalculatorTool)) .build()
.await?;
let result = calc_agent.ask("Calculate 15 * 7 + 5").await?;
println!("Q: Calculate 15 * 7 + 5\nA: {}\n", result);
println!("5️⃣ Quick agent - one method call:\n");
let mut quick_agent = Agent::quick("QuickBot").await?;
let quick_answer = quick_agent.ask("Say hello!").await?;
println!("Response: {}\n", quick_answer);
println!("6️⃣ Creating messages - super short syntax:\n");
use helios_engine::ChatMessage;
let _sys_msg = ChatMessage::sys("You are helpful"); let _user_msg = ChatMessage::msg("Hello there"); let _reply_msg = ChatMessage::reply("Hi! How can I help?");
println!("✓ Messages created with ultra-short syntax!\n");
println!("7️⃣ AutoForest - simplest multi-agent orchestration:\n");
use helios_engine::AutoForest;
let mut forest = AutoForest::new(Config::builder().m("gpt-4").build())
.with_tools(vec![Box::new(CalculatorTool)])
.build()
.await?;
let forest_result = forest.run("Analyze these numbers: 10, 20, 30, 40").await?;
println!("Forest Result:\n{}\n", forest_result);
println!("📊 Syntax Comparison - Short vs Long:\n");
println!("┌─────────────────────┬──────────────────────┬─────────────────┐");
println!("│ Operation │ Short Syntax │ Long Syntax │");
println!("├─────────────────────┼──────────────────────┼─────────────────┤");
println!("│ Create Agent │ Agent::quick() │ Agent::builder()│");
println!("│ Ask Question │ .ask() │ .chat() │");
println!("│ System Prompt │ .prompt() │ .system_prompt() │");
println!("│ Config Model │ .m() │ .model() │");
println!("│ Config Key │ .key() │ .api_key() │");
println!("│ Config Temp │ .temp() │ .temperature() │");
println!("│ Config Tokens │ .tokens() │ .max_tokens() │");
println!("│ System Message │ ChatMessage::sys() │ ChatMessage::system()");
println!("│ User Message │ ChatMessage::msg() │ ChatMessage::user()");
println!("│ Assistant Message │ ChatMessage::reply() │ ChatMessage::assistant()");
println!("│ AutoForest Execute │ .run() │ .execute_task() │");
println!("└─────────────────────┴──────────────────────┴─────────────────┘\n");
println!("✅ All examples completed!");
println!("💡 Tip: Mix and match short and long syntax based on your preference!");
Ok(())
}