Expand description
The Vaultwarden connector: the Bitwarden client API this family talks to.
The module owns the wire shapes (models), the encryption primitives
(crypto) and the HTTP client (client). It holds no session state:
the workspace’s VaultSession owns the tokens and the unlocked account, and
hands this module a token per call. An Unlocked value - the derived keys
and the decrypt/encrypt operations over them - crosses into the workspace
that holds it. Everything here is testable offline against a local server.
Re-exports§
pub use client::VaultClient;pub use crypto::Unlocked;pub use models::AttachmentMeta;pub use models::Folder;pub use models::Organization;pub use models::Prelogin;pub use models::Profile;pub use models::SyncData;pub use models::TokenResponse;pub use models::TwoFactorCode;use thiserror::Error;🔒
Modules§
- client
- The Vaultwarden HTTP client. Stateless about auth: every authed call takes
the access token the workspace’s
VaultSessionholds, so the session is the one owner of the tokens and the client can be shared across seats. - crypto
- The unlock pipeline and the encryption primitives, on
bitwarden-crypto. - models
- The Vaultwarden wire shapes the connector reads and writes.
Enums§
- Vault
Error - Everything the connector can fail with, named so the facade can branch on it without parsing strings. A 401 is the refresh trigger; a 404 names a missing item; a 429 carries the server’s retry hint.