adk_guardrail/
error.rs

1use crate::Severity;
2
3#[derive(Debug, thiserror::Error)]
4pub enum GuardrailError {
5    #[error("Guardrail '{name}' failed: {reason}")]
6    ValidationFailed { name: String, reason: String, severity: Severity },
7
8    #[error("Multiple guardrails failed: {0:?}")]
9    MultipleFailures(Vec<GuardrailError>),
10
11    #[error("Schema validation error: {0}")]
12    Schema(String),
13
14    #[error("Regex error: {0}")]
15    Regex(#[from] regex::Error),
16
17    #[error("Internal error: {0}")]
18    Internal(String),
19}
20
21pub type Result<T> = std::result::Result<T, GuardrailError>;