intention-coding 0.6.4 → 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.
@@ -0,0 +1,144 @@
1
+ /**
2
+ * 技术规格说明书章节处理器
3
+ * 负责将大型项目分解为多个章节,分别处理并存储到数据库
4
+ * 支持多项目合并处理
5
+ */
6
+ import { ProjectAnalysisResult } from "./project-analyzer";
7
+ import { MultiProjectConfig } from "./types";
8
+ /**
9
+ * 章节处理配置
10
+ */
11
+ export interface ChapterProcessConfig {
12
+ maxFilesPerBatch: number;
13
+ maxModulesPerChapter: number;
14
+ enableParallelProcessing: boolean;
15
+ skipEmptyModules: boolean;
16
+ }
17
+ /**
18
+ * 章节处理结果
19
+ */
20
+ export interface ChapterProcessResult {
21
+ success: boolean;
22
+ projectUuid: string;
23
+ totalChapters: number;
24
+ processedChapters: number;
25
+ totalModules: number;
26
+ processedModules: number;
27
+ totalFiles: number;
28
+ processedFiles: number;
29
+ errorMessage?: string;
30
+ statistics: {
31
+ serviceInterfaceCount: number;
32
+ designDetailCount: number;
33
+ tableInfoCount: number;
34
+ processingTime: number;
35
+ };
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
+ }
66
+ /**
67
+ * 章节处理器
68
+ */
69
+ export declare class ChapterProcessor {
70
+ private config;
71
+ constructor(config?: Partial<ChapterProcessConfig>);
72
+ /**
73
+ * 处理完整项目,分章节存储
74
+ */
75
+ processFullProject(projectAnalysis: ProjectAnalysisResult, options?: {
76
+ projectName?: string;
77
+ moduleName?: string;
78
+ includeModules?: string[];
79
+ excludeModules?: string[];
80
+ }): Promise<ChapterProcessResult>;
81
+ /**
82
+ * 创建项目记录
83
+ */
84
+ private createProjectRecord;
85
+ /**
86
+ * 过滤模块
87
+ */
88
+ private filterModules;
89
+ /**
90
+ * 创建模块批次
91
+ */
92
+ private createModuleBatches;
93
+ /**
94
+ * 确定章节类型
95
+ */
96
+ private determineChapterType;
97
+ /**
98
+ * 处理单个批次
99
+ */
100
+ private processBatch;
101
+ /**
102
+ * 检测模块类型
103
+ */
104
+ private detectModuleType;
105
+ /**
106
+ * 存储章节内容
107
+ */
108
+ private storeChapterContent;
109
+ /**
110
+ * 获取章节顺序
111
+ */
112
+ private getChapterOrder;
113
+ /**
114
+ * 生成技术方案内容
115
+ */
116
+ private generateTechSolutionContent;
117
+ /**
118
+ * 生成业务异常处理内容
119
+ */
120
+ private generateBusinessExceptionContent;
121
+ /**
122
+ * 生成项目概述章节
123
+ */
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;
143
+ }
144
+ //# 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":"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"}
@@ -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;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"}
@@ -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,19 +1123,218 @@ export declare const generateFinalDocumentTool: {
1123
1123
  isError?: undefined;
1124
1124
  }>;
1125
1125
  };
1126
- export declare const techSpecGeneratorTools: {
1126
+ export declare const analyzeLargeProjectTool: {
1127
1127
  name: string;
1128
1128
  description: string;
1129
1129
  inputSchema: {
1130
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>>;
1131
1137
  };
1132
1138
  handler: (args: any) => Promise<{
1133
1139
  content: {
1134
1140
  type: string;
1135
1141
  text: string;
1136
1142
  }[];
1143
+ isError: boolean;
1144
+ } | {
1145
+ content: {
1146
+ type: string;
1147
+ text: string;
1148
+ }[];
1149
+ isError?: undefined;
1137
1150
  }>;
1138
- }[];
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
+ };
1177
+ export declare const renderFinalDocumentTool: {
1178
+ name: string;
1179
+ description: string;
1180
+ inputSchema: {
1181
+ projectUuid: z.ZodString;
1182
+ outputDir: z.ZodOptional<z.ZodString>;
1183
+ includeEmptyChapters: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1184
+ generateDefaultContent: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
1185
+ maxItemsPerChapter: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1186
+ };
1187
+ handler: (args: any) => Promise<{
1188
+ content: {
1189
+ type: string;
1190
+ text: string;
1191
+ }[];
1192
+ isError: boolean;
1193
+ } | {
1194
+ content: {
1195
+ type: string;
1196
+ text: string;
1197
+ }[];
1198
+ isError?: undefined;
1199
+ }>;
1200
+ };
1201
+ export declare const getProjectProgressTool: {
1202
+ name: string;
1203
+ description: string;
1204
+ inputSchema: {
1205
+ projectUuid: z.ZodString;
1206
+ };
1207
+ handler: (args: any) => Promise<{
1208
+ content: {
1209
+ type: string;
1210
+ text: string;
1211
+ }[];
1212
+ isError: boolean;
1213
+ } | {
1214
+ content: {
1215
+ type: string;
1216
+ text: string;
1217
+ }[];
1218
+ isError?: undefined;
1219
+ }>;
1220
+ };
1221
+ export declare const listTechSpecProjectsTool: {
1222
+ name: string;
1223
+ description: string;
1224
+ inputSchema: {
1225
+ status: z.ZodOptional<z.ZodString>;
1226
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1227
+ };
1228
+ handler: (args: any) => Promise<{
1229
+ content: {
1230
+ type: string;
1231
+ text: string;
1232
+ }[];
1233
+ isError?: undefined;
1234
+ } | {
1235
+ content: {
1236
+ type: string;
1237
+ text: string;
1238
+ }[];
1239
+ isError: boolean;
1240
+ }>;
1241
+ };
1242
+ export declare const analyzeProjectStructureTool: {
1243
+ name: string;
1244
+ description: string;
1245
+ inputSchema: {
1246
+ projectPath: z.ZodString;
1247
+ };
1248
+ handler: (args: any) => Promise<{
1249
+ content: {
1250
+ type: string;
1251
+ text: string;
1252
+ }[];
1253
+ isError: boolean;
1254
+ } | {
1255
+ content: {
1256
+ type: string;
1257
+ text: string;
1258
+ }[];
1259
+ isError?: undefined;
1260
+ }>;
1261
+ };
1262
+ export declare const techSpecGeneratorTools: ({
1263
+ name: string;
1264
+ description: string;
1265
+ inputSchema: {
1266
+ projectPath: z.ZodString;
1267
+ };
1268
+ handler: (args: any) => Promise<{
1269
+ content: {
1270
+ type: string;
1271
+ text: string;
1272
+ }[];
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
+ }>;
1298
+ } | {
1299
+ name: string;
1300
+ description: string;
1301
+ inputSchema: {
1302
+ projectUuid: z.ZodString;
1303
+ };
1304
+ handler: (args: any) => Promise<{
1305
+ content: {
1306
+ type: string;
1307
+ text: string;
1308
+ }[];
1309
+ isError: boolean;
1310
+ } | {
1311
+ content: {
1312
+ type: string;
1313
+ text: string;
1314
+ }[];
1315
+ isError?: undefined;
1316
+ }>;
1317
+ } | {
1318
+ name: string;
1319
+ description: string;
1320
+ inputSchema: {
1321
+ status: z.ZodOptional<z.ZodString>;
1322
+ limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
1323
+ };
1324
+ handler: (args: any) => Promise<{
1325
+ content: {
1326
+ type: string;
1327
+ text: string;
1328
+ }[];
1329
+ isError?: undefined;
1330
+ } | {
1331
+ content: {
1332
+ type: string;
1333
+ text: string;
1334
+ }[];
1335
+ isError: boolean;
1336
+ }>;
1337
+ })[];
1139
1338
  export declare const techSpecGeneratorTool: {
1140
1339
  name: string;
1141
1340
  description: string;
@@ -1787,13 +1986,13 @@ export declare const techSpecGeneratorTool: {
1787
1986
  }, "strip", z.ZodTypeAny, {
1788
1987
  type?: string | undefined;
1789
1988
  name?: string | undefined;
1790
- required?: string | undefined;
1791
1989
  description?: string | undefined;
1990
+ required?: string | undefined;
1792
1991
  }, {
1793
1992
  type?: string | undefined;
1794
1993
  name?: string | undefined;
1795
- required?: string | undefined;
1796
1994
  description?: string | undefined;
1995
+ required?: string | undefined;
1797
1996
  }>, "many">>>;
1798
1997
  }, "strip", z.ZodTypeAny, {
1799
1998
  projectName: string;
@@ -1925,9 +2124,6 @@ export declare const techSpecGeneratorTool: {
1925
2124
  year?: string | undefined;
1926
2125
  month?: string | undefined;
1927
2126
  referDoc?: string | undefined;
1928
- businessException?: {
1929
- content: string;
1930
- } | undefined;
1931
2127
  appendix?: {
1932
2128
  content?: string | undefined;
1933
2129
  exceptionCodeList?: {
@@ -1941,11 +2137,14 @@ export declare const techSpecGeneratorTool: {
1941
2137
  id?: string | undefined;
1942
2138
  }[] | undefined;
1943
2139
  } | undefined;
2140
+ businessException?: {
2141
+ content: string;
2142
+ } | undefined;
1944
2143
  dtoDefinitions?: Record<string, {
1945
2144
  type?: string | undefined;
1946
2145
  name?: string | undefined;
1947
- required?: string | undefined;
1948
2146
  description?: string | undefined;
2147
+ required?: string | undefined;
1949
2148
  }[]> | undefined;
1950
2149
  }, {
1951
2150
  projectName: string;
@@ -2077,9 +2276,6 @@ export declare const techSpecGeneratorTool: {
2077
2276
  fieldLength: string;
2078
2277
  }[] | undefined;
2079
2278
  }[] | undefined;
2080
- businessException?: {
2081
- content: string;
2082
- } | undefined;
2083
2279
  appendix?: {
2084
2280
  content?: string | undefined;
2085
2281
  exceptionCodeList?: {
@@ -2093,11 +2289,14 @@ export declare const techSpecGeneratorTool: {
2093
2289
  id?: string | undefined;
2094
2290
  }[] | undefined;
2095
2291
  } | undefined;
2292
+ businessException?: {
2293
+ content: string;
2294
+ } | undefined;
2096
2295
  dtoDefinitions?: Record<string, {
2097
2296
  type?: string | undefined;
2098
2297
  name?: string | undefined;
2099
- required?: string | undefined;
2100
2298
  description?: string | undefined;
2299
+ required?: string | undefined;
2101
2300
  }[]> | undefined;
2102
2301
  }>;
2103
2302
  };
@@ -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"}
@@ -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"}