ricecoder_workflows/
error.rs

1//! Error types for workflow operations
2
3use thiserror::Error;
4
5/// Errors that can occur during workflow operations
6#[derive(Debug, Error)]
7pub enum WorkflowError {
8    /// Workflow not found
9    #[error("Workflow not found: {0}")]
10    NotFound(String),
11
12    /// Invalid workflow definition
13    #[error("Invalid workflow: {0}")]
14    Invalid(String),
15
16    /// Step execution failed
17    #[error("Step failed: {0}")]
18    StepFailed(String),
19
20    /// Approval request timed out
21    #[error("Approval timeout")]
22    ApprovalTimeout,
23
24    /// State management error
25    #[error("State error: {0}")]
26    StateError(String),
27
28    /// Serialization error
29    #[error("Serialization error: {0}")]
30    SerializationError(#[from] serde_yaml::Error),
31
32    /// IO error
33    #[error("IO error: {0}")]
34    IoError(#[from] std::io::Error),
35}
36
37/// Result type for workflow operations
38pub type WorkflowResult<T> = Result<T, WorkflowError>;