use thiserror::Error;
#[derive(Debug, Error)]
pub enum WebUIError {
#[error("I/O error: {context}: {source}")]
Io {
context: String,
#[source]
source: std::io::Error,
},
#[error("Component registration error: {0}")]
ComponentRegistration(String),
#[error("Component discovery error: {0}")]
ComponentDiscovery(String),
#[error("{context}: {source}")]
Parse {
context: String,
#[source]
source: webui_parser::ParserError,
},
#[error("{0}")]
Protocol(#[from] webui_protocol::ProtocolError),
#[error("Serialization error: {0}")]
Serialization(String),
#[error("{0}")]
Rendering(#[from] webui_handler::HandlerError),
}