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.
@@ -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 techSpecGeneratorTools: {
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":"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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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"}
@@ -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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "intention-coding",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "description": "软件工程化的需求分析,功能设计,代码编写,测试运行和发布部署",
5
5
  "type": "module",
6
6
  "packageManager": "pnpm@10.11.0",