openai 0.123.0 → 0.124.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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/audit_log_list_response.rb +10 -1
  5. data/lib/openai/models/admin/organization/external_key.rb +25 -1
  6. data/lib/openai/models/admin/organization/external_key_create_params.rb +78 -3
  7. data/lib/openai/models/beta/agent_output_command_execution_output_delta_event.rb +10 -1
  8. data/lib/openai/models/beta/agent_session.rb +128 -4
  9. data/lib/openai/models/beta/agent_session_created_event.rb +10 -1
  10. data/lib/openai/models/beta/agent_session_environment_connected_event.rb +10 -1
  11. data/lib/openai/models/beta/agent_session_environment_disconnected_event.rb +10 -1
  12. data/lib/openai/models/beta/agent_session_environment_expired_event.rb +10 -1
  13. data/lib/openai/models/beta/agent_session_environment_failed_event.rb +10 -1
  14. data/lib/openai/models/beta/agent_session_environment_pending_event.rb +10 -1
  15. data/lib/openai/models/beta/agent_session_environment_ready_event.rb +10 -1
  16. data/lib/openai/models/beta/agent_session_environment_reset_event.rb +10 -1
  17. data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +10 -1
  18. data/lib/openai/models/beta/agent_session_error_event.rb +10 -1
  19. data/lib/openai/models/beta/agent_session_failed_event.rb +10 -1
  20. data/lib/openai/models/beta/agent_session_idle_event.rb +10 -1
  21. data/lib/openai/models/beta/agent_session_in_progress_event.rb +10 -1
  22. data/lib/openai/models/beta/agent_session_input_param.rb +87 -1
  23. data/lib/openai/models/beta/agent_session_requires_action_event.rb +10 -1
  24. data/lib/openai/models/beta/agent_session_subagent_active_event.rb +10 -1
  25. data/lib/openai/models/beta/agent_session_subagent_closed_event.rb +10 -1
  26. data/lib/openai/models/beta/agent_session_subagent_created_event.rb +10 -1
  27. data/lib/openai/models/beta/agent_session_turn_cancelled_event.rb +10 -1
  28. data/lib/openai/models/beta/agent_session_turn_completed_event.rb +10 -1
  29. data/lib/openai/models/beta/agent_session_turn_content_part_added_event.rb +10 -1
  30. data/lib/openai/models/beta/agent_session_turn_content_part_done_event.rb +10 -1
  31. data/lib/openai/models/beta/agent_session_turn_created_event.rb +10 -1
  32. data/lib/openai/models/beta/agent_session_turn_failed_event.rb +10 -1
  33. data/lib/openai/models/beta/agent_session_turn_in_progress_event.rb +10 -1
  34. data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +10 -1
  35. data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +10 -1
  36. data/lib/openai/models/beta/agent_session_turn_output_text_delta_event.rb +10 -1
  37. data/lib/openai/models/beta/agent_session_turn_output_text_done_event.rb +10 -1
  38. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rb +10 -1
  39. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rb +10 -1
  40. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rb +10 -1
  41. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rb +10 -1
  42. data/lib/openai/models/beta/agents/session_create_params.rb +69 -1
  43. data/lib/openai/models/beta/agents/session_update_params.rb +44 -1
  44. data/lib/openai/models/beta/agents/sessions/event_create_params.rb +2 -2
  45. data/lib/openai/models/beta/agents/sessions/event_stream_params.rb +13 -1
  46. data/lib/openai/models/beta/agents/sessions/turn.rb +41 -1
  47. data/lib/openai/models/beta/beta_response.rb +9 -3
  48. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +6 -3
  49. data/lib/openai/models/beta/beta_responses_client_event.rb +9 -3
  50. data/lib/openai/models/beta/beta_tool.rb +6 -3
  51. data/lib/openai/models/beta/response_compact_params.rb +2 -0
  52. data/lib/openai/models/beta/response_create_params.rb +9 -3
  53. data/lib/openai/models/beta/responses/input_token_count_params.rb +27 -15
  54. data/lib/openai/models/content_provenance_check_create_params.rb +2 -0
  55. data/lib/openai/models/image_edit_params.rb +84 -5
  56. data/lib/openai/models/image_generate_params.rb +4 -4
  57. data/lib/openai/models/images_response.rb +9 -12
  58. data/lib/openai/models/live/media_session_config.rb +12 -1
  59. data/lib/openai/models/live/session_accept_params.rb +12 -1
  60. data/lib/openai/models/responses/input_token_count_params.rb +27 -15
  61. data/lib/openai/models/responses/response.rb +9 -3
  62. data/lib/openai/models/responses/response_compact_params.rb +2 -0
  63. data/lib/openai/models/responses/response_create_params.rb +9 -3
  64. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +6 -3
  65. data/lib/openai/models/responses/responses_client_event.rb +9 -3
  66. data/lib/openai/models/responses/tool.rb +6 -3
  67. data/lib/openai/models/video_create_error.rb +6 -4
  68. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +1 -0
  69. data/lib/openai/models/webhooks/live_transport_connected_webhook_event.rb +74 -0
  70. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  71. data/lib/openai/resources/admin/organization/external_keys.rb +1 -1
  72. data/lib/openai/resources/beta/agents/sessions/events.rb +10 -3
  73. data/lib/openai/resources/beta/agents/sessions.rb +24 -5
  74. data/lib/openai/resources/beta/responses/input_tokens.rb +9 -6
  75. data/lib/openai/resources/beta/responses.rb +6 -2
  76. data/lib/openai/resources/content_provenance_checks.rb +1 -0
  77. data/lib/openai/resources/images.rb +20 -6
  78. data/lib/openai/resources/responses/input_tokens.rb +9 -5
  79. data/lib/openai/resources/responses.rb +6 -2
  80. data/lib/openai/resources/webhooks.rb +1 -1
  81. data/lib/openai/version.rb +1 -1
  82. data/lib/openai.rb +1 -0
  83. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +13 -1
  84. data/rbi/openai/models/admin/organization/external_key.rbi +44 -0
  85. data/rbi/openai/models/admin/organization/external_key_create_params.rbi +137 -4
  86. data/rbi/openai/models/beta/agent_output_command_execution_output_delta_event.rbi +14 -1
  87. data/rbi/openai/models/beta/agent_session.rbi +207 -0
  88. data/rbi/openai/models/beta/agent_session_created_event.rbi +13 -1
  89. data/rbi/openai/models/beta/agent_session_environment_connected_event.rbi +14 -1
  90. data/rbi/openai/models/beta/agent_session_environment_disconnected_event.rbi +14 -1
  91. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +14 -1
  92. data/rbi/openai/models/beta/agent_session_environment_failed_event.rbi +14 -1
  93. data/rbi/openai/models/beta/agent_session_environment_pending_event.rbi +14 -1
  94. data/rbi/openai/models/beta/agent_session_environment_ready_event.rbi +14 -1
  95. data/rbi/openai/models/beta/agent_session_environment_reset_event.rbi +14 -1
  96. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +14 -1
  97. data/rbi/openai/models/beta/agent_session_error_event.rbi +13 -1
  98. data/rbi/openai/models/beta/agent_session_failed_event.rbi +13 -1
  99. data/rbi/openai/models/beta/agent_session_idle_event.rbi +13 -1
  100. data/rbi/openai/models/beta/agent_session_in_progress_event.rbi +13 -1
  101. data/rbi/openai/models/beta/agent_session_input_param.rbi +159 -0
  102. data/rbi/openai/models/beta/agent_session_requires_action_event.rbi +13 -1
  103. data/rbi/openai/models/beta/agent_session_subagent_active_event.rbi +13 -1
  104. data/rbi/openai/models/beta/agent_session_subagent_closed_event.rbi +13 -1
  105. data/rbi/openai/models/beta/agent_session_subagent_created_event.rbi +13 -1
  106. data/rbi/openai/models/beta/agent_session_turn_cancelled_event.rbi +14 -1
  107. data/rbi/openai/models/beta/agent_session_turn_completed_event.rbi +14 -1
  108. data/rbi/openai/models/beta/agent_session_turn_content_part_added_event.rbi +14 -1
  109. data/rbi/openai/models/beta/agent_session_turn_content_part_done_event.rbi +14 -1
  110. data/rbi/openai/models/beta/agent_session_turn_created_event.rbi +14 -1
  111. data/rbi/openai/models/beta/agent_session_turn_failed_event.rbi +14 -1
  112. data/rbi/openai/models/beta/agent_session_turn_in_progress_event.rbi +14 -1
  113. data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +14 -1
  114. data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +14 -1
  115. data/rbi/openai/models/beta/agent_session_turn_output_text_delta_event.rbi +14 -1
  116. data/rbi/openai/models/beta/agent_session_turn_output_text_done_event.rbi +14 -1
  117. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbi +14 -1
  118. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbi +14 -1
  119. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbi +14 -1
  120. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbi +14 -1
  121. data/rbi/openai/models/beta/agents/session_create_params.rbi +138 -0
  122. data/rbi/openai/models/beta/agents/session_update_params.rbi +82 -0
  123. data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +3 -0
  124. data/rbi/openai/models/beta/agents/sessions/event_stream_params.rbi +15 -1
  125. data/rbi/openai/models/beta/agents/sessions/turn.rbi +74 -1
  126. data/rbi/openai/models/beta/beta_response.rbi +9 -3
  127. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +6 -3
  128. data/rbi/openai/models/beta/beta_responses_client_event.rbi +9 -3
  129. data/rbi/openai/models/beta/beta_tool.rbi +6 -3
  130. data/rbi/openai/models/beta/response_create_params.rbi +9 -3
  131. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +27 -15
  132. data/rbi/openai/models/content_provenance_check_create_params.rbi +2 -0
  133. data/rbi/openai/models/image_edit_params.rbi +143 -4
  134. data/rbi/openai/models/image_generate_params.rbi +4 -4
  135. data/rbi/openai/models/images_response.rbi +9 -12
  136. data/rbi/openai/models/live/media_session_config.rbi +12 -0
  137. data/rbi/openai/models/live/session_accept_params.rbi +12 -0
  138. data/rbi/openai/models/responses/input_token_count_params.rbi +27 -15
  139. data/rbi/openai/models/responses/response.rbi +9 -3
  140. data/rbi/openai/models/responses/response_create_params.rbi +9 -3
  141. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +6 -3
  142. data/rbi/openai/models/responses/responses_client_event.rbi +9 -3
  143. data/rbi/openai/models/responses/tool.rbi +6 -3
  144. data/rbi/openai/models/video_create_error.rbi +6 -4
  145. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +4 -0
  146. data/rbi/openai/models/webhooks/live_transport_connected_webhook_event.rbi +135 -0
  147. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  148. data/rbi/openai/resources/admin/organization/external_keys.rbi +2 -1
  149. data/rbi/openai/resources/beta/agents/sessions/events.rbi +9 -2
  150. data/rbi/openai/resources/beta/agents/sessions.rbi +21 -2
  151. data/rbi/openai/resources/beta/responses/input_tokens.rbi +9 -6
  152. data/rbi/openai/resources/beta/responses.rbi +6 -2
  153. data/rbi/openai/resources/content_provenance_checks.rbi +1 -0
  154. data/rbi/openai/resources/images.rbi +18 -4
  155. data/rbi/openai/resources/responses/input_tokens.rbi +9 -5
  156. data/rbi/openai/resources/responses.rbi +6 -2
  157. data/rbi/openai/resources/webhooks.rbi +1 -0
  158. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +18 -3
  159. data/sig/openai/models/admin/organization/external_key.rbs +28 -0
  160. data/sig/openai/models/admin/organization/external_key_create_params.rbs +108 -0
  161. data/sig/openai/models/beta/agent_output_command_execution_output_delta_event.rbs +13 -2
  162. data/sig/openai/models/beta/agent_session.rbs +126 -1
  163. data/sig/openai/models/beta/agent_session_created_event.rbs +13 -2
  164. data/sig/openai/models/beta/agent_session_environment_connected_event.rbs +13 -2
  165. data/sig/openai/models/beta/agent_session_environment_disconnected_event.rbs +13 -2
  166. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +13 -2
  167. data/sig/openai/models/beta/agent_session_environment_failed_event.rbs +13 -2
  168. data/sig/openai/models/beta/agent_session_environment_pending_event.rbs +13 -2
  169. data/sig/openai/models/beta/agent_session_environment_ready_event.rbs +13 -2
  170. data/sig/openai/models/beta/agent_session_environment_reset_event.rbs +13 -2
  171. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +13 -2
  172. data/sig/openai/models/beta/agent_session_error_event.rbs +13 -2
  173. data/sig/openai/models/beta/agent_session_failed_event.rbs +13 -2
  174. data/sig/openai/models/beta/agent_session_idle_event.rbs +13 -2
  175. data/sig/openai/models/beta/agent_session_in_progress_event.rbs +13 -2
  176. data/sig/openai/models/beta/agent_session_input_param.rbs +80 -1
  177. data/sig/openai/models/beta/agent_session_requires_action_event.rbs +13 -2
  178. data/sig/openai/models/beta/agent_session_subagent_active_event.rbs +13 -2
  179. data/sig/openai/models/beta/agent_session_subagent_closed_event.rbs +13 -2
  180. data/sig/openai/models/beta/agent_session_subagent_created_event.rbs +13 -2
  181. data/sig/openai/models/beta/agent_session_turn_cancelled_event.rbs +13 -2
  182. data/sig/openai/models/beta/agent_session_turn_completed_event.rbs +13 -2
  183. data/sig/openai/models/beta/agent_session_turn_content_part_added_event.rbs +13 -2
  184. data/sig/openai/models/beta/agent_session_turn_content_part_done_event.rbs +13 -2
  185. data/sig/openai/models/beta/agent_session_turn_created_event.rbs +13 -2
  186. data/sig/openai/models/beta/agent_session_turn_failed_event.rbs +13 -2
  187. data/sig/openai/models/beta/agent_session_turn_in_progress_event.rbs +13 -2
  188. data/sig/openai/models/beta/agent_session_turn_item_added_event.rbs +13 -2
  189. data/sig/openai/models/beta/agent_session_turn_item_done_event.rbs +13 -2
  190. data/sig/openai/models/beta/agent_session_turn_output_text_delta_event.rbs +13 -2
  191. data/sig/openai/models/beta/agent_session_turn_output_text_done_event.rbs +13 -2
  192. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbs +13 -2
  193. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbs +13 -2
  194. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbs +13 -2
  195. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbs +13 -2
  196. data/sig/openai/models/beta/agents/session_create_params.rbs +78 -0
  197. data/sig/openai/models/beta/agents/session_update_params.rbs +46 -0
  198. data/sig/openai/models/beta/agents/sessions/event_stream_params.rbs +18 -1
  199. data/sig/openai/models/beta/agents/sessions/turn.rbs +40 -2
  200. data/sig/openai/models/beta/beta_response.rbs +6 -2
  201. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +6 -3
  202. data/sig/openai/models/beta/beta_responses_client_event.rbs +6 -2
  203. data/sig/openai/models/beta/beta_tool.rbs +6 -3
  204. data/sig/openai/models/beta/response_create_params.rbs +6 -2
  205. data/sig/openai/models/beta/responses/input_token_count_params.rbs +27 -15
  206. data/sig/openai/models/content_provenance_check_create_params.rbs +2 -0
  207. data/sig/openai/models/image_edit_params.rbs +87 -4
  208. data/sig/openai/models/image_generate_params.rbs +4 -4
  209. data/sig/openai/models/images_response.rbs +9 -12
  210. data/sig/openai/models/live/media_session_config.rbs +10 -0
  211. data/sig/openai/models/live/session_accept_params.rbs +10 -0
  212. data/sig/openai/models/responses/input_token_count_params.rbs +27 -15
  213. data/sig/openai/models/responses/response.rbs +6 -2
  214. data/sig/openai/models/responses/response_create_params.rbs +6 -2
  215. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +6 -3
  216. data/sig/openai/models/responses/responses_client_event.rbs +6 -2
  217. data/sig/openai/models/responses/tool.rbs +6 -3
  218. data/sig/openai/models/video_create_error.rbs +9 -6
  219. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +2 -0
  220. data/sig/openai/models/webhooks/live_transport_connected_webhook_event.rbs +66 -0
  221. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  222. data/sig/openai/resources/admin/organization/external_keys.rbs +9 -0
  223. data/sig/openai/resources/beta/agents/sessions/events.rbs +1 -0
  224. data/sig/openai/resources/beta/agents/sessions.rbs +5 -0
  225. data/sig/openai/resources/images.rbs +2 -0
  226. data/sig/openai/resources/webhooks.rbs +1 -0
  227. metadata +4 -1
@@ -20,6 +20,7 @@ module OpenAI
20
20
  ?response_format: OpenAI::Models::ImageEditParams::response_format?,
21
21
  ?safety_identifier: String?,
22
22
  ?size: OpenAI::Models::ImageEditParams::size?,
23
+ ?svg: OpenAI::ImageEditParams::Svg?,
23
24
  ?user: String,
24
25
  ?request_options: OpenAI::request_opts
25
26
  }
@@ -139,7 +140,8 @@ module OpenAI
139
140
  attr_accessor output_compression: Integer?
140
141
 
141
142
  # The format in which the generated images are returned. This parameter is only
142
- # supported for the GPT image models. The default value is `png`.
143
+ # supported for the GPT image models. The default value is `png`. SVG output
144
+ # requires a supported image model and project access.
143
145
  attr_accessor output_format: OpenAI::Models::ImageEditParams::output_format?
144
146
 
145
147
  # The number of partial images to generate. This parameter is used for streaming
@@ -181,6 +183,12 @@ module OpenAI
181
183
  # models that allow automatic sizing.
182
184
  attr_accessor size: OpenAI::Models::ImageEditParams::size?
183
185
 
186
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
187
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
188
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
189
+ # compression. Use multipart fields such as `svg[model]`.
190
+ attr_accessor svg: OpenAI::ImageEditParams::Svg?
191
+
184
192
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
185
193
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
186
194
  # empty.
@@ -272,7 +280,8 @@ module OpenAI
272
280
  # defaults to 100.
273
281
  # @param output_format
274
282
  # The format in which the generated images are returned. This parameter is only
275
- # supported for the GPT image models. The default value is `png`.
283
+ # supported for the GPT image models. The default value is `png`. SVG output
284
+ # requires a supported image model and project access.
276
285
  # @param partial_images
277
286
  # The number of partial images to generate. This parameter is used for streaming
278
287
  # responses that return partial images. Value must be between 0 and 3. When set to
@@ -307,6 +316,11 @@ module OpenAI
307
316
  # current pixel and edge limits. The standard sizes `1024x1024`, `1536x1024`, and
308
317
  # `1024x1536` are supported by the GPT image models; `auto` is supported for
309
318
  # models that allow automatic sizing.
319
+ # @param svg
320
+ # Selects the author model and reasoning effort for `output_format=svg`. Supply
321
+ # `svg.model` when SVG model selection is enabled. Otherwise, omit this object.
322
+ # SVG output requires `n=1` and cannot use streaming, partial images, or output
323
+ # compression. Use multipart fields such as `svg[model]`.
310
324
  # @param user
311
325
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
312
326
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
@@ -331,6 +345,7 @@ module OpenAI
331
345
  ?response_format: OpenAI::Models::ImageEditParams::response_format?,
332
346
  ?safety_identifier: String?,
333
347
  ?size: OpenAI::Models::ImageEditParams::size?,
348
+ ?svg: OpenAI::ImageEditParams::Svg?,
334
349
  ?user: String,
335
350
  ?request_options: OpenAI::request_opts
336
351
  ) -> void
@@ -354,6 +369,7 @@ module OpenAI
354
369
  ?response_format: OpenAI::Models::ImageEditParams::response_format?,
355
370
  ?safety_identifier: String?,
356
371
  ?size: OpenAI::Models::ImageEditParams::size?,
372
+ ?svg: OpenAI::ImageEditParams::Svg?,
357
373
  ?user: String,
358
374
  ?request_options: OpenAI::RequestOptions
359
375
  }
@@ -412,15 +428,16 @@ module OpenAI
412
428
  def self?.variants: -> ::Array[OpenAI::Models::ImageEditParams::model]
413
429
  end
414
430
 
415
- type output_format = :png | :jpeg | :webp | :gif
431
+ type output_format = :png | :webp | :jpeg | :gif | :svg
416
432
 
417
433
  module OutputFormat
418
434
  extend OpenAI::Internal::Type::Enum
419
435
 
420
436
  PNG: :png
421
- JPEG: :jpeg
422
437
  WEBP: :webp
438
+ JPEG: :jpeg
423
439
  GIF: :gif
440
+ SVG: :svg
424
441
 
425
442
  def self?.values: -> ::Array[OpenAI::Models::ImageEditParams::output_format]
426
443
  end
@@ -473,6 +490,72 @@ module OpenAI
473
490
  SIZE_256X256: :"256x256"
474
491
  SIZE_512X512: :"512x512"
475
492
  end
493
+
494
+ type svg =
495
+ { ?model: String, ?reasoning: OpenAI::ImageEditParams::Svg::Reasoning? }
496
+
497
+ class Svg < OpenAI::Internal::Type::BaseModel
498
+ attr_reader model: String?
499
+
500
+ def model=: (String) -> String
501
+
502
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
503
+ # default in both Images and Responses.
504
+ attr_accessor reasoning: OpenAI::ImageEditParams::Svg::Reasoning?
505
+
506
+ # @param reasoning
507
+ # Reasoning effort for SVG authoring. When omitted, uses the author model's
508
+ # default in both Images and Responses.
509
+ def initialize: (
510
+ ?model: String,
511
+ ?reasoning: OpenAI::ImageEditParams::Svg::Reasoning?
512
+ ) -> void
513
+
514
+ def to_hash: -> {
515
+ ?model: String,
516
+ ?reasoning: OpenAI::ImageEditParams::Svg::Reasoning?
517
+ }
518
+
519
+ type reasoning =
520
+ { ?effort: OpenAI::Models::ImageEditParams::Svg::Reasoning::effort }
521
+
522
+ class Reasoning < OpenAI::Internal::Type::BaseModel
523
+ # Controls how much effort the model should spend on reasoning for this request.
524
+ attr_reader effort: OpenAI::Models::ImageEditParams::Svg::Reasoning::effort?
525
+
526
+ # Controls how much effort the model should spend on reasoning for this request.
527
+ def effort=: (
528
+ OpenAI::Models::ImageEditParams::Svg::Reasoning::effort
529
+ ) -> OpenAI::Models::ImageEditParams::Svg::Reasoning::effort
530
+
531
+ # @param effort
532
+ # Controls how much effort the model should spend on reasoning for this request.
533
+ def initialize: (
534
+ ?effort: OpenAI::Models::ImageEditParams::Svg::Reasoning::effort
535
+ ) -> void
536
+
537
+ def to_hash: -> {
538
+ ?effort: OpenAI::Models::ImageEditParams::Svg::Reasoning::effort
539
+ }
540
+
541
+ type effort =
542
+ :none | :minimal | :low | :medium | :high | :xhigh | :max
543
+
544
+ module Effort
545
+ extend OpenAI::Internal::Type::Enum
546
+
547
+ NONE: :none
548
+ MINIMAL: :minimal
549
+ LOW: :low
550
+ MEDIUM: :medium
551
+ HIGH: :high
552
+ XHIGH: :xhigh
553
+ MAX: :max
554
+
555
+ def self?.values: -> ::Array[OpenAI::Models::ImageEditParams::Svg::Reasoning::effort]
556
+ end
557
+ end
558
+ end
476
559
  end
477
560
  end
478
561
  end
@@ -137,7 +137,7 @@ module OpenAI
137
137
  # enabled, supply svg.model. When model selection is disabled, omit this object.
138
138
  # The top-level model selects the image model that creates the reference image.
139
139
  # SVG generation requires n=1 and does not support streaming, partial images,
140
- # prompt_rewriter, or output_compression. SVG edits are not supported.
140
+ # prompt_rewriter, or output_compression.
141
141
  attr_accessor svg: OpenAI::ImageGenerateParams::Svg?
142
142
 
143
143
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
@@ -247,7 +247,7 @@ module OpenAI
247
247
  # enabled, supply svg.model. When model selection is disabled, omit this object.
248
248
  # The top-level model selects the image model that creates the reference image.
249
249
  # SVG generation requires n=1 and does not support streaming, partial images,
250
- # prompt_rewriter, or output_compression. SVG edits are not supported.
250
+ # prompt_rewriter, or output_compression.
251
251
  # @param user
252
252
  # Deprecated: use `safety_identifier` instead. This parameter remains accepted for
253
253
  # backward compatibility and is used when `safety_identifier` is omitted, null, or
@@ -340,14 +340,14 @@ module OpenAI
340
340
  def self?.values: -> ::Array[OpenAI::Models::ImageGenerateParams::moderation]
341
341
  end
342
342
 
343
- type output_format = :png | :jpeg | :webp | :gif | :svg
343
+ type output_format = :png | :webp | :jpeg | :gif | :svg
344
344
 
345
345
  module OutputFormat
346
346
  extend OpenAI::Internal::Type::Enum
347
347
 
348
348
  PNG: :png
349
- JPEG: :jpeg
350
349
  WEBP: :webp
350
+ JPEG: :jpeg
351
351
  GIF: :gif
352
352
  SVG: :svg
353
353
 
@@ -33,10 +33,10 @@ module OpenAI
33
33
  # The list of generated images.
34
34
  def data=: (::Array[OpenAI::Image]) -> ::Array[OpenAI::Image]
35
35
 
36
- # The output format of the generated image.
36
+ # The output format of the generated or edited image.
37
37
  attr_reader output_format: OpenAI::Models::ImagesResponse::output_format?
38
38
 
39
- # The output format of the generated image.
39
+ # The output format of the generated or edited image.
40
40
  def output_format=: (
41
41
  OpenAI::Models::ImagesResponse::output_format
42
42
  ) -> OpenAI::Models::ImagesResponse::output_format
@@ -64,20 +64,18 @@ module OpenAI
64
64
  OpenAI::Models::ImagesResponse::size
65
65
  ) -> OpenAI::Models::ImagesResponse::size
66
66
 
67
- # Token usage for the model that authored the SVG, separate from image rendering
68
- # usage.
67
+ # Token usage for SVG authoring, separate from image rendering usage.
69
68
  attr_reader svg_usage: OpenAI::ImagesResponse::SvgUsage?
70
69
 
71
- # Token usage for the model that authored the SVG, separate from image rendering
72
- # usage.
70
+ # Token usage for SVG authoring, separate from image rendering usage.
73
71
  def svg_usage=: (
74
72
  OpenAI::ImagesResponse::SvgUsage
75
73
  ) -> OpenAI::ImagesResponse::SvgUsage
76
74
 
77
- # For `gpt-image-1` only, the token usage information for the image generation.
75
+ # Token usage information for image generation with GPT Image models.
78
76
  attr_reader usage: OpenAI::ImagesResponse::Usage?
79
77
 
80
- # For `gpt-image-1` only, the token usage information for the image generation.
78
+ # Token usage information for image generation with GPT Image models.
81
79
  def usage=: (
82
80
  OpenAI::ImagesResponse::Usage
83
81
  ) -> OpenAI::ImagesResponse::Usage
@@ -90,7 +88,7 @@ module OpenAI
90
88
  # @param data
91
89
  # The list of generated images.
92
90
  # @param output_format
93
- # The output format of the generated image.
91
+ # The output format of the generated or edited image.
94
92
  # @param quality
95
93
  # The quality of the image generated. One of `low`, `medium`, `high`, `xhigh`, or
96
94
  # `max`.
@@ -101,10 +99,9 @@ module OpenAI
101
99
  # @param size
102
100
  # The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
103
101
  # @param svg_usage
104
- # Token usage for the model that authored the SVG, separate from image rendering
105
- # usage.
102
+ # Token usage for SVG authoring, separate from image rendering usage.
106
103
  # @param usage
107
- # For `gpt-image-1` only, the token usage information for the image generation.
104
+ # Token usage information for image generation with GPT Image models.
108
105
  def initialize: (
109
106
  created: Integer,
110
107
  ?background: OpenAI::Models::ImagesResponse::background,
@@ -9,6 +9,7 @@ module OpenAI
9
9
  ?delegation: OpenAI::Models::Live::MediaSessionConfig::delegation?,
10
10
  ?input: ::Array[OpenAI::Models::Live::initial_item],
11
11
  ?instructions: String?,
12
+ ?safety_identifier: String?,
12
13
  ?store: bool,
13
14
  ?triggers: ::Array[OpenAI::Live::DecisionTrigger]
14
15
  }
@@ -62,6 +63,10 @@ module OpenAI
62
63
  # server defaults. Immutable after startup.
63
64
  attr_accessor instructions: String?
64
65
 
66
+ # A stable identifier for your end user, used for safety monitoring and abuse
67
+ # detection.
68
+ attr_accessor safety_identifier: String?
69
+
65
70
  # Whether to store the session for later forking and recording download. Defaults
66
71
  # to false for new sessions.
67
72
  attr_reader store: bool?
@@ -109,6 +114,9 @@ module OpenAI
109
114
  # [backend prompt](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
110
115
  # Limited to 16,384 client-supplied tokens. Omitted or blank instructions use
111
116
  # server defaults. Immutable after startup.
117
+ # @param safety_identifier
118
+ # A stable identifier for your end user, used for safety monitoring and abuse
119
+ # detection.
112
120
  # @param store
113
121
  # Whether to store the session for later forking and recording download. Defaults
114
122
  # to false for new sessions.
@@ -124,6 +132,7 @@ module OpenAI
124
132
  ?delegation: OpenAI::Models::Live::MediaSessionConfig::delegation?,
125
133
  ?input: ::Array[OpenAI::Models::Live::initial_item],
126
134
  ?instructions: String?,
135
+ ?safety_identifier: String?,
127
136
  ?store: bool,
128
137
  ?triggers: ::Array[OpenAI::Live::DecisionTrigger]
129
138
  ) -> void
@@ -135,6 +144,7 @@ module OpenAI
135
144
  ?delegation: OpenAI::Models::Live::MediaSessionConfig::delegation?,
136
145
  ?input: ::Array[OpenAI::Models::Live::initial_item],
137
146
  ?instructions: String?,
147
+ ?safety_identifier: String?,
138
148
  ?store: bool,
139
149
  ?triggers: ::Array[OpenAI::Live::DecisionTrigger]
140
150
  }
@@ -41,6 +41,7 @@ module OpenAI
41
41
  ?delegation: OpenAI::Models::Live::SessionAcceptParams::Session::delegation?,
42
42
  ?input: ::Array[OpenAI::Models::Live::initial_item],
43
43
  ?instructions: String?,
44
+ ?safety_identifier: String?,
44
45
  ?store: bool,
45
46
  ?triggers: ::Array[OpenAI::Live::DecisionTrigger]
46
47
  }
@@ -117,6 +118,10 @@ module OpenAI
117
118
  # server defaults. Immutable after startup.
118
119
  attr_accessor instructions: String?
119
120
 
121
+ # A stable identifier for your end user, used for safety monitoring and abuse
122
+ # detection.
123
+ attr_accessor safety_identifier: String?
124
+
120
125
  # Whether to store the session for later forking and recording download. Defaults
121
126
  # to false for new sessions.
122
127
  attr_reader store: bool?
@@ -161,6 +166,9 @@ module OpenAI
161
166
  # [backend prompt](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
162
167
  # Limited to 16,384 client-supplied tokens. Omitted or blank instructions use
163
168
  # server defaults. Immutable after startup.
169
+ # @param safety_identifier
170
+ # A stable identifier for your end user, used for safety monitoring and abuse
171
+ # detection.
164
172
  # @param store
165
173
  # Whether to store the session for later forking and recording download. Defaults
166
174
  # to false for new sessions.
@@ -187,6 +195,7 @@ module OpenAI
187
195
  })?,
188
196
  ?input: ::Array[OpenAI::Models::Live::initial_item],
189
197
  ?instructions: String?,
198
+ ?safety_identifier: String?,
190
199
  ?store: bool,
191
200
  ?triggers: ::Array[OpenAI::Live::DecisionTrigger],
192
201
  ?type: :live
@@ -199,6 +208,7 @@ module OpenAI
199
208
  ?delegation: OpenAI::Models::Live::SessionAcceptParams::Session::delegation?,
200
209
  ?input: ::Array[OpenAI::Models::Live::initial_item],
201
210
  ?instructions: String?,
211
+ ?safety_identifier: String?,
202
212
  ?store: bool,
203
213
  ?triggers: ::Array[OpenAI::Live::DecisionTrigger]
204
214
  }
@@ -90,18 +90,26 @@ module OpenAI
90
90
  # specify which tool to use by setting the `tool_choice` parameter.
91
91
  attr_accessor tools: ::Array[OpenAI::Models::Responses::tool]?
92
92
 
93
- # The truncation strategy to use for the model response. - `auto`: If the input to
94
- # this Response exceeds the model's context window size, the model will truncate
95
- # the response to fit the context window by dropping items from the beginning of
96
- # the conversation. - `disabled` (default): If the input size will exceed the
97
- # context window size for a model, the request will fail with a 400 error.
93
+ # The truncation strategy to use for the model response.
94
+ #
95
+ # - `auto`: If the input to this Response exceeds the model's context window size,
96
+ # the model will truncate the response to fit the context window by dropping
97
+ # items from the beginning of the conversation. On some models, trimming can
98
+ # begin earlier because the API subtracts the model's maximum output allowance
99
+ # from its input limit before counting tokens.
100
+ # - `disabled` (default): If the input size will exceed the context window size
101
+ # for a model, the request will fail with a 400 error.
98
102
  attr_reader truncation: OpenAI::Models::Responses::InputTokenCountParams::truncation?
99
103
 
100
- # The truncation strategy to use for the model response. - `auto`: If the input to
101
- # this Response exceeds the model's context window size, the model will truncate
102
- # the response to fit the context window by dropping items from the beginning of
103
- # the conversation. - `disabled` (default): If the input size will exceed the
104
- # context window size for a model, the request will fail with a 400 error.
104
+ # The truncation strategy to use for the model response.
105
+ #
106
+ # - `auto`: If the input to this Response exceeds the model's context window size,
107
+ # the model will truncate the response to fit the context window by dropping
108
+ # items from the beginning of the conversation. On some models, trimming can
109
+ # begin earlier because the API subtracts the model's maximum output allowance
110
+ # from its input limit before counting tokens.
111
+ # - `disabled` (default): If the input size will exceed the context window size
112
+ # for a model, the request will fail with a 400 error.
105
113
  def truncation=: (
106
114
  OpenAI::Models::Responses::InputTokenCountParams::truncation
107
115
  ) -> OpenAI::Models::Responses::InputTokenCountParams::truncation
@@ -150,11 +158,15 @@ module OpenAI
150
158
  # An array of tools the model may call while generating a response. You can
151
159
  # specify which tool to use by setting the `tool_choice` parameter.
152
160
  # @param truncation
153
- # The truncation strategy to use for the model response. - `auto`: If the input to
154
- # this Response exceeds the model's context window size, the model will truncate
155
- # the response to fit the context window by dropping items from the beginning of
156
- # the conversation. - `disabled` (default): If the input size will exceed the
157
- # context window size for a model, the request will fail with a 400 error.
161
+ # The truncation strategy to use for the model response.
162
+ #
163
+ # - `auto`: If the input to this Response exceeds the model's context window size,
164
+ # the model will truncate the response to fit the context window by dropping
165
+ # items from the beginning of the conversation. On some models, trimming can
166
+ # begin earlier because the API subtracts the model's maximum output allowance
167
+ # from its input limit before counting tokens.
168
+ # - `disabled` (default): If the input size will exceed the context window size
169
+ # for a model, the request will fail with a 400 error.
158
170
  def initialize: (
159
171
  ?conversation: OpenAI::Models::Responses::InputTokenCountParams::conversation?,
160
172
  ?input: OpenAI::Models::Responses::InputTokenCountParams::input?,
@@ -334,7 +334,9 @@ module OpenAI
334
334
  #
335
335
  # - `auto`: If the input to this Response exceeds the model's context window size,
336
336
  # the model will truncate the response to fit the context window by dropping
337
- # items from the beginning of the conversation.
337
+ # items from the beginning of the conversation. On some models, trimming can
338
+ # begin earlier because the API subtracts the model's maximum output allowance
339
+ # from its input limit, even if you set a lower `max_output_tokens`.
338
340
  # - `disabled` (default): If the input size will exceed the context window size
339
341
  # for a model, the request will fail with a 400 error.
340
342
  attr_accessor truncation: OpenAI::Models::Responses::Response::truncation?
@@ -562,7 +564,9 @@ module OpenAI
562
564
  #
563
565
  # - `auto`: If the input to this Response exceeds the model's context window size,
564
566
  # the model will truncate the response to fit the context window by dropping
565
- # items from the beginning of the conversation.
567
+ # items from the beginning of the conversation. On some models, trimming can
568
+ # begin earlier because the API subtracts the model's maximum output allowance
569
+ # from its input limit, even if you set a lower `max_output_tokens`.
566
570
  # - `disabled` (default): If the input size will exceed the context window size
567
571
  # for a model, the request will fail with a 400 error.
568
572
  # @param usage
@@ -368,7 +368,9 @@ module OpenAI
368
368
  #
369
369
  # - `auto`: If the input to this Response exceeds the model's context window size,
370
370
  # the model will truncate the response to fit the context window by dropping
371
- # items from the beginning of the conversation.
371
+ # items from the beginning of the conversation. On some models, trimming can
372
+ # begin earlier because the API subtracts the model's maximum output allowance
373
+ # from its input limit, even if you set a lower `max_output_tokens`.
372
374
  # - `disabled` (default): If the input size will exceed the context window size
373
375
  # for a model, the request will fail with a 400 error.
374
376
  attr_accessor truncation: OpenAI::Models::Responses::ResponseCreateParams::truncation?
@@ -597,7 +599,9 @@ module OpenAI
597
599
  #
598
600
  # - `auto`: If the input to this Response exceeds the model's context window size,
599
601
  # the model will truncate the response to fit the context window by dropping
600
- # items from the beginning of the conversation.
602
+ # items from the beginning of the conversation. On some models, trimming can
603
+ # begin earlier because the API subtracts the model's maximum output allowance
604
+ # from its input limit, even if you set a lower `max_output_tokens`.
601
605
  # - `disabled` (default): If the input size will exceed the context window size
602
606
  # for a model, the request will fail with a 400 error.
603
607
  # @param user
@@ -762,7 +762,8 @@ module OpenAI
762
762
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
763
763
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
764
764
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
765
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
765
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
766
+ # `gpt-image-2.6-sunburst`.
766
767
  #
767
768
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
768
769
  # `gpt-image-2.5-flare` instead.
@@ -772,7 +773,8 @@ module OpenAI
772
773
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
773
774
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
774
775
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
775
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
776
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
777
+ # `gpt-image-2.6-sunburst`.
776
778
  #
777
779
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
778
780
  # `gpt-image-2.5-flare` instead.
@@ -910,7 +912,8 @@ module OpenAI
910
912
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
911
913
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
912
914
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
913
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
915
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
916
+ # `gpt-image-2.6-sunburst`.
914
917
  #
915
918
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
916
919
  # `gpt-image-2.5-flare` instead.
@@ -408,7 +408,9 @@ module OpenAI
408
408
  #
409
409
  # - `auto`: If the input to this Response exceeds the model's context window size,
410
410
  # the model will truncate the response to fit the context window by dropping
411
- # items from the beginning of the conversation.
411
+ # items from the beginning of the conversation. On some models, trimming can
412
+ # begin earlier because the API subtracts the model's maximum output allowance
413
+ # from its input limit, even if you set a lower `max_output_tokens`.
412
414
  # - `disabled` (default): If the input size will exceed the context window size
413
415
  # for a model, the request will fail with a 400 error.
414
416
  attr_accessor truncation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::truncation?
@@ -654,7 +656,9 @@ module OpenAI
654
656
  #
655
657
  # - `auto`: If the input to this Response exceeds the model's context window size,
656
658
  # the model will truncate the response to fit the context window by dropping
657
- # items from the beginning of the conversation.
659
+ # items from the beginning of the conversation. On some models, trimming can
660
+ # begin earlier because the API subtracts the model's maximum output allowance
661
+ # from its input limit, even if you set a lower `max_output_tokens`.
658
662
  # - `disabled` (default): If the input size will exceed the context window size
659
663
  # for a model, the request will fail with a 400 error.
660
664
  # @param user
@@ -695,7 +695,8 @@ module OpenAI
695
695
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
696
696
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
697
697
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
698
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
698
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
699
+ # `gpt-image-2.6-sunburst`.
699
700
  #
700
701
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
701
702
  # `gpt-image-2.5-flare` instead.
@@ -705,7 +706,8 @@ module OpenAI
705
706
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
706
707
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
707
708
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
708
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
709
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
710
+ # `gpt-image-2.6-sunburst`.
709
711
  #
710
712
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
711
713
  # `gpt-image-2.5-flare` instead.
@@ -843,7 +845,8 @@ module OpenAI
843
845
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
844
846
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
845
847
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
846
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
848
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
849
+ # `gpt-image-2.6-sunburst`.
847
850
  #
848
851
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
849
852
  # `gpt-image-2.5-flare` instead.
@@ -17,12 +17,14 @@ module OpenAI
17
17
  # A human-readable description of the error that was returned.
18
18
  attr_accessor message: String
19
19
 
20
- # The Retry-After and Retry-After-Ms headers returned with the original error, if
21
- # any.
20
+ # Headers returned with the original error. These can include Retry-After,
21
+ # Retry-After-Ms, and, on opted-in deployments,
22
+ # x-openai-inference-capacity-reason.
22
23
  attr_reader headers: ::Hash[Symbol, String]?
23
24
 
24
- # The Retry-After and Retry-After-Ms headers returned with the original error, if
25
- # any.
25
+ # Headers returned with the original error. These can include Retry-After,
26
+ # Retry-After-Ms, and, on opted-in deployments,
27
+ # x-openai-inference-capacity-reason.
26
28
  def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
27
29
 
28
30
  attr_reader misalignment: OpenAI::VideoCreateError::Misalignment?
@@ -42,8 +44,9 @@ module OpenAI
42
44
  # @param message
43
45
  # A human-readable description of the error that was returned.
44
46
  # @param headers
45
- # The Retry-After and Retry-After-Ms headers returned with the original error, if
46
- # any.
47
+ # Headers returned with the original error. These can include Retry-After,
48
+ # Retry-After-Ms, and, on opted-in deployments,
49
+ # x-openai-inference-capacity-reason.
47
50
  # @param param
48
51
  # The request parameter associated with the error, or null if none was recorded.
49
52
  # @param type
@@ -94,6 +94,7 @@ module OpenAI
94
94
 
95
95
  type type_ =
96
96
  :computer_use_approval_request
97
+ | :mcp_approval_request
97
98
  | :function_call
98
99
  | :environment_connection
99
100
 
@@ -101,6 +102,7 @@ module OpenAI
101
102
  extend OpenAI::Internal::Type::Enum
102
103
 
103
104
  COMPUTER_USE_APPROVAL_REQUEST: :computer_use_approval_request
105
+ MCP_APPROVAL_REQUEST: :mcp_approval_request
104
106
  FUNCTION_CALL: :function_call
105
107
  ENVIRONMENT_CONNECTION: :environment_connection
106
108
 
@@ -0,0 +1,66 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type live_transport_connected_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data,
9
+ ?object: :event,
10
+ ?type: :"live.transport.connected"
11
+ }
12
+
13
+ class LiveTransportConnectedWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ # The webhook event ID.
15
+ attr_accessor id: String
16
+
17
+ # Unix time in seconds when the event was created.
18
+ attr_accessor created_at: Integer
19
+
20
+ attr_accessor data: OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data
21
+
22
+ attr_accessor object: :event
23
+
24
+ attr_accessor type: :"live.transport.connected"
25
+
26
+ # @param id
27
+ # The webhook event ID.
28
+ # @param created_at
29
+ # Unix time in seconds when the event was created.
30
+ def initialize: (
31
+ id: String,
32
+ created_at: Integer,
33
+ data: OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data,
34
+ ?object: :event,
35
+ ?type: :"live.transport.connected"
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ id: String,
40
+ created_at: Integer,
41
+ data: OpenAI::Webhooks::LiveTransportConnectedWebhookEvent::Data,
42
+ ?object: :event,
43
+ ?type: :"live.transport.connected"
44
+ }
45
+
46
+ type data = { session_id: String, ?type: :webrtc }
47
+
48
+ class Data < OpenAI::Internal::Type::BaseModel
49
+ # The Live session ID to use with the sideband attach endpoint.
50
+ attr_accessor session_id: String
51
+
52
+ # The session transport.
53
+ attr_accessor type: :webrtc
54
+
55
+ # @param session_id
56
+ # The Live session ID to use with the sideband attach endpoint.
57
+ # @param type
58
+ # The session transport.
59
+ def initialize: (session_id: String, ?type: :webrtc) -> void
60
+
61
+ def to_hash: -> { session_id: String, ?type: :webrtc }
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
@@ -22,6 +22,7 @@ module OpenAI
22
22
  | OpenAI::Webhooks::FineTuningJobFailedWebhookEvent
23
23
  | OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent
24
24
  | OpenAI::Webhooks::LiveCallIncomingWebhookEvent
25
+ | OpenAI::Webhooks::LiveTransportConnectedWebhookEvent
25
26
  | OpenAI::Webhooks::LiveTransportIncomingWebhookEvent
26
27
  | OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent
27
28
  | OpenAI::Webhooks::ResponseCancelledWebhookEvent