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