use thiserror::Error;
pub type CoreResult<T> = Result<T, CoreError>;
#[derive(Debug, Error)]
pub enum CoreError {
#[error("configuration error: {0}")]
Config(#[from] config::ConfigError),
#[error("subscriber initialization failed")]
SubscriberInit,
#[error("logging setup failed: {0}")]
Logging(String),
#[error("profiling setup failed: {0}")]
Profiling(String),
#[error("service error: {0}")]
Service(String),
}