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
@@ -2117,6 +2117,13 @@ module OpenAI
2117
2117
  sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Background::OrSymbol)) }
2118
2118
  attr_accessor :background
2119
2119
 
2120
+ # Details of a moderation failure, when available.
2121
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error)) }
2122
+ attr_reader :error
2123
+
2124
+ sig { params(error: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::OrHash).void }
2125
+ attr_writer :error
2126
+
2120
2127
  # The output format used for generation.
2121
2128
  sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::OutputFormat::OrSymbol)) }
2122
2129
  attr_accessor :output_format
@@ -2152,6 +2159,8 @@ module OpenAI
2152
2159
 
2153
2160
  background: T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Background::OrSymbol),
2154
2161
 
2162
+ error: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::OrHash,
2163
+
2155
2164
  output_format: T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::OutputFormat::OrSymbol),
2156
2165
 
2157
2166
  quality: T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Quality::OrSymbol),
@@ -2184,6 +2193,9 @@ module OpenAI
2184
2193
  # The background setting used for generation.
2185
2194
  background: nil,
2186
2195
 
2196
+ # Details of a moderation failure, when available.
2197
+ error: nil,
2198
+
2187
2199
  # The output format used for generation.
2188
2200
  output_format: nil,
2189
2201
 
@@ -2213,6 +2225,7 @@ module OpenAI
2213
2225
  action: T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Action::OrSymbol),
2214
2226
  agent: T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Agent),
2215
2227
  background: T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Background::OrSymbol),
2228
+ error: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error,
2216
2229
  output_format: T.nilable(
2217
2230
  OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::OutputFormat::OrSymbol
2218
2231
  ),
@@ -2338,6 +2351,184 @@ module OpenAI
2338
2351
  end
2339
2352
  end
2340
2353
 
2354
+ class Error < OpenAI::Internal::Type::BaseModel
2355
+ OrHash = T.type_alias do
2356
+ T.any(
2357
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error,
2358
+ OpenAI::Internal::AnyHash
2359
+ )
2360
+ end
2361
+
2362
+ # The error code.
2363
+ sig { returns(T.nilable(String)) }
2364
+ attr_accessor :code
2365
+
2366
+ # A description of the error.
2367
+ sig { returns(String) }
2368
+ attr_accessor :message
2369
+
2370
+ # The related request parameter.
2371
+ sig { returns(T.nilable(String)) }
2372
+ attr_accessor :param
2373
+
2374
+ # The error type.
2375
+ sig { returns(String) }
2376
+ attr_accessor :type
2377
+
2378
+ # Public details for a `moderation_blocked` error, when available.
2379
+ sig {
2380
+ returns(T.nilable(OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails))
2381
+ }
2382
+ attr_reader :moderation_details
2383
+
2384
+ sig {
2385
+ params(
2386
+ moderation_details: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::OrHash
2387
+ )
2388
+ .void
2389
+ }
2390
+ attr_writer :moderation_details
2391
+
2392
+ # Details of a moderation failure, when available.
2393
+ sig do
2394
+ params(
2395
+
2396
+ code: T.nilable(String),
2397
+
2398
+ message: String,
2399
+
2400
+ param: T.nilable(String),
2401
+
2402
+ type: String,
2403
+
2404
+ moderation_details: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::OrHash
2405
+ )
2406
+ .returns(T.attached_class)
2407
+ end
2408
+ def self.new(
2409
+
2410
+ # The error code.
2411
+ code:,
2412
+
2413
+ # A description of the error.
2414
+ message:,
2415
+
2416
+ # The related request parameter.
2417
+ param:,
2418
+
2419
+ # The error type.
2420
+ type:,
2421
+
2422
+ # Public details for a `moderation_blocked` error, when available.
2423
+
2424
+ moderation_details: nil
2425
+ )
2426
+ end
2427
+
2428
+ sig do
2429
+ override.returns(
2430
+ {
2431
+ code: T.nilable(String),
2432
+ message: String,
2433
+ param: T.nilable(String),
2434
+ type: String,
2435
+ moderation_details: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails
2436
+ }
2437
+ )
2438
+ end
2439
+ def to_hash
2440
+ end
2441
+
2442
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
2443
+ OrHash = T.type_alias do
2444
+ T.any(
2445
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails,
2446
+ OpenAI::Internal::AnyHash
2447
+ )
2448
+ end
2449
+
2450
+ # Public moderation categories. New category values may be added over time.
2451
+ sig { returns(T::Array[String]) }
2452
+ attr_accessor :categories
2453
+
2454
+ # The stage where moderation blocked the image generation call.
2455
+ sig {
2456
+ returns(
2457
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
2458
+ )
2459
+ }
2460
+ attr_accessor :moderation_stage
2461
+
2462
+ # Public details for a `moderation_blocked` error, when available.
2463
+ sig do
2464
+ params(
2465
+
2466
+ categories: T::Array[String],
2467
+
2468
+ moderation_stage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
2469
+ )
2470
+ .returns(T.attached_class)
2471
+ end
2472
+ def self.new(
2473
+
2474
+ # Public moderation categories. New category values may be added over time.
2475
+ categories:,
2476
+
2477
+ # The stage where moderation blocked the image generation call.
2478
+
2479
+ moderation_stage:
2480
+ )
2481
+ end
2482
+
2483
+ sig do
2484
+ override.returns(
2485
+ {
2486
+ categories: T::Array[String],
2487
+ moderation_stage: OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
2488
+ }
2489
+ )
2490
+ end
2491
+ def to_hash
2492
+ end
2493
+
2494
+ # The stage where moderation blocked the image generation call.
2495
+ module ModerationStage
2496
+ extend OpenAI::Internal::Type::Enum
2497
+
2498
+ TaggedSymbol = T.type_alias {
2499
+ T.all(
2500
+ Symbol,
2501
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
2502
+ )
2503
+ }
2504
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
2505
+
2506
+ INPUT = T.let(
2507
+ :input,
2508
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
2509
+ )
2510
+ OUTPUT = T.let(
2511
+ :output,
2512
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
2513
+ )
2514
+ UNKNOWN = T.let(
2515
+ :unknown,
2516
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
2517
+ )
2518
+
2519
+ sig {
2520
+ override.returns(
2521
+ T::Array[
2522
+ OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
2523
+ ]
2524
+ )
2525
+ }
2526
+ def self.values
2527
+ end
2528
+ end
2529
+ end
2530
+ end
2531
+
2341
2532
  # The output format used for generation.
2342
2533
  module OutputFormat
2343
2534
  extend OpenAI::Internal::Type::Enum
@@ -1368,6 +1368,13 @@ module OpenAI
1368
1368
  sig { returns(T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Background::TaggedSymbol)) }
1369
1369
  attr_accessor :background
1370
1370
 
1371
+ # Details of a moderation failure, when available.
1372
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error)) }
1373
+ attr_reader :error
1374
+
1375
+ sig { params(error: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::OrHash).void }
1376
+ attr_writer :error
1377
+
1371
1378
  # The output format used for generation.
1372
1379
  sig { returns(T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::OutputFormat::TaggedSymbol)) }
1373
1380
  attr_accessor :output_format
@@ -1401,6 +1408,8 @@ module OpenAI
1401
1408
 
1402
1409
  background: T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Background::OrSymbol),
1403
1410
 
1411
+ error: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::OrHash,
1412
+
1404
1413
  output_format: T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::OutputFormat::OrSymbol),
1405
1414
 
1406
1415
  quality: T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Quality::OrSymbol),
@@ -1433,6 +1442,9 @@ module OpenAI
1433
1442
  # The background setting used for generation.
1434
1443
  background: nil,
1435
1444
 
1445
+ # Details of a moderation failure, when available.
1446
+ error: nil,
1447
+
1436
1448
  # The output format used for generation.
1437
1449
  output_format: nil,
1438
1450
 
@@ -1462,6 +1474,7 @@ module OpenAI
1462
1474
  action: T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Action::TaggedSymbol),
1463
1475
  agent: T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent),
1464
1476
  background: T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Background::TaggedSymbol),
1477
+ error: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error,
1465
1478
  output_format: T.nilable(
1466
1479
  OpenAI::Beta::BetaResponseItem::ImageGenerationCall::OutputFormat::TaggedSymbol
1467
1480
  ),
@@ -1572,6 +1585,182 @@ module OpenAI
1572
1585
  end
1573
1586
  end
1574
1587
 
1588
+ class Error < OpenAI::Internal::Type::BaseModel
1589
+ OrHash = T.type_alias do
1590
+ T.any(
1591
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error,
1592
+ OpenAI::Internal::AnyHash
1593
+ )
1594
+ end
1595
+
1596
+ # The error code.
1597
+ sig { returns(T.nilable(String)) }
1598
+ attr_accessor :code
1599
+
1600
+ # A description of the error.
1601
+ sig { returns(String) }
1602
+ attr_accessor :message
1603
+
1604
+ # The related request parameter.
1605
+ sig { returns(T.nilable(String)) }
1606
+ attr_accessor :param
1607
+
1608
+ # The error type.
1609
+ sig { returns(String) }
1610
+ attr_accessor :type
1611
+
1612
+ # Public details for a `moderation_blocked` error, when available.
1613
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails)) }
1614
+ attr_reader :moderation_details
1615
+
1616
+ sig {
1617
+ params(
1618
+ moderation_details: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::OrHash
1619
+ )
1620
+ .void
1621
+ }
1622
+ attr_writer :moderation_details
1623
+
1624
+ # Details of a moderation failure, when available.
1625
+ sig do
1626
+ params(
1627
+
1628
+ code: T.nilable(String),
1629
+
1630
+ message: String,
1631
+
1632
+ param: T.nilable(String),
1633
+
1634
+ type: String,
1635
+
1636
+ moderation_details: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::OrHash
1637
+ )
1638
+ .returns(T.attached_class)
1639
+ end
1640
+ def self.new(
1641
+
1642
+ # The error code.
1643
+ code:,
1644
+
1645
+ # A description of the error.
1646
+ message:,
1647
+
1648
+ # The related request parameter.
1649
+ param:,
1650
+
1651
+ # The error type.
1652
+ type:,
1653
+
1654
+ # Public details for a `moderation_blocked` error, when available.
1655
+
1656
+ moderation_details: nil
1657
+ )
1658
+ end
1659
+
1660
+ sig do
1661
+ override.returns(
1662
+ {
1663
+ code: T.nilable(String),
1664
+ message: String,
1665
+ param: T.nilable(String),
1666
+ type: String,
1667
+ moderation_details: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails
1668
+ }
1669
+ )
1670
+ end
1671
+ def to_hash
1672
+ end
1673
+
1674
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
1675
+ OrHash = T.type_alias do
1676
+ T.any(
1677
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails,
1678
+ OpenAI::Internal::AnyHash
1679
+ )
1680
+ end
1681
+
1682
+ # Public moderation categories. New category values may be added over time.
1683
+ sig { returns(T::Array[String]) }
1684
+ attr_accessor :categories
1685
+
1686
+ # The stage where moderation blocked the image generation call.
1687
+ sig {
1688
+ returns(
1689
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1690
+ )
1691
+ }
1692
+ attr_accessor :moderation_stage
1693
+
1694
+ # Public details for a `moderation_blocked` error, when available.
1695
+ sig do
1696
+ params(
1697
+
1698
+ categories: T::Array[String],
1699
+
1700
+ moderation_stage: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
1701
+ )
1702
+ .returns(T.attached_class)
1703
+ end
1704
+ def self.new(
1705
+
1706
+ # Public moderation categories. New category values may be added over time.
1707
+ categories:,
1708
+
1709
+ # The stage where moderation blocked the image generation call.
1710
+
1711
+ moderation_stage:
1712
+ )
1713
+ end
1714
+
1715
+ sig do
1716
+ override.returns(
1717
+ {
1718
+ categories: T::Array[String],
1719
+ moderation_stage: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1720
+ }
1721
+ )
1722
+ end
1723
+ def to_hash
1724
+ end
1725
+
1726
+ # The stage where moderation blocked the image generation call.
1727
+ module ModerationStage
1728
+ extend OpenAI::Internal::Type::Enum
1729
+
1730
+ TaggedSymbol = T.type_alias {
1731
+ T.all(
1732
+ Symbol,
1733
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
1734
+ )
1735
+ }
1736
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1737
+
1738
+ INPUT = T.let(
1739
+ :input,
1740
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1741
+ )
1742
+ OUTPUT = T.let(
1743
+ :output,
1744
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1745
+ )
1746
+ UNKNOWN = T.let(
1747
+ :unknown,
1748
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1749
+ )
1750
+
1751
+ sig {
1752
+ override.returns(
1753
+ T::Array[
1754
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1755
+ ]
1756
+ )
1757
+ }
1758
+ def self.values
1759
+ end
1760
+ end
1761
+ end
1762
+ end
1763
+
1575
1764
  # The output format used for generation.
1576
1765
  module OutputFormat
1577
1766
  extend OpenAI::Internal::Type::Enum
@@ -1400,6 +1400,13 @@ module OpenAI
1400
1400
  }
1401
1401
  attr_accessor :background
1402
1402
 
1403
+ # Details of a moderation failure, when available.
1404
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error)) }
1405
+ attr_reader :error
1406
+
1407
+ sig { params(error: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::OrHash).void }
1408
+ attr_writer :error
1409
+
1403
1410
  # The output format used for generation.
1404
1411
  sig {
1405
1412
  returns(T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol))
@@ -1435,6 +1442,8 @@ module OpenAI
1435
1442
 
1436
1443
  background: T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Background::OrSymbol),
1437
1444
 
1445
+ error: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::OrHash,
1446
+
1438
1447
  output_format: T.nilable(
1439
1448
  OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::OutputFormat::OrSymbol
1440
1449
  ),
@@ -1469,6 +1478,9 @@ module OpenAI
1469
1478
  # The background setting used for generation.
1470
1479
  background: nil,
1471
1480
 
1481
+ # Details of a moderation failure, when available.
1482
+ error: nil,
1483
+
1472
1484
  # The output format used for generation.
1473
1485
  output_format: nil,
1474
1486
 
@@ -1500,6 +1512,7 @@ module OpenAI
1500
1512
  background: T.nilable(
1501
1513
  OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Background::TaggedSymbol
1502
1514
  ),
1515
+ error: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error,
1503
1516
  output_format: T.nilable(
1504
1517
  OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol
1505
1518
  ),
@@ -1629,6 +1642,184 @@ module OpenAI
1629
1642
  end
1630
1643
  end
1631
1644
 
1645
+ class Error < OpenAI::Internal::Type::BaseModel
1646
+ OrHash = T.type_alias do
1647
+ T.any(
1648
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error,
1649
+ OpenAI::Internal::AnyHash
1650
+ )
1651
+ end
1652
+
1653
+ # The error code.
1654
+ sig { returns(T.nilable(String)) }
1655
+ attr_accessor :code
1656
+
1657
+ # A description of the error.
1658
+ sig { returns(String) }
1659
+ attr_accessor :message
1660
+
1661
+ # The related request parameter.
1662
+ sig { returns(T.nilable(String)) }
1663
+ attr_accessor :param
1664
+
1665
+ # The error type.
1666
+ sig { returns(String) }
1667
+ attr_accessor :type
1668
+
1669
+ # Public details for a `moderation_blocked` error, when available.
1670
+ sig {
1671
+ returns(T.nilable(OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails))
1672
+ }
1673
+ attr_reader :moderation_details
1674
+
1675
+ sig {
1676
+ params(
1677
+ moderation_details: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::OrHash
1678
+ )
1679
+ .void
1680
+ }
1681
+ attr_writer :moderation_details
1682
+
1683
+ # Details of a moderation failure, when available.
1684
+ sig do
1685
+ params(
1686
+
1687
+ code: T.nilable(String),
1688
+
1689
+ message: String,
1690
+
1691
+ param: T.nilable(String),
1692
+
1693
+ type: String,
1694
+
1695
+ moderation_details: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::OrHash
1696
+ )
1697
+ .returns(T.attached_class)
1698
+ end
1699
+ def self.new(
1700
+
1701
+ # The error code.
1702
+ code:,
1703
+
1704
+ # A description of the error.
1705
+ message:,
1706
+
1707
+ # The related request parameter.
1708
+ param:,
1709
+
1710
+ # The error type.
1711
+ type:,
1712
+
1713
+ # Public details for a `moderation_blocked` error, when available.
1714
+
1715
+ moderation_details: nil
1716
+ )
1717
+ end
1718
+
1719
+ sig do
1720
+ override.returns(
1721
+ {
1722
+ code: T.nilable(String),
1723
+ message: String,
1724
+ param: T.nilable(String),
1725
+ type: String,
1726
+ moderation_details: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
1727
+ }
1728
+ )
1729
+ end
1730
+ def to_hash
1731
+ end
1732
+
1733
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
1734
+ OrHash = T.type_alias do
1735
+ T.any(
1736
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails,
1737
+ OpenAI::Internal::AnyHash
1738
+ )
1739
+ end
1740
+
1741
+ # Public moderation categories. New category values may be added over time.
1742
+ sig { returns(T::Array[String]) }
1743
+ attr_accessor :categories
1744
+
1745
+ # The stage where moderation blocked the image generation call.
1746
+ sig {
1747
+ returns(
1748
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1749
+ )
1750
+ }
1751
+ attr_accessor :moderation_stage
1752
+
1753
+ # Public details for a `moderation_blocked` error, when available.
1754
+ sig do
1755
+ params(
1756
+
1757
+ categories: T::Array[String],
1758
+
1759
+ moderation_stage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
1760
+ )
1761
+ .returns(T.attached_class)
1762
+ end
1763
+ def self.new(
1764
+
1765
+ # Public moderation categories. New category values may be added over time.
1766
+ categories:,
1767
+
1768
+ # The stage where moderation blocked the image generation call.
1769
+
1770
+ moderation_stage:
1771
+ )
1772
+ end
1773
+
1774
+ sig do
1775
+ override.returns(
1776
+ {
1777
+ categories: T::Array[String],
1778
+ moderation_stage: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1779
+ }
1780
+ )
1781
+ end
1782
+ def to_hash
1783
+ end
1784
+
1785
+ # The stage where moderation blocked the image generation call.
1786
+ module ModerationStage
1787
+ extend OpenAI::Internal::Type::Enum
1788
+
1789
+ TaggedSymbol = T.type_alias {
1790
+ T.all(
1791
+ Symbol,
1792
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
1793
+ )
1794
+ }
1795
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1796
+
1797
+ INPUT = T.let(
1798
+ :input,
1799
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1800
+ )
1801
+ OUTPUT = T.let(
1802
+ :output,
1803
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1804
+ )
1805
+ UNKNOWN = T.let(
1806
+ :unknown,
1807
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1808
+ )
1809
+
1810
+ sig {
1811
+ override.returns(
1812
+ T::Array[
1813
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
1814
+ ]
1815
+ )
1816
+ }
1817
+ def self.values
1818
+ end
1819
+ end
1820
+ end
1821
+ end
1822
+
1632
1823
  # The output format used for generation.
1633
1824
  module OutputFormat
1634
1825
  extend OpenAI::Internal::Type::Enum
@@ -238,7 +238,7 @@ module OpenAI
238
238
 
239
239
  # A stable identifier used to help detect users of your application that may be
240
240
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
241
- # identifies each user, with a maximum length of 64 characters. We recommend
241
+ # identifies each user, with a maximum length of 128 characters. We recommend
242
242
  # hashing their username or email address, in order to avoid sending us any
243
243
  # identifying information.
244
244
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -740,7 +740,7 @@ module OpenAI
740
740
 
741
741
  # A stable identifier used to help detect users of your application that may be
742
742
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
743
- # identifies each user, with a maximum length of 64 characters. We recommend
743
+ # identifies each user, with a maximum length of 128 characters. We recommend
744
744
  # hashing their username or email address, in order to avoid sending us any
745
745
  # identifying information.
746
746
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).