/// Custom error types for the application /// Uses thiserror for ergonomic error definitions use thiserror::Error; #[derive(Error, Debug)] pub enum DataTransferError { #[error("Configuration error: {0}")] ConfigError(String), #[error("Command execution failed: {0}")] CommandError(String), #[error("I/O error: {0}")] IoError(#[from] std::io::Error), #[error("Unknown error occurred")] Unknown, } pub type Result = std::result::Result;