use thiserror::Error;
#[derive(Debug, Error)]
pub enum ImagesError {
#[error("Build failed: {id} - {reason}")]
BuildFailed { id: String, reason: String },
#[error("Build not found: {id}")]
BuildNotFound { id: String },
#[error("Build timed out after {attempts} attempts")]
BuildTimeout { attempts: u32 },
#[error("HTTP request failed: {0}")]
Http(#[from] reqwest::Error),
#[error("Invalid build request: {0}")]
InvalidBuildRequest(String),
#[error("JSON error: {0}")]
Json(#[from] serde_json::Error),
}