@zhin.js/agent 0.1.19 → 0.1.21
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 +37 -23
- package/lib/agent-prompt/format.d.ts +6 -0
- package/lib/agent-prompt/format.d.ts.map +1 -0
- package/lib/agent-prompt/format.js +40 -0
- package/lib/agent-prompt/format.js.map +1 -0
- package/lib/agent-prompt/index.d.ts +5 -0
- package/lib/agent-prompt/index.d.ts.map +1 -0
- package/lib/agent-prompt/index.js +4 -0
- package/lib/agent-prompt/index.js.map +1 -0
- package/lib/agent-prompt/registry.d.ts +7 -0
- package/lib/agent-prompt/registry.d.ts.map +1 -0
- package/lib/agent-prompt/registry.js +23 -0
- package/lib/agent-prompt/registry.js.map +1 -0
- package/lib/agent-prompt/resolver.d.ts +12 -0
- package/lib/agent-prompt/resolver.d.ts.map +1 -0
- package/lib/agent-prompt/resolver.js +71 -0
- package/lib/agent-prompt/resolver.js.map +1 -0
- package/lib/builtin/run-deferred-task-tool.d.ts +20 -0
- package/lib/builtin/run-deferred-task-tool.d.ts.map +1 -0
- package/lib/builtin/run-deferred-task-tool.js +39 -0
- package/lib/builtin/run-deferred-task-tool.js.map +1 -0
- package/lib/builtin/tool-search-tool.d.ts +19 -0
- package/lib/builtin/tool-search-tool.d.ts.map +1 -0
- package/lib/builtin/tool-search-tool.js +54 -0
- package/lib/builtin/tool-search-tool.js.map +1 -0
- package/lib/builtin-tools.d.ts +1 -1
- package/lib/builtin-tools.d.ts.map +1 -1
- package/lib/builtin-tools.js +1 -5
- package/lib/builtin-tools.js.map +1 -1
- package/lib/deferred-worker-runner.d.ts +30 -0
- package/lib/deferred-worker-runner.d.ts.map +1 -0
- package/lib/deferred-worker-runner.js +149 -0
- package/lib/deferred-worker-runner.js.map +1 -0
- package/lib/deferred-worker-tool-load.d.ts +6 -0
- package/lib/deferred-worker-tool-load.d.ts.map +1 -0
- package/lib/deferred-worker-tool-load.js +5 -0
- package/lib/deferred-worker-tool-load.js.map +1 -0
- package/lib/hooks.d.ts +13 -0
- package/lib/hooks.d.ts.map +1 -1
- package/lib/hooks.js.map +1 -1
- package/lib/index.d.ts +3 -3
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js +2 -3
- package/lib/index.js.map +1 -1
- package/lib/init/create-zhin-agent.d.ts.map +1 -1
- package/lib/init/create-zhin-agent.js +4 -1
- package/lib/init/create-zhin-agent.js.map +1 -1
- package/lib/init/register-mcp-from-config.d.ts +2 -0
- package/lib/init/register-mcp-from-config.d.ts.map +1 -0
- package/lib/init/register-mcp-from-config.js +84 -0
- package/lib/init/register-mcp-from-config.js.map +1 -0
- package/lib/init/register-mcp-memory-default.d.ts +2 -0
- package/lib/init/register-mcp-memory-default.d.ts.map +1 -0
- package/lib/init/register-mcp-memory-default.js +34 -0
- package/lib/init/register-mcp-memory-default.js.map +1 -0
- package/lib/init.d.ts.map +1 -1
- package/lib/init.js +4 -0
- package/lib/init.js.map +1 -1
- package/lib/mcp-client/index.d.ts +1 -2
- package/lib/mcp-client/index.d.ts.map +1 -1
- package/lib/mcp-client/index.js +1 -2
- package/lib/mcp-client/index.js.map +1 -1
- package/lib/orchestrator/mcp-lifecycle.d.ts +6 -0
- package/lib/orchestrator/mcp-lifecycle.d.ts.map +1 -0
- package/lib/orchestrator/mcp-lifecycle.js +7 -0
- package/lib/orchestrator/mcp-lifecycle.js.map +1 -0
- package/lib/orchestrator/mcp-registry.d.ts +5 -1
- package/lib/orchestrator/mcp-registry.d.ts.map +1 -1
- package/lib/orchestrator/mcp-registry.js +36 -20
- package/lib/orchestrator/mcp-registry.js.map +1 -1
- package/lib/orchestrator/owner-confirm-orchestration.d.ts +4 -1
- package/lib/orchestrator/owner-confirm-orchestration.d.ts.map +1 -1
- package/lib/orchestrator/owner-confirm-orchestration.js.map +1 -1
- package/lib/orchestrator/tool-selection.d.ts +2 -0
- package/lib/orchestrator/tool-selection.d.ts.map +1 -1
- package/lib/orchestrator/tool-selection.js +33 -1
- package/lib/orchestrator/tool-selection.js.map +1 -1
- package/lib/reserved-tools.js +2 -2
- package/lib/reserved-tools.js.map +1 -1
- package/lib/security/bash-tool-context.d.ts +17 -2
- package/lib/security/bash-tool-context.d.ts.map +1 -1
- package/lib/security/bash-tool-context.js +9 -3
- package/lib/security/bash-tool-context.js.map +1 -1
- package/lib/security/exec-policy.d.ts.map +1 -1
- package/lib/security/exec-policy.js +4 -1
- package/lib/security/exec-policy.js.map +1 -1
- package/lib/subagent.js +3 -3
- package/lib/subagent.js.map +1 -1
- package/lib/utils/config-env.d.ts +5 -0
- package/lib/utils/config-env.d.ts.map +1 -0
- package/lib/utils/config-env.js +34 -0
- package/lib/utils/config-env.js.map +1 -0
- package/lib/zhin-agent/config.d.ts +18 -0
- package/lib/zhin-agent/config.d.ts.map +1 -1
- package/lib/zhin-agent/config.js +19 -0
- package/lib/zhin-agent/config.js.map +1 -1
- package/lib/zhin-agent/index.d.ts +13 -0
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js +106 -7
- package/lib/zhin-agent/index.js.map +1 -1
- package/lib/zhin-agent/prompt.d.ts +6 -0
- package/lib/zhin-agent/prompt.d.ts.map +1 -1
- package/lib/zhin-agent/prompt.js +70 -15
- package/lib/zhin-agent/prompt.js.map +1 -1
- package/lib/zhin-agent/tool-catalog.d.ts +15 -0
- package/lib/zhin-agent/tool-catalog.d.ts.map +1 -0
- package/lib/zhin-agent/tool-catalog.js +52 -0
- package/lib/zhin-agent/tool-catalog.js.map +1 -0
- package/lib/zhin-agent/tool-runtime.d.ts +3 -1
- package/lib/zhin-agent/tool-runtime.d.ts.map +1 -1
- package/lib/zhin-agent/tool-runtime.js +14 -0
- package/lib/zhin-agent/tool-runtime.js.map +1 -1
- package/lib/zhin-agent/tool-search-orchestrator.d.ts +23 -0
- package/lib/zhin-agent/tool-search-orchestrator.d.ts.map +1 -0
- package/lib/zhin-agent/tool-search-orchestrator.js +86 -0
- package/lib/zhin-agent/tool-search-orchestrator.js.map +1 -0
- package/package.json +13 -4
- package/lib/builtin/read-memory-tool.d.ts +0 -14
- package/lib/builtin/read-memory-tool.d.ts.map +0 -1
- package/lib/builtin/read-memory-tool.js +0 -49
- package/lib/builtin/read-memory-tool.js.map +0 -1
- package/lib/builtin/write-memory-tool.d.ts +0 -14
- package/lib/builtin/write-memory-tool.d.ts.map +0 -1
- package/lib/builtin/write-memory-tool.js +0 -50
- package/lib/builtin/write-memory-tool.js.map +0 -1
package/lib/zhin-agent/prompt.js
CHANGED
|
@@ -103,7 +103,7 @@ function buildIdentitySection(config) {
|
|
|
103
103
|
`CWD: ${cwd}`,
|
|
104
104
|
`Platform: ${os.platform()} | Node ${process.version} | Shell: ${process.env.SHELL || 'unknown'}`,
|
|
105
105
|
`Time: ${timeStr} (${tz})`,
|
|
106
|
-
`
|
|
106
|
+
`File memory: data/memory/MEMORY.md, data/memory/${todayStr}.md (knowledge-graph MCP: enable ai.memoryMcp)`,
|
|
107
107
|
];
|
|
108
108
|
return [
|
|
109
109
|
config.persona,
|
|
@@ -162,15 +162,39 @@ function buildActionsSection() {
|
|
|
162
162
|
* §5 Using Your Tools
|
|
163
163
|
* 参考 Claude Code: getUsingYourToolsSection — 专用工具优先、并行调用
|
|
164
164
|
*/
|
|
165
|
-
function buildUsingToolsSection() {
|
|
165
|
+
function buildUsingToolsSection(toolSearchActive) {
|
|
166
|
+
const items = toolSearchActive
|
|
167
|
+
? [
|
|
168
|
+
'Orchestrator only: tool_search (browse deferred catalog), run_deferred_task (execute deferred work), ask_user.',
|
|
169
|
+
'All real work runs in the Worker via run_deferred_task — never call deferred tool names on this orchestrator.',
|
|
170
|
+
'Simple lookups → run_deferred_task immediately with goal + tool_query from the user message. Skip tool_search unless the domain is unclear.',
|
|
171
|
+
'Follow the Platform section below for adapter-specific tool_query hints when present.',
|
|
172
|
+
'Never call mcp_*, github_*, or other deferred tool names directly on this orchestrator.',
|
|
173
|
+
'spawn_task only when the user explicitly asks for background/async work.',
|
|
174
|
+
]
|
|
175
|
+
: [
|
|
176
|
+
'Prefer dedicated tools over bash: read_file, edit_file, write_file, glob, grep.',
|
|
177
|
+
'Call independent tools in parallel; dependent tools sequentially.',
|
|
178
|
+
'web_search: one tight query; summarize for the user—no raw dumps, no extra searches unless prior results were empty or useless.',
|
|
179
|
+
'Complex tasks → todo_write to track. Long tasks → spawn_task.',
|
|
180
|
+
'Skill install → install_skill(url) then activate_skill.',
|
|
181
|
+
];
|
|
182
|
+
return ['# Tools', ...prependBullets(items)].join('\n');
|
|
183
|
+
}
|
|
184
|
+
function buildPlatformSection(platformSections) {
|
|
185
|
+
const body = platformSections?.trim();
|
|
186
|
+
if (!body)
|
|
187
|
+
return null;
|
|
188
|
+
return `# Platform\n\n${body}`;
|
|
189
|
+
}
|
|
190
|
+
function buildToolSearchDeferredSection(deferredStats) {
|
|
191
|
+
if (!deferredStats)
|
|
192
|
+
return null;
|
|
166
193
|
const items = [
|
|
167
|
-
|
|
168
|
-
'
|
|
169
|
-
'web_search: one tight query; summarize for the user—no raw dumps, no extra searches unless prior results were empty or useless.',
|
|
170
|
-
'Complex tasks → todo_write to track. Long tasks → spawn_task.',
|
|
171
|
-
'Skill install → install_skill(url) then activate_skill.',
|
|
194
|
+
`Deferred catalog domains: ${deferredStats}.`,
|
|
195
|
+
'bash and read_file run inside the Worker, not on this orchestrator.',
|
|
172
196
|
];
|
|
173
|
-
return ['#
|
|
197
|
+
return ['# Deferred tools', ...prependBullets(items)].join('\n');
|
|
174
198
|
}
|
|
175
199
|
/**
|
|
176
200
|
* §6 Communication
|
|
@@ -188,7 +212,21 @@ function buildCommunicationSection() {
|
|
|
188
212
|
/**
|
|
189
213
|
* §7 Skills
|
|
190
214
|
*/
|
|
191
|
-
function buildSkillsSection(skillRegistry, skillsSummaryXML) {
|
|
215
|
+
function buildSkillsSection(skillRegistry, skillsSummaryXML, toolSearchActive) {
|
|
216
|
+
if (toolSearchActive) {
|
|
217
|
+
if (!skillsSummaryXML && (!skillRegistry || skillRegistry.size === 0))
|
|
218
|
+
return null;
|
|
219
|
+
const body = skillsSummaryXML
|
|
220
|
+
|| (skillRegistry
|
|
221
|
+
? skillRegistry.getAll().map(s => ` - ${s.name}: ${s.description}`).join('\n')
|
|
222
|
+
: '');
|
|
223
|
+
return [
|
|
224
|
+
'# Skills (reference)',
|
|
225
|
+
body,
|
|
226
|
+
'',
|
|
227
|
+
'Skills are not activated on the orchestrator. Use run_deferred_task(goal, tool_query) instead.',
|
|
228
|
+
].join('\n');
|
|
229
|
+
}
|
|
192
230
|
if (skillsSummaryXML) {
|
|
193
231
|
return '# Available Skills\n\n' + skillsSummaryXML + '\n\nIf the user message matches a skill (name/keywords) OR the chat platform matches a skill\'s `platforms` in frontmatter, call activate_skill(name) when you need that skill\'s full instructions—then follow them.';
|
|
194
232
|
}
|
|
@@ -225,7 +263,8 @@ function buildMemorySection() {
|
|
|
225
263
|
* 用于观测渐进披露与 token 压力,不改变线上 prompt 拼接逻辑。
|
|
226
264
|
*/
|
|
227
265
|
export function describePromptSectionsForDebug(ctx) {
|
|
228
|
-
const { config, skillRegistry, skillsSummaryXML, activeSkillsContext, bootstrapContext } = ctx;
|
|
266
|
+
const { config, skillRegistry, skillsSummaryXML, activeSkillsContext, bootstrapContext, toolSearchDeferredStats, platformSections, } = ctx;
|
|
267
|
+
const toolSearchActive = !!config.toolSearch;
|
|
229
268
|
const boot = bootstrapContext?.trim() ? bootstrapContext : null;
|
|
230
269
|
const pairs = [
|
|
231
270
|
['§1_identity_environment', buildIdentitySection(config)],
|
|
@@ -233,9 +272,11 @@ export function describePromptSectionsForDebug(ctx) {
|
|
|
233
272
|
['§3_discipline', buildDisciplineSection()],
|
|
234
273
|
['§4_doing_tasks', buildDoingTasksSection()],
|
|
235
274
|
['§5_action_safety', buildActionsSection()],
|
|
236
|
-
['§6_tools', buildUsingToolsSection()],
|
|
275
|
+
['§6_tools', buildUsingToolsSection(toolSearchActive)],
|
|
276
|
+
['§6c_platform', buildPlatformSection(platformSections)],
|
|
277
|
+
['§6b_deferred', buildToolSearchDeferredSection(toolSearchDeferredStats)],
|
|
237
278
|
['§7_style', buildCommunicationSection()],
|
|
238
|
-
['§8_skills', buildSkillsSection(skillRegistry, skillsSummaryXML)],
|
|
279
|
+
['§8_skills', buildSkillsSection(skillRegistry, skillsSummaryXML, toolSearchActive)],
|
|
239
280
|
['§9_active_skills', buildActiveSkillsSection(activeSkillsContext)],
|
|
240
281
|
['§10_memory', buildMemorySection()],
|
|
241
282
|
['§11_bootstrap', boot],
|
|
@@ -245,7 +286,8 @@ export function describePromptSectionsForDebug(ctx) {
|
|
|
245
286
|
.map(([id, c]) => ({ id, approxChars: c.length }));
|
|
246
287
|
}
|
|
247
288
|
export function buildRichSystemPrompt(ctx) {
|
|
248
|
-
const { config, skillRegistry, skillsSummaryXML, activeSkillsContext, bootstrapContext } = ctx;
|
|
289
|
+
const { config, skillRegistry, skillsSummaryXML, activeSkillsContext, bootstrapContext, toolSearchDeferredStats, platformSections, } = ctx;
|
|
290
|
+
const toolSearchActive = !!config.toolSearch;
|
|
249
291
|
const sections = [
|
|
250
292
|
// Static sections (stable across turns)
|
|
251
293
|
buildIdentitySection(config), // §1
|
|
@@ -253,14 +295,27 @@ export function buildRichSystemPrompt(ctx) {
|
|
|
253
295
|
buildDisciplineSection(), // §3
|
|
254
296
|
buildDoingTasksSection(), // §4
|
|
255
297
|
buildActionsSection(), // §5
|
|
256
|
-
buildUsingToolsSection(), // §6
|
|
298
|
+
buildUsingToolsSection(toolSearchActive), // §6
|
|
299
|
+
buildPlatformSection(platformSections),
|
|
300
|
+
buildToolSearchDeferredSection(toolSearchDeferredStats),
|
|
257
301
|
buildCommunicationSection(), // §7
|
|
258
302
|
// Dynamic sections (vary per session/turn)
|
|
259
|
-
buildSkillsSection(skillRegistry, skillsSummaryXML), // §8
|
|
303
|
+
buildSkillsSection(skillRegistry, skillsSummaryXML, toolSearchActive), // §8
|
|
260
304
|
buildActiveSkillsSection(activeSkillsContext), // §9
|
|
261
305
|
buildMemorySection(), // §10
|
|
262
306
|
bootstrapContext || null, // §11
|
|
263
307
|
];
|
|
264
308
|
return sections.filter(Boolean).join(SECTION_SEP);
|
|
265
309
|
}
|
|
310
|
+
/** Vision / lite paths: persona + optional platform + context hint. */
|
|
311
|
+
export function buildLiteSystemPromptWithPlatform(personaBlock, platformSections, contextHint) {
|
|
312
|
+
const parts = [personaBlock.trim()];
|
|
313
|
+
const platform = buildPlatformSection(platformSections);
|
|
314
|
+
if (platform)
|
|
315
|
+
parts.push(platform);
|
|
316
|
+
const hint = contextHint?.trim();
|
|
317
|
+
if (hint)
|
|
318
|
+
parts.push(hint);
|
|
319
|
+
return parts.join('\n\n');
|
|
320
|
+
}
|
|
266
321
|
//# sourceMappingURL=prompt.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/zhin-agent/prompt.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/zhin-agent/prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deferred 工具目录统计(D1 prompt 用)
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentTool } from '@zhin.js/ai';
|
|
5
|
+
/** toolSearch 分区前去掉仅用于经典路径的技能工具 */
|
|
6
|
+
export declare function filterToolsForToolSearchCatalog(allTools: AgentTool[]): AgentTool[];
|
|
7
|
+
export declare function summarizeDeferredDomains(deferred: AgentTool[]): string;
|
|
8
|
+
export interface ToolSearchPartition {
|
|
9
|
+
orchestrator: AgentTool[];
|
|
10
|
+
deferred: AgentTool[];
|
|
11
|
+
domainStats: string;
|
|
12
|
+
}
|
|
13
|
+
/** 按常驻名拆分;未在 orchestrator 列表中的工具归入 deferred */
|
|
14
|
+
export declare function partitionToolsForToolSearch(allTools: AgentTool[], orchestratorNames: readonly string[]): ToolSearchPartition;
|
|
15
|
+
//# sourceMappingURL=tool-catalog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-catalog.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-catalog.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAK7C,mCAAmC;AACnC,wBAAgB,+BAA+B,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE,CAElF;AASD,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,SAAS,EAAE,GAAG,MAAM,CAUtE;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,+CAA+C;AAC/C,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,SAAS,EAAE,EACrB,iBAAiB,EAAE,SAAS,MAAM,EAAE,GACnC,mBAAmB,CAwBrB"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { TOOL_SEARCH_EXCLUDED_TOOLS } from './config.js';
|
|
2
|
+
const EXCLUDED_FROM_TOOL_SEARCH = new Set(TOOL_SEARCH_EXCLUDED_TOOLS);
|
|
3
|
+
/** toolSearch 分区前去掉仅用于经典路径的技能工具 */
|
|
4
|
+
export function filterToolsForToolSearchCatalog(allTools) {
|
|
5
|
+
return allTools.filter(t => !EXCLUDED_FROM_TOOL_SEARCH.has(t.name));
|
|
6
|
+
}
|
|
7
|
+
function domainForToolName(name) {
|
|
8
|
+
if (name.startsWith('mcp_'))
|
|
9
|
+
return 'mcp';
|
|
10
|
+
if (name.startsWith('github_'))
|
|
11
|
+
return 'github';
|
|
12
|
+
if (name.startsWith('cron_'))
|
|
13
|
+
return 'cron';
|
|
14
|
+
return 'other';
|
|
15
|
+
}
|
|
16
|
+
export function summarizeDeferredDomains(deferred) {
|
|
17
|
+
const counts = new Map();
|
|
18
|
+
for (const tool of deferred) {
|
|
19
|
+
const domain = domainForToolName(tool.name);
|
|
20
|
+
counts.set(domain, (counts.get(domain) ?? 0) + 1);
|
|
21
|
+
}
|
|
22
|
+
const parts = [...counts.entries()]
|
|
23
|
+
.sort((a, b) => b[1] - a[1])
|
|
24
|
+
.map(([domain, count]) => `${domain}(${count})`);
|
|
25
|
+
return parts.length > 0 ? parts.join(', ') : 'none';
|
|
26
|
+
}
|
|
27
|
+
/** 按常驻名拆分;未在 orchestrator 列表中的工具归入 deferred */
|
|
28
|
+
export function partitionToolsForToolSearch(allTools, orchestratorNames) {
|
|
29
|
+
const orchSet = new Set(orchestratorNames.map(n => n.toLowerCase()));
|
|
30
|
+
const orchestrator = [];
|
|
31
|
+
const deferred = [];
|
|
32
|
+
const seenOrch = new Set();
|
|
33
|
+
for (const tool of allTools) {
|
|
34
|
+
const key = tool.name.toLowerCase();
|
|
35
|
+
if (orchSet.has(key)) {
|
|
36
|
+
if (!seenOrch.has(key)) {
|
|
37
|
+
orchestrator.push(tool);
|
|
38
|
+
seenOrch.add(key);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else if (!EXCLUDED_FROM_TOOL_SEARCH.has(tool.name)) {
|
|
42
|
+
deferred.push(tool);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
// 常驻工具若未出现在 allTools 中,由调用方补注册
|
|
46
|
+
return {
|
|
47
|
+
orchestrator,
|
|
48
|
+
deferred,
|
|
49
|
+
domainStats: summarizeDeferredDomains(deferred),
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=tool-catalog.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-catalog.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-catalog.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AAEzD,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAS,0BAA0B,CAAC,CAAC;AAE9E,mCAAmC;AACnC,MAAM,UAAU,+BAA+B,CAAC,QAAqB;IACnE,OAAO,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAY;IACrC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;QAAE,OAAO,KAAK,CAAC;IAC1C,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC;QAAE,OAAO,QAAQ,CAAC;IAChD,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;QAAE,OAAO,MAAM,CAAC;IAC5C,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,wBAAwB,CAAC,QAAqB;IAC5D,MAAM,MAAM,GAAG,IAAI,GAAG,EAAkB,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,MAAM,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACpD,CAAC;IACD,MAAM,KAAK,GAAG,CAAC,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;SAChC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;SAC3B,GAAG,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,MAAM,IAAI,KAAK,GAAG,CAAC,CAAC;IACnD,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;AACtD,CAAC;AAQD,+CAA+C;AAC/C,MAAM,UAAU,2BAA2B,CACzC,QAAqB,EACrB,iBAAoC;IAEpC,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACrE,MAAM,YAAY,GAAgB,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAgB,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC5B,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACpC,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACrB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACvB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACxB,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,IAAI,CAAC,yBAAyB,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACrD,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;IACH,CAAC;IAED,+BAA+B;IAC/B,OAAO;QACL,YAAY;QACZ,QAAQ;QACR,WAAW,EAAE,wBAAwB,CAAC,QAAQ,CAAC;KAChD,CAAC;AACJ,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type AgentTool } from '@zhin.js/ai';
|
|
2
2
|
import type { Tool, ToolContext } from '../orchestrator/types.js';
|
|
3
3
|
import type { SkillRegistry } from '../orchestrator/skill-registry.js';
|
|
4
4
|
import type { ZhinAgentConfig } from './config.js';
|
|
@@ -18,6 +18,8 @@ export interface CollectRuntimeToolsOptions {
|
|
|
18
18
|
memory: ConversationMemory;
|
|
19
19
|
userProfiles: UserProfileStore;
|
|
20
20
|
subagentManager: SubagentManager | null;
|
|
21
|
+
/** MCP tools from connected servers (merged after skill/tool selection). */
|
|
22
|
+
mcpTools?: AgentTool[];
|
|
21
23
|
}
|
|
22
24
|
export declare function collectRuntimeTools(options: CollectRuntimeToolsOptions): AgentTool[];
|
|
23
25
|
export interface ToolRunPlan {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-runtime.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"tool-runtime.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjE,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AACvE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAOnD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACtD,OAAO,EAAyB,KAAK,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAM7E,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,CAAC;IACrB,aAAa,EAAE,IAAI,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,aAAa,EAAE,aAAa,GAAG,IAAI,CAAC;IACpC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAC3C,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,kBAAkB,CAAC;IAC3B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,eAAe,EAAE,eAAe,GAAG,IAAI,CAAC;IACxC,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,SAAS,EAAE,CAAC;CACxB;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,SAAS,EAAE,CAmCpF;AAED,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,YAAY,EAAE,gBAAgB,CAAC;IAC/B,kBAAkB,EAAE,OAAO,CAAC;IAC5B,IAAI,EAAE,MAAM,GAAG,oBAAoB,GAAG,OAAO,CAAC;CAC/C;AAED,wBAAsB,WAAW,CAC/B,KAAK,EAAE,SAAS,EAAE,EAClB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,WAAW,CAAC,CAWtB;AAED,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAOnF"}
|
|
@@ -1,7 +1,11 @@
|
|
|
1
|
+
import { isReservedToolName } from '@zhin.js/ai';
|
|
2
|
+
import { Logger } from '@zhin.js/core';
|
|
1
3
|
import { KEYWORD_TRIGGERS } from './config.js';
|
|
2
4
|
import { createChatHistoryTool, createSpawnTaskTool, createUserProfileTool, } from './builtin-tools.js';
|
|
3
5
|
import { runPreExecutableTools } from './pre-exec.js';
|
|
4
6
|
import { sharedToolSelection } from '../orchestrator/tool-selection.js';
|
|
7
|
+
import { RESERVED_TOOL_NAMES, RESERVED_TOOL_NAME_PREFIXES } from '../reserved-tools.js';
|
|
8
|
+
const logger = new Logger(null, 'ToolRuntime');
|
|
5
9
|
export function collectRuntimeTools(options) {
|
|
6
10
|
const tools = sharedToolSelection.collectRelevantTools(options.content, options.context, options.externalTools, {
|
|
7
11
|
config: options.config,
|
|
@@ -24,6 +28,16 @@ export function collectRuntimeTools(options) {
|
|
|
24
28
|
if (options.subagentManager && KEYWORD_TRIGGERS.spawnTask.test(options.content)) {
|
|
25
29
|
add(createSpawnTaskTool(options.context, options.subagentManager));
|
|
26
30
|
}
|
|
31
|
+
for (const mcpTool of options.mcpTools ?? []) {
|
|
32
|
+
if (isReservedToolName(mcpTool.name, {
|
|
33
|
+
reservedNames: RESERVED_TOOL_NAMES,
|
|
34
|
+
reservedPrefixes: RESERVED_TOOL_NAME_PREFIXES,
|
|
35
|
+
})) {
|
|
36
|
+
logger.warn(`[MCP] Skipping tool "${mcpTool.name}": conflicts with reserved tool name`);
|
|
37
|
+
continue;
|
|
38
|
+
}
|
|
39
|
+
add(mcpTool);
|
|
40
|
+
}
|
|
27
41
|
return tools;
|
|
28
42
|
}
|
|
29
43
|
export async function planToolRun(tools, timeoutMs) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-runtime.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tool-runtime.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-runtime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAkB,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAC;AAIvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,qBAAqB,EACrB,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,oBAAoB,CAAC;AAI5B,OAAO,EAAE,qBAAqB,EAAyB,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,mBAAmB,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AAExF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC;AAkB/C,MAAM,UAAU,mBAAmB,CAAC,OAAmC;IACrE,MAAM,KAAK,GAAG,mBAAmB,CAAC,oBAAoB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,EAAE;QAC9G,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;KAC/C,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACpD,MAAM,GAAG,GAAG,CAAC,IAAe,EAAE,EAAE;QAC9B,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC;YAAE,OAAO;QACjC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjB,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC,CAAC;IAEF,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC;IAChE,CAAC;IACD,IAAI,gBAAgB,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,GAAG,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,OAAO,CAAC,eAAe,IAAI,gBAAgB,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAChF,GAAG,CAAC,mBAAmB,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,QAAQ,IAAI,EAAE,EAAE,CAAC;QAC7C,IAAI,kBAAkB,CAAC,OAAO,CAAC,IAAI,EAAE;YACnC,aAAa,EAAE,mBAAmB;YAClC,gBAAgB,EAAE,2BAA2B;SAC9C,CAAC,EAAE,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,wBAAwB,OAAO,CAAC,IAAI,sCAAsC,CAAC,CAAC;YACxF,SAAS;QACX,CAAC;QACD,GAAG,CAAC,OAAO,CAAC,CAAC;IACf,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AASD,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,KAAkB,EAClB,SAAiB;IAEjB,MAAM,YAAY,GAAG,MAAM,qBAAqB,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACnE,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACnE,OAAO;QACL,YAAY,EAAE,YAAY,CAAC,KAAK;QAChC,YAAY;QACZ,kBAAkB;QAClB,IAAI,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,CAAC,MAAM;YACR,CAAC,CAAC,CAAC,CAAC,kBAAkB,IAAI,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,OAAO,CAAC;KAChF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CAAC,OAAe,EAAE,OAAe;IACzE,OAAO,GAAG,OAAO;;;EAGjB,OAAO;;sGAE6F,CAAC;AACvG,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* toolSearch 模式下组装主编排 Agent 工具集
|
|
3
|
+
*/
|
|
4
|
+
import type { AgentTool } from '@zhin.js/ai';
|
|
5
|
+
import type { ToolContext } from '../orchestrator/types.js';
|
|
6
|
+
import type { ZhinAgentConfig } from './config.js';
|
|
7
|
+
/** toolSearch 主编排:压缩 activate_skill 回执,避免长工具列表占满主会话 */
|
|
8
|
+
export declare function wrapActivateSkillForToolSearch(tool: AgentTool): AgentTool;
|
|
9
|
+
export declare function compactActivateSkillResultForToolSearch(full: string): string;
|
|
10
|
+
export interface BuildOrchestratorToolsParams {
|
|
11
|
+
allTools: AgentTool[];
|
|
12
|
+
config: Required<ZhinAgentConfig>;
|
|
13
|
+
context: ToolContext;
|
|
14
|
+
getDeferredCatalog: () => AgentTool[];
|
|
15
|
+
runWorker: (goal: string, toolQuery?: string) => Promise<string>;
|
|
16
|
+
}
|
|
17
|
+
export interface BuildOrchestratorToolsResult {
|
|
18
|
+
orchestratorTools: AgentTool[];
|
|
19
|
+
deferred: AgentTool[];
|
|
20
|
+
domainStats: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function buildOrchestratorAgentTools(params: BuildOrchestratorToolsParams): BuildOrchestratorToolsResult;
|
|
23
|
+
//# sourceMappingURL=tool-search-orchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-search-orchestrator.d.ts","sourceRoot":"","sources":["../../src/zhin-agent/tool-search-orchestrator.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,uDAAuD;AACvD,wBAAgB,8BAA8B,CAAC,IAAI,EAAE,SAAS,GAAG,SAAS,CAczE;AASD,wBAAgB,uCAAuC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAyB5E;AAED,MAAM,WAAW,4BAA4B;IAC3C,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,MAAM,EAAE,QAAQ,CAAC,eAAe,CAAC,CAAC;IAClC,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,MAAM,SAAS,EAAE,CAAC;IACtC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAClE;AAED,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,SAAS,EAAE,CAAC;IAC/B,QAAQ,EAAE,SAAS,EAAE,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,wBAAgB,2BAA2B,CAAC,MAAM,EAAE,4BAA4B,GAAG,4BAA4B,CAuC9G"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { createRunDeferredTaskTool } from '../builtin/run-deferred-task-tool.js';
|
|
2
|
+
import { createToolSearchTool } from '../builtin/tool-search-tool.js';
|
|
3
|
+
import { normalizeTool } from '../orchestrator/tool-selection.js';
|
|
4
|
+
import { filterToolsForToolSearchCatalog, partitionToolsForToolSearch } from './tool-catalog.js';
|
|
5
|
+
/** toolSearch 主编排:压缩 activate_skill 回执,避免长工具列表占满主会话 */
|
|
6
|
+
export function wrapActivateSkillForToolSearch(tool) {
|
|
7
|
+
const inner = tool.execute;
|
|
8
|
+
if (!inner)
|
|
9
|
+
return tool;
|
|
10
|
+
return {
|
|
11
|
+
...tool,
|
|
12
|
+
description: `${tool.description}(toolSearch:仅返回技能要点与建议 tool_query;执行须 run_deferred_task。)`,
|
|
13
|
+
execute: async (args) => {
|
|
14
|
+
const raw = await inner(args);
|
|
15
|
+
const text = typeof raw === 'string' ? raw : String(raw);
|
|
16
|
+
if (text.startsWith('Error:') || text.includes('not found'))
|
|
17
|
+
return text;
|
|
18
|
+
return compactActivateSkillResultForToolSearch(text);
|
|
19
|
+
},
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const ORCHESTRATOR_SKILL_HINTS = {
|
|
23
|
+
icqq: {
|
|
24
|
+
toolQuery: 'mcp_icqq_icqq_invoke icqq_send_user_like friend_like',
|
|
25
|
+
note: 'QQ/icqq:优先 mcp_icqq_icqq_invoke(action=friend_like) 或 icqq_send_user_like;勿用 filesystem MCP。',
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
export function compactActivateSkillResultForToolSearch(full) {
|
|
29
|
+
const nameMatch = full.match(/Skill '([^']+)'/);
|
|
30
|
+
const name = nameMatch?.[1] ?? 'skill';
|
|
31
|
+
const toolsBlock = full.match(/tools:\s*\n((?:\s+-\s+.+\n?)+)/);
|
|
32
|
+
const toolNames = toolsBlock
|
|
33
|
+
? [...toolsBlock[1].matchAll(/^\s+-\s+(\S+)/gm)].map(m => m[1])
|
|
34
|
+
: [];
|
|
35
|
+
const skillHint = ORCHESTRATOR_SKILL_HINTS[name];
|
|
36
|
+
const lines = [
|
|
37
|
+
`Skill '${name}' (orchestrator). Deferred tools run only via run_deferred_task.`,
|
|
38
|
+
];
|
|
39
|
+
if (skillHint) {
|
|
40
|
+
lines.push(skillHint.note);
|
|
41
|
+
lines.push(`Suggested tool_query: ${skillHint.toolQuery}.`);
|
|
42
|
+
}
|
|
43
|
+
else if (toolNames.length > 0) {
|
|
44
|
+
const hint = toolNames.slice(0, 8).join(', ');
|
|
45
|
+
lines.push(`Suggested tool_query: ${hint}${toolNames.length > 8 ? ', …' : ''}.`);
|
|
46
|
+
}
|
|
47
|
+
const rules = full.match(/## (?:执行规则|快速操作|Quick\s*Actions)[\s\S]*?(?=\n## [^\s]|$)/i);
|
|
48
|
+
if (rules) {
|
|
49
|
+
const chunk = rules[0].trim();
|
|
50
|
+
lines.push(chunk.length > 400 ? `${chunk.slice(0, 400)}\n…` : chunk);
|
|
51
|
+
}
|
|
52
|
+
lines.push('Next: run_deferred_task(goal=user request, tool_query as above). Do not call activate_skill again.');
|
|
53
|
+
return lines.join('\n\n');
|
|
54
|
+
}
|
|
55
|
+
export function buildOrchestratorAgentTools(params) {
|
|
56
|
+
const { allTools, config, context, getDeferredCatalog, runWorker } = params;
|
|
57
|
+
const catalog = filterToolsForToolSearchCatalog(allTools);
|
|
58
|
+
const part = partitionToolsForToolSearch(catalog, config.toolSearchOrchestratorTools);
|
|
59
|
+
const byName = new Map();
|
|
60
|
+
for (const tool of part.orchestrator) {
|
|
61
|
+
byName.set(tool.name, normalizeTool(tool, context));
|
|
62
|
+
}
|
|
63
|
+
byName.set('tool_search', normalizeTool(createToolSearchTool({
|
|
64
|
+
getDeferredCatalog,
|
|
65
|
+
maxResults: config.toolSearchMaxResults,
|
|
66
|
+
}), context));
|
|
67
|
+
const runDeferred = normalizeTool(createRunDeferredTaskTool({ runWorker }), context);
|
|
68
|
+
runDeferred.timeout = Math.max(180_000, (config.timeout ?? 60_000) * 2);
|
|
69
|
+
byName.set('run_deferred_task', runDeferred);
|
|
70
|
+
const orchestratorTools = [];
|
|
71
|
+
for (const name of config.toolSearchOrchestratorTools) {
|
|
72
|
+
let tool = byName.get(name);
|
|
73
|
+
if (!tool)
|
|
74
|
+
continue;
|
|
75
|
+
if (name === 'activate_skill') {
|
|
76
|
+
tool = wrapActivateSkillForToolSearch(tool);
|
|
77
|
+
}
|
|
78
|
+
orchestratorTools.push(tool);
|
|
79
|
+
}
|
|
80
|
+
return {
|
|
81
|
+
orchestratorTools,
|
|
82
|
+
deferred: part.deferred,
|
|
83
|
+
domainStats: part.domainStats,
|
|
84
|
+
};
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=tool-search-orchestrator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tool-search-orchestrator.js","sourceRoot":"","sources":["../../src/zhin-agent/tool-search-orchestrator.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AACjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,mCAAmC,CAAC;AAGlE,OAAO,EAAE,+BAA+B,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAEjG,uDAAuD;AACvD,MAAM,UAAU,8BAA8B,CAAC,IAAe;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC;IAC3B,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,OAAO;QACL,GAAG,IAAI;QACP,WAAW,EACT,GAAG,IAAI,CAAC,WAAW,2DAA2D;QAChF,OAAO,EAAE,KAAK,EAAE,IAA6B,EAAE,EAAE;YAC/C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAC9B,MAAM,IAAI,GAAG,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;gBAAE,OAAO,IAAI,CAAC;YACzE,OAAO,uCAAuC,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;KACF,CAAC;AACJ,CAAC;AAED,MAAM,wBAAwB,GAAwD;IACpF,IAAI,EAAE;QACJ,SAAS,EAAE,sDAAsD;QACjE,IAAI,EAAE,8FAA8F;KACrG;CACF,CAAC;AAEF,MAAM,UAAU,uCAAuC,CAAC,IAAY;IAClE,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;IAChD,MAAM,IAAI,GAAG,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;IACvC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,UAAU;QAC1B,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,KAAK,GAAG;QACZ,UAAU,IAAI,kEAAkE;KACjF,CAAC;IACF,IAAI,SAAS,EAAE,CAAC;QACd,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,yBAAyB,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC;IAC9D,CAAC;SAAM,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC9C,KAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACnF,CAAC;IACD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,2DAA2D,CAAC,CAAC;IACtF,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACvE,CAAC;IACD,KAAK,CAAC,IAAI,CAAC,oGAAoG,CAAC,CAAC;IACjH,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAgBD,MAAM,UAAU,2BAA2B,CAAC,MAAoC;IAC9E,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,kBAAkB,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;IAC5E,MAAM,OAAO,GAAG,+BAA+B,CAAC,QAAQ,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,2BAA2B,CAAC,OAAO,EAAE,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE5C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACrC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,CAAC,GAAG,CACR,aAAa,EACb,aAAa,CACX,oBAAoB,CAAC;QACnB,kBAAkB;QAClB,UAAU,EAAE,MAAM,CAAC,oBAAoB;KACxC,CAAC,EACF,OAAO,CACR,CACF,CAAC;IACF,MAAM,WAAW,GAAG,aAAa,CAAC,yBAAyB,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IACrF,WAAW,CAAC,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IACxE,MAAM,CAAC,GAAG,CAAC,mBAAmB,EAAE,WAAW,CAAC,CAAC;IAE7C,MAAM,iBAAiB,GAAgB,EAAE,CAAC;IAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,2BAA2B,EAAE,CAAC;QACtD,IAAI,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC5B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC9B,IAAI,GAAG,8BAA8B,CAAC,IAAI,CAAC,CAAC;QAC9C,CAAC;QACD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO;QACL,iBAAiB;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,IAAI,CAAC,WAAW;KAC9B,CAAC;AACJ,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhin.js/agent",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21",
|
|
4
4
|
"description": "Zhin AI Agent — session, ZhinAgent, init; composes @zhin.js/core providers and tools",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./lib/index.js",
|
|
@@ -18,13 +18,22 @@
|
|
|
18
18
|
"dependencies": {
|
|
19
19
|
"he": "^1.2.0",
|
|
20
20
|
"js-yaml": "^4.1.0",
|
|
21
|
-
"@zhin.js/ai": "1.1.
|
|
22
|
-
"@zhin.js/core": "1.1.
|
|
21
|
+
"@zhin.js/ai": "1.1.21",
|
|
22
|
+
"@zhin.js/core": "1.1.23"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"@modelcontextprotocol/sdk": "^1.29.0"
|
|
26
|
+
},
|
|
27
|
+
"peerDependenciesMeta": {
|
|
28
|
+
"@modelcontextprotocol/sdk": {
|
|
29
|
+
"optional": true
|
|
30
|
+
}
|
|
23
31
|
},
|
|
24
32
|
"devDependencies": {
|
|
33
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
25
34
|
"@types/he": "^1.2.3",
|
|
26
35
|
"@types/js-yaml": "^4.0.9",
|
|
27
|
-
"@types/node": "^25.
|
|
36
|
+
"@types/node": "^25.8.0",
|
|
28
37
|
"rimraf": "^6.0.0",
|
|
29
38
|
"typescript": "^6.0.3"
|
|
30
39
|
},
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Tool, ToolContext, ToolParametersSchema, ToolResult } from '@zhin.js/core';
|
|
2
|
-
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
3
|
-
export declare const READ_MEMORY_PARAMETERS: ToolParametersSchema;
|
|
4
|
-
export declare class ReadMemoryBuiltinTool extends BuiltinBaseTool {
|
|
5
|
-
private readonly dataDir;
|
|
6
|
-
readonly name = "read_memory";
|
|
7
|
-
readonly description = "\u8BFB\u53D6\u6301\u4E45\u5316\u8BB0\u5FC6\uFF08AGENTS.md\uFF09\u3002\u8BB0\u5FC6\u8DE8\u4F1A\u8BDD\u4FDD\u6301\u3002scope: global\uFF08\u5171\u4EAB\uFF09\u6216 chat\uFF08\u6309\u804A\u5929\u9694\u79BB\uFF09";
|
|
8
|
-
readonly parameters: ToolParametersSchema<Record<string, any>>;
|
|
9
|
-
readonly kind = "memory";
|
|
10
|
-
constructor(dataDir: string);
|
|
11
|
-
run(args: Record<string, unknown>, _context?: ToolContext): Promise<ToolResult>;
|
|
12
|
-
}
|
|
13
|
-
export declare function createReadMemoryTool(dataDir: string): Tool;
|
|
14
|
-
//# sourceMappingURL=read-memory-tool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read-memory-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/read-memory-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,sBAAsB,EAAE,oBAWpC,CAAC;AAEF,qBAAa,qBAAsB,SAAQ,eAAe;IAO5C,OAAO,CAAC,QAAQ,CAAC,OAAO;IANpC,QAAQ,CAAC,IAAI,iBAAiB;IAC9B,QAAQ,CAAC,WAAW,qNAC0C;IAC9D,QAAQ,CAAC,UAAU,4CAA0B;IAC7C,QAAQ,CAAC,IAAI,YAAY;gBAEI,OAAO,EAAE,MAAM;IAMtC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAWtF;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE1D"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* read_memory — 读取持久化记忆(AGENTS.md)
|
|
3
|
-
*/
|
|
4
|
-
import * as fs from 'node:fs';
|
|
5
|
-
import * as path from 'node:path';
|
|
6
|
-
import { errMsg } from '../discovery/utils.js';
|
|
7
|
-
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
8
|
-
export const READ_MEMORY_PARAMETERS = {
|
|
9
|
-
type: 'object',
|
|
10
|
-
properties: {
|
|
11
|
-
scope: {
|
|
12
|
-
type: 'string',
|
|
13
|
-
description: "'global' 或 'chat'(默认 chat)",
|
|
14
|
-
enum: ['global', 'chat'],
|
|
15
|
-
},
|
|
16
|
-
chat_id: { type: 'string', description: '聊天 ID(chat scope 时使用)' },
|
|
17
|
-
},
|
|
18
|
-
required: ['scope'],
|
|
19
|
-
};
|
|
20
|
-
export class ReadMemoryBuiltinTool extends BuiltinBaseTool {
|
|
21
|
-
dataDir;
|
|
22
|
-
name = 'read_memory';
|
|
23
|
-
description = '读取持久化记忆(AGENTS.md)。记忆跨会话保持。scope: global(共享)或 chat(按聊天隔离)';
|
|
24
|
-
parameters = READ_MEMORY_PARAMETERS;
|
|
25
|
-
kind = 'memory';
|
|
26
|
-
constructor(dataDir) {
|
|
27
|
-
super();
|
|
28
|
-
this.dataDir = dataDir;
|
|
29
|
-
this.tags.push('memory', 'agents');
|
|
30
|
-
this.keywords.push('记忆', '记住', '回忆', '之前', '上次', 'memory');
|
|
31
|
-
}
|
|
32
|
-
async run(args, _context) {
|
|
33
|
-
try {
|
|
34
|
-
const memPath = args.scope === 'global'
|
|
35
|
-
? path.join(this.dataDir, 'AGENTS.md')
|
|
36
|
-
: path.join(this.dataDir, 'groups', args.chat_id || 'default', 'AGENTS.md');
|
|
37
|
-
if (!fs.existsSync(memPath))
|
|
38
|
-
return 'No memory stored yet.';
|
|
39
|
-
return await fs.promises.readFile(memPath, 'utf-8');
|
|
40
|
-
}
|
|
41
|
-
catch (e) {
|
|
42
|
-
return `Error: ${errMsg(e)}`;
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
export function createReadMemoryTool(dataDir) {
|
|
47
|
-
return new ReadMemoryBuiltinTool(dataDir).toTool();
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=read-memory-tool.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"read-memory-tool.js","sourceRoot":"","sources":["../../src/builtin/read-memory-tool.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,CAAC,MAAM,sBAAsB,GAAyB;IAC1D,IAAI,EAAE,QAAQ;IACd,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,WAAW,EAAE,4BAA4B;YACzC,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC;SACzB;QACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;KAClE;IACD,QAAQ,EAAE,CAAC,OAAO,CAAC;CACpB,CAAC;AAEF,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAO3B;IANpB,IAAI,GAAG,aAAa,CAAC;IACrB,WAAW,GAClB,2DAA2D,CAAC;IACrD,UAAU,GAAG,sBAAsB,CAAC;IACpC,IAAI,GAAG,QAAQ,CAAC;IAEzB,YAA6B,OAAe;QAC1C,KAAK,EAAE,CAAC;QADmB,YAAO,GAAP,OAAO,CAAQ;QAE1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACnC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,IAA6B,EAAE,QAAsB;QAC7D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,KAAK,QAAQ;gBACrC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,WAAW,CAAC;gBACtC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAG,IAAI,CAAC,OAAkB,IAAI,SAAS,EAAE,WAAW,CAAC,CAAC;YAC1F,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC;gBAAE,OAAO,uBAAuB,CAAC;YAC5D,OAAO,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACtD,CAAC;QAAC,OAAO,CAAU,EAAE,CAAC;YACpB,OAAO,UAAU,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC;CACF;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAe;IAClD,OAAO,IAAI,qBAAqB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,CAAC;AACrD,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { Tool, ToolContext, ToolParametersSchema, ToolResult } from '@zhin.js/core';
|
|
2
|
-
import { BuiltinBaseTool } from './builtin-base-tool.js';
|
|
3
|
-
export declare const WRITE_MEMORY_PARAMETERS: ToolParametersSchema;
|
|
4
|
-
export declare class WriteMemoryBuiltinTool extends BuiltinBaseTool {
|
|
5
|
-
private readonly dataDir;
|
|
6
|
-
readonly name = "write_memory";
|
|
7
|
-
readonly description = "\u5199\u5165\u6301\u4E45\u5316\u8BB0\u5FC6\u3002\u5F53\u7528\u6237\u8BF4\"\u8BB0\u4F4F\u2026\"\u3001\"\u8BB0\u5F55\u2026\"\u65F6\u4F7F\u7528\u6B64\u5DE5\u5177";
|
|
8
|
-
readonly parameters: ToolParametersSchema<Record<string, any>>;
|
|
9
|
-
readonly kind = "memory";
|
|
10
|
-
constructor(dataDir: string);
|
|
11
|
-
run(args: Record<string, unknown>, _context?: ToolContext): Promise<ToolResult>;
|
|
12
|
-
}
|
|
13
|
-
export declare function createWriteMemoryTool(dataDir: string): Tool;
|
|
14
|
-
//# sourceMappingURL=write-memory-tool.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"write-memory-tool.d.ts","sourceRoot":"","sources":["../../src/builtin/write-memory-tool.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEzF,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,eAAO,MAAM,uBAAuB,EAAE,oBAYrC,CAAC;AAEF,qBAAa,sBAAuB,SAAQ,eAAe;IAM7C,OAAO,CAAC,QAAQ,CAAC,OAAO;IALpC,QAAQ,CAAC,IAAI,kBAAkB;IAC/B,QAAQ,CAAC,WAAW,oKAAmC;IACvD,QAAQ,CAAC,UAAU,4CAA2B;IAC9C,QAAQ,CAAC,IAAI,YAAY;gBAEI,OAAO,EAAE,MAAM;IAMtC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,QAAQ,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;CAYtF;AAED,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAE3D"}
|