openai 0.103.0 → 0.105.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 (407) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +98 -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 +15 -3
  79. data/lib/openai/models/image_edit_params.rb +28 -5
  80. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  81. data/lib/openai/models/image_gen_completed_event.rb +15 -3
  82. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  83. data/lib/openai/models/image_generate_params.rb +28 -5
  84. data/lib/openai/models/images_response.rb +15 -3
  85. data/lib/openai/models/live/built_in_voice.rb +1 -0
  86. data/lib/openai/models/live/client_event.rb +14 -2
  87. data/lib/openai/models/live/decision_create_event.rb +26 -0
  88. data/lib/openai/models/live/decision_event.rb +117 -0
  89. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  90. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  91. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  92. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  93. data/lib/openai/models/live/decision_trigger.rb +244 -0
  94. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  95. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  96. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  97. data/lib/openai/models/live/fork_client_event.rb +14 -2
  98. data/lib/openai/models/live/fork_server_event.rb +17 -2
  99. data/lib/openai/models/live/media_session_config.rb +47 -11
  100. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  101. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  102. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  103. data/lib/openai/models/live/server_event.rb +17 -2
  104. data/lib/openai/models/live/session_accept_params.rb +47 -11
  105. data/lib/openai/models/live/session_config.rb +47 -11
  106. data/lib/openai/models/live/session_resource.rb +47 -11
  107. data/lib/openai/models/live/session_update_config.rb +38 -6
  108. data/lib/openai/models/live/session_update_event.rb +8 -8
  109. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  110. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  111. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  112. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  113. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  114. data/lib/openai/models/response_format_json_schema.rb +1 -1
  115. data/lib/openai/models/responses/function_tool.rb +8 -6
  116. data/lib/openai/models/responses/response.rb +2 -23
  117. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  118. data/lib/openai/models/responses/response_create_params.rb +3 -6
  119. data/lib/openai/models/responses/response_error.rb +19 -1
  120. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  121. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  122. data/lib/openai/models/responses/response_input_item.rb +107 -1
  123. data/lib/openai/models/responses/response_item.rb +107 -1
  124. data/lib/openai/models/responses/response_output_item.rb +107 -1
  125. data/lib/openai/models/responses/response_output_text.rb +0 -8
  126. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  127. data/lib/openai/models/safety/safety_alert.rb +12 -1
  128. data/lib/openai/models/video_create_error.rb +19 -1
  129. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
  130. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  131. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  132. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  133. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  134. data/lib/openai/resources/audio/speech.rb +2 -1
  135. data/lib/openai/resources/audio/voices.rb +10 -10
  136. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  137. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  138. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  139. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  140. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  141. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  142. data/lib/openai/resources/beta/agents.rb +6 -4
  143. data/lib/openai/resources/beta/responses.rb +2 -2
  144. data/lib/openai/resources/chat/completions.rb +11 -37
  145. data/lib/openai/resources/decisions.rb +9 -15
  146. data/lib/openai/resources/files.rb +0 -39
  147. data/lib/openai/resources/images.rb +50 -12
  148. data/lib/openai/resources/live/forks.rb +19 -0
  149. data/lib/openai/resources/live/sideband.rb +19 -0
  150. data/lib/openai/resources/live.rb +19 -0
  151. data/lib/openai/resources/realtime/translations.rb +19 -0
  152. data/lib/openai/resources/realtime.rb +19 -0
  153. data/lib/openai/resources/responses.rb +44 -95
  154. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  155. data/lib/openai/resources/vector_stores/files.rb +0 -188
  156. data/lib/openai/resources/webhooks.rb +13 -29
  157. data/lib/openai/version.rb +1 -1
  158. data/lib/openai.rb +31 -0
  159. data/rbi/openai/client.rbi +0 -103
  160. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  161. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  162. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  163. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  164. data/rbi/openai/helpers/files.rbi +25 -0
  165. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  166. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  167. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  168. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  169. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  170. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  171. data/rbi/openai/helpers/websocket.rbi +82 -0
  172. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  173. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  174. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  175. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  176. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  177. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  178. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  179. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  180. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  181. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  182. data/rbi/openai/models/audio/voice.rbi +21 -2
  183. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  184. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  185. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  186. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  187. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  188. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  189. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  190. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  191. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  192. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  193. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  194. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  195. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  196. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  197. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  198. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  199. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  200. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  201. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  202. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  203. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  204. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  205. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  206. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  207. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  208. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  209. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  210. data/rbi/openai/models/decision.rbi +14 -1
  211. data/rbi/openai/models/decision_create_params.rbi +23 -12
  212. data/rbi/openai/models/decision_input_image.rbi +4 -3
  213. data/rbi/openai/models/decision_input_message.rbi +4 -4
  214. data/rbi/openai/models/decision_input_part.rbi +2 -1
  215. data/rbi/openai/models/image_edit_completed_event.rbi +16 -1
  216. data/rbi/openai/models/image_edit_params.rbi +26 -4
  217. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  218. data/rbi/openai/models/image_gen_completed_event.rbi +16 -1
  219. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  220. data/rbi/openai/models/image_generate_params.rbi +26 -4
  221. data/rbi/openai/models/images_response.rbi +15 -0
  222. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  223. data/rbi/openai/models/live/client_event.rbi +4 -0
  224. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  225. data/rbi/openai/models/live/decision_event.rbi +185 -0
  226. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  227. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  228. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  229. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  230. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  231. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  232. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  233. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  234. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  235. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  236. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  237. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  238. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  239. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  240. data/rbi/openai/models/live/server_event.rbi +5 -0
  241. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  242. data/rbi/openai/models/live/session_config.rbi +100 -14
  243. data/rbi/openai/models/live/session_resource.rbi +81 -10
  244. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  245. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  246. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  247. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  248. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  249. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  250. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  251. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  252. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  253. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  254. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  255. data/rbi/openai/models/responses/response.rbi +2 -7
  256. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  257. data/rbi/openai/models/responses/response_error.rbi +24 -3
  258. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  259. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  260. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  261. data/rbi/openai/models/responses/response_item.rbi +189 -0
  262. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  263. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  264. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  265. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  266. data/rbi/openai/models/video_create_error.rbi +24 -3
  267. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
  268. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  269. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  270. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  271. data/rbi/openai/resources/audio/speech.rbi +2 -1
  272. data/rbi/openai/resources/audio/voices.rbi +13 -10
  273. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  274. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  275. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  276. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  277. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  278. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  279. data/rbi/openai/resources/beta/agents.rbi +6 -4
  280. data/rbi/openai/resources/beta/responses.rbi +2 -2
  281. data/rbi/openai/resources/chat/completions.rbi +26 -29
  282. data/rbi/openai/resources/decisions.rbi +9 -15
  283. data/rbi/openai/resources/files.rbi +0 -18
  284. data/rbi/openai/resources/images.rbi +44 -8
  285. data/rbi/openai/resources/live/forks.rbi +17 -0
  286. data/rbi/openai/resources/live/sideband.rbi +17 -0
  287. data/rbi/openai/resources/live.rbi +17 -0
  288. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  289. data/rbi/openai/resources/realtime.rbi +17 -0
  290. data/rbi/openai/resources/responses.rbi +41 -333
  291. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  292. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  293. data/rbi/openai/resources/webhooks.rbi +1 -1
  294. data/sig/openai/client.rbs +0 -50
  295. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  296. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  297. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  298. data/sig/openai/helpers/client_runtime.rbs +53 -0
  299. data/sig/openai/helpers/files.rbs +12 -0
  300. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  301. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  302. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  303. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  304. data/sig/openai/helpers/websocket.rbs +40 -0
  305. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  306. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  307. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  308. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  309. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  310. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  311. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  312. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  313. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  314. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  315. data/sig/openai/models/audio/voice.rbs +21 -3
  316. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  317. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  318. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  319. data/sig/openai/models/beta/agent_session.rbs +36 -2
  320. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  321. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  322. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  323. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  324. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  325. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  326. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  327. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  328. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  329. data/sig/openai/models/beta/beta_response.rbs +2 -2
  330. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  331. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  332. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  333. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  334. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  335. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  336. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  337. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  338. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  339. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  340. data/sig/openai/models/decision.rbs +13 -0
  341. data/sig/openai/models/decision_create_params.rbs +19 -8
  342. data/sig/openai/models/decision_input_image.rbs +2 -2
  343. data/sig/openai/models/decision_input_message.rbs +2 -2
  344. data/sig/openai/models/image_edit_completed_event.rbs +14 -2
  345. data/sig/openai/models/image_edit_params.rbs +27 -6
  346. data/sig/openai/models/image_gen_completed_event.rbs +14 -2
  347. data/sig/openai/models/image_generate_params.rbs +27 -6
  348. data/sig/openai/models/images_response.rbs +12 -0
  349. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  350. data/sig/openai/models/live/client_event.rbs +4 -0
  351. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  352. data/sig/openai/models/live/decision_event.rbs +102 -0
  353. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  354. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  355. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  356. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  357. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  358. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  359. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  360. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  361. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  362. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  363. data/sig/openai/models/live/media_session_config.rbs +58 -11
  364. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  365. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  366. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  367. data/sig/openai/models/live/server_event.rbs +5 -0
  368. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  369. data/sig/openai/models/live/session_config.rbs +58 -11
  370. data/sig/openai/models/live/session_resource.rbs +57 -10
  371. data/sig/openai/models/live/session_update_config.rbs +54 -3
  372. data/sig/openai/models/live/session_update_event.rbs +6 -6
  373. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  374. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  375. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  376. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  377. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  378. data/sig/openai/models/responses/response.rbs +2 -4
  379. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  380. data/sig/openai/models/responses/response_error.rbs +19 -3
  381. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  382. data/sig/openai/models/responses/response_item.rbs +110 -0
  383. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  384. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  385. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  386. data/sig/openai/models/video_create_error.rbs +19 -3
  387. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
  388. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  389. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  390. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  391. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  392. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  393. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  394. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  395. data/sig/openai/resources/beta/agents.rbs +1 -1
  396. data/sig/openai/resources/files.rbs +0 -7
  397. data/sig/openai/resources/images.rbs +4 -0
  398. data/sig/openai/resources/live/forks.rbs +8 -0
  399. data/sig/openai/resources/live/sideband.rbs +8 -0
  400. data/sig/openai/resources/live.rbs +7 -0
  401. data/sig/openai/resources/realtime/translations.rbs +7 -0
  402. data/sig/openai/resources/realtime.rbs +7 -0
  403. data/sig/openai/resources/responses.rbs +7 -31
  404. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  405. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  406. data/sig/openai/resources/webhooks.rbs +1 -1
  407. metadata +89 -1
@@ -69,7 +69,7 @@ module OpenAI
69
69
  ?type: OpenAI::Models::Realtime::RealtimeResponseStatus::type_
70
70
  }
71
71
 
72
- type error = { ?code: String, ?type: String }
72
+ type error = { ?code: String, ?message: String, ?type: String }
73
73
 
74
74
  class Error < OpenAI::Internal::Type::BaseModel
75
75
  # Error code, if any.
@@ -78,6 +78,12 @@ module OpenAI
78
78
  # Error code, if any.
79
79
  def code=: (String) -> String
80
80
 
81
+ # A human-readable error message.
82
+ attr_reader message: String?
83
+
84
+ # A human-readable error message.
85
+ def message=: (String) -> String
86
+
81
87
  # The type of error.
82
88
  attr_reader type: String?
83
89
 
@@ -86,11 +92,17 @@ module OpenAI
86
92
 
87
93
  # @param code
88
94
  # Error code, if any.
95
+ # @param message
96
+ # A human-readable error message.
89
97
  # @param type
90
98
  # The type of error.
91
- def initialize: (?code: String, ?type: String) -> void
99
+ def initialize: (
100
+ ?code: String,
101
+ ?message: String,
102
+ ?type: String
103
+ ) -> void
92
104
 
93
- def to_hash: -> { ?code: String, ?type: String }
105
+ def to_hash: -> { ?code: String, ?message: String, ?type: String }
94
106
  end
95
107
 
96
108
  type reason =
@@ -90,8 +90,6 @@ module OpenAI
90
90
  # consider using the `output_text` property where supported in SDKs.
91
91
  attr_accessor output: ::Array[OpenAI::Models::Responses::response_output_item]
92
92
 
93
- def output_text: -> String
94
-
95
93
  # Whether to allow the model to run tool calls in parallel.
96
94
  attr_accessor parallel_tool_calls: bool
97
95
 
@@ -220,7 +218,7 @@ module OpenAI
220
218
 
221
219
  # A stable identifier used to help detect users of your application that may be
222
220
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
223
- # identifies each user, with a maximum length of 64 characters. We recommend
221
+ # identifies each user, with a maximum length of 128 characters. We recommend
224
222
  # hashing their username or email address, in order to avoid sending us any
225
223
  # identifying information.
226
224
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -453,7 +451,7 @@ module OpenAI
453
451
  # @param safety_identifier
454
452
  # A stable identifier used to help detect users of your application that may be
455
453
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
456
- # identifies each user, with a maximum length of 64 characters. We recommend
454
+ # identifies each user, with a maximum length of 128 characters. We recommend
457
455
  # hashing their username or email address, in order to avoid sending us any
458
456
  # identifying information.
459
457
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -218,7 +218,7 @@ module OpenAI
218
218
 
219
219
  # A stable identifier used to help detect users of your application that may be
220
220
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
221
- # identifies each user, with a maximum length of 64 characters. We recommend
221
+ # identifies each user, with a maximum length of 128 characters. We recommend
222
222
  # hashing their username or email address, in order to avoid sending us any
223
223
  # identifying information.
224
224
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -495,7 +495,7 @@ module OpenAI
495
495
  # @param safety_identifier
496
496
  # A stable identifier used to help detect users of your application that may be
497
497
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
498
- # identifies each user, with a maximum length of 64 characters. We recommend
498
+ # identifies each user, with a maximum length of 128 characters. We recommend
499
499
  # hashing their username or email address, in order to avoid sending us any
500
500
  # identifying information.
501
501
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -5,7 +5,9 @@ module OpenAI
5
5
  {
6
6
  code: OpenAI::Models::Responses::ResponseError::code,
7
7
  message: String,
8
- ?misalignment: OpenAI::Responses::ResponseError::Misalignment
8
+ ?misalignment: OpenAI::Responses::ResponseError::Misalignment,
9
+ ?param: String?,
10
+ ?type: String?
9
11
  }
10
12
 
11
13
  class ResponseError < OpenAI::Internal::Type::BaseModel
@@ -21,20 +23,34 @@ module OpenAI
21
23
  OpenAI::Responses::ResponseError::Misalignment
22
24
  ) -> OpenAI::Responses::ResponseError::Misalignment
23
25
 
26
+ # The request parameter associated with the error, or null if none was recorded.
27
+ attr_accessor param: String?
28
+
29
+ # The original error type, or null if it was not recorded.
30
+ attr_accessor type: String?
31
+
24
32
  # @param code
25
33
  # The error code for the response.
26
34
  # @param message
27
35
  # A human-readable description of the error.
36
+ # @param param
37
+ # The request parameter associated with the error, or null if none was recorded.
38
+ # @param type
39
+ # The original error type, or null if it was not recorded.
28
40
  def initialize: (
29
41
  code: OpenAI::Models::Responses::ResponseError::code,
30
42
  message: String,
31
- ?misalignment: OpenAI::Responses::ResponseError::Misalignment
43
+ ?misalignment: OpenAI::Responses::ResponseError::Misalignment,
44
+ ?param: String?,
45
+ ?type: String?
32
46
  ) -> void
33
47
 
34
48
  def to_hash: -> {
35
49
  code: OpenAI::Models::Responses::ResponseError::code,
36
50
  message: String,
37
- ?misalignment: OpenAI::Responses::ResponseError::Misalignment
51
+ ?misalignment: OpenAI::Responses::ResponseError::Misalignment,
52
+ ?param: String?,
53
+ ?type: String?
38
54
  }
39
55
 
40
56
  type code =
@@ -519,6 +519,7 @@ module OpenAI
519
519
  ?type: :image_generation_call,
520
520
  ?action: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::action?,
521
521
  ?background: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::background?,
522
+ ?error: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error,
522
523
  ?output_format: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::output_format?,
523
524
  ?quality: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::quality?,
524
525
  ?revised_prompt: String?,
@@ -544,6 +545,14 @@ module OpenAI
544
545
  # The background setting used for generation.
545
546
  attr_accessor background: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::background?
546
547
 
548
+ # Details of a moderation failure, when available.
549
+ attr_reader error: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error?
550
+
551
+ # Details of a moderation failure, when available.
552
+ def error=: (
553
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error
554
+ ) -> OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error
555
+
547
556
  # The output format used for generation.
548
557
  attr_accessor output_format: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::output_format?
549
558
 
@@ -567,6 +576,8 @@ module OpenAI
567
576
  # The action used for image generation.
568
577
  # @param background
569
578
  # The background setting used for generation.
579
+ # @param error
580
+ # Details of a moderation failure, when available.
570
581
  # @param output_format
571
582
  # The output format used for generation.
572
583
  # @param quality
@@ -584,6 +595,7 @@ module OpenAI
584
595
  status: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::status,
585
596
  ?action: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::action?,
586
597
  ?background: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::background?,
598
+ ?error: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error,
587
599
  ?output_format: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::output_format?,
588
600
  ?quality: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::quality?,
589
601
  ?revised_prompt: String?,
@@ -598,6 +610,7 @@ module OpenAI
598
610
  ?type: :image_generation_call,
599
611
  ?action: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::action?,
600
612
  ?background: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::background?,
613
+ ?error: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error,
601
614
  ?output_format: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::output_format?,
602
615
  ?quality: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::quality?,
603
616
  ?revised_prompt: String?,
@@ -641,6 +654,103 @@ module OpenAI
641
654
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::background]
642
655
  end
643
656
 
657
+ type error =
658
+ {
659
+ code: String?,
660
+ message: String,
661
+ param: String?,
662
+ type: String,
663
+ ?moderation_details: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails
664
+ }
665
+
666
+ class Error < OpenAI::Internal::Type::BaseModel
667
+ # The error code.
668
+ attr_accessor code: String?
669
+
670
+ # A description of the error.
671
+ attr_accessor message: String
672
+
673
+ # The related request parameter.
674
+ attr_accessor param: String?
675
+
676
+ # The error type.
677
+ attr_accessor type: String
678
+
679
+ # Public details for a `moderation_blocked` error, when available.
680
+ attr_reader moderation_details: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails?
681
+
682
+ # Public details for a `moderation_blocked` error, when available.
683
+ def moderation_details=: (
684
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails
685
+ ) -> OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails
686
+
687
+ # @param code
688
+ # The error code.
689
+ # @param message
690
+ # A description of the error.
691
+ # @param param
692
+ # The related request parameter.
693
+ # @param type
694
+ # The error type.
695
+ # @param moderation_details
696
+ # Public details for a `moderation_blocked` error, when available.
697
+ def initialize: (
698
+ code: String?,
699
+ message: String,
700
+ param: String?,
701
+ type: String,
702
+ ?moderation_details: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails
703
+ ) -> void
704
+
705
+ def to_hash: -> {
706
+ code: String?,
707
+ message: String,
708
+ param: String?,
709
+ type: String,
710
+ ?moderation_details: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails
711
+ }
712
+
713
+ type moderation_details =
714
+ {
715
+ categories: ::Array[String],
716
+ moderation_stage: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
717
+ }
718
+
719
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
720
+ # Public moderation categories. New category values may be added over time.
721
+ attr_accessor categories: ::Array[String]
722
+
723
+ # The stage where moderation blocked the image generation call.
724
+ attr_accessor moderation_stage: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
725
+
726
+ # @param categories
727
+ # Public moderation categories. New category values may be added over time.
728
+ # @param moderation_stage
729
+ # The stage where moderation blocked the image generation call.
730
+ def initialize: (
731
+ categories: ::Array[String],
732
+ moderation_stage: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
733
+ ) -> void
734
+
735
+ def to_hash: -> {
736
+ categories: ::Array[String],
737
+ moderation_stage: OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
738
+ }
739
+
740
+ type moderation_stage = :input | :output | :unknown
741
+
742
+ module ModerationStage
743
+ extend OpenAI::Internal::Type::Enum
744
+
745
+ INPUT: :input
746
+ OUTPUT: :output
747
+ UNKNOWN: :unknown
748
+
749
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage]
750
+ end
751
+ end
752
+ end
753
+
644
754
  type output_format = :png | :webp | :jpeg
645
755
 
646
756
  module OutputFormat
@@ -228,6 +228,7 @@ module OpenAI
228
228
  ?type: :image_generation_call,
229
229
  ?action: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::action?,
230
230
  ?background: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background?,
231
+ ?error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error,
231
232
  ?output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?,
232
233
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
233
234
  ?revised_prompt: String?,
@@ -253,6 +254,14 @@ module OpenAI
253
254
  # The background setting used for generation.
254
255
  attr_accessor background: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background?
255
256
 
257
+ # Details of a moderation failure, when available.
258
+ attr_reader error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error?
259
+
260
+ # Details of a moderation failure, when available.
261
+ def error=: (
262
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error
263
+ ) -> OpenAI::Responses::ResponseItem::ImageGenerationCall::Error
264
+
256
265
  # The output format used for generation.
257
266
  attr_accessor output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?
258
267
 
@@ -276,6 +285,8 @@ module OpenAI
276
285
  # The action used for image generation.
277
286
  # @param background
278
287
  # The background setting used for generation.
288
+ # @param error
289
+ # Details of a moderation failure, when available.
279
290
  # @param output_format
280
291
  # The output format used for generation.
281
292
  # @param quality
@@ -293,6 +304,7 @@ module OpenAI
293
304
  status: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::status,
294
305
  ?action: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::action?,
295
306
  ?background: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background?,
307
+ ?error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error,
296
308
  ?output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?,
297
309
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
298
310
  ?revised_prompt: String?,
@@ -307,6 +319,7 @@ module OpenAI
307
319
  ?type: :image_generation_call,
308
320
  ?action: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::action?,
309
321
  ?background: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background?,
322
+ ?error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error,
310
323
  ?output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?,
311
324
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
312
325
  ?revised_prompt: String?,
@@ -350,6 +363,103 @@ module OpenAI
350
363
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background]
351
364
  end
352
365
 
366
+ type error =
367
+ {
368
+ code: String?,
369
+ message: String,
370
+ param: String?,
371
+ type: String,
372
+ ?moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
373
+ }
374
+
375
+ class Error < OpenAI::Internal::Type::BaseModel
376
+ # The error code.
377
+ attr_accessor code: String?
378
+
379
+ # A description of the error.
380
+ attr_accessor message: String
381
+
382
+ # The related request parameter.
383
+ attr_accessor param: String?
384
+
385
+ # The error type.
386
+ attr_accessor type: String
387
+
388
+ # Public details for a `moderation_blocked` error, when available.
389
+ attr_reader moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails?
390
+
391
+ # Public details for a `moderation_blocked` error, when available.
392
+ def moderation_details=: (
393
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
394
+ ) -> OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
395
+
396
+ # @param code
397
+ # The error code.
398
+ # @param message
399
+ # A description of the error.
400
+ # @param param
401
+ # The related request parameter.
402
+ # @param type
403
+ # The error type.
404
+ # @param moderation_details
405
+ # Public details for a `moderation_blocked` error, when available.
406
+ def initialize: (
407
+ code: String?,
408
+ message: String,
409
+ param: String?,
410
+ type: String,
411
+ ?moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
412
+ ) -> void
413
+
414
+ def to_hash: -> {
415
+ code: String?,
416
+ message: String,
417
+ param: String?,
418
+ type: String,
419
+ ?moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
420
+ }
421
+
422
+ type moderation_details =
423
+ {
424
+ categories: ::Array[String],
425
+ moderation_stage: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
426
+ }
427
+
428
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
429
+ # Public moderation categories. New category values may be added over time.
430
+ attr_accessor categories: ::Array[String]
431
+
432
+ # The stage where moderation blocked the image generation call.
433
+ attr_accessor moderation_stage: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
434
+
435
+ # @param categories
436
+ # Public moderation categories. New category values may be added over time.
437
+ # @param moderation_stage
438
+ # The stage where moderation blocked the image generation call.
439
+ def initialize: (
440
+ categories: ::Array[String],
441
+ moderation_stage: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
442
+ ) -> void
443
+
444
+ def to_hash: -> {
445
+ categories: ::Array[String],
446
+ moderation_stage: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
447
+ }
448
+
449
+ type moderation_stage = :input | :output | :unknown
450
+
451
+ module ModerationStage
452
+ extend OpenAI::Internal::Type::Enum
453
+
454
+ INPUT: :input
455
+ OUTPUT: :output
456
+ UNKNOWN: :unknown
457
+
458
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage]
459
+ end
460
+ end
461
+ end
462
+
353
463
  type output_format = :png | :webp | :jpeg
354
464
 
355
465
  module OutputFormat
@@ -226,6 +226,7 @@ module OpenAI
226
226
  ?type: :image_generation_call,
227
227
  ?action: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::action?,
228
228
  ?background: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background?,
229
+ ?error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error,
229
230
  ?output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?,
230
231
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
231
232
  ?revised_prompt: String?,
@@ -251,6 +252,14 @@ module OpenAI
251
252
  # The background setting used for generation.
252
253
  attr_accessor background: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background?
253
254
 
255
+ # Details of a moderation failure, when available.
256
+ attr_reader error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error?
257
+
258
+ # Details of a moderation failure, when available.
259
+ def error=: (
260
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error
261
+ ) -> OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error
262
+
254
263
  # The output format used for generation.
255
264
  attr_accessor output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?
256
265
 
@@ -274,6 +283,8 @@ module OpenAI
274
283
  # The action used for image generation.
275
284
  # @param background
276
285
  # The background setting used for generation.
286
+ # @param error
287
+ # Details of a moderation failure, when available.
277
288
  # @param output_format
278
289
  # The output format used for generation.
279
290
  # @param quality
@@ -291,6 +302,7 @@ module OpenAI
291
302
  status: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::status,
292
303
  ?action: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::action?,
293
304
  ?background: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background?,
305
+ ?error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error,
294
306
  ?output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?,
295
307
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
296
308
  ?revised_prompt: String?,
@@ -305,6 +317,7 @@ module OpenAI
305
317
  ?type: :image_generation_call,
306
318
  ?action: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::action?,
307
319
  ?background: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background?,
320
+ ?error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error,
308
321
  ?output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?,
309
322
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
310
323
  ?revised_prompt: String?,
@@ -348,6 +361,103 @@ module OpenAI
348
361
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background]
349
362
  end
350
363
 
364
+ type error =
365
+ {
366
+ code: String?,
367
+ message: String,
368
+ param: String?,
369
+ type: String,
370
+ ?moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
371
+ }
372
+
373
+ class Error < OpenAI::Internal::Type::BaseModel
374
+ # The error code.
375
+ attr_accessor code: String?
376
+
377
+ # A description of the error.
378
+ attr_accessor message: String
379
+
380
+ # The related request parameter.
381
+ attr_accessor param: String?
382
+
383
+ # The error type.
384
+ attr_accessor type: String
385
+
386
+ # Public details for a `moderation_blocked` error, when available.
387
+ attr_reader moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails?
388
+
389
+ # Public details for a `moderation_blocked` error, when available.
390
+ def moderation_details=: (
391
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
392
+ ) -> OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
393
+
394
+ # @param code
395
+ # The error code.
396
+ # @param message
397
+ # A description of the error.
398
+ # @param param
399
+ # The related request parameter.
400
+ # @param type
401
+ # The error type.
402
+ # @param moderation_details
403
+ # Public details for a `moderation_blocked` error, when available.
404
+ def initialize: (
405
+ code: String?,
406
+ message: String,
407
+ param: String?,
408
+ type: String,
409
+ ?moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
410
+ ) -> void
411
+
412
+ def to_hash: -> {
413
+ code: String?,
414
+ message: String,
415
+ param: String?,
416
+ type: String,
417
+ ?moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
418
+ }
419
+
420
+ type moderation_details =
421
+ {
422
+ categories: ::Array[String],
423
+ moderation_stage: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
424
+ }
425
+
426
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
427
+ # Public moderation categories. New category values may be added over time.
428
+ attr_accessor categories: ::Array[String]
429
+
430
+ # The stage where moderation blocked the image generation call.
431
+ attr_accessor moderation_stage: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
432
+
433
+ # @param categories
434
+ # Public moderation categories. New category values may be added over time.
435
+ # @param moderation_stage
436
+ # The stage where moderation blocked the image generation call.
437
+ def initialize: (
438
+ categories: ::Array[String],
439
+ moderation_stage: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
440
+ ) -> void
441
+
442
+ def to_hash: -> {
443
+ categories: ::Array[String],
444
+ moderation_stage: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
445
+ }
446
+
447
+ type moderation_stage = :input | :output | :unknown
448
+
449
+ module ModerationStage
450
+ extend OpenAI::Internal::Type::Enum
451
+
452
+ INPUT: :input
453
+ OUTPUT: :output
454
+ UNKNOWN: :unknown
455
+
456
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage]
457
+ end
458
+ end
459
+ end
460
+
351
461
  type output_format = :png | :webp | :jpeg
352
462
 
353
463
  module OutputFormat
@@ -227,7 +227,7 @@ module OpenAI
227
227
 
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).
@@ -526,7 +526,7 @@ module OpenAI
526
526
  # @param safety_identifier
527
527
  # A stable identifier used to help detect users of your application that may be
528
528
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
529
- # identifies each user, with a maximum length of 64 characters. We recommend
529
+ # identifies each user, with a maximum length of 128 characters. We recommend
530
530
  # hashing their username or email address, in order to avoid sending us any
531
531
  # identifying information.
532
532
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -13,7 +13,8 @@ module OpenAI
13
13
  reason: String?,
14
14
  request_id: String,
15
15
  request_paused: bool,
16
- response_id: String
16
+ response_id: String,
17
+ ?detailed_explanation: String?
17
18
  }
18
19
 
19
20
  class SafetyAlert < OpenAI::Internal::Type::BaseModel
@@ -39,12 +40,19 @@ module OpenAI
39
40
 
40
41
  attr_accessor response_id: String
41
42
 
43
+ # A generated explanation, temporarily available for eligible zero data retention
44
+ # alerts. Omitted when unavailable.
45
+ attr_accessor detailed_explanation: String?
46
+
42
47
  # @param reason
43
48
  # A customer-safe description derived from error_type, or null for zero data
44
49
  # retention requests.
45
50
  # @param request_paused
46
51
  # Whether block registration succeeded for this request. This does not confirm
47
52
  # that response execution stopped.
53
+ # @param detailed_explanation
54
+ # A generated explanation, temporarily available for eligible zero data retention
55
+ # alerts. Omitted when unavailable.
48
56
  def initialize: (
49
57
  id: String,
50
58
  created_at: Integer,
@@ -54,6 +62,7 @@ module OpenAI
54
62
  request_id: String,
55
63
  request_paused: bool,
56
64
  response_id: String,
65
+ ?detailed_explanation: String?,
57
66
  ?object: :"safety.alert"
58
67
  ) -> void
59
68
 
@@ -66,7 +75,8 @@ module OpenAI
66
75
  reason: String?,
67
76
  request_id: String,
68
77
  request_paused: bool,
69
- response_id: String
78
+ response_id: String,
79
+ ?detailed_explanation: String?
70
80
  }
71
81
 
72
82
  type error_type =