Memory API
Adapters
KVMemoryAdapter
import { KVMemoryAdapter } from '@moon-wave/memory';
new KVMemoryAdapter(namespace: KVNamespace)Stores conversation history in Cloudflare KV. Messages expire based on KV TTL settings.
D1MemoryAdapter
import { D1MemoryAdapter } from '@moon-wave/memory';
new D1MemoryAdapter(db: D1Database)Stores conversation history in Cloudflare D1 (SQLite). Requires running the init migration.
VectorizeAdapter
import { VectorizeAdapter } from '@moon-wave/memory';
new VectorizeAdapter(index: VectorizeIndex, ai: Ai)Stores and retrieves embeddings for semantic search.
NoopMemoryAdapter
import { NoopMemoryAdapter } from '@moon-wave/memory';
new NoopMemoryAdapter()No-op adapter for testing or stateless use cases.
MemoryManager
High-level class combining short-term + long-term + vector memory.
import { MemoryManager } from '@moon-wave/memory';
const memory = new MemoryManager({ shortTerm: new KVMemoryAdapter(env.SESSIONS), longTerm: new D1MemoryAdapter(env.DB), // optional vector: new VectorizeAdapter(env.VECTORIZE, env.AI), // optional});Methods
// Get conversation history for a sessionawait memory.getMessages(sessionId: string): Promise<Message[]>
// Add a message to historyawait memory.addMessage(sessionId: string, message: Message): Promise<void>
// Clear a sessionawait memory.clearSession(sessionId: string): Promise<void>
// Store a fact in vector memoryawait memory.remember(text: string, metadata?: Record<string, unknown>): Promise<void>
// Retrieve relevant facts by semantic similarityawait memory.recall(query: string, topK?: number): Promise<string[]>