agent_core/client/
error.rs

1use std::error::Error;
2use std::fmt;
3
4/// Error returned by LLM provider API calls.
5#[derive(Debug, Clone)]
6pub struct LlmError {
7    /// Provider-specific error code.
8    pub error_code: String,
9    /// Human-readable error message.
10    pub error_message: String,
11}
12
13impl LlmError {
14    /// Create a new LLM error with code and message.
15    pub fn new(error_code: impl Into<String>, error_message: impl Into<String>) -> Self {
16        Self {
17            error_code: error_code.into(),
18            error_message: error_message.into(),
19        }
20    }
21}
22
23impl fmt::Display for LlmError {
24    fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
25        write!(f, "{}: {}", self.error_code, self.error_message)
26    }
27}
28
29impl Error for LlmError {}