mentedb_extraction/
error.rs1use thiserror::Error;
2
3#[derive(Debug, Error)]
5pub enum ExtractionError {
6 #[error("provider error: {0}")]
8 ProviderError(String),
9
10 #[error("parse error: {0}")]
12 ParseError(String),
13
14 #[error("config error: {0}")]
16 ConfigError(String),
17
18 #[error("http error: {0}")]
20 HttpError(String),
21
22 #[error("embedding error: {0}")]
24 EmbeddingError(String),
25
26 #[error("rate limit exceeded after {attempts} attempts")]
28 RateLimitExceeded { attempts: usize },
29}
30
31impl From<reqwest::Error> for ExtractionError {
32 fn from(e: reqwest::Error) -> Self {
33 ExtractionError::HttpError(e.to_string())
34 }
35}
36
37impl From<serde_json::Error> for ExtractionError {
38 fn from(e: serde_json::Error) -> Self {
39 ExtractionError::ParseError(e.to_string())
40 }
41}