1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
//! Storage trait abstraction for the Agent Assembly persistence layer.
//!
//! This module defines the narrow storage traits that every persistence backend
//! implements. It is a **pure interface** — no concrete backend dependency
//! (no `sqlx`, no `redis`, no `tonic`); it uses only `async-trait`, `thiserror`,
//! and the concrete domain types from `aa-core`.
//!
//! The OSS Postgres/Redis/memory drivers and the Enterprise gateway driver all
//! implement the same contract, so swapping the persistence backend never
//! changes any caller code.
//!
//! Callers import the traits and the domain types they reference from one path:
//!
//! ```
//! use aa_core::storage::{AgentId, AuditSink, PolicyDocument, PolicyStore};
//! ```
//!
//! The [`aa-storage`](https://docs.rs/aa-storage) crate re-exports this module
//! verbatim, so `aa_storage::*` and `aa_core::storage::*` are interchangeable.
pub use AuditSink;
pub use CredentialStore;
pub use ;
pub use LifecycleStore;
pub use PolicyStore;
pub use RateLimitCounter;
pub use ;
// Re-export the concrete domain types the traits reference so call sites import
// the storage contract and its types from a single path.
pub use crateAuditEntry;
pub use crate;
pub use cratePolicyDocument;