taskflow-ai
Version:
TaskFlow AI - 智能PRD文档解析与任务管理助手,支持多模型AI协同、MCP编辑器集成,专为开发团队设计的CLI工具
101 lines (100 loc) • 2.88 kB
TypeScript
/**
* 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;
}