steer_core/tools/
error.rs

1use 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>;