1use thiserror::Error;
6
7pub type Result<T> = std::result::Result<T, Error>;
9
10#[derive(Error, Debug)]
12pub enum Error {
13 #[error("Agent error: {0}")]
14 Agent(String),
15
16 #[error("Parse error: {0}")]
17 Parse(String),
18
19 #[error("Type inference error: {0}")]
20 TypeInference(String),
21
22 #[error("Code generation error: {0}")]
23 CodeGeneration(String),
24
25 #[error("Compilation error: {0}")]
26 Compilation(String),
27
28 #[error("Test execution error: {0}")]
29 TestExecution(String),
30
31 #[error("Message bus error: {0}")]
32 MessageBus(String),
33
34 #[error("Pipeline error: {0}")]
35 Pipeline(String),
36
37 #[error("IO error: {0}")]
38 Io(#[from] std::io::Error),
39
40 #[error("Serialization error: {0}")]
41 Serialization(#[from] serde_json::Error),
42
43 #[error("Unknown error: {0}")]
44 Unknown(String),
45}