use std::path::PathBuf;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum ParseError {
#[error("failed to read file '{path}': {source}")]
FileRead {
path: PathBuf,
#[source]
source: std::io::Error,
},
#[error("failed to parse YAML in '{path}': {source}")]
YamlParse {
path: PathBuf,
#[source]
source: serde_yaml::Error,
},
#[error("missing required file: {path}")]
MissingFile { path: PathBuf },
#[error("invalid orb structure: {message}")]
InvalidStructure { message: String },
#[error("failed to read directory '{path}': {source}")]
DirectoryRead {
path: PathBuf,
#[source]
source: std::io::Error,
},
}