@cicctencent/agent-core 0.1.69 → 0.1.72
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/a2a/client.d.ts +39 -11
- package/dist/cjs/a2a/client.d.ts.map +1 -1
- package/dist/cjs/a2a/client.js +69 -22
- package/dist/cjs/a2a/client.js.map +1 -1
- package/dist/cjs/a2a/rest-client.d.ts +35 -9
- package/dist/cjs/a2a/rest-client.d.ts.map +1 -1
- package/dist/cjs/a2a/rest-client.js +65 -18
- package/dist/cjs/a2a/rest-client.js.map +1 -1
- package/dist/cjs/a2a/rest-runner.d.ts +6 -0
- package/dist/cjs/a2a/rest-runner.d.ts.map +1 -1
- package/dist/cjs/a2a/rest-runner.js +19 -7
- package/dist/cjs/a2a/rest-runner.js.map +1 -1
- package/dist/cjs/a2a/runner.d.ts +6 -0
- package/dist/cjs/a2a/runner.d.ts.map +1 -1
- package/dist/cjs/a2a/runner.js +24 -7
- package/dist/cjs/a2a/runner.js.map +1 -1
- package/dist/cjs/agent/tool-executor.d.ts +4 -1
- package/dist/cjs/agent/tool-executor.d.ts.map +1 -1
- package/dist/cjs/agent/tool-executor.js +17 -2
- package/dist/cjs/agent/tool-executor.js.map +1 -1
- package/dist/cjs/index.d.ts +6 -3
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +15 -10
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/llm/debug.d.ts.map +1 -1
- package/dist/cjs/llm/debug.js +4 -1
- package/dist/cjs/llm/debug.js.map +1 -1
- package/dist/cjs/mcp/base-client.d.ts +19 -4
- package/dist/cjs/mcp/base-client.d.ts.map +1 -1
- package/dist/cjs/mcp/base-client.js +28 -8
- package/dist/cjs/mcp/base-client.js.map +1 -1
- package/dist/cjs/mcp/http-client.d.ts +5 -5
- package/dist/cjs/mcp/http-client.d.ts.map +1 -1
- package/dist/cjs/mcp/http-client.js +26 -21
- package/dist/cjs/mcp/http-client.js.map +1 -1
- package/dist/cjs/mcp/proxy-agent.d.ts +2 -50
- package/dist/cjs/mcp/proxy-agent.d.ts.map +1 -1
- package/dist/cjs/mcp/proxy-agent.js +12 -174
- package/dist/cjs/mcp/proxy-agent.js.map +1 -1
- package/dist/cjs/mcp/stdio-client.d.ts +1 -1
- package/dist/cjs/mcp/stdio-client.d.ts.map +1 -1
- package/dist/cjs/mcp/stdio-client.js +1 -1
- package/dist/cjs/mcp/stdio-client.js.map +1 -1
- package/dist/cjs/mcp/types.d.ts +8 -2
- package/dist/cjs/mcp/types.d.ts.map +1 -1
- package/dist/cjs/tool/delegate.d.ts +21 -1
- package/dist/cjs/tool/delegate.d.ts.map +1 -1
- package/dist/cjs/tool/delegate.js +44 -7
- package/dist/cjs/tool/delegate.js.map +1 -1
- package/dist/cjs/tool/types.d.ts +8 -0
- package/dist/cjs/tool/types.d.ts.map +1 -1
- package/dist/cjs/utils/header-vars.d.ts +18 -0
- package/dist/cjs/utils/header-vars.d.ts.map +1 -0
- package/dist/cjs/utils/header-vars.js +71 -0
- package/dist/cjs/utils/header-vars.js.map +1 -0
- package/dist/cjs/utils/proxy-agent.d.ts +53 -0
- package/dist/cjs/utils/proxy-agent.d.ts.map +1 -0
- package/dist/cjs/utils/proxy-agent.js +154 -0
- package/dist/cjs/utils/proxy-agent.js.map +1 -0
- package/dist/cjs/utils/proxy.d.ts +53 -0
- package/dist/cjs/utils/proxy.d.ts.map +1 -0
- package/dist/cjs/utils/proxy.js +148 -0
- package/dist/cjs/utils/proxy.js.map +1 -0
- package/dist/cjs/utils/system-proxy.d.ts +15 -0
- package/dist/cjs/utils/system-proxy.d.ts.map +1 -0
- package/dist/cjs/utils/system-proxy.js +133 -0
- package/dist/cjs/utils/system-proxy.js.map +1 -0
- package/dist/esm/a2a/client.d.ts +39 -11
- package/dist/esm/a2a/client.d.ts.map +1 -1
- package/dist/esm/a2a/client.js +69 -22
- package/dist/esm/a2a/client.js.map +1 -1
- package/dist/esm/a2a/rest-client.d.ts +35 -9
- package/dist/esm/a2a/rest-client.d.ts.map +1 -1
- package/dist/esm/a2a/rest-client.js +65 -18
- package/dist/esm/a2a/rest-client.js.map +1 -1
- package/dist/esm/a2a/rest-runner.d.ts +6 -0
- package/dist/esm/a2a/rest-runner.d.ts.map +1 -1
- package/dist/esm/a2a/rest-runner.js +19 -7
- package/dist/esm/a2a/rest-runner.js.map +1 -1
- package/dist/esm/a2a/runner.d.ts +6 -0
- package/dist/esm/a2a/runner.d.ts.map +1 -1
- package/dist/esm/a2a/runner.js +24 -7
- package/dist/esm/a2a/runner.js.map +1 -1
- package/dist/esm/agent/tool-executor.d.ts +4 -1
- package/dist/esm/agent/tool-executor.d.ts.map +1 -1
- package/dist/esm/agent/tool-executor.js +17 -2
- package/dist/esm/agent/tool-executor.js.map +1 -1
- package/dist/esm/index.d.ts +6 -3
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +3 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/llm/debug.d.ts.map +1 -1
- package/dist/esm/llm/debug.js +4 -1
- package/dist/esm/llm/debug.js.map +1 -1
- package/dist/esm/mcp/base-client.d.ts +19 -4
- package/dist/esm/mcp/base-client.d.ts.map +1 -1
- package/dist/esm/mcp/base-client.js +28 -8
- package/dist/esm/mcp/base-client.js.map +1 -1
- package/dist/esm/mcp/http-client.d.ts +5 -5
- package/dist/esm/mcp/http-client.d.ts.map +1 -1
- package/dist/esm/mcp/http-client.js +25 -20
- package/dist/esm/mcp/http-client.js.map +1 -1
- package/dist/esm/mcp/proxy-agent.d.ts +2 -50
- package/dist/esm/mcp/proxy-agent.d.ts.map +1 -1
- package/dist/esm/mcp/proxy-agent.js +7 -168
- package/dist/esm/mcp/proxy-agent.js.map +1 -1
- package/dist/esm/mcp/stdio-client.d.ts +1 -1
- package/dist/esm/mcp/stdio-client.d.ts.map +1 -1
- package/dist/esm/mcp/stdio-client.js +1 -1
- package/dist/esm/mcp/stdio-client.js.map +1 -1
- package/dist/esm/mcp/types.d.ts +8 -2
- package/dist/esm/mcp/types.d.ts.map +1 -1
- package/dist/esm/tool/delegate.d.ts +21 -1
- package/dist/esm/tool/delegate.d.ts.map +1 -1
- package/dist/esm/tool/delegate.js +44 -7
- package/dist/esm/tool/delegate.js.map +1 -1
- package/dist/esm/tool/types.d.ts +8 -0
- package/dist/esm/tool/types.d.ts.map +1 -1
- package/dist/esm/utils/header-vars.d.ts +18 -0
- package/dist/esm/utils/header-vars.d.ts.map +1 -0
- package/dist/esm/utils/header-vars.js +65 -0
- package/dist/esm/utils/header-vars.js.map +1 -0
- package/dist/esm/utils/proxy-agent.d.ts +53 -0
- package/dist/esm/utils/proxy-agent.d.ts.map +1 -0
- package/dist/esm/utils/proxy-agent.js +115 -0
- package/dist/esm/utils/proxy-agent.js.map +1 -0
- package/dist/esm/utils/proxy.d.ts +53 -0
- package/dist/esm/utils/proxy.d.ts.map +1 -0
- package/dist/esm/utils/proxy.js +109 -0
- package/dist/esm/utils/proxy.js.map +1 -0
- package/dist/esm/utils/system-proxy.d.ts +15 -0
- package/dist/esm/utils/system-proxy.d.ts.map +1 -0
- package/dist/esm/utils/system-proxy.js +128 -0
- package/dist/esm/utils/system-proxy.js.map +1 -0
- package/package.json +1 -1
|
@@ -3,21 +3,21 @@ import type { MCPServerConfig } from './types.js';
|
|
|
3
3
|
export declare class HttpMCPClient extends MCPClientBase {
|
|
4
4
|
private endpoint;
|
|
5
5
|
private sessionId?;
|
|
6
|
-
private
|
|
7
|
-
/**
|
|
8
|
-
private
|
|
6
|
+
private proxyDispatcher?;
|
|
7
|
+
/** 用户自定义请求头模板(值可含 ${vars.x} / ${env.x} 占位符,发送时解析) */
|
|
8
|
+
private headerTemplates?;
|
|
9
9
|
/** 结构化鉴权配置 */
|
|
10
10
|
private authConfig?;
|
|
11
11
|
protected doConnect(config: MCPServerConfig): Promise<void>;
|
|
12
12
|
protected doDisconnect(): void;
|
|
13
|
-
/** 根据 auth
|
|
13
|
+
/** 根据 auth 配置生成鉴权请求头(value 支持 ${vars.x} / ${env.x} 模板)。vars 随请求显式传入,避免共享状态。 */
|
|
14
14
|
private buildAuthHeaders;
|
|
15
15
|
protected send(request: {
|
|
16
16
|
jsonrpc: string;
|
|
17
17
|
id: number;
|
|
18
18
|
method: string;
|
|
19
19
|
params?: Record<string, unknown>;
|
|
20
|
-
}): void;
|
|
20
|
+
}, vars?: Record<string, unknown>): void;
|
|
21
21
|
/** 解析 SSE 文本块中的 JSON-RPC 响应 */
|
|
22
22
|
private parseSSE;
|
|
23
23
|
private headersToObject;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/mcp/http-client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../../src/mcp/http-client.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAIlD,qBAAa,aAAc,SAAQ,aAAa;IAC9C,OAAO,CAAC,QAAQ,CAAM;IACtB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,eAAe,CAAC,CAAiB;IACzC,qDAAqD;IACrD,OAAO,CAAC,eAAe,CAAC,CAAyB;IACjD,cAAc;IACd,OAAO,CAAC,UAAU,CAAC,CAAiD;cACpD,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAYjE,SAAS,CAAC,YAAY,IAAI,IAAI;IAS9B,+EAA+E;IAC/E,OAAO,CAAC,gBAAgB;IAmBxB,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAgHhJ,+BAA+B;IAC/B,OAAO,CAAC,QAAQ;IAmBhB,OAAO,CAAC,eAAe;IAMvB,OAAO,CAAC,kBAAkB;CAe3B"}
|
|
@@ -5,13 +5,14 @@
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.HttpMCPClient = void 0;
|
|
7
7
|
const base_client_ts_1 = require("./base-client.js");
|
|
8
|
-
const
|
|
8
|
+
const proxy_ts_1 = require("../utils/proxy.js");
|
|
9
|
+
const header_vars_ts_1 = require("../utils/header-vars.js");
|
|
9
10
|
class HttpMCPClient extends base_client_ts_1.MCPClientBase {
|
|
10
11
|
endpoint = '';
|
|
11
12
|
sessionId;
|
|
12
|
-
|
|
13
|
-
/**
|
|
14
|
-
|
|
13
|
+
proxyDispatcher;
|
|
14
|
+
/** 用户自定义请求头模板(值可含 ${vars.x} / ${env.x} 占位符,发送时解析) */
|
|
15
|
+
headerTemplates;
|
|
15
16
|
/** 结构化鉴权配置 */
|
|
16
17
|
authConfig;
|
|
17
18
|
async doConnect(config) {
|
|
@@ -19,38 +20,41 @@ class HttpMCPClient extends base_client_ts_1.MCPClientBase {
|
|
|
19
20
|
throw new Error(`${config.transport} transport requires an "endpoint" URL in config`);
|
|
20
21
|
}
|
|
21
22
|
this.endpoint = config.endpoint;
|
|
22
|
-
this.proxyUrl = (0,
|
|
23
|
-
this.
|
|
23
|
+
this.proxyUrl = (0, proxy_ts_1.resolveProxyAgentForCategory)(config.proxyCategory, 'MCP:HTTP');
|
|
24
|
+
this.proxyDispatcher = await (0, proxy_ts_1.createProxyDispatcher)(this.proxyUrl);
|
|
25
|
+
this.headerTemplates = config.headers;
|
|
24
26
|
this.authConfig = config.auth;
|
|
25
27
|
this.onDebugTrace = config.onDebugTrace;
|
|
26
28
|
}
|
|
27
29
|
doDisconnect() {
|
|
28
30
|
this.endpoint = '';
|
|
29
31
|
this.sessionId = undefined;
|
|
30
|
-
this.
|
|
32
|
+
this.headerTemplates = undefined;
|
|
31
33
|
this.authConfig = undefined;
|
|
32
34
|
this.proxyUrl = undefined;
|
|
35
|
+
this.proxyDispatcher = undefined;
|
|
33
36
|
}
|
|
34
|
-
/** 根据 auth
|
|
35
|
-
buildAuthHeaders() {
|
|
37
|
+
/** 根据 auth 配置生成鉴权请求头(value 支持 ${vars.x} / ${env.x} 模板)。vars 随请求显式传入,避免共享状态。 */
|
|
38
|
+
buildAuthHeaders(vars) {
|
|
36
39
|
if (!this.authConfig)
|
|
37
40
|
return {};
|
|
38
41
|
const { type, value, name } = this.authConfig;
|
|
42
|
+
const resolved = (0, header_vars_ts_1.interpolateHeaderValue)(value, vars);
|
|
39
43
|
switch (type) {
|
|
40
44
|
case 'bearer':
|
|
41
|
-
return { Authorization: `Bearer ${
|
|
45
|
+
return { Authorization: `Bearer ${resolved}` };
|
|
42
46
|
case 'basic':
|
|
43
47
|
// value 已是 base64(user:pass) 编码
|
|
44
|
-
return { Authorization: `Basic ${
|
|
48
|
+
return { Authorization: `Basic ${resolved}` };
|
|
45
49
|
case 'apiKey':
|
|
46
|
-
return { [name || 'X-API-Key']:
|
|
50
|
+
return { [name || 'X-API-Key']: resolved };
|
|
47
51
|
case 'custom':
|
|
48
|
-
return { [name || 'X-Custom-Auth']:
|
|
52
|
+
return { [name || 'X-Custom-Auth']: resolved };
|
|
49
53
|
default:
|
|
50
54
|
return {};
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
|
-
send(request) {
|
|
57
|
+
send(request, vars) {
|
|
54
58
|
// 通知(id=0)不需要响应,用 fire-and-forget
|
|
55
59
|
const isNotification = request.id === 0;
|
|
56
60
|
const headers = {
|
|
@@ -62,22 +66,23 @@ class HttpMCPClient extends base_client_ts_1.MCPClientBase {
|
|
|
62
66
|
headers['Mcp-Session-Id'] = this.sessionId;
|
|
63
67
|
}
|
|
64
68
|
// 注入结构化鉴权头(优先于自定义 headers,确保鉴权不被覆盖)
|
|
65
|
-
Object.assign(headers, this.buildAuthHeaders());
|
|
66
|
-
//
|
|
67
|
-
|
|
68
|
-
|
|
69
|
+
Object.assign(headers, this.buildAuthHeaders(vars));
|
|
70
|
+
// 注入用户自定义请求头(最后注入,允许覆盖默认值;支持 ${vars.x}/${env.x} 模板)
|
|
71
|
+
// vars 随本次请求显式传入,同一客户端并发调用互不干扰
|
|
72
|
+
if (this.headerTemplates) {
|
|
73
|
+
Object.assign(headers, (0, header_vars_ts_1.resolveHeaderTemplates)(this.headerTemplates, vars));
|
|
69
74
|
}
|
|
70
75
|
const body = JSON.stringify(request);
|
|
71
76
|
const startTime = Date.now();
|
|
72
|
-
// 使用 Node.js
|
|
77
|
+
// 使用 undici ProxyAgent dispatcher 支持代理(Node.js 原生 fetch 不支持 proxy 选项)
|
|
73
78
|
const fetchOptions = {
|
|
74
79
|
method: 'POST',
|
|
75
80
|
headers,
|
|
76
81
|
body,
|
|
77
82
|
signal: isNotification ? AbortSignal.timeout(10000) : undefined,
|
|
78
83
|
};
|
|
79
|
-
if (this.
|
|
80
|
-
fetchOptions.
|
|
84
|
+
if (this.proxyDispatcher)
|
|
85
|
+
fetchOptions.dispatcher = this.proxyDispatcher;
|
|
81
86
|
fetch(this.endpoint, fetchOptions).then(async (res) => {
|
|
82
87
|
if (isNotification)
|
|
83
88
|
return;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/mcp/http-client.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,yCAAyC;AACzC,+DAA+D;;;AAE/D,qDAAiD;AAEjD,
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/mcp/http-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,51 +1,3 @@
|
|
|
1
|
-
|
|
2
|
-
export type ProxyMode
|
|
3
|
-
/** 单分类代理配置 */
|
|
4
|
-
export interface ProxyCategoryConfig {
|
|
5
|
-
mode: ProxyMode;
|
|
6
|
-
/** mode='custom' 时的代理 URL */
|
|
7
|
-
url?: string;
|
|
8
|
-
}
|
|
9
|
-
/** 分类代理设置(LLM / MCP / Fetch 各自独立) */
|
|
10
|
-
export interface ProxySettings {
|
|
11
|
-
llm: ProxyCategoryConfig;
|
|
12
|
-
mcp: ProxyCategoryConfig;
|
|
13
|
-
fetch: ProxyCategoryConfig;
|
|
14
|
-
}
|
|
15
|
-
/** 默认代理设置:全部分类走系统代理 */
|
|
16
|
-
export declare const DEFAULT_PROXY_SETTINGS: ProxySettings;
|
|
17
|
-
/**
|
|
18
|
-
* 从 Windows 注册表读取系统代理配置
|
|
19
|
-
* 仅 Windows 平台生效,其他平台返回 undefined
|
|
20
|
-
* 结果缓存,避免重复查询注册表
|
|
21
|
-
*/
|
|
22
|
-
export declare function getWindowsSystemProxy(): string | undefined;
|
|
23
|
-
/** 清除系统代理缓存(设置变更时可调用) */
|
|
24
|
-
export declare function clearSystemProxyCache(): void;
|
|
25
|
-
/**
|
|
26
|
-
* 获取系统代理 URL
|
|
27
|
-
* 优先级:环境变量 HTTPS_PROXY / HTTP_PROXY / ALL_PROXY > macOS scutil > Windows 注册表
|
|
28
|
-
*/
|
|
29
|
-
export declare function getSystemProxyUrl(): string | undefined;
|
|
30
|
-
/**
|
|
31
|
-
* 根据分类代理配置解析代理 URL
|
|
32
|
-
*
|
|
33
|
-
* - `mode='system'`:自动检测系统代理(环境变量 + macOS scutil + Windows 注册表)
|
|
34
|
-
* - `mode='custom'`:使用用户指定的代理 URL
|
|
35
|
-
* - `mode='direct'`:不走代理,返回 undefined
|
|
36
|
-
*
|
|
37
|
-
* 返回的 URL 可直接传给 Node.js 22.17+ 内置 fetch() 的 proxy 选项,
|
|
38
|
-
* 支持 http://、https://、socks4://、socks5:// 协议。
|
|
39
|
-
*
|
|
40
|
-
* @param category 分类代理配置
|
|
41
|
-
* @param label 日志标签(如 'LLM', 'MCP', 'Fetch')
|
|
42
|
-
* @returns 代理 URL 字符串,无代理时返回 undefined
|
|
43
|
-
*/
|
|
44
|
-
export declare function resolveProxyAgentForCategory(category?: ProxyCategoryConfig, label?: string): string | undefined;
|
|
45
|
-
/**
|
|
46
|
-
* 获取分类代理的有效 URL(用于 axios 等 HTTP 客户端)
|
|
47
|
-
*
|
|
48
|
-
* @returns 代理 URL 字符串,无代理时返回 undefined
|
|
49
|
-
*/
|
|
50
|
-
export declare function resolveProxyUrlForCategory(category?: ProxyCategoryConfig): string | undefined;
|
|
1
|
+
export { DEFAULT_PROXY_SETTINGS, resolveProxyAgentForCategory, createProxyDispatcher, resolveProxyUrlForCategory, } from '../utils/proxy.js';
|
|
2
|
+
export type { ProxyAgentType, ProxyMode, ProxyCategoryConfig, ProxySettings, } from '../utils/proxy.js';
|
|
51
3
|
//# sourceMappingURL=proxy-agent.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-agent.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy-agent.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"proxy-agent.d.ts","sourceRoot":"","sources":["../../../src/mcp/proxy-agent.ts"],"names":[],"mappings":"AASA,OAAO,EACL,sBAAsB,EACtB,4BAA4B,EAC5B,qBAAqB,EACrB,0BAA0B,GAC3B,MAAM,mBAAmB,CAAC;AAE3B,YAAY,EACV,cAAc,EACd,SAAS,EACT,mBAAmB,EACnB,aAAa,GACd,MAAM,mBAAmB,CAAC"}
|
|
@@ -1,179 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// ============================================================
|
|
3
|
-
//
|
|
3
|
+
// Deprecated re-export shim
|
|
4
4
|
// ============================================================
|
|
5
|
+
//
|
|
6
|
+
// 通用代理逻辑已迁移至 utils/proxy.ts。
|
|
7
|
+
// 此文件仅保留作为向后兼容的浅层 re-export,避免外部深层导入
|
|
8
|
+
// (如 `agent-core/mcp/proxy-agent`)失效。新代码请改为从
|
|
9
|
+
// `utils/proxy` 导入。
|
|
5
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.DEFAULT_PROXY_SETTINGS = void 0;
|
|
7
|
-
|
|
8
|
-
exports.
|
|
9
|
-
exports.
|
|
10
|
-
exports.
|
|
11
|
-
exports
|
|
12
|
-
const child_process_1 = require("child_process");
|
|
13
|
-
/** 默认代理设置:全部分类走系统代理 */
|
|
14
|
-
exports.DEFAULT_PROXY_SETTINGS = {
|
|
15
|
-
llm: { mode: 'system' },
|
|
16
|
-
mcp: { mode: 'system' },
|
|
17
|
-
fetch: { mode: 'system' },
|
|
18
|
-
};
|
|
19
|
-
// ---- macOS 系统代理检测 ----
|
|
20
|
-
/**
|
|
21
|
-
* 从 macOS 系统偏好设置读取代理配置
|
|
22
|
-
* 通过 scutil --proxy 查询,仅 macOS 平台生效
|
|
23
|
-
*/
|
|
24
|
-
function getMacOSSystemProxy() {
|
|
25
|
-
if (process.platform !== 'darwin')
|
|
26
|
-
return undefined;
|
|
27
|
-
try {
|
|
28
|
-
const output = (0, child_process_1.execSync)('scutil --proxy', { encoding: 'utf-8', timeout: 3000 });
|
|
29
|
-
const parsed = {};
|
|
30
|
-
// scutil 输出格式: " Key : Value"
|
|
31
|
-
for (const line of output.split('\n')) {
|
|
32
|
-
const m = line.trim().match(/^(\w+)\s*:\s*(.+)$/);
|
|
33
|
-
if (m)
|
|
34
|
-
parsed[m[1]] = m[2].trim();
|
|
35
|
-
}
|
|
36
|
-
// 优先 HTTPS 代理,其次 HTTP 代理,最后 SOCKS 代理
|
|
37
|
-
if (parsed['HTTPSEnable'] === '1' && parsed['HTTPSProxy']) {
|
|
38
|
-
const port = parsed['HTTPSPort'] || '443';
|
|
39
|
-
const url = `http://${parsed['HTTPSProxy']}:${port}`;
|
|
40
|
-
console.debug(`[Proxy] macOS system HTTPS proxy detected: ${url}`);
|
|
41
|
-
return url;
|
|
42
|
-
}
|
|
43
|
-
if (parsed['HTTPEnable'] === '1' && parsed['HTTPProxy']) {
|
|
44
|
-
const port = parsed['HTTPPort'] || '80';
|
|
45
|
-
const url = `http://${parsed['HTTPProxy']}:${port}`;
|
|
46
|
-
console.debug(`[Proxy] macOS system HTTP proxy detected: ${url}`);
|
|
47
|
-
return url;
|
|
48
|
-
}
|
|
49
|
-
if (parsed['SOCKSEnable'] === '1' && parsed['SOCKSProxy']) {
|
|
50
|
-
const port = parsed['SOCKSPort'] || '1080';
|
|
51
|
-
const url = `socks5://${parsed['SOCKSProxy']}:${port}`;
|
|
52
|
-
console.debug(`[Proxy] macOS system SOCKS proxy detected: ${url}`);
|
|
53
|
-
return url;
|
|
54
|
-
}
|
|
55
|
-
return undefined;
|
|
56
|
-
}
|
|
57
|
-
catch {
|
|
58
|
-
return undefined;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
// ---- Windows 系统代理检测 ----
|
|
62
|
-
let _cachedSystemProxy = null;
|
|
63
|
-
/**
|
|
64
|
-
* 从 Windows 注册表读取系统代理配置
|
|
65
|
-
* 仅 Windows 平台生效,其他平台返回 undefined
|
|
66
|
-
* 结果缓存,避免重复查询注册表
|
|
67
|
-
*/
|
|
68
|
-
function getWindowsSystemProxy() {
|
|
69
|
-
if (_cachedSystemProxy !== null)
|
|
70
|
-
return _cachedSystemProxy || undefined;
|
|
71
|
-
if (process.platform !== 'win32') {
|
|
72
|
-
_cachedSystemProxy = undefined;
|
|
73
|
-
return undefined;
|
|
74
|
-
}
|
|
75
|
-
try {
|
|
76
|
-
const regPath = 'HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings';
|
|
77
|
-
const output = (0, child_process_1.execSync)(`reg query "${regPath}" /v ProxyEnable`, { encoding: 'utf-8', timeout: 3000, windowsHide: true });
|
|
78
|
-
const enabledMatch = output.match(/ProxyEnable\s+REG_DWORD\s+0x(\d+)/i);
|
|
79
|
-
if (!enabledMatch || enabledMatch[1] === '0') {
|
|
80
|
-
_cachedSystemProxy = undefined;
|
|
81
|
-
return undefined;
|
|
82
|
-
}
|
|
83
|
-
const serverOutput = (0, child_process_1.execSync)(`reg query "${regPath}" /v ProxyServer`, { encoding: 'utf-8', timeout: 3000, windowsHide: true });
|
|
84
|
-
const serverMatch = serverOutput.match(/ProxyServer\s+REG_SZ\s+(.+)/i);
|
|
85
|
-
if (!serverMatch) {
|
|
86
|
-
_cachedSystemProxy = undefined;
|
|
87
|
-
return undefined;
|
|
88
|
-
}
|
|
89
|
-
const proxyServer = serverMatch[1].trim();
|
|
90
|
-
// Windows 代理可能是 ip:port 格式,需要补全协议
|
|
91
|
-
const proxyUrl = proxyServer.includes('://') ? proxyServer : `http://${proxyServer}`;
|
|
92
|
-
_cachedSystemProxy = proxyUrl;
|
|
93
|
-
console.debug(`[Proxy] Windows system proxy detected: ${proxyUrl}`);
|
|
94
|
-
return proxyUrl;
|
|
95
|
-
}
|
|
96
|
-
catch {
|
|
97
|
-
_cachedSystemProxy = undefined;
|
|
98
|
-
return undefined;
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
/** 清除系统代理缓存(设置变更时可调用) */
|
|
102
|
-
function clearSystemProxyCache() {
|
|
103
|
-
_cachedSystemProxy = null;
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* 获取系统代理 URL
|
|
107
|
-
* 优先级:环境变量 HTTPS_PROXY / HTTP_PROXY / ALL_PROXY > macOS scutil > Windows 注册表
|
|
108
|
-
*/
|
|
109
|
-
function getSystemProxyUrl() {
|
|
110
|
-
return process.env.HTTPS_PROXY
|
|
111
|
-
|| process.env.https_proxy
|
|
112
|
-
|| process.env.HTTP_PROXY
|
|
113
|
-
|| process.env.http_proxy
|
|
114
|
-
|| process.env.ALL_PROXY
|
|
115
|
-
|| process.env.all_proxy
|
|
116
|
-
|| getMacOSSystemProxy()
|
|
117
|
-
|| getWindowsSystemProxy();
|
|
118
|
-
}
|
|
119
|
-
// ---- Proxy URL 解析 ----
|
|
120
|
-
/**
|
|
121
|
-
* 根据分类代理配置解析代理 URL
|
|
122
|
-
*
|
|
123
|
-
* - `mode='system'`:自动检测系统代理(环境变量 + macOS scutil + Windows 注册表)
|
|
124
|
-
* - `mode='custom'`:使用用户指定的代理 URL
|
|
125
|
-
* - `mode='direct'`:不走代理,返回 undefined
|
|
126
|
-
*
|
|
127
|
-
* 返回的 URL 可直接传给 Node.js 22.17+ 内置 fetch() 的 proxy 选项,
|
|
128
|
-
* 支持 http://、https://、socks4://、socks5:// 协议。
|
|
129
|
-
*
|
|
130
|
-
* @param category 分类代理配置
|
|
131
|
-
* @param label 日志标签(如 'LLM', 'MCP', 'Fetch')
|
|
132
|
-
* @returns 代理 URL 字符串,无代理时返回 undefined
|
|
133
|
-
*/
|
|
134
|
-
function resolveProxyAgentForCategory(category, label = 'Proxy') {
|
|
135
|
-
if (!category)
|
|
136
|
-
return undefined;
|
|
137
|
-
let proxyUrl;
|
|
138
|
-
switch (category.mode) {
|
|
139
|
-
case 'direct':
|
|
140
|
-
console.debug(`[${label}] proxy mode: direct (no proxy)`);
|
|
141
|
-
return undefined;
|
|
142
|
-
case 'custom':
|
|
143
|
-
if (!category.url) {
|
|
144
|
-
console.debug(`[${label}] proxy mode: custom but no URL configured, falling back to direct`);
|
|
145
|
-
return undefined;
|
|
146
|
-
}
|
|
147
|
-
proxyUrl = category.url;
|
|
148
|
-
break;
|
|
149
|
-
case 'system':
|
|
150
|
-
default:
|
|
151
|
-
proxyUrl = getSystemProxyUrl();
|
|
152
|
-
if (!proxyUrl) {
|
|
153
|
-
console.debug(`[${label}] proxy mode: system, no system proxy detected`);
|
|
154
|
-
return undefined;
|
|
155
|
-
}
|
|
156
|
-
break;
|
|
157
|
-
}
|
|
158
|
-
console.debug(`[${label}] using proxy: ${proxyUrl}`);
|
|
159
|
-
return proxyUrl;
|
|
160
|
-
}
|
|
161
|
-
/**
|
|
162
|
-
* 获取分类代理的有效 URL(用于 axios 等 HTTP 客户端)
|
|
163
|
-
*
|
|
164
|
-
* @returns 代理 URL 字符串,无代理时返回 undefined
|
|
165
|
-
*/
|
|
166
|
-
function resolveProxyUrlForCategory(category) {
|
|
167
|
-
if (!category)
|
|
168
|
-
return undefined;
|
|
169
|
-
switch (category.mode) {
|
|
170
|
-
case 'direct':
|
|
171
|
-
return undefined;
|
|
172
|
-
case 'custom':
|
|
173
|
-
return category.url || undefined;
|
|
174
|
-
case 'system':
|
|
175
|
-
default:
|
|
176
|
-
return getSystemProxyUrl();
|
|
177
|
-
}
|
|
178
|
-
}
|
|
11
|
+
exports.resolveProxyUrlForCategory = exports.createProxyDispatcher = exports.resolveProxyAgentForCategory = exports.DEFAULT_PROXY_SETTINGS = void 0;
|
|
12
|
+
var proxy_ts_1 = require("../utils/proxy.js");
|
|
13
|
+
Object.defineProperty(exports, "DEFAULT_PROXY_SETTINGS", { enumerable: true, get: function () { return proxy_ts_1.DEFAULT_PROXY_SETTINGS; } });
|
|
14
|
+
Object.defineProperty(exports, "resolveProxyAgentForCategory", { enumerable: true, get: function () { return proxy_ts_1.resolveProxyAgentForCategory; } });
|
|
15
|
+
Object.defineProperty(exports, "createProxyDispatcher", { enumerable: true, get: function () { return proxy_ts_1.createProxyDispatcher; } });
|
|
16
|
+
Object.defineProperty(exports, "resolveProxyUrlForCategory", { enumerable: true, get: function () { return proxy_ts_1.resolveProxyUrlForCategory; } });
|
|
179
17
|
//# sourceMappingURL=proxy-agent.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-agent.js","sourceRoot":"","sources":["../../../src/mcp/proxy-agent.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,
|
|
1
|
+
{"version":3,"file":"proxy-agent.js","sourceRoot":"","sources":["../../../src/mcp/proxy-agent.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,4BAA4B;AAC5B,+DAA+D;AAC/D,EAAE;AACF,6BAA6B;AAC7B,qCAAqC;AACrC,6CAA6C;AAC7C,oBAAoB;;;AAEpB,8CAK2B;AAJzB,kHAAA,sBAAsB,OAAA;AACtB,wHAAA,4BAA4B,OAAA;AAC5B,iHAAA,qBAAqB,OAAA;AACrB,sHAAA,0BAA0B,OAAA"}
|
|
@@ -10,7 +10,7 @@ export declare class StdioMCPClient extends MCPClientBase {
|
|
|
10
10
|
id: number;
|
|
11
11
|
method: string;
|
|
12
12
|
params?: Record<string, unknown>;
|
|
13
|
-
}): void;
|
|
13
|
+
}, _vars?: Record<string, unknown>): void;
|
|
14
14
|
private flushBuffer;
|
|
15
15
|
}
|
|
16
16
|
//# sourceMappingURL=stdio-client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio-client.d.ts","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAM;cACJ,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFjE,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"stdio-client.d.ts","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAElD,qBAAa,cAAe,SAAQ,aAAa;IAC/C,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAAM;cACJ,SAAS,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAkFjE,SAAS,CAAC,YAAY,IAAI,IAAI;IAQ9B,SAAS,CAAC,IAAI,CAAC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAiCjJ,OAAO,CAAC,WAAW;CAkBpB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stdio-client.js","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,2CAA2C;AAC3C,+DAA+D;;;AAE/D,iDAAyD;AACzD,qDAAiD;AAGjD,MAAa,cAAe,SAAQ,8BAAa;IACvC,OAAO,GAAwB,IAAI,CAAC;IACpC,MAAM,GAAG,EAAE,CAAC;IACV,KAAK,CAAC,SAAS,CAAC,MAAuB;QAC/C,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;QACpE,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QAExC,OAAO,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,MAAM,KAAK,GAAG,IAAA,qBAAK,EAAC,MAAM,CAAC,OAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE,EAAE;gBACtD,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,EAAE;gBAC9C,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;aAChC,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,GAAG,KAAK,CAAC;YAErB,OAAO;YACP,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC5B,MAAM,MAAM,GAAG,qBAAqB,MAAM,CAAC,IAAI,8BAA8B,CAAC;gBAC9E,IAAI,CAAC,cAAc,CAAC;oBAClB,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,gBAAgB;oBACvB,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;oBACvC,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;oBAC/H,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;YAC5B,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,cAAc,CAAC;oBAClB,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;oBACvC,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;oBAC/H,OAAO,EAAE,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;iBAC5B,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE;gBACxB,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,IAAI,CAAC,cAAc,CAAC;oBAClB,IAAI,EAAE,eAAe;oBACrB,KAAK,EAAE,kBAAkB;oBACzB,QAAQ,EAAE,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,IAAI;oBACvC,OAAO,EAAE,EAAE,GAAG,EAAE,SAAS,MAAM,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,EAAE;oBAC/H,KAAK,EAAE,GAAG,CAAC,OAAO;oBAClB,SAAS,EAAE,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,OAAO,EAAE,IAAI,EAAG,GAAW,CAAC,IAAI,EAAE;iBAC7E,CAAC,CAAC;gBACH,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,MAAM,CAAC,IAAI,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;YAEH,4BAA4B;YAC5B,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,IAAI,CAAC,MAAM,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;gBAChC,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,cAAc;YACd,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE;gBACzC,MAAM,GAAG,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;gBACpC,IAAI,GAAG;oBAAE,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YAEH,iDAAiD;YACjD,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;gBACtD,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBACzB,OAAO,CAAC,KAAK,CAAC,QAAQ,MAAM,CAAC,IAAI,kBAAkB,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBACxB,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;oBACnB,OAAO,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,IAAI,8BAA8B,IAAI,EAAE,CAAC,CAAC;oBACtE,2BAA2B;oBAC3B,IAAI,CAAC,UAAU,EAAE,CAAC;gBACpB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAES,YAAY;QACpB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAC7B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,EAAE,CAAC;IACnB,CAAC;IAES,IAAI,CAAC,OAA0F;
|
|
1
|
+
{"version":3,"file":"stdio-client.js","sourceRoot":"","sources":["../../../src/mcp/stdio-client.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/mcp/types.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ToolDefinition } from '../tool/types.js';
|
|
2
|
-
import type { ProxyCategoryConfig } from '
|
|
2
|
+
import type { ProxyCategoryConfig } from '../utils/proxy.js';
|
|
3
3
|
import type { AgentDebugTraceHandler } from '../a2a/client.js';
|
|
4
4
|
export type MCPTransport = 'stdio' | 'http' | 'sse' | 'streamableHttp' | (string & {});
|
|
5
5
|
export interface MCPServerConfig {
|
|
@@ -37,6 +37,12 @@ export interface MCPServerConfig {
|
|
|
37
37
|
proxyCategory?: ProxyCategoryConfig;
|
|
38
38
|
/** 扩展配置(自定义 transport 的专属数据统一放在此处) */
|
|
39
39
|
extra?: Record<string, unknown>;
|
|
40
|
+
/**
|
|
41
|
+
* 运行时变量(如 { userId, userMail })。
|
|
42
|
+
* 注入到 headers / auth 的模板占位符中(${vars.x})。
|
|
43
|
+
* 也可在调用 callTool(name, args, vars) 时按需覆盖。
|
|
44
|
+
*/
|
|
45
|
+
vars?: Record<string, unknown>;
|
|
40
46
|
/** 调试 trace 回调;未传时保持原始执行流程 */
|
|
41
47
|
onDebugTrace?: AgentDebugTraceHandler;
|
|
42
48
|
}
|
|
@@ -46,7 +52,7 @@ export interface MCPClient {
|
|
|
46
52
|
/** 发现远程工具列表 */
|
|
47
53
|
listTools(): Promise<ToolDefinition[]>;
|
|
48
54
|
/** 调用远程工具 */
|
|
49
|
-
callTool(name: string, args: Record<string, unknown>): Promise<string>;
|
|
55
|
+
callTool(name: string, args: Record<string, unknown>, vars?: Record<string, unknown>): Promise<string>;
|
|
50
56
|
/** 发现远程资源列表(可选能力) */
|
|
51
57
|
listResources?(): Promise<Array<{
|
|
52
58
|
uri: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/mcp/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAI/D,MAAM,MAAM,YAAY,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,GAAG,gBAAgB,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEvF,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,YAAY,CAAC;IACxB,oBAAoB;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oBAAoB;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sCAAsC;IACtC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,qEAAqE;IACrE,IAAI,CAAC,EAAE;QAAE,IAAI,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACxF,eAAe;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa;IACb,aAAa,CAAC,EAAE,OAAO,GAAG;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACrE;;;;;OAKG;IACH,aAAa,CAAC,EAAE,mBAAmB,CAAC;IACpC,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC;;;;OAIG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,8BAA8B;IAC9B,YAAY,CAAC,EAAE,sBAAsB,CAAC;CACvC;AAID,MAAM,WAAW,SAAS;IACxB,gBAAgB;IAChB,OAAO,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEhD,eAAe;IACf,SAAS,IAAI,OAAO,CAAC,cAAc,EAAE,CAAC,CAAC;IAEvC,aAAa;IACb,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvG,qBAAqB;IACrB,aAAa,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC,CAAC;IAEtF,mBAAmB;IACnB,YAAY,CAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE5C,WAAW;IACX,UAAU,IAAI,IAAI,CAAC;IAEnB,WAAW;IACX,WAAW,IAAI,OAAO,CAAC;CACxB"}
|
|
@@ -7,10 +7,24 @@ import type { StructuredAgentOutput, WorkflowRole } from '../agent/workflow.js';
|
|
|
7
7
|
export interface SubAgentRunOptions {
|
|
8
8
|
role?: WorkflowRole | string;
|
|
9
9
|
structured?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* 流式输出回调:每次子 Agent 产生新内容时调用,传入累积内容。
|
|
12
|
+
* 用于超时场景下保留部分结果。若设置了超时,executor 会自动传入此回调。
|
|
13
|
+
*/
|
|
14
|
+
onPartial?: (content: string) => void;
|
|
10
15
|
}
|
|
11
16
|
export interface SubAgentRunResult {
|
|
12
17
|
content: string;
|
|
13
18
|
structured?: StructuredAgentOutput;
|
|
19
|
+
/**
|
|
20
|
+
* 执行过程中产生的部分结果(流式输出累积)。
|
|
21
|
+
* 即使子 Agent 最终出错,partialContent 中已获取的内容也会被保留并返回给主 Agent。
|
|
22
|
+
*/
|
|
23
|
+
partialContent?: string;
|
|
24
|
+
/**
|
|
25
|
+
* 执行过程中遇到的错误列表(非致命错误,子 Agent 可能已产出部分结果)。
|
|
26
|
+
*/
|
|
27
|
+
errors?: string[];
|
|
14
28
|
}
|
|
15
29
|
export type SubAgentRunResponse = string | SubAgentRunResult;
|
|
16
30
|
export interface SubAgentRunner {
|
|
@@ -26,6 +40,11 @@ export interface SubAgentRunner {
|
|
|
26
40
|
keywords?: string[];
|
|
27
41
|
/** 排他性范围:当用户意图落在此范围内时,此 Agent 可独立完成任务,无需调用其他 Agent */
|
|
28
42
|
exclusiveScope?: string[];
|
|
43
|
+
/**
|
|
44
|
+
* 该子 Agent 的委派超时时间(毫秒)。
|
|
45
|
+
* 若设置,则覆盖 createDelegateTool 传入的全局 timeoutMs;不设置时回退到全局超时。
|
|
46
|
+
*/
|
|
47
|
+
timeoutMs?: number;
|
|
29
48
|
/** 动态输入字段元数据,供 delegate_task 生成 LLM 引导文案(仅多字段场景填充) */
|
|
30
49
|
inputFields?: SubAgentInputField[];
|
|
31
50
|
/** 执行子任务,返回结果文本或结构化结果 */
|
|
@@ -47,7 +66,8 @@ export interface SubAgentInputField {
|
|
|
47
66
|
*
|
|
48
67
|
* @param runners 可用的子 Agent 列表(由上层注入)
|
|
49
68
|
* @param options 可选配置
|
|
50
|
-
* - timeoutMs:
|
|
69
|
+
* - timeoutMs: 全局委派超时时间(毫秒),作为所有 runner 的默认超时;
|
|
70
|
+
* 若某个 runner 自身设置了 timeoutMs,则其覆盖该全局值。超时后返回错误信息。默认不限制。
|
|
51
71
|
*/
|
|
52
72
|
export declare function createDelegateTool(runners: SubAgentRunner[], options?: {
|
|
53
73
|
timeoutMs?: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/tool/delegate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"delegate.d.ts","sourceRoot":"","sources":["../../../src/tool/delegate.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9D,OAAO,KAAK,EAAE,qBAAqB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEhF;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,YAAY,GAAG,MAAM,CAAC;IAC7B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;OAGG;IACH,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,qBAAqB,CAAC;IACnC;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,iBAAiB,CAAC;AAE7D,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mCAAmC;IACnC,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,sDAAsD;IACtD,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,sDAAsD;IACtD,WAAW,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACnC,yBAAyB;IACzB,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrG;AAED,uBAAuB;AACvB,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAChC,OAAO,EAAE,cAAc,EAAE,EACzB,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,cAAc,GAAG,IAAI,CAiIvB"}
|