/** * Pipeline Engine - 通用流水线执行引擎(状态机设计) * * 核心思路: * CLI 是单次运行进程,无法在一次调用中"等待" AI 的 --apply。 * 所以用状态文件追踪当前步骤,每次 CLI 调用执行一步, * --apply 完成后 CLI 自动推进到下一步并输出新 prompt。 * * 状态流转 (analyze 两阶段分析): * init → phase1-prompt → (AI --apply) → phase1-done * → 检测多端 → phase2-prompt → (AI --apply) → done * * AI 侧流程: * 1. 收到 Phase 1 prompt → 生成全局文档 → --apply * 2. CLI 写入文件 → 自动推进 → 输出 [SPECCORE_PIPELINE_NEXT] + Phase 2 prompt * 3. AI 看到标记 → 自动执行下一个命令 → 生成各端文档 → --apply * 4. CLI 写入文件 → 标记完成 → Pipeline 结束 * * @since v6.68.0 */ export interface PipelineState { /** 当前步骤 */ currentStep: string; /** 所有步骤列表 */ steps: string[]; /** 已完成步骤 */ completedSteps: string[]; /** 迭代名称 */ iteration: string; /** 流水线名称 */ name: string; /** 端列表(analyze 专用) */ platforms?: string[]; /** 创建时间 */ createdAt: string; /** 最后更新时间 */ updatedAt: string; } export interface PipelineStepDef { /** 步骤 ID */ id: string; /** 步骤显示名 */ name: string; /** 下一步 ID(null = 结束) */ next: string | null; /** 条件判断:返回 true 才执行此步骤,否则跳到 next */ condition?: () => Promise | boolean; } export interface PipelineEngineOptions { /** 迭代名称 */ iteration: string; /** 流水线名称 */ name: string; /** 工作区根目录(默认 process.cwd()) */ cwd?: string; } export declare class PipelineEngine { private state; private steps; private iteration; private name; private cwd; private stateFilePath; constructor(options: PipelineEngineOptions); defineSteps(stepDefs: PipelineStepDef[]): void; init(firstStepId: string, extra?: Record): Promise; advance(): Promise<{ nextStepId: string | null; nextStepName: string | null; isComplete: boolean; }>; getCurrentStep(): string | null; getCurrentStepDef(): PipelineStepDef | null; isActive(): Promise; getState(): Promise; static hasActivePipeline(cwd: string, iteration: string): Promise; static loadExistingState(cwd: string, iteration: string): Promise; reset(): Promise; private saveState; private loadState; } export declare function createAnalyzePipeline(iteration: string, cwd?: string, options?: { /** 变更感知:仅分析受影响的端 */ affectedPlatforms?: string[]; /** 关键路径优先:端排序优先级(靠前的优先分析) */ platformOrder?: string[]; /** 是否跳过需求澄清 */ skipClarify?: boolean; }): Promise<{ engine: PipelineEngine; steps: PipelineStepDef[]; }>; export declare function createSplitPipeline(iteration: string, cwd?: string): Promise<{ engine: PipelineEngine; steps: PipelineStepDef[]; }>; export declare function createExecutePipeline(iteration: string, task?: string, cwd?: string): Promise<{ engine: PipelineEngine; steps: PipelineStepDef[]; }>; export declare function createGlobalAnalyzePipeline(cwd?: string): Promise<{ engine: PipelineEngine; steps: PipelineStepDef[]; }>; //# sourceMappingURL=pipeline-engine.d.ts.map