use thiserror::Error;
use super::sse::SseError;
#[derive(Debug, Error)]
pub enum ProcessingError {
#[error("Failed to deserialize response: {0}")]
Deserialization(#[from] serde_json::Error),
#[error("Failed to read response text: {0}")]
TextRead(#[from] reqwest::Error),
#[error("Failed to convert value '{raw}' to type '{target_type}'")]
Conversion { raw: String, target_type: String },
#[error("Failed to process SSE stream: {0}")]
Sse(#[from] SseError),
#[error("An unknown processing error occurred: {0}")]
Unknown(String),
}