steer_core/tools/
error.rs1use crate::tools::mcp::McpError;
2use serde::{Deserialize, Serialize};
3use steer_tools::ToolError as ToolExecutionError;
4use steer_workspace::WorkspaceError;
5use thiserror::Error;
6
7#[derive(Error, Debug, Clone, Serialize, Deserialize)]
8pub enum ToolError {
9 #[error(transparent)]
10 Execution(#[from] ToolExecutionError),
11
12 #[error(transparent)]
13 Mcp(#[from] McpError),
14
15 #[error("Invalid pattern: {0}")]
16 Regex(String),
17
18 #[error(transparent)]
19 Workspace(#[from] WorkspaceError),
20}
21
22pub type Result<T> = std::result::Result<T, ToolError>;