UNPKG

taskflow-ai

Version:

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

102 lines (101 loc) 2.68 kB
import { ModelCoordinator } from '../models/coordinator'; import { FileType, ParseOptions } from '../../types/model'; import { Logger } from '../../infra/logger'; import { ParsedPRD } from '../../types/task'; /** * PRD解析结果接口 */ export interface PRDParseResult { title: string; description: string; sections: PRDSection[]; } /** * PRD章节接口 */ export interface PRDSection { title: string; content: string; level: number; features: PRDFeature[]; subsections?: PRDSection[]; } /** * PRD功能特性接口 */ export interface PRDFeature { name: string; description: string; priority: 'high' | 'medium' | 'low'; } /** * PRD解析器类 * 负责解析产品需求文档,整合文档处理和需求提取功能 */ export declare class PRDParser { private modelCoordinator; private logger; private documentProcessor; private requirementExtractor; /** * 创建PRD解析器实例 * @param modelCoordinator 模型协调器实例 * @param logger 日志记录器实例 */ constructor(modelCoordinator: ModelCoordinator, logger: Logger); /** * 从文件中解析PRD * @param filePath PRD文件路径 * @param options 解析选项 */ parseFromFile(filePath: string, options?: ParseOptions): Promise<ParsedPRD>; /** * 解析PRD内容 * @param content PRD文档内容 * @param fileType 文件类型 * @param options 解析选项 */ parseContent(content: string, fileType?: FileType, options?: ParseOptions): Promise<PRDParseResult>; /** * 预处理不同类型的文档内容 * @param content 文档内容 * @param fileType 文件类型 */ private preprocessContent; /** * 根据文件扩展名检测文件类型 * @param filePath 文件路径 */ private detectFileType; /** * 验证解析结果是否符合预期格式 * @param result 解析结果 */ private validateParseResult; /** * 转换为ParsedPRD格式 * @param documentStructure 文档结构 * @param extractionResult 需求提取结果 */ private convertToParseResult; /** * 提取文档描述 * @param documentStructure 文档结构 */ private extractDescription; /** * 转换DocumentSection到PRDSection * @param sections 文档章节列表 */ private convertToPRDSections; /** * 计算最大深度 * @param sections 章节列表 */ private calculateMaxDepth; /** * 检查是否有目录 * @param documentStructure 文档结构 */ private hasTableOfContents; }