ricecoder_domain_agents/
error.rs

1//! Error types for domain-specific agents
2
3use thiserror::Error;
4
5/// Errors that can occur in domain agent operations
6#[derive(Debug, Error)]
7pub enum DomainAgentError {
8    /// Domain not found
9    #[error("Domain not found: {0}")]
10    DomainNotFound(String),
11
12    /// Agent not found for domain
13    #[error("Agent not found for domain: {0}")]
14    AgentNotFound(String),
15
16    /// Knowledge base error
17    #[error("Knowledge base error: {0}")]
18    KnowledgeBaseError(String),
19
20    /// Configuration error
21    #[error("Configuration error: {0}")]
22    ConfigError(String),
23
24    /// Serialization error
25    #[error("Serialization error: {0}")]
26    SerializationError(#[from] serde_json::Error),
27
28    /// YAML error
29    #[error("YAML error: {0}")]
30    YamlError(#[from] serde_yaml::Error),
31
32    /// Storage error
33    #[error("Storage error: {0}")]
34    StorageError(String),
35
36    /// Agent execution error
37    #[error("Agent execution error: {0}")]
38    ExecutionError(String),
39
40    /// IO error
41    #[error("IO error: {0}")]
42    IoError(#[from] std::io::Error),
43
44    /// Invalid domain configuration
45    #[error("Invalid domain configuration: {0}")]
46    InvalidConfiguration(String),
47
48    /// Domain knowledge not available
49    #[error("Domain knowledge not available: {0}")]
50    KnowledgeNotAvailable(String),
51}
52
53/// Result type for domain agent operations
54pub type Result<T> = std::result::Result<T, DomainAgentError>;