mta-mcp 2.2.0 → 2.3.1

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 (180) hide show
  1. package/bin/mta.cjs +43 -0
  2. package/dist/index.cjs +4784 -0
  3. package/dist/index.cjs.map +1 -0
  4. package/dist/index.d.cts +1 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.js +4769 -0
  7. package/dist/index.js.map +1 -0
  8. package/package.json +21 -10
  9. package/build/core/agentTemplate.d.ts +0 -33
  10. package/build/core/agentTemplate.d.ts.map +0 -1
  11. package/build/core/agentTemplate.js +0 -158
  12. package/build/core/agentTemplate.js.map +0 -1
  13. package/build/core/analyzers/eslint.d.ts +0 -51
  14. package/build/core/analyzers/eslint.d.ts.map +0 -1
  15. package/build/core/analyzers/eslint.js +0 -259
  16. package/build/core/analyzers/eslint.js.map +0 -1
  17. package/build/core/analyzers/index.d.ts +0 -9
  18. package/build/core/analyzers/index.d.ts.map +0 -1
  19. package/build/core/analyzers/index.js +0 -9
  20. package/build/core/analyzers/index.js.map +0 -1
  21. package/build/core/analyzers/registry.d.ts +0 -59
  22. package/build/core/analyzers/registry.d.ts.map +0 -1
  23. package/build/core/analyzers/registry.js +0 -241
  24. package/build/core/analyzers/registry.js.map +0 -1
  25. package/build/core/analyzers/tsconfig.d.ts +0 -45
  26. package/build/core/analyzers/tsconfig.d.ts.map +0 -1
  27. package/build/core/analyzers/tsconfig.js +0 -197
  28. package/build/core/analyzers/tsconfig.js.map +0 -1
  29. package/build/core/analyzers/types.d.ts +0 -176
  30. package/build/core/analyzers/types.d.ts.map +0 -1
  31. package/build/core/analyzers/types.js +0 -39
  32. package/build/core/analyzers/types.js.map +0 -1
  33. package/build/core/analyzers/vite.d.ts +0 -46
  34. package/build/core/analyzers/vite.d.ts.map +0 -1
  35. package/build/core/analyzers/vite.js +0 -211
  36. package/build/core/analyzers/vite.js.map +0 -1
  37. package/build/core/autoInitializer.d.ts +0 -34
  38. package/build/core/autoInitializer.d.ts.map +0 -1
  39. package/build/core/autoInitializer.js +0 -145
  40. package/build/core/autoInitializer.js.map +0 -1
  41. package/build/core/codeValidator.d.ts +0 -82
  42. package/build/core/codeValidator.d.ts.map +0 -1
  43. package/build/core/codeValidator.js +0 -287
  44. package/build/core/codeValidator.js.map +0 -1
  45. package/build/core/enhancedProjectAnalyzer.d.ts +0 -102
  46. package/build/core/enhancedProjectAnalyzer.d.ts.map +0 -1
  47. package/build/core/enhancedProjectAnalyzer.js +0 -312
  48. package/build/core/enhancedProjectAnalyzer.js.map +0 -1
  49. package/build/core/errors.d.ts +0 -84
  50. package/build/core/errors.d.ts.map +0 -1
  51. package/build/core/errors.js +0 -151
  52. package/build/core/errors.js.map +0 -1
  53. package/build/core/githubClient.d.ts +0 -26
  54. package/build/core/githubClient.d.ts.map +0 -1
  55. package/build/core/githubClient.js +0 -60
  56. package/build/core/githubClient.js.map +0 -1
  57. package/build/core/i18nDetector.d.ts +0 -47
  58. package/build/core/i18nDetector.d.ts.map +0 -1
  59. package/build/core/i18nDetector.js +0 -314
  60. package/build/core/i18nDetector.js.map +0 -1
  61. package/build/core/index.d.ts +0 -11
  62. package/build/core/index.d.ts.map +0 -1
  63. package/build/core/index.js +0 -14
  64. package/build/core/index.js.map +0 -1
  65. package/build/core/logger.d.ts +0 -91
  66. package/build/core/logger.d.ts.map +0 -1
  67. package/build/core/logger.js +0 -164
  68. package/build/core/logger.js.map +0 -1
  69. package/build/core/mappings/index.d.ts +0 -5
  70. package/build/core/mappings/index.d.ts.map +0 -1
  71. package/build/core/mappings/index.js +0 -5
  72. package/build/core/mappings/index.js.map +0 -1
  73. package/build/core/mappings/scenarioMappings.d.ts +0 -51
  74. package/build/core/mappings/scenarioMappings.d.ts.map +0 -1
  75. package/build/core/mappings/scenarioMappings.js +0 -105
  76. package/build/core/mappings/scenarioMappings.js.map +0 -1
  77. package/build/core/matching/index.d.ts +0 -8
  78. package/build/core/matching/index.d.ts.map +0 -1
  79. package/build/core/matching/index.js +0 -8
  80. package/build/core/matching/index.js.map +0 -1
  81. package/build/core/matching/intentAnalyzer.d.ts +0 -78
  82. package/build/core/matching/intentAnalyzer.d.ts.map +0 -1
  83. package/build/core/matching/intentAnalyzer.js +0 -255
  84. package/build/core/matching/intentAnalyzer.js.map +0 -1
  85. package/build/core/matching/standardMatcher.d.ts +0 -101
  86. package/build/core/matching/standardMatcher.d.ts.map +0 -1
  87. package/build/core/matching/standardMatcher.js +0 -299
  88. package/build/core/matching/standardMatcher.js.map +0 -1
  89. package/build/core/matching/weights.d.ts +0 -64
  90. package/build/core/matching/weights.d.ts.map +0 -1
  91. package/build/core/matching/weights.js +0 -334
  92. package/build/core/matching/weights.js.map +0 -1
  93. package/build/core/projectContextManager.d.ts +0 -39
  94. package/build/core/projectContextManager.d.ts.map +0 -1
  95. package/build/core/projectContextManager.js +0 -147
  96. package/build/core/projectContextManager.js.map +0 -1
  97. package/build/core/scenarioDetector.d.ts +0 -2
  98. package/build/core/scenarioDetector.d.ts.map +0 -1
  99. package/build/core/scenarioDetector.js +0 -2
  100. package/build/core/scenarioDetector.js.map +0 -1
  101. package/build/core/smartAgentMatcher.d.ts +0 -51
  102. package/build/core/smartAgentMatcher.d.ts.map +0 -1
  103. package/build/core/smartAgentMatcher.js +0 -493
  104. package/build/core/smartAgentMatcher.js.map +0 -1
  105. package/build/core/standardsManager.d.ts +0 -130
  106. package/build/core/standardsManager.d.ts.map +0 -1
  107. package/build/core/standardsManager.js +0 -600
  108. package/build/core/standardsManager.js.map +0 -1
  109. package/build/core/templates/discovery.d.ts +0 -41
  110. package/build/core/templates/discovery.d.ts.map +0 -1
  111. package/build/core/templates/discovery.js +0 -262
  112. package/build/core/templates/discovery.js.map +0 -1
  113. package/build/core/templates/types.d.ts +0 -80
  114. package/build/core/templates/types.d.ts.map +0 -1
  115. package/build/core/templates/types.js +0 -10
  116. package/build/core/templates/types.js.map +0 -1
  117. package/build/core/types.d.ts +0 -57
  118. package/build/core/types.d.ts.map +0 -1
  119. package/build/core/types.js +0 -22
  120. package/build/core/types.js.map +0 -1
  121. package/build/index.d.ts +0 -3
  122. package/build/index.d.ts.map +0 -1
  123. package/build/index.js +0 -576
  124. package/build/index.js.map +0 -1
  125. package/build/tools/analyzeProject.d.ts +0 -12
  126. package/build/tools/analyzeProject.d.ts.map +0 -1
  127. package/build/tools/analyzeProject.js +0 -85
  128. package/build/tools/analyzeProject.js.map +0 -1
  129. package/build/tools/autoSetup.d.ts +0 -15
  130. package/build/tools/autoSetup.d.ts.map +0 -1
  131. package/build/tools/autoSetup.js +0 -291
  132. package/build/tools/autoSetup.js.map +0 -1
  133. package/build/tools/generateConfig.d.ts +0 -16
  134. package/build/tools/generateConfig.d.ts.map +0 -1
  135. package/build/tools/generateConfig.js +0 -379
  136. package/build/tools/generateConfig.js.map +0 -1
  137. package/build/tools/generateProjectAgent.d.ts +0 -15
  138. package/build/tools/generateProjectAgent.d.ts.map +0 -1
  139. package/build/tools/generateProjectAgent.js +0 -348
  140. package/build/tools/generateProjectAgent.js.map +0 -1
  141. package/build/tools/getCompactStandards.d.ts +0 -20
  142. package/build/tools/getCompactStandards.d.ts.map +0 -1
  143. package/build/tools/getCompactStandards.js +0 -367
  144. package/build/tools/getCompactStandards.js.map +0 -1
  145. package/build/tools/getSmartStandards.d.ts +0 -15
  146. package/build/tools/getSmartStandards.d.ts.map +0 -1
  147. package/build/tools/getSmartStandards.js +0 -201
  148. package/build/tools/getSmartStandards.js.map +0 -1
  149. package/build/tools/getStandardById.d.ts +0 -42
  150. package/build/tools/getStandardById.d.ts.map +0 -1
  151. package/build/tools/getStandardById.js +0 -289
  152. package/build/tools/getStandardById.js.map +0 -1
  153. package/build/tools/getTemplate.d.ts +0 -37
  154. package/build/tools/getTemplate.d.ts.map +0 -1
  155. package/build/tools/getTemplate.js +0 -78
  156. package/build/tools/getTemplate.js.map +0 -1
  157. package/build/tools/healthCheck.d.ts +0 -14
  158. package/build/tools/healthCheck.d.ts.map +0 -1
  159. package/build/tools/healthCheck.js +0 -237
  160. package/build/tools/healthCheck.js.map +0 -1
  161. package/build/tools/listAgents.d.ts +0 -10
  162. package/build/tools/listAgents.d.ts.map +0 -1
  163. package/build/tools/listAgents.js +0 -79
  164. package/build/tools/listAgents.js.map +0 -1
  165. package/build/tools/listTemplates.d.ts +0 -41
  166. package/build/tools/listTemplates.d.ts.map +0 -1
  167. package/build/tools/listTemplates.js +0 -81
  168. package/build/tools/listTemplates.js.map +0 -1
  169. package/build/tools/matchAgents.d.ts +0 -14
  170. package/build/tools/matchAgents.d.ts.map +0 -1
  171. package/build/tools/matchAgents.js +0 -70
  172. package/build/tools/matchAgents.js.map +0 -1
  173. package/build/tools/queryMappings.d.ts +0 -55
  174. package/build/tools/queryMappings.d.ts.map +0 -1
  175. package/build/tools/queryMappings.js +0 -119
  176. package/build/tools/queryMappings.js.map +0 -1
  177. package/build/tools/usePreset.d.ts +0 -23
  178. package/build/tools/usePreset.d.ts.map +0 -1
  179. package/build/tools/usePreset.js +0 -163
  180. package/build/tools/usePreset.js.map +0 -1
@@ -1,101 +0,0 @@
1
- /**
2
- * 标准匹配器
3
- *
4
- * 综合项目特征、用户意图、文件上下文,精准匹配开发规范
5
- *
6
- * @module core/matching/standardMatcher
7
- */
8
- import { ProjectFeaturesExtended } from '../analyzers/types.js';
9
- /**
10
- * 规范信息
11
- */
12
- export interface StandardInfo {
13
- id: string;
14
- name: string;
15
- path: string;
16
- category: string;
17
- tags: string[];
18
- description?: string;
19
- priority?: number;
20
- }
21
- /**
22
- * 匹配结果
23
- */
24
- export interface MatchedStandard {
25
- standard: StandardInfo;
26
- score: number;
27
- matchReasons: string[];
28
- }
29
- /**
30
- * 匹配上下文
31
- */
32
- export interface MatchContext {
33
- /** 项目特征 */
34
- projectFeatures?: ProjectFeaturesExtended;
35
- /** 用户意图 */
36
- userIntent?: string;
37
- /** 当前文件路径 */
38
- currentFile?: string;
39
- /** 文件内容 */
40
- fileContent?: string;
41
- /** 场景 */
42
- scenario?: string;
43
- /** 文件类型 */
44
- fileType?: string;
45
- /** 导入的包 */
46
- imports?: string[];
47
- }
48
- /**
49
- * 匹配选项
50
- */
51
- export interface MatchOptions {
52
- /** 最大返回数量 */
53
- maxResults?: number;
54
- /** 最小分数阈值 */
55
- minScore?: number;
56
- /** 是否包含全部内容 */
57
- includeContent?: boolean;
58
- /** 加载模式:summary(摘要) | key-rules(关键规则) | full(完整) */
59
- mode?: 'summary' | 'key-rules' | 'full';
60
- }
61
- /**
62
- * 标准匹配器
63
- */
64
- export declare class StandardMatcher {
65
- private intentAnalyzer;
66
- private weightCalculator;
67
- constructor();
68
- /**
69
- * 匹配规范
70
- */
71
- match(availableStandards: StandardInfo[], context: MatchContext, options?: MatchOptions): MatchedStandard[];
72
- /**
73
- * 确定场景
74
- */
75
- private determineScenario;
76
- /**
77
- * 从路径推断场景
78
- */
79
- private inferScenarioFromPath;
80
- /**
81
- * 映射场景字符串到 Scenario 类型
82
- */
83
- private mapToScenario;
84
- /**
85
- * 计算标准分数
86
- */
87
- private calculateScore;
88
- /**
89
- * 获取场景推荐的规范
90
- */
91
- getScenarioRecommendations(scenario: string): string[];
92
- /**
93
- * 根据标签获取相关规范
94
- */
95
- getStandardsByTag(tag: string): string[];
96
- }
97
- /**
98
- * 获取默认标准匹配器
99
- */
100
- export declare function getDefaultStandardMatcher(): StandardMatcher;
101
- //# sourceMappingURL=standardMatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standardMatcher.d.ts","sourceRoot":"","sources":["../../../src/core/matching/standardMatcher.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAIhE;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,WAAW;IACX,eAAe,CAAC,EAAE,uBAAuB,CAAC;IAC1C,WAAW;IACX,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS;IACT,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IACzB,aAAa;IACb,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,aAAa;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe;IACf,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,oDAAoD;IACpD,IAAI,CAAC,EAAE,SAAS,GAAG,WAAW,GAAG,MAAM,CAAC;CAC3C;AA+DD;;GAEG;AACH,qBAAa,eAAe;IACxB,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,gBAAgB,CAA0B;;IAOlD;;OAEG;IACH,KAAK,CACD,kBAAkB,EAAE,YAAY,EAAE,EAClC,OAAO,EAAE,YAAY,EACrB,OAAO,GAAE,YAAiB,GAC3B,eAAe,EAAE;IAsDpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA6CzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAY7B;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAsGtB;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAItD;;OAEG;IACH,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE;CAG3C;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,eAAe,CAE3D"}
@@ -1,299 +0,0 @@
1
- /**
2
- * 标准匹配器
3
- *
4
- * 综合项目特征、用户意图、文件上下文,精准匹配开发规范
5
- *
6
- * @module core/matching/standardMatcher
7
- */
8
- import { DynamicWeightCalculator } from './weights.js';
9
- import { IntentAnalyzer } from './intentAnalyzer.js';
10
- /**
11
- * 标准分类权重
12
- */
13
- const CATEGORY_WEIGHTS = {
14
- 'core': 10,
15
- 'frameworks': 8,
16
- 'libraries': 7,
17
- 'patterns': 6,
18
- 'workflows': 5
19
- };
20
- /**
21
- * 标签到标准的映射
22
- */
23
- const TAG_STANDARD_MAPPING = {
24
- // 框架
25
- 'vue': ['vue3-composition', 'vue3-component'],
26
- 'vue3': ['vue3-composition', 'vue3-component'],
27
- 'react': ['react-hooks', 'react-component'],
28
- 'flutter': ['flutter-bloc', 'dart-style'],
29
- // 库
30
- 'element-plus': ['element-plus', 'vue3-form'],
31
- 'pinia': ['pinia-store'],
32
- 'axios': ['api-call', 'error-handling'],
33
- 'logicflow': ['logicflow'],
34
- // 场景
35
- 'i18n': ['i18n'],
36
- '国际化': ['i18n'],
37
- 'form': ['vue3-form'],
38
- '表单': ['vue3-form'],
39
- 'table': ['vue3-table'],
40
- '表格': ['vue3-table'],
41
- 'api': ['api-call', 'api-design'],
42
- '接口': ['api-call'],
43
- 'store': ['pinia-store'],
44
- '状态管理': ['pinia-store'],
45
- // 通用
46
- 'typescript': ['typescript-strict'],
47
- 'testing': ['unit-testing'],
48
- 'performance': ['performance-optimization']
49
- };
50
- /**
51
- * 场景到标准的映射
52
- */
53
- const SCENARIO_STANDARD_MAPPING = {
54
- '表单开发': ['vue3-form', 'element-plus', 'form-validation'],
55
- '表格展示': ['vue3-table', 'element-plus', 'pagination'],
56
- 'API集成': ['api-call', 'axios-interceptor', 'error-handling'],
57
- '状态管理': ['pinia-store', 'state-management'],
58
- '路由配置': ['vue-router', 'route-guard'],
59
- '国际化': ['i18n', 'locale-management'],
60
- '权限控制': ['permission-design', 'route-guard'],
61
- '性能优化': ['performance-optimization', 'lazy-loading'],
62
- '单元测试': ['unit-testing', 'vitest-guide'],
63
- '组件封装': ['vue3-component', 'component-design']
64
- };
65
- /**
66
- * 标准匹配器
67
- */
68
- export class StandardMatcher {
69
- intentAnalyzer;
70
- weightCalculator;
71
- constructor() {
72
- this.intentAnalyzer = new IntentAnalyzer();
73
- this.weightCalculator = new DynamicWeightCalculator();
74
- }
75
- /**
76
- * 匹配规范
77
- */
78
- match(availableStandards, context, options = {}) {
79
- const { maxResults = 5, minScore = 10 } = options;
80
- // 1. 分析用户意图
81
- const intentAnalysis = context.userIntent
82
- ? this.intentAnalyzer.analyze(context.userIntent, {
83
- currentFile: context.currentFile,
84
- fileContent: context.fileContent
85
- })
86
- : null;
87
- // 2. 确定场景
88
- const scenario = this.determineScenario(context, intentAnalysis);
89
- // 3. 计算动态权重
90
- const weights = context.projectFeatures
91
- ? this.weightCalculator.calculateWeights(scenario, context.projectFeatures.projectType, context.projectFeatures)
92
- : {
93
- framework: 30,
94
- language: 15,
95
- library: 20,
96
- pattern: 15,
97
- scenario: 20
98
- };
99
- // 4. 为每个标准计算分数
100
- const scoredStandards = availableStandards.map(standard => {
101
- const { score, reasons } = this.calculateScore(standard, context, intentAnalysis, weights);
102
- return {
103
- standard,
104
- score,
105
- matchReasons: reasons
106
- };
107
- });
108
- // 5. 过滤和排序
109
- return scoredStandards
110
- .filter(s => s.score >= minScore)
111
- .sort((a, b) => b.score - a.score)
112
- .slice(0, maxResults);
113
- }
114
- /**
115
- * 确定场景
116
- */
117
- determineScenario(context, intentAnalysis) {
118
- // 优先使用明确指定的场景
119
- if (context.scenario) {
120
- return this.mapToScenario(context.scenario);
121
- }
122
- // 使用意图分析结果
123
- if (intentAnalysis) {
124
- switch (intentAnalysis.type) {
125
- case 'create':
126
- if (intentAnalysis.target.type === 'component' ||
127
- intentAnalysis.target.type === 'page') {
128
- return 'new-component';
129
- }
130
- if (intentAnalysis.target.type === 'api') {
131
- return 'api-integration';
132
- }
133
- break;
134
- case 'fix':
135
- return 'bug-fix';
136
- case 'refactor':
137
- return 'refactoring';
138
- case 'optimize':
139
- return 'performance';
140
- case 'test':
141
- return 'testing';
142
- case 'style':
143
- return 'styling';
144
- case 'document':
145
- return 'documentation';
146
- }
147
- }
148
- // 从文件路径推断
149
- if (context.currentFile) {
150
- return this.weightCalculator.analyzeScenario('') ||
151
- this.inferScenarioFromPath(context.currentFile);
152
- }
153
- return 'general';
154
- }
155
- /**
156
- * 从路径推断场景
157
- */
158
- inferScenarioFromPath(filePath) {
159
- const path = filePath.toLowerCase();
160
- if (path.includes('.test.') || path.includes('.spec.'))
161
- return 'testing';
162
- if (path.includes('/api/') || path.includes('/services/'))
163
- return 'api-integration';
164
- if (path.endsWith('.css') || path.endsWith('.scss'))
165
- return 'styling';
166
- if (path.includes('/components/') || path.includes('/views/'))
167
- return 'new-component';
168
- if (path.endsWith('.md'))
169
- return 'documentation';
170
- return 'general';
171
- }
172
- /**
173
- * 映射场景字符串到 Scenario 类型
174
- */
175
- mapToScenario(scenarioStr) {
176
- const mapping = {
177
- '表单开发': 'new-component',
178
- '表格展示': 'new-component',
179
- 'API集成': 'api-integration',
180
- '状态管理': 'new-component',
181
- '路由配置': 'new-component',
182
- '国际化': 'new-component',
183
- '权限控制': 'new-component',
184
- '性能优化': 'performance',
185
- '单元测试': 'testing',
186
- '组件封装': 'new-component',
187
- '修复': 'bug-fix',
188
- '重构': 'refactoring',
189
- '样式': 'styling'
190
- };
191
- return mapping[scenarioStr] || 'general';
192
- }
193
- /**
194
- * 计算标准分数
195
- */
196
- calculateScore(standard, context, intentAnalysis, weights) {
197
- let score = 0;
198
- const reasons = [];
199
- // 1. 分类权重
200
- const categoryWeight = CATEGORY_WEIGHTS[standard.category] || 3;
201
- score += categoryWeight;
202
- // 2. 文件类型匹配
203
- if (context.fileType && standard.tags.includes(context.fileType)) {
204
- score += weights.framework * 0.3;
205
- reasons.push(`文件类型匹配: ${context.fileType}`);
206
- }
207
- // 3. 导入包匹配
208
- if (context.imports && context.imports.length > 0) {
209
- for (const imp of context.imports) {
210
- const relatedStandards = TAG_STANDARD_MAPPING[imp.toLowerCase()] || [];
211
- if (relatedStandards.includes(standard.id)) {
212
- score += weights.library * 0.5;
213
- reasons.push(`导入匹配: ${imp}`);
214
- }
215
- }
216
- }
217
- // 4. 项目特征匹配
218
- if (context.projectFeatures) {
219
- const features = context.projectFeatures;
220
- // 框架匹配
221
- for (const fw of features.frameworks) {
222
- if (standard.tags.some(t => t.toLowerCase().includes(fw.toLowerCase()))) {
223
- score += weights.framework * 0.4;
224
- reasons.push(`框架匹配: ${fw}`);
225
- break;
226
- }
227
- }
228
- // UI 库匹配
229
- for (const lib of features.uiLibraries) {
230
- const relatedStandards = TAG_STANDARD_MAPPING[lib.toLowerCase()] || [];
231
- if (relatedStandards.includes(standard.id)) {
232
- score += weights.library * 0.4;
233
- reasons.push(`UI库匹配: ${lib}`);
234
- break;
235
- }
236
- }
237
- // 状态管理匹配
238
- for (const sm of features.stateManagement) {
239
- const relatedStandards = TAG_STANDARD_MAPPING[sm.toLowerCase()] || [];
240
- if (relatedStandards.includes(standard.id)) {
241
- score += weights.library * 0.3;
242
- reasons.push(`状态管理匹配: ${sm}`);
243
- break;
244
- }
245
- }
246
- }
247
- // 5. 意图分析匹配
248
- if (intentAnalysis) {
249
- // 技术匹配
250
- for (const tech of intentAnalysis.technologies) {
251
- const relatedStandards = TAG_STANDARD_MAPPING[tech] || [];
252
- if (relatedStandards.includes(standard.id)) {
253
- score += weights.scenario * 0.4;
254
- reasons.push(`技术匹配: ${tech}`);
255
- }
256
- }
257
- // 场景匹配
258
- for (const scenario of intentAnalysis.scenarios) {
259
- const relatedStandards = SCENARIO_STANDARD_MAPPING[scenario] || [];
260
- if (relatedStandards.includes(standard.id)) {
261
- score += weights.scenario * 0.5;
262
- reasons.push(`场景匹配: ${scenario}`);
263
- }
264
- }
265
- }
266
- // 6. 标准优先级
267
- if (standard.priority) {
268
- score += standard.priority * 2;
269
- }
270
- // 7. 标签直接匹配(用户指定的 scenario)
271
- if (context.scenario) {
272
- const relatedStandards = SCENARIO_STANDARD_MAPPING[context.scenario] || [];
273
- if (relatedStandards.includes(standard.id)) {
274
- score += weights.scenario;
275
- reasons.push(`场景直接匹配: ${context.scenario}`);
276
- }
277
- }
278
- return { score: Math.round(score * 10) / 10, reasons };
279
- }
280
- /**
281
- * 获取场景推荐的规范
282
- */
283
- getScenarioRecommendations(scenario) {
284
- return SCENARIO_STANDARD_MAPPING[scenario] || [];
285
- }
286
- /**
287
- * 根据标签获取相关规范
288
- */
289
- getStandardsByTag(tag) {
290
- return TAG_STANDARD_MAPPING[tag.toLowerCase()] || [];
291
- }
292
- }
293
- /**
294
- * 获取默认标准匹配器
295
- */
296
- export function getDefaultStandardMatcher() {
297
- return new StandardMatcher();
298
- }
299
- //# sourceMappingURL=standardMatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"standardMatcher.js","sourceRoot":"","sources":["../../../src/core/matching/standardMatcher.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- /**
2
- * 动态权重计算器
3
- *
4
- * 根据场景和项目类型动态调整匹配权重
5
- *
6
- * @module core/matching/weights
7
- */
8
- import type { ProjectFeaturesExtended, MatchWeights } from '../analyzers/types.js';
9
- /**
10
- * 场景类型定义
11
- */
12
- export type Scenario = 'new-component' | 'bug-fix' | 'api-integration' | 'refactoring' | 'styling' | 'testing' | 'documentation' | 'performance' | 'general';
13
- /**
14
- * 动态权重计算器
15
- */
16
- export declare class DynamicWeightCalculator {
17
- private baseWeights;
18
- constructor(customBaseWeights?: Partial<MatchWeights>);
19
- /**
20
- * 根据用户意图分析场景
21
- */
22
- analyzeScenario(userIntent: string): Scenario;
23
- /**
24
- * 根据文件路径推断场景
25
- */
26
- inferScenarioFromPath(filePath: string): Scenario;
27
- /**
28
- * 计算动态权重
29
- */
30
- calculateWeights(scenario: Scenario, projectType: string, projectFeatures?: ProjectFeaturesExtended): MatchWeights;
31
- /**
32
- * 根据项目特征微调权重
33
- */
34
- private adjustByFeatures;
35
- /**
36
- * 归一化权重(总和为 100)
37
- */
38
- private normalizeWeights;
39
- /**
40
- * 获取场景推荐的规范
41
- */
42
- getScenarioRecommendations(scenario: Scenario): string[];
43
- /**
44
- * 获取项目类型推荐的规范
45
- */
46
- getProjectTypeRecommendations(projectType: string): string[];
47
- /**
48
- * 综合分析并返回权重和推荐
49
- */
50
- analyze(userIntent: string, filePath: string, projectFeatures: ProjectFeaturesExtended): {
51
- scenario: Scenario;
52
- weights: MatchWeights;
53
- recommendations: string[];
54
- };
55
- }
56
- /**
57
- * 获取默认权重计算器实例
58
- */
59
- export declare function getDefaultWeightCalculator(): DynamicWeightCalculator;
60
- /**
61
- * 快速计算权重(便捷方法)
62
- */
63
- export declare function calculateDynamicWeights(userIntent: string, filePath: string, projectFeatures: ProjectFeaturesExtended): MatchWeights;
64
- //# sourceMappingURL=weights.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"weights.d.ts","sourceRoot":"","sources":["../../../src/core/matching/weights.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EACR,uBAAuB,EACvB,YAAY,EAGf,MAAM,uBAAuB,CAAC;AAE/B;;GAEG;AACH,MAAM,MAAM,QAAQ,GACd,eAAe,GACf,SAAS,GACT,iBAAiB,GACjB,aAAa,GACb,SAAS,GACT,SAAS,GACT,eAAe,GACf,aAAa,GACb,SAAS,CAAC;AAuJhB;;GAEG;AACH,qBAAa,uBAAuB;IAChC,OAAO,CAAC,WAAW,CAAe;gBAEtB,iBAAiB,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAIrD;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ;IAqB7C;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,QAAQ;IAmCjD;;OAEG;IACH,gBAAgB,CACZ,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,MAAM,EACnB,eAAe,CAAC,EAAE,uBAAuB,GAC1C,YAAY;IA0Bf;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA0BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,0BAA0B,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,EAAE;IAgBxD;;OAEG;IACH,6BAA6B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,EAAE;IAK5D;;OAEG;IACH,OAAO,CACH,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,uBAAuB,GACzC;QACC,QAAQ,EAAE,QAAQ,CAAC;QACnB,OAAO,EAAE,YAAY,CAAC;QACtB,eAAe,EAAE,MAAM,EAAE,CAAC;KAC7B;CA4BJ;AAED;;GAEG;AACH,wBAAgB,0BAA0B,IAAI,uBAAuB,CAEpE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACnC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,eAAe,EAAE,uBAAuB,GACzC,YAAY,CAId"}