Skip to main content

codei_tools/
error.rs

1use thiserror::Error;
2
3#[derive(Debug, Error)]
4pub enum ToolError {
5    #[error("invalid arguments: {0}")]
6    InvalidArgs(String),
7
8    #[error("path not allowed: {0}")]
9    PathNotAllowed(String),
10
11    #[error("tool execution denied by user")]
12    Denied,
13
14    #[error("IO error: {0}")]
15    Io(#[from] std::io::Error),
16
17    #[error("tool {name} failed: {message}")]
18    Failed { name: String, message: String },
19
20    #[error("JSON error: {0}")]
21    Json(#[from] serde_json::Error),
22}