@mcp-ts/sdk 2.0.0 → 2.2.0
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/adapters/agui-adapter.d.mts +2 -2
- package/dist/adapters/agui-adapter.d.ts +2 -2
- package/dist/adapters/agui-adapter.js +1 -0
- package/dist/adapters/agui-adapter.js.map +1 -1
- package/dist/adapters/agui-adapter.mjs +1 -0
- package/dist/adapters/agui-adapter.mjs.map +1 -1
- package/dist/adapters/agui-middleware.d.mts +2 -2
- package/dist/adapters/agui-middleware.d.ts +2 -2
- package/dist/adapters/ai-adapter.d.mts +2 -2
- package/dist/adapters/ai-adapter.d.ts +2 -2
- package/dist/adapters/ai-adapter.js +1 -0
- package/dist/adapters/ai-adapter.js.map +1 -1
- package/dist/adapters/ai-adapter.mjs +1 -0
- package/dist/adapters/ai-adapter.mjs.map +1 -1
- package/dist/adapters/langchain-adapter.d.mts +2 -2
- package/dist/adapters/langchain-adapter.d.ts +2 -2
- package/dist/adapters/langchain-adapter.js +1 -0
- package/dist/adapters/langchain-adapter.js.map +1 -1
- package/dist/adapters/langchain-adapter.mjs +1 -0
- package/dist/adapters/langchain-adapter.mjs.map +1 -1
- package/dist/client/index.d.mts +2 -2
- package/dist/client/index.d.ts +2 -2
- package/dist/client/react.d.mts +4 -4
- package/dist/client/react.d.ts +4 -4
- package/dist/client/react.js.map +1 -1
- package/dist/client/react.mjs.map +1 -1
- package/dist/client/vue.d.mts +4 -4
- package/dist/client/vue.d.ts +4 -4
- package/dist/{index-eaH14_5u.d.mts → index-Cfjsme-a.d.mts} +1 -1
- package/dist/{index-C9gvpxy5.d.ts → index-CmjMd2ac.d.ts} +1 -1
- package/dist/index.d.mts +3 -3
- package/dist/index.d.ts +3 -3
- package/dist/index.js +47 -7
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +47 -7
- package/dist/index.mjs.map +1 -1
- package/dist/server/index.d.mts +2 -2
- package/dist/server/index.d.ts +2 -2
- package/dist/shared/index.d.mts +6 -6
- package/dist/shared/index.d.ts +6 -6
- package/dist/shared/index.js +47 -7
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/index.mjs +47 -7
- package/dist/shared/index.mjs.map +1 -1
- package/dist/{tool-router-Dnd6IOKC.d.mts → tool-router-C8hIA-tg.d.mts} +26 -1
- package/dist/{tool-router-Ddtybmr0.d.ts → tool-router-CdX8e9bk.d.ts} +26 -1
- package/dist/{types-BCAG20P6.d.mts → types-CxFaaZrM.d.mts} +2 -1
- package/dist/{types-BCAG20P6.d.ts → types-CxFaaZrM.d.ts} +2 -1
- package/package.json +1 -1
- package/src/shared/meta-tools.ts +5 -4
- package/src/shared/tool-index.ts +1 -0
- package/src/shared/tool-router.ts +69 -6
- package/src/shared/types.ts +2 -1
package/dist/client/vue.d.mts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as SSEClient } from '../index-
|
|
2
|
-
export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, d as SSEClientOptions } from '../index-
|
|
1
|
+
import { c as SSEClient } from '../index-Cfjsme-a.mjs';
|
|
2
|
+
export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, d as SSEClientOptions } from '../index-Cfjsme-a.mjs';
|
|
3
3
|
import { c as McpConnectionState, M as McpConnectionEvent } from '../events-CK3N--3g.mjs';
|
|
4
4
|
export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, d as McpObservabilityEvent } from '../events-CK3N--3g.mjs';
|
|
5
|
-
import { v as ToolInfo, k as FinishAuthResult, o as ListToolsRpcResult, L as ListPromptsResult, m as ListResourcesResult } from '../types-
|
|
6
|
-
export { q as McpRpcRequest, r as McpRpcResponse } from '../types-
|
|
5
|
+
import { v as ToolInfo, k as FinishAuthResult, o as ListToolsRpcResult, L as ListPromptsResult, m as ListResourcesResult } from '../types-CxFaaZrM.mjs';
|
|
6
|
+
export { q as McpRpcRequest, r as McpRpcResponse } from '../types-CxFaaZrM.mjs';
|
|
7
7
|
import '@modelcontextprotocol/ext-apps/app-bridge';
|
|
8
8
|
import '@modelcontextprotocol/sdk/types.js';
|
|
9
9
|
|
package/dist/client/vue.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { c as SSEClient } from '../index-
|
|
2
|
-
export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, d as SSEClientOptions } from '../index-
|
|
1
|
+
import { c as SSEClient } from '../index-CmjMd2ac.js';
|
|
2
|
+
export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, d as SSEClientOptions } from '../index-CmjMd2ac.js';
|
|
3
3
|
import { c as McpConnectionState, M as McpConnectionEvent } from '../events-CK3N--3g.js';
|
|
4
4
|
export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, d as McpObservabilityEvent } from '../events-CK3N--3g.js';
|
|
5
|
-
import { v as ToolInfo, k as FinishAuthResult, o as ListToolsRpcResult, L as ListPromptsResult, m as ListResourcesResult } from '../types-
|
|
6
|
-
export { q as McpRpcRequest, r as McpRpcResponse } from '../types-
|
|
5
|
+
import { v as ToolInfo, k as FinishAuthResult, o as ListToolsRpcResult, L as ListPromptsResult, m as ListResourcesResult } from '../types-CxFaaZrM.js';
|
|
6
|
+
export { q as McpRpcRequest, r as McpRpcResponse } from '../types-CxFaaZrM.js';
|
|
7
7
|
import '@modelcontextprotocol/ext-apps/app-bridge';
|
|
8
8
|
import '@modelcontextprotocol/sdk/types.js';
|
|
9
9
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { M as McpConnectionEvent, d as McpObservabilityEvent, e as McpAppsUIEvent } from './events-CK3N--3g.mjs';
|
|
2
|
-
import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, o as ListToolsRpcResult, l as GetSessionResult, k as FinishAuthResult, L as ListPromptsResult, m as ListResourcesResult } from './types-
|
|
2
|
+
import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, o as ListToolsRpcResult, l as GetSessionResult, k as FinishAuthResult, L as ListPromptsResult, m as ListResourcesResult } from './types-CxFaaZrM.mjs';
|
|
3
3
|
import { AppBridge } from '@modelcontextprotocol/ext-apps/app-bridge';
|
|
4
4
|
import { LoggingMessageNotification } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { M as McpConnectionEvent, d as McpObservabilityEvent, e as McpAppsUIEvent } from './events-CK3N--3g.js';
|
|
2
|
-
import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, o as ListToolsRpcResult, l as GetSessionResult, k as FinishAuthResult, L as ListPromptsResult, m as ListResourcesResult } from './types-
|
|
2
|
+
import { s as SessionListResult, e as ConnectParams, h as ConnectResult, j as DisconnectResult, o as ListToolsRpcResult, l as GetSessionResult, k as FinishAuthResult, L as ListPromptsResult, m as ListResourcesResult } from './types-CxFaaZrM.js';
|
|
3
3
|
import { AppBridge } from '@modelcontextprotocol/ext-apps/app-bridge';
|
|
4
4
|
import { LoggingMessageNotification } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
|
package/dist/index.d.mts
CHANGED
|
@@ -2,11 +2,11 @@ export { M as MCPClient, a as MultiSessionClient, S as StorageOAuthClientProvide
|
|
|
2
2
|
export { A as AuthenticationError, C as ConfigurationError, a as ConnectionError, I as InvalidStateError, M as McpError, N as NotConnectedError, R as RpcErrorCode, b as RpcErrorCodes, S as SessionNotFoundError, c as SessionValidationError, T as ToolExecutionError, U as UnauthorizedError, s as sanitizeServerLabel } from './utils-DELRKQPU.mjs';
|
|
3
3
|
export { ClientMetadata, NextMcpHandlerOptions, SSEConnectionManager, SSEHandlerOptions, SessionStore, createNextMcpHandler, createSSEHandler, sessions } from './server/index.mjs';
|
|
4
4
|
export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, M as McpConnectionEvent, c as McpConnectionState, d as McpObservabilityEvent } from './events-CK3N--3g.mjs';
|
|
5
|
-
export { C as CallToolParams, a as CallToolRequest, b as CallToolResponse, c as ConnectAuthRequiredResponse, d as ConnectErrorResponse, e as ConnectParams, f as ConnectRequest, g as ConnectResponse, h as ConnectResult, i as ConnectSuccessResponse, D as DisconnectParams, j as DisconnectResult, F as FinishAuthParams, k as FinishAuthResult, G as GetPromptParams, l as GetSessionResult, L as ListPromptsResult, m as ListResourcesResult, n as ListToolsResponse, o as ListToolsRpcResult, M as McpRpcMethod, p as McpRpcParams, q as McpRpcRequest, r as McpRpcResponse, R as ReadResourceParams, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, v as ToolInfo, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from './types-
|
|
5
|
+
export { C as CallToolParams, a as CallToolRequest, b as CallToolResponse, c as ConnectAuthRequiredResponse, d as ConnectErrorResponse, e as ConnectParams, f as ConnectRequest, g as ConnectResponse, h as ConnectResult, i as ConnectSuccessResponse, D as DisconnectParams, j as DisconnectResult, F as FinishAuthParams, k as FinishAuthResult, G as GetPromptParams, l as GetSessionResult, L as ListPromptsResult, m as ListResourcesResult, n as ListToolsResponse, o as ListToolsRpcResult, M as McpRpcMethod, p as McpRpcParams, q as McpRpcRequest, r as McpRpcResponse, R as ReadResourceParams, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, v as ToolInfo, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from './types-CxFaaZrM.mjs';
|
|
6
6
|
export { OAuthClientInformation, OAuthClientInformationFull, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
|
|
7
7
|
export { CallToolResult, ListToolsResult, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, c as SSEClient, d as SSEClientOptions } from './index-
|
|
8
|
+
export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, c as SSEClient, d as SSEClientOptions } from './index-Cfjsme-a.mjs';
|
|
9
9
|
export { CallToolFn, DEFAULT_CLIENT_NAME, DEFAULT_CLIENT_URI, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOGO_URI, DEFAULT_POLICY_URI, MCP_CLIENT_NAME, MCP_CLIENT_VERSION, REDIS_KEY_PREFIX, SESSION_TTL_SECONDS, SOFTWARE_ID, SOFTWARE_VERSION, STATE_EXPIRATION_MS, TOKEN_EXPIRY_BUFFER_MS, ToolUiConfig, createExecuteToolDefinition, createGetSchemaToolDefinition, createListServersToolDefinition, createRegexSearchToolDefinition, createSearchToolDefinition, executeMetaTool, findToolByName, getToolUiResourceUri, isMetaTool, resolveMetaToolProxy } from './shared/index.mjs';
|
|
10
|
-
export { C as CompactTool, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, a as ToolIndex, b as ToolIndexOptions, c as ToolListResult, d as ToolRouter, e as ToolRouterClientInput, f as ToolRouterOptions, g as ToolRouterStrategy, h as ToolSearchOptions, i as ToolServerSummary, j as ToolSummary } from './tool-router-
|
|
10
|
+
export { C as CompactTool, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, a as ToolIndex, b as ToolIndexOptions, c as ToolListResult, d as ToolRouter, e as ToolRouterClientInput, f as ToolRouterOptions, g as ToolRouterStrategy, h as ToolSearchOptions, i as ToolServerSummary, j as ToolSummary } from './tool-router-C8hIA-tg.mjs';
|
|
11
11
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
12
12
|
import '@modelcontextprotocol/ext-apps/app-bridge';
|
package/dist/index.d.ts
CHANGED
|
@@ -2,11 +2,11 @@ export { M as MCPClient, a as MultiSessionClient, S as StorageOAuthClientProvide
|
|
|
2
2
|
export { A as AuthenticationError, C as ConfigurationError, a as ConnectionError, I as InvalidStateError, M as McpError, N as NotConnectedError, R as RpcErrorCode, b as RpcErrorCodes, S as SessionNotFoundError, c as SessionValidationError, T as ToolExecutionError, U as UnauthorizedError, s as sanitizeServerLabel } from './utils-DELRKQPU.js';
|
|
3
3
|
export { ClientMetadata, NextMcpHandlerOptions, SSEConnectionManager, SSEHandlerOptions, SessionStore, createNextMcpHandler, createSSEHandler, sessions } from './server/index.js';
|
|
4
4
|
export { D as Disposable, a as DisposableStore, E as Emitter, b as Event, M as McpConnectionEvent, c as McpConnectionState, d as McpObservabilityEvent } from './events-CK3N--3g.js';
|
|
5
|
-
export { C as CallToolParams, a as CallToolRequest, b as CallToolResponse, c as ConnectAuthRequiredResponse, d as ConnectErrorResponse, e as ConnectParams, f as ConnectRequest, g as ConnectResponse, h as ConnectResult, i as ConnectSuccessResponse, D as DisconnectParams, j as DisconnectResult, F as FinishAuthParams, k as FinishAuthResult, G as GetPromptParams, l as GetSessionResult, L as ListPromptsResult, m as ListResourcesResult, n as ListToolsResponse, o as ListToolsRpcResult, M as McpRpcMethod, p as McpRpcParams, q as McpRpcRequest, r as McpRpcResponse, R as ReadResourceParams, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, v as ToolInfo, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from './types-
|
|
5
|
+
export { C as CallToolParams, a as CallToolRequest, b as CallToolResponse, c as ConnectAuthRequiredResponse, d as ConnectErrorResponse, e as ConnectParams, f as ConnectRequest, g as ConnectResponse, h as ConnectResult, i as ConnectSuccessResponse, D as DisconnectParams, j as DisconnectResult, F as FinishAuthParams, k as FinishAuthResult, G as GetPromptParams, l as GetSessionResult, L as ListPromptsResult, m as ListResourcesResult, n as ListToolsResponse, o as ListToolsRpcResult, M as McpRpcMethod, p as McpRpcParams, q as McpRpcRequest, r as McpRpcResponse, R as ReadResourceParams, S as SessionInfo, s as SessionListResult, t as SessionParams, T as ToolClient, u as ToolClientProvider, v as ToolInfo, w as TransportType, x as isCallToolSuccess, y as isConnectAuthRequired, z as isConnectError, A as isConnectSuccess, B as isListToolsSuccess } from './types-CxFaaZrM.js';
|
|
6
6
|
export { OAuthClientInformation, OAuthClientInformationFull, OAuthClientMetadata, OAuthTokens } from '@modelcontextprotocol/sdk/shared/auth.js';
|
|
7
7
|
export { CallToolResult, ListToolsResult, Tool } from '@modelcontextprotocol/sdk/types.js';
|
|
8
|
-
export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, c as SSEClient, d as SSEClientOptions } from './index-
|
|
8
|
+
export { A as APP_HOST_DEFAULTS, a as AppHost, D as DEFAULT_MCP_APP_CSP, S as SANDBOX_PROXY_READY_METHOD, b as SANDBOX_RESOURCE_READY_METHOD, c as SSEClient, d as SSEClientOptions } from './index-CmjMd2ac.js';
|
|
9
9
|
export { CallToolFn, DEFAULT_CLIENT_NAME, DEFAULT_CLIENT_URI, DEFAULT_HEARTBEAT_INTERVAL_MS, DEFAULT_LOGO_URI, DEFAULT_POLICY_URI, MCP_CLIENT_NAME, MCP_CLIENT_VERSION, REDIS_KEY_PREFIX, SESSION_TTL_SECONDS, SOFTWARE_ID, SOFTWARE_VERSION, STATE_EXPIRATION_MS, TOKEN_EXPIRY_BUFFER_MS, ToolUiConfig, createExecuteToolDefinition, createGetSchemaToolDefinition, createListServersToolDefinition, createRegexSearchToolDefinition, createSearchToolDefinition, executeMetaTool, findToolByName, getToolUiResourceUri, isMetaTool, resolveMetaToolProxy } from './shared/index.js';
|
|
10
|
-
export { C as CompactTool, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, a as ToolIndex, b as ToolIndexOptions, c as ToolListResult, d as ToolRouter, e as ToolRouterClientInput, f as ToolRouterOptions, g as ToolRouterStrategy, h as ToolSearchOptions, i as ToolServerSummary, j as ToolSummary } from './tool-router-
|
|
10
|
+
export { C as CompactTool, E as EmbedFn, I as IndexedTool, S as SchemaCompressor, T as ToolGroupInfo, a as ToolIndex, b as ToolIndexOptions, c as ToolListResult, d as ToolRouter, e as ToolRouterClientInput, f as ToolRouterOptions, g as ToolRouterStrategy, h as ToolSearchOptions, i as ToolServerSummary, j as ToolSummary } from './tool-router-CdX8e9bk.js';
|
|
11
11
|
import '@modelcontextprotocol/sdk/client/auth.js';
|
|
12
12
|
import '@modelcontextprotocol/ext-apps/app-bridge';
|
package/dist/index.js
CHANGED
|
@@ -4747,7 +4747,7 @@ function createRegexSearchToolDefinition() {
|
|
|
4747
4747
|
function createGetSchemaToolDefinition() {
|
|
4748
4748
|
return {
|
|
4749
4749
|
name: "mcp_get_tool_schema",
|
|
4750
|
-
description: "Get the full input schema (parameters) for a specific tool. Call this after mcp_search_tools to get the parameter details needed to call a tool correctly. Do NOT call the discovered tool directly; after reading the schema, call mcp_execute_tool.",
|
|
4750
|
+
description: "Get the full input schema (parameters) and output schema (result shape) for a specific tool. Call this after mcp_search_tools to get the parameter details needed to call a tool correctly and understand what it returns. Do NOT call the discovered tool directly; after reading the schema, call mcp_execute_tool.",
|
|
4751
4751
|
inputSchema: {
|
|
4752
4752
|
type: "object",
|
|
4753
4753
|
properties: {
|
|
@@ -4932,6 +4932,7 @@ async function executeMetaTool(toolName, args, router, callToolFn) {
|
|
|
4932
4932
|
name: tool.name,
|
|
4933
4933
|
description: tool.description,
|
|
4934
4934
|
inputSchema: tool.inputSchema,
|
|
4935
|
+
outputSchema: tool.outputSchema,
|
|
4935
4936
|
executionInstructions: {
|
|
4936
4937
|
nextTool: "mcp_execute_tool",
|
|
4937
4938
|
toolName: tool.name,
|
|
@@ -5027,18 +5028,29 @@ var ToolRouter = class {
|
|
|
5027
5028
|
this.options = options;
|
|
5028
5029
|
__publicField(this, "index");
|
|
5029
5030
|
__publicField(this, "allTools", []);
|
|
5031
|
+
__publicField(this, "pinnedTools", []);
|
|
5032
|
+
__publicField(this, "deferredTools", []);
|
|
5033
|
+
__publicField(this, "discoverableTools", []);
|
|
5030
5034
|
__publicField(this, "groupsMap", /* @__PURE__ */ new Map());
|
|
5031
5035
|
__publicField(this, "strategy");
|
|
5032
5036
|
__publicField(this, "maxTools");
|
|
5033
5037
|
__publicField(this, "compactSchemas");
|
|
5034
5038
|
__publicField(this, "activeGroups");
|
|
5035
5039
|
__publicField(this, "customGroups");
|
|
5040
|
+
__publicField(this, "pinnedToolNames");
|
|
5041
|
+
__publicField(this, "deferredToolNames");
|
|
5042
|
+
__publicField(this, "excludeToolMatchers");
|
|
5036
5043
|
__publicField(this, "initialized", false);
|
|
5037
5044
|
this.strategy = options.strategy ?? "all";
|
|
5038
5045
|
this.maxTools = options.maxTools ?? 40;
|
|
5039
5046
|
this.compactSchemas = options.compactSchemas ?? false;
|
|
5040
5047
|
this.activeGroups = new Set(options.activeGroups ?? []);
|
|
5041
5048
|
this.customGroups = options.groups;
|
|
5049
|
+
this.pinnedToolNames = new Set(options.pinnedTools ?? []);
|
|
5050
|
+
this.deferredToolNames = new Set(options.deferredTools ?? []);
|
|
5051
|
+
this.excludeToolMatchers = (options.excludeTools ?? []).map(
|
|
5052
|
+
(pattern) => globToRegExp(pattern)
|
|
5053
|
+
);
|
|
5042
5054
|
this.index = new ToolIndex({
|
|
5043
5055
|
embedFn: options.embedFn,
|
|
5044
5056
|
keywordWeight: options.keywordWeight
|
|
@@ -5059,13 +5071,14 @@ var ToolRouter = class {
|
|
|
5059
5071
|
await this.ensureInitialized();
|
|
5060
5072
|
switch (this.strategy) {
|
|
5061
5073
|
case "search":
|
|
5062
|
-
return this.getMetaToolDefinitions();
|
|
5074
|
+
return [...this.getMetaToolDefinitions(), ...this.pinnedTools];
|
|
5063
5075
|
case "groups":
|
|
5064
5076
|
return this.getGroupFilteredTools();
|
|
5065
5077
|
case "all":
|
|
5066
5078
|
default:
|
|
5079
|
+
const directlyVisibleTools = this.getDirectlyVisibleTools();
|
|
5067
5080
|
if (this.compactSchemas) {
|
|
5068
|
-
return
|
|
5081
|
+
return directlyVisibleTools.map((t) => {
|
|
5069
5082
|
const compact = SchemaCompressor.toCompact(t);
|
|
5070
5083
|
return {
|
|
5071
5084
|
name: compact.name,
|
|
@@ -5074,7 +5087,7 @@ var ToolRouter = class {
|
|
|
5074
5087
|
};
|
|
5075
5088
|
});
|
|
5076
5089
|
}
|
|
5077
|
-
return [...
|
|
5090
|
+
return [...directlyVisibleTools];
|
|
5078
5091
|
}
|
|
5079
5092
|
}
|
|
5080
5093
|
/**
|
|
@@ -5186,8 +5199,14 @@ var ToolRouter = class {
|
|
|
5186
5199
|
/** Lazy initialization — fetches tools from all connected clients. */
|
|
5187
5200
|
async ensureInitialized() {
|
|
5188
5201
|
if (this.initialized) return;
|
|
5189
|
-
|
|
5190
|
-
|
|
5202
|
+
const fetchedTools = await this.fetchAllTools();
|
|
5203
|
+
this.allTools = fetchedTools.filter((tool) => !this.matchesExcludedTool(tool.name));
|
|
5204
|
+
this.pinnedTools = this.allTools.filter((tool) => this.matchesPinnedTool(tool.name));
|
|
5205
|
+
this.deferredTools = this.allTools.filter(
|
|
5206
|
+
(tool) => !this.matchesPinnedTool(tool.name) && this.matchesDeferredTool(tool)
|
|
5207
|
+
);
|
|
5208
|
+
this.discoverableTools = this.allTools.filter((tool) => !this.matchesPinnedTool(tool.name));
|
|
5209
|
+
await this.index.buildIndex(this.discoverableTools);
|
|
5191
5210
|
this.buildGroups();
|
|
5192
5211
|
this.initialized = true;
|
|
5193
5212
|
}
|
|
@@ -5263,7 +5282,7 @@ var ToolRouter = class {
|
|
|
5263
5282
|
}
|
|
5264
5283
|
}
|
|
5265
5284
|
}
|
|
5266
|
-
const filtered = this.
|
|
5285
|
+
const filtered = this.getDirectlyVisibleTools().filter((t) => activeToolNames.has(t.name));
|
|
5267
5286
|
if (this.compactSchemas) {
|
|
5268
5287
|
return filtered.slice(0, this.maxTools).map((t) => {
|
|
5269
5288
|
const compact = SchemaCompressor.toCompact(t);
|
|
@@ -5286,7 +5305,28 @@ var ToolRouter = class {
|
|
|
5286
5305
|
createExecuteToolDefinition()
|
|
5287
5306
|
];
|
|
5288
5307
|
}
|
|
5308
|
+
matchesPinnedTool(toolName) {
|
|
5309
|
+
return this.pinnedToolNames.has(toolName);
|
|
5310
|
+
}
|
|
5311
|
+
matchesDeferredTool(tool) {
|
|
5312
|
+
if (this.deferredToolNames.has(tool.name)) {
|
|
5313
|
+
return true;
|
|
5314
|
+
}
|
|
5315
|
+
const meta = tool._meta;
|
|
5316
|
+
return meta?.toolRouter?.deferred === true;
|
|
5317
|
+
}
|
|
5318
|
+
matchesExcludedTool(toolName) {
|
|
5319
|
+
return this.excludeToolMatchers.some((matcher) => matcher.test(toolName));
|
|
5320
|
+
}
|
|
5321
|
+
getDirectlyVisibleTools() {
|
|
5322
|
+
return this.allTools.filter((tool) => !this.matchesDeferredTool(tool) || this.matchesPinnedTool(tool.name));
|
|
5323
|
+
}
|
|
5289
5324
|
};
|
|
5325
|
+
function globToRegExp(pattern) {
|
|
5326
|
+
const escaped = pattern.replace(/[.+?^${}()|[\]\\]/g, "\\$&");
|
|
5327
|
+
const regexPattern = `^${escaped.replace(/\*/g, ".*")}$`;
|
|
5328
|
+
return new RegExp(regexPattern);
|
|
5329
|
+
}
|
|
5290
5330
|
|
|
5291
5331
|
exports.APP_HOST_DEFAULTS = APP_HOST_DEFAULTS;
|
|
5292
5332
|
exports.AppHost = AppHost;
|