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
@@ -228,6 +228,7 @@ module OpenAI
228
228
  ?type: :image_generation_call,
229
229
  ?action: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::action?,
230
230
  ?background: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background?,
231
+ ?error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error,
231
232
  ?output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?,
232
233
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
233
234
  ?revised_prompt: String?,
@@ -253,6 +254,14 @@ module OpenAI
253
254
  # The background setting used for generation.
254
255
  attr_accessor background: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background?
255
256
 
257
+ # Details of a moderation failure, when available.
258
+ attr_reader error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error?
259
+
260
+ # Details of a moderation failure, when available.
261
+ def error=: (
262
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error
263
+ ) -> OpenAI::Responses::ResponseItem::ImageGenerationCall::Error
264
+
256
265
  # The output format used for generation.
257
266
  attr_accessor output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?
258
267
 
@@ -276,6 +285,8 @@ module OpenAI
276
285
  # The action used for image generation.
277
286
  # @param background
278
287
  # The background setting used for generation.
288
+ # @param error
289
+ # Details of a moderation failure, when available.
279
290
  # @param output_format
280
291
  # The output format used for generation.
281
292
  # @param quality
@@ -293,6 +304,7 @@ module OpenAI
293
304
  status: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::status,
294
305
  ?action: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::action?,
295
306
  ?background: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background?,
307
+ ?error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error,
296
308
  ?output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?,
297
309
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
298
310
  ?revised_prompt: String?,
@@ -307,6 +319,7 @@ module OpenAI
307
319
  ?type: :image_generation_call,
308
320
  ?action: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::action?,
309
321
  ?background: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background?,
322
+ ?error: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error,
310
323
  ?output_format: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::output_format?,
311
324
  ?quality: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::quality?,
312
325
  ?revised_prompt: String?,
@@ -350,6 +363,103 @@ module OpenAI
350
363
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::background]
351
364
  end
352
365
 
366
+ type error =
367
+ {
368
+ code: String?,
369
+ message: String,
370
+ param: String?,
371
+ type: String,
372
+ ?moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
373
+ }
374
+
375
+ class Error < OpenAI::Internal::Type::BaseModel
376
+ # The error code.
377
+ attr_accessor code: String?
378
+
379
+ # A description of the error.
380
+ attr_accessor message: String
381
+
382
+ # The related request parameter.
383
+ attr_accessor param: String?
384
+
385
+ # The error type.
386
+ attr_accessor type: String
387
+
388
+ # Public details for a `moderation_blocked` error, when available.
389
+ attr_reader moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails?
390
+
391
+ # Public details for a `moderation_blocked` error, when available.
392
+ def moderation_details=: (
393
+ OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
394
+ ) -> OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
395
+
396
+ # @param code
397
+ # The error code.
398
+ # @param message
399
+ # A description of the error.
400
+ # @param param
401
+ # The related request parameter.
402
+ # @param type
403
+ # The error type.
404
+ # @param moderation_details
405
+ # Public details for a `moderation_blocked` error, when available.
406
+ def initialize: (
407
+ code: String?,
408
+ message: String,
409
+ param: String?,
410
+ type: String,
411
+ ?moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
412
+ ) -> void
413
+
414
+ def to_hash: -> {
415
+ code: String?,
416
+ message: String,
417
+ param: String?,
418
+ type: String,
419
+ ?moderation_details: OpenAI::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails
420
+ }
421
+
422
+ type moderation_details =
423
+ {
424
+ categories: ::Array[String],
425
+ moderation_stage: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
426
+ }
427
+
428
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
429
+ # Public moderation categories. New category values may be added over time.
430
+ attr_accessor categories: ::Array[String]
431
+
432
+ # The stage where moderation blocked the image generation call.
433
+ attr_accessor moderation_stage: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
434
+
435
+ # @param categories
436
+ # Public moderation categories. New category values may be added over time.
437
+ # @param moderation_stage
438
+ # The stage where moderation blocked the image generation call.
439
+ def initialize: (
440
+ categories: ::Array[String],
441
+ moderation_stage: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
442
+ ) -> void
443
+
444
+ def to_hash: -> {
445
+ categories: ::Array[String],
446
+ moderation_stage: OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
447
+ }
448
+
449
+ type moderation_stage = :input | :output | :unknown
450
+
451
+ module ModerationStage
452
+ extend OpenAI::Internal::Type::Enum
453
+
454
+ INPUT: :input
455
+ OUTPUT: :output
456
+ UNKNOWN: :unknown
457
+
458
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage]
459
+ end
460
+ end
461
+ end
462
+
353
463
  type output_format = :png | :webp | :jpeg
354
464
 
355
465
  module OutputFormat
@@ -226,6 +226,7 @@ module OpenAI
226
226
  ?type: :image_generation_call,
227
227
  ?action: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::action?,
228
228
  ?background: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background?,
229
+ ?error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error,
229
230
  ?output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?,
230
231
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
231
232
  ?revised_prompt: String?,
@@ -251,6 +252,14 @@ module OpenAI
251
252
  # The background setting used for generation.
252
253
  attr_accessor background: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background?
253
254
 
255
+ # Details of a moderation failure, when available.
256
+ attr_reader error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error?
257
+
258
+ # Details of a moderation failure, when available.
259
+ def error=: (
260
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error
261
+ ) -> OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error
262
+
254
263
  # The output format used for generation.
255
264
  attr_accessor output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?
256
265
 
@@ -274,6 +283,8 @@ module OpenAI
274
283
  # The action used for image generation.
275
284
  # @param background
276
285
  # The background setting used for generation.
286
+ # @param error
287
+ # Details of a moderation failure, when available.
277
288
  # @param output_format
278
289
  # The output format used for generation.
279
290
  # @param quality
@@ -291,6 +302,7 @@ module OpenAI
291
302
  status: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::status,
292
303
  ?action: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::action?,
293
304
  ?background: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background?,
305
+ ?error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error,
294
306
  ?output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?,
295
307
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
296
308
  ?revised_prompt: String?,
@@ -305,6 +317,7 @@ module OpenAI
305
317
  ?type: :image_generation_call,
306
318
  ?action: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::action?,
307
319
  ?background: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background?,
320
+ ?error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error,
308
321
  ?output_format: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::output_format?,
309
322
  ?quality: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::quality?,
310
323
  ?revised_prompt: String?,
@@ -348,6 +361,103 @@ module OpenAI
348
361
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::background]
349
362
  end
350
363
 
364
+ type error =
365
+ {
366
+ code: String?,
367
+ message: String,
368
+ param: String?,
369
+ type: String,
370
+ ?moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
371
+ }
372
+
373
+ class Error < OpenAI::Internal::Type::BaseModel
374
+ # The error code.
375
+ attr_accessor code: String?
376
+
377
+ # A description of the error.
378
+ attr_accessor message: String
379
+
380
+ # The related request parameter.
381
+ attr_accessor param: String?
382
+
383
+ # The error type.
384
+ attr_accessor type: String
385
+
386
+ # Public details for a `moderation_blocked` error, when available.
387
+ attr_reader moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails?
388
+
389
+ # Public details for a `moderation_blocked` error, when available.
390
+ def moderation_details=: (
391
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
392
+ ) -> OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
393
+
394
+ # @param code
395
+ # The error code.
396
+ # @param message
397
+ # A description of the error.
398
+ # @param param
399
+ # The related request parameter.
400
+ # @param type
401
+ # The error type.
402
+ # @param moderation_details
403
+ # Public details for a `moderation_blocked` error, when available.
404
+ def initialize: (
405
+ code: String?,
406
+ message: String,
407
+ param: String?,
408
+ type: String,
409
+ ?moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
410
+ ) -> void
411
+
412
+ def to_hash: -> {
413
+ code: String?,
414
+ message: String,
415
+ param: String?,
416
+ type: String,
417
+ ?moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
418
+ }
419
+
420
+ type moderation_details =
421
+ {
422
+ categories: ::Array[String],
423
+ moderation_stage: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
424
+ }
425
+
426
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
427
+ # Public moderation categories. New category values may be added over time.
428
+ attr_accessor categories: ::Array[String]
429
+
430
+ # The stage where moderation blocked the image generation call.
431
+ attr_accessor moderation_stage: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
432
+
433
+ # @param categories
434
+ # Public moderation categories. New category values may be added over time.
435
+ # @param moderation_stage
436
+ # The stage where moderation blocked the image generation call.
437
+ def initialize: (
438
+ categories: ::Array[String],
439
+ moderation_stage: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
440
+ ) -> void
441
+
442
+ def to_hash: -> {
443
+ categories: ::Array[String],
444
+ moderation_stage: OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage
445
+ }
446
+
447
+ type moderation_stage = :input | :output | :unknown
448
+
449
+ module ModerationStage
450
+ extend OpenAI::Internal::Type::Enum
451
+
452
+ INPUT: :input
453
+ OUTPUT: :output
454
+ UNKNOWN: :unknown
455
+
456
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::moderation_stage]
457
+ end
458
+ end
459
+ end
460
+
351
461
  type output_format = :png | :webp | :jpeg
352
462
 
353
463
  module OutputFormat
@@ -227,7 +227,7 @@ module OpenAI
227
227
 
228
228
  # A stable identifier used to help detect users of your application that may be
229
229
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
230
- # identifies each user, with a maximum length of 64 characters. We recommend
230
+ # identifies each user, with a maximum length of 128 characters. We recommend
231
231
  # hashing their username or email address, in order to avoid sending us any
232
232
  # identifying information.
233
233
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -526,7 +526,7 @@ module OpenAI
526
526
  # @param safety_identifier
527
527
  # A stable identifier used to help detect users of your application that may be
528
528
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
529
- # identifies each user, with a maximum length of 64 characters. We recommend
529
+ # identifies each user, with a maximum length of 128 characters. We recommend
530
530
  # hashing their username or email address, in order to avoid sending us any
531
531
  # identifying information.
532
532
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -13,7 +13,8 @@ module OpenAI
13
13
  reason: String?,
14
14
  request_id: String,
15
15
  request_paused: bool,
16
- response_id: String
16
+ response_id: String,
17
+ ?detailed_explanation: String?
17
18
  }
18
19
 
19
20
  class SafetyAlert < OpenAI::Internal::Type::BaseModel
@@ -39,12 +40,19 @@ module OpenAI
39
40
 
40
41
  attr_accessor response_id: String
41
42
 
43
+ # A generated explanation, temporarily available for eligible zero data retention
44
+ # alerts. Omitted when unavailable.
45
+ attr_accessor detailed_explanation: String?
46
+
42
47
  # @param reason
43
48
  # A customer-safe description derived from error_type, or null for zero data
44
49
  # retention requests.
45
50
  # @param request_paused
46
51
  # Whether block registration succeeded for this request. This does not confirm
47
52
  # that response execution stopped.
53
+ # @param detailed_explanation
54
+ # A generated explanation, temporarily available for eligible zero data retention
55
+ # alerts. Omitted when unavailable.
48
56
  def initialize: (
49
57
  id: String,
50
58
  created_at: Integer,
@@ -54,6 +62,7 @@ module OpenAI
54
62
  request_id: String,
55
63
  request_paused: bool,
56
64
  response_id: String,
65
+ ?detailed_explanation: String?,
57
66
  ?object: :"safety.alert"
58
67
  ) -> void
59
68
 
@@ -66,7 +75,8 @@ module OpenAI
66
75
  reason: String?,
67
76
  request_id: String,
68
77
  request_paused: bool,
69
- response_id: String
78
+ response_id: String,
79
+ ?detailed_explanation: String?
70
80
  }
71
81
 
72
82
  type error_type =
@@ -5,7 +5,9 @@ module OpenAI
5
5
  code: String,
6
6
  message: String,
7
7
  ?headers: ::Hash[Symbol, String],
8
- ?misalignment: OpenAI::VideoCreateError::Misalignment
8
+ ?misalignment: OpenAI::VideoCreateError::Misalignment,
9
+ ?param: String?,
10
+ ?type: String?
9
11
  }
10
12
 
11
13
  class VideoCreateError < OpenAI::Internal::Type::BaseModel
@@ -29,6 +31,12 @@ module OpenAI
29
31
  OpenAI::VideoCreateError::Misalignment
30
32
  ) -> OpenAI::VideoCreateError::Misalignment
31
33
 
34
+ # The request parameter associated with the error, or null if none was recorded.
35
+ attr_accessor param: String?
36
+
37
+ # The original error type, or null if it was not recorded.
38
+ attr_accessor type: String?
39
+
32
40
  # @param code
33
41
  # A machine-readable error code that was returned.
34
42
  # @param message
@@ -36,18 +44,26 @@ module OpenAI
36
44
  # @param headers
37
45
  # The Retry-After and Retry-After-Ms headers returned with the original error, if
38
46
  # any.
47
+ # @param param
48
+ # The request parameter associated with the error, or null if none was recorded.
49
+ # @param type
50
+ # The original error type, or null if it was not recorded.
39
51
  def initialize: (
40
52
  code: String,
41
53
  message: String,
42
54
  ?headers: ::Hash[Symbol, String],
43
- ?misalignment: OpenAI::VideoCreateError::Misalignment
55
+ ?misalignment: OpenAI::VideoCreateError::Misalignment,
56
+ ?param: String?,
57
+ ?type: String?
44
58
  ) -> void
45
59
 
46
60
  def to_hash: -> {
47
61
  code: String,
48
62
  message: String,
49
63
  ?headers: ::Hash[Symbol, String],
50
- ?misalignment: OpenAI::VideoCreateError::Misalignment
64
+ ?misalignment: OpenAI::VideoCreateError::Misalignment,
65
+ ?param: String?,
66
+ ?type: String?
51
67
  }
52
68
 
53
69
  type misalignment =
@@ -0,0 +1,70 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type agent_environment_expired_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data,
9
+ ?object: :event,
10
+ ?type: :"agent.environment.expired"
11
+ }
12
+
13
+ class AgentEnvironmentExpiredWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ # The unique ID of the event.
15
+ attr_accessor id: String
16
+
17
+ # The Unix timestamp, in seconds, when the event was created.
18
+ attr_accessor created_at: Integer
19
+
20
+ # Identifies the environment whose lifecycle changed.
21
+ attr_accessor data: OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data
22
+
23
+ # The object type. Always `event`.
24
+ attr_accessor object: :event
25
+
26
+ # The event type. Always `agent.environment.expired`.
27
+ attr_accessor type: :"agent.environment.expired"
28
+
29
+ # @param id
30
+ # The unique ID of the event.
31
+ # @param created_at
32
+ # The Unix timestamp, in seconds, when the event was created.
33
+ # @param data
34
+ # Identifies the environment whose lifecycle changed.
35
+ # @param object
36
+ # The object type. Always `event`.
37
+ # @param type
38
+ # The event type. Always `agent.environment.expired`.
39
+ def initialize: (
40
+ id: String,
41
+ created_at: Integer,
42
+ data: OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data,
43
+ ?object: :event,
44
+ ?type: :"agent.environment.expired"
45
+ ) -> void
46
+
47
+ def to_hash: -> {
48
+ id: String,
49
+ created_at: Integer,
50
+ data: OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data,
51
+ ?object: :event,
52
+ ?type: :"agent.environment.expired"
53
+ }
54
+
55
+ type data = { id: String }
56
+
57
+ class Data < OpenAI::Internal::Type::BaseModel
58
+ # The ID of the environment.
59
+ attr_accessor id: String
60
+
61
+ # @param id
62
+ # The ID of the environment.
63
+ def initialize: (id: String) -> void
64
+
65
+ def to_hash: -> { id: String }
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -0,0 +1,70 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type agent_environment_suspended_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data,
9
+ ?object: :event,
10
+ ?type: :"agent.environment.suspended"
11
+ }
12
+
13
+ class AgentEnvironmentSuspendedWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ # The unique ID of the event.
15
+ attr_accessor id: String
16
+
17
+ # The Unix timestamp, in seconds, when the event was created.
18
+ attr_accessor created_at: Integer
19
+
20
+ # Identifies the environment whose lifecycle changed.
21
+ attr_accessor data: OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data
22
+
23
+ # The object type. Always `event`.
24
+ attr_accessor object: :event
25
+
26
+ # The event type. Always `agent.environment.suspended`.
27
+ attr_accessor type: :"agent.environment.suspended"
28
+
29
+ # @param id
30
+ # The unique ID of the event.
31
+ # @param created_at
32
+ # The Unix timestamp, in seconds, when the event was created.
33
+ # @param data
34
+ # Identifies the environment whose lifecycle changed.
35
+ # @param object
36
+ # The object type. Always `event`.
37
+ # @param type
38
+ # The event type. Always `agent.environment.suspended`.
39
+ def initialize: (
40
+ id: String,
41
+ created_at: Integer,
42
+ data: OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data,
43
+ ?object: :event,
44
+ ?type: :"agent.environment.suspended"
45
+ ) -> void
46
+
47
+ def to_hash: -> {
48
+ id: String,
49
+ created_at: Integer,
50
+ data: OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data,
51
+ ?object: :event,
52
+ ?type: :"agent.environment.suspended"
53
+ }
54
+
55
+ type data = { id: String }
56
+
57
+ class Data < OpenAI::Internal::Type::BaseModel
58
+ # The ID of the environment.
59
+ attr_accessor id: String
60
+
61
+ # @param id
62
+ # The ID of the environment.
63
+ def initialize: (id: String) -> void
64
+
65
+ def to_hash: -> { id: String }
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -2,8 +2,10 @@ module OpenAI
2
2
  module Models
3
3
  module Webhooks
4
4
  type unwrap_webhook_event =
5
- OpenAI::Webhooks::AgentEnvironmentFailedWebhookEvent
5
+ OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent
6
+ | OpenAI::Webhooks::AgentEnvironmentFailedWebhookEvent
6
7
  | OpenAI::Webhooks::AgentEnvironmentReadyWebhookEvent
8
+ | OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent
7
9
  | OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent
8
10
  | OpenAI::Webhooks::AgentSessionCreatedWebhookEvent
9
11
  | OpenAI::Webhooks::AgentSessionFailedWebhookEvent
@@ -62,6 +62,8 @@ module OpenAI
62
62
  | :"video.failed"
63
63
  | :"agent.environment.ready"
64
64
  | :"agent.environment.failed"
65
+ | :"agent.environment.suspended"
66
+ | :"agent.environment.expired"
65
67
  | :"agent.session.created"
66
68
  | :"agent.session.action_required"
67
69
  | :"agent.session.in_progress"
@@ -91,6 +93,8 @@ module OpenAI
91
93
  VIDEO_FAILED: :"video.failed"
92
94
  AGENT_ENVIRONMENT_READY: :"agent.environment.ready"
93
95
  AGENT_ENVIRONMENT_FAILED: :"agent.environment.failed"
96
+ AGENT_ENVIRONMENT_SUSPENDED: :"agent.environment.suspended"
97
+ AGENT_ENVIRONMENT_EXPIRED: :"agent.environment.expired"
94
98
  AGENT_SESSION_CREATED: :"agent.session.created"
95
99
  AGENT_SESSION_ACTION_REQUIRED: :"agent.session.action_required"
96
100
  AGENT_SESSION_IN_PROGRESS: :"agent.session.in_progress"
@@ -51,6 +51,8 @@ module OpenAI
51
51
  | :"video.failed"
52
52
  | :"agent.environment.ready"
53
53
  | :"agent.environment.failed"
54
+ | :"agent.environment.suspended"
55
+ | :"agent.environment.expired"
54
56
  | :"agent.session.created"
55
57
  | :"agent.session.action_required"
56
58
  | :"agent.session.in_progress"
@@ -80,6 +82,8 @@ module OpenAI
80
82
  VIDEO_FAILED: :"video.failed"
81
83
  AGENT_ENVIRONMENT_READY: :"agent.environment.ready"
82
84
  AGENT_ENVIRONMENT_FAILED: :"agent.environment.failed"
85
+ AGENT_ENVIRONMENT_SUSPENDED: :"agent.environment.suspended"
86
+ AGENT_ENVIRONMENT_EXPIRED: :"agent.environment.expired"
83
87
  AGENT_SESSION_CREATED: :"agent.session.created"
84
88
  AGENT_SESSION_ACTION_REQUIRED: :"agent.session.action_required"
85
89
  AGENT_SESSION_IN_PROGRESS: :"agent.session.in_progress"
@@ -78,6 +78,8 @@ module OpenAI
78
78
  | :"video.failed"
79
79
  | :"agent.environment.ready"
80
80
  | :"agent.environment.failed"
81
+ | :"agent.environment.suspended"
82
+ | :"agent.environment.expired"
81
83
  | :"agent.session.created"
82
84
  | :"agent.session.action_required"
83
85
  | :"agent.session.in_progress"
@@ -107,6 +109,8 @@ module OpenAI
107
109
  VIDEO_FAILED: :"video.failed"
108
110
  AGENT_ENVIRONMENT_READY: :"agent.environment.ready"
109
111
  AGENT_ENVIRONMENT_FAILED: :"agent.environment.failed"
112
+ AGENT_ENVIRONMENT_SUSPENDED: :"agent.environment.suspended"
113
+ AGENT_ENVIRONMENT_EXPIRED: :"agent.environment.expired"
110
114
  AGENT_SESSION_CREATED: :"agent.session.created"
111
115
  AGENT_SESSION_ACTION_REQUIRED: :"agent.session.action_required"
112
116
  AGENT_SESSION_IN_PROGRESS: :"agent.session.in_progress"
@@ -10,6 +10,14 @@ module OpenAI
10
10
  ?request_options: OpenAI::request_opts
11
11
  ) -> OpenAI::Admin::Organization::Projects::ProjectAPIKey
12
12
 
13
+ def update: (
14
+ String api_key_id,
15
+ project_id: String,
16
+ ?expires_in_seconds: Integer,
17
+ ?scopes: ::Array[String],
18
+ ?request_options: OpenAI::request_opts
19
+ ) -> OpenAI::Admin::Organization::Projects::ProjectAPIKey
20
+
13
21
  def list: (
14
22
  String project_id,
15
23
  ?after: String,
@@ -70,6 +70,21 @@ module OpenAI
70
70
  ?request_options: OpenAI::request_opts
71
71
  ) -> OpenAI::Models::Admin::Organization::UsageCostsResponse
72
72
 
73
+ def decisions: (
74
+ start_time: Integer,
75
+ ?api_key_ids: ::Array[String]?,
76
+ ?batch: bool?,
77
+ ?bucket_width: OpenAI::Models::Admin::Organization::UsageDecisionsParams::bucket_width?,
78
+ ?end_time: Integer?,
79
+ ?group_by: ::Array[OpenAI::Models::Admin::Organization::UsageDecisionsParams::group_by]?,
80
+ ?limit: Integer?,
81
+ ?models: ::Array[String]?,
82
+ ?page: String?,
83
+ ?project_ids: ::Array[String]?,
84
+ ?user_ids: ::Array[String]?,
85
+ ?request_options: OpenAI::request_opts
86
+ ) -> OpenAI::Models::Admin::Organization::UsageDecisionsResponse
87
+
73
88
  def embeddings: (
74
89
  start_time: Integer,
75
90
  ?api_key_ids: ::Array[String],