Skip to main content

paladin_memory/
lib.rs

1//! # paladin-memory
2//!
3//! Memory adapters for the Paladin framework.
4//!
5//! This crate provides two categories of memory storage:
6//!
7//! - **Garrison** (`garrison` module): Conversation history storage adapters.
8//!   - [`garrison::InMemoryGarrison`] — always available, zero-dependency in-process store.
9//!   - `garrison::SqliteGarrison` — persistent SQLite-backed store (requires feature `sqlite`).
10//!   - `garrison::TiktokenCounter` / `garrison::TokenCounter` — token counting utilities
11//!     (requires feature `content-processing`).
12//!
13//! - **Sanctum** (`sanctum` module): Vector / semantic memory adapters.
14//!   - [`sanctum::InMemorySanctum`] — always available, in-process vector store.
15//!   - `sanctum::QdrantSanctumAdapter` — production-grade Qdrant-backed store (requires feature `qdrant`).
16//!
17//! - **Services** (`services` module): Application-layer memory orchestration.
18//!   - [`services::MemoryExtractionService`] — extracts and persists memories from conversations.
19//!   - [`services::RagRetrievalService`] — retrieves context for RAG pipelines.
20//!
21//! ## Feature flags
22//!
23//! | Feature              | Enables                                          |
24//! |----------------------|--------------------------------------------------|
25//! | `sqlite`             | `SqliteGarrison` (depends on `sqlx`)             |
26//! | `qdrant`             | `QdrantSanctumAdapter` (depends on `qdrant-client`) |
27//! | `content-processing` | `TiktokenCounter`, `TokenCounter`, `TokenCounterFactory` (depends on `tiktoken-rs`) |
28//!
29//! No features are enabled by default.
30
31#![deny(unsafe_code)]
32#![warn(missing_docs)]
33
34/// Configuration types for garrison, sanctum, and memory extraction behavior.
35#[allow(missing_docs)]
36pub mod config;
37/// Garrison adapters and supporting utilities.
38#[allow(missing_docs)]
39pub mod garrison;
40/// Convenience re-exports for commonly used memory types.
41#[allow(missing_docs)]
42pub mod prelude;
43/// Sanctum adapters and semantic-memory abstractions.
44#[allow(missing_docs)]
45pub mod sanctum;
46/// Application-layer services for memory extraction and retrieval.
47#[allow(missing_docs)]
48pub mod services;