/** * Session Manager * * Manages conversation session lifecycle and state * Features: session creation, timeout management, activity tracking */ import { ConversationStorage } from './storage'; import { ConversationSession, ConversationMessage, ConversationMetadata, RecordingConfig } from './types'; /** * Session Manager * Handles conversation session lifecycle */ export declare class SessionManager { private storage; private config; private activeSessions; private sessionTimeouts; private destroyed; constructor(storage: ConversationStorage, config: RecordingConfig); /** * Start new conversation session */ startSession(metadata?: Partial): Promise; /** * End conversation session */ endSession(sessionId: string): Promise; /** * Update session with new message */ updateSessionWithMessage(sessionId: string, message: ConversationMessage): Promise; /** * Refresh session timeout (called on new activity) */ refreshSessionTimeout(sessionId: string): void; /** * Get active session for current context * Returns the most recent active session or creates a new one */ getCurrentSession(): Promise; /** * Get active sessions */ getActiveSessions(): ConversationSession[]; /** * Get session by ID */ getSession(sessionId: string): Promise; /** * Archive session */ archiveSession(sessionId: string): Promise; /** * Add tags to session */ addSessionTags(sessionId: string, tags: string[]): Promise; /** * Update session metadata */ updateSessionMetadata(sessionId: string, metadata: Partial): Promise; /** * Close all active sessions */ closeAllSessions(): Promise; /** * Cleanup all resources * Call this before destroying the session manager */ destroy(): Promise; /** * Set auto-close timeout for session */ private setSessionTimeout; /** * Clear session timeout */ private clearSessionTimeout; /** * Generate session summary * Creates a brief summary of the conversation */ private generateSessionSummary; /** * Truncate text to specified length */ private truncateText; } //# sourceMappingURL=session-manager.d.ts.map