use thiserror::Error;
#[derive(Error, Debug)]
pub enum PipelineError {
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("Tool error: {0}")]
Tool(#[from] crate::tools::ToolError),
#[error("Build failed: {0}")]
BuildFailed(String),
#[error("Tool execution failed: {0}")]
ToolFailed(String),
#[error("File not found: {0}")]
FileNotFound(String),
}