openai 0.103.0 → 0.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +23 -1
  4. data/lib/openai/client.rb +3 -386
  5. data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
  6. data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
  7. data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
  8. data/lib/openai/helpers/beta/agents/files.rb +41 -0
  9. data/lib/openai/helpers/client_runtime.rb +391 -0
  10. data/lib/openai/helpers/files.rb +47 -0
  11. data/lib/openai/helpers/live/websocket.rb +8 -57
  12. data/lib/openai/helpers/models/chat/parsed.rb +32 -0
  13. data/lib/openai/helpers/models/responses/parsed.rb +30 -0
  14. data/lib/openai/helpers/models/responses/response.rb +32 -0
  15. data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
  16. data/lib/openai/helpers/realtime/client_extension.rb +1 -2
  17. data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
  18. data/lib/openai/helpers/realtime/translation.rb +7 -50
  19. data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
  20. data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
  21. data/lib/openai/helpers/streaming/response_stream.rb +1 -16
  22. data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
  23. data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
  24. data/lib/openai/helpers/vector_stores/files.rb +198 -0
  25. data/lib/openai/helpers/websocket/client_request.rb +31 -6
  26. data/lib/openai/helpers/websocket/connection.rb +58 -0
  27. data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
  28. data/lib/openai/helpers/websocket/protocol.rb +2 -1
  29. data/lib/openai/helpers/websocket/resource.rb +54 -0
  30. data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
  31. data/lib/openai/helpers/websocket.rb +4 -0
  32. data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
  33. data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
  34. data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
  35. data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
  36. data/lib/openai/models/admin/organization/project_residency.rb +3 -0
  37. data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
  38. data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
  39. data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
  40. data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
  41. data/lib/openai/models/audio/speech_create_params.rb +6 -3
  42. data/lib/openai/models/audio/translation_create_response.rb +0 -1
  43. data/lib/openai/models/audio/voice.rb +17 -2
  44. data/lib/openai/models/audio/voice_create_params.rb +100 -3
  45. data/lib/openai/models/beta/agent_create_params.rb +4 -2
  46. data/lib/openai/models/beta/agent_list_params.rb +4 -4
  47. data/lib/openai/models/beta/agent_session.rb +37 -1
  48. data/lib/openai/models/beta/agent_update_params.rb +4 -2
  49. data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
  50. data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
  51. data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
  52. data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
  53. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
  54. data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
  55. data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
  56. data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
  57. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
  58. data/lib/openai/models/beta/beta_response.rb +23 -2
  59. data/lib/openai/models/beta/beta_response_error.rb +19 -1
  60. data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
  61. data/lib/openai/models/beta/beta_response_item.rb +107 -1
  62. data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
  63. data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
  64. data/lib/openai/models/beta/response_compact_params.rb +21 -0
  65. data/lib/openai/models/beta/response_create_params.rb +23 -2
  66. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  67. data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
  68. data/lib/openai/models/chat/chat_completion_message.rb +0 -8
  69. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
  70. data/lib/openai/models/chat/completion_create_params.rb +5 -12
  71. data/lib/openai/models/chat_model.rb +21 -0
  72. data/lib/openai/models/conversations/conversation_item.rb +107 -1
  73. data/lib/openai/models/decision.rb +17 -2
  74. data/lib/openai/models/decision_create_params.rb +29 -12
  75. data/lib/openai/models/decision_input_image.rb +4 -3
  76. data/lib/openai/models/decision_input_message.rb +4 -4
  77. data/lib/openai/models/decision_input_part.rb +3 -2
  78. data/lib/openai/models/image_edit_completed_event.rb +1 -2
  79. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  80. data/lib/openai/models/image_gen_completed_event.rb +1 -2
  81. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  82. data/lib/openai/models/images_response.rb +1 -2
  83. data/lib/openai/models/live/built_in_voice.rb +1 -0
  84. data/lib/openai/models/live/client_event.rb +14 -2
  85. data/lib/openai/models/live/decision_create_event.rb +26 -0
  86. data/lib/openai/models/live/decision_event.rb +117 -0
  87. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  88. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  89. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  90. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  91. data/lib/openai/models/live/decision_trigger.rb +244 -0
  92. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  93. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  94. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  95. data/lib/openai/models/live/fork_client_event.rb +14 -2
  96. data/lib/openai/models/live/fork_server_event.rb +17 -2
  97. data/lib/openai/models/live/media_session_config.rb +47 -11
  98. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  99. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  100. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  101. data/lib/openai/models/live/server_event.rb +17 -2
  102. data/lib/openai/models/live/session_accept_params.rb +47 -11
  103. data/lib/openai/models/live/session_config.rb +47 -11
  104. data/lib/openai/models/live/session_resource.rb +47 -11
  105. data/lib/openai/models/live/session_update_config.rb +38 -6
  106. data/lib/openai/models/live/session_update_event.rb +8 -8
  107. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  108. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  109. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  110. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  111. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  112. data/lib/openai/models/response_format_json_schema.rb +1 -1
  113. data/lib/openai/models/responses/function_tool.rb +8 -6
  114. data/lib/openai/models/responses/response.rb +2 -23
  115. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  116. data/lib/openai/models/responses/response_create_params.rb +3 -6
  117. data/lib/openai/models/responses/response_error.rb +19 -1
  118. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  119. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  120. data/lib/openai/models/responses/response_input_item.rb +107 -1
  121. data/lib/openai/models/responses/response_item.rb +107 -1
  122. data/lib/openai/models/responses/response_output_item.rb +107 -1
  123. data/lib/openai/models/responses/response_output_text.rb +0 -8
  124. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  125. data/lib/openai/models/safety/safety_alert.rb +12 -1
  126. data/lib/openai/models/video_create_error.rb +19 -1
  127. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
  128. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  129. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  130. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  131. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  132. data/lib/openai/resources/audio/speech.rb +2 -1
  133. data/lib/openai/resources/audio/voices.rb +10 -10
  134. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  135. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  136. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  137. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  138. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  139. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  140. data/lib/openai/resources/beta/agents.rb +6 -4
  141. data/lib/openai/resources/beta/responses.rb +2 -2
  142. data/lib/openai/resources/chat/completions.rb +11 -37
  143. data/lib/openai/resources/decisions.rb +9 -15
  144. data/lib/openai/resources/files.rb +0 -39
  145. data/lib/openai/resources/live/forks.rb +19 -0
  146. data/lib/openai/resources/live/sideband.rb +19 -0
  147. data/lib/openai/resources/live.rb +19 -0
  148. data/lib/openai/resources/realtime/translations.rb +19 -0
  149. data/lib/openai/resources/realtime.rb +19 -0
  150. data/lib/openai/resources/responses.rb +44 -95
  151. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  152. data/lib/openai/resources/vector_stores/files.rb +0 -188
  153. data/lib/openai/resources/webhooks.rb +13 -29
  154. data/lib/openai/version.rb +1 -1
  155. data/lib/openai.rb +31 -0
  156. data/rbi/openai/client.rbi +0 -103
  157. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  158. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  159. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  160. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  161. data/rbi/openai/helpers/files.rbi +25 -0
  162. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  163. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  164. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  165. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  166. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  167. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  168. data/rbi/openai/helpers/websocket.rbi +82 -0
  169. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  170. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  171. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  172. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  173. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  174. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  175. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  176. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  177. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  178. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  179. data/rbi/openai/models/audio/voice.rbi +21 -2
  180. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  181. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  182. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  183. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  184. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  185. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  186. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  187. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  188. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  189. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  190. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  191. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  192. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  193. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  194. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  195. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  196. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  197. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  198. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  199. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  200. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  201. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  202. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  203. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  204. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  205. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  206. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  207. data/rbi/openai/models/decision.rbi +14 -1
  208. data/rbi/openai/models/decision_create_params.rbi +23 -12
  209. data/rbi/openai/models/decision_input_image.rbi +4 -3
  210. data/rbi/openai/models/decision_input_message.rbi +4 -4
  211. data/rbi/openai/models/decision_input_part.rbi +2 -1
  212. data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
  213. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  214. data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
  215. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  216. data/rbi/openai/models/images_response.rbi +1 -0
  217. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  218. data/rbi/openai/models/live/client_event.rbi +4 -0
  219. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  220. data/rbi/openai/models/live/decision_event.rbi +185 -0
  221. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  222. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  223. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  224. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  225. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  226. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  227. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  228. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  229. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  230. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  231. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  232. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  233. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  234. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  235. data/rbi/openai/models/live/server_event.rbi +5 -0
  236. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  237. data/rbi/openai/models/live/session_config.rbi +100 -14
  238. data/rbi/openai/models/live/session_resource.rbi +81 -10
  239. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  240. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  241. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  242. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  243. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  244. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  245. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  246. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  247. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  248. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  249. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  250. data/rbi/openai/models/responses/response.rbi +2 -7
  251. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  252. data/rbi/openai/models/responses/response_error.rbi +24 -3
  253. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  254. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  255. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  256. data/rbi/openai/models/responses/response_item.rbi +189 -0
  257. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  258. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  259. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  260. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  261. data/rbi/openai/models/video_create_error.rbi +24 -3
  262. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
  263. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  264. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  265. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  266. data/rbi/openai/resources/audio/speech.rbi +2 -1
  267. data/rbi/openai/resources/audio/voices.rbi +13 -10
  268. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  269. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  270. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  271. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  272. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  273. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  274. data/rbi/openai/resources/beta/agents.rbi +6 -4
  275. data/rbi/openai/resources/beta/responses.rbi +2 -2
  276. data/rbi/openai/resources/chat/completions.rbi +26 -29
  277. data/rbi/openai/resources/decisions.rbi +9 -15
  278. data/rbi/openai/resources/files.rbi +0 -18
  279. data/rbi/openai/resources/live/forks.rbi +17 -0
  280. data/rbi/openai/resources/live/sideband.rbi +17 -0
  281. data/rbi/openai/resources/live.rbi +17 -0
  282. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  283. data/rbi/openai/resources/realtime.rbi +17 -0
  284. data/rbi/openai/resources/responses.rbi +41 -333
  285. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  286. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  287. data/rbi/openai/resources/webhooks.rbi +1 -1
  288. data/sig/openai/client.rbs +0 -50
  289. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  290. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  291. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  292. data/sig/openai/helpers/client_runtime.rbs +53 -0
  293. data/sig/openai/helpers/files.rbs +12 -0
  294. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  295. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  296. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  297. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  298. data/sig/openai/helpers/websocket.rbs +40 -0
  299. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  300. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  301. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  302. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  303. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  304. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  305. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  306. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  307. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  308. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  309. data/sig/openai/models/audio/voice.rbs +21 -3
  310. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  311. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  312. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  313. data/sig/openai/models/beta/agent_session.rbs +36 -2
  314. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  315. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  316. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  317. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  318. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  319. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  320. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  321. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  322. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  323. data/sig/openai/models/beta/beta_response.rbs +2 -2
  324. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  325. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  326. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  327. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  328. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  329. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  330. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  331. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  332. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  333. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  334. data/sig/openai/models/decision.rbs +13 -0
  335. data/sig/openai/models/decision_create_params.rbs +19 -8
  336. data/sig/openai/models/decision_input_image.rbs +2 -2
  337. data/sig/openai/models/decision_input_message.rbs +2 -2
  338. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  339. data/sig/openai/models/live/client_event.rbs +4 -0
  340. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  341. data/sig/openai/models/live/decision_event.rbs +102 -0
  342. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  343. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  344. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  345. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  346. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  347. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  348. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  349. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  350. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  351. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  352. data/sig/openai/models/live/media_session_config.rbs +58 -11
  353. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  354. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  355. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  356. data/sig/openai/models/live/server_event.rbs +5 -0
  357. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  358. data/sig/openai/models/live/session_config.rbs +58 -11
  359. data/sig/openai/models/live/session_resource.rbs +57 -10
  360. data/sig/openai/models/live/session_update_config.rbs +54 -3
  361. data/sig/openai/models/live/session_update_event.rbs +6 -6
  362. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  363. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  364. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  365. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  366. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  367. data/sig/openai/models/responses/response.rbs +2 -4
  368. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  369. data/sig/openai/models/responses/response_error.rbs +19 -3
  370. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  371. data/sig/openai/models/responses/response_item.rbs +110 -0
  372. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  373. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  374. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  375. data/sig/openai/models/video_create_error.rbs +19 -3
  376. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
  377. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  378. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  379. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  380. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  381. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  382. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  383. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  384. data/sig/openai/resources/beta/agents.rbs +1 -1
  385. data/sig/openai/resources/files.rbs +0 -7
  386. data/sig/openai/resources/live/forks.rbs +8 -0
  387. data/sig/openai/resources/live/sideband.rbs +8 -0
  388. data/sig/openai/resources/live.rbs +7 -0
  389. data/sig/openai/resources/realtime/translations.rbs +7 -0
  390. data/sig/openai/resources/realtime.rbs +7 -0
  391. data/sig/openai/resources/responses.rbs +7 -31
  392. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  393. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  394. data/sig/openai/resources/webhooks.rbs +1 -1
  395. metadata +89 -1
@@ -24,19 +24,25 @@ module OpenAI
24
24
  sig { returns(String) }
25
25
  attr_accessor :session_id
26
26
 
27
- # Return artifacts after this immutable artifact ID.
27
+ # Return resources after this resource ID in the selected order.
28
28
  sig { returns(T.nilable(String)) }
29
- attr_accessor :after
29
+ attr_reader :after
30
+
31
+ sig { params(after: String).void }
32
+ attr_writer :after
30
33
 
31
34
  # Restrict the listing to artifacts produced by this environment.
32
35
  sig { returns(T.nilable(String)) }
33
36
  attr_accessor :environment_id
34
37
 
35
- # The maximum number of artifacts to return, between 1 and 100.
38
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
36
39
  sig { returns(T.nilable(Integer)) }
37
- attr_accessor :limit
40
+ attr_reader :limit
41
+
42
+ sig { params(limit: Integer).void }
43
+ attr_writer :limit
38
44
 
39
- # Sort by creation time and ID. Defaults to descending.
45
+ # The order in which resources are returned. Defaults to `desc`.
40
46
  sig { returns(T.nilable(OpenAI::Beta::Agents::Sessions::ArtifactListParams::Order::OrSymbol)) }
41
47
  attr_reader :order
42
48
 
@@ -48,11 +54,11 @@ module OpenAI
48
54
 
49
55
  session_id: String,
50
56
 
51
- after: T.nilable(String),
57
+ after: String,
52
58
 
53
59
  environment_id: T.nilable(String),
54
60
 
55
- limit: T.nilable(Integer),
61
+ limit: Integer,
56
62
 
57
63
  order: OpenAI::Beta::Agents::Sessions::ArtifactListParams::Order::OrSymbol,
58
64
 
@@ -64,16 +70,16 @@ module OpenAI
64
70
 
65
71
  session_id:,
66
72
 
67
- # Return artifacts after this immutable artifact ID.
73
+ # Return resources after this resource ID in the selected order.
68
74
  after: nil,
69
75
 
70
76
  # Restrict the listing to artifacts produced by this environment.
71
77
  environment_id: nil,
72
78
 
73
- # The maximum number of artifacts to return, between 1 and 100.
79
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
74
80
  limit: nil,
75
81
 
76
- # Sort by creation time and ID. Defaults to descending.
82
+ # The order in which resources are returned. Defaults to `desc`.
77
83
  order: nil,
78
84
 
79
85
  request_options: {}
@@ -84,9 +90,9 @@ module OpenAI
84
90
  override.returns(
85
91
  {
86
92
  session_id: String,
87
- after: T.nilable(String),
93
+ after: String,
88
94
  environment_id: T.nilable(String),
89
- limit: T.nilable(Integer),
95
+ limit: Integer,
90
96
  order: OpenAI::Beta::Agents::Sessions::ArtifactListParams::Order::OrSymbol,
91
97
  request_options: OpenAI::RequestOptions
92
98
  }
@@ -95,7 +101,7 @@ module OpenAI
95
101
  def to_hash
96
102
  end
97
103
 
98
- # Sort by creation time and ID. Defaults to descending.
104
+ # The order in which resources are returned. Defaults to `desc`.
99
105
  module Order
100
106
  extend OpenAI::Internal::Type::Enum
101
107
 
@@ -26,13 +26,24 @@ module OpenAI
26
26
  sig { params(after: String).void }
27
27
  attr_writer :after
28
28
 
29
- # The maximum number of resources to return. Defaults to 20. Values are clamped
30
- # between 1 and 100.
29
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
31
30
  sig { returns(T.nilable(Integer)) }
32
- attr_accessor :limit
31
+ attr_reader :limit
33
32
 
34
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
35
- # `desc` for descending order. Defaults to `desc`.
33
+ sig { params(limit: Integer).void }
34
+ attr_writer :limit
35
+
36
+ # Exact string matches supplied as `metadata[key]=value`. All supplied pairs must
37
+ # match. Up to 16 pairs, with keys from 1 to 64 characters and values up to 512
38
+ # characters. Filtering is eventually consistent; metadata changes may take time
39
+ # to appear.
40
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
41
+ attr_reader :metadata
42
+
43
+ sig { params(metadata: T::Hash[Symbol, String]).void }
44
+ attr_writer :metadata
45
+
46
+ # The order in which resources are returned. Defaults to `desc`.
36
47
  sig { returns(T.nilable(OpenAI::Beta::Agents::VaultListParams::Order::OrSymbol)) }
37
48
  attr_reader :order
38
49
 
@@ -69,7 +80,9 @@ module OpenAI
69
80
 
70
81
  after: String,
71
82
 
72
- limit: T.nilable(Integer),
83
+ limit: Integer,
84
+
85
+ metadata: T::Hash[Symbol, String],
73
86
 
74
87
  order: OpenAI::Beta::Agents::VaultListParams::Order::OrSymbol,
75
88
 
@@ -87,12 +100,16 @@ module OpenAI
87
100
  # Return resources after this resource ID in the selected order.
88
101
  after: nil,
89
102
 
90
- # The maximum number of resources to return. Defaults to 20. Values are clamped
91
- # between 1 and 100.
103
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
92
104
  limit: nil,
93
105
 
94
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
95
- # `desc` for descending order. Defaults to `desc`.
106
+ # Exact string matches supplied as `metadata[key]=value`. All supplied pairs must
107
+ # match. Up to 16 pairs, with keys from 1 to 64 characters and values up to 512
108
+ # characters. Filtering is eventually consistent; metadata changes may take time
109
+ # to appear.
110
+ metadata: nil,
111
+
112
+ # The order in which resources are returned. Defaults to `desc`.
96
113
  order: nil,
97
114
 
98
115
  # Filter by one status or a list, such as `status=active` or
@@ -107,7 +124,8 @@ module OpenAI
107
124
  override.returns(
108
125
  {
109
126
  after: String,
110
- limit: T.nilable(Integer),
127
+ limit: Integer,
128
+ metadata: T::Hash[Symbol, String],
111
129
  order: OpenAI::Beta::Agents::VaultListParams::Order::OrSymbol,
112
130
  status: T.any(
113
131
  OpenAI::Beta::Agents::VaultStatus::OrSymbol,
@@ -120,8 +138,7 @@ module OpenAI
120
138
  def to_hash
121
139
  end
122
140
 
123
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
124
- # `desc` for descending order. Defaults to `desc`.
141
+ # The order in which resources are returned. Defaults to `desc`.
125
142
  module Order
126
143
  extend OpenAI::Internal::Type::Enum
127
144
 
@@ -23,9 +23,7 @@ module OpenAI
23
23
  end
24
24
 
25
25
  VaultStatusArray = T.let(
26
- OpenAI::Internal::Type::ArrayOf[
27
- enum: -> { OpenAI::Models::Beta::Agents::VaultStatus }
28
- ],
26
+ OpenAI::Internal::Type::ArrayOf[enum: -> { OpenAI::Models::Beta::Agents::VaultStatus }],
29
27
  OpenAI::Internal::Type::Converter
30
28
  )
31
29
 
@@ -0,0 +1,87 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ module Agents
9
+
10
+ class VaultUpdateParams < OpenAI::Internal::Type::BaseModel
11
+
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ OrHash = T.type_alias do
16
+ T.any(
17
+ OpenAI::Beta::Agents::VaultUpdateParams,
18
+ OpenAI::Internal::AnyHash
19
+ )
20
+ end
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :vault_id
24
+
25
+ # Replaces all metadata. Omit to leave unchanged, or pass {} to clear it. Up to 16
26
+ # string key-value pairs, with keys up to 64 and values up to 512 characters.
27
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
28
+ attr_reader :metadata
29
+
30
+ sig { params(metadata: T::Hash[Symbol, String]).void }
31
+ attr_writer :metadata
32
+
33
+ # A replacement name. Omit to leave unchanged, or pass null to clear it. The name
34
+ # is trimmed before storage. It must contain 1 to 256 UTF-8 bytes after trimming.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_accessor :name
37
+
38
+ sig do
39
+ params(
40
+
41
+ vault_id: String,
42
+
43
+ metadata: T::Hash[Symbol, String],
44
+
45
+ name: T.nilable(String),
46
+
47
+ request_options: OpenAI::RequestOptions::OrHash
48
+ )
49
+ .returns(T.attached_class)
50
+ end
51
+ def self.new(
52
+
53
+ vault_id:,
54
+
55
+ # Replaces all metadata. Omit to leave unchanged, or pass {} to clear it. Up to 16
56
+ # string key-value pairs, with keys up to 64 and values up to 512 characters.
57
+ metadata: nil,
58
+
59
+ # A replacement name. Omit to leave unchanged, or pass null to clear it. The name
60
+ # is trimmed before storage. It must contain 1 to 256 UTF-8 bytes after trimming.
61
+ name: nil,
62
+
63
+ request_options: {}
64
+ )
65
+ end
66
+
67
+ sig do
68
+ override.returns(
69
+ {
70
+ vault_id: String,
71
+ metadata: T::Hash[Symbol, String],
72
+ name: T.nilable(String),
73
+ request_options: OpenAI::RequestOptions
74
+ }
75
+ )
76
+ end
77
+ def to_hash
78
+ end
79
+
80
+ end
81
+
82
+ end
83
+
84
+ end
85
+
86
+ end
87
+ end
@@ -31,13 +31,24 @@ module OpenAI
31
31
  sig { params(after: String).void }
32
32
  attr_writer :after
33
33
 
34
- # The maximum number of resources to return. Defaults to 20. Values are clamped
35
- # between 1 and 100.
34
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
36
35
  sig { returns(T.nilable(Integer)) }
37
- attr_accessor :limit
36
+ attr_reader :limit
38
37
 
39
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
40
- # `desc` for descending order. Defaults to `desc`.
38
+ sig { params(limit: Integer).void }
39
+ attr_writer :limit
40
+
41
+ # Exact string matches supplied as `metadata[key]=value`. All supplied pairs must
42
+ # match. Up to 16 pairs, with keys from 1 to 64 characters and values up to 512
43
+ # characters. Filtering is eventually consistent; metadata changes may take time
44
+ # to appear.
45
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
46
+ attr_reader :metadata
47
+
48
+ sig { params(metadata: T::Hash[Symbol, String]).void }
49
+ attr_writer :metadata
50
+
51
+ # The order in which resources are returned. Defaults to `desc`.
41
52
  sig { returns(T.nilable(OpenAI::Beta::Agents::Vaults::CredentialListParams::Order::OrSymbol)) }
42
53
  attr_reader :order
43
54
 
@@ -76,7 +87,9 @@ module OpenAI
76
87
 
77
88
  after: String,
78
89
 
79
- limit: T.nilable(Integer),
90
+ limit: Integer,
91
+
92
+ metadata: T::Hash[Symbol, String],
80
93
 
81
94
  order: OpenAI::Beta::Agents::Vaults::CredentialListParams::Order::OrSymbol,
82
95
 
@@ -96,12 +109,16 @@ module OpenAI
96
109
  # Return resources after this resource ID in the selected order.
97
110
  after: nil,
98
111
 
99
- # The maximum number of resources to return. Defaults to 20. Values are clamped
100
- # between 1 and 100.
112
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
101
113
  limit: nil,
102
114
 
103
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
104
- # `desc` for descending order. Defaults to `desc`.
115
+ # Exact string matches supplied as `metadata[key]=value`. All supplied pairs must
116
+ # match. Up to 16 pairs, with keys from 1 to 64 characters and values up to 512
117
+ # characters. Filtering is eventually consistent; metadata changes may take time
118
+ # to appear.
119
+ metadata: nil,
120
+
121
+ # The order in which resources are returned. Defaults to `desc`.
105
122
  order: nil,
106
123
 
107
124
  # Filter by one status or a list, such as `status=active` or
@@ -117,7 +134,8 @@ module OpenAI
117
134
  {
118
135
  vault_id: String,
119
136
  after: String,
120
- limit: T.nilable(Integer),
137
+ limit: Integer,
138
+ metadata: T::Hash[Symbol, String],
121
139
  order: OpenAI::Beta::Agents::Vaults::CredentialListParams::Order::OrSymbol,
122
140
  status: T.any(
123
141
  OpenAI::Beta::Agents::VaultStatus::OrSymbol,
@@ -130,8 +148,7 @@ module OpenAI
130
148
  def to_hash
131
149
  end
132
150
 
133
- # Sort order by the `created_at` timestamp. Use `asc` for ascending order or
134
- # `desc` for descending order. Defaults to `desc`.
151
+ # The order in which resources are returned. Defaults to `desc`.
135
152
  module Order
136
153
  extend OpenAI::Internal::Type::Enum
137
154
 
@@ -246,7 +246,7 @@ module OpenAI
246
246
 
247
247
  # A stable identifier used to help detect users of your application that may be
248
248
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
249
- # identifies each user, with a maximum length of 64 characters. We recommend
249
+ # identifies each user, with a maximum length of 128 characters. We recommend
250
250
  # hashing their username or email address, in order to avoid sending us any
251
251
  # identifying information.
252
252
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -645,7 +645,7 @@ module OpenAI
645
645
 
646
646
  # A stable identifier used to help detect users of your application that may be
647
647
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
648
- # identifies each user, with a maximum length of 64 characters. We recommend
648
+ # identifies each user, with a maximum length of 128 characters. We recommend
649
649
  # hashing their username or email address, in order to avoid sending us any
650
650
  # identifying information.
651
651
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -30,6 +30,14 @@ module OpenAI
30
30
  sig { params(misalignment: OpenAI::Beta::BetaResponseError::Misalignment::OrHash).void }
31
31
  attr_writer :misalignment
32
32
 
33
+ # The request parameter associated with the error, or null if none was recorded.
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :param
36
+
37
+ # The original error type, or null if it was not recorded.
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :type
40
+
33
41
  # An error object returned when the model fails to generate a Response.
34
42
  sig do
35
43
  params(
@@ -38,7 +46,11 @@ module OpenAI
38
46
 
39
47
  message: String,
40
48
 
41
- misalignment: OpenAI::Beta::BetaResponseError::Misalignment::OrHash
49
+ misalignment: OpenAI::Beta::BetaResponseError::Misalignment::OrHash,
50
+
51
+ param: T.nilable(String),
52
+
53
+ type: T.nilable(String)
42
54
  )
43
55
  .returns(T.attached_class)
44
56
  end
@@ -50,7 +62,14 @@ module OpenAI
50
62
  # A human-readable description of the error.
51
63
  message:,
52
64
 
53
- misalignment: nil
65
+ misalignment: nil,
66
+
67
+ # The request parameter associated with the error, or null if none was recorded.
68
+ param: nil,
69
+
70
+ # The original error type, or null if it was not recorded.
71
+
72
+ type: nil
54
73
  )
55
74
  end
56
75
 
@@ -59,7 +78,9 @@ module OpenAI
59
78
  {
60
79
  code: OpenAI::Beta::BetaResponseError::Code::TaggedSymbol,
61
80
  message: String,
62
- misalignment: OpenAI::Beta::BetaResponseError::Misalignment
81
+ misalignment: OpenAI::Beta::BetaResponseError::Misalignment,
82
+ param: T.nilable(String),
83
+ type: T.nilable(String)
63
84
  }
64
85
  )
65
86
  end
@@ -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