webclaw/crates/noxa-llm/src/error.rs
2026-04-11 00:10:38 -04:00

18 lines
486 B
Rust

/// LLM-specific errors. Kept flat — one enum covers transport, provider, and parsing failures.
#[derive(Debug, thiserror::Error)]
pub enum LlmError {
#[error("HTTP error: {0}")]
Http(#[from] reqwest::Error),
#[error("no providers available")]
NoProviders,
#[error("all providers failed: {0}")]
AllProvidersFailed(String),
#[error("invalid JSON response: {0}")]
InvalidJson(String),
#[error("provider error: {0}")]
ProviderError(String),
}