use thiserror::Error;
#[derive(Error, Debug)]
pub enum SandboxError {
#[error("Connection failed: {0}")]
ConnectionFailed(String),
#[error("Sandbox not ready: {0}")]
NotReady(String),
#[error("Sandbox not available: {0}")]
NotAvailable(String),
#[error("Configuration error: {0}")]
ConfigError(String),
#[error("Failed to create sandbox: {0}")]
CreateFailed(String),
#[error("Failed to start sandbox: {0}")]
StartFailed(String),
#[error("Start error: {0}")]
StartError(String),
#[error("Execution timed out")]
Timeout,
#[error("Execution failed: {0}")]
ExecutionFailed(String),
#[error("IO error: {0}")]
IoError(#[from] std::io::Error),
#[error("Failed to stop sandbox: {0}")]
StopFailed(String),
}