Skip to main content

aa_storage_memory/
lib.rs

1//! In-memory `aa-storage` driver.
2//!
3//! `DashMap`- and `parking_lot`-backed implementations of the six storage
4//! traits, for unit/integration tests and local development without a real
5//! database. State is ephemeral — it lives only for the life of the process.
6//!
7//! # Driver registration
8//!
9//! Call [`register`] from boot code to announce all six backends to an
10//! [`aa_storage::Registry`] under [`DRIVER_NAME`] (`"memory"`), so an
11//! `agent-assembly.toml` `[storage]` section can select them by name. The
12//! per-kind [`factory`] types build a store from its `[storage.memory]`
13//! subsection (which the memory driver ignores — it needs no connection
14//! settings).
15
16pub mod factory;
17
18mod audit_sink;
19mod credential_store;
20mod lifecycle_store;
21mod policy_store;
22mod rate_limit_counter;
23mod registration;
24mod session_store;
25
26pub use audit_sink::MemoryAuditSink;
27pub use credential_store::MemoryCredentialStore;
28pub use lifecycle_store::MemoryLifecycleStore;
29pub use policy_store::MemoryPolicyStore;
30pub use rate_limit_counter::MemoryRateLimitCounter;
31pub use registration::{register, DRIVER_NAME};
32pub use session_store::MemorySessionStore;