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
@@ -772,6 +772,7 @@ module OpenAI
772
772
  ?action: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::action?,
773
773
  ?agent: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent?,
774
774
  ?background: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::background?,
775
+ ?error: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error,
775
776
  ?output_format: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::output_format?,
776
777
  ?quality: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::quality?,
777
778
  ?revised_prompt: String?,
@@ -800,6 +801,14 @@ module OpenAI
800
801
  # The background setting used for generation.
801
802
  attr_accessor background: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::background?
802
803
 
804
+ # Details of a moderation failure, when available.
805
+ attr_reader error: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error?
806
+
807
+ # Details of a moderation failure, when available.
808
+ def error=: (
809
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error
810
+ ) -> OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error
811
+
803
812
  # The output format used for generation.
804
813
  attr_accessor output_format: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::output_format?
805
814
 
@@ -825,6 +834,8 @@ module OpenAI
825
834
  # The agent that produced this item.
826
835
  # @param background
827
836
  # The background setting used for generation.
837
+ # @param error
838
+ # Details of a moderation failure, when available.
828
839
  # @param output_format
829
840
  # The output format used for generation.
830
841
  # @param quality
@@ -843,6 +854,7 @@ module OpenAI
843
854
  ?action: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::action?,
844
855
  ?agent: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent?,
845
856
  ?background: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::background?,
857
+ ?error: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error,
846
858
  ?output_format: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::output_format?,
847
859
  ?quality: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::quality?,
848
860
  ?revised_prompt: String?,
@@ -858,6 +870,7 @@ module OpenAI
858
870
  ?action: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::action?,
859
871
  ?agent: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Agent?,
860
872
  ?background: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::background?,
873
+ ?error: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error,
861
874
  ?output_format: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::output_format?,
862
875
  ?quality: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::quality?,
863
876
  ?revised_prompt: String?,
@@ -914,6 +927,103 @@ module OpenAI
914
927
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::background]
915
928
  end
916
929
 
930
+ type error =
931
+ {
932
+ code: String?,
933
+ message: String,
934
+ param: String?,
935
+ type: String,
936
+ ?moderation_details: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails
937
+ }
938
+
939
+ class Error < OpenAI::Internal::Type::BaseModel
940
+ # The error code.
941
+ attr_accessor code: String?
942
+
943
+ # A description of the error.
944
+ attr_accessor message: String
945
+
946
+ # The related request parameter.
947
+ attr_accessor param: String?
948
+
949
+ # The error type.
950
+ attr_accessor type: String
951
+
952
+ # Public details for a `moderation_blocked` error, when available.
953
+ attr_reader moderation_details: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails?
954
+
955
+ # Public details for a `moderation_blocked` error, when available.
956
+ def moderation_details=: (
957
+ OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails
958
+ ) -> OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails
959
+
960
+ # @param code
961
+ # The error code.
962
+ # @param message
963
+ # A description of the error.
964
+ # @param param
965
+ # The related request parameter.
966
+ # @param type
967
+ # The error type.
968
+ # @param moderation_details
969
+ # Public details for a `moderation_blocked` error, when available.
970
+ def initialize: (
971
+ code: String?,
972
+ message: String,
973
+ param: String?,
974
+ type: String,
975
+ ?moderation_details: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails
976
+ ) -> void
977
+
978
+ def to_hash: -> {
979
+ code: String?,
980
+ message: String,
981
+ param: String?,
982
+ type: String,
983
+ ?moderation_details: OpenAI::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails
984
+ }
985
+
986
+ type moderation_details =
987
+ {
988
+ categories: ::Array[String],
989
+ moderation_stage: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
990
+ }
991
+
992
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
993
+ # Public moderation categories. New category values may be added over time.
994
+ attr_accessor categories: ::Array[String]
995
+
996
+ # The stage where moderation blocked the image generation call.
997
+ attr_accessor moderation_stage: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
998
+
999
+ # @param categories
1000
+ # Public moderation categories. New category values may be added over time.
1001
+ # @param moderation_stage
1002
+ # The stage where moderation blocked the image generation call.
1003
+ def initialize: (
1004
+ categories: ::Array[String],
1005
+ moderation_stage: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
1006
+ ) -> void
1007
+
1008
+ def to_hash: -> {
1009
+ categories: ::Array[String],
1010
+ moderation_stage: OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
1011
+ }
1012
+
1013
+ type moderation_stage = :input | :output | :unknown
1014
+
1015
+ module ModerationStage
1016
+ extend OpenAI::Internal::Type::Enum
1017
+
1018
+ INPUT: :input
1019
+ OUTPUT: :output
1020
+ UNKNOWN: :unknown
1021
+
1022
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage]
1023
+ end
1024
+ end
1025
+ end
1026
+
917
1027
  type output_format = :png | :webp | :jpeg
918
1028
 
919
1029
  module OutputFormat
@@ -770,6 +770,7 @@ module OpenAI
770
770
  ?action: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::action?,
771
771
  ?agent: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Agent?,
772
772
  ?background: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::background?,
773
+ ?error: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error,
773
774
  ?output_format: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::output_format?,
774
775
  ?quality: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::quality?,
775
776
  ?revised_prompt: String?,
@@ -798,6 +799,14 @@ module OpenAI
798
799
  # The background setting used for generation.
799
800
  attr_accessor background: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::background?
800
801
 
802
+ # Details of a moderation failure, when available.
803
+ attr_reader error: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error?
804
+
805
+ # Details of a moderation failure, when available.
806
+ def error=: (
807
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error
808
+ ) -> OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error
809
+
801
810
  # The output format used for generation.
802
811
  attr_accessor output_format: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::output_format?
803
812
 
@@ -823,6 +832,8 @@ module OpenAI
823
832
  # The agent that produced this item.
824
833
  # @param background
825
834
  # The background setting used for generation.
835
+ # @param error
836
+ # Details of a moderation failure, when available.
826
837
  # @param output_format
827
838
  # The output format used for generation.
828
839
  # @param quality
@@ -841,6 +852,7 @@ module OpenAI
841
852
  ?action: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::action?,
842
853
  ?agent: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Agent?,
843
854
  ?background: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::background?,
855
+ ?error: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error,
844
856
  ?output_format: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::output_format?,
845
857
  ?quality: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::quality?,
846
858
  ?revised_prompt: String?,
@@ -856,6 +868,7 @@ module OpenAI
856
868
  ?action: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::action?,
857
869
  ?agent: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Agent?,
858
870
  ?background: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::background?,
871
+ ?error: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error,
859
872
  ?output_format: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::output_format?,
860
873
  ?quality: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::quality?,
861
874
  ?revised_prompt: String?,
@@ -912,6 +925,103 @@ module OpenAI
912
925
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::background]
913
926
  end
914
927
 
928
+ type error =
929
+ {
930
+ code: String?,
931
+ message: String,
932
+ param: String?,
933
+ type: String,
934
+ ?moderation_details: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
935
+ }
936
+
937
+ class Error < OpenAI::Internal::Type::BaseModel
938
+ # The error code.
939
+ attr_accessor code: String?
940
+
941
+ # A description of the error.
942
+ attr_accessor message: String
943
+
944
+ # The related request parameter.
945
+ attr_accessor param: String?
946
+
947
+ # The error type.
948
+ attr_accessor type: String
949
+
950
+ # Public details for a `moderation_blocked` error, when available.
951
+ attr_reader moderation_details: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails?
952
+
953
+ # Public details for a `moderation_blocked` error, when available.
954
+ def moderation_details=: (
955
+ OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
956
+ ) -> OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
957
+
958
+ # @param code
959
+ # The error code.
960
+ # @param message
961
+ # A description of the error.
962
+ # @param param
963
+ # The related request parameter.
964
+ # @param type
965
+ # The error type.
966
+ # @param moderation_details
967
+ # Public details for a `moderation_blocked` error, when available.
968
+ def initialize: (
969
+ code: String?,
970
+ message: String,
971
+ param: String?,
972
+ type: String,
973
+ ?moderation_details: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
974
+ ) -> void
975
+
976
+ def to_hash: -> {
977
+ code: String?,
978
+ message: String,
979
+ param: String?,
980
+ type: String,
981
+ ?moderation_details: OpenAI::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
982
+ }
983
+
984
+ type moderation_details =
985
+ {
986
+ categories: ::Array[String],
987
+ moderation_stage: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
988
+ }
989
+
990
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
991
+ # Public moderation categories. New category values may be added over time.
992
+ attr_accessor categories: ::Array[String]
993
+
994
+ # The stage where moderation blocked the image generation call.
995
+ attr_accessor moderation_stage: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
996
+
997
+ # @param categories
998
+ # Public moderation categories. New category values may be added over time.
999
+ # @param moderation_stage
1000
+ # The stage where moderation blocked the image generation call.
1001
+ def initialize: (
1002
+ categories: ::Array[String],
1003
+ moderation_stage: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
1004
+ ) -> void
1005
+
1006
+ def to_hash: -> {
1007
+ categories: ::Array[String],
1008
+ moderation_stage: OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
1009
+ }
1010
+
1011
+ type moderation_stage = :input | :output | :unknown
1012
+
1013
+ module ModerationStage
1014
+ extend OpenAI::Internal::Type::Enum
1015
+
1016
+ INPUT: :input
1017
+ OUTPUT: :output
1018
+ UNKNOWN: :unknown
1019
+
1020
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage]
1021
+ end
1022
+ end
1023
+ end
1024
+
915
1025
  type output_format = :png | :webp | :jpeg
916
1026
 
917
1027
  module OutputFormat
@@ -234,7 +234,7 @@ module OpenAI
234
234
 
235
235
  # A stable identifier used to help detect users of your application that may be
236
236
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
237
- # identifies each user, with a maximum length of 64 characters. We recommend
237
+ # identifies each user, with a maximum length of 128 characters. We recommend
238
238
  # hashing their username or email address, in order to avoid sending us any
239
239
  # identifying information.
240
240
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -535,7 +535,7 @@ module OpenAI
535
535
  # @param safety_identifier
536
536
  # A stable identifier used to help detect users of your application that may be
537
537
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
538
- # identifies each user, with a maximum length of 64 characters. We recommend
538
+ # identifies each user, with a maximum length of 128 characters. We recommend
539
539
  # hashing their username or email address, in order to avoid sending us any
540
540
  # identifying information.
541
541
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -223,7 +223,7 @@ module OpenAI
223
223
 
224
224
  # A stable identifier used to help detect users of your application that may be
225
225
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
226
- # identifies each user, with a maximum length of 64 characters. We recommend
226
+ # identifies each user, with a maximum length of 128 characters. We recommend
227
227
  # hashing their username or email address, in order to avoid sending us any
228
228
  # identifying information.
229
229
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -508,7 +508,7 @@ module OpenAI
508
508
  # @param safety_identifier
509
509
  # A stable identifier used to help detect users of your application that may be
510
510
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
511
- # identifies each user, with a maximum length of 64 characters. We recommend
511
+ # identifies each user, with a maximum length of 128 characters. We recommend
512
512
  # hashing their username or email address, in order to avoid sending us any
513
513
  # identifying information.
514
514
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -32,6 +32,7 @@ module OpenAI
32
32
  | :project_spend_limit_exceeded
33
33
  | :organization_spend_limit_exceeded
34
34
  | :organization_usage_limit_exceeded
35
+ | :billing_not_active
35
36
  | :credit_balance_exhausted
36
37
  | :rate_limit_exceeded
37
38
  | :flex_unavailable
@@ -70,6 +71,9 @@ module OpenAI
70
71
  # The organization has reached its OpenAI-assigned usage limit.
71
72
  ORGANIZATION_USAGE_LIMIT_EXCEEDED: :organization_usage_limit_exceeded
72
73
 
74
+ # Billing is not active for the account.
75
+ BILLING_NOT_ACTIVE: :billing_not_active
76
+
73
77
  # The organization has no API credits remaining.
74
78
  CREDIT_BALANCE_EXHAUSTED: :credit_balance_exhausted
75
79
 
@@ -18,7 +18,7 @@ module OpenAI
18
18
  # `ash`, `ballad`, `coral`, `echo`, `fable`, `nova`, `onyx`, `sage`, `shimmer`,
19
19
  # `marin`, and `cedar`. You may also provide a custom voice object with an `id`,
20
20
  # for example `{ "id": "voice_1234" }`. Custom voices must be created from audio
21
- # samples.
21
+ # samples. Voices created from text prompts are supported only in Live.
22
22
  attr_accessor voice: OpenAI::Models::Chat::ChatCompletionAudioParam::voice
23
23
 
24
24
  # @param format_
@@ -29,7 +29,7 @@ module OpenAI
29
29
  # `ash`, `ballad`, `coral`, `echo`, `fable`, `nova`, `onyx`, `sage`, `shimmer`,
30
30
  # `marin`, and `cedar`. You may also provide a custom voice object with an `id`,
31
31
  # for example `{ "id": "voice_1234" }`. Custom voices must be created from audio
32
- # samples.
32
+ # samples. Voices created from text prompts are supported only in Live.
33
33
  def initialize: (
34
34
  format_: OpenAI::Models::Chat::ChatCompletionAudioParam::format_,
35
35
  voice: OpenAI::Models::Chat::ChatCompletionAudioParam::voice
@@ -280,7 +280,7 @@ module OpenAI
280
280
 
281
281
  # A stable identifier used to help detect users of your application that may be
282
282
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
283
- # identifies each user, with a maximum length of 64 characters. We recommend
283
+ # identifies each user, with a maximum length of 128 characters. We recommend
284
284
  # hashing their username or email address, in order to avoid sending us any
285
285
  # identifying information.
286
286
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -579,7 +579,7 @@ module OpenAI
579
579
  # @param safety_identifier
580
580
  # A stable identifier used to help detect users of your application that may be
581
581
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
582
- # identifies each user, with a maximum length of 64 characters. We recommend
582
+ # identifies each user, with a maximum length of 128 characters. We recommend
583
583
  # hashing their username or email address, in order to avoid sending us any
584
584
  # identifying information.
585
585
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -45,6 +45,7 @@ module OpenAI
45
45
  ?type: :image_generation_call,
46
46
  ?action: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::action?,
47
47
  ?background: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::background?,
48
+ ?error: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error,
48
49
  ?output_format: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::output_format?,
49
50
  ?quality: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::quality?,
50
51
  ?revised_prompt: String?,
@@ -70,6 +71,14 @@ module OpenAI
70
71
  # The background setting used for generation.
71
72
  attr_accessor background: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::background?
72
73
 
74
+ # Details of a moderation failure, when available.
75
+ attr_reader error: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error?
76
+
77
+ # Details of a moderation failure, when available.
78
+ def error=: (
79
+ OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error
80
+ ) -> OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error
81
+
73
82
  # The output format used for generation.
74
83
  attr_accessor output_format: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::output_format?
75
84
 
@@ -93,6 +102,8 @@ module OpenAI
93
102
  # The action used for image generation.
94
103
  # @param background
95
104
  # The background setting used for generation.
105
+ # @param error
106
+ # Details of a moderation failure, when available.
96
107
  # @param output_format
97
108
  # The output format used for generation.
98
109
  # @param quality
@@ -110,6 +121,7 @@ module OpenAI
110
121
  status: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::status,
111
122
  ?action: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::action?,
112
123
  ?background: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::background?,
124
+ ?error: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error,
113
125
  ?output_format: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::output_format?,
114
126
  ?quality: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::quality?,
115
127
  ?revised_prompt: String?,
@@ -124,6 +136,7 @@ module OpenAI
124
136
  ?type: :image_generation_call,
125
137
  ?action: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::action?,
126
138
  ?background: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::background?,
139
+ ?error: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error,
127
140
  ?output_format: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::output_format?,
128
141
  ?quality: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::quality?,
129
142
  ?revised_prompt: String?,
@@ -167,6 +180,103 @@ module OpenAI
167
180
  def self?.values: -> ::Array[OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::background]
168
181
  end
169
182
 
183
+ type error =
184
+ {
185
+ code: String?,
186
+ message: String,
187
+ param: String?,
188
+ type: String,
189
+ ?moderation_details: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails
190
+ }
191
+
192
+ class Error < OpenAI::Internal::Type::BaseModel
193
+ # The error code.
194
+ attr_accessor code: String?
195
+
196
+ # A description of the error.
197
+ attr_accessor message: String
198
+
199
+ # The related request parameter.
200
+ attr_accessor param: String?
201
+
202
+ # The error type.
203
+ attr_accessor type: String
204
+
205
+ # Public details for a `moderation_blocked` error, when available.
206
+ attr_reader moderation_details: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails?
207
+
208
+ # Public details for a `moderation_blocked` error, when available.
209
+ def moderation_details=: (
210
+ OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails
211
+ ) -> OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails
212
+
213
+ # @param code
214
+ # The error code.
215
+ # @param message
216
+ # A description of the error.
217
+ # @param param
218
+ # The related request parameter.
219
+ # @param type
220
+ # The error type.
221
+ # @param moderation_details
222
+ # Public details for a `moderation_blocked` error, when available.
223
+ def initialize: (
224
+ code: String?,
225
+ message: String,
226
+ param: String?,
227
+ type: String,
228
+ ?moderation_details: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails
229
+ ) -> void
230
+
231
+ def to_hash: -> {
232
+ code: String?,
233
+ message: String,
234
+ param: String?,
235
+ type: String,
236
+ ?moderation_details: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails
237
+ }
238
+
239
+ type moderation_details =
240
+ {
241
+ categories: ::Array[String],
242
+ moderation_stage: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
243
+ }
244
+
245
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
246
+ # Public moderation categories. New category values may be added over time.
247
+ attr_accessor categories: ::Array[String]
248
+
249
+ # The stage where moderation blocked the image generation call.
250
+ attr_accessor moderation_stage: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
251
+
252
+ # @param categories
253
+ # Public moderation categories. New category values may be added over time.
254
+ # @param moderation_stage
255
+ # The stage where moderation blocked the image generation call.
256
+ def initialize: (
257
+ categories: ::Array[String],
258
+ moderation_stage: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
259
+ ) -> void
260
+
261
+ def to_hash: -> {
262
+ categories: ::Array[String],
263
+ moderation_stage: OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
264
+ }
265
+
266
+ type moderation_stage = :input | :output | :unknown
267
+
268
+ module ModerationStage
269
+ extend OpenAI::Internal::Type::Enum
270
+
271
+ INPUT: :input
272
+ OUTPUT: :output
273
+ UNKNOWN: :unknown
274
+
275
+ def self?.values: -> ::Array[OpenAI::Models::Conversations::ConversationItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage]
276
+ end
277
+ end
278
+ end
279
+
170
280
  type output_format = :png | :webp | :jpeg
171
281
 
172
282
  module OutputFormat
@@ -8,12 +8,25 @@ module OpenAI
8
8
  }
9
9
 
10
10
  class Decision < OpenAI::Internal::Type::BaseModel
11
+ # Answers in question order. Any question can return a refusal instead of an
12
+ # answer; other questions can still receive answers. A refusal has
13
+ # `type: "refusal"` and the question's `name`, or `null` if it was unnamed.
11
14
  attr_accessor answers: ::Array[OpenAI::Models::Decision::answer]
12
15
 
16
+ # The model used.
13
17
  attr_accessor model: String
14
18
 
19
+ # Token usage for the request.
15
20
  attr_accessor usage: OpenAI::Decision::Usage
16
21
 
22
+ # @param answers
23
+ # Answers in question order. Any question can return a refusal instead of an
24
+ # answer; other questions can still receive answers. A refusal has
25
+ # `type: "refusal"` and the question's `name`, or `null` if it was unnamed.
26
+ # @param model
27
+ # The model used.
28
+ # @param usage
29
+ # Token usage for the request.
17
30
  def initialize: (
18
31
  answers: ::Array[OpenAI::Models::Decision::answer],
19
32
  model: String,
@@ -13,14 +13,17 @@ module OpenAI
13
13
  extend OpenAI::Internal::Type::RequestParameters::Converter
14
14
  include OpenAI::Internal::Type::RequestParameters
15
15
 
16
- # Shared evidence, as a string or an array of user messages containing text and
17
- # inline images. Non-user roles, function calls, function-call outputs, files,
18
- # audio, and item references are not supported. At most 128 image parts are
19
- # allowed across all messages in one request.
16
+ # The text or images to evaluate for every question. Provide a text string or user
17
+ # messages containing text and images. Images can be base64 data URLs or publicly
18
+ # accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
19
+ # one request. Files, audio, tools, and item references are not supported.
20
20
  attr_accessor input: OpenAI::Models::DecisionCreateParams::input
21
21
 
22
+ # The model to use. Only `gpt-6-luna` is supported.
22
23
  attr_accessor model: String
23
24
 
25
+ # Ask 1–200 questions about the input. Each question can be a predicate, choice,
26
+ # or score. Answers come back in the same order.
24
27
  attr_accessor questions: ::Array[OpenAI::Models::DecisionCreateParams::question]
25
28
 
26
29
  # Opaque caller-provided end-user identifier, scoped by the verified org. Match
@@ -28,10 +31,15 @@ module OpenAI
28
31
  attr_accessor safety_identifier: String?
29
32
 
30
33
  # @param input
31
- # Shared evidence, as a string or an array of user messages containing text and
32
- # inline images. Non-user roles, function calls, function-call outputs, files,
33
- # audio, and item references are not supported. At most 128 image parts are
34
- # allowed across all messages in one request.
34
+ # The text or images to evaluate for every question. Provide a text string or user
35
+ # messages containing text and images. Images can be base64 data URLs or publicly
36
+ # accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
37
+ # one request. Files, audio, tools, and item references are not supported.
38
+ # @param model
39
+ # The model to use. Only `gpt-6-luna` is supported.
40
+ # @param questions
41
+ # Ask 1–200 questions about the input. Each question can be a predicate, choice,
42
+ # or score. Answers come back in the same order.
35
43
  # @param safety_identifier
36
44
  # Opaque caller-provided end-user identifier, scoped by the verified org. Match
37
45
  # Responses' limit; this is never the authenticated user identity.
@@ -106,6 +114,7 @@ module OpenAI
106
114
  }
107
115
 
108
116
  class Choice < OpenAI::Internal::Type::BaseModel
117
+ # Provide between 2 and 255 choices. Each choice must be unique.
109
118
  attr_accessor choices: ::Array[OpenAI::DecisionCreateParams::Question::Choice::Choice]
110
119
 
111
120
  attr_accessor instructions: String
@@ -117,6 +126,8 @@ module OpenAI
117
126
 
118
127
  def name=: (String) -> String
119
128
 
129
+ # @param choices
130
+ # Provide between 2 and 255 choices. Each choice must be unique.
120
131
  # @param type
121
132
  # The type of the object. Always `choice`.
122
133
  def initialize: (
@@ -8,7 +8,7 @@ module OpenAI
8
8
  }
9
9
 
10
10
  class DecisionInputImage < OpenAI::Internal::Type::BaseModel
11
- # A base64-encoded image in a data URL.
11
+ # A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
12
12
  attr_accessor image_url: String
13
13
 
14
14
  attr_accessor type: :input_image
@@ -18,7 +18,7 @@ module OpenAI
18
18
  attr_accessor detail: OpenAI::Models::DecisionInputImage::detail?
19
19
 
20
20
  # @param image_url
21
- # A base64-encoded image in a data URL.
21
+ # A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
22
22
  # @param detail
23
23
  # The image detail level, using the selected model's image profile. Defaults to
24
24
  # auto.