sayr_engine/
error.rs

1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, AgnoError>;
4
5#[derive(Debug, Error)]
6pub enum AgnoError {
7    #[error("tool `{0}` not found")]
8    ToolNotFound(String),
9
10    #[error("tool `{name}` invocation failed: {source}")]
11    ToolInvocation {
12        name: String,
13        #[source]
14        source: Box<dyn std::error::Error + Send + Sync>,
15    },
16
17    #[error("language model error: {0}")]
18    LanguageModel(String),
19
20    #[error("protocol error: {0}")]
21    Protocol(String),
22
23    #[error("storage error: {0}")]
24    Storage(String),
25
26    #[error(transparent)]
27    Serde(#[from] serde_json::Error),
28
29    #[error(transparent)]
30    Io(#[from] std::io::Error),
31
32    #[error("telemetry error: {0}")]
33    Telemetry(String),
34
35    #[error("MCP error: {0}")]
36    Mcp(String),
37}
38