UNPKG

autosnippet

Version:

Extract code patterns into a knowledge base for AI coding assistants

58 lines (57 loc) 1.82 kB
/** * BootstrapEventEmitter.js — 统一的 Bootstrap 进度事件推送 * * 两端(内部 Agent / 外部 Agent)使用相同的事件名和数据格式, * 同时兼容 EventBus 和 BootstrapTaskManager。 * * @module shared/BootstrapEventEmitter */ import type { DimensionCompletePayload, ProgressPayload } from './bootstrap-event-types.js'; export declare class BootstrapEventEmitter { #private; /** @param container DI Container */ constructor(container: { get?: (name: string) => unknown; }); /** * 推送维度完成事件 * * @param dimId 维度 ID * @param data 事件数据 * @param [data.type] 'skill' | 'candidate' | 'dual' * @param [data.extracted] 提取的候选数量 * @param [data.source] 'internal-agent' | 'external-agent' * @param [data.skillCreated] 是否生成了 Skill * @param [data.recipesBound] 关联的 recipe 数量 */ emitDimensionComplete(dimId: string, data: DimensionCompletePayload): void; /** * 推送全部维度完成事件 * * @param sessionId 会话 ID * @param totalDimensions 总维度数 * @param [source] 来源标识 */ emitAllComplete(sessionId: string, totalDimensions: number, source?: string): void; /** * 推送维度开始填充事件 * * @param dimId 维度 ID */ emitDimensionStart(dimId: string): void; /** * 推送维度失败事件 * * @param dimId 维度 ID * @param error 错误对象 */ emitDimensionFailed(dimId: string, error: Error | string): void; /** * 推送进度事件 * * @param event 事件名 * @param data 事件数据 */ emitProgress(event: string, data?: ProgressPayload): void; } export default BootstrapEventEmitter;