/** * Cross Session Persistence - Long-term memory storage * * Manages persistent memory across sessions, handling data serialization, * storage, retrieval, and cross-session pattern learning. */ import { EventEmitter } from 'eventemitter3'; import { MemoryEntry, OperationResult } from '../types'; export interface PersistentMemoryEntry extends MemoryEntry { persistedAt: Date; accessCount: number; lastAccessed: Date; importance: number; crossSessionRelevance: number; } export interface MemorySnapshot { id: string; sessionId: string; timestamp: Date; entries: PersistentMemoryEntry[]; metadata: any; } export interface CrossSessionPattern { id: string; pattern: string; frequency: number; sessions: string[]; confidence: number; lastSeen: Date; metadata: any; } export declare class CrossSessionPersistence extends EventEmitter { private persistencePath; private memoriesPath; private patternsPath; private snapshotsPath; private memoryCache; private patternCache; private maxCacheSize; private compressionEnabled; constructor(persistencePath: string, compressionEnabled?: boolean); initialize(): Promise; /** * Persist memory entries from a session */ persistSession(sessionId: string, entries: MemoryEntry[], importance?: number): Promise; /** * Retrieve memories relevant to current context */ retrieveRelevantMemories(context: { taskType?: string; agentTypes?: string[]; capabilities?: string[]; tags?: string[]; sessionPattern?: any; }, limit?: number): Promise; /** * Search for cross-session patterns */ findCrossSessionPatterns(criteria: { pattern?: string; minFrequency?: number; minConfidence?: number; sessionCount?: number; }): Promise; /** * Create a memory snapshot for backup/analysis */ createSnapshot(sessionId: string, metadata?: any): Promise; /** * Restore from snapshot */ restoreFromSnapshot(snapshotId: string): Promise; /** * Compress and optimize stored memories */ compressMemories(): Promise; private calculateImportance; private calculateRelevance; private calculateContextRelevance; private searchMemoryFiles; private analyzeSessionPatterns; private extractPatterns; private loadPatterns; private savePatterns; private readMemoryFile; private writeMemoryFile; private setupMaintenanceTasks; private cleanupOldPatterns; shutdown(): Promise; } //# sourceMappingURL=CrossSessionPersistence.d.ts.map