use thiserror::Error;
#[derive(Debug, Error)]
pub enum WasmError {
#[error("Module loading error: {0}")]
ModuleLoad(String),
#[error("Module validation error: {0}")]
ModuleValidation(String),
#[error("Invalid module format: {0}")]
InvalidFormat(String),
#[error("Unsupported capability: {0}")]
UnsupportedCapability(String),
#[error("Execution error: {0}")]
Execution(String),
#[error("I/O error: {0}")]
Io(#[from] std::io::Error),
#[error("Wasmtime error: {0}")]
Wasmtime(#[from] wasmtime::Error),
}