managed-deepagents 0.8.6-dev.3 → 0.9.0-dev.2
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 +81 -1
- package/dist/channels/http/index.d.ts.map +1 -1
- package/dist/channels/http/index.js +5 -1
- package/dist/channels/http/index.js.map +1 -1
- package/dist/channels/http/types.d.ts +2 -0
- package/dist/channels/http/types.d.ts.map +1 -1
- package/dist/channels/reactions.d.ts +31 -0
- package/dist/channels/reactions.d.ts.map +1 -0
- package/dist/channels/reactions.js +52 -0
- package/dist/channels/reactions.js.map +1 -0
- package/dist/channels/runtime.d.ts +1 -0
- package/dist/channels/runtime.d.ts.map +1 -1
- package/dist/channels/runtime.js +7 -1
- package/dist/channels/runtime.js.map +1 -1
- package/dist/channels/schedule-delivery.d.ts +3 -25
- package/dist/channels/schedule-delivery.d.ts.map +1 -1
- package/dist/channels/schedule-delivery.js +28 -31
- package/dist/channels/schedule-delivery.js.map +1 -1
- package/dist/channels/slack/index.d.ts +8 -0
- package/dist/channels/slack/index.d.ts.map +1 -1
- package/dist/channels/slack/index.js +10 -0
- package/dist/channels/slack/index.js.map +1 -1
- package/dist/channels/slack/transport.d.ts.map +1 -1
- package/dist/channels/slack/transport.js +1 -1
- package/dist/channels/slack/transport.js.map +1 -1
- package/dist/channels/trigger/http.d.ts +3 -0
- package/dist/channels/trigger/http.d.ts.map +1 -1
- package/dist/channels/trigger/http.js +82 -37
- package/dist/channels/trigger/http.js.map +1 -1
- package/dist/channels/trigger/transport.d.ts.map +1 -1
- package/dist/channels/trigger/transport.js +6 -3
- package/dist/channels/trigger/transport.js.map +1 -1
- package/dist/channels/trigger/types.d.ts +21 -2
- package/dist/channels/trigger/types.d.ts.map +1 -1
- package/dist/channels/trigger/types.js.map +1 -1
- package/dist/channels/types.d.ts +3 -0
- package/dist/channels/types.d.ts.map +1 -1
- package/dist/channels/types.js.map +1 -1
- package/dist/connection-authorization.d.ts +7 -0
- package/dist/connection-authorization.d.ts.map +1 -1
- package/dist/connection-authorization.js +1 -1
- package/dist/connection-authorization.js.map +1 -1
- package/dist/connectors/mcp/index.d.ts +11 -11
- package/dist/connectors/mcp/index.d.ts.map +1 -1
- package/dist/connectors/mcp/index.js +74 -120
- package/dist/connectors/mcp/index.js.map +1 -1
- package/dist/connectors/mcp/langsmith-url.js +2 -2
- package/dist/connectors/mcp/langsmith-url.js.map +1 -1
- package/dist/connectors/mcp/schema.d.ts +4 -13
- package/dist/connectors/mcp/schema.d.ts.map +1 -1
- package/dist/connectors/mcp/schema.js +57 -96
- package/dist/connectors/mcp/schema.js.map +1 -1
- package/dist/connectors/mcp/types.d.ts +15 -49
- package/dist/connectors/mcp/types.d.ts.map +1 -1
- package/dist/credential-gate.d.ts.map +1 -1
- package/dist/credential-gate.js +2 -4
- package/dist/credential-gate.js.map +1 -1
- package/dist/define-deep-agent.d.ts +6 -5
- package/dist/define-deep-agent.d.ts.map +1 -1
- package/dist/define-deep-agent.js +13 -17
- package/dist/define-deep-agent.js.map +1 -1
- package/dist/dynamic-agent.d.ts +13 -0
- package/dist/dynamic-agent.d.ts.map +1 -0
- package/dist/dynamic-agent.js +12 -0
- package/dist/dynamic-agent.js.map +1 -0
- package/dist/index.d.ts +6 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/managed-composition.d.ts +15 -0
- package/dist/managed-composition.d.ts.map +1 -0
- package/dist/managed-composition.js +181 -0
- package/dist/managed-composition.js.map +1 -0
- package/dist/run-context.d.ts +6 -0
- package/dist/run-context.d.ts.map +1 -1
- package/dist/run-context.js +1 -0
- package/dist/run-context.js.map +1 -1
- package/dist/runtime/agent-entry.d.ts +6 -0
- package/dist/runtime/agent-entry.d.ts.map +1 -0
- package/dist/runtime/agent-entry.js +42 -0
- package/dist/runtime/agent-entry.js.map +1 -0
- package/dist/runtime/auth.d.ts +1 -6
- package/dist/runtime/auth.d.ts.map +1 -1
- package/dist/runtime/auth.js +9 -7
- package/dist/runtime/auth.js.map +1 -1
- package/dist/runtime/backend.d.ts +1 -0
- package/dist/runtime/backend.d.ts.map +1 -1
- package/dist/runtime/backend.js +9 -6
- package/dist/runtime/backend.js.map +1 -1
- package/dist/runtime/eval-filesystem.d.ts +4 -2
- package/dist/runtime/eval-filesystem.d.ts.map +1 -1
- package/dist/runtime/eval-filesystem.js +134 -8
- package/dist/runtime/eval-filesystem.js.map +1 -1
- package/dist/runtime/index.d.ts +4 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/runtime/index.js +118 -42
- package/dist/runtime/index.js.map +1 -1
- package/dist/runtime/memory/index.d.ts +1 -1
- package/dist/runtime/memory/index.d.ts.map +1 -1
- package/dist/runtime/memory/index.js +1 -1
- package/dist/runtime/memory/index.js.map +1 -1
- package/dist/runtime/memory/mounts.d.ts +3 -2
- package/dist/runtime/memory/mounts.d.ts.map +1 -1
- package/dist/runtime/memory/mounts.js +11 -15
- package/dist/runtime/memory/mounts.js.map +1 -1
- package/dist/runtime/memory/paths.d.ts +1 -0
- package/dist/runtime/memory/paths.d.ts.map +1 -1
- package/dist/runtime/memory/paths.js +10 -0
- package/dist/runtime/memory/paths.js.map +1 -1
- package/dist/runtime/run-input.d.ts +3 -0
- package/dist/runtime/run-input.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.d.ts +14 -2
- package/dist/runtime/sandbox-manager.d.ts.map +1 -1
- package/dist/runtime/sandbox-manager.js +90 -12
- package/dist/runtime/sandbox-manager.js.map +1 -1
- package/dist/runtime/schedule-auth.d.ts +49 -0
- package/dist/runtime/schedule-auth.d.ts.map +1 -0
- package/dist/runtime/schedule-auth.js +177 -0
- package/dist/runtime/schedule-auth.js.map +1 -0
- package/dist/runtime/selected-skills-backend.d.ts +22 -0
- package/dist/runtime/selected-skills-backend.d.ts.map +1 -0
- package/dist/runtime/selected-skills-backend.js +238 -0
- package/dist/runtime/selected-skills-backend.js.map +1 -0
- package/dist/runtime/selected-skills.d.ts +13 -0
- package/dist/runtime/selected-skills.d.ts.map +1 -0
- package/dist/runtime/selected-skills.js +257 -0
- package/dist/runtime/selected-skills.js.map +1 -0
- package/dist/runtime/static-entry.d.ts +4 -0
- package/dist/runtime/static-entry.d.ts.map +1 -0
- package/dist/runtime/static-entry.js +18 -0
- package/dist/runtime/static-entry.js.map +1 -0
- package/dist/runtime-schedules.d.ts +101 -0
- package/dist/runtime-schedules.d.ts.map +1 -0
- package/dist/runtime-schedules.js +454 -0
- package/dist/runtime-schedules.js.map +1 -0
- package/dist/sandbox.d.ts +2 -1
- package/dist/sandbox.d.ts.map +1 -1
- package/dist/sandbox.js.map +1 -1
- package/dist/schedule-channel.d.ts +3 -0
- package/dist/schedule-channel.d.ts.map +1 -0
- package/dist/schedule-channel.js +21 -0
- package/dist/schedule-channel.js.map +1 -0
- package/dist/schedule-time.d.ts +12 -0
- package/dist/schedule-time.d.ts.map +1 -0
- package/dist/schedule-time.js +101 -0
- package/dist/schedule-time.js.map +1 -0
- package/dist/types.d.ts +40 -15
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +8 -8
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* `tools/mcp.ts` with `defineMcp(...)`. MDA discovers that
|
|
6
6
|
* declaration, creates the `@langchain/mcp-adapters` client, loads the tools,
|
|
7
7
|
* and adds them to the Deep Agent at runtime — the author never imports the MCP
|
|
8
|
-
* client or calls `
|
|
8
|
+
* client or calls `listTools()`.
|
|
9
9
|
*
|
|
10
10
|
* Only remote MCP servers over HTTP/SSE are supported. Stdio MCP servers are
|
|
11
11
|
* intentionally out of scope: they introduce process management, packaging, and
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
* });
|
|
35
35
|
* ```
|
|
36
36
|
*/
|
|
37
|
-
import {
|
|
38
|
-
import { AGENT_AUTH_TIMEOUT_MS, agentAuthHeaders, } from "../../agent-auth.js";
|
|
39
|
-
import { raiseCredentialAuthorizationRequired, } from "../../connection-authorization.js";
|
|
37
|
+
import { MCPAdapter, } from "@langchain/mcp-adapters";
|
|
38
|
+
import { AGENT_AUTH_TIMEOUT_MS, agentAuthHeaders, AgentAuth, } from "../../agent-auth.js";
|
|
39
|
+
import { raiseCredentialAuthorizationRequired, readUserConnectionGrant, } from "../../connection-authorization.js";
|
|
40
40
|
import { defineExtension } from "../../extension.js";
|
|
41
41
|
import { connections, isConnectionReference, } from "../../connections.js";
|
|
42
42
|
import { fetchWithTimeout } from "../../runtime/http.js";
|
|
@@ -44,20 +44,20 @@ import { mcpServersConfig } from "./schema.js";
|
|
|
44
44
|
import { isLangSmithManagedToolsPath, isLangSmithManagedToolsUrl, } from "./langsmith-url.js";
|
|
45
45
|
import { selectTools } from "../tool-selection.js";
|
|
46
46
|
/**
|
|
47
|
-
* MCP tools loaded per
|
|
47
|
+
* MCP tools loaded per connector declaration, cached for its object lifetime.
|
|
48
48
|
*
|
|
49
49
|
* The compiled entry's graph factory runs `compileManagedAgent` on every
|
|
50
|
-
* invocation, but
|
|
51
|
-
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
50
|
+
* invocation, but a connector's MCP connection and tool surface are stable for
|
|
51
|
+
* that declaration — so the client is created and its tools loaded once while
|
|
52
|
+
* the declaration is reachable. Storing the in-flight promise also dedupes
|
|
53
|
+
* concurrent first runs for the same connector. A weak key lets run-local
|
|
54
|
+
* dynamic declarations be collected after their graph is released.
|
|
55
55
|
*
|
|
56
|
-
* An agent-owned connection is read
|
|
57
|
-
*
|
|
58
|
-
*
|
|
56
|
+
* An agent-owned connection is re-read on a 401, so rotating its secret needs
|
|
57
|
+
* no redeploy. Servers with a user-owned connection are omitted entirely; the
|
|
58
|
+
* credential gate loads those per caller.
|
|
59
59
|
*/
|
|
60
|
-
|
|
60
|
+
let cachedTools = new WeakMap();
|
|
61
61
|
/**
|
|
62
62
|
* Load (and cache) the MCP tools for one connector declaration.
|
|
63
63
|
*
|
|
@@ -83,7 +83,7 @@ export function clearManagedMcpToolsCacheForTests(connectors) {
|
|
|
83
83
|
cachedTools.delete(connectors);
|
|
84
84
|
return;
|
|
85
85
|
}
|
|
86
|
-
cachedTools
|
|
86
|
+
cachedTools = new WeakMap();
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* The credential gate's view of the declared MCP connectors.
|
|
@@ -174,38 +174,14 @@ async function createClientAndLoadTools(connectors) {
|
|
|
174
174
|
return tools;
|
|
175
175
|
}
|
|
176
176
|
/**
|
|
177
|
-
* Load
|
|
178
|
-
* caller's grants.
|
|
177
|
+
* Load every caller-bound MCP server after runtime identity has resolved.
|
|
179
178
|
*
|
|
180
|
-
* Not process-cached here:
|
|
181
|
-
*
|
|
179
|
+
* Not process-cached here: grants are per caller, so the gate owns both the
|
|
180
|
+
* cache and closing the returned adapter.
|
|
182
181
|
*/
|
|
183
|
-
export async function loadUserConnectionMcpTools(connectors, accessTokens) {
|
|
184
|
-
const { userConnection } = partitionMcpServers(connectors.servers);
|
|
185
|
-
const connectable = {};
|
|
186
|
-
for (const name of userConnection) {
|
|
187
|
-
const server = connectors.servers[name];
|
|
188
|
-
const connection = server?.connection;
|
|
189
|
-
if (!server ||
|
|
190
|
-
isLangSmithServer(server) ||
|
|
191
|
-
!isConnectionReference(connection)) {
|
|
192
|
-
continue;
|
|
193
|
-
}
|
|
194
|
-
const accessToken = accessTokens.get(connection.slug);
|
|
195
|
-
if (!accessToken) {
|
|
196
|
-
throw new Error(`MCP user connection "${connection.slug}" has no access token`);
|
|
197
|
-
}
|
|
198
|
-
connectable[name] = withBearer(server, accessToken);
|
|
199
|
-
}
|
|
200
|
-
if (Object.keys(connectable).length === 0) {
|
|
201
|
-
return { tools: [], close: async () => { } };
|
|
202
|
-
}
|
|
203
|
-
const { tools, client } = await loadToolsFromServers(connectors, connectable);
|
|
204
|
-
return { tools, close: () => client.close() };
|
|
205
|
-
}
|
|
206
|
-
/** Load every caller-bound MCP server after runtime identity has resolved. */
|
|
207
182
|
async function loadCallerMcpTools(connectors, accessTokens, context) {
|
|
208
183
|
const { userConnection, langsmith } = partitionMcpServers(connectors.servers);
|
|
184
|
+
const agentAuth = new AgentAuth(context);
|
|
209
185
|
const connectable = {};
|
|
210
186
|
for (const name of userConnection) {
|
|
211
187
|
const server = connectors.servers[name];
|
|
@@ -219,7 +195,8 @@ async function loadCallerMcpTools(connectors, accessTokens, context) {
|
|
|
219
195
|
if (!accessToken) {
|
|
220
196
|
throw new Error(`MCP user connection "${connection.slug}" has no access token`);
|
|
221
197
|
}
|
|
222
|
-
|
|
198
|
+
const slug = connection.slug;
|
|
199
|
+
connectable[name] = withConnectionProvider(server, slug, accessToken, () => readUserConnectionGrant(agentAuth, slug).then((grant) => grant.token));
|
|
223
200
|
}
|
|
224
201
|
const loadableLangsmith = await loadableLangSmithServers(connectors, langsmith, context);
|
|
225
202
|
Object.assign(connectable, loadableLangsmith);
|
|
@@ -254,9 +231,9 @@ async function resolveLangSmithServers(connectors, serverNames, context) {
|
|
|
254
231
|
console.warn(`[managed-deepagents] MCP server "${name}" failed to load and was skipped: ${error}`);
|
|
255
232
|
continue;
|
|
256
233
|
}
|
|
257
|
-
const required =
|
|
258
|
-
if (required
|
|
259
|
-
pending.push(
|
|
234
|
+
const required = pendingCredentialFromLangSmithProbe(name, probe);
|
|
235
|
+
if (required !== undefined) {
|
|
236
|
+
pending.push(required);
|
|
260
237
|
continue;
|
|
261
238
|
}
|
|
262
239
|
servers[name] = {
|
|
@@ -317,19 +294,15 @@ function prepareLangSmithServers(connectors, serverNames, context) {
|
|
|
317
294
|
};
|
|
318
295
|
}
|
|
319
296
|
/**
|
|
320
|
-
* Map a Managed Tools probe result to pending OAuth
|
|
321
|
-
* secret / incomplete 428s. Returns
|
|
297
|
+
* Map a Managed Tools probe result to a pending OAuth credential, or throw for
|
|
298
|
+
* secret / incomplete 428s. Returns undefined when access is OK.
|
|
322
299
|
*/
|
|
323
|
-
function
|
|
300
|
+
function pendingCredentialFromLangSmithProbe(serverName, probe) {
|
|
324
301
|
if (probe.status !== 428)
|
|
325
|
-
return
|
|
326
|
-
const credentials = probe.body.credentials;
|
|
327
|
-
if (Array.isArray(credentials)) {
|
|
328
|
-
return pendingCredentialsFromLangsmithGateway428(credentials, serverName);
|
|
329
|
-
}
|
|
302
|
+
return undefined;
|
|
330
303
|
const oauth = oauthPendingCredentialFromLangsmith428(probe.body, serverName);
|
|
331
304
|
if (oauth !== undefined)
|
|
332
|
-
return
|
|
305
|
+
return oauth;
|
|
333
306
|
const verificationUrl = probe.body.verification_url;
|
|
334
307
|
if (typeof verificationUrl === "string" && verificationUrl) {
|
|
335
308
|
throw new Error(`LangSmith MCP server "${serverName}" requires authorization. ` +
|
|
@@ -338,40 +311,7 @@ function pendingCredentialsFromLangSmithProbe(serverName, probe) {
|
|
|
338
311
|
throw new Error(`LangSmith MCP server "${serverName}" requires credentials; ` +
|
|
339
312
|
"connect it in LangSmith Tools before running the agent");
|
|
340
313
|
}
|
|
341
|
-
/**
|
|
342
|
-
* Map every OAuth entry of a gateway 428 to an interrupt credential.
|
|
343
|
-
*
|
|
344
|
-
* Secret entries cannot be completed from an interrupt, so any of them throw
|
|
345
|
-
* with every missing name before an interrupt is shown.
|
|
346
|
-
*/
|
|
347
|
-
function pendingCredentialsFromLangsmithGateway428(credentials, serverName) {
|
|
348
|
-
const pending = [];
|
|
349
|
-
const unresolved = [];
|
|
350
|
-
for (const entry of credentials) {
|
|
351
|
-
if (typeof entry !== "object" || entry === null) {
|
|
352
|
-
unresolved.push(serverName);
|
|
353
|
-
continue;
|
|
354
|
-
}
|
|
355
|
-
const body = entry;
|
|
356
|
-
const credential = oauthPendingCredentialFromLangsmith428(body, serverName);
|
|
357
|
-
if (credential !== undefined) {
|
|
358
|
-
pending.push(credential);
|
|
359
|
-
continue;
|
|
360
|
-
}
|
|
361
|
-
const label = body.display_name || body.slug;
|
|
362
|
-
unresolved.push(typeof label === "string" && label ? label : serverName);
|
|
363
|
-
}
|
|
364
|
-
if (unresolved.length > 0 || pending.length === 0) {
|
|
365
|
-
const names = unresolved.length > 0 ? unresolved.join(", ") : serverName;
|
|
366
|
-
throw new Error(`LangSmith MCP server "${serverName}" requires credentials for ${names}; ` +
|
|
367
|
-
"connect them in LangSmith Tools before running the agent");
|
|
368
|
-
}
|
|
369
|
-
return pending;
|
|
370
|
-
}
|
|
371
|
-
/**
|
|
372
|
-
* Build an OAuth interrupt credential only when LMT returns the full triple.
|
|
373
|
-
* `provider` labels the credential when LMT does not return `display_name`.
|
|
374
|
-
*/
|
|
314
|
+
/** Build an OAuth interrupt credential only when LMT returns the full triple. */
|
|
375
315
|
function oauthPendingCredentialFromLangsmith428(body, provider) {
|
|
376
316
|
const verificationUrl = body.verification_url;
|
|
377
317
|
const authId = body.auth_id;
|
|
@@ -384,13 +324,12 @@ function oauthPendingCredentialFromLangsmith428(body, provider) {
|
|
|
384
324
|
!slug) {
|
|
385
325
|
return undefined;
|
|
386
326
|
}
|
|
387
|
-
const displayName = body.display_name;
|
|
388
327
|
return {
|
|
389
328
|
slug,
|
|
390
329
|
kind: "oauth2",
|
|
391
330
|
connect_url: verificationUrl,
|
|
392
331
|
auth_id: authId,
|
|
393
|
-
provider
|
|
332
|
+
provider,
|
|
394
333
|
};
|
|
395
334
|
}
|
|
396
335
|
async function probeLangSmithServer(url, headers) {
|
|
@@ -414,25 +353,44 @@ async function probeLangSmithServer(url, headers) {
|
|
|
414
353
|
})),
|
|
415
354
|
};
|
|
416
355
|
}
|
|
417
|
-
/**
|
|
356
|
+
/** Hand each agent-owned connection to the adapter as an `AuthProvider`. */
|
|
418
357
|
async function withAgentConnections(servers) {
|
|
419
358
|
const out = {};
|
|
420
359
|
for (const [name, server] of Object.entries(servers)) {
|
|
421
360
|
if (isLangSmithServer(server))
|
|
422
361
|
continue;
|
|
423
362
|
const connection = server.connection;
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
363
|
+
if (!isConnectionReference(connection)) {
|
|
364
|
+
out[name] = server;
|
|
365
|
+
continue;
|
|
366
|
+
}
|
|
367
|
+
const slug = connection.slug;
|
|
368
|
+
const readToken = () => connections.resolveDeploymentSecret(slug);
|
|
369
|
+
out[name] = withConnectionProvider(server, slug, await readToken(), readToken);
|
|
427
370
|
}
|
|
428
371
|
return out;
|
|
429
372
|
}
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
373
|
+
/**
|
|
374
|
+
* Hand the adapter the connection's token as an `AuthProvider`. A 401 re-reads
|
|
375
|
+
* the store; with nothing newer the call fails, which also ends SSE's
|
|
376
|
+
* reconnect-on-401 loop.
|
|
377
|
+
*/
|
|
378
|
+
function withConnectionProvider(server, slug, initialToken, reread) {
|
|
379
|
+
const rejected = `MCP connection "${slug}" was rejected by its server; reconnect it and retry`;
|
|
380
|
+
let current = initialToken;
|
|
381
|
+
const authProvider = {
|
|
382
|
+
token: async () => current,
|
|
383
|
+
onUnauthorized: async () => {
|
|
384
|
+
const failed = current;
|
|
385
|
+
const next = await reread().catch((cause) => {
|
|
386
|
+
throw new Error(rejected, { cause });
|
|
387
|
+
});
|
|
388
|
+
if (!next || next === failed)
|
|
389
|
+
throw new Error(rejected);
|
|
390
|
+
current = next;
|
|
391
|
+
},
|
|
435
392
|
};
|
|
393
|
+
return { ...server, authProvider };
|
|
436
394
|
}
|
|
437
395
|
function usesUserConnection(server) {
|
|
438
396
|
return (isConnectionReference(server.connection) &&
|
|
@@ -463,26 +421,19 @@ function warnDeferredUserConnectionServers(serverNames) {
|
|
|
463
421
|
`a user connection; tools load after the pre-run credential gate ` +
|
|
464
422
|
`confirms grants for the caller.`);
|
|
465
423
|
}
|
|
466
|
-
function stripManagedToolSelection(servers) {
|
|
467
|
-
return Object.fromEntries(Object.entries(servers).map(([name, server]) => {
|
|
468
|
-
const { includeTools: _includeTools, excludeTools: _excludeTools, connection: _connection, ...clientConfig } = server;
|
|
469
|
-
return [name, clientConfig];
|
|
470
|
-
}));
|
|
471
|
-
}
|
|
472
424
|
async function loadToolsFromServers(connectors, connectable) {
|
|
473
|
-
const prefixToolNameWithServerName = connectors
|
|
474
|
-
const client = new
|
|
475
|
-
|
|
425
|
+
const { prefixToolNameWithServerName, throwOnLoadError, onConnectionError } = connectors;
|
|
426
|
+
const client = new MCPAdapter({
|
|
427
|
+
servers: Object.fromEntries(Object.entries(connectable).map(([name, { includeTools: _includeTools, excludeTools: _excludeTools, connection: _connection, ...server },]) => [name, server])),
|
|
476
428
|
prefixToolNameWithServerName,
|
|
477
|
-
throwOnLoadError
|
|
478
|
-
|
|
479
|
-
onConnectionError: connectors.onConnectionError ?? "throw",
|
|
429
|
+
throwOnLoadError,
|
|
430
|
+
onConnectionError,
|
|
480
431
|
});
|
|
432
|
+
// The adapter prefixes by default; tool selection strips the same prefix.
|
|
433
|
+
const prefixed = prefixToolNameWithServerName ?? true;
|
|
481
434
|
try {
|
|
482
|
-
const tools = await loadToolsByServer(client, connectable,
|
|
483
|
-
|
|
484
|
-
assertNoToolNameCollisions(tools);
|
|
485
|
-
}
|
|
435
|
+
const tools = await loadToolsByServer(client, connectable, prefixed);
|
|
436
|
+
assertNoToolNameCollisions(tools);
|
|
486
437
|
return { tools, client };
|
|
487
438
|
}
|
|
488
439
|
catch (error) {
|
|
@@ -491,9 +442,11 @@ async function loadToolsFromServers(connectors, connectable) {
|
|
|
491
442
|
}
|
|
492
443
|
}
|
|
493
444
|
async function loadToolsByServer(client, servers, prefixToolNameWithServerName) {
|
|
445
|
+
// One discovery: listTools(name) would rediscover every server on each call.
|
|
446
|
+
const toolsets = await client.listToolsets();
|
|
494
447
|
const tools = [];
|
|
495
448
|
for (const [serverName, server] of Object.entries(servers)) {
|
|
496
|
-
const serverTools =
|
|
449
|
+
const serverTools = toolsets[serverName] ?? [];
|
|
497
450
|
tools.push(...filterToolsForServer(serverName, server, serverTools, prefixToolNameWithServerName));
|
|
498
451
|
}
|
|
499
452
|
return tools;
|
|
@@ -523,8 +476,9 @@ function assertNoToolNameCollisions(tools) {
|
|
|
523
476
|
}
|
|
524
477
|
if (collisions.size > 0) {
|
|
525
478
|
throw new Error(`MCP tool name collision: ${[...collisions].sort().join(", ")}. ` +
|
|
526
|
-
"
|
|
527
|
-
"
|
|
479
|
+
"Tool names must be unique: fix a server that lists a tool twice, or " +
|
|
480
|
+
"keep `prefixToolNameWithServerName` on (the default) and rename " +
|
|
481
|
+
"tools that overlap across servers.");
|
|
528
482
|
}
|
|
529
483
|
}
|
|
530
484
|
/** Declare remote MCP servers whose tools load at agent-graph construction. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/mcp/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,OAAO,EACL,oBAAoB,GAErB,MAAM,yBAAyB,CAAC;AAEjC,OAAO,EACL,qBAAqB,EACrB,gBAAgB,GAEjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,oCAAoC,GAErC,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACL,WAAW,EACX,qBAAqB,GAEtB,MAAM,sBAAsB,CAAC;AAM9B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,EACL,2BAA2B,EAC3B,0BAA0B,GAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAUnD;;;;;;;;;;;;;GAaG;AACH,MAAM,WAAW,GAAG,IAAI,GAAG,EAA4C,CAAC;AAExE;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CACjC,UAAgC;IAEhC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAC3C,IAAI,MAAM,EAAE,CAAC;QACX,OAAO,MAAM,CAAC;IAChB,CAAC;IACD,MAAM,OAAO,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QACnE,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;IACH,WAAW,CAAC,GAAG,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACrC,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,yDAAyD;AACzD,MAAM,UAAU,iCAAiC,CAC/C,UAAiC;IAEjC,IAAI,UAAU,EAAE,CAAC;QACf,WAAW,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAC/B,OAAO;IACT,CAAC;IACD,WAAW,CAAC,KAAK,EAAE,CAAC;AACtB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CACpC,UAA0C;IAE1C,MAAM,GAAG,GAAyB,EAAE,CAAC;IACrC,KAAK,MAAM,SAAS,IAAI,UAAU,IAAI,EAAE,EAAE,CAAC;QACzC,IACE,CAAC,SAAS;YACV,OAAO,SAAS,KAAK,QAAQ;YAC5B,SAA+B,CAAC,IAAI,KAAK,aAAa,EACvD,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,UAAU,GAAG,SAAiC,CAAC;QACrD,MAAM,eAAe,GAAG,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAC7D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CACzD,iBAAiB,CAClB,CAAC;QACF,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YAClD,SAAS;QACX,CAAC;QACD,GAAG,CAAC,IAAI,CAAC;YACP,WAAW,EAAE,UAAU;YACvB,WAAW,EAAE,eAAe;YAC5B,gBAAgB,EAAE,eAAe,CAAC,MAAM,GAAG,CAAC;YAC5C,yBAAyB,EAAE,YAAY;gBACrC,CAAC,CAAC,CAAC,OAAO,EAAE,EAAE,CACV,qCAAqC,CAAC,UAAU,EAAE,OAAO,CAAC;gBAC9D,CAAC,CAAC,SAAS;YACb,IAAI,EAAE,CAAC,YAAY,EAAE,OAAO,EAAE,EAAE,CAC9B,kBAAkB,CAAC,UAAU,EAAE,YAAY,EAAE,OAAO,CAAC;SACxD,CAAC,CAAC;IACL,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,uEAAuE;AACvE,SAAS,wBAAwB,CAC/B,UAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC/B,MAAM,UAAU,GAAG,MAAM,CAAC,UAAiC,CAAC;YAC5D,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,yBAAyB,CAChC,UAAgC;IAEhC,MAAM,MAAM,GAAG,IAAI,GAAG,EAA+B,CAAC;IACtD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACvD,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,IACE,qBAAqB,CAAC,UAAU,CAAC;YACjC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,EACjC,CAAC;YACD,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IACD,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;AAC9B,CAAC;AAED,SAAS,eAAe,CACtB,IAAY,EACZ,UAAgC;IAEhC,MAAM,SAAS,GAAG,wBAAwB,CAAC,UAAU,CAAC;SACnD,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;SACpC,IAAI,EAAE,CAAC;IACV,MAAM,UAAU,GAAG,yBAAyB,CAAC,UAAU,CAAC;SACrD,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC;SACpC,IAAI,EAAE,CAAC;IACV,OAAO;QACL,IAAI;QACJ,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,KAAK;QAChB,mBAAmB,EAAE,EAAE;QACvB,WAAW,EAAE,EAAE;QACf,uBAAuB,EAAE,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CACzE,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC,CACxC;QACD,eAAe,EAAE,SAAS;QAC1B,gBAAgB,EAAE,UAAU;QAC5B,cAAc,EAAE,EAAE;KACnB,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,UAAgC;IAEhC,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAC9D,UAAU,CAAC,OAAO,CACnB,CAAC;IAEF,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9B,iCAAiC,CAAC,cAAc,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,OAAO,CAAC,IAAI,CACV,gDAAgD,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG;YACrE,gCAAgC,CACnC,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,oBAAoB,CAC1C,UAAU,EACV,MAAM,oBAAoB,CAAC,KAAK,CAAC,CAClC,CAAC;IACF,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,UAAgC,EAChC,YAAyC;IAEzC,MAAM,EAAE,cAAc,EAAE,GAAG,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAoC,EAAE,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,CAAC;QACtC,IACE,CAAC,MAAM;YACP,iBAAiB,CAAC,MAAM,CAAC;YACzB,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAClC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,wBAAwB,UAAU,CAAC,IAAI,uBAAuB,CAC/D,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,KAAK,UAAU,kBAAkB,CAC/B,UAAgC,EAChC,YAAyC,EACzC,OAAyB;IAEzB,MAAM,EAAE,cAAc,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAC9E,MAAM,WAAW,GAAoC,EAAE,CAAC;IACxD,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;QAClC,MAAM,MAAM,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,MAAM,UAAU,GAAG,MAAM,EAAE,UAAU,CAAC;QACtC,IACE,CAAC,MAAM;YACP,iBAAiB,CAAC,MAAM,CAAC;YACzB,CAAC,qBAAqB,CAAC,UAAU,CAAC,EAClC,CAAC;YACD,SAAS;QACX,CAAC;QACD,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,wBAAwB,UAAU,CAAC,IAAI,uBAAuB,CAC/D,CAAC;QACJ,CAAC;QACD,WAAW,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACtD,CAAC;IACD,MAAM,iBAAiB,GAAG,MAAM,wBAAwB,CACtD,UAAU,EACV,SAAS,EACT,OAAO,CACR,CAAC;IACF,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAC;IAC9C,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1C,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC,EAAE,CAAC;IAC9C,CAAC;IACD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,oBAAoB,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC9E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,KAAK,UAAU,uBAAuB,CACpC,UAAgC,EAChC,WAA8B,EAC9B,OAAyB;IAKzB,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ;QAAE,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACnD,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,QAAQ,CAAC;IACvC,MAAM,OAAO,GAAoC,EAAE,CAAC;IACpD,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,KAAK,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,IAAI,QAAQ,EAAE,CAAC;QAC/C,IAAI,KAAK,CAAC;QACV,IAAI,CAAC;YACH,KAAK,GAAG,MAAM,oBAAoB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,UAAU,CAAC,gBAAgB,KAAK,KAAK;gBAAE,MAAM,KAAK,CAAC;YACvD,OAAO,CAAC,IAAI,CACV,oCAAoC,IAAI,qCAAqC,KAAK,EAAE,CACrF,CAAC;YACF,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAG,oCAAoC,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACnE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC1B,SAAS;QACX,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,GAAG;YACd,GAAG,QAAQ;YACX,SAAS,EAAE,MAAM;YACjB,OAAO;SACR,CAAC;IACJ,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAC9B,CAAC;AAED,KAAK,UAAU,wBAAwB,CACrC,UAAgC,EAChC,WAA8B,EAC9B,OAAyB;IAEzB,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,MAAM,uBAAuB,CACxD,UAAU,EACV,WAAW,EACX,OAAO,CACR,CAAC;IACF,0EAA0E;IAC1E,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,oCAAoC,CAAC,OAAO,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,qCAAqC,CACzD,UAAgC,EAChC,OAAyB;IAEzB,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC;SACnD,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;SACjD,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,OAAO,CAAC,MAAM,uBAAuB,CAAC,UAAU,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;SACrE,OAAO,CAAC;AACb,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAgC,EAChC,WAA8B,EAC9B,OAAyB;IAWzB,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC/C,MAAM,QAAQ,GAIT,EAAE,CAAC;IACR,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,QAAQ,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC;YAAE,SAAS;QACxD,IAAI,CAAC,0BAA0B,CAAC,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;YAC/D,OAAO,CAAC,IAAI,CACV,oCAAoC,IAAI,uBAAuB;gBAC7D,+DAA+D,CAClE,CAAC;YACF,SAAS;QACX,CAAC;QACD,QAAQ,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;IACvD,CAAC;IACD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CACb,4DAA4D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO;QACL,QAAQ;QACR,OAAO,EAAE;YACP,GAAG,gBAAgB,CAAC,OAAO,CAAC;YAC5B,sBAAsB,EAAE,OAAO,CAAC,WAAW;SAC5C;KACF,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,SAAS,oCAAoC,CAC3C,UAAkB,EAClB,KAAwD;IAExD,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC;IAC3C,IAAI,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC;QAC/B,OAAO,yCAAyC,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IAC5E,CAAC;IACD,MAAM,KAAK,GAAG,sCAAsC,CAAC,KAAK,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IAC7E,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC;IACpD,IAAI,OAAO,eAAe,KAAK,QAAQ,IAAI,eAAe,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CACb,yBAAyB,UAAU,4BAA4B;YAC7D,cAAc,eAAe,6CAA6C,CAC7E,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,KAAK,CACb,yBAAyB,UAAU,0BAA0B;QAC3D,wDAAwD,CAC3D,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAS,yCAAyC,CAChD,WAAsB,EACtB,UAAkB;IAElB,MAAM,OAAO,GAAwB,EAAE,CAAC;IACxC,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE,CAAC;QAChC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;YAChD,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC5B,SAAS;QACX,CAAC;QACD,MAAM,IAAI,GAAG,KAAgC,CAAC;QAC9C,MAAM,UAAU,GAAG,sCAAsC,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAC5E,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACzB,SAAS;QACX,CAAC;QACD,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,IAAI,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;IAC3E,CAAC;IACD,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;QACzE,MAAM,IAAI,KAAK,CACb,yBAAyB,UAAU,8BAA8B,KAAK,IAAI;YACxE,0DAA0D,CAC7D,CAAC;IACJ,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,sCAAsC,CAC7C,IAA6B,EAC7B,QAAgB;IAEhB,MAAM,eAAe,GAAG,IAAI,CAAC,gBAAgB,CAAC;IAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACvB,IACE,OAAO,eAAe,KAAK,QAAQ;QACnC,CAAC,eAAe;QAChB,OAAO,MAAM,KAAK,QAAQ;QAC1B,CAAC,MAAM;QACP,OAAO,IAAI,KAAK,QAAQ;QACxB,CAAC,IAAI,EACL,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC;IACtC,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,eAAe;QAC5B,OAAO,EAAE,MAAM;QACf,QAAQ,EACN,OAAO,WAAW,KAAK,QAAQ,IAAI,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,QAAQ;KAC1E,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,GAAW,EACX,OAA+B;IAE/B,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CACrC,GAAG,EACH;QACE,MAAM,EAAE,MAAM;QACd,QAAQ,EAAE,OAAO;QACjB,OAAO;QACP,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;YACnB,OAAO,EAAE,KAAK;YACd,EAAE,EAAE,gBAAgB;YACpB,MAAM,EAAE,YAAY;SACrB,CAAC;KACH,EACD,qBAAqB,CACtB,CAAC;IACF,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM;QACvB,IAAI,EAAE,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACpD,qEAAqE;YACrE,IAAI,QAAQ,CAAC,MAAM,KAAK,GAAG,IAAI,KAAK,YAAY,WAAW;gBAAE,OAAO,EAAE,CAAC;YACvE,MAAM,KAAK,CAAC;QACd,CAAC,CAAC,CAA4B;KAC/B,CAAC;AACJ,CAAC;AAED,uEAAuE;AACvE,KAAK,UAAU,oBAAoB,CACjC,OAAwC;IAExC,MAAM,GAAG,GAAoC,EAAE,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,iBAAiB,CAAC,MAAM,CAAC;YAAE,SAAS;QACxC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,GAAG,CAAC,IAAI,CAAC,GAAG,qBAAqB,CAAC,UAAU,CAAC;YAC3C,CAAC,CAAC,UAAU,CACR,MAAM,EACN,MAAM,WAAW,CAAC,uBAAuB,CAAC,UAAU,CAAC,IAAI,CAAC,CAC3D;YACH,CAAC,CAAC,MAAM,CAAC;IACb,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,UAAU,CACjB,MAA6B,EAC7B,KAAa;IAEb,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAChC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CACzC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,eAAe,CACnD,CACF,CAAC;IACF,OAAO;QACL,GAAG,MAAM;QACT,OAAO,EAAE,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;KAC1D,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CAAC,MAA6B;IACvD,OAAO,CACL,qBAAqB,CAAC,MAAM,CAAC,UAAU,CAAC;QACxC,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,KAAK,MAAM,CACxC,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,MAA6B;IACtD,OAAO,CACL,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,2BAA2B,CAAC,MAAM,CAAC,GAAG,CAAC,CAC1E,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,OAAwC;IAKnE,MAAM,KAAK,GAAoC,EAAE,CAAC;IAClD,MAAM,cAAc,GAAa,EAAE,CAAC;IACpC,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACrD,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9B,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;YACtC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;QACvB,CAAC;IACH,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,cAAc,EAAE,SAAS,EAAE,CAAC;AAC9C,CAAC;AAED,SAAS,iCAAiC,CAAC,WAAqB;IAC9D,OAAO,CAAC,IAAI,CACV,sCAAsC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW;QACrE,kEAAkE;QAClE,iCAAiC,CACpC,CAAC;AACJ,CAAC;AAED,SAAS,yBAAyB,CAChC,OAAwC;IAExC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE;QAC7C,MAAM,EACJ,YAAY,EAAE,aAAa,EAC3B,YAAY,EAAE,aAAa,EAC3B,UAAU,EAAE,WAAW,EACvB,GAAG,YAAY,EAChB,GAAG,MAAM,CAAC;QACX,OAAO,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAC9B,CAAC,CAAC,CAC2B,CAAC;AAClC,CAAC;AAED,KAAK,UAAU,oBAAoB,CACjC,UAAgC,EAChC,WAA4C;IAE5C,MAAM,4BAA4B,GAChC,UAAU,CAAC,4BAA4B,IAAI,IAAI,CAAC;IAClD,MAAM,MAAM,GAAG,IAAI,oBAAoB,CAAC;QACtC,UAAU,EAAE,yBAAyB,CAAC,WAAW,CAAC;QAClD,4BAA4B;QAC5B,gBAAgB,EAAE,UAAU,CAAC,gBAAgB,IAAI,IAAI;QACrD,wBAAwB,EAAE,UAAU,CAAC,wBAAwB,IAAI,IAAI;QACrE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,OAAO;KAC3D,CAAC,CAAC;IACH,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,MAAM,iBAAiB,CACnC,MAAM,EACN,WAAW,EACX,4BAA4B,CAC7B,CAAC;QACF,IAAI,CAAC,4BAA4B,EAAE,CAAC;YAClC,0BAA0B,CAAC,KAAK,CAAC,CAAC;QACpC,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;QAC5C,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAC9B,MAA4B,EAC5B,OAAwC,EACxC,4BAAqC;IAErC,MAAM,KAAK,GAAc,EAAE,CAAC;IAC5B,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3D,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtD,KAAK,CAAC,IAAI,CACR,GAAG,oBAAoB,CACrB,UAAU,EACV,MAAM,EACN,WAAW,EACX,4BAA4B,CAC7B,CACF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,oBAAoB,CAC3B,UAAkB,EAClB,SAAiC,EACjC,KAAgB,EAChB,4BAAqC;IAErC,OAAO,WAAW,CAAC,eAAe,UAAU,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE;QAC1E,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;QAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,MAAM,MAAM,GAAG,GAAG,UAAU,IAAI,CAAC;QACjC,OAAO,4BAA4B,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YAC5D,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC;YAC3B,CAAC,CAAC,IAAI,CAAC;IACX,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAgB;IAClD,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,IAAI,GAAI,IAA2B,CAAC,IAAI,CAAC;QAC/C,IAAI,OAAO,IAAI,KAAK,QAAQ;YAAE,SAAS;QACvC,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACjB,CAAC;IACD,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CACb,4BAA4B,CAAC,GAAG,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI;YAC/D,yEAAyE;YACzE,4DAA4D,CAC/D,CAAC;IACJ,CAAC;AACH,CAAC;AAED,+EAA+E;AAC/E,MAAM,CAAC,MAAM,SAAS,GACpB,eAAe,CAAC,WAAW,EAAE;IAC3B,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,WAAW;IAClB,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,mBAAmB,CAAC,IAAI,CAAC;IAChD,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC;CAC1D,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/connectors/mcp/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
/** Path of a LangSmith Managed Tools MCP URL
|
|
2
|
-
const LANGSMITH_MCP_PATH = /^\/v1\/managed-tools\/
|
|
1
|
+
/** Path of a LangSmith Managed Tools MCP proxy URL. */
|
|
2
|
+
const LANGSMITH_MCP_PATH = /^\/v1\/managed-tools\/servers\/[A-Za-z0-9][A-Za-z0-9_-]{0,127}\/mcp\/?$/u;
|
|
3
3
|
function parsedHttpUrl(url) {
|
|
4
4
|
let parsed;
|
|
5
5
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"langsmith-url.js","sourceRoot":"","sources":["../../../src/connectors/mcp/langsmith-url.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"langsmith-url.js","sourceRoot":"","sources":["../../../src/connectors/mcp/langsmith-url.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,MAAM,kBAAkB,GACtB,0EAA0E,CAAC;AAE7E,SAAS,aAAa,CAAC,GAAW;IAChC,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IACE,CAAC,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC;QAC7D,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,QAAQ;QACf,MAAM,CAAC,MAAM;QACb,MAAM,CAAC,IAAI,EACX,CAAC;QACD,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,aAAa,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;AACtC,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,2BAA2B,CAAC,GAAW;IACrD,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,OAAO,MAAM,KAAK,SAAS,IAAI,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC1E,CAAC;AAED,mFAAmF;AACnF,MAAM,UAAU,0BAA0B,CACxC,GAAW,EACX,MAAc;IAEd,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC;IAClC,IAAI,CAAC,MAAM,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzD,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,KAAK,eAAe,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC"}
|
|
@@ -1,17 +1,8 @@
|
|
|
1
1
|
import { z } from "zod";
|
|
2
|
-
import type {
|
|
3
|
-
/** @internal */
|
|
4
|
-
export declare const MCP_SERVERS_KEY_DEPRECATION = "mcpServers is deprecated; use servers instead. It will be removed in 0.8.0.";
|
|
2
|
+
import type { McpServersConfig } from "./types.js";
|
|
5
3
|
/**
|
|
6
|
-
* The MCP connector's arguments.
|
|
7
|
-
*
|
|
8
|
-
* Shape, types, and tool-name lists are the schema's job; the rules that need
|
|
9
|
-
* more than one field — a stdio server, a tool selected and deselected at once
|
|
10
|
-
* — are checks with hand-written messages. Server configs stay loose because
|
|
11
|
-
* `@langchain/mcp-adapters` accepts more per-transport options than MDA models.
|
|
12
|
-
*
|
|
13
|
-
* `mcpServers` is accepted as a deprecated alias of `servers` and is rewritten
|
|
14
|
-
* to `servers` so the stored definition has one key.
|
|
4
|
+
* The MCP connector's arguments. Each server is validated by the adapter's own
|
|
5
|
+
* schema (`remoteMcpServer`); the top level is MDA's and strict.
|
|
15
6
|
*/
|
|
16
|
-
export declare const mcpServersConfig: z.ZodType<
|
|
7
|
+
export declare const mcpServersConfig: z.ZodType<McpServersConfig>;
|
|
17
8
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/schema.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/connectors/mcp/schema.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,KAAK,EAAE,gBAAgB,EAAyB,MAAM,YAAY,CAAC;AA0H1E;;;GAGG;AACH,eAAO,MAAM,gBAAgB,EAAE,CAAC,CAAC,OAAO,CAAC,gBAAgB,CAKvD,CAAC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { HTTPConnectionSchema } from "@langchain/mcp-adapters";
|
|
1
2
|
import { z } from "zod";
|
|
2
3
|
import { appendToolSelectionOverlapIssue, optionalToolNameListSchema, } from "../tool-selection.js";
|
|
3
4
|
import { isConnectionReference, } from "../../connections.js";
|
|
@@ -6,138 +7,98 @@ import { isLangSmithManagedToolsPath } from "./langsmith-url.js";
|
|
|
6
7
|
const STDIO_REJECTION = "uses a stdio transport, which is not supported. Managed Deep Agents " +
|
|
7
8
|
"support remote MCP servers over HTTP/SSE only; expose the server over HTTP " +
|
|
8
9
|
"or write a normal authored tool instead.";
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
export const MCP_SERVERS_KEY_DEPRECATION = "mcpServers is deprecated; use servers instead. It will be removed in 0.8.0.";
|
|
10
|
+
const AUTH_PROVIDER_REJECTION = "authProvider is set by Managed Deep Agents from connection: connections.get(slug, owner); remove it";
|
|
11
|
+
const TYPE_KEY_REJECTION = '"type" was renamed "transport"; use transport';
|
|
12
12
|
const SERVERS_MAP_ERROR = "must be an object mapping server names to remote MCP server configs";
|
|
13
|
-
const SERVERS_KEY_CONFLICT = 'use either "servers" or "mcpServers", not both';
|
|
14
13
|
const LANGSMITH_MANAGED_CONFLICT = "a LangSmith managed-tools URL cannot declare headers or connection";
|
|
15
14
|
const LANGSMITH_MANAGED_TRANSPORT = 'a LangSmith managed-tools URL must declare transport "http"';
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
code: "MDA_MCP_SERVERS",
|
|
22
|
-
});
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
console.warn(MCP_SERVERS_KEY_DEPRECATION);
|
|
26
|
-
}
|
|
27
|
-
/** Raw MCP tool names, before the managed `{server}__` prefix is applied. */
|
|
15
|
+
const [streamableHttpSchema, sseSchema] = HTTPConnectionSchema.options;
|
|
16
|
+
/**
|
|
17
|
+
* A remote MCP server: MDA's fields and rules here, everything else validated
|
|
18
|
+
* by `@langchain/mcp-adapters`' own `HTTPConnectionSchema`.
|
|
19
|
+
*/
|
|
28
20
|
const remoteMcpServer = z
|
|
29
21
|
.looseObject({
|
|
30
|
-
/**
|
|
31
|
-
* Present only to reject it: a `command` is how a stdio server is defined,
|
|
32
|
-
* which we don't support.
|
|
33
|
-
*/
|
|
34
|
-
command: z.never({ error: STDIO_REJECTION }).optional(),
|
|
35
|
-
transport: z.enum(["http", "sse"], {
|
|
36
|
-
error: (issue) => issue.input === "stdio"
|
|
37
|
-
? STDIO_REJECTION
|
|
38
|
-
: 'must declare a remote transport ("http" or "sse")',
|
|
39
|
-
}),
|
|
40
|
-
url: z
|
|
41
|
-
.string("must be a non-empty URL")
|
|
42
|
-
.refine((url) => url.trim().length > 0, "must be a non-empty URL"),
|
|
43
|
-
headers: z.record(z.string(), z.string()).optional(),
|
|
44
|
-
defaultToolTimeout: z
|
|
45
|
-
.number("defaultToolTimeout must be a positive number")
|
|
46
|
-
.positive("defaultToolTimeout must be a positive number")
|
|
47
|
-
.optional(),
|
|
48
22
|
includeTools: optionalToolNameListSchema,
|
|
49
23
|
excludeTools: optionalToolNameListSchema,
|
|
50
|
-
credential: z.never({ error: CREDENTIAL_FIELD_REJECTION }).optional(),
|
|
51
24
|
connection: z
|
|
52
25
|
.custom(isConnectionReference, "must be a connections.get(slug, owner) reference")
|
|
53
26
|
.optional(),
|
|
54
27
|
})
|
|
55
28
|
.check(appendToolSelectionOverlapIssue)
|
|
56
29
|
.check((ctx) => {
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
if (ctx.value.transport !== "http") {
|
|
30
|
+
const hasCommand = "command" in ctx.value;
|
|
31
|
+
if (ctx.value.transport === "stdio" || hasCommand) {
|
|
60
32
|
ctx.issues.push({
|
|
61
33
|
code: "custom",
|
|
62
34
|
input: ctx.value,
|
|
63
|
-
|
|
35
|
+
path: [hasCommand ? "command" : "transport"],
|
|
36
|
+
message: STDIO_REJECTION,
|
|
64
37
|
});
|
|
38
|
+
return;
|
|
65
39
|
}
|
|
66
|
-
if (
|
|
40
|
+
if ("authProvider" in ctx.value) {
|
|
67
41
|
ctx.issues.push({
|
|
68
42
|
code: "custom",
|
|
69
43
|
input: ctx.value,
|
|
70
|
-
|
|
44
|
+
path: ["authProvider"],
|
|
45
|
+
message: AUTH_PROVIDER_REJECTION,
|
|
71
46
|
});
|
|
47
|
+
return;
|
|
72
48
|
}
|
|
73
|
-
|
|
74
|
-
const serverMap = z
|
|
75
|
-
.record(z.string(), remoteMcpServer, {
|
|
76
|
-
error: SERVERS_MAP_ERROR,
|
|
77
|
-
})
|
|
78
|
-
.refine((servers) => Object.keys(servers).length > 0, "requires at least one entry");
|
|
79
|
-
/**
|
|
80
|
-
* The MCP connector's arguments.
|
|
81
|
-
*
|
|
82
|
-
* Shape, types, and tool-name lists are the schema's job; the rules that need
|
|
83
|
-
* more than one field — a stdio server, a tool selected and deselected at once
|
|
84
|
-
* — are checks with hand-written messages. Server configs stay loose because
|
|
85
|
-
* `@langchain/mcp-adapters` accepts more per-transport options than MDA models.
|
|
86
|
-
*
|
|
87
|
-
* `mcpServers` is accepted as a deprecated alias of `servers` and is rewritten
|
|
88
|
-
* to `servers` so the stored definition has one key.
|
|
89
|
-
*/
|
|
90
|
-
export const mcpServersConfig = z
|
|
91
|
-
.object({
|
|
92
|
-
servers: serverMap.optional(),
|
|
93
|
-
mcpServers: serverMap.optional(),
|
|
94
|
-
prefixToolNameWithServerName: z.boolean().optional(),
|
|
95
|
-
throwOnLoadError: z.boolean().optional(),
|
|
96
|
-
useStandardContentBlocks: z.boolean().optional(),
|
|
97
|
-
onConnectionError: z.literal("throw").optional(),
|
|
98
|
-
})
|
|
99
|
-
.check((ctx) => {
|
|
100
|
-
const { servers, mcpServers } = ctx.value;
|
|
101
|
-
if (servers !== undefined && mcpServers !== undefined) {
|
|
49
|
+
if ("type" in ctx.value) {
|
|
102
50
|
ctx.issues.push({
|
|
103
51
|
code: "custom",
|
|
104
52
|
input: ctx.value,
|
|
105
|
-
|
|
106
|
-
|
|
53
|
+
path: ["type"],
|
|
54
|
+
message: TYPE_KEY_REJECTION,
|
|
107
55
|
});
|
|
108
56
|
return;
|
|
109
57
|
}
|
|
110
|
-
|
|
58
|
+
const { includeTools: _includeTools, excludeTools: _excludeTools, connection: _connection, ...connection } = ctx.value;
|
|
59
|
+
const schema = connection.transport === "sse" ? sseSchema : streamableHttpSchema;
|
|
60
|
+
for (const issue of schema.safeParse(connection).error?.issues ?? []) {
|
|
111
61
|
ctx.issues.push({
|
|
112
62
|
code: "custom",
|
|
113
63
|
input: ctx.value,
|
|
114
|
-
|
|
115
|
-
|
|
64
|
+
path: [...issue.path],
|
|
65
|
+
message: issue.message,
|
|
116
66
|
});
|
|
117
67
|
}
|
|
118
68
|
})
|
|
119
|
-
.
|
|
120
|
-
const
|
|
121
|
-
if (
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
if (value.prefixToolNameWithServerName !== undefined) {
|
|
130
|
-
args.prefixToolNameWithServerName = value.prefixToolNameWithServerName;
|
|
131
|
-
}
|
|
132
|
-
if (value.throwOnLoadError !== undefined) {
|
|
133
|
-
args.throwOnLoadError = value.throwOnLoadError;
|
|
134
|
-
}
|
|
135
|
-
if (value.useStandardContentBlocks !== undefined) {
|
|
136
|
-
args.useStandardContentBlocks = value.useStandardContentBlocks;
|
|
69
|
+
.check((ctx) => {
|
|
70
|
+
const { url, transport, headers, connection } = ctx.value;
|
|
71
|
+
if (typeof url !== "string" || !isLangSmithManagedToolsPath(url))
|
|
72
|
+
return;
|
|
73
|
+
if ((transport ?? "http") !== "http") {
|
|
74
|
+
ctx.issues.push({
|
|
75
|
+
code: "custom",
|
|
76
|
+
input: ctx.value,
|
|
77
|
+
message: LANGSMITH_MANAGED_TRANSPORT,
|
|
78
|
+
});
|
|
137
79
|
}
|
|
138
|
-
if (
|
|
139
|
-
|
|
80
|
+
if (headers !== undefined || connection !== undefined) {
|
|
81
|
+
ctx.issues.push({
|
|
82
|
+
code: "custom",
|
|
83
|
+
input: ctx.value,
|
|
84
|
+
message: LANGSMITH_MANAGED_CONFLICT,
|
|
85
|
+
});
|
|
140
86
|
}
|
|
141
|
-
|
|
87
|
+
})
|
|
88
|
+
.transform((server) => server);
|
|
89
|
+
const serverMap = z
|
|
90
|
+
.record(z.string(), remoteMcpServer, {
|
|
91
|
+
error: SERVERS_MAP_ERROR,
|
|
92
|
+
})
|
|
93
|
+
.refine((servers) => Object.keys(servers).length > 0, "requires at least one entry");
|
|
94
|
+
/**
|
|
95
|
+
* The MCP connector's arguments. Each server is validated by the adapter's own
|
|
96
|
+
* schema (`remoteMcpServer`); the top level is MDA's and strict.
|
|
97
|
+
*/
|
|
98
|
+
export const mcpServersConfig = z.strictObject({
|
|
99
|
+
servers: serverMap,
|
|
100
|
+
prefixToolNameWithServerName: z.boolean().optional(),
|
|
101
|
+
throwOnLoadError: z.boolean().optional(),
|
|
102
|
+
onConnectionError: z.literal("throw").optional(),
|
|
142
103
|
});
|
|
143
104
|
//# sourceMappingURL=schema.js.map
|