Skip to main content

systemprompt_templates/
error.rs

1//! Typed error surface for the templates crate.
2
3use thiserror::Error;
4
5#[derive(Debug, Error)]
6pub enum TemplateError {
7    #[error("template not found: {0}")]
8    NotFound(String),
9
10    #[error("failed to load template '{name}': {message}")]
11    LoadError { name: String, message: String },
12
13    #[error("failed to compile template '{name}': {message}")]
14    CompileError { name: String, message: String },
15
16    #[error("failed to render template '{name}': {message}")]
17    RenderError { name: String, message: String },
18
19    #[error("no loader available for template: {0}")]
20    NoLoader(String),
21
22    #[error("template registry not initialized")]
23    NotInitialized,
24
25    #[error("io error: {0}")]
26    Io(#[from] std::io::Error),
27
28    #[error("yaml error: {0}")]
29    Yaml(#[from] serde_yaml::Error),
30}
31
32pub type TemplateResult<T> = Result<T, TemplateError>;