@zhin.js/agent 0.1.20 → 0.1.22
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/cron-engine.d.ts.map +1 -1
- package/lib/cron-engine.js +3 -3
- package/lib/cron-engine.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 +159 -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 +9 -7
- package/lib/init/create-zhin-agent.js.map +1 -1
- package/lib/init/register-ai-service.d.ts.map +1 -1
- package/lib/init/register-ai-service.js +5 -5
- package/lib/init/register-ai-service.js.map +1 -1
- package/lib/init/register-ai-trigger.d.ts.map +1 -1
- package/lib/init/register-ai-trigger.js +25 -9
- package/lib/init/register-ai-trigger.js.map +1 -1
- package/lib/init/register-builtin-tools.d.ts.map +1 -1
- package/lib/init/register-builtin-tools.js +33 -29
- package/lib/init/register-builtin-tools.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 +85 -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 +40 -4
- 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.d.ts +7 -1
- package/lib/subagent.d.ts.map +1 -1
- package/lib/subagent.js +22 -8
- 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 +23 -0
- package/lib/zhin-agent/config.d.ts.map +1 -1
- package/lib/zhin-agent/config.js +20 -0
- package/lib/zhin-agent/config.js.map +1 -1
- package/lib/zhin-agent/index.d.ts +21 -0
- package/lib/zhin-agent/index.d.ts.map +1 -1
- package/lib/zhin-agent/index.js +257 -35
- 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/lib/zhin-agent/turn-metrics.d.ts +20 -0
- package/lib/zhin-agent/turn-metrics.d.ts.map +1 -0
- package/lib/zhin-agent/turn-metrics.js +28 -0
- package/lib/zhin-agent/turn-metrics.js.map +1 -0
- package/package.json +14 -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
|
@@ -2,10 +2,12 @@
|
|
|
2
2
|
* Register AI trigger handler via the core MessageDispatcher inbound pipeline.
|
|
3
3
|
*/
|
|
4
4
|
import './types.js';
|
|
5
|
-
import { getPlugin,
|
|
5
|
+
import { getPlugin, inferSenderPermissions, mergeAITriggerConfig, parseRichMediaContent, shouldTriggerAI } from '@zhin.js/core';
|
|
6
6
|
import { extractMediaParts } from './message-media.js';
|
|
7
7
|
import { renderOutput } from './output-renderer.js';
|
|
8
8
|
import { canAccessTool } from '../orchestrator/tool-selection.js';
|
|
9
|
+
import { formatCompactLog, truncatePreview } from '@zhin.js/logger';
|
|
10
|
+
import { formatAiHandlerCompleteLog } from '../zhin-agent/turn-metrics.js';
|
|
9
11
|
export function registerAITrigger(refs) {
|
|
10
12
|
const plugin = getPlugin();
|
|
11
13
|
const { useContext, root, logger } = plugin;
|
|
@@ -13,7 +15,7 @@ export function registerAITrigger(refs) {
|
|
|
13
15
|
const rawConfig = ai.getTriggerConfig();
|
|
14
16
|
const triggerConfig = mergeAITriggerConfig(rawConfig);
|
|
15
17
|
if (!triggerConfig.enabled) {
|
|
16
|
-
logger.info('AI
|
|
18
|
+
logger.info(formatCompactLog('AI Handler', { disabled: true }));
|
|
17
19
|
return;
|
|
18
20
|
}
|
|
19
21
|
const dispatcherSvc = root.inject('dispatcher');
|
|
@@ -60,7 +62,10 @@ export function registerAITrigger(refs) {
|
|
|
60
62
|
else {
|
|
61
63
|
externalTools = externalTools.filter(t => canAccessTool(t, toolContext));
|
|
62
64
|
}
|
|
63
|
-
logger.debug(
|
|
65
|
+
logger.debug(formatCompactLog('AI Handler', {
|
|
66
|
+
tools: externalTools.length,
|
|
67
|
+
collect_ms: Math.round(performance.now() - tCollect),
|
|
68
|
+
}));
|
|
64
69
|
try {
|
|
65
70
|
// 每轮 LLM 调用在 Agent 内部已有 turnTimeout(来自 triggerConfig.timeout),
|
|
66
71
|
// 这里不再设置全局超时,避免多轮工具调用被不合理地截断。
|
|
@@ -73,7 +78,7 @@ export function registerAITrigger(refs) {
|
|
|
73
78
|
const onChunk = (_chunk, _full) => {
|
|
74
79
|
if (!firstChunkMs) {
|
|
75
80
|
firstChunkMs = performance.now() - t0;
|
|
76
|
-
logger.debug(
|
|
81
|
+
logger.debug(formatCompactLog('AI Handler', { first_token_ms: Math.round(firstChunkMs) }));
|
|
77
82
|
}
|
|
78
83
|
};
|
|
79
84
|
if (mediaParts.length > 0) {
|
|
@@ -89,23 +94,34 @@ export function registerAITrigger(refs) {
|
|
|
89
94
|
const responseText = renderOutput(elements);
|
|
90
95
|
if (responseText)
|
|
91
96
|
await replyOutbound(parseRichMediaContent(responseText));
|
|
92
|
-
|
|
97
|
+
const totalMs = performance.now() - t0;
|
|
98
|
+
const turnMetrics = refs.zhinAgent.getLastTurnMetrics();
|
|
99
|
+
if (turnMetrics) {
|
|
100
|
+
logger.info(formatAiHandlerCompleteLog(turnMetrics, totalMs));
|
|
101
|
+
}
|
|
102
|
+
else {
|
|
103
|
+
logger.info(formatCompactLog('AI Handler', { total_ms: Math.round(totalMs), usage: 'n/a' }));
|
|
104
|
+
}
|
|
93
105
|
}
|
|
94
106
|
catch (error) {
|
|
95
107
|
const msg = error instanceof Error ? error.message : String(error);
|
|
96
|
-
logger.warn(
|
|
108
|
+
logger.warn(formatCompactLog('AI Handler', {
|
|
109
|
+
total_ms: Math.round(performance.now() - t0),
|
|
110
|
+
ok: false,
|
|
111
|
+
error: truncatePreview(msg, 120),
|
|
112
|
+
}));
|
|
97
113
|
await replyOutbound(triggerConfig.errorTemplate.replace('{error}', msg));
|
|
98
114
|
}
|
|
99
115
|
};
|
|
100
116
|
const dispatcher = root.inject('dispatcher');
|
|
101
117
|
if (!dispatcher || typeof dispatcher.setAIHandler !== 'function') {
|
|
102
|
-
logger.warn('AI
|
|
118
|
+
logger.warn(formatCompactLog('AI Handler', { error: 'no_dispatcher' }));
|
|
103
119
|
return;
|
|
104
120
|
}
|
|
105
121
|
dispatcher.setAITriggerMatcher((message) => shouldTriggerAI(message, triggerConfig));
|
|
106
122
|
dispatcher.setAIHandler(handleAIMessage);
|
|
107
|
-
logger.debug('AI Handler
|
|
108
|
-
return () => { logger.
|
|
123
|
+
logger.debug(formatCompactLog('AI Handler', { hook: 'on' }));
|
|
124
|
+
return () => { logger.debug(formatCompactLog('AI Handler', { hook: 'off' })); };
|
|
109
125
|
});
|
|
110
126
|
}
|
|
111
127
|
//# sourceMappingURL=register-ai-trigger.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-ai-trigger.js","sourceRoot":"","sources":["../../src/init/register-ai-trigger.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,YAAY,CAAC;AACpB,OAAO,EAAE,SAAS,
|
|
1
|
+
{"version":3,"file":"register-ai-trigger.js","sourceRoot":"","sources":["../../src/init/register-ai-trigger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-builtin-tools.d.ts","sourceRoot":"","sources":["../../src/init/register-builtin-tools.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,
|
|
1
|
+
{"version":3,"file":"register-builtin-tools.d.ts","sourceRoot":"","sources":["../../src/init/register-builtin-tools.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEtD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CA0U9D"}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
import * as fs from 'fs';
|
|
6
6
|
import * as os from 'os';
|
|
7
7
|
import * as path from 'path';
|
|
8
|
-
import { getPlugin, isZhinTool } from '@zhin.js/core';
|
|
8
|
+
import { formatCompact, getPlugin, isZhinTool } from '@zhin.js/core';
|
|
9
9
|
import { createBuiltinTools } from '../builtin-tools.js';
|
|
10
10
|
import { collectPluginSkillSearchRoots } from '../discovery/utils.js';
|
|
11
11
|
import { discoverWorkspaceSkills, loadAlwaysSkillsContent, buildSkillsSummaryXML } from '../discovery/skills.js';
|
|
@@ -46,7 +46,6 @@ export function registerBuiltinTools(refs) {
|
|
|
46
46
|
const plain = tool.toTool();
|
|
47
47
|
disposers.push(toolService.addTool({ ...plain, source: 'builtin' }, root.name));
|
|
48
48
|
}
|
|
49
|
-
logger.info(`Registered ${builtinTools.length} built-in + ${cronTools.length} cron tools`);
|
|
50
49
|
let skillWatchers = [];
|
|
51
50
|
let skillReloadDebounce = null;
|
|
52
51
|
let toolReloadDebounce = null;
|
|
@@ -90,13 +89,14 @@ export function registerBuiltinTools(refs) {
|
|
|
90
89
|
async function syncWorkspaceSkills() {
|
|
91
90
|
const orchestrator = root.inject?.('agent');
|
|
92
91
|
if (!orchestrator)
|
|
93
|
-
return 0;
|
|
92
|
+
return { count: 0, pluginTools: '' };
|
|
94
93
|
// Remove previously discovered skills
|
|
95
94
|
for (const existing of orchestrator.skills.getAll()) {
|
|
96
95
|
orchestrator.skills.remove(existing.name);
|
|
97
96
|
}
|
|
98
97
|
skillToolNames.clear();
|
|
99
98
|
const skills = await discoverWorkspaceSkills(root);
|
|
99
|
+
const pluginToolCounts = [];
|
|
100
100
|
if (skills.length > 0) {
|
|
101
101
|
for (const s of skills) {
|
|
102
102
|
const ownerName = s.ownerPlugin || root.name;
|
|
@@ -115,7 +115,8 @@ export function registerBuiltinTools(refs) {
|
|
|
115
115
|
always: s.always,
|
|
116
116
|
}, undefined, ownerName);
|
|
117
117
|
if (associatedTools.length) {
|
|
118
|
-
|
|
118
|
+
const label = s.platforms?.length ? s.platforms.join('+') : 'generic';
|
|
119
|
+
pluginToolCounts.push(`${label}:${associatedTools.length}`);
|
|
119
120
|
}
|
|
120
121
|
}
|
|
121
122
|
}
|
|
@@ -126,7 +127,7 @@ export function registerBuiltinTools(refs) {
|
|
|
126
127
|
refs.zhinAgent.setActiveSkillsContext(alwaysContent);
|
|
127
128
|
refs.zhinAgent.setSkillsSummaryXML(skillsXml);
|
|
128
129
|
}
|
|
129
|
-
return skills.length;
|
|
130
|
+
return { count: skills.length, pluginTools: pluginToolCounts.join(',') };
|
|
130
131
|
}
|
|
131
132
|
// 文件化 Tool 的 disposer(用于热重载时移除旧 tool)
|
|
132
133
|
let toolFileDisposers = [];
|
|
@@ -209,32 +210,29 @@ export function registerBuiltinTools(refs) {
|
|
|
209
210
|
return added;
|
|
210
211
|
}
|
|
211
212
|
(async () => {
|
|
213
|
+
let skillCount = 0;
|
|
214
|
+
let toolCount = 0;
|
|
215
|
+
let agentCount = 0;
|
|
216
|
+
let pluginTools = '';
|
|
212
217
|
// Step 1: discover workspace skills
|
|
213
218
|
try {
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
}
|
|
219
|
+
const skillsResult = await syncWorkspaceSkills();
|
|
220
|
+
skillCount = skillsResult.count;
|
|
221
|
+
pluginTools = skillsResult.pluginTools;
|
|
218
222
|
}
|
|
219
223
|
catch (e) {
|
|
220
|
-
logger.warn(
|
|
224
|
+
logger.warn(formatCompact({ error: e.message }));
|
|
221
225
|
}
|
|
222
226
|
// Step 1b: discover *.tool.md file-based tools
|
|
223
227
|
try {
|
|
224
|
-
|
|
225
|
-
if (toolCount > 0) {
|
|
226
|
-
logger.info(`Registered ${toolCount} workspace file-based tools`);
|
|
227
|
-
}
|
|
228
|
+
toolCount = await syncWorkspaceTools();
|
|
228
229
|
}
|
|
229
230
|
catch (e) {
|
|
230
|
-
logger.warn(
|
|
231
|
+
logger.warn(formatCompact({ error: e.message }));
|
|
231
232
|
}
|
|
232
233
|
// Step 1c: discover *.agent.md agent presets
|
|
233
234
|
try {
|
|
234
|
-
|
|
235
|
-
if (agentCount > 0) {
|
|
236
|
-
logger.info(`Registered ${agentCount} workspace agent presets`);
|
|
237
|
-
}
|
|
235
|
+
agentCount = await syncWorkspaceAgents();
|
|
238
236
|
}
|
|
239
237
|
catch (e) {
|
|
240
238
|
logger.debug(`Failed to discover workspace agents: ${e.message}`);
|
|
@@ -255,9 +253,6 @@ export function registerBuiltinTools(refs) {
|
|
|
255
253
|
const agentsFile = contextFiles.find(f => f.path === 'AGENTS.md');
|
|
256
254
|
if (agentsFile)
|
|
257
255
|
loadedFiles.push('AGENTS.md');
|
|
258
|
-
if (loadedFiles.length > 0) {
|
|
259
|
-
logger.info(`Loaded bootstrap: ${loadedFiles.join(', ')} → agent prompt`);
|
|
260
|
-
}
|
|
261
256
|
if (refs.zhinAgent && contextFiles.length > 0) {
|
|
262
257
|
const contextSection = buildBootstrapContextSection(contextFiles);
|
|
263
258
|
refs.zhinAgent.setBootstrapContext(contextSection);
|
|
@@ -266,6 +261,15 @@ export function registerBuiltinTools(refs) {
|
|
|
266
261
|
catch (e) {
|
|
267
262
|
logger.debug(`Bootstrap files not loaded: ${e.message}`);
|
|
268
263
|
}
|
|
264
|
+
logger.info(formatCompact({
|
|
265
|
+
builtin: builtinTools.length,
|
|
266
|
+
cron: cronTools.length,
|
|
267
|
+
skills: skillCount,
|
|
268
|
+
workspace_tools: toolCount,
|
|
269
|
+
agents: agentCount,
|
|
270
|
+
plugin_tools: pluginTools || undefined,
|
|
271
|
+
bootstrap: loadedFiles.length ? loadedFiles.join(',') : undefined,
|
|
272
|
+
}));
|
|
269
273
|
// Trigger agent:bootstrap hook
|
|
270
274
|
const orchestrator2 = root.inject?.('agent');
|
|
271
275
|
await triggerAIHook(createAIHookEvent('agent', 'bootstrap', undefined, {
|
|
@@ -286,10 +290,10 @@ export function registerBuiltinTools(refs) {
|
|
|
286
290
|
try {
|
|
287
291
|
const count = await syncWorkspaceTools();
|
|
288
292
|
if (count >= 0)
|
|
289
|
-
logger.
|
|
293
|
+
logger.debug(formatCompact({ reload: count }));
|
|
290
294
|
}
|
|
291
295
|
catch (e) {
|
|
292
|
-
logger.warn(
|
|
296
|
+
logger.warn(formatCompact({ reload: 'fail', error: e.message }));
|
|
293
297
|
}
|
|
294
298
|
}, 400);
|
|
295
299
|
};
|
|
@@ -312,13 +316,13 @@ export function registerBuiltinTools(refs) {
|
|
|
312
316
|
skillReloadDebounce = setTimeout(async () => {
|
|
313
317
|
skillReloadDebounce = null;
|
|
314
318
|
try {
|
|
315
|
-
const
|
|
316
|
-
await triggerAIHook(createAIHookEvent('agent', 'skills-reloaded', undefined, { skillCount: count }));
|
|
317
|
-
if (count >= 0)
|
|
318
|
-
logger.
|
|
319
|
+
const skills = await syncWorkspaceSkills();
|
|
320
|
+
await triggerAIHook(createAIHookEvent('agent', 'skills-reloaded', undefined, { skillCount: skills.count }));
|
|
321
|
+
if (skills.count >= 0)
|
|
322
|
+
logger.debug(formatCompact({ skills: skills.count }));
|
|
319
323
|
}
|
|
320
324
|
catch (e) {
|
|
321
|
-
logger.warn(
|
|
325
|
+
logger.warn(formatCompact({ reload: 'fail', error: e.message }));
|
|
322
326
|
}
|
|
323
327
|
}, 400);
|
|
324
328
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register-builtin-tools.js","sourceRoot":"","sources":["../../src/init/register-builtin-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"register-builtin-tools.js","sourceRoot":"","sources":["../../src/init/register-builtin-tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-mcp-from-config.d.ts","sourceRoot":"","sources":["../../src/init/register-mcp-from-config.ts"],"names":[],"mappings":"AAoDA,wBAAgB,qBAAqB,IAAI,IAAI,CAoC5C"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Register MCP server entries from zhin.config ai.mcpServers (global/common scope).
|
|
3
|
+
*/
|
|
4
|
+
import { getPlugin } from '@zhin.js/core';
|
|
5
|
+
import { formatCompact } from '@zhin.js/logger';
|
|
6
|
+
import { resolveConfigEnvString } from '../utils/config-env.js';
|
|
7
|
+
function resolveHeaders(headers) {
|
|
8
|
+
if (!headers)
|
|
9
|
+
return undefined;
|
|
10
|
+
const out = {};
|
|
11
|
+
for (const [k, v] of Object.entries(headers)) {
|
|
12
|
+
out[k] = resolveConfigEnvString(String(v)) ?? String(v);
|
|
13
|
+
}
|
|
14
|
+
return out;
|
|
15
|
+
}
|
|
16
|
+
function resolveEnvRecord(env) {
|
|
17
|
+
if (!env)
|
|
18
|
+
return undefined;
|
|
19
|
+
const out = {};
|
|
20
|
+
for (const [k, v] of Object.entries(env)) {
|
|
21
|
+
out[k] = resolveConfigEnvString(String(v)) ?? String(v);
|
|
22
|
+
}
|
|
23
|
+
return out;
|
|
24
|
+
}
|
|
25
|
+
function validateMcpServerEntry(raw) {
|
|
26
|
+
if (!raw || typeof raw.name !== 'string' || !raw.name.trim())
|
|
27
|
+
return null;
|
|
28
|
+
const transport = raw.transport;
|
|
29
|
+
if (transport !== 'stdio' && transport !== 'streamable-http' && transport !== 'sse')
|
|
30
|
+
return null;
|
|
31
|
+
const url = resolveConfigEnvString(raw.url);
|
|
32
|
+
const command = resolveConfigEnvString(raw.command);
|
|
33
|
+
if (transport === 'stdio') {
|
|
34
|
+
if (!command?.trim())
|
|
35
|
+
return null;
|
|
36
|
+
}
|
|
37
|
+
else if (!url?.trim()) {
|
|
38
|
+
return null;
|
|
39
|
+
}
|
|
40
|
+
return {
|
|
41
|
+
name: raw.name.trim(),
|
|
42
|
+
transport,
|
|
43
|
+
url,
|
|
44
|
+
command,
|
|
45
|
+
args: raw.args?.map(a => resolveConfigEnvString(String(a)) ?? String(a)),
|
|
46
|
+
env: resolveEnvRecord(raw.env),
|
|
47
|
+
headers: resolveHeaders(raw.headers),
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
export function registerMcpFromConfig() {
|
|
51
|
+
const plugin = getPlugin();
|
|
52
|
+
const { useContext, root, logger } = plugin;
|
|
53
|
+
useContext('ai', (ai) => {
|
|
54
|
+
if (!ai?.isReady?.())
|
|
55
|
+
return;
|
|
56
|
+
const orchestrator = root.inject('agent');
|
|
57
|
+
if (!orchestrator) {
|
|
58
|
+
logger.warn(formatCompact({ error: 'no_orchestrator' }));
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const configService = root.inject('config');
|
|
62
|
+
const appConfig = configService?.getPrimary() || {};
|
|
63
|
+
const servers = appConfig.ai?.mcpServers;
|
|
64
|
+
if (!servers?.length)
|
|
65
|
+
return;
|
|
66
|
+
let registered = 0;
|
|
67
|
+
for (const raw of servers) {
|
|
68
|
+
const entry = validateMcpServerEntry(raw);
|
|
69
|
+
if (!entry) {
|
|
70
|
+
logger.warn(formatCompact({ error: 'invalid_entry', preview: JSON.stringify(raw) }));
|
|
71
|
+
continue;
|
|
72
|
+
}
|
|
73
|
+
if (orchestrator.mcps.has(entry.name)) {
|
|
74
|
+
logger.warn(formatCompact({ error: 'duplicate', name: entry.name }));
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
orchestrator.addMcp(entry, {}, 'config');
|
|
78
|
+
registered++;
|
|
79
|
+
}
|
|
80
|
+
if (registered > 0) {
|
|
81
|
+
logger.debug(formatCompact({ count: registered, source: 'ai.mcpServers' }));
|
|
82
|
+
}
|
|
83
|
+
});
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=register-mcp-from-config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-mcp-from-config.js","sourceRoot":"","sources":["../../src/init/register-mcp-from-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-mcp-memory-default.d.ts","sourceRoot":"","sources":["../../src/init/register-mcp-memory-default.ts"],"names":[],"mappings":"AAUA,wBAAgB,wBAAwB,IAAI,IAAI,CA8B/C"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Register default @modelcontextprotocol/server-memory MCP (knowledge graph).
|
|
3
|
+
* Registered only when ai.memoryMcp === true (default off). Skipped if name "memory" already registered.
|
|
4
|
+
*/
|
|
5
|
+
import * as path from 'node:path';
|
|
6
|
+
import { formatCompact, getPlugin } from '@zhin.js/core';
|
|
7
|
+
import { getDataDir } from '../discovery/utils.js';
|
|
8
|
+
export function registerMcpMemoryDefault() {
|
|
9
|
+
const plugin = getPlugin();
|
|
10
|
+
const { useContext, root, logger } = plugin;
|
|
11
|
+
useContext('ai', (ai) => {
|
|
12
|
+
if (!ai?.isReady?.())
|
|
13
|
+
return;
|
|
14
|
+
const orchestrator = root.inject('agent');
|
|
15
|
+
if (!orchestrator)
|
|
16
|
+
return;
|
|
17
|
+
const configService = root.inject('config');
|
|
18
|
+
const appConfig = configService?.getPrimary() || {};
|
|
19
|
+
if (appConfig.ai?.memoryMcp !== true)
|
|
20
|
+
return;
|
|
21
|
+
if (orchestrator.mcps.has('memory'))
|
|
22
|
+
return;
|
|
23
|
+
const memoryPath = path.join(getDataDir(), 'knowledge-graph.jsonl');
|
|
24
|
+
orchestrator.addMcp({
|
|
25
|
+
name: 'memory',
|
|
26
|
+
transport: 'stdio',
|
|
27
|
+
command: 'npx',
|
|
28
|
+
args: ['-y', '@modelcontextprotocol/server-memory'],
|
|
29
|
+
env: { MEMORY_FILE_PATH: memoryPath },
|
|
30
|
+
}, {}, 'agent-default');
|
|
31
|
+
logger.debug(formatCompact({ name: 'memory', source: 'agent-default', path: memoryPath }));
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=register-mcp-memory-default.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"register-mcp-memory-default.js","sourceRoot":"","sources":["../../src/init/register-mcp-memory-default.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEzD,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAGnD,MAAM,UAAU,wBAAwB;IACtC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;IAE5C,UAAU,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,EAAE;QACtB,IAAI,CAAC,EAAE,EAAE,OAAO,EAAE,EAAE;YAAE,OAAO;QAE7B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,CAAkC,CAAC;QAC3E,IAAI,CAAC,YAAY;YAAE,OAAO;QAE1B,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,SAAS,GAAG,aAAa,EAAE,UAAU,EAAqB,IAAI,EAAE,CAAC;QACvE,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,KAAK,IAAI;YAAE,OAAO;QAE7C,IAAI,YAAY,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC;YAAE,OAAO;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,uBAAuB,CAAC,CAAC;QACpE,YAAY,CAAC,MAAM,CACjB;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,OAAO;YAClB,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,CAAC,IAAI,EAAE,qCAAqC,CAAC;YACnD,GAAG,EAAE,EAAE,gBAAgB,EAAE,UAAU,EAAE;SACtC,EACD,EAAE,EACF,eAAe,CAChB,CAAC;QACF,MAAM,CAAC,KAAK,CAAC,aAAa,CAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IAC9F,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/lib/init.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,iBAAiB,CAAC;AAgBzB;;;;;;;;GAQG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAgBtC"}
|
package/lib/init.js
CHANGED
|
@@ -16,6 +16,8 @@
|
|
|
16
16
|
import './init/types.js';
|
|
17
17
|
import { createRefs } from './init/shared-refs.js';
|
|
18
18
|
import { registerOrchestrator } from './init/register-orchestrator.js';
|
|
19
|
+
import { registerMcpFromConfig } from './init/register-mcp-from-config.js';
|
|
20
|
+
import { registerMcpMemoryDefault } from './init/register-mcp-memory-default.js';
|
|
19
21
|
import { registerToolService } from './init/register-tool-service.js';
|
|
20
22
|
import { registerDbModels } from './init/register-db-models.js';
|
|
21
23
|
import { registerAIService } from './init/register-ai-service.js';
|
|
@@ -38,6 +40,8 @@ import { registerBuiltinTools } from './init/register-builtin-tools.js';
|
|
|
38
40
|
export function initAgentModule() {
|
|
39
41
|
const refs = createRefs();
|
|
40
42
|
registerOrchestrator();
|
|
43
|
+
registerMcpFromConfig();
|
|
44
|
+
registerMcpMemoryDefault();
|
|
41
45
|
registerToolService();
|
|
42
46
|
registerDbModels();
|
|
43
47
|
registerAIService(refs);
|
package/lib/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAE1B,oBAAoB,EAAE,CAAC;IACvB,mBAAmB,EAAE,CAAC;IACtB,gBAAgB,EAAE,CAAC;IACnB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7B,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9B,uBAAuB,EAAE,CAAC;IAC1B,4BAA4B,EAAE,CAAC;IAC/B,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,wBAAwB,EAAE,MAAM,uCAAuC,CAAC;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAC9E,OAAO,EAAE,4BAA4B,EAAE,MAAM,2CAA2C,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAExE;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe;IAC7B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAE1B,oBAAoB,EAAE,CAAC;IACvB,qBAAqB,EAAE,CAAC;IACxB,wBAAwB,EAAE,CAAC;IAC3B,mBAAmB,EAAE,CAAC;IACtB,gBAAgB,EAAE,CAAC;IACnB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,sBAAsB,CAAC,IAAI,CAAC,CAAC;IAC7B,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,iBAAiB,CAAC,IAAI,CAAC,CAAC;IACxB,uBAAuB,CAAC,IAAI,CAAC,CAAC;IAC9B,uBAAuB,EAAE,CAAC;IAC1B,4BAA4B,EAAE,CAAC;IAC/B,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC"}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* McpClientManager — manages all MCP client connections.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* bridge tools into the ToolRegistry.
|
|
4
|
+
* Used by McpRegistry for connect/disconnect; tools are merged in ZhinAgent via getAllMcpTools.
|
|
6
5
|
*/
|
|
7
6
|
import type { AgentTool } from '@zhin.js/ai';
|
|
8
7
|
import type { McpServerEntry, McpResource, McpPrompt } from '../orchestrator/types.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-client/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/mcp-client/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEtD,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAA0C;IAEhE,OAAO,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAU5D,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQvC,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC;IAMpC,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,mBAAmB,GAAG,SAAS;IAI5D,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIlC,WAAW,IAAI,SAAS,EAAE;IAQ1B,eAAe,IAAI,WAAW,EAAE;IAQhC,aAAa,IAAI,SAAS,EAAE;IAQ5B,IAAI,cAAc,IAAI,MAAM,CAM3B;CACF;AAED,OAAO,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AACtD,YAAY,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACrF,YAAY,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC"}
|
package/lib/mcp-client/index.js
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* McpClientManager — manages all MCP client connections.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* bridge tools into the ToolRegistry.
|
|
4
|
+
* Used by McpRegistry for connect/disconnect; tools are merged in ZhinAgent via getAllMcpTools.
|
|
6
5
|
*/
|
|
7
6
|
import { McpClientConnection } from './connection.js';
|
|
8
7
|
export class McpClientManager {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-client/index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/mcp-client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-lifecycle.d.ts","sourceRoot":"","sources":["../../src/orchestrator/mcp-lifecycle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,wBAAsB,oBAAoB,CAAC,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-lifecycle.js","sourceRoot":"","sources":["../../src/orchestrator/mcp-lifecycle.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,IAAiB;IAC1D,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import type { AgentTool } from '@zhin.js/ai';
|
|
8
8
|
import { ResourceRegistry } from './resource-registry.js';
|
|
9
|
-
import type { McpServerEntry, McpResource, McpPrompt } from './types.js';
|
|
9
|
+
import type { McpServerEntry, McpResource, McpPrompt, ResourceScope } from './types.js';
|
|
10
10
|
export interface McpConnection {
|
|
11
11
|
name: string;
|
|
12
12
|
connected: boolean;
|
|
@@ -15,8 +15,11 @@ export interface McpConnection {
|
|
|
15
15
|
prompts: McpPrompt[];
|
|
16
16
|
}
|
|
17
17
|
export declare class McpRegistry extends ResourceRegistry<McpServerEntry> {
|
|
18
|
+
private readonly manager;
|
|
18
19
|
private readonly connections;
|
|
19
20
|
connect(name: string): Promise<McpConnection>;
|
|
21
|
+
/** Lazy-connect all registered servers; per-server failures are logged, not thrown. */
|
|
22
|
+
ensureConnected(): Promise<void>;
|
|
20
23
|
disconnect(name: string): void;
|
|
21
24
|
getConnection(name: string): McpConnection | undefined;
|
|
22
25
|
getToolsFromServer(name: string): AgentTool[];
|
|
@@ -24,6 +27,7 @@ export declare class McpRegistry extends ResourceRegistry<McpServerEntry> {
|
|
|
24
27
|
getPromptsFromServer(name: string): McpPrompt[];
|
|
25
28
|
getAllMcpTools(): AgentTool[];
|
|
26
29
|
isConnected(name: string): boolean;
|
|
30
|
+
remove(name: string, scope?: ResourceScope): boolean;
|
|
27
31
|
dispose(): void;
|
|
28
32
|
}
|
|
29
33
|
//# sourceMappingURL=mcp-registry.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-registry.d.ts","sourceRoot":"","sources":["../../src/orchestrator/mcp-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"mcp-registry.d.ts","sourceRoot":"","sources":["../../src/orchestrator/mcp-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAE7C,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAIxF,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,OAAO,EAAE,SAAS,EAAE,CAAC;CACtB;AAED,qBAAa,WAAY,SAAQ,gBAAgB,CAAC,cAAc,CAAC;IAC/D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAA0B;IAClD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAE1D,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAmBnD,uFAAuF;IACjF,eAAe,IAAI,OAAO,CAAC,IAAI,CAAC;IAetC,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK9B,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS;IAItD,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IAI7C,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE;IAInD,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,EAAE;IAI/C,cAAc,IAAI,SAAS,EAAE;IAQ7B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAIzB,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,aAAa,GAAG,OAAO;IAMpD,OAAO,IAAI,IAAI;CAKzB"}
|