@cicctencent/agent-core 1.0.34 → 1.0.35
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/rest-runner.d.ts.map +1 -1
- package/dist/cjs/a2a/rest-runner.js +24 -5
- package/dist/cjs/a2a/rest-runner.js.map +1 -1
- package/dist/cjs/a2a/runner.d.ts.map +1 -1
- package/dist/cjs/a2a/runner.js +33 -8
- package/dist/cjs/a2a/runner.js.map +1 -1
- package/dist/cjs/agent/compaction.d.ts.map +1 -1
- package/dist/cjs/agent/compaction.js +1 -4
- package/dist/cjs/agent/compaction.js.map +1 -1
- package/dist/cjs/agent/constants.d.ts +14 -0
- package/dist/cjs/agent/constants.d.ts.map +1 -0
- package/dist/cjs/agent/constants.js +30 -0
- package/dist/cjs/agent/constants.js.map +1 -0
- package/dist/cjs/agent/engine.d.ts +38 -2
- package/dist/cjs/agent/engine.d.ts.map +1 -1
- package/dist/cjs/agent/engine.js +53 -378
- package/dist/cjs/agent/engine.js.map +1 -1
- package/dist/cjs/agent/guard-controller.d.ts +64 -0
- package/dist/cjs/agent/guard-controller.d.ts.map +1 -0
- package/dist/cjs/agent/guard-controller.js +265 -0
- package/dist/cjs/agent/guard-controller.js.map +1 -0
- package/dist/cjs/agent/llm-caller.d.ts.map +1 -1
- package/dist/cjs/agent/llm-caller.js +6 -3
- package/dist/cjs/agent/llm-caller.js.map +1 -1
- package/dist/cjs/agent/rate-limit-manager.d.ts +8 -0
- package/dist/cjs/agent/rate-limit-manager.d.ts.map +1 -1
- package/dist/cjs/agent/rate-limit-manager.js +36 -0
- package/dist/cjs/agent/rate-limit-manager.js.map +1 -1
- package/dist/cjs/agent/runtime-builder.d.ts +44 -0
- package/dist/cjs/agent/runtime-builder.d.ts.map +1 -1
- package/dist/cjs/agent/runtime-builder.js +78 -20
- package/dist/cjs/agent/runtime-builder.js.map +1 -1
- package/dist/cjs/agent/session-state-manager.d.ts +47 -0
- package/dist/cjs/agent/session-state-manager.d.ts.map +1 -0
- package/dist/cjs/agent/session-state-manager.js +85 -0
- package/dist/cjs/agent/session-state-manager.js.map +1 -0
- package/dist/cjs/agent/tool-executor.d.ts +2 -3
- package/dist/cjs/agent/tool-executor.d.ts.map +1 -1
- package/dist/cjs/agent/tool-executor.js +9 -16
- package/dist/cjs/agent/tool-executor.js.map +1 -1
- package/dist/cjs/agent/tool-section-builder.d.ts +55 -0
- package/dist/cjs/agent/tool-section-builder.d.ts.map +1 -0
- package/dist/cjs/agent/tool-section-builder.js +191 -0
- package/dist/cjs/agent/tool-section-builder.js.map +1 -0
- package/dist/cjs/agent/types.d.ts +1 -1
- package/dist/cjs/agent/types.d.ts.map +1 -1
- package/dist/cjs/index.d.ts +1 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +8 -5
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/mcp/base-client.js +2 -2
- package/dist/cjs/mcp/base-client.js.map +1 -1
- package/dist/cjs/mcp/client.js +4 -4
- package/dist/cjs/mcp/client.js.map +1 -1
- package/dist/cjs/mcp/factory.d.ts +6 -1
- package/dist/cjs/mcp/factory.d.ts.map +1 -1
- package/dist/cjs/mcp/factory.js +7 -2
- package/dist/cjs/mcp/factory.js.map +1 -1
- package/dist/cjs/mcp/http-client.js +5 -5
- package/dist/cjs/mcp/http-client.js.map +1 -1
- package/dist/cjs/observability/logger.d.ts.map +1 -1
- package/dist/cjs/observability/logger.js +56 -2
- package/dist/cjs/observability/logger.js.map +1 -1
- package/dist/cjs/tool/ask-user.js +3 -3
- package/dist/cjs/tool/delegate.d.ts.map +1 -1
- package/dist/cjs/tool/delegate.js +4 -2
- package/dist/cjs/tool/delegate.js.map +1 -1
- package/dist/cjs/utils/dsml-parser.d.ts +1 -1
- package/dist/cjs/utils/dsml-parser.js +1 -1
- package/dist/esm/a2a/rest-runner.d.ts.map +1 -1
- package/dist/esm/a2a/rest-runner.js +24 -5
- package/dist/esm/a2a/rest-runner.js.map +1 -1
- package/dist/esm/a2a/runner.d.ts.map +1 -1
- package/dist/esm/a2a/runner.js +33 -8
- package/dist/esm/a2a/runner.js.map +1 -1
- package/dist/esm/agent/compaction.d.ts.map +1 -1
- package/dist/esm/agent/compaction.js +1 -4
- package/dist/esm/agent/compaction.js.map +1 -1
- package/dist/esm/agent/constants.d.ts +14 -0
- package/dist/esm/agent/constants.d.ts.map +1 -0
- package/dist/esm/agent/constants.js +27 -0
- package/dist/esm/agent/constants.js.map +1 -0
- package/dist/esm/agent/engine.d.ts +38 -2
- package/dist/esm/agent/engine.d.ts.map +1 -1
- package/dist/esm/agent/engine.js +54 -379
- package/dist/esm/agent/engine.js.map +1 -1
- package/dist/esm/agent/guard-controller.d.ts +64 -0
- package/dist/esm/agent/guard-controller.d.ts.map +1 -0
- package/dist/esm/agent/guard-controller.js +256 -0
- package/dist/esm/agent/guard-controller.js.map +1 -0
- package/dist/esm/agent/llm-caller.d.ts.map +1 -1
- package/dist/esm/agent/llm-caller.js +6 -3
- package/dist/esm/agent/llm-caller.js.map +1 -1
- package/dist/esm/agent/rate-limit-manager.d.ts +8 -0
- package/dist/esm/agent/rate-limit-manager.d.ts.map +1 -1
- package/dist/esm/agent/rate-limit-manager.js +36 -0
- package/dist/esm/agent/rate-limit-manager.js.map +1 -1
- package/dist/esm/agent/runtime-builder.d.ts +44 -0
- package/dist/esm/agent/runtime-builder.d.ts.map +1 -1
- package/dist/esm/agent/runtime-builder.js +75 -20
- package/dist/esm/agent/runtime-builder.js.map +1 -1
- package/dist/esm/agent/session-state-manager.d.ts +47 -0
- package/dist/esm/agent/session-state-manager.d.ts.map +1 -0
- package/dist/esm/agent/session-state-manager.js +78 -0
- package/dist/esm/agent/session-state-manager.js.map +1 -0
- package/dist/esm/agent/tool-executor.d.ts +2 -3
- package/dist/esm/agent/tool-executor.d.ts.map +1 -1
- package/dist/esm/agent/tool-executor.js +9 -16
- package/dist/esm/agent/tool-executor.js.map +1 -1
- package/dist/esm/agent/tool-section-builder.d.ts +55 -0
- package/dist/esm/agent/tool-section-builder.d.ts.map +1 -0
- package/dist/esm/agent/tool-section-builder.js +182 -0
- package/dist/esm/agent/tool-section-builder.js.map +1 -0
- package/dist/esm/agent/types.d.ts +1 -1
- package/dist/esm/agent/types.d.ts.map +1 -1
- package/dist/esm/index.d.ts +1 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/mcp/base-client.js +2 -2
- package/dist/esm/mcp/base-client.js.map +1 -1
- package/dist/esm/mcp/client.js +4 -4
- package/dist/esm/mcp/client.js.map +1 -1
- package/dist/esm/mcp/factory.d.ts +6 -1
- package/dist/esm/mcp/factory.d.ts.map +1 -1
- package/dist/esm/mcp/factory.js +7 -2
- package/dist/esm/mcp/factory.js.map +1 -1
- package/dist/esm/mcp/http-client.js +5 -5
- package/dist/esm/mcp/http-client.js.map +1 -1
- package/dist/esm/observability/logger.d.ts.map +1 -1
- package/dist/esm/observability/logger.js +56 -2
- package/dist/esm/observability/logger.js.map +1 -1
- package/dist/esm/tool/ask-user.js +3 -3
- package/dist/esm/tool/delegate.d.ts.map +1 -1
- package/dist/esm/tool/delegate.js +4 -2
- package/dist/esm/tool/delegate.js.map +1 -1
- package/dist/esm/utils/dsml-parser.d.ts +1 -1
- package/dist/esm/utils/dsml-parser.js +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Session State Manager -- 从 engine.ts 抽离的会话状态机管理逻辑:
|
|
4
|
+
* steer(外部 steer 注入)、drainSteering(消费 steer 消息)、
|
|
5
|
+
* abort(中断会话)、abortCascade(级联中断)、cleanupSessionRelations(清理父子关系)。
|
|
6
|
+
*
|
|
7
|
+
* 设计说明:这些方法操作 Engine 的 Map 状态集合(abortMap / steeringMap /
|
|
8
|
+
* statusMap / childSessionMap / parentSessionMap),将状态机的"增删改查"
|
|
9
|
+
* 集中在独立模块,engine.ts 仅保留委托调用。
|
|
10
|
+
*/
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.steer = steer;
|
|
13
|
+
exports.drainSteering = drainSteering;
|
|
14
|
+
exports.abortSession = abortSession;
|
|
15
|
+
exports.abortCascade = abortCascade;
|
|
16
|
+
exports.cleanupSessionRelations = cleanupSessionRelations;
|
|
17
|
+
const logger_js_1 = require("../observability/logger.js");
|
|
18
|
+
/** 外部 steer:向指定会话注入引导消息 */
|
|
19
|
+
function steer(deps, sessionId, message) {
|
|
20
|
+
if (!deps.abortMap.has(sessionId))
|
|
21
|
+
return false;
|
|
22
|
+
if (!deps.steeringMap.has(sessionId)) {
|
|
23
|
+
deps.steeringMap.set(sessionId, []);
|
|
24
|
+
}
|
|
25
|
+
deps.steeringMap.get(sessionId).push(message);
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
/** 消费当前会话的 steering 消息,注入到 messages 中 */
|
|
29
|
+
function drainSteering(deps, state) {
|
|
30
|
+
const msgs = deps.steeringMap.get(state.sessionId);
|
|
31
|
+
if (!msgs || msgs.length === 0)
|
|
32
|
+
return null;
|
|
33
|
+
const drained = [...msgs];
|
|
34
|
+
msgs.length = 0;
|
|
35
|
+
for (const msg of drained) {
|
|
36
|
+
const userMsg = { role: 'user', content: msg };
|
|
37
|
+
state.messages.push(userMsg);
|
|
38
|
+
deps.historyManager.addHistory(state.sessionId, userMsg);
|
|
39
|
+
}
|
|
40
|
+
return { messages: drained, count: drained.length };
|
|
41
|
+
}
|
|
42
|
+
/** 中断指定会话 */
|
|
43
|
+
function abortSession(deps, sessionId) {
|
|
44
|
+
const controller = deps.abortMap.get(sessionId);
|
|
45
|
+
if (controller) {
|
|
46
|
+
controller.abort();
|
|
47
|
+
deps.statusMap.set(sessionId, 'aborting');
|
|
48
|
+
(0, logger_js_1.logEvent)({ event: 'engine.abort', sessionId, data: { reason: 'abort() called' } });
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* 中断指定会话及其所有子会话的 Agent 执行(级联 abort)。
|
|
53
|
+
*
|
|
54
|
+
* 递归遍历子会话树,从叶子节点到根节点依次 abort。
|
|
55
|
+
* 用于确保父会话异常终止时,所有 delegate_task 派生的子任务也被终止。
|
|
56
|
+
*/
|
|
57
|
+
function abortCascade(deps, sessionId) {
|
|
58
|
+
abortSession(deps, sessionId);
|
|
59
|
+
// 遍历直接子会话,递归 abort
|
|
60
|
+
const children = deps.childSessionMap.get(sessionId) ?? new Set();
|
|
61
|
+
for (const childId of children) {
|
|
62
|
+
abortCascade(deps, childId);
|
|
63
|
+
}
|
|
64
|
+
// 清理父子关系
|
|
65
|
+
cleanupSessionRelations(deps, sessionId);
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* 清理指定会话的父子关系记录。
|
|
69
|
+
*
|
|
70
|
+
* 在会话自然完成或 abort 后调用,防止内存泄漏。
|
|
71
|
+
* 处理两个方向:
|
|
72
|
+
* - 如果是父会话:移除所有子会话引用(但子会话若仍在运行则保留其关系)
|
|
73
|
+
* - 如果是子会话:从父会话的子集中移除自身
|
|
74
|
+
*/
|
|
75
|
+
function cleanupSessionRelations(deps, sessionId) {
|
|
76
|
+
// 从父会话的子集中移除自身
|
|
77
|
+
const parentId = deps.parentSessionMap.get(sessionId);
|
|
78
|
+
if (parentId) {
|
|
79
|
+
deps.childSessionMap.get(parentId)?.delete(sessionId);
|
|
80
|
+
deps.parentSessionMap.delete(sessionId);
|
|
81
|
+
}
|
|
82
|
+
// 删除自身作为父会话的所有子关系记录(但保留子会话本身仍在运行)
|
|
83
|
+
deps.childSessionMap.delete(sessionId);
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=session-state-manager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"session-state-manager.js","sourceRoot":"","sources":["../../../src/agent/session-state-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -83,9 +83,8 @@ export declare class AgentToolExecutor {
|
|
|
83
83
|
* 返回可自我纠正的明确错误;返回 null 表示参数正常可继续执行。
|
|
84
84
|
*
|
|
85
85
|
* countsAsFailure 语义:截断类参数错误(内容过长)属于可纠正参数问题,模型改用
|
|
86
|
-
* write_file +
|
|
87
|
-
*
|
|
88
|
-
* 空参数错误仍计入。真正的运行时失败(执行后报错)始终正常累加熔断计数。
|
|
86
|
+
* write_file + content_file 策略即可成功,不计入连续失败计数(避免触发 per-tool 熔断,
|
|
87
|
+
* 否则正确的重试也会被永久拦截)。空参数错误仍计入。真正的运行时失败(执行后报错)始终正常累加熔断计数。
|
|
89
88
|
*/
|
|
90
89
|
private buildTruncationGuard;
|
|
91
90
|
/** 串行执行单个工具调用(含安全检查 + Hooks) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/agent/tool-executor.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACjF,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAGhD,aAAa;AACb,MAAM,WAAW,kBAAmB,SAAQ,aAAa;IACvD,oBAAoB;IACpB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe;IACf,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,wCAAwC;IACxC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,kBAAkB;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,2DAA2D;IAC3D,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,iBAAiB;IACjB,sBAAsB,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa,EAAE,GAAG,EAAE,WAAW,KAAK,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3G,YAAY;IACZ,cAAc,EAAE,cAAc,CAAC;IAC/B,YAAY;IACZ,aAAa,EAAE,MAAM,UAAU,EAAE,GAAG,SAAS,CAAC;CAC/C;AAQD,aAAa;AACb,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,QAAQ,CAAC;CAChB;AAED,qCAAqC;AACrC,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,WAAW,EAAE,WAAW,CAAC;IACzB,aAAa,EAAE,eAAe,CAAC;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,uBAAuB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C;;+CAE2C;IAC3C,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAC5B;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAAqB;IAEnC,8CAA8C;IAC9C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAK;IAEtD,4BAA4B;IAC5B,OAAO,CAAC,cAAc,CAAc;gBAExB,MAAM,EAAE,kBAAkB;IAKtC,+BAA+B;IACxB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,QAAQ,EAAE,GAAG,cAAc,CAAC,UAAU,CAAC;IAmBhG;;;;OAIG;IACH,OAAO,CAAC,cAAc;IAmDtB,2BAA2B;IAC3B,OAAO,CAAC,kBAAkB;IA0B1B,2BAA2B;YACZ,wBAAwB;IA6GvC
|
|
1
|
+
{"version":3,"file":"tool-executor.d.ts","sourceRoot":"","sources":["../../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -222,26 +222,22 @@ class AgentToolExecutor {
|
|
|
222
222
|
* 返回可自我纠正的明确错误;返回 null 表示参数正常可继续执行。
|
|
223
223
|
*
|
|
224
224
|
* countsAsFailure 语义:截断类参数错误(内容过长)属于可纠正参数问题,模型改用
|
|
225
|
-
* write_file +
|
|
226
|
-
*
|
|
227
|
-
* 空参数错误仍计入。真正的运行时失败(执行后报错)始终正常累加熔断计数。
|
|
225
|
+
* write_file + content_file 策略即可成功,不计入连续失败计数(避免触发 per-tool 熔断,
|
|
226
|
+
* 否则正确的重试也会被永久拦截)。空参数错误仍计入。真正的运行时失败(执行后报错)始终正常累加熔断计数。
|
|
228
227
|
*/
|
|
229
228
|
buildTruncationGuard(call, args, jsonParseFailed) {
|
|
230
229
|
const argKeys = Object.keys(args);
|
|
231
230
|
const argsEffectivelyEmpty = argKeys.length === 0 || (argKeys.length === 1 && args[argKeys[0]] === '');
|
|
232
231
|
const toolName = call.function.name;
|
|
233
|
-
const
|
|
234
|
-
const
|
|
235
|
-
|
|
236
|
-
if (!argsEffectivelyEmpty && !docArgsIncomplete)
|
|
232
|
+
const rawArgs = (call.function.arguments || '').trim();
|
|
233
|
+
const rawArgLength = call._rawArgLength ?? rawArgs.length;
|
|
234
|
+
if (!argsEffectivelyEmpty)
|
|
237
235
|
return null;
|
|
238
236
|
const toolDef = this.config.toolRegistry.get(call.function.name);
|
|
239
237
|
const required = toolDef?.definition?.function?.parameters?.required;
|
|
240
|
-
if (!(
|
|
238
|
+
if (!(required && required.length > 0))
|
|
241
239
|
return null;
|
|
242
|
-
const
|
|
243
|
-
const rawArgLength = call._rawArgLength ?? rawArgs.length;
|
|
244
|
-
const isTruncated = (jsonParseFailed || docArgsIncomplete) && rawArgLength > 200;
|
|
240
|
+
const isTruncated = jsonParseFailed && rawArgLength > 200;
|
|
245
241
|
let result;
|
|
246
242
|
if (isTruncated) {
|
|
247
243
|
const isFileWrite = ['write_file', 'append_file'].includes(toolName);
|
|
@@ -250,11 +246,8 @@ class AgentToolExecutor {
|
|
|
250
246
|
`TRUNCATED_PARAMS_ERROR: ${toolName} parameters were too long (${rawArgLength} chars, JSON truncated or incomplete).`,
|
|
251
247
|
'',
|
|
252
248
|
];
|
|
253
|
-
if (
|
|
254
|
-
|
|
255
|
-
const firstItemType = toolName === 'create_presentation' ? 'cover' : toolName === 'create_report' ? 'metric' : 'heading';
|
|
256
|
-
const nextItemType = toolName === 'create_presentation' ? 'content' : toolName === 'create_report' ? 'section' : 'paragraph';
|
|
257
|
-
lines.push(`CRITICAL: NEVER inline the full ${toolName} data in tool parameters — it exceeds the limit and gets truncated. ALWAYS use the json_file strategy below.`, ``, `RECOMMENDED — use json_file + append_file strategy:`, ` 1. write_file({ path: "data.json", content: '{"${rootKey}": [' })`, ` 2. append_file({ path: "data.json", content: '{"type":"${firstItemType}","title":"..."},' })`, ` 3. append_file({ path: "data.json", content: '{"type":"${nextItemType}","title":"..."},' })`, ` ... repeat for each ${rootKey.slice(0, -1)} ...`, ` N. append_file({ path: "data.json", content: '], "theme": "professional"}' })`, ` N+1. ${toolName}({ title: "My Title", json_file: "data.json" })`, '', 'Each write_file/append_file content chunk MUST be under 3000 characters.', '');
|
|
249
|
+
if (toolName === 'create_document') {
|
|
250
|
+
lines.push(`CRITICAL: NEVER inline the full document content in tool parameters - it exceeds the limit and gets truncated.`, ``, `RECOMMENDED - write content to a file, then pass content_file:`, ` 1. write_file({ path: "content.md", content: "<first ~2500 chars of markdown>" })`, ` 2. append_file({ path: "content.md", content: "<next ~2500 chars>" })`, ` 3. create_document({ format: <"html"|"pptx"|"docx"|"pdf">, title: "My Title", content_file: "content.md" })`, ``, `Accepted parameters:`, ` - format: "html" | "pptx" | "docx" | "pdf" (required)`, ` - title: document title (required)`, ` - content_file: sandbox-relative path to a .md file (use this for long content)`, ` - content: markdown string (only for short content; do NOT inline large content)`, ` - theme: "dark" | "light" (HTML only, default: dark)`, ` - filename: custom output filename without extension (optional)`, ``, `Each write_file/append_file chunk MUST be under 3000 characters.`, '');
|
|
258
251
|
}
|
|
259
252
|
else if (isFileWrite) {
|
|
260
253
|
lines.push('RECOMMENDED — split content across multiple calls:', ' 1. write_file({ path: "script.cjs", content: "<first ~2500 chars>" })', ' 2. append_file({ path: "script.cjs", content: "<next ~2500 chars>" })', ' 3. append_file({ path: "script.cjs", content: "<next ~2500 chars>" })', ' ... repeat until complete ...', '', 'Each chunk MUST be under 3000 characters. Count your characters!', '');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-executor.js","sourceRoot":"","sources":["../../../src/agent/tool-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tool Section Builder -- 从 engine.ts 抽离的工具定义解析、摘要化、
|
|
3
|
+
* 动态工具区构建、占位符渲染等逻辑。
|
|
4
|
+
*
|
|
5
|
+
* 设计说明:engine.ts 主类保留 `prepareRun` 等编排入口,将"工具段拼装"
|
|
6
|
+
* 的细节委托给此模块的独立函数。函数签名以 `ToolSectionDeps` 接收依赖,
|
|
7
|
+
* 避免运行时循环引用。
|
|
8
|
+
*/
|
|
9
|
+
import type { ToolDefinition, ToolContext } from '../tool/types.js';
|
|
10
|
+
import type { RunOptions, AgentConfig } from './types.js';
|
|
11
|
+
/** 工具段构建器所需的 Engine 依赖 */
|
|
12
|
+
export interface ToolSectionDeps {
|
|
13
|
+
config: AgentConfig;
|
|
14
|
+
summarizedToolNames: Set<string>;
|
|
15
|
+
}
|
|
16
|
+
/** 创建空壳 shell 执行器(当 options.context.custom.shell 未提供时使用) */
|
|
17
|
+
export declare function createNoopShell(): ToolContext['shell'];
|
|
18
|
+
/**
|
|
19
|
+
* 解析本次 run 的工具定义集合。
|
|
20
|
+
*
|
|
21
|
+
* 1. 从 config.defaultTools + options.extraTools 获取初始列表
|
|
22
|
+
* 2. 按 deniedTools 过滤
|
|
23
|
+
* 3. 按 toolDiscovery 模式(summary / summary-all)对非核心工具做摘要化
|
|
24
|
+
*/
|
|
25
|
+
export declare function resolveToolDefs(deps: ToolSectionDeps, options: RunOptions): ToolDefinition[];
|
|
26
|
+
/**
|
|
27
|
+
* 将工具定义转为摘要形式(截断 description + 清空 parameters)。
|
|
28
|
+
* 实现抽离至 ./compaction.ts,保持单一来源。
|
|
29
|
+
*/
|
|
30
|
+
export declare function summarizeToolDefImpl(deps: ToolSectionDeps, def: ToolDefinition, scope: 'mcp' | 'all' | null): ToolDefinition;
|
|
31
|
+
/** 构建 ToolContext */
|
|
32
|
+
export declare function buildToolContext(deps: ToolSectionDeps, options: RunOptions, internalAbort: AbortController): ToolContext;
|
|
33
|
+
/** 动态构建工具区 prompt(Available Tools + Tool Usage Guidelines)。
|
|
34
|
+
* 从 state.toolDefs 现场拼装,确保与可执行工具集一致,消除静态穿透。 */
|
|
35
|
+
export declare function buildDynamicToolSection(deps: ToolSectionDeps, toolDefs: ToolDefinition[]): string;
|
|
36
|
+
/**
|
|
37
|
+
* 渲染工具提示中对其它工具的引用,避免「提示穿透」:
|
|
38
|
+
* 文案中使用 `{{TOOL:name}}` 包裹对其它工具的引用。
|
|
39
|
+
* - 若该工具在当前能力集(available)中,渲染为 `name`;
|
|
40
|
+
* - 若该工具未注册(不在 available,也未出现在 relatedTools 声明中),则整段(含该占位符的整行/整句)被剔除,
|
|
41
|
+
* 避免诱导 LLM 调用不存在的工具。
|
|
42
|
+
*
|
|
43
|
+
* @param text 原始文案
|
|
44
|
+
* @param available 当前可用的工具名集合(用于判定 {{TOOL:name}} 是否可见)
|
|
45
|
+
* @param relatedTools 声明式引用清单(可选)。留空的占位符若不在 available 中则被剔除;
|
|
46
|
+
* 显式声明在 relatedTools 中的工具名也可被识别为「已知引用」参与裁剪。
|
|
47
|
+
*/
|
|
48
|
+
export declare function renderToolRefs(text: string, available: Set<string>, relatedTools?: string[]): string;
|
|
49
|
+
/** 刷新 system prompt 中的工具区,确保与 state.toolDefs 一致 */
|
|
50
|
+
export declare function refreshToolSection(deps: ToolSectionDeps, state: {
|
|
51
|
+
messages: any[];
|
|
52
|
+
stableSystemPrompt: string | null;
|
|
53
|
+
toolDefs: ToolDefinition[];
|
|
54
|
+
}): void;
|
|
55
|
+
//# sourceMappingURL=tool-section-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-section-builder.d.ts","sourceRoot":"","sources":["../../../src/agent/tool-section-builder.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI1D,0BAA0B;AAC1B,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,WAAW,CAAC;IACpB,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAED,4DAA4D;AAC5D,wBAAgB,eAAe,IAAI,WAAW,CAAC,OAAO,CAAC,CAMtD;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,eAAe,EAAE,OAAO,EAAE,UAAU,GAAG,cAAc,EAAE,CAwC5F;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,eAAe,EACrB,GAAG,EAAE,cAAc,EACnB,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI,GAC1B,cAAc,CAMhB;AAED,qBAAqB;AACrB,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,eAAe,EACrB,OAAO,EAAE,UAAU,EACnB,aAAa,EAAE,eAAe,GAC7B,WAAW,CAuBb;AAED;+CAC+C;AAC/C,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,eAAe,EACrB,QAAQ,EAAE,cAAc,EAAE,GACzB,MAAM,CAwBR;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CA+BpG;AAED,mDAAmD;AACnD,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,eAAe,EACrB,KAAK,EAAE;IAAE,QAAQ,EAAE,GAAG,EAAE,CAAC;IAAC,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,QAAQ,EAAE,cAAc,EAAE,CAAA;CAAE,GACxF,IAAI,CAIN"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Tool Section Builder -- 从 engine.ts 抽离的工具定义解析、摘要化、
|
|
4
|
+
* 动态工具区构建、占位符渲染等逻辑。
|
|
5
|
+
*
|
|
6
|
+
* 设计说明:engine.ts 主类保留 `prepareRun` 等编排入口,将"工具段拼装"
|
|
7
|
+
* 的细节委托给此模块的独立函数。函数签名以 `ToolSectionDeps` 接收依赖,
|
|
8
|
+
* 避免运行时循环引用。
|
|
9
|
+
*/
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.createNoopShell = createNoopShell;
|
|
12
|
+
exports.resolveToolDefs = resolveToolDefs;
|
|
13
|
+
exports.summarizeToolDefImpl = summarizeToolDefImpl;
|
|
14
|
+
exports.buildToolContext = buildToolContext;
|
|
15
|
+
exports.buildDynamicToolSection = buildDynamicToolSection;
|
|
16
|
+
exports.renderToolRefs = renderToolRefs;
|
|
17
|
+
exports.refreshToolSection = refreshToolSection;
|
|
18
|
+
const compaction_ts_1 = require("./compaction.js");
|
|
19
|
+
const constants_ts_1 = require("./constants.js");
|
|
20
|
+
/** 创建空壳 shell 执行器(当 options.context.custom.shell 未提供时使用) */
|
|
21
|
+
function createNoopShell() {
|
|
22
|
+
return {
|
|
23
|
+
exec: async () => 'Error: Shell executor not configured',
|
|
24
|
+
write: () => { },
|
|
25
|
+
read: () => '',
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* 解析本次 run 的工具定义集合。
|
|
30
|
+
*
|
|
31
|
+
* 1. 从 config.defaultTools + options.extraTools 获取初始列表
|
|
32
|
+
* 2. 按 deniedTools 过滤
|
|
33
|
+
* 3. 按 toolDiscovery 模式(summary / summary-all)对非核心工具做摘要化
|
|
34
|
+
*/
|
|
35
|
+
function resolveToolDefs(deps, options) {
|
|
36
|
+
const { config, summarizedToolNames } = deps;
|
|
37
|
+
// 清空并重建摘要化工具名集合
|
|
38
|
+
summarizedToolNames.clear();
|
|
39
|
+
const toolNames = [...(config.defaultTools || []), ...(options.extraTools || [])];
|
|
40
|
+
let defs = toolNames.length > 0
|
|
41
|
+
? config.toolRegistry.getDefinitions({ names: toolNames })
|
|
42
|
+
: config.toolRegistry.getDefinitions();
|
|
43
|
+
if (config.deniedTools?.length) {
|
|
44
|
+
const denied = new Set(config.deniedTools);
|
|
45
|
+
defs = defs.filter(d => !denied.has(d.function.name));
|
|
46
|
+
}
|
|
47
|
+
const discovery = config.toolDiscovery;
|
|
48
|
+
// summary 模式:仅 MCP 工具摘要
|
|
49
|
+
if (discovery === 'summary') {
|
|
50
|
+
defs = defs.map(d => {
|
|
51
|
+
const summarized = summarizeToolDefImpl(deps, d, 'mcp');
|
|
52
|
+
if (summarized !== d)
|
|
53
|
+
summarizedToolNames.add(d.function.name);
|
|
54
|
+
return summarized;
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
// summary-all 模式:所有非核心工具摘要(MCP + 非核心内置工具)
|
|
58
|
+
if (discovery === 'summary-all') {
|
|
59
|
+
const coreOverride = config.coreToolNames
|
|
60
|
+
? new Set(config.coreToolNames)
|
|
61
|
+
: constants_ts_1.CORE_TOOL_NAMES;
|
|
62
|
+
defs = defs.map(d => {
|
|
63
|
+
const isCore = coreOverride.has(d.function.name);
|
|
64
|
+
const summarized = summarizeToolDefImpl(deps, d, isCore ? null : 'all');
|
|
65
|
+
if (summarized !== d)
|
|
66
|
+
summarizedToolNames.add(d.function.name);
|
|
67
|
+
return summarized;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return defs;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* 将工具定义转为摘要形式(截断 description + 清空 parameters)。
|
|
74
|
+
* 实现抽离至 ./compaction.ts,保持单一来源。
|
|
75
|
+
*/
|
|
76
|
+
function summarizeToolDefImpl(deps, def, scope) {
|
|
77
|
+
return (0, compaction_ts_1.summarizeToolDef)(def, {
|
|
78
|
+
scope,
|
|
79
|
+
maxDesc: deps.config.toolSummaryMaxDesc ?? 100,
|
|
80
|
+
getCategory: (name) => deps.config.toolRegistry.get(name)?.category,
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/** 构建 ToolContext */
|
|
84
|
+
function buildToolContext(deps, options, internalAbort) {
|
|
85
|
+
const custom = options.context?.custom;
|
|
86
|
+
return {
|
|
87
|
+
sessionId: options.sessionId,
|
|
88
|
+
shell: custom?.shell || createNoopShell(),
|
|
89
|
+
fs: custom?.fs,
|
|
90
|
+
env: options.context?.env,
|
|
91
|
+
abortSignal: internalAbort.signal,
|
|
92
|
+
custom: {
|
|
93
|
+
...custom,
|
|
94
|
+
// Fix A:始终使用引擎授权注册表(已按 selectedTools/disabledTools 过滤),
|
|
95
|
+
// 不接受 custom.toolRegistry 覆盖--防止 read_tool_doc/diagnose 泄漏被禁工具 schema。
|
|
96
|
+
toolRegistry: deps.config.toolRegistry,
|
|
97
|
+
skillManager: custom?.skillManager ?? deps.config.skillManager,
|
|
98
|
+
},
|
|
99
|
+
emitSubEvent: custom?.emitSubEvent,
|
|
100
|
+
emitWidget: custom?.emitWidget,
|
|
101
|
+
emitArtifact: custom?.emitArtifact,
|
|
102
|
+
emitToolLog: custom?.emitToolLog,
|
|
103
|
+
emitToolHeartbeat: custom?.emitToolHeartbeat,
|
|
104
|
+
toolTimeout: deps.config.toolTimeout,
|
|
105
|
+
maxScriptTimeoutMs: deps.config.maxScriptTimeoutMs,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
/** 动态构建工具区 prompt(Available Tools + Tool Usage Guidelines)。
|
|
109
|
+
* 从 state.toolDefs 现场拼装,确保与可执行工具集一致,消除静态穿透。 */
|
|
110
|
+
function buildDynamicToolSection(deps, toolDefs) {
|
|
111
|
+
const { config, summarizedToolNames } = deps;
|
|
112
|
+
if (config.buildToolSection) {
|
|
113
|
+
return config.buildToolSection(toolDefs, config.toolRegistry);
|
|
114
|
+
}
|
|
115
|
+
if (toolDefs.length === 0)
|
|
116
|
+
return '';
|
|
117
|
+
// 可用工具名集合:用于占位符 {{TOOL:name}} 渲染时判定引用是否真实可用
|
|
118
|
+
const available = new Set(toolDefs.map(d => d.function.name));
|
|
119
|
+
const lines = toolDefs.map(d => `- \`${d.function.name}\`: ${renderToolRefs(d.function.description || '', available)}`);
|
|
120
|
+
let section = `\n\n## Available Tools\n${lines.join('\n')}`;
|
|
121
|
+
// 收集工具自带的使用引导(tool.prompt),并对其中对其他工具的引用做可用裁剪。
|
|
122
|
+
// tool.relatedTools 是声明式的「本工具引用的其它工具」清单,
|
|
123
|
+
// 用于:若某占位符 {{TOOL:x}} 未注册,则整段引用被剔除(见 renderToolRefs)。
|
|
124
|
+
const prompts = [];
|
|
125
|
+
for (const def of toolDefs) {
|
|
126
|
+
// 跳过被摘要化的工具:其 prompt 不注入 system prompt(progressive loading)
|
|
127
|
+
if (summarizedToolNames.has(def.function.name))
|
|
128
|
+
continue;
|
|
129
|
+
const tool = config.toolRegistry.get(def.function.name);
|
|
130
|
+
if (tool?.prompt)
|
|
131
|
+
prompts.push(renderToolRefs(tool.prompt, available, tool.relatedTools));
|
|
132
|
+
}
|
|
133
|
+
if (prompts.length > 0) {
|
|
134
|
+
section += `\n\n## Tool Usage Guidelines\n\n${prompts.join('\n\n')}`;
|
|
135
|
+
}
|
|
136
|
+
return section;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* 渲染工具提示中对其它工具的引用,避免「提示穿透」:
|
|
140
|
+
* 文案中使用 `{{TOOL:name}}` 包裹对其它工具的引用。
|
|
141
|
+
* - 若该工具在当前能力集(available)中,渲染为 `name`;
|
|
142
|
+
* - 若该工具未注册(不在 available,也未出现在 relatedTools 声明中),则整段(含该占位符的整行/整句)被剔除,
|
|
143
|
+
* 避免诱导 LLM 调用不存在的工具。
|
|
144
|
+
*
|
|
145
|
+
* @param text 原始文案
|
|
146
|
+
* @param available 当前可用的工具名集合(用于判定 {{TOOL:name}} 是否可见)
|
|
147
|
+
* @param relatedTools 声明式引用清单(可选)。留空的占位符若不在 available 中则被剔除;
|
|
148
|
+
* 显式声明在 relatedTools 中的工具名也可被识别为「已知引用」参与裁剪。
|
|
149
|
+
*/
|
|
150
|
+
function renderToolRefs(text, available, relatedTools) {
|
|
151
|
+
// relatedTools 声明本工具引用的「其他工具」。占位符 {{TOOL:name}} 只有在
|
|
152
|
+
// - name 确实注册(available)时才渲染为 `name`;
|
|
153
|
+
// - 否则用哨兵标记,后续做子句级清除,避免留下 "do NOT call after" 这类残缺。
|
|
154
|
+
// 不在 relatedTools 且未注册的占位符视为误写,保留原文。
|
|
155
|
+
const knownRefs = relatedTools && relatedTools.length > 0 ? new Set(relatedTools) : null;
|
|
156
|
+
const SENTINEL = '\x00'; // 哨兵:标记被剔除的占位符位置
|
|
157
|
+
// 1) 替换:可用 -> name;不可用且为已知引用 -> 哨兵;其余保留原文
|
|
158
|
+
let out = text.replace(/\{\{TOOL:([a-zA-Z0-9_-]+)\}\}/g, (m, name) => {
|
|
159
|
+
if (available.has(name))
|
|
160
|
+
return `\`${name}\``;
|
|
161
|
+
if (knownRefs && !knownRefs.has(name))
|
|
162
|
+
return m;
|
|
163
|
+
return SENTINEL;
|
|
164
|
+
});
|
|
165
|
+
// 2) 子句级清除:以 " - " 或 ", " 分隔的子句中含哨兵,则移除整个子句
|
|
166
|
+
out = out
|
|
167
|
+
.split(/(?<=\S)\s+-\s+|(?<=\S),\s+/)
|
|
168
|
+
.filter(clause => !clause.includes(SENTINEL))
|
|
169
|
+
.join(', ');
|
|
170
|
+
// 3) 行级清除:多行 prompt 中,整行仅剩哨兵/标点/空白的予以移除
|
|
171
|
+
out = out
|
|
172
|
+
.split('\n')
|
|
173
|
+
.filter(line => {
|
|
174
|
+
const trimmed = line.trim();
|
|
175
|
+
if (trimmed === '')
|
|
176
|
+
return true;
|
|
177
|
+
const meaningful = trimmed.replace(/[`.,;:()\-]+/g, '').replace(/\s+/g, '');
|
|
178
|
+
return meaningful.length > 0 && !trimmed.includes(SENTINEL);
|
|
179
|
+
})
|
|
180
|
+
.join('\n');
|
|
181
|
+
// 4) 清理残留哨兵 + 收缩多余空格
|
|
182
|
+
out = out.replace(/\x00/g, '').replace(/ {2,}/g, ' ').replace(/\s+\n/g, '\n').trim();
|
|
183
|
+
return out;
|
|
184
|
+
}
|
|
185
|
+
/** 刷新 system prompt 中的工具区,确保与 state.toolDefs 一致 */
|
|
186
|
+
function refreshToolSection(deps, state) {
|
|
187
|
+
if (state.messages[0] && state.stableSystemPrompt != null) {
|
|
188
|
+
state.messages[0].content = state.stableSystemPrompt + buildDynamicToolSection(deps, state.toolDefs);
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
//# sourceMappingURL=tool-section-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-section-builder.js","sourceRoot":"","sources":["../../../src/agent/tool-section-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -147,7 +147,7 @@ export interface AgentConfig {
|
|
|
147
147
|
tokenBudget?: TokenBudget;
|
|
148
148
|
/** 数据获取类工具名列表(用于循环检测,默认 ['web_fetch', 'http_request', 'browser_navigate', 'browser_click', 'execute_command', 'read_file', 'read_tool_doc'];注意 run_script 已不在默认列表,因为它属于「计算/执行」而非「数据获取」,避免循环检测触发后被动态禁用) */
|
|
149
149
|
dataFetchTools?: string[];
|
|
150
|
-
/** 产出型工具名列表(有这些工具调用时不触发数据获取循环检测,默认 ['delegate_task', '
|
|
150
|
+
/** 产出型工具名列表(有这些工具调用时不触发数据获取循环检测,默认 ['delegate_task', 'create_document', 'show_widget', 'save_artifact']) */
|
|
151
151
|
outputTools?: string[];
|
|
152
152
|
/** 外部数据源获取工具名列表(用于数据出处判定:本轮尝试过这些工具但全部失败时,
|
|
153
153
|
* 最终回复的数据必然来自模型记忆,引擎会追加「未经实时核验」声明。
|