@continuumdao/continuum-node-sdk 1.3.39 → 1.3.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-host-catalog.json +1246 -52
- package/dist/core/chart/ohlcv-session-store.d.ts +2 -0
- package/dist/core/chart/ohlcv-session-store.d.ts.map +1 -1
- package/dist/core/chart/ohlcv-session-store.js +58 -6
- package/dist/core/chart/ohlcv-session-store.js.map +1 -1
- package/dist/mcp/agent-chart-data-access-gate.d.ts +1 -1
- package/dist/mcp/agent-chart-data-access-gate.d.ts.map +1 -1
- package/dist/mcp/agent-chart-data-access-gate.js.map +1 -1
- package/dist/mcp/agent-cron-jobs.d.ts +1 -1
- package/dist/mcp/agent-cron-jobs.d.ts.map +1 -1
- package/dist/mcp/agent-cron-jobs.js +9 -0
- package/dist/mcp/agent-cron-jobs.js.map +1 -1
- package/dist/mcp/agent-environment-variables.d.ts +1 -1
- package/dist/mcp/agent-environment-variables.d.ts.map +1 -1
- package/dist/mcp/agent-environment-variables.js +3 -0
- package/dist/mcp/agent-environment-variables.js.map +1 -1
- package/dist/mcp/agent-host-catalog.d.ts +15 -2
- package/dist/mcp/agent-host-catalog.d.ts.map +1 -1
- package/dist/mcp/agent-host-catalog.js +52 -12
- package/dist/mcp/agent-host-catalog.js.map +1 -1
- package/dist/mcp/agent-input-coerce-register.d.ts +8 -0
- package/dist/mcp/agent-input-coerce-register.d.ts.map +1 -0
- package/dist/mcp/agent-input-coerce-register.js +22 -0
- package/dist/mcp/agent-input-coerce-register.js.map +1 -0
- package/dist/mcp/agent-input-coerce.d.ts +13 -0
- package/dist/mcp/agent-input-coerce.d.ts.map +1 -0
- package/dist/mcp/agent-input-coerce.js +286 -0
- package/dist/mcp/agent-input-coerce.js.map +1 -0
- package/dist/mcp/agent-mcp-servers.d.ts +1 -1
- package/dist/mcp/agent-mcp-servers.d.ts.map +1 -1
- package/dist/mcp/agent-mcp-servers.js +7 -0
- package/dist/mcp/agent-mcp-servers.js.map +1 -1
- package/dist/mcp/agent-skills.d.ts +1 -1
- package/dist/mcp/agent-skills.d.ts.map +1 -1
- package/dist/mcp/agent-skills.js +5 -0
- package/dist/mcp/agent-skills.js.map +1 -1
- package/dist/mcp/agent-webhooks.d.ts +1 -1
- package/dist/mcp/agent-webhooks.d.ts.map +1 -1
- package/dist/mcp/agent-webhooks.js +9 -0
- package/dist/mcp/agent-webhooks.js.map +1 -1
- package/dist/mcp/chart.d.ts +1 -1
- package/dist/mcp/chart.d.ts.map +1 -1
- package/dist/mcp/chart.js +38 -0
- package/dist/mcp/chart.js.map +1 -1
- package/dist/mcp/coinbase-public/register.d.ts +1 -1
- package/dist/mcp/coinbase-public/register.d.ts.map +1 -1
- package/dist/mcp/coinbase-public/register.js +6 -1
- package/dist/mcp/coinbase-public/register.js.map +1 -1
- package/dist/mcp/coinmarketcap-public/register.d.ts +1 -1
- package/dist/mcp/coinmarketcap-public/register.d.ts.map +1 -1
- package/dist/mcp/coinmarketcap-public/register.js +14 -1
- package/dist/mcp/coinmarketcap-public/register.js.map +1 -1
- package/dist/mcp/deferred/discovery-tools.d.ts +1 -1
- package/dist/mcp/deferred/discovery-tools.d.ts.map +1 -1
- package/dist/mcp/deferred/discovery-tools.js +57 -15
- package/dist/mcp/deferred/discovery-tools.js.map +1 -1
- package/dist/mcp/deferred/session.d.ts +15 -2
- package/dist/mcp/deferred/session.d.ts.map +1 -1
- package/dist/mcp/deferred/session.js +126 -78
- package/dist/mcp/deferred/session.js.map +1 -1
- package/dist/mcp/deferred/tool-group-map.d.ts +15 -2
- package/dist/mcp/deferred/tool-group-map.d.ts.map +1 -1
- package/dist/mcp/deferred/tool-group-map.js +546 -72
- package/dist/mcp/deferred/tool-group-map.js.map +1 -1
- package/dist/mcp/defi/bitquery-api-key.d.ts +1 -1
- package/dist/mcp/defi/bitquery-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/discovery.d.ts +1 -1
- package/dist/mcp/defi/discovery.d.ts.map +1 -1
- package/dist/mcp/defi/discovery.js +15 -3
- package/dist/mcp/defi/discovery.js.map +1 -1
- package/dist/mcp/defi/handler.d.ts +13 -6
- package/dist/mcp/defi/handler.d.ts.map +1 -1
- package/dist/mcp/defi/mcp-json-schema.d.ts +23 -0
- package/dist/mcp/defi/mcp-json-schema.d.ts.map +1 -0
- package/dist/mcp/defi/mcp-json-schema.js +173 -0
- package/dist/mcp/defi/mcp-json-schema.js.map +1 -0
- package/dist/mcp/defi/register-protocol-tools.d.ts +1 -1
- package/dist/mcp/defi/register-protocol-tools.d.ts.map +1 -1
- package/dist/mcp/defi/register-protocol-tools.js +41 -4
- package/dist/mcp/defi/register-protocol-tools.js.map +1 -1
- package/dist/mcp/defi/the-graph-api-key.d.ts +1 -1
- package/dist/mcp/defi/the-graph-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/tool-schemas.d.ts +4 -3
- package/dist/mcp/defi/tool-schemas.d.ts.map +1 -1
- package/dist/mcp/defi/tool-schemas.js +6 -4
- package/dist/mcp/defi/tool-schemas.js.map +1 -1
- package/dist/mcp/defi/uniswap-api-key.d.ts +1 -1
- package/dist/mcp/defi/uniswap-api-key.d.ts.map +1 -1
- package/dist/mcp/defi/venice-api-key.d.ts +1 -1
- package/dist/mcp/defi/venice-api-key.d.ts.map +1 -1
- package/dist/mcp/group.d.ts +1 -1
- package/dist/mcp/group.d.ts.map +1 -1
- package/dist/mcp/group.js +3 -3
- package/dist/mcp/group.js.map +1 -1
- package/dist/mcp/keygen-messaging.d.ts +1 -1
- package/dist/mcp/keygen-messaging.d.ts.map +1 -1
- package/dist/mcp/keygen-messaging.js +10 -0
- package/dist/mcp/keygen-messaging.js.map +1 -1
- package/dist/mcp/keygen.d.ts +1 -1
- package/dist/mcp/keygen.d.ts.map +1 -1
- package/dist/mcp/keygen.js +6 -3
- package/dist/mcp/keygen.js.map +1 -1
- package/dist/mcp/management-signer.d.ts +1 -1
- package/dist/mcp/management-signer.d.ts.map +1 -1
- package/dist/mcp/management-signer.js +1 -1
- package/dist/mcp/management-signer.js.map +1 -1
- package/dist/mcp/mcp-resources.d.ts +1 -1
- package/dist/mcp/mcp-resources.d.ts.map +1 -1
- package/dist/mcp/mpc.d.ts +1 -1
- package/dist/mcp/mpc.d.ts.map +1 -1
- package/dist/mcp/mpc.js +36 -5
- package/dist/mcp/mpc.js.map +1 -1
- package/dist/mcp/node.d.ts +1 -1
- package/dist/mcp/node.d.ts.map +1 -1
- package/dist/mcp/node.js +7 -1
- package/dist/mcp/node.js.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.d.ts +1 -2
- package/dist/mcp/ohlcv-session-wrapper.d.ts.map +1 -1
- package/dist/mcp/ohlcv-session-wrapper.js.map +1 -1
- package/dist/mcp/register.d.ts +1 -1
- package/dist/mcp/register.d.ts.map +1 -1
- package/dist/mcp/register.js +4 -6
- package/dist/mcp/register.js.map +1 -1
- package/dist/mcp/registry/address-book.d.ts +1 -1
- package/dist/mcp/registry/address-book.d.ts.map +1 -1
- package/dist/mcp/registry/address-book.js +1 -0
- package/dist/mcp/registry/address-book.js.map +1 -1
- package/dist/mcp/registry/networks.d.ts +1 -1
- package/dist/mcp/registry/networks.d.ts.map +1 -1
- package/dist/mcp/registry/networks.js +3 -1
- package/dist/mcp/registry/networks.js.map +1 -1
- package/dist/mcp/registry/tokens.d.ts +1 -1
- package/dist/mcp/registry/tokens.d.ts.map +1 -1
- package/dist/mcp/registry/tokens.js +2 -0
- package/dist/mcp/registry/tokens.js.map +1 -1
- package/dist/mcp/server/http-transport.d.ts +1 -1
- package/dist/mcp/server/http-transport.d.ts.map +1 -1
- package/dist/mcp/server/http-transport.js +30 -118
- package/dist/mcp/server/http-transport.js.map +1 -1
- package/dist/mcp/server/index.js +8 -1
- package/dist/mcp/server/index.js.map +1 -1
- package/dist/mcp/ta/register.d.ts +1 -1
- package/dist/mcp/ta/register.d.ts.map +1 -1
- package/dist/mcp/ta/register.js +3 -1
- package/dist/mcp/ta/register.js.map +1 -1
- package/dist/mcp/ta-server/index.js +3 -4
- package/dist/mcp/ta-server/index.js.map +1 -1
- package/dist/mcp/tool-utils.d.ts +1 -1
- package/dist/mcp/tool-utils.d.ts.map +1 -1
- package/dist/mcp/trade-tools.d.ts +1 -1
- package/dist/mcp/trade-tools.d.ts.map +1 -1
- package/dist/mcp/trade-tools.js +5 -0
- package/dist/mcp/trade-tools.js.map +1 -1
- package/dist/mcp/vpn.d.ts +1 -1
- package/dist/mcp/vpn.d.ts.map +1 -1
- package/dist/mcp/vpn.js +9 -1
- package/dist/mcp/vpn.js.map +1 -1
- package/package.json +7 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/mcp/coinmarketcap-public/register.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"register.js","sourceRoot":"","sources":["../../../src/mcp/coinmarketcap-public/register.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { McpServer } from
|
|
1
|
+
import type { McpServer } from "@modelcontextprotocol/server";
|
|
2
2
|
import type { NodeSdkConfig } from '../../config/schema.js';
|
|
3
3
|
import type { DefiProtocolContext } from '../defi/context.js';
|
|
4
4
|
import type { DeferredToolSession } from './session.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/deferred/discovery-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"discovery-tools.d.ts","sourceRoot":"","sources":["../../../src/mcp/deferred/discovery-tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAE9D,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,wBAAwB,CAAC;AAC1D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AAG5D,OAAO,KAAK,EAAC,mBAAmB,EAAC,MAAM,cAAc,CAAC;AAsCtD,wBAAgB,8BAA8B,CAC7C,MAAM,EAAE,SAAS,EACjB,OAAO,EAAE,aAAa,EACtB,OAAO,EAAE,mBAAmB,EAC5B,WAAW,CAAC,EAAE,mBAAmB,GAC/B,IAAI,CA4KN"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { getProtocolSkill } from '../defi/catalog-adapter.js';
|
|
3
3
|
import { markProtocolLoaded } from '../defi/register-protocol-tools.js';
|
|
4
|
+
import { resolveActivateGroupIds } from './tool-group-map.js';
|
|
4
5
|
const ListGroupsOutputSchema = z.object({
|
|
5
6
|
groups: z.array(z.object({
|
|
6
7
|
groupId: z.string(),
|
|
@@ -33,6 +34,7 @@ export function registerDeferredDiscoveryTools(server, _config, session, defiCon
|
|
|
33
34
|
if (session.isDiscoveryRegistered()) {
|
|
34
35
|
return;
|
|
35
36
|
}
|
|
37
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
36
38
|
server.registerTool('list_tool_groups', {
|
|
37
39
|
description: 'List Continuum MCP tool bundles (groupId, toolCount, loaded, pinned). Call activate_tool_group before using tools in an unloaded bundle.',
|
|
38
40
|
inputSchema: z.object({}).strict(),
|
|
@@ -45,8 +47,9 @@ export function registerDeferredDiscoveryTools(server, _config, session, defiCon
|
|
|
45
47
|
structuredContent: payload,
|
|
46
48
|
};
|
|
47
49
|
});
|
|
50
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
48
51
|
server.registerTool('search_continuum_tools', {
|
|
49
|
-
description: 'Search the Continuum tool catalog by keywords (e.g. chart, ohlcv, multisign). Returns compact hits; call activate_tool_group on the group id before tools/call. For charts:
|
|
52
|
+
description: 'Search the Continuum tool catalog by keywords (e.g. chart, ohlcv, multisign). Returns compact hits; call activate_tool_group on the hit group id before tools/call. For charts: activate_tool_group({ groupId: "chart:core" }) or alias "chart"; analysis uses chart:analyze; DeFi load defaults to defi:<protocol>:market-data.',
|
|
50
53
|
inputSchema: z
|
|
51
54
|
.object({
|
|
52
55
|
q: z.string().min(1),
|
|
@@ -58,15 +61,21 @@ export function registerDeferredDiscoveryTools(server, _config, session, defiCon
|
|
|
58
61
|
}, async ({ q, group, limit }) => {
|
|
59
62
|
const hits = session.searchTools(q, group, limit ?? 20);
|
|
60
63
|
const first = hits[0];
|
|
61
|
-
const chartQuery = /\b(chart|ohlcv|plot|graph|candlestick
|
|
62
|
-
const
|
|
64
|
+
const chartQuery = /\b(chart|ohlcv|plot|graph|candlestick)\b/i.test(q);
|
|
65
|
+
const analysisQuery = /\b(analysis|analyze)\b/i.test(q);
|
|
66
|
+
const chartCoreLoaded = session.isGroupActive('chart:core');
|
|
67
|
+
const chartAnalyzeLoaded = session.isGroupActive('chart:analyze');
|
|
63
68
|
let suggestion;
|
|
64
69
|
if (first && !first.loaded) {
|
|
65
70
|
suggestion = `Call activate_tool_group with groupId "${first.group}" to enable these tools.`;
|
|
66
71
|
}
|
|
67
|
-
else if (
|
|
72
|
+
else if (analysisQuery && !chartAnalyzeLoaded) {
|
|
68
73
|
suggestion =
|
|
69
|
-
'Call activate_tool_group with groupId "chart" to enable
|
|
74
|
+
'Call activate_tool_group with groupId "chart:analyze" to enable analyze_* tools.';
|
|
75
|
+
}
|
|
76
|
+
else if (chartQuery && !chartCoreLoaded) {
|
|
77
|
+
suggestion =
|
|
78
|
+
'Call activate_tool_group with groupId "chart:core" (or alias "chart") to enable prepare_chart* tools.';
|
|
70
79
|
}
|
|
71
80
|
const payload = {
|
|
72
81
|
hits,
|
|
@@ -77,19 +86,26 @@ export function registerDeferredDiscoveryTools(server, _config, session, defiCon
|
|
|
77
86
|
structuredContent: payload,
|
|
78
87
|
};
|
|
79
88
|
});
|
|
89
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
80
90
|
server.registerTool('activate_tool_group', {
|
|
81
|
-
description: '
|
|
91
|
+
description: 'Mark a tool bundle as loaded for search bookkeeping and host LLM expand. Wire tools/list is static (MCP 2026-07-28); mpc-auth filters what the model sees. Idempotent if already active.',
|
|
82
92
|
inputSchema: z.object({ groupId: z.string().min(1) }).strict(),
|
|
83
93
|
outputSchema: ActivateOutputSchema,
|
|
84
94
|
}, async ({ groupId }) => {
|
|
95
|
+
const resolvedIds = resolveActivateGroupIds(groupId);
|
|
85
96
|
if (groupId.startsWith('defi:') && defiContext) {
|
|
86
|
-
const
|
|
97
|
+
const parts = groupId.slice('defi:'.length).split(':');
|
|
98
|
+
const protocolId = parts[0] ?? '';
|
|
99
|
+
if (!protocolId) {
|
|
100
|
+
throw new Error(`Unknown tool group: ${groupId}`);
|
|
101
|
+
}
|
|
87
102
|
markProtocolLoaded(defiContext, protocolId);
|
|
88
103
|
const skill = getProtocolSkill(protocolId);
|
|
89
|
-
const toolNames = session.activateGroup(
|
|
104
|
+
const toolNames = [...new Set(resolvedIds.flatMap(id => session.activateGroup(id)))].sort();
|
|
90
105
|
const payload = {
|
|
91
106
|
activated: true,
|
|
92
|
-
groupId,
|
|
107
|
+
groupId: resolvedIds[0] ?? groupId,
|
|
108
|
+
requestedGroupId: groupId,
|
|
93
109
|
toolNames,
|
|
94
110
|
advisoryTools: [
|
|
95
111
|
'get_defi_protocol_supported_chains',
|
|
@@ -104,19 +120,26 @@ export function registerDeferredDiscoveryTools(server, _config, session, defiCon
|
|
|
104
120
|
structuredContent: payload,
|
|
105
121
|
};
|
|
106
122
|
}
|
|
107
|
-
const toolNames = session.activateGroup(
|
|
123
|
+
const toolNames = [...new Set(resolvedIds.flatMap(id => session.activateGroup(id)))].sort();
|
|
124
|
+
const known = session.listGroups();
|
|
108
125
|
if (toolNames.length === 0 &&
|
|
109
|
-
!
|
|
126
|
+
!resolvedIds.some(id => known.some(g => g.groupId === id))) {
|
|
110
127
|
throw new Error(`Unknown tool group: ${groupId}`);
|
|
111
128
|
}
|
|
112
|
-
const payload = {
|
|
129
|
+
const payload = {
|
|
130
|
+
activated: true,
|
|
131
|
+
groupId: resolvedIds[0] ?? groupId,
|
|
132
|
+
requestedGroupId: groupId,
|
|
133
|
+
toolNames,
|
|
134
|
+
};
|
|
113
135
|
return {
|
|
114
136
|
content: [{ type: 'text', text: JSON.stringify(payload) }],
|
|
115
137
|
structuredContent: payload,
|
|
116
138
|
};
|
|
117
139
|
});
|
|
140
|
+
/* @mcp-codemod-error Could not verify `inputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. | Could not verify `outputSchema` is a schema object. Raw shapes are deprecated in v2 — pass a Standard Schema object (e.g. z.object({ … })); no change is needed if it already is one. */
|
|
118
141
|
server.registerTool('deactivate_tool_group', {
|
|
119
|
-
description: '
|
|
142
|
+
description: 'Mark a tool bundle as unloaded for search bookkeeping (wire tools/list stays static). Pinned groups cannot be deactivated.',
|
|
120
143
|
inputSchema: z.object({ groupId: z.string().min(1) }).strict(),
|
|
121
144
|
outputSchema: z
|
|
122
145
|
.object({
|
|
@@ -126,8 +149,27 @@ export function registerDeferredDiscoveryTools(server, _config, session, defiCon
|
|
|
126
149
|
})
|
|
127
150
|
.strict(),
|
|
128
151
|
}, async ({ groupId }) => {
|
|
129
|
-
const
|
|
130
|
-
|
|
152
|
+
const resolvedIds = resolveActivateGroupIds(groupId);
|
|
153
|
+
// Unloading a bare defi:<protocol> deactivates all packs for that protocol.
|
|
154
|
+
let ids = resolvedIds;
|
|
155
|
+
if (groupId.startsWith('defi:')) {
|
|
156
|
+
const parts = groupId.slice('defi:'.length).split(':');
|
|
157
|
+
if (parts.length === 1 && parts[0]) {
|
|
158
|
+
const proto = parts[0];
|
|
159
|
+
ids = [
|
|
160
|
+
`defi:${proto}:market-data`,
|
|
161
|
+
`defi:${proto}:trading`,
|
|
162
|
+
`defi:${proto}:other`,
|
|
163
|
+
];
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
const toolNames = [...new Set(ids.flatMap(id => session.deactivateGroup(id)))].sort();
|
|
167
|
+
const payload = {
|
|
168
|
+
deactivated: toolNames.length > 0,
|
|
169
|
+
groupId: ids[0] ?? groupId,
|
|
170
|
+
requestedGroupId: groupId,
|
|
171
|
+
toolNames,
|
|
172
|
+
};
|
|
131
173
|
return {
|
|
132
174
|
content: [{ type: 'text', text: JSON.stringify(payload) }],
|
|
133
175
|
structuredContent: payload,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discovery-tools.js","sourceRoot":"","sources":["../../../src/mcp/deferred/discovery-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"discovery-tools.js","sourceRoot":"","sources":["../../../src/mcp/deferred/discovery-tools.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAGtB,OAAO,EAAC,gBAAgB,EAAC,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAC,kBAAkB,EAAC,MAAM,oCAAoC,CAAC;AAEtE,OAAO,EAAC,uBAAuB,EAAC,MAAM,qBAAqB,CAAC;AAE5D,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,KAAK,CACd,CAAC,CAAC,MAAM,CAAC;QACR,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;QACnB,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE;QACvB,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,WAAW,EAAE;QACzC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;KACxB,CAAC,CACF;CACD,CAAC,CAAC;AAEH,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,IAAI,EAAE,CAAC,CAAC,KAAK,CACZ,CAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE;QAChB,gBAAgB,EAAE,CAAC,CAAC,MAAM,EAAE;QAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;QACjB,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE;QACnB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE;KACjB,CAAC,CACF;IACD,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACjC,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC,SAAS,EAAE,CAAC,CAAC,OAAO,EAAE;IACtB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;IACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAC9B,aAAa,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAEH,MAAM,UAAU,8BAA8B,CAC7C,MAAiB,EACjB,OAAsB,EACtB,OAA4B,EAC5B,WAAiC;IAEjC,IAAI,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACrC,OAAO;IACR,CAAC;IAED,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,kBAAkB,EAClB;QACC,WAAW,EACV,0IAA0I;QAC3I,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;QAClC,YAAY,EAAE,sBAAsB;KACpC,EACD,KAAK,IAAI,EAAE;QACV,MAAM,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,EAAC,MAAM,EAAC,CAAC;QACzB,OAAO;YACN,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,CAAC;YACjE,iBAAiB,EAAE,OAAO;SAC1B,CAAC;IACH,CAAC,CACD,CAAC;IAEF,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,wBAAwB,EACxB;QACC,WAAW,EACV,kUAAkU;QACnU,WAAW,EAAE,CAAC;aACZ,MAAM,CAAC;YACP,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC5B,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;SACrD,CAAC;aACD,MAAM,EAAE;QACV,YAAY,EAAE,kBAAkB;KAChC,EACD,KAAK,EAAE,EAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAA8C,EAAE,EAAE;QACxE,MAAM,IAAI,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACtB,MAAM,UAAU,GAAG,2CAA2C,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvE,MAAM,aAAa,GAAG,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACxD,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC5D,MAAM,kBAAkB,GAAG,OAAO,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC;QAClE,IAAI,UAA8B,CAAC;QACnC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YAC5B,UAAU,GAAG,0CAA0C,KAAK,CAAC,KAAK,0BAA0B,CAAC;QAC9F,CAAC;aAAM,IAAI,aAAa,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACjD,UAAU;gBACT,kFAAkF,CAAC;QACrF,CAAC;aAAM,IAAI,UAAU,IAAI,CAAC,eAAe,EAAE,CAAC;YAC3C,UAAU;gBACT,uGAAuG,CAAC;QAC1G,CAAC;QACD,MAAM,OAAO,GAAG;YACf,IAAI;YACJ,UAAU;SACV,CAAC;QACF,OAAO;YACN,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,CAAC;YACjE,iBAAiB,EAAE,OAAO;SAC1B,CAAC;IACH,CAAC,CACD,CAAC;IAEF,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,qBAAqB,EACrB;QACC,WAAW,EACV,0LAA0L;QAC3L,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,EAAE;QAC5D,YAAY,EAAE,oBAAoB;KAClC,EACD,KAAK,EAAE,EAAC,OAAO,EAAoB,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,WAAW,EAAE,CAAC;YAChD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;YACnD,CAAC;YACD,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC5C,MAAM,KAAK,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;YAC3C,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5F,MAAM,OAAO,GAAG;gBACf,SAAS,EAAE,IAAI;gBACf,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO;gBAClC,gBAAgB,EAAE,OAAO;gBACzB,SAAS;gBACT,aAAa,EAAE;oBACd,oCAAoC;oBACpC,oCAAoC;oBACpC,yBAAyB;iBACzB;gBACD,YAAY,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAClC,SAAS,EACR,mEAAmE;aACpE,CAAC;YACF,OAAO;gBACN,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,CAAC;gBACjE,iBAAiB,EAAE,OAAO;aAC1B,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC5F,MAAM,KAAK,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC;QACnC,IACC,SAAS,CAAC,MAAM,KAAK,CAAC;YACtB,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,EACzD,CAAC;YACF,MAAM,IAAI,KAAK,CAAC,uBAAuB,OAAO,EAAE,CAAC,CAAC;QACnD,CAAC;QACD,MAAM,OAAO,GAAG;YACf,SAAS,EAAE,IAAI;YACf,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,OAAO;YAClC,gBAAgB,EAAE,OAAO;YACzB,SAAS;SACT,CAAC;QACF,OAAO;YACN,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,CAAC;YACjE,iBAAiB,EAAE,OAAO;SAC1B,CAAC;IACH,CAAC,CACD,CAAC;IAEF,qYAAqY;IACrY,MAAM,CAAC,YAAY,CAClB,uBAAuB,EACvB;QACC,WAAW,EACV,4HAA4H;QAC7H,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,EAAC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,MAAM,EAAE;QAC5D,YAAY,EAAE,CAAC;aACb,MAAM,CAAC;YACP,WAAW,EAAE,CAAC,CAAC,OAAO,EAAE;YACxB,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE;YACnB,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SAC9B,CAAC;aACD,MAAM,EAAE;KACV,EACD,KAAK,EAAE,EAAC,OAAO,EAAoB,EAAE,EAAE;QACtC,MAAM,WAAW,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAC;QACrD,4EAA4E;QAC5E,IAAI,GAAG,GAAG,WAAW,CAAC;QACtB,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACvD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACpC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBACvB,GAAG,GAAG;oBACL,QAAQ,KAAK,cAAc;oBAC3B,QAAQ,KAAK,UAAU;oBACvB,QAAQ,KAAK,QAAQ;iBACrB,CAAC;YACH,CAAC;QACF,CAAC;QACD,MAAM,SAAS,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QACtF,MAAM,OAAO,GAAG;YACf,WAAW,EAAE,SAAS,CAAC,MAAM,GAAG,CAAC;YACjC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,IAAI,OAAO;YAC1B,gBAAgB,EAAE,OAAO;YACzB,SAAS;SACT,CAAC;QACF,OAAO;YACN,OAAO,EAAE,CAAC,EAAC,IAAI,EAAE,MAAe,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAC,CAAC;YACjE,iBAAiB,EAAE,OAAO;SAC1B,CAAC;IACH,CAAC,CACD,CAAC;IAEF,OAAO,CAAC,uBAAuB,EAAE,CAAC;AACnC,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import type { RegisteredTool } from
|
|
2
|
-
import type { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
|
|
1
|
+
import type { RegisteredTool, McpServer } from "@modelcontextprotocol/server";
|
|
3
2
|
export type CatalogEntry = {
|
|
4
3
|
name: string;
|
|
5
4
|
description: string;
|
|
@@ -52,5 +51,19 @@ export declare class DeferredToolSession {
|
|
|
52
51
|
markDiscoveryRegistered(): void;
|
|
53
52
|
isDiscoveryRegistered(): boolean;
|
|
54
53
|
}
|
|
54
|
+
/**
|
|
55
|
+
* Filler / weak verbs excluded from catalog search tokens. Mirrors mpc-auth
|
|
56
|
+
* continuumCatalogSearchStopwords — keeps short words like "add" from flooding
|
|
57
|
+
* hits via add_* tool-name prefixes.
|
|
58
|
+
*/
|
|
59
|
+
export declare const CATALOG_SEARCH_STOPWORDS: ReadonlySet<string>;
|
|
60
|
+
/** Pure catalog search used by DeferredToolSession and utterance tests. */
|
|
61
|
+
export declare function searchToolCatalog(entries: Iterable<Pick<CatalogEntry, 'name' | 'description' | 'groupId' | 'tags'>>, q: string, groupFilter: string | undefined, limit: number, isLoaded?: (groupId: string) => boolean): Array<{
|
|
62
|
+
name: string;
|
|
63
|
+
shortDescription: string;
|
|
64
|
+
group: string;
|
|
65
|
+
loaded: boolean;
|
|
66
|
+
score: number;
|
|
67
|
+
}>;
|
|
55
68
|
export declare function mcpDeferLoadingFromEnv(): boolean;
|
|
56
69
|
//# sourceMappingURL=session.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/mcp/deferred/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../../src/mcp/deferred/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,15 +56,13 @@ export class DeferredToolSession {
|
|
|
56
56
|
this.groupTools.set(resolvedGroup, new Set());
|
|
57
57
|
}
|
|
58
58
|
this.groupTools.get(resolvedGroup).add(name);
|
|
59
|
+
// MCP 2026-07-28: tools/list must not vary per connection. Always leave tools
|
|
60
|
+
// enabled; mpc-auth (host) filters what the LLM sees. Catalog + activeGroups
|
|
61
|
+
// remain for search_continuum_tools / activate_tool_group semantics.
|
|
59
62
|
if (!this.deferLoading || options?.skipVisibility) {
|
|
60
63
|
return;
|
|
61
64
|
}
|
|
62
|
-
|
|
63
|
-
registered.enable();
|
|
64
|
-
}
|
|
65
|
-
else {
|
|
66
|
-
registered.disable();
|
|
67
|
-
}
|
|
65
|
+
registered.enable();
|
|
68
66
|
}
|
|
69
67
|
assignToolGroup(name, groupId) {
|
|
70
68
|
const entry = this.catalog.get(name);
|
|
@@ -91,13 +89,9 @@ export class DeferredToolSession {
|
|
|
91
89
|
if (!this.deferLoading) {
|
|
92
90
|
return;
|
|
93
91
|
}
|
|
92
|
+
// Static catalog: every registered tool stays enabled for tools/list.
|
|
94
93
|
for (const entry of this.catalog.values()) {
|
|
95
|
-
|
|
96
|
-
entry.registered.enable();
|
|
97
|
-
}
|
|
98
|
-
else {
|
|
99
|
-
entry.registered.disable();
|
|
100
|
-
}
|
|
94
|
+
entry.registered.enable();
|
|
101
95
|
}
|
|
102
96
|
}
|
|
103
97
|
activateGroup(groupId) {
|
|
@@ -105,12 +99,9 @@ export class DeferredToolSession {
|
|
|
105
99
|
this.fullActivation.add(groupId);
|
|
106
100
|
const names = [...(this.groupTools.get(groupId) ?? [])];
|
|
107
101
|
for (const name of names) {
|
|
108
|
-
|
|
109
|
-
if (entry) {
|
|
110
|
-
entry.registered.enable();
|
|
111
|
-
}
|
|
102
|
+
this.catalog.get(name)?.registered.enable();
|
|
112
103
|
}
|
|
113
|
-
|
|
104
|
+
// Do not send list_changed — wire catalog is static; host expands its LLM tool filter.
|
|
114
105
|
return names.sort();
|
|
115
106
|
}
|
|
116
107
|
deactivateGroup(groupId) {
|
|
@@ -120,23 +111,7 @@ export class DeferredToolSession {
|
|
|
120
111
|
this.activeGroups.delete(groupId);
|
|
121
112
|
this.fullActivation.delete(groupId);
|
|
122
113
|
const names = [...(this.groupTools.get(groupId) ?? [])];
|
|
123
|
-
|
|
124
|
-
const entry = this.catalog.get(name);
|
|
125
|
-
if (entry) {
|
|
126
|
-
if (this.pinnedGroups.has(groupId)) {
|
|
127
|
-
if (this.shouldBeVisible(name, groupId)) {
|
|
128
|
-
entry.registered.enable();
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
entry.registered.disable();
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
entry.registered.disable();
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
void this.server.server.sendToolListChanged().catch(() => { });
|
|
114
|
+
// Keep tools enabled on the wire; only host-side "loaded" bookkeeping changes.
|
|
140
115
|
return names.sort();
|
|
141
116
|
}
|
|
142
117
|
isGroupActive(groupId) {
|
|
@@ -165,50 +140,8 @@ export class DeferredToolSession {
|
|
|
165
140
|
});
|
|
166
141
|
}
|
|
167
142
|
searchTools(q, groupFilter, limit) {
|
|
168
|
-
const
|
|
169
|
-
|
|
170
|
-
.split(/\s+/)
|
|
171
|
-
.filter(Boolean);
|
|
172
|
-
const hits = [];
|
|
173
|
-
for (const entry of this.catalog.values()) {
|
|
174
|
-
if (entry.groupId === 'unknown')
|
|
175
|
-
continue;
|
|
176
|
-
if (groupFilter) {
|
|
177
|
-
const gf = groupFilter.toLowerCase();
|
|
178
|
-
if (entry.groupId !== gf &&
|
|
179
|
-
!entry.groupId.toLowerCase().startsWith(`${gf}:`) &&
|
|
180
|
-
!entry.groupId.toLowerCase().startsWith(gf)) {
|
|
181
|
-
continue;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
const hay = [
|
|
185
|
-
entry.name,
|
|
186
|
-
entry.description,
|
|
187
|
-
entry.groupId,
|
|
188
|
-
...entry.tags,
|
|
189
|
-
]
|
|
190
|
-
.join(' ')
|
|
191
|
-
.toLowerCase();
|
|
192
|
-
let score = 0;
|
|
193
|
-
for (const t of tokens) {
|
|
194
|
-
if (entry.name === t)
|
|
195
|
-
score += 10;
|
|
196
|
-
else if (entry.name.startsWith(t))
|
|
197
|
-
score += 5;
|
|
198
|
-
else if (hay.includes(t))
|
|
199
|
-
score += 1;
|
|
200
|
-
}
|
|
201
|
-
if (score > 0) {
|
|
202
|
-
hits.push({
|
|
203
|
-
name: entry.name,
|
|
204
|
-
shortDescription: entry.description.slice(0, 160),
|
|
205
|
-
group: entry.groupId,
|
|
206
|
-
loaded: this.activeGroups.has(entry.groupId),
|
|
207
|
-
score,
|
|
208
|
-
});
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
return hits.sort((a, b) => b.score - a.score).slice(0, limit);
|
|
143
|
+
const active = this.activeGroups;
|
|
144
|
+
return searchToolCatalog(this.catalog.values(), q, groupFilter, limit, groupId => active.has(groupId));
|
|
212
145
|
}
|
|
213
146
|
getCatalogSize() {
|
|
214
147
|
return this.catalog.size;
|
|
@@ -228,6 +161,121 @@ export class DeferredToolSession {
|
|
|
228
161
|
return this.discoveryRegistered;
|
|
229
162
|
}
|
|
230
163
|
}
|
|
164
|
+
/**
|
|
165
|
+
* Filler / weak verbs excluded from catalog search tokens. Mirrors mpc-auth
|
|
166
|
+
* continuumCatalogSearchStopwords — keeps short words like "add" from flooding
|
|
167
|
+
* hits via add_* tool-name prefixes.
|
|
168
|
+
*/
|
|
169
|
+
export const CATALOG_SEARCH_STOPWORDS = new Set([
|
|
170
|
+
'a',
|
|
171
|
+
'an',
|
|
172
|
+
'and',
|
|
173
|
+
'any',
|
|
174
|
+
'are',
|
|
175
|
+
'as',
|
|
176
|
+
'at',
|
|
177
|
+
'be',
|
|
178
|
+
'by',
|
|
179
|
+
'can',
|
|
180
|
+
'could',
|
|
181
|
+
'did',
|
|
182
|
+
'do',
|
|
183
|
+
'does',
|
|
184
|
+
'for',
|
|
185
|
+
'from',
|
|
186
|
+
'had',
|
|
187
|
+
'has',
|
|
188
|
+
'have',
|
|
189
|
+
'hello',
|
|
190
|
+
'help',
|
|
191
|
+
'hey',
|
|
192
|
+
'hi',
|
|
193
|
+
'how',
|
|
194
|
+
'i',
|
|
195
|
+
'if',
|
|
196
|
+
'in',
|
|
197
|
+
'is',
|
|
198
|
+
'it',
|
|
199
|
+
'its',
|
|
200
|
+
'just',
|
|
201
|
+
'like',
|
|
202
|
+
'me',
|
|
203
|
+
'my',
|
|
204
|
+
'need',
|
|
205
|
+
'no',
|
|
206
|
+
'not',
|
|
207
|
+
'of',
|
|
208
|
+
'on',
|
|
209
|
+
'or',
|
|
210
|
+
'please',
|
|
211
|
+
'should',
|
|
212
|
+
'so',
|
|
213
|
+
'that',
|
|
214
|
+
'thanks',
|
|
215
|
+
'the',
|
|
216
|
+
'there',
|
|
217
|
+
'this',
|
|
218
|
+
'to',
|
|
219
|
+
'today',
|
|
220
|
+
'want',
|
|
221
|
+
'was',
|
|
222
|
+
'we',
|
|
223
|
+
'what',
|
|
224
|
+
'when',
|
|
225
|
+
'where',
|
|
226
|
+
'who',
|
|
227
|
+
'why',
|
|
228
|
+
'will',
|
|
229
|
+
'with',
|
|
230
|
+
'would',
|
|
231
|
+
'you',
|
|
232
|
+
'your',
|
|
233
|
+
// Weak verb: add_* tools otherwise outrank real intent tokens (ichimoku, chain, …).
|
|
234
|
+
'add',
|
|
235
|
+
]);
|
|
236
|
+
/** Pure catalog search used by DeferredToolSession and utterance tests. */
|
|
237
|
+
export function searchToolCatalog(entries, q, groupFilter, limit, isLoaded = () => false) {
|
|
238
|
+
const tokens = q
|
|
239
|
+
.toLowerCase()
|
|
240
|
+
.split(/\s+/)
|
|
241
|
+
.map(t => t.replace(/^[\s.,!?;:'"()[\]]+|[\s.,!?;:'"()[\]]+$/g, ''))
|
|
242
|
+
.filter(t => t.length > 0 && !CATALOG_SEARCH_STOPWORDS.has(t));
|
|
243
|
+
const hits = [];
|
|
244
|
+
for (const entry of entries) {
|
|
245
|
+
if (entry.groupId === 'unknown')
|
|
246
|
+
continue;
|
|
247
|
+
if (groupFilter) {
|
|
248
|
+
const gf = groupFilter.toLowerCase();
|
|
249
|
+
if (entry.groupId !== gf &&
|
|
250
|
+
!entry.groupId.toLowerCase().startsWith(`${gf}:`) &&
|
|
251
|
+
!entry.groupId.toLowerCase().startsWith(gf)) {
|
|
252
|
+
continue;
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
const hay = [entry.name, entry.description, entry.groupId, ...entry.tags]
|
|
256
|
+
.join(' ')
|
|
257
|
+
.toLowerCase();
|
|
258
|
+
let score = 0;
|
|
259
|
+
for (const t of tokens) {
|
|
260
|
+
if (entry.name === t)
|
|
261
|
+
score += 10;
|
|
262
|
+
else if (entry.name.startsWith(t))
|
|
263
|
+
score += 5;
|
|
264
|
+
else if (hay.includes(t))
|
|
265
|
+
score += 1;
|
|
266
|
+
}
|
|
267
|
+
if (score > 0) {
|
|
268
|
+
hits.push({
|
|
269
|
+
name: entry.name,
|
|
270
|
+
shortDescription: entry.description.slice(0, 160),
|
|
271
|
+
group: entry.groupId,
|
|
272
|
+
loaded: isLoaded(entry.groupId),
|
|
273
|
+
score,
|
|
274
|
+
});
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
return hits.sort((a, b) => b.score - a.score).slice(0, limit);
|
|
278
|
+
}
|
|
231
279
|
export function mcpDeferLoadingFromEnv() {
|
|
232
280
|
const raw = process.env['MCP_DEFER_LOADING'];
|
|
233
281
|
if (raw === undefined || raw === '') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/mcp/deferred/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/mcp/deferred/session.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,9 +2,15 @@
|
|
|
2
2
|
* Operator-aligned MCP tool group catalog for continuum main `/mcp` (see docs/mcp-deferred-tool-loading.md §6).
|
|
3
3
|
* Optional HTTP endpoints (CMC, TA, VPN) live in optional-endpoint-groups.ts — not deferred on main server.
|
|
4
4
|
*/
|
|
5
|
-
export declare const DEFAULT_PINNED_GROUPS: readonly ["discovery", "node_info", "management_signer", "keygen"
|
|
5
|
+
export declare const DEFAULT_PINNED_GROUPS: readonly ["discovery", "node_info", "management_signer", "keygen"];
|
|
6
6
|
/** Bundles surfaced in list_tool_groups as easy chat entry points (not pinned at init). */
|
|
7
|
-
export declare const RECOMMENDED_CHAT_BUNDLES: readonly ["chart"];
|
|
7
|
+
export declare const RECOMMENDED_CHAT_BUNDLES: readonly ["chart:core", "defi_discovery"];
|
|
8
|
+
/**
|
|
9
|
+
* Legacy / shorthand groupIds expanded by activate_tool_group and host LLM filter.
|
|
10
|
+
* `chart` → plot/fetch only (not full analyze/drawings/trade).
|
|
11
|
+
* `defi:<protocol>` (exactly two segments) → market-data pack only — handled in resolveActivateGroupIds.
|
|
12
|
+
*/
|
|
13
|
+
export declare const GROUP_ACTIVATE_ALIASES: Record<string, readonly string[]>;
|
|
8
14
|
/** Tags applied to all tools in a group for search_continuum_tools. */
|
|
9
15
|
export declare const GROUP_SEARCH_TAGS: Record<string, readonly string[]>;
|
|
10
16
|
/** Tools visible at init when their group is pinned (subset of full group). */
|
|
@@ -13,6 +19,13 @@ export declare const GROUP_DESCRIPTIONS: Record<string, string>;
|
|
|
13
19
|
/** Static tool name → groupId on continuum main `/mcp` (DeFi protocol tools use defi:<protocolId> via metadata). */
|
|
14
20
|
export declare const TOOL_GROUP_BY_NAME: Record<string, string>;
|
|
15
21
|
export declare const TOOL_SEARCH_TAGS: Record<string, readonly string[]>;
|
|
22
|
+
/** DeFi protocol tool pack within `defi:<protocolId>:<pack>`. */
|
|
23
|
+
export type DefiProtocolPack = 'market-data' | 'trading' | 'other';
|
|
24
|
+
export declare function classifyDefiToolPack(toolName: string): DefiProtocolPack;
|
|
25
|
+
export declare function defiProtocolPackGroupId(protocolId: string, pack?: DefiProtocolPack): string;
|
|
26
|
+
/** Expand activate_tool_group aliases to concrete pack ids. */
|
|
27
|
+
export declare function resolveActivateGroupIds(groupId: string): string[];
|
|
28
|
+
export declare function isChartFamilyGroupId(groupId: string): boolean;
|
|
16
29
|
export declare function resolveToolGroupId(name: string, options?: {
|
|
17
30
|
protocolId?: string;
|
|
18
31
|
}): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-group-map.d.ts","sourceRoot":"","sources":["../../../src/mcp/deferred/tool-group-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,qBAAqB,
|
|
1
|
+
{"version":3,"file":"tool-group-map.d.ts","sourceRoot":"","sources":["../../../src/mcp/deferred/tool-group-map.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,qBAAqB,oEAKxB,CAAC;AAEX,2FAA2F;AAC3F,eAAO,MAAM,wBAAwB,2CAA4C,CAAC;AAElF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAEpE,CAAC;AAEF,uEAAuE;AACvE,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CA8K/D,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,iBAAiB,EAAE,WAAW,CAAC,MAAM,CAwBhD,CAAC;AAEH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA4BrD,CAAC;AAEF,oHAAoH;AACpH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CA2LrD,CAAC;AAEF,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAmS9D,CAAC;AAEF,iEAAiE;AACjE,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,SAAS,GAAG,OAAO,CAAC;AAEnE,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,gBAAgB,CA4BvE;AAED,wBAAgB,uBAAuB,CACtC,UAAU,EAAE,MAAM,EAClB,IAAI,GAAE,gBAAgC,GACpC,MAAM,CAER;AAED,+DAA+D;AAC/D,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAiBjE;AAED,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE7D;AAED,wBAAgB,kBAAkB,CACjC,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAC,GAC7B,MAAM,CAeR;AAED,8DAA8D;AAC9D,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAM7D;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,WAAW,CAAC,MAAM,CAAC,GAAG,OAAO,CAQ5G;AAED,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,CAU7E"}
|