use async_trait::async_trait;
use crate::domain::errors::DomainError;
#[derive(Debug, Clone)]
pub struct WebSearchResult {
pub title: String,
pub url: String,
pub snippet: String,
}
#[async_trait]
pub trait WebSearchService: Send + Sync {
async fn search(&self, query: &str, limit: usize) -> Result<Vec<WebSearchResult>, DomainError>;
}