code_mesh_core/
error.rs

1//! Error types for Code Mesh Core
2
3use thiserror::Error;
4
5#[derive(Error, Debug)]
6pub enum Error {
7    #[error("Provider error: {0}")]
8    Provider(String),
9    
10    #[error("Model not found: {0}")]
11    ModelNotFound(String),
12    
13    #[error("Authentication failed: {0}")]
14    AuthenticationFailed(String),
15    
16    #[error("Tool execution error: {0}")]
17    ToolExecutionError(String),
18    
19    #[error("Storage error: {0}")]
20    Storage(#[from] crate::storage::StorageError),
21    
22    #[error("Session error: {0}")]
23    Session(String),
24    
25    #[error("Network error: {0}")]
26    Network(#[from] reqwest::Error),
27    
28    #[error("Serialization error: {0}")]
29    Serialization(#[from] serde_json::Error),
30    
31    #[error("IO error: {0}")]
32    Io(#[from] std::io::Error),
33    
34    #[error("Parse error: {0}")]
35    ParseInt(#[from] std::num::ParseIntError),
36    
37    #[error("Other error: {0}")]
38    Other(#[from] anyhow::Error),
39}
40
41pub type Result<T> = std::result::Result<T, Error>;