#[derive(thiserror::Error, Debug)]
pub enum ModelError {
#[error("network/timeout: {0}")]
Network(String),
#[error("auth/missing key for backend {0}")]
Auth(String),
#[error("rate limited")]
RateLimited,
#[error("parse model output: {0}")]
Parse(String),
#[error("backend unavailable: {0}")]
Unavailable(String),
}
pub type ModelResult<T> = Result<T, ModelError>;