autosnippet
Version:
Extract code patterns into a knowledge base for AI coding assistants
58 lines (57 loc) • 1.82 kB
TypeScript
/**
* 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;