pub type Result<T> = std::result::Result<T, Error>;
#[derive(Debug, thiserror::Error)]
#[non_exhaustive]
pub enum Error {
#[error("invalid single-node runtime request: {0}")]
InvalidRequest(String),
#[error("unsupported single-node runtime capability: {0}")]
UnsupportedCapability(String),
#[error("single-node runtime capacity rejected operation: {0}")]
CapacityRejected(String),
#[error("single-node runtime disk pressure: {0}")]
DiskPressure(String),
#[error("single-node sandbox not found: {0}")]
SandboxNotFound(String),
#[error("single-node snapshot not found: {0}")]
SnapshotNotFound(String),
#[error("single-node runtime conflict: {0}")]
Conflict(String),
#[error("single-node template build failed: {0}")]
TemplateBuildFailed(String),
#[error("single-node runtime launch failed: {0}")]
RuntimeLaunchFailed(String),
#[error("single-node runtime command failed: {0}")]
RuntimeCommandFailed(String),
#[error("single-node runtime state persistence failed: {0}")]
StatePersistenceFailed(String),
#[error("single-node runtime protocol failure: {0}")]
ProtocolFailure(String),
}