kagi-vault 0.1.2

Encrypted secrets and environment variable manager for teams — a secure, team-ready dotenv alternative with per-service isolation
use thiserror::Error;

#[derive(Error, Debug)]
pub enum DomainError {
    #[error("Service not found: {0}")]
    ServiceNotFound(String),
    #[error("Secret not found: {0}")]
    SecretNotFound(String),
    #[error("Invalid project key")]
    InvalidProjectKey,
    #[error("Encrypt failed: {0}")]
    EncryptFailed(String),
    #[error("Decrypt failed: {0}")]
    DecryptFailed(String),
    #[error("Store corrupted: {0}")]
    StoreCorrupted(String),
    #[cfg(feature = "server")]
    #[error("Project token unavailable: {0}")]
    ProjectTokenUnavailable(String),
    #[cfg(feature = "server")]
    #[error("Remote rejected request ({code}): {message}")]
    RemoteRejected { code: String, message: String },
    #[error("IO error: {0}")]
    Io(#[from] std::io::Error),
    #[error("Serialization error: {0}")]
    Serialization(#[from] serde_json::Error),
}