use thiserror::Error;
pub type Result<T> = std::result::Result<T, ClientError>;
#[derive(Error, Debug)]
pub enum ClientError {
#[error("Unable to load manifest: {0:?}")]
ManifestLoad(anyhow::Error),
#[error(transparent)]
NatsError(#[from] async_nats::RequestError),
#[error("Invalid request: {0}")]
ApiError(String),
#[error("Model not found: {0}")]
NotFound(String),
#[error("Unable to parse manifest: {0:?}")]
Serialization(#[from] SerializationError),
#[error(transparent)]
Other(#[from] anyhow::Error),
}
#[derive(Error, Debug)]
pub enum SerializationError {
#[error(transparent)]
Yaml(#[from] serde_yaml::Error),
#[error(transparent)]
Json(#[from] serde_json::Error),
}