use thiserror::Error; #[derive(Error, Debug)] pub enum Error { #[error("XML error: {0}")] Xml(String), #[error("SSH error: {0}")] Ssh(#[from] russh::Error), #[error("Command failed : {0}")] Command(String), #[error("I/O error: {0}")] Io(#[from] std::io::Error), #[error("Config error: {0}")] Config(String), #[error("Unexpected error: {0}")] Unexpected(String), }