use toolsearch::{load_servers, simple_search, SearchBuilder};
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
let servers = load_servers("examples/config_example.json")?;
println!("=== Example 1: Simple Search ===\n");
let results = simple_search(&servers, "read").await?;
println!("Found {} tools matching 'read'\n", results.len());
println!("=== Example 2: Search with Builder Pattern ===\n");
let results = SearchBuilder::new(servers.clone())
.query("file,read") .limit(10) .sort_by_tool() .search()
.await?;
println!("Found {} tools (limited to 10, sorted by tool name)\n", results.len());
println!("=== Example 3: Regex Auto-Detection ===\n");
let results = SearchBuilder::new(servers.clone())
.query("^read|^write") .search()
.await?;
println!("Found {} tools matching regex pattern\n", results.len());
println!("=== Example 4: List All Tools ===\n");
let results = SearchBuilder::new(servers)
.limit(20)
.search()
.await?;
println!("Found {} total tools (limited to 20)\n", results.len());
Ok(())
}