UNPKG

@shelltender/server

Version:

Server-side terminal session management for Shelltender

50 lines 1.82 kB
import { Server as HTTPServer } from 'http'; import { Server as HTTPSServer } from 'https'; import { SessionManager } from './SessionManager.js'; import { BufferManager } from './BufferManager.js'; import { SessionStore } from './SessionStore.js'; import { EventManager } from './events/EventManager.js'; export interface WebSocketServerOptions { port?: number; server?: HTTPServer | HTTPSServer; noServer?: boolean; host?: string; path?: string; perMessageDeflate?: boolean | object; maxPayload?: number; clientTracking?: boolean; } export declare class WebSocketServer { private wss; private sessionManager; private bufferManager; private sessionStore?; private eventManager?; private clients; private clientStates; private clientPatterns; private clientEventSubscriptions; private monitorClients; private adminProxy; private adminClients; private constructor(); static create(config: number | WebSocketServerOptions, sessionManager: SessionManager, bufferManager: BufferManager, eventManager?: EventManager, sessionStore?: SessionStore): WebSocketServer; private setupWebSocketHandlers; private handleMessage; private handleCreateSession; private handleConnectSession; private handleSessionInput; private handleSessionResize; private handleSessionDisconnect; private handleAdminMessage; broadcastToSession(sessionId: string, data: any): void; private setupEventSystem; private handleRegisterPattern; private handleUnregisterPattern; private handleSubscribeEvents; private handleUnsubscribeEvents; private handleMonitorAll; getSessionClientCount(sessionId: string): number; getClientsBySession(): Map<string, number>; } //# sourceMappingURL=WebSocketServer.d.ts.map