#[derive(thiserror::Error, Debug)]
pub enum NovelTTSError {
#[error(transparent)]
KokoroTtsError(#[from] kokoro_tts::KokoroError),
#[error(transparent)]
IoError(#[from] std::io::Error),
#[error(transparent)]
HttpError(#[from] reqwest::Error),
#[error(transparent)]
Rodio(#[from] rodio::StreamError),
#[error(transparent)]
OtherError(#[from] anyhow::Error),
#[error("Cancelled: {0}")]
Cancel(String),
}
pub type Result<T> = std::result::Result<T, NovelTTSError>;