//! SDK error types. /// Errors returned by SDK operations. #[derive(Debug, thiserror::Error)] pub enum SdkError { #[error("not connected to server")] NotConnected, #[error("not authenticated — call login() first")] NotAuthenticated, #[error("authentication failed: {0}")] AuthFailed(String), #[error("conversation not found: {0}")] ConversationNotFound(String), #[error("crypto error: {0}")] Crypto(String), #[error("RPC error: {0}")] Rpc(#[from] quicproquo_rpc::error::RpcError), #[error("storage error: {0}")] Storage(String), #[error("{0}")] Other(#[from] anyhow::Error), }