@openai/agents-core 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/agent.d.ts +5 -2
  2. package/dist/agent.js +5 -0
  3. package/dist/agent.js.map +1 -1
  4. package/dist/agent.mjs +5 -0
  5. package/dist/agent.mjs.map +1 -1
  6. package/dist/guardrail.d.ts +8 -1
  7. package/dist/guardrail.js +2 -1
  8. package/dist/guardrail.js.map +1 -1
  9. package/dist/guardrail.mjs +2 -1
  10. package/dist/guardrail.mjs.map +1 -1
  11. package/dist/index.d.ts +1 -1
  12. package/dist/index.js +2 -1
  13. package/dist/index.js.map +1 -1
  14. package/dist/index.mjs +1 -1
  15. package/dist/index.mjs.map +1 -1
  16. package/dist/mcp.js +11 -3
  17. package/dist/mcp.js.map +1 -1
  18. package/dist/mcp.mjs +12 -4
  19. package/dist/mcp.mjs.map +1 -1
  20. package/dist/metadata.js +2 -2
  21. package/dist/metadata.mjs +2 -2
  22. package/dist/model.d.ts +12 -1
  23. package/dist/run.js +62 -4
  24. package/dist/run.js.map +1 -1
  25. package/dist/run.mjs +62 -4
  26. package/dist/run.mjs.map +1 -1
  27. package/dist/runImplementation.js +37 -2
  28. package/dist/runImplementation.js.map +1 -1
  29. package/dist/runImplementation.mjs +37 -2
  30. package/dist/runImplementation.mjs.map +1 -1
  31. package/dist/runState.d.ts +248 -18
  32. package/dist/runState.js +31 -5
  33. package/dist/runState.js.map +1 -1
  34. package/dist/runState.mjs +31 -5
  35. package/dist/runState.mjs.map +1 -1
  36. package/dist/tracing/index.d.ts +1 -0
  37. package/dist/tracing/index.js.map +1 -1
  38. package/dist/tracing/index.mjs.map +1 -1
  39. package/dist/types/protocol.d.ts +207 -32
  40. package/dist/types/protocol.js +21 -3
  41. package/dist/types/protocol.js.map +1 -1
  42. package/dist/types/protocol.mjs +20 -2
  43. package/dist/types/protocol.mjs.map +1 -1
  44. package/dist/usage.d.ts +42 -3
  45. package/dist/usage.js +97 -12
  46. package/dist/usage.js.map +1 -1
  47. package/dist/usage.mjs +96 -13
  48. package/dist/usage.mjs.map +1 -1
  49. package/package.json +1 -1
package/dist/run.js CHANGED
@@ -305,6 +305,23 @@ class Runner extends lifecycle_1.RunHooks {
305
305
  // --------------------------------------------------------------
306
306
  inputGuardrailDefs;
307
307
  outputGuardrailDefs;
308
+ #getInputGuardrailDefinitions(state) {
309
+ return this.inputGuardrailDefs.concat(state._currentAgent.inputGuardrails.map(guardrail_1.defineInputGuardrail));
310
+ }
311
+ #splitInputGuardrails(state) {
312
+ const guardrails = this.#getInputGuardrailDefinitions(state);
313
+ const blocking = [];
314
+ const parallel = [];
315
+ for (const guardrail of guardrails) {
316
+ if (guardrail.runInParallel === false) {
317
+ blocking.push(guardrail);
318
+ }
319
+ else {
320
+ parallel.push(guardrail);
321
+ }
322
+ }
323
+ return { blocking, parallel };
324
+ }
308
325
  /**
309
326
  * @internal
310
327
  * Resolves the effective model once so both run loops obey the same precedence rules.
@@ -385,8 +402,16 @@ class Runner extends lifecycle_1.RunHooks {
385
402
  throw new errors_1.MaxTurnsExceededError(`Max turns (${state._maxTurns}) exceeded`, state);
386
403
  }
387
404
  logger_1.default.debug(`Running agent ${state._currentAgent.name} (turn ${state._currentTurn})`);
405
+ let parallelGuardrailPromise;
388
406
  if (state._currentTurn === 1) {
389
- await this.#runInputGuardrails(state);
407
+ const guardrails = this.#splitInputGuardrails(state);
408
+ if (guardrails.blocking.length > 0) {
409
+ await this.#runInputGuardrails(state, guardrails.blocking);
410
+ }
411
+ if (guardrails.parallel.length > 0) {
412
+ parallelGuardrailPromise = this.#runInputGuardrails(state, guardrails.parallel);
413
+ parallelGuardrailPromise.catch(() => { });
414
+ }
390
415
  }
391
416
  const turnInput = serverConversationTracker
392
417
  ? serverConversationTracker.prepareInput(state._originalInput, state._generatedItems)
@@ -408,6 +433,7 @@ class Runner extends lifecycle_1.RunHooks {
408
433
  conversationId: preparedCall.conversationId,
409
434
  modelSettings: preparedCall.modelSettings,
410
435
  tools: preparedCall.serializedTools,
436
+ toolsExplicitlyProvided: preparedCall.toolsExplicitlyProvided,
411
437
  outputType: (0, tools_1.convertAgentOutputTypeToSerializable)(state._currentAgent.outputType),
412
438
  handoffs: preparedCall.serializedHandoffs,
413
439
  tracing: getTracing(this.config.tracingDisabled, this.config.traceIncludeSensitiveData),
@@ -429,6 +455,9 @@ class Runner extends lifecycle_1.RunHooks {
429
455
  state._currentTurnPersistedItemCount = 0;
430
456
  }
431
457
  state._currentStep = turnResult.nextStep;
458
+ if (parallelGuardrailPromise) {
459
+ await parallelGuardrailPromise;
460
+ }
432
461
  }
433
462
  if (state._currentStep &&
434
463
  state._currentStep.type === 'next_step_final_output') {
@@ -546,8 +575,20 @@ class Runner extends lifecycle_1.RunHooks {
546
575
  throw new errors_1.MaxTurnsExceededError(`Max turns (${result.state._maxTurns}) exceeded`, result.state);
547
576
  }
548
577
  logger_1.default.debug(`Running agent ${currentAgent.name} (turn ${result.state._currentTurn})`);
578
+ let guardrailError;
579
+ let parallelGuardrailPromise;
549
580
  if (result.state._currentTurn === 1) {
550
- await this.#runInputGuardrails(result.state);
581
+ const guardrails = this.#splitInputGuardrails(result.state);
582
+ if (guardrails.blocking.length > 0) {
583
+ await this.#runInputGuardrails(result.state, guardrails.blocking);
584
+ }
585
+ if (guardrails.parallel.length > 0) {
586
+ const promise = this.#runInputGuardrails(result.state, guardrails.parallel);
587
+ parallelGuardrailPromise = promise.catch((err) => {
588
+ guardrailError = err;
589
+ return [];
590
+ });
591
+ }
551
592
  }
552
593
  const turnInput = serverConversationTracker
553
594
  ? serverConversationTracker.prepareInput(result.input, result.newItems)
@@ -558,6 +599,9 @@ class Runner extends lifecycle_1.RunHooks {
558
599
  }
559
600
  let finalResponse = undefined;
560
601
  const preparedCall = await this.#prepareModelCall(result.state, options, artifacts, turnInput, serverConversationTracker, sessionInputUpdate);
602
+ if (guardrailError) {
603
+ throw guardrailError;
604
+ }
561
605
  handedInputToModel = true;
562
606
  await persistStreamInputIfNeeded();
563
607
  for await (const event of preparedCall.model.getStreamedResponse({
@@ -572,11 +616,15 @@ class Runner extends lifecycle_1.RunHooks {
572
616
  conversationId: preparedCall.conversationId,
573
617
  modelSettings: preparedCall.modelSettings,
574
618
  tools: preparedCall.serializedTools,
619
+ toolsExplicitlyProvided: preparedCall.toolsExplicitlyProvided,
575
620
  handoffs: preparedCall.serializedHandoffs,
576
621
  outputType: (0, tools_1.convertAgentOutputTypeToSerializable)(currentAgent.outputType),
577
622
  tracing: getTracing(this.config.tracingDisabled, this.config.traceIncludeSensitiveData),
578
623
  signal: options.signal,
579
624
  })) {
625
+ if (guardrailError) {
626
+ throw guardrailError;
627
+ }
580
628
  if (event.type === 'response_done') {
581
629
  const parsed = protocol_1.StreamEventResponseCompleted.parse(event);
582
630
  finalResponse = {
@@ -592,6 +640,12 @@ class Runner extends lifecycle_1.RunHooks {
592
640
  }
593
641
  result._addItem(new events_1.RunRawModelStreamEvent(event));
594
642
  }
643
+ if (parallelGuardrailPromise) {
644
+ await parallelGuardrailPromise;
645
+ if (guardrailError) {
646
+ throw guardrailError;
647
+ }
648
+ }
595
649
  result.state._noActiveAgentRun = false;
596
650
  if (!finalResponse) {
597
651
  throw new errors_1.ModelBehaviorError('Model did not produce a final response!', result.state);
@@ -711,8 +765,8 @@ class Runner extends lifecycle_1.RunHooks {
711
765
  return result;
712
766
  });
713
767
  }
714
- async #runInputGuardrails(state) {
715
- const guardrails = this.inputGuardrailDefs.concat(state._currentAgent.inputGuardrails.map(guardrail_1.defineInputGuardrail));
768
+ async #runInputGuardrails(state, guardrailsOverride) {
769
+ const guardrails = guardrailsOverride ?? this.#getInputGuardrailDefinitions(state);
716
770
  if (guardrails.length > 0) {
717
771
  const guardrailArgs = {
718
772
  agent: state._currentAgent,
@@ -727,6 +781,7 @@ class Runner extends lifecycle_1.RunHooks {
727
781
  return result;
728
782
  }, { data: { name: guardrail.name } }, state._currentAgentSpan);
729
783
  }));
784
+ state._inputGuardrailResults.push(...results);
730
785
  for (const result of results) {
731
786
  if (result.output.tripwireTriggered) {
732
787
  if (state._currentAgentSpan) {
@@ -738,6 +793,7 @@ class Runner extends lifecycle_1.RunHooks {
738
793
  throw new errors_1.InputGuardrailTripwireTriggered(`Input guardrail triggered: ${JSON.stringify(result.output.outputInfo)}`, result, state);
739
794
  }
740
795
  }
796
+ return results;
741
797
  }
742
798
  catch (e) {
743
799
  if (e instanceof errors_1.InputGuardrailTripwireTriggered) {
@@ -748,6 +804,7 @@ class Runner extends lifecycle_1.RunHooks {
748
804
  throw new errors_1.GuardrailExecutionError(`Input guardrail failed to complete: ${e}`, e, state);
749
805
  }
750
806
  }
807
+ return [];
751
808
  }
752
809
  async #runOutputGuardrails(state, output) {
753
810
  const guardrails = this.outputGuardrailDefs.concat(state._currentAgent.outputGuardrails.map(guardrail_1.defineOutputGuardrail));
@@ -1184,6 +1241,7 @@ async function prepareAgentArtifacts(state) {
1184
1241
  tools,
1185
1242
  serializedHandoffs: handoffs.map((handoff) => (0, serialize_1.serializeHandoff)(handoff)),
1186
1243
  serializedTools: tools.map((tool) => (0, serialize_1.serializeTool)(tool)),
1244
+ toolsExplicitlyProvided: state._currentAgent.hasExplicitToolConfig(),
1187
1245
  };
1188
1246
  }
1189
1247
  function getAgentInputItemKey(item) {
package/dist/run.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../src/run.ts"],"names":[],"mappings":"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"}
package/dist/run.mjs CHANGED
@@ -295,6 +295,23 @@ export class Runner extends RunHooks {
295
295
  // --------------------------------------------------------------
296
296
  inputGuardrailDefs;
297
297
  outputGuardrailDefs;
298
+ #getInputGuardrailDefinitions(state) {
299
+ return this.inputGuardrailDefs.concat(state._currentAgent.inputGuardrails.map(defineInputGuardrail));
300
+ }
301
+ #splitInputGuardrails(state) {
302
+ const guardrails = this.#getInputGuardrailDefinitions(state);
303
+ const blocking = [];
304
+ const parallel = [];
305
+ for (const guardrail of guardrails) {
306
+ if (guardrail.runInParallel === false) {
307
+ blocking.push(guardrail);
308
+ }
309
+ else {
310
+ parallel.push(guardrail);
311
+ }
312
+ }
313
+ return { blocking, parallel };
314
+ }
298
315
  /**
299
316
  * @internal
300
317
  * Resolves the effective model once so both run loops obey the same precedence rules.
@@ -375,8 +392,16 @@ export class Runner extends RunHooks {
375
392
  throw new MaxTurnsExceededError(`Max turns (${state._maxTurns}) exceeded`, state);
376
393
  }
377
394
  logger.debug(`Running agent ${state._currentAgent.name} (turn ${state._currentTurn})`);
395
+ let parallelGuardrailPromise;
378
396
  if (state._currentTurn === 1) {
379
- await this.#runInputGuardrails(state);
397
+ const guardrails = this.#splitInputGuardrails(state);
398
+ if (guardrails.blocking.length > 0) {
399
+ await this.#runInputGuardrails(state, guardrails.blocking);
400
+ }
401
+ if (guardrails.parallel.length > 0) {
402
+ parallelGuardrailPromise = this.#runInputGuardrails(state, guardrails.parallel);
403
+ parallelGuardrailPromise.catch(() => { });
404
+ }
380
405
  }
381
406
  const turnInput = serverConversationTracker
382
407
  ? serverConversationTracker.prepareInput(state._originalInput, state._generatedItems)
@@ -398,6 +423,7 @@ export class Runner extends RunHooks {
398
423
  conversationId: preparedCall.conversationId,
399
424
  modelSettings: preparedCall.modelSettings,
400
425
  tools: preparedCall.serializedTools,
426
+ toolsExplicitlyProvided: preparedCall.toolsExplicitlyProvided,
401
427
  outputType: convertAgentOutputTypeToSerializable(state._currentAgent.outputType),
402
428
  handoffs: preparedCall.serializedHandoffs,
403
429
  tracing: getTracing(this.config.tracingDisabled, this.config.traceIncludeSensitiveData),
@@ -419,6 +445,9 @@ export class Runner extends RunHooks {
419
445
  state._currentTurnPersistedItemCount = 0;
420
446
  }
421
447
  state._currentStep = turnResult.nextStep;
448
+ if (parallelGuardrailPromise) {
449
+ await parallelGuardrailPromise;
450
+ }
422
451
  }
423
452
  if (state._currentStep &&
424
453
  state._currentStep.type === 'next_step_final_output') {
@@ -536,8 +565,20 @@ export class Runner extends RunHooks {
536
565
  throw new MaxTurnsExceededError(`Max turns (${result.state._maxTurns}) exceeded`, result.state);
537
566
  }
538
567
  logger.debug(`Running agent ${currentAgent.name} (turn ${result.state._currentTurn})`);
568
+ let guardrailError;
569
+ let parallelGuardrailPromise;
539
570
  if (result.state._currentTurn === 1) {
540
- await this.#runInputGuardrails(result.state);
571
+ const guardrails = this.#splitInputGuardrails(result.state);
572
+ if (guardrails.blocking.length > 0) {
573
+ await this.#runInputGuardrails(result.state, guardrails.blocking);
574
+ }
575
+ if (guardrails.parallel.length > 0) {
576
+ const promise = this.#runInputGuardrails(result.state, guardrails.parallel);
577
+ parallelGuardrailPromise = promise.catch((err) => {
578
+ guardrailError = err;
579
+ return [];
580
+ });
581
+ }
541
582
  }
542
583
  const turnInput = serverConversationTracker
543
584
  ? serverConversationTracker.prepareInput(result.input, result.newItems)
@@ -548,6 +589,9 @@ export class Runner extends RunHooks {
548
589
  }
549
590
  let finalResponse = undefined;
550
591
  const preparedCall = await this.#prepareModelCall(result.state, options, artifacts, turnInput, serverConversationTracker, sessionInputUpdate);
592
+ if (guardrailError) {
593
+ throw guardrailError;
594
+ }
551
595
  handedInputToModel = true;
552
596
  await persistStreamInputIfNeeded();
553
597
  for await (const event of preparedCall.model.getStreamedResponse({
@@ -562,11 +606,15 @@ export class Runner extends RunHooks {
562
606
  conversationId: preparedCall.conversationId,
563
607
  modelSettings: preparedCall.modelSettings,
564
608
  tools: preparedCall.serializedTools,
609
+ toolsExplicitlyProvided: preparedCall.toolsExplicitlyProvided,
565
610
  handoffs: preparedCall.serializedHandoffs,
566
611
  outputType: convertAgentOutputTypeToSerializable(currentAgent.outputType),
567
612
  tracing: getTracing(this.config.tracingDisabled, this.config.traceIncludeSensitiveData),
568
613
  signal: options.signal,
569
614
  })) {
615
+ if (guardrailError) {
616
+ throw guardrailError;
617
+ }
570
618
  if (event.type === 'response_done') {
571
619
  const parsed = StreamEventResponseCompleted.parse(event);
572
620
  finalResponse = {
@@ -582,6 +630,12 @@ export class Runner extends RunHooks {
582
630
  }
583
631
  result._addItem(new RunRawModelStreamEvent(event));
584
632
  }
633
+ if (parallelGuardrailPromise) {
634
+ await parallelGuardrailPromise;
635
+ if (guardrailError) {
636
+ throw guardrailError;
637
+ }
638
+ }
585
639
  result.state._noActiveAgentRun = false;
586
640
  if (!finalResponse) {
587
641
  throw new ModelBehaviorError('Model did not produce a final response!', result.state);
@@ -701,8 +755,8 @@ export class Runner extends RunHooks {
701
755
  return result;
702
756
  });
703
757
  }
704
- async #runInputGuardrails(state) {
705
- const guardrails = this.inputGuardrailDefs.concat(state._currentAgent.inputGuardrails.map(defineInputGuardrail));
758
+ async #runInputGuardrails(state, guardrailsOverride) {
759
+ const guardrails = guardrailsOverride ?? this.#getInputGuardrailDefinitions(state);
706
760
  if (guardrails.length > 0) {
707
761
  const guardrailArgs = {
708
762
  agent: state._currentAgent,
@@ -717,6 +771,7 @@ export class Runner extends RunHooks {
717
771
  return result;
718
772
  }, { data: { name: guardrail.name } }, state._currentAgentSpan);
719
773
  }));
774
+ state._inputGuardrailResults.push(...results);
720
775
  for (const result of results) {
721
776
  if (result.output.tripwireTriggered) {
722
777
  if (state._currentAgentSpan) {
@@ -728,6 +783,7 @@ export class Runner extends RunHooks {
728
783
  throw new InputGuardrailTripwireTriggered(`Input guardrail triggered: ${JSON.stringify(result.output.outputInfo)}`, result, state);
729
784
  }
730
785
  }
786
+ return results;
731
787
  }
732
788
  catch (e) {
733
789
  if (e instanceof InputGuardrailTripwireTriggered) {
@@ -738,6 +794,7 @@ export class Runner extends RunHooks {
738
794
  throw new GuardrailExecutionError(`Input guardrail failed to complete: ${e}`, e, state);
739
795
  }
740
796
  }
797
+ return [];
741
798
  }
742
799
  async #runOutputGuardrails(state, output) {
743
800
  const guardrails = this.outputGuardrailDefs.concat(state._currentAgent.outputGuardrails.map(defineOutputGuardrail));
@@ -1173,6 +1230,7 @@ async function prepareAgentArtifacts(state) {
1173
1230
  tools,
1174
1231
  serializedHandoffs: handoffs.map((handoff) => serializeHandoff(handoff)),
1175
1232
  serializedTools: tools.map((tool) => serializeTool(tool)),
1233
+ toolsExplicitlyProvided: state._currentAgent.hasExplicitToolConfig(),
1176
1234
  };
1177
1235
  }
1178
1236
  function getAgentInputItemKey(item) {