UNPKG

taskflow-ai

Version:

TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具

101 lines (100 loc) 2.88 kB
/** * TaskFlow AI 核心引擎 * 负责协调PRD解析、任务编排和管理的核心逻辑 */ import { Logger } from '../../infra/logger'; import { ConfigManager } from '../../infra/config'; import { ModelCoordinator } from '../models/coordinator'; import { Task, TaskPlan, ParsedPRD } from '../../types/task'; import { PlanningOptions, ParseOptions } from '../../types/model'; /** * 引擎配置接口 */ export interface EngineConfig { autoSave?: boolean; saveInterval?: number; outputDir?: string; defaultModel?: string; enableOptimization?: boolean; } /** * 引擎执行结果 */ export interface EngineResult<T = unknown> { success: boolean; data?: T; message?: string; errors?: string[]; warnings?: string[]; metadata?: Record<string, unknown>; } /** * TaskFlow AI 核心引擎类 */ export declare class TaskFlowEngine { private logger; private configManager; private modelCoordinator; private prdParser; private taskPlanner; private taskManager; private config; /** * 创建TaskFlow引擎实例 */ constructor(logger: Logger, configManager: ConfigManager, modelCoordinator: ModelCoordinator); /** * 从PRD文件解析并生成完整的任务计划 * @param prdFilePath PRD文件路径 * @param parseOptions 解析选项 * @param planningOptions 规划选项 */ processFromPRD(prdFilePath: string, parseOptions?: ParseOptions, planningOptions?: PlanningOptions): Promise<EngineResult<TaskPlan>>; /** * 解析PRD文档 * @param prdFilePath PRD文件路径 * @param options 解析选项 */ parsePRD(prdFilePath: string, options?: ParseOptions): Promise<EngineResult<ParsedPRD>>; /** * 生成任务计划 * @param prdData 解析后的PRD数据 * @param options 规划选项 */ generateTaskPlan(prdData: ParsedPRD, options?: PlanningOptions): Promise<EngineResult<TaskPlan>>; /** * 优化任务计划 * @param taskPlan 原始任务计划 * @param options 优化选项 */ optimizeTaskPlan(taskPlan: TaskPlan, options?: PlanningOptions): Promise<EngineResult<TaskPlan>>; /** * 获取当前任务计划 */ getCurrentTaskPlan(): TaskPlan | null; /** * 获取推荐的下一个任务 */ getRecommendedTasks(): Task[]; /** * 更新任务状态 * @param taskId 任务ID * @param status 新状态 */ updateTaskStatus(taskId: string, status: string): Promise<EngineResult<Task>>; /** * 获取项目进度统计 */ getProgressStats(): { total: number; completed: number; inProgress: number; notStarted: number; blocked: number; completionRate: number; }; /** * 销毁引擎,清理资源 */ destroy(): void; }