#[derive(thiserror::Error, Debug)]
pub enum Error {
#[error(transparent)]
Anyhow(#[from] anyhow::Error),
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(transparent)]
Nats(#[from] async_nats::Error),
#[error("Operation timed out")]
Timeout,
#[error("Invalid configuration: {0}")]
InvalidConfig(String),
#[error("Command failed: {0}")]
CommandFailed(String),
}