clasp_rules/error.rs
1//! Rules engine error types
2
3use thiserror::Error;
4
5/// Rules engine errors
6#[derive(Debug, Error)]
7pub enum RulesError {
8 /// Rule definition is invalid
9 #[error("invalid rule: {0}")]
10 InvalidRule(String),
11
12 /// Rule evaluation failed
13 #[error("evaluation error: {0}")]
14 EvaluationError(String),
15
16 /// Rule not found
17 #[error("rule not found: {0}")]
18 NotFound(String),
19
20 /// Loop detected (rule triggered itself)
21 #[error("loop detected: rule {0} triggered itself")]
22 LoopDetected(String),
23
24 /// Cooldown active
25 #[error("rule {0} is in cooldown")]
26 Cooldown(String),
27}
28
29/// Result type for rules operations
30pub type Result<T> = std::result::Result<T, RulesError>;