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
@@ -357,6 +357,13 @@ module OpenAI
357
357
  }
358
358
  attr_accessor :background
359
359
 
360
+ # Details of a moderation failure, when available.
361
+ sig { returns(T.nilable(OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error)) }
362
+ attr_reader :error
363
+
364
+ sig { params(error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::OrHash).void }
365
+ attr_writer :error
366
+
360
367
  # The output format used for generation.
361
368
  sig {
362
369
  returns(T.nilable(OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol))
@@ -390,6 +397,8 @@ module OpenAI
390
397
 
391
398
  background: T.nilable(OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Background::OrSymbol),
392
399
 
400
+ error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::OrHash,
401
+
393
402
  output_format: T.nilable(
394
403
  OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OutputFormat::OrSymbol
395
404
  ),
@@ -421,6 +430,9 @@ module OpenAI
421
430
  # The background setting used for generation.
422
431
  background: nil,
423
432
 
433
+ # Details of a moderation failure, when available.
434
+ error: nil,
435
+
424
436
  # The output format used for generation.
425
437
  output_format: nil,
426
438
 
@@ -451,6 +463,7 @@ module OpenAI
451
463
  background: T.nilable(
452
464
  OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Background::TaggedSymbol
453
465
  ),
466
+ error: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error,
454
467
  output_format: T.nilable(
455
468
  OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OutputFormat::TaggedSymbol
456
469
  ),
@@ -548,6 +561,184 @@ module OpenAI
548
561
  end
549
562
  end
550
563
 
564
+ class Error < OpenAI::Internal::Type::BaseModel
565
+ OrHash = T.type_alias do
566
+ T.any(
567
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error,
568
+ OpenAI::Internal::AnyHash
569
+ )
570
+ end
571
+
572
+ # The error code.
573
+ sig { returns(T.nilable(String)) }
574
+ attr_accessor :code
575
+
576
+ # A description of the error.
577
+ sig { returns(String) }
578
+ attr_accessor :message
579
+
580
+ # The related request parameter.
581
+ sig { returns(T.nilable(String)) }
582
+ attr_accessor :param
583
+
584
+ # The error type.
585
+ sig { returns(String) }
586
+ attr_accessor :type
587
+
588
+ # Public details for a `moderation_blocked` error, when available.
589
+ sig {
590
+ returns(T.nilable(OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails))
591
+ }
592
+ attr_reader :moderation_details
593
+
594
+ sig {
595
+ params(
596
+ moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::OrHash
597
+ )
598
+ .void
599
+ }
600
+ attr_writer :moderation_details
601
+
602
+ # Details of a moderation failure, when available.
603
+ sig do
604
+ params(
605
+
606
+ code: T.nilable(String),
607
+
608
+ message: String,
609
+
610
+ param: T.nilable(String),
611
+
612
+ type: String,
613
+
614
+ moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::OrHash
615
+ )
616
+ .returns(T.attached_class)
617
+ end
618
+ def self.new(
619
+
620
+ # The error code.
621
+ code:,
622
+
623
+ # A description of the error.
624
+ message:,
625
+
626
+ # The related request parameter.
627
+ param:,
628
+
629
+ # The error type.
630
+ type:,
631
+
632
+ # Public details for a `moderation_blocked` error, when available.
633
+
634
+ moderation_details: nil
635
+ )
636
+ end
637
+
638
+ sig do
639
+ override.returns(
640
+ {
641
+ code: T.nilable(String),
642
+ message: String,
643
+ param: T.nilable(String),
644
+ type: String,
645
+ moderation_details: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails
646
+ }
647
+ )
648
+ end
649
+ def to_hash
650
+ end
651
+
652
+ class ModerationDetails < OpenAI::Internal::Type::BaseModel
653
+ OrHash = T.type_alias do
654
+ T.any(
655
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails,
656
+ OpenAI::Internal::AnyHash
657
+ )
658
+ end
659
+
660
+ # Public moderation categories. New category values may be added over time.
661
+ sig { returns(T::Array[String]) }
662
+ attr_accessor :categories
663
+
664
+ # The stage where moderation blocked the image generation call.
665
+ sig {
666
+ returns(
667
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
668
+ )
669
+ }
670
+ attr_accessor :moderation_stage
671
+
672
+ # Public details for a `moderation_blocked` error, when available.
673
+ sig do
674
+ params(
675
+
676
+ categories: T::Array[String],
677
+
678
+ moderation_stage: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::OrSymbol
679
+ )
680
+ .returns(T.attached_class)
681
+ end
682
+ def self.new(
683
+
684
+ # Public moderation categories. New category values may be added over time.
685
+ categories:,
686
+
687
+ # The stage where moderation blocked the image generation call.
688
+
689
+ moderation_stage:
690
+ )
691
+ end
692
+
693
+ sig do
694
+ override.returns(
695
+ {
696
+ categories: T::Array[String],
697
+ moderation_stage: OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
698
+ }
699
+ )
700
+ end
701
+ def to_hash
702
+ end
703
+
704
+ # The stage where moderation blocked the image generation call.
705
+ module ModerationStage
706
+ extend OpenAI::Internal::Type::Enum
707
+
708
+ TaggedSymbol = T.type_alias {
709
+ T.all(
710
+ Symbol,
711
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage
712
+ )
713
+ }
714
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
715
+
716
+ INPUT = T.let(
717
+ :input,
718
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
719
+ )
720
+ OUTPUT = T.let(
721
+ :output,
722
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
723
+ )
724
+ UNKNOWN = T.let(
725
+ :unknown,
726
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
727
+ )
728
+
729
+ sig {
730
+ override.returns(
731
+ T::Array[
732
+ OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Error::ModerationDetails::ModerationStage::TaggedSymbol
733
+ ]
734
+ )
735
+ }
736
+ def self.values
737
+ end
738
+ end
739
+ end
740
+ end
741
+
551
742
  # The output format used for generation.
552
743
  module OutputFormat
553
744
  extend OpenAI::Internal::Type::Enum
@@ -33,10 +33,6 @@ module OpenAI
33
33
  sig { returns(String) }
34
34
  attr_accessor :text
35
35
 
36
- # The parsed contents of the output, if JSON schema is specified.
37
- sig { returns(T.anything) }
38
- attr_accessor :parsed
39
-
40
36
  # The type of the output text. Always `output_text`.
41
37
  sig { returns(Symbol) }
42
38
  attr_accessor :type
@@ -231,7 +231,7 @@ module OpenAI
231
231
 
232
232
  # A stable identifier used to help detect users of your application that may be
233
233
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
234
- # identifies each user, with a maximum length of 64 characters. We recommend
234
+ # identifies each user, with a maximum length of 128 characters. We recommend
235
235
  # hashing their username or email address, in order to avoid sending us any
236
236
  # identifying information.
237
237
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -728,7 +728,7 @@ module OpenAI
728
728
 
729
729
  # A stable identifier used to help detect users of your application that may be
730
730
  # violating OpenAI's usage policies. The IDs should be a string that uniquely
731
- # identifies each user, with a maximum length of 64 characters. We recommend
731
+ # identifies each user, with a maximum length of 128 characters. We recommend
732
732
  # hashing their username or email address, in order to avoid sending us any
733
733
  # identifying information.
734
734
  # [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
@@ -47,6 +47,11 @@ module OpenAI
47
47
  sig { returns(String) }
48
48
  attr_accessor :response_id
49
49
 
50
+ # A generated explanation, temporarily available for eligible zero data retention
51
+ # alerts. Omitted when unavailable.
52
+ sig { returns(T.nilable(String)) }
53
+ attr_accessor :detailed_explanation
54
+
50
55
  sig do
51
56
  params(
52
57
 
@@ -66,6 +71,8 @@ module OpenAI
66
71
 
67
72
  response_id: String,
68
73
 
74
+ detailed_explanation: T.nilable(String),
75
+
69
76
  object: Symbol
70
77
  )
71
78
  .returns(T.attached_class)
@@ -92,6 +99,10 @@ module OpenAI
92
99
 
93
100
  response_id:,
94
101
 
102
+ # A generated explanation, temporarily available for eligible zero data retention
103
+ # alerts. Omitted when unavailable.
104
+ detailed_explanation: nil,
105
+
95
106
  object: :"safety.alert"
96
107
  )
97
108
  end
@@ -107,7 +118,8 @@ module OpenAI
107
118
  reason: T.nilable(String),
108
119
  request_id: String,
109
120
  request_paused: T::Boolean,
110
- response_id: String
121
+ response_id: String,
122
+ detailed_explanation: T.nilable(String)
111
123
  }
112
124
  )
113
125
  end
@@ -34,6 +34,14 @@ module OpenAI
34
34
  sig { params(misalignment: OpenAI::VideoCreateError::Misalignment::OrHash).void }
35
35
  attr_writer :misalignment
36
36
 
37
+ # The request parameter associated with the error, or null if none was recorded.
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :param
40
+
41
+ # The original error type, or null if it was not recorded.
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :type
44
+
37
45
  # An error that occurred while generating the response.
38
46
  sig do
39
47
  params(
@@ -44,7 +52,11 @@ module OpenAI
44
52
 
45
53
  headers: T::Hash[Symbol, String],
46
54
 
47
- misalignment: OpenAI::VideoCreateError::Misalignment::OrHash
55
+ misalignment: OpenAI::VideoCreateError::Misalignment::OrHash,
56
+
57
+ param: T.nilable(String),
58
+
59
+ type: T.nilable(String)
48
60
  )
49
61
  .returns(T.attached_class)
50
62
  end
@@ -60,7 +72,14 @@ module OpenAI
60
72
  # any.
61
73
  headers: nil,
62
74
 
63
- misalignment: nil
75
+ misalignment: nil,
76
+
77
+ # The request parameter associated with the error, or null if none was recorded.
78
+ param: nil,
79
+
80
+ # The original error type, or null if it was not recorded.
81
+
82
+ type: nil
64
83
  )
65
84
  end
66
85
 
@@ -70,7 +89,9 @@ module OpenAI
70
89
  code: String,
71
90
  message: String,
72
91
  headers: T::Hash[Symbol, String],
73
- misalignment: OpenAI::VideoCreateError::Misalignment
92
+ misalignment: OpenAI::VideoCreateError::Misalignment,
93
+ param: T.nilable(String),
94
+ type: T.nilable(String)
74
95
  }
75
96
  )
76
97
  end
@@ -0,0 +1,133 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class AgentEnvironmentExpiredWebhookEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The unique ID of the event.
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # The Unix timestamp, in seconds, when the event was created.
22
+ sig { returns(Integer) }
23
+ attr_accessor :created_at
24
+
25
+ # Identifies the environment whose lifecycle changed.
26
+ sig { returns(OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data) }
27
+ attr_reader :data
28
+
29
+ sig { params(data: OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data::OrHash).void }
30
+ attr_writer :data
31
+
32
+ # The object type. Always `event`.
33
+ sig { returns(Symbol) }
34
+ attr_accessor :object
35
+
36
+ # The event type. Always `agent.environment.expired`.
37
+ sig { returns(Symbol) }
38
+ attr_accessor :type
39
+
40
+ # Sent when an agent environment expires and can no longer resume from a snapshot.
41
+ sig do
42
+ params(
43
+
44
+ id: String,
45
+
46
+ created_at: Integer,
47
+
48
+ data: OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data::OrHash,
49
+
50
+ object: Symbol,
51
+
52
+ type: Symbol
53
+ )
54
+ .returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+
58
+ # The unique ID of the event.
59
+ id:,
60
+
61
+ # The Unix timestamp, in seconds, when the event was created.
62
+ created_at:,
63
+
64
+ # Identifies the environment whose lifecycle changed.
65
+ data:,
66
+
67
+ # The object type. Always `event`.
68
+ object: :event,
69
+
70
+ # The event type. Always `agent.environment.expired`.
71
+
72
+ type: :"agent.environment.expired"
73
+ )
74
+ end
75
+
76
+ sig do
77
+ override.returns(
78
+ {
79
+ id: String,
80
+ created_at: Integer,
81
+ data: OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data,
82
+ object: Symbol,
83
+ type: Symbol
84
+ }
85
+ )
86
+ end
87
+ def to_hash
88
+ end
89
+
90
+ class Data < OpenAI::Internal::Type::BaseModel
91
+ OrHash = T.type_alias do
92
+ T.any(
93
+ OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent::Data,
94
+ OpenAI::Internal::AnyHash
95
+ )
96
+ end
97
+
98
+ # The ID of the environment.
99
+ sig { returns(String) }
100
+ attr_accessor :id
101
+
102
+ # Identifies the environment whose lifecycle changed.
103
+ sig do
104
+ params(
105
+
106
+ id: String
107
+ )
108
+ .returns(T.attached_class)
109
+ end
110
+ def self.new(
111
+
112
+ # The ID of the environment.
113
+
114
+ id:
115
+ )
116
+ end
117
+
118
+ sig do
119
+ override.returns(
120
+ {id: String}
121
+ )
122
+ end
123
+ def to_hash
124
+ end
125
+
126
+ end
127
+
128
+ end
129
+
130
+ end
131
+
132
+ end
133
+ end
@@ -0,0 +1,133 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Webhooks
7
+
8
+ class AgentEnvironmentSuspendedWebhookEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The unique ID of the event.
18
+ sig { returns(String) }
19
+ attr_accessor :id
20
+
21
+ # The Unix timestamp, in seconds, when the event was created.
22
+ sig { returns(Integer) }
23
+ attr_accessor :created_at
24
+
25
+ # Identifies the environment whose lifecycle changed.
26
+ sig { returns(OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data) }
27
+ attr_reader :data
28
+
29
+ sig { params(data: OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data::OrHash).void }
30
+ attr_writer :data
31
+
32
+ # The object type. Always `event`.
33
+ sig { returns(Symbol) }
34
+ attr_accessor :object
35
+
36
+ # The event type. Always `agent.environment.suspended`.
37
+ sig { returns(Symbol) }
38
+ attr_accessor :type
39
+
40
+ # Sent when an agent environment is suspended and can resume from a snapshot.
41
+ sig do
42
+ params(
43
+
44
+ id: String,
45
+
46
+ created_at: Integer,
47
+
48
+ data: OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data::OrHash,
49
+
50
+ object: Symbol,
51
+
52
+ type: Symbol
53
+ )
54
+ .returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+
58
+ # The unique ID of the event.
59
+ id:,
60
+
61
+ # The Unix timestamp, in seconds, when the event was created.
62
+ created_at:,
63
+
64
+ # Identifies the environment whose lifecycle changed.
65
+ data:,
66
+
67
+ # The object type. Always `event`.
68
+ object: :event,
69
+
70
+ # The event type. Always `agent.environment.suspended`.
71
+
72
+ type: :"agent.environment.suspended"
73
+ )
74
+ end
75
+
76
+ sig do
77
+ override.returns(
78
+ {
79
+ id: String,
80
+ created_at: Integer,
81
+ data: OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data,
82
+ object: Symbol,
83
+ type: Symbol
84
+ }
85
+ )
86
+ end
87
+ def to_hash
88
+ end
89
+
90
+ class Data < OpenAI::Internal::Type::BaseModel
91
+ OrHash = T.type_alias do
92
+ T.any(
93
+ OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent::Data,
94
+ OpenAI::Internal::AnyHash
95
+ )
96
+ end
97
+
98
+ # The ID of the environment.
99
+ sig { returns(String) }
100
+ attr_accessor :id
101
+
102
+ # Identifies the environment whose lifecycle changed.
103
+ sig do
104
+ params(
105
+
106
+ id: String
107
+ )
108
+ .returns(T.attached_class)
109
+ end
110
+ def self.new(
111
+
112
+ # The ID of the environment.
113
+
114
+ id:
115
+ )
116
+ end
117
+
118
+ sig do
119
+ override.returns(
120
+ {id: String}
121
+ )
122
+ end
123
+ def to_hash
124
+ end
125
+
126
+ end
127
+
128
+ end
129
+
130
+ end
131
+
132
+ end
133
+ end
@@ -5,15 +5,16 @@ module OpenAI
5
5
 
6
6
  module Webhooks
7
7
 
8
- # Sent when setup fails for a prewarmed OpenAI-hosted environment before it is
9
- # attached to a session.
8
+ # Sent when an agent environment expires and can no longer resume from a snapshot.
10
9
  module UnwrapWebhookEvent
11
10
  extend OpenAI::Internal::Type::Union
12
11
 
13
12
  Variants = T.type_alias do
14
13
  T.any(
14
+ OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent,
15
15
  OpenAI::Webhooks::AgentEnvironmentFailedWebhookEvent,
16
16
  OpenAI::Webhooks::AgentEnvironmentReadyWebhookEvent,
17
+ OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent,
17
18
  OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent,
18
19
  OpenAI::Webhooks::AgentSessionCreatedWebhookEvent,
19
20
  OpenAI::Webhooks::AgentSessionFailedWebhookEvent,
@@ -129,6 +129,14 @@ module OpenAI
129
129
  :"agent.environment.failed",
130
130
  OpenAI::Webhooks::WebhookCreateParams::EventType::TaggedSymbol
131
131
  )
132
+ AGENT_ENVIRONMENT_SUSPENDED = T.let(
133
+ :"agent.environment.suspended",
134
+ OpenAI::Webhooks::WebhookCreateParams::EventType::TaggedSymbol
135
+ )
136
+ AGENT_ENVIRONMENT_EXPIRED = T.let(
137
+ :"agent.environment.expired",
138
+ OpenAI::Webhooks::WebhookCreateParams::EventType::TaggedSymbol
139
+ )
132
140
  AGENT_SESSION_CREATED = T.let(
133
141
  :"agent.session.created",
134
142
  OpenAI::Webhooks::WebhookCreateParams::EventType::TaggedSymbol
@@ -114,6 +114,14 @@ module OpenAI
114
114
  :"agent.environment.failed",
115
115
  OpenAI::Webhooks::WebhookTestParams::EventType::TaggedSymbol
116
116
  )
117
+ AGENT_ENVIRONMENT_SUSPENDED = T.let(
118
+ :"agent.environment.suspended",
119
+ OpenAI::Webhooks::WebhookTestParams::EventType::TaggedSymbol
120
+ )
121
+ AGENT_ENVIRONMENT_EXPIRED = T.let(
122
+ :"agent.environment.expired",
123
+ OpenAI::Webhooks::WebhookTestParams::EventType::TaggedSymbol
124
+ )
117
125
  AGENT_SESSION_CREATED = T.let(
118
126
  :"agent.session.created",
119
127
  OpenAI::Webhooks::WebhookTestParams::EventType::TaggedSymbol
@@ -146,6 +146,14 @@ module OpenAI
146
146
  :"agent.environment.failed",
147
147
  OpenAI::Webhooks::WebhookUpdateParams::EventType::TaggedSymbol
148
148
  )
149
+ AGENT_ENVIRONMENT_SUSPENDED = T.let(
150
+ :"agent.environment.suspended",
151
+ OpenAI::Webhooks::WebhookUpdateParams::EventType::TaggedSymbol
152
+ )
153
+ AGENT_ENVIRONMENT_EXPIRED = T.let(
154
+ :"agent.environment.expired",
155
+ OpenAI::Webhooks::WebhookUpdateParams::EventType::TaggedSymbol
156
+ )
149
157
  AGENT_SESSION_CREATED = T.let(
150
158
  :"agent.session.created",
151
159
  OpenAI::Webhooks::WebhookUpdateParams::EventType::TaggedSymbol
@@ -16,7 +16,8 @@ module OpenAI
16
16
  provider: T.any(
17
17
  OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Aws::OrHash,
18
18
  OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Azure::OrHash,
19
- OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp::OrHash
19
+ OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp::OrHash,
20
+ OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Oci::OrHash
20
21
  ),
21
22
  request_options: OpenAI::RequestOptions::OrHash
22
23
  )