use camel_api::CamelError;
#[derive(Debug, Clone, thiserror::Error)]
pub enum TemplateReloadError {
#[error("template acquisition failed: {0}")]
Acquire(String),
#[error("template compilation failed: {0}")]
Compile(String),
#[error("template path escapes configured root: {0}")]
PathEscape(String),
#[error("template dependency cycle detected: {0}")]
Cycle(String),
#[error("duplicate template identity in dependency closure: {0}")]
DuplicateIdentity(String),
#[error("template bound exceeded: {0}")]
BoundExceeded(&'static str),
#[error("template reload exceeded reload_timeout_ms")]
Timeout,
#[error("template build tagged with a stale generation")]
StaleGeneration,
}
impl From<TemplateReloadError> for CamelError {
fn from(err: TemplateReloadError) -> Self {
CamelError::TemplateReload(err.to_string())
}
}