Skip to main content

rustic_ai/
error.rs

1use thiserror::Error;
2
3use crate::usage::UsageError;
4
5#[derive(Debug, Error)]
6pub enum AgentError {
7    #[error("model error: {0}")]
8    Model(#[from] crate::model::ModelError),
9    #[error("tool error: {0}")]
10    Tool(#[from] crate::tools::ToolError),
11    #[error("usage limit exceeded: {0}")]
12    Usage(#[from] UsageError),
13    #[error("unknown tool: {0}")]
14    UnknownTool(String),
15    #[error("output validation failed: {0}")]
16    OutputValidation(String),
17    #[error("invalid configuration: {0}")]
18    Config(String),
19}