pub mod claude; pub mod gemini; pub mod langchain; pub mod ollama; pub mod openai; use anyhow::bail; use anyhow::Result; use crate::domain::models::BackendBox; use crate::domain::models::BackendName; pub struct BackendManager {} impl BackendManager { pub fn get(name: BackendName) -> Result { if name == BackendName::LangChain { return Ok(Box::::default()); } if name == BackendName::Ollama { return Ok(Box::::default()); } if name == BackendName::OpenAI { return Ok(Box::::default()); } if name == BackendName::Claude { return Ok(Box::::default()); } if name == BackendName::Gemini { return Ok(Box::::default()); } bail!(format!("No backend implemented for {name}")) } }