use thiserror::Error;
#[derive(Error, Debug)]
pub enum ChippClientError {
#[error("HTTP request failed: {0}")]
HttpError(#[from] reqwest::Error),
#[error("Invalid API response: {0}")]
InvalidResponse(String),
#[error("API returned error: {status} - {message}")]
ApiError {
status: u16,
message: String,
},
#[error("Stream parsing error: {0}")]
StreamError(String),
#[error("Maximum retry attempts ({0}) exceeded")]
MaxRetriesExceeded(usize),
#[error("Configuration error: {0}")]
ConfigError(String),
}
pub type Result<T> = std::result::Result<T, ChippClientError>;