@cicctencent/agent-core 0.1.15 → 0.1.17
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/README.md +1 -0
- package/dist/cjs/a2a/client.d.ts +32 -2
- package/dist/cjs/a2a/client.d.ts.map +1 -1
- package/dist/cjs/a2a/client.js +59 -10
- package/dist/cjs/a2a/client.js.map +1 -1
- package/dist/cjs/a2a/index.d.ts +4 -1
- package/dist/cjs/a2a/index.d.ts.map +1 -1
- package/dist/cjs/a2a/index.js +8 -1
- package/dist/cjs/a2a/index.js.map +1 -1
- package/dist/cjs/a2a/runner.d.ts +11 -0
- package/dist/cjs/a2a/runner.d.ts.map +1 -1
- package/dist/cjs/a2a/runner.js +157 -68
- package/dist/cjs/a2a/runner.js.map +1 -1
- package/dist/cjs/a2a/server.d.ts +50 -0
- package/dist/cjs/a2a/server.d.ts.map +1 -0
- package/dist/cjs/a2a/server.js +173 -0
- package/dist/cjs/a2a/server.js.map +1 -0
- package/dist/cjs/agent/history-manager.d.ts +8 -2
- package/dist/cjs/agent/history-manager.d.ts.map +1 -1
- package/dist/cjs/agent/history-manager.js +6 -6
- package/dist/cjs/agent/history-manager.js.map +1 -1
- package/dist/cjs/agent/runtime-builder.d.ts +83 -0
- package/dist/cjs/agent/runtime-builder.d.ts.map +1 -0
- package/dist/cjs/agent/runtime-builder.js +127 -0
- package/dist/cjs/agent/runtime-builder.js.map +1 -0
- package/dist/cjs/agent/types.d.ts +17 -0
- package/dist/cjs/agent/types.d.ts.map +1 -1
- package/dist/cjs/agent/types.js +43 -0
- package/dist/cjs/agent/types.js.map +1 -1
- package/dist/cjs/index.d.ts +13 -5
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +30 -6
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/memory/types.d.ts +48 -0
- package/dist/cjs/memory/types.d.ts.map +1 -1
- package/dist/cjs/memory/types.js +52 -0
- package/dist/cjs/memory/types.js.map +1 -1
- package/dist/cjs/runtime/run-controller.d.ts +40 -0
- package/dist/cjs/runtime/run-controller.d.ts.map +1 -0
- package/dist/cjs/runtime/run-controller.js +93 -0
- package/dist/cjs/runtime/run-controller.js.map +1 -0
- package/dist/cjs/sandbox/local-sandbox.d.ts +59 -0
- package/dist/cjs/sandbox/local-sandbox.d.ts.map +1 -0
- package/dist/cjs/sandbox/local-sandbox.js +228 -0
- package/dist/cjs/sandbox/local-sandbox.js.map +1 -0
- package/dist/cjs/security/guard.d.ts +11 -0
- package/dist/cjs/security/guard.d.ts.map +1 -1
- package/dist/cjs/security/guard.js +46 -0
- package/dist/cjs/security/guard.js.map +1 -1
- package/dist/cjs/tool/builtin-tools.d.ts +22 -0
- package/dist/cjs/tool/builtin-tools.d.ts.map +1 -0
- package/dist/cjs/tool/builtin-tools.js +221 -0
- package/dist/cjs/tool/builtin-tools.js.map +1 -0
- package/dist/cjs/tool/registry.d.ts +76 -1
- package/dist/cjs/tool/registry.d.ts.map +1 -1
- package/dist/cjs/tool/registry.js +81 -0
- package/dist/cjs/tool/registry.js.map +1 -1
- package/dist/cjs/utils/event-adapter.d.ts +25 -0
- package/dist/cjs/utils/event-adapter.d.ts.map +1 -0
- package/dist/cjs/utils/event-adapter.js +93 -0
- package/dist/cjs/utils/event-adapter.js.map +1 -0
- package/dist/esm/a2a/client.d.ts +32 -2
- package/dist/esm/a2a/client.d.ts.map +1 -1
- package/dist/esm/a2a/client.js +58 -10
- package/dist/esm/a2a/client.js.map +1 -1
- package/dist/esm/a2a/index.d.ts +4 -1
- package/dist/esm/a2a/index.d.ts.map +1 -1
- package/dist/esm/a2a/index.js +2 -1
- package/dist/esm/a2a/index.js.map +1 -1
- package/dist/esm/a2a/runner.d.ts +11 -0
- package/dist/esm/a2a/runner.d.ts.map +1 -1
- package/dist/esm/a2a/runner.js +157 -68
- package/dist/esm/a2a/runner.js.map +1 -1
- package/dist/esm/a2a/server.d.ts +50 -0
- package/dist/esm/a2a/server.d.ts.map +1 -0
- package/dist/esm/a2a/server.js +165 -0
- package/dist/esm/a2a/server.js.map +1 -0
- package/dist/esm/agent/history-manager.d.ts +8 -2
- package/dist/esm/agent/history-manager.d.ts.map +1 -1
- package/dist/esm/agent/history-manager.js +6 -6
- package/dist/esm/agent/history-manager.js.map +1 -1
- package/dist/esm/agent/runtime-builder.d.ts +83 -0
- package/dist/esm/agent/runtime-builder.d.ts.map +1 -0
- package/dist/esm/agent/runtime-builder.js +120 -0
- package/dist/esm/agent/runtime-builder.js.map +1 -0
- package/dist/esm/agent/types.d.ts +17 -0
- package/dist/esm/agent/types.d.ts.map +1 -1
- package/dist/esm/agent/types.js +42 -1
- package/dist/esm/agent/types.js.map +1 -1
- package/dist/esm/index.d.ts +13 -5
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +6 -1
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/memory/types.d.ts +48 -0
- package/dist/esm/memory/types.d.ts.map +1 -1
- package/dist/esm/memory/types.js +50 -1
- package/dist/esm/memory/types.js.map +1 -1
- package/dist/esm/runtime/run-controller.d.ts +40 -0
- package/dist/esm/runtime/run-controller.d.ts.map +1 -0
- package/dist/esm/runtime/run-controller.js +89 -0
- package/dist/esm/runtime/run-controller.js.map +1 -0
- package/dist/esm/sandbox/local-sandbox.d.ts +59 -0
- package/dist/esm/sandbox/local-sandbox.d.ts.map +1 -0
- package/dist/esm/sandbox/local-sandbox.js +188 -0
- package/dist/esm/sandbox/local-sandbox.js.map +1 -0
- package/dist/esm/security/guard.d.ts +11 -0
- package/dist/esm/security/guard.d.ts.map +1 -1
- package/dist/esm/security/guard.js +46 -0
- package/dist/esm/security/guard.js.map +1 -1
- package/dist/esm/tool/builtin-tools.d.ts +22 -0
- package/dist/esm/tool/builtin-tools.d.ts.map +1 -0
- package/dist/esm/tool/builtin-tools.js +214 -0
- package/dist/esm/tool/builtin-tools.js.map +1 -0
- package/dist/esm/tool/registry.d.ts +76 -1
- package/dist/esm/tool/registry.d.ts.map +1 -1
- package/dist/esm/tool/registry.js +81 -0
- package/dist/esm/tool/registry.js.map +1 -1
- package/dist/esm/utils/event-adapter.d.ts +25 -0
- package/dist/esm/utils/event-adapter.d.ts.map +1 -0
- package/dist/esm/utils/event-adapter.js +87 -0
- package/dist/esm/utils/event-adapter.js.map +1 -0
- package/package.json +1 -1
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// A2A Server Helpers — AgentEngine 到 A2A JSON-RPC/SSE 的协议适配
|
|
3
|
+
// ============================================================
|
|
4
|
+
import { extractTextFromMessage } from "./runner.js";
|
|
5
|
+
export class InMemoryA2ATaskStore {
|
|
6
|
+
tasks = new Map();
|
|
7
|
+
get(id) { return this.tasks.get(id); }
|
|
8
|
+
set(task) { this.tasks.set(task.id, task); }
|
|
9
|
+
delete(id) { this.tasks.delete(id); }
|
|
10
|
+
}
|
|
11
|
+
export function createA2AAgentCard(config) {
|
|
12
|
+
return {
|
|
13
|
+
name: config.name,
|
|
14
|
+
description: config.description,
|
|
15
|
+
url: config.url,
|
|
16
|
+
version: config.version || '1.0.0',
|
|
17
|
+
provider: config.provider,
|
|
18
|
+
capabilities: { streaming: config.streaming ?? true, pushNotifications: false, stateTransitionHistory: true },
|
|
19
|
+
skills: config.skills || [],
|
|
20
|
+
defaultInputModes: ['text/plain'],
|
|
21
|
+
defaultOutputModes: ['text/plain'],
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export function createA2AMessage(text, role = 'agent', taskId, contextId) {
|
|
25
|
+
return { kind: 'message', role, messageId: crypto.randomUUID(), taskId, contextId, parts: [{ kind: 'text', text }] };
|
|
26
|
+
}
|
|
27
|
+
export function mapAgentEventToA2AEvent(event, task) {
|
|
28
|
+
switch (event.type) {
|
|
29
|
+
case 'thinking':
|
|
30
|
+
return {
|
|
31
|
+
kind: 'status-update',
|
|
32
|
+
taskId: task.id,
|
|
33
|
+
contextId: task.contextId,
|
|
34
|
+
status: { state: 'working', message: createA2AMessage(event.content || '', 'agent', task.id, task.contextId), timestamp: new Date().toISOString() },
|
|
35
|
+
final: false,
|
|
36
|
+
metadata: { source: 'thinking' },
|
|
37
|
+
};
|
|
38
|
+
case 'message':
|
|
39
|
+
return {
|
|
40
|
+
kind: 'status-update',
|
|
41
|
+
taskId: task.id,
|
|
42
|
+
contextId: task.contextId,
|
|
43
|
+
status: { state: 'working', message: createA2AMessage(event.content || '', 'agent', task.id, task.contextId), timestamp: new Date().toISOString() },
|
|
44
|
+
final: false,
|
|
45
|
+
metadata: { source: 'message' },
|
|
46
|
+
};
|
|
47
|
+
case 'tool_call':
|
|
48
|
+
return {
|
|
49
|
+
kind: 'status-update',
|
|
50
|
+
taskId: task.id,
|
|
51
|
+
contextId: task.contextId,
|
|
52
|
+
status: { state: 'working', message: createA2AMessage(`Calling tool: ${event.tool}`, 'agent', task.id, task.contextId), timestamp: new Date().toISOString() },
|
|
53
|
+
final: false,
|
|
54
|
+
metadata: { source: 'tool_call', tool: event.tool, callId: event.callId, args: event.args },
|
|
55
|
+
};
|
|
56
|
+
case 'done':
|
|
57
|
+
return {
|
|
58
|
+
kind: 'status-update',
|
|
59
|
+
taskId: task.id,
|
|
60
|
+
contextId: task.contextId,
|
|
61
|
+
status: { state: 'completed', message: createA2AMessage(event.content || '', 'agent', task.id, task.contextId), timestamp: new Date().toISOString() },
|
|
62
|
+
final: true,
|
|
63
|
+
};
|
|
64
|
+
case 'error':
|
|
65
|
+
return {
|
|
66
|
+
kind: 'status-update',
|
|
67
|
+
taskId: task.id,
|
|
68
|
+
contextId: task.contextId,
|
|
69
|
+
status: { state: 'failed', message: createA2AMessage(event.error || 'Agent failed', 'agent', task.id, task.contextId), timestamp: new Date().toISOString() },
|
|
70
|
+
final: true,
|
|
71
|
+
};
|
|
72
|
+
default:
|
|
73
|
+
return null;
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
export class A2AServerHandler {
|
|
77
|
+
options;
|
|
78
|
+
store;
|
|
79
|
+
constructor(options) {
|
|
80
|
+
this.options = options;
|
|
81
|
+
this.store = options.taskStore || new InMemoryA2ATaskStore();
|
|
82
|
+
}
|
|
83
|
+
async handleJsonRpc(request) {
|
|
84
|
+
try {
|
|
85
|
+
switch (request.method) {
|
|
86
|
+
case 'tasks/send':
|
|
87
|
+
return { jsonrpc: '2.0', id: request.id, result: await this.sendTask(request.params) };
|
|
88
|
+
case 'tasks/sendSubscribe':
|
|
89
|
+
return { jsonrpc: '2.0', id: request.id, stream: this.sendTaskStreaming(request.params) };
|
|
90
|
+
case 'tasks/get':
|
|
91
|
+
return { jsonrpc: '2.0', id: request.id, result: await this.getTask(request.params) };
|
|
92
|
+
case 'tasks/cancel':
|
|
93
|
+
return { jsonrpc: '2.0', id: request.id, result: await this.cancelTask(request.params) };
|
|
94
|
+
default:
|
|
95
|
+
return { jsonrpc: '2.0', id: request.id, error: { code: -32601, message: `Method not found: ${request.method}` } };
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
catch (err) {
|
|
99
|
+
return { jsonrpc: '2.0', id: request.id, error: { code: -32000, message: err?.message || String(err) } };
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
async sendTask(params) {
|
|
103
|
+
const task = this.createSubmittedTask(params);
|
|
104
|
+
await this.store.set(task);
|
|
105
|
+
const engine = await this.options.getEngine(params);
|
|
106
|
+
const message = extractTextFromMessage(params.message);
|
|
107
|
+
let finalText = '';
|
|
108
|
+
const overrides = await this.options.buildRunOptions?.(params, task);
|
|
109
|
+
for await (const event of engine.run({ sessionId: task.contextId, message, ...overrides })) {
|
|
110
|
+
if (event.type === 'message')
|
|
111
|
+
finalText += event.content || '';
|
|
112
|
+
if (event.type === 'done') {
|
|
113
|
+
finalText = event.content || finalText;
|
|
114
|
+
task.status = { state: 'completed', message: createA2AMessage(finalText, 'agent', task.id, task.contextId), timestamp: new Date().toISOString() };
|
|
115
|
+
}
|
|
116
|
+
else if (event.type === 'error') {
|
|
117
|
+
task.status = { state: 'failed', message: createA2AMessage(event.error, 'agent', task.id, task.contextId), timestamp: new Date().toISOString() };
|
|
118
|
+
}
|
|
119
|
+
else {
|
|
120
|
+
task.status = { state: 'working', timestamp: new Date().toISOString() };
|
|
121
|
+
}
|
|
122
|
+
await this.store.set(task);
|
|
123
|
+
}
|
|
124
|
+
return task;
|
|
125
|
+
}
|
|
126
|
+
async *sendTaskStreaming(params) {
|
|
127
|
+
const task = this.createSubmittedTask(params);
|
|
128
|
+
await this.store.set(task);
|
|
129
|
+
const engine = await this.options.getEngine(params);
|
|
130
|
+
const message = extractTextFromMessage(params.message);
|
|
131
|
+
const overrides = await this.options.buildRunOptions?.(params, task);
|
|
132
|
+
for await (const event of engine.run({ sessionId: task.contextId, message, ...overrides })) {
|
|
133
|
+
const mapped = mapAgentEventToA2AEvent(event, task);
|
|
134
|
+
if (!mapped)
|
|
135
|
+
continue;
|
|
136
|
+
if (mapped.kind === 'status-update')
|
|
137
|
+
task.status = mapped.status;
|
|
138
|
+
await this.store.set(task);
|
|
139
|
+
yield mapped;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
async getTask(params) {
|
|
143
|
+
const task = await this.store.get(params.id);
|
|
144
|
+
if (!task)
|
|
145
|
+
throw new Error(`Task not found: ${params.id}`);
|
|
146
|
+
return task;
|
|
147
|
+
}
|
|
148
|
+
async cancelTask(params) {
|
|
149
|
+
const task = await this.getTask(params);
|
|
150
|
+
task.status = { state: 'canceled', timestamp: new Date().toISOString() };
|
|
151
|
+
await this.store.set(task);
|
|
152
|
+
return task;
|
|
153
|
+
}
|
|
154
|
+
createSubmittedTask(params) {
|
|
155
|
+
const contextId = params.contextId || crypto.randomUUID();
|
|
156
|
+
return {
|
|
157
|
+
id: params.id || crypto.randomUUID(),
|
|
158
|
+
contextId,
|
|
159
|
+
status: { state: 'submitted', message: params.message, timestamp: new Date().toISOString() },
|
|
160
|
+
history: [params.message],
|
|
161
|
+
metadata: params.metadata,
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
//# sourceMappingURL=server.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../src/a2a/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,12 @@ export interface HistoryManagerConfig {
|
|
|
9
9
|
maxToolOutput?: number;
|
|
10
10
|
compactThreshold?: number;
|
|
11
11
|
maxContextTokens?: number;
|
|
12
|
+
/** 工具输出截断时保留的头部字符数 */
|
|
13
|
+
toolOutputHeadLength?: number;
|
|
14
|
+
/** 工具输出截断时保留的尾部字符数(结论通常在尾部) */
|
|
15
|
+
toolOutputTailLength?: number;
|
|
16
|
+
/** 历史消息总字符预算,超过此值触发压缩 */
|
|
17
|
+
historyCharBudget?: number;
|
|
12
18
|
};
|
|
13
19
|
/** 工具结果存储(可选) */
|
|
14
20
|
toolResultStore?: ToolResultStore;
|
|
@@ -64,11 +70,11 @@ export declare class HistoryManager {
|
|
|
64
70
|
private offloadBase64Content;
|
|
65
71
|
/** 压缩阶段 3: 非破坏性卸载大工具结果 */
|
|
66
72
|
private offloadLargeToolResults;
|
|
67
|
-
/** 压缩阶段 4:
|
|
73
|
+
/** 压缩阶段 4: 截断大工具结果(支持配置 head/tail 长度,结论通常在尾部) */
|
|
68
74
|
private truncateLargeToolResults;
|
|
69
75
|
/** Level 2: 成对裁剪历史(移除最早的 assistant + 关联 tool 消息) */
|
|
70
76
|
private compactHistoryPairs;
|
|
71
|
-
/**
|
|
77
|
+
/** 截断工具输出(保留首尾,中间省略,支持配置 head/tail 长度) */
|
|
72
78
|
private truncateOutput;
|
|
73
79
|
/** 根据 tool_call_id 从历史中查找工具名 */
|
|
74
80
|
static findToolNameForCallId(callId: string, history: Message[]): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAC;AAGhE,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,aAAa,CAAC,EAAE;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"history-manager.d.ts","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAY,MAAM,aAAa,CAAC;AACrD,OAAO,KAAK,EAAE,eAAe,EAAgB,MAAM,YAAY,CAAC;AAGhE,aAAa;AACb,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc;IACd,aAAa,CAAC,EAAE;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,sBAAsB;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,+BAA+B;QAC/B,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,yBAAyB;QACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,iBAAiB;IACjB,eAAe,CAAC,EAAE,eAAe,CAAC;CACnC;AAED;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,uCAAuC;IACvC,OAAO,CAAC,UAAU,CAAgC;IAClD,2CAA2C;IAC3C,OAAO,CAAC,aAAa,CAA6B;gBAEtC,MAAM,EAAE,oBAAoB;IAMxC,2BAA2B;IAC3B,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,IAAI;IAMxD,wBAAwB;IACxB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;IAIhD,4BAA4B;IAC5B,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,EAAE;IAIxC,uBAAuB;IACvB,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,GAAG,IAAI;IAiCjD,gBAAgB;IAChB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAKrC,eAAe;IACf,QAAQ,IAAI,IAAI;IAOhB,0DAA0D;IAC1D,OAAO,CAAC,MAAM,CAAC,kBAAkB,CAAiD;IAElF;;;;;OAKG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM;IA6ChG;;;;;OAKG;IACH,gBAAgB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM;IAUpE,oCAAoC;IACpC,OAAO,CAAC,mBAAmB;IAqB3B,uBAAuB;IACvB,OAAO,CAAC,oBAAoB;IAuB5B,4BAA4B;IAC5B,OAAO,CAAC,oBAAoB;IAW5B,0BAA0B;IAC1B,OAAO,CAAC,uBAAuB;IA0B/B,iDAAiD;IACjD,OAAO,CAAC,wBAAwB;IAahC,oDAAoD;IACpD,OAAO,CAAC,mBAAmB;IAY3B,0CAA0C;IAC1C,OAAO,CAAC,cAAc;IAYtB,gCAAgC;IAChC,MAAM,CAAC,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM;IAUxE,4BAA4B;IAC5B,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;CAOvC"}
|
|
@@ -206,13 +206,13 @@ export class HistoryManager {
|
|
|
206
206
|
`(${msg.content.length} chars offloaded, use read_offload(node_id="${nodeId}") to retrieve) [/offload]`);
|
|
207
207
|
}
|
|
208
208
|
}
|
|
209
|
-
/** 压缩阶段 4:
|
|
209
|
+
/** 压缩阶段 4: 截断大工具结果(支持配置 head/tail 长度,结论通常在尾部) */
|
|
210
210
|
truncateLargeToolResults(history) {
|
|
211
211
|
const maxResultLen = this.config.contextBudget?.maxToolOutput ?? 8000;
|
|
212
|
+
const headLen = this.config.contextBudget?.toolOutputHeadLength ?? Math.floor(maxResultLen * 0.4);
|
|
213
|
+
const tailLen = this.config.contextBudget?.toolOutputTailLength ?? Math.floor(maxResultLen * 0.4);
|
|
212
214
|
for (const msg of history) {
|
|
213
215
|
if (msg.role === 'tool' && typeof msg.content === 'string' && msg.content.length > maxResultLen) {
|
|
214
|
-
const headLen = Math.floor(maxResultLen * 0.4);
|
|
215
|
-
const tailLen = Math.floor(maxResultLen * 0.4);
|
|
216
216
|
msg.content = msg.content.slice(0, headLen)
|
|
217
217
|
+ `\n\n... [${msg.content.length - headLen - tailLen} characters truncated] ...\n\n`
|
|
218
218
|
+ msg.content.slice(-tailLen);
|
|
@@ -232,13 +232,13 @@ export class HistoryManager {
|
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
234
|
}
|
|
235
|
-
/**
|
|
235
|
+
/** 截断工具输出(保留首尾,中间省略,支持配置 head/tail 长度) */
|
|
236
236
|
truncateOutput(output) {
|
|
237
237
|
const max = this.config.contextBudget?.maxToolOutput ?? 8000;
|
|
238
238
|
if (output.length <= max)
|
|
239
239
|
return output;
|
|
240
|
-
const headLen = Math.floor(max * 0.4);
|
|
241
|
-
const tailLen = Math.floor(max * 0.4);
|
|
240
|
+
const headLen = this.config.contextBudget?.toolOutputHeadLength ?? Math.floor(max * 0.4);
|
|
241
|
+
const tailLen = this.config.contextBudget?.toolOutputTailLength ?? Math.floor(max * 0.4);
|
|
242
242
|
return output.slice(0, headLen)
|
|
243
243
|
+ `\n\n... [${output.length - headLen - tailLen} characters omitted] ...\n\n`
|
|
244
244
|
+ output.slice(-tailLen);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"history-manager.js","sourceRoot":"","sources":["../../../src/agent/history-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
import { AgentEngine } from './engine.js';
|
|
2
|
+
import type { AgentConfig } from './types.js';
|
|
3
|
+
import type { LLMProvider } from '../llm/types.js';
|
|
4
|
+
import { ContextManager } from '../context/manager.js';
|
|
5
|
+
import { SecurityGuard } from '../security/guard.js';
|
|
6
|
+
import { SkillManager } from '../skill/manager.js';
|
|
7
|
+
import { ToolRegistry } from '../tool/registry.js';
|
|
8
|
+
import type { RegisteredTool } from '../tool/types.js';
|
|
9
|
+
import type { Middleware } from '../middleware/types.js';
|
|
10
|
+
import type { Hook } from '../hooks/types.js';
|
|
11
|
+
export interface AgentProfileLike {
|
|
12
|
+
id?: string | number;
|
|
13
|
+
name?: string;
|
|
14
|
+
description?: string;
|
|
15
|
+
isDefault?: boolean;
|
|
16
|
+
agentType?: 'default' | 'specialist' | 'remote' | string;
|
|
17
|
+
selectedTools?: string[];
|
|
18
|
+
disabledTools?: string[];
|
|
19
|
+
selectedSkills?: string[];
|
|
20
|
+
alwaysInjectSkills?: string[];
|
|
21
|
+
maxIterations?: number;
|
|
22
|
+
maxMessages?: number;
|
|
23
|
+
toolTimeout?: number;
|
|
24
|
+
model?: string;
|
|
25
|
+
metadata?: Record<string, unknown>;
|
|
26
|
+
}
|
|
27
|
+
export interface ResourceScopeOptions {
|
|
28
|
+
baseToolRegistry: ToolRegistry;
|
|
29
|
+
baseSkillManager?: SkillManager;
|
|
30
|
+
profile?: AgentProfileLike;
|
|
31
|
+
includeTool?: (tool: RegisteredTool, profile?: AgentProfileLike) => boolean;
|
|
32
|
+
includeSkill?: (skillId: string, profile?: AgentProfileLike) => boolean;
|
|
33
|
+
}
|
|
34
|
+
export interface ResourceScope {
|
|
35
|
+
toolRegistry: ToolRegistry;
|
|
36
|
+
skillManager?: SkillManager;
|
|
37
|
+
missingSkillRequirements: Array<{
|
|
38
|
+
skillId: string;
|
|
39
|
+
missingTools: string[];
|
|
40
|
+
}>;
|
|
41
|
+
}
|
|
42
|
+
export interface AgentRuntimeOptions {
|
|
43
|
+
llmProvider: LLMProvider;
|
|
44
|
+
fallbackProvider?: LLMProvider;
|
|
45
|
+
tools?: RegisteredTool[];
|
|
46
|
+
toolRegistry?: ToolRegistry;
|
|
47
|
+
skills?: SkillManager;
|
|
48
|
+
contextManager?: ContextManager;
|
|
49
|
+
securityGuard?: SecurityGuard;
|
|
50
|
+
middleware?: Middleware[];
|
|
51
|
+
hooks?: Hook[];
|
|
52
|
+
profile?: AgentProfileLike;
|
|
53
|
+
basePrompt?: string | ((scope: ResourceScope) => string);
|
|
54
|
+
includeTool?: (tool: RegisteredTool, profile?: AgentProfileLike) => boolean;
|
|
55
|
+
includeSkill?: (skillId: string, profile?: AgentProfileLike) => boolean;
|
|
56
|
+
config?: Partial<AgentConfig>;
|
|
57
|
+
}
|
|
58
|
+
export interface AgentRuntime {
|
|
59
|
+
engine: AgentEngine;
|
|
60
|
+
toolRegistry: ToolRegistry;
|
|
61
|
+
skillManager?: SkillManager;
|
|
62
|
+
contextManager: ContextManager;
|
|
63
|
+
securityGuard: SecurityGuard;
|
|
64
|
+
scope: ResourceScope;
|
|
65
|
+
}
|
|
66
|
+
export declare function buildResourceScope(options: ResourceScopeOptions): ResourceScope;
|
|
67
|
+
export declare function validateSkillRequirements(skillManager: SkillManager | undefined, toolRegistry: ToolRegistry): Array<{
|
|
68
|
+
skillId: string;
|
|
69
|
+
missingTools: string[];
|
|
70
|
+
}>;
|
|
71
|
+
export declare function createAgentRuntime(options: AgentRuntimeOptions): AgentRuntime;
|
|
72
|
+
export declare class AgentRuntimeBuilder {
|
|
73
|
+
private options;
|
|
74
|
+
withLLMProvider(llmProvider: LLMProvider, fallbackProvider?: LLMProvider): this;
|
|
75
|
+
withTools(tools: RegisteredTool[] | ToolRegistry): this;
|
|
76
|
+
withSkills(skills: SkillManager): this;
|
|
77
|
+
withProfile(profile: AgentProfileLike): this;
|
|
78
|
+
withPrompt(basePrompt: AgentRuntimeOptions['basePrompt']): this;
|
|
79
|
+
withResourcePolicy(policy: Pick<AgentRuntimeOptions, 'includeTool' | 'includeSkill'>): this;
|
|
80
|
+
withConfig(config: Partial<AgentConfig>): this;
|
|
81
|
+
build(): AgentRuntime;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=runtime-builder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-builder.d.ts","sourceRoot":"","sources":["../../../src/agent/runtime-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
// ============================================================
|
|
2
|
+
// AgentRuntimeBuilder — AgentEngine/Tool/Skill/Profile 的通用装配器
|
|
3
|
+
// ============================================================
|
|
4
|
+
import { AgentEngine } from "./engine.js";
|
|
5
|
+
import { ContextManager } from "../context/manager.js";
|
|
6
|
+
import { SecurityGuard } from "../security/guard.js";
|
|
7
|
+
import { SkillManager } from "../skill/manager.js";
|
|
8
|
+
import { SkillRouter } from "../skill/router.js";
|
|
9
|
+
import { ToolRegistry } from "../tool/registry.js";
|
|
10
|
+
export function buildResourceScope(options) {
|
|
11
|
+
const profile = options.profile;
|
|
12
|
+
const registry = options.baseToolRegistry.clone();
|
|
13
|
+
const selected = new Set(profile?.selectedTools || []);
|
|
14
|
+
const disabled = new Set(profile?.disabledTools || []);
|
|
15
|
+
registry.listNames().forEach(name => {
|
|
16
|
+
const tool = registry.get(name);
|
|
17
|
+
if (!tool)
|
|
18
|
+
return;
|
|
19
|
+
const selectedRejected = selected.size > 0 && !selected.has(name) && tool.category !== 'builtin';
|
|
20
|
+
const disabledRejected = disabled.has(name);
|
|
21
|
+
const customRejected = options.includeTool ? !options.includeTool(tool, profile) : false;
|
|
22
|
+
if (selectedRejected || disabledRejected || customRejected)
|
|
23
|
+
registry.unregister(name);
|
|
24
|
+
});
|
|
25
|
+
let scopedSkillManager;
|
|
26
|
+
if (options.baseSkillManager) {
|
|
27
|
+
scopedSkillManager = new SkillManager();
|
|
28
|
+
const selectedSkills = new Set(profile?.selectedSkills || []);
|
|
29
|
+
for (const skill of options.baseSkillManager.getAll()) {
|
|
30
|
+
const includeBySelection = selectedSkills.size === 0 || selectedSkills.has(skill.id);
|
|
31
|
+
const includeByCallback = options.includeSkill ? options.includeSkill(skill.id, profile) : true;
|
|
32
|
+
if (includeBySelection && includeByCallback)
|
|
33
|
+
scopedSkillManager.register(skill);
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
const missingSkillRequirements = validateSkillRequirements(scopedSkillManager, registry);
|
|
37
|
+
return { toolRegistry: registry, skillManager: scopedSkillManager, missingSkillRequirements };
|
|
38
|
+
}
|
|
39
|
+
export function validateSkillRequirements(skillManager, toolRegistry) {
|
|
40
|
+
if (!skillManager)
|
|
41
|
+
return [];
|
|
42
|
+
const registeredNames = new Set(toolRegistry.listNames());
|
|
43
|
+
return skillManager.getAll()
|
|
44
|
+
.map(skill => ({ skillId: skill.id, missingTools: (skill.requires || []).filter(name => !registeredNames.has(name)) }))
|
|
45
|
+
.filter(item => item.missingTools.length > 0);
|
|
46
|
+
}
|
|
47
|
+
export function createAgentRuntime(options) {
|
|
48
|
+
const baseToolRegistry = options.toolRegistry || new ToolRegistry();
|
|
49
|
+
if (options.tools?.length)
|
|
50
|
+
baseToolRegistry.registerAll(options.tools);
|
|
51
|
+
const scope = buildResourceScope({
|
|
52
|
+
baseToolRegistry,
|
|
53
|
+
baseSkillManager: options.skills,
|
|
54
|
+
profile: options.profile,
|
|
55
|
+
});
|
|
56
|
+
const contextManager = options.contextManager || new ContextManager();
|
|
57
|
+
const securityGuard = options.securityGuard || new SecurityGuard();
|
|
58
|
+
const skillRouter = scope.skillManager && scope.skillManager.getAll().length > 0 ? new SkillRouter(scope.skillManager) : undefined;
|
|
59
|
+
const basePrompt = typeof options.basePrompt === 'function' ? options.basePrompt(scope) : options.basePrompt;
|
|
60
|
+
const config = {
|
|
61
|
+
llmProvider: options.llmProvider,
|
|
62
|
+
fallbackProvider: options.fallbackProvider,
|
|
63
|
+
toolRegistry: scope.toolRegistry,
|
|
64
|
+
skillManager: scope.skillManager,
|
|
65
|
+
skillRouter,
|
|
66
|
+
contextManager,
|
|
67
|
+
securityGuard,
|
|
68
|
+
basePrompt,
|
|
69
|
+
maxIterations: options.profile?.maxIterations,
|
|
70
|
+
maxMessages: options.profile?.maxMessages,
|
|
71
|
+
toolTimeout: options.profile?.toolTimeout,
|
|
72
|
+
middleware: options.middleware,
|
|
73
|
+
hooks: options.hooks,
|
|
74
|
+
...options.config,
|
|
75
|
+
};
|
|
76
|
+
const engine = new AgentEngine(config);
|
|
77
|
+
return { engine, toolRegistry: scope.toolRegistry, skillManager: scope.skillManager, contextManager, securityGuard, scope };
|
|
78
|
+
}
|
|
79
|
+
export class AgentRuntimeBuilder {
|
|
80
|
+
options = {};
|
|
81
|
+
withLLMProvider(llmProvider, fallbackProvider) {
|
|
82
|
+
this.options.llmProvider = llmProvider;
|
|
83
|
+
this.options.fallbackProvider = fallbackProvider;
|
|
84
|
+
return this;
|
|
85
|
+
}
|
|
86
|
+
withTools(tools) {
|
|
87
|
+
if (tools instanceof ToolRegistry)
|
|
88
|
+
this.options.toolRegistry = tools;
|
|
89
|
+
else
|
|
90
|
+
this.options.tools = tools;
|
|
91
|
+
return this;
|
|
92
|
+
}
|
|
93
|
+
withSkills(skills) {
|
|
94
|
+
this.options.skills = skills;
|
|
95
|
+
return this;
|
|
96
|
+
}
|
|
97
|
+
withProfile(profile) {
|
|
98
|
+
this.options.profile = profile;
|
|
99
|
+
return this;
|
|
100
|
+
}
|
|
101
|
+
withPrompt(basePrompt) {
|
|
102
|
+
this.options.basePrompt = basePrompt;
|
|
103
|
+
return this;
|
|
104
|
+
}
|
|
105
|
+
withResourcePolicy(policy) {
|
|
106
|
+
this.options.includeTool = policy.includeTool;
|
|
107
|
+
this.options.includeSkill = policy.includeSkill;
|
|
108
|
+
return this;
|
|
109
|
+
}
|
|
110
|
+
withConfig(config) {
|
|
111
|
+
this.options.config = { ...(this.options.config || {}), ...config };
|
|
112
|
+
return this;
|
|
113
|
+
}
|
|
114
|
+
build() {
|
|
115
|
+
if (!this.options.llmProvider)
|
|
116
|
+
throw new Error('AgentRuntimeBuilder: llmProvider is required');
|
|
117
|
+
return createAgentRuntime(this.options);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
//# sourceMappingURL=runtime-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runtime-builder.js","sourceRoot":"","sources":["../../../src/agent/runtime-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -84,6 +84,12 @@ export interface AgentConfig {
|
|
|
84
84
|
compactThreshold?: number;
|
|
85
85
|
/** 上下文总 token 预算,超过此值触发智能压缩,默认 100000 */
|
|
86
86
|
maxContextTokens?: number;
|
|
87
|
+
/** 工具输出截断时保留的头部字符数,默认 maxToolOutput * 0.4 */
|
|
88
|
+
toolOutputHeadLength?: number;
|
|
89
|
+
/** 工具输出截断时保留的尾部字符数,默认 maxToolOutput * 0.4(结论通常在尾部) */
|
|
90
|
+
toolOutputTailLength?: number;
|
|
91
|
+
/** 历史消息总字符预算,超过此值触发压缩,默认不限制(由 token 预算控制) */
|
|
92
|
+
historyCharBudget?: number;
|
|
87
93
|
};
|
|
88
94
|
/** 全局禁止的工具名列表(从 LLM 视野中移除) */
|
|
89
95
|
deniedTools?: string[];
|
|
@@ -106,6 +112,17 @@ export interface AgentConfig {
|
|
|
106
112
|
/** 产出型工具名列表(有这些工具调用时不触发数据获取循环检测,默认 ['delegate_task', 'create_presentation', 'create_document', 'create_pdf', 'show_widget', 'save_artifact']) */
|
|
107
113
|
outputTools?: string[];
|
|
108
114
|
}
|
|
115
|
+
/**
|
|
116
|
+
* AgentConfig 预设工厂
|
|
117
|
+
*
|
|
118
|
+
* 提供常见场景的配置预设,降低使用方初始化成本。
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* const config = createAgentConfig('chat', { llmProvider, toolRegistry, contextManager });
|
|
122
|
+
* const config = createAgentConfig('data-analyst', { llmProvider, toolRegistry, contextManager, maxIterations: 20 });
|
|
123
|
+
*/
|
|
124
|
+
export type AgentConfigPreset = 'chat' | 'data-analyst' | 'code-assistant' | 'researcher';
|
|
125
|
+
export declare function createAgentConfig(preset: AgentConfigPreset, overrides: AgentConfig): AgentConfig;
|
|
109
126
|
/** AgentEngine.run() 入参 */
|
|
110
127
|
export interface RunOptions {
|
|
111
128
|
/** 会话 ID(同一会话共享上下文) */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAC9C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAEzD,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAC;IACf,WAAW;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,2BAA2B;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,kBAAkB;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,cAAc;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,8BAA8B;AAC9B,MAAM,WAAW,eAAe;IAC9B,oBAAoB;IACpB,KAAK,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAC/C,aAAa;IACb,IAAI,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACpC,aAAa;IACb,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IAC7B,wDAAwD;IACxD,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,UAAU,CAAC,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7E,gBAAgB;IAChB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3C,oBAAoB;IACpB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,YAAY,EAAE,CAAC;CACjD;AAED,iBAAiB;AACjB,MAAM,WAAW,WAAW;IAC1B,kBAAkB;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,wBAAwB;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0BAA0B;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,uBAAuB;AACvB,MAAM,WAAW,WAAW;IAC1B,uBAAuB;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,yBAAyB;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6BAA6B;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,WAAW,EAAE,WAAW,CAAC;IACzB,uBAAuB;IACvB,YAAY,EAAE,YAAY,CAAC;IAC3B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,0BAA0B;IAC1B,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,yBAAyB;IACzB,cAAc,EAAE,cAAc,CAAC;IAC/B,4BAA4B;IAC5B,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,mBAAmB;IACnB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,cAAc;IACd,aAAa,CAAC,EAAE;QACd,0BAA0B;QAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,2CAA2C;QAC3C,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,yCAAyC;QACzC,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,6CAA6C;QAC7C,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,sDAAsD;QACtD,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,6CAA6C;QAC7C,iBAAiB,CAAC,EAAE,MAAM,CAAC;KAC5B,CAAC;IACF,8BAA8B;IAC9B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe;IACf,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,iDAAiD;IACjD,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;IAC1B,4DAA4D;IAC5D,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,uBAAuB;IACvB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,WAAW,CAAC;IAC/B,4BAA4B;IAC5B,eAAe,CAAC,EAAE,eAAe,CAAC;IAClC,sIAAsI;IACtI,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,iJAAiJ;IACjJ,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,cAAc,GAAG,gBAAgB,GAAG,YAAY,CAAC;AAE1F,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,iBAAiB,EACzB,SAAS,EAAE,WAAW,GACrB,WAAW,CA0Cb;AAED,2BAA2B;AAC3B,MAAM,WAAW,UAAU;IACzB,uBAAuB;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,0BAA0B;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,wBAAwB;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,kBAAkB;IAClB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,oBAAoB;IACpB,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,kDAAkD;IAClD,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW;IACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACnC"}
|
package/dist/esm/agent/types.js
CHANGED
|
@@ -1,5 +1,46 @@
|
|
|
1
1
|
// ============================================================
|
|
2
2
|
// Agent Engine 类型定义
|
|
3
3
|
// ============================================================
|
|
4
|
-
export {
|
|
4
|
+
export function createAgentConfig(preset, overrides) {
|
|
5
|
+
const presets = {
|
|
6
|
+
'chat': {
|
|
7
|
+
maxIterations: 8,
|
|
8
|
+
maxMessages: 30,
|
|
9
|
+
toolTimeout: 15000,
|
|
10
|
+
llmTimeout: 60000,
|
|
11
|
+
basePrompt: 'You are a helpful AI assistant. Respond in the same language as the user.',
|
|
12
|
+
contextBudget: { maxToolOutput: 4000 },
|
|
13
|
+
},
|
|
14
|
+
'data-analyst': {
|
|
15
|
+
maxIterations: 20,
|
|
16
|
+
maxMessages: 60,
|
|
17
|
+
toolTimeout: 60000,
|
|
18
|
+
llmTimeout: 120000,
|
|
19
|
+
basePrompt: 'You are a data analysis expert. Use tools to query, analyze, and visualize data. Always provide clear insights.',
|
|
20
|
+
contextBudget: { maxToolOutput: 12000, toolOutputTailLength: 2000 },
|
|
21
|
+
},
|
|
22
|
+
'code-assistant': {
|
|
23
|
+
maxIterations: 15,
|
|
24
|
+
maxMessages: 50,
|
|
25
|
+
toolTimeout: 30000,
|
|
26
|
+
llmTimeout: 120000,
|
|
27
|
+
basePrompt: 'You are a coding assistant. Write clean, efficient code and explain your reasoning.',
|
|
28
|
+
contextBudget: { maxToolOutput: 8000 },
|
|
29
|
+
},
|
|
30
|
+
'researcher': {
|
|
31
|
+
maxIterations: 25,
|
|
32
|
+
maxMessages: 80,
|
|
33
|
+
toolTimeout: 60000,
|
|
34
|
+
llmTimeout: 180000,
|
|
35
|
+
basePrompt: 'You are a research assistant. Thoroughly investigate topics using available tools and provide well-sourced findings.',
|
|
36
|
+
contextBudget: { maxToolOutput: 15000, toolOutputTailLength: 3000 },
|
|
37
|
+
},
|
|
38
|
+
};
|
|
39
|
+
const presetConfig = presets[preset];
|
|
40
|
+
return {
|
|
41
|
+
...presetConfig,
|
|
42
|
+
...overrides,
|
|
43
|
+
contextBudget: { ...presetConfig.contextBudget, ...overrides.contextBudget },
|
|
44
|
+
};
|
|
45
|
+
}
|
|
5
46
|
//# sourceMappingURL=types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/agent/types.ts"],"names":[],"mappings":"AAAA,+DAA+D;AAC/D,oBAAoB;AACpB,+DAA+D;AAoI/D,MAAM,UAAU,iBAAiB,CAC/B,MAAyB,EACzB,SAAsB;IAEtB,MAAM,OAAO,GAAoD;QAC/D,MAAM,EAAE;YACN,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,2EAA2E;YACvF,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;SACvC;QACD,cAAc,EAAE;YACd,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,iHAAiH;YAC7H,aAAa,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE;SACpE;QACD,gBAAgB,EAAE;YAChB,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,qFAAqF;YACjG,aAAa,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE;SACvC;QACD,YAAY,EAAE;YACZ,aAAa,EAAE,EAAE;YACjB,WAAW,EAAE,EAAE;YACf,WAAW,EAAE,KAAK;YAClB,UAAU,EAAE,MAAM;YAClB,UAAU,EAAE,sHAAsH;YAClI,aAAa,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE;SACpE;KACF,CAAC;IAEF,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACrC,OAAO;QACL,GAAG,YAAY;QACf,GAAG,SAAS;QACZ,aAAa,EAAE,EAAE,GAAG,YAAY,CAAC,aAAa,EAAE,GAAG,SAAS,CAAC,aAAa,EAAE;KAC7E,CAAC;AACJ,CAAC"}
|