1use thiserror::Error;
2
3pub type FierrosResult<T> = Result<T, FierrosError>;
4
5#[derive(Debug, Error, Clone, PartialEq, Eq)]
6pub enum FierrosError {
7 #[error("configuration error: {0}")]
8 Configuration(String),
9
10 #[error("invalid input: {0}")]
11 InvalidInput(String),
12
13 #[error("provider error: {0}")]
14 Provider(String),
15
16 #[error("retrieval error: {0}")]
17 Retrieval(String),
18
19 #[error("graph error: {0}")]
20 Graph(String),
21
22 #[error("tool error: {0}")]
23 Tool(String),
24
25 #[error("policy error: {0}")]
26 Policy(String),
27
28 #[error("evaluation error: {0}")]
29 Eval(String),
30
31 #[error("internal error: {0}")]
32 Internal(String),
33}