mta-mcp 1.9.1 → 2.2.0

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 (121) hide show
  1. package/README.md +140 -2
  2. package/build/core/analyzers/eslint.d.ts +51 -0
  3. package/build/core/analyzers/eslint.d.ts.map +1 -0
  4. package/build/core/analyzers/eslint.js +259 -0
  5. package/build/core/analyzers/eslint.js.map +1 -0
  6. package/build/core/analyzers/index.d.ts +9 -0
  7. package/build/core/analyzers/index.d.ts.map +1 -0
  8. package/build/core/analyzers/index.js +9 -0
  9. package/build/core/analyzers/index.js.map +1 -0
  10. package/build/core/analyzers/registry.d.ts +59 -0
  11. package/build/core/analyzers/registry.d.ts.map +1 -0
  12. package/build/core/analyzers/registry.js +241 -0
  13. package/build/core/analyzers/registry.js.map +1 -0
  14. package/build/core/analyzers/tsconfig.d.ts +45 -0
  15. package/build/core/analyzers/tsconfig.d.ts.map +1 -0
  16. package/build/core/analyzers/tsconfig.js +197 -0
  17. package/build/core/analyzers/tsconfig.js.map +1 -0
  18. package/build/core/analyzers/types.d.ts +176 -0
  19. package/build/core/analyzers/types.d.ts.map +1 -0
  20. package/build/core/analyzers/types.js +39 -0
  21. package/build/core/analyzers/types.js.map +1 -0
  22. package/build/core/analyzers/vite.d.ts +46 -0
  23. package/build/core/analyzers/vite.d.ts.map +1 -0
  24. package/build/core/analyzers/vite.js +211 -0
  25. package/build/core/analyzers/vite.js.map +1 -0
  26. package/build/core/enhancedProjectAnalyzer.d.ts +102 -0
  27. package/build/core/enhancedProjectAnalyzer.d.ts.map +1 -0
  28. package/build/core/enhancedProjectAnalyzer.js +312 -0
  29. package/build/core/enhancedProjectAnalyzer.js.map +1 -0
  30. package/build/core/errors.d.ts +84 -0
  31. package/build/core/errors.d.ts.map +1 -0
  32. package/build/core/errors.js +151 -0
  33. package/build/core/errors.js.map +1 -0
  34. package/build/core/index.d.ts +11 -0
  35. package/build/core/index.d.ts.map +1 -0
  36. package/build/core/index.js +14 -0
  37. package/build/core/index.js.map +1 -0
  38. package/build/core/logger.d.ts +91 -0
  39. package/build/core/logger.d.ts.map +1 -0
  40. package/build/core/logger.js +164 -0
  41. package/build/core/logger.js.map +1 -0
  42. package/build/core/mappings/index.d.ts +5 -0
  43. package/build/core/mappings/index.d.ts.map +1 -0
  44. package/build/core/mappings/index.js +5 -0
  45. package/build/core/mappings/index.js.map +1 -0
  46. package/build/core/mappings/scenarioMappings.d.ts +51 -0
  47. package/build/core/mappings/scenarioMappings.d.ts.map +1 -0
  48. package/build/core/mappings/scenarioMappings.js +105 -0
  49. package/build/core/mappings/scenarioMappings.js.map +1 -0
  50. package/build/core/matching/index.d.ts +8 -0
  51. package/build/core/matching/index.d.ts.map +1 -0
  52. package/build/core/matching/index.js +8 -0
  53. package/build/core/matching/index.js.map +1 -0
  54. package/build/core/matching/intentAnalyzer.d.ts +78 -0
  55. package/build/core/matching/intentAnalyzer.d.ts.map +1 -0
  56. package/build/core/matching/intentAnalyzer.js +255 -0
  57. package/build/core/matching/intentAnalyzer.js.map +1 -0
  58. package/build/core/matching/standardMatcher.d.ts +101 -0
  59. package/build/core/matching/standardMatcher.d.ts.map +1 -0
  60. package/build/core/matching/standardMatcher.js +299 -0
  61. package/build/core/matching/standardMatcher.js.map +1 -0
  62. package/build/core/matching/weights.d.ts +64 -0
  63. package/build/core/matching/weights.d.ts.map +1 -0
  64. package/build/core/matching/weights.js +334 -0
  65. package/build/core/matching/weights.js.map +1 -0
  66. package/build/core/scenarioDetector.d.ts +2 -0
  67. package/build/core/scenarioDetector.d.ts.map +1 -0
  68. package/build/core/scenarioDetector.js +2 -0
  69. package/build/core/scenarioDetector.js.map +1 -0
  70. package/build/core/templates/discovery.d.ts +41 -0
  71. package/build/core/templates/discovery.d.ts.map +1 -0
  72. package/build/core/templates/discovery.js +262 -0
  73. package/build/core/templates/discovery.js.map +1 -0
  74. package/build/core/templates/types.d.ts +80 -0
  75. package/build/core/templates/types.d.ts.map +1 -0
  76. package/build/core/templates/types.js +10 -0
  77. package/build/core/templates/types.js.map +1 -0
  78. package/build/core/types.d.ts +2 -0
  79. package/build/core/types.d.ts.map +1 -1
  80. package/build/core/types.js +4 -3
  81. package/build/core/types.js.map +1 -1
  82. package/build/index.js +136 -23
  83. package/build/index.js.map +1 -1
  84. package/build/tools/getSmartStandards.d.ts +0 -2
  85. package/build/tools/getSmartStandards.d.ts.map +1 -1
  86. package/build/tools/getSmartStandards.js +39 -28
  87. package/build/tools/getSmartStandards.js.map +1 -1
  88. package/build/tools/getStandardById.d.ts +42 -0
  89. package/build/tools/getStandardById.d.ts.map +1 -0
  90. package/build/tools/getStandardById.js +289 -0
  91. package/build/tools/getStandardById.js.map +1 -0
  92. package/build/tools/getTemplate.d.ts +37 -0
  93. package/build/tools/getTemplate.d.ts.map +1 -0
  94. package/build/tools/getTemplate.js +78 -0
  95. package/build/tools/getTemplate.js.map +1 -0
  96. package/build/tools/listTemplates.d.ts +41 -0
  97. package/build/tools/listTemplates.d.ts.map +1 -0
  98. package/build/tools/listTemplates.js +81 -0
  99. package/build/tools/listTemplates.js.map +1 -0
  100. package/build/tools/queryMappings.d.ts +55 -0
  101. package/build/tools/queryMappings.d.ts.map +1 -0
  102. package/build/tools/queryMappings.js +119 -0
  103. package/build/tools/queryMappings.js.map +1 -0
  104. package/package.json +25 -8
  105. package/src/core/autoInitializer.ts +0 -170
  106. package/src/core/codeValidator.ts +0 -357
  107. package/src/core/githubClient.ts +0 -64
  108. package/src/core/i18nDetector.ts +0 -357
  109. package/src/core/smartAgentMatcher.ts +0 -490
  110. package/src/core/standardsManager.ts +0 -769
  111. package/src/core/types.ts +0 -72
  112. package/src/index.ts +0 -519
  113. package/src/tools/analyzeProject.ts +0 -94
  114. package/src/tools/autoSetup.ts +0 -312
  115. package/src/tools/generateConfig.ts +0 -429
  116. package/src/tools/getCompactStandards.ts +0 -413
  117. package/src/tools/getSmartStandards.ts +0 -214
  118. package/src/tools/healthCheck.ts +0 -261
  119. package/src/tools/listAgents.ts +0 -91
  120. package/src/tools/matchAgents.ts +0 -80
  121. package/src/tools/usePreset.ts +0 -180
@@ -0,0 +1,91 @@
1
+ /**
2
+ * MCP 日志模块
3
+ *
4
+ * 统一的日志接口,支持不同级别和格式化输出
5
+ * MCP 服务器通过 stderr 输出日志,避免污染 stdout
6
+ *
7
+ * @module core/logger
8
+ */
9
+ /**
10
+ * 日志级别
11
+ */
12
+ export declare enum LogLevel {
13
+ DEBUG = 0,
14
+ INFO = 1,
15
+ WARN = 2,
16
+ ERROR = 3,
17
+ SILENT = 4
18
+ }
19
+ /**
20
+ * 日志配置
21
+ */
22
+ interface LoggerConfig {
23
+ /** 最小日志级别 */
24
+ level: LogLevel;
25
+ /** 是否显示时间戳 */
26
+ timestamp: boolean;
27
+ /** 前缀 */
28
+ prefix: string;
29
+ }
30
+ /**
31
+ * Logger 类
32
+ */
33
+ export declare class Logger {
34
+ private readonly name;
35
+ private readonly config;
36
+ constructor(name?: string, config?: Partial<LoggerConfig>);
37
+ /**
38
+ * 格式化日志消息
39
+ */
40
+ private format;
41
+ /**
42
+ * 检查日志级别是否应该输出
43
+ */
44
+ private shouldLog;
45
+ /**
46
+ * 调试日志
47
+ */
48
+ debug(message: string, ...args: unknown[]): void;
49
+ /**
50
+ * 信息日志
51
+ */
52
+ info(message: string, ...args: unknown[]): void;
53
+ /**
54
+ * 简化的 log 方法(等同于 info)
55
+ */
56
+ log(message: string, ...args: unknown[]): void;
57
+ /**
58
+ * 警告日志
59
+ */
60
+ warn(message: string, ...args: unknown[]): void;
61
+ /**
62
+ * 错误日志
63
+ */
64
+ error(message: string, ...args: unknown[]): void;
65
+ /**
66
+ * 创建子 Logger
67
+ */
68
+ child(name: string): Logger;
69
+ }
70
+ /**
71
+ * 配置全局日志
72
+ */
73
+ export declare function configureLogger(config: Partial<LoggerConfig>): void;
74
+ /**
75
+ * 设置日志级别
76
+ */
77
+ export declare function setLogLevel(level: LogLevel): void;
78
+ /**
79
+ * 默认 Logger 实例
80
+ */
81
+ export declare const logger: Logger;
82
+ /**
83
+ * 创建带名称的 Logger
84
+ */
85
+ export declare function createLogger(name: string): Logger;
86
+ /**
87
+ * 工具函数:计时日志
88
+ */
89
+ export declare function createTimer(logger: Logger, operation: string): () => void;
90
+ export {};
91
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,oBAAY,QAAQ;IAChB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;IACT,MAAM,IAAI;CACb;AAaD;;GAEG;AACH,UAAU,YAAY;IAClB,aAAa;IACb,KAAK,EAAE,QAAQ,CAAC;IAChB,cAAc;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS;IACT,MAAM,EAAE,MAAM,CAAC;CAClB;AAWD;;GAEG;AACH,qBAAa,MAAM;IACf,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAe;gBAE1B,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAKzD;;OAEG;IACH,OAAO,CAAC,MAAM;IAkCd;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAMhD;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/C;;OAEG;IACH,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAI9C;;OAEG;IACH,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAM/C;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI;IAMhD;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAI9B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAEnE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI,CAEjD;AAED;;GAEG;AACH,eAAO,MAAM,MAAM,QAAe,CAAC;AAEnC;;GAEG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,IAAI,CAQzE"}
@@ -0,0 +1,164 @@
1
+ /**
2
+ * MCP 日志模块
3
+ *
4
+ * 统一的日志接口,支持不同级别和格式化输出
5
+ * MCP 服务器通过 stderr 输出日志,避免污染 stdout
6
+ *
7
+ * @module core/logger
8
+ */
9
+ /**
10
+ * 日志级别
11
+ */
12
+ export var LogLevel;
13
+ (function (LogLevel) {
14
+ LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
15
+ LogLevel[LogLevel["INFO"] = 1] = "INFO";
16
+ LogLevel[LogLevel["WARN"] = 2] = "WARN";
17
+ LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
18
+ LogLevel[LogLevel["SILENT"] = 4] = "SILENT";
19
+ })(LogLevel || (LogLevel = {}));
20
+ /**
21
+ * 日志级别名称
22
+ */
23
+ const LOG_LEVEL_NAMES = {
24
+ [LogLevel.DEBUG]: 'DEBUG',
25
+ [LogLevel.INFO]: 'INFO',
26
+ [LogLevel.WARN]: 'WARN',
27
+ [LogLevel.ERROR]: 'ERROR',
28
+ [LogLevel.SILENT]: 'SILENT'
29
+ };
30
+ /**
31
+ * 全局日志配置
32
+ */
33
+ let globalConfig = {
34
+ level: process.env.DEBUG ? LogLevel.DEBUG : LogLevel.INFO,
35
+ timestamp: false,
36
+ prefix: '[MCP]'
37
+ };
38
+ /**
39
+ * Logger 类
40
+ */
41
+ export class Logger {
42
+ name;
43
+ config;
44
+ constructor(name, config) {
45
+ this.name = name || '';
46
+ this.config = { ...globalConfig, ...config };
47
+ }
48
+ /**
49
+ * 格式化日志消息
50
+ */
51
+ format(level, message, ...args) {
52
+ const parts = [];
53
+ if (this.config.timestamp) {
54
+ parts.push(new Date().toISOString());
55
+ }
56
+ parts.push(this.config.prefix);
57
+ if (this.name) {
58
+ parts.push(`[${this.name}]`);
59
+ }
60
+ parts.push(`[${LOG_LEVEL_NAMES[level]}]`);
61
+ parts.push(message);
62
+ // 处理额外参数
63
+ if (args.length > 0) {
64
+ const formatted = args.map(arg => {
65
+ if (typeof arg === 'object') {
66
+ try {
67
+ return JSON.stringify(arg, null, 2);
68
+ }
69
+ catch {
70
+ return String(arg);
71
+ }
72
+ }
73
+ return String(arg);
74
+ });
75
+ parts.push(...formatted);
76
+ }
77
+ return parts.join(' ');
78
+ }
79
+ /**
80
+ * 检查日志级别是否应该输出
81
+ */
82
+ shouldLog(level) {
83
+ return level >= this.config.level;
84
+ }
85
+ /**
86
+ * 调试日志
87
+ */
88
+ debug(message, ...args) {
89
+ if (this.shouldLog(LogLevel.DEBUG)) {
90
+ console.error(this.format(LogLevel.DEBUG, message, ...args));
91
+ }
92
+ }
93
+ /**
94
+ * 信息日志
95
+ */
96
+ info(message, ...args) {
97
+ if (this.shouldLog(LogLevel.INFO)) {
98
+ console.error(this.format(LogLevel.INFO, message, ...args));
99
+ }
100
+ }
101
+ /**
102
+ * 简化的 log 方法(等同于 info)
103
+ */
104
+ log(message, ...args) {
105
+ this.info(message, ...args);
106
+ }
107
+ /**
108
+ * 警告日志
109
+ */
110
+ warn(message, ...args) {
111
+ if (this.shouldLog(LogLevel.WARN)) {
112
+ console.error(this.format(LogLevel.WARN, message, ...args));
113
+ }
114
+ }
115
+ /**
116
+ * 错误日志
117
+ */
118
+ error(message, ...args) {
119
+ if (this.shouldLog(LogLevel.ERROR)) {
120
+ console.error(this.format(LogLevel.ERROR, message, ...args));
121
+ }
122
+ }
123
+ /**
124
+ * 创建子 Logger
125
+ */
126
+ child(name) {
127
+ const childName = this.name ? `${this.name}:${name}` : name;
128
+ return new Logger(childName, this.config);
129
+ }
130
+ }
131
+ /**
132
+ * 配置全局日志
133
+ */
134
+ export function configureLogger(config) {
135
+ globalConfig = { ...globalConfig, ...config };
136
+ }
137
+ /**
138
+ * 设置日志级别
139
+ */
140
+ export function setLogLevel(level) {
141
+ globalConfig.level = level;
142
+ }
143
+ /**
144
+ * 默认 Logger 实例
145
+ */
146
+ export const logger = new Logger();
147
+ /**
148
+ * 创建带名称的 Logger
149
+ */
150
+ export function createLogger(name) {
151
+ return new Logger(name);
152
+ }
153
+ /**
154
+ * 工具函数:计时日志
155
+ */
156
+ export function createTimer(logger, operation) {
157
+ const start = Date.now();
158
+ logger.debug(`开始: ${operation}`);
159
+ return () => {
160
+ const duration = Date.now() - start;
161
+ logger.debug(`完成: ${operation} (${duration}ms)`);
162
+ };
163
+ }
164
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 映射模块入口
3
+ */
4
+ export * from './scenarioMappings.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/mappings/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * 映射模块入口
3
+ */
4
+ export * from './scenarioMappings.js';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/mappings/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * 场景-规范映射表
3
+ *
4
+ * 这是一个简单的映射关系,供 AI 快速查询使用
5
+ * MCP 只提供这些映射信息,具体选择由 AI 决定
6
+ *
7
+ * @module core/mappings/scenarioMappings
8
+ */
9
+ /**
10
+ * 场景到规范的映射
11
+ *
12
+ * AI 可以直接查询这个映射来获取建议的规范列表
13
+ * 最终使用哪些规范由 AI 自己决定
14
+ */
15
+ export declare const SCENARIO_STANDARDS: Record<string, string[]>;
16
+ /**
17
+ * 文件类型到规范的映射
18
+ */
19
+ export declare const FILETYPE_STANDARDS: Record<string, string[]>;
20
+ /**
21
+ * 导入包到规范的映射
22
+ */
23
+ export declare const IMPORT_STANDARDS: Record<string, string[]>;
24
+ /**
25
+ * 获取场景对应的规范列表
26
+ */
27
+ export declare function getStandardsForScenario(scenario: string): string[];
28
+ /**
29
+ * 获取文件类型对应的规范列表
30
+ */
31
+ export declare function getStandardsForFileType(fileType: string): string[];
32
+ /**
33
+ * 获取导入包对应的规范列表
34
+ */
35
+ export declare function getStandardsForImport(importName: string): string[];
36
+ /**
37
+ * 获取所有可用的场景列表
38
+ */
39
+ export declare function listAvailableScenarios(): string[];
40
+ /**
41
+ * 查询规范建议(简单版)
42
+ *
43
+ * 这个函数只是汇总各种来源的规范建议,去重后返回
44
+ * AI 可以参考这些建议,但最终决定权在 AI
45
+ */
46
+ export declare function suggestStandards(options: {
47
+ scenario?: string;
48
+ fileType?: string;
49
+ imports?: string[];
50
+ }): string[];
51
+ //# sourceMappingURL=scenarioMappings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenarioMappings.d.ts","sourceRoot":"","sources":["../../../src/core/mappings/scenarioMappings.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAsBvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAKvD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAQrD,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAElE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAElE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAOlE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,EAAE,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB,GAAG,MAAM,EAAE,CAmBX"}
@@ -0,0 +1,105 @@
1
+ /**
2
+ * 场景-规范映射表
3
+ *
4
+ * 这是一个简单的映射关系,供 AI 快速查询使用
5
+ * MCP 只提供这些映射信息,具体选择由 AI 决定
6
+ *
7
+ * @module core/mappings/scenarioMappings
8
+ */
9
+ /**
10
+ * 场景到规范的映射
11
+ *
12
+ * AI 可以直接查询这个映射来获取建议的规范列表
13
+ * 最终使用哪些规范由 AI 自己决定
14
+ */
15
+ export const SCENARIO_STANDARDS = {
16
+ // ========== Vue 相关场景 ==========
17
+ 'vue3-component': ['vue3-composition', 'typescript-strict'],
18
+ 'vue3-form': ['vue3-composition', 'element-plus', 'form-validation'],
19
+ 'vue3-table': ['vue3-composition', 'element-plus', 'pagination'],
20
+ 'pinia-store': ['pinia-store', 'typescript-strict'],
21
+ 'composable': ['vue3-composition', 'composable-patterns'],
22
+ // ========== API 相关 ==========
23
+ 'api-call': ['axios-interceptor', 'error-handling', 'typescript-strict'],
24
+ 'api-design': ['api-design', 'restful-patterns'],
25
+ // ========== 国际化 ==========
26
+ 'i18n': ['i18n', 'vue-i18n'],
27
+ // ========== 测试 ==========
28
+ 'unit-test': ['vitest-guide', 'testing-patterns'],
29
+ // ========== 特殊场景 ==========
30
+ 'logicflow': ['logicflow', 'vue3-composition'],
31
+ 'permission': ['permission-design', 'route-guard'],
32
+ 'performance': ['performance-optimization', 'lazy-loading']
33
+ };
34
+ /**
35
+ * 文件类型到规范的映射
36
+ */
37
+ export const FILETYPE_STANDARDS = {
38
+ 'vue': ['vue3-composition'],
39
+ 'ts': ['typescript-strict'],
40
+ 'tsx': ['react-hooks', 'typescript-strict'],
41
+ 'dart': ['dart-style', 'flutter-bloc']
42
+ };
43
+ /**
44
+ * 导入包到规范的映射
45
+ */
46
+ export const IMPORT_STANDARDS = {
47
+ 'vue': ['vue3-composition'],
48
+ 'element-plus': ['element-plus'],
49
+ 'pinia': ['pinia-store'],
50
+ 'axios': ['axios-interceptor'],
51
+ 'vue-i18n': ['i18n'],
52
+ '@logicflow/core': ['logicflow'],
53
+ 'vitest': ['vitest-guide']
54
+ };
55
+ /**
56
+ * 获取场景对应的规范列表
57
+ */
58
+ export function getStandardsForScenario(scenario) {
59
+ return SCENARIO_STANDARDS[scenario] || [];
60
+ }
61
+ /**
62
+ * 获取文件类型对应的规范列表
63
+ */
64
+ export function getStandardsForFileType(fileType) {
65
+ return FILETYPE_STANDARDS[fileType] || [];
66
+ }
67
+ /**
68
+ * 获取导入包对应的规范列表
69
+ */
70
+ export function getStandardsForImport(importName) {
71
+ // 处理带路径的导入,如 '@logicflow/core' -> '@logicflow/core'
72
+ const normalizedImport = importName.startsWith('@')
73
+ ? importName.split('/').slice(0, 2).join('/')
74
+ : importName.split('/')[0];
75
+ return IMPORT_STANDARDS[normalizedImport] || [];
76
+ }
77
+ /**
78
+ * 获取所有可用的场景列表
79
+ */
80
+ export function listAvailableScenarios() {
81
+ return Object.keys(SCENARIO_STANDARDS);
82
+ }
83
+ /**
84
+ * 查询规范建议(简单版)
85
+ *
86
+ * 这个函数只是汇总各种来源的规范建议,去重后返回
87
+ * AI 可以参考这些建议,但最终决定权在 AI
88
+ */
89
+ export function suggestStandards(options) {
90
+ const suggestions = [];
91
+ if (options.scenario) {
92
+ suggestions.push(...getStandardsForScenario(options.scenario));
93
+ }
94
+ if (options.fileType) {
95
+ suggestions.push(...getStandardsForFileType(options.fileType));
96
+ }
97
+ if (options.imports) {
98
+ for (const imp of options.imports) {
99
+ suggestions.push(...getStandardsForImport(imp));
100
+ }
101
+ }
102
+ // 去重
103
+ return [...new Set(suggestions)];
104
+ }
105
+ //# sourceMappingURL=scenarioMappings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scenarioMappings.js","sourceRoot":"","sources":["../../../src/core/mappings/scenarioMappings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 匹配模块入口
3
+ *
4
+ * 设计理念:MCP 只提供映射信息,不做复杂匹配
5
+ * 复杂的意图分析和权重计算由 AI 自己完成
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/matching/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EAAE,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * 匹配模块入口
3
+ *
4
+ * 设计理念:MCP 只提供映射信息,不做复杂匹配
5
+ * 复杂的意图分析和权重计算由 AI 自己完成
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/matching/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,78 @@
1
+ /**
2
+ * 意图分析器
3
+ *
4
+ * 分析用户意图,提取关键信息用于精准匹配规范
5
+ *
6
+ * @module core/matching/intentAnalyzer
7
+ */
8
+ /**
9
+ * 意图类型
10
+ */
11
+ export type IntentType = 'create' | 'modify' | 'fix' | 'refactor' | 'optimize' | 'test' | 'document' | 'style' | 'query' | 'unknown';
12
+ /**
13
+ * 意图分析结果
14
+ */
15
+ export interface IntentAnalysis {
16
+ /** 主要意图类型 */
17
+ type: IntentType;
18
+ /** 置信度 (0-1) */
19
+ confidence: number;
20
+ /** 目标对象 */
21
+ target: {
22
+ /** 目标类型(组件、页面、API、样式等) */
23
+ type: string;
24
+ /** 目标名称 */
25
+ name?: string;
26
+ };
27
+ /** 提取的关键词 */
28
+ keywords: string[];
29
+ /** 涉及的技术 */
30
+ technologies: string[];
31
+ /** 相关场景 */
32
+ scenarios: string[];
33
+ }
34
+ /**
35
+ * 意图分析器
36
+ */
37
+ export declare class IntentAnalyzer {
38
+ /**
39
+ * 分析用户意图
40
+ */
41
+ analyze(userIntent: string, context?: {
42
+ currentFile?: string;
43
+ fileContent?: string;
44
+ }): IntentAnalysis;
45
+ /**
46
+ * 分析意图类型
47
+ */
48
+ private analyzeIntentType;
49
+ /**
50
+ * 分析目标对象
51
+ */
52
+ private analyzeTarget;
53
+ /**
54
+ * 提取目标名称
55
+ */
56
+ private extractTargetName;
57
+ /**
58
+ * 提取技术关键词
59
+ */
60
+ private extractTechnologies;
61
+ /**
62
+ * 提取场景
63
+ */
64
+ private extractScenarios;
65
+ /**
66
+ * 提取通用关键词
67
+ */
68
+ private extractKeywords;
69
+ /**
70
+ * 获取推荐的规范类型
71
+ */
72
+ getRecommendedStandardTypes(analysis: IntentAnalysis): string[];
73
+ }
74
+ /**
75
+ * 获取默认意图分析器
76
+ */
77
+ export declare function getDefaultIntentAnalyzer(): IntentAnalyzer;
78
+ //# sourceMappingURL=intentAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"intentAnalyzer.d.ts","sourceRoot":"","sources":["../../../src/core/matching/intentAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH;;GAEG;AACH,MAAM,MAAM,UAAU,GAChB,QAAQ,GACR,QAAQ,GACR,KAAK,GACL,UAAU,GACV,UAAU,GACV,MAAM,GACN,UAAU,GACV,OAAO,GACP,OAAO,GACP,SAAS,CAAC;AAEhB;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,aAAa;IACb,IAAI,EAAE,UAAU,CAAC;IACjB,gBAAgB;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW;IACX,MAAM,EAAE;QACJ,0BAA0B;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,WAAW;QACX,IAAI,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,aAAa;IACb,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,YAAY;IACZ,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,WAAW;IACX,SAAS,EAAE,MAAM,EAAE,CAAC;CACvB;AAgED;;GAEG;AACH,qBAAa,cAAc;IACvB;;OAEG;IACH,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAClC,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,WAAW,CAAC,EAAE,MAAM,CAAC;KACxB,GAAG,cAAc;IA4BlB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAkBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAuBrB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA0BzB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAkBxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAYvB;;OAEG;IACH,2BAA2B,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,EAAE;CA8ClE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,cAAc,CAEzD"}