@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.
- package/dist/errors.d.ts +40 -0
- package/dist/errors.js +38 -1
- package/dist/errors.js.map +1 -1
- package/dist/errors.mjs +34 -0
- package/dist/errors.mjs.map +1 -1
- package/dist/index.d.ts +6 -2
- package/dist/index.js +13 -2
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +3 -1
- package/dist/index.mjs.map +1 -1
- package/dist/metadata.js +2 -2
- package/dist/metadata.mjs +2 -2
- package/dist/result.d.ts +17 -0
- package/dist/result.js +71 -24
- package/dist/result.js.map +1 -1
- package/dist/result.mjs +69 -22
- package/dist/result.mjs.map +1 -1
- package/dist/run.d.ts +14 -47
- package/dist/run.js +421 -994
- package/dist/run.js.map +1 -1
- package/dist/run.mjs +405 -978
- package/dist/run.mjs.map +1 -1
- package/dist/runState.d.ts +1286 -172
- package/dist/runState.js +146 -16
- package/dist/runState.js.map +1 -1
- package/dist/runState.mjs +142 -12
- package/dist/runState.mjs.map +1 -1
- package/dist/runner/constants.d.ts +1 -0
- package/dist/runner/constants.js +6 -0
- package/dist/runner/constants.js.map +1 -0
- package/dist/runner/constants.mjs +3 -0
- package/dist/runner/constants.mjs.map +1 -0
- package/dist/runner/conversation.d.ts +85 -0
- package/dist/runner/conversation.js +275 -0
- package/dist/runner/conversation.js.map +1 -0
- package/dist/runner/conversation.mjs +269 -0
- package/dist/runner/conversation.mjs.map +1 -0
- package/dist/runner/guardrails.d.ts +23 -0
- package/dist/runner/guardrails.js +174 -0
- package/dist/runner/guardrails.js.map +1 -0
- package/dist/runner/guardrails.mjs +166 -0
- package/dist/runner/guardrails.mjs.map +1 -0
- package/dist/runner/items.d.ts +18 -0
- package/dist/runner/items.js +89 -0
- package/dist/runner/items.js.map +1 -0
- package/dist/runner/items.mjs +79 -0
- package/dist/runner/items.mjs.map +1 -0
- package/dist/runner/mcpApprovals.d.ts +25 -0
- package/dist/runner/mcpApprovals.js +66 -0
- package/dist/runner/mcpApprovals.js.map +1 -0
- package/dist/runner/mcpApprovals.mjs +63 -0
- package/dist/runner/mcpApprovals.mjs.map +1 -0
- package/dist/runner/modelOutputs.d.ts +10 -0
- package/dist/runner/modelOutputs.js +206 -0
- package/dist/runner/modelOutputs.js.map +1 -0
- package/dist/runner/modelOutputs.mjs +203 -0
- package/dist/runner/modelOutputs.mjs.map +1 -0
- package/dist/runner/modelPreparation.d.ts +8 -0
- package/dist/runner/modelPreparation.js +41 -0
- package/dist/runner/modelPreparation.js.map +1 -0
- package/dist/runner/modelPreparation.mjs +38 -0
- package/dist/runner/modelPreparation.mjs.map +1 -0
- package/dist/runner/modelSettings.d.ts +20 -0
- package/dist/runner/modelSettings.js +97 -0
- package/dist/runner/modelSettings.js.map +1 -0
- package/dist/runner/modelSettings.mjs +92 -0
- package/dist/runner/modelSettings.mjs.map +1 -0
- package/dist/runner/runLoop.d.ts +32 -0
- package/dist/runner/runLoop.js +62 -0
- package/dist/runner/runLoop.js.map +1 -0
- package/dist/runner/runLoop.mjs +57 -0
- package/dist/runner/runLoop.mjs.map +1 -0
- package/dist/runner/sessionPersistence.d.ts +26 -0
- package/dist/runner/sessionPersistence.js +441 -0
- package/dist/runner/sessionPersistence.js.map +1 -0
- package/dist/runner/sessionPersistence.mjs +431 -0
- package/dist/runner/sessionPersistence.mjs.map +1 -0
- package/dist/runner/steps.d.ts +48 -0
- package/dist/runner/steps.js +40 -0
- package/dist/runner/steps.js.map +1 -0
- package/dist/runner/steps.mjs +36 -0
- package/dist/runner/steps.mjs.map +1 -0
- package/dist/runner/streaming.d.ts +9 -0
- package/dist/runner/streaming.js +74 -0
- package/dist/runner/streaming.js.map +1 -0
- package/dist/runner/streaming.mjs +65 -0
- package/dist/runner/streaming.mjs.map +1 -0
- package/dist/runner/toolExecution.d.ts +15 -0
- package/dist/runner/toolExecution.js +997 -0
- package/dist/runner/toolExecution.js.map +1 -0
- package/dist/runner/toolExecution.mjs +984 -0
- package/dist/runner/toolExecution.mjs.map +1 -0
- package/dist/runner/toolUseTracker.d.ts +9 -0
- package/dist/runner/toolUseTracker.js +34 -0
- package/dist/runner/toolUseTracker.js.map +1 -0
- package/dist/runner/toolUseTracker.mjs +30 -0
- package/dist/runner/toolUseTracker.mjs.map +1 -0
- package/dist/runner/tracing.d.ts +23 -0
- package/dist/runner/tracing.js +45 -0
- package/dist/runner/tracing.js.map +1 -0
- package/dist/runner/tracing.mjs +41 -0
- package/dist/runner/tracing.mjs.map +1 -0
- package/dist/runner/turnPreparation.d.ts +30 -0
- package/dist/runner/turnPreparation.js +80 -0
- package/dist/runner/turnPreparation.js.map +1 -0
- package/dist/runner/turnPreparation.mjs +74 -0
- package/dist/runner/turnPreparation.mjs.map +1 -0
- package/dist/runner/turnResolution.d.ts +3 -0
- package/dist/runner/turnResolution.js +531 -0
- package/dist/runner/turnResolution.js.map +1 -0
- package/dist/runner/turnResolution.mjs +526 -0
- package/dist/runner/turnResolution.mjs.map +1 -0
- package/dist/runner/types.d.ts +66 -0
- package/dist/runner/types.js +3 -0
- package/dist/runner/types.js.map +1 -0
- package/dist/runner/types.mjs +2 -0
- package/dist/runner/types.mjs.map +1 -0
- package/dist/shims/mcp-server/node.js +76 -30
- package/dist/shims/mcp-server/node.js.map +1 -1
- package/dist/shims/mcp-server/node.mjs +76 -30
- package/dist/shims/mcp-server/node.mjs.map +1 -1
- package/dist/tool.d.ts +28 -2
- package/dist/tool.js +7 -1
- package/dist/tool.js.map +1 -1
- package/dist/tool.mjs +8 -2
- package/dist/tool.mjs.map +1 -1
- package/dist/toolGuardrail.d.ts +101 -0
- package/dist/toolGuardrail.js +58 -0
- package/dist/toolGuardrail.js.map +1 -0
- package/dist/toolGuardrail.mjs +51 -0
- package/dist/toolGuardrail.mjs.map +1 -0
- package/dist/tracing/config.d.ts +3 -0
- package/dist/tracing/config.js +3 -0
- package/dist/tracing/config.js.map +1 -0
- package/dist/tracing/config.mjs +2 -0
- package/dist/tracing/config.mjs.map +1 -0
- package/dist/tracing/context.d.ts +2 -0
- package/dist/tracing/context.js +95 -24
- package/dist/tracing/context.js.map +1 -1
- package/dist/tracing/context.mjs +95 -24
- package/dist/tracing/context.mjs.map +1 -1
- package/dist/tracing/createSpans.d.ts +11 -11
- package/dist/tracing/index.d.ts +2 -0
- package/dist/tracing/index.js.map +1 -1
- package/dist/tracing/index.mjs.map +1 -1
- package/dist/tracing/provider.js +54 -4
- package/dist/tracing/provider.js.map +1 -1
- package/dist/tracing/provider.mjs +54 -4
- package/dist/tracing/provider.mjs.map +1 -1
- package/dist/tracing/spans.d.ts +2 -0
- package/dist/tracing/spans.js +6 -0
- package/dist/tracing/spans.js.map +1 -1
- package/dist/tracing/spans.mjs +6 -0
- package/dist/tracing/spans.mjs.map +1 -1
- package/dist/tracing/traces.d.ts +11 -1
- package/dist/tracing/traces.js +15 -2
- package/dist/tracing/traces.js.map +1 -1
- package/dist/tracing/traces.mjs +15 -2
- package/dist/tracing/traces.mjs.map +1 -1
- package/dist/types/protocol.d.ts +11 -0
- package/dist/types/protocol.js +1 -0
- package/dist/types/protocol.js.map +1 -1
- package/dist/types/protocol.mjs +1 -0
- package/dist/types/protocol.mjs.map +1 -1
- package/dist/utils/binary.d.ts +6 -0
- package/dist/utils/binary.js +53 -0
- package/dist/utils/binary.js.map +1 -0
- package/dist/utils/binary.mjs +49 -0
- package/dist/utils/binary.mjs.map +1 -0
- package/dist/utils/toolGuardrails.d.ts +24 -0
- package/dist/utils/toolGuardrails.js +58 -0
- package/dist/utils/toolGuardrails.js.map +1 -0
- package/dist/utils/toolGuardrails.mjs +54 -0
- package/dist/utils/toolGuardrails.mjs.map +1 -0
- package/package.json +4 -3
- package/dist/runImplementation.d.ts +0 -161
- package/dist/runImplementation.js +0 -2054
- package/dist/runImplementation.js.map +0 -1
- package/dist/runImplementation.mjs +0 -2028
- 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
|
|
99
|
-
|
|
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
|
|
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
|
-
|
|
152
|
-
|
|
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
|
|
194
|
-
|
|
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
|
|
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
|
-
|
|
247
|
-
|
|
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
|
|
290
|
-
|
|
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
|
|
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
|
-
|
|
343
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,8EAA4F;AAI5F,sCAYmB;AACnB,6DAAkC;AAMlC,SAAS,cAAc,CAAC,KAAc;IACpC,gBAAM,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,MAAa,kBAAmB,SAAQ,wBAAkB;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,0CAA4B,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,kDAAO,2CAA2C,IAAE,KAAK,CAC7D,cAAc,CACf,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GACd,MAAM,kDAAO,2CAA2C,IAAE,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,IAAA,gCAA0B,EAAC,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,kDAAO,oCAAoC,IAAE,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,kDAAO,oCAAoC,IAAE,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;AA1JD,gDA0JC;AAED,MAAa,gBAAiB,SAAQ,sBAAgB;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,0CAA4B,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,EAAE,kBAAkB,EAAE,GAC1B,MAAM,kDAAO,yCAAyC,IAAE,KAAK,CAC3D,cAAc,CACf,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GACd,MAAM,kDAAO,2CAA2C,IAAE,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,IAAA,gCAA0B,EAAC,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,kDAAO,oCAAoC,IAAE,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,kDAAO,oCAAoC,IAAE,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;AAhJD,4CAgJC;AAED,MAAa,2BAA4B,SAAQ,iCAA2B;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,0CAA4B,CAAC;IAChE,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC;YACH,MAAM,EAAE,6BAA6B,EAAE,GACrC,MAAM,kDAAO,oDAAoD,IAAE,KAAK,CACtE,cAAc,CACf,CAAC;YACJ,MAAM,EAAE,MAAM,EAAE,GACd,MAAM,kDAAO,2CAA2C,IAAE,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,IAAA,gCAA0B,EAAC,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,kDAAO,oCAAoC,IAAE,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,kDAAO,oCAAoC,IAAE,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;AApJD,kEAoJC"}
|
|
@@ -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
|
|
60
|
-
|
|
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
|
|
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
|
-
|
|
113
|
-
|
|
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
|
|
154
|
-
|
|
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
|
|
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
|
-
|
|
207
|
-
|
|
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
|
|
249
|
-
|
|
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
|
|
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
|
-
|
|
302
|
-
|
|
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":"OACO,EAAE,4BAA4B,EAAE,MAAM,8CAA8C;OAEpF,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,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,GAClB,IAAI,CAAC,2BAA2B,KAAK,SAAS;gBAC5C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,2BAA2B,GAAG,IAAI,EAAE,CAAC;YAC3D,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,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAChD,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,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC1C;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,EACD,SAAS,EACT;YACE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,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,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC7B,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,GAClB,IAAI,CAAC,2BAA2B,KAAK,SAAS;gBAC5C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,2BAA2B,GAAG,IAAI,EAAE,CAAC;YAC3D,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,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAChD,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,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC1C;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,EACD,SAAS,EACT;YACE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,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,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC7B,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,GAClB,IAAI,CAAC,2BAA2B,KAAK,SAAS;gBAC5C,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,CAAC,2BAA2B,GAAG,IAAI,EAAE,CAAC;YAC3D,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,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;QAChD,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,QAAQ,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,CAC1C;YACE,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI,IAAI,EAAE;SACtB,EACD,SAAS,EACT;YACE,OAAO,EAAE,IAAI,CAAC,OAAO;SACtB,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,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAC7B,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"}
|
|
1
|
+
{"version":3,"file":"node.mjs","sourceRoot":"","sources":["../../../src/shims/mcp-server/node.ts"],"names":[],"mappings":"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"}
|
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
|
-
|
|
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) {
|