openai 0.103.0 → 0.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +23 -1
  4. data/lib/openai/client.rb +3 -386
  5. data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
  6. data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
  7. data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
  8. data/lib/openai/helpers/beta/agents/files.rb +41 -0
  9. data/lib/openai/helpers/client_runtime.rb +391 -0
  10. data/lib/openai/helpers/files.rb +47 -0
  11. data/lib/openai/helpers/live/websocket.rb +8 -57
  12. data/lib/openai/helpers/models/chat/parsed.rb +32 -0
  13. data/lib/openai/helpers/models/responses/parsed.rb +30 -0
  14. data/lib/openai/helpers/models/responses/response.rb +32 -0
  15. data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
  16. data/lib/openai/helpers/realtime/client_extension.rb +1 -2
  17. data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
  18. data/lib/openai/helpers/realtime/translation.rb +7 -50
  19. data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
  20. data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
  21. data/lib/openai/helpers/streaming/response_stream.rb +1 -16
  22. data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
  23. data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
  24. data/lib/openai/helpers/vector_stores/files.rb +198 -0
  25. data/lib/openai/helpers/websocket/client_request.rb +31 -6
  26. data/lib/openai/helpers/websocket/connection.rb +58 -0
  27. data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
  28. data/lib/openai/helpers/websocket/protocol.rb +2 -1
  29. data/lib/openai/helpers/websocket/resource.rb +54 -0
  30. data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
  31. data/lib/openai/helpers/websocket.rb +4 -0
  32. data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
  33. data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
  34. data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
  35. data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
  36. data/lib/openai/models/admin/organization/project_residency.rb +3 -0
  37. data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
  38. data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
  39. data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
  40. data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
  41. data/lib/openai/models/audio/speech_create_params.rb +6 -3
  42. data/lib/openai/models/audio/translation_create_response.rb +0 -1
  43. data/lib/openai/models/audio/voice.rb +17 -2
  44. data/lib/openai/models/audio/voice_create_params.rb +100 -3
  45. data/lib/openai/models/beta/agent_create_params.rb +4 -2
  46. data/lib/openai/models/beta/agent_list_params.rb +4 -4
  47. data/lib/openai/models/beta/agent_session.rb +37 -1
  48. data/lib/openai/models/beta/agent_update_params.rb +4 -2
  49. data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
  50. data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
  51. data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
  52. data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
  53. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
  54. data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
  55. data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
  56. data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
  57. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
  58. data/lib/openai/models/beta/beta_response.rb +23 -2
  59. data/lib/openai/models/beta/beta_response_error.rb +19 -1
  60. data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
  61. data/lib/openai/models/beta/beta_response_item.rb +107 -1
  62. data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
  63. data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
  64. data/lib/openai/models/beta/response_compact_params.rb +21 -0
  65. data/lib/openai/models/beta/response_create_params.rb +23 -2
  66. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  67. data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
  68. data/lib/openai/models/chat/chat_completion_message.rb +0 -8
  69. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
  70. data/lib/openai/models/chat/completion_create_params.rb +5 -12
  71. data/lib/openai/models/chat_model.rb +21 -0
  72. data/lib/openai/models/conversations/conversation_item.rb +107 -1
  73. data/lib/openai/models/decision.rb +17 -2
  74. data/lib/openai/models/decision_create_params.rb +29 -12
  75. data/lib/openai/models/decision_input_image.rb +4 -3
  76. data/lib/openai/models/decision_input_message.rb +4 -4
  77. data/lib/openai/models/decision_input_part.rb +3 -2
  78. data/lib/openai/models/image_edit_completed_event.rb +1 -2
  79. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  80. data/lib/openai/models/image_gen_completed_event.rb +1 -2
  81. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  82. data/lib/openai/models/images_response.rb +1 -2
  83. data/lib/openai/models/live/built_in_voice.rb +1 -0
  84. data/lib/openai/models/live/client_event.rb +14 -2
  85. data/lib/openai/models/live/decision_create_event.rb +26 -0
  86. data/lib/openai/models/live/decision_event.rb +117 -0
  87. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  88. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  89. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  90. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  91. data/lib/openai/models/live/decision_trigger.rb +244 -0
  92. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  93. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  94. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  95. data/lib/openai/models/live/fork_client_event.rb +14 -2
  96. data/lib/openai/models/live/fork_server_event.rb +17 -2
  97. data/lib/openai/models/live/media_session_config.rb +47 -11
  98. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  99. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  100. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  101. data/lib/openai/models/live/server_event.rb +17 -2
  102. data/lib/openai/models/live/session_accept_params.rb +47 -11
  103. data/lib/openai/models/live/session_config.rb +47 -11
  104. data/lib/openai/models/live/session_resource.rb +47 -11
  105. data/lib/openai/models/live/session_update_config.rb +38 -6
  106. data/lib/openai/models/live/session_update_event.rb +8 -8
  107. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  108. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  109. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  110. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  111. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  112. data/lib/openai/models/response_format_json_schema.rb +1 -1
  113. data/lib/openai/models/responses/function_tool.rb +8 -6
  114. data/lib/openai/models/responses/response.rb +2 -23
  115. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  116. data/lib/openai/models/responses/response_create_params.rb +3 -6
  117. data/lib/openai/models/responses/response_error.rb +19 -1
  118. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  119. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  120. data/lib/openai/models/responses/response_input_item.rb +107 -1
  121. data/lib/openai/models/responses/response_item.rb +107 -1
  122. data/lib/openai/models/responses/response_output_item.rb +107 -1
  123. data/lib/openai/models/responses/response_output_text.rb +0 -8
  124. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  125. data/lib/openai/models/safety/safety_alert.rb +12 -1
  126. data/lib/openai/models/video_create_error.rb +19 -1
  127. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
  128. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  129. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  130. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  131. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  132. data/lib/openai/resources/audio/speech.rb +2 -1
  133. data/lib/openai/resources/audio/voices.rb +10 -10
  134. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  135. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  136. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  137. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  138. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  139. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  140. data/lib/openai/resources/beta/agents.rb +6 -4
  141. data/lib/openai/resources/beta/responses.rb +2 -2
  142. data/lib/openai/resources/chat/completions.rb +11 -37
  143. data/lib/openai/resources/decisions.rb +9 -15
  144. data/lib/openai/resources/files.rb +0 -39
  145. data/lib/openai/resources/live/forks.rb +19 -0
  146. data/lib/openai/resources/live/sideband.rb +19 -0
  147. data/lib/openai/resources/live.rb +19 -0
  148. data/lib/openai/resources/realtime/translations.rb +19 -0
  149. data/lib/openai/resources/realtime.rb +19 -0
  150. data/lib/openai/resources/responses.rb +44 -95
  151. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  152. data/lib/openai/resources/vector_stores/files.rb +0 -188
  153. data/lib/openai/resources/webhooks.rb +13 -29
  154. data/lib/openai/version.rb +1 -1
  155. data/lib/openai.rb +31 -0
  156. data/rbi/openai/client.rbi +0 -103
  157. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  158. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  159. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  160. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  161. data/rbi/openai/helpers/files.rbi +25 -0
  162. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  163. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  164. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  165. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  166. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  167. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  168. data/rbi/openai/helpers/websocket.rbi +82 -0
  169. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  170. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  171. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  172. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  173. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  174. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  175. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  176. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  177. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  178. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  179. data/rbi/openai/models/audio/voice.rbi +21 -2
  180. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  181. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  182. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  183. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  184. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  185. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  186. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  187. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  188. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  189. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  190. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  191. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  192. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  193. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  194. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  195. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  196. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  197. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  198. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  199. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  200. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  201. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  202. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  203. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  204. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  205. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  206. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  207. data/rbi/openai/models/decision.rbi +14 -1
  208. data/rbi/openai/models/decision_create_params.rbi +23 -12
  209. data/rbi/openai/models/decision_input_image.rbi +4 -3
  210. data/rbi/openai/models/decision_input_message.rbi +4 -4
  211. data/rbi/openai/models/decision_input_part.rbi +2 -1
  212. data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
  213. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  214. data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
  215. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  216. data/rbi/openai/models/images_response.rbi +1 -0
  217. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  218. data/rbi/openai/models/live/client_event.rbi +4 -0
  219. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  220. data/rbi/openai/models/live/decision_event.rbi +185 -0
  221. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  222. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  223. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  224. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  225. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  226. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  227. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  228. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  229. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  230. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  231. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  232. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  233. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  234. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  235. data/rbi/openai/models/live/server_event.rbi +5 -0
  236. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  237. data/rbi/openai/models/live/session_config.rbi +100 -14
  238. data/rbi/openai/models/live/session_resource.rbi +81 -10
  239. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  240. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  241. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  242. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  243. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  244. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  245. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  246. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  247. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  248. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  249. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  250. data/rbi/openai/models/responses/response.rbi +2 -7
  251. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  252. data/rbi/openai/models/responses/response_error.rbi +24 -3
  253. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  254. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  255. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  256. data/rbi/openai/models/responses/response_item.rbi +189 -0
  257. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  258. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  259. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  260. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  261. data/rbi/openai/models/video_create_error.rbi +24 -3
  262. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
  263. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  264. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  265. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  266. data/rbi/openai/resources/audio/speech.rbi +2 -1
  267. data/rbi/openai/resources/audio/voices.rbi +13 -10
  268. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  269. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  270. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  271. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  272. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  273. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  274. data/rbi/openai/resources/beta/agents.rbi +6 -4
  275. data/rbi/openai/resources/beta/responses.rbi +2 -2
  276. data/rbi/openai/resources/chat/completions.rbi +26 -29
  277. data/rbi/openai/resources/decisions.rbi +9 -15
  278. data/rbi/openai/resources/files.rbi +0 -18
  279. data/rbi/openai/resources/live/forks.rbi +17 -0
  280. data/rbi/openai/resources/live/sideband.rbi +17 -0
  281. data/rbi/openai/resources/live.rbi +17 -0
  282. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  283. data/rbi/openai/resources/realtime.rbi +17 -0
  284. data/rbi/openai/resources/responses.rbi +41 -333
  285. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  286. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  287. data/rbi/openai/resources/webhooks.rbi +1 -1
  288. data/sig/openai/client.rbs +0 -50
  289. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  290. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  291. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  292. data/sig/openai/helpers/client_runtime.rbs +53 -0
  293. data/sig/openai/helpers/files.rbs +12 -0
  294. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  295. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  296. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  297. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  298. data/sig/openai/helpers/websocket.rbs +40 -0
  299. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  300. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  301. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  302. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  303. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  304. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  305. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  306. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  307. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  308. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  309. data/sig/openai/models/audio/voice.rbs +21 -3
  310. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  311. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  312. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  313. data/sig/openai/models/beta/agent_session.rbs +36 -2
  314. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  315. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  316. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  317. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  318. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  319. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  320. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  321. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  322. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  323. data/sig/openai/models/beta/beta_response.rbs +2 -2
  324. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  325. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  326. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  327. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  328. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  329. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  330. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  331. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  332. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  333. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  334. data/sig/openai/models/decision.rbs +13 -0
  335. data/sig/openai/models/decision_create_params.rbs +19 -8
  336. data/sig/openai/models/decision_input_image.rbs +2 -2
  337. data/sig/openai/models/decision_input_message.rbs +2 -2
  338. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  339. data/sig/openai/models/live/client_event.rbs +4 -0
  340. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  341. data/sig/openai/models/live/decision_event.rbs +102 -0
  342. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  343. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  344. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  345. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  346. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  347. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  348. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  349. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  350. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  351. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  352. data/sig/openai/models/live/media_session_config.rbs +58 -11
  353. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  354. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  355. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  356. data/sig/openai/models/live/server_event.rbs +5 -0
  357. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  358. data/sig/openai/models/live/session_config.rbs +58 -11
  359. data/sig/openai/models/live/session_resource.rbs +57 -10
  360. data/sig/openai/models/live/session_update_config.rbs +54 -3
  361. data/sig/openai/models/live/session_update_event.rbs +6 -6
  362. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  363. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  364. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  365. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  366. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  367. data/sig/openai/models/responses/response.rbs +2 -4
  368. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  369. data/sig/openai/models/responses/response_error.rbs +19 -3
  370. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  371. data/sig/openai/models/responses/response_item.rbs +110 -0
  372. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  373. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  374. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  375. data/sig/openai/models/video_create_error.rbs +19 -3
  376. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
  377. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  378. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  379. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  380. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  381. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  382. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  383. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  384. data/sig/openai/resources/beta/agents.rbs +1 -1
  385. data/sig/openai/resources/files.rbs +0 -7
  386. data/sig/openai/resources/live/forks.rbs +8 -0
  387. data/sig/openai/resources/live/sideband.rbs +8 -0
  388. data/sig/openai/resources/live.rbs +7 -0
  389. data/sig/openai/resources/realtime/translations.rbs +7 -0
  390. data/sig/openai/resources/realtime.rbs +7 -0
  391. data/sig/openai/resources/responses.rbs +7 -31
  392. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  393. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  394. data/sig/openai/resources/webhooks.rbs +1 -1
  395. metadata +89 -1
@@ -0,0 +1,66 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Live
7
+
8
+ class DecisionItemDeleteEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Live::DecisionItemDeleteEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :item_id
19
+
20
+ sig { returns(Symbol) }
21
+ attr_accessor :type
22
+
23
+ # Optional client identifier for correlating this command with a server event's
24
+ # client_event_id or error.client_event_id.
25
+ sig { returns(T.nilable(String)) }
26
+ attr_accessor :event_id
27
+
28
+ # Delete an input item from future decisions without starting an evaluation or
29
+ # changing Live voice context.
30
+ sig do
31
+ params(
32
+
33
+ item_id: String,
34
+
35
+ event_id: T.nilable(String),
36
+
37
+ type: Symbol
38
+ )
39
+ .returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+
43
+ item_id:,
44
+
45
+ # Optional client identifier for correlating this command with a server event's
46
+ # client_event_id or error.client_event_id.
47
+ event_id: nil,
48
+
49
+ type: :"decision.item.delete"
50
+ )
51
+ end
52
+
53
+ sig do
54
+ override.returns(
55
+ {item_id: String, type: Symbol, event_id: T.nilable(String)}
56
+ )
57
+ end
58
+ def to_hash
59
+ end
60
+
61
+ end
62
+
63
+ end
64
+
65
+ end
66
+ end
@@ -0,0 +1,77 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Live
7
+
8
+ class DecisionItemDeletedEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Live::DecisionItemDeletedEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The unique ID of the Live server event.
18
+ sig { returns(String) }
19
+ attr_accessor :event_id
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :item_id
23
+
24
+ sig { returns(Symbol) }
25
+ attr_accessor :type
26
+
27
+ # The event_id of the client command associated with this server event, when
28
+ # supplied.
29
+ sig { returns(T.nilable(String)) }
30
+ attr_reader :client_event_id
31
+
32
+ sig { params(client_event_id: String).void }
33
+ attr_writer :client_event_id
34
+
35
+ # An input item was removed from future decisions.
36
+ sig do
37
+ params(
38
+
39
+ event_id: String,
40
+
41
+ item_id: String,
42
+
43
+ client_event_id: String,
44
+
45
+ type: Symbol
46
+ )
47
+ .returns(T.attached_class)
48
+ end
49
+ def self.new(
50
+
51
+ # The unique ID of the Live server event.
52
+ event_id:,
53
+
54
+ item_id:,
55
+
56
+ # The event_id of the client command associated with this server event, when
57
+ # supplied.
58
+ client_event_id: nil,
59
+
60
+ type: :"decision.item.deleted"
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {event_id: String, item_id: String, type: Symbol, client_event_id: T.nilable(String)}
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+
72
+ end
73
+
74
+ end
75
+
76
+ end
77
+ end
@@ -0,0 +1,465 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Live
7
+
8
+ class DecisionTrigger < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Live::DecisionTrigger,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # Questions evaluated using the current transcript and the session's shared
18
+ # Decision items.
19
+ sig { returns(OpenAI::Live::DecisionTrigger::Decisions) }
20
+ attr_reader :decisions
21
+
22
+ sig { params(decisions: OpenAI::Live::DecisionTrigger::Decisions::OrHash).void }
23
+ attr_writer :decisions
24
+
25
+ sig { returns(OpenAI::Live::DecisionTrigger::EventType::OrSymbol) }
26
+ attr_accessor :event_type
27
+
28
+ sig { returns(Symbol) }
29
+ attr_accessor :type
30
+
31
+ sig do
32
+ params(
33
+
34
+ decisions: OpenAI::Live::DecisionTrigger::Decisions::OrHash,
35
+
36
+ event_type: OpenAI::Live::DecisionTrigger::EventType::OrSymbol,
37
+
38
+ type: Symbol
39
+ )
40
+ .returns(T.attached_class)
41
+ end
42
+ def self.new(
43
+
44
+ # Questions evaluated using the current transcript and the session's shared
45
+ # Decision items.
46
+ decisions:,
47
+
48
+ event_type:,
49
+
50
+ type: :decisions
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ decisions: OpenAI::Live::DecisionTrigger::Decisions,
58
+ event_type: OpenAI::Live::DecisionTrigger::EventType::OrSymbol,
59
+ type: Symbol
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+
66
+ class Decisions < OpenAI::Internal::Type::BaseModel
67
+ OrHash = T.type_alias do
68
+ T.any(
69
+ OpenAI::Live::DecisionTrigger::Decisions,
70
+ OpenAI::Internal::AnyHash
71
+ )
72
+ end
73
+
74
+ # Native Decision API questions evaluated together, in order.
75
+ sig {
76
+ returns(
77
+ T::Array[
78
+ T.any(
79
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate,
80
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Choice,
81
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Score
82
+ )
83
+ ]
84
+ )
85
+ }
86
+ attr_accessor :questions
87
+
88
+ # Questions evaluated using the current transcript and the session's shared
89
+ # Decision items.
90
+ sig do
91
+ params(
92
+
93
+ questions: T::Array[
94
+ T.any(
95
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate::OrHash,
96
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::OrHash,
97
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Score::OrHash
98
+ )
99
+ ]
100
+ )
101
+ .returns(T.attached_class)
102
+ end
103
+ def self.new(
104
+
105
+ # Native Decision API questions evaluated together, in order.
106
+
107
+ questions:
108
+ )
109
+ end
110
+
111
+ sig do
112
+ override.returns(
113
+ {
114
+ questions: T::Array[
115
+ T.any(
116
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate,
117
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Choice,
118
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Score
119
+ )
120
+ ]
121
+ }
122
+ )
123
+ end
124
+ def to_hash
125
+ end
126
+
127
+ # A question about the request's input, with an optional correlation name.
128
+ module Question
129
+ extend OpenAI::Internal::Type::Union
130
+
131
+ Variants = T.type_alias {
132
+ T.any(
133
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate,
134
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Choice,
135
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Score
136
+ )
137
+ }
138
+
139
+ class Predicate < OpenAI::Internal::Type::BaseModel
140
+ OrHash = T.type_alias do
141
+ T.any(
142
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate,
143
+ OpenAI::Internal::AnyHash
144
+ )
145
+ end
146
+
147
+ sig { returns(String) }
148
+ attr_accessor :instructions
149
+
150
+ # The type of the object. Always `predicate`.
151
+ sig { returns(Symbol) }
152
+ attr_accessor :type
153
+
154
+ sig { returns(T.nilable(String)) }
155
+ attr_reader :name
156
+
157
+ sig { params(name: String).void }
158
+ attr_writer :name
159
+
160
+ # Estimate how likely it is that a statement about the input is true.
161
+ sig do
162
+ params(
163
+
164
+ instructions: String,
165
+
166
+ name: String,
167
+
168
+ type: Symbol
169
+ )
170
+ .returns(T.attached_class)
171
+ end
172
+ def self.new(
173
+
174
+ instructions:,
175
+
176
+ name: nil,
177
+
178
+ # The type of the object. Always `predicate`.
179
+
180
+ type: :predicate
181
+ )
182
+ end
183
+
184
+ sig do
185
+ override.returns(
186
+ {instructions: String, type: Symbol, name: String}
187
+ )
188
+ end
189
+ def to_hash
190
+ end
191
+
192
+ end
193
+
194
+ class Choice < OpenAI::Internal::Type::BaseModel
195
+ OrHash = T.type_alias do
196
+ T.any(
197
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Choice,
198
+ OpenAI::Internal::AnyHash
199
+ )
200
+ end
201
+
202
+ # Provide between 2 and 255 choices. Each choice must be unique.
203
+ sig { returns(T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice]) }
204
+ attr_accessor :choices
205
+
206
+ sig { returns(String) }
207
+ attr_accessor :instructions
208
+
209
+ # The type of the object. Always `choice`.
210
+ sig { returns(Symbol) }
211
+ attr_accessor :type
212
+
213
+ sig { returns(T.nilable(String)) }
214
+ attr_reader :name
215
+
216
+ sig { params(name: String).void }
217
+ attr_writer :name
218
+
219
+ # Choose from the supplied options based on the input.
220
+ sig do
221
+ params(
222
+
223
+ choices: T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice::OrHash],
224
+
225
+ instructions: String,
226
+
227
+ name: String,
228
+
229
+ type: Symbol
230
+ )
231
+ .returns(T.attached_class)
232
+ end
233
+ def self.new(
234
+
235
+ # Provide between 2 and 255 choices. Each choice must be unique.
236
+ choices:,
237
+
238
+ instructions:,
239
+
240
+ name: nil,
241
+
242
+ # The type of the object. Always `choice`.
243
+
244
+ type: :choice
245
+ )
246
+ end
247
+
248
+ sig do
249
+ override.returns(
250
+ {
251
+ choices: T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
252
+ instructions: String,
253
+ type: Symbol,
254
+ name: String
255
+ }
256
+ )
257
+ end
258
+ def to_hash
259
+ end
260
+
261
+ class Choice < OpenAI::Internal::Type::BaseModel
262
+ OrHash = T.type_alias do
263
+ T.any(
264
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice,
265
+ OpenAI::Internal::AnyHash
266
+ )
267
+ end
268
+
269
+ # Choice values are typed: a string and a boolean with the same text are distinct.
270
+ sig { returns(T.any(String, T::Boolean)) }
271
+ attr_accessor :value
272
+
273
+ sig { returns(T.nilable(String)) }
274
+ attr_reader :description
275
+
276
+ sig { params(description: String).void }
277
+ attr_writer :description
278
+
279
+ sig do
280
+ params(
281
+
282
+ value: T.any(String, T::Boolean),
283
+
284
+ description: String
285
+ )
286
+ .returns(T.attached_class)
287
+ end
288
+ def self.new(
289
+
290
+ # Choice values are typed: a string and a boolean with the same text are distinct.
291
+ value:,
292
+
293
+ description: nil
294
+ )
295
+ end
296
+
297
+ sig do
298
+ override.returns(
299
+ {value: T.any(String, T::Boolean), description: String}
300
+ )
301
+ end
302
+ def to_hash
303
+ end
304
+
305
+ # Choice values are typed: a string and a boolean with the same text are distinct.
306
+ module Value
307
+ extend OpenAI::Internal::Type::Union
308
+
309
+ Variants = T.type_alias { T.any(String, T::Boolean) }
310
+
311
+ sig {
312
+ override.returns(
313
+ T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice::Value::Variants]
314
+ )
315
+ }
316
+ def self.variants
317
+ end
318
+
319
+ end
320
+ end
321
+ end
322
+
323
+ class Score < OpenAI::Internal::Type::BaseModel
324
+ OrHash = T.type_alias do
325
+ T.any(
326
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Score,
327
+ OpenAI::Internal::AnyHash
328
+ )
329
+ end
330
+
331
+ sig { returns(String) }
332
+ attr_accessor :instructions
333
+
334
+ sig { returns(T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level]) }
335
+ attr_accessor :levels
336
+
337
+ # The type of the object. Always `score`.
338
+ sig { returns(Symbol) }
339
+ attr_accessor :type
340
+
341
+ sig { returns(T.nilable(String)) }
342
+ attr_reader :name
343
+
344
+ sig { params(name: String).void }
345
+ attr_writer :name
346
+
347
+ # Rate the input against the supplied ordered levels.
348
+ sig do
349
+ params(
350
+
351
+ instructions: String,
352
+
353
+ levels: T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level::OrHash],
354
+
355
+ name: String,
356
+
357
+ type: Symbol
358
+ )
359
+ .returns(T.attached_class)
360
+ end
361
+ def self.new(
362
+
363
+ instructions:,
364
+
365
+ levels:,
366
+
367
+ name: nil,
368
+
369
+ # The type of the object. Always `score`.
370
+
371
+ type: :score
372
+ )
373
+ end
374
+
375
+ sig do
376
+ override.returns(
377
+ {
378
+ instructions: String,
379
+ levels: T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
380
+ type: Symbol,
381
+ name: String
382
+ }
383
+ )
384
+ end
385
+ def to_hash
386
+ end
387
+
388
+ class Level < OpenAI::Internal::Type::BaseModel
389
+ OrHash = T.type_alias do
390
+ T.any(
391
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level,
392
+ OpenAI::Internal::AnyHash
393
+ )
394
+ end
395
+
396
+ sig { returns(String) }
397
+ attr_accessor :label
398
+
399
+ sig { returns(T.nilable(String)) }
400
+ attr_reader :description
401
+
402
+ sig { params(description: String).void }
403
+ attr_writer :description
404
+
405
+ sig do
406
+ params(
407
+
408
+ label: String,
409
+
410
+ description: String
411
+ )
412
+ .returns(T.attached_class)
413
+ end
414
+ def self.new(
415
+
416
+ label:,
417
+
418
+ description: nil
419
+ )
420
+ end
421
+
422
+ sig do
423
+ override.returns(
424
+ {label: String, description: String}
425
+ )
426
+ end
427
+ def to_hash
428
+ end
429
+
430
+ end
431
+ end
432
+
433
+ sig { override.returns(T::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Variants]) }
434
+ def self.variants
435
+ end
436
+
437
+ end
438
+ end
439
+
440
+ module EventType
441
+ extend OpenAI::Internal::Type::Enum
442
+
443
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::DecisionTrigger::EventType) }
444
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
445
+
446
+ SESSION_INPUT_TRANSCRIPT_DELTA = T.let(
447
+ :"session.input_transcript.delta",
448
+ OpenAI::Live::DecisionTrigger::EventType::TaggedSymbol
449
+ )
450
+ SESSION_OUTPUT_TRANSCRIPT_DELTA = T.let(
451
+ :"session.output_transcript.delta",
452
+ OpenAI::Live::DecisionTrigger::EventType::TaggedSymbol
453
+ )
454
+
455
+ sig { override.returns(T::Array[OpenAI::Live::DecisionTrigger::EventType::TaggedSymbol]) }
456
+ def self.values
457
+ end
458
+ end
459
+
460
+ end
461
+
462
+ end
463
+
464
+ end
465
+ end