/** * Memory System - Conversation and context memory management */ export interface MemoryEntry { id: string; content: string; role: 'user' | 'assistant' | 'system'; timestamp: number; metadata?: Record; embedding?: number[]; } export interface MemoryConfig { maxEntries?: number; maxTokens?: number; embeddingProvider?: EmbeddingProvider; } export interface EmbeddingProvider { embed(text: string): Promise; embedBatch(texts: string[]): Promise; } export interface SearchResult { entry: MemoryEntry; score: number; } /** * Memory class for managing conversation history and context */ export declare class Memory { private entries; private maxEntries; private maxTokens; private embeddingProvider?; constructor(config?: MemoryConfig); /** * Add a memory entry */ add(content: string, role: 'user' | 'assistant' | 'system', metadata?: Record): Promise; /** * Get a memory entry by ID */ get(id: string): MemoryEntry | undefined; /** * Get all entries */ getAll(): MemoryEntry[]; /** * Get recent entries */ getRecent(count: number): MemoryEntry[]; /** * Search memory by text similarity */ search(query: string, limit?: number): Promise; /** * Simple text search fallback */ private textSearch; /** * Calculate cosine similarity */ private cosineSimilarity; /** * Delete a memory entry */ delete(id: string): boolean; /** * Clear all memory */ clear(): void; /** * Get memory size */ get size(): number; /** * Build context string from recent memory */ buildContext(count?: number): string; /** * Export memory to JSON */ toJSON(): MemoryEntry[]; /** * Import memory from JSON */ fromJSON(entries: MemoryEntry[]): void; private generateId; private enforceLimit; } /** * Create a memory instance */ export declare function createMemory(config?: MemoryConfig): Memory;