@adcp/sdk 9.3.0 → 9.5.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.
Files changed (68) hide show
  1. package/dist/lib/core/AgentClient.d.ts +2 -2
  2. package/dist/lib/core/AgentClient.d.ts.map +1 -1
  3. package/dist/lib/core/AgentClient.js +4 -4
  4. package/dist/lib/core/AgentClient.js.map +1 -1
  5. package/dist/lib/core/ConversationTypes.d.ts +7 -0
  6. package/dist/lib/core/ConversationTypes.d.ts.map +1 -1
  7. package/dist/lib/core/SingleAgentClient.d.ts +9 -5
  8. package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
  9. package/dist/lib/core/SingleAgentClient.js +117 -52
  10. package/dist/lib/core/SingleAgentClient.js.map +1 -1
  11. package/dist/lib/core/TaskExecutor.d.ts +1 -1
  12. package/dist/lib/core/TaskExecutor.d.ts.map +1 -1
  13. package/dist/lib/core/TaskExecutor.js +15 -4
  14. package/dist/lib/core/TaskExecutor.js.map +1 -1
  15. package/dist/lib/discovery/inline-publisher-properties.js +10 -3
  16. package/dist/lib/discovery/inline-publisher-properties.js.map +1 -1
  17. package/dist/lib/discovery/resolve-agent-properties.d.ts +39 -11
  18. package/dist/lib/discovery/resolve-agent-properties.d.ts.map +1 -1
  19. package/dist/lib/discovery/resolve-agent-properties.js +136 -16
  20. package/dist/lib/discovery/resolve-agent-properties.js.map +1 -1
  21. package/dist/lib/discovery/types.d.ts +9 -2
  22. package/dist/lib/discovery/types.d.ts.map +1 -1
  23. package/dist/lib/index.d.ts +1 -1
  24. package/dist/lib/index.d.ts.map +1 -1
  25. package/dist/lib/index.js +14 -12
  26. package/dist/lib/index.js.map +1 -1
  27. package/dist/lib/protocols/a2a.d.ts +1 -1
  28. package/dist/lib/protocols/a2a.d.ts.map +1 -1
  29. package/dist/lib/protocols/a2a.js +66 -35
  30. package/dist/lib/protocols/a2a.js.map +1 -1
  31. package/dist/lib/protocols/abort.d.ts +10 -0
  32. package/dist/lib/protocols/abort.d.ts.map +1 -0
  33. package/dist/lib/protocols/abort.js +107 -0
  34. package/dist/lib/protocols/abort.js.map +1 -0
  35. package/dist/lib/protocols/index.d.ts +10 -0
  36. package/dist/lib/protocols/index.d.ts.map +1 -1
  37. package/dist/lib/protocols/index.js +33 -9
  38. package/dist/lib/protocols/index.js.map +1 -1
  39. package/dist/lib/protocols/mcp-tasks.d.ts +4 -0
  40. package/dist/lib/protocols/mcp-tasks.d.ts.map +1 -1
  41. package/dist/lib/protocols/mcp-tasks.js +27 -11
  42. package/dist/lib/protocols/mcp-tasks.js.map +1 -1
  43. package/dist/lib/protocols/mcp.d.ts +14 -2
  44. package/dist/lib/protocols/mcp.d.ts.map +1 -1
  45. package/dist/lib/protocols/mcp.js +116 -43
  46. package/dist/lib/protocols/mcp.js.map +1 -1
  47. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  48. package/dist/lib/signing/agent-fetch.d.ts +5 -4
  49. package/dist/lib/signing/agent-fetch.d.ts.map +1 -1
  50. package/dist/lib/signing/agent-fetch.js +31 -4
  51. package/dist/lib/signing/agent-fetch.js.map +1 -1
  52. package/dist/lib/signing/capability-priming.d.ts.map +1 -1
  53. package/dist/lib/signing/capability-priming.js +5 -1
  54. package/dist/lib/signing/capability-priming.js.map +1 -1
  55. package/dist/lib/signing/verifier.d.ts.map +1 -1
  56. package/dist/lib/signing/verifier.js +10 -37
  57. package/dist/lib/signing/verifier.js.map +1 -1
  58. package/dist/lib/signing/webhook-auth-detection.d.ts +10 -0
  59. package/dist/lib/signing/webhook-auth-detection.d.ts.map +1 -0
  60. package/dist/lib/signing/webhook-auth-detection.js +37 -0
  61. package/dist/lib/signing/webhook-auth-detection.js.map +1 -0
  62. package/dist/lib/testing/client.js +3 -3
  63. package/dist/lib/testing/client.js.map +1 -1
  64. package/dist/lib/testing/types.d.ts +2 -0
  65. package/dist/lib/testing/types.d.ts.map +1 -1
  66. package/dist/lib/version.d.ts +3 -3
  67. package/dist/lib/version.js +3 -3
  68. 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;AASjG,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1C,mBAAmB,CAAC,EAAE,wBAAwB,CAAC;IAC/C,wBAAwB,CAAC,EAAE;QACzB,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,CAAC;CACH;AAoBD;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAG9D;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAe1D;AA+ED;;;;;;;;;;GAUG;AACH,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAa,EAAO,EAC/B,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACtC,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,mBAAmB,CAAA;CAAE,GAC1E,OAAO,CAAC,OAAO,CAAC,CAyClB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,SAAS,GAAE,aAAa,EAAO,EAC/B,OAAO,CAAC,EAAE;IAAE,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,GACpC,OAAO,CAAC,OAAO,CAAC,CAOlB;AAiKD;;;;;;;;;;;GAWG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAa,EAAO,EAC/B,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,QAAQ,CAAC,CAuBnB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAa,EAAO,GAC9B,OAAO,CAAC,OAAO,CAAC,CAalB;AAED;;GAEG;AACH,wBAAsB,YAAY,CAChC,QAAQ,EAAE,MAAM,EAChB,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAa,EAAO,EAC/B,OAAO,GAAE,sBAA2B,GACnC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAyBrB;AAED;;GAEG;AACH,wBAAsB,aAAa,CACjC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,CAAC,EAAE,MAAM,EAClB,SAAS,GAAE,aAAa,EAAO,GAC9B,OAAO,CAAC,IAAI,CAAC,CAYf"}
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.includes('Timeout')) {
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): Promise<MCPClient>;
62
- 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): Promise<unknown>;
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":"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"}
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
- * Fix: when `authToken` is unset, derive the fingerprint from the
87
- * `Authorization` header on `authHeaders` (case-insensitive lookup, since
88
- * header keys vary by call site). The shared `createSha256Prefix` helper
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
- const base = fingerprint ? `${agentUrl}::${cacheDisambiguator(fingerprint)}` : agentUrl;
95
- return signingCacheKey ? `${base}::${signingCacheKey}` : base;
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
- const entries = Object.entries(customHeaders ?? {})
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 networkFetch = transportFetch ?? ((input, init) => fetch(input, init));
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
- await client.connect(new sse_js_1.SSEClientTransport(url, {
542
- requestInit: { headers: authHeaders, ...(transportFetch ? { redirect: 'manual' } : {}) },
543
- fetch: (0, rawResponseCapture_1.wrapFetchWithCapture)(baseFetch),
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 response = await withCachedConnection(agentUrl, authToken, authHeaders, debugLogs, toolName, client => client.callTool({ name: toolName, arguments: args }), transportFetch);
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 sizeLimited = (0, responseSizeLimit_1.wrapFetchWithSizeLimit)((input, init) => fetch(input, init));
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`,