use thiserror::Error;
#[derive(Debug, Error)]
pub enum Error {
#[error("could not determine name for a keychain")]
NoKeychainName,
#[error(transparent)]
Io(#[from] std::io::Error),
#[error(transparent)]
Core(#[from] sos_core::Error),
#[error(transparent)]
Vault(#[from] sos_vault::Error),
#[error(transparent)]
Utf8(#[from] std::str::Utf8Error),
#[cfg(target_os = "macos")]
#[error(transparent)]
SecurityFramework(#[from] security_framework::base::Error),
#[error(transparent)]
SendBool(#[from] std::sync::mpsc::SendError<bool>),
}