use thiserror::Error;
#[derive(Debug, Error)]
pub enum MoldError {
#[error("{0}")]
Validation(String),
#[error("{0}")]
Download(String),
#[error("{0}")]
Config(String),
#[error("{0}")]
Client(String),
#[error("{0}")]
ModelNotFound(String),
#[error("{0}")]
Inference(String),
#[error(transparent)]
Other(#[from] anyhow::Error),
}
pub type Result<T> = std::result::Result<T, MoldError>;
impl From<crate::download::DownloadError> for MoldError {
fn from(err: crate::download::DownloadError) -> Self {
MoldError::Download(err.to_string())
}
}