Skip to main content

meerkat_memory/
lib.rs

1//! meerkat-memory — Semantic memory store for Meerkat.
2//!
3//! Provides `HnswMemoryStore` for indexing discarded conversation history
4//! during compaction, enabling session-scoped semantic search over compacted
5//! history.
6//!
7//! Uses `hnsw_rs` for approximate nearest-neighbor search and SQLite for
8//! metadata persistence.
9
10pub mod hnsw;
11pub mod simple;
12pub mod tool;
13
14pub use hnsw::{BagOfWordsEmbeddingModel, HnswMemoryStore, default_ranking_policy};
15pub use simple::SimpleMemoryStore;
16pub use tool::MemorySearchDispatcher;
17
18// Skill registration
19inventory::submit! {
20    meerkat_skills::SkillRegistration {
21        id: "memory-retrieval",
22        name: "Memory Retrieval",
23        description: "How semantic memory works with compaction and the MemoryStore trait",
24        scope: meerkat_core::skills::SkillScope::Builtin,
25        requires_capabilities: &["memory_store"],
26        body: include_str!("../skills/memory-retrieval/SKILL.md"),
27        extensions: &[],
28    }
29}
30
31// Capability registration
32inventory::submit! {
33    meerkat_capabilities::CapabilityRegistration {
34        id: meerkat_capabilities::CapabilityId::MemoryStore,
35        description: "HNSW semantic search + SQLite persistence (indexes compaction discards)",
36        scope: meerkat_capabilities::CapabilityScope::Universal,
37        requires_feature: Some("memory-store"),
38        prerequisites: &[],
39        status_resolver: None,
40    }
41}