use capsula_core::error::CapsulaError;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum MachineContextError {
#[error("Failed to collect system information: {message}")]
SystemInfoError { message: String },
#[error("Failed to get OS information")]
OsInfoError,
#[error("Failed to get CPU information")]
CpuInfoError,
#[error("Failed to get memory information")]
MemoryInfoError,
#[error("Failed to get hostname")]
HostnameError,
#[error("Failed to serialize machine context: {0}")]
Serialization(#[from] serde_json::Error),
}
impl From<MachineContextError> for CapsulaError {
fn from(err: MachineContextError) -> Self {
CapsulaError::ContextFailed {
context: "machine".to_string(),
message: err.to_string(),
source: Box::new(err),
}
}
}