use serde::{Deserialize, Serialize};
use std::collections::HashMap;
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct ScrapedContent {
pub url: String,
pub content: String,
pub metadata: HashMap<String, String>,
pub timestamp: chrono::DateTime<chrono::Utc>,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct SearchResult {
pub query: String,
pub contents: Vec<ScrapedContent>,
pub summary: Option<String>,
pub processing_time: std::time::Duration,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LLMRequest {
pub model: String,
pub prompt: String,
pub temperature: f32,
pub max_tokens: u32,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LLMResponse {
pub content: String,
pub model: String,
pub usage: LLMUsage,
}
#[derive(Debug, Clone, Serialize, Deserialize)]
pub struct LLMUsage {
pub prompt_tokens: u32,
pub completion_tokens: u32,
pub total_tokens: u32,
}