intention-coding 0.6.5 → 0.6.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -12512,6 +12512,277 @@ ${requirement_description}
12512
12512
  fileCount: projectAnalysis.allFiles.length
12513
12513
  });
12514
12514
  }
12515
+ async processMultiProjects(config) {
12516
+ const startTime = Date.now();
12517
+ const projectUuid = (0, external_crypto_namespaceObject.randomUUID)();
12518
+ logger.info(`\u{5F00}\u{59CB}\u{5904}\u{7406}\u{591A}\u{9879}\u{76EE}\u{5408}\u{5E76}: ${config.mergedProjectName}`, {
12519
+ projectUuid,
12520
+ projectCount: config.projectPaths.length,
12521
+ projectPaths: config.projectPaths
12522
+ });
12523
+ const projectResults = [];
12524
+ let totalServiceInterfaces = 0;
12525
+ let totalDesignDetails = 0;
12526
+ let totalTables = 0;
12527
+ let totalFiles = 0;
12528
+ let processedProjects = 0;
12529
+ try {
12530
+ await techSpecDbOperations.createTechSpecProject({
12531
+ uuid: projectUuid,
12532
+ projectName: config.mergedProjectName,
12533
+ moduleName: config.mergedModuleName || config.mergedProjectName,
12534
+ projectPath: config.projectPaths.join(";"),
12535
+ totalModules: config.projectPaths.length,
12536
+ totalFiles: 0
12537
+ });
12538
+ for(let i = 0; i < config.projectPaths.length; i++){
12539
+ const projectPath = config.projectPaths[i];
12540
+ const projectAlias = config.projectAliases?.[projectPath];
12541
+ logger.info(`\u{5206}\u{6790}\u{5FAE}\u{670D}\u{52A1}\u{9879}\u{76EE} ${i + 1}/${config.projectPaths.length}: ${projectPath}`);
12542
+ try {
12543
+ const projectAnalysis = await analyzeProject(projectPath);
12544
+ const projectName = projectAlias || projectAnalysis.projectName;
12545
+ const codeAnalysis = await analyzeProjectCode(projectAnalysis, {
12546
+ includeFileTypes: [
12547
+ "controller",
12548
+ "service",
12549
+ "entity",
12550
+ "dto"
12551
+ ]
12552
+ });
12553
+ const prefixedData = this.addProjectPrefix(codeAnalysis, projectName, false !== config.addProjectPrefix);
12554
+ await this.storeMultiProjectChapterContent(projectUuid, projectName, prefixedData, projectAnalysis.allFiles.length);
12555
+ totalServiceInterfaces += prefixedData.serviceInterfaceList.length;
12556
+ totalDesignDetails += prefixedData.designDetailList.length;
12557
+ totalTables += prefixedData.tableInfoList.length;
12558
+ totalFiles += projectAnalysis.allFiles.length;
12559
+ processedProjects++;
12560
+ projectResults.push({
12561
+ projectPath,
12562
+ projectName,
12563
+ success: true,
12564
+ statistics: {
12565
+ serviceInterfaceCount: prefixedData.serviceInterfaceList.length,
12566
+ designDetailCount: prefixedData.designDetailList.length,
12567
+ tableInfoCount: prefixedData.tableInfoList.length
12568
+ }
12569
+ });
12570
+ logger.info(`\u{5FAE}\u{670D}\u{52A1}\u{9879}\u{76EE}\u{5206}\u{6790}\u{5B8C}\u{6210}: ${projectName}`, {
12571
+ serviceInterfaces: prefixedData.serviceInterfaceList.length,
12572
+ designDetails: prefixedData.designDetailList.length,
12573
+ tables: prefixedData.tableInfoList.length
12574
+ });
12575
+ } catch (error) {
12576
+ logger.error(`\u{5FAE}\u{670D}\u{52A1}\u{9879}\u{76EE}\u{5206}\u{6790}\u{5931}\u{8D25}: ${projectPath}`, {
12577
+ error: error.message
12578
+ });
12579
+ projectResults.push({
12580
+ projectPath,
12581
+ projectName: projectAlias || projectPath.split("/").pop() || projectPath,
12582
+ success: false,
12583
+ errorMessage: error.message,
12584
+ statistics: {
12585
+ serviceInterfaceCount: 0,
12586
+ designDetailCount: 0,
12587
+ tableInfoCount: 0
12588
+ }
12589
+ });
12590
+ }
12591
+ }
12592
+ await this.generateMultiProjectOverviewChapter(projectUuid, config, projectResults, {
12593
+ totalServiceInterfaces,
12594
+ totalDesignDetails,
12595
+ totalTables,
12596
+ totalFiles
12597
+ });
12598
+ await techSpecDbOperations.updateTechSpecProject(projectUuid, {
12599
+ status: "completed",
12600
+ completedAt: new Date(),
12601
+ totalFiles,
12602
+ processedFiles: totalFiles,
12603
+ processedModules: processedProjects
12604
+ });
12605
+ const processingTime = Date.now() - startTime;
12606
+ logger.info(`\u{591A}\u{9879}\u{76EE}\u{5408}\u{5E76}\u{5904}\u{7406}\u{5B8C}\u{6210}`, {
12607
+ projectUuid,
12608
+ processingTime,
12609
+ totalProjects: config.projectPaths.length,
12610
+ processedProjects,
12611
+ totalServiceInterfaces,
12612
+ totalDesignDetails,
12613
+ totalTables
12614
+ });
12615
+ return {
12616
+ success: true,
12617
+ projectUuid,
12618
+ mergedProjectName: config.mergedProjectName,
12619
+ totalProjects: config.projectPaths.length,
12620
+ processedProjects,
12621
+ projectResults,
12622
+ mergedStatistics: {
12623
+ totalServiceInterfaces,
12624
+ totalDesignDetails,
12625
+ totalTables,
12626
+ totalFiles,
12627
+ processingTime
12628
+ }
12629
+ };
12630
+ } catch (error) {
12631
+ logger.error(`\u{591A}\u{9879}\u{76EE}\u{5408}\u{5E76}\u{5904}\u{7406}\u{5931}\u{8D25}`, {
12632
+ error: error.message,
12633
+ projectUuid
12634
+ });
12635
+ await techSpecDbOperations.updateTechSpecProject(projectUuid, {
12636
+ status: "failed"
12637
+ });
12638
+ return {
12639
+ success: false,
12640
+ projectUuid,
12641
+ mergedProjectName: config.mergedProjectName,
12642
+ totalProjects: config.projectPaths.length,
12643
+ processedProjects,
12644
+ projectResults,
12645
+ mergedStatistics: {
12646
+ totalServiceInterfaces,
12647
+ totalDesignDetails,
12648
+ totalTables,
12649
+ totalFiles,
12650
+ processingTime: Date.now() - startTime
12651
+ },
12652
+ errorMessage: error.message
12653
+ };
12654
+ }
12655
+ }
12656
+ addProjectPrefix(codeAnalysis, projectName, addPrefix) {
12657
+ if (!addPrefix) return codeAnalysis;
12658
+ const prefix = `[${projectName}]`;
12659
+ return {
12660
+ serviceInterfaceList: codeAnalysis.serviceInterfaceList.map((item)=>({
12661
+ ...item,
12662
+ serviceChineseName: `${prefix} ${item.serviceChineseName || item.serviceEnglishName}`,
12663
+ serviceDescription: `${prefix} ${item.serviceDescription || ""}`,
12664
+ _sourceProject: projectName
12665
+ })),
12666
+ designDetailList: codeAnalysis.designDetailList.map((item)=>({
12667
+ ...item,
12668
+ serviceName: `${prefix} ${item.serviceName}`,
12669
+ serviceDesc: `${prefix} ${item.serviceDesc || ""}`,
12670
+ _sourceProject: projectName
12671
+ })),
12672
+ tableInfoList: codeAnalysis.tableInfoList.map((item)=>({
12673
+ ...item,
12674
+ tableDescription: `${prefix} ${item.tableDescription || item.tableName}`,
12675
+ _sourceProject: projectName
12676
+ }))
12677
+ };
12678
+ }
12679
+ async storeMultiProjectChapterContent(projectUuid, projectName, codeAnalysis, fileCount) {
12680
+ if (codeAnalysis.serviceInterfaceList.length > 0) await techSpecDbOperations.createTechSpecChapter({
12681
+ uuid: (0, external_crypto_namespaceObject.randomUUID)(),
12682
+ projectUuid,
12683
+ chapterType: "service_interface_list",
12684
+ chapterTitle: `\u{670D}\u{52A1}\u{63A5}\u{53E3}\u{6E05}\u{5355} - ${projectName}`,
12685
+ chapterOrder: this.getChapterOrder("service_interface_list"),
12686
+ content: JSON.stringify(codeAnalysis.serviceInterfaceList),
12687
+ moduleSource: projectName,
12688
+ fileCount
12689
+ });
12690
+ if (codeAnalysis.designDetailList.length > 0) await techSpecDbOperations.createTechSpecChapter({
12691
+ uuid: (0, external_crypto_namespaceObject.randomUUID)(),
12692
+ projectUuid,
12693
+ chapterType: "interface_design",
12694
+ chapterTitle: `\u{63A5}\u{53E3}\u{8BBE}\u{8BA1}\u{8BE6}\u{60C5} - ${projectName}`,
12695
+ chapterOrder: this.getChapterOrder("interface_design"),
12696
+ content: JSON.stringify(codeAnalysis.designDetailList),
12697
+ moduleSource: projectName,
12698
+ fileCount
12699
+ });
12700
+ if (codeAnalysis.tableInfoList.length > 0) await techSpecDbOperations.createTechSpecChapter({
12701
+ uuid: (0, external_crypto_namespaceObject.randomUUID)(),
12702
+ projectUuid,
12703
+ chapterType: "database_design",
12704
+ chapterTitle: `\u{6570}\u{636E}\u{5E93}\u{8BBE}\u{8BA1} - ${projectName}`,
12705
+ chapterOrder: this.getChapterOrder("database_design"),
12706
+ content: JSON.stringify(codeAnalysis.tableInfoList),
12707
+ moduleSource: projectName,
12708
+ fileCount
12709
+ });
12710
+ const techSolutionContent = {
12711
+ content: `
12712
+ ## ${projectName} \u{5FAE}\u{670D}\u{52A1}\u{6280}\u{672F}\u{65B9}\u{6848}
12713
+
12714
+ ### \u{670D}\u{52A1}\u{6982}\u{8FF0}
12715
+ ${projectName} \u{5FAE}\u{670D}\u{52A1}\u{5305}\u{542B} ${codeAnalysis.serviceInterfaceList.length} \u{4E2A}\u{670D}\u{52A1}\u{63A5}\u{53E3}\u{FF0C}${codeAnalysis.tableInfoList.length} \u{4E2A}\u{6570}\u{636E}\u{8868}\u{3002}
12716
+
12717
+ ### \u{6280}\u{672F}\u{67B6}\u{6784}
12718
+ \u{57FA}\u{4E8E}\u{5FAE}\u{670D}\u{52A1}\u{67B6}\u{6784}\u{8BBE}\u{8BA1}\u{FF0C}\u{63D0}\u{4F9B}\u{72EC}\u{7ACB}\u{7684}\u{4E1A}\u{52A1}\u{529F}\u{80FD}\u{6A21}\u{5757}\u{3002}
12719
+
12720
+ ### \u{63A5}\u{53E3}\u{8BBE}\u{8BA1}
12721
+ \u{5171}\u{8BBE}\u{8BA1} ${codeAnalysis.designDetailList.length} \u{4E2A}\u{63A5}\u{53E3}\u{FF0C}\u{652F}\u{6301}\u{670D}\u{52A1}\u{95F4}\u{8C03}\u{7528}\u{548C}\u{5916}\u{90E8}\u{8BBF}\u{95EE}\u{3002}
12722
+ `.trim()
12723
+ };
12724
+ await techSpecDbOperations.createTechSpecChapter({
12725
+ uuid: (0, external_crypto_namespaceObject.randomUUID)(),
12726
+ projectUuid,
12727
+ chapterType: "tech_solution",
12728
+ chapterTitle: `\u{6280}\u{672F}\u{65B9}\u{6848} - ${projectName}`,
12729
+ chapterOrder: this.getChapterOrder("tech_solution"),
12730
+ content: JSON.stringify(techSolutionContent),
12731
+ moduleSource: projectName,
12732
+ fileCount
12733
+ });
12734
+ }
12735
+ async generateMultiProjectOverviewChapter(projectUuid, config, projectResults, statistics) {
12736
+ const successfulProjects = projectResults.filter((p)=>p.success);
12737
+ const failedProjects = projectResults.filter((p)=>!p.success);
12738
+ const overviewContent = {
12739
+ projectName: config.mergedProjectName,
12740
+ moduleName: config.mergedModuleName || config.mergedProjectName,
12741
+ isMultiProject: true,
12742
+ totalProjects: config.projectPaths.length,
12743
+ successfulProjects: successfulProjects.length,
12744
+ failedProjects: failedProjects.length,
12745
+ summary: `
12746
+ \u{672C}\u{6280}\u{672F}\u{89C4}\u{683C}\u{8BF4}\u{660E}\u{4E66}\u{6DB5}\u{76D6} ${config.mergedProjectName} \u{9879}\u{76EE}\u{7FA4}\u{FF0C}\u{5305}\u{542B} ${successfulProjects.length} \u{4E2A}\u{5FAE}\u{670D}\u{52A1}\u{9879}\u{76EE}\u{3002}
12747
+
12748
+ ### \u{9879}\u{76EE}\u{6982}\u{89C8}
12749
+ - \u{5FAE}\u{670D}\u{52A1}\u{6570}\u{91CF}\u{FF1A}${successfulProjects.length} \u{4E2A}
12750
+ - \u{670D}\u{52A1}\u{63A5}\u{53E3}\u{603B}\u{6570}\u{FF1A}${statistics.totalServiceInterfaces} \u{4E2A}
12751
+ - \u{63A5}\u{53E3}\u{8BBE}\u{8BA1}\u{603B}\u{6570}\u{FF1A}${statistics.totalDesignDetails} \u{4E2A}
12752
+ - \u{6570}\u{636E}\u{8868}\u{603B}\u{6570}\u{FF1A}${statistics.totalTables} \u{4E2A}
12753
+ - \u{4EE3}\u{7801}\u{6587}\u{4EF6}\u{603B}\u{6570}\u{FF1A}${statistics.totalFiles} \u{4E2A}
12754
+
12755
+ ### \u{5FAE}\u{670D}\u{52A1}\u{5217}\u{8868}
12756
+ ${successfulProjects.map((p, i)=>`${i + 1}. **${p.projectName}**
12757
+ - \u{670D}\u{52A1}\u{63A5}\u{53E3}\u{FF1A}${p.statistics.serviceInterfaceCount} \u{4E2A}
12758
+ - \u{63A5}\u{53E3}\u{8BBE}\u{8BA1}\u{FF1A}${p.statistics.designDetailCount} \u{4E2A}
12759
+ - \u{6570}\u{636E}\u{8868}\u{FF1A}${p.statistics.tableInfoCount} \u{4E2A}`).join("\n")}
12760
+
12761
+ ${failedProjects.length > 0 ? `
12762
+ ### \u{5206}\u{6790}\u{5931}\u{8D25}\u{7684}\u{9879}\u{76EE}
12763
+ ${failedProjects.map((p)=>`- ${p.projectName}: ${p.errorMessage}`).join("\n")}
12764
+ ` : ""}
12765
+ `.trim(),
12766
+ projectList: projectResults.map((p)=>({
12767
+ projectPath: p.projectPath,
12768
+ projectName: p.projectName,
12769
+ success: p.success,
12770
+ errorMessage: p.errorMessage,
12771
+ statistics: p.statistics
12772
+ })),
12773
+ mergedStatistics: statistics
12774
+ };
12775
+ await techSpecDbOperations.createTechSpecChapter({
12776
+ uuid: (0, external_crypto_namespaceObject.randomUUID)(),
12777
+ projectUuid,
12778
+ chapterType: "project_overview",
12779
+ chapterTitle: "\u9879\u76EE\u6982\u8FF0",
12780
+ chapterOrder: this.getChapterOrder("project_overview"),
12781
+ content: JSON.stringify(overviewContent),
12782
+ moduleSource: "all",
12783
+ fileCount: statistics.totalFiles
12784
+ });
12785
+ }
12515
12786
  }
12516
12787
  const DEFAULT_MERGE_CONFIG = {
12517
12788
  includeEmptyChapters: false,
@@ -12534,7 +12805,12 @@ ${requirement_description}
12534
12805
  if (!project) throw new Error(`\u{9879}\u{76EE}\u{4E0D}\u{5B58}\u{5728}: ${projectUuid}`);
12535
12806
  const statistics = await techSpecDbOperations.getProjectStatistics(projectUuid);
12536
12807
  const techSpecData = await this.mergeAllChapters(projectUuid, project);
12537
- const finalOutputDir = outputDir || getTechSpecOutputDir(project.projectPath);
12808
+ let finalOutputDir = outputDir;
12809
+ if (!finalOutputDir) {
12810
+ const projectPath = project.projectPath;
12811
+ const firstProjectPath = projectPath.includes(";") ? projectPath.split(";")[0].trim() : projectPath;
12812
+ finalOutputDir = getTechSpecOutputDir(firstProjectPath);
12813
+ }
12538
12814
  const renderResult = await renderTechSpecDoc(techSpecData, finalOutputDir);
12539
12815
  if (!renderResult.success) throw new Error(renderResult.error || "\u6587\u6863\u6E32\u67D3\u5931\u8D25");
12540
12816
  await techSpecDbOperations.updateTechSpecProject(projectUuid, {
@@ -12574,12 +12850,13 @@ ${requirement_description}
12574
12850
  }
12575
12851
  async mergeAllChapters(projectUuid, project) {
12576
12852
  const now = new Date();
12853
+ const isMultiProject = project.projectPath?.includes(";");
12577
12854
  const techSpecData = {
12578
12855
  projectName: project.projectName,
12579
12856
  moduleName: project.moduleName,
12580
12857
  year: String(now.getFullYear()),
12581
12858
  month: String(now.getMonth() + 1).padStart(2, "0"),
12582
- referDoc: "\u9879\u76EE\u4EE3\u7801\u81EA\u52A8\u5206\u6790\u751F\u6210",
12859
+ referDoc: isMultiProject ? "\u591A\u5FAE\u670D\u52A1\u9879\u76EE\u4EE3\u7801\u81EA\u52A8\u5206\u6790\u751F\u6210" : "\u9879\u76EE\u4EE3\u7801\u81EA\u52A8\u5206\u6790\u751F\u6210",
12583
12860
  serviceInterfaceList: [],
12584
12861
  designDetailList: [],
12585
12862
  tableInfoList: []
@@ -13384,6 +13661,129 @@ ${requirement_description}
13384
13661
  }
13385
13662
  }
13386
13663
  };
13664
+ const analyzeMultiProjectsTool = {
13665
+ name: "analyze_multi_projects",
13666
+ description: "\u5206\u6790\u591A\u4E2A\u5FAE\u670D\u52A1\u9879\u76EE\u5E76\u5408\u5E76\u751F\u6210\u4E00\u4E2A\u6280\u672F\u89C4\u683C\u8BF4\u660E\u4E66\u3002\u9002\u7528\u4E8E\u62C6\u5206\u4E3A\u591A\u4E2A\u5FAE\u670D\u52A1\u7684\u5927\u578B\u9879\u76EE\uFF0C\u5C06\u6240\u6709\u5FAE\u670D\u52A1\u7684\u529F\u80FD\u7EDF\u4E00\u6574\u5408\u5230\u4E00\u4EFD\u6587\u6863\u4E2D\u3002",
13667
+ inputSchema: {
13668
+ projectPaths: arrayType(stringType().min(1)).min(1).describe("\u5FAE\u670D\u52A1\u9879\u76EE\u8DEF\u5F84\u5217\u8868\uFF0C\u6BCF\u4E2A\u8DEF\u5F84\u6307\u5411\u4E00\u4E2A\u72EC\u7ACB\u7684\u5FAE\u670D\u52A1\u9879\u76EE"),
13669
+ mergedProjectName: stringType().min(1).describe("\u5408\u5E76\u540E\u7684\u9879\u76EE\u540D\u79F0\uFF0C\u5C06\u663E\u793A\u5728\u6280\u672F\u89C4\u683C\u8BF4\u660E\u4E66\u7684\u6807\u9898\u4E2D"),
13670
+ mergedModuleName: stringType().optional().describe("\u5408\u5E76\u540E\u7684\u6A21\u5757\u540D\u79F0\uFF0C\u5982\u4E0D\u63D0\u4F9B\u5219\u4F7F\u7528\u9879\u76EE\u540D\u79F0"),
13671
+ outputDir: stringType().optional().describe("\u8F93\u51FA\u76EE\u5F55\uFF0C\u5982\u4E0D\u63D0\u4F9B\u5219\u4F7F\u7528\u7B2C\u4E00\u4E2A\u9879\u76EE\u7684\u9ED8\u8BA4\u76EE\u5F55"),
13672
+ addProjectPrefix: booleanType().optional().default(true).describe("\u662F\u5426\u4E3A\u6BCF\u4E2A\u5FAE\u670D\u52A1\u7684\u5185\u5BB9\u6DFB\u52A0\u9879\u76EE\u524D\u7F00\u6807\u8BC6\uFF0C\u4FBF\u4E8E\u533A\u5206\u6765\u6E90"),
13673
+ projectAliases: recordType(stringType(), stringType()).optional().describe("\u9879\u76EE\u522B\u540D\u6620\u5C04\uFF0Ckey\u4E3A\u9879\u76EE\u8DEF\u5F84\uFF0Cvalue\u4E3A\u663E\u793A\u540D\u79F0\u3002\u7528\u4E8E\u81EA\u5B9A\u4E49\u5FAE\u670D\u52A1\u7684\u663E\u793A\u540D\u79F0")
13674
+ },
13675
+ handler: async (args)=>{
13676
+ try {
13677
+ const { projectPaths, mergedProjectName, mergedModuleName, outputDir, addProjectPrefix = true, projectAliases } = args;
13678
+ if (!projectPaths || 0 === projectPaths.length) return {
13679
+ content: [
13680
+ {
13681
+ type: "text",
13682
+ text: JSON.stringify({
13683
+ success: false,
13684
+ message: "\u7F3A\u5C11\u5FC5\u586B\u53C2\u6570\uFF1AprojectPaths\uFF08\u81F3\u5C11\u9700\u8981\u4E00\u4E2A\u9879\u76EE\u8DEF\u5F84\uFF09"
13685
+ })
13686
+ }
13687
+ ],
13688
+ isError: true
13689
+ };
13690
+ if (!mergedProjectName) return {
13691
+ content: [
13692
+ {
13693
+ type: "text",
13694
+ text: JSON.stringify({
13695
+ success: false,
13696
+ message: "\u7F3A\u5C11\u5FC5\u586B\u53C2\u6570\uFF1AmergedProjectName"
13697
+ })
13698
+ }
13699
+ ],
13700
+ isError: true
13701
+ };
13702
+ logger.info(`\u{5F00}\u{59CB}\u{5206}\u{6790}\u{591A}\u{4E2A}\u{5FAE}\u{670D}\u{52A1}\u{9879}\u{76EE}`, {
13703
+ projectCount: projectPaths.length,
13704
+ mergedProjectName,
13705
+ projectPaths
13706
+ });
13707
+ const chapterProcessor = new ChapterProcessor({
13708
+ maxFilesPerBatch: 50,
13709
+ maxModulesPerChapter: 10,
13710
+ enableParallelProcessing: true,
13711
+ skipEmptyModules: true
13712
+ });
13713
+ const result = await chapterProcessor.processMultiProjects({
13714
+ projectPaths,
13715
+ mergedProjectName,
13716
+ mergedModuleName,
13717
+ outputDir,
13718
+ addProjectPrefix,
13719
+ projectAliases
13720
+ });
13721
+ if (result.success) return {
13722
+ content: [
13723
+ {
13724
+ type: "text",
13725
+ text: JSON.stringify({
13726
+ success: true,
13727
+ message: "\u591A\u5FAE\u670D\u52A1\u9879\u76EE\u5206\u6790\u5B8C\u6210\uFF0C\u7AE0\u8282\u5DF2\u5B58\u50A8\u5230\u6570\u636E\u5E93",
13728
+ data: {
13729
+ projectUuid: result.projectUuid,
13730
+ mergedProjectName: result.mergedProjectName,
13731
+ summary: {
13732
+ totalProjects: result.totalProjects,
13733
+ processedProjects: result.processedProjects,
13734
+ successfulProjects: result.projectResults.filter((p)=>p.success).length,
13735
+ failedProjects: result.projectResults.filter((p)=>!p.success).length
13736
+ },
13737
+ projectResults: result.projectResults.map((p)=>({
13738
+ projectPath: p.projectPath,
13739
+ projectName: p.projectName,
13740
+ success: p.success,
13741
+ errorMessage: p.errorMessage,
13742
+ statistics: p.statistics
13743
+ })),
13744
+ mergedStatistics: result.mergedStatistics,
13745
+ nextStep: `\u{8C03}\u{7528} render_final_document \u{5DE5}\u{5177}\u{FF0C}\u{4F7F}\u{7528} projectUuid: ${result.projectUuid} \u{751F}\u{6210}\u{6700}\u{7EC8}\u{7684}\u{5408}\u{5E76}\u{6587}\u{6863}`
13746
+ }
13747
+ })
13748
+ }
13749
+ ]
13750
+ };
13751
+ return {
13752
+ content: [
13753
+ {
13754
+ type: "text",
13755
+ text: JSON.stringify({
13756
+ success: false,
13757
+ message: result.errorMessage || "\u591A\u9879\u76EE\u5206\u6790\u5931\u8D25",
13758
+ data: {
13759
+ projectUuid: result.projectUuid,
13760
+ projectResults: result.projectResults,
13761
+ mergedStatistics: result.mergedStatistics
13762
+ }
13763
+ })
13764
+ }
13765
+ ],
13766
+ isError: true
13767
+ };
13768
+ } catch (error) {
13769
+ logger.error("\u591A\u9879\u76EE\u5206\u6790\u5931\u8D25", {
13770
+ error: error.message
13771
+ });
13772
+ return {
13773
+ content: [
13774
+ {
13775
+ type: "text",
13776
+ text: JSON.stringify({
13777
+ success: false,
13778
+ message: error.message || "\u5206\u6790\u8FC7\u7A0B\u4E2D\u53D1\u751F\u9519\u8BEF"
13779
+ })
13780
+ }
13781
+ ],
13782
+ isError: true
13783
+ };
13784
+ }
13785
+ }
13786
+ };
13387
13787
  const renderFinalDocumentTool = {
13388
13788
  name: "render_final_document",
13389
13789
  description: "\u5C06\u6570\u636E\u5E93\u4E2D\u5B58\u50A8\u7684\u7AE0\u8282\u5408\u5E76\u5E76\u6E32\u67D3\u4E3A\u6700\u7EC8\u7684\u6280\u672F\u89C4\u683C\u8BF4\u660E\u4E66Word\u6587\u6863\u3002\u7528\u4E8E\u5927\u578B\u9879\u76EE\u7684\u6700\u7EC8\u6587\u6863\u751F\u6210\u3002",
@@ -13698,6 +14098,7 @@ ${requirement_description}
13698
14098
  };
13699
14099
  const techSpecGeneratorTools = [
13700
14100
  analyzeLargeProjectTool,
14101
+ analyzeMultiProjectsTool,
13701
14102
  renderFinalDocumentTool,
13702
14103
  getProjectProgressTool,
13703
14104
  listTechSpecProjectsTool,
@@ -1,8 +1,10 @@
1
1
  /**
2
2
  * 技术规格说明书章节处理器
3
3
  * 负责将大型项目分解为多个章节,分别处理并存储到数据库
4
+ * 支持多项目合并处理
4
5
  */
5
6
  import { ProjectAnalysisResult } from "./project-analyzer";
7
+ import { MultiProjectConfig } from "./types";
6
8
  /**
7
9
  * 章节处理配置
8
10
  */
@@ -32,6 +34,35 @@ export interface ChapterProcessResult {
32
34
  processingTime: number;
33
35
  };
34
36
  }
37
+ /**
38
+ * 多项目处理结果
39
+ */
40
+ export interface MultiProjectProcessResult {
41
+ success: boolean;
42
+ projectUuid: string;
43
+ mergedProjectName: string;
44
+ totalProjects: number;
45
+ processedProjects: number;
46
+ projectResults: {
47
+ projectPath: string;
48
+ projectName: string;
49
+ success: boolean;
50
+ errorMessage?: string;
51
+ statistics: {
52
+ serviceInterfaceCount: number;
53
+ designDetailCount: number;
54
+ tableInfoCount: number;
55
+ };
56
+ }[];
57
+ mergedStatistics: {
58
+ totalServiceInterfaces: number;
59
+ totalDesignDetails: number;
60
+ totalTables: number;
61
+ totalFiles: number;
62
+ processingTime: number;
63
+ };
64
+ errorMessage?: string;
65
+ }
35
66
  /**
36
67
  * 章节处理器
37
68
  */
@@ -91,5 +122,23 @@ export declare class ChapterProcessor {
91
122
  * 生成项目概述章节
92
123
  */
93
124
  private generateProjectOverviewChapter;
125
+ /**
126
+ * 处理多个微服务项目,合并生成一个技术规格说明书
127
+ * @param config 多项目配置
128
+ * @returns 多项目处理结果
129
+ */
130
+ processMultiProjects(config: MultiProjectConfig): Promise<MultiProjectProcessResult>;
131
+ /**
132
+ * 为项目数据添加前缀标识
133
+ */
134
+ private addProjectPrefix;
135
+ /**
136
+ * 存储多项目章节内容
137
+ */
138
+ private storeMultiProjectChapterContent;
139
+ /**
140
+ * 生成多项目概述章节
141
+ */
142
+ private generateMultiProjectOverviewChapter;
94
143
  }
95
144
  //# sourceMappingURL=chapter-processor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chapter-processor.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/chapter-processor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACL,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAS5B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,wBAAwB,EAAE,OAAO,CAAC;IAClC,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAYD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE;QACV,qBAAqB,EAAE,MAAM,CAAC;QAC9B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;CACH;AAYD;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,MAAM,CAAuB;gBAEzB,MAAM,GAAE,OAAO,CAAC,oBAAoB,CAAM;IAItD;;OAEG;IACG,kBAAkB,CACtB,eAAe,EAAE,qBAAqB,EACtC,OAAO,GAAE;QACP,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;QAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;KACtB,GACL,OAAO,CAAC,oBAAoB,CAAC;IA+IhC;;OAEG;YACW,mBAAmB;IAkBjC;;OAEG;IACH,OAAO,CAAC,aAAa;IA+BrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAyC3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;YACW,YAAY;IAuE1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;YACW,mBAAmB;IAsFjC;;OAEG;IACH,OAAO,CAAC,eAAe;IAavB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IAsBnC;;OAEG;IACH,OAAO,CAAC,gCAAgC;IAsBxC;;OAEG;YACW,8BAA8B;CAwC7C"}
1
+ {"version":3,"file":"chapter-processor.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/chapter-processor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document-merger.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/document-merger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAIvC,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AASD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAI/C,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;YAiEjB,gBAAgB;IAuF9B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,uBAAuB;IAezB,kBAAkB,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;CAoC7C"}
1
+ {"version":3,"file":"document-merger.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/document-merger.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKvC,MAAM,WAAW,mBAAmB;IAClC,oBAAoB,EAAE,OAAO,CAAC;IAC9B,sBAAsB,EAAE,OAAO,CAAC;IAChC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,OAAO,CAAC;CAC/B;AASD,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,UAAU,EAAE;QACV,aAAa,EAAE,MAAM,CAAC;QACtB,cAAc,EAAE,MAAM,CAAC;QACvB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAsB;gBAExB,MAAM,GAAE,OAAO,CAAC,mBAAmB,CAAM;IAI/C,sBAAsB,CAC1B,WAAW,EAAE,MAAM,EACnB,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,mBAAmB,CAAC;YA0EjB,gBAAgB;IA4F9B,OAAO,CAAC,eAAe;IAWvB,OAAO,CAAC,2BAA2B;IAQnC,OAAO,CAAC,gCAAgC;IAMxC,OAAO,CAAC,uBAAuB;IAezB,kBAAkB,CAAC,WAAW,EAAE,MAAM;;;;;;;;;;;;;;;;;;CAoC7C"}
@@ -1149,6 +1149,31 @@ export declare const analyzeLargeProjectTool: {
1149
1149
  isError?: undefined;
1150
1150
  }>;
1151
1151
  };
1152
+ export declare const analyzeMultiProjectsTool: {
1153
+ name: string;
1154
+ description: string;
1155
+ inputSchema: {
1156
+ projectPaths: z.ZodArray<z.ZodString, "many">;
1157
+ mergedProjectName: z.ZodString;
1158
+ mergedModuleName: z.ZodOptional<z.ZodString>;
1159
+ outputDir: z.ZodOptional<z.ZodString>;
1160
+ addProjectPrefix: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1161
+ projectAliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1162
+ };
1163
+ handler: (args: any) => Promise<{
1164
+ content: {
1165
+ type: string;
1166
+ text: string;
1167
+ }[];
1168
+ isError: boolean;
1169
+ } | {
1170
+ content: {
1171
+ type: string;
1172
+ text: string;
1173
+ }[];
1174
+ isError?: undefined;
1175
+ }>;
1176
+ };
1152
1177
  export declare const renderFinalDocumentTool: {
1153
1178
  name: string;
1154
1179
  description: string;
@@ -1246,6 +1271,30 @@ export declare const techSpecGeneratorTools: ({
1246
1271
  text: string;
1247
1272
  }[];
1248
1273
  }>;
1274
+ } | {
1275
+ name: string;
1276
+ description: string;
1277
+ inputSchema: {
1278
+ projectPaths: z.ZodArray<z.ZodString, "many">;
1279
+ mergedProjectName: z.ZodString;
1280
+ mergedModuleName: z.ZodOptional<z.ZodString>;
1281
+ outputDir: z.ZodOptional<z.ZodString>;
1282
+ addProjectPrefix: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1283
+ projectAliases: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodString>>;
1284
+ };
1285
+ handler: (args: any) => Promise<{
1286
+ content: {
1287
+ type: string;
1288
+ text: string;
1289
+ }[];
1290
+ isError: boolean;
1291
+ } | {
1292
+ content: {
1293
+ type: string;
1294
+ text: string;
1295
+ }[];
1296
+ isError?: undefined;
1297
+ }>;
1249
1298
  } | {
1250
1299
  name: string;
1251
1300
  description: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/index.ts"],"names":[],"mappings":"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;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA3zBV,GAAG;;;;;;;;;;;;;CA2zBmC,CAAC;AAC/D,cAAc,SAAS,CAAC"}
@@ -266,4 +266,72 @@ export interface DocGenerationResult {
266
266
  outputPath: string | null;
267
267
  error?: string;
268
268
  }
269
+ /**
270
+ * 多项目配置 - 用于多微服务项目合并生成
271
+ */
272
+ export interface MultiProjectConfig {
273
+ /** 项目路径列表 */
274
+ projectPaths: string[];
275
+ /** 合并后的项目名称 */
276
+ mergedProjectName: string;
277
+ /** 合并后的模块名称 */
278
+ mergedModuleName?: string;
279
+ /** 输出目录 */
280
+ outputDir?: string;
281
+ /** 是否为每个项目添加前缀标识 */
282
+ addProjectPrefix?: boolean;
283
+ /** 项目别名映射(可选,用于自定义项目显示名称) */
284
+ projectAliases?: Record<string, string>;
285
+ }
286
+ /**
287
+ * 单个项目分析结果(用于多项目场景)
288
+ */
289
+ export interface SingleProjectAnalysis {
290
+ /** 项目路径 */
291
+ projectPath: string;
292
+ /** 项目名称 */
293
+ projectName: string;
294
+ /** 项目别名(用于显示) */
295
+ projectAlias?: string;
296
+ /** 服务接口清单 */
297
+ serviceInterfaceList: ServiceInterface[];
298
+ /** 接口设计详情 */
299
+ designDetailList: DesignDetail[];
300
+ /** 数据库表信息 */
301
+ tableInfoList: TableInfo[];
302
+ /** 技术方案 */
303
+ techSolution?: TechSolution;
304
+ /** 业务异常处理 */
305
+ businessException?: BusinessException;
306
+ /** 附录 */
307
+ appendix?: Appendix;
308
+ /** 统计信息 */
309
+ statistics: {
310
+ totalFiles: number;
311
+ controllerFiles: number;
312
+ serviceFiles: number;
313
+ entityFiles: number;
314
+ dtoFiles: number;
315
+ moduleCount: number;
316
+ };
317
+ }
318
+ /**
319
+ * 多项目分析结果
320
+ */
321
+ export interface MultiProjectAnalysisResult {
322
+ /** 合并后的项目名称 */
323
+ mergedProjectName: string;
324
+ /** 合并后的模块名称 */
325
+ mergedModuleName: string;
326
+ /** 各项目分析结果 */
327
+ projects: SingleProjectAnalysis[];
328
+ /** 合并后的统计信息 */
329
+ mergedStatistics: {
330
+ totalProjects: number;
331
+ totalFiles: number;
332
+ totalServiceInterfaces: number;
333
+ totalDesignDetails: number;
334
+ totalTables: number;
335
+ };
336
+ }
269
337
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intention-coding",
3
- "version": "0.6.5",
3
+ "version": "0.6.6",
4
4
  "description": "软件工程化的需求分析,功能设计,代码编写,测试运行和发布部署",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.11.0",