openai 0.102.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 (426) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +88 -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_session_environment_expired_event.rb +57 -0
  49. data/lib/openai/models/beta/agent_session_environment_state.rb +6 -0
  50. data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +57 -0
  51. data/lib/openai/models/beta/agent_session_event.rb +7 -1
  52. data/lib/openai/models/beta/agent_update_params.rb +4 -2
  53. data/lib/openai/models/beta/agents/environment_info.rb +3 -0
  54. data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
  55. data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
  56. data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
  57. data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
  58. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
  59. data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
  60. data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
  61. data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
  62. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
  63. data/lib/openai/models/beta/beta_response.rb +23 -2
  64. data/lib/openai/models/beta/beta_response_error.rb +19 -1
  65. data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
  66. data/lib/openai/models/beta/beta_response_item.rb +107 -1
  67. data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
  68. data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
  69. data/lib/openai/models/beta/response_compact_params.rb +21 -0
  70. data/lib/openai/models/beta/response_create_params.rb +23 -2
  71. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  72. data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
  73. data/lib/openai/models/chat/chat_completion_message.rb +0 -8
  74. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
  75. data/lib/openai/models/chat/completion_create_params.rb +5 -12
  76. data/lib/openai/models/chat_model.rb +21 -0
  77. data/lib/openai/models/conversations/conversation_item.rb +107 -1
  78. data/lib/openai/models/decision.rb +17 -2
  79. data/lib/openai/models/decision_create_params.rb +29 -12
  80. data/lib/openai/models/decision_input_image.rb +4 -3
  81. data/lib/openai/models/decision_input_message.rb +4 -4
  82. data/lib/openai/models/decision_input_part.rb +3 -2
  83. data/lib/openai/models/image_edit_completed_event.rb +1 -2
  84. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  85. data/lib/openai/models/image_gen_completed_event.rb +1 -2
  86. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  87. data/lib/openai/models/images_response.rb +1 -2
  88. data/lib/openai/models/live/built_in_voice.rb +1 -0
  89. data/lib/openai/models/live/client_event.rb +14 -2
  90. data/lib/openai/models/live/decision_create_event.rb +26 -0
  91. data/lib/openai/models/live/decision_event.rb +117 -0
  92. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  93. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  94. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  95. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  96. data/lib/openai/models/live/decision_trigger.rb +244 -0
  97. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  98. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  99. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  100. data/lib/openai/models/live/fork_client_event.rb +14 -2
  101. data/lib/openai/models/live/fork_server_event.rb +17 -2
  102. data/lib/openai/models/live/media_session_config.rb +47 -11
  103. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  104. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  105. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  106. data/lib/openai/models/live/server_event.rb +17 -2
  107. data/lib/openai/models/live/session_accept_params.rb +47 -11
  108. data/lib/openai/models/live/session_config.rb +47 -11
  109. data/lib/openai/models/live/session_resource.rb +47 -11
  110. data/lib/openai/models/live/session_update_config.rb +38 -6
  111. data/lib/openai/models/live/session_update_event.rb +8 -8
  112. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  113. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  114. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  115. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  116. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  117. data/lib/openai/models/response_format_json_schema.rb +1 -1
  118. data/lib/openai/models/responses/function_tool.rb +8 -6
  119. data/lib/openai/models/responses/response.rb +2 -23
  120. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  121. data/lib/openai/models/responses/response_create_params.rb +3 -6
  122. data/lib/openai/models/responses/response_error.rb +19 -1
  123. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  124. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  125. data/lib/openai/models/responses/response_input_item.rb +107 -1
  126. data/lib/openai/models/responses/response_item.rb +107 -1
  127. data/lib/openai/models/responses/response_output_item.rb +107 -1
  128. data/lib/openai/models/responses/response_output_text.rb +0 -8
  129. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  130. data/lib/openai/models/safety/safety_alert.rb +12 -1
  131. data/lib/openai/models/video_create_error.rb +19 -1
  132. data/lib/openai/models/webhooks/agent_environment_expired_webhook_event.rb +72 -0
  133. data/lib/openai/models/webhooks/agent_environment_suspended_webhook_event.rb +72 -0
  134. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +8 -3
  135. data/lib/openai/models/webhooks/webhook_create_params.rb +2 -0
  136. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  137. data/lib/openai/models/webhooks/webhook_test_params.rb +2 -0
  138. data/lib/openai/models/webhooks/webhook_update_params.rb +2 -0
  139. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  140. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  141. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  142. data/lib/openai/resources/audio/speech.rb +2 -1
  143. data/lib/openai/resources/audio/voices.rb +10 -10
  144. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  145. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  146. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  147. data/lib/openai/resources/beta/agents/sessions/events.rb +1 -1
  148. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  149. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  150. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  151. data/lib/openai/resources/beta/agents.rb +6 -4
  152. data/lib/openai/resources/beta/responses.rb +2 -2
  153. data/lib/openai/resources/chat/completions.rb +11 -37
  154. data/lib/openai/resources/decisions.rb +9 -15
  155. data/lib/openai/resources/files.rb +0 -39
  156. data/lib/openai/resources/live/forks.rb +19 -0
  157. data/lib/openai/resources/live/sideband.rb +19 -0
  158. data/lib/openai/resources/live.rb +19 -0
  159. data/lib/openai/resources/realtime/translations.rb +19 -0
  160. data/lib/openai/resources/realtime.rb +19 -0
  161. data/lib/openai/resources/responses.rb +44 -95
  162. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  163. data/lib/openai/resources/vector_stores/files.rb +0 -188
  164. data/lib/openai/resources/webhooks.rb +13 -29
  165. data/lib/openai/version.rb +1 -1
  166. data/lib/openai.rb +35 -0
  167. data/rbi/openai/client.rbi +0 -103
  168. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  169. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  170. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  171. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  172. data/rbi/openai/helpers/files.rbi +25 -0
  173. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  174. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  175. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  176. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  177. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  178. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  179. data/rbi/openai/helpers/websocket.rbi +82 -0
  180. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  181. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  182. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  183. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  184. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  185. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  186. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  187. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  188. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  189. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  190. data/rbi/openai/models/audio/voice.rbi +21 -2
  191. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  192. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  193. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  194. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  195. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +95 -0
  196. data/rbi/openai/models/beta/agent_session_environment_state.rbi +6 -0
  197. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +95 -0
  198. data/rbi/openai/models/beta/agent_session_event.rbi +2 -0
  199. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  200. data/rbi/openai/models/beta/agents/environment_info.rbi +3 -0
  201. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  202. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  203. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  204. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  205. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  206. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  207. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  208. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  209. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  210. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  211. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  212. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  213. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  214. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  215. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  216. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  217. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  218. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  219. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  220. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  221. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  222. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  223. data/rbi/openai/models/decision.rbi +14 -1
  224. data/rbi/openai/models/decision_create_params.rbi +23 -12
  225. data/rbi/openai/models/decision_input_image.rbi +4 -3
  226. data/rbi/openai/models/decision_input_message.rbi +4 -4
  227. data/rbi/openai/models/decision_input_part.rbi +2 -1
  228. data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
  229. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  230. data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
  231. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  232. data/rbi/openai/models/images_response.rbi +1 -0
  233. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  234. data/rbi/openai/models/live/client_event.rbi +4 -0
  235. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  236. data/rbi/openai/models/live/decision_event.rbi +185 -0
  237. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  238. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  239. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  240. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  241. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  242. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  243. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  244. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  245. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  246. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  247. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  248. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  249. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  250. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  251. data/rbi/openai/models/live/server_event.rbi +5 -0
  252. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  253. data/rbi/openai/models/live/session_config.rbi +100 -14
  254. data/rbi/openai/models/live/session_resource.rbi +81 -10
  255. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  256. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  257. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  258. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  259. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  260. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  261. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  262. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  263. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  264. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  265. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  266. data/rbi/openai/models/responses/response.rbi +2 -7
  267. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  268. data/rbi/openai/models/responses/response_error.rbi +24 -3
  269. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  270. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  271. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  272. data/rbi/openai/models/responses/response_item.rbi +189 -0
  273. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  274. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  275. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  276. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  277. data/rbi/openai/models/video_create_error.rbi +24 -3
  278. data/rbi/openai/models/webhooks/agent_environment_expired_webhook_event.rbi +133 -0
  279. data/rbi/openai/models/webhooks/agent_environment_suspended_webhook_event.rbi +133 -0
  280. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +3 -2
  281. data/rbi/openai/models/webhooks/webhook_create_params.rbi +8 -0
  282. data/rbi/openai/models/webhooks/webhook_test_params.rbi +8 -0
  283. data/rbi/openai/models/webhooks/webhook_update_params.rbi +8 -0
  284. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  285. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  286. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  287. data/rbi/openai/resources/audio/speech.rbi +2 -1
  288. data/rbi/openai/resources/audio/voices.rbi +13 -10
  289. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  290. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  291. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  292. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  293. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  294. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  295. data/rbi/openai/resources/beta/agents.rbi +6 -4
  296. data/rbi/openai/resources/beta/responses.rbi +2 -2
  297. data/rbi/openai/resources/chat/completions.rbi +26 -29
  298. data/rbi/openai/resources/decisions.rbi +9 -15
  299. data/rbi/openai/resources/files.rbi +0 -18
  300. data/rbi/openai/resources/live/forks.rbi +17 -0
  301. data/rbi/openai/resources/live/sideband.rbi +17 -0
  302. data/rbi/openai/resources/live.rbi +17 -0
  303. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  304. data/rbi/openai/resources/realtime.rbi +17 -0
  305. data/rbi/openai/resources/responses.rbi +41 -333
  306. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  307. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  308. data/rbi/openai/resources/webhooks.rbi +2 -0
  309. data/sig/openai/client.rbs +0 -50
  310. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  311. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  312. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  313. data/sig/openai/helpers/client_runtime.rbs +53 -0
  314. data/sig/openai/helpers/files.rbs +12 -0
  315. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  316. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  317. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  318. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  319. data/sig/openai/helpers/websocket.rbs +40 -0
  320. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  321. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  322. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  323. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  324. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  325. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  326. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  327. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  328. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  329. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  330. data/sig/openai/models/audio/voice.rbs +21 -3
  331. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  332. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  333. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  334. data/sig/openai/models/beta/agent_session.rbs +36 -2
  335. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +57 -0
  336. data/sig/openai/models/beta/agent_session_environment_state.rbs +14 -1
  337. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +57 -0
  338. data/sig/openai/models/beta/agent_session_event.rbs +2 -0
  339. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  340. data/sig/openai/models/beta/agents/environment_info.rbs +11 -1
  341. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  342. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  343. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  344. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  345. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  346. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  347. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  348. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  349. data/sig/openai/models/beta/beta_response.rbs +2 -2
  350. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  351. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  352. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  353. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  354. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  355. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  356. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  357. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  358. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  359. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  360. data/sig/openai/models/decision.rbs +13 -0
  361. data/sig/openai/models/decision_create_params.rbs +19 -8
  362. data/sig/openai/models/decision_input_image.rbs +2 -2
  363. data/sig/openai/models/decision_input_message.rbs +2 -2
  364. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  365. data/sig/openai/models/live/client_event.rbs +4 -0
  366. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  367. data/sig/openai/models/live/decision_event.rbs +102 -0
  368. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  369. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  370. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  371. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  372. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  373. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  374. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  375. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  376. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  377. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  378. data/sig/openai/models/live/media_session_config.rbs +58 -11
  379. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  380. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  381. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  382. data/sig/openai/models/live/server_event.rbs +5 -0
  383. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  384. data/sig/openai/models/live/session_config.rbs +58 -11
  385. data/sig/openai/models/live/session_resource.rbs +57 -10
  386. data/sig/openai/models/live/session_update_config.rbs +54 -3
  387. data/sig/openai/models/live/session_update_event.rbs +6 -6
  388. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  389. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  390. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  391. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  392. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  393. data/sig/openai/models/responses/response.rbs +2 -4
  394. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  395. data/sig/openai/models/responses/response_error.rbs +19 -3
  396. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  397. data/sig/openai/models/responses/response_item.rbs +110 -0
  398. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  399. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  400. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  401. data/sig/openai/models/video_create_error.rbs +19 -3
  402. data/sig/openai/models/webhooks/agent_environment_expired_webhook_event.rbs +70 -0
  403. data/sig/openai/models/webhooks/agent_environment_suspended_webhook_event.rbs +70 -0
  404. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +3 -1
  405. data/sig/openai/models/webhooks/webhook_create_params.rbs +4 -0
  406. data/sig/openai/models/webhooks/webhook_test_params.rbs +4 -0
  407. data/sig/openai/models/webhooks/webhook_update_params.rbs +4 -0
  408. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  409. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  410. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  411. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  412. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  413. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  414. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  415. data/sig/openai/resources/beta/agents.rbs +1 -1
  416. data/sig/openai/resources/files.rbs +0 -7
  417. data/sig/openai/resources/live/forks.rbs +8 -0
  418. data/sig/openai/resources/live/sideband.rbs +8 -0
  419. data/sig/openai/resources/live.rbs +7 -0
  420. data/sig/openai/resources/realtime/translations.rbs +7 -0
  421. data/sig/openai/resources/realtime.rbs +7 -0
  422. data/sig/openai/resources/responses.rbs +7 -31
  423. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  424. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  425. data/sig/openai/resources/webhooks.rbs +3 -1
  426. metadata +101 -1
@@ -28,6 +28,14 @@ module OpenAI
28
28
  sig { params(misalignment: OpenAI::Responses::ResponseError::Misalignment::OrHash).void }
29
29
  attr_writer :misalignment
30
30
 
31
+ # The request parameter associated with the error, or null if none was recorded.
32
+ sig { returns(T.nilable(String)) }
33
+ attr_accessor :param
34
+
35
+ # The original error type, or null if it was not recorded.
36
+ sig { returns(T.nilable(String)) }
37
+ attr_accessor :type
38
+
31
39
  # An error object returned when the model fails to generate a Response.
32
40
  sig do
33
41
  params(
@@ -36,7 +44,11 @@ module OpenAI
36
44
 
37
45
  message: String,
38
46
 
39
- misalignment: OpenAI::Responses::ResponseError::Misalignment::OrHash
47
+ misalignment: OpenAI::Responses::ResponseError::Misalignment::OrHash,
48
+
49
+ param: T.nilable(String),
50
+
51
+ type: T.nilable(String)
40
52
  )
41
53
  .returns(T.attached_class)
42
54
  end
@@ -48,7 +60,14 @@ module OpenAI
48
60
  # A human-readable description of the error.
49
61
  message:,
50
62
 
51
- misalignment: nil
63
+ misalignment: nil,
64
+
65
+ # The request parameter associated with the error, or null if none was recorded.
66
+ param: nil,
67
+
68
+ # The original error type, or null if it was not recorded.
69
+
70
+ type: nil
52
71
  )
53
72
  end
54
73
 
@@ -57,7 +76,9 @@ module OpenAI
57
76
  {
58
77
  code: OpenAI::Responses::ResponseError::Code::TaggedSymbol,
59
78
  message: String,
60
- misalignment: OpenAI::Responses::ResponseError::Misalignment
79
+ misalignment: OpenAI::Responses::ResponseError::Misalignment,
80
+ param: T.nilable(String),
81
+ type: T.nilable(String)
61
82
  }
62
83
  )
63
84
  end
@@ -18,10 +18,6 @@ module OpenAI
18
18
  sig { returns(String) }
19
19
  attr_accessor :arguments
20
20
 
21
- # The parsed contents of the arguments.
22
- sig { returns(T.anything) }
23
- attr_accessor :parsed
24
-
25
21
  # The unique ID of the function tool call generated by the model.
26
22
  sig { returns(String) }
27
23
  attr_accessor :call_id
@@ -20,7 +20,7 @@ module OpenAI
20
20
 
21
21
  # An object describing the specific action taken in this web search call. Includes
22
22
  # details on how the model used the web (search, open_page, find_in_page).
23
- sig do
23
+ sig {
24
24
  returns(
25
25
  T.any(
26
26
  OpenAI::Responses::ResponseFunctionWebSearch::Action::Search,
@@ -28,8 +28,7 @@ module OpenAI
28
28
  OpenAI::Responses::ResponseFunctionWebSearch::Action::Find
29
29
  )
30
30
  )
31
- end
32
-
31
+ }
33
32
  attr_accessor :action
34
33
 
35
34
  # The status of the web search tool call.
@@ -100,13 +99,13 @@ module OpenAI
100
99
  module Action
101
100
  extend OpenAI::Internal::Type::Union
102
101
 
103
- Variants = T.type_alias do
102
+ Variants = T.type_alias {
104
103
  T.any(
105
104
  OpenAI::Responses::ResponseFunctionWebSearch::Action::Search,
106
105
  OpenAI::Responses::ResponseFunctionWebSearch::Action::OpenPage,
107
106
  OpenAI::Responses::ResponseFunctionWebSearch::Action::Find
108
107
  )
109
- end
108
+ }
110
109
 
111
110
  class Search < OpenAI::Internal::Type::BaseModel
112
111
  OrHash = T.type_alias do
@@ -138,15 +137,10 @@ module OpenAI
138
137
  sig { returns(T.nilable(T::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source])) }
139
138
  attr_reader :sources
140
139
 
141
- sig do
142
- params(
143
- sources: T::Array[
144
- OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source::OrHash
145
- ]
146
- )
140
+ sig {
141
+ params(sources: T::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source::OrHash])
147
142
  .void
148
- end
149
-
143
+ }
150
144
  attr_writer :sources
151
145
 
152
146
  # Action type "search" - Performs a web search query.
@@ -259,9 +253,13 @@ module OpenAI
259
253
 
260
254
  # Action type "open_page" - Opens a specific URL from search results.
261
255
  sig do
262
- params(url: T.nilable(String), type: Symbol).returns(
263
- T.attached_class
256
+ params(
257
+
258
+ url: T.nilable(String),
259
+
260
+ type: Symbol
264
261
  )
262
+ .returns(T.attached_class)
265
263
  end
266
264
  def self.new(
267
265
 
@@ -306,9 +304,15 @@ module OpenAI
306
304
 
307
305
  # Action type "find_in_page": Searches for a pattern within a loaded page.
308
306
  sig do
309
- params(pattern: String, url: String, type: Symbol).returns(
310
- T.attached_class
307
+ params(
308
+
309
+ pattern: String,
310
+
311
+ url: String,
312
+
313
+ type: Symbol
311
314
  )
315
+ .returns(T.attached_class)
312
316
  end
313
317
  def self.new(
314
318
 
@@ -964,6 +964,13 @@ module OpenAI
964
964
  sig { returns(T.nilable(OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Background::OrSymbol)) }
965
965
  attr_accessor :background
966
966
 
967
+ # Details of a moderation failure, when available.
968
+ sig { returns(T.nilable(OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error)) }
969
+ attr_reader :error
970
+
971
+ sig { params(error: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::OrHash).void }
972
+ attr_writer :error
973
+
967
974
  # The output format used for generation.
968
975
  sig { returns(T.nilable(OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OutputFormat::OrSymbol)) }
969
976
  attr_accessor :output_format
@@ -997,6 +1004,8 @@ module OpenAI
997
1004
 
998
1005
  background: T.nilable(OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Background::OrSymbol),
999
1006
 
1007
+ error: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::OrHash,
1008
+
1000
1009
  output_format: T.nilable(
1001
1010
  OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OutputFormat::OrSymbol
1002
1011
  ),
@@ -1028,6 +1037,9 @@ module OpenAI
1028
1037
  # The background setting used for generation.
1029
1038
  background: nil,
1030
1039
 
1040
+ # Details of a moderation failure, when available.
1041
+ error: nil,
1042
+
1031
1043
  # The output format used for generation.
1032
1044
  output_format: nil,
1033
1045
 
@@ -1056,6 +1068,7 @@ module OpenAI
1056
1068
  type: Symbol,
1057
1069
  action: T.nilable(OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Action::OrSymbol),
1058
1070
  background: T.nilable(OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Background::OrSymbol),
1071
+ error: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error,
1059
1072
  output_format: T.nilable(
1060
1073
  OpenAI::Responses::ResponseInputItem::ImageGenerationCall::OutputFormat::OrSymbol
1061
1074
  ),
@@ -1149,6 +1162,184 @@ module OpenAI
1149
1162
  end
1150
1163
  end
1151
1164
 
1165
+ class Error < OpenAI::Internal::Type::BaseModel
1166
+ OrHash = T.type_alias do
1167
+ T.any(
1168
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error,
1169
+ OpenAI::Internal::AnyHash
1170
+ )
1171
+ end
1172
+
1173
+ # The error code.
1174
+ sig { returns(T.nilable(String)) }
1175
+ attr_accessor :code
1176
+
1177
+ # A description of the error.
1178
+ sig { returns(String) }
1179
+ attr_accessor :message
1180
+
1181
+ # The related request parameter.
1182
+ sig { returns(T.nilable(String)) }
1183
+ attr_accessor :param
1184
+
1185
+ # The error type.
1186
+ sig { returns(String) }
1187
+ attr_accessor :type
1188
+
1189
+ # Public details for a `moderation_blocked` error, when available.
1190
+ sig {
1191
+ returns(T.nilable(OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails))
1192
+ }
1193
+ attr_reader :moderation_details
1194
+
1195
+ sig {
1196
+ params(
1197
+ moderation_details: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::OrHash
1198
+ )
1199
+ .void
1200
+ }
1201
+ attr_writer :moderation_details
1202
+
1203
+ # Details of a moderation failure, when available.
1204
+ sig do
1205
+ params(
1206
+
1207
+ code: T.nilable(String),
1208
+
1209
+ message: String,
1210
+
1211
+ param: T.nilable(String),
1212
+
1213
+ type: String,
1214
+
1215
+ moderation_details: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::OrHash
1216
+ )
1217
+ .returns(T.attached_class)
1218
+ end
1219
+ def self.new(
1220
+
1221
+ # The error code.
1222
+ code:,
1223
+
1224
+ # A description of the error.
1225
+ message:,
1226
+
1227
+ # The related request parameter.
1228
+ param:,
1229
+
1230
+ # The error type.
1231
+ type:,
1232
+
1233
+ # Public details for a `moderation_blocked` error, when available.
1234
+
1235
+ moderation_details: nil
1236
+ )
1237
+ end
1238
+
1239
+ sig do
1240
+ override.returns(
1241
+ {
1242
+ code: T.nilable(String),
1243
+ message: String,
1244
+ param: T.nilable(String),
1245
+ type: String,
1246
+ moderation_details: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails
1247
+ }
1248
+ )
1249
+ end
1250
+ def to_hash
1251
+ end
1252
+
1253
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
1254
+ OrHash = T.type_alias do
1255
+ T.any(
1256
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails,
1257
+ OpenAI::Internal::AnyHash
1258
+ )
1259
+ end
1260
+
1261
+ # Public moderation categories. New category values may be added over time.
1262
+ sig { returns(T::Array[String]) }
1263
+ attr_accessor :categories
1264
+
1265
+ # The stage where moderation blocked the image generation call.
1266
+ sig {
1267
+ returns(
1268
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
1269
+ )
1270
+ }
1271
+ attr_accessor :moderation_stage
1272
+
1273
+ # Public details for a `moderation_blocked` error, when available.
1274
+ sig do
1275
+ params(
1276
+
1277
+ categories: T::Array[String],
1278
+
1279
+ moderation_stage: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
1280
+ )
1281
+ .returns(T.attached_class)
1282
+ end
1283
+ def self.new(
1284
+
1285
+ # Public moderation categories. New category values may be added over time.
1286
+ categories:,
1287
+
1288
+ # The stage where moderation blocked the image generation call.
1289
+
1290
+ moderation_stage:
1291
+ )
1292
+ end
1293
+
1294
+ sig do
1295
+ override.returns(
1296
+ {
1297
+ categories: T::Array[String],
1298
+ moderation_stage: OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
1299
+ }
1300
+ )
1301
+ end
1302
+ def to_hash
1303
+ end
1304
+
1305
+ # The stage where moderation blocked the image generation call.
1306
+ module ModerationStage
1307
+ extend OpenAI::Internal::Type::Enum
1308
+
1309
+ TaggedSymbol = T.type_alias {
1310
+ T.all(
1311
+ Symbol,
1312
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
1313
+ )
1314
+ }
1315
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1316
+
1317
+ INPUT = T.let(
1318
+ :input,
1319
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1320
+ )
1321
+ OUTPUT = T.let(
1322
+ :output,
1323
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1324
+ )
1325
+ UNKNOWN = T.let(
1326
+ :unknown,
1327
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1328
+ )
1329
+
1330
+ sig {
1331
+ override.returns(
1332
+ T::Array[
1333
+ OpenAI::Responses::ResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1334
+ ]
1335
+ )
1336
+ }
1337
+ def self.values
1338
+ end
1339
+ end
1340
+ end
1341
+ end
1342
+
1152
1343
  # The output format used for generation.
1153
1344
  module OutputFormat
1154
1345
  extend OpenAI::Internal::Type::Enum
@@ -350,6 +350,13 @@ module OpenAI
350
350
  sig { returns(T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::Background::TaggedSymbol)) }
351
351
  attr_accessor :background
352
352
 
353
+ # Details of a moderation failure, when available.
354
+ sig { returns(T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::Error)) }
355
+ attr_reader :error
356
+
357
+ sig { params(error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::OrHash).void }
358
+ attr_writer :error
359
+
353
360
  # The output format used for generation.
354
361
  sig { returns(T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::OutputFormat::TaggedSymbol)) }
355
362
  attr_accessor :output_format
@@ -381,6 +388,8 @@ module OpenAI
381
388
 
382
389
  background: T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::Background::OrSymbol),
383
390
 
391
+ error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::OrHash,
392
+
384
393
  output_format: T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::OutputFormat::OrSymbol),
385
394
 
386
395
  quality: T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::Quality::OrSymbol),
@@ -410,6 +419,9 @@ module OpenAI
410
419
  # The background setting used for generation.
411
420
  background: nil,
412
421
 
422
+ # Details of a moderation failure, when available.
423
+ error: nil,
424
+
413
425
  # The output format used for generation.
414
426
  output_format: nil,
415
427
 
@@ -438,6 +450,7 @@ module OpenAI
438
450
  type: Symbol,
439
451
  action: T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::Action::TaggedSymbol),
440
452
  background: T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::Background::TaggedSymbol),
453
+ error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error,
441
454
  output_format: T.nilable(
442
455
  OpenAI::Responses::ResponseItem::ImageGenerationCall::OutputFormat::TaggedSymbol
443
456
  ),
@@ -513,6 +526,182 @@ module OpenAI
513
526
  end
514
527
  end
515
528
 
529
+ class Error < OpenAI::Internal::Type::BaseModel
530
+ OrHash = T.type_alias do
531
+ T.any(
532
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error,
533
+ OpenAI::Internal::AnyHash
534
+ )
535
+ end
536
+
537
+ # The error code.
538
+ sig { returns(T.nilable(String)) }
539
+ attr_accessor :code
540
+
541
+ # A description of the error.
542
+ sig { returns(String) }
543
+ attr_accessor :message
544
+
545
+ # The related request parameter.
546
+ sig { returns(T.nilable(String)) }
547
+ attr_accessor :param
548
+
549
+ # The error type.
550
+ sig { returns(String) }
551
+ attr_accessor :type
552
+
553
+ # Public details for a `moderation_blocked` error, when available.
554
+ sig { returns(T.nilable(OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails)) }
555
+ attr_reader :moderation_details
556
+
557
+ sig {
558
+ params(
559
+ moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::OrHash
560
+ )
561
+ .void
562
+ }
563
+ attr_writer :moderation_details
564
+
565
+ # Details of a moderation failure, when available.
566
+ sig do
567
+ params(
568
+
569
+ code: T.nilable(String),
570
+
571
+ message: String,
572
+
573
+ param: T.nilable(String),
574
+
575
+ type: String,
576
+
577
+ moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::OrHash
578
+ )
579
+ .returns(T.attached_class)
580
+ end
581
+ def self.new(
582
+
583
+ # The error code.
584
+ code:,
585
+
586
+ # A description of the error.
587
+ message:,
588
+
589
+ # The related request parameter.
590
+ param:,
591
+
592
+ # The error type.
593
+ type:,
594
+
595
+ # Public details for a `moderation_blocked` error, when available.
596
+
597
+ moderation_details: nil
598
+ )
599
+ end
600
+
601
+ sig do
602
+ override.returns(
603
+ {
604
+ code: T.nilable(String),
605
+ message: String,
606
+ param: T.nilable(String),
607
+ type: String,
608
+ moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
609
+ }
610
+ )
611
+ end
612
+ def to_hash
613
+ end
614
+
615
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
616
+ OrHash = T.type_alias do
617
+ T.any(
618
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails,
619
+ OpenAI::Internal::AnyHash
620
+ )
621
+ end
622
+
623
+ # Public moderation categories. New category values may be added over time.
624
+ sig { returns(T::Array[String]) }
625
+ attr_accessor :categories
626
+
627
+ # The stage where moderation blocked the image generation call.
628
+ sig {
629
+ returns(
630
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
631
+ )
632
+ }
633
+ attr_accessor :moderation_stage
634
+
635
+ # Public details for a `moderation_blocked` error, when available.
636
+ sig do
637
+ params(
638
+
639
+ categories: T::Array[String],
640
+
641
+ moderation_stage: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
642
+ )
643
+ .returns(T.attached_class)
644
+ end
645
+ def self.new(
646
+
647
+ # Public moderation categories. New category values may be added over time.
648
+ categories:,
649
+
650
+ # The stage where moderation blocked the image generation call.
651
+
652
+ moderation_stage:
653
+ )
654
+ end
655
+
656
+ sig do
657
+ override.returns(
658
+ {
659
+ categories: T::Array[String],
660
+ moderation_stage: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
661
+ }
662
+ )
663
+ end
664
+ def to_hash
665
+ end
666
+
667
+ # The stage where moderation blocked the image generation call.
668
+ module ModerationStage
669
+ extend OpenAI::Internal::Type::Enum
670
+
671
+ TaggedSymbol = T.type_alias {
672
+ T.all(
673
+ Symbol,
674
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
675
+ )
676
+ }
677
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
678
+
679
+ INPUT = T.let(
680
+ :input,
681
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
682
+ )
683
+ OUTPUT = T.let(
684
+ :output,
685
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
686
+ )
687
+ UNKNOWN = T.let(
688
+ :unknown,
689
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
690
+ )
691
+
692
+ sig {
693
+ override.returns(
694
+ T::Array[
695
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
696
+ ]
697
+ )
698
+ }
699
+ def self.values
700
+ end
701
+ end
702
+ end
703
+ end
704
+
516
705
  # The output format used for generation.
517
706
  module OutputFormat
518
707
  extend OpenAI::Internal::Type::Enum