@adcp/sdk 9.4.0 → 9.6.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/lib/core/AgentClient.d.ts +2 -2
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +4 -4
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/AsyncHandler.d.ts +6 -0
- package/dist/lib/core/AsyncHandler.d.ts.map +1 -1
- package/dist/lib/core/AsyncHandler.js.map +1 -1
- package/dist/lib/core/ConversationTypes.d.ts +21 -0
- package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.ts +40 -5
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +201 -52
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/TaskExecutor.d.ts +1 -1
- package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
- package/dist/lib/core/TaskExecutor.js +15 -4
- package/dist/lib/core/TaskExecutor.js.map +1 -1
- package/dist/lib/index.d.ts +2 -2
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +3 -2
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/protocols/a2a.d.ts +1 -1
- package/dist/lib/protocols/a2a.d.ts.map +1 -1
- package/dist/lib/protocols/a2a.js +66 -35
- package/dist/lib/protocols/a2a.js.map +1 -1
- package/dist/lib/protocols/abort.d.ts +10 -0
- package/dist/lib/protocols/abort.d.ts.map +1 -0
- package/dist/lib/protocols/abort.js +107 -0
- package/dist/lib/protocols/abort.js.map +1 -0
- package/dist/lib/protocols/index.d.ts +10 -0
- package/dist/lib/protocols/index.d.ts.map +1 -1
- package/dist/lib/protocols/index.js +33 -9
- package/dist/lib/protocols/index.js.map +1 -1
- package/dist/lib/protocols/mcp-tasks.d.ts +4 -0
- package/dist/lib/protocols/mcp-tasks.d.ts.map +1 -1
- package/dist/lib/protocols/mcp-tasks.js +27 -11
- package/dist/lib/protocols/mcp-tasks.js.map +1 -1
- package/dist/lib/protocols/mcp.d.ts +14 -2
- package/dist/lib/protocols/mcp.d.ts.map +1 -1
- package/dist/lib/protocols/mcp.js +116 -43
- package/dist/lib/protocols/mcp.js.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
- package/dist/lib/server/create-adcp-server.js +3 -1
- package/dist/lib/server/create-adcp-server.js.map +1 -1
- package/dist/lib/signing/capability-priming.d.ts.map +1 -1
- package/dist/lib/signing/capability-priming.js +5 -1
- package/dist/lib/signing/capability-priming.js.map +1 -1
- package/dist/lib/substitution/index.d.ts +2 -0
- package/dist/lib/substitution/index.d.ts.map +1 -1
- package/dist/lib/substitution/index.js +3 -1
- package/dist/lib/substitution/index.js.map +1 -1
- package/dist/lib/substitution/observer/html-parser.d.ts.map +1 -1
- package/dist/lib/substitution/observer/html-parser.js +27 -9
- package/dist/lib/substitution/observer/html-parser.js.map +1 -1
- package/dist/lib/substitution/translate.d.ts +89 -0
- package/dist/lib/substitution/translate.d.ts.map +1 -0
- package/dist/lib/substitution/translate.js +144 -0
- package/dist/lib/substitution/translate.js.map +1 -0
- package/dist/lib/testing/client.js +3 -3
- package/dist/lib/testing/client.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +36 -9
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/types.d.ts +2 -0
- package/dist/lib/testing/types.d.ts.map +1 -1
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tasks.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/mcp-tasks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AACrF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,2BAA2B,CAAC;AAI1D,OAAO,EAAyB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGpF,OAAO,EAA4B,KAAK,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp-tasks.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/mcp-tasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -25,6 +25,7 @@ const client_1 = require("../signing/client");
|
|
|
25
25
|
const idempotency_1 = require("../utils/idempotency");
|
|
26
26
|
const responseSizeLimit_1 = require("./responseSizeLimit");
|
|
27
27
|
const transportDiagnostics_1 = require("./transportDiagnostics");
|
|
28
|
+
const abort_1 = require("./abort");
|
|
28
29
|
/**
|
|
29
30
|
* Track which MCP clients have had listTools() called.
|
|
30
31
|
* The SDK's isToolTask() needs tool metadata from listTools() to determine
|
|
@@ -36,10 +37,13 @@ const toolsListedClients = new WeakSet();
|
|
|
36
37
|
* Ensure tool metadata is cached in the SDK so isToolTask() works.
|
|
37
38
|
* Called once per client connection when tasks are supported.
|
|
38
39
|
*/
|
|
39
|
-
async function ensureToolsListed(client) {
|
|
40
|
+
async function ensureToolsListed(client, signal, requestTimeoutMs) {
|
|
40
41
|
if (toolsListedClients.has(client))
|
|
41
42
|
return;
|
|
42
|
-
await client.listTools(
|
|
43
|
+
await client.listTools(undefined, {
|
|
44
|
+
...(signal && { signal }),
|
|
45
|
+
...(requestTimeoutMs !== undefined && { timeout: requestTimeoutMs }),
|
|
46
|
+
});
|
|
43
47
|
toolsListedClients.add(client);
|
|
44
48
|
}
|
|
45
49
|
/**
|
|
@@ -172,7 +176,7 @@ async function callMCPToolWithTasks(agentUrl, toolName, args, authToken, debugLo
|
|
|
172
176
|
timestamp: new Date().toISOString(),
|
|
173
177
|
});
|
|
174
178
|
}
|
|
175
|
-
return (0, mcp_1.withCachedConnection)(agentUrl, authToken, authHeaders, debugLogs, toolName, client => callToolOnClient(client, toolName, args, debugLogs, workingTimeout));
|
|
179
|
+
return (0, mcp_1.withCachedConnection)(agentUrl, authToken, authHeaders, debugLogs, toolName, client => callToolOnClient(client, toolName, args, debugLogs, workingTimeout, options?.signal, options?.requestTimeoutMs), undefined, { signal: options?.signal, requestTimeoutMs: options?.requestTimeoutMs });
|
|
176
180
|
}));
|
|
177
181
|
}
|
|
178
182
|
/**
|
|
@@ -192,21 +196,26 @@ async function callMCPToolWithClient(mcpClient, toolName, args, debugLogs = [],
|
|
|
192
196
|
message: `MCP: Calling tool ${toolName} (in-process) with args: ${JSON.stringify(redactArgsForLog(args))}`,
|
|
193
197
|
timestamp: new Date().toISOString(),
|
|
194
198
|
});
|
|
195
|
-
return callToolOnClient(mcpClient, toolName, args, debugLogs, options?.workingTimeout ?? 120_000);
|
|
199
|
+
return callToolOnClient(mcpClient, toolName, args, debugLogs, options?.workingTimeout ?? 120_000, options?.signal, options?.requestTimeoutMs);
|
|
196
200
|
}
|
|
197
201
|
/**
|
|
198
202
|
* Inner dispatch logic shared by `callMCPToolWithTasks` (URL path) and
|
|
199
203
|
* `callMCPToolWithClient` (in-process path). Both paths converge here once
|
|
200
204
|
* a connected `MCPClient` is in hand.
|
|
201
205
|
*/
|
|
202
|
-
async function callToolOnClient(client, toolName, args, debugLogs, workingTimeout) {
|
|
206
|
+
async function callToolOnClient(client, toolName, args, debugLogs, workingTimeout, signal, requestTimeoutMs) {
|
|
207
|
+
const resolvedRequestTimeoutMs = (0, abort_1.resolveClientRequestTimeoutMs)(requestTimeoutMs);
|
|
208
|
+
const requestOptions = {
|
|
209
|
+
...(signal && { signal }),
|
|
210
|
+
...(resolvedRequestTimeoutMs !== undefined && { timeout: resolvedRequestTimeoutMs }),
|
|
211
|
+
};
|
|
203
212
|
if (!serverSupportsTasks(client)) {
|
|
204
213
|
debugLogs.push({
|
|
205
214
|
type: 'info',
|
|
206
215
|
message: `MCP Tasks: Server does not support tasks, using standard callTool for ${toolName}`,
|
|
207
216
|
timestamp: new Date().toISOString(),
|
|
208
217
|
});
|
|
209
|
-
const response = (await client.callTool({ name: toolName, arguments: args }));
|
|
218
|
+
const response = (await client.callTool({ name: toolName, arguments: args }, undefined, requestOptions));
|
|
210
219
|
debugLogs.push({
|
|
211
220
|
type: response?.isError ? 'error' : 'success',
|
|
212
221
|
message: `MCP: Tool ${toolName} response received (${response?.isError ? 'error' : 'success'})`,
|
|
@@ -218,7 +227,7 @@ async function callToolOnClient(client, toolName, args, debugLogs, workingTimeou
|
|
|
218
227
|
// Ensure tool metadata is cached so the SDK's isToolTask() works correctly.
|
|
219
228
|
// Without this, callToolStream silently skips task creation for tools that
|
|
220
229
|
// declare taskSupport: 'optional' | 'required'.
|
|
221
|
-
await ensureToolsListed(client);
|
|
230
|
+
await ensureToolsListed(client, signal, resolvedRequestTimeoutMs);
|
|
222
231
|
debugLogs.push({
|
|
223
232
|
type: 'info',
|
|
224
233
|
message: `MCP Tasks: Server supports tasks, using callToolStream for ${toolName}`,
|
|
@@ -226,8 +235,9 @@ async function callToolOnClient(client, toolName, args, debugLogs, workingTimeou
|
|
|
226
235
|
});
|
|
227
236
|
// Use callToolStream which handles the full task lifecycle
|
|
228
237
|
const stream = client.experimental.tasks.callToolStream({ name: toolName, arguments: args }, undefined, {
|
|
229
|
-
timeout: workingTimeout,
|
|
238
|
+
timeout: resolvedRequestTimeoutMs ?? workingTimeout,
|
|
230
239
|
resetTimeoutOnProgress: true,
|
|
240
|
+
...(signal && { signal }),
|
|
231
241
|
});
|
|
232
242
|
let capturedTaskId;
|
|
233
243
|
let capturedTask;
|
|
@@ -271,7 +281,7 @@ async function callToolOnClient(client, toolName, args, debugLogs, workingTimeou
|
|
|
271
281
|
// and return it as a proper isError response for downstream unwrapping.
|
|
272
282
|
if (capturedTaskId) {
|
|
273
283
|
try {
|
|
274
|
-
const taskResult = await client.experimental.tasks.getTaskResult(capturedTaskId);
|
|
284
|
+
const taskResult = await client.experimental.tasks.getTaskResult(capturedTaskId, undefined, requestOptions);
|
|
275
285
|
const content = taskResult?.content;
|
|
276
286
|
if (content) {
|
|
277
287
|
return {
|
|
@@ -291,9 +301,12 @@ async function callToolOnClient(client, toolName, args, debugLogs, workingTimeou
|
|
|
291
301
|
}
|
|
292
302
|
}
|
|
293
303
|
catch (error) {
|
|
304
|
+
if (signal?.aborted && (0, abort_1.isAbortOrTimeoutError)(error)) {
|
|
305
|
+
throw error;
|
|
306
|
+
}
|
|
294
307
|
// If we timed out but have a taskId, return a working status
|
|
295
308
|
// so the caller can poll via getMCPTaskStatus/getMCPTaskResult
|
|
296
|
-
if (capturedTaskId && error instanceof Error && error.message
|
|
309
|
+
if (capturedTaskId && error instanceof Error && /timeout|timed out/i.test(error.message)) {
|
|
297
310
|
debugLogs.push({
|
|
298
311
|
type: 'info',
|
|
299
312
|
message: `MCP Tasks: Timeout for ${toolName}, returning working status with taskId ${capturedTaskId}`,
|
|
@@ -307,6 +320,9 @@ async function callToolOnClient(client, toolName, args, debugLogs, workingTimeou
|
|
|
307
320
|
},
|
|
308
321
|
};
|
|
309
322
|
}
|
|
323
|
+
if ((0, abort_1.isAbortOrTimeoutError)(error)) {
|
|
324
|
+
throw error;
|
|
325
|
+
}
|
|
310
326
|
// Servers may return a synchronous tool error (e.g. VERSION_UNSUPPORTED)
|
|
311
327
|
// rather than creating a task. The Tasks SDK rejects these with a Zod
|
|
312
328
|
// validation error about a missing `task` field. When no task was
|
|
@@ -319,7 +335,7 @@ async function callToolOnClient(client, toolName, args, debugLogs, workingTimeou
|
|
|
319
335
|
message: `MCP Tasks: Server returned synchronous response for ${toolName}, falling back to callTool`,
|
|
320
336
|
timestamp: new Date().toISOString(),
|
|
321
337
|
});
|
|
322
|
-
return (await client.callTool({ name: toolName, arguments: args }));
|
|
338
|
+
return (await client.callTool({ name: toolName, arguments: args }, undefined, requestOptions));
|
|
323
339
|
}
|
|
324
340
|
throw error;
|
|
325
341
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-tasks.js","sourceRoot":"","sources":["../../../src/lib/protocols/mcp-tasks.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-tasks.js","sourceRoot":"","sources":["../../../src/lib/protocols/mcp-tasks.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,10 @@ export interface MCPCallOptions {
|
|
|
36
36
|
customHeaders?: Record<string, string>;
|
|
37
37
|
/** RFC 9421 signing context — when set, the transport signs outbound ops per seller capability. */
|
|
38
38
|
signingContext?: AgentSigningContext;
|
|
39
|
+
/** Caller-owned cancellation signal for connect and callTool. */
|
|
40
|
+
signal?: AbortSignal;
|
|
41
|
+
/** Optional per-request timeout for connect and callTool. */
|
|
42
|
+
requestTimeoutMs?: number;
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
45
|
* Result of an MCP connection attempt
|
|
@@ -58,8 +62,14 @@ export interface MCPConnectionResult {
|
|
|
58
62
|
* The returned client is connected and ready for use. Callers are responsible for
|
|
59
63
|
* calling client.close() when done.
|
|
60
64
|
*/
|
|
61
|
-
export declare function connectMCPWithFallback(url: URL, authHeaders: Record<string, string>, debugLogs?: DebugLogEntry[], label?: string, transportFetch?: typeof fetch
|
|
62
|
-
|
|
65
|
+
export declare function connectMCPWithFallback(url: URL, authHeaders: Record<string, string>, debugLogs?: DebugLogEntry[], label?: string, transportFetch?: typeof fetch, requestOptions?: {
|
|
66
|
+
signal?: AbortSignal;
|
|
67
|
+
requestTimeoutMs?: number;
|
|
68
|
+
}): Promise<MCPClient>;
|
|
69
|
+
export declare function callMCPTool(agentUrl: string, toolName: string, args: Record<string, unknown>, authToken?: string, debugLogs?: DebugLogEntry[], customHeaders?: Record<string, string>, signingContext?: AgentSigningContext, transportFetch?: typeof fetch, requestOptions?: {
|
|
70
|
+
signal?: AbortSignal;
|
|
71
|
+
requestTimeoutMs?: number;
|
|
72
|
+
}): Promise<unknown>;
|
|
63
73
|
/**
|
|
64
74
|
* Call an MCP tool and return the raw CallToolResult (with isError, content, structuredContent).
|
|
65
75
|
* Raw MCP tool call — returns the CallToolResult directly, including isError responses.
|
|
@@ -106,6 +116,8 @@ export declare function connectMCP(options: {
|
|
|
106
116
|
debugLogs?: DebugLogEntry[];
|
|
107
117
|
customHeaders?: Record<string, string>;
|
|
108
118
|
signingContext?: AgentSigningContext;
|
|
119
|
+
signal?: AbortSignal;
|
|
120
|
+
requestTimeoutMs?: number;
|
|
109
121
|
}): Promise<MCPConnectionResult>;
|
|
110
122
|
/**
|
|
111
123
|
* Call an MCP tool with OAuth support.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/mcp.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,IAAI,SAAS,EAAE,MAAM,2CAA2C,CAAC;AAChF,OAAO,EACL,6BAA6B,EAG9B,MAAM,oDAAoD,CAAC;AAE5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,0CAA0C,CAAC;AAIpF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,OAAO,EAAiD,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../../../src/lib/protocols/mcp.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,7 @@ const idempotency_1 = require("../utils/idempotency");
|
|
|
24
24
|
const rawResponseCapture_1 = require("./rawResponseCapture");
|
|
25
25
|
const responseSizeLimit_1 = require("./responseSizeLimit");
|
|
26
26
|
const transportDiagnostics_1 = require("./transportDiagnostics");
|
|
27
|
+
const abort_1 = require("./abort");
|
|
27
28
|
/**
|
|
28
29
|
* Module-level connection cache keyed by agent URL + auth token hash.
|
|
29
30
|
* Reuses MCP connections across tool calls to avoid TCP connection exhaustion
|
|
@@ -69,7 +70,7 @@ function trackStreamableHTTPUrl(url) {
|
|
|
69
70
|
}
|
|
70
71
|
}
|
|
71
72
|
/**
|
|
72
|
-
* Build the connection-cache key for a (URL, credential, signing-context)
|
|
73
|
+
* Build the connection-cache key for a (URL, credential/header, signing-context)
|
|
73
74
|
* triple.
|
|
74
75
|
*
|
|
75
76
|
* Two credential paths feed this cache. The bearer path supplies `authToken`
|
|
@@ -83,16 +84,21 @@ function trackStreamableHTTPUrl(url) {
|
|
|
83
84
|
* behalf of N principals would silently leak credentials across the
|
|
84
85
|
* connection boundary.
|
|
85
86
|
*
|
|
86
|
-
*
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
* keeps both paths byte-equivalent for compatibility with existing cache
|
|
90
|
-
* entries.
|
|
87
|
+
* Also include non-trace custom headers in the key. Tenant/routing headers can
|
|
88
|
+
* select a different upstream seller or credential context even when the bearer
|
|
89
|
+
* token is identical.
|
|
91
90
|
*/
|
|
92
91
|
function connectionCacheKey(agentUrl, authToken, signingCacheKey, authHeaders) {
|
|
92
|
+
const parts = [agentUrl];
|
|
93
93
|
const fingerprint = authToken ?? extractAuthHeader(authHeaders);
|
|
94
|
-
|
|
95
|
-
|
|
94
|
+
if (fingerprint)
|
|
95
|
+
parts.push(cacheDisambiguator(fingerprint));
|
|
96
|
+
const headersKey = headersCacheDisambiguator(authHeaders);
|
|
97
|
+
if (headersKey)
|
|
98
|
+
parts.push(`headers:${headersKey}`);
|
|
99
|
+
if (signingCacheKey)
|
|
100
|
+
parts.push(signingCacheKey);
|
|
101
|
+
return parts.join('::');
|
|
96
102
|
}
|
|
97
103
|
/**
|
|
98
104
|
* Produce a stable 64-bit Map-key disambiguator from credential material.
|
|
@@ -130,6 +136,16 @@ function extractAuthHeader(headers) {
|
|
|
130
136
|
}
|
|
131
137
|
return undefined;
|
|
132
138
|
}
|
|
139
|
+
function headersCacheDisambiguator(headers) {
|
|
140
|
+
const entries = Object.entries(headers ?? {})
|
|
141
|
+
.filter(([key]) => {
|
|
142
|
+
const lower = key.toLowerCase();
|
|
143
|
+
return lower !== 'traceparent' && lower !== 'tracestate' && lower !== 'baggage';
|
|
144
|
+
})
|
|
145
|
+
.map(([key, value]) => [key.toLowerCase(), value])
|
|
146
|
+
.sort(([a], [b]) => a.localeCompare(b));
|
|
147
|
+
return entries.length > 0 ? cacheDisambiguator(JSON.stringify(entries)) : undefined;
|
|
148
|
+
}
|
|
133
149
|
/** Get a cached connection, refreshing its LRU position. */
|
|
134
150
|
function getCachedConnection(key) {
|
|
135
151
|
const client = connectionCache.get(key);
|
|
@@ -202,14 +218,14 @@ async function closeMCPConnections() {
|
|
|
202
218
|
* Concurrent callers for the same key share a single in-flight connection
|
|
203
219
|
* attempt via the pendingConnections map, preventing duplicate connections.
|
|
204
220
|
*/
|
|
205
|
-
async function getOrCreateConnection(cacheKey, baseUrl, authHeaders, debugLogs, label) {
|
|
221
|
+
async function getOrCreateConnection(cacheKey, baseUrl, authHeaders, debugLogs, label, requestOptions = {}) {
|
|
206
222
|
const cached = getCachedConnection(cacheKey);
|
|
207
223
|
if (cached)
|
|
208
224
|
return cached;
|
|
209
225
|
const pending = pendingConnections.get(cacheKey);
|
|
210
226
|
if (pending)
|
|
211
227
|
return pending;
|
|
212
|
-
const promise = connectMCPWithFallback(baseUrl, authHeaders, debugLogs, label)
|
|
228
|
+
const promise = connectMCPWithFallback(baseUrl, authHeaders, debugLogs, label, undefined, requestOptions)
|
|
213
229
|
.then(client => {
|
|
214
230
|
connectionCache.set(cacheKey, client);
|
|
215
231
|
evictLeastRecentlyUsed();
|
|
@@ -230,11 +246,7 @@ function getOAuthProviderDisambiguator(authProvider) {
|
|
|
230
246
|
return id;
|
|
231
247
|
}
|
|
232
248
|
function customHeadersDisambiguator(customHeaders) {
|
|
233
|
-
|
|
234
|
-
.filter(([key]) => key.toLowerCase() !== 'authorization')
|
|
235
|
-
.map(([key, value]) => [key.toLowerCase(), value])
|
|
236
|
-
.sort(([a], [b]) => a.localeCompare(b));
|
|
237
|
-
return entries.length > 0 ? cacheDisambiguator(JSON.stringify(entries)) : undefined;
|
|
249
|
+
return headersCacheDisambiguator(customHeaders);
|
|
238
250
|
}
|
|
239
251
|
function oauthConnectionCacheKey(agentUrl, authProvider, signingCacheKey, customHeaders) {
|
|
240
252
|
const parts = [`${agentUrl}::oauth:${getOAuthProviderDisambiguator(authProvider)}`];
|
|
@@ -275,6 +287,20 @@ async function getOrCreateOAuthConnection(cacheKey, options) {
|
|
|
275
287
|
}
|
|
276
288
|
async function withCachedOAuthConnection(options, label, fn) {
|
|
277
289
|
const cacheKey = oauthConnectionCacheKey(options.agentUrl, options.authProvider, options.signingContext?.cacheKey, options.customHeaders);
|
|
290
|
+
if (options.signal || options.requestTimeoutMs !== undefined) {
|
|
291
|
+
const { client } = await connectMCP(options);
|
|
292
|
+
try {
|
|
293
|
+
return await fn(client);
|
|
294
|
+
}
|
|
295
|
+
finally {
|
|
296
|
+
try {
|
|
297
|
+
await client.close();
|
|
298
|
+
}
|
|
299
|
+
catch {
|
|
300
|
+
/* ignore */
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
}
|
|
278
304
|
const mcpClient = await getOrCreateOAuthConnection(cacheKey, options);
|
|
279
305
|
try {
|
|
280
306
|
return await fn(mcpClient);
|
|
@@ -302,6 +328,9 @@ async function withCachedOAuthConnection(options, label, fn) {
|
|
|
302
328
|
});
|
|
303
329
|
throw error;
|
|
304
330
|
}
|
|
331
|
+
if ((0, abort_1.isAbortOrTimeoutError)(error)) {
|
|
332
|
+
throw error;
|
|
333
|
+
}
|
|
305
334
|
oauthConnectionCache.delete(cacheKey);
|
|
306
335
|
try {
|
|
307
336
|
await mcpClient.close();
|
|
@@ -332,11 +361,11 @@ async function withCachedOAuthConnection(options, label, fn) {
|
|
|
332
361
|
* @internal Used by mcp-tasks.ts for protocol-level task operations.
|
|
333
362
|
* Not part of the public API — do not import from outside the protocols directory.
|
|
334
363
|
*/
|
|
335
|
-
async function withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, label, fn, transportFetch) {
|
|
364
|
+
async function withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, label, fn, transportFetch, requestOptions = {}) {
|
|
336
365
|
const signingContext = client_1.signingContextStorage.getStore();
|
|
337
366
|
const baseUrl = new URL(agentUrl);
|
|
338
|
-
if (transportFetch) {
|
|
339
|
-
const guardedClient = await connectMCPWithFallback(baseUrl, authHeaders, debugLogs, label, transportFetch);
|
|
367
|
+
if (transportFetch || requestOptions.signal || requestOptions.requestTimeoutMs !== undefined) {
|
|
368
|
+
const guardedClient = await connectMCPWithFallback(baseUrl, authHeaders, debugLogs, label, transportFetch, requestOptions);
|
|
340
369
|
try {
|
|
341
370
|
return await fn(guardedClient);
|
|
342
371
|
}
|
|
@@ -350,7 +379,7 @@ async function withCachedConnection(agentUrl, authToken, authHeaders, debugLogs,
|
|
|
350
379
|
}
|
|
351
380
|
}
|
|
352
381
|
const cacheKey = connectionCacheKey(agentUrl, authToken, signingContext?.cacheKey, authHeaders);
|
|
353
|
-
const mcpClient = await getOrCreateConnection(cacheKey, baseUrl, authHeaders, debugLogs, label);
|
|
382
|
+
const mcpClient = await getOrCreateConnection(cacheKey, baseUrl, authHeaders, debugLogs, label, requestOptions);
|
|
354
383
|
try {
|
|
355
384
|
return await fn(mcpClient);
|
|
356
385
|
}
|
|
@@ -378,6 +407,9 @@ async function withCachedConnection(agentUrl, authToken, authHeaders, debugLogs,
|
|
|
378
407
|
});
|
|
379
408
|
throw error;
|
|
380
409
|
}
|
|
410
|
+
if ((0, abort_1.isAbortOrTimeoutError)(error)) {
|
|
411
|
+
throw error;
|
|
412
|
+
}
|
|
381
413
|
// Evict stale connection and retry once with a fresh connection
|
|
382
414
|
connectionCache.delete(cacheKey);
|
|
383
415
|
try {
|
|
@@ -386,7 +418,7 @@ async function withCachedConnection(agentUrl, authToken, authHeaders, debugLogs,
|
|
|
386
418
|
catch {
|
|
387
419
|
/* ignore */
|
|
388
420
|
}
|
|
389
|
-
const retryClient = await getOrCreateConnection(cacheKey, baseUrl, authHeaders, debugLogs, `${label} (retry)
|
|
421
|
+
const retryClient = await getOrCreateConnection(cacheKey, baseUrl, authHeaders, debugLogs, `${label} (retry)`, requestOptions);
|
|
390
422
|
try {
|
|
391
423
|
return await fn(retryClient);
|
|
392
424
|
}
|
|
@@ -413,21 +445,28 @@ async function withCachedConnection(agentUrl, authToken, authHeaders, debugLogs,
|
|
|
413
445
|
* The returned client is connected and ready for use. Callers are responsible for
|
|
414
446
|
* calling client.close() when done.
|
|
415
447
|
*/
|
|
416
|
-
async function connectMCPWithFallback(url, authHeaders, debugLogs = [], label = 'connection', transportFetch) {
|
|
448
|
+
async function connectMCPWithFallback(url, authHeaders, debugLogs = [], label = 'connection', transportFetch, requestOptions = {}) {
|
|
417
449
|
return (0, tracing_1.withSpan)('adcp.mcp.connect', {
|
|
418
450
|
'http.url': url.toString(),
|
|
419
451
|
'adcp.connection_label': label,
|
|
420
452
|
}, async () => {
|
|
421
|
-
return connectMCPWithFallbackImpl(url, authHeaders, debugLogs, label, transportFetch);
|
|
453
|
+
return connectMCPWithFallbackImpl(url, authHeaders, debugLogs, label, transportFetch, requestOptions);
|
|
422
454
|
});
|
|
423
455
|
}
|
|
424
|
-
async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], label = 'connection', transportFetch) {
|
|
456
|
+
async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], label = 'connection', transportFetch, requestOptions = {}) {
|
|
425
457
|
const signingContext = client_1.signingContextStorage.getStore();
|
|
426
458
|
// Wrap order (innermost → outermost): network → size-limit → signing → capture.
|
|
427
459
|
// Size-limit applies to the raw network response so signing/capture see a
|
|
428
460
|
// bounded body (capture clones via `response.clone()`, which would otherwise
|
|
429
461
|
// buffer a hostile reply in memory).
|
|
430
|
-
const
|
|
462
|
+
const requestTimeoutMs = (0, abort_1.resolveRequestTimeoutMs)(requestOptions.requestTimeoutMs);
|
|
463
|
+
const clientRequestTimeoutMs = (0, abort_1.resolveClientRequestTimeoutMs)(requestOptions.requestTimeoutMs);
|
|
464
|
+
const mcpRequestOptions = {
|
|
465
|
+
...(requestOptions.signal && { signal: requestOptions.signal }),
|
|
466
|
+
...(clientRequestTimeoutMs !== undefined && { timeout: clientRequestTimeoutMs }),
|
|
467
|
+
};
|
|
468
|
+
const rawNetworkFetch = transportFetch ?? ((input, init) => fetch(input, init));
|
|
469
|
+
const networkFetch = (input, init) => (0, abort_1.withAbortSignal)([requestOptions.signal, init?.signal], requestTimeoutMs, signal => rawNetworkFetch(input, { ...init, signal }));
|
|
431
470
|
const sizeLimited = (0, responseSizeLimit_1.wrapFetchWithSizeLimit)(networkFetch);
|
|
432
471
|
const diagnosticFetch = (0, transportDiagnostics_1.wrapFetchWithTransportDiagnostics)(sizeLimited);
|
|
433
472
|
const baseFetch = signingContext
|
|
@@ -450,7 +489,7 @@ async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], labe
|
|
|
450
489
|
message: `MCP: Attempting StreamableHTTP ${label} to ${url}`,
|
|
451
490
|
timestamp: new Date().toISOString(),
|
|
452
491
|
});
|
|
453
|
-
await client.connect(new streamableHttp_js_1.StreamableHTTPClientTransport(url, transportOptions));
|
|
492
|
+
await client.connect(new streamableHttp_js_1.StreamableHTTPClientTransport(url, transportOptions), mcpRequestOptions);
|
|
454
493
|
failedClient = undefined;
|
|
455
494
|
trackStreamableHTTPUrl(url.toString());
|
|
456
495
|
debugLogs.push({
|
|
@@ -479,6 +518,9 @@ async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], labe
|
|
|
479
518
|
timestamp: new Date().toISOString(),
|
|
480
519
|
error,
|
|
481
520
|
});
|
|
521
|
+
if ((0, abort_1.isAbortOrTimeoutError)(error)) {
|
|
522
|
+
throw error;
|
|
523
|
+
}
|
|
482
524
|
// Retry StreamableHTTP once on any transient connect failure — network blips,
|
|
483
525
|
// JSON parse errors on half-buffered responses, and mid-handshake proxy
|
|
484
526
|
// disconnects all surface as generic Error or McpError, not StreamableHTTPError.
|
|
@@ -491,7 +533,7 @@ async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], labe
|
|
|
491
533
|
});
|
|
492
534
|
const retryClient = new index_js_1.Client({ name: 'AdCP-Client', version: '1.0.0' });
|
|
493
535
|
try {
|
|
494
|
-
await retryClient.connect(new streamableHttp_js_1.StreamableHTTPClientTransport(url, transportOptions));
|
|
536
|
+
await retryClient.connect(new streamableHttp_js_1.StreamableHTTPClientTransport(url, transportOptions), mcpRequestOptions);
|
|
495
537
|
trackStreamableHTTPUrl(url.toString());
|
|
496
538
|
debugLogs.push({
|
|
497
539
|
type: 'success',
|
|
@@ -512,6 +554,9 @@ async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], labe
|
|
|
512
554
|
message: `MCP: StreamableHTTP retry also failed for ${label}: ${retryError instanceof Error ? retryError.message : String(retryError)}`,
|
|
513
555
|
timestamp: new Date().toISOString(),
|
|
514
556
|
});
|
|
557
|
+
if ((0, abort_1.isAbortOrTimeoutError)(retryError)) {
|
|
558
|
+
throw retryError;
|
|
559
|
+
}
|
|
515
560
|
// Fall through to SSE fallback below
|
|
516
561
|
}
|
|
517
562
|
}
|
|
@@ -538,10 +583,21 @@ async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], labe
|
|
|
538
583
|
timestamp: new Date().toISOString(),
|
|
539
584
|
});
|
|
540
585
|
const client = new index_js_1.Client({ name: 'AdCP-Client', version: '1.0.0' });
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
586
|
+
try {
|
|
587
|
+
await client.connect(new sse_js_1.SSEClientTransport(url, {
|
|
588
|
+
requestInit: { headers: authHeaders, ...(transportFetch ? { redirect: 'manual' } : {}) },
|
|
589
|
+
fetch: (0, rawResponseCapture_1.wrapFetchWithCapture)(baseFetch),
|
|
590
|
+
}), mcpRequestOptions);
|
|
591
|
+
}
|
|
592
|
+
catch (sseError) {
|
|
593
|
+
try {
|
|
594
|
+
await client.close();
|
|
595
|
+
}
|
|
596
|
+
catch {
|
|
597
|
+
/* ignore */
|
|
598
|
+
}
|
|
599
|
+
throw sseError;
|
|
600
|
+
}
|
|
545
601
|
debugLogs.push({
|
|
546
602
|
type: 'success',
|
|
547
603
|
message: `MCP: Connected via SSE transport for ${label}`,
|
|
@@ -550,12 +606,12 @@ async function connectMCPWithFallbackImpl(url, authHeaders, debugLogs = [], labe
|
|
|
550
606
|
return client;
|
|
551
607
|
}
|
|
552
608
|
}
|
|
553
|
-
async function callMCPTool(agentUrl, toolName, args, authToken, debugLogs = [], customHeaders, signingContext, transportFetch) {
|
|
609
|
+
async function callMCPTool(agentUrl, toolName, args, authToken, debugLogs = [], customHeaders, signingContext, transportFetch, requestOptions) {
|
|
554
610
|
return (0, tracing_1.withSpan)('adcp.mcp.call_tool', {
|
|
555
611
|
'adcp.tool': toolName,
|
|
556
612
|
'http.url': agentUrl,
|
|
557
613
|
}, async () => {
|
|
558
|
-
return client_1.signingContextStorage.run(signingContext, () => callMCPToolImpl(agentUrl, toolName, args, authToken, debugLogs, customHeaders, transportFetch));
|
|
614
|
+
return client_1.signingContextStorage.run(signingContext, () => callMCPToolImpl(agentUrl, toolName, args, authToken, debugLogs, customHeaders, transportFetch, requestOptions));
|
|
559
615
|
});
|
|
560
616
|
}
|
|
561
617
|
/**
|
|
@@ -565,7 +621,7 @@ async function callMCPTool(agentUrl, toolName, args, authToken, debugLogs = [],
|
|
|
565
621
|
async function callMCPToolRaw(agentUrl, toolName, args, authToken, debugLogs = [], customHeaders, signingContext, transportFetch) {
|
|
566
622
|
return client_1.signingContextStorage.run(signingContext, () => callMCPToolRawImpl(agentUrl, toolName, args, authToken, debugLogs, customHeaders, transportFetch));
|
|
567
623
|
}
|
|
568
|
-
async function callMCPToolImpl(agentUrl, toolName, args, authToken, debugLogs = [], customHeaders, transportFetch) {
|
|
624
|
+
async function callMCPToolImpl(agentUrl, toolName, args, authToken, debugLogs = [], customHeaders, transportFetch, requestOptions) {
|
|
569
625
|
// Inject trace context headers for distributed tracing
|
|
570
626
|
const traceHeaders = (0, tracing_1.injectTraceHeaders)();
|
|
571
627
|
// Merge: custom < trace < auth (auth always wins)
|
|
@@ -595,7 +651,11 @@ async function callMCPToolImpl(agentUrl, toolName, args, authToken, debugLogs =
|
|
|
595
651
|
timestamp: new Date().toISOString(),
|
|
596
652
|
});
|
|
597
653
|
}
|
|
598
|
-
const
|
|
654
|
+
const resolvedRequestTimeoutMs = (0, abort_1.resolveClientRequestTimeoutMs)(requestOptions?.requestTimeoutMs);
|
|
655
|
+
const response = await withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, toolName, client => client.callTool({ name: toolName, arguments: args }, undefined, {
|
|
656
|
+
...(requestOptions?.signal && { signal: requestOptions.signal }),
|
|
657
|
+
...(resolvedRequestTimeoutMs !== undefined && { timeout: resolvedRequestTimeoutMs }),
|
|
658
|
+
}), transportFetch, requestOptions);
|
|
599
659
|
debugLogs.push({
|
|
600
660
|
type: response?.isError ? 'error' : 'success',
|
|
601
661
|
message: `MCP: Tool ${toolName} response received (${response?.isError ? 'error' : 'success'})`,
|
|
@@ -651,7 +711,7 @@ async function callMCPToolRawImpl(agentUrl, toolName, args, authToken, debugLogs
|
|
|
651
711
|
* ```
|
|
652
712
|
*/
|
|
653
713
|
async function connectMCP(options) {
|
|
654
|
-
const { agentUrl, authToken, authProvider, debugLogs = [], customHeaders, signingContext } = options;
|
|
714
|
+
const { agentUrl, authToken, authProvider, debugLogs = [], customHeaders, signingContext, signal, requestTimeoutMs: configuredRequestTimeoutMs, } = options;
|
|
655
715
|
const baseUrl = new URL(agentUrl);
|
|
656
716
|
debugLogs.push({
|
|
657
717
|
type: 'info',
|
|
@@ -714,7 +774,13 @@ async function connectMCP(options) {
|
|
|
714
774
|
// headers the SDK assembled (including any OAuth-issued Authorization) and
|
|
715
775
|
// decides per outbound request whether to sign. Size-limit sits innermost so
|
|
716
776
|
// the response body is bounded before signing/capture observe it.
|
|
717
|
-
const
|
|
777
|
+
const requestTimeoutMs = (0, abort_1.resolveRequestTimeoutMs)(configuredRequestTimeoutMs);
|
|
778
|
+
const clientRequestTimeoutMs = (0, abort_1.resolveClientRequestTimeoutMs)(configuredRequestTimeoutMs);
|
|
779
|
+
const requestOptions = {
|
|
780
|
+
...(signal && { signal }),
|
|
781
|
+
...(clientRequestTimeoutMs !== undefined && { timeout: clientRequestTimeoutMs }),
|
|
782
|
+
};
|
|
783
|
+
const sizeLimited = (0, responseSizeLimit_1.wrapFetchWithSizeLimit)((input, init) => (0, abort_1.withAbortSignal)([signal, init?.signal], requestTimeoutMs, linkedSignal => fetch(input, { ...init, signal: linkedSignal })));
|
|
718
784
|
const diagnosticFetch = (0, transportDiagnostics_1.wrapFetchWithTransportDiagnostics)(sizeLimited);
|
|
719
785
|
const signedFetch = signingContext
|
|
720
786
|
? (0, client_1.buildAgentSigningFetch)({
|
|
@@ -726,7 +792,7 @@ async function connectMCP(options) {
|
|
|
726
792
|
transportOptions.fetch = (0, rawResponseCapture_1.wrapFetchWithCapture)(signedFetch);
|
|
727
793
|
const transport = new streamableHttp_js_1.StreamableHTTPClientTransport(baseUrl, transportOptions);
|
|
728
794
|
try {
|
|
729
|
-
await mcpClient.connect(transport);
|
|
795
|
+
await mcpClient.connect(transport, requestOptions);
|
|
730
796
|
debugLogs.push({
|
|
731
797
|
type: 'success',
|
|
732
798
|
message: 'MCP: Connected successfully',
|
|
@@ -802,10 +868,18 @@ async function connectMCP(options) {
|
|
|
802
868
|
* @throws UnauthorizedError if OAuth is required (with transport attached)
|
|
803
869
|
*/
|
|
804
870
|
async function callMCPToolWithOAuth(options) {
|
|
805
|
-
const { agentUrl, toolName, args, authToken, authProvider, debugLogs = [], customHeaders, signingContext } = options;
|
|
871
|
+
const { agentUrl, toolName, args, authToken, authProvider, debugLogs = [], customHeaders, signingContext, signal, requestTimeoutMs, } = options;
|
|
872
|
+
const resolvedRequestTimeoutMs = (0, abort_1.resolveClientRequestTimeoutMs)(requestTimeoutMs);
|
|
873
|
+
const requestOptions = {
|
|
874
|
+
...(signal && { signal }),
|
|
875
|
+
...(resolvedRequestTimeoutMs !== undefined && { timeout: resolvedRequestTimeoutMs }),
|
|
876
|
+
};
|
|
806
877
|
// If no OAuth provider, use the legacy function
|
|
807
878
|
if (!authProvider) {
|
|
808
|
-
return callMCPTool(agentUrl, toolName, args, authToken, debugLogs, customHeaders, signingContext
|
|
879
|
+
return callMCPTool(agentUrl, toolName, args, authToken, debugLogs, customHeaders, signingContext, undefined, {
|
|
880
|
+
signal,
|
|
881
|
+
requestTimeoutMs,
|
|
882
|
+
});
|
|
809
883
|
}
|
|
810
884
|
const response = await withCachedOAuthConnection({
|
|
811
885
|
agentUrl,
|
|
@@ -813,16 +887,15 @@ async function callMCPToolWithOAuth(options) {
|
|
|
813
887
|
debugLogs,
|
|
814
888
|
customHeaders,
|
|
815
889
|
signingContext,
|
|
890
|
+
signal,
|
|
891
|
+
requestTimeoutMs,
|
|
816
892
|
}, toolName, async (client) => {
|
|
817
893
|
debugLogs.push({
|
|
818
894
|
type: 'info',
|
|
819
895
|
message: `MCP: Calling tool ${toolName}`,
|
|
820
896
|
timestamp: new Date().toISOString(),
|
|
821
897
|
});
|
|
822
|
-
const response = await client.callTool({
|
|
823
|
-
name: toolName,
|
|
824
|
-
arguments: args,
|
|
825
|
-
});
|
|
898
|
+
const response = await client.callTool({ name: toolName, arguments: args }, undefined, requestOptions);
|
|
826
899
|
debugLogs.push({
|
|
827
900
|
type: response?.isError ? 'error' : 'success',
|
|
828
901
|
message: `MCP: Tool ${toolName} response received`,
|