/** * Session Memory - In-session memory management * * Manages memory within active sessions, handling real-time data storage, * retrieval, and context management for AI Integration operations. */ import { EventEmitter } from 'eventemitter3'; import { MemoryEntry, MemoryType, Agent, Task, OperationResult } from '../types'; export interface SessionContext { sessionId: string; startTime: Date; lastActivity: Date; agents: Map; tasks: Map; memory: Map; metadata: any; } export declare class SessionMemory extends EventEmitter { private sessions; private currentSessionId; private memoryIndex; private maxSessionMemory; constructor(maxSessionMemory?: number); initialize(): Promise; /** * Create a new session */ createSession(sessionId?: string, metadata?: any): string; /** * Get or create current session */ getCurrentSession(): SessionContext; /** * Switch to a different session */ switchSession(sessionId: string): boolean; /** * Store memory entry */ store(type: MemoryType, content: any, options?: { sessionId?: string; agentId?: string; taskId?: string; tags?: string[]; ttl?: number; }): string; /** * Retrieve memory entry by ID */ retrieve(entryId: string, sessionId?: string): MemoryEntry | null; /** * Search memory entries */ search(criteria: { type?: MemoryType; agentId?: string; taskId?: string; tags?: string[]; sessionId?: string; limit?: number; offset?: number; }): MemoryEntry[]; /** * Update memory entry */ update(entryId: string, updates: Partial, sessionId?: string): boolean; /** * Delete memory entry */ delete(entryId: string, sessionId?: string): boolean; /** * Get session statistics */ getSessionStats(sessionId?: string): any; /** * Track agent in session */ trackAgent(agent: Agent, sessionId?: string): void; /** * Track task in session */ trackTask(task: Task, sessionId?: string): void; /** * Close session */ closeSession(sessionId: string): boolean; /** * Get all active sessions */ getActiveSessions(): SessionContext[]; private evictOldest; private setupCleanupInterval; private cleanupExpiredEntries; shutdown(): Promise; } //# sourceMappingURL=SessionMemory.d.ts.map