@openai/agents-core 0.3.6 → 0.3.8

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 (180) hide show
  1. package/dist/errors.d.ts +40 -0
  2. package/dist/errors.js +38 -1
  3. package/dist/errors.js.map +1 -1
  4. package/dist/errors.mjs +34 -0
  5. package/dist/errors.mjs.map +1 -1
  6. package/dist/index.d.ts +6 -2
  7. package/dist/index.js +13 -2
  8. package/dist/index.js.map +1 -1
  9. package/dist/index.mjs +3 -1
  10. package/dist/index.mjs.map +1 -1
  11. package/dist/metadata.js +2 -2
  12. package/dist/metadata.mjs +2 -2
  13. package/dist/result.d.ts +17 -0
  14. package/dist/result.js +71 -24
  15. package/dist/result.js.map +1 -1
  16. package/dist/result.mjs +69 -22
  17. package/dist/result.mjs.map +1 -1
  18. package/dist/run.d.ts +14 -47
  19. package/dist/run.js +421 -994
  20. package/dist/run.js.map +1 -1
  21. package/dist/run.mjs +405 -978
  22. package/dist/run.mjs.map +1 -1
  23. package/dist/runState.d.ts +1286 -172
  24. package/dist/runState.js +146 -16
  25. package/dist/runState.js.map +1 -1
  26. package/dist/runState.mjs +142 -12
  27. package/dist/runState.mjs.map +1 -1
  28. package/dist/runner/constants.d.ts +1 -0
  29. package/dist/runner/constants.js +6 -0
  30. package/dist/runner/constants.js.map +1 -0
  31. package/dist/runner/constants.mjs +3 -0
  32. package/dist/runner/constants.mjs.map +1 -0
  33. package/dist/runner/conversation.d.ts +85 -0
  34. package/dist/runner/conversation.js +275 -0
  35. package/dist/runner/conversation.js.map +1 -0
  36. package/dist/runner/conversation.mjs +269 -0
  37. package/dist/runner/conversation.mjs.map +1 -0
  38. package/dist/runner/guardrails.d.ts +23 -0
  39. package/dist/runner/guardrails.js +174 -0
  40. package/dist/runner/guardrails.js.map +1 -0
  41. package/dist/runner/guardrails.mjs +166 -0
  42. package/dist/runner/guardrails.mjs.map +1 -0
  43. package/dist/runner/items.d.ts +18 -0
  44. package/dist/runner/items.js +89 -0
  45. package/dist/runner/items.js.map +1 -0
  46. package/dist/runner/items.mjs +79 -0
  47. package/dist/runner/items.mjs.map +1 -0
  48. package/dist/runner/mcpApprovals.d.ts +25 -0
  49. package/dist/runner/mcpApprovals.js +66 -0
  50. package/dist/runner/mcpApprovals.js.map +1 -0
  51. package/dist/runner/mcpApprovals.mjs +63 -0
  52. package/dist/runner/mcpApprovals.mjs.map +1 -0
  53. package/dist/runner/modelOutputs.d.ts +10 -0
  54. package/dist/runner/modelOutputs.js +206 -0
  55. package/dist/runner/modelOutputs.js.map +1 -0
  56. package/dist/runner/modelOutputs.mjs +203 -0
  57. package/dist/runner/modelOutputs.mjs.map +1 -0
  58. package/dist/runner/modelPreparation.d.ts +8 -0
  59. package/dist/runner/modelPreparation.js +41 -0
  60. package/dist/runner/modelPreparation.js.map +1 -0
  61. package/dist/runner/modelPreparation.mjs +38 -0
  62. package/dist/runner/modelPreparation.mjs.map +1 -0
  63. package/dist/runner/modelSettings.d.ts +20 -0
  64. package/dist/runner/modelSettings.js +97 -0
  65. package/dist/runner/modelSettings.js.map +1 -0
  66. package/dist/runner/modelSettings.mjs +92 -0
  67. package/dist/runner/modelSettings.mjs.map +1 -0
  68. package/dist/runner/runLoop.d.ts +32 -0
  69. package/dist/runner/runLoop.js +62 -0
  70. package/dist/runner/runLoop.js.map +1 -0
  71. package/dist/runner/runLoop.mjs +57 -0
  72. package/dist/runner/runLoop.mjs.map +1 -0
  73. package/dist/runner/sessionPersistence.d.ts +26 -0
  74. package/dist/runner/sessionPersistence.js +441 -0
  75. package/dist/runner/sessionPersistence.js.map +1 -0
  76. package/dist/runner/sessionPersistence.mjs +431 -0
  77. package/dist/runner/sessionPersistence.mjs.map +1 -0
  78. package/dist/runner/steps.d.ts +48 -0
  79. package/dist/runner/steps.js +40 -0
  80. package/dist/runner/steps.js.map +1 -0
  81. package/dist/runner/steps.mjs +36 -0
  82. package/dist/runner/steps.mjs.map +1 -0
  83. package/dist/runner/streaming.d.ts +9 -0
  84. package/dist/runner/streaming.js +74 -0
  85. package/dist/runner/streaming.js.map +1 -0
  86. package/dist/runner/streaming.mjs +65 -0
  87. package/dist/runner/streaming.mjs.map +1 -0
  88. package/dist/runner/toolExecution.d.ts +15 -0
  89. package/dist/runner/toolExecution.js +997 -0
  90. package/dist/runner/toolExecution.js.map +1 -0
  91. package/dist/runner/toolExecution.mjs +984 -0
  92. package/dist/runner/toolExecution.mjs.map +1 -0
  93. package/dist/runner/toolUseTracker.d.ts +9 -0
  94. package/dist/runner/toolUseTracker.js +34 -0
  95. package/dist/runner/toolUseTracker.js.map +1 -0
  96. package/dist/runner/toolUseTracker.mjs +30 -0
  97. package/dist/runner/toolUseTracker.mjs.map +1 -0
  98. package/dist/runner/tracing.d.ts +23 -0
  99. package/dist/runner/tracing.js +45 -0
  100. package/dist/runner/tracing.js.map +1 -0
  101. package/dist/runner/tracing.mjs +41 -0
  102. package/dist/runner/tracing.mjs.map +1 -0
  103. package/dist/runner/turnPreparation.d.ts +30 -0
  104. package/dist/runner/turnPreparation.js +80 -0
  105. package/dist/runner/turnPreparation.js.map +1 -0
  106. package/dist/runner/turnPreparation.mjs +74 -0
  107. package/dist/runner/turnPreparation.mjs.map +1 -0
  108. package/dist/runner/turnResolution.d.ts +3 -0
  109. package/dist/runner/turnResolution.js +531 -0
  110. package/dist/runner/turnResolution.js.map +1 -0
  111. package/dist/runner/turnResolution.mjs +526 -0
  112. package/dist/runner/turnResolution.mjs.map +1 -0
  113. package/dist/runner/types.d.ts +66 -0
  114. package/dist/runner/types.js +3 -0
  115. package/dist/runner/types.js.map +1 -0
  116. package/dist/runner/types.mjs +2 -0
  117. package/dist/runner/types.mjs.map +1 -0
  118. package/dist/shims/mcp-server/node.js +76 -30
  119. package/dist/shims/mcp-server/node.js.map +1 -1
  120. package/dist/shims/mcp-server/node.mjs +76 -30
  121. package/dist/shims/mcp-server/node.mjs.map +1 -1
  122. package/dist/tool.d.ts +28 -2
  123. package/dist/tool.js +7 -1
  124. package/dist/tool.js.map +1 -1
  125. package/dist/tool.mjs +8 -2
  126. package/dist/tool.mjs.map +1 -1
  127. package/dist/toolGuardrail.d.ts +101 -0
  128. package/dist/toolGuardrail.js +58 -0
  129. package/dist/toolGuardrail.js.map +1 -0
  130. package/dist/toolGuardrail.mjs +51 -0
  131. package/dist/toolGuardrail.mjs.map +1 -0
  132. package/dist/tracing/config.d.ts +3 -0
  133. package/dist/tracing/config.js +3 -0
  134. package/dist/tracing/config.js.map +1 -0
  135. package/dist/tracing/config.mjs +2 -0
  136. package/dist/tracing/config.mjs.map +1 -0
  137. package/dist/tracing/context.d.ts +2 -0
  138. package/dist/tracing/context.js +95 -24
  139. package/dist/tracing/context.js.map +1 -1
  140. package/dist/tracing/context.mjs +95 -24
  141. package/dist/tracing/context.mjs.map +1 -1
  142. package/dist/tracing/createSpans.d.ts +11 -11
  143. package/dist/tracing/index.d.ts +2 -0
  144. package/dist/tracing/index.js.map +1 -1
  145. package/dist/tracing/index.mjs.map +1 -1
  146. package/dist/tracing/provider.js +54 -4
  147. package/dist/tracing/provider.js.map +1 -1
  148. package/dist/tracing/provider.mjs +54 -4
  149. package/dist/tracing/provider.mjs.map +1 -1
  150. package/dist/tracing/spans.d.ts +2 -0
  151. package/dist/tracing/spans.js +6 -0
  152. package/dist/tracing/spans.js.map +1 -1
  153. package/dist/tracing/spans.mjs +6 -0
  154. package/dist/tracing/spans.mjs.map +1 -1
  155. package/dist/tracing/traces.d.ts +11 -1
  156. package/dist/tracing/traces.js +15 -2
  157. package/dist/tracing/traces.js.map +1 -1
  158. package/dist/tracing/traces.mjs +15 -2
  159. package/dist/tracing/traces.mjs.map +1 -1
  160. package/dist/types/protocol.d.ts +11 -0
  161. package/dist/types/protocol.js +1 -0
  162. package/dist/types/protocol.js.map +1 -1
  163. package/dist/types/protocol.mjs +1 -0
  164. package/dist/types/protocol.mjs.map +1 -1
  165. package/dist/utils/binary.d.ts +6 -0
  166. package/dist/utils/binary.js +53 -0
  167. package/dist/utils/binary.js.map +1 -0
  168. package/dist/utils/binary.mjs +49 -0
  169. package/dist/utils/binary.mjs.map +1 -0
  170. package/dist/utils/toolGuardrails.d.ts +24 -0
  171. package/dist/utils/toolGuardrails.js +58 -0
  172. package/dist/utils/toolGuardrails.js.map +1 -0
  173. package/dist/utils/toolGuardrails.mjs +54 -0
  174. package/dist/utils/toolGuardrails.mjs.map +1 -0
  175. package/package.json +4 -3
  176. package/dist/runImplementation.d.ts +0 -161
  177. package/dist/runImplementation.js +0 -2054
  178. package/dist/runImplementation.js.map +0 -1
  179. package/dist/runImplementation.mjs +0 -2028
  180. package/dist/runImplementation.mjs.map +0 -1
@@ -48,6 +48,19 @@ npm install @modelcontextprotocol/sdk
48
48
  `.trim());
49
49
  throw error;
50
50
  }
51
+ function buildRequestOptions(clientSessionTimeoutSeconds, overrides) {
52
+ const baseOptions = clientSessionTimeoutSeconds === undefined
53
+ ? undefined
54
+ : { timeout: clientSessionTimeoutSeconds * 1000 };
55
+ const mergedOptions = { ...(baseOptions ?? {}), ...(overrides ?? {}) };
56
+ return Object.keys(mergedOptions).length === 0 ? undefined : mergedOptions;
57
+ }
58
+ function hasSessionTransport(transport) {
59
+ return (transport != null &&
60
+ typeof transport.close === 'function' &&
61
+ (typeof transport.terminateSession === 'function' ||
62
+ transport.sessionId !== undefined));
63
+ }
51
64
  class NodeMCPServerStdio extends mcp_1.BaseMCPServerStdio {
52
65
  session = null;
53
66
  _cacheDirty = true;
@@ -95,10 +108,8 @@ class NodeMCPServerStdio extends mcp_1.BaseMCPServerStdio {
95
108
  name: this._name,
96
109
  version: '1.0.0', // You may want to make this configurable
97
110
  });
98
- const connectOptions = this.clientSessionTimeoutSeconds === undefined
99
- ? undefined
100
- : { timeout: this.clientSessionTimeoutSeconds * 1000 };
101
- await this.session.connect(this.transport, connectOptions);
111
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
112
+ await this.session.connect(this.transport, requestOptions);
102
113
  this.serverInitializeResult = {
103
114
  serverInfo: { name: this._name, version: '1.0.0' },
104
115
  };
@@ -123,7 +134,8 @@ class NodeMCPServerStdio extends mcp_1.BaseMCPServerStdio {
123
134
  return this._toolsList;
124
135
  }
125
136
  this._cacheDirty = false;
126
- const response = await this.session.listTools();
137
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
138
+ const response = await this.session.listTools(undefined, requestOptions);
127
139
  this.debugLog(() => `Listed tools: ${JSON.stringify(response)}`);
128
140
  this._toolsList = ListToolsResultSchema.parse(response).tools;
129
141
  return this._toolsList;
@@ -133,12 +145,11 @@ class NodeMCPServerStdio extends mcp_1.BaseMCPServerStdio {
133
145
  if (!this.session) {
134
146
  throw new Error('Server not initialized. Make sure you call connect() first.');
135
147
  }
148
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds, { timeout: this.timeout });
136
149
  const response = await this.session.callTool({
137
150
  name: toolName,
138
151
  arguments: args ?? {},
139
- }, undefined, {
140
- timeout: this.timeout,
141
- });
152
+ }, undefined, requestOptions);
142
153
  const parsed = CallToolResultSchema.parse(response);
143
154
  const result = parsed.content;
144
155
  this.debugLog(() => `Called tool ${toolName} (args: ${JSON.stringify(args)}, result: ${JSON.stringify(result)})`);
@@ -148,8 +159,19 @@ class NodeMCPServerStdio extends mcp_1.BaseMCPServerStdio {
148
159
  return this._name;
149
160
  }
150
161
  async close() {
151
- if (this.transport) {
152
- await this.transport.close();
162
+ const transport = this.transport;
163
+ if (transport && typeof transport.terminateSession === 'function') {
164
+ try {
165
+ // Best-effort cleanup: we do not actively manage session lifecycles,
166
+ // but if the server supports sessions we terminate to avoid leaks.
167
+ await transport.terminateSession();
168
+ }
169
+ catch (error) {
170
+ this.logger.warn('Failed to terminate MCP session:', error);
171
+ }
172
+ }
173
+ if (transport) {
174
+ await transport.close();
153
175
  this.transport = null;
154
176
  }
155
177
  if (this.session) {
@@ -190,10 +212,8 @@ class NodeMCPServerSSE extends mcp_1.BaseMCPServerSSE {
190
212
  name: this._name,
191
213
  version: '1.0.0', // You may want to make this configurable
192
214
  });
193
- const connectOptions = this.clientSessionTimeoutSeconds === undefined
194
- ? undefined
195
- : { timeout: this.clientSessionTimeoutSeconds * 1000 };
196
- await this.session.connect(this.transport, connectOptions);
215
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
216
+ await this.session.connect(this.transport, requestOptions);
197
217
  this.serverInitializeResult = {
198
218
  serverInfo: { name: this._name, version: '1.0.0' },
199
219
  };
@@ -218,7 +238,8 @@ class NodeMCPServerSSE extends mcp_1.BaseMCPServerSSE {
218
238
  return this._toolsList;
219
239
  }
220
240
  this._cacheDirty = false;
221
- const response = await this.session.listTools();
241
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
242
+ const response = await this.session.listTools(undefined, requestOptions);
222
243
  this.debugLog(() => `Listed tools: ${JSON.stringify(response)}`);
223
244
  this._toolsList = ListToolsResultSchema.parse(response).tools;
224
245
  return this._toolsList;
@@ -228,12 +249,11 @@ class NodeMCPServerSSE extends mcp_1.BaseMCPServerSSE {
228
249
  if (!this.session) {
229
250
  throw new Error('Server not initialized. Make sure you call connect() first.');
230
251
  }
252
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds, { timeout: this.timeout });
231
253
  const response = await this.session.callTool({
232
254
  name: toolName,
233
255
  arguments: args ?? {},
234
- }, undefined, {
235
- timeout: this.timeout,
236
- });
256
+ }, undefined, requestOptions);
237
257
  const parsed = CallToolResultSchema.parse(response);
238
258
  const result = parsed.content;
239
259
  this.debugLog(() => `Called tool ${toolName} (args: ${JSON.stringify(args)}, result: ${JSON.stringify(result)})`);
@@ -243,8 +263,22 @@ class NodeMCPServerSSE extends mcp_1.BaseMCPServerSSE {
243
263
  return this._name;
244
264
  }
245
265
  async close() {
246
- if (this.transport) {
247
- await this.transport.close();
266
+ const transport = this.transport;
267
+ if (hasSessionTransport(transport)) {
268
+ const sessionId = transport.sessionId;
269
+ if (sessionId && typeof transport.terminateSession === 'function') {
270
+ try {
271
+ // Best-effort cleanup: we do not actively manage session lifecycles,
272
+ // but if the server supports sessions we terminate to avoid leaks.
273
+ await transport.terminateSession();
274
+ }
275
+ catch (error) {
276
+ this.logger.warn('Failed to terminate MCP session:', error);
277
+ }
278
+ }
279
+ }
280
+ if (transport) {
281
+ await transport.close();
248
282
  this.transport = null;
249
283
  }
250
284
  if (this.session) {
@@ -286,10 +320,8 @@ class NodeMCPServerStreamableHttp extends mcp_1.BaseMCPServerStreamableHttp {
286
320
  name: this._name,
287
321
  version: '1.0.0', // You may want to make this configurable
288
322
  });
289
- const connectOptions = this.clientSessionTimeoutSeconds === undefined
290
- ? undefined
291
- : { timeout: this.clientSessionTimeoutSeconds * 1000 };
292
- await this.session.connect(this.transport, connectOptions);
323
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
324
+ await this.session.connect(this.transport, requestOptions);
293
325
  this.serverInitializeResult = {
294
326
  serverInfo: { name: this._name, version: '1.0.0' },
295
327
  };
@@ -314,7 +346,8 @@ class NodeMCPServerStreamableHttp extends mcp_1.BaseMCPServerStreamableHttp {
314
346
  return this._toolsList;
315
347
  }
316
348
  this._cacheDirty = false;
317
- const response = await this.session.listTools();
349
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
350
+ const response = await this.session.listTools(undefined, requestOptions);
318
351
  this.debugLog(() => `Listed tools: ${JSON.stringify(response)}`);
319
352
  this._toolsList = ListToolsResultSchema.parse(response).tools;
320
353
  return this._toolsList;
@@ -324,12 +357,11 @@ class NodeMCPServerStreamableHttp extends mcp_1.BaseMCPServerStreamableHttp {
324
357
  if (!this.session) {
325
358
  throw new Error('Server not initialized. Make sure you call connect() first.');
326
359
  }
360
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds, { timeout: this.timeout });
327
361
  const response = await this.session.callTool({
328
362
  name: toolName,
329
363
  arguments: args ?? {},
330
- }, undefined, {
331
- timeout: this.timeout,
332
- });
364
+ }, undefined, requestOptions);
333
365
  const parsed = CallToolResultSchema.parse(response);
334
366
  const result = parsed.content;
335
367
  this.debugLog(() => `Called tool ${toolName} (args: ${JSON.stringify(args)}, result: ${JSON.stringify(result)})`);
@@ -339,8 +371,22 @@ class NodeMCPServerStreamableHttp extends mcp_1.BaseMCPServerStreamableHttp {
339
371
  return this._name;
340
372
  }
341
373
  async close() {
342
- if (this.transport) {
343
- await this.transport.close();
374
+ const transport = this.transport;
375
+ if (hasSessionTransport(transport)) {
376
+ const sessionId = transport.sessionId;
377
+ if (sessionId && typeof transport.terminateSession === 'function') {
378
+ try {
379
+ // Best-effort cleanup: we do not actively manage session lifecycles,
380
+ // but if the server supports sessions we terminate to avoid leaks.
381
+ await transport.terminateSession();
382
+ }
383
+ catch (error) {
384
+ this.logger.warn('Failed to terminate MCP session:', error);
385
+ }
386
+ }
387
+ }
388
+ if (transport) {
389
+ await transport.close();
344
390
  this.transport = null;
345
391
  }
346
392
  if (this.session) {
@@ -1 +1 @@
1
- {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/shims/mcp-server/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.js","sourceRoot":"","sources":["../../../src/shims/mcp-server/node.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,19 @@ npm install @modelcontextprotocol/sdk
9
9
  `.trim());
10
10
  throw error;
11
11
  }
12
+ function buildRequestOptions(clientSessionTimeoutSeconds, overrides) {
13
+ const baseOptions = clientSessionTimeoutSeconds === undefined
14
+ ? undefined
15
+ : { timeout: clientSessionTimeoutSeconds * 1000 };
16
+ const mergedOptions = { ...(baseOptions ?? {}), ...(overrides ?? {}) };
17
+ return Object.keys(mergedOptions).length === 0 ? undefined : mergedOptions;
18
+ }
19
+ function hasSessionTransport(transport) {
20
+ return (transport != null &&
21
+ typeof transport.close === 'function' &&
22
+ (typeof transport.terminateSession === 'function' ||
23
+ transport.sessionId !== undefined));
24
+ }
12
25
  export class NodeMCPServerStdio extends BaseMCPServerStdio {
13
26
  session = null;
14
27
  _cacheDirty = true;
@@ -56,10 +69,8 @@ export class NodeMCPServerStdio extends BaseMCPServerStdio {
56
69
  name: this._name,
57
70
  version: '1.0.0', // You may want to make this configurable
58
71
  });
59
- const connectOptions = this.clientSessionTimeoutSeconds === undefined
60
- ? undefined
61
- : { timeout: this.clientSessionTimeoutSeconds * 1000 };
62
- await this.session.connect(this.transport, connectOptions);
72
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
73
+ await this.session.connect(this.transport, requestOptions);
63
74
  this.serverInitializeResult = {
64
75
  serverInfo: { name: this._name, version: '1.0.0' },
65
76
  };
@@ -84,7 +95,8 @@ export class NodeMCPServerStdio extends BaseMCPServerStdio {
84
95
  return this._toolsList;
85
96
  }
86
97
  this._cacheDirty = false;
87
- const response = await this.session.listTools();
98
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
99
+ const response = await this.session.listTools(undefined, requestOptions);
88
100
  this.debugLog(() => `Listed tools: ${JSON.stringify(response)}`);
89
101
  this._toolsList = ListToolsResultSchema.parse(response).tools;
90
102
  return this._toolsList;
@@ -94,12 +106,11 @@ export class NodeMCPServerStdio extends BaseMCPServerStdio {
94
106
  if (!this.session) {
95
107
  throw new Error('Server not initialized. Make sure you call connect() first.');
96
108
  }
109
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds, { timeout: this.timeout });
97
110
  const response = await this.session.callTool({
98
111
  name: toolName,
99
112
  arguments: args ?? {},
100
- }, undefined, {
101
- timeout: this.timeout,
102
- });
113
+ }, undefined, requestOptions);
103
114
  const parsed = CallToolResultSchema.parse(response);
104
115
  const result = parsed.content;
105
116
  this.debugLog(() => `Called tool ${toolName} (args: ${JSON.stringify(args)}, result: ${JSON.stringify(result)})`);
@@ -109,8 +120,19 @@ export class NodeMCPServerStdio extends BaseMCPServerStdio {
109
120
  return this._name;
110
121
  }
111
122
  async close() {
112
- if (this.transport) {
113
- await this.transport.close();
123
+ const transport = this.transport;
124
+ if (transport && typeof transport.terminateSession === 'function') {
125
+ try {
126
+ // Best-effort cleanup: we do not actively manage session lifecycles,
127
+ // but if the server supports sessions we terminate to avoid leaks.
128
+ await transport.terminateSession();
129
+ }
130
+ catch (error) {
131
+ this.logger.warn('Failed to terminate MCP session:', error);
132
+ }
133
+ }
134
+ if (transport) {
135
+ await transport.close();
114
136
  this.transport = null;
115
137
  }
116
138
  if (this.session) {
@@ -150,10 +172,8 @@ export class NodeMCPServerSSE extends BaseMCPServerSSE {
150
172
  name: this._name,
151
173
  version: '1.0.0', // You may want to make this configurable
152
174
  });
153
- const connectOptions = this.clientSessionTimeoutSeconds === undefined
154
- ? undefined
155
- : { timeout: this.clientSessionTimeoutSeconds * 1000 };
156
- await this.session.connect(this.transport, connectOptions);
175
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
176
+ await this.session.connect(this.transport, requestOptions);
157
177
  this.serverInitializeResult = {
158
178
  serverInfo: { name: this._name, version: '1.0.0' },
159
179
  };
@@ -178,7 +198,8 @@ export class NodeMCPServerSSE extends BaseMCPServerSSE {
178
198
  return this._toolsList;
179
199
  }
180
200
  this._cacheDirty = false;
181
- const response = await this.session.listTools();
201
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
202
+ const response = await this.session.listTools(undefined, requestOptions);
182
203
  this.debugLog(() => `Listed tools: ${JSON.stringify(response)}`);
183
204
  this._toolsList = ListToolsResultSchema.parse(response).tools;
184
205
  return this._toolsList;
@@ -188,12 +209,11 @@ export class NodeMCPServerSSE extends BaseMCPServerSSE {
188
209
  if (!this.session) {
189
210
  throw new Error('Server not initialized. Make sure you call connect() first.');
190
211
  }
212
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds, { timeout: this.timeout });
191
213
  const response = await this.session.callTool({
192
214
  name: toolName,
193
215
  arguments: args ?? {},
194
- }, undefined, {
195
- timeout: this.timeout,
196
- });
216
+ }, undefined, requestOptions);
197
217
  const parsed = CallToolResultSchema.parse(response);
198
218
  const result = parsed.content;
199
219
  this.debugLog(() => `Called tool ${toolName} (args: ${JSON.stringify(args)}, result: ${JSON.stringify(result)})`);
@@ -203,8 +223,22 @@ export class NodeMCPServerSSE extends BaseMCPServerSSE {
203
223
  return this._name;
204
224
  }
205
225
  async close() {
206
- if (this.transport) {
207
- await this.transport.close();
226
+ const transport = this.transport;
227
+ if (hasSessionTransport(transport)) {
228
+ const sessionId = transport.sessionId;
229
+ if (sessionId && typeof transport.terminateSession === 'function') {
230
+ try {
231
+ // Best-effort cleanup: we do not actively manage session lifecycles,
232
+ // but if the server supports sessions we terminate to avoid leaks.
233
+ await transport.terminateSession();
234
+ }
235
+ catch (error) {
236
+ this.logger.warn('Failed to terminate MCP session:', error);
237
+ }
238
+ }
239
+ }
240
+ if (transport) {
241
+ await transport.close();
208
242
  this.transport = null;
209
243
  }
210
244
  if (this.session) {
@@ -245,10 +279,8 @@ export class NodeMCPServerStreamableHttp extends BaseMCPServerStreamableHttp {
245
279
  name: this._name,
246
280
  version: '1.0.0', // You may want to make this configurable
247
281
  });
248
- const connectOptions = this.clientSessionTimeoutSeconds === undefined
249
- ? undefined
250
- : { timeout: this.clientSessionTimeoutSeconds * 1000 };
251
- await this.session.connect(this.transport, connectOptions);
282
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
283
+ await this.session.connect(this.transport, requestOptions);
252
284
  this.serverInitializeResult = {
253
285
  serverInfo: { name: this._name, version: '1.0.0' },
254
286
  };
@@ -273,7 +305,8 @@ export class NodeMCPServerStreamableHttp extends BaseMCPServerStreamableHttp {
273
305
  return this._toolsList;
274
306
  }
275
307
  this._cacheDirty = false;
276
- const response = await this.session.listTools();
308
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds);
309
+ const response = await this.session.listTools(undefined, requestOptions);
277
310
  this.debugLog(() => `Listed tools: ${JSON.stringify(response)}`);
278
311
  this._toolsList = ListToolsResultSchema.parse(response).tools;
279
312
  return this._toolsList;
@@ -283,12 +316,11 @@ export class NodeMCPServerStreamableHttp extends BaseMCPServerStreamableHttp {
283
316
  if (!this.session) {
284
317
  throw new Error('Server not initialized. Make sure you call connect() first.');
285
318
  }
319
+ const requestOptions = buildRequestOptions(this.clientSessionTimeoutSeconds, { timeout: this.timeout });
286
320
  const response = await this.session.callTool({
287
321
  name: toolName,
288
322
  arguments: args ?? {},
289
- }, undefined, {
290
- timeout: this.timeout,
291
- });
323
+ }, undefined, requestOptions);
292
324
  const parsed = CallToolResultSchema.parse(response);
293
325
  const result = parsed.content;
294
326
  this.debugLog(() => `Called tool ${toolName} (args: ${JSON.stringify(args)}, result: ${JSON.stringify(result)})`);
@@ -298,8 +330,22 @@ export class NodeMCPServerStreamableHttp extends BaseMCPServerStreamableHttp {
298
330
  return this._name;
299
331
  }
300
332
  async close() {
301
- if (this.transport) {
302
- await this.transport.close();
333
+ const transport = this.transport;
334
+ if (hasSessionTransport(transport)) {
335
+ const sessionId = transport.sessionId;
336
+ if (sessionId && typeof transport.terminateSession === 'function') {
337
+ try {
338
+ // Best-effort cleanup: we do not actively manage session lifecycles,
339
+ // but if the server supports sessions we terminate to avoid leaks.
340
+ await transport.terminateSession();
341
+ }
342
+ catch (error) {
343
+ this.logger.warn('Failed to terminate MCP session:', error);
344
+ }
345
+ }
346
+ }
347
+ if (transport) {
348
+ await transport.close();
303
349
  this.transport = null;
304
350
  }
305
351
  if (this.session) {
@@ -1 +1 @@
1
- {"version":3,"file":"node.mjs","sourceRoot":"","sources":["../../../src/shims/mcp-server/node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"node.mjs","sourceRoot":"","sources":["../../../src/shims/mcp-server/node.ts"],"names":[],"mappings":"OACO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C;OAIpF,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAQhB,0BAA0B,GAC3B;OACM,MAAM;AAMb,SAAS,cAAc,CAAC,KAAc;IACpC,MAAM,CAAC,KAAK,CACV;;;;KAIC,CAAC,IAAI,EAAE,CACT,CAAC;IACF,MAAM,KAAK,CAAC;AACd,CAAC;AAED,SAAS,mBAAmB,CAC1B,2BAAoC,EACpC,SAA0B;IAE1B,MAAM,WAAW,GACf,2BAA2B,KAAK,SAAS;QACvC,CAAC,CAAC,SAAS;QACX,CAAC,CAAC,EAAE,OAAO,EAAE,2BAA2B,GAAG,IAAI,EAAE,CAAC;IACtD,MAAM,aAAa,GAAG,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,SAAS,IAAI,EAAE,CAAC,EAAE,CAAC;IACvE,OAAO,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC;AAC7E,CAAC;AAOD,SAAS,mBAAmB,CAC1B,SAAc;IAEd,OAAO,CACL,SAAS,IAAI,IAAI;QACjB,OAAO,SAAS,CAAC,KAAK,KAAK,UAAU;QACrC,CAAC,OAAO,SAAS,CAAC,gBAAgB,KAAK,UAAU;YAC/C,SAAS,CAAC,SAAS,KAAK,SAAS,CAAC,CACrC,CAAC;AACJ,CAAC;AAED,MAAM,OAAO,kBAAmB,SAAQ,kBAAkB;IAC9C,OAAO,GAAkB,IAAI,CAAC;IAC9B,WAAW,GAAG,IAAI,CAAC;IACnB,UAAU,GAAU,EAAE,CAAC;IACvB,sBAAsB,GAA4B,IAAI,CAAC;IACvD,2BAA2B,CAAU;IACrC,OAAO,CAAS;IAE1B,MAAM,CAA+B;IAC7B,KAAK,CAAS;IACd,SAAS,GAAQ,IAAI,CAAC;IAE9B,YAAY,MAA6B;QACvC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,4BAA4B,CAAC;QAC9D,IAAI,aAAa,IAAI,MAAM,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;YACjC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,MAAM,GAAG;gBACZ,GAAG,MAAM;gBACT,OAAO,EAAE,OAAO;gBAChB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,OAAO;gBACpC,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,QAAQ;aAC9D,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,UAAU,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,EAAE,oBAAoB,EAAE,GAC5B,MAAM,MAAM,CAAC,2CAA2C,EAAE,KAAK,CAC7D,cAAc,CACf,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GACd,MAAM,MAAM,CAAC,2CAA2C,EAAE,KAAK,CAC7D,cAAc,CACf,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,IAAI,oBAAoB,CAAC;gBACxC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;gBAC5B,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,IAAI;gBACtB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;aACrB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC;gBACxB,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,OAAO,EAAE,OAAO,EAAE,yCAAyC;aAC5D,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,CACjC,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC3D,IAAI,CAAC,sBAAsB,GAAG;gBAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;aAC/B,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,4BAA4B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,EAAE,qBAAqB,EAAE,GAC7B,MAAM,MAAM,CAAC,oCAAoC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,CACjC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,IAAoC;QAEpC,MAAM,EAAE,oBAAoB,EAAE,GAC5B,MAAM,MAAM,CAAC,oCAAoC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,EAChC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC1C;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,EACD,SAAS,EACT,cAAc,CACf,CAAC;QACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,CACX,GAAG,EAAE,CACH,eAAe,QAAQ,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAC/F,CAAC;QACF,OAAO,MAA+B,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,SAAS,GAAQ,IAAI,CAAC,SAAS,CAAC;QAEtC,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;YAClE,IAAI,CAAC;gBACH,qEAAqE;gBACrE,mEAAmE;gBACnE,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC;QACD,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,gBAAiB,SAAQ,gBAAgB;IAC1C,OAAO,GAAkB,IAAI,CAAC;IAC9B,WAAW,GAAG,IAAI,CAAC;IACnB,UAAU,GAAU,EAAE,CAAC;IACvB,sBAAsB,GAA4B,IAAI,CAAC;IACvD,2BAA2B,CAAU;IACrC,OAAO,CAAS;IAE1B,MAAM,CAAsB;IACpB,KAAK,CAAS;IACd,SAAS,GAAQ,IAAI,CAAC;IAE9B,YAAY,MAA2B;QACrC,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,4BAA4B,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,EAAE,kBAAkB,EAAE,GAC1B,MAAM,MAAM,CAAC,yCAAyC,EAAE,KAAK,CAC3D,cAAc,CACf,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GACd,MAAM,MAAM,CAAC,2CAA2C,EAAE,KAAK,CAC7D,cAAc,CACf,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,IAAI,kBAAkB,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;gBAChE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,eAAe,EAAE,IAAI,CAAC,MAAM,CAAC,eAAe;gBAC5C,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;aACzB,CAAC,CAAC;YACH,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC;gBACxB,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,OAAO,EAAE,OAAO,EAAE,yCAAyC;aAC5D,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,CACjC,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC3D,IAAI,CAAC,sBAAsB,GAAG;gBAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;aAC/B,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,4BAA4B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,EAAE,qBAAqB,EAAE,GAC7B,MAAM,MAAM,CAAC,oCAAoC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,CACjC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,IAAoC;QAEpC,MAAM,EAAE,oBAAoB,EAAE,GAC5B,MAAM,MAAM,CAAC,oCAAoC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,EAChC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC1C;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,EACD,SAAS,EACT,cAAc,CACf,CAAC;QACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,CACX,GAAG,EAAE,CACH,eAAe,QAAQ,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAC/F,CAAC;QACF,OAAO,MAA+B,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YAEtC,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBAClE,IAAI,CAAC;oBACH,qEAAqE;oBACrE,mEAAmE;oBACnE,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;CACF;AAED,MAAM,OAAO,2BAA4B,SAAQ,2BAA2B;IAChE,OAAO,GAAkB,IAAI,CAAC;IAC9B,WAAW,GAAG,IAAI,CAAC;IACnB,UAAU,GAAU,EAAE,CAAC;IACvB,sBAAsB,GAA4B,IAAI,CAAC;IACvD,2BAA2B,CAAU;IACrC,OAAO,CAAS;IAE1B,MAAM,CAAiC;IAC/B,KAAK,CAAS;IACd,SAAS,GAAQ,IAAI,CAAC;IAE9B,YAAY,MAAsC;QAChD,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,2BAA2B,GAAG,MAAM,CAAC,2BAA2B,IAAI,CAAC,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,IAAI,IAAI,oBAAoB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,4BAA4B,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,EAAE,6BAA6B,EAAE,GACrC,MAAM,MAAM,CAAC,oDAAoD,EAAE,KAAK,CACtE,cAAc,CACf,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GACd,MAAM,MAAM,CAAC,2CAA2C,EAAE,KAAK,CAC7D,cAAc,CACf,CAAC;YACJ,IAAI,CAAC,SAAS,GAAG,IAAI,6BAA6B,CAChD,IAAI,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EACxB;gBACE,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,YAAY;gBACtC,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,WAAW;gBACpC,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK;gBACxB,mBAAmB,EAAE,IAAI,CAAC,MAAM,CAAC,mBAAmB;gBACpD,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS;aACjC,CACF,CAAC;YACF,IAAI,CAAC,OAAO,GAAG,IAAI,MAAM,CAAC;gBACxB,IAAI,EAAE,IAAI,CAAC,KAAK;gBAChB,OAAO,EAAE,OAAO,EAAE,yCAAyC;aAC5D,CAAC,CAAC;YACH,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,CACjC,CAAC;YACF,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;YAC3D,IAAI,CAAC,sBAAsB,GAAG;gBAC5B,UAAU,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE;aAC/B,CAAC;QACxB,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,CAAC,CAAC,CAAC;YACvD,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YACnB,MAAM,CAAC,CAAC;QACV,CAAC;QACD,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,4BAA4B,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,oBAAoB;QACxB,MAAM,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,SAAS;QACb,MAAM,EAAE,qBAAqB,EAAE,GAC7B,MAAM,MAAM,CAAC,oCAAoC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,cAAc,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YAChE,OAAO,IAAI,CAAC,UAAU,CAAC;QACzB,CAAC;QAED,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,CACjC,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,SAAS,EAAE,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACjE,IAAI,CAAC,UAAU,GAAG,qBAAqB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC;QAC9D,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,IAAoC;QAEpC,MAAM,EAAE,oBAAoB,EAAE,GAC5B,MAAM,MAAM,CAAC,oCAAoC,EAAE,KAAK,CAAC,cAAc,CAAC,CAAC;QAC3E,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACJ,CAAC;QACD,MAAM,cAAc,GAAG,mBAAmB,CACxC,IAAI,CAAC,2BAA2B,EAChC,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAC1B,CAAC;QACF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC1C;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,EACD,SAAS,EACT,cAAc,CACf,CAAC;QACF,MAAM,MAAM,GAAG,oBAAoB,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QACpD,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC;QAC9B,IAAI,CAAC,QAAQ,CACX,GAAG,EAAE,CACH,eAAe,QAAQ,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAC/F,CAAC;QACF,OAAO,MAA+B,CAAC;IACzC,CAAC;IAED,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QAEjC,IAAI,mBAAmB,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,SAAS,CAAC,SAAS,CAAC;YAEtC,IAAI,SAAS,IAAI,OAAO,SAAS,CAAC,gBAAgB,KAAK,UAAU,EAAE,CAAC;gBAClE,IAAI,CAAC;oBACH,qEAAqE;oBACrE,mEAAmE;oBACnE,MAAM,SAAS,CAAC,gBAAgB,EAAE,CAAC;gBACrC,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;QACH,CAAC;QAED,IAAI,SAAS,EAAE,CAAC;YACd,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;QACtB,CAAC;IACH,CAAC;CACF"}
package/dist/tool.d.ts CHANGED
@@ -9,6 +9,7 @@ import { RunToolApprovalItem, RunToolCallOutputItem } from './items';
9
9
  import * as ProviderData from './types/providerData';
10
10
  import * as protocol from './types/protocol';
11
11
  import type { ZodInfer, ZodObjectLike } from './utils/zodCompat';
12
+ import { ToolInputGuardrailDefinition, ToolOutputGuardrailDefinition, ToolInputGuardrailFunction, ToolOutputGuardrailFunction } from './toolGuardrail';
12
13
  export type { ToolOutputText, ToolOutputImage, ToolOutputFileContent, ToolCallStructuredOutput, ToolCallOutputContent, } from './types/protocol';
13
14
  /**
14
15
  * A function that determines if a tool call should be approved.
@@ -74,6 +75,14 @@ export type FunctionTool<Context = UnknownContext, TParameters extends ToolInput
74
75
  * Determines whether the tool should be made available to the model for the current run.
75
76
  */
76
77
  isEnabled: ToolEnabledFunction<Context>;
78
+ /**
79
+ * Guardrails that run before the tool executes.
80
+ */
81
+ inputGuardrails?: ToolInputGuardrailDefinition<Context>[];
82
+ /**
83
+ * Guardrails that run after the tool executes.
84
+ */
85
+ outputGuardrails?: ToolOutputGuardrailDefinition<Context>[];
77
86
  };
78
87
  /**
79
88
  * Arguments provided to computer initializers.
@@ -370,13 +379,29 @@ type ToolExecuteFunction<TParameters extends ToolInputParameters, Context = Unkn
370
379
  * @param error The error that occurred
371
380
  */
372
381
  type ToolErrorFunction = (context: RunContext, error: Error | unknown) => Promise<string> | string;
382
+ type ToolGuardrailOptions<Context = UnknownContext> = {
383
+ /**
384
+ * Guardrails that validate or block tool invocation before it runs.
385
+ */
386
+ inputGuardrails?: ToolInputGuardrailDefinition<Context>[] | {
387
+ name: string;
388
+ run: ToolInputGuardrailFunction<Context>;
389
+ }[];
390
+ /**
391
+ * Guardrails that validate or alter tool output after it runs.
392
+ */
393
+ outputGuardrails?: ToolOutputGuardrailDefinition<Context>[] | {
394
+ name: string;
395
+ run: ToolOutputGuardrailFunction<Context>;
396
+ }[];
397
+ };
373
398
  /**
374
399
  * The options for a tool that has strict mode enabled.
375
400
  *
376
401
  * @param TParameters The parameters of the tool
377
402
  * @param Context The context of the tool
378
403
  */
379
- type StrictToolOptions<TParameters extends ToolInputParametersStrict, Context = UnknownContext> = {
404
+ type StrictToolOptions<TParameters extends ToolInputParametersStrict, Context = UnknownContext> = ToolGuardrailOptions<Context> & {
380
405
  /**
381
406
  * The name of the tool. Must be unique within the agent.
382
407
  */
@@ -419,7 +444,7 @@ type StrictToolOptions<TParameters extends ToolInputParametersStrict, Context =
419
444
  * @param TParameters The parameters of the tool
420
445
  * @param Context The context of the tool
421
446
  */
422
- type NonStrictToolOptions<TParameters extends ToolInputParametersNonStrict, Context = UnknownContext> = {
447
+ type NonStrictToolOptions<TParameters extends ToolInputParametersNonStrict, Context = UnknownContext> = ToolGuardrailOptions<Context> & {
423
448
  /**
424
449
  * The name of the tool. Must be unique within the agent.
425
450
  */
@@ -461,6 +486,7 @@ type NonStrictToolOptions<TParameters extends ToolInputParametersNonStrict, Cont
461
486
  * @param Context The context of the tool
462
487
  */
463
488
  export type ToolOptions<TParameters extends ToolInputParameters, Context = UnknownContext> = StrictToolOptions<Extract<TParameters, ToolInputParametersStrict>, Context> | NonStrictToolOptions<Extract<TParameters, ToolInputParametersNonStrict>, Context>;
489
+ export type ToolOptionsWithGuardrails<TParameters extends ToolInputParameters, Context = UnknownContext> = ToolOptions<TParameters, Context>;
464
490
  /**
465
491
  * Exposes a function to the agent as a tool to be called
466
492
  *
package/dist/tool.js CHANGED
@@ -18,6 +18,7 @@ const errors_1 = require("./errors.js");
18
18
  const logger_1 = __importDefault(require("./logger.js"));
19
19
  const tracing_1 = require("./tracing/index.js");
20
20
  const smartString_1 = require("./utils/smartString.js");
21
+ const toolGuardrail_1 = require("./toolGuardrail.js");
21
22
  function isComputerProvider(candidate) {
22
23
  return (!!candidate &&
23
24
  typeof candidate === 'object' &&
@@ -313,7 +314,10 @@ function tool(options) {
313
314
  else {
314
315
  logger_1.default.debug(`Invalid JSON input for tool ${name}: ${input}`);
315
316
  }
316
- throw new errors_1.ModelBehaviorError('Invalid JSON input for tool');
317
+ // supply the same context as options.execute for consuming
318
+ // downstream code to implement self-healing and/or tracing
319
+ throw new errors_1.InvalidToolInputError('Invalid JSON input for tool', undefined, // no RunState available in this context
320
+ error, { runContext, input, details });
317
321
  }
318
322
  if (logger_1.default.dontLogToolData) {
319
323
  logger_1.default.debug(`Invoking tool ${name}`);
@@ -368,6 +372,8 @@ function tool(options) {
368
372
  invoke,
369
373
  needsApproval,
370
374
  isEnabled,
375
+ inputGuardrails: (0, toolGuardrail_1.resolveToolInputGuardrails)(options.inputGuardrails),
376
+ outputGuardrails: (0, toolGuardrail_1.resolveToolOutputGuardrails)(options.outputGuardrails),
371
377
  };
372
378
  }
373
379
  function buildRequireApproval(requireApproval) {