openai 0.103.0 → 0.104.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 (395) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +23 -1
  4. data/lib/openai/client.rb +3 -386
  5. data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
  6. data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
  7. data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
  8. data/lib/openai/helpers/beta/agents/files.rb +41 -0
  9. data/lib/openai/helpers/client_runtime.rb +391 -0
  10. data/lib/openai/helpers/files.rb +47 -0
  11. data/lib/openai/helpers/live/websocket.rb +8 -57
  12. data/lib/openai/helpers/models/chat/parsed.rb +32 -0
  13. data/lib/openai/helpers/models/responses/parsed.rb +30 -0
  14. data/lib/openai/helpers/models/responses/response.rb +32 -0
  15. data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
  16. data/lib/openai/helpers/realtime/client_extension.rb +1 -2
  17. data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
  18. data/lib/openai/helpers/realtime/translation.rb +7 -50
  19. data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
  20. data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
  21. data/lib/openai/helpers/streaming/response_stream.rb +1 -16
  22. data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
  23. data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
  24. data/lib/openai/helpers/vector_stores/files.rb +198 -0
  25. data/lib/openai/helpers/websocket/client_request.rb +31 -6
  26. data/lib/openai/helpers/websocket/connection.rb +58 -0
  27. data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
  28. data/lib/openai/helpers/websocket/protocol.rb +2 -1
  29. data/lib/openai/helpers/websocket/resource.rb +54 -0
  30. data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
  31. data/lib/openai/helpers/websocket.rb +4 -0
  32. data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
  33. data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
  34. data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
  35. data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
  36. data/lib/openai/models/admin/organization/project_residency.rb +3 -0
  37. data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
  38. data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
  39. data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
  40. data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
  41. data/lib/openai/models/audio/speech_create_params.rb +6 -3
  42. data/lib/openai/models/audio/translation_create_response.rb +0 -1
  43. data/lib/openai/models/audio/voice.rb +17 -2
  44. data/lib/openai/models/audio/voice_create_params.rb +100 -3
  45. data/lib/openai/models/beta/agent_create_params.rb +4 -2
  46. data/lib/openai/models/beta/agent_list_params.rb +4 -4
  47. data/lib/openai/models/beta/agent_session.rb +37 -1
  48. data/lib/openai/models/beta/agent_update_params.rb +4 -2
  49. data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
  50. data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
  51. data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
  52. data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
  53. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
  54. data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
  55. data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
  56. data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
  57. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
  58. data/lib/openai/models/beta/beta_response.rb +23 -2
  59. data/lib/openai/models/beta/beta_response_error.rb +19 -1
  60. data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
  61. data/lib/openai/models/beta/beta_response_item.rb +107 -1
  62. data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
  63. data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
  64. data/lib/openai/models/beta/response_compact_params.rb +21 -0
  65. data/lib/openai/models/beta/response_create_params.rb +23 -2
  66. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  67. data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
  68. data/lib/openai/models/chat/chat_completion_message.rb +0 -8
  69. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
  70. data/lib/openai/models/chat/completion_create_params.rb +5 -12
  71. data/lib/openai/models/chat_model.rb +21 -0
  72. data/lib/openai/models/conversations/conversation_item.rb +107 -1
  73. data/lib/openai/models/decision.rb +17 -2
  74. data/lib/openai/models/decision_create_params.rb +29 -12
  75. data/lib/openai/models/decision_input_image.rb +4 -3
  76. data/lib/openai/models/decision_input_message.rb +4 -4
  77. data/lib/openai/models/decision_input_part.rb +3 -2
  78. data/lib/openai/models/image_edit_completed_event.rb +1 -2
  79. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  80. data/lib/openai/models/image_gen_completed_event.rb +1 -2
  81. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  82. data/lib/openai/models/images_response.rb +1 -2
  83. data/lib/openai/models/live/built_in_voice.rb +1 -0
  84. data/lib/openai/models/live/client_event.rb +14 -2
  85. data/lib/openai/models/live/decision_create_event.rb +26 -0
  86. data/lib/openai/models/live/decision_event.rb +117 -0
  87. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  88. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  89. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  90. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  91. data/lib/openai/models/live/decision_trigger.rb +244 -0
  92. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  93. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  94. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  95. data/lib/openai/models/live/fork_client_event.rb +14 -2
  96. data/lib/openai/models/live/fork_server_event.rb +17 -2
  97. data/lib/openai/models/live/media_session_config.rb +47 -11
  98. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  99. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  100. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  101. data/lib/openai/models/live/server_event.rb +17 -2
  102. data/lib/openai/models/live/session_accept_params.rb +47 -11
  103. data/lib/openai/models/live/session_config.rb +47 -11
  104. data/lib/openai/models/live/session_resource.rb +47 -11
  105. data/lib/openai/models/live/session_update_config.rb +38 -6
  106. data/lib/openai/models/live/session_update_event.rb +8 -8
  107. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  108. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  109. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  110. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  111. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  112. data/lib/openai/models/response_format_json_schema.rb +1 -1
  113. data/lib/openai/models/responses/function_tool.rb +8 -6
  114. data/lib/openai/models/responses/response.rb +2 -23
  115. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  116. data/lib/openai/models/responses/response_create_params.rb +3 -6
  117. data/lib/openai/models/responses/response_error.rb +19 -1
  118. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  119. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  120. data/lib/openai/models/responses/response_input_item.rb +107 -1
  121. data/lib/openai/models/responses/response_item.rb +107 -1
  122. data/lib/openai/models/responses/response_output_item.rb +107 -1
  123. data/lib/openai/models/responses/response_output_text.rb +0 -8
  124. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  125. data/lib/openai/models/safety/safety_alert.rb +12 -1
  126. data/lib/openai/models/video_create_error.rb +19 -1
  127. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
  128. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  129. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  130. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  131. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  132. data/lib/openai/resources/audio/speech.rb +2 -1
  133. data/lib/openai/resources/audio/voices.rb +10 -10
  134. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  135. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  136. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  137. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  138. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  139. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  140. data/lib/openai/resources/beta/agents.rb +6 -4
  141. data/lib/openai/resources/beta/responses.rb +2 -2
  142. data/lib/openai/resources/chat/completions.rb +11 -37
  143. data/lib/openai/resources/decisions.rb +9 -15
  144. data/lib/openai/resources/files.rb +0 -39
  145. data/lib/openai/resources/live/forks.rb +19 -0
  146. data/lib/openai/resources/live/sideband.rb +19 -0
  147. data/lib/openai/resources/live.rb +19 -0
  148. data/lib/openai/resources/realtime/translations.rb +19 -0
  149. data/lib/openai/resources/realtime.rb +19 -0
  150. data/lib/openai/resources/responses.rb +44 -95
  151. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  152. data/lib/openai/resources/vector_stores/files.rb +0 -188
  153. data/lib/openai/resources/webhooks.rb +13 -29
  154. data/lib/openai/version.rb +1 -1
  155. data/lib/openai.rb +31 -0
  156. data/rbi/openai/client.rbi +0 -103
  157. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  158. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  159. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  160. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  161. data/rbi/openai/helpers/files.rbi +25 -0
  162. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  163. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  164. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  165. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  166. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  167. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  168. data/rbi/openai/helpers/websocket.rbi +82 -0
  169. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  170. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  171. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  172. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  173. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  174. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  175. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  176. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  177. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  178. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  179. data/rbi/openai/models/audio/voice.rbi +21 -2
  180. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  181. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  182. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  183. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  184. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  185. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  186. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  187. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  188. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  189. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  190. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  191. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  192. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  193. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  194. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  195. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  196. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  197. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  198. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  199. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  200. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  201. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  202. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  203. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  204. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  205. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  206. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  207. data/rbi/openai/models/decision.rbi +14 -1
  208. data/rbi/openai/models/decision_create_params.rbi +23 -12
  209. data/rbi/openai/models/decision_input_image.rbi +4 -3
  210. data/rbi/openai/models/decision_input_message.rbi +4 -4
  211. data/rbi/openai/models/decision_input_part.rbi +2 -1
  212. data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
  213. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  214. data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
  215. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  216. data/rbi/openai/models/images_response.rbi +1 -0
  217. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  218. data/rbi/openai/models/live/client_event.rbi +4 -0
  219. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  220. data/rbi/openai/models/live/decision_event.rbi +185 -0
  221. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  222. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  223. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  224. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  225. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  226. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  227. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  228. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  229. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  230. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  231. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  232. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  233. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  234. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  235. data/rbi/openai/models/live/server_event.rbi +5 -0
  236. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  237. data/rbi/openai/models/live/session_config.rbi +100 -14
  238. data/rbi/openai/models/live/session_resource.rbi +81 -10
  239. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  240. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  241. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  242. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  243. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  244. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  245. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  246. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  247. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  248. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  249. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  250. data/rbi/openai/models/responses/response.rbi +2 -7
  251. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  252. data/rbi/openai/models/responses/response_error.rbi +24 -3
  253. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  254. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  255. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  256. data/rbi/openai/models/responses/response_item.rbi +189 -0
  257. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  258. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  259. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  260. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  261. data/rbi/openai/models/video_create_error.rbi +24 -3
  262. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
  263. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  264. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  265. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  266. data/rbi/openai/resources/audio/speech.rbi +2 -1
  267. data/rbi/openai/resources/audio/voices.rbi +13 -10
  268. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  269. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  270. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  271. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  272. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  273. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  274. data/rbi/openai/resources/beta/agents.rbi +6 -4
  275. data/rbi/openai/resources/beta/responses.rbi +2 -2
  276. data/rbi/openai/resources/chat/completions.rbi +26 -29
  277. data/rbi/openai/resources/decisions.rbi +9 -15
  278. data/rbi/openai/resources/files.rbi +0 -18
  279. data/rbi/openai/resources/live/forks.rbi +17 -0
  280. data/rbi/openai/resources/live/sideband.rbi +17 -0
  281. data/rbi/openai/resources/live.rbi +17 -0
  282. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  283. data/rbi/openai/resources/realtime.rbi +17 -0
  284. data/rbi/openai/resources/responses.rbi +41 -333
  285. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  286. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  287. data/rbi/openai/resources/webhooks.rbi +1 -1
  288. data/sig/openai/client.rbs +0 -50
  289. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  290. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  291. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  292. data/sig/openai/helpers/client_runtime.rbs +53 -0
  293. data/sig/openai/helpers/files.rbs +12 -0
  294. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  295. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  296. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  297. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  298. data/sig/openai/helpers/websocket.rbs +40 -0
  299. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  300. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  301. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  302. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  303. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  304. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  305. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  306. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  307. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  308. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  309. data/sig/openai/models/audio/voice.rbs +21 -3
  310. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  311. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  312. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  313. data/sig/openai/models/beta/agent_session.rbs +36 -2
  314. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  315. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  316. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  317. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  318. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  319. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  320. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  321. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  322. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  323. data/sig/openai/models/beta/beta_response.rbs +2 -2
  324. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  325. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  326. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  327. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  328. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  329. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  330. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  331. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  332. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  333. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  334. data/sig/openai/models/decision.rbs +13 -0
  335. data/sig/openai/models/decision_create_params.rbs +19 -8
  336. data/sig/openai/models/decision_input_image.rbs +2 -2
  337. data/sig/openai/models/decision_input_message.rbs +2 -2
  338. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  339. data/sig/openai/models/live/client_event.rbs +4 -0
  340. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  341. data/sig/openai/models/live/decision_event.rbs +102 -0
  342. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  343. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  344. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  345. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  346. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  347. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  348. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  349. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  350. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  351. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  352. data/sig/openai/models/live/media_session_config.rbs +58 -11
  353. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  354. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  355. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  356. data/sig/openai/models/live/server_event.rbs +5 -0
  357. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  358. data/sig/openai/models/live/session_config.rbs +58 -11
  359. data/sig/openai/models/live/session_resource.rbs +57 -10
  360. data/sig/openai/models/live/session_update_config.rbs +54 -3
  361. data/sig/openai/models/live/session_update_event.rbs +6 -6
  362. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  363. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  364. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  365. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  366. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  367. data/sig/openai/models/responses/response.rbs +2 -4
  368. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  369. data/sig/openai/models/responses/response_error.rbs +19 -3
  370. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  371. data/sig/openai/models/responses/response_item.rbs +110 -0
  372. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  373. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  374. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  375. data/sig/openai/models/video_create_error.rbs +19 -3
  376. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
  377. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  378. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  379. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  380. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  381. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  382. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  383. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  384. data/sig/openai/resources/beta/agents.rbs +1 -1
  385. data/sig/openai/resources/files.rbs +0 -7
  386. data/sig/openai/resources/live/forks.rbs +8 -0
  387. data/sig/openai/resources/live/sideband.rbs +8 -0
  388. data/sig/openai/resources/live.rbs +7 -0
  389. data/sig/openai/resources/realtime/translations.rbs +7 -0
  390. data/sig/openai/resources/realtime.rbs +7 -0
  391. data/sig/openai/resources/responses.rbs +7 -31
  392. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  393. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  394. data/sig/openai/resources/webhooks.rbs +1 -1
  395. metadata +89 -1
@@ -263,7 +263,7 @@ module OpenAI
263
263
  # @!attribute safety_identifier
264
264
  # A stable identifier used to help detect users of your application that may be
265
265
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
266
- # identifies each user, with a maximum length of 64 characters. We recommend
266
+ # identifies each user, with a maximum length of 128 characters. We recommend
267
267
  # hashing their username or email address, in order to avoid sending us any
268
268
  # identifying information.
269
269
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -358,27 +358,6 @@ module OpenAI
358
358
  # @return [String, nil]
359
359
  optional :user, String
360
360
 
361
- # Convenience property that aggregates all `output_text` items from the `output` list.
362
- #
363
- # If no `output_text` content blocks exist, then an empty string is returned.
364
- #
365
- # @return [String]
366
- def output_text
367
- texts = []
368
-
369
- output.each do |item|
370
- next unless item.is_a?(OpenAI::Models::Responses::ResponseOutputMessage)
371
-
372
- item.content.each do |content|
373
- next unless content.is_a?(OpenAI::Models::Responses::ResponseOutputText)
374
-
375
- texts << content.text
376
- end
377
- end
378
-
379
- texts.join
380
- end
381
-
382
361
  # @!method initialize(id:, access_programs:, created_at:, error:, incomplete_details:, instructions:, metadata:, model:, output:, parallel_tool_calls:, temperature:, tool_choice:, tools:, top_p:, background: nil, completed_at: nil, conversation: nil, max_output_tokens: nil, max_tool_calls: nil, moderation: nil, previous_response_id: nil, prompt: nil, prompt_cache_diagnostics: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, status: nil, text: nil, top_logprobs: nil, truncation: nil, usage: nil, user: nil, object: :response)
383
362
  # @param id [String]
384
363
  # Unique identifier for this Response.
@@ -543,7 +522,7 @@ module OpenAI
543
522
  # @param safety_identifier [String, nil]
544
523
  # A stable identifier used to help detect users of your application that may be
545
524
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
546
- # identifies each user, with a maximum length of 64 characters. We recommend
525
+ # identifies each user, with a maximum length of 128 characters. We recommend
547
526
  # hashing their username or email address, in order to avoid sending us any
548
527
  # identifying information.
549
528
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -425,6 +425,9 @@ module OpenAI
425
425
  GPT_5_5_2026_04_23 = :"gpt-5.5-2026-04-23"
426
426
  GPT_5_4 = :"gpt-5.4"
427
427
  GPT_5_4_MINI = :"gpt-5.4-mini"
428
+ # @deprecated Announced shutdown date: 2027-04-01. See
429
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
430
+ # replacements.
428
431
  GPT_5_4_NANO = :"gpt-5.4-nano"
429
432
  GPT_5_4_MINI_2026_03_17 = :"gpt-5.4-mini-2026-03-17"
430
433
  GPT_5_4_NANO_2026_03_17 = :"gpt-5.4-nano-2026-03-17"
@@ -440,6 +443,9 @@ module OpenAI
440
443
  GPT_5_2_CHAT_LATEST = :"gpt-5.2-chat-latest"
441
444
  GPT_5_2_PRO = :"gpt-5.2-pro"
442
445
  GPT_5_2_PRO_2025_12_11 = :"gpt-5.2-pro-2025-12-11"
446
+ # @deprecated Announced shutdown date: 2027-04-01. See
447
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
448
+ # replacements.
443
449
  GPT_5_1 = :"gpt-5.1"
444
450
  GPT_5_1_2025_11_13 = :"gpt-5.1-2025-11-13"
445
451
  # @deprecated Announced shutdown date: 2026-07-23. See
@@ -486,7 +492,13 @@ module OpenAI
486
492
  # https://developers.openai.com/api/docs/deprecations for details and recommended
487
493
  # replacements.
488
494
  GPT_4_1_NANO = :"gpt-4.1-nano"
495
+ # @deprecated Announced shutdown date: 2027-01-14. See
496
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
497
+ # replacements.
489
498
  GPT_4_1_2025_04_14 = :"gpt-4.1-2025-04-14"
499
+ # @deprecated Announced shutdown date: 2027-01-14. See
500
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
501
+ # replacements.
490
502
  GPT_4_1_MINI_2025_04_14 = :"gpt-4.1-mini-2025-04-14"
491
503
  # @deprecated Announced shutdown date: 2026-10-23. See
492
504
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -541,7 +553,13 @@ module OpenAI
541
553
  # replacements.
542
554
  O1_MINI_2024_09_12 = :"o1-mini-2024-09-12"
543
555
  GPT_4O = :"gpt-4o"
556
+ # @deprecated Announced shutdown date: 2027-01-14. See
557
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
558
+ # replacements.
544
559
  GPT_4O_2024_11_20 = :"gpt-4o-2024-11-20"
560
+ # @deprecated Announced shutdown date: 2027-01-14. See
561
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
562
+ # replacements.
545
563
  GPT_4O_2024_08_06 = :"gpt-4o-2024-08-06"
546
564
  # @deprecated Announced shutdown date: 2026-10-23. See
547
565
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -604,6 +622,9 @@ module OpenAI
604
622
  # replacements.
605
623
  CODEX_MINI_LATEST = :"codex-mini-latest"
606
624
  GPT_4O_MINI = :"gpt-4o-mini"
625
+ # @deprecated Announced shutdown date: 2027-01-14. See
626
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
627
+ # replacements.
607
628
  GPT_4O_MINI_2024_07_18 = :"gpt-4o-mini-2024-07-18"
608
629
  # @deprecated Announced shutdown date: 2026-10-23. See
609
630
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -227,7 +227,7 @@ module OpenAI
227
227
  # @!attribute safety_identifier
228
228
  # A stable identifier used to help detect users of your application that may be
229
229
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
230
- # identifies each user, with a maximum length of 64 characters. We recommend
230
+ # identifies each user, with a maximum length of 128 characters. We recommend
231
231
  # hashing their username or email address, in order to avoid sending us any
232
232
  # identifying information.
233
233
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -301,10 +301,7 @@ module OpenAI
301
301
  optional(
302
302
  :text,
303
303
  union: -> {
304
- OpenAI::UnionOf[
305
- OpenAI::Responses::ResponseTextConfig,
306
- OpenAI::StructuredOutput::JsonSchemaConverter
307
- ]
304
+ OpenAI::UnionOf[OpenAI::Responses::ResponseTextConfig, OpenAI::StructuredOutput::JsonSchemaConverter]
308
305
  }
309
306
  )
310
307
 
@@ -524,7 +521,7 @@ module OpenAI
524
521
  # @param safety_identifier [String, nil]
525
522
  # A stable identifier used to help detect users of your application that may be
526
523
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
527
- # identifies each user, with a maximum length of 64 characters. We recommend
524
+ # identifies each user, with a maximum length of 128 characters. We recommend
528
525
  # hashing their username or email address, in order to avoid sending us any
529
526
  # identifying information.
530
527
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -21,7 +21,19 @@ module OpenAI
21
21
  # @return [OpenAI::Models::Responses::ResponseError::Misalignment, nil]
22
22
  optional :misalignment, -> { OpenAI::Responses::ResponseError::Misalignment }
23
23
 
24
- # @!method initialize(code:, message:, misalignment: nil)
24
+ # @!attribute param
25
+ # The request parameter associated with the error, or null if none was recorded.
26
+ #
27
+ # @return [String, nil]
28
+ optional :param, String, nil?: true
29
+
30
+ # @!attribute type
31
+ # The original error type, or null if it was not recorded.
32
+ #
33
+ # @return [String, nil]
34
+ optional :type, String, nil?: true
35
+
36
+ # @!method initialize(code:, message:, misalignment: nil, param: nil, type: nil)
25
37
  # An error object returned when the model fails to generate a Response.
26
38
  #
27
39
  # @param code [Symbol, OpenAI::Models::Responses::ResponseError::Code]
@@ -31,6 +43,12 @@ module OpenAI
31
43
  # A human-readable description of the error.
32
44
  #
33
45
  # @param misalignment [OpenAI::Models::Responses::ResponseError::Misalignment]
46
+ #
47
+ # @param param [String, nil]
48
+ # The request parameter associated with the error, or null if none was recorded.
49
+ #
50
+ # @param type [String, nil]
51
+ # The original error type, or null if it was not recorded.
34
52
 
35
53
  # The error code for the response.
36
54
  #
@@ -28,10 +28,6 @@ module OpenAI
28
28
  # Learn more about [Structured Outputs](https://developers.openai.com/api/docs/guides/structured-outputs).
29
29
  variant :json_schema, -> { OpenAI::Responses::ResponseFormatTextJSONSchemaConfig }
30
30
 
31
- # An {OpenAI::BaseModel} can be provided and implicitly converted into {OpenAI::Models::Responses::ResponseFormatTextJSONSchemaConfig}.
32
- # See examples for more details.
33
- #
34
- # Learn more about [Structured Outputs](https://platform.openai.com/docs/guides/structured-outputs).
35
31
  variant -> { OpenAI::StructuredOutput::JsonSchemaConverter }
36
32
 
37
33
  # JSON object response format. An older method of generating JSON responses.
@@ -10,14 +10,6 @@ module OpenAI
10
10
  # @return [String]
11
11
  required :arguments, String
12
12
 
13
- response_only do
14
- # @!attribute parsed
15
- # The parsed contents of the arguments.
16
- #
17
- # @return [Object, nil]
18
- required :parsed, OpenAI::StructuredOutput::ParsedJson
19
- end
20
-
21
13
  # @!attribute call_id
22
14
  # The unique ID of the function tool call generated by the model.
23
15
  #
@@ -675,6 +675,12 @@ module OpenAI
675
675
  nil?: true
676
676
  )
677
677
 
678
+ # @!attribute error
679
+ # Details of a moderation failure, when available.
680
+ #
681
+ # @return [OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error, nil]
682
+ optional :error, -> { OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error }
683
+
678
684
  # @!attribute output_format
679
685
  # The output format used for generation.
680
686
  #
@@ -714,7 +720,7 @@ module OpenAI
714
720
  nil?: true
715
721
  )
716
722
 
717
- # @!method initialize(id:, result:, status:, action: nil, background: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
723
+ # @!method initialize(id:, result:, status:, action: nil, background: nil, error: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
718
724
  # An image generation request made by the model.
719
725
  #
720
726
  # @param id [String]
@@ -732,6 +738,9 @@ module OpenAI
732
738
  # @param background [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Background, nil]
733
739
  # The background setting used for generation.
734
740
  #
741
+ # @param error [OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error]
742
+ # Details of a moderation failure, when available.
743
+ #
735
744
  # @param output_format [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::OutputFormat, nil]
736
745
  # The output format used for generation.
737
746
  #
@@ -791,6 +800,103 @@ module OpenAI
791
800
  # @return [Array<Symbol>]
792
801
  end
793
802
 
803
+ # @see OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall#error
804
+ class Error < OpenAI::Internal::Type::BaseModel
805
+ # @!attribute code
806
+ # The error code.
807
+ #
808
+ # @return [String, nil]
809
+ required :code, String, nil?: true
810
+
811
+ # @!attribute message
812
+ # A description of the error.
813
+ #
814
+ # @return [String]
815
+ required :message, String
816
+
817
+ # @!attribute param
818
+ # The related request parameter.
819
+ #
820
+ # @return [String, nil]
821
+ required :param, String, nil?: true
822
+
823
+ # @!attribute type
824
+ # The error type.
825
+ #
826
+ # @return [String]
827
+ required :type, String
828
+
829
+ # @!attribute moderation_details
830
+ # Public details for a `moderation_blocked` error, when available.
831
+ #
832
+ # @return [OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails, nil]
833
+ optional(
834
+ :moderation_details,
835
+ -> { OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails }
836
+ )
837
+
838
+ # @!method initialize(code:, message:, param:, type:, moderation_details: nil)
839
+ # Details of a moderation failure, when available.
840
+ #
841
+ # @param code [String, nil]
842
+ # The error code.
843
+ #
844
+ # @param message [String]
845
+ # A description of the error.
846
+ #
847
+ # @param param [String, nil]
848
+ # The related request parameter.
849
+ #
850
+ # @param type [String]
851
+ # The error type.
852
+ #
853
+ # @param moderation_details [OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails]
854
+ # Public details for a `moderation_blocked` error, when available.
855
+
856
+ # @see OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error#moderation_details
857
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
858
+ # @!attribute categories
859
+ # Public moderation categories. New category values may be added over time.
860
+ #
861
+ # @return [Array<String>]
862
+ required :categories, OpenAI::Internal::Type::ArrayOf[String]
863
+
864
+ # @!attribute moderation_stage
865
+ # The stage where moderation blocked the image generation call.
866
+ #
867
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage]
868
+ required(
869
+ :moderation_stage,
870
+ enum: -> {
871
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
872
+ }
873
+ )
874
+
875
+ # @!method initialize(categories:, moderation_stage:)
876
+ # Public details for a `moderation_blocked` error, when available.
877
+ #
878
+ # @param categories [Array<String>]
879
+ # Public moderation categories. New category values may be added over time.
880
+ #
881
+ # @param moderation_stage [Symbol, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage]
882
+ # The stage where moderation blocked the image generation call.
883
+
884
+ # The stage where moderation blocked the image generation call.
885
+ #
886
+ # @see OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails#moderation_stage
887
+ module ModerationStage
888
+ extend OpenAI::Internal::Type::Enum
889
+
890
+ INPUT = :input
891
+ OUTPUT = :output
892
+ UNKNOWN = :unknown
893
+
894
+ # @!method self.values
895
+ # @return [Array<Symbol>]
896
+ end
897
+ end
898
+ end
899
+
794
900
  # The output format used for generation.
795
901
  #
796
902
  # @see OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall#output_format
@@ -313,6 +313,12 @@ module OpenAI
313
313
  nil?: true
314
314
  )
315
315
 
316
+ # @!attribute error
317
+ # Details of a moderation failure, when available.
318
+ #
319
+ # @return [OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error, nil]
320
+ optional :error, -> { OpenAI::Responses::ResponseItem::ImageGenerationCall::Error }
321
+
316
322
  # @!attribute output_format
317
323
  # The output format used for generation.
318
324
  #
@@ -348,7 +354,7 @@ module OpenAI
348
354
  # @return [String, Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Size, nil]
349
355
  optional :size, union: -> { OpenAI::Responses::ResponseItem::ImageGenerationCall::Size }, nil?: true
350
356
 
351
- # @!method initialize(id:, result:, status:, action: nil, background: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
357
+ # @!method initialize(id:, result:, status:, action: nil, background: nil, error: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
352
358
  # An image generation request made by the model.
353
359
  #
354
360
  # @param id [String]
@@ -366,6 +372,9 @@ module OpenAI
366
372
  # @param background [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Background, nil]
367
373
  # The background setting used for generation.
368
374
  #
375
+ # @param error [OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error]
376
+ # Details of a moderation failure, when available.
377
+ #
369
378
  # @param output_format [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::OutputFormat, nil]
370
379
  # The output format used for generation.
371
380
  #
@@ -425,6 +434,103 @@ module OpenAI
425
434
  # @return [Array<Symbol>]
426
435
  end
427
436
 
437
+ # @see OpenAI::Models::Responses::ResponseItem::ImageGenerationCall#error
438
+ class Error < OpenAI::Internal::Type::BaseModel
439
+ # @!attribute code
440
+ # The error code.
441
+ #
442
+ # @return [String, nil]
443
+ required :code, String, nil?: true
444
+
445
+ # @!attribute message
446
+ # A description of the error.
447
+ #
448
+ # @return [String]
449
+ required :message, String
450
+
451
+ # @!attribute param
452
+ # The related request parameter.
453
+ #
454
+ # @return [String, nil]
455
+ required :param, String, nil?: true
456
+
457
+ # @!attribute type
458
+ # The error type.
459
+ #
460
+ # @return [String]
461
+ required :type, String
462
+
463
+ # @!attribute moderation_details
464
+ # Public details for a `moderation_blocked` error, when available.
465
+ #
466
+ # @return [OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails, nil]
467
+ optional(
468
+ :moderation_details,
469
+ -> { OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails }
470
+ )
471
+
472
+ # @!method initialize(code:, message:, param:, type:, moderation_details: nil)
473
+ # Details of a moderation failure, when available.
474
+ #
475
+ # @param code [String, nil]
476
+ # The error code.
477
+ #
478
+ # @param message [String]
479
+ # A description of the error.
480
+ #
481
+ # @param param [String, nil]
482
+ # The related request parameter.
483
+ #
484
+ # @param type [String]
485
+ # The error type.
486
+ #
487
+ # @param moderation_details [OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails]
488
+ # Public details for a `moderation_blocked` error, when available.
489
+
490
+ # @see OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error#moderation_details
491
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
492
+ # @!attribute categories
493
+ # Public moderation categories. New category values may be added over time.
494
+ #
495
+ # @return [Array<String>]
496
+ required :categories, OpenAI::Internal::Type::ArrayOf[String]
497
+
498
+ # @!attribute moderation_stage
499
+ # The stage where moderation blocked the image generation call.
500
+ #
501
+ # @return [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage]
502
+ required(
503
+ :moderation_stage,
504
+ enum: -> {
505
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
506
+ }
507
+ )
508
+
509
+ # @!method initialize(categories:, moderation_stage:)
510
+ # Public details for a `moderation_blocked` error, when available.
511
+ #
512
+ # @param categories [Array<String>]
513
+ # Public moderation categories. New category values may be added over time.
514
+ #
515
+ # @param moderation_stage [Symbol, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage]
516
+ # The stage where moderation blocked the image generation call.
517
+
518
+ # The stage where moderation blocked the image generation call.
519
+ #
520
+ # @see OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails#moderation_stage
521
+ module ModerationStage
522
+ extend OpenAI::Internal::Type::Enum
523
+
524
+ INPUT = :input
525
+ OUTPUT = :output
526
+ UNKNOWN = :unknown
527
+
528
+ # @!method self.values
529
+ # @return [Array<Symbol>]
530
+ end
531
+ end
532
+ end
533
+
428
534
  # The output format used for generation.
429
535
  #
430
536
  # @see OpenAI::Models::Responses::ResponseItem::ImageGenerationCall#output_format
@@ -305,6 +305,12 @@ module OpenAI
305
305
  nil?: true
306
306
  )
307
307
 
308
+ # @!attribute error
309
+ # Details of a moderation failure, when available.
310
+ #
311
+ # @return [OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error, nil]
312
+ optional :error, -> { OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error }
313
+
308
314
  # @!attribute output_format
309
315
  # The output format used for generation.
310
316
  #
@@ -344,7 +350,7 @@ module OpenAI
344
350
  nil?: true
345
351
  )
346
352
 
347
- # @!method initialize(id:, result:, status:, action: nil, background: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
353
+ # @!method initialize(id:, result:, status:, action: nil, background: nil, error: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
348
354
  # An image generation request made by the model.
349
355
  #
350
356
  # @param id [String]
@@ -362,6 +368,9 @@ module OpenAI
362
368
  # @param background [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Background, nil]
363
369
  # The background setting used for generation.
364
370
  #
371
+ # @param error [OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error]
372
+ # Details of a moderation failure, when available.
373
+ #
365
374
  # @param output_format [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::OutputFormat, nil]
366
375
  # The output format used for generation.
367
376
  #
@@ -421,6 +430,103 @@ module OpenAI
421
430
  # @return [Array<Symbol>]
422
431
  end
423
432
 
433
+ # @see OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall#error
434
+ class Error < OpenAI::Internal::Type::BaseModel
435
+ # @!attribute code
436
+ # The error code.
437
+ #
438
+ # @return [String, nil]
439
+ required :code, String, nil?: true
440
+
441
+ # @!attribute message
442
+ # A description of the error.
443
+ #
444
+ # @return [String]
445
+ required :message, String
446
+
447
+ # @!attribute param
448
+ # The related request parameter.
449
+ #
450
+ # @return [String, nil]
451
+ required :param, String, nil?: true
452
+
453
+ # @!attribute type
454
+ # The error type.
455
+ #
456
+ # @return [String]
457
+ required :type, String
458
+
459
+ # @!attribute moderation_details
460
+ # Public details for a `moderation_blocked` error, when available.
461
+ #
462
+ # @return [OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails, nil]
463
+ optional(
464
+ :moderation_details,
465
+ -> { OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails }
466
+ )
467
+
468
+ # @!method initialize(code:, message:, param:, type:, moderation_details: nil)
469
+ # Details of a moderation failure, when available.
470
+ #
471
+ # @param code [String, nil]
472
+ # The error code.
473
+ #
474
+ # @param message [String]
475
+ # A description of the error.
476
+ #
477
+ # @param param [String, nil]
478
+ # The related request parameter.
479
+ #
480
+ # @param type [String]
481
+ # The error type.
482
+ #
483
+ # @param moderation_details [OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails]
484
+ # Public details for a `moderation_blocked` error, when available.
485
+
486
+ # @see OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error#moderation_details
487
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
488
+ # @!attribute categories
489
+ # Public moderation categories. New category values may be added over time.
490
+ #
491
+ # @return [Array<String>]
492
+ required :categories, OpenAI::Internal::Type::ArrayOf[String]
493
+
494
+ # @!attribute moderation_stage
495
+ # The stage where moderation blocked the image generation call.
496
+ #
497
+ # @return [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage]
498
+ required(
499
+ :moderation_stage,
500
+ enum: -> {
501
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
502
+ }
503
+ )
504
+
505
+ # @!method initialize(categories:, moderation_stage:)
506
+ # Public details for a `moderation_blocked` error, when available.
507
+ #
508
+ # @param categories [Array<String>]
509
+ # Public moderation categories. New category values may be added over time.
510
+ #
511
+ # @param moderation_stage [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage]
512
+ # The stage where moderation blocked the image generation call.
513
+
514
+ # The stage where moderation blocked the image generation call.
515
+ #
516
+ # @see OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails#moderation_stage
517
+ module ModerationStage
518
+ extend OpenAI::Internal::Type::Enum
519
+
520
+ INPUT = :input
521
+ OUTPUT = :output
522
+ UNKNOWN = :unknown
523
+
524
+ # @!method self.values
525
+ # @return [Array<Symbol>]
526
+ end
527
+ end
528
+ end
529
+
424
530
  # The output format used for generation.
425
531
  #
426
532
  # @see OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall#output_format
@@ -19,14 +19,6 @@ module OpenAI
19
19
  # @return [String]
20
20
  required :text, String
21
21
 
22
- response_only do
23
- # @!attribute parsed
24
- # The parsed contents of the output, if JSON schema is specified.
25
- #
26
- # @return [Object, nil]
27
- optional :parsed, OpenAI::StructuredOutput::ParsedJson
28
- end
29
-
30
22
  # @!attribute type
31
23
  # The type of the output text. Always `output_text`.
32
24
  #
@@ -280,7 +280,7 @@ module OpenAI
280
280
  # @!attribute safety_identifier
281
281
  # A stable identifier used to help detect users of your application that may be
282
282
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
283
- # identifies each user, with a maximum length of 64 characters. We recommend
283
+ # identifies each user, with a maximum length of 128 characters. We recommend
284
284
  # hashing their username or email address, in order to avoid sending us any
285
285
  # identifying information.
286
286
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -612,7 +612,7 @@ module OpenAI
612
612
  # @param safety_identifier [String, nil]
613
613
  # A stable identifier used to help detect users of your application that may be
614
614
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
615
- # identifies each user, with a maximum length of 64 characters. We recommend
615
+ # identifies each user, with a maximum length of 128 characters. We recommend
616
616
  # hashing their username or email address, in order to avoid sending us any
617
617
  # identifying information.
618
618
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -54,7 +54,14 @@ module OpenAI
54
54
  # @return [String]
55
55
  required :response_id, String
56
56
 
57
- # @!method initialize(id:, created_at:, error_type:, model:, reason:, request_id:, request_paused:, response_id:, object: :"safety.alert")
57
+ # @!attribute detailed_explanation
58
+ # A generated explanation, temporarily available for eligible zero data retention
59
+ # alerts. Omitted when unavailable.
60
+ #
61
+ # @return [String, nil]
62
+ optional :detailed_explanation, String, nil?: true
63
+
64
+ # @!method initialize(id:, created_at:, error_type:, model:, reason:, request_id:, request_paused:, response_id:, detailed_explanation: nil, object: :"safety.alert")
58
65
  # @param id [String]
59
66
  #
60
67
  # @param created_at [Integer]
@@ -75,6 +82,10 @@ module OpenAI
75
82
  #
76
83
  # @param response_id [String]
77
84
  #
85
+ # @param detailed_explanation [String, nil]
86
+ # A generated explanation, temporarily available for eligible zero data retention
87
+ # alerts. Omitted when unavailable.
88
+ #
78
89
  # @param object [Symbol, :"safety.alert"]
79
90
 
80
91
  # @see OpenAI::Models::Safety::SafetyAlert#error_type