mod anthropic;
mod azure_openai;
mod factory;
mod fallback;
mod google;
mod ollama;
mod open_ai;
mod prompt;
pub use anthropic::AnthropicProvider;
pub use azure_openai::AzureOpenAIProvider;
pub use factory::ProviderFactory;
pub use fallback::FallbackProvider;
pub use google::GoogleProvider;
pub use ollama::OllamaProvider;
pub use open_ai::OpenAIProvider;
pub use prompt::COOKLANG_CONVERTER_PROMPT;
use async_trait::async_trait;
use std::error::Error;
#[async_trait]
pub trait LlmProvider: Send + Sync {
fn provider_name(&self) -> &str;
async fn convert(&self, content: &str) -> Result<String, Box<dyn Error>>;
}