use serde::Deserialize;
#[derive(Debug, Deserialize)]
pub struct SearchResponse {
pub answer: Option<String>,
pub query: String,
pub response_time: f32,
pub follow_up_questions: Option<Vec<String>>,
pub images: Option<Vec<String>>,
pub results: Vec<SearchResult>,
}
#[derive(Debug, Deserialize)]
pub struct SearchResult {
pub title: String,
pub url: String,
pub content: String,
pub raw_content: Option<String>,
pub score: f32,
}
#[derive(Debug, Deserialize)]
pub struct ExtractResult {
pub results: Vec<ExtractResultItem>,
pub failed_results: Vec<FailedExtractResult>,
pub response_time: f64,
}
#[derive(Debug, Deserialize)]
pub struct ExtractResultItem {
pub url: String,
pub raw_content: String,
}
#[derive(Debug, Deserialize)]
pub struct FailedExtractResult {
pub url: String,
pub error: String,
}