use thiserror::Error;
#[derive(Debug, Error)]
#[non_exhaustive]
pub enum ContextError {
#[error("memory error during context assembly: {0}")]
Memory(#[from] zeph_memory::MemoryError),
#[error("context assembler error: {0}")]
Assembler(#[from] zeph_context::error::AssemblerError),
#[error("serialization error: {0}")]
Serialize(#[from] serde_json::Error),
#[error("operation timed out: {operation}")]
Timeout {
operation: &'static str,
},
#[error("provider not configured: {0}")]
ProviderMissing(&'static str),
}