/** * Vector-backed episodic (and optional semantic_summary) memory store. * Stores MemoryItems in memory and optionally in a vector index for similarity search. */ import { MemoryCategory } from '../../types/category.types'; import { MemoryItem } from '../../types/memory-item.types'; import { MemoryQuery, MemorySearchOptions, MemoryStats, PruneOptions } from '../../types/store.types'; import { MemoryStore } from '../memory-store.interface'; /** Minimal vector store for episodic search (consumer can pass a real vector DB adapter). */ export interface VectorStoreAdapter { add(id: string, embedding: number[], metadata?: Record): Promise; search(embedding: number[], options: { topK?: number; filter?: { userId?: string; category?: string; }; }): Promise>; delete(id: string): Promise; } export interface VectorEpisodicStoreOptions { /** Categories this store handles. Default: [EPISODIC, SEMANTIC_SUMMARY]. */ categories?: MemoryCategory[]; /** Optional vector store for similarity search. If omitted, search() returns []. */ vectorStore?: VectorStoreAdapter; } /** * Store for episodic/semantic_summary only. Items are kept in memory; optional vector store for search. */ export declare class VectorEpisodicStore implements MemoryStore { private readonly items; private readonly byUser; private readonly byUserCategory; private readonly categories; private readonly vectorStore?; constructor(options?: VectorEpisodicStoreOptions); private assertCategory; private index; private unindex; initialize(): Promise; save(item: MemoryItem): Promise; saveBatch(items: MemoryItem[]): Promise; get(id: string): Promise; update(id: string, updates: Partial): Promise; delete(id: string): Promise; deleteBatch(ids: string[]): Promise; query(options: MemoryQuery): Promise; search(query: string | number[], options: MemorySearchOptions): Promise; getStats(userId?: string): Promise; prune(options?: PruneOptions): Promise; } //# sourceMappingURL=vector-episodic.store.d.ts.map