arbiter_storage/lib.rs
1//! Storage abstraction layer for Arbiter.
2//!
3//! Provides async traits ([`AgentStore`], [`SessionStore`], [`DelegationStore`])
4//! with pluggable backends. The default backend is in-memory; the `sqlite`
5//! feature enables a WAL-mode SQLite backend with auto-migration.
6//!
7//! REQ-007: Storage behind async trait; swappable backends.
8//! Design decision: SQLite chosen, designed for swappable.
9
10pub mod encryption;
11pub mod error;
12pub mod traits;
13
14#[cfg(feature = "sqlite")]
15pub mod sqlite;
16
17pub use encryption::FieldEncryptor;
18pub use error::StorageError;
19pub use traits::{
20 AgentStore, DelegationStore, SessionStore, StoredAgent, StoredDataSensitivity,
21 StoredDelegationLink, StoredSession, StoredSessionStatus, StoredTrustLevel,
22};