//! Error types for vendor backend operations. /// Errors that can occur during vendor data operations. #[derive(Debug, thiserror::Error)] pub enum VendorError { /// The requested equipment model was not found in this vendor's catalog. #[error("Model not found: {0}")] ModelNotFound(String), /// The data file has an invalid or unsupported format. #[error("Invalid data format: {0}")] InvalidFormat(String), /// The expected data file could not be found on disk. #[error("Data file not found: {0}")] FileNotFound(String), /// JSON parsing failed. #[error("Parse error: {0}")] ParseError(#[from] serde_json::Error), /// An I/O error occurred while reading vendor data. #[error("IO error reading {path}: {source}")] IoError { /// The path where the IO error occurred. path: String, /// The underlying IO error. #[source] source: std::io::Error, }, }