use tarzi::{config::Config, search::SearchEngine};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
tracing_subscriber::fmt::init();
let config = Config::load().unwrap_or_default();
println!(
"Using engine={} browser={}",
config.search.engine, config.search.browser
);
let mut search_engine = SearchEngine::from_config(&config);
let query = "agentic AI";
match search_engine.search(query, config.search.limit).await {
Ok(results) => {
println!("\nFound {} results:", results.len());
for (i, result) in results.iter().enumerate() {
println!("{}. {}", i + 1, result.title);
println!(" URL: {}", result.url);
println!(" Snippet: {}", result.snippet);
println!();
}
}
Err(e) => {
eprintln!("Search failed (WebDriver/network may be unavailable): {e}");
}
}
search_engine.shutdown().await;
Ok(())
}