BREAKING CHANGE(socketconnection): Stricter typings, smartserve hooks, connection fixes, and tag API change

This commit is contained in:
2025-12-04 07:59:44 +00:00
parent 5b21955e04
commit 0499db71b8
12 changed files with 1039 additions and 2864 deletions

View File

@@ -13,6 +13,29 @@ export namespace ws {
export type RawData = wsTypes.RawData;
}
/**
* Unified WebSocket type supporting both browser and Node.js environments
*/
export type TWebSocket = WebSocket | ws.WebSocket;
/**
* Message event type for WebSocket messages (browser and Node.js compatible)
*/
export type TMessageEvent = MessageEvent | { data: string };
/**
* WebSocket-like interface for adapters (e.g., smartserve peer adapter)
*/
export interface IWebSocketLike {
readyState: number;
send(data: string): void;
close(code?: number, reason?: string): void;
addEventListener(event: 'message', listener: (event: TMessageEvent) => void): void;
addEventListener(event: 'close', listener: () => void): void;
addEventListener(event: 'error', listener: () => void): void;
removeEventListener?(event: string, listener: (...args: any[]) => void): void;
}
// smartserve compatibility interface (for setExternalServer)
// This mirrors the IWebSocketPeer interface from smartserve
export interface ISmartserveWebSocketPeer {