import { WorkflowState, WorkflowFilter } from '../types/workflow.js'; import { RequirementAnalysisResult } from '../types/requirement.js'; import { ArchitectureDesignResult } from '../types/architecture.js'; import { CodeImplementationResult } from '../types/code.js'; import { TaskManager } from './task.js'; import { FeishuIntegrator } from '../integrators/feishu.js'; import { Logger } from '../utils/logger.js'; export interface WorkflowManagerConfig { storageDir: string; maxConcurrentWorkflows: number; } export declare class WorkflowManager { private taskManager; private feishuIntegrator; private logger; private config; private workflowsDir; constructor(taskManager: TaskManager, feishuIntegrator: FeishuIntegrator, config: WorkflowManagerConfig, logger: Logger); initialize(): Promise; /** * 为需求创建并开始一个新的工作流 * @param requirementId 需求ID * @returns 新工作流的ID */ startWorkflow(requirementId: string): Promise; /** * 获取工作流当前状态 * @param workflowId 工作流ID * @returns 工作流状态 */ getWorkflowState(workflowId: string): Promise; /** * 保存工作流状态 * @param state 工作流状态 */ private saveWorkflowState; /** * 更新工作流状态 * @param workflowId 工作流ID * @param updates 更新的字段 * @returns 更新后的工作流状态 */ updateWorkflowState(workflowId: string, updates: Partial>): Promise; /** * 将工作流推进到下一阶段 * @param workflowId 工作流ID * @param result 当前阶段的结果 * @returns 更新后的工作流状态 */ advanceWorkflow(workflowId: string, result?: RequirementAnalysisResult | ArchitectureDesignResult | CodeImplementationResult): Promise; /** * 为工作流阶段创建相应的任务 * @param workflowId 工作流ID * @param stage 工作流阶段 * @param itemId 项目项ID */ private createTaskForStage; /** * 根据工作流阶段获取对应的任务类型 * @param stage 工作流阶段 * @returns 任务类型 */ private getTaskTypeForStage; /** * 根据过滤条件获取工作流列表 * @param filter 过滤条件 * @returns 工作流状态列表 */ getWorkflows(filter?: WorkflowFilter): Promise; /** * 为需求完整性分析结果生成澄清评论 * @param result 需求分析结果 * @returns 格式化的评论文本 */ private generateClarificationComment; }