Crate ceylon_memory

Crate ceylon_memory 

Source
Expand description

§Ceylon Memory

Memory backend implementations for agent state persistence.

This crate provides pluggable storage backends implementing the ceylon_core::Memory trait:

  • InMemoryBackend - Fast, thread-safe in-memory storage (default)
  • [SqliteBackend] - File-based persistent storage (feature: sqlite)
  • [RedisBackend] - Distributed persistent storage (feature: redis)
  • [QdrantBackend] - Qdrant vector database (feature: qdrant)
  • [ChromaDBBackend] - ChromaDB vector database (feature: chromadb)
  • [PineconeBackend] - Pinecone vector database (feature: pinecone)

§Example

use ceylon_memory::InMemoryBackend;
use ceylon_core::{Memory, MemoryEntry, MemoryQuery};

let memory = InMemoryBackend::new();

// Store an entry
let entry = MemoryEntry::new("Important note");
let id = memory.store(entry).await?;

// Retrieve by ID
if let Some(entry) = memory.get(&id).await? {
    println!("Content: {}", entry.content);
}

Structs§

InMemoryBackend
In-memory storage backend with TTL support
MemoryEntry
Entry stored in memory
MemoryQuery
Query filter for memory retrieval

Traits§

Memory
Base memory trait - all backends must implement this
VectorMemory
Extended trait for vector-based semantic search