Skip to main content

engram_embed/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum EmbedError {
5    #[error("missing API key for {provider}")]
6    MissingKey { provider: &'static str },
7
8    #[error("HTTP error from {provider}: {source}")]
9    Http {
10        provider: &'static str,
11        #[source]
12        source: reqwest::Error,
13    },
14
15    #[error("API error from {provider}: {message}")]
16    Api {
17        provider: &'static str,
18        message: String,
19    },
20
21    #[error("rate limited by {provider}")]
22    RateLimited { provider: &'static str },
23
24    #[error("invalid response from {provider}: {message}")]
25    InvalidResponse {
26        provider: &'static str,
27        message: String,
28    },
29}