autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
34 lines (33 loc) • 1.6 kB
TypeScript
/**
* WebSocket/Socket.io 实时通知服务
* 提供候选人、食谱、规则的实时更新通知
*/
import { Server as SocketIOServer } from 'socket.io';
export declare class RealtimeService {
io: SocketIOServer;
constructor(httpServer: import('http').Server);
/** 设置事件处理器 */
setupEventHandlers(): void;
/** 广播候选人创建事件 */
broadcastCandidateCreated(candidate: unknown): void;
/** 广播候选人状态变化事件 */
broadcastCandidateStatusChanged(candidateId: string, newStatus: string, oldStatus: string): void;
/** 广播 Token 用量变化事件(Sidebar 指标刷新用) */
broadcastTokenUsageUpdated(): void;
/** 广播食谱创建事件 */
broadcastRecipeCreated(recipe: unknown): void;
/** 广播食谱发布事件 */
broadcastRecipePublished(recipeId: string, recipe: unknown): void;
/** 广播规则创建事件 */
broadcastRuleCreated(rule: unknown): void;
/** 广播规则状态变化事件 */
broadcastRuleStatusChanged(ruleId: string, enabled: boolean): void;
/** 广播通用事件 */
broadcastEvent(eventName: string, data: unknown): void;
/** 获取 Socket.io 实例 */
getIO(): SocketIOServer<import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, import("socket.io").DefaultEventsMap, any>;
/** 获取连接的客户端数量 */
getConnectedClients(): number;
}
export declare function initRealtimeService(httpServer: import('http').Server): RealtimeService;
export declare function getRealtimeService(): RealtimeService;