openai 0.38.0 → 0.40.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 (62) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +22 -0
  3. data/README.md +9 -9
  4. data/lib/openai/internal/type/enum.rb +6 -6
  5. data/lib/openai/models/beta/assistant_create_params.rb +1 -1
  6. data/lib/openai/models/beta/assistant_update_params.rb +1 -1
  7. data/lib/openai/models/beta/threads/run_create_params.rb +1 -1
  8. data/lib/openai/models/chat/completion_create_params.rb +1 -1
  9. data/lib/openai/models/chat_model.rb +5 -0
  10. data/lib/openai/models/eval_create_params.rb +12 -13
  11. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +13 -14
  12. data/lib/openai/models/evals/run_cancel_response.rb +14 -15
  13. data/lib/openai/models/evals/run_create_params.rb +14 -15
  14. data/lib/openai/models/evals/run_create_response.rb +14 -15
  15. data/lib/openai/models/evals/run_list_response.rb +14 -15
  16. data/lib/openai/models/evals/run_retrieve_response.rb +14 -15
  17. data/lib/openai/models/graders/grader_inputs.rb +93 -0
  18. data/lib/openai/models/graders/label_model_grader.rb +12 -13
  19. data/lib/openai/models/graders/score_model_grader.rb +19 -16
  20. data/lib/openai/models/reasoning.rb +5 -3
  21. data/lib/openai/models/reasoning_effort.rb +1 -1
  22. data/lib/openai/models/responses/response_compact_params.rb +15 -0
  23. data/lib/openai/models/video_model.rb +3 -0
  24. data/lib/openai/resources/responses.rb +5 -5
  25. data/lib/openai/version.rb +1 -1
  26. data/lib/openai.rb +1 -0
  27. data/rbi/openai/models/beta/assistant_create_params.rbi +2 -2
  28. data/rbi/openai/models/beta/assistant_update_params.rbi +2 -2
  29. data/rbi/openai/models/beta/threads/run_create_params.rbi +2 -2
  30. data/rbi/openai/models/chat/completion_create_params.rbi +2 -2
  31. data/rbi/openai/models/chat_model.rbi +8 -0
  32. data/rbi/openai/models/eval_create_params.rbi +35 -16
  33. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +37 -18
  34. data/rbi/openai/models/evals/run_cancel_response.rbi +21 -18
  35. data/rbi/openai/models/evals/run_create_params.rbi +39 -20
  36. data/rbi/openai/models/evals/run_create_response.rbi +21 -18
  37. data/rbi/openai/models/evals/run_list_response.rbi +21 -18
  38. data/rbi/openai/models/evals/run_retrieve_response.rbi +21 -18
  39. data/rbi/openai/models/graders/grader_inputs.rbi +123 -0
  40. data/rbi/openai/models/graders/label_model_grader.rbi +35 -16
  41. data/rbi/openai/models/graders/score_model_grader.rbi +41 -20
  42. data/rbi/openai/models/reasoning.rbi +8 -5
  43. data/rbi/openai/models/reasoning_effort.rbi +1 -1
  44. data/rbi/openai/models/responses/response_compact_params.rbi +25 -0
  45. data/rbi/openai/models/video_model.rbi +6 -0
  46. data/rbi/openai/resources/beta/assistants.rbi +2 -2
  47. data/rbi/openai/resources/beta/threads/runs.rbi +2 -2
  48. data/rbi/openai/resources/chat/completions.rbi +2 -2
  49. data/sig/openai/models/chat_model.rbs +11 -1
  50. data/sig/openai/models/eval_create_params.rbs +1 -3
  51. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +1 -3
  52. data/sig/openai/models/evals/run_cancel_response.rbs +1 -3
  53. data/sig/openai/models/evals/run_create_params.rbs +1 -3
  54. data/sig/openai/models/evals/run_create_response.rbs +1 -3
  55. data/sig/openai/models/evals/run_list_response.rbs +1 -3
  56. data/sig/openai/models/evals/run_retrieve_response.rbs +1 -3
  57. data/sig/openai/models/graders/grader_inputs.rbs +61 -0
  58. data/sig/openai/models/graders/label_model_grader.rbs +1 -3
  59. data/sig/openai/models/graders/score_model_grader.rbs +1 -3
  60. data/sig/openai/models/responses/response_compact_params.rbs +11 -1
  61. data/sig/openai/models/video_model.rbs +9 -1
  62. metadata +5 -2
@@ -186,10 +186,10 @@ module OpenAI
186
186
  # @see OpenAI::Models::Responses::ResponseCreateParams
187
187
  def stream(params)
188
188
  parsed, options = OpenAI::Responses::ResponseCreateParams.dump_request(params)
189
- starting_after, previous_response_id = parsed.values_at(:starting_after, :previous_response_id)
189
+ starting_after, response_id = parsed.values_at(:starting_after, :response_id)
190
190
 
191
- if starting_after && !previous_response_id
192
- raise ArgumentError, "starting_after can only be used with previous_response_id"
191
+ if starting_after && !response_id
192
+ raise ArgumentError, "starting_after can only be used with response_id"
193
193
  end
194
194
  model, tool_models = get_structured_output_models(parsed)
195
195
 
@@ -200,11 +200,11 @@ module OpenAI
200
200
  raw
201
201
  end
202
202
 
203
- if previous_response_id
203
+ if response_id
204
204
  retrieve_params = params.slice(:include, :request_options)
205
205
 
206
206
  raw_stream = retrieve_streaming_internal(
207
- previous_response_id,
207
+ response_id,
208
208
  params: retrieve_params,
209
209
  unwrap: unwrap
210
210
  )
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenAI
4
- VERSION = "0.38.0"
4
+ VERSION = "0.40.0"
5
5
  end
data/lib/openai.rb CHANGED
@@ -385,6 +385,7 @@ require_relative "openai/models/fine_tuning/supervised_hyperparameters"
385
385
  require_relative "openai/models/fine_tuning/supervised_method"
386
386
  require_relative "openai/models/function_definition"
387
387
  require_relative "openai/models/function_parameters"
388
+ require_relative "openai/models/graders/grader_inputs"
388
389
  require_relative "openai/models/graders/label_model_grader"
389
390
  require_relative "openai/models/graders/multi_grader"
390
391
  require_relative "openai/models/graders/string_check_grader"
@@ -57,7 +57,7 @@ module OpenAI
57
57
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
58
58
  # support `none`.
59
59
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
60
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
60
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
61
61
  sig { returns(T.nilable(OpenAI::ReasoningEffort::OrSymbol)) }
62
62
  attr_accessor :reasoning_effort
63
63
 
@@ -227,7 +227,7 @@ module OpenAI
227
227
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
228
228
  # support `none`.
229
229
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
230
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
230
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
231
231
  reasoning_effort: nil,
232
232
  # Specifies the format that the model must output. Compatible with
233
233
  # [GPT-4o](https://platform.openai.com/docs/models#gpt-4o),
@@ -77,7 +77,7 @@ module OpenAI
77
77
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
78
78
  # support `none`.
79
79
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
80
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
80
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
81
81
  sig { returns(T.nilable(OpenAI::ReasoningEffort::OrSymbol)) }
82
82
  attr_accessor :reasoning_effort
83
83
 
@@ -251,7 +251,7 @@ module OpenAI
251
251
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
252
252
  # support `none`.
253
253
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
254
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
254
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
255
255
  reasoning_effort: nil,
256
256
  # Specifies the format that the model must output. Compatible with
257
257
  # [GPT-4o](https://platform.openai.com/docs/models#gpt-4o),
@@ -123,7 +123,7 @@ module OpenAI
123
123
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
124
124
  # support `none`.
125
125
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
126
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
126
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
127
127
  sig { returns(T.nilable(OpenAI::ReasoningEffort::OrSymbol)) }
128
128
  attr_accessor :reasoning_effort
129
129
 
@@ -349,7 +349,7 @@ module OpenAI
349
349
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
350
350
  # support `none`.
351
351
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
352
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
352
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
353
353
  reasoning_effort: nil,
354
354
  # Specifies the format that the model must output. Compatible with
355
355
  # [GPT-4o](https://platform.openai.com/docs/models#gpt-4o),
@@ -250,7 +250,7 @@ module OpenAI
250
250
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
251
251
  # support `none`.
252
252
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
253
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
253
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
254
254
  sig { returns(T.nilable(OpenAI::ReasoningEffort::OrSymbol)) }
255
255
  attr_accessor :reasoning_effort
256
256
 
@@ -704,7 +704,7 @@ module OpenAI
704
704
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
705
705
  # support `none`.
706
706
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
707
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
707
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
708
708
  reasoning_effort: nil,
709
709
  # An object specifying the format that the model must output.
710
710
  #
@@ -8,6 +8,14 @@ module OpenAI
8
8
  TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::ChatModel) }
9
9
  OrSymbol = T.type_alias { T.any(Symbol, String) }
10
10
 
11
+ GPT_5_2 = T.let(:"gpt-5.2", OpenAI::ChatModel::TaggedSymbol)
12
+ GPT_5_2_2025_12_11 =
13
+ T.let(:"gpt-5.2-2025-12-11", OpenAI::ChatModel::TaggedSymbol)
14
+ GPT_5_2_CHAT_LATEST =
15
+ T.let(:"gpt-5.2-chat-latest", OpenAI::ChatModel::TaggedSymbol)
16
+ GPT_5_2_PRO = T.let(:"gpt-5.2-pro", OpenAI::ChatModel::TaggedSymbol)
17
+ GPT_5_2_PRO_2025_12_11 =
18
+ T.let(:"gpt-5.2-pro-2025-12-11", OpenAI::ChatModel::TaggedSymbol)
11
19
  GPT_5_1 = T.let(:"gpt-5.1", OpenAI::ChatModel::TaggedSymbol)
12
20
  GPT_5_1_2025_11_13 =
13
21
  T.let(:"gpt-5.1-2025-11-13", OpenAI::ChatModel::TaggedSymbol)
@@ -474,7 +474,8 @@ module OpenAI
474
474
  )
475
475
  end
476
476
 
477
- # Inputs to the model - can contain template strings.
477
+ # Inputs to the model - can contain template strings. Supports text, output text,
478
+ # input images, and input audio, either as a single item or an array of items.
478
479
  sig do
479
480
  returns(
480
481
  T.any(
@@ -483,7 +484,15 @@ module OpenAI
483
484
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText,
484
485
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage,
485
486
  OpenAI::Responses::ResponseInputAudio,
486
- T::Array[T.anything]
487
+ T::Array[
488
+ T.any(
489
+ String,
490
+ OpenAI::Responses::ResponseInputText,
491
+ OpenAI::Graders::GraderInputItem::OutputText,
492
+ OpenAI::Graders::GraderInputItem::InputImage,
493
+ OpenAI::Responses::ResponseInputAudio
494
+ )
495
+ ]
487
496
  )
488
497
  )
489
498
  end
@@ -530,7 +539,15 @@ module OpenAI
530
539
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText::OrHash,
531
540
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage::OrHash,
532
541
  OpenAI::Responses::ResponseInputAudio::OrHash,
533
- T::Array[T.anything]
542
+ T::Array[
543
+ T.any(
544
+ String,
545
+ OpenAI::Responses::ResponseInputText::OrHash,
546
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
547
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
548
+ OpenAI::Responses::ResponseInputAudio::OrHash
549
+ )
550
+ ]
534
551
  ),
535
552
  role:
536
553
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Role::OrSymbol,
@@ -539,7 +556,8 @@ module OpenAI
539
556
  ).returns(T.attached_class)
540
557
  end
541
558
  def self.new(
542
- # Inputs to the model - can contain template strings.
559
+ # Inputs to the model - can contain template strings. Supports text, output text,
560
+ # input images, and input audio, either as a single item or an array of items.
543
561
  content:,
544
562
  # The role of the message input. One of `user`, `assistant`, `system`, or
545
563
  # `developer`.
@@ -559,7 +577,15 @@ module OpenAI
559
577
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText,
560
578
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage,
561
579
  OpenAI::Responses::ResponseInputAudio,
562
- T::Array[T.anything]
580
+ T::Array[
581
+ T.any(
582
+ String,
583
+ OpenAI::Responses::ResponseInputText,
584
+ OpenAI::Graders::GraderInputItem::OutputText,
585
+ OpenAI::Graders::GraderInputItem::InputImage,
586
+ OpenAI::Responses::ResponseInputAudio
587
+ )
588
+ ]
563
589
  ),
564
590
  role:
565
591
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Role::OrSymbol,
@@ -571,7 +597,8 @@ module OpenAI
571
597
  def to_hash
572
598
  end
573
599
 
574
- # Inputs to the model - can contain template strings.
600
+ # Inputs to the model - can contain template strings. Supports text, output text,
601
+ # input images, and input audio, either as a single item or an array of items.
575
602
  module Content
576
603
  extend OpenAI::Internal::Type::Union
577
604
 
@@ -583,7 +610,7 @@ module OpenAI
583
610
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText,
584
611
  OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage,
585
612
  OpenAI::Responses::ResponseInputAudio,
586
- T::Array[T.anything]
613
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
587
614
  )
588
615
  end
589
616
 
@@ -646,7 +673,7 @@ module OpenAI
646
673
  sig { params(detail: String).void }
647
674
  attr_writer :detail
648
675
 
649
- # An image input to the model.
676
+ # An image input block used within EvalItem content arrays.
650
677
  sig do
651
678
  params(
652
679
  image_url: String,
@@ -683,14 +710,6 @@ module OpenAI
683
710
  end
684
711
  def self.variants
685
712
  end
686
-
687
- AnArrayOfInputTextInputImageAndInputAudioArray =
688
- T.let(
689
- OpenAI::Internal::Type::ArrayOf[
690
- OpenAI::Internal::Type::Unknown
691
- ],
692
- OpenAI::Internal::Type::Converter
693
- )
694
713
  end
695
714
 
696
715
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -515,7 +515,8 @@ module OpenAI
515
515
  )
516
516
  end
517
517
 
518
- # Inputs to the model - can contain template strings.
518
+ # Inputs to the model - can contain template strings. Supports text, output text,
519
+ # input images, and input audio, either as a single item or an array of items.
519
520
  sig do
520
521
  returns(
521
522
  T.any(
@@ -524,7 +525,15 @@ module OpenAI
524
525
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
525
526
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
526
527
  OpenAI::Responses::ResponseInputAudio,
527
- T::Array[T.anything]
528
+ T::Array[
529
+ T.any(
530
+ String,
531
+ OpenAI::Responses::ResponseInputText,
532
+ OpenAI::Graders::GraderInputItem::OutputText,
533
+ OpenAI::Graders::GraderInputItem::InputImage,
534
+ OpenAI::Responses::ResponseInputAudio
535
+ )
536
+ ]
528
537
  )
529
538
  )
530
539
  end
@@ -571,7 +580,15 @@ module OpenAI
571
580
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText::OrHash,
572
581
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage::OrHash,
573
582
  OpenAI::Responses::ResponseInputAudio::OrHash,
574
- T::Array[T.anything]
583
+ T::Array[
584
+ T.any(
585
+ String,
586
+ OpenAI::Responses::ResponseInputText::OrHash,
587
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
588
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
589
+ OpenAI::Responses::ResponseInputAudio::OrHash
590
+ )
591
+ ]
575
592
  ),
576
593
  role:
577
594
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -580,7 +597,8 @@ module OpenAI
580
597
  ).returns(T.attached_class)
581
598
  end
582
599
  def self.new(
583
- # Inputs to the model - can contain template strings.
600
+ # Inputs to the model - can contain template strings. Supports text, output text,
601
+ # input images, and input audio, either as a single item or an array of items.
584
602
  content:,
585
603
  # The role of the message input. One of `user`, `assistant`, `system`, or
586
604
  # `developer`.
@@ -600,7 +618,15 @@ module OpenAI
600
618
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
601
619
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
602
620
  OpenAI::Responses::ResponseInputAudio,
603
- T::Array[T.anything]
621
+ T::Array[
622
+ T.any(
623
+ String,
624
+ OpenAI::Responses::ResponseInputText,
625
+ OpenAI::Graders::GraderInputItem::OutputText,
626
+ OpenAI::Graders::GraderInputItem::InputImage,
627
+ OpenAI::Responses::ResponseInputAudio
628
+ )
629
+ ]
604
630
  ),
605
631
  role:
606
632
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -612,7 +638,8 @@ module OpenAI
612
638
  def to_hash
613
639
  end
614
640
 
615
- # Inputs to the model - can contain template strings.
641
+ # Inputs to the model - can contain template strings. Supports text, output text,
642
+ # input images, and input audio, either as a single item or an array of items.
616
643
  module Content
617
644
  extend OpenAI::Internal::Type::Union
618
645
 
@@ -624,7 +651,7 @@ module OpenAI
624
651
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
625
652
  OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
626
653
  OpenAI::Responses::ResponseInputAudio,
627
- T::Array[T.anything]
654
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
628
655
  )
629
656
  end
630
657
 
@@ -689,7 +716,7 @@ module OpenAI
689
716
  sig { params(detail: String).void }
690
717
  attr_writer :detail
691
718
 
692
- # An image input to the model.
719
+ # An image input block used within EvalItem content arrays.
693
720
  sig do
694
721
  params(
695
722
  image_url: String,
@@ -726,14 +753,6 @@ module OpenAI
726
753
  end
727
754
  def self.variants
728
755
  end
729
-
730
- AnArrayOfInputTextInputImageAndInputAudioArray =
731
- T.let(
732
- OpenAI::Internal::Type::ArrayOf[
733
- OpenAI::Internal::Type::Unknown
734
- ],
735
- OpenAI::Internal::Type::Converter
736
- )
737
756
  end
738
757
 
739
758
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -899,7 +918,7 @@ module OpenAI
899
918
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
900
919
  # support `none`.
901
920
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
902
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
921
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
903
922
  sig { returns(T.nilable(OpenAI::ReasoningEffort::OrSymbol)) }
904
923
  attr_accessor :reasoning_effort
905
924
 
@@ -1007,7 +1026,7 @@ module OpenAI
1007
1026
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1008
1027
  # support `none`.
1009
1028
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1010
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
1029
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1011
1030
  reasoning_effort: nil,
1012
1031
  # An object specifying the format that the model must output.
1013
1032
  #
@@ -522,7 +522,7 @@ module OpenAI
522
522
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
523
523
  # support `none`.
524
524
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
525
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
525
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
526
526
  sig do
527
527
  returns(T.nilable(OpenAI::ReasoningEffort::TaggedSymbol))
528
528
  end
@@ -589,7 +589,7 @@ module OpenAI
589
589
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
590
590
  # support `none`.
591
591
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
592
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
592
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
593
593
  reasoning_effort: nil,
594
594
  # Sampling temperature. This is a query parameter used to select responses.
595
595
  temperature: nil,
@@ -771,7 +771,8 @@ module OpenAI
771
771
  )
772
772
  end
773
773
 
774
- # Inputs to the model - can contain template strings.
774
+ # Inputs to the model - can contain template strings. Supports text, output text,
775
+ # input images, and input audio, either as a single item or an array of items.
775
776
  sig do
776
777
  returns(
777
778
  OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::Variants
@@ -820,7 +821,15 @@ module OpenAI
820
821
  OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText::OrHash,
821
822
  OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage::OrHash,
822
823
  OpenAI::Responses::ResponseInputAudio::OrHash,
823
- T::Array[T.anything]
824
+ T::Array[
825
+ T.any(
826
+ String,
827
+ OpenAI::Responses::ResponseInputText::OrHash,
828
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
829
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
830
+ OpenAI::Responses::ResponseInputAudio::OrHash
831
+ )
832
+ ]
824
833
  ),
825
834
  role:
826
835
  OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -829,7 +838,8 @@ module OpenAI
829
838
  ).returns(T.attached_class)
830
839
  end
831
840
  def self.new(
832
- # Inputs to the model - can contain template strings.
841
+ # Inputs to the model - can contain template strings. Supports text, output text,
842
+ # input images, and input audio, either as a single item or an array of items.
833
843
  content:,
834
844
  # The role of the message input. One of `user`, `assistant`, `system`, or
835
845
  # `developer`.
@@ -854,7 +864,8 @@ module OpenAI
854
864
  def to_hash
855
865
  end
856
866
 
857
- # Inputs to the model - can contain template strings.
867
+ # Inputs to the model - can contain template strings. Supports text, output text,
868
+ # input images, and input audio, either as a single item or an array of items.
858
869
  module Content
859
870
  extend OpenAI::Internal::Type::Union
860
871
 
@@ -866,7 +877,7 @@ module OpenAI
866
877
  OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText,
867
878
  OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage,
868
879
  OpenAI::Responses::ResponseInputAudio,
869
- T::Array[T.anything]
880
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
870
881
  )
871
882
  end
872
883
 
@@ -931,7 +942,7 @@ module OpenAI
931
942
  sig { params(detail: String).void }
932
943
  attr_writer :detail
933
944
 
934
- # An image input to the model.
945
+ # An image input block used within EvalItem content arrays.
935
946
  sig do
936
947
  params(
937
948
  image_url: String,
@@ -968,14 +979,6 @@ module OpenAI
968
979
  end
969
980
  def self.variants
970
981
  end
971
-
972
- AnArrayOfInputTextInputImageAndInputAudioArray =
973
- T.let(
974
- OpenAI::Internal::Type::ArrayOf[
975
- OpenAI::Internal::Type::Unknown
976
- ],
977
- OpenAI::Internal::Type::Converter
978
- )
979
982
  end
980
983
 
981
984
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -1143,7 +1146,7 @@ module OpenAI
1143
1146
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1144
1147
  # support `none`.
1145
1148
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1146
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
1149
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1147
1150
  sig { returns(T.nilable(OpenAI::ReasoningEffort::TaggedSymbol)) }
1148
1151
  attr_accessor :reasoning_effort
1149
1152
 
@@ -1276,7 +1279,7 @@ module OpenAI
1276
1279
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1277
1280
  # support `none`.
1278
1281
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1279
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
1282
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1280
1283
  reasoning_effort: nil,
1281
1284
  # A seed value to initialize the randomness, during sampling.
1282
1285
  seed: nil,
@@ -432,7 +432,7 @@ module OpenAI
432
432
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
433
433
  # support `none`.
434
434
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
435
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
435
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
436
436
  sig { returns(T.nilable(OpenAI::ReasoningEffort::OrSymbol)) }
437
437
  attr_accessor :reasoning_effort
438
438
 
@@ -497,7 +497,7 @@ module OpenAI
497
497
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
498
498
  # support `none`.
499
499
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
500
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
500
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
501
501
  reasoning_effort: nil,
502
502
  # Sampling temperature. This is a query parameter used to select responses.
503
503
  temperature: nil,
@@ -715,7 +715,8 @@ module OpenAI
715
715
  )
716
716
  end
717
717
 
718
- # Inputs to the model - can contain template strings.
718
+ # Inputs to the model - can contain template strings. Supports text, output text,
719
+ # input images, and input audio, either as a single item or an array of items.
719
720
  sig do
720
721
  returns(
721
722
  T.any(
@@ -724,7 +725,15 @@ module OpenAI
724
725
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
725
726
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
726
727
  OpenAI::Responses::ResponseInputAudio,
727
- T::Array[T.anything]
728
+ T::Array[
729
+ T.any(
730
+ String,
731
+ OpenAI::Responses::ResponseInputText,
732
+ OpenAI::Graders::GraderInputItem::OutputText,
733
+ OpenAI::Graders::GraderInputItem::InputImage,
734
+ OpenAI::Responses::ResponseInputAudio
735
+ )
736
+ ]
728
737
  )
729
738
  )
730
739
  end
@@ -771,7 +780,15 @@ module OpenAI
771
780
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText::OrHash,
772
781
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage::OrHash,
773
782
  OpenAI::Responses::ResponseInputAudio::OrHash,
774
- T::Array[T.anything]
783
+ T::Array[
784
+ T.any(
785
+ String,
786
+ OpenAI::Responses::ResponseInputText::OrHash,
787
+ OpenAI::Graders::GraderInputItem::OutputText::OrHash,
788
+ OpenAI::Graders::GraderInputItem::InputImage::OrHash,
789
+ OpenAI::Responses::ResponseInputAudio::OrHash
790
+ )
791
+ ]
775
792
  ),
776
793
  role:
777
794
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -780,7 +797,8 @@ module OpenAI
780
797
  ).returns(T.attached_class)
781
798
  end
782
799
  def self.new(
783
- # Inputs to the model - can contain template strings.
800
+ # Inputs to the model - can contain template strings. Supports text, output text,
801
+ # input images, and input audio, either as a single item or an array of items.
784
802
  content:,
785
803
  # The role of the message input. One of `user`, `assistant`, `system`, or
786
804
  # `developer`.
@@ -800,7 +818,15 @@ module OpenAI
800
818
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
801
819
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
802
820
  OpenAI::Responses::ResponseInputAudio,
803
- T::Array[T.anything]
821
+ T::Array[
822
+ T.any(
823
+ String,
824
+ OpenAI::Responses::ResponseInputText,
825
+ OpenAI::Graders::GraderInputItem::OutputText,
826
+ OpenAI::Graders::GraderInputItem::InputImage,
827
+ OpenAI::Responses::ResponseInputAudio
828
+ )
829
+ ]
804
830
  ),
805
831
  role:
806
832
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Role::OrSymbol,
@@ -812,7 +838,8 @@ module OpenAI
812
838
  def to_hash
813
839
  end
814
840
 
815
- # Inputs to the model - can contain template strings.
841
+ # Inputs to the model - can contain template strings. Supports text, output text,
842
+ # input images, and input audio, either as a single item or an array of items.
816
843
  module Content
817
844
  extend OpenAI::Internal::Type::Union
818
845
 
@@ -824,7 +851,7 @@ module OpenAI
824
851
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText,
825
852
  OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage,
826
853
  OpenAI::Responses::ResponseInputAudio,
827
- T::Array[T.anything]
854
+ T::Array[OpenAI::Graders::GraderInputItem::Variants]
828
855
  )
829
856
  end
830
857
 
@@ -889,7 +916,7 @@ module OpenAI
889
916
  sig { params(detail: String).void }
890
917
  attr_writer :detail
891
918
 
892
- # An image input to the model.
919
+ # An image input block used within EvalItem content arrays.
893
920
  sig do
894
921
  params(
895
922
  image_url: String,
@@ -926,14 +953,6 @@ module OpenAI
926
953
  end
927
954
  def self.variants
928
955
  end
929
-
930
- AnArrayOfInputTextInputImageAndInputAudioArray =
931
- T.let(
932
- OpenAI::Internal::Type::ArrayOf[
933
- OpenAI::Internal::Type::Unknown
934
- ],
935
- OpenAI::Internal::Type::Converter
936
- )
937
956
  end
938
957
 
939
958
  # The role of the message input. One of `user`, `assistant`, `system`, or
@@ -1101,7 +1120,7 @@ module OpenAI
1101
1120
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1102
1121
  # support `none`.
1103
1122
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1104
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
1123
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1105
1124
  sig { returns(T.nilable(OpenAI::ReasoningEffort::OrSymbol)) }
1106
1125
  attr_accessor :reasoning_effort
1107
1126
 
@@ -1253,7 +1272,7 @@ module OpenAI
1253
1272
  # - All models before `gpt-5.1` default to `medium` reasoning effort, and do not
1254
1273
  # support `none`.
1255
1274
  # - The `gpt-5-pro` model defaults to (and only supports) `high` reasoning effort.
1256
- # - `xhigh` is currently only supported for `gpt-5.1-codex-max`.
1275
+ # - `xhigh` is supported for all models after `gpt-5.1-codex-max`.
1257
1276
  reasoning_effort: nil,
1258
1277
  # A seed value to initialize the randomness, during sampling.
1259
1278
  seed: nil,