1#[derive(thiserror::Error, Debug)]
2pub enum LlmError {
3 #[error("API error: {0}")]
4 ApiError(String),
5 #[error("Network error: {0}")]
6 NetworkError(String),
7 #[error("Config error: {0}")]
8 ConfigError(String),
9 #[error("Persistence error: {0}")]
10 PersistenceError(String),
11}
12
13#[derive(thiserror::Error, Debug)]
14pub enum ConfigError {
15 #[error("Invalid provider: '{0}'. Must be 'anthropic' or 'openai'")]
16 InvalidProvider(String),
17
18 #[error("Provider '{0}' not found in config")]
19 MissingProvider(String),
20
21 #[error("No API key for provider '{provider}'. Set api_key in config or {env_var} env var")]
22 MissingApiKey { provider: String, env_var: String },
23
24 #[error("Old config format detected. Please update to multi-provider format")]
25 OldFormat,
26}