use capsula_core::error::CapsulaError;
use thiserror::Error;
#[derive(Debug, Error)]
pub enum EnvHookError {
#[error("Required environment variable '{name}' not found")]
VariableNotFound { name: String },
#[error("Environment variable '{name}' contains invalid UTF-8")]
InvalidUtf8 {
name: String,
#[source]
source: std::env::VarError,
},
#[error("Failed to serialize environment hook: {0}")]
Serialization(#[from] serde_json::Error),
}
impl From<EnvHookError> for CapsulaError {
fn from(err: EnvHookError) -> Self {
CapsulaError::HookFailed {
hook: "capture-env".to_string(),
message: err.to_string(),
source: Box::new(err),
}
}
}