UNPKG

taskflow-ai

Version:

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

186 lines (185 loc) 3.9 kB
/** * TaskFlow AI 任务相关类型定义 */ /** * 任务状态枚举 */ export declare enum TaskStatus { NOT_STARTED = "not_started",// 未开始 PENDING = "pending",// 等待中 IN_PROGRESS = "in_progress",// 进行中 RUNNING = "running",// 执行中 COMPLETED = "completed",// 已完成 DONE = "done",// 完成(兼容性) CANCELLED = "cancelled",// 已取消 FAILED = "failed",// 失败 BLOCKED = "blocked",// 被阻塞 ON_HOLD = "on_hold",// 暂停 REVIEW = "review",// 审核中 TODO = "todo" } /** * 任务优先级 */ export declare enum TaskPriority { LOW = "low", MEDIUM = "medium", HIGH = "high", CRITICAL = "critical" } /** * 任务类型 */ export declare enum TaskType { FEATURE = "feature",// 功能开发 BUG_FIX = "bug_fix",// 缺陷修复 REFACTOR = "refactor",// 代码重构 TEST = "test",// 测试任务 DOCUMENT = "document",// 文档任务 ANALYSIS = "analysis",// 分析任务 DESIGN = "design",// 设计任务 DEPLOYMENT = "deployment",// 部署任务 RESEARCH = "research" } /** * 基本任务接口 */ export interface Task { id: string; name: string; title: string; description: string; status: TaskStatus; priority: TaskPriority; type: TaskType; dependencies: string[]; estimatedHours?: number; actualHours?: number; createdAt: Date; updatedAt: Date; startedAt?: Date; completedAt?: Date; dueDate?: Date; assignee?: string; tags: string[]; acceptance?: string[]; notes?: string; progress?: number; metadata?: Record<string, any>; subtasks?: Task[]; } /** * 复合任务(包含子任务) */ export interface CompositeTask extends Task { subtasks: Task[]; } /** * 测试用例 */ export interface TestCase { id: string; taskId: string; name: string; description: string; steps: string[]; expectedResults: string[]; framework?: string; filePath?: string; status?: 'passed' | 'failed' | 'pending'; } /** * 任务执行结果 */ export interface TaskResult { taskId: string; success: boolean; message?: string; artifacts?: string[]; duration?: number; startTime: Date; endTime?: Date; testResults?: TestResult[]; } /** * 测试结果 */ export interface TestResult { testCaseId: string; passed: boolean; message?: string; executionTime: number; coverage?: { lines: number; functions: number; statements: number; branches: number; }; } /** * 任务计划 */ export interface TaskPlan { id: string; name: string; description: string; tasks: Task[]; createdAt: Date; updatedAt: Date; dueDate?: Date; source?: string; status: 'draft' | 'active' | 'completed' | 'archived'; metadata?: Record<string, any>; } /** * PRD解析结果 */ export interface ParsedPRD { id?: string; title: string; description: string; sections: PRDSection[]; metadata: Record<string, any>; } /** * PRD章节 */ export interface PRDSection { title: string; content: string; level: number; features: Feature[]; subsections?: PRDSection[]; } /** * 功能点 */ export interface Feature { name: string; description: string; priority?: TaskPriority; acceptance?: string[]; } /** * 创建任务选项 */ export interface CreateTaskOptions { name: string; description: string; priority?: TaskPriority; type?: TaskType; dependencies?: string[]; assignee?: string; tags?: string[]; subtasks?: Omit<CreateTaskOptions, 'subtasks'>[]; } /** * 创建测试用例选项 */ export interface CreateTestCaseOptions { taskId: string; name: string; description: string; steps: string[]; expectedResults: string[]; }