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}