mta-mcp 2.2.0 → 2.3.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 (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,289 +0,0 @@
1
- /**
2
- * 按 ID 获取规范工具
3
- *
4
- * 设计理念:AI 已经知道需要什么规范,直接按 ID 获取
5
- * 这是最简洁高效的方式,不做任何"智能"匹配
6
- *
7
- * @module tools/getStandardById
8
- */
9
- import * as fs from 'fs';
10
- import * as path from 'path';
11
- import { ConsoleLogger } from '../core/types.js';
12
- /**
13
- * 规范目录结构
14
- */
15
- const STANDARD_DIRS = [
16
- 'standards/core',
17
- 'standards/frameworks',
18
- 'standards/libraries',
19
- 'standards/patterns',
20
- 'standards/workflows'
21
- ];
22
- /**
23
- * 规范 ID 到文件路径的映射(缓存)
24
- */
25
- let standardsCache = null;
26
- /**
27
- * 按 ID 获取规范
28
- *
29
- * @example
30
- * // AI 直接调用
31
- * get_standard_by_id({ id: 'vue3-composition', mode: 'key-rules' })
32
- *
33
- * @example
34
- * // 获取多个规范
35
- * get_standard_by_id({ ids: ['vue3-composition', 'element-plus'], mode: 'summary' })
36
- */
37
- export async function getStandardById(args) {
38
- const logger = new ConsoleLogger();
39
- const mode = args.mode || 'key-rules';
40
- try {
41
- // 获取要加载的 ID 列表
42
- const idsToLoad = args.ids || (args.id ? [args.id] : []);
43
- if (idsToLoad.length === 0) {
44
- return {
45
- content: [{
46
- type: 'text',
47
- text: JSON.stringify({
48
- error: '请提供 id 或 ids 参数',
49
- availableIds: listAvailableStandards()
50
- }, null, 2)
51
- }]
52
- };
53
- }
54
- // 确保缓存已加载
55
- ensureCache();
56
- // 加载规范
57
- const results = [];
58
- for (const id of idsToLoad) {
59
- const filePath = standardsCache.get(id);
60
- if (!filePath) {
61
- results.push({
62
- id,
63
- found: false,
64
- error: `规范 "${id}" 不存在`
65
- });
66
- continue;
67
- }
68
- try {
69
- const fullContent = fs.readFileSync(filePath, 'utf-8');
70
- const content = formatContent(fullContent, mode);
71
- results.push({
72
- id,
73
- found: true,
74
- content
75
- });
76
- }
77
- catch (error) {
78
- results.push({
79
- id,
80
- found: false,
81
- error: `读取失败: ${error}`
82
- });
83
- }
84
- }
85
- // 统计
86
- const successCount = results.filter(r => r.found).length;
87
- const totalLength = results.reduce((sum, r) => sum + (r.content?.length || 0), 0);
88
- return {
89
- content: [{
90
- type: 'text',
91
- text: JSON.stringify({
92
- success: true,
93
- mode,
94
- stats: {
95
- requested: idsToLoad.length,
96
- found: successCount,
97
- totalChars: totalLength,
98
- estimatedTokens: Math.ceil(totalLength / 4)
99
- },
100
- standards: results
101
- }, null, 2)
102
- }]
103
- };
104
- }
105
- catch (error) {
106
- logger.error(`获取规范失败: ${error}`);
107
- return {
108
- content: [{
109
- type: 'text',
110
- text: JSON.stringify({
111
- error: error instanceof Error ? error.message : String(error)
112
- }, null, 2)
113
- }]
114
- };
115
- }
116
- }
117
- /**
118
- * 列出所有可用的规范
119
- */
120
- export function listAvailableStandards() {
121
- ensureCache();
122
- return Array.from(standardsCache.keys());
123
- }
124
- /**
125
- * 确保缓存已加载
126
- */
127
- function ensureCache() {
128
- if (standardsCache)
129
- return;
130
- standardsCache = new Map();
131
- const baseDir = findBaseDir();
132
- for (const dir of STANDARD_DIRS) {
133
- const fullDir = path.join(baseDir, dir);
134
- if (!fs.existsSync(fullDir))
135
- continue;
136
- scanDirectory(fullDir, standardsCache);
137
- }
138
- }
139
- /**
140
- * 查找基础目录
141
- */
142
- function findBaseDir() {
143
- // 尝试多个可能的位置
144
- const possiblePaths = [
145
- process.cwd(),
146
- path.join(process.cwd(), '..'),
147
- path.join(__dirname, '..', '..', '..')
148
- ];
149
- for (const p of possiblePaths) {
150
- if (fs.existsSync(path.join(p, 'standards'))) {
151
- return p;
152
- }
153
- }
154
- return process.cwd();
155
- }
156
- /**
157
- * 扫描目录
158
- */
159
- function scanDirectory(dir, cache) {
160
- const items = fs.readdirSync(dir);
161
- for (const item of items) {
162
- const fullPath = path.join(dir, item);
163
- const stat = fs.statSync(fullPath);
164
- if (stat.isDirectory()) {
165
- scanDirectory(fullPath, cache);
166
- }
167
- else if (item.endsWith('.md')) {
168
- // 使用文件名(不含扩展名)作为 ID
169
- const id = path.basename(item, '.md');
170
- cache.set(id, fullPath);
171
- }
172
- }
173
- }
174
- /**
175
- * 根据模式格式化内容
176
- */
177
- function formatContent(content, mode) {
178
- switch (mode) {
179
- case 'summary':
180
- return extractSummary(content);
181
- case 'key-rules':
182
- return extractKeyRules(content);
183
- case 'full':
184
- return content;
185
- default:
186
- return content;
187
- }
188
- }
189
- /**
190
- * 提取摘要(约 200-500 字符)
191
- */
192
- function extractSummary(content) {
193
- const lines = content.split('\n');
194
- const summaryLines = [];
195
- // 提取标题
196
- const titleMatch = content.match(/^#\s+(.+)$/m);
197
- if (titleMatch) {
198
- summaryLines.push(`# ${titleMatch[1]}`);
199
- }
200
- // 提取描述(第一个非空、非标题段落)
201
- let foundDescription = false;
202
- for (const line of lines) {
203
- if (line.startsWith('#') || line.trim() === '')
204
- continue;
205
- if (line.startsWith('>')) {
206
- summaryLines.push(line);
207
- foundDescription = true;
208
- break;
209
- }
210
- if (line.startsWith('-') || line.startsWith('*'))
211
- continue;
212
- summaryLines.push(line);
213
- foundDescription = true;
214
- break;
215
- }
216
- // 提取主要章节标题
217
- const sectionHeaders = lines.filter(l => l.match(/^##\s+/)).slice(0, 5);
218
- if (sectionHeaders.length > 0) {
219
- summaryLines.push('\n**主要章节**:');
220
- summaryLines.push(...sectionHeaders.map(h => `- ${h.replace(/^##\s+/, '')}`));
221
- }
222
- return summaryLines.join('\n');
223
- }
224
- /**
225
- * 提取关键规则(约 1000-3000 字符)
226
- */
227
- function extractKeyRules(content) {
228
- const lines = content.split('\n');
229
- const keyRulesLines = [];
230
- // 提取标题
231
- const titleMatch = content.match(/^#\s+(.+)$/m);
232
- if (titleMatch) {
233
- keyRulesLines.push(`# ${titleMatch[1]}`);
234
- }
235
- // 寻找关键规则相关的章节
236
- const keyPatterns = [
237
- /强制|必须|禁止|规则|核心|关键|重要/,
238
- /MUST|REQUIRED|SHOULD|必选|核心原则/,
239
- /✅|❌|⚠️/
240
- ];
241
- let inKeySection = false;
242
- let sectionDepth = 0;
243
- let lineCount = 0;
244
- const maxLines = 80;
245
- for (const line of lines) {
246
- // 检测章节开始
247
- const headerMatch = line.match(/^(#{2,3})\s+(.+)$/);
248
- if (headerMatch) {
249
- const depth = headerMatch[1].length;
250
- const title = headerMatch[2];
251
- // 判断是否是关键章节
252
- inKeySection = keyPatterns.some(p => p.test(title));
253
- sectionDepth = depth;
254
- if (inKeySection) {
255
- keyRulesLines.push('');
256
- keyRulesLines.push(line);
257
- lineCount++;
258
- }
259
- continue;
260
- }
261
- // 在关键章节内收集内容
262
- if (inKeySection && lineCount < maxLines) {
263
- // 遇到同级或更高级标题时结束
264
- if (line.match(/^#{2}\s+/) && sectionDepth >= 2) {
265
- inKeySection = false;
266
- continue;
267
- }
268
- keyRulesLines.push(line);
269
- lineCount++;
270
- }
271
- // 收集带特殊标记的行(即使不在关键章节)
272
- if (!inKeySection && lineCount < maxLines) {
273
- if (line.includes('✅') || line.includes('❌') || line.includes('⚠️')) {
274
- keyRulesLines.push(line);
275
- lineCount++;
276
- }
277
- }
278
- }
279
- // 如果关键规则太少,添加代码示例
280
- if (keyRulesLines.length < 20) {
281
- const codeBlockMatch = content.match(/```[\s\S]{50,500}?```/);
282
- if (codeBlockMatch) {
283
- keyRulesLines.push('\n**示例**:');
284
- keyRulesLines.push(codeBlockMatch[0]);
285
- }
286
- }
287
- return keyRulesLines.join('\n').trim() || extractSummary(content);
288
- }
289
- //# sourceMappingURL=getStandardById.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getStandardById.js","sourceRoot":"","sources":["../../src/tools/getStandardById.ts"],"names":[],"mappings":"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"}
@@ -1,37 +0,0 @@
1
- /**
2
- * 获取模板工具
3
- *
4
- * 设计理念:提供模板内容给 AI,AI 自己决定如何使用和修改
5
- * 不做复杂的渲染逻辑,让 AI 发挥其强大的代码理解和修改能力
6
- *
7
- * @module tools/getTemplate
8
- */
9
- /**
10
- * 获取模板
11
- *
12
- * @example
13
- * // 获取模板配置说明(不含文件内容,节省 token)
14
- * get_template({ id: 'vue/api-layer' })
15
- *
16
- * @example
17
- * // 获取完整模板(含所有文件内容)
18
- * get_template({ id: 'vue/api-layer', includeFiles: true })
19
- *
20
- * @example
21
- * // 获取特定文件
22
- * get_template({ id: 'vue/api-layer', files: ['request.ts', 'types.ts'] })
23
- */
24
- export declare function getTemplate(args: {
25
- /** 模板 ID */
26
- id: string;
27
- /** 是否包含文件内容(默认 false,只返回配置说明) */
28
- includeFiles?: boolean;
29
- /** 指定要获取的文件列表(可选,不填则获取全部) */
30
- files?: string[];
31
- }): Promise<{
32
- content: Array<{
33
- type: string;
34
- text: string;
35
- }>;
36
- }>;
37
- //# sourceMappingURL=getTemplate.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTemplate.d.ts","sourceRoot":"","sources":["../../src/tools/getTemplate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACpC,YAAY;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,iCAAiC;IACjC,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB,GAAG,OAAO,CAAC;IACR,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD,CAAC,CA2DD"}
@@ -1,78 +0,0 @@
1
- /**
2
- * 获取模板工具
3
- *
4
- * 设计理念:提供模板内容给 AI,AI 自己决定如何使用和修改
5
- * 不做复杂的渲染逻辑,让 AI 发挥其强大的代码理解和修改能力
6
- *
7
- * @module tools/getTemplate
8
- */
9
- import { getTemplateById, getTemplateDir } from '../core/templates/discovery.js';
10
- import { ConsoleLogger } from '../core/types.js';
11
- /**
12
- * 获取模板
13
- *
14
- * @example
15
- * // 获取模板配置说明(不含文件内容,节省 token)
16
- * get_template({ id: 'vue/api-layer' })
17
- *
18
- * @example
19
- * // 获取完整模板(含所有文件内容)
20
- * get_template({ id: 'vue/api-layer', includeFiles: true })
21
- *
22
- * @example
23
- * // 获取特定文件
24
- * get_template({ id: 'vue/api-layer', files: ['request.ts', 'types.ts'] })
25
- */
26
- export async function getTemplate(args) {
27
- const logger = new ConsoleLogger();
28
- try {
29
- const result = getTemplateById(args.id, args.includeFiles ?? false);
30
- if (!result) {
31
- return {
32
- content: [{
33
- type: 'text',
34
- text: JSON.stringify({
35
- error: `模板 "${args.id}" 不存在`,
36
- hint: '使用 list_templates 查看可用模板'
37
- }, null, 2)
38
- }]
39
- };
40
- }
41
- // 如果指定了特定文件,过滤文件列表
42
- if (args.files && result.files) {
43
- result.files = result.files.filter(f => args.files.some(requested => f.path === requested || f.path.endsWith(requested)));
44
- }
45
- // 获取模板目录路径(方便 AI 直接操作)
46
- const templateDir = getTemplateDir(args.id);
47
- return {
48
- content: [{
49
- type: 'text',
50
- text: JSON.stringify({
51
- success: true,
52
- template: {
53
- ...result,
54
- absolutePath: templateDir
55
- },
56
- aiGuidance: {
57
- step1: '阅读 configGuide 了解配置要求',
58
- step2: '根据目标项目情况决定如何修改模板',
59
- step3: '将文件复制到目标项目并适配',
60
- note: '模板文件可能需要根据项目实际情况调整(如 UI 框架、后端响应格式等)'
61
- }
62
- }, null, 2)
63
- }]
64
- };
65
- }
66
- catch (error) {
67
- logger.error(`获取模板失败: ${error}`);
68
- return {
69
- content: [{
70
- type: 'text',
71
- text: JSON.stringify({
72
- error: error instanceof Error ? error.message : String(error)
73
- }, null, 2)
74
- }]
75
- };
76
- }
77
- }
78
- //# sourceMappingURL=getTemplate.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"getTemplate.js","sourceRoot":"","sources":["../../src/tools/getTemplate.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EACH,eAAe,EACf,cAAc,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAOjC;IAGG,MAAM,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,eAAe,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,YAAY,IAAI,KAAK,CAAC,CAAC;QAEpE,IAAI,CAAC,MAAM,EAAE,CAAC;YACV,OAAO;gBACH,OAAO,EAAE,CAAC;wBACN,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACjB,KAAK,EAAE,OAAO,IAAI,CAAC,EAAE,OAAO;4BAC5B,IAAI,EAAE,0BAA0B;yBACnC,EAAE,IAAI,EAAE,CAAC,CAAC;qBACd,CAAC;aACL,CAAC;QACN,CAAC;QAED,mBAAmB;QACnB,IAAI,IAAI,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CACnC,IAAI,CAAC,KAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CACzB,CAAC,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CACrD,CACJ,CAAC;QACN,CAAC;QAED,uBAAuB;QACvB,MAAM,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAE5C,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACjB,OAAO,EAAE,IAAI;wBACb,QAAQ,EAAE;4BACN,GAAG,MAAM;4BACT,YAAY,EAAE,WAAW;yBAC5B;wBACD,UAAU,EAAE;4BACR,KAAK,EAAE,uBAAuB;4BAC9B,KAAK,EAAE,kBAAkB;4BACzB,KAAK,EAAE,eAAe;4BACtB,IAAI,EAAE,qCAAqC;yBAC9C;qBACJ,EAAE,IAAI,EAAE,CAAC,CAAC;iBACd,CAAC;SACL,CAAC;IACN,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,MAAM,CAAC,KAAK,CAAC,WAAW,KAAK,EAAE,CAAC,CAAC;QACjC,OAAO;YACH,OAAO,EAAE,CAAC;oBACN,IAAI,EAAE,MAAM;oBACZ,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;wBACjB,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;qBAChE,EAAE,IAAI,EAAE,CAAC,CAAC;iBACd,CAAC;SACL,CAAC;IACN,CAAC;AACL,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * 健康检查工具
3
- * 诊断 MCP 服务器配置和运行状态
4
- */
5
- export declare function healthCheck(args: {
6
- workspacePath?: string;
7
- verbose?: boolean;
8
- }): Promise<{
9
- content: Array<{
10
- type: string;
11
- text: string;
12
- }>;
13
- }>;
14
- //# sourceMappingURL=healthCheck.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"healthCheck.d.ts","sourceRoot":"","sources":["../../src/tools/healthCheck.ts"],"names":[],"mappings":"AASA;;;GAGG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE;IACpC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB,GAAG,OAAO,CAAC;IACR,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAClD,CAAC,CAqND"}