intention-coding 0.6.7 → 0.6.9

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.
Files changed (77) hide show
  1. package/dist/db/lark-storage.d.ts +25 -0
  2. package/dist/db/lark-storage.d.ts.map +1 -0
  3. package/dist/db/requirement-storage.d.ts +69 -0
  4. package/dist/db/requirement-storage.d.ts.map +1 -0
  5. package/dist/db/tech-spec-storage.d.ts.map +1 -1
  6. package/dist/index.cjs +6842 -7538
  7. package/dist/services/export-excel/index.d.ts +24 -24
  8. package/dist/services/image-analysis/analyzer.d.ts +30 -2
  9. package/dist/services/image-analysis/analyzer.d.ts.map +1 -1
  10. package/dist/services/image-analysis/types.d.ts +37 -0
  11. package/dist/services/image-analysis/types.d.ts.map +1 -1
  12. package/dist/services/image-recognition-agent/analyzer.d.ts +2 -2
  13. package/dist/services/image-recognition-agent/analyzer.d.ts.map +1 -1
  14. package/dist/services/image-recognition-agent/types.d.ts +2 -2
  15. package/dist/services/index.d.ts.map +1 -1
  16. package/dist/services/lark/client.d.ts +66 -0
  17. package/dist/services/lark/client.d.ts.map +1 -0
  18. package/dist/services/lark/index.d.ts +419 -0
  19. package/dist/services/lark/index.d.ts.map +1 -0
  20. package/dist/services/lark/tools/bitable-tools.d.ts +490 -0
  21. package/dist/services/lark/tools/bitable-tools.d.ts.map +1 -0
  22. package/dist/services/lark/tools/board-tools.d.ts +174 -0
  23. package/dist/services/lark/tools/board-tools.d.ts.map +1 -0
  24. package/dist/services/lark/tools/doc-tools.d.ts +266 -0
  25. package/dist/services/lark/tools/doc-tools.d.ts.map +1 -0
  26. package/dist/services/lark/tools/index.d.ts +414 -0
  27. package/dist/services/lark/tools/index.d.ts.map +1 -0
  28. package/dist/services/lark/tools/permission-tools.d.ts +6 -0
  29. package/dist/services/lark/tools/permission-tools.d.ts.map +1 -0
  30. package/dist/services/lark/types.d.ts +17 -0
  31. package/dist/services/lark/types.d.ts.map +1 -0
  32. package/dist/services/requirement-analyzer/index.d.ts +83 -12
  33. package/dist/services/requirement-analyzer/index.d.ts.map +1 -1
  34. package/dist/services/requirement-analyzer/tools/chapter-tools.d.ts +273 -0
  35. package/dist/services/requirement-analyzer/tools/chapter-tools.d.ts.map +1 -0
  36. package/dist/services/requirement-analyzer/tools/index.d.ts +4 -0
  37. package/dist/services/requirement-analyzer/tools/index.d.ts.map +1 -0
  38. package/dist/services/requirement-analyzer/tools/project-tools.d.ts +75 -0
  39. package/dist/services/requirement-analyzer/tools/project-tools.d.ts.map +1 -0
  40. package/dist/services/requirement-analyzer/tools/render-tools.d.ts +78 -0
  41. package/dist/services/requirement-analyzer/tools/render-tools.d.ts.map +1 -0
  42. package/dist/services/tech-spec-generator/tools/chapter-save-tools.d.ts +8 -2
  43. package/dist/services/tech-spec-generator/tools/chapter-save-tools.d.ts.map +1 -1
  44. package/dist/utils/config.d.ts.map +1 -1
  45. package/dist/utils/lark-config.d.ts +11 -0
  46. package/dist/utils/lark-config.d.ts.map +1 -0
  47. package/dist/utils/openai.d.ts +2 -1
  48. package/dist/utils/openai.d.ts.map +1 -1
  49. package/package.json +1 -1
  50. package/dist/services/change-summarizer/index.d.ts +0 -42
  51. package/dist/services/change-summarizer/index.d.ts.map +0 -1
  52. package/dist/services/change-summarizer/prompt/change-analysis.d.ts +0 -2
  53. package/dist/services/change-summarizer/prompt/change-analysis.d.ts.map +0 -1
  54. package/dist/services/image-recognition-agent/image-recognition-agent.test.d.ts +0 -2
  55. package/dist/services/image-recognition-agent/image-recognition-agent.test.d.ts.map +0 -1
  56. package/dist/services/integrated-generator/index.d.ts +0 -80
  57. package/dist/services/integrated-generator/index.d.ts.map +0 -1
  58. package/dist/services/project-template/index.d.ts +0 -42
  59. package/dist/services/project-template/index.d.ts.map +0 -1
  60. package/dist/services/project-template/prompt/project-rules.d.ts +0 -2
  61. package/dist/services/project-template/prompt/project-rules.d.ts.map +0 -1
  62. package/dist/services/requirement-analyzer/chunk-reader.d.ts +0 -38
  63. package/dist/services/requirement-analyzer/chunk-reader.d.ts.map +0 -1
  64. package/dist/services/requirement-analyzer/core/document-generator.d.ts +0 -105
  65. package/dist/services/requirement-analyzer/core/document-generator.d.ts.map +0 -1
  66. package/dist/services/requirement-analyzer/core/intelligent-analyzer.d.ts +0 -36
  67. package/dist/services/requirement-analyzer/core/intelligent-analyzer.d.ts.map +0 -1
  68. package/dist/services/requirement-analyzer/core/project-analyzer.d.ts +0 -37
  69. package/dist/services/requirement-analyzer/core/project-analyzer.d.ts.map +0 -1
  70. package/dist/services/requirement-analyzer/core/requirement-analyzer-service.d.ts +0 -43
  71. package/dist/services/requirement-analyzer/core/requirement-analyzer-service.d.ts.map +0 -1
  72. package/dist/services/requirement-analyzer/core/template-selector.d.ts +0 -36
  73. package/dist/services/requirement-analyzer/core/template-selector.d.ts.map +0 -1
  74. package/dist/services/requirement-analyzer/core/types.d.ts +0 -105
  75. package/dist/services/requirement-analyzer/core/types.d.ts.map +0 -1
  76. package/dist/services/requirement-analyzer/utils/file-reader.d.ts +0 -9
  77. package/dist/services/requirement-analyzer/utils/file-reader.d.ts.map +0 -1
@@ -1,42 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const ChangeSummarizerParams: z.ZodObject<{
3
- baseBranch: z.ZodDefault<z.ZodString>;
4
- requirementFile: z.ZodOptional<z.ZodString>;
5
- includeUncommitted: z.ZodDefault<z.ZodBoolean>;
6
- outputFormat: z.ZodDefault<z.ZodEnum<["markdown", "json"]>>;
7
- }, "strip", z.ZodTypeAny, {
8
- baseBranch: string;
9
- includeUncommitted: boolean;
10
- outputFormat: "markdown" | "json";
11
- requirementFile?: string | undefined;
12
- }, {
13
- baseBranch?: string | undefined;
14
- requirementFile?: string | undefined;
15
- includeUncommitted?: boolean | undefined;
16
- outputFormat?: "markdown" | "json" | undefined;
17
- }>;
18
- export type ChangeSummarizerArgs = z.infer<typeof ChangeSummarizerParams>;
19
- export declare const changeSummarizer: {
20
- name: string;
21
- description: string;
22
- inputSchema: {
23
- baseBranch: z.ZodDefault<z.ZodString>;
24
- requirementFile: z.ZodOptional<z.ZodString>;
25
- includeUncommitted: z.ZodDefault<z.ZodBoolean>;
26
- outputFormat: z.ZodDefault<z.ZodEnum<["markdown", "json"]>>;
27
- };
28
- handler: (args: ChangeSummarizerArgs) => Promise<{
29
- content: {
30
- type: string;
31
- text: string;
32
- }[];
33
- isError?: undefined;
34
- } | {
35
- content: {
36
- type: string;
37
- text: string;
38
- }[];
39
- isError: boolean;
40
- }>;
41
- };
42
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/change-summarizer/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;EAKjC,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE1E,eAAO,MAAM,gBAAgB;;;;;;;;;oBASL,oBAAoB;;;;;;;;;;;;;CAwP3C,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const changeAnalysisPrompt = "\u8BF7\u5206\u6790\u5F53\u524D\u4EE3\u7801\u5E93\uFF0C\u5E76\u4E0E\u9700\u6C42\u8FDB\u884C\u5BF9\u6BD4\uFF0C\u786E\u4FDD\u5B9E\u73B0\u7684\u5B8C\u6574\u6027\u3002\n\n\u8BF7\u6309\u4EE5\u4E0B\u6B65\u9AA4\u8FDB\u884C\u5206\u6790\uFF1A\n\n## 1. \u4EE3\u7801\u5E93\u5206\u6790\n\u5206\u6790\u5F53\u524D\u4EE3\u7801\u5E93\uFF0C\u603B\u7ED3\uFF1A\n- \u4E3B\u8981\u529F\u80FD\u6A21\u5757\u53CA\u5176\u5B9E\u73B0\n- \u5173\u952E\u4E1A\u52A1\u903B\u8F91\u6D41\u7A0B\n- \u91CD\u8981\u6570\u636E\u7ED3\u6784\n- \u6838\u5FC3\u7B97\u6CD5\u5B9E\u73B0\n\n## 2. \u63A5\u53E3\u4E0E\u9700\u6C42\u5BF9\u5E94\u5173\u7CFB\u8868\n\u6839\u636E\u4EE3\u7801\u53D8\u66F4\uFF0C\u751F\u6210\u63A5\u53E3\u4E0E\u9700\u6C42\u5BF9\u5E94\u5173\u7CFB\u8868\uFF1A\n\n| \u9700\u6C42\u529F\u80FD | \u5B9E\u73B0\u63A5\u53E3 | \u8BF7\u6C42\u65B9\u5F0F | URL | \u53D8\u66F4\u72B6\u6001 |\n|---------|---------|---------|-----|----------|\n| [\u9700\u6C42\u529F\u80FD\u63CF\u8FF0] | [Controller.method] | [GET/POST/PUT/DELETE] | [/api/path] | [\u65B0\u589E/\u4FEE\u6539/\u5220\u9664] |\n\n## 3. \u6838\u5FC3\u903B\u8F91\u65B9\u6CD5\u8868\n\u5206\u6790\u6838\u5FC3\u4E1A\u52A1\u903B\u8F91\u65B9\u6CD5\uFF1A\n\n| \u65B9\u6CD5\u540D\u79F0 | \u6240\u5C5E\u7C7B | \u529F\u80FD\u8BF4\u660E | \u53D8\u66F4\u72B6\u6001 |\n|---------|-------|---------|----------|\n| [methodName] | [ClassName] | [\u529F\u80FD\u63CF\u8FF0] | [\u65B0\u589E/\u4FEE\u6539/\u5220\u9664] |\n\n## 4. \u524D\u7AEF\u9875\u9762\u4E0E\u63A5\u53E3\u5BF9\u5E94\u5173\u7CFB\u8868\n\u5206\u6790\u524D\u7AEF\u9875\u9762\u53D8\u66F4\uFF1A\n\n| \u9875\u9762\u540D\u79F0 | \u8C03\u7528\u63A5\u53E3 | \u7EC4\u4EF6\u540D\u79F0 | \u8DEF\u7531\u8DEF\u5F84 | \u53D8\u66F4\u72B6\u6001 |\n|---------|---------|---------|---------|----------|\n| [\u9875\u9762\u540D\u79F0] | [Controller.method] | [ComponentName] | [/path] | [\u65B0\u589E/\u4FEE\u6539/\u5220\u9664] |\n\n## 5. \u524D\u7AEF\u6838\u5FC3\u7EC4\u4EF6\u8868\n\u5206\u6790\u524D\u7AEF\u7EC4\u4EF6\u53D8\u66F4\uFF1A\n\n| \u7EC4\u4EF6\u540D\u79F0 | \u6240\u5C5E\u9875\u9762 | \u529F\u80FD\u8BF4\u660E | \u53D8\u66F4\u72B6\u6001 |\n|---------|---------|---------|----------|\n| [ComponentName] | [PageName] | [\u529F\u80FD\u63CF\u8FF0] | [\u65B0\u589E/\u4FEE\u6539/\u5220\u9664] |\n\n## 6. \u9700\u6C42\u5B8C\u6574\u6027\u68C0\u67E5\n\u5BF9\u6BD4\u539F\u59CB\u9700\u6C42\uFF0C\u68C0\u67E5\uFF1A\n- \u2705 \u5DF2\u5B8C\u6210\u7684\u529F\u80FD\n- \u26A0\uFE0F \u90E8\u5206\u5B8C\u6210\u7684\u529F\u80FD\n- \u274C \u672A\u5B9E\u73B0\u7684\u529F\u80FD\n- \uD83D\uDD04 \u9700\u8981\u8FDB\u4E00\u6B65\u5B8C\u5584\u7684\u529F\u80FD\n\n## 7. \u5EFA\u8BAE\u4E0E\u603B\u7ED3\n- \u5B9E\u73B0\u8D28\u91CF\u8BC4\u4F30\n- \u6F5C\u5728\u95EE\u9898\u8BC6\u522B\n- \u540E\u7EED\u5F00\u53D1\u5EFA\u8BAE\n- \u6D4B\u8BD5\u5EFA\u8BAE\n\n\u8BF7\u786E\u4FDD\u6240\u6709\u8868\u683C\u4E0A\u4E0B\u5BF9\u9F50\uFF0C\u5185\u5BB9\u8BE6\u5B9E\u51C6\u786E\u3002";
2
- //# sourceMappingURL=change-analysis.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"change-analysis.d.ts","sourceRoot":"","sources":["../../../../src/services/change-summarizer/prompt/change-analysis.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,q1FAoDb,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=image-recognition-agent.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"image-recognition-agent.test.d.ts","sourceRoot":"","sources":["../../../src/services/image-recognition-agent/image-recognition-agent.test.ts"],"names":[],"mappings":""}
@@ -1,80 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const IntegratedGeneratorParams: z.ZodObject<{
3
- project_name: z.ZodString;
4
- project_description: z.ZodString;
5
- user_story: z.ZodString;
6
- acceptance_criteria: z.ZodArray<z.ZodString, "many">;
7
- programming_language: z.ZodString;
8
- framework: z.ZodOptional<z.ZodString>;
9
- architecture_pattern: z.ZodOptional<z.ZodEnum<["microservices", "monolithic", "layered", "event-driven"]>>;
10
- generation_type: z.ZodDefault<z.ZodEnum<["full_project", "module_only", "feature_only"]>>;
11
- include_examples: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
12
- include_tests: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
13
- custom_context: z.ZodOptional<z.ZodString>;
14
- business_rules: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
15
- technical_requirements: z.ZodOptional<z.ZodString>;
16
- }, "strip", z.ZodTypeAny, {
17
- project_name: string;
18
- project_description: string;
19
- user_story: string;
20
- acceptance_criteria: string[];
21
- programming_language: string;
22
- generation_type: "full_project" | "module_only" | "feature_only";
23
- include_examples: boolean;
24
- include_tests: boolean;
25
- framework?: string | undefined;
26
- architecture_pattern?: "microservices" | "monolithic" | "layered" | "event-driven" | undefined;
27
- custom_context?: string | undefined;
28
- business_rules?: string[] | undefined;
29
- technical_requirements?: string | undefined;
30
- }, {
31
- project_name: string;
32
- project_description: string;
33
- user_story: string;
34
- acceptance_criteria: string[];
35
- programming_language: string;
36
- framework?: string | undefined;
37
- architecture_pattern?: "microservices" | "monolithic" | "layered" | "event-driven" | undefined;
38
- generation_type?: "full_project" | "module_only" | "feature_only" | undefined;
39
- include_examples?: boolean | undefined;
40
- include_tests?: boolean | undefined;
41
- custom_context?: string | undefined;
42
- business_rules?: string[] | undefined;
43
- technical_requirements?: string | undefined;
44
- }>;
45
- export interface IntegratedGeneratorParams {
46
- project_name: string;
47
- project_description: string;
48
- user_story: string;
49
- acceptance_criteria: string[];
50
- programming_language: string;
51
- framework?: string;
52
- architecture_pattern?: 'microservices' | 'monolithic' | 'layered' | 'event-driven';
53
- generation_type?: 'full_project' | 'module_only' | 'feature_only';
54
- include_examples?: boolean;
55
- include_tests?: boolean;
56
- custom_context?: string;
57
- business_rules?: string[];
58
- technical_requirements?: string;
59
- }
60
- export declare const integratedGenerator: {
61
- name: string;
62
- description: string;
63
- inputSchema: {
64
- project_name: z.ZodString;
65
- project_description: z.ZodString;
66
- user_story: z.ZodString;
67
- acceptance_criteria: z.ZodArray<z.ZodString, "many">;
68
- programming_language: z.ZodString;
69
- framework: z.ZodOptional<z.ZodString>;
70
- architecture_pattern: z.ZodOptional<z.ZodEnum<["microservices", "monolithic", "layered", "event-driven"]>>;
71
- generation_type: z.ZodDefault<z.ZodEnum<["full_project", "module_only", "feature_only"]>>;
72
- include_examples: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
73
- include_tests: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
74
- custom_context: z.ZodOptional<z.ZodString>;
75
- business_rules: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
76
- technical_requirements: z.ZodOptional<z.ZodString>;
77
- };
78
- handler: (args: IntegratedGeneratorParams) => Promise<string>;
79
- };
80
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/integrated-generator/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAQxB,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBpC,CAAC;AAEH,MAAM,WAAW,yBAAyB;IACtC,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB,CAAC,EAAE,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,cAAc,CAAC;IACnF,eAAe,CAAC,EAAE,cAAc,GAAG,aAAa,GAAG,cAAc,CAAC;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,sBAAsB,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;oBA2BN,yBAAyB;CA6GlD,CAAC"}
@@ -1,42 +0,0 @@
1
- import { z } from 'zod';
2
- export declare const ProjectTemplateParams: z.ZodObject<{
3
- project_name: z.ZodOptional<z.ZodString>;
4
- project_path: z.ZodOptional<z.ZodString>;
5
- custom_rules: z.ZodOptional<z.ZodString>;
6
- }, "strip", z.ZodTypeAny, {
7
- project_name?: string | undefined;
8
- project_path?: string | undefined;
9
- custom_rules?: string | undefined;
10
- }, {
11
- project_name?: string | undefined;
12
- project_path?: string | undefined;
13
- custom_rules?: string | undefined;
14
- }>;
15
- export interface ProjectTemplateParams {
16
- project_name?: string;
17
- project_path?: string;
18
- custom_rules?: string;
19
- }
20
- export declare const initProjectStandard: {
21
- name: string;
22
- description: string;
23
- inputSchema: {
24
- project_name: z.ZodOptional<z.ZodString>;
25
- project_path: z.ZodOptional<z.ZodString>;
26
- custom_rules: z.ZodOptional<z.ZodString>;
27
- };
28
- handler: (args: any) => Promise<{
29
- content: {
30
- type: string;
31
- text: string;
32
- }[];
33
- isError?: undefined;
34
- } | {
35
- content: {
36
- type: string;
37
- text: string;
38
- }[];
39
- isError: boolean;
40
- }>;
41
- };
42
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/project-template/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,eAAO,MAAM,qBAAqB;;;;;;;;;;;;EAIhC,CAAC;AAEH,MAAM,WAAW,qBAAqB;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,mBAAmB;;;;;;;;oBAQN,GAAG;;;;;;;;;;;;;CA+D5B,CAAC"}
@@ -1,2 +0,0 @@
1
- export declare const projectRulesPromptTemplate = "\n\u4F60\u662F\u4E00\u4F4D\u4E13\u4E1A\u7684\u8F6F\u4EF6\u5F00\u53D1\u89C4\u8303\u4E13\u5BB6\uFF0C\u8BF7\u57FA\u4E8E\u63D0\u4F9B\u7684\u9879\u76EE\u67B6\u6784\u5206\u6790\uFF0C\u751F\u6210\u4E00\u4EFD\u5B8C\u6574\u7684\u9879\u76EE\u5F00\u53D1\u89C4\u5219\u6587\u4EF6\u3002\n\n## \u9879\u76EE\u4FE1\u606F\n- **\u9879\u76EE\u540D\u79F0**: {{projectName}}\n- **\u5305\u542B\u793A\u4F8B**: {{includeExamples}}\n\n## \u9879\u76EE\u67B6\u6784\u5206\u6790\n```\n{{projectAnalysis}}\n```\n\n{{customRulesSection}}\n\n## \u4EFB\u52A1\u8981\u6C42\n\u8BF7\u57FA\u4E8E\u9879\u76EE\u67B6\u6784\u5206\u6790\uFF0C\u667A\u80FD\u8BC6\u522B\u9879\u76EE\u7684\u6280\u672F\u6808\u548C\u8BED\u8A00\u7279\u5F81\uFF0C\u7136\u540E\u751F\u6210\u4E00\u4EFD\u5B8C\u6574\u7684project_rules.md\u6587\u4EF6\u5185\u5BB9\u3002\n\n### \u5904\u7406\u957F\u5185\u5BB9\u7684\u7279\u6B8A\u8BF4\u660E\n\u5F53\u9879\u76EE\u67B6\u6784\u5206\u6790\u5185\u5BB9\u8F83\u957F\u65F6\uFF0C\u8BF7\u91C7\u7528\u5206\u6BB5\u5904\u7406\u7684\u65B9\u5F0F\uFF1A\n1. \u9996\u5148\u901A\u8BFB\u5168\u90E8\u5185\u5BB9\uFF0C\u7406\u89E3\u6574\u4F53\u67B6\u6784\n2. \u7136\u540E\u9010\u6BB5\u5206\u6790\uFF0C\u6BCF\u6BB5\u5904\u7406\u5B8C\u6210\u540E\u8FDB\u884C\u603B\u7ED3\n3. \u6700\u7EC8\u6574\u5408\u6240\u6709\u5206\u6790\u7ED3\u679C\u751F\u6210\u5B8C\u6574\u7684\u89C4\u5219\u6587\u4EF6\n\n### \u6280\u672F\u6808\u8BC6\u522B\u548C\u5206\u6790\u89C4\u5219\n\u8BF7\u5148\u4ED4\u7EC6\u5206\u6790\u9879\u76EE\u7ED3\u6784\uFF0C\u8BC6\u522B\u51FA\u9879\u76EE\u7684\u6280\u672F\u6808\u548C\u67B6\u6784\u6A21\u5F0F\uFF1A\n\n**\u5E38\u89C1\u6280\u672F\u6808\u8BC6\u522B\uFF1A**\n- **Node.js/TypeScript\u9879\u76EE**: package.json, tsconfig.json, *.ts, *.js\n- **Java\u540E\u7AEF\u9879\u76EE**: pom.xml, build.gradle, src/main/java, *.java\n- **Python\u9879\u76EE**: requirements.txt, setup.py, pyproject.toml, *.py\n- **Go\u9879\u76EE**: go.mod, go.sum, *.go\n- **C#/.NET\u9879\u76EE**: *.csproj, *.sln, *.cs\n- **Vue.js\u524D\u7AEF**: package.json, *.vue, vite.config.js\n- **React\u524D\u7AEF**: package.json, *.jsx, *.tsx\n- **\u5FAE\u670D\u52A1\u67B6\u6784**: docker-compose.yml, kubernetes, \u591A\u4E2A\u6A21\u5757\u76EE\u5F55\n- **\u5355\u4F53\u5E94\u7528**: \u4F20\u7EDF\u7684\u5206\u5C42\u67B6\u6784\n\n### \u6587\u4EF6\u5185\u5BB9\u8981\u6C42\n\u751F\u6210\u7684project_rules.md\u6587\u4EF6\u5E94\u8BE5\u5305\u542B\u4EE5\u4E0B\u5177\u4F53\u7AE0\u8282\uFF1A\n\n#### 1. \u9879\u76EE\u6982\u8FF0\n- \u4E3B\u8981\u6280\u672F\u6808\u548C\u7248\u672C\u4FE1\u606F\n- \u67B6\u6784\u6A21\u5F0F\uFF08\u5FAE\u670D\u52A1\u3001\u5355\u4F53\u3001\u5206\u5C42\u7B49\uFF09\n- \u9879\u76EE\u89C4\u6A21\u548C\u590D\u6742\u5EA6\u8BF4\u660E\n\n#### 2. \u76EE\u5F55\u7ED3\u6784\u89C4\u8303\n\u57FA\u4E8E\u5B9E\u9645\u9879\u76EE\u7ED3\u6784\uFF0C\u8BE6\u7EC6\u8BF4\u660E\uFF1A\n- \u5404\u76EE\u5F55\u7684\u4F5C\u7528\u548C\u5B58\u653E\u5185\u5BB9\n- \u6587\u4EF6\u7EC4\u7EC7\u89C4\u5219\n- \u547D\u540D\u7EA6\u5B9A\n\n#### 3. \u4EE3\u7801\u89C4\u8303\n- \u547D\u540D\u89C4\u8303\uFF08\u6587\u4EF6\u3001\u53D8\u91CF\u3001\u51FD\u6570\u3001\u7C7B\u3001\u5E38\u91CF\u7B49\uFF09\n- \u4EE3\u7801\u98CE\u683C\uFF08\u7F29\u8FDB\u3001\u683C\u5F0F\u7B49\uFF09\n- \u6CE8\u91CA\u8981\u6C42\n- \u5BFC\u5165\u89C4\u5219\n\n#### 4. \u6280\u672F\u6808\u4E13\u7528\u89C4\u8303\n\u6839\u636E\u8BC6\u522B\u7684\u6280\u672F\u6808\uFF0C\u5305\u542B\u5177\u4F53\u7684\u89C4\u8303\uFF1A\n- **\u6570\u636E\u5E93\u89C4\u8303**: ORM\u4F7F\u7528\u65B9\u5F0F\u3001\u5B57\u6BB5\u547D\u540D\u3001\u5173\u8054\u5173\u7CFB\u5904\u7406\n- **API\u8BBE\u8BA1\u89C4\u8303**: RESTful\u8BBE\u8BA1\u3001\u53C2\u6570\u6821\u9A8C\u3001\u8FD4\u56DE\u683C\u5F0F\n- **\u524D\u7AEF\u7EC4\u4EF6\u89C4\u8303**: \u7EC4\u4EF6\u547D\u540D\u3001props\u5B9A\u4E49\u3001\u4E8B\u4EF6\u5904\u7406\n- **\u670D\u52A1\u5C42\u89C4\u8303**: \u4E1A\u52A1\u903B\u8F91\u5C01\u88C5\u3001\u4E8B\u52A1\u5904\u7406\u3001\u5F02\u5E38\u5904\u7406\n\n#### 5. \u67B6\u6784\u6A21\u5F0F\u548C\u8BBE\u8BA1\u539F\u5219\n\u6839\u636E\u9879\u76EE\u67B6\u6784\uFF0C\u5305\u542B\uFF1A\n- \u5206\u5C42\u67B6\u6784\u89C4\u5219\uFF08Controller-Service-Repository\u7B49\uFF09\n- \u4F9D\u8D56\u6CE8\u5165\u6A21\u5F0F\n- \u9519\u8BEF\u5904\u7406\u6A21\u5F0F\n- \u6570\u636E\u9A8C\u8BC1\u6A21\u5F0F\n- \u6743\u9650\u63A7\u5236\u6A21\u5F0F\n\n#### 6. \u5F00\u53D1\u6700\u4F73\u5B9E\u8DF5\n\u9488\u5BF9\u9879\u76EE\u6280\u672F\u6808\u7684\u5177\u4F53\u5B9E\u8DF5\uFF1A\n- \u7EC4\u4EF6\u5316\u8BBE\u8BA1\u89C4\u5219\n- \u5DE5\u5177\u548C\u5E93\u7684\u4F7F\u7528\u89C4\u8303\n- \u7B2C\u4E09\u65B9\u5E93\u4F7F\u7528\u89C4\u8303\n- \u5355\u5143\u6D4B\u8BD5\u65B9\u6CD5\n\n#### 7. \u4EE3\u7801\u793A\u4F8B\u548C\u6A21\u677F\n\u5305\u542B\u9879\u76EE\u4E2D\u5E38\u7528\u7684\u4EE3\u7801\u6A21\u5F0F\uFF1A\n- Entity\u5B9A\u4E49\u6A21\u677F\n- Service\u5C42\u65B9\u6CD5\u6A21\u677F\n- Controller\u63A5\u53E3\u6A21\u677F\n- \u5176\u4ED6\u9879\u76EE\u7279\u5B9A\u7684\u5E38\u7528\u6A21\u677F\n\n### \u8F93\u51FA\u8981\u6C42\n1. **\u8BE6\u7EC6\u5177\u4F53**: \u6BCF\u4E2A\u89C4\u5219\u90FD\u8981\u5177\u4F53\u53EF\u64CD\u4F5C\uFF0C\u907F\u514D\u6A21\u7CCA\u63CF\u8FF0\n2. **\u9879\u76EE\u76F8\u5173**: \u57FA\u4E8E\u5B9E\u9645\u9879\u76EE\u7ED3\u6784\u548C\u6280\u672F\u6808\uFF0C\u5305\u542B\u9879\u76EE\u7279\u5B9A\u4FE1\u606F\n3. **\u7ED3\u6784\u6E05\u6670**: \u4F7F\u7528markdown\u683C\u5F0F\uFF0C\u5C42\u6B21\u5206\u660E\n4. **\u5B9E\u7528\u6027\u5F3A**: \u89C4\u5219\u8981\u80FD\u76F4\u63A5\u6307\u5BFC\u65E5\u5E38\u5F00\u53D1\u5DE5\u4F5C\n5. **\u6280\u672F\u51C6\u786E**: \u786E\u4FDD\u89C4\u5219\u4E0E\u9879\u76EE\u6280\u672F\u6808\u548C\u8BED\u8A00\u7279\u6027\u5B8C\u5168\u5339\u914D\n\n\u8BF7\u5C06\u751F\u6210\u7684\u6587\u4EF6\u4FDD\u5B58\u5230\u9879\u76EE\u6839\u76EE\u5F55\u4E0B\u7684.aico\u6587\u4EF6\u5939\u4E2D\uFF0C\u6587\u4EF6\u540D\u4E3Aproject_rules.md\u3002\n";
2
- //# sourceMappingURL=project-rules.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-rules.d.ts","sourceRoot":"","sources":["../../../../src/services/project-template/prompt/project-rules.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,yrLA8FtC,CAAC"}
@@ -1,38 +0,0 @@
1
- /**
2
- * 分段读取文件的选项
3
- */
4
- interface ChunkReadOptions {
5
- /** 每次读取的行数,默认100行 */
6
- linesPerChunk?: number;
7
- /** 编码格式,默认utf8 */
8
- encoding?: BufferEncoding;
9
- }
10
- /**
11
- * 分段读取文件的结果
12
- */
13
- interface ChunkReadResult {
14
- /** 当前块的内容 */
15
- content: string;
16
- /** 当前块的起始行号(从0开始) */
17
- startLine: number;
18
- /** 当前块的结束行号 */
19
- endLine: number;
20
- /** 是否是最后一个块 */
21
- isLastChunk: boolean;
22
- }
23
- /**
24
- * 异步迭代器,用于分段读取大文件
25
- * @param filePath 文件路径
26
- * @param options 读取选项
27
- */
28
- export declare function readLargeFileInChunks(filePath: string, options?: ChunkReadOptions): AsyncGenerator<ChunkReadResult, void, unknown>;
29
- /**
30
- * 读取文件指定行范围的内容
31
- * @param filePath 文件路径
32
- * @param startLine 起始行号(包含)
33
- * @param endLine 结束行号(包含)
34
- * @returns 指定行范围的内容
35
- */
36
- export declare function readFileLines(filePath: string, startLine: number, endLine: number): Promise<string>;
37
- export {};
38
- //# sourceMappingURL=chunk-reader.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"chunk-reader.d.ts","sourceRoot":"","sources":["../../../src/services/requirement-analyzer/chunk-reader.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,UAAU,gBAAgB;IACxB,qBAAqB;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,kBAAkB;IAClB,QAAQ,CAAC,EAAE,cAAc,CAAC;CAC3B;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,qBAAqB;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe;IACf,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,wBAAuB,qBAAqB,CAC1C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,gBAAqB,GAC7B,cAAc,CAAC,eAAe,EAAE,IAAI,EAAE,OAAO,CAAC,CA6EhD;AAED;;;;;;GAMG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,MAAM,CAAC,CA+CjB"}
@@ -1,105 +0,0 @@
1
- import { ProjectInfo, RequirementAnalysis, AnalysisResult } from "./types";
2
- /**
3
- * 文档生成器
4
- * 职责:生成统一的技术需求文档
5
- */
6
- export declare class DocumentGenerator {
7
- private templateSelector;
8
- private static readonly cache;
9
- private static readonly CACHE_DURATION;
10
- /**
11
- * 生成缓存键
12
- */
13
- private generateCacheKey;
14
- /**
15
- * 从缓存获取文档
16
- */
17
- private getCachedDocument;
18
- /**
19
- * 保存文档到缓存
20
- */
21
- private saveToCache;
22
- /**
23
- * 清理过期缓存
24
- */
25
- private cleanupExpiredCache;
26
- /**
27
- * 生成统一的技术需求文档(准备生成任务,由IDE执行)
28
- * 固定生成 API+HTML 两种报告
29
- */
30
- generateUnifiedDocument(analysis: RequirementAnalysis, projectInfo: ProjectInfo, featureName: string, sourceInfo: string, customPrompt?: string, currentProjectPath?: string, pageStyle?: string, pageType?: "pc" | "mobile" | "responsive"): Promise<AnalysisResult>;
31
- /**
32
- * 解析需求类型,支持组合类型(如 PC+API)
33
- */
34
- private parseRequirementTypes;
35
- /**
36
- * 准备输出路径
37
- */
38
- private prepareOutputPath;
39
- /**
40
- * 构建统一的文档内容(增强版)
41
- * 提供更丰富的上下文信息,帮助MCP客户端生成高质量文档
42
- */
43
- private buildUnifiedContent;
44
- /**
45
- * 生成技术文档(流式输出)
46
- */
47
- private generateDocument;
48
- /**
49
- * 流式生成文档并实时写入文件
50
- */
51
- private generateDocumentStream;
52
- /**
53
- * 异步写入缓冲区到文件
54
- */
55
- private writeBufferToFile;
56
- /**
57
- * 构建续写prompt
58
- */
59
- private buildContinuationPrompt;
60
- /**
61
- * 判断文档是否完整
62
- */
63
- private isDocumentComplete;
64
- /**
65
- * 使用非流式方式继续生成文档
66
- */
67
- private continueDocumentGeneration;
68
- /**
69
- * 构建生成模板和变量(返回原始模板和变量,不进行替换)
70
- */
71
- private buildGenerationPrompt;
72
- /**
73
- * 构建更新prompt(返回完整模板和变量)
74
- */
75
- private buildUpdatePrompt;
76
- /**
77
- * 构建文档生成prompt(兼容旧代码)
78
- */
79
- private buildDocumentPrompt;
80
- /**
81
- * 将需求类型映射到业务领域
82
- */
83
- private mapRequirementTypeToBusinessDomain;
84
- /**
85
- * 检测文件是否存在
86
- */
87
- private checkFileExists;
88
- /**
89
- * 更新已存在的文档(流式输出)
90
- */
91
- private updateExistingDocument;
92
- /**
93
- * 验证生成的文档
94
- */
95
- private validateGeneratedDocument;
96
- /**
97
- * 构建分析结果
98
- */
99
- private buildAnalysisResult;
100
- /**
101
- * 构建任务结果(返回生成任务给IDE执行)
102
- */
103
- private buildTaskResult;
104
- }
105
- //# sourceMappingURL=document-generator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"document-generator.d.ts","sourceRoot":"","sources":["../../../../src/services/requirement-analyzer/core/document-generator.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,WAAW,EACX,mBAAmB,EACnB,cAAc,EAGf,MAAM,SAAS,CAAC;AAGjB;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,gBAAgB,CAA0B;IAGlD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAGzB;IACJ,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAuB;IAE7D;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,WAAW;IAQnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAgB3B;;;OAGG;IACG,uBAAuB,CAC3B,QAAQ,EAAE,mBAAmB,EAC7B,WAAW,EAAE,WAAW,EACxB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,SAAS,CAAC,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,IAAI,GAAG,QAAQ,GAAG,YAAY,GACxC,OAAO,CAAC,cAAc,CAAC;IA4H1B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;OAEG;YACW,iBAAiB;IAiC/B;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAkH3B;;OAEG;YACW,gBAAgB;IAoF9B;;OAEG;YACW,sBAAsB;IAwYpC;;OAEG;YACW,iBAAiB;IAc/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAwB/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAe1B;;OAEG;YACW,0BAA0B;IAgDxC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6C7B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsEzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,kCAAkC;IAkB1C;;OAEG;YACW,eAAe;IAS7B;;OAEG;YACW,sBAAsB;IA+EpC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAqBjC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqG3B;;OAEG;IACH,OAAO,CAAC,eAAe;CAkFxB"}
@@ -1,36 +0,0 @@
1
- import { ProjectInfo, RequirementAnalysis } from './types';
2
- /**
3
- * 智能需求分析器
4
- * 职责:使用AI进行智能需求分析,识别需求类型和功能点
5
- */
6
- export declare class IntelligentAnalyzer {
7
- /**
8
- * 执行智能需求分析
9
- */
10
- analyzeRequirements(inputContent: string, projectInfo: ProjectInfo, customPrompt?: string): Promise<RequirementAnalysis>;
11
- /**
12
- * 构建包含项目信息的增强prompt
13
- */
14
- private buildEnhancedPrompt;
15
- /**
16
- * 构建项目上下文信息
17
- */
18
- private buildProjectContext;
19
- /**
20
- * 调用AI服务
21
- */
22
- private callAIService;
23
- /**
24
- * 解析AI分析结果
25
- */
26
- private parseAnalysisResult;
27
- /**
28
- * 构建功能依赖关系
29
- */
30
- private buildFeatureDependencies;
31
- /**
32
- * 验证分析结果
33
- */
34
- private validateAnalysisResult;
35
- }
36
- //# sourceMappingURL=intelligent-analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"intelligent-analyzer.d.ts","sourceRoot":"","sources":["../../../../src/services/requirement-analyzer/core/intelligent-analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,mBAAmB,EAAwC,MAAM,SAAS,CAAC;AAGjG;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B;;OAEG;IACG,mBAAmB,CACvB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,WAAW,EACxB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,mBAAmB,CAAC;IAyC/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAW3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;YACW,aAAa;IAgB3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkBhC;;OAEG;IACH,OAAO,CAAC,sBAAsB;CA+B/B"}
@@ -1,37 +0,0 @@
1
- import { ProjectInfo } from './types';
2
- /**
3
- * 项目分析服务
4
- * 职责:分析项目基本情况,提取技术栈信息
5
- */
6
- export declare class ProjectAnalyzer {
7
- /**
8
- * 分析项目基本情况
9
- */
10
- analyzeProject(): Promise<ProjectInfo>;
11
- /**
12
- * 从项目分析内容中提取关键信息
13
- */
14
- extractProjectInfo(projectAnalysis: string): ProjectInfo;
15
- /**
16
- * 确定项目类型
17
- */
18
- private determineProjectType;
19
- /**
20
- * 提取依赖信息
21
- */
22
- private extractDependencies;
23
- /**
24
- * 获取默认项目信息
25
- */
26
- private getDefaultProjectInfo;
27
- /**
28
- * 验证项目信息的完整性
29
- */
30
- validateProjectInfo(projectInfo: ProjectInfo): void;
31
- }
32
- /**
33
- * 从项目分析内容中提取项目信息的工具函数
34
- * 保持向后兼容性
35
- */
36
- export declare function extractProjectInfo(projectAnalysis: string): ProjectInfo;
37
- //# sourceMappingURL=project-analyzer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project-analyzer.d.ts","sourceRoot":"","sources":["../../../../src/services/requirement-analyzer/core/project-analyzer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAwC,MAAM,SAAS,CAAC;AAG5E;;;GAGG;AACH,qBAAa,eAAe;IAC1B;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,WAAW,CAAC;IAqB5C;;OAEG;IACH,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW;IA+DxD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAgB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAU7B;;OAEG;IACH,mBAAmB,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;CASpD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,eAAe,EAAE,MAAM,GAAG,WAAW,CAGvE"}
@@ -1,43 +0,0 @@
1
- import { AnalysisParams, AnalysisResult } from "./types";
2
- /**
3
- * 需求分析器服务
4
- * 职责:协调各个组件完成需求分析流程
5
- */
6
- export declare class RequirementAnalyzerService {
7
- private intelligentAnalyzer;
8
- private documentGenerator;
9
- /**
10
- * 执行需求分析
11
- */
12
- analyzeRequirements(params: AnalysisParams): Promise<AnalysisResult>;
13
- /**
14
- * 解析requirement-identifier的分析结果
15
- * 增强版:提取更丰富的上下文信息供MCP客户端使用
16
- */
17
- private parseRequirementAnalysis;
18
- /**
19
- * 从需求内容中提取功能名称(模块名称)
20
- */
21
- private extractFeatureName;
22
- /**
23
- * 从长文本中提取关键词作为功能名称
24
- */
25
- private extractKeywordsFromLongText;
26
- /**
27
- * 从内容关键词中提取功能名称
28
- */
29
- private extractFromKeywords;
30
- /**
31
- * 判断是否为占位符文本
32
- */
33
- private isPlaceholderText;
34
- /**
35
- * 清理功能名称
36
- */
37
- private cleanFeatureName;
38
- /**
39
- * 获取默认项目信息
40
- */
41
- private getDefaultProjectInfo;
42
- }
43
- //# sourceMappingURL=requirement-analyzer-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requirement-analyzer-service.d.ts","sourceRoot":"","sources":["../../../../src/services/requirement-analyzer/core/requirement-analyzer-service.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,cAAc,EAGf,MAAM,SAAS,CAAC;AAIjB;;;GAGG;AACH,qBAAa,0BAA0B;IACrC,OAAO,CAAC,mBAAmB,CAA6B;IACxD,OAAO,CAAC,iBAAiB,CAA2B;IAEpD;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IAmD1E;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAmDhC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAkE1B;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA4BnC;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA8B3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgCzB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAS9B"}
@@ -1,36 +0,0 @@
1
- /**
2
- * 模板选择器
3
- * 职责:根据需求类型选择合适的技术模板
4
- */
5
- export declare class TemplateSelector {
6
- private readonly templateMap;
7
- /**
8
- * 根据需求类型选择模板
9
- */
10
- selectTemplate(requirementType: string): string;
11
- /**
12
- * 模糊匹配模板
13
- */
14
- private fuzzyMatchTemplate;
15
- /**
16
- * 智能匹配模板(基于需求内容特征)
17
- */
18
- private intelligentMatchTemplate;
19
- /**
20
- * 检查字符串是否包含任意一个关键词
21
- */
22
- private containsAny;
23
- /**
24
- * 验证模板选择结果
25
- */
26
- validateTemplate(template: string, requirementType: string): void;
27
- /**
28
- * 获取支持的需求类型列表
29
- */
30
- getSupportedTypes(): string[];
31
- /**
32
- * 检查需求类型是否受支持
33
- */
34
- isTypeSupported(requirementType: string): boolean;
35
- }
36
- //# sourceMappingURL=template-selector.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"template-selector.d.ts","sourceRoot":"","sources":["../../../../src/services/requirement-analyzer/core/template-selector.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAOzB;IAEH;;OAEG;IACH,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,MAAM;IAmC/C;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA+C1B;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAkBhC;;OAEG;IACH,OAAO,CAAC,WAAW;IAInB;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,IAAI;IAUjE;;OAEG;IACH,iBAAiB,IAAI,MAAM,EAAE;IAI7B;;OAEG;IACH,eAAe,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO;CAOlD"}
@@ -1,105 +0,0 @@
1
- export interface ProjectInfo {
2
- techStack: string[];
3
- frameworks: string[];
4
- language: string;
5
- projectType: string;
6
- dependencies: string[];
7
- }
8
- export interface RequirementFeature {
9
- id: string;
10
- title: string;
11
- fullContent: string;
12
- priority: "high" | "medium" | "low";
13
- complexity: "简单" | "中等" | "复杂";
14
- type: "页面" | "接口" | "移动app" | "系统" | "其他";
15
- }
16
- export interface IntelligentFeature {
17
- featureName: string;
18
- description: string;
19
- priority: "high" | "medium" | "low";
20
- estimatedComplexity: "简单" | "中等" | "复杂";
21
- type: "核心功能点" | "辅助功能点" | "扩展功能点";
22
- businessValue: string;
23
- technologyType: "接口" | "PC页面" | "APP" | "SDK集成";
24
- }
25
- export interface RequirementAnalysis {
26
- analysisType: "single_general" | "multi_general" | "multi_specific_features";
27
- requirementType: "接口" | "PC页面" | "APP" | "SDK集成" | "混合类型";
28
- primaryTechnology: string;
29
- confidence: "high" | "medium" | "low";
30
- requirements: RequirementFeature[];
31
- templateRecommendation: {
32
- primaryTemplate: "api" | "pc" | "app" | "sdk" | "multi";
33
- reason: string;
34
- additionalTemplates?: string[];
35
- };
36
- featureDependencies?: {
37
- requirementType: "接口" | "PC页面" | "APP" | "SDK集成" | "混合类型";
38
- primaryTemplate: "api" | "pc" | "app" | "sdk" | "multi";
39
- mergedFeatures: IntelligentFeature[];
40
- dependencies: Array<{
41
- from: string;
42
- to: string;
43
- type: "前置依赖" | "并行依赖" | "互斥依赖" | "父子依赖";
44
- reason: string;
45
- }>;
46
- };
47
- }
48
- export interface AnalysisParams {
49
- requirement_analysis: string;
50
- current_project_path: string;
51
- page_style?: string;
52
- page_type?: "pc" | "mobile" | "responsive";
53
- }
54
- export interface GenerationTask {
55
- requirementType: string;
56
- outputPath: string;
57
- isUpdate: boolean;
58
- prompt: string;
59
- systemPrompt: string;
60
- templateContent: string;
61
- templateVariables: {
62
- featureName: string;
63
- inputContent: string;
64
- currentTime: string;
65
- businessDomain: string;
66
- generateSequenceDiagram: string;
67
- customPrompt?: string;
68
- pageType?: "pc" | "mobile" | "responsive";
69
- pageStyle?: string;
70
- };
71
- existingContent?: string;
72
- }
73
- export interface AnalysisResult {
74
- success: boolean;
75
- message: string;
76
- outputPath?: string;
77
- generatedFiles: string[];
78
- analysisInfo: {
79
- requirementType: string;
80
- recommendedTemplate: string;
81
- featureCount: number;
82
- projectType?: string;
83
- generatedReports?: Array<{
84
- requirementType: string;
85
- outputPath: string;
86
- isUpdate: boolean;
87
- }>;
88
- };
89
- generationTasks?: GenerationTask[];
90
- }
91
- export declare class RequirementAnalysisError extends Error {
92
- readonly code: string;
93
- readonly context?: any | undefined;
94
- constructor(message: string, code: string, context?: any | undefined);
95
- }
96
- export declare enum ErrorCodes {
97
- INVALID_INPUT = "INVALID_INPUT",
98
- FILE_NOT_FOUND = "FILE_NOT_FOUND",
99
- PROJECT_ANALYSIS_FAILED = "PROJECT_ANALYSIS_FAILED",
100
- REQUIREMENT_PARSING_FAILED = "REQUIREMENT_PARSING_FAILED",
101
- TEMPLATE_SELECTION_FAILED = "TEMPLATE_SELECTION_FAILED",
102
- DOCUMENT_GENERATION_FAILED = "DOCUMENT_GENERATION_FAILED",
103
- UNSUPPORTED_REQUIREMENT_TYPE = "UNSUPPORTED_REQUIREMENT_TYPE"
104
- }
105
- //# sourceMappingURL=types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/services/requirement-analyzer/core/types.ts"],"names":[],"mappings":"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"}