minllm/
error.rs

1use thiserror::Error;
2
3pub type Result<T> = std::result::Result<T, Error>;
4
5#[derive(Error, Debug)]
6pub enum Error {
7    #[error("Node execution error: {0}")]
8    NodeExecution(String),
9    
10    #[error("Flow execution error: {0}")]
11    FlowExecution(String),
12    
13    #[error("Invalid action: {0}")]
14    InvalidAction(String),
15    
16    #[error("Missing successor for action: {0}")]
17    MissingSuccessor(String),
18    
19    #[error("Invalid operation: {0}")]
20    InvalidOperation(String),
21    
22    #[cfg(feature = "python")]
23    #[error("Python error: {0}")]
24    Python(#[from] pyo3::PyErr),
25    
26    #[error("Async runtime error: {0}")]
27    AsyncRuntime(#[from] tokio::task::JoinError),
28    
29    #[error("Unknown error: {0}")]
30    Unknown(String),
31}