n8n-nodes-websocket
Version:
Enhanced WebSocket nodes for n8n with bidirectional communication support
34 lines (33 loc) • 1.3 kB
TypeScript
import { WebSocket } from 'ws';
export interface ConnectionInfo {
remoteAddress?: string;
remotePort?: number;
userAgent?: string;
origin?: string;
timestamp: string;
connectionId: string;
}
export interface StoredConnection {
ws: WebSocket;
connectionInfo: ConnectionInfo;
lastActivity: Date;
}
export declare const globalWebSocketConnections: Map<string, StoredConnection>;
export declare const WebSocketConnectionManager: {
addConnection: (connectionId: string, ws: WebSocket, connectionInfo: ConnectionInfo) => void;
removeConnection: (connectionId: string) => boolean;
sendToConnection: (connectionId: string, message: string) => boolean;
broadcastToAll: (message: string) => number;
getActiveConnections: () => {
connectionId: string;
connectionInfo: ConnectionInfo;
lastActivity: Date;
isOpen: boolean;
}[];
getConnectionCount: () => number;
cleanupDeadConnections: () => number;
updateActivity: (connectionId: string) => void;
isConnectionActive: (connectionId: string) => boolean;
getConnectionInfo: (connectionId: string) => ConnectionInfo | null;
processMessageTemplate: (template: string, connectionInfo?: ConnectionInfo) => string;
};