intention-coding 0.6.4 → 0.6.5
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/db/tech-spec-storage.d.ts +139 -0
- package/dist/db/tech-spec-storage.d.ts.map +1 -0
- package/dist/index.cjs +1976 -0
- package/dist/services/tech-spec-generator/chapter-processor.d.ts +95 -0
- package/dist/services/tech-spec-generator/chapter-processor.d.ts.map +1 -0
- package/dist/services/tech-spec-generator/code-analyzer.d.ts +19 -0
- package/dist/services/tech-spec-generator/code-analyzer.d.ts.map +1 -0
- package/dist/services/tech-spec-generator/document-merger.d.ts +50 -0
- package/dist/services/tech-spec-generator/document-merger.d.ts.map +1 -0
- package/dist/services/tech-spec-generator/index.d.ts +172 -22
- package/dist/services/tech-spec-generator/index.d.ts.map +1 -1
- package/dist/services/tech-spec-generator/project-analyzer.d.ts +58 -0
- package/dist/services/tech-spec-generator/project-analyzer.d.ts.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 技术规格说明书章节处理器
|
|
3
|
+
* 负责将大型项目分解为多个章节,分别处理并存储到数据库
|
|
4
|
+
*/
|
|
5
|
+
import { ProjectAnalysisResult } from "./project-analyzer";
|
|
6
|
+
/**
|
|
7
|
+
* 章节处理配置
|
|
8
|
+
*/
|
|
9
|
+
export interface ChapterProcessConfig {
|
|
10
|
+
maxFilesPerBatch: number;
|
|
11
|
+
maxModulesPerChapter: number;
|
|
12
|
+
enableParallelProcessing: boolean;
|
|
13
|
+
skipEmptyModules: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 章节处理结果
|
|
17
|
+
*/
|
|
18
|
+
export interface ChapterProcessResult {
|
|
19
|
+
success: boolean;
|
|
20
|
+
projectUuid: string;
|
|
21
|
+
totalChapters: number;
|
|
22
|
+
processedChapters: number;
|
|
23
|
+
totalModules: number;
|
|
24
|
+
processedModules: number;
|
|
25
|
+
totalFiles: number;
|
|
26
|
+
processedFiles: number;
|
|
27
|
+
errorMessage?: string;
|
|
28
|
+
statistics: {
|
|
29
|
+
serviceInterfaceCount: number;
|
|
30
|
+
designDetailCount: number;
|
|
31
|
+
tableInfoCount: number;
|
|
32
|
+
processingTime: number;
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 章节处理器
|
|
37
|
+
*/
|
|
38
|
+
export declare class ChapterProcessor {
|
|
39
|
+
private config;
|
|
40
|
+
constructor(config?: Partial<ChapterProcessConfig>);
|
|
41
|
+
/**
|
|
42
|
+
* 处理完整项目,分章节存储
|
|
43
|
+
*/
|
|
44
|
+
processFullProject(projectAnalysis: ProjectAnalysisResult, options?: {
|
|
45
|
+
projectName?: string;
|
|
46
|
+
moduleName?: string;
|
|
47
|
+
includeModules?: string[];
|
|
48
|
+
excludeModules?: string[];
|
|
49
|
+
}): Promise<ChapterProcessResult>;
|
|
50
|
+
/**
|
|
51
|
+
* 创建项目记录
|
|
52
|
+
*/
|
|
53
|
+
private createProjectRecord;
|
|
54
|
+
/**
|
|
55
|
+
* 过滤模块
|
|
56
|
+
*/
|
|
57
|
+
private filterModules;
|
|
58
|
+
/**
|
|
59
|
+
* 创建模块批次
|
|
60
|
+
*/
|
|
61
|
+
private createModuleBatches;
|
|
62
|
+
/**
|
|
63
|
+
* 确定章节类型
|
|
64
|
+
*/
|
|
65
|
+
private determineChapterType;
|
|
66
|
+
/**
|
|
67
|
+
* 处理单个批次
|
|
68
|
+
*/
|
|
69
|
+
private processBatch;
|
|
70
|
+
/**
|
|
71
|
+
* 检测模块类型
|
|
72
|
+
*/
|
|
73
|
+
private detectModuleType;
|
|
74
|
+
/**
|
|
75
|
+
* 存储章节内容
|
|
76
|
+
*/
|
|
77
|
+
private storeChapterContent;
|
|
78
|
+
/**
|
|
79
|
+
* 获取章节顺序
|
|
80
|
+
*/
|
|
81
|
+
private getChapterOrder;
|
|
82
|
+
/**
|
|
83
|
+
* 生成技术方案内容
|
|
84
|
+
*/
|
|
85
|
+
private generateTechSolutionContent;
|
|
86
|
+
/**
|
|
87
|
+
* 生成业务异常处理内容
|
|
88
|
+
*/
|
|
89
|
+
private generateBusinessExceptionContent;
|
|
90
|
+
/**
|
|
91
|
+
* 生成项目概述章节
|
|
92
|
+
*/
|
|
93
|
+
private generateProjectOverviewChapter;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=chapter-processor.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 代码分析器 - 从代码文件中提取技术规格信息
|
|
3
|
+
* 支持多种编程语言和框架
|
|
4
|
+
*/
|
|
5
|
+
import { ProjectAnalysisResult } from "./project-analyzer";
|
|
6
|
+
import { ServiceInterface, TableInfo, DesignDetail } from "./types";
|
|
7
|
+
/**
|
|
8
|
+
* 分析项目代码,生成技术规格数据
|
|
9
|
+
*/
|
|
10
|
+
export declare function analyzeProjectCode(analysis: ProjectAnalysisResult, options?: {
|
|
11
|
+
includeModules?: string[];
|
|
12
|
+
excludeModules?: string[];
|
|
13
|
+
includeFileTypes?: ("controller" | "service" | "entity" | "dto")[];
|
|
14
|
+
}): Promise<{
|
|
15
|
+
serviceInterfaceList: ServiceInterface[];
|
|
16
|
+
designDetailList: DesignDetail[];
|
|
17
|
+
tableInfoList: TableInfo[];
|
|
18
|
+
}>;
|
|
19
|
+
//# sourceMappingURL=code-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"code-analyzer.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/code-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAAe,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EACL,gBAAgB,EAEhB,SAAS,EAET,YAAY,EAIb,MAAM,SAAS,CAAC;AA8jBjB;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,qBAAqB,EAC/B,OAAO,GAAE;IACP,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,gBAAgB,CAAC,EAAE,CAAC,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,CAAC,EAAE,CAAC;CAC/D,GACL,OAAO,CAAC;IACT,oBAAoB,EAAE,gBAAgB,EAAE,CAAC;IACzC,gBAAgB,EAAE,YAAY,EAAE,CAAC;IACjC,aAAa,EAAE,SAAS,EAAE,CAAC;CAC5B,CAAC,CAyED"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { TechSpecData } from "./types";
|
|
2
|
+
export interface DocumentMergeConfig {
|
|
3
|
+
includeEmptyChapters: boolean;
|
|
4
|
+
generateDefaultContent: boolean;
|
|
5
|
+
maxItemsPerChapter: number;
|
|
6
|
+
enableChapterSummary: boolean;
|
|
7
|
+
}
|
|
8
|
+
export interface DocumentMergeResult {
|
|
9
|
+
success: boolean;
|
|
10
|
+
outputPath?: string;
|
|
11
|
+
techSpecData?: TechSpecData;
|
|
12
|
+
statistics: {
|
|
13
|
+
totalChapters: number;
|
|
14
|
+
mergedChapters: number;
|
|
15
|
+
totalServiceInterfaces: number;
|
|
16
|
+
totalDesignDetails: number;
|
|
17
|
+
totalTables: number;
|
|
18
|
+
processingTime: number;
|
|
19
|
+
};
|
|
20
|
+
errorMessage?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare class DocumentMerger {
|
|
23
|
+
private config;
|
|
24
|
+
constructor(config?: Partial<DocumentMergeConfig>);
|
|
25
|
+
mergeAndRenderDocument(projectUuid: string, outputDir?: string): Promise<DocumentMergeResult>;
|
|
26
|
+
private mergeAllChapters;
|
|
27
|
+
private limitAndReindex;
|
|
28
|
+
private generateDefaultTechSolution;
|
|
29
|
+
private generateDefaultBusinessException;
|
|
30
|
+
private generateDefaultAppendix;
|
|
31
|
+
getProjectProgress(projectUuid: string): Promise<{
|
|
32
|
+
project: import("../../db/tech-spec-storage").TechSpecProject;
|
|
33
|
+
statistics: {
|
|
34
|
+
totalChapters: number;
|
|
35
|
+
completedChapters: number;
|
|
36
|
+
totalModules: number;
|
|
37
|
+
completedModules: number;
|
|
38
|
+
totalFiles: number;
|
|
39
|
+
completedFiles: number;
|
|
40
|
+
chaptersByType: Record<import("../../db/tech-spec-storage").ChapterType, number>;
|
|
41
|
+
};
|
|
42
|
+
progress: {
|
|
43
|
+
totalSteps: number;
|
|
44
|
+
completedSteps: number;
|
|
45
|
+
currentStep: string;
|
|
46
|
+
percentage: number;
|
|
47
|
+
};
|
|
48
|
+
}>;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=document-merger.d.ts.map
|
|
@@ -0,0 +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"}
|
|
@@ -795,13 +795,13 @@ export declare const generateFinalDocumentTool: {
|
|
|
795
795
|
}, "strip", z.ZodTypeAny, {
|
|
796
796
|
type?: string | undefined;
|
|
797
797
|
name?: string | undefined;
|
|
798
|
-
required?: string | undefined;
|
|
799
798
|
description?: string | undefined;
|
|
799
|
+
required?: string | undefined;
|
|
800
800
|
}, {
|
|
801
801
|
type?: string | undefined;
|
|
802
802
|
name?: string | undefined;
|
|
803
|
-
required?: string | undefined;
|
|
804
803
|
description?: string | undefined;
|
|
804
|
+
required?: string | undefined;
|
|
805
805
|
}>, "many">>>;
|
|
806
806
|
}, "strip", z.ZodTypeAny, {
|
|
807
807
|
projectName: string;
|
|
@@ -933,9 +933,6 @@ export declare const generateFinalDocumentTool: {
|
|
|
933
933
|
year?: string | undefined;
|
|
934
934
|
month?: string | undefined;
|
|
935
935
|
referDoc?: string | undefined;
|
|
936
|
-
businessException?: {
|
|
937
|
-
content: string;
|
|
938
|
-
} | undefined;
|
|
939
936
|
appendix?: {
|
|
940
937
|
content?: string | undefined;
|
|
941
938
|
exceptionCodeList?: {
|
|
@@ -949,11 +946,14 @@ export declare const generateFinalDocumentTool: {
|
|
|
949
946
|
id?: string | undefined;
|
|
950
947
|
}[] | undefined;
|
|
951
948
|
} | undefined;
|
|
949
|
+
businessException?: {
|
|
950
|
+
content: string;
|
|
951
|
+
} | undefined;
|
|
952
952
|
dtoDefinitions?: Record<string, {
|
|
953
953
|
type?: string | undefined;
|
|
954
954
|
name?: string | undefined;
|
|
955
|
-
required?: string | undefined;
|
|
956
955
|
description?: string | undefined;
|
|
956
|
+
required?: string | undefined;
|
|
957
957
|
}[]> | undefined;
|
|
958
958
|
}, {
|
|
959
959
|
projectName: string;
|
|
@@ -1085,9 +1085,6 @@ export declare const generateFinalDocumentTool: {
|
|
|
1085
1085
|
fieldLength: string;
|
|
1086
1086
|
}[] | undefined;
|
|
1087
1087
|
}[] | undefined;
|
|
1088
|
-
businessException?: {
|
|
1089
|
-
content: string;
|
|
1090
|
-
} | undefined;
|
|
1091
1088
|
appendix?: {
|
|
1092
1089
|
content?: string | undefined;
|
|
1093
1090
|
exceptionCodeList?: {
|
|
@@ -1101,11 +1098,14 @@ export declare const generateFinalDocumentTool: {
|
|
|
1101
1098
|
id?: string | undefined;
|
|
1102
1099
|
}[] | undefined;
|
|
1103
1100
|
} | undefined;
|
|
1101
|
+
businessException?: {
|
|
1102
|
+
content: string;
|
|
1103
|
+
} | undefined;
|
|
1104
1104
|
dtoDefinitions?: Record<string, {
|
|
1105
1105
|
type?: string | undefined;
|
|
1106
1106
|
name?: string | undefined;
|
|
1107
|
-
required?: string | undefined;
|
|
1108
1107
|
description?: string | undefined;
|
|
1108
|
+
required?: string | undefined;
|
|
1109
1109
|
}[]> | undefined;
|
|
1110
1110
|
}>;
|
|
1111
1111
|
};
|
|
@@ -1123,7 +1123,118 @@ export declare const generateFinalDocumentTool: {
|
|
|
1123
1123
|
isError?: undefined;
|
|
1124
1124
|
}>;
|
|
1125
1125
|
};
|
|
1126
|
-
export declare const
|
|
1126
|
+
export declare const analyzeLargeProjectTool: {
|
|
1127
|
+
name: string;
|
|
1128
|
+
description: string;
|
|
1129
|
+
inputSchema: {
|
|
1130
|
+
projectPath: z.ZodString;
|
|
1131
|
+
projectName: z.ZodOptional<z.ZodString>;
|
|
1132
|
+
moduleName: z.ZodOptional<z.ZodString>;
|
|
1133
|
+
includeModules: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1134
|
+
excludeModules: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
1135
|
+
maxFilesPerBatch: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1136
|
+
maxModulesPerChapter: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1137
|
+
};
|
|
1138
|
+
handler: (args: any) => Promise<{
|
|
1139
|
+
content: {
|
|
1140
|
+
type: string;
|
|
1141
|
+
text: string;
|
|
1142
|
+
}[];
|
|
1143
|
+
isError: boolean;
|
|
1144
|
+
} | {
|
|
1145
|
+
content: {
|
|
1146
|
+
type: string;
|
|
1147
|
+
text: string;
|
|
1148
|
+
}[];
|
|
1149
|
+
isError?: undefined;
|
|
1150
|
+
}>;
|
|
1151
|
+
};
|
|
1152
|
+
export declare const renderFinalDocumentTool: {
|
|
1153
|
+
name: string;
|
|
1154
|
+
description: string;
|
|
1155
|
+
inputSchema: {
|
|
1156
|
+
projectUuid: z.ZodString;
|
|
1157
|
+
outputDir: z.ZodOptional<z.ZodString>;
|
|
1158
|
+
includeEmptyChapters: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
1159
|
+
generateDefaultContent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
1160
|
+
maxItemsPerChapter: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1161
|
+
};
|
|
1162
|
+
handler: (args: any) => Promise<{
|
|
1163
|
+
content: {
|
|
1164
|
+
type: string;
|
|
1165
|
+
text: string;
|
|
1166
|
+
}[];
|
|
1167
|
+
isError: boolean;
|
|
1168
|
+
} | {
|
|
1169
|
+
content: {
|
|
1170
|
+
type: string;
|
|
1171
|
+
text: string;
|
|
1172
|
+
}[];
|
|
1173
|
+
isError?: undefined;
|
|
1174
|
+
}>;
|
|
1175
|
+
};
|
|
1176
|
+
export declare const getProjectProgressTool: {
|
|
1177
|
+
name: string;
|
|
1178
|
+
description: string;
|
|
1179
|
+
inputSchema: {
|
|
1180
|
+
projectUuid: z.ZodString;
|
|
1181
|
+
};
|
|
1182
|
+
handler: (args: any) => Promise<{
|
|
1183
|
+
content: {
|
|
1184
|
+
type: string;
|
|
1185
|
+
text: string;
|
|
1186
|
+
}[];
|
|
1187
|
+
isError: boolean;
|
|
1188
|
+
} | {
|
|
1189
|
+
content: {
|
|
1190
|
+
type: string;
|
|
1191
|
+
text: string;
|
|
1192
|
+
}[];
|
|
1193
|
+
isError?: undefined;
|
|
1194
|
+
}>;
|
|
1195
|
+
};
|
|
1196
|
+
export declare const listTechSpecProjectsTool: {
|
|
1197
|
+
name: string;
|
|
1198
|
+
description: string;
|
|
1199
|
+
inputSchema: {
|
|
1200
|
+
status: z.ZodOptional<z.ZodString>;
|
|
1201
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1202
|
+
};
|
|
1203
|
+
handler: (args: any) => Promise<{
|
|
1204
|
+
content: {
|
|
1205
|
+
type: string;
|
|
1206
|
+
text: string;
|
|
1207
|
+
}[];
|
|
1208
|
+
isError?: undefined;
|
|
1209
|
+
} | {
|
|
1210
|
+
content: {
|
|
1211
|
+
type: string;
|
|
1212
|
+
text: string;
|
|
1213
|
+
}[];
|
|
1214
|
+
isError: boolean;
|
|
1215
|
+
}>;
|
|
1216
|
+
};
|
|
1217
|
+
export declare const analyzeProjectStructureTool: {
|
|
1218
|
+
name: string;
|
|
1219
|
+
description: string;
|
|
1220
|
+
inputSchema: {
|
|
1221
|
+
projectPath: z.ZodString;
|
|
1222
|
+
};
|
|
1223
|
+
handler: (args: any) => Promise<{
|
|
1224
|
+
content: {
|
|
1225
|
+
type: string;
|
|
1226
|
+
text: string;
|
|
1227
|
+
}[];
|
|
1228
|
+
isError: boolean;
|
|
1229
|
+
} | {
|
|
1230
|
+
content: {
|
|
1231
|
+
type: string;
|
|
1232
|
+
text: string;
|
|
1233
|
+
}[];
|
|
1234
|
+
isError?: undefined;
|
|
1235
|
+
}>;
|
|
1236
|
+
};
|
|
1237
|
+
export declare const techSpecGeneratorTools: ({
|
|
1127
1238
|
name: string;
|
|
1128
1239
|
description: string;
|
|
1129
1240
|
inputSchema: {
|
|
@@ -1135,7 +1246,46 @@ export declare const techSpecGeneratorTools: {
|
|
|
1135
1246
|
text: string;
|
|
1136
1247
|
}[];
|
|
1137
1248
|
}>;
|
|
1138
|
-
}
|
|
1249
|
+
} | {
|
|
1250
|
+
name: string;
|
|
1251
|
+
description: string;
|
|
1252
|
+
inputSchema: {
|
|
1253
|
+
projectUuid: z.ZodString;
|
|
1254
|
+
};
|
|
1255
|
+
handler: (args: any) => Promise<{
|
|
1256
|
+
content: {
|
|
1257
|
+
type: string;
|
|
1258
|
+
text: string;
|
|
1259
|
+
}[];
|
|
1260
|
+
isError: boolean;
|
|
1261
|
+
} | {
|
|
1262
|
+
content: {
|
|
1263
|
+
type: string;
|
|
1264
|
+
text: string;
|
|
1265
|
+
}[];
|
|
1266
|
+
isError?: undefined;
|
|
1267
|
+
}>;
|
|
1268
|
+
} | {
|
|
1269
|
+
name: string;
|
|
1270
|
+
description: string;
|
|
1271
|
+
inputSchema: {
|
|
1272
|
+
status: z.ZodOptional<z.ZodString>;
|
|
1273
|
+
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
1274
|
+
};
|
|
1275
|
+
handler: (args: any) => Promise<{
|
|
1276
|
+
content: {
|
|
1277
|
+
type: string;
|
|
1278
|
+
text: string;
|
|
1279
|
+
}[];
|
|
1280
|
+
isError?: undefined;
|
|
1281
|
+
} | {
|
|
1282
|
+
content: {
|
|
1283
|
+
type: string;
|
|
1284
|
+
text: string;
|
|
1285
|
+
}[];
|
|
1286
|
+
isError: boolean;
|
|
1287
|
+
}>;
|
|
1288
|
+
})[];
|
|
1139
1289
|
export declare const techSpecGeneratorTool: {
|
|
1140
1290
|
name: string;
|
|
1141
1291
|
description: string;
|
|
@@ -1787,13 +1937,13 @@ export declare const techSpecGeneratorTool: {
|
|
|
1787
1937
|
}, "strip", z.ZodTypeAny, {
|
|
1788
1938
|
type?: string | undefined;
|
|
1789
1939
|
name?: string | undefined;
|
|
1790
|
-
required?: string | undefined;
|
|
1791
1940
|
description?: string | undefined;
|
|
1941
|
+
required?: string | undefined;
|
|
1792
1942
|
}, {
|
|
1793
1943
|
type?: string | undefined;
|
|
1794
1944
|
name?: string | undefined;
|
|
1795
|
-
required?: string | undefined;
|
|
1796
1945
|
description?: string | undefined;
|
|
1946
|
+
required?: string | undefined;
|
|
1797
1947
|
}>, "many">>>;
|
|
1798
1948
|
}, "strip", z.ZodTypeAny, {
|
|
1799
1949
|
projectName: string;
|
|
@@ -1925,9 +2075,6 @@ export declare const techSpecGeneratorTool: {
|
|
|
1925
2075
|
year?: string | undefined;
|
|
1926
2076
|
month?: string | undefined;
|
|
1927
2077
|
referDoc?: string | undefined;
|
|
1928
|
-
businessException?: {
|
|
1929
|
-
content: string;
|
|
1930
|
-
} | undefined;
|
|
1931
2078
|
appendix?: {
|
|
1932
2079
|
content?: string | undefined;
|
|
1933
2080
|
exceptionCodeList?: {
|
|
@@ -1941,11 +2088,14 @@ export declare const techSpecGeneratorTool: {
|
|
|
1941
2088
|
id?: string | undefined;
|
|
1942
2089
|
}[] | undefined;
|
|
1943
2090
|
} | undefined;
|
|
2091
|
+
businessException?: {
|
|
2092
|
+
content: string;
|
|
2093
|
+
} | undefined;
|
|
1944
2094
|
dtoDefinitions?: Record<string, {
|
|
1945
2095
|
type?: string | undefined;
|
|
1946
2096
|
name?: string | undefined;
|
|
1947
|
-
required?: string | undefined;
|
|
1948
2097
|
description?: string | undefined;
|
|
2098
|
+
required?: string | undefined;
|
|
1949
2099
|
}[]> | undefined;
|
|
1950
2100
|
}, {
|
|
1951
2101
|
projectName: string;
|
|
@@ -2077,9 +2227,6 @@ export declare const techSpecGeneratorTool: {
|
|
|
2077
2227
|
fieldLength: string;
|
|
2078
2228
|
}[] | undefined;
|
|
2079
2229
|
}[] | undefined;
|
|
2080
|
-
businessException?: {
|
|
2081
|
-
content: string;
|
|
2082
|
-
} | undefined;
|
|
2083
2230
|
appendix?: {
|
|
2084
2231
|
content?: string | undefined;
|
|
2085
2232
|
exceptionCodeList?: {
|
|
@@ -2093,11 +2240,14 @@ export declare const techSpecGeneratorTool: {
|
|
|
2093
2240
|
id?: string | undefined;
|
|
2094
2241
|
}[] | undefined;
|
|
2095
2242
|
} | undefined;
|
|
2243
|
+
businessException?: {
|
|
2244
|
+
content: string;
|
|
2245
|
+
} | undefined;
|
|
2096
2246
|
dtoDefinitions?: Record<string, {
|
|
2097
2247
|
type?: string | undefined;
|
|
2098
2248
|
name?: string | undefined;
|
|
2099
|
-
required?: string | undefined;
|
|
2100
2249
|
description?: string | undefined;
|
|
2250
|
+
required?: string | undefined;
|
|
2101
2251
|
}[]> | undefined;
|
|
2102
2252
|
}>;
|
|
2103
2253
|
};
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 项目分析器 - 支持整个项目的技术规格说明书生成
|
|
3
|
+
* 自动扫描项目结构,识别模块,分析代码文件
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* 项目文件类型
|
|
7
|
+
*/
|
|
8
|
+
export interface ProjectFile {
|
|
9
|
+
path: string;
|
|
10
|
+
name: string;
|
|
11
|
+
type: "controller" | "service" | "entity" | "dto" | "config" | "other";
|
|
12
|
+
relativePath: string;
|
|
13
|
+
module?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* 项目模块信息
|
|
17
|
+
*/
|
|
18
|
+
export interface ProjectModule {
|
|
19
|
+
name: string;
|
|
20
|
+
path: string;
|
|
21
|
+
relativePath: string;
|
|
22
|
+
files: ProjectFile[];
|
|
23
|
+
subModules: ProjectModule[];
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* 项目分析结果
|
|
27
|
+
*/
|
|
28
|
+
export interface ProjectAnalysisResult {
|
|
29
|
+
projectName: string;
|
|
30
|
+
projectPath: string;
|
|
31
|
+
modules: ProjectModule[];
|
|
32
|
+
allFiles: ProjectFile[];
|
|
33
|
+
statistics: {
|
|
34
|
+
totalFiles: number;
|
|
35
|
+
controllerFiles: number;
|
|
36
|
+
serviceFiles: number;
|
|
37
|
+
entityFiles: number;
|
|
38
|
+
dtoFiles: number;
|
|
39
|
+
moduleCount: number;
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* 分析整个项目
|
|
44
|
+
*/
|
|
45
|
+
export declare function analyzeProject(projectPath: string): Promise<ProjectAnalysisResult>;
|
|
46
|
+
/**
|
|
47
|
+
* 根据文件类型过滤文件
|
|
48
|
+
*/
|
|
49
|
+
export declare function filterFilesByType(files: ProjectFile[], types: ProjectFile["type"][]): ProjectFile[];
|
|
50
|
+
/**
|
|
51
|
+
* 根据模块名过滤文件
|
|
52
|
+
*/
|
|
53
|
+
export declare function filterFilesByModule(files: ProjectFile[], moduleNames: string[]): ProjectFile[];
|
|
54
|
+
/**
|
|
55
|
+
* 获取项目的所有模块名称
|
|
56
|
+
*/
|
|
57
|
+
export declare function getModuleNames(analysis: ProjectAnalysisResult): string[];
|
|
58
|
+
//# sourceMappingURL=project-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"project-analyzer.d.ts","sourceRoot":"","sources":["../../../src/services/tech-spec-generator/project-analyzer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,YAAY,GAAG,SAAS,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACvE,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,WAAW,EAAE,CAAC;IACrB,UAAU,EAAE,aAAa,EAAE,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,UAAU,EAAE;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAqRD;;GAEG;AACH,wBAAsB,cAAc,CAClC,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,qBAAqB,CAAC,CAgDhC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,WAAW,EAAE,EACpB,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,EAAE,GAC3B,WAAW,EAAE,CAEf;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,WAAW,EAAE,EACpB,WAAW,EAAE,MAAM,EAAE,GACpB,WAAW,EAAE,CAIf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,qBAAqB,GAAG,MAAM,EAAE,CAExE"}
|