@openai/agents-core 0.3.3 → 0.3.5

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/agent.d.ts CHANGED
@@ -6,17 +6,29 @@ import type { Model, ModelSettings, Prompt } from './model';
6
6
  import type { RunContext } from './runContext';
7
7
  import { type FunctionTool, type FunctionToolResult, type Tool, type ToolApprovalFunction } from './tool';
8
8
  import type { ResolvedAgentOutput, JsonSchemaDefinition, HandoffsOutput, Expand } from './types';
9
- import type { RunResult } from './result';
9
+ import type { RunResult, StreamedRunResult } from './result';
10
10
  import { type Handoff } from './handoff';
11
- import { NonStreamRunOptions, RunConfig } from './run';
11
+ import { StreamRunOptions, RunConfig } from './run';
12
12
  import { RunToolApprovalItem } from './items';
13
13
  import { UnknownContext, TextOutput } from './types';
14
14
  import type * as protocol from './types/protocol';
15
15
  import type { ZodObjectLike } from './utils/zodCompat';
16
- type AnyAgentRunResult = RunResult<any, Agent<any, any>>;
17
- type CompletedRunResult<TContext, TAgent extends Agent<TContext, any>> = RunResult<TContext, TAgent> & {
16
+ import type { RunStreamEvent } from './events';
17
+ type AnyAgentRunResult = RunResult<any, Agent<any, any>> | StreamedRunResult<any, Agent<any, any>>;
18
+ type CompletedRunResult<TContext, TAgent extends Agent<TContext, any>> = (RunResult<TContext, TAgent> | StreamedRunResult<TContext, TAgent>) & {
18
19
  finalOutput: ResolvedAgentOutput<TAgent['outputType']>;
19
20
  };
21
+ type AgentToolRunOptions<TContext> = Omit<StreamRunOptions<TContext>, 'stream'>;
22
+ type AgentToolStreamEvent<TAgent extends Agent<any, any>> = {
23
+ event: RunStreamEvent;
24
+ agent: TAgent;
25
+ toolCall?: protocol.FunctionCallItem;
26
+ };
27
+ type AgentToolEventName = RunStreamEvent['type'] | '*';
28
+ type AgentToolEventHandler<TAgent extends Agent<any, any>> = (event: AgentToolStreamEvent<TAgent>) => void | Promise<void>;
29
+ type AgentTool<TContext, TAgent extends Agent<TContext, any>> = FunctionTool<TContext, typeof AgentAsToolNeedApprovalSchame> & {
30
+ on: (name: AgentToolEventName, handler: AgentToolEventHandler<TAgent>) => AgentTool<TContext, TAgent>;
31
+ };
20
32
  export declare function saveAgentToolRunResult(toolCall: protocol.FunctionCallItem | undefined, runResult: AnyAgentRunResult): void;
21
33
  export declare function consumeAgentToolRunResult(toolCall: protocol.FunctionCallItem): AnyAgentRunResult | undefined;
22
34
  export type ToolUseBehaviorFlags = 'run_llm_again' | 'stop_on_first_tool';
@@ -293,7 +305,7 @@ export declare class Agent<TContext = UnknownContext, TOutput extends AgentOutpu
293
305
  /**
294
306
  * Additional run options for the agent (as tool) execution.
295
307
  */
296
- runOptions?: NonStreamRunOptions<TContext>;
308
+ runOptions?: AgentToolRunOptions<TContext>;
297
309
  /**
298
310
  * Determines whether this tool should be exposed to the model for the current run.
299
311
  */
@@ -301,7 +313,11 @@ export declare class Agent<TContext = UnknownContext, TOutput extends AgentOutpu
301
313
  runContext: RunContext<TContext>;
302
314
  agent: Agent<TContext, TOutput>;
303
315
  }) => boolean | Promise<boolean>);
304
- }): FunctionTool<TContext, typeof AgentAsToolNeedApprovalSchame>;
316
+ /**
317
+ * Optional hook to receive streamed events from the nested agent run.
318
+ */
319
+ onStream?: (event: AgentToolStreamEvent<TAgent>) => void | Promise<void>;
320
+ }): AgentTool<TContext, TAgent>;
305
321
  /**
306
322
  * Returns the system prompt for the agent.
307
323
  *
package/dist/agent.js CHANGED
@@ -174,8 +174,22 @@ class Agent extends lifecycle_1.AgentHooks {
174
174
  * @returns A tool that runs the agent and returns the output text.
175
175
  */
176
176
  asTool(options) {
177
- const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, } = options;
178
- return (0, tool_1.tool)({
177
+ const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, onStream, } = options;
178
+ // Event handlers are scoped to this agent tool instance and are not shared; we only support registration (no removal) to keep the API surface small.
179
+ const eventHandlers = new Map();
180
+ const emitEvent = async (event) => {
181
+ // We intentionally keep only add semantics (no off) to reduce surface area; handlers are scoped to this agent tool instance.
182
+ const specific = eventHandlers.get(event.event.type);
183
+ const wildcard = eventHandlers.get('*');
184
+ const candidates = [
185
+ ...(onStream ? [onStream] : []),
186
+ ...(specific ? Array.from(specific) : []),
187
+ ...(wildcard ? Array.from(wildcard) : []),
188
+ ];
189
+ // Run all handlers in parallel so a slow onStream callback does not block on(...) handlers (and vice versa).
190
+ await Promise.allSettled(candidates.map((handler) => Promise.resolve().then(() => handler(event))));
191
+ };
192
+ const baseTool = (0, tool_1.tool)({
179
193
  name: toolName ?? (0, tools_1.toFunctionToolName)(this.name),
180
194
  description: toolDescription ?? '',
181
195
  parameters: AgentAsToolNeedApprovalSchame,
@@ -187,10 +201,35 @@ class Agent extends lifecycle_1.AgentHooks {
187
201
  throw new errors_1.ModelBehaviorError('Agent tool called with invalid input');
188
202
  }
189
203
  const runner = new run_1.Runner(runConfig ?? {});
190
- const result = await runner.run(this, data.input, {
191
- context,
192
- ...(runOptions ?? {}),
193
- });
204
+ // Only flip to streaming mode when a handler is provided to avoid extra overhead for callers that do not need events.
205
+ // Flip to streaming if either a legacy onStream callback or event handlers are registered; otherwise stay on the non-stream path to avoid extra overhead.
206
+ const shouldStream = typeof onStream === 'function' || eventHandlers.size > 0;
207
+ const result = shouldStream
208
+ ? await runner.run(this, data.input, {
209
+ context,
210
+ ...(runOptions ?? {}),
211
+ stream: true,
212
+ })
213
+ : await runner.run(this, data.input, {
214
+ context,
215
+ ...(runOptions ?? {}),
216
+ });
217
+ const streamPayload = {
218
+ agent: this,
219
+ toolCall: details?.toolCall,
220
+ };
221
+ if (shouldStream) {
222
+ // Cast through unknown: the async iterator shape matches and we want to drain the stream for side effects while keeping the public API stable.
223
+ const streamResult = result;
224
+ // Drain the stream to deliver every event to registered handlers; ensure completion awaited so the nested run finishes before returning.
225
+ for await (const event of streamResult) {
226
+ await emitEvent({
227
+ event,
228
+ ...streamPayload,
229
+ });
230
+ }
231
+ await streamResult.completed;
232
+ }
194
233
  const completedResult = result;
195
234
  const usesStopAtToolNames = typeof this.toolUseBehavior === 'object' &&
196
235
  this.toolUseBehavior !== null &&
@@ -208,6 +247,16 @@ class Agent extends lifecycle_1.AgentHooks {
208
247
  return outputText;
209
248
  },
210
249
  });
250
+ const agentTool = {
251
+ ...baseTool,
252
+ on: (name, handler) => {
253
+ const set = eventHandlers.get(name) ?? new Set();
254
+ set.add(handler);
255
+ eventHandlers.set(name, set);
256
+ return agentTool;
257
+ },
258
+ };
259
+ return agentTool;
211
260
  }
212
261
  /**
213
262
  * Returns the system prompt for the agent.
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":";;;;;;AAuDA,wDAOC;AAED,8DASC;AAzED,6BAAwB;AAGxB,8CAAyC;AACzC,kCAAuD;AAEvD,oDAIwB;AAExB,oCAOgB;AAQhB,0CAAqD;AACrD,kCAA+D;AAC/D,4CAAmD;AACnD,kDAAiD;AACjD,sDAAsD;AACtD,sDAAiD;AACjD,wCAAyD;AAEzD,yDAA8B;AAa9B,wEAAwE;AACxE,4EAA4E;AAC5E,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAGpC,CAAC;AAEJ,SAAgB,sBAAsB,CACpC,QAA+C,EAC/C,SAA4B;IAE5B,IAAI,QAAQ,EAAE,CAAC;QACb,mBAAmB,CAAC,GAAG,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,SAAgB,yBAAyB,CACvC,QAAmC;IAEnC,MAAM,SAAS,GAAG,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACpD,IAAI,SAAS,EAAE,CAAC;QACd,mBAAmB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAyPD,4FAA4F;AAC5F,MAAM,6BAA6B,GAAG,OAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEtE;;;;;;;;;GASG;AACH,MAAa,KAIX,SAAQ,sBAA6B;IAGrC;;OAEG;IACH,MAAM,CAAC,MAAM,CAIX,MAAkD;QAElD,OAAO,IAAI,KAAK,CAA0D;YACxE,GAAG,MAAM;YACT,QAAQ,EAAE,MAAM,CAAC,QAAe;YAChC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,+BAA+B,EAAE,KAAK;SACvC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,CAAC,yBAAyB,GAAG,EAAE,CAAC;IAEtC,IAAI,CAAS;IACb,YAAY,CAKuB;IACnC,MAAM,CAK6B;IACnC,kBAAkB,CAAS;IAC3B,QAAQ,CAAkD;IAC1D,KAAK,CAAiB;IACtB,aAAa,CAAgB;IAC7B,KAAK,CAAmB;IACxB,UAAU,CAAc;IACxB,eAAe,CAAmB;IAClC,gBAAgB,CAAqC;IACrD,UAAU,GAAY,MAAiB,CAAC;IACxC,eAAe,CAAkB;IACjC,eAAe,CAAU;IACR,0BAA0B,CAAU;IAErD,YAAY,MAAuC;QACjD,KAAK,EAAE,CAAC;QACR,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACjE,MAAM,IAAI,kBAAS,CAAC,yBAAyB,CAAC,CAAC;QACjD,CAAC;QACD,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,IAAI,KAAK,CAAC,yBAAyB,CAAC;QAC3E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;QAC5B,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,IAAI,EAAE,CAAC;QAC1D,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,IAAA,sCAAuB,GAAE,CAAC;QACvE,IAAI,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAC;QAChC,IAAI,CAAC,0BAA0B,GAAG,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC;QAC7D,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC;QAC1C,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,EAAE,CAAC;QACpD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,IAAI,EAAE,CAAC;QACtD,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;YACtB,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACtC,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,eAAe,CAAC;QACjE,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,eAAe,IAAI,IAAI,CAAC;QAEtD;QACE,oCAAoC;QACpC,MAAM,CAAC,KAAK,KAAK,SAAS;YAC1B,6BAA6B;YAC7B,IAAA,4BAAa,GAAE;YACf,oDAAoD;YACpD,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;gBAC/B,CAAC,IAAA,4CAA6B,EAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC/C,gEAAgE;YAChE,MAAM,CAAC,aAAa,KAAK,SAAS,EAClC,CAAC;YACD,2DAA2D;YAC3D,qFAAqF;YACrF,8EAA8E;YAC9E,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QAC1B,CAAC;QAED,gEAAgE;QAChE,IACE,MAAM,CAAC,+BAA+B,KAAK,SAAS;YACpD,MAAM,CAAC,+BAA+B,EACtC,CAAC;YACD,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;gBACrC,MAAM,WAAW,GAAG,IAAI,GAAG,CAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;gBACvE,KAAK,MAAM,CAAC,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAC9B,IAAI,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;wBACtC,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;oBAChD,CAAC;yBAAM,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;wBAC9C,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC;oBACtD,CAAC;gBACH,CAAC;gBACD,IAAI,WAAW,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;oBACzB,gBAAM,CAAC,IAAI,CACT,gEAAgE,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,4EAA4E,CAC/K,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,IAAI,gBAAgB;QAClB,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC/B,OAAO,MAAM,CAAC;QAChB,CAAC;aAAM,IAAI,IAAA,wBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACxC,OAAO,WAAW,CAAC;QACrB,CAAC;aAAM,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YAC/C,OAAO,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAC9B,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;;;;;;;OASG;IACH,KAAK,CACH,MAAsD;QAEtD,OAAO,IAAI,KAAK,CAAC;YACf,GAAG,IAAI;YACP,GAAG,MAAM;SACV,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;;;;OAWG;IACH,MAAM,CAEJ,OAyCC;QAED,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,GACV,GAAG,OAAO,CAAC;QACZ,OAAO,IAAA,WAAI,EAAC;YACV,IAAI,EAAE,QAAQ,IAAI,IAAA,0BAAkB,EAAC,IAAI,CAAC,IAAI,CAAC;YAC/C,WAAW,EAAE,eAAe,IAAI,EAAE;YAClC,UAAU,EAAE,6BAA6B;YACzC,MAAM,EAAE,IAAI;YACZ,aAAa;YACb,SAAS;YACT,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;gBACxC,IAAI,CAAC,IAAA,6BAAgB,EAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,2BAAkB,CAAC,sCAAsC,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,YAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE;oBAChD,OAAO;oBACP,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;iBACtB,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,MAA8C,CAAC;gBAEvE,MAAM,mBAAmB,GACvB,OAAO,IAAI,CAAC,eAAe,KAAK,QAAQ;oBACxC,IAAI,CAAC,eAAe,KAAK,IAAI;oBAC7B,iBAAiB,IAAI,IAAI,CAAC,eAAe,CAAC;gBAE5C,IACE,OAAO,qBAAqB,KAAK,UAAU;oBAC3C,mBAAmB,EACnB,CAAC;oBACD,gBAAM,CAAC,KAAK,CACV,mCAAmC,IAAI,CAAC,IAAI,0MAA0M,CACvP,CAAC;gBACJ,CAAC;gBACD,MAAM,UAAU,GACd,OAAO,qBAAqB,KAAK,UAAU;oBACzC,CAAC,CAAC,MAAM,qBAAqB,CAAC,eAAe,CAAC;oBAC9C,CAAC,CAAC,IAAA,wBAAa,EACX,eAAe,CAAC,YAAY,CAC1B,eAAe,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CACxC,CACF,CAAC;gBAER,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;oBACtB,sBAAsB,CACpB,OAAO,CAAC,QAAQ,EAChB,eAAkD,CACnD,CAAC;gBACJ,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;SACF,CAAC,CAAC;IACL,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,eAAe,CACnB,UAAgC;QAEhC,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,UAAU,EAAE,CAAC;YAC5C,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACnD,CAAC;QAED,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,SAAS,CACb,UAAgC;QAEhC,IAAI,OAAO,IAAI,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACtC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,WAAW,CACf,UAAgC;QAEhC,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,OAAO,IAAA,oBAAc,EAAC;gBACpB,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,UAAU;gBACV,KAAK,EAAE,IAAI;gBACX,sBAAsB,EAAE,KAAK;aAC9B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,WAAW,CACf,UAAgC;QAEhC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,YAAY,GAAqB,EAAE,CAAC;QAE1C,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACnC,IAAI,SAAS,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAClC,MAAM,cAAc,GAClB,SACD,CAAC,SAAS,CAAC;gBAEZ,MAAM,OAAO,GACX,OAAO,cAAc,KAAK,UAAU;oBAClC,CAAC,CAAC,MAAM,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC;oBACxC,CAAC,CAAC,OAAO,cAAc,KAAK,SAAS;wBACnC,CAAC,CAAC,cAAc;wBAChB,CAAC,CAAC,IAAI,CAAC;gBACb,IAAI,CAAC,OAAO,EAAE,CAAC;oBACb,SAAS;gBACX,CAAC;YACH,CAAC;YACD,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAED,OAAO,CAAC,GAAG,QAAQ,EAAE,GAAG,YAAY,CAAC,CAAC;IACxC,CAAC;IAED,qBAAqB;QACnB,OAAO,IAAI,CAAC,0BAA0B,CAAC;IACzC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,kBAAkB,CACtB,UAAgC;QAEhC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,oBAAU,EAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAChE,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,IAAI,MAAM,OAAO,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC;gBACzD,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAAC,MAAc;QAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,MAAM,EAAE,CAAC;YAC/B,OAAO,MAAsC,CAAC;QAChD,CAAC;QAED,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAElC,IAAI,IAAA,wBAAW,EAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBACjC,OAAO,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,CAAiC,CAAC;YACvE,CAAC;YAED,OAAO,MAAsC,CAAC;QAChD,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,IAAI;SAChB,CAAC;IACJ,CAAC;;AApZH,sBAqZC"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/agent.mjs CHANGED
@@ -166,8 +166,22 @@ export class Agent extends AgentHooks {
166
166
  * @returns A tool that runs the agent and returns the output text.
167
167
  */
168
168
  asTool(options) {
169
- const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, } = options;
170
- return tool({
169
+ const { toolName, toolDescription, customOutputExtractor, needsApproval, runConfig, runOptions, isEnabled, onStream, } = options;
170
+ // Event handlers are scoped to this agent tool instance and are not shared; we only support registration (no removal) to keep the API surface small.
171
+ const eventHandlers = new Map();
172
+ const emitEvent = async (event) => {
173
+ // We intentionally keep only add semantics (no off) to reduce surface area; handlers are scoped to this agent tool instance.
174
+ const specific = eventHandlers.get(event.event.type);
175
+ const wildcard = eventHandlers.get('*');
176
+ const candidates = [
177
+ ...(onStream ? [onStream] : []),
178
+ ...(specific ? Array.from(specific) : []),
179
+ ...(wildcard ? Array.from(wildcard) : []),
180
+ ];
181
+ // Run all handlers in parallel so a slow onStream callback does not block on(...) handlers (and vice versa).
182
+ await Promise.allSettled(candidates.map((handler) => Promise.resolve().then(() => handler(event))));
183
+ };
184
+ const baseTool = tool({
171
185
  name: toolName ?? toFunctionToolName(this.name),
172
186
  description: toolDescription ?? '',
173
187
  parameters: AgentAsToolNeedApprovalSchame,
@@ -179,10 +193,35 @@ export class Agent extends AgentHooks {
179
193
  throw new ModelBehaviorError('Agent tool called with invalid input');
180
194
  }
181
195
  const runner = new Runner(runConfig ?? {});
182
- const result = await runner.run(this, data.input, {
183
- context,
184
- ...(runOptions ?? {}),
185
- });
196
+ // Only flip to streaming mode when a handler is provided to avoid extra overhead for callers that do not need events.
197
+ // Flip to streaming if either a legacy onStream callback or event handlers are registered; otherwise stay on the non-stream path to avoid extra overhead.
198
+ const shouldStream = typeof onStream === 'function' || eventHandlers.size > 0;
199
+ const result = shouldStream
200
+ ? await runner.run(this, data.input, {
201
+ context,
202
+ ...(runOptions ?? {}),
203
+ stream: true,
204
+ })
205
+ : await runner.run(this, data.input, {
206
+ context,
207
+ ...(runOptions ?? {}),
208
+ });
209
+ const streamPayload = {
210
+ agent: this,
211
+ toolCall: details?.toolCall,
212
+ };
213
+ if (shouldStream) {
214
+ // Cast through unknown: the async iterator shape matches and we want to drain the stream for side effects while keeping the public API stable.
215
+ const streamResult = result;
216
+ // Drain the stream to deliver every event to registered handlers; ensure completion awaited so the nested run finishes before returning.
217
+ for await (const event of streamResult) {
218
+ await emitEvent({
219
+ event,
220
+ ...streamPayload,
221
+ });
222
+ }
223
+ await streamResult.completed;
224
+ }
186
225
  const completedResult = result;
187
226
  const usesStopAtToolNames = typeof this.toolUseBehavior === 'object' &&
188
227
  this.toolUseBehavior !== null &&
@@ -200,6 +239,16 @@ export class Agent extends AgentHooks {
200
239
  return outputText;
201
240
  },
202
241
  });
242
+ const agentTool = {
243
+ ...baseTool,
244
+ on: (name, handler) => {
245
+ const set = eventHandlers.get(name) ?? new Set();
246
+ set.add(handler);
247
+ eventHandlers.set(name, set);
248
+ return agentTool;
249
+ },
250
+ };
251
+ return agentTool;
203
252
  }
204
253
  /**
205
254
  * Returns the system prompt for the agent.
@@ -1 +1 @@
1
- {"version":3,"file":"agent.mjs","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.mjs","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { ModelItem } from './types/protocol';
2
2
  import { Agent, AgentOutputType } from './agent';
3
3
  import { RunContext } from './runContext';
4
- import { ResolvedAgentOutput, TextOutput, UnknownContext } from './types';
4
+ import { AgentOutputItem, ResolvedAgentOutput, TextOutput, UnknownContext } from './types';
5
5
  import type { ModelResponse } from './model';
6
6
  /**
7
7
  * Definition of input/output guardrails; SDK users usually do not need to create this.
@@ -114,6 +114,8 @@ export interface OutputGuardrailFunctionArgs<TContext = UnknownContext, TOutput
114
114
  details?: {
115
115
  /** Model response associated with the output if available. */
116
116
  modelResponse?: ModelResponse;
117
+ /** Model output items generated during the run (excluding approvals). */
118
+ output?: AgentOutputItem[];
117
119
  };
118
120
  }
119
121
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../src/guardrail.ts"],"names":[],"mappings":";;AAiIA,oDAiBC;AA+GD,sDAwBC;AA3JD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,aAAa,GAAG,IAAI,GACK;IACzB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,aAAa;QACb,iBAAiB,EAAE,OAAO;QAC1B,KAAK,CAAC,GAAG,CAAC,IAAgC;YACxC,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA4GD;;GAEG;AACH,SAAgB,qBAAqB,CAEnC,EACA,IAAI,EACJ,OAAO,GAC4B;IAInC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,iBAAiB,EAAE,OAAO;QAC1B,KAAK,CAAC,GAAG,CACP,IAA0D;YAE1D,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"guardrail.js","sourceRoot":"","sources":["../src/guardrail.ts"],"names":[],"mappings":";;AAsIA,oDAiBC;AAiHD,sDAwBC;AA7JD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,aAAa,GAAG,IAAI,GACK;IACzB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,aAAa;QACb,iBAAiB,EAAE,OAAO;QAC1B,KAAK,CAAC,GAAG,CAAC,IAAgC;YACxC,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA8GD;;GAEG;AACH,SAAgB,qBAAqB,CAEnC,EACA,IAAI,EACJ,OAAO,GAC4B;IAInC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,iBAAiB,EAAE,OAAO;QAC1B,KAAK,CAAC,GAAG,CACP,IAA0D;YAE1D,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"guardrail.mjs","sourceRoot":"","sources":["../src/guardrail.ts"],"names":[],"mappings":"AA8HA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,aAAa,GAAG,IAAI,GACK;IACzB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,aAAa;QACb,iBAAiB,EAAE,OAAO;QAC1B,KAAK,CAAC,GAAG,CAAC,IAAgC;YACxC,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA4GD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAEnC,EACA,IAAI,EACJ,OAAO,GAC4B;IAInC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,iBAAiB,EAAE,OAAO;QAC1B,KAAK,CAAC,GAAG,CACP,IAA0D;YAE1D,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"guardrail.mjs","sourceRoot":"","sources":["../src/guardrail.ts"],"names":[],"mappings":"AAmIA;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,EACnC,IAAI,EACJ,OAAO,EACP,aAAa,GAAG,IAAI,GACK;IACzB,OAAO;QACL,IAAI,EAAE,OAAO;QACb,IAAI;QACJ,aAAa;QACb,iBAAiB,EAAE,OAAO;QAC1B,KAAK,CAAC,GAAG,CAAC,IAAgC;YACxC,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE;gBAClC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC;AA8GD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAEnC,EACA,IAAI,EACJ,OAAO,GAC4B;IAInC,OAAO;QACL,IAAI,EAAE,QAAQ;QACd,IAAI;QACJ,iBAAiB,EAAE,OAAO;QAC1B,KAAK,CAAC,GAAG,CACP,IAA0D;YAE1D,OAAO;gBACL,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE;gBACnC,KAAK,EAAE,IAAI,CAAC,KAAK;gBACjB,WAAW,EAAE,IAAI,CAAC,WAAW;gBAC7B,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC;aAC5B,CAAC;QACJ,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/index.d.ts CHANGED
@@ -12,7 +12,7 @@ export { extractAllTextOutput, RunHandoffCallItem, RunHandoffOutputItem, RunItem
12
12
  export { AgentHooks } from './lifecycle';
13
13
  export { getLogger } from './logger';
14
14
  export { applyDiff } from './utils/applyDiff';
15
- export { getAllMcpTools, invalidateServerToolsCache, mcpToFunctionTool, MCPServer, MCPServerStdio, MCPServerStreamableHttp, MCPServerSSE, GetAllMcpToolsOptions, } from './mcp';
15
+ export { getAllMcpTools, invalidateServerToolsCache, mcpToFunctionTool, MCPServer, MCPServerStdio, MCPServerStreamableHttp, MCPServerSSE, GetAllMcpToolsOptions, MCPToolCacheKeyGenerator, } from './mcp';
16
16
  export { MCPToolFilterCallable, MCPToolFilterContext, MCPToolFilterStatic, createMCPToolStaticFilter, } from './mcpUtil';
17
17
  export { Model, ModelProvider, ModelRequest, ModelResponse, ModelSettings, ModelSettingsToolChoice, SerializedHandoff, SerializedTool, SerializedOutputType, } from './model';
18
18
  export { OPENAI_DEFAULT_MODEL_ENV_VARIABLE_NAME, gpt5ReasoningSettingsRequired, getDefaultModel, getDefaultModelSettings, isGpt5Default, } from './defaultModel';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAC9C,sDAAuD;AAEvD,qDAAiE;AAAxD,6GAAA,mBAAmB,OAAA;AAC5B,oCAUiB;AATf,8FAAA,KAAK,OAAA;AAaP,sCAUkB;AAThB,qGAAA,WAAW,OAAA;AACX,iHAAA,uBAAuB,OAAA;AACvB,yHAAA,+BAA+B,OAAA;AAC/B,+GAAA,qBAAqB,OAAA;AACrB,4GAAA,kBAAkB,OAAA;AAClB,0HAAA,gCAAgC,OAAA;AAChC,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AAEb,sCAKkB;AAJhB,oHAAA,0BAA0B,OAAA;AAC1B,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AAGpB,4CAcqB;AAbnB,kHAAA,qBAAqB,OAAA;AAcvB,wCAOmB;AANjB,qGAAA,UAAU,OAAA;AACV,6GAAA,kBAAkB,OAAA;AAClB,kGAAA,OAAO,OAAA;AACP,kGAAA,OAAO,OAAA;AAIT,gDAA4D;AAAnD,oGAAA,SAAS,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,+FAAA,IAAI,OAAA;AAChC,oCAUiB;AATf,6GAAA,oBAAoB,OAAA;AACpB,2GAAA,kBAAkB,OAAA;AAClB,6GAAA,oBAAoB,OAAA;AAEpB,6GAAA,oBAAoB,OAAA;AACpB,yGAAA,gBAAgB,OAAA;AAChB,4GAAA,mBAAmB,OAAA;AACnB,wGAAA,eAAe,OAAA;AACf,8GAAA,qBAAqB,OAAA;AAEvB,4CAAyC;AAAhC,uGAAA,UAAU,OAAA;AACnB,sCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAClB,kDAA8C;AAArC,sGAAA,SAAS,OAAA;AAClB,gCASe;AARb,qGAAA,cAAc,OAAA;AACd,iHAAA,0BAA0B,OAAA;AAC1B,wGAAA,iBAAiB,OAAA;AAEjB,qGAAA,cAAc,OAAA;AACd,8GAAA,uBAAuB,OAAA;AACvB,mGAAA,YAAY,OAAA;AAGd,wCAKmB;AADjB,oHAAA,yBAAyB,OAAA;AAa3B,kDAMwB;AALtB,sIAAA,sCAAsC,OAAA;AACtC,6HAAA,6BAA6B,OAAA;AAC7B,+GAAA,eAAe,OAAA;AACf,uHAAA,uBAAuB,OAAA;AACvB,6GAAA,aAAa,OAAA;AAEf,4CAAsD;AAA7C,oHAAA,uBAAuB,OAAA;AAChC,sCAAwD;AAA/C,mGAAA,SAAS,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACrC,gCAOe;AAJb,0FAAA,GAAG,OAAA;AAEH,6FAAA,MAAM,OAAA;AAQR,8CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,0CAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,kCAgBgB;AAbd,oGAAA,YAAY,OAAA;AAEZ,iGAAA,SAAS,OAAA;AAET,sGAAA,cAAc,OAAA;AAEd,qGAAA,aAAa,OAAA;AAIb,4FAAA,IAAI,OAAA;AAWN,qDAA0B;AAC1B,kDAA2E;AAAlE,kHAAA,sBAAsB,OAAA;AAAE,yGAAA,aAAa,OAAA;AA6B9C,oCAA8C;AAArC,qGAAA,YAAY,OAAA;AAAE,8FAAA,KAAK,OAAA;AAE5B,2DAAuD;AAA9C,8GAAA,aAAa,OAAA;AAEtB;;;GAGG;AACH,gEAA6C;AAE7C;;;;;GAKG;AACH,IAAA,2BAAiB,EAAC,IAAA,4BAAgB,GAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAA8C;AAC9C,sDAAuD;AAEvD,qDAAiE;AAAxD,6GAAA,mBAAmB,OAAA;AAC5B,oCAUiB;AATf,8FAAA,KAAK,OAAA;AAaP,sCAUkB;AAThB,qGAAA,WAAW,OAAA;AACX,iHAAA,uBAAuB,OAAA;AACvB,yHAAA,+BAA+B,OAAA;AAC/B,+GAAA,qBAAqB,OAAA;AACrB,4GAAA,kBAAkB,OAAA;AAClB,0HAAA,gCAAgC,OAAA;AAChC,uGAAA,aAAa,OAAA;AACb,mGAAA,SAAS,OAAA;AACT,qGAAA,WAAW,OAAA;AAEb,sCAKkB;AAJhB,oHAAA,0BAA0B,OAAA;AAC1B,gHAAA,sBAAsB,OAAA;AACtB,4GAAA,kBAAkB,OAAA;AAGpB,4CAcqB;AAbnB,kHAAA,qBAAqB,OAAA;AAcvB,wCAOmB;AANjB,qGAAA,UAAU,OAAA;AACV,6GAAA,kBAAkB,OAAA;AAClB,kGAAA,OAAO,OAAA;AACP,kGAAA,OAAO,OAAA;AAIT,gDAA4D;AAAnD,oGAAA,SAAS,OAAA;AAAE,iGAAA,MAAM,OAAA;AAAE,+FAAA,IAAI,OAAA;AAChC,oCAUiB;AATf,6GAAA,oBAAoB,OAAA;AACpB,2GAAA,kBAAkB,OAAA;AAClB,6GAAA,oBAAoB,OAAA;AAEpB,6GAAA,oBAAoB,OAAA;AACpB,yGAAA,gBAAgB,OAAA;AAChB,4GAAA,mBAAmB,OAAA;AACnB,wGAAA,eAAe,OAAA;AACf,8GAAA,qBAAqB,OAAA;AAEvB,4CAAyC;AAAhC,uGAAA,UAAU,OAAA;AACnB,sCAAqC;AAA5B,mGAAA,SAAS,OAAA;AAClB,kDAA8C;AAArC,sGAAA,SAAS,OAAA;AAClB,gCAUe;AATb,qGAAA,cAAc,OAAA;AACd,iHAAA,0BAA0B,OAAA;AAC1B,wGAAA,iBAAiB,OAAA;AAEjB,qGAAA,cAAc,OAAA;AACd,8GAAA,uBAAuB,OAAA;AACvB,mGAAA,YAAY,OAAA;AAId,wCAKmB;AADjB,oHAAA,yBAAyB,OAAA;AAa3B,kDAMwB;AALtB,sIAAA,sCAAsC,OAAA;AACtC,6HAAA,6BAA6B,OAAA;AAC7B,+GAAA,eAAe,OAAA;AACf,uHAAA,uBAAuB,OAAA;AACvB,6GAAA,aAAa,OAAA;AAEf,4CAAsD;AAA7C,oHAAA,uBAAuB,OAAA;AAChC,sCAAwD;AAA/C,mGAAA,SAAS,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AACrC,gCAOe;AAJb,0FAAA,GAAG,OAAA;AAEH,6FAAA,MAAM,OAAA;AAQR,8CAA0C;AAAjC,wGAAA,UAAU,OAAA;AACnB,0CAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,kCAgBgB;AAbd,oGAAA,YAAY,OAAA;AAEZ,iGAAA,SAAS,OAAA;AAET,sGAAA,cAAc,OAAA;AAEd,qGAAA,aAAa,OAAA;AAIb,4FAAA,IAAI,OAAA;AAWN,qDAA0B;AAC1B,kDAA2E;AAAlE,kHAAA,sBAAsB,OAAA;AAAE,yGAAA,aAAa,OAAA;AA6B9C,oCAA8C;AAArC,qGAAA,YAAY,OAAA;AAAE,8FAAA,KAAK,OAAA;AAE5B,2DAAuD;AAA9C,8GAAA,aAAa,OAAA;AAEtB;;;GAGG;AACH,gEAA6C;AAE7C;;;;;GAKG;AACH,IAAA,2BAAiB,EAAC,IAAA,4BAAgB,GAAE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EAAE,iBAAiB,EAAE;OACrB,EAAE,gBAAgB,EAAE;OAEpB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B;OACzD,EACL,KAAK,GASN;OAIM,EACL,WAAW,EACX,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,gCAAgC,EAChC,aAAa,EACb,SAAS,EACT,WAAW,GACZ;OACM,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,GAEnB;OACM,EACL,qBAAqB,GAatB;OACM,EACL,UAAU,EACV,kBAAkB,EAClB,OAAO,EACP,OAAO,GAGR;OACM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;OAC3B,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EAEpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACtB;OACM,EAAE,UAAU,EAAE;OACd,EAAE,SAAS,EAAE;OACb,EAAE,SAAS,EAAE;OACb,EACL,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EAEjB,cAAc,EACd,uBAAuB,EACvB,YAAY,GAEb;OACM,EAIL,yBAAyB,GAC1B;OAYM,EACL,sCAAsC,EACtC,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACvB,aAAa,GACd;OACM,EAAE,uBAAuB,EAAE;OAC3B,EAAE,SAAS,EAAE,iBAAiB,EAAE;OAChC,EAGL,GAAG,EAEH,MAAM,GAEP;OAMM,EAAE,UAAU,EAAE;OACd,EAAE,QAAQ,EAAE;OACZ,EAGL,YAAY,EAEZ,SAAS,EAET,cAAc,EAEd,aAAa,EAIb,IAAI,GAGL;;OASM,EAAE,sBAAsB,EAAE,aAAa,EAAE;OA6BzC,EAAE,YAAY,EAAE,KAAK,EAAE;OAEvB,EAAE,aAAa,EAAE;OAMjB,KAAK,QAAQ;AAEpB;;;;;GAKG;AACH,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.mjs","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"OAAO,EAAE,iBAAiB,EAAE;OACrB,EAAE,gBAAgB,EAAE;OAEpB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B;OACzD,EACL,KAAK,GASN;OAIM,EACL,WAAW,EACX,uBAAuB,EACvB,+BAA+B,EAC/B,qBAAqB,EACrB,kBAAkB,EAClB,gCAAgC,EAChC,aAAa,EACb,SAAS,EACT,WAAW,GACZ;OACM,EACL,0BAA0B,EAC1B,sBAAsB,EACtB,kBAAkB,GAEnB;OACM,EACL,qBAAqB,GAatB;OACM,EACL,UAAU,EACV,kBAAkB,EAClB,OAAO,EACP,OAAO,GAGR;OACM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE;OAC3B,EACL,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EAEpB,oBAAoB,EACpB,gBAAgB,EAChB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,GACtB;OACM,EAAE,UAAU,EAAE;OACd,EAAE,SAAS,EAAE;OACb,EAAE,SAAS,EAAE;OACb,EACL,cAAc,EACd,0BAA0B,EAC1B,iBAAiB,EAEjB,cAAc,EACd,uBAAuB,EACvB,YAAY,GAGb;OACM,EAIL,yBAAyB,GAC1B;OAYM,EACL,sCAAsC,EACtC,6BAA6B,EAC7B,eAAe,EACf,uBAAuB,EACvB,aAAa,GACd;OACM,EAAE,uBAAuB,EAAE;OAC3B,EAAE,SAAS,EAAE,iBAAiB,EAAE;OAChC,EAGL,GAAG,EAEH,MAAM,GAEP;OAMM,EAAE,UAAU,EAAE;OACd,EAAE,QAAQ,EAAE;OACZ,EAGL,YAAY,EAEZ,SAAS,EAET,cAAc,EAEd,aAAa,EAIb,IAAI,GAGL;;OASM,EAAE,sBAAsB,EAAE,aAAa,EAAE;OA6BzC,EAAE,YAAY,EAAE,KAAK,EAAE;OAEvB,EAAE,aAAa,EAAE;OAMjB,KAAK,QAAQ;AAEpB;;;;;GAKG;AACH,iBAAiB,CAAC,gBAAgB,EAAE,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import { RunContext } from './runContext';
2
2
  import type { Agent, AgentOutputType } from './agent';
3
3
  import { Tool } from './tool';
4
4
  import { RuntimeEventEmitter, EventEmitter, EventEmitterEvents } from '@openai/agents-core/_shims';
5
- import { TextOutput, UnknownContext } from './types';
5
+ import { AgentInputItem, TextOutput, UnknownContext } from './types';
6
6
  import * as protocol from './types/protocol';
7
7
  export declare abstract class EventEmitterDelegate<EventTypes extends EventEmitterEvents = Record<string, any[]>> implements EventEmitter<EventTypes> {
8
8
  protected abstract eventEmitter: EventEmitter<EventTypes>;
@@ -14,9 +14,20 @@ export declare abstract class EventEmitterDelegate<EventTypes extends EventEmitt
14
14
  export type AgentHookEvents<TContext = UnknownContext, TOutput extends AgentOutputType = TextOutput> = {
15
15
  /**
16
16
  * @param context - The context of the run
17
+ * @param agent - The agent that is starting
18
+ * @param turnInput - The input items for the current turn
17
19
  */
18
- agent_start: [context: RunContext<TContext>, agent: Agent<TContext, TOutput>];
20
+ agent_start: [
21
+ context: RunContext<TContext>,
22
+ agent: Agent<TContext, TOutput>,
23
+ turnInput?: AgentInputItem[]
24
+ ];
19
25
  /**
26
+ * Note that the second argument is not consistent with the run hooks here.
27
+ * Changing the list is a breaking change, so we don't make changes for it in the short term
28
+ * If we revisit the argument data structure (e.g., migrating to a single object instead),
29
+ * more properties could be easily added later on.
30
+ *
20
31
  * @param context - The context of the run
21
32
  * @param output - The output of the agent
22
33
  */
@@ -66,7 +77,11 @@ export type RunHookEvents<TContext = UnknownContext, TOutput extends AgentOutput
66
77
  * @param context - The context of the run
67
78
  * @param agent - The agent that is starting
68
79
  */
69
- agent_start: [context: RunContext<TContext>, agent: Agent<TContext, TOutput>];
80
+ agent_start: [
81
+ context: RunContext<TContext>,
82
+ agent: Agent<TContext, TOutput>,
83
+ turnInput?: AgentInputItem[]
84
+ ];
70
85
  /**
71
86
  * @param context - The context of the run
72
87
  * @param agent - The agent that is ending
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":";;;AAGA,uDAIoC;AAIpC,MAAsB,oBAAoB;IAMxC,EAAE,CACA,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,CACD,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,CAA6B,IAAO,EAAE,GAAG,IAAmB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CACF,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AA9BD,oDA8BC;AA6CD;;;GAGG;AACH,MAAa,UAGX,SAAQ,oBAAwD;IACtD,YAAY,GAAG,IAAI,4BAAmB,EAE7C,CAAC;CACL;AAPD,gCAOC;AAyDD;;;GAGG;AACH,MAAa,QAGX,SAAQ,oBAAsD;IACpD,YAAY,GAAG,IAAI,4BAAmB,EAE7C,CAAC;CACL;AAPD,4BAOC"}
1
+ {"version":3,"file":"lifecycle.js","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":";;;AAGA,uDAIoC;AAIpC,MAAsB,oBAAoB;IAKxC,EAAE,CACA,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,CACD,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,CAA6B,IAAO,EAAE,GAAG,IAAmB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CACF,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AA7BD,oDA6BC;AAwDD;;;GAGG;AACH,MAAa,UAGX,SAAQ,oBAAwD;IACtD,YAAY,GAAG,IAAI,4BAAmB,EAE7C,CAAC;CACL;AAPD,gCAOC;AA6DD;;;GAGG;AACH,MAAa,QAGX,SAAQ,oBAAsD;IACpD,YAAY,GAAG,IAAI,4BAAmB,EAE7C,CAAC;CACL;AAPD,4BAOC"}
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.mjs","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"OAGO,EACL,mBAAmB,GAGpB,MAAM,4BAA4B;AAInC,MAAM,OAAgB,oBAAoB;IAMxC,EAAE,CACA,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,CACD,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,CAA6B,IAAO,EAAE,GAAG,IAAmB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CACF,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AA6CD;;;GAGG;AACH,MAAM,OAAO,UAGX,SAAQ,oBAAwD;IACtD,YAAY,GAAG,IAAI,mBAAmB,EAE7C,CAAC;CACL;AAyDD;;;GAGG;AACH,MAAM,OAAO,QAGX,SAAQ,oBAAsD;IACpD,YAAY,GAAG,IAAI,mBAAmB,EAE7C,CAAC;CACL"}
1
+ {"version":3,"file":"lifecycle.mjs","sourceRoot":"","sources":["../src/lifecycle.ts"],"names":[],"mappings":"OAGO,EACL,mBAAmB,GAGpB,MAAM,4BAA4B;AAInC,MAAM,OAAgB,oBAAoB;IAKxC,EAAE,CACA,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,GAAG,CACD,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,CAA6B,IAAO,EAAE,GAAG,IAAmB;QAC9D,OAAO,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CACF,IAAO,EACP,QAA0C;QAE1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;CACF;AAwDD;;;GAGG;AACH,MAAM,OAAO,UAGX,SAAQ,oBAAwD;IACtD,YAAY,GAAG,IAAI,mBAAmB,EAE7C,CAAC;CACL;AA6DD;;;GAGG;AACH,MAAM,OAAO,QAGX,SAAQ,oBAAsD;IACpD,YAAY,GAAG,IAAI,mBAAmB,EAE7C,CAAC;CACL"}
package/dist/mcp.d.ts CHANGED
@@ -160,6 +160,20 @@ export declare class MCPServerSSE extends BaseMCPServerSSE {
160
160
  * @param serverName - Name of the MCP server whose cache should be cleared.
161
161
  */
162
162
  export declare function invalidateServerToolsCache(serverName: string): Promise<void>;
163
+ /**
164
+ * Function signature for generating the MCP tool cache key.
165
+ * Customizable so the cache key can depend on any context—server, agent, runContext, etc.
166
+ */
167
+ export type MCPToolCacheKeyGenerator = (params: {
168
+ server: MCPServer;
169
+ agent?: Agent<any, any>;
170
+ runContext?: RunContext<any>;
171
+ }) => string;
172
+ /**
173
+ * Default cache key generator for MCP tools.
174
+ * Uses server name, or server+agent if using callable filter.
175
+ */
176
+ export declare const defaultMCPToolCacheKey: MCPToolCacheKeyGenerator;
163
177
  /**
164
178
  * Options for fetching MCP tools.
165
179
  */
@@ -168,13 +182,13 @@ export type GetAllMcpToolsOptions<TContext> = {
168
182
  convertSchemasToStrict?: boolean;
169
183
  runContext?: RunContext<TContext>;
170
184
  agent?: Agent<TContext, any>;
185
+ generateMCPToolCacheKey?: MCPToolCacheKeyGenerator;
171
186
  };
172
187
  /**
173
188
  * Returns all MCP tools from the provided servers, using the function tool conversion.
174
189
  * If runContext and agent are provided, callable tool filters will be applied.
175
190
  */
176
- export declare function getAllMcpTools<TContext = UnknownContext>(mcpServers: MCPServer[]): Promise<Tool<TContext>[]>;
177
- export declare function getAllMcpTools<TContext = UnknownContext>(opts: GetAllMcpToolsOptions<TContext>): Promise<Tool<TContext>[]>;
191
+ export declare function getAllMcpTools<TContext = UnknownContext>(mcpServersOrOpts: MCPServer[] | GetAllMcpToolsOptions<TContext>, runContext?: RunContext<TContext>, agent?: Agent<TContext, any>, convertSchemasToStrict?: boolean): Promise<Tool<TContext>[]>;
178
192
  /**
179
193
  * Converts an MCP tool definition to a function tool for the Agents SDK.
180
194
  */
@@ -227,6 +241,7 @@ export interface MCPServerSSEOptions {
227
241
  timeout?: number;
228
242
  authProvider?: any;
229
243
  requestInit?: any;
244
+ fetch?: any;
230
245
  eventSourceInit?: any;
231
246
  }
232
247
  /**
package/dist/mcp.js CHANGED
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.MCPServerSSE = exports.MCPServerStreamableHttp = exports.MCPServerStdio = exports.MCPTool = exports.BaseMCPServerSSE = exports.BaseMCPServerStreamableHttp = exports.BaseMCPServerStdio = exports.DEFAULT_SSE_MCP_CLIENT_LOGGER_NAME = exports.DEFAULT_STREAMABLE_HTTP_MCP_CLIENT_LOGGER_NAME = exports.DEFAULT_STDIO_MCP_CLIENT_LOGGER_NAME = void 0;
6
+ exports.defaultMCPToolCacheKey = exports.MCPServerSSE = exports.MCPServerStreamableHttp = exports.MCPServerStdio = exports.MCPTool = exports.BaseMCPServerSSE = exports.BaseMCPServerStreamableHttp = exports.BaseMCPServerStdio = exports.DEFAULT_SSE_MCP_CLIENT_LOGGER_NAME = exports.DEFAULT_STREAMABLE_HTTP_MCP_CLIENT_LOGGER_NAME = exports.DEFAULT_STDIO_MCP_CLIENT_LOGGER_NAME = void 0;
7
7
  exports.invalidateServerToolsCache = invalidateServerToolsCache;
8
8
  exports.getAllMcpTools = getAllMcpTools;
9
9
  exports.mcpToFunctionTool = mcpToFunctionTool;
@@ -210,20 +210,51 @@ exports.MCPServerSSE = MCPServerSSE;
210
210
  * Logs and skips any servers that fail to respond.
211
211
  */
212
212
  const _cachedTools = {};
213
+ const _cachedToolKeysByServer = {};
213
214
  /**
214
215
  * Remove cached tools for the given server so the next lookup fetches fresh data.
215
216
  *
216
217
  * @param serverName - Name of the MCP server whose cache should be cleared.
217
218
  */
218
219
  async function invalidateServerToolsCache(serverName) {
220
+ const cachedKeys = _cachedToolKeysByServer[serverName];
221
+ if (cachedKeys) {
222
+ for (const cacheKey of cachedKeys) {
223
+ delete _cachedTools[cacheKey];
224
+ }
225
+ delete _cachedToolKeysByServer[serverName];
226
+ return;
227
+ }
219
228
  delete _cachedTools[serverName];
229
+ for (const cacheKey of Object.keys(_cachedTools)) {
230
+ if (cacheKey.startsWith(`${serverName}:`)) {
231
+ delete _cachedTools[cacheKey];
232
+ }
233
+ }
220
234
  }
235
+ /**
236
+ * Default cache key generator for MCP tools.
237
+ * Uses server name, or server+agent if using callable filter.
238
+ */
239
+ const defaultMCPToolCacheKey = ({ server, agent, }) => {
240
+ if (server.toolFilter && typeof server.toolFilter === 'function' && agent) {
241
+ return `${server.name}:${agent.name}`;
242
+ }
243
+ return server.name;
244
+ };
245
+ exports.defaultMCPToolCacheKey = defaultMCPToolCacheKey;
221
246
  /**
222
247
  * Fetches all function tools from a single MCP server.
223
248
  */
224
- async function getFunctionToolsFromServer({ server, convertSchemasToStrict, runContext, agent, }) {
225
- if (server.cacheToolsList && _cachedTools[server.name]) {
226
- return _cachedTools[server.name].map((t) => mcpToFunctionTool(t, server, convertSchemasToStrict));
249
+ async function getFunctionToolsFromServer({ server, convertSchemasToStrict, runContext, agent, generateMCPToolCacheKey, }) {
250
+ const cacheKey = (generateMCPToolCacheKey || exports.defaultMCPToolCacheKey)({
251
+ server,
252
+ agent,
253
+ runContext,
254
+ });
255
+ // Use cache key generator injected from the outside, or the default if absent.
256
+ if (server.cacheToolsList && _cachedTools[cacheKey]) {
257
+ return _cachedTools[cacheKey].map((t) => mcpToFunctionTool(t, server, convertSchemasToStrict));
227
258
  }
228
259
  const listToolsForServer = async (span) => {
229
260
  const fetchedMcpTools = await server.listTools();
@@ -271,8 +302,13 @@ async function getFunctionToolsFromServer({ server, convertSchemasToStrict, runC
271
302
  span.spanData.result = mcpTools.map((t) => t.name);
272
303
  }
273
304
  const tools = mcpTools.map((t) => mcpToFunctionTool(t, server, convertSchemasToStrict));
305
+ // Cache store
274
306
  if (server.cacheToolsList) {
275
- _cachedTools[server.name] = mcpTools;
307
+ _cachedTools[cacheKey] = mcpTools;
308
+ if (!_cachedToolKeysByServer[server.name]) {
309
+ _cachedToolKeysByServer[server.name] = new Set();
310
+ }
311
+ _cachedToolKeysByServer[server.name].add(cacheKey);
276
312
  }
277
313
  return tools;
278
314
  };
@@ -283,6 +319,10 @@ async function getFunctionToolsFromServer({ server, convertSchemasToStrict, runC
283
319
  data: { server: server.name },
284
320
  });
285
321
  }
322
+ /**
323
+ * Returns all MCP tools from the provided servers, using the function tool conversion.
324
+ * If runContext and agent are provided, callable tool filters will be applied.
325
+ */
286
326
  async function getAllMcpTools(mcpServersOrOpts, runContext, agent, convertSchemasToStrict = false) {
287
327
  const opts = Array.isArray(mcpServersOrOpts)
288
328
  ? {
@@ -292,7 +332,7 @@ async function getAllMcpTools(mcpServersOrOpts, runContext, agent, convertSchema
292
332
  convertSchemasToStrict,
293
333
  }
294
334
  : mcpServersOrOpts;
295
- const { mcpServers, convertSchemasToStrict: convertSchemasToStrictFromOpts = false, runContext: runContextFromOpts, agent: agentFromOpts, } = opts;
335
+ const { mcpServers, convertSchemasToStrict: convertSchemasToStrictFromOpts = false, runContext: runContextFromOpts, agent: agentFromOpts, generateMCPToolCacheKey, } = opts;
296
336
  const allTools = [];
297
337
  const toolNames = new Set();
298
338
  for (const server of mcpServers) {
@@ -301,6 +341,7 @@ async function getAllMcpTools(mcpServersOrOpts, runContext, agent, convertSchema
301
341
  convertSchemasToStrict: convertSchemasToStrictFromOpts,
302
342
  runContext: runContextFromOpts,
303
343
  agent: agentFromOpts,
344
+ generateMCPToolCacheKey,
304
345
  });
305
346
  const serverToolNames = new Set(serverTools.map((t) => t.name));
306
347
  const intersection = [...serverToolNames].filter((n) => toolNames.has(n));