Skip to main content

swarm_engine_eval/
error.rs

1//! Error types for swarm-engine-eval
2
3use thiserror::Error;
4
5/// Evaluation error
6#[derive(Error, Debug)]
7pub enum EvalError {
8    /// Configuration error
9    #[error("Configuration error: {0}")]
10    Config(String),
11
12    /// IO error
13    #[error("IO error: {0}")]
14    Io(#[from] std::io::Error),
15
16    /// TOML parse error
17    #[error("TOML parse error: {0}")]
18    TomlParse(#[from] toml::de::Error),
19
20    /// JSON error
21    #[error("JSON error: {0}")]
22    Json(#[from] serde_json::Error),
23
24    /// SwarmApp error
25    #[error("SwarmApp error: {0}")]
26    SwarmApp(String),
27
28    /// Session error
29    #[error("Session error: {0}")]
30    Session(String),
31
32    /// Assertion failure
33    #[error("Assertion failed: {name} - expected {expected}, got {actual}")]
34    AssertionFailed {
35        name: String,
36        expected: String,
37        actual: String,
38    },
39
40    /// Statistics error
41    #[error("Statistics error: {0}")]
42    Statistics(String),
43
44    /// Orchestrator error (from swarm-engine-core)
45    #[error("Orchestrator error: {0}")]
46    Orchestrator(#[from] swarm_engine_core::error::SwarmError),
47}
48
49/// Result type for swarm-engine-eval
50pub type Result<T> = std::result::Result<T, EvalError>;