#![deny(unsafe_op_in_unsafe_fn)]
#![deny(clippy::undocumented_unsafe_blocks)]
#![deny(missing_docs)]
pub use revault_lockbox_api::{SecretString, SecretVec};
mod active_secret;
mod agent_client;
mod agent_config;
mod agent_log;
mod agent_protocol;
mod content_key_store;
mod hex;
mod key_format;
mod noop_store;
mod platform_secret_store;
mod sleep_watcher;
mod vault;
mod vault_directory;
#[cfg(unix)]
mod unix;
#[cfg(windows)]
mod windows;
pub use agent_client::{
begin_secret_activity, forget, forget_all, forget_owner_signing_key, forget_vault_unlock_key,
get, get_owner_signing_key, get_vault_unlock_key, is_running, list, put, put_owner_signing_key,
put_vault_unlock_key, serve_agent, start, stop, verify_agent_transport_security, AgentClient,
SecretActivityGuard,
};
pub use agent_log::{agent_log_destination, agent_log_path};
pub use agent_protocol::CachedLockbox;
pub use agent_protocol::SecretActivityKind;
pub(crate) use agent_protocol::{
encode_control_err_response, encode_control_ok_response, encode_err_response,
encode_forget_all, encode_forget_identifier, encode_get_identifier, encode_info,
encode_info_response, encode_key_response, encode_list, encode_list_response,
encode_miss_response, encode_ok_response, encode_put_identifier,
encode_register_secret_activity, encode_registered_response, encode_stop,
encode_unregister_secret_activity, frame_header_len, frame_message_type, frame_payload_len,
is_control_message_type, max_message_bytes, parse_control_request, parse_control_response,
parse_request, parse_response, AgentRequest, AgentResponse, ControlRequest, ControlResponse,
AGENT_IMPLEMENTATION_VERSION, AGENT_PROTOCOL_VERSION, DEFAULT_TTL_SECONDS,
};
pub use content_key_store::ContentKeyStore;
pub use hex::{decode_hex, encode_hex};
pub use key_format::{
decode_fingerprint_crockford_96, decode_fingerprint_hex, export_private_key, export_public_key,
format_fingerprint_crockford_96, format_fingerprint_crockford_96_reading,
format_fingerprint_hex_pairs, import_private_key, import_private_key_file, import_public_key,
public_key_fingerprint, KeyFormat, FINGERPRINT_CODE_96_LEN, PUBLIC_KEY_FINGERPRINT_LEN,
};
pub use noop_store::NoopStore;
pub use platform_secret_store::{
auto_open_scope, disable_platform_secret_store, enable_platform_secret_store,
forget_platform_vault_password, get_platform_vault_password, get_platform_vault_password_for,
platform_secret_store_disabled, platform_secret_store_status, put_platform_vault_password,
set_auto_open_scope, AutoOpenScope, PlatformSecretStoreStatus,
};
pub use sleep_watcher::{agent_sleep_support, AgentSleepSupport};
pub use vault::{local_vault, LocalVault, Vault};
pub use vault_directory::{
backup_default_vault, default_vault_dir, default_vault_path, restore_default_vault,
validate_vault_record_name, AccessSlotLabel, KnownLockbox, ProfileGeneration,
ProfileGenerationStatus, ProfileHistory, ReadOnlyVaultDirectory, StoredContact,
VaultBackupManifest, VaultDirectory, CURRENT_VAULT_STRUCTURE_VERSION,
};