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 +403 -2
- package/dist/services/tech-spec-generator/chapter-processor.d.ts +49 -0
- package/dist/services/tech-spec-generator/chapter-processor.d.ts.map +1 -1
- package/dist/services/tech-spec-generator/document-merger.d.ts.map +1 -1
- package/dist/services/tech-spec-generator/index.d.ts +49 -0
- package/dist/services/tech-spec-generator/index.d.ts.map +1 -1
- package/dist/services/tech-spec-generator/types.d.ts +68 -0
- package/dist/services/tech-spec-generator/types.d.ts.map +1 -1
- package/package.json +1 -1
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
|
-
|
|
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
|
|
1
|
+
{"version":3,"file":"chapter-processor.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/chapter-processor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EACL,qBAAqB,EAGtB,MAAM,oBAAoB,CAAC;AAQ5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;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;AAED;;GAEG;AACH,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,cAAc,EAAE;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,OAAO,CAAC;QACjB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,EAAE;YACV,qBAAqB,EAAE,MAAM,CAAC;YAC9B,iBAAiB,EAAE,MAAM,CAAC;YAC1B,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;KACH,EAAE,CAAC;IACJ,gBAAgB,EAAE;QAChB,sBAAsB,EAAE,MAAM,CAAC;QAC/B,kBAAkB,EAAE,MAAM,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;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;IAyC5C;;;;OAIG;IACG,oBAAoB,CACxB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,yBAAyB,CAAC;IAyLrC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA6CxB;;OAEG;YACW,+BAA+B;IAgF7C;;OAEG;YACW,mCAAmC;CAyElD"}
|
|
@@ -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;
|
|
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":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgiBxB,eAAO,MAAM,yBAAyB;;;;;;oBAMd,GAAG;;;;;;;;;;;;;CA8C1B,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;oBAMjB,GAAG;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBASjB,GAAG;;;;;;CAmB1B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;oBAMd,GAAG;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;oBAMZ,GAAG;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;oBAMlB,GAAG;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;oBAMT,GAAG;;;;;;CAsB1B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8Cd,GAAG;;;;;;;;;;;;;CAiG1B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;oBA8BZ,GAAG;;;;;;;;;;;;;CAoH1B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;oBA6BZ,GAAG;;;;;;;;;;;;;CA2H1B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;oBAOX,GAAG;;;;;;;;;;;;;CA+D1B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;oBAWb,GAAG;;;;;;;;;;;;;CAgF1B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;oBAMhB,GAAG;;;;;;;;;;;;;CAkE1B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgiBxB,eAAO,MAAM,yBAAyB;;;;;;oBAMd,GAAG;;;;;;;;;;;;;CA8C1B,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;oBAMjB,GAAG;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBASjB,GAAG;;;;;;CAmB1B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;oBAMd,GAAG;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;oBAMZ,GAAG;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;oBAMlB,GAAG;;;;;;CAiB1B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;;oBAMT,GAAG;;;;;;CAsB1B,CAAC;AAEF,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;oBA8Cd,GAAG;;;;;;;;;;;;;CAiG1B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;;;oBA8BZ,GAAG;;;;;;;;;;;;;CAoH1B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;;;;;oBAiCb,GAAG;;;;;;;;;;;;;CAuI1B,CAAC;AAEF,eAAO,MAAM,uBAAuB;;;;;;;;;;oBA6BZ,GAAG;;;;;;;;;;;;;CA2H1B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;oBAOX,GAAG;;;;;;;;;;;;;CA+D1B,CAAC;AAEF,eAAO,MAAM,wBAAwB;;;;;;;oBAWb,GAAG;;;;;;;;;;;;;CAgF1B,CAAC;AAEF,eAAO,MAAM,2BAA2B;;;;;;oBAMhB,GAAG;;;;;;;;;;;;;CAkE1B,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;;oBAl/BX,GAAG;;;;;;;;;;;;;;;;;oBAgeH,GAAG;;;;;;;;;;;;;;;;;;;oBA0SH,GAAG;;;;;;;;;;;;;;;;;;;;oBA4EH,GAAG;;;;;;;;;;;;;IA2K1B,CAAC;AAEF,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;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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"}
|