umi-memory 0.1.0

Memory library for AI agents with deterministic simulation testing
Documentation
//! Storage - Backend Trait and Implementations
//!
//! TigerStyle: Abstract storage with simulation-first testing.
//!
//! # Architecture
//!
//! ```text
//! ┌─────────────────────────────────────────────────────────────┐
//! │                    StorageBackend Trait                      │
//! └─────────────────────────────────────────────────────────────┘
//!          ↑                    ↑                    ↑
//!          │                    │                    │
//! ┌────────┴────────┐  ┌────────┴────────┐  ┌───────┴────────┐
//! │SimStorageBackend│  │LanceStorageBack │  │ PostgresBackend│
//! │   (testing)     │  │   (embedded)    │  │   (server)     │
//! └─────────────────┘  └─────────────────┘  └────────────────┘
//! ```
//!
//! # Simulation-First
//!
//! Tests are written BEFORE implementation. SimStorageBackend enables
//! deterministic testing with fault injection.

mod backend;
mod entity;
mod error;
mod evolution;
mod sim;
mod vector;

#[cfg(feature = "postgres")]
mod postgres;

#[cfg(feature = "postgres")]
mod postgres_vector;

#[cfg(feature = "lance")]
mod lance;

#[cfg(feature = "lance")]
mod lance_vector;

pub use backend::StorageBackend;
pub use entity::{Entity, EntityBuilder, EntityType, SourceRef};
pub use error::{StorageError, StorageResult};
pub use evolution::{EvolutionRelation, EvolutionRelationBuilder, EvolutionType};
pub use sim::SimStorageBackend;
pub use vector::{SimVectorBackend, VectorBackend, VectorSearchResult};

#[cfg(feature = "postgres")]
pub use postgres::PostgresBackend;

#[cfg(feature = "postgres")]
pub use postgres_vector::PostgresVectorBackend;

#[cfg(feature = "lance")]
pub use lance::LanceStorageBackend;

#[cfg(feature = "lance")]
pub use lance_vector::LanceVectorBackend;