Skip to main content

punch_memory/
lib.rs

1//! # punch-memory
2//!
3//! Persistence layer for the Punch Agent Combat System.
4//!
5//! All storage is backed by SQLite via `rusqlite`. The [`MemorySubstrate`]
6//! wraps a connection behind a `tokio::sync::Mutex` so it can be shared
7//! safely across async tasks.
8
9pub mod backup;
10pub mod bouts;
11pub mod channels;
12pub mod consolidation;
13pub mod creed;
14pub mod embeddings;
15pub mod fighters;
16pub mod knowledge;
17pub mod maintenance;
18pub mod memories;
19pub mod migrations;
20pub mod substrate;
21pub mod usage;
22
23pub use backup::{BackupInfo, BackupManager};
24pub use bouts::{BoutId, BoutSummary};
25pub use channels::ChannelRecord;
26pub use consolidation::{ConsolidationConfig, ConsolidationResult, MemoryConsolidator};
27pub use embeddings::{
28    BuiltInEmbedder, Embedder, Embedding, EmbeddingConfig, EmbeddingProvider, EmbeddingStore,
29    OpenAiEmbedder, cosine_similarity, top_k_similar,
30};
31pub use knowledge::{KnowledgeEntity, KnowledgeRelation};
32pub use memories::MemoryEntry;
33pub use migrations::{Migration, MigrationEngine, MigrationStatus};
34pub use substrate::MemorySubstrate;
35pub use usage::{UsageEvent, UsageSummary};