pub mod anthropic; pub mod gemini; pub mod mistral; pub mod ollama; pub mod openai; pub mod provider; pub use provider::*; use serde::{Deserialize, Serialize}; #[derive(Debug, Clone, Serialize, Deserialize)] pub struct Message { pub role: String, pub content: String, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ChatResponse { pub content: String, pub model: String, pub usage: Option, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct TokenUsage { pub prompt_tokens: u32, pub completion_tokens: u32, pub total_tokens: u32, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct AnalysisResult { pub summary: String, pub key_findings: Vec, pub suggested_why1: String, pub severity_assessment: String, } #[derive(Debug, Clone, Serialize, Deserialize)] pub struct ProviderInfo { pub name: String, pub supports_streaming: bool, pub models: Vec, }