/** * event-normalizer.ts — 把 opencodeClient 的事件映射成干净的 ChatEvent 流 * * 输入:opencodeClient EventEmitter 发出的事件 * - permissionRequest * - messageUpdated (Message info) * - messagePartUpdated (Part, optional delta) * - sessionIdle / sessionError / sessionStatus * - questionAsked * * 输出:按 sessionId 发布到 ChatEventBus 的 ChatEvent * * 见 plan-v2.md 第三节事件协议、第四节架构说明。 */ import { type ChatEventBus } from './event-bus.js'; export declare class ChatEventNormalizer { private readonly bus; private readonly sessionStates; private installed; private readonly handlers; private cleanupTimer; constructor(bus?: ChatEventBus); /** 挂接到 opencodeClient 事件源 */ install(): void; /** 从事件源解绑(测试或热重载时用) */ uninstall(): void; private getSessionState; private getMessageState; private publish; private onMessageUpdated; private onPartUpdated; private processAssistantPartUpdate; private onSessionIdle; /** Remove session states that haven't received events for SESSION_STATE_TTL_MS */ private cleanupStaleSessions; private onSessionError; private onSessionStatus; private onPermissionRequest; } /** 单例(在 admin-server 启动时 install) */ export declare const chatEventNormalizer: ChatEventNormalizer; //# sourceMappingURL=event-normalizer.d.ts.map