openai 0.82.0 → 0.84.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 (88) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +47 -0
  3. data/README.md +1 -1
  4. data/lib/openai/auth/workload_identity_auth.rb +17 -2
  5. data/lib/openai/client.rb +20 -6
  6. data/lib/openai/errors.rb +1 -1
  7. data/lib/openai/helpers/realtime/client_extension.rb +107 -0
  8. data/lib/openai/helpers/streaming/chat_completion_stream.rb +1 -2
  9. data/lib/openai/helpers/streaming/response_events.rb +2 -2
  10. data/lib/openai/helpers/streaming/response_stream.rb +73 -42
  11. data/lib/openai/helpers/structured_output/chat_completion_parser.rb +6 -0
  12. data/lib/openai/helpers/structured_output/response_parser.rb +1 -1
  13. data/lib/openai/http_client.rb +40 -1
  14. data/lib/openai/internal/logging.rb +7 -1
  15. data/lib/openai/internal/transport/base_client.rb +35 -4
  16. data/lib/openai/internal/type/base_model.rb +2 -2
  17. data/lib/openai/internal/type/converter.rb +1 -1
  18. data/lib/openai/internal/util.rb +8 -4
  19. data/lib/openai/models/admin/organization/audit_log_list_params.rb +2 -0
  20. data/lib/openai/models/admin/organization/audit_log_list_response.rb +2 -0
  21. data/lib/openai/models/admin/organization/usage_costs_params.rb +10 -1
  22. data/lib/openai/models/batch.rb +4 -4
  23. data/lib/openai/models/beta/beta_response.rb +9 -12
  24. data/lib/openai/models/beta/beta_responses_client_event.rb +8 -12
  25. data/lib/openai/models/beta/response_compact_params.rb +7 -7
  26. data/lib/openai/models/beta/response_create_params.rb +8 -12
  27. data/lib/openai/models/chat/completion_create_params.rb +8 -8
  28. data/lib/openai/models/eval_create_response.rb +1 -1
  29. data/lib/openai/models/eval_list_response.rb +1 -1
  30. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  31. data/lib/openai/models/eval_update_response.rb +1 -1
  32. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +2 -2
  33. data/lib/openai/models/reasoning.rb +0 -2
  34. data/lib/openai/models/responses/response.rb +6 -7
  35. data/lib/openai/models/responses/response_compact_params.rb +7 -7
  36. data/lib/openai/models/responses/response_create_params.rb +5 -7
  37. data/lib/openai/models/responses/responses_client_event.rb +5 -7
  38. data/lib/openai/request_options.rb +8 -0
  39. data/lib/openai/resources/admin/organization/usage.rb +3 -1
  40. data/lib/openai/resources/beta/responses.rb +5 -5
  41. data/lib/openai/resources/chat/completions.rb +2 -2
  42. data/lib/openai/resources/responses.rb +7 -6
  43. data/lib/openai/version.rb +1 -1
  44. data/lib/openai.rb +1 -0
  45. data/rbi/openai/errors.rbi +1 -1
  46. data/rbi/openai/helpers/streaming/events.rbi +2 -2
  47. data/rbi/openai/helpers/streaming/response_stream.rbi +3 -3
  48. data/rbi/openai/http_client.rbi +25 -2
  49. data/rbi/openai/internal/logging.rbi +12 -2
  50. data/rbi/openai/internal/transport/base_client.rbi +12 -2
  51. data/rbi/openai/internal/util.rbi +3 -2
  52. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +8 -0
  53. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +8 -0
  54. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +15 -0
  55. data/rbi/openai/models/batch.rbi +6 -6
  56. data/rbi/openai/models/beta/beta_response.rbi +10 -15
  57. data/rbi/openai/models/beta/beta_responses_client_event.rbi +9 -15
  58. data/rbi/openai/models/beta/response_compact_params.rbi +9 -9
  59. data/rbi/openai/models/beta/response_create_params.rbi +9 -15
  60. data/rbi/openai/models/chat/completion_create_params.rbi +9 -9
  61. data/rbi/openai/models/eval_create_response.rbi +1 -1
  62. data/rbi/openai/models/eval_list_response.rbi +1 -1
  63. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  64. data/rbi/openai/models/eval_update_response.rbi +1 -1
  65. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +2 -2
  66. data/rbi/openai/models/reasoning.rbi +0 -2
  67. data/rbi/openai/models/responses/response.rbi +7 -10
  68. data/rbi/openai/models/responses/response_compact_params.rbi +9 -9
  69. data/rbi/openai/models/responses/response_create_params.rbi +6 -10
  70. data/rbi/openai/models/responses/responses_client_event.rbi +6 -10
  71. data/rbi/openai/request_options.rbi +4 -0
  72. data/rbi/openai/resources/admin/organization/usage.rbi +4 -0
  73. data/rbi/openai/resources/beta/responses.rbi +7 -11
  74. data/rbi/openai/resources/chat/completions.rbi +6 -6
  75. data/rbi/openai/resources/responses.rbi +9 -13
  76. data/sig/openai/errors.rbs +1 -1
  77. data/sig/openai/http_client.rbs +14 -1
  78. data/sig/openai/internal/logging.rbs +6 -1
  79. data/sig/openai/internal/transport/base_client.rbs +11 -20
  80. data/sig/openai/internal/util.rbs +3 -1
  81. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +4 -0
  82. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +4 -0
  83. data/sig/openai/models/admin/organization/usage_costs_params.rbs +7 -0
  84. data/sig/openai/models/beta/beta_response.rbs +2 -1
  85. data/sig/openai/models/responses/response.rbs +2 -1
  86. data/sig/openai/request_options.rbs +4 -1
  87. data/sig/openai/resources/admin/organization/usage.rbs +1 -0
  88. metadata +1 -1
@@ -658,9 +658,9 @@ module OpenAI
658
658
  raise TypeError, "`http_client#execute` must return an OpenAI::HTTPClient::Response"
659
659
  end
660
660
 
661
+ http_response = log_context.response_received(http_response)
661
662
  status = http_response.status
662
663
  headers = http_response.headers
663
- http_response = log_context.response_received(http_response)
664
664
  stream = http_response.body
665
665
  rescue OpenAI::Errors::APIConnectionError => e
666
666
  status = e
@@ -785,6 +785,8 @@ module OpenAI
785
785
  #
786
786
  # @option options [Float, nil] :timeout
787
787
  #
788
+ # @option options [Boolean, nil] :include_raw_body
789
+ #
788
790
  # @raise [OpenAI::Errors::APIError]
789
791
  # @return [Object]
790
792
  def request(req)
@@ -798,10 +800,14 @@ module OpenAI
798
800
  #
799
801
  # @param req [Hash{Symbol=>Object}]
800
802
  # @return [Array(URI::Generic, OpenAI::HTTPClient::Response, OpenAI::Internal::Logging::Context)]
801
- private def perform_request(req)
803
+ private def perform_request(req, &response_observer)
802
804
  self.class.validate!(req)
803
805
  opts = req[:options].to_h
804
806
  OpenAI::RequestOptions.validate!(opts)
807
+ if req[:stream] && opts[:include_raw_body] == true
808
+ raise ArgumentError, "`include_raw_body` is not supported for streaming responses"
809
+ end
810
+
805
811
  request = build_request(req.except(:options), opts)
806
812
  url = request.fetch(:url)
807
813
  log_context = OpenAI::Internal::Logging::Context.new(
@@ -809,7 +815,12 @@ module OpenAI
809
815
  log_level: @log_level,
810
816
  on_retry: @on_retry,
811
817
  method: request.fetch(:method),
812
- url: url
818
+ url: url,
819
+ on_response: if response_observer
820
+ lambda do |received_response, trusted_url, received_url|
821
+ response_observer.call(received_response, trusted_url, received_url)
822
+ end
823
+ end
813
824
  )
814
825
 
815
826
  # Don't send the current retry count in the headers if the caller modified the header defaults.
@@ -820,6 +831,7 @@ module OpenAI
820
831
  retry_count: 0,
821
832
  send_retry_header: send_retry_header
822
833
  ) { log_context }
834
+
823
835
  [url, response, log_context]
824
836
  rescue StandardError => e
825
837
  log_context&.request_failed(e)
@@ -862,8 +874,27 @@ module OpenAI
862
874
 
863
875
  unwrap = req[:unwrap]
864
876
  response_metadata = response.metadata
877
+ include_raw_body = req[:options].to_h[:include_raw_body] == true &&
878
+ (req[:page] ||
879
+ (model.is_a?(Class) && model <= OpenAI::Internal::Type::BaseModel) ||
880
+ model.is_a?(OpenAI::Internal::Type::Union))
881
+ raw_body = nil
882
+ decoded = if include_raw_body
883
+ OpenAI::Internal::Util.decode_content(response.headers, stream: response.body) do |body|
884
+ raw_body = body
885
+ end
886
+ else
887
+ OpenAI::Internal::Util.decode_content(response.headers, stream: response.body)
888
+ end
889
+
890
+ if include_raw_body && !decoded.is_a?(StringIO)
891
+ response_metadata = OpenAI::ResponseMetadata.new(
892
+ status: response.status,
893
+ headers: response.headers,
894
+ body: raw_body&.freeze
895
+ )
896
+ end
865
897
 
866
- decoded = OpenAI::Internal::Util.decode_content(response.headers, stream: response.body)
867
898
  case req
868
899
  in {stream: Class => st}
869
900
  st.new(
@@ -119,7 +119,7 @@ module OpenAI
119
119
  Kernel.then do
120
120
  value = @data.fetch(name_sym) { const == OpenAI::Internal::OMIT ? nil : const }
121
121
  state = OpenAI::Internal::Type::Converter.new_coerce_state(translate_names: false)
122
- if (nilable || !required) && value.nil?
122
+ if (nilable || !required) && nil.equal?(value)
123
123
  nil
124
124
  else
125
125
  OpenAI::Internal::Type::Converter.coerce(
@@ -321,7 +321,7 @@ module OpenAI
321
321
  keys.delete(src_name)
322
322
 
323
323
  state[:error] = nil
324
- converted = if item.nil? && (nilable || !required)
324
+ converted = if nil.equal?(item) && (nilable || !required)
325
325
  exactness[nilable ? :yes : :maybe] += 1
326
326
  nil
327
327
  else
@@ -199,7 +199,7 @@ module OpenAI
199
199
 
200
200
  case target
201
201
  in -> { _1 <= NilClass }
202
- exactness[value.nil? ? :yes : :maybe] += 1
202
+ exactness[nil.equal?(value) ? :yes : :maybe] += 1
203
203
  return nil
204
204
  in -> { _1 <= Integer }
205
205
  case value
@@ -510,7 +510,7 @@ module OpenAI
510
510
  IO.copy_stream(val, y)
511
511
  in StringIO
512
512
  y << format(content_line, content_type || "application/octet-stream")
513
- y << val.string
513
+ y << (val.string.byteslice(val.pos..) || "")
514
514
  in -> { primitive?(_1) }
515
515
  y << format(content_line, content_type || "text/plain")
516
516
  y << val.to_s
@@ -630,7 +630,7 @@ module OpenAI
630
630
  in [OpenAI::Internal::Util::JSON_CONTENT, Hash | Array | -> { primitive?(_1) }]
631
631
  [headers, JSON.generate(body)]
632
632
  in [OpenAI::Internal::Util::JSONL_CONTENT, Enumerable] unless OpenAI::Internal::Type::FileInput === body
633
- [headers, body.lazy.map { JSON.generate(_1) }]
633
+ [headers, body.lazy.map { "#{JSON.generate(_1)}\n" }]
634
634
  in [%r{^multipart/form-data}, Hash | OpenAI::Internal::Type::FileInput]
635
635
  boundary, strio = encode_multipart_streaming(body)
636
636
  headers = {**headers, "content-type" => "#{content_type}; boundary=#{boundary}"}
@@ -673,13 +673,16 @@ module OpenAI
673
673
  # @param headers [Hash{String=>String}]
674
674
  # @param stream [Enumerable<String>]
675
675
  # @param suppress_error [Boolean]
676
+ # @yieldparam [String] The buffered response body before decoding.
676
677
  #
677
678
  # @raise [JSON::ParserError]
678
679
  # @return [Object]
679
- def decode_content(headers, stream:, suppress_error: false)
680
+ def decode_content(headers, stream:, suppress_error: false, &body_observer)
680
681
  case (content_type = headers["content-type"])
681
682
  in OpenAI::Internal::Util::JSON_CONTENT
682
- return nil if (json = stream.to_a.join).empty?
683
+ json = stream.to_a.join
684
+ body_observer&.call(json)
685
+ return nil if json.empty?
683
686
 
684
687
  begin
685
688
  JSON.parse(json, symbolize_names: true)
@@ -703,6 +706,7 @@ module OpenAI
703
706
  decode_sse(lines)
704
707
  else
705
708
  text = stream.to_a.join
709
+ body_observer&.call(text)
706
710
  force_charset!(content_type, text: text)
707
711
  StringIO.new(text)
708
712
  end
@@ -236,6 +236,8 @@ module OpenAI
236
236
  TENANT_ADMIN_API_KEY_UPDATED = :"tenant.admin_api_key.updated"
237
237
  TENANT_ADMIN_API_KEY_DELETED = :"tenant.admin_api_key.deleted"
238
238
  TENANT_PROJECT_API_KEY_CREATED = :"tenant.project_api_key.created"
239
+ TENANT_TRUSTED_ACCESS_BUSINESS_VERIFICATION_STARTED = :"tenant.trusted_access.business_verification.started"
240
+ TENANT_TRUSTED_ACCESS_APPLICATION_SUBMITTED = :"tenant.trusted_access.application.submitted"
239
241
  TENANT_CHATGPT_ACCESS_TOKEN_REVOKED = :"tenant.chatgpt_access_token.revoked"
240
242
  TENANT_MIGRATION_COMPLETED = :"tenant.migration.completed"
241
243
  TENANT_SSO_MIGRATED = :"tenant.sso.migrated"
@@ -788,6 +788,8 @@ module OpenAI
788
788
  TENANT_ADMIN_API_KEY_UPDATED = :"tenant.admin_api_key.updated"
789
789
  TENANT_ADMIN_API_KEY_DELETED = :"tenant.admin_api_key.deleted"
790
790
  TENANT_PROJECT_API_KEY_CREATED = :"tenant.project_api_key.created"
791
+ TENANT_TRUSTED_ACCESS_BUSINESS_VERIFICATION_STARTED = :"tenant.trusted_access.business_verification.started"
792
+ TENANT_TRUSTED_ACCESS_APPLICATION_SUBMITTED = :"tenant.trusted_access.application.submitted"
791
793
  TENANT_CHATGPT_ACCESS_TOKEN_REVOKED = :"tenant.chatgpt_access_token.revoked"
792
794
  TENANT_MIGRATION_COMPLETED = :"tenant.migration.completed"
793
795
  TENANT_SSO_MIGRATED = :"tenant.sso.migrated"
@@ -51,6 +51,13 @@ module OpenAI
51
51
  # @return [Integer, nil]
52
52
  optional :limit, Integer
53
53
 
54
+ # @!attribute line_items
55
+ # Return only costs for these exact line item names. Each value must match the
56
+ # complete `line_item` value, for example `gpt-5.6-sol, input_tokens`.
57
+ #
58
+ # @return [Array<String>, nil]
59
+ optional :line_items, OpenAI::Internal::Type::ArrayOf[String]
60
+
54
61
  # @!attribute page
55
62
  # A cursor for use in pagination. Corresponding to the `next_page` field from the
56
63
  # previous response.
@@ -64,7 +71,7 @@ module OpenAI
64
71
  # @return [Array<String>, nil]
65
72
  optional :project_ids, OpenAI::Internal::Type::ArrayOf[String]
66
73
 
67
- # @!method initialize(start_time:, api_key_ids: nil, bucket_width: nil, end_time: nil, group_by: nil, limit: nil, page: nil, project_ids: nil, request_options: {})
74
+ # @!method initialize(start_time:, api_key_ids: nil, bucket_width: nil, end_time: nil, group_by: nil, limit: nil, line_items: nil, page: nil, project_ids: nil, request_options: {})
68
75
  # Some parameter documentations has been truncated, see
69
76
  # {OpenAI::Models::Admin::Organization::UsageCostsParams} for more details.
70
77
  #
@@ -80,6 +87,8 @@ module OpenAI
80
87
  #
81
88
  # @param limit [Integer] A limit on the number of buckets to be returned. Limit can range between 1 and 1
82
89
  #
90
+ # @param line_items [Array<String>] Return only costs for these exact line item names. Each value must match the com
91
+ #
83
92
  # @param page [String] A cursor for use in pagination. Corresponding to the `next_page` field from the
84
93
  #
85
94
  # @param project_ids [Array<String>] Return only costs for these projects.
@@ -116,9 +116,9 @@ module OpenAI
116
116
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
117
117
 
118
118
  # @!attribute model
119
- # Model ID used to process the batch, like `gpt-5-2025-08-07`. OpenAI offers a
120
- # wide range of models with different capabilities, performance characteristics,
121
- # and price points. Refer to the
119
+ # Model ID used to process the batch, like `gpt-5.6-sol`. OpenAI offers a wide
120
+ # range of models with different capabilities, performance characteristics, and
121
+ # price points. Refer to the
122
122
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
123
123
  # available models.
124
124
  #
@@ -183,7 +183,7 @@ module OpenAI
183
183
  #
184
184
  # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
185
185
  #
186
- # @param model [String] Model ID used to process the batch, like `gpt-5-2025-08-07`. OpenAI
186
+ # @param model [String] Model ID used to process the batch, like `gpt-5.6-sol`. OpenAI
187
187
  #
188
188
  # @param output_file_id [String] The ID of the file containing the outputs of successfully executed requests.
189
189
  #
@@ -53,9 +53,9 @@ module OpenAI
53
53
  required :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
54
54
 
55
55
  # @!attribute model
56
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
57
- # wide range of models with different capabilities, performance characteristics,
58
- # and price points. Refer to the
56
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
57
+ # range of models with different capabilities, performance characteristics, and
58
+ # price points. Refer to the
59
59
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
60
60
  # available models.
61
61
  #
@@ -242,8 +242,6 @@ module OpenAI
242
242
  )
243
243
 
244
244
  # @!attribute reasoning
245
- # **gpt-5 and o-series models only**
246
- #
247
245
  # Configuration options for
248
246
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
249
247
  #
@@ -362,7 +360,7 @@ module OpenAI
362
360
  #
363
361
  # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
364
362
  #
365
- # @param model [Symbol, String, OpenAI::Models::Beta::BetaResponse::Model] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
363
+ # @param model [Symbol, String, OpenAI::Models::Beta::BetaResponse::Model] Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI
366
364
  #
367
365
  # @param output [Array<OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseFunctionToolCallOutputItem, OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseOutputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseOutputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCallOutputItem, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseOutputItem::Program, OpenAI::Models::Beta::BetaResponseOutputItem::ProgramOutput, OpenAI::Models::Beta::BetaResponseToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItem, OpenAI::Models::Beta::BetaResponseOutputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseCompactionItem, OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseOutputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseFunctionShellToolCall, OpenAI::Models::Beta::BetaResponseFunctionShellToolCallOutput, OpenAI::Models::Beta::BetaResponseApplyPatchToolCall, OpenAI::Models::Beta::BetaResponseApplyPatchToolCallOutput, OpenAI::Models::Beta::BetaResponseOutputItem::McpCall, OpenAI::Models::Beta::BetaResponseOutputItem::McpListTools, OpenAI::Models::Beta::BetaResponseOutputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseOutputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutputItem>] An array of content items generated by the model.
368
366
  #
@@ -398,7 +396,7 @@ module OpenAI
398
396
  #
399
397
  # @param prompt_cache_retention [Symbol, OpenAI::Models::Beta::BetaResponse::PromptCacheRetention, nil] Deprecated. Use `prompt_cache_options.ttl` instead.
400
398
  #
401
- # @param reasoning [OpenAI::Models::Beta::BetaResponse::Reasoning, nil] **gpt-5 and o-series models only**
399
+ # @param reasoning [OpenAI::Models::Beta::BetaResponse::Reasoning, nil] Configuration options for
402
400
  #
403
401
  # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
404
402
  #
@@ -438,6 +436,7 @@ module OpenAI
438
436
  extend OpenAI::Internal::Type::Enum
439
437
 
440
438
  MAX_OUTPUT_TOKENS = :max_output_tokens
439
+ MAX_MESSAGES = :max_messages
441
440
  CONTENT_FILTER = :content_filter
442
441
 
443
442
  # @!method self.values
@@ -472,9 +471,9 @@ module OpenAI
472
471
  ]
473
472
  end
474
473
 
475
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
476
- # wide range of models with different capabilities, performance characteristics,
477
- # and price points. Refer to the
474
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
475
+ # range of models with different capabilities, performance characteristics, and
476
+ # price points. Refer to the
478
477
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
479
478
  # available models.
480
479
  #
@@ -1290,8 +1289,6 @@ module OpenAI
1290
1289
  # Some parameter documentations has been truncated, see
1291
1290
  # {OpenAI::Models::Beta::BetaResponse::Reasoning} for more details.
1292
1291
  #
1293
- # **gpt-5 and o-series models only**
1294
- #
1295
1292
  # Configuration options for
1296
1293
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
1297
1294
  #
@@ -143,9 +143,9 @@ module OpenAI
143
143
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
144
144
 
145
145
  # @!attribute model
146
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
147
- # wide range of models with different capabilities, performance characteristics,
148
- # and price points. Refer to the
146
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
147
+ # range of models with different capabilities, performance characteristics, and
148
+ # price points. Refer to the
149
149
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
150
150
  # available models.
151
151
  #
@@ -248,8 +248,6 @@ module OpenAI
248
248
  )
249
249
 
250
250
  # @!attribute reasoning
251
- # **gpt-5 and o-series models only**
252
- #
253
251
  # Configuration options for
254
252
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
255
253
  #
@@ -475,7 +473,7 @@ module OpenAI
475
473
  #
476
474
  # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
477
475
  #
478
- # @param model [Symbol, String, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
476
+ # @param model [Symbol, String, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model] Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI
479
477
  #
480
478
  # @param moderation [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation, nil] Configuration for running moderation on the input and output of this response.
481
479
  #
@@ -493,7 +491,7 @@ module OpenAI
493
491
  #
494
492
  # @param prompt_cache_retention [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::PromptCacheRetention, nil] Deprecated. Use `prompt_cache_options.ttl` instead.
495
493
  #
496
- # @param reasoning [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning, nil] **gpt-5 and o-series models only**
494
+ # @param reasoning [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning, nil] Configuration options for
497
495
  #
498
496
  # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
499
497
  #
@@ -589,9 +587,9 @@ module OpenAI
589
587
  # @return [Array(String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>)]
590
588
  end
591
589
 
592
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
593
- # wide range of models with different capabilities, performance characteristics,
594
- # and price points. Refer to the
590
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
591
+ # range of models with different capabilities, performance characteristics, and
592
+ # price points. Refer to the
595
593
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
596
594
  # available models.
597
595
  #
@@ -1434,8 +1432,6 @@ module OpenAI
1434
1432
  # {OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Reasoning} for
1435
1433
  # more details.
1436
1434
  #
1437
- # **gpt-5 and o-series models only**
1438
- #
1439
1435
  # Configuration options for
1440
1436
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
1441
1437
  #
@@ -9,9 +9,9 @@ module OpenAI
9
9
  include OpenAI::Internal::Type::RequestParameters
10
10
 
11
11
  # @!attribute model
12
- # Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a
13
- # wide range of models with different capabilities, performance characteristics,
14
- # and price points. Refer to the
12
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
13
+ # range of models with different capabilities, performance characteristics, and
14
+ # price points. Refer to the
15
15
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
16
16
  # available models.
17
17
  #
@@ -109,7 +109,7 @@ module OpenAI
109
109
  # Some parameter documentations has been truncated, see
110
110
  # {OpenAI::Models::Beta::ResponseCompactParams} for more details.
111
111
  #
112
- # @param model [Symbol, String, OpenAI::Models::Beta::ResponseCompactParams::Model, nil] Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a wi
112
+ # @param model [Symbol, String, OpenAI::Models::Beta::ResponseCompactParams::Model, nil] Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
113
113
  #
114
114
  # @param input [String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>, nil] Text, image, or file inputs to the model, used to generate a response
115
115
  #
@@ -129,9 +129,9 @@ module OpenAI
129
129
  #
130
130
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
131
131
 
132
- # Model ID used to generate the response, like `gpt-5` or `o3`. OpenAI offers a
133
- # wide range of models with different capabilities, performance characteristics,
134
- # and price points. Refer to the
132
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
133
+ # range of models with different capabilities, performance characteristics, and
134
+ # price points. Refer to the
135
135
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
136
136
  # available models.
137
137
  module Model
@@ -118,9 +118,9 @@ module OpenAI
118
118
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
119
119
 
120
120
  # @!attribute model
121
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
122
- # wide range of models with different capabilities, performance characteristics,
123
- # and price points. Refer to the
121
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
122
+ # range of models with different capabilities, performance characteristics, and
123
+ # price points. Refer to the
124
124
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
125
125
  # available models.
126
126
  #
@@ -212,8 +212,6 @@ module OpenAI
212
212
  )
213
213
 
214
214
  # @!attribute reasoning
215
- # **gpt-5 and o-series models only**
216
- #
217
215
  # Configuration options for
218
216
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
219
217
  #
@@ -394,7 +392,7 @@ module OpenAI
394
392
  #
395
393
  # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
396
394
  #
397
- # @param model [Symbol, String, OpenAI::Models::Beta::ResponseCreateParams::Model] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
395
+ # @param model [Symbol, String, OpenAI::Models::Beta::ResponseCreateParams::Model] Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI
398
396
  #
399
397
  # @param moderation [OpenAI::Models::Beta::ResponseCreateParams::Moderation, nil] Configuration for running moderation on the input and output of this response.
400
398
  #
@@ -412,7 +410,7 @@ module OpenAI
412
410
  #
413
411
  # @param prompt_cache_retention [Symbol, OpenAI::Models::Beta::ResponseCreateParams::PromptCacheRetention, nil] Deprecated. Use `prompt_cache_options.ttl` instead.
414
412
  #
415
- # @param reasoning [OpenAI::Models::Beta::ResponseCreateParams::Reasoning, nil] **gpt-5 and o-series models only**
413
+ # @param reasoning [OpenAI::Models::Beta::ResponseCreateParams::Reasoning, nil] Configuration options for
416
414
  #
417
415
  # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
418
416
  #
@@ -502,9 +500,9 @@ module OpenAI
502
500
  # @return [Array(String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>)]
503
501
  end
504
502
 
505
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
506
- # wide range of models with different capabilities, performance characteristics,
507
- # and price points. Refer to the
503
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
504
+ # range of models with different capabilities, performance characteristics, and
505
+ # price points. Refer to the
508
506
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
509
507
  # available models.
510
508
  module Model
@@ -1126,8 +1124,6 @@ module OpenAI
1126
1124
  # Some parameter documentations has been truncated, see
1127
1125
  # {OpenAI::Models::Beta::ResponseCreateParams::Reasoning} for more details.
1128
1126
  #
1129
- # **gpt-5 and o-series models only**
1130
- #
1131
1127
  # Configuration options for
1132
1128
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
1133
1129
  #
@@ -25,9 +25,9 @@ module OpenAI
25
25
  )
26
26
 
27
27
  # @!attribute model
28
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
29
- # wide range of models with different capabilities, performance characteristics,
30
- # and price points. Refer to the
28
+ # Model ID used to generate the response, like `gpt-5.6-sol` or `o3`. OpenAI
29
+ # offers a wide range of models with different capabilities, performance
30
+ # characteristics, and price points. Refer to the
31
31
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
32
32
  # available models.
33
33
  #
@@ -438,7 +438,7 @@ module OpenAI
438
438
  #
439
439
  # @param messages [Array<OpenAI::Models::Chat::ChatCompletionDeveloperMessageParam, OpenAI::Models::Chat::ChatCompletionSystemMessageParam, OpenAI::Models::Chat::ChatCompletionUserMessageParam, OpenAI::Models::Chat::ChatCompletionAssistantMessageParam, OpenAI::Models::Chat::ChatCompletionToolMessageParam, OpenAI::Models::Chat::ChatCompletionFunctionMessageParam>] A list of messages comprising the conversation so far. Depending on the
440
440
  #
441
- # @param model [String, Symbol, OpenAI::Models::ChatModel] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
441
+ # @param model [String, Symbol, OpenAI::Models::ChatModel] Model ID used to generate the response, like `gpt-5.6-sol` or `o3`. OpenAI
442
442
  #
443
443
  # @param audio [OpenAI::Models::Chat::ChatCompletionAudioParam, nil] Parameters for audio output. Required when audio output is requested with
444
444
  #
@@ -510,9 +510,9 @@ module OpenAI
510
510
  #
511
511
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
512
512
 
513
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
514
- # wide range of models with different capabilities, performance characteristics,
515
- # and price points. Refer to the
513
+ # Model ID used to generate the response, like `gpt-5.6-sol` or `o3`. OpenAI
514
+ # offers a wide range of models with different capabilities, performance
515
+ # characteristics, and price points. Refer to the
516
516
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
517
517
  # available models.
518
518
  module Model
@@ -520,7 +520,7 @@ module OpenAI
520
520
 
521
521
  variant String
522
522
 
523
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
523
+ # Model ID used to generate the response, like `gpt-5.6-sol` or `o3`. OpenAI
524
524
  # offers a wide range of models with different capabilities, performance
525
525
  # characteristics, and price points. Refer to the [model guide](https://platform.openai.com/docs/models)
526
526
  # to browse and compare available models.
@@ -63,7 +63,7 @@ module OpenAI
63
63
  #
64
64
  # - Improve the quality of my chatbot
65
65
  # - See how well my chatbot handles customer support
66
- # - Check if o4-mini is better at my usecase than gpt-4o
66
+ # - Check if o4-mini is better at my usecase than gpt-5.6-sol
67
67
  #
68
68
  # @param id [String] Unique identifier for the evaluation.
69
69
  #
@@ -63,7 +63,7 @@ module OpenAI
63
63
  #
64
64
  # - Improve the quality of my chatbot
65
65
  # - See how well my chatbot handles customer support
66
- # - Check if o4-mini is better at my usecase than gpt-4o
66
+ # - Check if o4-mini is better at my usecase than gpt-5.6-sol
67
67
  #
68
68
  # @param id [String] Unique identifier for the evaluation.
69
69
  #
@@ -63,7 +63,7 @@ module OpenAI
63
63
  #
64
64
  # - Improve the quality of my chatbot
65
65
  # - See how well my chatbot handles customer support
66
- # - Check if o4-mini is better at my usecase than gpt-4o
66
+ # - Check if o4-mini is better at my usecase than gpt-5.6-sol
67
67
  #
68
68
  # @param id [String] Unique identifier for the evaluation.
69
69
  #
@@ -63,7 +63,7 @@ module OpenAI
63
63
  #
64
64
  # - Improve the quality of my chatbot
65
65
  # - See how well my chatbot handles customer support
66
- # - Check if o4-mini is better at my usecase than gpt-4o
66
+ # - Check if o4-mini is better at my usecase than gpt-5.6-sol
67
67
  #
68
68
  # @param id [String] Unique identifier for the evaluation.
69
69
  #
@@ -168,7 +168,7 @@ module OpenAI
168
168
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
169
169
 
170
170
  # @!attribute model
171
- # An optional model to filter by (e.g., 'gpt-4o').
171
+ # An optional model to filter by (e.g., 'gpt-5.6-sol').
172
172
  #
173
173
  # @return [String, nil]
174
174
  optional :model, String, nil?: true
@@ -188,7 +188,7 @@ module OpenAI
188
188
  #
189
189
  # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
190
190
  #
191
- # @param model [String, nil] An optional model to filter by (e.g., 'gpt-4o').
191
+ # @param model [String, nil] An optional model to filter by (e.g., 'gpt-5.6-sol').
192
192
  #
193
193
  # @param type [Symbol, :stored_completions] The type of source. Always `stored_completions`.
194
194
  end
@@ -60,8 +60,6 @@ module OpenAI
60
60
  # Some parameter documentations has been truncated, see
61
61
  # {OpenAI::Models::Reasoning} for more details.
62
62
  #
63
- # **gpt-5 and o-series models only**
64
- #
65
63
  # Configuration options for
66
64
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
67
65
  #
@@ -53,9 +53,9 @@ module OpenAI
53
53
  required :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
54
54
 
55
55
  # @!attribute model
56
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
57
- # wide range of models with different capabilities, performance characteristics,
58
- # and price points. Refer to the
56
+ # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
57
+ # range of models with different capabilities, performance characteristics, and
58
+ # price points. Refer to the
59
59
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
60
60
  # available models.
61
61
  #
@@ -242,8 +242,6 @@ module OpenAI
242
242
  )
243
243
 
244
244
  # @!attribute reasoning
245
- # **gpt-5 and o-series models only**
246
- #
247
245
  # Configuration options for
248
246
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
249
247
  #
@@ -382,7 +380,7 @@ module OpenAI
382
380
  #
383
381
  # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
384
382
  #
385
- # @param model [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::ResponsesOnlyModel] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
383
+ # @param model [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::ResponsesOnlyModel] Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI
386
384
  #
387
385
  # @param output [Array<OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::Program, OpenAI::Models::Responses::ResponseOutputItem::ProgramOutput, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>] An array of content items generated by the model.
388
386
  #
@@ -418,7 +416,7 @@ module OpenAI
418
416
  #
419
417
  # @param prompt_cache_retention [Symbol, OpenAI::Models::Responses::Response::PromptCacheRetention, nil] Deprecated. Use `prompt_cache_options.ttl` instead.
420
418
  #
421
- # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
419
+ # @param reasoning [OpenAI::Models::Reasoning, nil] Configuration options for
422
420
  #
423
421
  # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
424
422
  #
@@ -458,6 +456,7 @@ module OpenAI
458
456
  extend OpenAI::Internal::Type::Enum
459
457
 
460
458
  MAX_OUTPUT_TOKENS = :max_output_tokens
459
+ MAX_MESSAGES = :max_messages
461
460
  CONTENT_FILTER = :content_filter
462
461
 
463
462
  # @!method self.values