#[derive(Debug, thiserror::Error)]
pub enum SwitchError {
#[error("model not found: {0}")]
ModelNotFound(String),
#[error("model not ready: {0}")]
NotReady(String),
#[error("request timeout")]
Timeout,
#[error("hook failed for {model}: {detail}")]
HookFailed { model: String, detail: String },
#[error("internal error: {0}")]
Internal(String),
}
#[derive(Debug, Clone, PartialEq, Eq)]
pub enum SwitcherState {
Idle,
Active { model: String },
Switching { from: Option<String>, to: String },
}