@cicctencent/agent-server 0.2.19 → 0.2.20
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/cjs/agent/agent-server.js +1 -1
- package/dist/cjs/agent/agent-server.js.map +1 -1
- package/dist/cjs/connectors/calendar-adapter.d.ts +20 -0
- package/dist/cjs/connectors/calendar-adapter.d.ts.map +1 -0
- package/dist/cjs/connectors/calendar-adapter.js +235 -0
- package/dist/cjs/connectors/calendar-adapter.js.map +1 -0
- package/dist/cjs/connectors/db-adapter.d.ts +29 -0
- package/dist/cjs/connectors/db-adapter.d.ts.map +1 -0
- package/dist/cjs/connectors/db-adapter.js +192 -0
- package/dist/cjs/connectors/db-adapter.js.map +1 -0
- package/dist/cjs/connectors/email-adapter.d.ts +24 -0
- package/dist/cjs/connectors/email-adapter.d.ts.map +1 -0
- package/dist/cjs/connectors/email-adapter.js +191 -0
- package/dist/cjs/connectors/email-adapter.js.map +1 -0
- package/dist/cjs/connectors/fs-adapter.d.ts +16 -0
- package/dist/cjs/connectors/fs-adapter.d.ts.map +1 -0
- package/dist/cjs/connectors/fs-adapter.js +198 -0
- package/dist/cjs/connectors/fs-adapter.js.map +1 -0
- package/dist/cjs/connectors/http-adapter.d.ts +30 -0
- package/dist/cjs/connectors/http-adapter.d.ts.map +1 -0
- package/dist/cjs/connectors/http-adapter.js +180 -0
- package/dist/cjs/connectors/http-adapter.js.map +1 -0
- package/dist/cjs/connectors/index.d.ts +1 -1
- package/dist/cjs/connectors/index.d.ts.map +1 -1
- package/dist/cjs/connectors/index.js +26 -0
- package/dist/cjs/connectors/index.js.map +1 -1
- package/dist/cjs/connectors/mcp-adapter.d.ts +28 -0
- package/dist/cjs/connectors/mcp-adapter.d.ts.map +1 -0
- package/dist/cjs/connectors/mcp-adapter.js +155 -0
- package/dist/cjs/connectors/mcp-adapter.js.map +1 -0
- package/dist/cjs/connectors/mq-adapter.d.ts +26 -0
- package/dist/cjs/connectors/mq-adapter.d.ts.map +1 -0
- package/dist/cjs/connectors/mq-adapter.js +180 -0
- package/dist/cjs/connectors/mq-adapter.js.map +1 -0
- package/dist/cjs/index.d.ts +8 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +18 -3
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/prompt/prompt-builder.d.ts +1 -1
- package/dist/cjs/prompt/prompt-builder.d.ts.map +1 -1
- package/dist/cjs/prompt/prompt-builder.js +1 -1
- package/dist/cjs/prompt/prompt-builder.js.map +1 -1
- package/dist/cjs/prompt/shared-fragments.d.ts +15 -0
- package/dist/cjs/prompt/shared-fragments.d.ts.map +1 -1
- package/dist/cjs/prompt/shared-fragments.js +17 -3
- package/dist/cjs/prompt/shared-fragments.js.map +1 -1
- package/dist/cjs/spi/index.d.ts +1 -1
- package/dist/cjs/spi/index.js +1 -1
- package/dist/cjs/spi/types.d.ts +1 -1
- package/dist/cjs/spi/types.d.ts.map +1 -1
- package/dist/cjs/types.d.ts +118 -13
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/agent/agent-server.js +1 -1
- package/dist/esm/agent/agent-server.js.map +1 -1
- package/dist/esm/connectors/calendar-adapter.d.ts +20 -0
- package/dist/esm/connectors/calendar-adapter.d.ts.map +1 -0
- package/dist/esm/connectors/calendar-adapter.js +198 -0
- package/dist/esm/connectors/calendar-adapter.js.map +1 -0
- package/dist/esm/connectors/db-adapter.d.ts +29 -0
- package/dist/esm/connectors/db-adapter.d.ts.map +1 -0
- package/dist/esm/connectors/db-adapter.js +155 -0
- package/dist/esm/connectors/db-adapter.js.map +1 -0
- package/dist/esm/connectors/email-adapter.d.ts +24 -0
- package/dist/esm/connectors/email-adapter.d.ts.map +1 -0
- package/dist/esm/connectors/email-adapter.js +187 -0
- package/dist/esm/connectors/email-adapter.js.map +1 -0
- package/dist/esm/connectors/fs-adapter.d.ts +16 -0
- package/dist/esm/connectors/fs-adapter.d.ts.map +1 -0
- package/dist/esm/connectors/fs-adapter.js +161 -0
- package/dist/esm/connectors/fs-adapter.js.map +1 -0
- package/dist/esm/connectors/http-adapter.d.ts +30 -0
- package/dist/esm/connectors/http-adapter.d.ts.map +1 -0
- package/dist/esm/connectors/http-adapter.js +176 -0
- package/dist/esm/connectors/http-adapter.js.map +1 -0
- package/dist/esm/connectors/index.d.ts +1 -1
- package/dist/esm/connectors/index.d.ts.map +1 -1
- package/dist/esm/connectors/index.js +26 -0
- package/dist/esm/connectors/index.js.map +1 -1
- package/dist/esm/connectors/mcp-adapter.d.ts +28 -0
- package/dist/esm/connectors/mcp-adapter.d.ts.map +1 -0
- package/dist/esm/connectors/mcp-adapter.js +151 -0
- package/dist/esm/connectors/mcp-adapter.js.map +1 -0
- package/dist/esm/connectors/mq-adapter.d.ts +26 -0
- package/dist/esm/connectors/mq-adapter.d.ts.map +1 -0
- package/dist/esm/connectors/mq-adapter.js +176 -0
- package/dist/esm/connectors/mq-adapter.js.map +1 -0
- package/dist/esm/index.d.ts +8 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +8 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/prompt/prompt-builder.d.ts +1 -1
- package/dist/esm/prompt/prompt-builder.d.ts.map +1 -1
- package/dist/esm/prompt/prompt-builder.js +1 -1
- package/dist/esm/prompt/prompt-builder.js.map +1 -1
- package/dist/esm/prompt/shared-fragments.d.ts +15 -0
- package/dist/esm/prompt/shared-fragments.d.ts.map +1 -1
- package/dist/esm/prompt/shared-fragments.js +17 -3
- package/dist/esm/prompt/shared-fragments.js.map +1 -1
- package/dist/esm/spi/types.d.ts +1 -1
- package/dist/esm/spi/types.d.ts.map +1 -1
- package/dist/esm/types.d.ts +118 -13
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP 服务器适配器
|
|
3
|
+
*
|
|
4
|
+
* 连接外部 MCP 服务器,发现其暴露的工具。
|
|
5
|
+
* testConnection 尝试连接 MCP 服务器,discoverTools 获取工具列表。
|
|
6
|
+
*/
|
|
7
|
+
import type { DataSourceConfig, DiscoveredTool, ConnectionTestResult, DataSourceAdapter, MCPServerConfig } from '../types.js';
|
|
8
|
+
export declare class MCPAdapter implements DataSourceAdapter {
|
|
9
|
+
readonly type: "mcp";
|
|
10
|
+
testConnection(config: DataSourceConfig): Promise<ConnectionTestResult>;
|
|
11
|
+
discoverTools(config: DataSourceConfig): Promise<DiscoveredTool[]>;
|
|
12
|
+
generateManifest(config: DataSourceConfig): Promise<{
|
|
13
|
+
tools: DiscoveredTool[];
|
|
14
|
+
metadata: {
|
|
15
|
+
transport: "stdio" | "sse" | "streamable-http";
|
|
16
|
+
command: string;
|
|
17
|
+
url: string;
|
|
18
|
+
};
|
|
19
|
+
}>;
|
|
20
|
+
generateMCPServerConfigs(config: DataSourceConfig): Promise<MCPServerConfig[]>;
|
|
21
|
+
/** 从 MCP 服务器获取工具列表 */
|
|
22
|
+
private fetchTools;
|
|
23
|
+
/** 通过 stdio 连接 MCP 服务器 */
|
|
24
|
+
private fetchToolsStdio;
|
|
25
|
+
/** 通过 HTTP/SSE 连接 MCP 服务器 */
|
|
26
|
+
private fetchToolsHTTP;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=mcp-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-adapter.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACR,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAClB,MAAM,aAAa,CAAC;AAErB,qBAAa,UAAW,YAAW,iBAAiB;IAChD,QAAQ,CAAC,IAAI,EAAG,KAAK,CAAU;IAEzB,cAAc,CAChB,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAiB1B,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IAIlE,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;;;;;;;;IAYzC,wBAAwB,CAC1B,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC;IAe7B,sBAAsB;YACR,UAAU;IAWxB,0BAA0B;YACZ,eAAe;IAqF7B,6BAA6B;YACf,cAAc;CAwB/B"}
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
export class MCPAdapter {
|
|
2
|
+
type = 'mcp';
|
|
3
|
+
async testConnection(config) {
|
|
4
|
+
try {
|
|
5
|
+
const tools = await this.fetchTools(config);
|
|
6
|
+
return {
|
|
7
|
+
success: true,
|
|
8
|
+
message: `MCP 服务器连接成功,发现 ${tools.length} 个工具`,
|
|
9
|
+
resources: tools.map(t => t.name),
|
|
10
|
+
};
|
|
11
|
+
}
|
|
12
|
+
catch (err) {
|
|
13
|
+
return {
|
|
14
|
+
success: false,
|
|
15
|
+
message: 'MCP 服务器连接失败',
|
|
16
|
+
error: err.message,
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
async discoverTools(config) {
|
|
21
|
+
return this.fetchTools(config);
|
|
22
|
+
}
|
|
23
|
+
async generateManifest(config) {
|
|
24
|
+
const tools = await this.discoverTools(config);
|
|
25
|
+
return {
|
|
26
|
+
tools,
|
|
27
|
+
metadata: {
|
|
28
|
+
transport: config.mcpTransport,
|
|
29
|
+
command: config.command,
|
|
30
|
+
url: config.url,
|
|
31
|
+
},
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
async generateMCPServerConfigs(config) {
|
|
35
|
+
const tools = await this.discoverTools(config);
|
|
36
|
+
return [
|
|
37
|
+
{
|
|
38
|
+
name: `mcp-${config.name || 'proxy'}`,
|
|
39
|
+
transport: config.mcpTransport || 'stdio',
|
|
40
|
+
command: config.command,
|
|
41
|
+
args: config.args,
|
|
42
|
+
env: config.env,
|
|
43
|
+
url: config.url,
|
|
44
|
+
tools,
|
|
45
|
+
},
|
|
46
|
+
];
|
|
47
|
+
}
|
|
48
|
+
/** 从 MCP 服务器获取工具列表 */
|
|
49
|
+
async fetchTools(config) {
|
|
50
|
+
const transport = config.mcpTransport || 'stdio';
|
|
51
|
+
if (transport === 'stdio') {
|
|
52
|
+
return this.fetchToolsStdio(config);
|
|
53
|
+
}
|
|
54
|
+
return this.fetchToolsHTTP(config);
|
|
55
|
+
}
|
|
56
|
+
/** 通过 stdio 连接 MCP 服务器 */
|
|
57
|
+
async fetchToolsStdio(config) {
|
|
58
|
+
const { spawn } = require('child_process');
|
|
59
|
+
return new Promise((resolve, reject) => {
|
|
60
|
+
const proc = spawn(config.command, config.args || [], {
|
|
61
|
+
env: { ...process.env, ...(config.env || {}) },
|
|
62
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
63
|
+
});
|
|
64
|
+
const timeout = setTimeout(() => {
|
|
65
|
+
proc.kill();
|
|
66
|
+
reject(new Error('MCP 服务器连接超时'));
|
|
67
|
+
}, 15000);
|
|
68
|
+
let buffer = '';
|
|
69
|
+
proc.stdout.on('data', (data) => {
|
|
70
|
+
buffer += data.toString();
|
|
71
|
+
const lines = buffer.split('\n');
|
|
72
|
+
buffer = lines.pop() || '';
|
|
73
|
+
for (const line of lines) {
|
|
74
|
+
if (!line.trim())
|
|
75
|
+
continue;
|
|
76
|
+
try {
|
|
77
|
+
const msg = JSON.parse(line);
|
|
78
|
+
if (msg.result?.tools) {
|
|
79
|
+
clearTimeout(timeout);
|
|
80
|
+
proc.kill();
|
|
81
|
+
resolve(msg.result.tools.map((t) => ({
|
|
82
|
+
name: t.name,
|
|
83
|
+
description: t.description || '',
|
|
84
|
+
inputSchema: t.inputSchema || {
|
|
85
|
+
type: 'object',
|
|
86
|
+
properties: {},
|
|
87
|
+
},
|
|
88
|
+
})));
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
catch {
|
|
92
|
+
// 忽略非 JSON 行
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
});
|
|
96
|
+
proc.stderr.on('data', () => {
|
|
97
|
+
// 忽略 stderr
|
|
98
|
+
});
|
|
99
|
+
proc.on('error', err => {
|
|
100
|
+
clearTimeout(timeout);
|
|
101
|
+
reject(new Error(`启动 MCP 服务器失败: ${err.message}`));
|
|
102
|
+
});
|
|
103
|
+
proc.on('close', () => {
|
|
104
|
+
clearTimeout(timeout);
|
|
105
|
+
// 如果还没 resolve,返回空数组
|
|
106
|
+
resolve([]);
|
|
107
|
+
});
|
|
108
|
+
// 发送 initialize + tools/list 请求
|
|
109
|
+
const initMsg = JSON.stringify({
|
|
110
|
+
jsonrpc: '2.0',
|
|
111
|
+
id: 1,
|
|
112
|
+
method: 'initialize',
|
|
113
|
+
params: {
|
|
114
|
+
protocolVersion: '2024-11-05',
|
|
115
|
+
capabilities: {},
|
|
116
|
+
clientInfo: { name: 'connector-test', version: '1.0' },
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
const listMsg = JSON.stringify({
|
|
120
|
+
jsonrpc: '2.0',
|
|
121
|
+
id: 2,
|
|
122
|
+
method: 'tools/list',
|
|
123
|
+
params: {},
|
|
124
|
+
});
|
|
125
|
+
proc.stdin.write(initMsg + '\n');
|
|
126
|
+
proc.stdin.write(listMsg + '\n');
|
|
127
|
+
});
|
|
128
|
+
}
|
|
129
|
+
/** 通过 HTTP/SSE 连接 MCP 服务器 */
|
|
130
|
+
async fetchToolsHTTP(config) {
|
|
131
|
+
const resp = await fetch(`${config.url}/tools`, {
|
|
132
|
+
method: 'GET',
|
|
133
|
+
headers: { 'Content-Type': 'application/json' },
|
|
134
|
+
signal: AbortSignal.timeout(10000),
|
|
135
|
+
});
|
|
136
|
+
if (!resp.ok) {
|
|
137
|
+
throw new Error(`HTTP ${resp.status}`);
|
|
138
|
+
}
|
|
139
|
+
const data = await resp.json();
|
|
140
|
+
const tools = data.tools || data;
|
|
141
|
+
return (Array.isArray(tools) ? tools : []).map((t) => ({
|
|
142
|
+
name: t.name,
|
|
143
|
+
description: t.description || '',
|
|
144
|
+
inputSchema: t.inputSchema || {
|
|
145
|
+
type: 'object',
|
|
146
|
+
properties: {},
|
|
147
|
+
},
|
|
148
|
+
}));
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
//# sourceMappingURL=mcp-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-adapter.js","sourceRoot":"","sources":["../../../src/connectors/mcp-adapter.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 消息队列适配器
|
|
3
|
+
*
|
|
4
|
+
* 支持 RabbitMQ(动态 require amqplib)和 Kafka(动态 require kafkajs)。
|
|
5
|
+
* testConnection 测试 MQ 连接,discoverTools 生成消息生产/消费工具。
|
|
6
|
+
*/
|
|
7
|
+
import type { DataSourceConfig, DiscoveredTool, ConnectionTestResult, DataSourceAdapter, MCPServerConfig } from '../types.js';
|
|
8
|
+
export declare class MessageQueueAdapter implements DataSourceAdapter {
|
|
9
|
+
readonly type: "message-queue";
|
|
10
|
+
testConnection(config: DataSourceConfig): Promise<ConnectionTestResult>;
|
|
11
|
+
discoverTools(config: DataSourceConfig): Promise<DiscoveredTool[]>;
|
|
12
|
+
generateManifest(config: DataSourceConfig): Promise<{
|
|
13
|
+
tools: DiscoveredTool[];
|
|
14
|
+
metadata: {
|
|
15
|
+
mqType: "rabbitmq" | "kafka";
|
|
16
|
+
host: string;
|
|
17
|
+
topics: string[];
|
|
18
|
+
};
|
|
19
|
+
}>;
|
|
20
|
+
generateMCPServerConfigs(config: DataSourceConfig): Promise<MCPServerConfig[]>;
|
|
21
|
+
/** 测试 RabbitMQ 连接 */
|
|
22
|
+
private testRabbitMQ;
|
|
23
|
+
/** 测试 Kafka 连接 */
|
|
24
|
+
private testKafka;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=mq-adapter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mq-adapter.d.ts","sourceRoot":"","sources":["../../../src/connectors/mq-adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EACR,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,EACjB,eAAe,EAClB,MAAM,aAAa,CAAC;AAErB,qBAAa,mBAAoB,YAAW,iBAAiB;IACzD,QAAQ,CAAC,IAAI,EAAG,eAAe,CAAU;IAEnC,cAAc,CAChB,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,oBAAoB,CAAC;IAO1B,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC;IA0DlE,gBAAgB,CAAC,MAAM,EAAE,gBAAgB;;;;;;;;IAYzC,wBAAwB,CAC1B,MAAM,EAAE,gBAAgB,GACzB,OAAO,CAAC,eAAe,EAAE,CAAC;IAsB7B,qBAAqB;YACP,YAAY;IA6C1B,kBAAkB;YACJ,SAAS;CA6C1B"}
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
export class MessageQueueAdapter {
|
|
2
|
+
type = 'message-queue';
|
|
3
|
+
async testConnection(config) {
|
|
4
|
+
if (config.mqType === 'kafka') {
|
|
5
|
+
return this.testKafka(config);
|
|
6
|
+
}
|
|
7
|
+
return this.testRabbitMQ(config);
|
|
8
|
+
}
|
|
9
|
+
async discoverTools(config) {
|
|
10
|
+
const topics = config.topics || [];
|
|
11
|
+
const tools = [];
|
|
12
|
+
for (const topic of topics) {
|
|
13
|
+
tools.push({
|
|
14
|
+
name: `mq_publish_${topic}`,
|
|
15
|
+
description: `向 ${topic} 发布消息(${config.mqType})`,
|
|
16
|
+
inputSchema: {
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
message: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
description: '消息内容(JSON 字符串)',
|
|
22
|
+
},
|
|
23
|
+
routingKey: {
|
|
24
|
+
type: 'string',
|
|
25
|
+
description: '路由键(RabbitMQ)',
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
required: ['message'],
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
tools.push({
|
|
32
|
+
name: `mq_consume_${topic}`,
|
|
33
|
+
description: `从 ${topic} 消费消息(${config.mqType})`,
|
|
34
|
+
inputSchema: {
|
|
35
|
+
type: 'object',
|
|
36
|
+
properties: {
|
|
37
|
+
maxMessages: {
|
|
38
|
+
type: 'number',
|
|
39
|
+
description: '最大消费消息数',
|
|
40
|
+
default: 10,
|
|
41
|
+
},
|
|
42
|
+
timeout: {
|
|
43
|
+
type: 'number',
|
|
44
|
+
description: '超时时间(毫秒)',
|
|
45
|
+
default: 5000,
|
|
46
|
+
},
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
// 通用工具
|
|
52
|
+
tools.push({
|
|
53
|
+
name: 'mq_list_topics',
|
|
54
|
+
description: '列出所有可用的 topic / queue',
|
|
55
|
+
inputSchema: {
|
|
56
|
+
type: 'object',
|
|
57
|
+
properties: {},
|
|
58
|
+
},
|
|
59
|
+
});
|
|
60
|
+
return tools;
|
|
61
|
+
}
|
|
62
|
+
async generateManifest(config) {
|
|
63
|
+
const tools = await this.discoverTools(config);
|
|
64
|
+
return {
|
|
65
|
+
tools,
|
|
66
|
+
metadata: {
|
|
67
|
+
mqType: config.mqType,
|
|
68
|
+
host: config.host,
|
|
69
|
+
topics: config.topics,
|
|
70
|
+
},
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
async generateMCPServerConfigs(config) {
|
|
74
|
+
const tools = await this.discoverTools(config);
|
|
75
|
+
return [
|
|
76
|
+
{
|
|
77
|
+
name: `mq-${config.name || 'default'}`,
|
|
78
|
+
transport: 'stdio',
|
|
79
|
+
command: 'node',
|
|
80
|
+
args: ['-e', '/* MCP server for message queue */'],
|
|
81
|
+
env: {
|
|
82
|
+
MQ_TYPE: config.mqType || 'rabbitmq',
|
|
83
|
+
MQ_HOST: config.host || '',
|
|
84
|
+
MQ_PORT: String(config.port || 5672),
|
|
85
|
+
MQ_TOPICS: (config.topics || []).join(','),
|
|
86
|
+
MQ_GROUP_ID: config.groupId || '',
|
|
87
|
+
MQ_USER: config.username || '',
|
|
88
|
+
MQ_PASS: config.password || '',
|
|
89
|
+
},
|
|
90
|
+
tools,
|
|
91
|
+
},
|
|
92
|
+
];
|
|
93
|
+
}
|
|
94
|
+
/** 测试 RabbitMQ 连接 */
|
|
95
|
+
async testRabbitMQ(config) {
|
|
96
|
+
let amqp;
|
|
97
|
+
try {
|
|
98
|
+
amqp = require('amqplib');
|
|
99
|
+
}
|
|
100
|
+
catch {
|
|
101
|
+
throw new Error('amqplib 包未安装,请运行 npm install amqplib');
|
|
102
|
+
}
|
|
103
|
+
const url = `amqp://${config.username
|
|
104
|
+
? config.username + ':' + (config.password || '') + '@'
|
|
105
|
+
: ''}${config.host}:${config.port || 5672}`;
|
|
106
|
+
let conn;
|
|
107
|
+
try {
|
|
108
|
+
conn = await amqp.connect(url);
|
|
109
|
+
const channel = await conn.createChannel();
|
|
110
|
+
const queues = [];
|
|
111
|
+
for (const topic of config.topics || []) {
|
|
112
|
+
try {
|
|
113
|
+
const q = await channel.assertQueue(topic, {
|
|
114
|
+
durable: true,
|
|
115
|
+
});
|
|
116
|
+
queues.push(q.queue);
|
|
117
|
+
}
|
|
118
|
+
catch {
|
|
119
|
+
// 忽略单个队列错误
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
return {
|
|
123
|
+
success: true,
|
|
124
|
+
message: `RabbitMQ 连接成功,确认 ${queues.length} 个队列`,
|
|
125
|
+
resources: queues,
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
if (conn) {
|
|
130
|
+
await conn.close().catch(() => { });
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
/** 测试 Kafka 连接 */
|
|
135
|
+
async testKafka(config) {
|
|
136
|
+
let Kafka;
|
|
137
|
+
try {
|
|
138
|
+
Kafka = require('kafkajs').Kafka;
|
|
139
|
+
}
|
|
140
|
+
catch {
|
|
141
|
+
throw new Error('kafkajs 包未安装,请运行 npm install kafkajs');
|
|
142
|
+
}
|
|
143
|
+
const kafka = new Kafka({
|
|
144
|
+
clientId: 'connector-test',
|
|
145
|
+
brokers: [`${config.host}:${config.port || 9092}`],
|
|
146
|
+
sasl: config.username && config.password
|
|
147
|
+
? {
|
|
148
|
+
mechanism: 'plain',
|
|
149
|
+
username: config.username,
|
|
150
|
+
password: config.password,
|
|
151
|
+
}
|
|
152
|
+
: undefined,
|
|
153
|
+
});
|
|
154
|
+
const admin = kafka.admin();
|
|
155
|
+
try {
|
|
156
|
+
await admin.connect();
|
|
157
|
+
const topics = await admin.listTopics();
|
|
158
|
+
const configTopics = config.topics || [];
|
|
159
|
+
const missing = configTopics.filter(t => !topics.includes(t));
|
|
160
|
+
for (const t of missing) {
|
|
161
|
+
await admin.createTopics({
|
|
162
|
+
topics: [{ topic: t, numPartitions: 1 }],
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
return {
|
|
166
|
+
success: true,
|
|
167
|
+
message: `Kafka 连接成功,发现 ${topics.length} 个 topic`,
|
|
168
|
+
resources: topics,
|
|
169
|
+
};
|
|
170
|
+
}
|
|
171
|
+
finally {
|
|
172
|
+
await admin.disconnect().catch(() => { });
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=mq-adapter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mq-adapter.js","sourceRoot":"","sources":["../../../src/connectors/mq-adapter.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createAgentServer } from './agent/agent-server.js';
|
|
2
|
-
export type { AgentServer, AgentServerOptions, AgentSystem, RunAgentParams, SSEResponse, SpecialistResourceContext, TenantContext, SettingsProvider, ChatStoreProvider, PromptBuilderProvider, ModelConfigResolver, MCPServiceProvider, SkillServiceProvider, ConnectorServiceProvider, AgentProfileProvider, AutomationProvider, EmailProvider, CalendarProvider, CalendarEvent, ThreadEntity, MessageEntity, WorkspaceEntity, ModelProviderConfig, SettingsEntity, MCPServerEntity, MCPToolDefinition, MCPTransportType, MCPServerStatusType, ConnectorEntity, ConnectorStatusType, AgentProfileEntity, SkillData, CacheConfig, CacheInvalidationScope, CacheInvalidationNotifier, DataSourceType, DataSourceConfig, DataSourceAdapter, DiscoveredTool, ConnectionTestResult, } from './types.js';
|
|
2
|
+
export type { AgentServer, AgentServerOptions, AgentSystem, RunAgentParams, SSEResponse, SpecialistResourceContext, TenantContext, SettingsProvider, ChatStoreProvider, PromptBuilderProvider, ModelConfigResolver, MCPServiceProvider, SkillServiceProvider, ConnectorServiceProvider, AgentProfileProvider, AutomationProvider, EmailProvider, CalendarProvider, CalendarEvent, ThreadEntity, MessageEntity, WorkspaceEntity, ModelProviderConfig, SettingsEntity, MCPServerEntity, MCPToolDefinition, MCPTransportType, MCPServerStatusType, ConnectorEntity, ConnectorStatusType, AgentProfileEntity, SkillData, CacheConfig, CacheInvalidationScope, CacheInvalidationNotifier, DataSourceType, DataSourceConfig, DataSourceAdapter, DiscoveredTool, ConnectionTestResult, MCPServerConfig, ServiceConfig, EndpointConfig, } from './types.js';
|
|
3
3
|
export { DefaultSettingsProvider } from './service/settings.service.js';
|
|
4
4
|
export { DefaultChatStoreProvider } from './service/chat.service.js';
|
|
5
5
|
export { DefaultAgentProfileProvider } from './service/agent-profile.service.js';
|
|
@@ -34,6 +34,13 @@ export type { AuditLogEntry, AuditQuery } from './service/audit.service.js';
|
|
|
34
34
|
export { logEvent, setLogTransport } from './service/observability.service.js';
|
|
35
35
|
export type { LogLevel, ObservabilityEvent, LogTransport } from './service/observability.service.js';
|
|
36
36
|
export { registerAdapter, getAdapter, listAdapterTypes, listAdapters, resetAdapters } from './connectors/index.js';
|
|
37
|
+
export { DatabaseAdapter } from './connectors/db-adapter.js';
|
|
38
|
+
export { HTTPAPIAdapter } from './connectors/http-adapter.js';
|
|
39
|
+
export { FileSystemAdapter } from './connectors/fs-adapter.js';
|
|
40
|
+
export { EmailAdapter } from './connectors/email-adapter.js';
|
|
41
|
+
export { CalendarAdapter } from './connectors/calendar-adapter.js';
|
|
42
|
+
export { MCPAdapter } from './connectors/mcp-adapter.js';
|
|
43
|
+
export { MessageQueueAdapter } from './connectors/mq-adapter.js';
|
|
37
44
|
export { JsonStore, JsonListStore } from './store/index.js';
|
|
38
45
|
export type { JsonStoreOptions } from './store/index.js';
|
|
39
46
|
export { McpServerStore } from './store/mcp-server-store.js';
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,WAAW,EACX,yBAAyB,EACzB,aAAa,EAEb,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EAET,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EAEzB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D,YAAY,EACV,WAAW,EACX,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,WAAW,EACX,yBAAyB,EACzB,aAAa,EAEb,gBAAgB,EAChB,iBAAiB,EACjB,qBAAqB,EACrB,mBAAmB,EACnB,kBAAkB,EAClB,oBAAoB,EACpB,wBAAwB,EACxB,oBAAoB,EACpB,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,aAAa,EAEb,YAAY,EACZ,aAAa,EACb,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,kBAAkB,EAClB,SAAS,EAET,WAAW,EACX,sBAAsB,EACtB,yBAAyB,EAEzB,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,eAAe,EACf,aAAa,EACb,cAAc,GACf,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,uBAAuB,EAAE,MAAM,+BAA+B,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,MAAM,oCAAoC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAChK,OAAO,EACL,wBAAwB,EACxB,oBAAoB,EACpB,gCAAgC,EAChC,2BAA2B,EAC3B,mCAAmC,EACnC,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,8BAA8B,EAC9B,yBAAyB,GAC1B,MAAM,8BAA8B,CAAC;AACtC,YAAY,EAAE,qBAAqB,EAAE,6BAA6B,EAAE,+BAA+B,EAAE,4BAA4B,EAAE,MAAM,8BAA8B,CAAC;AACxK,OAAO,EAAE,0BAA0B,EAAE,MAAM,oCAAoC,CAAC;AAGhF,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,6BAA6B,CAAC;AAClG,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7E,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,4BAA4B,CAAC;AAG1G,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAC3D,YAAY,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAG5D,OAAO,EAAE,kBAAkB,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAGjE,OAAO,EAAE,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAC/F,YAAY,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAC/F,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACxF,OAAO,EACL,uBAAuB,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,uBAAuB,EAChG,qBAAqB,GACtB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAC7F,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAC7F,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAG5E,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAC/E,YAAY,EAAE,QAAQ,EAAE,kBAAkB,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAGrG,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAGnH,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAGjE,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5D,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,EACL,kBAAkB,EAAE,aAAa,EACjC,cAAc,EAAE,iBAAiB,EACjC,eAAe,EAAE,kBAAkB,EACnC,kBAAkB,EAAE,qBAAqB,GAC1C,MAAM,uBAAuB,CAAC;AAG/B,OAAO,EAAE,YAAY,EAAE,yBAAyB,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACtF,OAAO,EAAE,kBAAkB,EAAE,MAAM,mCAAmC,CAAC;AAGvE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAC7D,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACxI,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,YAAY,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAG3F,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,YAAY,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGhE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,WAAW,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAC;AACxJ,OAAO,EACL,aAAa,EAAE,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,eAAe,EACrF,eAAe,EAAE,kBAAkB,EAAE,sBAAsB,GAC5D,MAAM,gCAAgC,CAAC;AAGxC,YAAY,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGrG,OAAO,EACL,WAAW,EACX,kBAAkB,EAClB,aAAa,EACb,oBAAoB,EACpB,aAAa,EACb,UAAU,EACV,UAAU,EACV,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,GAClB,MAAM,4BAA4B,CAAC;AAGpC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAChH,OAAO,EACL,UAAU,EAAE,SAAS,EAAE,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,kBAAkB,EAC/F,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EACxF,uBAAuB,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAC5D,MAAM,oCAAoC,CAAC;AAK5C,OAAO,EAEL,iBAAiB,EACjB,mBAAmB,EACnB,iBAAiB,EACjB,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,qBAAqB,EAErB,iBAAiB,EACjB,aAAa,EACb,iBAAiB,EACjB,oBAAoB,EACpB,QAAQ,EACR,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,GACjB,MAAM,gBAAgB,CAAC;AAExB,YAAY,EAEV,gBAAgB,EAChB,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,kBAAkB,EAElB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EAEZ,gBAAgB,IAAI,uBAAuB,EAC3C,iBAAiB,IAAI,wBAAwB,EAC7C,oBAAoB,IAAI,2BAA2B,EACnD,qBAAqB,IAAI,4BAA4B,EACrD,mBAAmB,IAAI,0BAA0B,EAEjD,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -35,6 +35,14 @@ export { appendAuditLog, listAuditLogs, redactAuditEntry } from "./service/audit
|
|
|
35
35
|
export { logEvent, setLogTransport } from "./service/observability.service.js";
|
|
36
36
|
// ---- 连接器 ----
|
|
37
37
|
export { registerAdapter, getAdapter, listAdapterTypes, listAdapters, resetAdapters } from "./connectors/index.js";
|
|
38
|
+
// ---- 连接器适配器实现 ----
|
|
39
|
+
export { DatabaseAdapter } from "./connectors/db-adapter.js";
|
|
40
|
+
export { HTTPAPIAdapter } from "./connectors/http-adapter.js";
|
|
41
|
+
export { FileSystemAdapter } from "./connectors/fs-adapter.js";
|
|
42
|
+
export { EmailAdapter } from "./connectors/email-adapter.js";
|
|
43
|
+
export { CalendarAdapter } from "./connectors/calendar-adapter.js";
|
|
44
|
+
export { MCPAdapter } from "./connectors/mcp-adapter.js";
|
|
45
|
+
export { MessageQueueAdapter } from "./connectors/mq-adapter.js";
|
|
38
46
|
// ---- Store ----
|
|
39
47
|
export { JsonStore, JsonListStore } from "./store/index.js";
|
|
40
48
|
export { McpServerStore } from "./store/mcp-server-store.js";
|
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,sBAAsB;AACtB,+DAA+D;AAE/D,iBAAiB;AACjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ export declare const GLOBAL_BASE_RULES = "\n\n## Universal Rules\n\n### Plan Bef
|
|
|
9
9
|
*/
|
|
10
10
|
export declare class DefaultPromptBuilder implements PromptBuilderProvider {
|
|
11
11
|
resolveToolDisplayName(toolName: string, _registry: ToolRegistry): string;
|
|
12
|
-
buildDefaultPrompt(profile: AgentProfileEntity, tools: ToolRegistry, memory?: string, specialists?: AgentProfileEntity[], specialistResourceMap?: Record<string, SpecialistResourceContext
|
|
12
|
+
buildDefaultPrompt(profile: AgentProfileEntity, tools: ToolRegistry, memory?: string, specialists?: AgentProfileEntity[], specialistResourceMap?: Record<string, SpecialistResourceContext>, skills?: SkillManager): string;
|
|
13
13
|
buildSpecialistPrompt(profile: AgentProfileEntity, tools: ToolRegistry, skills: SkillManager, memory?: string): string;
|
|
14
14
|
buildToolDescList(registry: ToolRegistry): string;
|
|
15
15
|
buildMCPToolDescList(registry: ToolRegistry): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/prompt/prompt-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExG,kBAAkB;AAClB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsBtD,CAAC;AAMF,kCAAkC;AAClC,eAAO,MAAM,iBAAiB,u6EAqCyG,CAAC;AAExI;;GAEG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,MAAM;IAIzE,kBAAkB,CAChB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,kBAAkB,EAAE,EAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,
|
|
1
|
+
{"version":3,"file":"prompt-builder.d.ts","sourceRoot":"","sources":["../../../src/prompt/prompt-builder.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,KAAK,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AAExG,kBAAkB;AAClB,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAsBtD,CAAC;AAMF,kCAAkC;AAClC,eAAO,MAAM,iBAAiB,u6EAqCyG,CAAC;AAExI;;GAEG;AACH,qBAAa,oBAAqB,YAAW,qBAAqB;IAChE,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,YAAY,GAAG,MAAM;IAIzE,kBAAkB,CAChB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,CAAC,EAAE,MAAM,EACf,WAAW,CAAC,EAAE,kBAAkB,EAAE,EAClC,qBAAqB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,yBAAyB,CAAC,EACjE,MAAM,CAAC,EAAE,YAAY,GACpB,MAAM;IAmCT,qBAAqB,CACnB,OAAO,EAAE,kBAAkB,EAC3B,KAAK,EAAE,YAAY,EACnB,MAAM,EAAE,YAAY,EACpB,MAAM,CAAC,EAAE,MAAM,GACd,MAAM;IAwBT,iBAAiB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;IAYjD,oBAAoB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM;CASrD;AAED,uBAAuB;AACvB,eAAO,MAAM,uBAAuB,0qBAUoC,CAAC;AAEzE,yBAAyB;AACzB,eAAO,MAAM,2BAA2B,iSAKE,CAAC"}
|
|
@@ -74,7 +74,7 @@ export class DefaultPromptBuilder {
|
|
|
74
74
|
resolveToolDisplayName(toolName, _registry) {
|
|
75
75
|
return BUILTIN_TOOL_LABELS[toolName] || toolName;
|
|
76
76
|
}
|
|
77
|
-
buildDefaultPrompt(profile, tools, memory, specialists, specialistResourceMap) {
|
|
77
|
+
buildDefaultPrompt(profile, tools, memory, specialists, specialistResourceMap, skills) {
|
|
78
78
|
const parts = [];
|
|
79
79
|
parts.push(profile.basePrompt || 'You are a helpful AI assistant with access to tools. Use tools when needed to accomplish tasks. Always explain your actions clearly. Respond in the same language as the user.');
|
|
80
80
|
parts.push(GLOBAL_BASE_RULES);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/prompt/prompt-builder.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,iCAAiC;AACjC,+DAA+D;AAK/D,kBAAkB;AAClB,MAAM,CAAC,MAAM,mBAAmB,GAA2B;IACzD,eAAe,EAAE,MAAM;IACvB,aAAa,EAAE,MAAM;IACrB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,SAAS,EAAE,MAAM;IACjB,aAAa,EAAE,MAAM;IACrB,SAAS,EAAE,MAAM;IACjB,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,QAAQ;IACvB,UAAU,EAAE,MAAM;IAClB,WAAW,EAAE,MAAM;IACnB,aAAa,EAAE,MAAM;IACrB,gBAAgB,EAAE,QAAQ;IAC1B,YAAY,EAAE,QAAQ;IACtB,UAAU,EAAE,MAAM;IAClB,mBAAmB,EAAE,QAAQ;IAC7B,eAAe,EAAE,MAAM;IACvB,UAAU,EAAE,QAAQ;IACpB,aAAa,EAAE,MAAM;CACtB,CAAC;AAEF,+DAA+D;AAC/D,8BAA8B;AAC9B,+DAA+D;AAE/D,kCAAkC;AAClC,MAAM,CAAC,MAAM,iBAAiB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uIAqCsG,CAAC;AAExI;;GAEG;AACH,MAAM,OAAO,oBAAoB;IAC/B,sBAAsB,CAAC,QAAgB,EAAE,SAAuB;QAC9D,OAAO,mBAAmB,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACnD,CAAC;IAED,kBAAkB,CAChB,OAA2B,EAC3B,KAAmB,EACnB,MAAe,EACf,WAAkC,EAClC,qBAAiE;
|
|
1
|
+
{"version":3,"file":"prompt-builder.js","sourceRoot":"","sources":["../../../src/prompt/prompt-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,24 @@ export interface AgentToolCapabilities {
|
|
|
8
8
|
export interface DataPresentationPromptOptions {
|
|
9
9
|
jsonFileExample?: string;
|
|
10
10
|
includeHtmlQualityRules?: boolean;
|
|
11
|
+
/**
|
|
12
|
+
* 跳过 create_report / show_widget 优先引导。
|
|
13
|
+
*
|
|
14
|
+
* 当上层应用有自己的输出格式(如 bi-json、chart-json 等)时设为 true,
|
|
15
|
+
* 底层不再注入 "首选方案:create_report" 等引导,由应用层自行控制输出格式。
|
|
16
|
+
*/
|
|
17
|
+
skipOutputPriority?: boolean;
|
|
11
18
|
}
|
|
12
19
|
export interface SpecialistBoundaryPromptOptions {
|
|
13
20
|
includeDocumentFormatRules?: boolean;
|
|
21
|
+
/**
|
|
22
|
+
* 自定义格式选择规则,替代默认的 HTML 优先规则。
|
|
23
|
+
*
|
|
24
|
+
* 当上层应用需要自定义输出格式选择逻辑时传入此字符串,
|
|
25
|
+
* 底层将使用它替代默认的 "默认使用 create_report(HTML)" 规则。
|
|
26
|
+
* 设为空字符串 '' 可完全跳过格式选择规则。
|
|
27
|
+
*/
|
|
28
|
+
customFormatRules?: string;
|
|
14
29
|
}
|
|
15
30
|
/** 输出工具名称列表(默认值,应用层可通过参数覆盖) */
|
|
16
31
|
export declare const DEFAULT_OUTPUT_TOOL_NAMES: string[];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shared-fragments.d.ts","sourceRoot":"","sources":["../../../src/prompt/shared-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"shared-fragments.d.ts","sourceRoot":"","sources":["../../../src/prompt/shared-fragments.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,WAAW,qBAAqB;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,eAAe,EAAE,OAAO,CAAC;IACzB,aAAa,EAAE,OAAO,CAAC;IACvB,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,6BAA6B;IAC5C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AAED,MAAM,WAAW,+BAA+B;IAC9C,0BAA0B,CAAC,EAAE,OAAO,CAAC;IACrC;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,+BAA+B;AAC/B,eAAO,MAAM,yBAAyB,UAA4E,CAAC;AAEnH,oCAAoC;AACpC,MAAM,WAAW,4BAA4B;IAC3C,kBAAkB;IAClB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED,wBAAgB,wBAAwB,CACtC,KAAK,EAAE,YAAY,EACnB,OAAO,CAAC,EAAE,4BAA4B,GACrC,qBAAqB,CA0BvB;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,aAAa,UAAQ,GAAG,MAAM,CAc1F;AAED,wBAAgB,gCAAgC,CAAC,WAAW,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAEjG;AAED,wBAAgB,2BAA2B,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,iBAAiB,CAAC,EAAE,OAAO,GAAE,6BAAkC,GAAG,MAAM,CAa7J;AAED,eAAO,MAAM,yBAAyB,4wCAAgiB,CAAC;AAEvkB,eAAO,MAAM,2BAA2B,0vEAAgmB,CAAC;AAEzoB,eAAO,MAAM,sBAAsB,giCAAuT,CAAC;AAE3V,eAAO,MAAM,8BAA8B,izDAAue,CAAC;AAEnhB,wBAAgB,mCAAmC,CAAC,YAAY,EAAE,IAAI,CAAC,qBAAqB,EAAE,gBAAgB,GAAG,eAAe,CAAC,EAAE,OAAO,GAAE,+BAAoC,GAAG,MAAM,CAqBxL"}
|
|
@@ -46,6 +46,10 @@ export function buildSpecialistMcpPriorityPrompt(profileName, mcpToolList) {
|
|
|
46
46
|
}
|
|
47
47
|
export function buildDataPresentationPrompt(capabilities, options = {}) {
|
|
48
48
|
const jsonFileExample = options.jsonFileExample || 'data.json';
|
|
49
|
+
// 上层应用有自己的输出格式(如 bi-json),跳过 create_report/show_widget 优先引导
|
|
50
|
+
if (options.skipOutputPriority) {
|
|
51
|
+
return `\n\n## 数据呈现(Data Presentation)\n\n当你从 MCP 工具获取到结构化数据后,按照你的 Skill 中定义的输出格式规范,将数据组织为结构化输出。`;
|
|
52
|
+
}
|
|
49
53
|
const prompt = capabilities.hasCreateReport
|
|
50
54
|
? `\n\n## 数据呈现(Data Presentation — HIGHEST PRIORITY)\n\n当你从 MCP 工具获取到结构化数据后,如果用户要求"总结"、"概览"、"分析"或"报告":\n\n**🥇 首选方案:\`create_report\` 工具(1 步完成)**\n传入结构化 JSON 数据,服务端自动生成主题化 HTML 报表(含 ECharts 图表、指标卡、数据表),自动保存为可预览的 artifact 卡片。\n- 支持的图表:bar(柱状图)、bar-horizontal(水平柱状图)、line(折线图)、pie(饼图)、doughnut(环形图)、radar(雷达图)、gauge(仪表盘)\n- 支持的 block:chart、table、tags、text、alerts、kv-list(键值对列表)\n- **不要手写 HTML 报表** — \`create_report\` 生成的 HTML 经过完整测试,无 CSS 缺失、无 ID 不匹配、无硬编码颜色\n- 数据较大时,先用 \`write_file\` 写入 JSON 文件(如 \`${jsonFileExample}\`),再调 \`create_report({ json_file: "${jsonFileExample}", ... })\`\n\n**⛔ create_report 铁律:**\n- 调用后 **绝对禁止** 再调 \`save_artifact\` 或 \`show_widget\`(已自动处理)\n- 不要在 JSON 参数中写 HTML 标签 — 只传结构化数据`
|
|
51
55
|
: `\n\n## 数据呈现(Data Presentation)\n\n当你从 MCP 工具获取到结构化数据后,如果用户要求"总结"、"概览"、"分析"或"报告",**优先使用 \`show_widget\` 渲染可视化报表**,而非纯文本 Markdown:\n- 用 ECharts 图表展示趋势、对比、分布(柱状图、饼图、折线图)\n- 用数据表格展示明细数据\n- 用指标卡展示关键数字\n- 使用 CSS 变量适配主题色,布局用 CSS Grid\n- Widget HTML 较大时(>1500字符),先用 \`write_file\` 写入 HTML 文件(如 \`report.html\`),再用 \`show_widget({ html_file: "report.html" })\` 渲染`;
|
|
@@ -61,9 +65,19 @@ export function buildSpecialistOutputBoundaryPrompt(capabilities, options = {})
|
|
|
61
65
|
}
|
|
62
66
|
if (!capabilities.hasOutputTools)
|
|
63
67
|
return '';
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
68
|
+
// 格式选择规则:优先使用自定义规则,其次使用默认规则,最后跳过
|
|
69
|
+
let formatRules = '';
|
|
70
|
+
if (options.customFormatRules !== undefined) {
|
|
71
|
+
// customFormatRules 显式传入(包括空字符串)→ 使用自定义内容
|
|
72
|
+
if (options.customFormatRules) {
|
|
73
|
+
formatRules = `\n\n**📌 格式选择规则(CRITICAL — 禁止违反):**\n${options.customFormatRules}`;
|
|
74
|
+
}
|
|
75
|
+
// customFormatRules 为空字符串 → 完全跳过格式选择规则
|
|
76
|
+
}
|
|
77
|
+
else if (options.includeDocumentFormatRules) {
|
|
78
|
+
// 向后兼容:未传 customFormatRules 但 includeDocumentFormatRules=true → 使用默认 HTML 优先规则
|
|
79
|
+
formatRules = `\n\n**📌 格式选择规则(CRITICAL — 禁止违反):**\n1. **默认使用 \`create_report\`(HTML)** — 除非用户明确指定了格式\n2. **禁止对同一内容生成多种格式** — 一次对话只生成一种格式的报告\n3. 用户说"报告/报表/总结/分析" → 用 \`create_report\`(HTML,支持交互图表)\n4. 用户明确说"PPT/演示" → 用 \`create_presentation\`\n5. 用户明确说"Word/文档" → 用 \`create_document\`\n6. 用户明确说"PDF" → 用 \`create_pdf\`\n7. **绝对禁止**:生成 HTML 后又生成 PDF/DOCX,或同时调用多个 create_* 工具`;
|
|
80
|
+
}
|
|
67
81
|
return `\n\n## ⛔ 输出边界规则(根据你的工具集自动生效)\n\n你是 **文档创作** 角色,专注于生成 PPT/DOCX/PDF/Report 等交付物。\n\n**关键规则:**\n- **create_presentation/create_document/create_pdf/create_report 会自动保存 artifact**,调用后绝对不要再调 save_artifact,否则产生重复文件\n- 数据文件(JSON/CSV)是中间产物,不要对它们调 save_artifact\n- 只对最终的文档输出文件(.pptx/.docx/.pdf/.html)调 save_artifact${formatRules}`;
|
|
68
82
|
}
|
|
69
83
|
//# sourceMappingURL=shared-fragments.js.map
|