use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("Configuration error: {0}")]
Configuration(String),
#[error("Invalid language: {0}")]
InvalidLanguage(String),
#[error("Processing error: {0}")]
Processing(#[from] crate::application::config::ProcessingError),
#[error("Infrastructure error: {0}")]
Infrastructure(String),
#[error("Invalid input: {0}")]
InvalidInput(String),
#[error("Feature not supported: {0}")]
Unsupported(String),
}
pub type Result<T> = std::result::Result<T, Error>;