use thiserror::Error;
#[derive(Debug, Error)]
pub enum VoiceError {
#[error("audio device error: {0}")]
Device(String),
#[error("audio capture error: {0}")]
Capture(String),
#[error("audio playback error: {0}")]
Playback(String),
#[error("STT provider error: {0}")]
Stt(String),
#[error("TTS provider error: {0}")]
Tts(String),
#[error("configuration error: {0}")]
Config(String),
#[error("voice listener already running")]
AlreadyRunning,
#[error("voice listener not running")]
NotRunning,
#[error("io error: {0}")]
Io(#[from] std::io::Error),
}