Skip to main content

codei_llm/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum LlmError {
5    #[error("provider {provider} is not configured")]
6    ProviderNotConfigured { provider: String },
7
8    #[error("missing API key: set {env} environment variable or configure api_key")]
9    MissingApiKey { env: String },
10
11    #[error("configuration error: {0}")]
12    Config(String),
13
14    #[error("HTTP request failed: {0}")]
15    Http(#[from] reqwest::Error),
16
17    #[error("API error ({status}): {message}")]
18    Api { status: u16, message: String },
19
20    #[error("failed to parse streaming response: {0}")]
21    StreamParse(String),
22
23    #[error("unsupported provider: {0}")]
24    UnsupportedProvider(String),
25}