Skip to main content

limit_llm/
error.rs

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}