flex-mcp 1.0.4 → 1.1.4
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.
- package/dist/api/configs.js +251 -30
- package/dist/api/configs.js.map +1 -1
- package/dist/mcp/aggregator.d.ts.map +1 -1
- package/dist/mcp/aggregator.js +43 -13
- package/dist/mcp/aggregator.js.map +1 -1
- package/dist/mcp/post-sse-transport.d.ts +4 -0
- package/dist/mcp/post-sse-transport.d.ts.map +1 -1
- package/dist/mcp/post-sse-transport.js +118 -5
- package/dist/mcp/post-sse-transport.js.map +1 -1
- package/dist/mcp/tool-sync.d.ts.map +1 -1
- package/dist/mcp/tool-sync.js +12 -14
- package/dist/mcp/tool-sync.js.map +1 -1
- package/dist/web/assets/{Blank-BerVeAls.js → Blank-2vpGi200.js} +1 -1
- package/dist/web/assets/{Configs-BZ4p1nld.js → Configs-4PrDyfwx.js} +1 -1
- package/dist/web/assets/Dashboard-D8vYINT3.js +30 -0
- package/dist/web/assets/InitScriptEditor-RtEtxdk9.js +679 -0
- package/dist/web/assets/{Layout-Br6VMRob.js → Layout-C5VF6KaE.js} +1 -1
- package/dist/web/assets/{Layout-SLPXm-dk.js → Layout-CYzaFG4l.js} +1 -1
- package/dist/web/assets/{Login-Cn9EfrvS.js → Login-DEm7Yc0V.js} +1 -1
- package/dist/web/assets/{Login-Cm10QZJ1.js → Login-uQx8mYT4.js} +1 -1
- package/dist/web/assets/{Users-Dj8FIlX1.js → Users-zZdxWL7h.js} +1 -1
- package/dist/web/assets/{index-Dy8wTpRZ.js → index-NmCbGUEa.js} +2 -2
- package/dist/web/assets/style-hUGligFl.css +1 -0
- package/dist/web/index.html +2 -2
- package/package.json +1 -1
- package/dist/api/resources.d.ts +0 -6
- package/dist/api/resources.d.ts.map +0 -1
- package/dist/api/resources.js +0 -159
- package/dist/api/resources.js.map +0 -1
- package/dist/web/assets/Dashboard-DVSQDspm.js +0 -27
- package/dist/web/assets/InitScriptEditor-DlF0Jn7f.js +0 -679
- package/dist/web/assets/style-0VyF1s_q.css +0 -1
package/dist/api/configs.js
CHANGED
|
@@ -5,10 +5,10 @@ import { Hono } from 'hono';
|
|
|
5
5
|
import { authMiddleware, requireAdmin, getCurrentUserId, getCurrentUserRole } from './middleware.js';
|
|
6
6
|
import { db } from '../db/index.js';
|
|
7
7
|
import { mcpConfigs, mcpComponentTools } from '../db/schema.js';
|
|
8
|
-
import { eq, and } from 'drizzle-orm';
|
|
8
|
+
import { eq, and, inArray } from 'drizzle-orm';
|
|
9
9
|
import { generateId } from '../utils/id.js';
|
|
10
10
|
import { mcpService } from '../mcp/service.js';
|
|
11
|
-
import { syncComponentTools } from '../mcp/tool-sync.js';
|
|
11
|
+
import { syncComponentTools, loadComponentToolsList } from '../mcp/tool-sync.js';
|
|
12
12
|
export const configRouter = new Hono();
|
|
13
13
|
/**
|
|
14
14
|
* 将数据库行转换为 MCPConfig 对象
|
|
@@ -143,21 +143,56 @@ configRouter.put('/me', async (c) => {
|
|
|
143
143
|
}
|
|
144
144
|
const configId = result[0].id;
|
|
145
145
|
// 更新配置(如果是admin,排除variables字段)
|
|
146
|
+
// 注意:只有当字段明确提供时才更新,避免覆盖未传递的字段
|
|
146
147
|
const updateData = {
|
|
147
|
-
name: body.name,
|
|
148
|
-
components: body.components ? JSON.stringify(body.components) : undefined,
|
|
149
|
-
customTools: body.customTools ? JSON.stringify(body.customTools) : undefined,
|
|
150
|
-
initScript: body.initScript || null,
|
|
151
148
|
updatedAt: new Date(),
|
|
152
149
|
};
|
|
150
|
+
// 只有当字段明确提供时才更新
|
|
151
|
+
if (body.name !== undefined) {
|
|
152
|
+
updateData.name = body.name;
|
|
153
|
+
}
|
|
154
|
+
if (body.components !== undefined) {
|
|
155
|
+
updateData.components = body.components ? JSON.stringify(body.components) : undefined;
|
|
156
|
+
}
|
|
157
|
+
if (body.customTools !== undefined) {
|
|
158
|
+
updateData.customTools = body.customTools ? JSON.stringify(body.customTools) : undefined;
|
|
159
|
+
}
|
|
160
|
+
// initScript 字段:如果明确传递了(包括 null 或空字符串),才更新
|
|
161
|
+
// 如果未传递(undefined),则保持原值不变
|
|
162
|
+
if ('initScript' in body) {
|
|
163
|
+
updateData.initScript = body.initScript || null;
|
|
164
|
+
}
|
|
153
165
|
// 只有非admin用户才能更新variables
|
|
154
|
-
if (currentRole !== 'admin') {
|
|
166
|
+
if (currentRole !== 'admin' && body.variables !== undefined) {
|
|
155
167
|
updateData.variables = body.variables ? JSON.stringify(body.variables) : undefined;
|
|
156
168
|
}
|
|
157
169
|
// 更新 enableExploreTable 字段(如果提供)
|
|
158
170
|
if (body.enableExploreTable !== undefined) {
|
|
159
171
|
updateData.enableExploreTable = body.enableExploreTable ? 1 : 0;
|
|
160
172
|
}
|
|
173
|
+
// 如果更新了 components,清理已移除组件的工具记录
|
|
174
|
+
if (body.components !== undefined) {
|
|
175
|
+
try {
|
|
176
|
+
// 获取更新前的配置,找出被移除的组件
|
|
177
|
+
const oldConfig = rowToConfig(result[0]);
|
|
178
|
+
const oldComponentIds = new Set(oldConfig.components.map(c => c.id));
|
|
179
|
+
const newComponentIds = new Set(body.components.map((c) => c.id));
|
|
180
|
+
// 找出被移除的组件 ID
|
|
181
|
+
const removedComponentIds = Array.from(oldComponentIds).filter(id => !newComponentIds.has(id));
|
|
182
|
+
if (removedComponentIds.length > 0) {
|
|
183
|
+
console.log(`[Config] Cleaning up tools for removed components: ${removedComponentIds.join(', ')}`);
|
|
184
|
+
// 删除已移除组件的工具记录
|
|
185
|
+
await db
|
|
186
|
+
.delete(mcpComponentTools)
|
|
187
|
+
.where(and(eq(mcpComponentTools.configId, configId), inArray(mcpComponentTools.componentId, removedComponentIds)));
|
|
188
|
+
console.log(`[Config] Cleaned up tools for ${removedComponentIds.length} removed components`);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
catch (error) {
|
|
192
|
+
console.error(`[Config] Failed to cleanup tools for removed components:`, error.message || error);
|
|
193
|
+
// 继续执行,不抛出错误
|
|
194
|
+
}
|
|
195
|
+
}
|
|
161
196
|
await db
|
|
162
197
|
.update(mcpConfigs)
|
|
163
198
|
.set(updateData)
|
|
@@ -209,17 +244,34 @@ configRouter.put('/user/:userId', requireAdmin(), async (c) => {
|
|
|
209
244
|
const configId = result[0].id;
|
|
210
245
|
// 管理员不允许修改用户的 variables,移除该字段
|
|
211
246
|
const { ...updateData } = body;
|
|
247
|
+
// 构建更新对象,只包含明确提供的字段
|
|
248
|
+
// 注意:只有当字段明确提供时才更新,避免覆盖未传递的字段
|
|
249
|
+
const updateFields = {
|
|
250
|
+
updatedAt: new Date(),
|
|
251
|
+
};
|
|
252
|
+
// 只有当字段明确提供时才更新
|
|
253
|
+
if (updateData.name !== undefined) {
|
|
254
|
+
updateFields.name = updateData.name;
|
|
255
|
+
}
|
|
256
|
+
if (updateData.components !== undefined) {
|
|
257
|
+
updateFields.components = updateData.components ? JSON.stringify(updateData.components) : undefined;
|
|
258
|
+
}
|
|
259
|
+
if (updateData.customTools !== undefined) {
|
|
260
|
+
updateFields.customTools = updateData.customTools ? JSON.stringify(updateData.customTools) : undefined;
|
|
261
|
+
}
|
|
262
|
+
// initScript 字段:如果明确传递了(包括 null 或空字符串),才更新
|
|
263
|
+
// 如果未传递(undefined),则保持原值不变
|
|
264
|
+
if ('initScript' in updateData) {
|
|
265
|
+
updateFields.initScript = updateData.initScript || null;
|
|
266
|
+
}
|
|
267
|
+
// 只有当 enableExploreTable 有值时才添加
|
|
268
|
+
// 使用 boolean 值,Drizzle 会自动转换为 1/0
|
|
269
|
+
if (updateData.enableExploreTable !== undefined) {
|
|
270
|
+
updateFields.enableExploreTable = updateData.enableExploreTable;
|
|
271
|
+
}
|
|
212
272
|
await db
|
|
213
273
|
.update(mcpConfigs)
|
|
214
|
-
.set(
|
|
215
|
-
name: updateData.name,
|
|
216
|
-
components: updateData.components ? JSON.stringify(updateData.components) : undefined,
|
|
217
|
-
customTools: updateData.customTools ? JSON.stringify(updateData.customTools) : undefined,
|
|
218
|
-
// variables 字段被忽略,管理员无法修改
|
|
219
|
-
initScript: updateData.initScript || null,
|
|
220
|
-
enableExploreTable: updateData.enableExploreTable !== undefined ? (updateData.enableExploreTable ? 1 : 0) : undefined,
|
|
221
|
-
updatedAt: new Date(),
|
|
222
|
-
})
|
|
274
|
+
.set(updateFields)
|
|
223
275
|
.where(eq(mcpConfigs.id, configId));
|
|
224
276
|
// 清理用户的聚合器缓存,强制重新加载配置
|
|
225
277
|
// 注意:清理失败不应该影响配置保存
|
|
@@ -446,10 +498,10 @@ configRouter.post('/sync-tools', async (c) => {
|
|
|
446
498
|
if (!component) {
|
|
447
499
|
return c.json({ success: false, error: `Component ${componentId} not found` }, 404);
|
|
448
500
|
}
|
|
449
|
-
//
|
|
501
|
+
// 注意:工具声明加载和工具调用逻辑完全解耦,允许同步所有组件(包括禁用的)
|
|
450
502
|
}
|
|
451
|
-
//
|
|
452
|
-
const syncResult = await syncComponentTools(config, componentId);
|
|
503
|
+
// 同步工具(允许同步所有组件,包括禁用的,因为工具声明应该总是可以同步)
|
|
504
|
+
const syncResult = await syncComponentTools(config, componentId, true);
|
|
453
505
|
// 清理聚合器缓存,强制重新加载
|
|
454
506
|
await mcpService.clearAggregator(currentUserId);
|
|
455
507
|
return c.json({
|
|
@@ -465,6 +517,39 @@ configRouter.post('/sync-tools', async (c) => {
|
|
|
465
517
|
return c.json({ success: false, error: error.message }, 500);
|
|
466
518
|
}
|
|
467
519
|
});
|
|
520
|
+
// 仅加载组件的工具列表(不保存到数据库,即使组件禁用也可以加载)
|
|
521
|
+
configRouter.post('/component-tools/load', async (c) => {
|
|
522
|
+
try {
|
|
523
|
+
const currentUserId = getCurrentUserId(c);
|
|
524
|
+
const body = await c.req.json();
|
|
525
|
+
const componentId = body.componentId;
|
|
526
|
+
if (!componentId) {
|
|
527
|
+
return c.json({ success: false, error: 'componentId is required' }, 400);
|
|
528
|
+
}
|
|
529
|
+
// 获取用户配置
|
|
530
|
+
const result = await db
|
|
531
|
+
.select()
|
|
532
|
+
.from(mcpConfigs)
|
|
533
|
+
.where(eq(mcpConfigs.userId, currentUserId))
|
|
534
|
+
.limit(1);
|
|
535
|
+
if (result.length === 0) {
|
|
536
|
+
return c.json({ success: false, error: 'MCP configuration not found' }, 404);
|
|
537
|
+
}
|
|
538
|
+
const config = rowToConfig(result[0]);
|
|
539
|
+
// 加载工具列表(即使组件禁用也可以加载)
|
|
540
|
+
const loadResult = await loadComponentToolsList(config, componentId);
|
|
541
|
+
return c.json({
|
|
542
|
+
success: true,
|
|
543
|
+
data: {
|
|
544
|
+
tools: loadResult.tools,
|
|
545
|
+
errors: loadResult.errors,
|
|
546
|
+
},
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
catch (error) {
|
|
550
|
+
return c.json({ success: false, error: error.message }, 500);
|
|
551
|
+
}
|
|
552
|
+
});
|
|
468
553
|
// 获取指定组件的工具列表(从数据库读取)
|
|
469
554
|
configRouter.get('/component-tools/:componentId', async (c) => {
|
|
470
555
|
try {
|
|
@@ -485,27 +570,60 @@ configRouter.get('/component-tools/:componentId', async (c) => {
|
|
|
485
570
|
if (!component) {
|
|
486
571
|
return c.json({ success: false, error: `Component ${componentId} not found` }, 404);
|
|
487
572
|
}
|
|
488
|
-
//
|
|
573
|
+
// 从数据库获取该组件的工具列表(原始数据)
|
|
489
574
|
const dbTools = await db
|
|
490
575
|
.select()
|
|
491
576
|
.from(mcpComponentTools)
|
|
492
577
|
.where(and(eq(mcpComponentTools.configId, config.id), eq(mcpComponentTools.componentId, componentId)));
|
|
578
|
+
// 获取组件的 toolPatches 配置(配置数据,用于覆盖原始数据)
|
|
579
|
+
const toolPatches = component.config?.toolPatches || {};
|
|
493
580
|
// 转换为前端需要的格式
|
|
581
|
+
// 重要:返回原始数据和编辑数据,让前端自己决定如何显示
|
|
494
582
|
const tools = dbTools.map(dbTool => {
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
|
|
583
|
+
// 从原始数据开始(这是从 MCP 服务拉下来的原始数据)
|
|
584
|
+
const originalInputSchema = dbTool.inputSchema;
|
|
585
|
+
const originalDescription = dbTool.description;
|
|
586
|
+
// 应用工具补丁(如果存在,使用原始工具名称作为键)
|
|
587
|
+
// toolPatches 存储在组件配置中,不在工具记录中
|
|
588
|
+
const toolPatch = toolPatches[dbTool.originalToolName];
|
|
589
|
+
let inputSchema = originalInputSchema;
|
|
590
|
+
let description = originalDescription;
|
|
591
|
+
if (toolPatch && typeof toolPatch === 'object') {
|
|
592
|
+
// 应用 description 补丁(如果存在)
|
|
593
|
+
if (toolPatch.description !== undefined && toolPatch.description !== null && toolPatch.description !== '') {
|
|
594
|
+
description = toolPatch.description;
|
|
595
|
+
}
|
|
596
|
+
// 应用 inputSchema 补丁(如果存在)
|
|
597
|
+
if (toolPatch.inputSchema) {
|
|
598
|
+
inputSchema = {
|
|
599
|
+
...inputSchema,
|
|
600
|
+
...toolPatch.inputSchema,
|
|
601
|
+
};
|
|
602
|
+
}
|
|
603
|
+
// 应用 fieldDescriptions 补丁(如果存在)
|
|
604
|
+
if (toolPatch.fieldDescriptions && typeof toolPatch.fieldDescriptions === 'object') {
|
|
605
|
+
// 更新 inputSchema 中对应字段的 description
|
|
606
|
+
if (inputSchema.properties) {
|
|
607
|
+
for (const [fieldName, fieldDescription] of Object.entries(toolPatch.fieldDescriptions)) {
|
|
608
|
+
if (inputSchema.properties[fieldName]) {
|
|
609
|
+
inputSchema.properties[fieldName] = {
|
|
610
|
+
...inputSchema.properties[fieldName],
|
|
611
|
+
description: fieldDescription,
|
|
612
|
+
};
|
|
613
|
+
}
|
|
614
|
+
}
|
|
615
|
+
}
|
|
616
|
+
}
|
|
502
617
|
}
|
|
503
618
|
return {
|
|
504
619
|
name: dbTool.toolName,
|
|
505
|
-
description:
|
|
506
|
-
inputSchema: inputSchema,
|
|
507
|
-
disabled: dbTool.disabled,
|
|
620
|
+
description: description, // 应用了 toolPatches 的描述
|
|
621
|
+
inputSchema: inputSchema, // 应用了 toolPatches 的 inputSchema
|
|
622
|
+
disabled: dbTool.disabled, // 使用数据库中存储的 disabled 状态
|
|
508
623
|
originalToolName: dbTool.originalToolName,
|
|
624
|
+
// 重要:同时返回原始数据,用于还原功能
|
|
625
|
+
originalDescription: originalDescription, // 原始描述(从 MCP 服务拉下来的)
|
|
626
|
+
originalInputSchema: originalInputSchema, // 原始 inputSchema(从 MCP 服务拉下来的)
|
|
509
627
|
};
|
|
510
628
|
});
|
|
511
629
|
return c.json({
|
|
@@ -517,4 +635,107 @@ configRouter.get('/component-tools/:componentId', async (c) => {
|
|
|
517
635
|
return c.json({ success: false, error: error.message }, 500);
|
|
518
636
|
}
|
|
519
637
|
});
|
|
638
|
+
// 获取所有组件的所有工具列表(包括禁用的),用于 Context 类型生成
|
|
639
|
+
// 返回的是原始数据 + 编辑数据的叠加结果
|
|
640
|
+
configRouter.get('/all-tools', async (c) => {
|
|
641
|
+
try {
|
|
642
|
+
const currentUserId = getCurrentUserId(c);
|
|
643
|
+
// 获取用户配置
|
|
644
|
+
const result = await db
|
|
645
|
+
.select()
|
|
646
|
+
.from(mcpConfigs)
|
|
647
|
+
.where(eq(mcpConfigs.userId, currentUserId))
|
|
648
|
+
.limit(1);
|
|
649
|
+
if (result.length === 0) {
|
|
650
|
+
return c.json({ success: false, error: 'MCP configuration not found' }, 404);
|
|
651
|
+
}
|
|
652
|
+
const config = rowToConfig(result[0]);
|
|
653
|
+
// 从数据库获取所有组件的所有工具列表(包括禁用的)
|
|
654
|
+
const dbTools = await db
|
|
655
|
+
.select()
|
|
656
|
+
.from(mcpComponentTools)
|
|
657
|
+
.where(eq(mcpComponentTools.configId, config.id));
|
|
658
|
+
// 创建一个组件ID到组件配置的映射
|
|
659
|
+
const componentMap = new Map();
|
|
660
|
+
for (const comp of config.components) {
|
|
661
|
+
componentMap.set(comp.id, comp);
|
|
662
|
+
}
|
|
663
|
+
// 转换为前端需要的格式,应用 toolPatches
|
|
664
|
+
const allTools = [];
|
|
665
|
+
for (const dbTool of dbTools) {
|
|
666
|
+
const component = componentMap.get(dbTool.componentId);
|
|
667
|
+
if (!component) {
|
|
668
|
+
continue; // 跳过找不到组件的工具
|
|
669
|
+
}
|
|
670
|
+
// 获取组件的 toolPatches 配置(配置数据,用于覆盖原始数据)
|
|
671
|
+
const toolPatches = component.config?.toolPatches || {};
|
|
672
|
+
// 从原始数据开始
|
|
673
|
+
let inputSchema = dbTool.inputSchema;
|
|
674
|
+
let description = dbTool.description;
|
|
675
|
+
// 应用工具补丁(如果存在,使用原始工具名称作为键)
|
|
676
|
+
const toolPatch = toolPatches[dbTool.originalToolName];
|
|
677
|
+
if (toolPatch && typeof toolPatch === 'object') {
|
|
678
|
+
// 应用 description 补丁(如果存在)
|
|
679
|
+
if (toolPatch.description !== undefined && toolPatch.description !== null && toolPatch.description !== '') {
|
|
680
|
+
description = toolPatch.description;
|
|
681
|
+
}
|
|
682
|
+
// 应用 inputSchema 补丁(如果存在)
|
|
683
|
+
if (toolPatch.inputSchema) {
|
|
684
|
+
inputSchema = {
|
|
685
|
+
...inputSchema,
|
|
686
|
+
...toolPatch.inputSchema,
|
|
687
|
+
};
|
|
688
|
+
}
|
|
689
|
+
// 应用 fieldDescriptions 补丁(如果存在)
|
|
690
|
+
if (toolPatch.fieldDescriptions && typeof toolPatch.fieldDescriptions === 'object') {
|
|
691
|
+
// 更新 inputSchema 中对应字段的 description
|
|
692
|
+
if (inputSchema.properties) {
|
|
693
|
+
for (const [fieldName, fieldDescription] of Object.entries(toolPatch.fieldDescriptions)) {
|
|
694
|
+
if (inputSchema.properties[fieldName]) {
|
|
695
|
+
inputSchema.properties[fieldName] = {
|
|
696
|
+
...inputSchema.properties[fieldName],
|
|
697
|
+
description: fieldDescription,
|
|
698
|
+
};
|
|
699
|
+
}
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
}
|
|
704
|
+
allTools.push({
|
|
705
|
+
name: dbTool.toolName,
|
|
706
|
+
description: description,
|
|
707
|
+
inputSchema: inputSchema,
|
|
708
|
+
originalToolName: dbTool.originalToolName,
|
|
709
|
+
});
|
|
710
|
+
}
|
|
711
|
+
// 添加自定义工具
|
|
712
|
+
// 自定义工具没有 originalToolName,使用 name 作为工具名称
|
|
713
|
+
for (const customTool of config.customTools) {
|
|
714
|
+
allTools.push({
|
|
715
|
+
name: customTool.name,
|
|
716
|
+
description: customTool.description,
|
|
717
|
+
inputSchema: {
|
|
718
|
+
type: 'object',
|
|
719
|
+
properties: customTool.parameters.reduce((acc, param) => {
|
|
720
|
+
acc[param.name] = {
|
|
721
|
+
type: param.type,
|
|
722
|
+
description: param.description || '',
|
|
723
|
+
};
|
|
724
|
+
return acc;
|
|
725
|
+
}, {}),
|
|
726
|
+
required: customTool.parameters.filter((p) => p.required).map((p) => p.name),
|
|
727
|
+
},
|
|
728
|
+
// 自定义工具没有 originalToolName,所以不设置这个字段
|
|
729
|
+
// Context 类型生成时会使用 name 作为工具名称
|
|
730
|
+
});
|
|
731
|
+
}
|
|
732
|
+
return c.json({
|
|
733
|
+
success: true,
|
|
734
|
+
data: { tools: allTools },
|
|
735
|
+
});
|
|
736
|
+
}
|
|
737
|
+
catch (error) {
|
|
738
|
+
return c.json({ success: false, error: error.message }, 500);
|
|
739
|
+
}
|
|
740
|
+
});
|
|
520
741
|
//# sourceMappingURL=configs.js.map
|
package/dist/api/configs.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../src/api/configs.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"configs.js","sourceRoot":"","sources":["../../src/api/configs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../src/mcp/aggregator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAgB,MAAM,mBAAmB,CAAC;AAWrF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,eAAe,CAA0E;IACjG,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,SAAgB,eAAe,EAAE,IAAI,CAAC;gBAE1B,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM;IASzI;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BjC;;OAEG;YACW,mBAAmB;IA4BjC;;OAEG;YACW,qBAAqB;IAyDnC;;OAEG;YACW,+BAA+B;IAmD7C;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkOlC;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"aggregator.d.ts","sourceRoot":"","sources":["../../src/mcp/aggregator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAgB,MAAM,mBAAmB,CAAC;AAWrF,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,UAAU,CAA2C;IAC7D,OAAO,CAAC,gBAAgB,CAAkC;IAC1D,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,eAAe,CAA0E;IACjG,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,MAAM,CAAS;IACvB,SAAgB,eAAe,EAAE,IAAI,CAAC;gBAE1B,MAAM,EAAE,SAAS,EAAE,eAAe,CAAC,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG,IAAI,EAAE,MAAM,CAAC,EAAE,MAAM;IASzI;;OAEG;IACH,IAAI,WAAW,IAAI,OAAO,CAEzB;IAED;;;OAGG;IACG,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA8BjC;;OAEG;YACW,mBAAmB;IA4BjC;;OAEG;YACW,qBAAqB;IAyDnC;;OAEG;YACW,+BAA+B;IAmD7C;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkOlC;;;OAGG;IACG,WAAW,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;IAsSvC;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;IA0B3C;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAIxB;;;;OAIG;IACG,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC;IA0G7E;;OAEG;YACW,kBAAkB;IAoBhC;;OAEG;IACG,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,GAAE,OAAe,GAAG,OAAO,CAAC,GAAG,CAAC;IAuRzF;;OAEG;IACG,aAAa,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IA6K/C;;;OAGG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAmC7B"}
|
package/dist/mcp/aggregator.js
CHANGED
|
@@ -494,9 +494,15 @@ export class MCPAggregator {
|
|
|
494
494
|
// 转换为 MCPTool 格式,同时过滤掉被禁用组件的工具和被禁用的工具
|
|
495
495
|
let filteredCount = 0;
|
|
496
496
|
for (const dbTool of dbTools) {
|
|
497
|
-
//
|
|
497
|
+
// 检查组件是否存在(如果组件已被移除,component 会是 undefined)
|
|
498
498
|
const component = componentMap.get(dbTool.componentId);
|
|
499
|
-
if (component
|
|
499
|
+
if (!component) {
|
|
500
|
+
filteredCount++;
|
|
501
|
+
console.log(`[MCP] getAllTools: Skipping tool ${dbTool.toolName} from removed component (componentId: ${dbTool.componentId})`);
|
|
502
|
+
continue;
|
|
503
|
+
}
|
|
504
|
+
// 检查组件是否被禁用
|
|
505
|
+
if (component.disabled) {
|
|
500
506
|
filteredCount++;
|
|
501
507
|
console.log(`[MCP] getAllTools: Skipping tool ${dbTool.toolName} from disabled component ${component.name}`);
|
|
502
508
|
continue;
|
|
@@ -511,26 +517,50 @@ export class MCPAggregator {
|
|
|
511
517
|
console.log(`[MCP] getAllTools: Skipping disabled tool ${dbTool.toolName} (original: ${dbTool.originalToolName}, disabledTools: [${disabledTools.join(', ')}])`);
|
|
512
518
|
continue;
|
|
513
519
|
}
|
|
514
|
-
//
|
|
520
|
+
// 确保工具名称包含命名空间前缀(只有在明确设置了命名空间时)
|
|
515
521
|
// 如果数据库中的 toolName 没有命名空间前缀(向后兼容),则动态添加
|
|
516
522
|
let finalToolName = dbTool.toolName;
|
|
517
523
|
if (component) {
|
|
518
|
-
//
|
|
524
|
+
// 确定命名空间:只有在明确设置了命名空间时才使用
|
|
519
525
|
const namespace = component.namespace && component.namespace.trim() !== ''
|
|
520
526
|
? component.namespace.trim()
|
|
521
|
-
:
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
527
|
+
: null;
|
|
528
|
+
if (namespace) {
|
|
529
|
+
// 只有在设置了命名空间时才添加前缀
|
|
530
|
+
// 检查 toolName 是否已经包含正确的命名空间前缀
|
|
531
|
+
const expectedPrefix = `${namespace}_`;
|
|
532
|
+
if (finalToolName.startsWith(expectedPrefix)) {
|
|
533
|
+
// 已经包含正确的命名空间前缀,保持原样
|
|
534
|
+
// 不做任何处理
|
|
535
|
+
}
|
|
536
|
+
else if (finalToolName === dbTool.originalToolName) {
|
|
537
|
+
// 如果 toolName 已经是原始工具名称(不带命名空间),则添加命名空间前缀
|
|
528
538
|
finalToolName = `${namespace}_${dbTool.originalToolName}`;
|
|
529
539
|
console.log(`[MCP] getAllTools: Adding namespace prefix to tool: ${dbTool.originalToolName} -> ${finalToolName}`);
|
|
530
540
|
}
|
|
531
541
|
else {
|
|
532
|
-
// 如果 toolName
|
|
533
|
-
|
|
542
|
+
// 如果 toolName 包含其他命名空间(可能是旧数据,使用了组件名称),则替换为正确的命名空间
|
|
543
|
+
// 检查是否是组件名称作为前缀(旧数据)
|
|
544
|
+
const componentNamePrefix = `${component.name}_`;
|
|
545
|
+
if (finalToolName.startsWith(componentNamePrefix)) {
|
|
546
|
+
// 旧数据:使用了组件名称作为前缀,替换为正确的命名空间
|
|
547
|
+
finalToolName = `${namespace}_${dbTool.originalToolName}`;
|
|
548
|
+
console.log(`[MCP] getAllTools: Replacing component name prefix with namespace: ${dbTool.toolName} -> ${finalToolName} (namespace: ${namespace})`);
|
|
549
|
+
}
|
|
550
|
+
else {
|
|
551
|
+
// 包含其他未知的前缀,使用原始名称并添加正确的命名空间
|
|
552
|
+
finalToolName = `${namespace}_${dbTool.originalToolName}`;
|
|
553
|
+
console.log(`[MCP] getAllTools: Replacing unknown prefix with namespace: ${dbTool.toolName} -> ${finalToolName} (namespace: ${namespace})`);
|
|
554
|
+
}
|
|
555
|
+
}
|
|
556
|
+
}
|
|
557
|
+
else {
|
|
558
|
+
// 如果没有设置命名空间,确保工具名称是原始名称(不带前缀)
|
|
559
|
+
// 如果数据库中的 toolName 包含前缀(可能是旧数据),则使用 originalToolName
|
|
560
|
+
if (finalToolName !== dbTool.originalToolName && finalToolName.includes('_')) {
|
|
561
|
+
// 可能是旧数据,使用原始名称
|
|
562
|
+
finalToolName = dbTool.originalToolName;
|
|
563
|
+
console.log(`[MCP] getAllTools: Removing namespace prefix from tool (no namespace configured): ${dbTool.toolName} -> ${finalToolName}`);
|
|
534
564
|
}
|
|
535
565
|
}
|
|
536
566
|
}
|