UNPKG

@shelltender/server

Version:

Server-side terminal session management for Shelltender

70 lines 1.83 kB
import { EventEmitter } from 'events'; import { PatternConfig } from '@shelltender/core'; /** * Manages pattern registration, matching, and event emission */ export declare class EventManager extends EventEmitter { private options?; private patterns; private sessionPatterns; private patternIdCounter; private persistedPatternsFile; constructor(options?: { persistPath?: string; } | undefined); /** * Register a new pattern */ registerPattern(sessionId: string, config: PatternConfig): Promise<string>; /** * Unregister a pattern */ unregisterPattern(patternId: string): Promise<void>; /** * Process new terminal data for pattern matching */ processData(sessionId: string, data: string, buffer: string): void; /** * Check for ANSI sequences (built-in detection) */ private checkAnsiSequences; /** * Categorize ANSI sequence */ private categorizeAnsiSequence; /** * Emit a terminal event */ private emitEvent; /** * Get all patterns for a session */ getSessionPatterns(sessionId: string): PatternConfig[]; /** * Get pattern statistics */ getStats(): { totalPatterns: number; sessionCount: number; patterns: { id: string; name: string; type: import("@shelltender/core").PatternType; matchCount: number; lastMatchTime: number; }[]; }; /** * Clean up patterns for a session */ cleanupSession(sessionId: string): Promise<void>; /** * Persist patterns to disk */ private persistPatterns; /** * Load persisted patterns from disk */ private loadPersistedPatterns; } //# sourceMappingURL=EventManager.d.ts.map