@openai/agents-core 0.1.10 → 0.2.0

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 (65) hide show
  1. package/dist/agent.d.ts +8 -5
  2. package/dist/agent.js +4 -3
  3. package/dist/agent.js.map +1 -1
  4. package/dist/agent.mjs +4 -3
  5. package/dist/agent.mjs.map +1 -1
  6. package/dist/index.d.ts +1 -0
  7. package/dist/index.js.map +1 -1
  8. package/dist/index.mjs.map +1 -1
  9. package/dist/items.d.ts +424 -80
  10. package/dist/metadata.js +2 -2
  11. package/dist/metadata.js.map +1 -1
  12. package/dist/metadata.mjs +2 -2
  13. package/dist/metadata.mjs.map +1 -1
  14. package/dist/runImplementation.js +346 -0
  15. package/dist/runImplementation.js.map +1 -1
  16. package/dist/runImplementation.mjs +346 -0
  17. package/dist/runImplementation.mjs.map +1 -1
  18. package/dist/runState.d.ts +2416 -225
  19. package/dist/shims/shims-browser.d.ts +1 -1
  20. package/dist/shims/shims-workerd.d.ts +1 -1
  21. package/dist/tool.d.ts +5 -5
  22. package/dist/tool.js +2 -0
  23. package/dist/tool.js.map +1 -1
  24. package/dist/tool.mjs +2 -0
  25. package/dist/tool.mjs.map +1 -1
  26. package/dist/types/helpers.d.ts +3 -3
  27. package/dist/types/protocol.d.ts +1249 -205
  28. package/dist/types/protocol.js +101 -19
  29. package/dist/types/protocol.js.map +1 -1
  30. package/dist/types/protocol.mjs +100 -18
  31. package/dist/types/protocol.mjs.map +1 -1
  32. package/dist/utils/base64.d.ts +4 -0
  33. package/dist/utils/base64.js +43 -0
  34. package/dist/utils/base64.js.map +1 -0
  35. package/dist/utils/base64.mjs +40 -0
  36. package/dist/utils/base64.mjs.map +1 -0
  37. package/dist/utils/index.d.ts +1 -0
  38. package/dist/utils/index.js +3 -1
  39. package/dist/utils/index.js.map +1 -1
  40. package/dist/utils/index.mjs +1 -0
  41. package/dist/utils/index.mjs.map +1 -1
  42. package/dist/utils/smartString.js +56 -3
  43. package/dist/utils/smartString.js.map +1 -1
  44. package/dist/utils/smartString.mjs +56 -3
  45. package/dist/utils/smartString.mjs.map +1 -1
  46. package/dist/utils/tools.js +24 -6
  47. package/dist/utils/tools.js.map +1 -1
  48. package/dist/utils/tools.mjs +24 -6
  49. package/dist/utils/tools.mjs.map +1 -1
  50. package/dist/utils/typeGuards.d.ts +2 -2
  51. package/dist/utils/typeGuards.js +7 -7
  52. package/dist/utils/typeGuards.js.map +1 -1
  53. package/dist/utils/typeGuards.mjs +7 -7
  54. package/dist/utils/typeGuards.mjs.map +1 -1
  55. package/dist/utils/zodCompat.d.ts +13 -0
  56. package/dist/utils/zodCompat.js +29 -0
  57. package/dist/utils/zodCompat.js.map +1 -0
  58. package/dist/utils/zodCompat.mjs +24 -0
  59. package/dist/utils/zodCompat.mjs.map +1 -0
  60. package/dist/utils/zodJsonSchemaCompat.d.ts +29 -0
  61. package/dist/utils/zodJsonSchemaCompat.js +282 -0
  62. package/dist/utils/zodJsonSchemaCompat.js.map +1 -0
  63. package/dist/utils/zodJsonSchemaCompat.mjs +278 -0
  64. package/dist/utils/zodJsonSchemaCompat.mjs.map +1 -0
  65. package/package.json +3 -3
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.1.10",
7
+ "version": "0.2.0",
8
8
  "versions": {
9
- "@openai/agents-core": "0.1.10",
9
+ "@openai/agents-core": "0.2.0",
10
10
  "openai": "^5.20.2"
11
11
  }
12
12
  };
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";AACA,uCAAuC;;;AAE1B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE;QACV,qBAAqB,EAAE,QAAQ;QAC/B,QAAQ,EAAE,SAAS;KACpB;CACF,CAAC;AAEF,kBAAe,gBAAQ,CAAC"}
1
+ {"version":3,"file":"metadata.js","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":";AACA,uCAAuC;;;AAE1B,QAAA,QAAQ,GAAG;IACtB,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE;QACV,qBAAqB,EAAE,OAAO;QAC9B,QAAQ,EAAE,SAAS;KACpB;CACF,CAAC;AAEF,kBAAe,gBAAQ,CAAC"}
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.1.10",
4
+ "version": "0.2.0",
5
5
  "versions": {
6
- "@openai/agents-core": "0.1.10",
6
+ "@openai/agents-core": "0.2.0",
7
7
  "openai": "^5.20.2"
8
8
  }
9
9
  };
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.mjs","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AACA,uCAAuC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,QAAQ;IACnB,UAAU,EAAE;QACV,qBAAqB,EAAE,QAAQ;QAC/B,QAAQ,EAAE,SAAS;KACpB;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"metadata.mjs","sourceRoot":"","sources":["../src/metadata.ts"],"names":[],"mappings":"AACA,uCAAuC;AAEvC,MAAM,CAAC,MAAM,QAAQ,GAAG;IACtB,MAAM,EAAE,qBAAqB;IAC7B,SAAS,EAAE,OAAO;IAClB,UAAU,EAAE;QACV,qBAAqB,EAAE,OAAO;QAC9B,QAAQ,EAAE,SAAS;KACpB;CACF,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -23,6 +23,7 @@ const logger_1 = __importDefault(require("./logger.js"));
23
23
  const messages_1 = require("./utils/messages.js");
24
24
  const createSpans_1 = require("./tracing/createSpans.js");
25
25
  const tools_1 = require("./utils/tools.js");
26
+ const base64_1 = require("./utils/base64.js");
26
27
  const safeExecute_1 = require("./utils/safeExecute.js");
27
28
  const context_1 = require("./tracing/context.js");
28
29
  const events_1 = require("./events.js");
@@ -417,6 +418,17 @@ async function executeToolsAndSideEffects(agent, originalInput, originalPreStepI
417
418
  * @internal
418
419
  */
419
420
  function getToolCallOutputItem(toolCall, output) {
421
+ const maybeStructuredOutputs = normalizeStructuredToolOutputs(output);
422
+ if (maybeStructuredOutputs) {
423
+ const structuredItems = maybeStructuredOutputs.map(convertStructuredToolOutputToInputItem);
424
+ return {
425
+ type: 'function_call_result',
426
+ name: toolCall.name,
427
+ callId: toolCall.callId,
428
+ status: 'completed',
429
+ output: structuredItems,
430
+ };
431
+ }
420
432
  return {
421
433
  type: 'function_call_result',
422
434
  name: toolCall.name,
@@ -428,6 +440,340 @@ function getToolCallOutputItem(toolCall, output) {
428
440
  },
429
441
  };
430
442
  }
443
+ /**
444
+ * Accepts whatever the tool returned and attempts to coerce it into the structured protocol
445
+ * shapes we expose to downstream model adapters (input_text/input_image/input_file). Tools are
446
+ * allowed to return either a single structured object or an array of them; anything else falls
447
+ * back to the legacy string pipeline.
448
+ */
449
+ function normalizeStructuredToolOutputs(output) {
450
+ if (Array.isArray(output)) {
451
+ const structured = [];
452
+ for (const item of output) {
453
+ const normalized = normalizeStructuredToolOutput(item);
454
+ if (!normalized) {
455
+ return null;
456
+ }
457
+ structured.push(normalized);
458
+ }
459
+ return structured;
460
+ }
461
+ const normalized = normalizeStructuredToolOutput(output);
462
+ return normalized ? [normalized] : null;
463
+ }
464
+ /**
465
+ * Best-effort normalization of a single tool output item. If the object already matches the
466
+ * protocol shape we simply cast it; otherwise we copy the recognised fields into the canonical
467
+ * structure. Returning null lets the caller know we should revert to plain-string handling.
468
+ */
469
+ function normalizeStructuredToolOutput(value) {
470
+ if (!isRecord(value)) {
471
+ return null;
472
+ }
473
+ const type = value.type;
474
+ if (type === 'text' && typeof value.text === 'string') {
475
+ const output = { type: 'text', text: value.text };
476
+ if (isRecord(value.providerData)) {
477
+ output.providerData = value.providerData;
478
+ }
479
+ return output;
480
+ }
481
+ if (type === 'image') {
482
+ const output = { type: 'image' };
483
+ let imageString;
484
+ let imageFileId;
485
+ const fallbackImageMediaType = isNonEmptyString(value.mediaType)
486
+ ? value.mediaType
487
+ : undefined;
488
+ const imageField = value.image;
489
+ if (typeof imageField === 'string' && imageField.length > 0) {
490
+ imageString = imageField;
491
+ }
492
+ else if (isRecord(imageField)) {
493
+ const imageObj = imageField;
494
+ const inlineMediaType = isNonEmptyString(imageObj.mediaType)
495
+ ? imageObj.mediaType
496
+ : fallbackImageMediaType;
497
+ if (isNonEmptyString(imageObj.url)) {
498
+ imageString = imageObj.url;
499
+ }
500
+ else if (isNonEmptyString(imageObj.data)) {
501
+ imageString = toInlineImageString(imageObj.data, inlineMediaType);
502
+ }
503
+ else if (imageObj.data instanceof Uint8Array &&
504
+ imageObj.data.length > 0) {
505
+ imageString = toInlineImageString(imageObj.data, inlineMediaType);
506
+ }
507
+ if (!imageString) {
508
+ const candidateId = (isNonEmptyString(imageObj.fileId) && imageObj.fileId) ||
509
+ (isNonEmptyString(imageObj.id) && imageObj.id) ||
510
+ undefined;
511
+ if (candidateId) {
512
+ imageFileId = candidateId;
513
+ }
514
+ }
515
+ }
516
+ if (!imageString &&
517
+ typeof value.imageUrl === 'string' &&
518
+ value.imageUrl.length > 0) {
519
+ imageString = value.imageUrl;
520
+ }
521
+ if (!imageFileId &&
522
+ typeof value.fileId === 'string' &&
523
+ value.fileId.length > 0) {
524
+ imageFileId = value.fileId;
525
+ }
526
+ if (!imageString &&
527
+ typeof value.data === 'string' &&
528
+ value.data.length > 0) {
529
+ imageString = fallbackImageMediaType
530
+ ? toInlineImageString(value.data, fallbackImageMediaType)
531
+ : value.data;
532
+ }
533
+ else if (!imageString &&
534
+ value.data instanceof Uint8Array &&
535
+ value.data.length > 0) {
536
+ imageString = toInlineImageString(value.data, fallbackImageMediaType);
537
+ }
538
+ if (typeof value.detail === 'string' && value.detail.length > 0) {
539
+ output.detail = value.detail;
540
+ }
541
+ if (imageString) {
542
+ output.image = imageString;
543
+ }
544
+ else if (imageFileId) {
545
+ output.image = { fileId: imageFileId };
546
+ }
547
+ else {
548
+ return null;
549
+ }
550
+ if (isRecord(value.providerData)) {
551
+ output.providerData = value.providerData;
552
+ }
553
+ return output;
554
+ }
555
+ if (type === 'file') {
556
+ const fileValue = normalizeFileValue(value);
557
+ if (!fileValue) {
558
+ return null;
559
+ }
560
+ const output = { type: 'file', file: fileValue };
561
+ if (isRecord(value.providerData)) {
562
+ output.providerData = value.providerData;
563
+ }
564
+ return output;
565
+ }
566
+ return null;
567
+ }
568
+ /**
569
+ * Translates the normalized tool output into the protocol `input_*` items. This is the last hop
570
+ * before we hand the data to model-specific adapters, so we generate the exact schema expected by
571
+ * the protocol definitions.
572
+ */
573
+ function convertStructuredToolOutputToInputItem(output) {
574
+ if (output.type === 'text') {
575
+ const result = {
576
+ type: 'input_text',
577
+ text: output.text,
578
+ };
579
+ if (output.providerData) {
580
+ result.providerData = output.providerData;
581
+ }
582
+ return result;
583
+ }
584
+ if (output.type === 'image') {
585
+ const result = { type: 'input_image' };
586
+ if (typeof output.detail === 'string' && output.detail.length > 0) {
587
+ result.detail = output.detail;
588
+ }
589
+ if (typeof output.image === 'string' && output.image.length > 0) {
590
+ result.image = output.image;
591
+ }
592
+ else if (isRecord(output.image)) {
593
+ const imageObj = output.image;
594
+ const inlineMediaType = isNonEmptyString(imageObj.mediaType)
595
+ ? imageObj.mediaType
596
+ : undefined;
597
+ if (isNonEmptyString(imageObj.url)) {
598
+ result.image = imageObj.url;
599
+ }
600
+ else if (isNonEmptyString(imageObj.data)) {
601
+ result.image =
602
+ inlineMediaType && !imageObj.data.startsWith('data:')
603
+ ? asDataUrl(imageObj.data, inlineMediaType)
604
+ : imageObj.data;
605
+ }
606
+ else if (imageObj.data instanceof Uint8Array &&
607
+ imageObj.data.length > 0) {
608
+ const base64 = (0, base64_1.encodeUint8ArrayToBase64)(imageObj.data);
609
+ result.image = asDataUrl(base64, inlineMediaType);
610
+ }
611
+ else {
612
+ const referencedId = (isNonEmptyString(imageObj.fileId) && imageObj.fileId) ||
613
+ (isNonEmptyString(imageObj.id) && imageObj.id) ||
614
+ undefined;
615
+ if (referencedId) {
616
+ result.image = { id: referencedId };
617
+ }
618
+ }
619
+ }
620
+ if (output.providerData) {
621
+ result.providerData = output.providerData;
622
+ }
623
+ return result;
624
+ }
625
+ if (output.type === 'file') {
626
+ const result = { type: 'input_file' };
627
+ const fileValue = output.file;
628
+ if (typeof fileValue === 'string') {
629
+ result.file = fileValue;
630
+ }
631
+ else if (fileValue && typeof fileValue === 'object') {
632
+ const record = fileValue;
633
+ if ('data' in record && record.data) {
634
+ const mediaType = record.mediaType ?? 'text/plain';
635
+ if (typeof record.data === 'string') {
636
+ result.file = asDataUrl(record.data, mediaType);
637
+ }
638
+ else {
639
+ const base64 = (0, base64_1.encodeUint8ArrayToBase64)(record.data);
640
+ result.file = asDataUrl(base64, mediaType);
641
+ }
642
+ }
643
+ else if (typeof record.url === 'string' && record.url.length > 0) {
644
+ result.file = { url: record.url };
645
+ }
646
+ else {
647
+ const referencedId = (typeof record.id === 'string' &&
648
+ record.id.length > 0 &&
649
+ record.id) ||
650
+ (typeof record.fileId === 'string' && record.fileId.length > 0
651
+ ? record.fileId
652
+ : undefined);
653
+ if (referencedId) {
654
+ result.file = { id: referencedId };
655
+ }
656
+ }
657
+ if (typeof record.filename === 'string' && record.filename.length > 0) {
658
+ result.filename = record.filename;
659
+ }
660
+ }
661
+ if (output.providerData) {
662
+ result.providerData = output.providerData;
663
+ }
664
+ return result;
665
+ }
666
+ const exhaustiveCheck = output;
667
+ return exhaustiveCheck;
668
+ }
669
+ function normalizeFileValue(value) {
670
+ const directFile = value.file;
671
+ if (typeof directFile === 'string' && directFile.length > 0) {
672
+ return directFile;
673
+ }
674
+ const normalizedObject = normalizeFileObjectCandidate(directFile);
675
+ if (normalizedObject) {
676
+ return normalizedObject;
677
+ }
678
+ const legacyValue = normalizeLegacyFileValue(value);
679
+ if (legacyValue) {
680
+ return legacyValue;
681
+ }
682
+ return null;
683
+ }
684
+ function normalizeFileObjectCandidate(value) {
685
+ if (!isRecord(value)) {
686
+ return null;
687
+ }
688
+ if ('data' in value && value.data !== undefined) {
689
+ const dataValue = value.data;
690
+ const hasStringData = typeof dataValue === 'string' && dataValue.length > 0;
691
+ const hasBinaryData = dataValue instanceof Uint8Array && dataValue.length > 0;
692
+ if (!hasStringData && !hasBinaryData) {
693
+ return null;
694
+ }
695
+ if (!isNonEmptyString(value.mediaType) ||
696
+ !isNonEmptyString(value.filename)) {
697
+ return null;
698
+ }
699
+ return {
700
+ data: typeof dataValue === 'string' ? dataValue : new Uint8Array(dataValue),
701
+ mediaType: value.mediaType,
702
+ filename: value.filename,
703
+ };
704
+ }
705
+ if (isNonEmptyString(value.url)) {
706
+ const result = { url: value.url };
707
+ if (isNonEmptyString(value.filename)) {
708
+ result.filename = value.filename;
709
+ }
710
+ return result;
711
+ }
712
+ const referencedId = (isNonEmptyString(value.id) && value.id) ||
713
+ (isNonEmptyString(value.fileId) && value.fileId);
714
+ if (referencedId) {
715
+ const result = { id: referencedId };
716
+ if (isNonEmptyString(value.filename)) {
717
+ result.filename = value.filename;
718
+ }
719
+ return result;
720
+ }
721
+ return null;
722
+ }
723
+ function normalizeLegacyFileValue(value) {
724
+ const filename = typeof value.filename === 'string' && value.filename.length > 0
725
+ ? value.filename
726
+ : undefined;
727
+ const mediaType = typeof value.mediaType === 'string' && value.mediaType.length > 0
728
+ ? value.mediaType
729
+ : undefined;
730
+ if (typeof value.fileData === 'string' && value.fileData.length > 0) {
731
+ if (!mediaType || !filename) {
732
+ return null;
733
+ }
734
+ return { data: value.fileData, mediaType, filename };
735
+ }
736
+ if (value.fileData instanceof Uint8Array && value.fileData.length > 0) {
737
+ if (!mediaType || !filename) {
738
+ return null;
739
+ }
740
+ return { data: new Uint8Array(value.fileData), mediaType, filename };
741
+ }
742
+ if (typeof value.fileUrl === 'string' && value.fileUrl.length > 0) {
743
+ const result = { url: value.fileUrl };
744
+ if (filename) {
745
+ result.filename = filename;
746
+ }
747
+ return result;
748
+ }
749
+ if (typeof value.fileId === 'string' && value.fileId.length > 0) {
750
+ const result = { id: value.fileId };
751
+ if (filename) {
752
+ result.filename = filename;
753
+ }
754
+ return result;
755
+ }
756
+ return null;
757
+ }
758
+ function isRecord(value) {
759
+ return typeof value === 'object' && value !== null;
760
+ }
761
+ function isNonEmptyString(value) {
762
+ return typeof value === 'string' && value.length > 0;
763
+ }
764
+ function toInlineImageString(data, mediaType) {
765
+ if (typeof data === 'string') {
766
+ if (mediaType && !data.startsWith('data:')) {
767
+ return asDataUrl(data, mediaType);
768
+ }
769
+ return data;
770
+ }
771
+ const base64 = (0, base64_1.encodeUint8ArrayToBase64)(data);
772
+ return asDataUrl(base64, mediaType);
773
+ }
774
+ function asDataUrl(base64, mediaType) {
775
+ return mediaType ? `data:${mediaType};base64,${base64}` : base64;
776
+ }
431
777
  /**
432
778
  * @internal
433
779
  */
@@ -1 +1 @@
1
- {"version":3,"file":"runImplementation.js","sourceRoot":"","sources":["../src/runImplementation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runImplementation.js","sourceRoot":"","sources":["../src/runImplementation.ts"],"names":[],"mappings":"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"}