/** * Session Manager for Notification Routing * * Handles session identification and context tracking for intelligent * notification delivery across multiple chat sessions and MCP clients. */ import { SessionContext, NotificationConfig } from '../types/notifications.js'; export declare class SessionManager { private static instance; private currentContext; private config; private constructor(); static getInstance(config?: Partial): SessionManager; /** * Initialize session context with multiple identification strategies */ private initializeSessionContext; /** * Detect session ID from various MCP client implementations */ private detectMCPSessionId; /** * Generate session ID based on process and context */ private generateContextualSessionId; /** * Record MCP usage for contextual relevance */ recordMCPUsage(mcpName: string): void; /** * Clean up MCP usage entries that are too old to be relevant */ private cleanupOldMCPUsage; /** * Check if an MCP is contextually relevant to this session */ isMCPRelevant(mcpName: string): boolean; /** * Get current session ID */ getSessionId(): string; /** * Get full session context */ getSessionContext(): Readonly; /** * Check if this session matches a given session ID */ matchesSession(sessionId?: string): boolean; /** * Update configuration */ updateConfig(newConfig: Partial): void; /** * Get current configuration */ getConfig(): Readonly; /** * Get session statistics for debugging */ getSessionStats(): { sessionId: string; sessionAge: number; timeSinceLastActivity: number; totalOperations: number; trackedMCPs: string[]; processId: number; workingDirectory: string; }; /** * Reset session (useful for testing) */ resetSession(): void; } //# sourceMappingURL=SessionManager.d.ts.map