@openai/agents-core 0.0.15 → 0.0.17

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 (138) hide show
  1. package/dist/agent.d.ts +1 -1
  2. package/dist/agent.js +34 -22
  3. package/dist/agent.js.map +1 -1
  4. package/dist/agent.mjs +6 -1
  5. package/dist/agent.mjs.map +1 -1
  6. package/dist/computer.js +2 -1
  7. package/dist/config.js +12 -6
  8. package/dist/config.js.map +1 -1
  9. package/dist/errors.js +21 -9
  10. package/dist/errors.js.map +1 -1
  11. package/dist/events.js +9 -3
  12. package/dist/events.js.map +1 -1
  13. package/dist/extensions/handoffFilters.js +9 -6
  14. package/dist/extensions/handoffFilters.js.map +1 -1
  15. package/dist/extensions/handoffPrompt.js +7 -3
  16. package/dist/extensions/handoffPrompt.js.map +1 -1
  17. package/dist/extensions/index.js +8 -2
  18. package/dist/extensions/index.js.map +1 -1
  19. package/dist/guardrail.js +6 -2
  20. package/dist/guardrail.js.map +1 -1
  21. package/dist/handoff.js +28 -18
  22. package/dist/handoff.js.map +1 -1
  23. package/dist/helpers/message.js +8 -3
  24. package/dist/helpers/message.js.map +1 -1
  25. package/dist/index.d.ts +1 -1
  26. package/dist/index.js +121 -25
  27. package/dist/index.js.map +1 -1
  28. package/dist/index.mjs +1 -1
  29. package/dist/index.mjs.map +1 -1
  30. package/dist/items.d.ts +0 -32
  31. package/dist/items.js +23 -11
  32. package/dist/items.js.map +1 -1
  33. package/dist/lifecycle.js +12 -6
  34. package/dist/lifecycle.js.map +1 -1
  35. package/dist/logger.js +15 -8
  36. package/dist/logger.js.map +1 -1
  37. package/dist/mcp.d.ts +14 -7
  38. package/dist/mcp.js +119 -96
  39. package/dist/mcp.js.map +1 -1
  40. package/dist/mcp.mjs +65 -57
  41. package/dist/mcp.mjs.map +1 -1
  42. package/dist/mcpUtil.js +4 -1
  43. package/dist/mcpUtil.js.map +1 -1
  44. package/dist/metadata.d.ts +0 -1
  45. package/dist/metadata.js +7 -5
  46. package/dist/metadata.js.map +1 -1
  47. package/dist/metadata.mjs +2 -3
  48. package/dist/metadata.mjs.map +1 -1
  49. package/dist/model.js +2 -1
  50. package/dist/providers.js +6 -2
  51. package/dist/providers.js.map +1 -1
  52. package/dist/result.js +22 -14
  53. package/dist/result.js.map +1 -1
  54. package/dist/run.js +106 -95
  55. package/dist/run.js.map +1 -1
  56. package/dist/runContext.js +13 -6
  57. package/dist/runContext.js.map +1 -1
  58. package/dist/runImplementation.d.ts +1 -1
  59. package/dist/runImplementation.js +106 -89
  60. package/dist/runImplementation.js.map +1 -1
  61. package/dist/runImplementation.mjs +1 -1
  62. package/dist/runImplementation.mjs.map +1 -1
  63. package/dist/runState.d.ts +7 -186
  64. package/dist/runState.js +204 -151
  65. package/dist/runState.js.map +1 -1
  66. package/dist/runState.mjs +10 -1
  67. package/dist/runState.mjs.map +1 -1
  68. package/dist/shims/interface.js +2 -1
  69. package/dist/shims/mcp-server/browser.js +10 -4
  70. package/dist/shims/mcp-server/browser.js.map +1 -1
  71. package/dist/shims/mcp-server/node.js +68 -25
  72. package/dist/shims/mcp-server/node.js.map +1 -1
  73. package/dist/shims/mcp-server/node.mjs +1 -0
  74. package/dist/shims/mcp-server/node.mjs.map +1 -1
  75. package/dist/shims/shims-browser.js +25 -13
  76. package/dist/shims/shims-browser.js.map +1 -1
  77. package/dist/shims/shims-node.js +72 -15
  78. package/dist/shims/shims-node.js.map +1 -1
  79. package/dist/shims/shims-node.mjs +11 -3
  80. package/dist/shims/shims-node.mjs.map +1 -1
  81. package/dist/shims/shims-workerd.d.ts +1 -1
  82. package/dist/shims/shims-workerd.js +77 -18
  83. package/dist/shims/shims-workerd.js.map +1 -1
  84. package/dist/shims/shims-workerd.mjs +12 -4
  85. package/dist/shims/shims-workerd.mjs.map +1 -1
  86. package/dist/shims/shims.js +17 -1
  87. package/dist/shims/shims.js.map +1 -1
  88. package/dist/tool.d.ts +1 -1
  89. package/dist/tool.js +37 -29
  90. package/dist/tool.js.map +1 -1
  91. package/dist/tracing/context.js +25 -14
  92. package/dist/tracing/context.js.map +1 -1
  93. package/dist/tracing/createSpans.js +52 -38
  94. package/dist/tracing/createSpans.js.map +1 -1
  95. package/dist/tracing/index.js +51 -15
  96. package/dist/tracing/index.js.map +1 -1
  97. package/dist/tracing/processor.js +31 -20
  98. package/dist/tracing/processor.js.map +1 -1
  99. package/dist/tracing/provider.js +53 -45
  100. package/dist/tracing/provider.js.map +1 -1
  101. package/dist/tracing/spans.js +18 -10
  102. package/dist/tracing/spans.js.map +1 -1
  103. package/dist/tracing/traces.js +11 -6
  104. package/dist/tracing/traces.js.map +1 -1
  105. package/dist/tracing/utils.js +16 -9
  106. package/dist/tracing/utils.js.map +1 -1
  107. package/dist/types/aliases.js +2 -1
  108. package/dist/types/helpers.d.ts +1 -1
  109. package/dist/types/helpers.js +2 -1
  110. package/dist/types/index.js +44 -5
  111. package/dist/types/index.js.map +1 -1
  112. package/dist/types/protocol.d.ts +1 -221
  113. package/dist/types/protocol.js +188 -186
  114. package/dist/types/protocol.js.map +1 -1
  115. package/dist/types/protocol.mjs +1 -2
  116. package/dist/types/protocol.mjs.map +1 -1
  117. package/dist/types/providerData.js +2 -1
  118. package/dist/usage.d.ts +10 -3
  119. package/dist/usage.js +16 -10
  120. package/dist/usage.js.map +1 -1
  121. package/dist/usage.mjs +9 -7
  122. package/dist/usage.mjs.map +1 -1
  123. package/dist/utils/index.js +9 -3
  124. package/dist/utils/index.js.map +1 -1
  125. package/dist/utils/messages.js +6 -2
  126. package/dist/utils/messages.js.map +1 -1
  127. package/dist/utils/safeExecute.js +4 -1
  128. package/dist/utils/safeExecute.js.map +1 -1
  129. package/dist/utils/serialize.js +6 -2
  130. package/dist/utils/serialize.js.map +1 -1
  131. package/dist/utils/smartString.js +4 -1
  132. package/dist/utils/smartString.js.map +1 -1
  133. package/dist/utils/tools.js +16 -11
  134. package/dist/utils/tools.js.map +1 -1
  135. package/dist/utils/typeGuards.d.ts +1 -1
  136. package/dist/utils/typeGuards.js +6 -2
  137. package/dist/utils/typeGuards.js.map +1 -1
  138. package/package.json +23 -42
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"OAGO,EACL,mBAAmB,GAGpB,MAAM,4BAA4B;AAInC,MAAM,OAAgB,oBAAoB;IAMxC,EAAE,CACA,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,CACD,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,CAA6B,IAAO,EAAE,GAAG,IAAmB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CACF,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AA6CD;;;GAGG;AACH,MAAM,OAAO,UAGX,SAAQ,oBAAwD;IACtD,YAAY,GAAG,IAAI,mBAAmB,EAE7C,CAAC;CACL;AAyDD;;;GAGG;AACH,MAAM,OAAO,QAGX,SAAQ,oBAAsD;IACpD,YAAY,GAAG,IAAI,mBAAmB,EAE7C,CAAC;CACL"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":";;;AAGA,uDAIoC;AAIpC,MAAsB,oBAAoB;IAMxC,EAAE,CACA,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,CACD,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,CAA6B,IAAO,EAAE,GAAG,IAAmB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CACF,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AA9BD,oDA8BC;AA6CD;;;GAGG;AACH,MAAa,UAGX,SAAQ,oBAAwD;IACtD,YAAY,GAAG,IAAI,4BAAmB,EAE7C,CAAC;CACL;AAPD,gCAOC;AAyDD;;;GAGG;AACH,MAAa,QAGX,SAAQ,oBAAsD;IACpD,YAAY,GAAG,IAAI,4BAAmB,EAE7C,CAAC;CACL;AAPD,4BAOC"}
package/dist/logger.js CHANGED
@@ -1,31 +1,38 @@
1
- import debug from 'debug';
2
- import { logging } from "./config.js";
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.logger = void 0;
7
+ exports.getLogger = getLogger;
8
+ const debug_1 = __importDefault(require("debug"));
9
+ const config_1 = require("./config.js");
3
10
  /**
4
11
  * By default we don't log LLM inputs/outputs, to prevent exposing sensitive data. Set this flag
5
12
  * to enable logging them.
6
13
  */
7
- const dontLogModelData = logging.dontLogModelData;
14
+ const dontLogModelData = config_1.logging.dontLogModelData;
8
15
  /**
9
16
  * By default we don't log tool inputs/outputs, to prevent exposing sensitive data. Set this flag
10
17
  * to enable logging them.
11
18
  */
12
- const dontLogToolData = logging.dontLogToolData;
19
+ const dontLogToolData = config_1.logging.dontLogToolData;
13
20
  /**
14
21
  * Get a logger for a given package.
15
22
  *
16
23
  * @param namespace - the namespace to use for the logger.
17
24
  * @returns A logger object with `debug` and `error` methods.
18
25
  */
19
- export function getLogger(namespace = 'openai-agents') {
26
+ function getLogger(namespace = 'openai-agents') {
20
27
  return {
21
28
  namespace,
22
- debug: debug(namespace),
29
+ debug: (0, debug_1.default)(namespace),
23
30
  error: console.error,
24
31
  warn: console.warn,
25
32
  dontLogModelData,
26
33
  dontLogToolData,
27
34
  };
28
35
  }
29
- export const logger = getLogger('openai-agents:core');
30
- export default logger;
36
+ exports.logger = getLogger('openai-agents:core');
37
+ exports.default = exports.logger;
31
38
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"OAAO,KAAK,MAAM,OAAO;OAClB,EAAE,OAAO,EAAE;AAElB;;;GAGG;AACH,MAAM,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;AAElD;;;GAGG;AACH,MAAM,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;AAuChD;;;;;GAKG;AACH,MAAM,UAAU,SAAS,CAAC,YAAoB,eAAe;IAC3D,OAAO;QACL,SAAS;QACT,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAEtD,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AA0DA,8BASC;AAnED,kDAA0B;AAC1B,wCAAmC;AAEnC;;;GAGG;AACH,MAAM,gBAAgB,GAAG,gBAAO,CAAC,gBAAgB,CAAC;AAElD;;;GAGG;AACH,MAAM,eAAe,GAAG,gBAAO,CAAC,eAAe,CAAC;AAuChD;;;;;GAKG;AACH,SAAgB,SAAS,CAAC,YAAoB,eAAe;IAC3D,OAAO;QACL,SAAS;QACT,KAAK,EAAE,IAAA,eAAK,EAAC,SAAS,CAAC;QACvB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,gBAAgB;QAChB,eAAe;KAChB,CAAC;AACJ,CAAC;AAEY,QAAA,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAEtD,kBAAe,cAAM,CAAC"}
package/dist/mcp.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { FunctionTool, Tool } from './tool';
2
2
  import { Logger } from './logger';
3
- import { z } from '@openai/zod/v3';
3
+ import { z } from 'zod';
4
4
  import { JsonObjectSchemaNonStrict, JsonObjectSchemaStrict, UnknownContext } from './types';
5
5
  import type { MCPToolFilterCallable, MCPToolFilterStatic } from './mcpUtil';
6
6
  import type { RunContext } from './runContext';
@@ -154,21 +154,27 @@ export declare class MCPServerSSE extends BaseMCPServerSSE {
154
154
  callTool(toolName: string, args: Record<string, unknown> | null): Promise<CallToolResultContent>;
155
155
  invalidateToolsCache(): Promise<void>;
156
156
  }
157
- /**
158
- * Fetches and flattens all tools from multiple MCP servers.
159
- * Logs and skips any servers that fail to respond.
160
- */
161
- export declare function getAllMcpFunctionTools<TContext = UnknownContext>(mcpServers: MCPServer[], runContext: RunContext<TContext>, agent: Agent<any, any>, convertSchemasToStrict?: boolean): Promise<Tool<TContext>[]>;
162
157
  /**
163
158
  * Remove cached tools for the given server so the next lookup fetches fresh data.
164
159
  *
165
160
  * @param serverName - Name of the MCP server whose cache should be cleared.
166
161
  */
167
162
  export declare function invalidateServerToolsCache(serverName: string): Promise<void>;
163
+ /**
164
+ * Options for fetching MCP tools.
165
+ */
166
+ export type GetAllMcpToolsOptions<TContext> = {
167
+ mcpServers: MCPServer[];
168
+ convertSchemasToStrict?: boolean;
169
+ runContext?: RunContext<TContext>;
170
+ agent?: Agent<TContext, any>;
171
+ };
168
172
  /**
169
173
  * Returns all MCP tools from the provided servers, using the function tool conversion.
174
+ * If runContext and agent are provided, callable tool filters will be applied.
170
175
  */
171
- export declare function getAllMcpTools<TContext = UnknownContext>(mcpServers: MCPServer[], runContext: RunContext<TContext>, agent: Agent<TContext, any>, convertSchemasToStrict?: boolean): Promise<Tool<TContext>[]>;
176
+ export declare function getAllMcpTools<TContext = UnknownContext>(mcpServers: MCPServer[]): Promise<Tool<TContext>[]>;
177
+ export declare function getAllMcpTools<TContext = UnknownContext>(opts: GetAllMcpToolsOptions<TContext>): Promise<Tool<TContext>[]>;
172
178
  /**
173
179
  * Converts an MCP tool definition to a function tool for the Agents SDK.
174
180
  */
@@ -207,6 +213,7 @@ export interface MCPServerStreamableHttpOptions {
207
213
  timeout?: number;
208
214
  authProvider?: any;
209
215
  requestInit?: any;
216
+ fetch?: any;
210
217
  reconnectionOptions?: any;
211
218
  sessionId?: string;
212
219
  }
package/dist/mcp.js CHANGED
@@ -1,21 +1,30 @@
1
- import { tool } from "./tool.js";
2
- import { UserError } from "./errors.js";
3
- import { MCPServerStdio as UnderlyingMCPServerStdio, MCPServerStreamableHttp as UnderlyingMCPServerStreamableHttp, MCPServerSSE as UnderlyingMCPServerSSE, } from '@openai/agents-core/_shims';
4
- import { getCurrentSpan, withMCPListToolsSpan } from "./tracing/index.js";
5
- import { logger as globalLogger, getLogger } from "./logger.js";
6
- import debug from 'debug';
7
- import { z } from '@openai/zod/v3';
8
- export const DEFAULT_STDIO_MCP_CLIENT_LOGGER_NAME = 'openai-agents:stdio-mcp-client';
9
- export const DEFAULT_STREAMABLE_HTTP_MCP_CLIENT_LOGGER_NAME = 'openai-agents:streamable-http-mcp-client';
10
- export const DEFAULT_SSE_MCP_CLIENT_LOGGER_NAME = 'openai-agents:sse-mcp-client';
11
- export class BaseMCPServerStdio {
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.MCPServerSSE = exports.MCPServerStreamableHttp = exports.MCPServerStdio = exports.MCPTool = exports.BaseMCPServerSSE = exports.BaseMCPServerStreamableHttp = exports.BaseMCPServerStdio = exports.DEFAULT_SSE_MCP_CLIENT_LOGGER_NAME = exports.DEFAULT_STREAMABLE_HTTP_MCP_CLIENT_LOGGER_NAME = exports.DEFAULT_STDIO_MCP_CLIENT_LOGGER_NAME = void 0;
7
+ exports.invalidateServerToolsCache = invalidateServerToolsCache;
8
+ exports.getAllMcpTools = getAllMcpTools;
9
+ exports.mcpToFunctionTool = mcpToFunctionTool;
10
+ const tool_1 = require("./tool.js");
11
+ const errors_1 = require("./errors.js");
12
+ const _shims_1 = require("@openai/agents-core/_shims");
13
+ const tracing_1 = require("./tracing/index.js");
14
+ const logger_1 = require("./logger.js");
15
+ const debug_1 = __importDefault(require("debug"));
16
+ const zod_1 = require("zod");
17
+ exports.DEFAULT_STDIO_MCP_CLIENT_LOGGER_NAME = 'openai-agents:stdio-mcp-client';
18
+ exports.DEFAULT_STREAMABLE_HTTP_MCP_CLIENT_LOGGER_NAME = 'openai-agents:streamable-http-mcp-client';
19
+ exports.DEFAULT_SSE_MCP_CLIENT_LOGGER_NAME = 'openai-agents:sse-mcp-client';
20
+ class BaseMCPServerStdio {
12
21
  cacheToolsList;
13
22
  _cachedTools = undefined;
14
23
  toolFilter;
15
24
  logger;
16
25
  constructor(options) {
17
26
  this.logger =
18
- options.logger ?? getLogger(DEFAULT_STDIO_MCP_CLIENT_LOGGER_NAME);
27
+ options.logger ?? (0, logger_1.getLogger)(exports.DEFAULT_STDIO_MCP_CLIENT_LOGGER_NAME);
19
28
  this.cacheToolsList = options.cacheToolsList ?? false;
20
29
  this.toolFilter = options.toolFilter;
21
30
  }
@@ -24,13 +33,14 @@ export class BaseMCPServerStdio {
24
33
  * @param buildMessage A function that returns the message to log.
25
34
  */
26
35
  debugLog(buildMessage) {
27
- if (debug.enabled(this.logger.namespace)) {
36
+ if (debug_1.default.enabled(this.logger.namespace)) {
28
37
  // only when this is true, the function to build the string is called
29
38
  this.logger.debug(buildMessage());
30
39
  }
31
40
  }
32
41
  }
33
- export class BaseMCPServerStreamableHttp {
42
+ exports.BaseMCPServerStdio = BaseMCPServerStdio;
43
+ class BaseMCPServerStreamableHttp {
34
44
  cacheToolsList;
35
45
  _cachedTools = undefined;
36
46
  toolFilter;
@@ -38,7 +48,7 @@ export class BaseMCPServerStreamableHttp {
38
48
  constructor(options) {
39
49
  this.logger =
40
50
  options.logger ??
41
- getLogger(DEFAULT_STREAMABLE_HTTP_MCP_CLIENT_LOGGER_NAME);
51
+ (0, logger_1.getLogger)(exports.DEFAULT_STREAMABLE_HTTP_MCP_CLIENT_LOGGER_NAME);
42
52
  this.cacheToolsList = options.cacheToolsList ?? false;
43
53
  this.toolFilter = options.toolFilter;
44
54
  }
@@ -47,20 +57,21 @@ export class BaseMCPServerStreamableHttp {
47
57
  * @param buildMessage A function that returns the message to log.
48
58
  */
49
59
  debugLog(buildMessage) {
50
- if (debug.enabled(this.logger.namespace)) {
60
+ if (debug_1.default.enabled(this.logger.namespace)) {
51
61
  // only when this is true, the function to build the string is called
52
62
  this.logger.debug(buildMessage());
53
63
  }
54
64
  }
55
65
  }
56
- export class BaseMCPServerSSE {
66
+ exports.BaseMCPServerStreamableHttp = BaseMCPServerStreamableHttp;
67
+ class BaseMCPServerSSE {
57
68
  cacheToolsList;
58
69
  _cachedTools = undefined;
59
70
  toolFilter;
60
71
  logger;
61
72
  constructor(options) {
62
73
  this.logger =
63
- options.logger ?? getLogger(DEFAULT_SSE_MCP_CLIENT_LOGGER_NAME);
74
+ options.logger ?? (0, logger_1.getLogger)(exports.DEFAULT_SSE_MCP_CLIENT_LOGGER_NAME);
64
75
  this.cacheToolsList = options.cacheToolsList ?? false;
65
76
  this.toolFilter = options.toolFilter;
66
77
  }
@@ -69,36 +80,37 @@ export class BaseMCPServerSSE {
69
80
  * @param buildMessage A function that returns the message to log.
70
81
  */
71
82
  debugLog(buildMessage) {
72
- if (debug.enabled(this.logger.namespace)) {
83
+ if (debug_1.default.enabled(this.logger.namespace)) {
73
84
  // only when this is true, the function to build the string is called
74
85
  this.logger.debug(buildMessage());
75
86
  }
76
87
  }
77
88
  }
89
+ exports.BaseMCPServerSSE = BaseMCPServerSSE;
78
90
  /**
79
91
  * Minimum MCP tool data definition.
80
92
  * This type definition does not intend to cover all possible properties.
81
93
  * It supports the properties that are used in this SDK.
82
94
  */
83
- export const MCPTool = z.object({
84
- name: z.string(),
85
- description: z.string().optional(),
86
- inputSchema: z.object({
87
- type: z.literal('object'),
88
- properties: z.record(z.string(), z.any()),
89
- required: z.array(z.string()),
90
- additionalProperties: z.boolean(),
95
+ exports.MCPTool = zod_1.z.object({
96
+ name: zod_1.z.string(),
97
+ description: zod_1.z.string().optional(),
98
+ inputSchema: zod_1.z.object({
99
+ type: zod_1.z.literal('object'),
100
+ properties: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
101
+ required: zod_1.z.array(zod_1.z.string()),
102
+ additionalProperties: zod_1.z.boolean(),
91
103
  }),
92
104
  });
93
105
  /**
94
106
  * Public interface of an MCP server that provides tools.
95
107
  * You can use this class to pass MCP server settings to your agent.
96
108
  */
97
- export class MCPServerStdio extends BaseMCPServerStdio {
109
+ class MCPServerStdio extends BaseMCPServerStdio {
98
110
  underlying;
99
111
  constructor(options) {
100
112
  super(options);
101
- this.underlying = new UnderlyingMCPServerStdio(options);
113
+ this.underlying = new _shims_1.MCPServerStdio(options);
102
114
  }
103
115
  get name() {
104
116
  return this.underlying.name;
@@ -126,11 +138,12 @@ export class MCPServerStdio extends BaseMCPServerStdio {
126
138
  return this.underlying.invalidateToolsCache();
127
139
  }
128
140
  }
129
- export class MCPServerStreamableHttp extends BaseMCPServerStreamableHttp {
141
+ exports.MCPServerStdio = MCPServerStdio;
142
+ class MCPServerStreamableHttp extends BaseMCPServerStreamableHttp {
130
143
  underlying;
131
144
  constructor(options) {
132
145
  super(options);
133
- this.underlying = new UnderlyingMCPServerStreamableHttp(options);
146
+ this.underlying = new _shims_1.MCPServerStreamableHttp(options);
134
147
  }
135
148
  get name() {
136
149
  return this.underlying.name;
@@ -158,11 +171,12 @@ export class MCPServerStreamableHttp extends BaseMCPServerStreamableHttp {
158
171
  return this.underlying.invalidateToolsCache();
159
172
  }
160
173
  }
161
- export class MCPServerSSE extends BaseMCPServerSSE {
174
+ exports.MCPServerStreamableHttp = MCPServerStreamableHttp;
175
+ class MCPServerSSE extends BaseMCPServerSSE {
162
176
  underlying;
163
177
  constructor(options) {
164
178
  super(options);
165
- this.underlying = new UnderlyingMCPServerSSE(options);
179
+ this.underlying = new _shims_1.MCPServerSSE(options);
166
180
  }
167
181
  get name() {
168
182
  return this.underlying.name;
@@ -190,84 +204,68 @@ export class MCPServerSSE extends BaseMCPServerSSE {
190
204
  return this.underlying.invalidateToolsCache();
191
205
  }
192
206
  }
207
+ exports.MCPServerSSE = MCPServerSSE;
193
208
  /**
194
209
  * Fetches and flattens all tools from multiple MCP servers.
195
210
  * Logs and skips any servers that fail to respond.
196
211
  */
197
- export async function getAllMcpFunctionTools(mcpServers, runContext, agent, convertSchemasToStrict = false) {
198
- const allTools = [];
199
- const toolNames = new Set();
200
- for (const server of mcpServers) {
201
- const serverTools = await getFunctionToolsFromServer(server, runContext, agent, convertSchemasToStrict);
202
- const serverToolNames = new Set(serverTools.map((t) => t.name));
203
- const intersection = [...serverToolNames].filter((n) => toolNames.has(n));
204
- if (intersection.length > 0) {
205
- throw new UserError(`Duplicate tool names found across MCP servers: ${intersection.join(', ')}`);
206
- }
207
- for (const t of serverTools) {
208
- toolNames.add(t.name);
209
- allTools.push(t);
210
- }
211
- }
212
- return allTools;
213
- }
214
212
  const _cachedTools = {};
215
213
  /**
216
214
  * Remove cached tools for the given server so the next lookup fetches fresh data.
217
215
  *
218
216
  * @param serverName - Name of the MCP server whose cache should be cleared.
219
217
  */
220
- export async function invalidateServerToolsCache(serverName) {
218
+ async function invalidateServerToolsCache(serverName) {
221
219
  delete _cachedTools[serverName];
222
220
  }
223
221
  /**
224
222
  * Fetches all function tools from a single MCP server.
225
223
  */
226
- async function getFunctionToolsFromServer(server, runContext, agent, convertSchemasToStrict) {
224
+ async function getFunctionToolsFromServer({ server, convertSchemasToStrict, runContext, agent, }) {
227
225
  if (server.cacheToolsList && _cachedTools[server.name]) {
228
226
  return _cachedTools[server.name].map((t) => mcpToFunctionTool(t, server, convertSchemasToStrict));
229
227
  }
230
- return withMCPListToolsSpan(async (span) => {
228
+ return (0, tracing_1.withMCPListToolsSpan)(async (span) => {
231
229
  const fetchedMcpTools = await server.listTools();
232
- const mcpTools = [];
233
- const context = {
234
- runContext,
235
- agent,
236
- serverName: server.name,
237
- };
238
- for (const tool of fetchedMcpTools) {
239
- const filter = server.toolFilter;
240
- if (filter) {
241
- if (filter && typeof filter === 'function') {
242
- const filtered = await filter(context, tool);
243
- if (!filtered) {
244
- globalLogger.debug(`MCP Tool (server: ${server.name}, tool: ${tool.name}) is blocked by the callable filter.`);
245
- continue; // skip this tool
230
+ let mcpTools = fetchedMcpTools;
231
+ if (runContext && agent) {
232
+ const context = { runContext, agent, serverName: server.name };
233
+ const filteredTools = [];
234
+ for (const tool of fetchedMcpTools) {
235
+ const filter = server.toolFilter;
236
+ if (filter) {
237
+ if (typeof filter === 'function') {
238
+ const filtered = await filter(context, tool);
239
+ if (!filtered) {
240
+ logger_1.logger.debug(`MCP Tool (server: ${server.name}, tool: ${tool.name}) is blocked by the callable filter.`);
241
+ continue;
242
+ }
246
243
  }
247
- }
248
- else {
249
- const allowedToolNames = filter.allowedToolNames ?? [];
250
- const blockedToolNames = filter.blockedToolNames ?? [];
251
- if (allowedToolNames.length > 0 || blockedToolNames.length > 0) {
252
- const allowed = allowedToolNames.length > 0
253
- ? allowedToolNames.includes(tool.name)
254
- : true;
255
- const blocked = blockedToolNames.length > 0
256
- ? blockedToolNames.includes(tool.name)
257
- : false;
258
- if (!allowed || blocked) {
259
- if (blocked) {
260
- globalLogger.debug(`MCP Tool (server: ${server.name}, tool: ${tool.name}) is blocked by the static filter.`);
261
- }
262
- else if (!allowed) {
263
- globalLogger.debug(`MCP Tool (server: ${server.name}, tool: ${tool.name}) is not allowed by the static filter.`);
244
+ else {
245
+ const allowedToolNames = filter.allowedToolNames ?? [];
246
+ const blockedToolNames = filter.blockedToolNames ?? [];
247
+ if (allowedToolNames.length > 0 || blockedToolNames.length > 0) {
248
+ const allowed = allowedToolNames.length > 0
249
+ ? allowedToolNames.includes(tool.name)
250
+ : true;
251
+ const blocked = blockedToolNames.length > 0
252
+ ? blockedToolNames.includes(tool.name)
253
+ : false;
254
+ if (!allowed || blocked) {
255
+ if (blocked) {
256
+ logger_1.logger.debug(`MCP Tool (server: ${server.name}, tool: ${tool.name}) is blocked by the static filter.`);
257
+ }
258
+ else if (!allowed) {
259
+ logger_1.logger.debug(`MCP Tool (server: ${server.name}, tool: ${tool.name}) is not allowed by the static filter.`);
260
+ }
261
+ continue;
264
262
  }
265
- continue; // skip this tool
266
263
  }
267
264
  }
268
265
  }
266
+ filteredTools.push(tool);
269
267
  }
270
- mcpTools.push(tool);
268
+ mcpTools = filteredTools;
271
269
  }
272
270
  span.spanData.result = mcpTools.map((t) => t.name);
273
271
  const tools = mcpTools.map((t) => mcpToFunctionTool(t, server, convertSchemasToStrict));
@@ -277,16 +275,41 @@ async function getFunctionToolsFromServer(server, runContext, agent, convertSche
277
275
  return tools;
278
276
  }, { data: { server: server.name } });
279
277
  }
280
- /**
281
- * Returns all MCP tools from the provided servers, using the function tool conversion.
282
- */
283
- export async function getAllMcpTools(mcpServers, runContext, agent, convertSchemasToStrict = false) {
284
- return getAllMcpFunctionTools(mcpServers, runContext, agent, convertSchemasToStrict);
278
+ async function getAllMcpTools(mcpServersOrOpts, runContext, agent, convertSchemasToStrict = false) {
279
+ const opts = Array.isArray(mcpServersOrOpts)
280
+ ? {
281
+ mcpServers: mcpServersOrOpts,
282
+ runContext,
283
+ agent,
284
+ convertSchemasToStrict,
285
+ }
286
+ : mcpServersOrOpts;
287
+ const { mcpServers, convertSchemasToStrict: convertSchemasToStrictFromOpts = false, runContext: runContextFromOpts, agent: agentFromOpts, } = opts;
288
+ const allTools = [];
289
+ const toolNames = new Set();
290
+ for (const server of mcpServers) {
291
+ const serverTools = await getFunctionToolsFromServer({
292
+ server,
293
+ convertSchemasToStrict: convertSchemasToStrictFromOpts,
294
+ runContext: runContextFromOpts,
295
+ agent: agentFromOpts,
296
+ });
297
+ const serverToolNames = new Set(serverTools.map((t) => t.name));
298
+ const intersection = [...serverToolNames].filter((n) => toolNames.has(n));
299
+ if (intersection.length > 0) {
300
+ throw new errors_1.UserError(`Duplicate tool names found across MCP servers: ${intersection.join(', ')}`);
301
+ }
302
+ for (const t of serverTools) {
303
+ toolNames.add(t.name);
304
+ allTools.push(t);
305
+ }
306
+ }
307
+ return allTools;
285
308
  }
286
309
  /**
287
310
  * Converts an MCP tool definition to a function tool for the Agents SDK.
288
311
  */
289
- export function mcpToFunctionTool(mcpTool, server, convertSchemasToStrict) {
312
+ function mcpToFunctionTool(mcpTool, server, convertSchemasToStrict) {
290
313
  async function invoke(input, _context) {
291
314
  let args = {};
292
315
  if (typeof input === 'string' && input) {
@@ -295,7 +318,7 @@ export function mcpToFunctionTool(mcpTool, server, convertSchemasToStrict) {
295
318
  else if (typeof input === 'object' && input != null) {
296
319
  args = input;
297
320
  }
298
- const currentSpan = getCurrentSpan();
321
+ const currentSpan = (0, tracing_1.getCurrentSpan)();
299
322
  if (currentSpan) {
300
323
  currentSpan.spanData['mcp_data'] = { server: server.name };
301
324
  }
@@ -312,7 +335,7 @@ export function mcpToFunctionTool(mcpTool, server, convertSchemasToStrict) {
312
335
  if (convertSchemasToStrict || schema.additionalProperties === true) {
313
336
  try {
314
337
  const strictSchema = ensureStrictJsonSchema(schema);
315
- return tool({
338
+ return (0, tool_1.tool)({
316
339
  name: mcpTool.name,
317
340
  description: mcpTool.description || '',
318
341
  parameters: strictSchema,
@@ -321,14 +344,14 @@ export function mcpToFunctionTool(mcpTool, server, convertSchemasToStrict) {
321
344
  });
322
345
  }
323
346
  catch (e) {
324
- globalLogger.warn(`Error converting MCP schema to strict mode: ${e}`);
347
+ logger_1.logger.warn(`Error converting MCP schema to strict mode: ${e}`);
325
348
  }
326
349
  }
327
350
  const nonStrictSchema = {
328
351
  ...schema,
329
352
  additionalProperties: true,
330
353
  };
331
- return tool({
354
+ return (0, tool_1.tool)({
332
355
  name: mcpTool.name,
333
356
  description: mcpTool.description || '',
334
357
  parameters: nonStrictSchema,
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}