UNPKG

taskflow-ai

Version:

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

156 lines (155 loc) 3.38 kB
/** * TaskFlow AI 任务可视化模块 * 负责生成各种任务可视化图表 */ import { TaskPlan } from '../../types/task'; import { Logger } from '../../infra/logger'; /** * 可视化类型枚举 */ export declare enum VisualizationType { GANTT = "gantt", DEPENDENCY = "dependency", KANBAN = "kanban", TIMELINE = "timeline", PROGRESS = "progress" } /** * 可视化选项 */ export interface VisualizationOptions { type: VisualizationType; format?: 'mermaid' | 'json' | 'html'; includeSubtasks?: boolean; showProgress?: boolean; groupBy?: 'type' | 'assignee' | 'priority'; timeUnit?: 'days' | 'hours'; } /** * 甘特图数据 */ export interface GanttData { title: string; tasks: GanttTask[]; } export interface GanttTask { id: string; name: string; start: string; duration: number; dependencies?: string[]; progress?: number; assignee?: string; } /** * 依赖关系图数据 */ export interface DependencyGraph { nodes: DependencyNode[]; edges: DependencyEdge[]; } export interface DependencyNode { id: string; label: string; type: string; status: string; priority: string; } export interface DependencyEdge { from: string; to: string; type: 'dependency'; } /** * 看板数据 */ export interface KanbanData { columns: KanbanColumn[]; } export interface KanbanColumn { id: string; title: string; tasks: KanbanTask[]; } export interface KanbanTask { id: string; title: string; description: string; priority: string; assignee?: string; tags: string[]; } /** * 任务可视化器类 */ export declare class TaskVisualizer { private logger; constructor(logger: Logger); /** * 生成可视化数据 * @param taskPlan 任务计划 * @param options 可视化选项 */ generateVisualization(taskPlan: TaskPlan, options: VisualizationOptions): Record<string, unknown>; /** * 生成甘特图 * @param taskPlan 任务计划 * @param options 选项 */ private generateGanttChart; /** * 生成Mermaid格式的甘特图 * @param ganttData 甘特图数据 */ private generateMermaidGantt; /** * 生成依赖关系图 * @param taskPlan 任务计划 * @param options 选项 */ private generateDependencyGraph; /** * 生成Mermaid格式的依赖关系图 * @param graph 依赖关系图数据 */ private generateMermaidDependencyGraph; /** * 获取节点形状 * @param status 任务状态 */ private getNodeShape; /** * 获取节点样式 * @param priority 优先级 */ private getNodeStyle; /** * 生成看板 * @param taskPlan 任务计划 * @param options 选项 */ private generateKanbanBoard; /** * 生成时间线 * @param taskPlan 任务计划 * @param options 选项 */ private generateTimeline; /** * 生成进度图表 * @param taskPlan 任务计划 * @param options 选项 */ private generateProgressChart; /** * 格式化日期 * @param date 日期 */ private formatDate; /** * 计算任务开始日期 * @param task 任务 * @param index 索引 */ private calculateTaskStartDate; }