openai 0.99.0 → 0.100.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 (157) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +1 -1
  4. data/bedrock.md +17 -1
  5. data/lib/openai/client.rb +9 -0
  6. data/lib/openai/helpers/agents/session_stream.rb +11 -36
  7. data/lib/openai/helpers/agents/tools.rb +34 -4
  8. data/lib/openai/helpers/beta/agents/creation_stream.rb +26 -0
  9. data/lib/openai/helpers/beta/agents/function_tool.rb +11 -4
  10. data/lib/openai/helpers/beta/agents/tool_dispatcher.rb +74 -0
  11. data/lib/openai/helpers/beta/agents/tool_error.rb +28 -0
  12. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +125 -3
  13. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +125 -3
  14. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +125 -3
  15. data/lib/openai/models/admin/organization/usage_completions_params.rb +9 -4
  16. data/lib/openai/models/admin/organization/usage_completions_response.rb +125 -3
  17. data/lib/openai/models/admin/organization/usage_costs_params.rb +16 -4
  18. data/lib/openai/models/admin/organization/usage_costs_response.rb +125 -3
  19. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +125 -3
  20. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +125 -3
  21. data/lib/openai/models/admin/organization/usage_images_response.rb +125 -3
  22. data/lib/openai/models/admin/organization/usage_moderations_response.rb +125 -3
  23. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +125 -3
  24. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +9 -4
  25. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +125 -3
  26. data/lib/openai/models/beta/agents/environments/template_create_params.rb +6 -6
  27. data/lib/openai/models/beta/agents/environments/template_update_params.rb +3 -6
  28. data/lib/openai/models/beta/agents/sessions/turns/item_list_params.rb +79 -0
  29. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +2 -2
  30. data/lib/openai/models/beta/beta_response_error.rb +12 -1
  31. data/lib/openai/models/beta/beta_responses_server_event.rb +12 -1
  32. data/lib/openai/models/beta/beta_tool.rb +12 -9
  33. data/lib/openai/models/beta/environment_param.rb +6 -6
  34. data/lib/openai/models/beta/session_turn_error.rb +9 -0
  35. data/lib/openai/models/chat/chat_completion_chunk.rb +85 -18
  36. data/lib/openai/models/error_object.rb +12 -1
  37. data/lib/openai/models/eval_create_params.rb +1 -1
  38. data/lib/openai/models/eval_create_response.rb +1 -1
  39. data/lib/openai/models/eval_list_response.rb +1 -1
  40. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  41. data/lib/openai/models/eval_update_response.rb +1 -1
  42. data/lib/openai/models/fine_tuning/job_list_params.rb +14 -4
  43. data/lib/openai/models/graders/score_model_grader.rb +2 -2
  44. data/lib/openai/models/image_edit_params.rb +12 -9
  45. data/lib/openai/models/realtime/realtime_client_event.rb +9 -0
  46. data/lib/openai/models/realtime/session_update_event.rb +16 -0
  47. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +2 -2
  48. data/lib/openai/models/responses/response_error.rb +12 -1
  49. data/lib/openai/models/responses/responses_server_event.rb +12 -1
  50. data/lib/openai/models/responses/tool.rb +12 -9
  51. data/lib/openai/models/video_create_error.rb +12 -1
  52. data/lib/openai/providers/bedrock.rb +20 -1
  53. data/lib/openai/resources/admin/organization/usage.rb +15 -6
  54. data/lib/openai/resources/beta/agents/environments/templates.rb +3 -4
  55. data/lib/openai/resources/beta/agents/sessions/turns/items.rb +68 -0
  56. data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -0
  57. data/lib/openai/resources/beta/agents/sessions.rb +22 -2
  58. data/lib/openai/resources/fine_tuning/jobs.rb +7 -2
  59. data/lib/openai/resources/images.rb +8 -6
  60. data/lib/openai/version.rb +1 -1
  61. data/lib/openai.rb +2 -0
  62. data/rbi/openai/helpers/agents.rbi +2 -0
  63. data/rbi/openai/helpers/beta/agents/function_tool.rbi +8 -3
  64. data/rbi/openai/helpers/beta/agents/tool_error.rbi +19 -0
  65. data/rbi/openai/helpers/beta/agents.rbi +12 -0
  66. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +194 -1
  67. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +194 -1
  68. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +194 -1
  69. data/rbi/openai/models/admin/organization/usage_completions_params.rbi +9 -4
  70. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +194 -1
  71. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +16 -4
  72. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +194 -1
  73. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +194 -1
  74. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +194 -1
  75. data/rbi/openai/models/admin/organization/usage_images_response.rbi +194 -1
  76. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +194 -1
  77. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +194 -1
  78. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +12 -4
  79. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +194 -1
  80. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +6 -6
  81. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +3 -6
  82. data/rbi/openai/models/beta/agents/sessions/turns/item_list_params.rbi +139 -0
  83. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +2 -2
  84. data/rbi/openai/models/beta/beta_response_error.rbi +12 -0
  85. data/rbi/openai/models/beta/beta_responses_server_event.rbi +12 -0
  86. data/rbi/openai/models/beta/beta_tool.rbi +12 -9
  87. data/rbi/openai/models/beta/environment_param.rbi +6 -6
  88. data/rbi/openai/models/beta/session_turn_error.rbi +18 -0
  89. data/rbi/openai/models/chat/chat_completion_chunk.rbi +123 -17
  90. data/rbi/openai/models/error_object.rbi +12 -0
  91. data/rbi/openai/models/eval_create_params.rbi +1 -1
  92. data/rbi/openai/models/eval_create_response.rbi +1 -1
  93. data/rbi/openai/models/eval_list_response.rbi +1 -1
  94. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  95. data/rbi/openai/models/eval_update_response.rbi +1 -1
  96. data/rbi/openai/models/fine_tuning/job_list_params.rbi +14 -4
  97. data/rbi/openai/models/graders/score_model_grader.rbi +2 -2
  98. data/rbi/openai/models/image_edit_params.rbi +12 -9
  99. data/rbi/openai/models/realtime/session_update_event.rbi +16 -0
  100. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +2 -2
  101. data/rbi/openai/models/responses/response_error.rbi +12 -0
  102. data/rbi/openai/models/responses/responses_server_event.rbi +12 -0
  103. data/rbi/openai/models/responses/tool.rbi +12 -9
  104. data/rbi/openai/models/video_create_error.rbi +12 -0
  105. data/rbi/openai/resources/admin/organization/usage.rbi +15 -6
  106. data/rbi/openai/resources/beta/agents/environments/templates.rbi +3 -4
  107. data/rbi/openai/resources/beta/agents/sessions/turns/items.rbi +62 -0
  108. data/rbi/openai/resources/beta/agents/sessions/turns.rbi +3 -0
  109. data/rbi/openai/resources/beta/agents/sessions.rbi +2 -0
  110. data/rbi/openai/resources/fine_tuning/jobs.rbi +7 -2
  111. data/rbi/openai/resources/images.rbi +8 -6
  112. data/sig/openai/helpers/agents.rbs +3 -0
  113. data/sig/openai/helpers/beta/agents/function_tool.rbs +5 -2
  114. data/sig/openai/helpers/beta/agents/tool_error.rbs +17 -0
  115. data/sig/openai/helpers/beta/agents.rbs +5 -0
  116. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +87 -2
  117. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +87 -2
  118. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +87 -2
  119. data/sig/openai/models/admin/organization/usage_completions_params.rbs +14 -6
  120. data/sig/openai/models/admin/organization/usage_completions_response.rbs +87 -2
  121. data/sig/openai/models/admin/organization/usage_costs_params.rbs +25 -7
  122. data/sig/openai/models/admin/organization/usage_costs_response.rbs +87 -2
  123. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +87 -2
  124. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +87 -2
  125. data/sig/openai/models/admin/organization/usage_images_response.rbs +87 -2
  126. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +87 -2
  127. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +87 -2
  128. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +19 -7
  129. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +87 -2
  130. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +4 -4
  131. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +2 -4
  132. data/sig/openai/models/beta/agents/sessions/turns/item_list_params.rbs +91 -0
  133. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +2 -2
  134. data/sig/openai/models/beta/beta_response_error.rbs +10 -0
  135. data/sig/openai/models/beta/beta_responses_server_event.rbs +10 -0
  136. data/sig/openai/models/beta/beta_tool.rbs +8 -6
  137. data/sig/openai/models/beta/environment_param.rbs +4 -4
  138. data/sig/openai/models/beta/session_turn_error.rbs +12 -0
  139. data/sig/openai/models/chat/chat_completion_chunk.rbs +96 -12
  140. data/sig/openai/models/error_object.rbs +10 -0
  141. data/sig/openai/models/eval_create_params.rbs +1 -1
  142. data/sig/openai/models/eval_create_response.rbs +1 -1
  143. data/sig/openai/models/eval_list_response.rbs +1 -1
  144. data/sig/openai/models/eval_retrieve_response.rbs +1 -1
  145. data/sig/openai/models/eval_update_response.rbs +1 -1
  146. data/sig/openai/models/fine_tuning/job_list_params.rbs +14 -4
  147. data/sig/openai/models/graders/score_model_grader.rbs +3 -3
  148. data/sig/openai/models/image_edit_params.rbs +8 -6
  149. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +2 -2
  150. data/sig/openai/models/responses/response_error.rbs +10 -0
  151. data/sig/openai/models/responses/responses_server_event.rbs +10 -0
  152. data/sig/openai/models/responses/tool.rbs +8 -6
  153. data/sig/openai/models/video_create_error.rbs +10 -0
  154. data/sig/openai/resources/beta/agents/sessions/turns/items.rbs +24 -0
  155. data/sig/openai/resources/beta/agents/sessions/turns.rbs +2 -0
  156. data/sig/openai/resources/beta/agents/sessions.rbs +1 -0
  157. metadata +11 -1
@@ -172,21 +172,30 @@ module OpenAI
172
172
  # The object type, which is always `chat.completion.chunk`.
173
173
  class Choice < OpenAI::Internal::Type::BaseModel
174
174
  # @!attribute delta
175
- # A chat completion delta generated by streamed model responses.
175
+ # A chat completion delta generated by streamed model responses. Streamed audio
176
+ # can arrive in partial updates with an ID, base64 data, or transcript text. The
177
+ # final audio update contains only its expiry timestamp.
176
178
  #
177
179
  # @return [OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta]
178
180
  required :delta, -> { OpenAI::Chat::ChatCompletionChunk::Choice::Delta }
179
181
 
182
+ # @!attribute index
183
+ # The index of the choice in the list of choices.
184
+ #
185
+ # @return [Integer]
186
+ required :index, Integer
187
+
180
188
  # @!attribute finish_reason
181
189
  # The reason the model stopped generating tokens. This will be `stop` if the model
182
190
  # hit a natural stop point or a provided stop sequence, `length` if the maximum
183
191
  # number of tokens specified in the request was reached, `content_filter` if
184
192
  # content was omitted due to a flag from our content filters, `tool_calls` if the
185
193
  # model called a tool, or `function_call` (deprecated) if the model called a
186
- # function.
194
+ # function. Omitted from the final audio update containing only
195
+ # `delta.audio.expires_at`.
187
196
  #
188
197
  # @return [Symbol, OpenAI::Models::Chat::ChatCompletionChunk::Choice::FinishReason, nil]
189
- required(
198
+ optional(
190
199
  :finish_reason,
191
200
  enum: -> {
192
201
  OpenAI::Chat::ChatCompletionChunk::Choice::FinishReason
@@ -194,21 +203,20 @@ module OpenAI
194
203
  nil?: true
195
204
  )
196
205
 
197
- # @!attribute index
198
- # The index of the choice in the list of choices.
199
- #
200
- # @return [Integer]
201
- required :index, Integer
202
-
203
206
  # @!attribute logprobs
204
207
  # Log probability information for the choice.
205
208
  #
206
209
  # @return [OpenAI::Models::Chat::ChatCompletionChunk::Choice::Logprobs, nil]
207
210
  optional :logprobs, -> { OpenAI::Chat::ChatCompletionChunk::Choice::Logprobs }, nil?: true
208
211
 
209
- # @!method initialize(delta:, finish_reason:, index:, logprobs: nil)
212
+ # @!method initialize(delta:, index:, finish_reason: nil, logprobs: nil)
210
213
  # @param delta [OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta]
211
- # A chat completion delta generated by streamed model responses.
214
+ # A chat completion delta generated by streamed model responses. Streamed audio
215
+ # can arrive in partial updates with an ID, base64 data, or transcript text. The
216
+ # final audio update contains only its expiry timestamp.
217
+ #
218
+ # @param index [Integer]
219
+ # The index of the choice in the list of choices.
212
220
  #
213
221
  # @param finish_reason [Symbol, OpenAI::Models::Chat::ChatCompletionChunk::Choice::FinishReason, nil]
214
222
  # The reason the model stopped generating tokens. This will be `stop` if the model
@@ -216,16 +224,21 @@ module OpenAI
216
224
  # number of tokens specified in the request was reached, `content_filter` if
217
225
  # content was omitted due to a flag from our content filters, `tool_calls` if the
218
226
  # model called a tool, or `function_call` (deprecated) if the model called a
219
- # function.
220
- #
221
- # @param index [Integer]
222
- # The index of the choice in the list of choices.
227
+ # function. Omitted from the final audio update containing only
228
+ # `delta.audio.expires_at`.
223
229
  #
224
230
  # @param logprobs [OpenAI::Models::Chat::ChatCompletionChunk::Choice::Logprobs, nil]
225
231
  # Log probability information for the choice.
226
232
 
227
233
  # @see OpenAI::Models::Chat::ChatCompletionChunk::Choice#delta
228
234
  class Delta < OpenAI::Internal::Type::BaseModel
235
+ # @!attribute audio
236
+ # A partial audio response. Audio chunks may carry an ID, base64 data, or
237
+ # transcript text; the final audio update contains only its expiry timestamp.
238
+ #
239
+ # @return [OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::Audio, nil]
240
+ optional :audio, -> { OpenAI::Chat::ChatCompletionChunk::Choice::Delta::Audio }
241
+
229
242
  # @!attribute content
230
243
  # The contents of the chunk message.
231
244
  #
@@ -261,8 +274,14 @@ module OpenAI
261
274
  -> { OpenAI::Internal::Type::ArrayOf[OpenAI::Chat::ChatCompletionChunk::Choice::Delta::ToolCall] }
262
275
  )
263
276
 
264
- # @!method initialize(content: nil, function_call: nil, refusal: nil, role: nil, tool_calls: nil)
265
- # A chat completion delta generated by streamed model responses.
277
+ # @!method initialize(audio: nil, content: nil, function_call: nil, refusal: nil, role: nil, tool_calls: nil)
278
+ # A chat completion delta generated by streamed model responses. Streamed audio
279
+ # can arrive in partial updates with an ID, base64 data, or transcript text. The
280
+ # final audio update contains only its expiry timestamp.
281
+ #
282
+ # @param audio [OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::Audio]
283
+ # A partial audio response. Audio chunks may carry an ID, base64 data, or
284
+ # transcript text; the final audio update contains only its expiry timestamp.
266
285
  #
267
286
  # @param content [String, nil]
268
287
  # The contents of the chunk message.
@@ -279,6 +298,53 @@ module OpenAI
279
298
  #
280
299
  # @param tool_calls [Array<OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta::ToolCall>]
281
300
 
301
+ # @see OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta#audio
302
+ class Audio < OpenAI::Internal::Type::BaseModel
303
+ # @!attribute id
304
+ # Unique identifier for this audio response.
305
+ #
306
+ # @return [String, nil]
307
+ optional :id, String
308
+
309
+ # @!attribute data
310
+ # Base64 encoded audio bytes generated by the model, in the format specified in
311
+ # the request.
312
+ #
313
+ # @return [String, nil]
314
+ optional :data, String
315
+
316
+ # @!attribute expires_at
317
+ # The Unix timestamp (in seconds) for when this audio response will no longer be
318
+ # accessible on the server for use in multi-turn conversations.
319
+ #
320
+ # @return [Integer, nil]
321
+ optional :expires_at, Integer
322
+
323
+ # @!attribute transcript
324
+ # Transcript text from this audio chunk.
325
+ #
326
+ # @return [String, nil]
327
+ optional :transcript, String
328
+
329
+ # @!method initialize(id: nil, data: nil, expires_at: nil, transcript: nil)
330
+ # A partial audio response. Audio chunks may carry an ID, base64 data, or
331
+ # transcript text; the final audio update contains only its expiry timestamp.
332
+ #
333
+ # @param id [String]
334
+ # Unique identifier for this audio response.
335
+ #
336
+ # @param data [String]
337
+ # Base64 encoded audio bytes generated by the model, in the format specified in
338
+ # the request.
339
+ #
340
+ # @param expires_at [Integer]
341
+ # The Unix timestamp (in seconds) for when this audio response will no longer be
342
+ # accessible on the server for use in multi-turn conversations.
343
+ #
344
+ # @param transcript [String]
345
+ # Transcript text from this audio chunk.
346
+ end
347
+
282
348
  # @deprecated
283
349
  #
284
350
  # @see OpenAI::Models::Chat::ChatCompletionChunk::Choice::Delta#function_call
@@ -409,7 +475,8 @@ module OpenAI
409
475
  # number of tokens specified in the request was reached, `content_filter` if
410
476
  # content was omitted due to a flag from our content filters, `tool_calls` if the
411
477
  # model called a tool, or `function_call` (deprecated) if the model called a
412
- # function.
478
+ # function. Omitted from the final audio update containing only
479
+ # `delta.audio.expires_at`.
413
480
  #
414
481
  # @see OpenAI::Models::Chat::ChatCompletionChunk::Choice#finish_reason
415
482
  module FinishReason
@@ -49,19 +49,30 @@ module OpenAI
49
49
  # @return [String, Symbol, OpenAI::Models::ErrorObject::Misalignment::ErrorType, nil]
50
50
  optional :error_type, union: -> { OpenAI::ErrorObject::Misalignment::ErrorType }
51
51
 
52
+ # @!attribute review_target
53
+ # An opaque target for explicitly continuing this review, or null when
54
+ # unavailable.
55
+ #
56
+ # @return [String, nil]
57
+ optional :review_target, String, nil?: true
58
+
52
59
  # @!attribute steer
53
60
  # An optional public continuation instruction.
54
61
  #
55
62
  # @return [OpenAI::Models::ErrorObject::Misalignment::Steer, nil]
56
63
  optional :steer, -> { OpenAI::ErrorObject::Misalignment::Steer }
57
64
 
58
- # @!method initialize(detailed_explanation: nil, error_type: nil, steer: nil)
65
+ # @!method initialize(detailed_explanation: nil, error_type: nil, review_target: nil, steer: nil)
59
66
  # @param detailed_explanation [String]
60
67
  # The public explanation for this block.
61
68
  #
62
69
  # @param error_type [String, Symbol, OpenAI::Models::ErrorObject::Misalignment::ErrorType]
63
70
  # An optional classification; clients must accept additional values.
64
71
  #
72
+ # @param review_target [String, nil]
73
+ # An opaque target for explicitly continuing this review, or null when
74
+ # unavailable.
75
+ #
65
76
  # @param steer [OpenAI::Models::ErrorObject::Misalignment::Steer]
66
77
  # An optional public continuation instruction.
67
78
 
@@ -552,7 +552,7 @@ module OpenAI
552
552
  # The name of the grader.
553
553
  #
554
554
  # @param range [Array<Float>]
555
- # The range of the score. Defaults to `[0, 1]`.
555
+ # The service requires two numbers for the score range. Defaults to `[0, 1]`.
556
556
  #
557
557
  # @param sampling_params [OpenAI::Models::Graders::ScoreModelGrader::SamplingParams]
558
558
  # The sampling parameters for the model.
@@ -261,7 +261,7 @@ module OpenAI
261
261
  # The name of the grader.
262
262
  #
263
263
  # @param range [Array<Float>]
264
- # The range of the score. Defaults to `[0, 1]`.
264
+ # The service requires two numbers for the score range. Defaults to `[0, 1]`.
265
265
  #
266
266
  # @param sampling_params [OpenAI::Models::Graders::ScoreModelGrader::SamplingParams]
267
267
  # The sampling parameters for the model.
@@ -261,7 +261,7 @@ module OpenAI
261
261
  # The name of the grader.
262
262
  #
263
263
  # @param range [Array<Float>]
264
- # The range of the score. Defaults to `[0, 1]`.
264
+ # The service requires two numbers for the score range. Defaults to `[0, 1]`.
265
265
  #
266
266
  # @param sampling_params [OpenAI::Models::Graders::ScoreModelGrader::SamplingParams]
267
267
  # The sampling parameters for the model.
@@ -261,7 +261,7 @@ module OpenAI
261
261
  # The name of the grader.
262
262
  #
263
263
  # @param range [Array<Float>]
264
- # The range of the score. Defaults to `[0, 1]`.
264
+ # The service requires two numbers for the score range. Defaults to `[0, 1]`.
265
265
  #
266
266
  # @param sampling_params [OpenAI::Models::Graders::ScoreModelGrader::SamplingParams]
267
267
  # The sampling parameters for the model.
@@ -261,7 +261,7 @@ module OpenAI
261
261
  # The name of the grader.
262
262
  #
263
263
  # @param range [Array<Float>]
264
- # The range of the score. Defaults to `[0, 1]`.
264
+ # The service requires two numbers for the score range. Defaults to `[0, 1]`.
265
265
  #
266
266
  # @param sampling_params [OpenAI::Models::Graders::ScoreModelGrader::SamplingParams]
267
267
  # The sampling parameters for the model.
@@ -21,8 +21,13 @@ module OpenAI
21
21
  optional :limit, Integer
22
22
 
23
23
  # @!attribute metadata
24
- # Optional metadata filter. To filter, use the syntax `metadata[k]=v`.
25
- # Alternatively, set `metadata=null` to indicate no metadata.
24
+ # Optional metadata filter. To filter, use the syntax `metadata[k]=v`. Omitting
25
+ # the parameter or passing an empty object applies no metadata filter. An empty
26
+ # value, such as `metadata[k]=`, filters for that key with an empty string value.
27
+ # To select jobs with null metadata, send the literal query string
28
+ # `metadata=null`. Nullable caller types do not specify how a client serializes
29
+ # null for a deep-object parameter. Use a raw query parameter if the client omits
30
+ # null. Do not combine the two query forms.
26
31
  #
27
32
  # @return [Hash{Symbol=>String}, nil]
28
33
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
@@ -35,8 +40,13 @@ module OpenAI
35
40
  # Number of fine-tuning jobs to retrieve.
36
41
  #
37
42
  # @param metadata [Hash{Symbol=>String}, nil]
38
- # Optional metadata filter. To filter, use the syntax `metadata[k]=v`.
39
- # Alternatively, set `metadata=null` to indicate no metadata.
43
+ # Optional metadata filter. To filter, use the syntax `metadata[k]=v`. Omitting
44
+ # the parameter or passing an empty object applies no metadata filter. An empty
45
+ # value, such as `metadata[k]=`, filters for that key with an empty string value.
46
+ # To select jobs with null metadata, send the literal query string
47
+ # `metadata=null`. Nullable caller types do not specify how a client serializes
48
+ # null for a deep-object parameter. Use a raw query parameter if the client omits
49
+ # null. Do not combine the two query forms.
40
50
  #
41
51
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
42
52
  end
@@ -30,7 +30,7 @@ module OpenAI
30
30
  required :type, const: :score_model
31
31
 
32
32
  # @!attribute range
33
- # The range of the score. Defaults to `[0, 1]`.
33
+ # The service requires two numbers for the score range. Defaults to `[0, 1]`.
34
34
  #
35
35
  # @return [Array<Float>, nil]
36
36
  optional :range, OpenAI::Internal::Type::ArrayOf[Float]
@@ -55,7 +55,7 @@ module OpenAI
55
55
  # The name of the grader.
56
56
  #
57
57
  # @param range [Array<Float>]
58
- # The range of the score. Defaults to `[0, 1]`.
58
+ # The service requires two numbers for the score range. Defaults to `[0, 1]`.
59
59
  #
60
60
  # @param sampling_params [OpenAI::Models::Graders::ScoreModelGrader::SamplingParams]
61
61
  # The sampling parameters for the model.
@@ -48,9 +48,10 @@ module OpenAI
48
48
  optional :background, enum: -> { OpenAI::ImageEditParams::Background }, nil?: true
49
49
 
50
50
  # @!attribute input_fidelity
51
- # Controls fidelity to the original input image(s). This parameter is supported
52
- # for GPT image models that support input fidelity. `gpt-image-2` and
53
- # `gpt-image-2-2026-04-21` ignore this parameter.
51
+ # Control how much effort the model will exert to match the style and features,
52
+ # especially facial features, of input images. Supports `high` and `low` on
53
+ # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
54
+ # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
54
55
  #
55
56
  # @return [Symbol, OpenAI::Models::ImageEditParams::InputFidelity, nil]
56
57
  optional :input_fidelity, enum: -> { OpenAI::ImageEditParams::InputFidelity }, nil?: true
@@ -184,9 +185,10 @@ module OpenAI
184
185
  # set the output format to `png` or `webp`.
185
186
  #
186
187
  # @param input_fidelity [Symbol, OpenAI::Models::ImageEditParams::InputFidelity, nil]
187
- # Controls fidelity to the original input image(s). This parameter is supported
188
- # for GPT image models that support input fidelity. `gpt-image-2` and
189
- # `gpt-image-2-2026-04-21` ignore this parameter.
188
+ # Control how much effort the model will exert to match the style and features,
189
+ # especially facial features, of input images. Supports `high` and `low` on
190
+ # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
191
+ # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
190
192
  #
191
193
  # @param mask [Pathname, StringIO, IO, String, OpenAI::FilePart]
192
194
  # An additional image whose fully transparent areas (e.g. where alpha is zero)
@@ -298,9 +300,10 @@ module OpenAI
298
300
  # @return [Array<Symbol>]
299
301
  end
300
302
 
301
- # Controls fidelity to the original input image(s). This parameter is supported
302
- # for GPT image models that support input fidelity. `gpt-image-2` and
303
- # `gpt-image-2-2026-04-21` ignore this parameter.
303
+ # Control how much effort the model will exert to match the style and features,
304
+ # especially facial features, of input images. Supports `high` and `low` on
305
+ # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
306
+ # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
304
307
  module InputFidelity
305
308
  extend OpenAI::Internal::Type::Enum
306
309
 
@@ -118,6 +118,15 @@ module OpenAI
118
118
  # Only the fields that are present in the `session.update` are updated. To clear a field like
119
119
  # `instructions`, pass an empty string. To clear a field like `tools`, pass an empty array.
120
120
  # To clear a field like `turn_detection`, pass `null`.
121
+ #
122
+ # To turn off input audio noise reduction, send this Realtime event:
123
+ #
124
+ # ```json
125
+ # {"type":"session.update","session":{"type":"realtime","audio":{"input":{"noise_reduction":null}}}}
126
+ # ```
127
+ #
128
+ # For a transcription session, use `"type":"transcription"` inside `session`.
129
+ # Omitting `audio.input.noise_reduction` from an update leaves its current setting unchanged.
121
130
  variant :"session.update", -> { OpenAI::Realtime::SessionUpdateEvent }
122
131
 
123
132
  # @!method self.variants
@@ -37,6 +37,22 @@ module OpenAI
37
37
  # like `instructions`, pass an empty string. To clear a field like `tools`, pass
38
38
  # an empty array. To clear a field like `turn_detection`, pass `null`.
39
39
  #
40
+ # To turn off input audio noise reduction, send this Realtime event:
41
+ #
42
+ # ```json
43
+ # {
44
+ # "type": "session.update",
45
+ # "session": {
46
+ # "type": "realtime",
47
+ # "audio": { "input": { "noise_reduction": null } }
48
+ # }
49
+ # }
50
+ # ```
51
+ #
52
+ # For a transcription session, use `"type":"transcription"` inside `session`.
53
+ # Omitting `audio.input.noise_reduction` from an update leaves its current setting
54
+ # unchanged.
55
+ #
40
56
  # @param session [OpenAI::Models::Realtime::RealtimeSessionCreateRequest, OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest]
41
57
  # Update the Realtime session. Choose either a realtime session or a transcription
42
58
  # session.
@@ -5,7 +5,7 @@ module OpenAI
5
5
  module Responses
6
6
  class ResponseComputerToolCallOutputItem < OpenAI::Internal::Type::BaseModel
7
7
  # @!attribute id
8
- # The unique ID of the computer call tool output.
8
+ # The ID of the computer tool call output.
9
9
  #
10
10
  # @return [String]
11
11
  required :id, String
@@ -57,7 +57,7 @@ module OpenAI
57
57
 
58
58
  # @!method initialize(id:, call_id:, output:, status:, acknowledged_safety_checks: nil, created_by: nil, type: :computer_call_output)
59
59
  # @param id [String]
60
- # The unique ID of the computer call tool output.
60
+ # The ID of the computer tool call output.
61
61
  #
62
62
  # @param call_id [String]
63
63
  # The ID of the computer tool call that produced the output.
@@ -78,19 +78,30 @@ module OpenAI
78
78
  # @return [String, Symbol, OpenAI::Models::Responses::ResponseError::Misalignment::ErrorType, nil]
79
79
  optional :error_type, union: -> { OpenAI::Responses::ResponseError::Misalignment::ErrorType }
80
80
 
81
+ # @!attribute review_target
82
+ # An opaque target for explicitly continuing this review, or null when
83
+ # unavailable.
84
+ #
85
+ # @return [String, nil]
86
+ optional :review_target, String, nil?: true
87
+
81
88
  # @!attribute steer
82
89
  # An optional public continuation instruction.
83
90
  #
84
91
  # @return [OpenAI::Models::Responses::ResponseError::Misalignment::Steer, nil]
85
92
  optional :steer, -> { OpenAI::Responses::ResponseError::Misalignment::Steer }
86
93
 
87
- # @!method initialize(detailed_explanation: nil, error_type: nil, steer: nil)
94
+ # @!method initialize(detailed_explanation: nil, error_type: nil, review_target: nil, steer: nil)
88
95
  # @param detailed_explanation [String]
89
96
  # The public explanation for this block.
90
97
  #
91
98
  # @param error_type [String, Symbol, OpenAI::Models::Responses::ResponseError::Misalignment::ErrorType]
92
99
  # An optional classification; clients must accept additional values.
93
100
  #
101
+ # @param review_target [String, nil]
102
+ # An opaque target for explicitly continuing this review, or null when
103
+ # unavailable.
104
+ #
94
105
  # @param steer [OpenAI::Models::Responses::ResponseError::Misalignment::Steer]
95
106
  # An optional public continuation instruction.
96
107
 
@@ -2258,6 +2258,13 @@ module OpenAI
2258
2258
  union: -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::ErrorType }
2259
2259
  )
2260
2260
 
2261
+ # @!attribute review_target
2262
+ # An opaque target for explicitly continuing this review, or null when
2263
+ # unavailable.
2264
+ #
2265
+ # @return [String, nil]
2266
+ optional :review_target, String, nil?: true
2267
+
2261
2268
  # @!attribute steer
2262
2269
  # An optional public continuation instruction.
2263
2270
  #
@@ -2267,13 +2274,17 @@ module OpenAI
2267
2274
  -> { OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer }
2268
2275
  )
2269
2276
 
2270
- # @!method initialize(detailed_explanation: nil, error_type: nil, steer: nil)
2277
+ # @!method initialize(detailed_explanation: nil, error_type: nil, review_target: nil, steer: nil)
2271
2278
  # @param detailed_explanation [String]
2272
2279
  # The public explanation for this block.
2273
2280
  #
2274
2281
  # @param error_type [String, Symbol, OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::ErrorType]
2275
2282
  # An optional classification; clients must accept additional values.
2276
2283
  #
2284
+ # @param review_target [String, nil]
2285
+ # An opaque target for explicitly continuing this review, or null when
2286
+ # unavailable.
2287
+ #
2277
2288
  # @param steer [OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer]
2278
2289
  # An optional public continuation instruction.
2279
2290
 
@@ -634,9 +634,10 @@ module OpenAI
634
634
  optional :background, enum: -> { OpenAI::Responses::Tool::ImageGeneration::Background }
635
635
 
636
636
  # @!attribute input_fidelity
637
- # Controls fidelity to the original input image(s). This parameter is supported
638
- # for GPT image models that support input fidelity. `gpt-image-2` and
639
- # `gpt-image-2-2026-04-21` ignore this parameter.
637
+ # Control how much effort the model will exert to match the style and features,
638
+ # especially facial features, of input images. Supports `high` and `low` on
639
+ # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
640
+ # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
640
641
  #
641
642
  # @return [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::InputFidelity, nil]
642
643
  optional(
@@ -732,9 +733,10 @@ module OpenAI
732
733
  # set the output format to `png` or `webp`.
733
734
  #
734
735
  # @param input_fidelity [Symbol, OpenAI::Models::Responses::Tool::ImageGeneration::InputFidelity, nil]
735
- # Controls fidelity to the original input image(s). This parameter is supported
736
- # for GPT image models that support input fidelity. `gpt-image-2` and
737
- # `gpt-image-2-2026-04-21` ignore this parameter.
736
+ # Control how much effort the model will exert to match the style and features,
737
+ # especially facial features, of input images. Supports `high` and `low` on
738
+ # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
739
+ # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
738
740
  #
739
741
  # @param input_image_mask [OpenAI::Models::Responses::Tool::ImageGeneration::InputImageMask]
740
742
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
@@ -818,9 +820,10 @@ module OpenAI
818
820
  # @return [Array<Symbol>]
819
821
  end
820
822
 
821
- # Controls fidelity to the original input image(s). This parameter is supported
822
- # for GPT image models that support input fidelity. `gpt-image-2` and
823
- # `gpt-image-2-2026-04-21` ignore this parameter.
823
+ # Control how much effort the model will exert to match the style and features,
824
+ # especially facial features, of input images. Supports `high` and `low` on
825
+ # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
826
+ # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
824
827
  #
825
828
  # @see OpenAI::Models::Responses::Tool::ImageGeneration#input_fidelity
826
829
  module InputFidelity
@@ -56,19 +56,30 @@ module OpenAI
56
56
  # @return [String, Symbol, OpenAI::Models::VideoCreateError::Misalignment::ErrorType, nil]
57
57
  optional :error_type, union: -> { OpenAI::VideoCreateError::Misalignment::ErrorType }
58
58
 
59
+ # @!attribute review_target
60
+ # An opaque target for explicitly continuing this review, or null when
61
+ # unavailable.
62
+ #
63
+ # @return [String, nil]
64
+ optional :review_target, String, nil?: true
65
+
59
66
  # @!attribute steer
60
67
  # An optional public continuation instruction.
61
68
  #
62
69
  # @return [OpenAI::Models::VideoCreateError::Misalignment::Steer, nil]
63
70
  optional :steer, -> { OpenAI::VideoCreateError::Misalignment::Steer }
64
71
 
65
- # @!method initialize(detailed_explanation: nil, error_type: nil, steer: nil)
72
+ # @!method initialize(detailed_explanation: nil, error_type: nil, review_target: nil, steer: nil)
66
73
  # @param detailed_explanation [String]
67
74
  # The public explanation for this block.
68
75
  #
69
76
  # @param error_type [String, Symbol, OpenAI::Models::VideoCreateError::Misalignment::ErrorType]
70
77
  # An optional classification; clients must accept additional values.
71
78
  #
79
+ # @param review_target [String, nil]
80
+ # An opaque target for explicitly continuing this review, or null when
81
+ # unavailable.
82
+ #
72
83
  # @param steer [OpenAI::Models::VideoCreateError::Misalignment::Steer]
73
84
  # An optional public continuation instruction.
74
85
 
@@ -90,10 +90,29 @@ module OpenAI
90
90
  OpenAI::Internal::Provider::Runtime.new(
91
91
  name: name,
92
92
  base_url: base_url,
93
- prepare_request: auth.method(:prepare_request),
93
+ prepare_request: lambda do |request|
94
+ url = request.fetch(:url)
95
+ # AWS documents a separate inference path for this exact Mantle model.
96
+ if @base_url.nil? && @endpoint == :mantle && sol_inference_request?(request)
97
+ url = url.dup
98
+ url.path = "/openai#{url.path}"
99
+ request = request.merge(url: url)
100
+ end
101
+
102
+ auth.prepare_request(request)
103
+ end,
94
104
  authentication_headers: AUTH_HEADERS
95
105
  )
96
106
  end
107
+
108
+ private def sol_inference_request?(request)
109
+ unless request[:method] == :post &&
110
+ %w[/v1/responses /v1/chat/completions].include?(request.fetch(:url).path)
111
+ return false
112
+ end
113
+
114
+ request[:provider_request_model] == "openai.gpt-6.1-sol"
115
+ end
97
116
  end
98
117
 
99
118
  class BearerAuth
@@ -196,8 +196,10 @@ module OpenAI
196
196
  #
197
197
  # @param group_by [Array<Symbol, OpenAI::Models::Admin::Organization::UsageCompletionsParams::GroupBy>]
198
198
  # Group the usage data by the specified fields. Support fields include
199
- # `project_id`, `user_id`, `api_key_id`, `model`, `batch`, `service_tier` or any
200
- # combination of them.
199
+ # `project_id`, `user_id`, `api_key_id`, `model`, `batch`, `service_tier`,
200
+ # `api_source` or any combination of them. When grouped by `api_source`, results
201
+ # use `agents_api` for attributed Agents API activity and `unlabeled` for all
202
+ # other activity. Without source grouping, `api_source` is null.
201
203
  #
202
204
  # @param limit [Integer]
203
205
  # Specifies the number of buckets to return.
@@ -255,8 +257,13 @@ module OpenAI
255
257
  # End time (Unix seconds) of the query time range, exclusive.
256
258
  #
257
259
  # @param group_by [Array<Symbol, OpenAI::Models::Admin::Organization::UsageCostsParams::GroupBy>]
258
- # Group the costs by the specified fields. Support fields include `project_id`,
259
- # `line_item`, `api_key_id` and any combination of them.
260
+ # Group the costs by the specified fields. Supported fields include `project_id`,
261
+ # `user_id`, `line_item`, `api_key_id`, and `api_source`. Support for combining
262
+ # `user_id` with `project_id` grouping or the `project_ids` filter depends on the
263
+ # organization and requested time range. Unsupported combinations return HTTP 400.
264
+ # When grouped by `api_source`, results use `agents_api` for attributed Agents API
265
+ # activity and `unlabeled` for all other activity. Without source grouping,
266
+ # `api_source` is null.
260
267
  #
261
268
  # @param limit [Integer]
262
269
  # A limit on the number of buckets to be returned. Limit can range between 1 and
@@ -609,8 +616,10 @@ module OpenAI
609
616
  #
610
617
  # @param group_by [Array<Symbol, OpenAI::Models::Admin::Organization::UsageWebSearchCallsParams::GroupBy>]
611
618
  # Group the usage data by the specified fields. Support fields include
612
- # `project_id`, `user_id`, `api_key_id`, `model`, `context_level` or any
613
- # combination of them.
619
+ # `project_id`, `user_id`, `api_key_id`, `model`, `context_level`, `api_source` or
620
+ # any combination of them. When grouped by `api_source`, results use `agents_api`
621
+ # for attributed Agents API activity and `unlabeled` for all other activity.
622
+ # Without source grouping, `api_source` is null.
614
623
  #
615
624
  # @param limit [Integer]
616
625
  # Specifies the number of buckets to return.