@openai/agents-core 0.3.4 → 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":"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"}
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":"OAAO,EAAE,CAAC,EAAE,MAAM,KAAK;OAGhB,EAAE,UAAU,EAAE;OACd,EAAE,cAAc,EAAkB;OAElC,EACL,uBAAuB,EACvB,6BAA6B,EAC7B,aAAa,GACd;OAEM,EAGL,IAAI,GAIL;OAQM,EAAE,UAAU,EAAgB;OAC5B,EAA+B,MAAM,EAAE;OACvC,EAAE,kBAAkB,EAAE;OACtB,EAAE,aAAa,EAAE;OACjB,EAAE,gBAAgB,EAAE;OACpB,EAAE,WAAW,EAAE;OACf,EAAE,kBAAkB,EAAE,SAAS,EAAE;OAEjC,MAAM;AAwCb,wEAAwE;AACxE,4EAA4E;AAC5E,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAGpC,CAAC;AAEJ,MAAM,UAAU,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,MAAM,UAAU,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,CAAC,CAAC,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;AAEtE;;;;;;;;;GASG;AACH,MAAM,OAAO,KAIX,SAAQ,UAA6B;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,SAAS,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,uBAAuB,EAAE,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,aAAa,EAAE;YACf,oDAAoD;YACpD,CAAC,OAAO,MAAM,CAAC,KAAK,KAAK,QAAQ;gBAC/B,CAAC,6BAA6B,CAAC,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,MAAM,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,WAAW,CAAC,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,OA6CC;QAED,MAAM,EACJ,QAAQ,EACR,eAAe,EACf,qBAAqB,EACrB,aAAa,EACb,SAAS,EACT,UAAU,EACV,SAAS,EACT,QAAQ,GACT,GAAG,OAAO,CAAC;QACZ,qJAAqJ;QACrJ,MAAM,aAAa,GAAG,IAAI,GAAG,EAG1B,CAAC;QACJ,MAAM,SAAS,GAAG,KAAK,EAAE,KAAmC,EAAE,EAAE;YAC9D,6HAA6H;YAC7H,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACrD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACxC,MAAM,UAAU,GAAG;gBACjB,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC/B,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1C,CAAC;YACF,6GAA6G;YAC7G,MAAM,OAAO,CAAC,UAAU,CACtB,UAAU,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CACzB,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAC7C,CACF,CAAC;QACJ,CAAC,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC;YACpB,IAAI,EAAE,QAAQ,IAAI,kBAAkB,CAAC,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,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5B,MAAM,IAAI,kBAAkB,CAAC,sCAAsC,CAAC,CAAC;gBACvE,CAAC;gBACD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;gBAC3C,sHAAsH;gBACtH,0JAA0J;gBAC1J,MAAM,YAAY,GAChB,OAAO,QAAQ,KAAK,UAAU,IAAI,aAAa,CAAC,IAAI,GAAG,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAG,YAAY;oBACzB,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE;wBACjC,OAAO;wBACP,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;wBACrB,MAAM,EAAE,IAAI;qBACb,CAAC;oBACJ,CAAC,CAAC,MAAM,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE;wBACjC,OAAO;wBACP,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC;qBACtB,CAAC,CAAC;gBACP,MAAM,aAAa,GAAG;oBACpB,KAAK,EAAE,IAAI;oBACX,QAAQ,EAAE,OAAO,EAAE,QAAQ;iBAC5B,CAAC;gBAEF,IAAI,YAAY,EAAE,CAAC;oBACjB,+IAA+I;oBAC/I,MAAM,YAAY,GAAG,MAGpB,CAAC;oBACF,yIAAyI;oBACzI,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;wBACvC,MAAM,SAAS,CAAC;4BACd,KAAK;4BACL,GAAG,aAAa;yBACjB,CAAC,CAAC;oBACL,CAAC;oBACD,MAAM,YAAY,CAAC,SAAS,CAAC;gBAC/B,CAAC;gBAED,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,MAAM,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,aAAa,CACX,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,eAAoC,CACrC,CAAC;gBACJ,CAAC;gBACD,OAAO,UAAU,CAAC;YACpB,CAAC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAgC;YAC7C,GAAG,QAAQ;YACX,EAAE,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE;gBACpB,MAAM,GAAG,GACP,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,EAAiC,CAAC;gBACtE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBACjB,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;gBAC7B,OAAO,SAAS,CAAC;YACnB,CAAC;SACF,CAAC;QAEF,OAAO,SAAS,CAAC;IACnB,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,cAAc,CAAC;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,UAAU,CAAC,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,WAAW,CAAC,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"}
package/dist/index.d.ts CHANGED
@@ -22,7 +22,7 @@ export { IndividualRunOptions, NonStreamRunOptions, run, RunConfig, Runner, Stre
22
22
  export type { ModelInputData, CallModelInputFilter, CallModelInputFilterArgs, } from './run';
23
23
  export { RunContext } from './runContext';
24
24
  export { RunState } from './runState';
25
- export { HostedTool, ComputerTool, computerTool, ShellTool, shellTool, ApplyPatchTool, applyPatchTool, HostedMCPTool, hostedMcpTool, FunctionTool, FunctionToolResult, Tool, ToolOptions, tool, ToolExecuteArgument, ToolEnabledFunction, } from './tool';
25
+ export { HostedTool, ComputerTool, computerTool, ShellTool, shellTool, ApplyPatchTool, applyPatchTool, HostedMCPTool, hostedMcpTool, FunctionTool, FunctionToolResult, Tool, tool, ToolExecuteArgument, ToolEnabledFunction, } from './tool';
26
26
  export type { ToolOutputText, ToolOutputImage, ToolOutputFileContent, ToolCallStructuredOutput, ToolCallOutputContent, } from './types/protocol';
27
27
  export * from './tracing';
28
28
  export { getGlobalTraceProvider, TraceProvider } from './tracing/provider';
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,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,kCAiBgB;AAdd,oGAAA,YAAY,OAAA;AAEZ,iGAAA,SAAS,OAAA;AAET,sGAAA,cAAc,OAAA;AAEd,qGAAA,aAAa,OAAA;AAKb,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,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,EAKb,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/metadata.js CHANGED
@@ -4,9 +4,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.METADATA = void 0;
5
5
  exports.METADATA = {
6
6
  "name": "@openai/agents-core",
7
- "version": "0.3.4",
7
+ "version": "0.3.5",
8
8
  "versions": {
9
- "@openai/agents-core": "0.3.4",
9
+ "@openai/agents-core": "0.3.5",
10
10
  "openai": "^6"
11
11
  }
12
12
  };
package/dist/metadata.mjs CHANGED
@@ -1,9 +1,9 @@
1
1
  // This file is automatically generated
2
2
  export const METADATA = {
3
3
  "name": "@openai/agents-core",
4
- "version": "0.3.4",
4
+ "version": "0.3.5",
5
5
  "versions": {
6
- "@openai/agents-core": "0.3.4",
6
+ "@openai/agents-core": "0.3.5",
7
7
  "openai": "^6"
8
8
  }
9
9
  };
package/dist/run.js CHANGED
@@ -365,6 +365,7 @@ class Runner extends lifecycle_1.RunHooks {
365
365
  modelResponses: state._modelResponses,
366
366
  });
367
367
  }
368
+ let continuingInterruptedTurn = false;
368
369
  try {
369
370
  while (true) {
370
371
  // if we don't have a current step, we treat this as a new run
@@ -380,20 +381,34 @@ class Runner extends lifecycle_1.RunHooks {
380
381
  state._toolUseTracker.addToolUse(state._currentAgent, state._lastProcessedResponse.toolsUsed);
381
382
  state._originalInput = turnResult.originalInput;
382
383
  state._generatedItems = turnResult.generatedItems;
383
- if (turnResult.nextStep.type === 'next_step_run_again') {
384
- state._currentTurnPersistedItemCount = 0;
385
- }
386
- state._currentStep = turnResult.nextStep;
384
+ // Don't reset counter here - resolveInterruptedTurn already adjusted it via rewind logic
385
+ // The counter will be reset when _currentTurn is incremented (starting a new turn)
387
386
  if (turnResult.nextStep.type === 'next_step_interruption') {
388
387
  // we are still in an interruption, so we need to avoid an infinite loop
388
+ state._currentStep = turnResult.nextStep;
389
389
  return new result_1.RunResult(state);
390
390
  }
391
- continue;
391
+ // If continuing from interruption with next_step_run_again, set step to undefined
392
+ // so the loop treats it as a new step without incrementing the turn.
393
+ // The counter has already been adjusted by resolveInterruptedTurn's rewind logic.
394
+ if (turnResult.nextStep.type === 'next_step_run_again') {
395
+ continuingInterruptedTurn = true;
396
+ state._currentStep = undefined;
397
+ continue;
398
+ }
399
+ continuingInterruptedTurn = false;
400
+ state._currentStep = turnResult.nextStep;
392
401
  }
393
402
  if (state._currentStep.type === 'next_step_run_again') {
394
403
  const artifacts = await prepareAgentArtifacts(state);
395
- state._currentTurn++;
396
- state._currentTurnPersistedItemCount = 0;
404
+ const isResumingFromInterruption = isResumedState && continuingInterruptedTurn;
405
+ continuingInterruptedTurn = false;
406
+ // Do not advance the turn when resuming from an interruption; the next model call is
407
+ // still part of the same logical turn.
408
+ if (!isResumingFromInterruption) {
409
+ state._currentTurn++;
410
+ state._currentTurnPersistedItemCount = 0;
411
+ }
397
412
  if (state._currentTurn > state._maxTurns) {
398
413
  state._currentAgentSpan?.setError({
399
414
  message: 'Max turns exceeded',
@@ -403,7 +418,8 @@ class Runner extends lifecycle_1.RunHooks {
403
418
  }
404
419
  logger_1.default.debug(`Running agent ${state._currentAgent.name} (turn ${state._currentTurn})`);
405
420
  let parallelGuardrailPromise;
406
- if (state._currentTurn === 1) {
421
+ // Only run input guardrails on the first turn of a new run.
422
+ if (state._currentTurn === 1 && !isResumingFromInterruption) {
407
423
  const guardrails = this.#splitInputGuardrails(state);
408
424
  if (guardrails.blocking.length > 0) {
409
425
  await this.#runInputGuardrails(state, guardrails.blocking);
@@ -417,8 +433,8 @@ class Runner extends lifecycle_1.RunHooks {
417
433
  ? serverConversationTracker.prepareInput(state._originalInput, state._generatedItems)
418
434
  : getTurnInput(state._originalInput, state._generatedItems);
419
435
  if (state._noActiveAgentRun) {
420
- state._currentAgent.emit('agent_start', state._context, state._currentAgent);
421
- this.emit('agent_start', state._context, state._currentAgent);
436
+ state._currentAgent.emit('agent_start', state._context, state._currentAgent, turnInput);
437
+ this.emit('agent_start', state._context, state._currentAgent, turnInput);
422
438
  }
423
439
  const preparedCall = await this.#prepareModelCall(state, options, artifacts, turnInput, serverConversationTracker, sessionInputUpdate);
424
440
  state._lastTurnResponse = await preparedCall.model.getResponse({
@@ -536,6 +552,7 @@ class Runner extends lifecycle_1.RunHooks {
536
552
  modelResponses: result.state._modelResponses,
537
553
  });
538
554
  }
555
+ let continuingInterruptedTurn = false;
539
556
  try {
540
557
  while (true) {
541
558
  const currentAgent = result.state._currentAgent;
@@ -553,20 +570,34 @@ class Runner extends lifecycle_1.RunHooks {
553
570
  result.state._toolUseTracker.addToolUse(result.state._currentAgent, result.state._lastProcessedResponse.toolsUsed);
554
571
  result.state._originalInput = turnResult.originalInput;
555
572
  result.state._generatedItems = turnResult.generatedItems;
556
- if (turnResult.nextStep.type === 'next_step_run_again') {
557
- result.state._currentTurnPersistedItemCount = 0;
558
- }
559
- result.state._currentStep = turnResult.nextStep;
573
+ // Don't reset counter here - resolveInterruptedTurn already adjusted it via rewind logic
574
+ // The counter will be reset when _currentTurn is incremented (starting a new turn)
560
575
  if (turnResult.nextStep.type === 'next_step_interruption') {
561
576
  // we are still in an interruption, so we need to avoid an infinite loop
577
+ result.state._currentStep = turnResult.nextStep;
562
578
  return;
563
579
  }
564
- continue;
580
+ // If continuing from interruption with next_step_run_again, set step to undefined
581
+ // so the loop treats it as a new step without incrementing the turn.
582
+ // The counter has already been adjusted by resolveInterruptedTurn's rewind logic.
583
+ if (turnResult.nextStep.type === 'next_step_run_again') {
584
+ continuingInterruptedTurn = true;
585
+ result.state._currentStep = undefined;
586
+ continue;
587
+ }
588
+ continuingInterruptedTurn = false;
589
+ result.state._currentStep = turnResult.nextStep;
565
590
  }
566
591
  if (result.state._currentStep.type === 'next_step_run_again') {
567
592
  const artifacts = await prepareAgentArtifacts(result.state);
568
- result.state._currentTurn++;
569
- result.state._currentTurnPersistedItemCount = 0;
593
+ const isResumingFromInterruption = isResumedState && continuingInterruptedTurn;
594
+ continuingInterruptedTurn = false;
595
+ // Do not advance the turn when resuming from an interruption; the next model call is
596
+ // still part of the same logical turn.
597
+ if (!isResumingFromInterruption) {
598
+ result.state._currentTurn++;
599
+ result.state._currentTurnPersistedItemCount = 0;
600
+ }
570
601
  if (result.state._currentTurn > result.state._maxTurns) {
571
602
  result.state._currentAgentSpan?.setError({
572
603
  message: 'Max turns exceeded',
@@ -577,7 +608,8 @@ class Runner extends lifecycle_1.RunHooks {
577
608
  logger_1.default.debug(`Running agent ${currentAgent.name} (turn ${result.state._currentTurn})`);
578
609
  let guardrailError;
579
610
  let parallelGuardrailPromise;
580
- if (result.state._currentTurn === 1) {
611
+ // Only run input guardrails on the first turn of a new run.
612
+ if (result.state._currentTurn === 1 && !isResumingFromInterruption) {
581
613
  const guardrails = this.#splitInputGuardrails(result.state);
582
614
  if (guardrails.blocking.length > 0) {
583
615
  await this.#runInputGuardrails(result.state, guardrails.blocking);
@@ -594,8 +626,8 @@ class Runner extends lifecycle_1.RunHooks {
594
626
  ? serverConversationTracker.prepareInput(result.input, result.newItems)
595
627
  : getTurnInput(result.input, result.newItems);
596
628
  if (result.state._noActiveAgentRun) {
597
- currentAgent.emit('agent_start', result.state._context, currentAgent);
598
- this.emit('agent_start', result.state._context, currentAgent);
629
+ currentAgent.emit('agent_start', result.state._context, currentAgent, turnInput);
630
+ this.emit('agent_start', result.state._context, currentAgent, turnInput);
599
631
  }
600
632
  let finalResponse = undefined;
601
633
  const preparedCall = await this.#prepareModelCall(result.state, options, artifacts, turnInput, serverConversationTracker, sessionInputUpdate);
@@ -632,6 +664,7 @@ class Runner extends lifecycle_1.RunHooks {
632
664
  output: parsed.response.output,
633
665
  responseId: parsed.response.id,
634
666
  };
667
+ result.state._context.usage.add(finalResponse.usage);
635
668
  }
636
669
  if (result.cancelled) {
637
670
  // When the user's code exits a loop to consume the stream, we need to break