1use thiserror::Error;
4
5#[derive(Debug, Error)]
7pub enum Error {
8 #[error("Configuration error: {0}")]
10 Configuration(String),
11
12 #[error("Invalid language: {0}")]
14 InvalidLanguage(String),
15
16 #[error("Processing error: {0}")]
18 Processing(#[from] crate::application::config::ProcessingError),
19
20 #[error("Infrastructure error: {0}")]
22 Infrastructure(String),
23
24 #[error("Invalid input: {0}")]
26 InvalidInput(String),
27
28 #[error("Feature not supported: {0}")]
30 Unsupported(String),
31}
32
33pub type Result<T> = std::result::Result<T, Error>;