openai 0.103.0 → 0.105.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 (407) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +98 -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 +15 -3
  79. data/lib/openai/models/image_edit_params.rb +28 -5
  80. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  81. data/lib/openai/models/image_gen_completed_event.rb +15 -3
  82. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  83. data/lib/openai/models/image_generate_params.rb +28 -5
  84. data/lib/openai/models/images_response.rb +15 -3
  85. data/lib/openai/models/live/built_in_voice.rb +1 -0
  86. data/lib/openai/models/live/client_event.rb +14 -2
  87. data/lib/openai/models/live/decision_create_event.rb +26 -0
  88. data/lib/openai/models/live/decision_event.rb +117 -0
  89. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  90. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  91. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  92. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  93. data/lib/openai/models/live/decision_trigger.rb +244 -0
  94. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  95. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  96. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  97. data/lib/openai/models/live/fork_client_event.rb +14 -2
  98. data/lib/openai/models/live/fork_server_event.rb +17 -2
  99. data/lib/openai/models/live/media_session_config.rb +47 -11
  100. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  101. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  102. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  103. data/lib/openai/models/live/server_event.rb +17 -2
  104. data/lib/openai/models/live/session_accept_params.rb +47 -11
  105. data/lib/openai/models/live/session_config.rb +47 -11
  106. data/lib/openai/models/live/session_resource.rb +47 -11
  107. data/lib/openai/models/live/session_update_config.rb +38 -6
  108. data/lib/openai/models/live/session_update_event.rb +8 -8
  109. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  110. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  111. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  112. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  113. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  114. data/lib/openai/models/response_format_json_schema.rb +1 -1
  115. data/lib/openai/models/responses/function_tool.rb +8 -6
  116. data/lib/openai/models/responses/response.rb +2 -23
  117. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  118. data/lib/openai/models/responses/response_create_params.rb +3 -6
  119. data/lib/openai/models/responses/response_error.rb +19 -1
  120. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  121. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  122. data/lib/openai/models/responses/response_input_item.rb +107 -1
  123. data/lib/openai/models/responses/response_item.rb +107 -1
  124. data/lib/openai/models/responses/response_output_item.rb +107 -1
  125. data/lib/openai/models/responses/response_output_text.rb +0 -8
  126. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  127. data/lib/openai/models/safety/safety_alert.rb +12 -1
  128. data/lib/openai/models/video_create_error.rb +19 -1
  129. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
  130. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  131. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  132. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  133. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  134. data/lib/openai/resources/audio/speech.rb +2 -1
  135. data/lib/openai/resources/audio/voices.rb +10 -10
  136. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  137. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  138. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  139. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  140. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  141. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  142. data/lib/openai/resources/beta/agents.rb +6 -4
  143. data/lib/openai/resources/beta/responses.rb +2 -2
  144. data/lib/openai/resources/chat/completions.rb +11 -37
  145. data/lib/openai/resources/decisions.rb +9 -15
  146. data/lib/openai/resources/files.rb +0 -39
  147. data/lib/openai/resources/images.rb +50 -12
  148. data/lib/openai/resources/live/forks.rb +19 -0
  149. data/lib/openai/resources/live/sideband.rb +19 -0
  150. data/lib/openai/resources/live.rb +19 -0
  151. data/lib/openai/resources/realtime/translations.rb +19 -0
  152. data/lib/openai/resources/realtime.rb +19 -0
  153. data/lib/openai/resources/responses.rb +44 -95
  154. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  155. data/lib/openai/resources/vector_stores/files.rb +0 -188
  156. data/lib/openai/resources/webhooks.rb +13 -29
  157. data/lib/openai/version.rb +1 -1
  158. data/lib/openai.rb +31 -0
  159. data/rbi/openai/client.rbi +0 -103
  160. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  161. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  162. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  163. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  164. data/rbi/openai/helpers/files.rbi +25 -0
  165. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  166. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  167. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  168. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  169. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  170. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  171. data/rbi/openai/helpers/websocket.rbi +82 -0
  172. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  173. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  174. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  175. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  176. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  177. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  178. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  179. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  180. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  181. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  182. data/rbi/openai/models/audio/voice.rbi +21 -2
  183. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  184. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  185. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  186. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  187. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  188. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  189. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  190. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  191. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  192. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  193. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  194. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  195. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  196. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  197. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  198. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  199. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  200. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  201. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  202. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  203. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  204. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  205. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  206. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  207. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  208. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  209. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  210. data/rbi/openai/models/decision.rbi +14 -1
  211. data/rbi/openai/models/decision_create_params.rbi +23 -12
  212. data/rbi/openai/models/decision_input_image.rbi +4 -3
  213. data/rbi/openai/models/decision_input_message.rbi +4 -4
  214. data/rbi/openai/models/decision_input_part.rbi +2 -1
  215. data/rbi/openai/models/image_edit_completed_event.rbi +16 -1
  216. data/rbi/openai/models/image_edit_params.rbi +26 -4
  217. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  218. data/rbi/openai/models/image_gen_completed_event.rbi +16 -1
  219. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  220. data/rbi/openai/models/image_generate_params.rbi +26 -4
  221. data/rbi/openai/models/images_response.rbi +15 -0
  222. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  223. data/rbi/openai/models/live/client_event.rbi +4 -0
  224. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  225. data/rbi/openai/models/live/decision_event.rbi +185 -0
  226. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  227. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  228. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  229. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  230. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  231. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  232. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  233. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  234. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  235. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  236. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  237. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  238. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  239. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  240. data/rbi/openai/models/live/server_event.rbi +5 -0
  241. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  242. data/rbi/openai/models/live/session_config.rbi +100 -14
  243. data/rbi/openai/models/live/session_resource.rbi +81 -10
  244. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  245. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  246. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  247. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  248. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  249. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  250. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  251. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  252. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  253. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  254. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  255. data/rbi/openai/models/responses/response.rbi +2 -7
  256. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  257. data/rbi/openai/models/responses/response_error.rbi +24 -3
  258. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  259. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  260. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  261. data/rbi/openai/models/responses/response_item.rbi +189 -0
  262. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  263. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  264. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  265. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  266. data/rbi/openai/models/video_create_error.rbi +24 -3
  267. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
  268. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  269. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  270. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  271. data/rbi/openai/resources/audio/speech.rbi +2 -1
  272. data/rbi/openai/resources/audio/voices.rbi +13 -10
  273. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  274. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  275. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  276. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  277. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  278. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  279. data/rbi/openai/resources/beta/agents.rbi +6 -4
  280. data/rbi/openai/resources/beta/responses.rbi +2 -2
  281. data/rbi/openai/resources/chat/completions.rbi +26 -29
  282. data/rbi/openai/resources/decisions.rbi +9 -15
  283. data/rbi/openai/resources/files.rbi +0 -18
  284. data/rbi/openai/resources/images.rbi +44 -8
  285. data/rbi/openai/resources/live/forks.rbi +17 -0
  286. data/rbi/openai/resources/live/sideband.rbi +17 -0
  287. data/rbi/openai/resources/live.rbi +17 -0
  288. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  289. data/rbi/openai/resources/realtime.rbi +17 -0
  290. data/rbi/openai/resources/responses.rbi +41 -333
  291. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  292. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  293. data/rbi/openai/resources/webhooks.rbi +1 -1
  294. data/sig/openai/client.rbs +0 -50
  295. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  296. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  297. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  298. data/sig/openai/helpers/client_runtime.rbs +53 -0
  299. data/sig/openai/helpers/files.rbs +12 -0
  300. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  301. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  302. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  303. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  304. data/sig/openai/helpers/websocket.rbs +40 -0
  305. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  306. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  307. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  308. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  309. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  310. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  311. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  312. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  313. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  314. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  315. data/sig/openai/models/audio/voice.rbs +21 -3
  316. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  317. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  318. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  319. data/sig/openai/models/beta/agent_session.rbs +36 -2
  320. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  321. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  322. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  323. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  324. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  325. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  326. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  327. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  328. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  329. data/sig/openai/models/beta/beta_response.rbs +2 -2
  330. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  331. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  332. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  333. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  334. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  335. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  336. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  337. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  338. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  339. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  340. data/sig/openai/models/decision.rbs +13 -0
  341. data/sig/openai/models/decision_create_params.rbs +19 -8
  342. data/sig/openai/models/decision_input_image.rbs +2 -2
  343. data/sig/openai/models/decision_input_message.rbs +2 -2
  344. data/sig/openai/models/image_edit_completed_event.rbs +14 -2
  345. data/sig/openai/models/image_edit_params.rbs +27 -6
  346. data/sig/openai/models/image_gen_completed_event.rbs +14 -2
  347. data/sig/openai/models/image_generate_params.rbs +27 -6
  348. data/sig/openai/models/images_response.rbs +12 -0
  349. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  350. data/sig/openai/models/live/client_event.rbs +4 -0
  351. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  352. data/sig/openai/models/live/decision_event.rbs +102 -0
  353. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  354. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  355. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  356. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  357. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  358. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  359. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  360. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  361. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  362. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  363. data/sig/openai/models/live/media_session_config.rbs +58 -11
  364. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  365. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  366. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  367. data/sig/openai/models/live/server_event.rbs +5 -0
  368. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  369. data/sig/openai/models/live/session_config.rbs +58 -11
  370. data/sig/openai/models/live/session_resource.rbs +57 -10
  371. data/sig/openai/models/live/session_update_config.rbs +54 -3
  372. data/sig/openai/models/live/session_update_event.rbs +6 -6
  373. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  374. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  375. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  376. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  377. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  378. data/sig/openai/models/responses/response.rbs +2 -4
  379. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  380. data/sig/openai/models/responses/response_error.rbs +19 -3
  381. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  382. data/sig/openai/models/responses/response_item.rbs +110 -0
  383. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  384. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  385. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  386. data/sig/openai/models/video_create_error.rbs +19 -3
  387. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
  388. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  389. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  390. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  391. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  392. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  393. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  394. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  395. data/sig/openai/resources/beta/agents.rbs +1 -1
  396. data/sig/openai/resources/files.rbs +0 -7
  397. data/sig/openai/resources/images.rbs +4 -0
  398. data/sig/openai/resources/live/forks.rbs +8 -0
  399. data/sig/openai/resources/live/sideband.rbs +8 -0
  400. data/sig/openai/resources/live.rbs +7 -0
  401. data/sig/openai/resources/realtime/translations.rbs +7 -0
  402. data/sig/openai/resources/realtime.rbs +7 -0
  403. data/sig/openai/resources/responses.rbs +7 -31
  404. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  405. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  406. data/sig/openai/resources/webhooks.rbs +1 -1
  407. metadata +89 -1
@@ -0,0 +1,202 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decisions_delegation_update_config =
5
+ {
6
+ ?model: String,
7
+ ?questions: ::Array[OpenAI::Models::Live::DecisionsDelegationUpdateConfig::question]
8
+ }
9
+
10
+ class DecisionsDelegationUpdateConfig < OpenAI::Internal::Type::BaseModel
11
+ attr_reader model: String?
12
+
13
+ def model=: (String) -> String
14
+
15
+ # Native Decision API questions evaluated together, in order.
16
+ attr_reader questions: ::Array[OpenAI::Models::Live::DecisionsDelegationUpdateConfig::question]?
17
+
18
+ # Native Decision API questions evaluated together, in order.
19
+ def questions=: (
20
+ ::Array[OpenAI::Models::Live::DecisionsDelegationUpdateConfig::question]
21
+ ) -> ::Array[OpenAI::Models::Live::DecisionsDelegationUpdateConfig::question]
22
+
23
+ # @param questions
24
+ # Native Decision API questions evaluated together, in order.
25
+ def initialize: (
26
+ ?model: String,
27
+ ?questions: ::Array[OpenAI::Models::Live::DecisionsDelegationUpdateConfig::question]
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ ?model: String,
32
+ ?questions: ::Array[OpenAI::Models::Live::DecisionsDelegationUpdateConfig::question]
33
+ }
34
+
35
+ type question =
36
+ OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Predicate
37
+ | OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice
38
+ | OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score
39
+
40
+ module Question
41
+ extend OpenAI::Internal::Type::Union
42
+
43
+ type predicate =
44
+ { instructions: String, ?type: :predicate, ?name: String }
45
+
46
+ class Predicate < OpenAI::Internal::Type::BaseModel
47
+ attr_accessor instructions: String
48
+
49
+ # The type of the object. Always `predicate`.
50
+ attr_accessor type: :predicate
51
+
52
+ attr_reader name: String?
53
+
54
+ def name=: (String) -> String
55
+
56
+ # @param type
57
+ # The type of the object. Always `predicate`.
58
+ def initialize: (
59
+ instructions: String,
60
+ ?name: String,
61
+ ?type: :predicate
62
+ ) -> void
63
+
64
+ def to_hash: -> {
65
+ instructions: String,
66
+ ?type: :predicate,
67
+ ?name: String
68
+ }
69
+ end
70
+
71
+ type choice =
72
+ {
73
+ choices: ::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice],
74
+ instructions: String,
75
+ ?type: :choice,
76
+ ?name: String
77
+ }
78
+
79
+ class Choice < OpenAI::Internal::Type::BaseModel
80
+ # Provide between 2 and 255 choices. Each choice must be unique.
81
+ attr_accessor choices: ::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice]
82
+
83
+ attr_accessor instructions: String
84
+
85
+ # The type of the object. Always `choice`.
86
+ attr_accessor type: :choice
87
+
88
+ attr_reader name: String?
89
+
90
+ def name=: (String) -> String
91
+
92
+ # @param choices
93
+ # Provide between 2 and 255 choices. Each choice must be unique.
94
+ # @param type
95
+ # The type of the object. Always `choice`.
96
+ def initialize: (
97
+ choices: ::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice],
98
+ instructions: String,
99
+ ?name: String,
100
+ ?type: :choice
101
+ ) -> void
102
+
103
+ def to_hash: -> {
104
+ choices: ::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice],
105
+ instructions: String,
106
+ ?type: :choice,
107
+ ?name: String
108
+ }
109
+
110
+ type choice =
111
+ {
112
+ value: OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice::value,
113
+ ?description: String
114
+ }
115
+
116
+ class Choice < OpenAI::Internal::Type::BaseModel
117
+ # Choice values are typed: a string and a boolean with the same text are distinct.
118
+ attr_accessor value: OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice::value
119
+
120
+ attr_reader description: String?
121
+
122
+ def description=: (String) -> String
123
+
124
+ # @param value
125
+ # Choice values are typed: a string and a boolean with the same text are distinct.
126
+ def initialize: (
127
+ value: OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice::value,
128
+ ?description: String
129
+ ) -> void
130
+
131
+ def to_hash: -> {
132
+ value: OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice::value,
133
+ ?description: String
134
+ }
135
+
136
+ type value = String | bool
137
+
138
+ module Value
139
+ extend OpenAI::Internal::Type::Union
140
+
141
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionsDelegationUpdateConfig::Question::Choice::Choice::value]
142
+ end
143
+ end
144
+ end
145
+
146
+ type score =
147
+ {
148
+ instructions: String,
149
+ levels: ::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level],
150
+ ?type: :score,
151
+ ?name: String
152
+ }
153
+
154
+ class Score < OpenAI::Internal::Type::BaseModel
155
+ attr_accessor instructions: String
156
+
157
+ attr_accessor levels: ::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level]
158
+
159
+ # The type of the object. Always `score`.
160
+ attr_accessor type: :score
161
+
162
+ attr_reader name: String?
163
+
164
+ def name=: (String) -> String
165
+
166
+ # @param type
167
+ # The type of the object. Always `score`.
168
+ def initialize: (
169
+ instructions: String,
170
+ levels: ::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level],
171
+ ?name: String,
172
+ ?type: :score
173
+ ) -> void
174
+
175
+ def to_hash: -> {
176
+ instructions: String,
177
+ levels: ::Array[OpenAI::Live::DecisionsDelegationUpdateConfig::Question::Score::Level],
178
+ ?type: :score,
179
+ ?name: String
180
+ }
181
+
182
+ type level = { label: String, ?description: String }
183
+
184
+ class Level < OpenAI::Internal::Type::BaseModel
185
+ attr_accessor label: String
186
+
187
+ attr_reader description: String?
188
+
189
+ def description=: (String) -> String
190
+
191
+ def initialize: (label: String, ?description: String) -> void
192
+
193
+ def to_hash: -> { label: String, ?description: String }
194
+ end
195
+ end
196
+
197
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionsDelegationUpdateConfig::question]
198
+ end
199
+ end
200
+ end
201
+ end
202
+ end
@@ -72,11 +72,10 @@ module OpenAI
72
72
 
73
73
  class Delegation < OpenAI::Internal::Type::BaseModel
74
74
  # The unique ID of the delegation. Use this as delegation_id when replying to
75
- # client-owned work or correlating Responses events.
75
+ # client-owned work or correlating backend events.
76
76
  attr_accessor id: String
77
77
 
78
- # Where the Live model delegated the work: `client` for your application, or
79
- # `responses` for the configured Responses backend.
78
+ # Where the Live model delegated the work: `client`, `responses`, or `decisions`.
80
79
  attr_accessor target: OpenAI::Models::Live::DelegationCreatedEvent::Delegation::target
81
80
 
82
81
  # The object type, always `delegation`.
@@ -92,10 +91,9 @@ module OpenAI
92
91
 
93
92
  # @param id
94
93
  # The unique ID of the delegation. Use this as delegation_id when replying to
95
- # client-owned work or correlating Responses events.
94
+ # client-owned work or correlating backend events.
96
95
  # @param target
97
- # Where the Live model delegated the work: `client` for your application, or
98
- # `responses` for the configured Responses backend.
96
+ # Where the Live model delegated the work: `client`, `responses`, or `decisions`.
99
97
  # @param response_id
100
98
  # The ID of the Responses API response associated with a Responses delegation.
101
99
  # Omitted for client delegations.
@@ -115,7 +113,7 @@ module OpenAI
115
113
  ?response_id: String
116
114
  }
117
115
 
118
- type target = :client | :responses
116
+ type target = :client | :responses | :decisions
119
117
 
120
118
  module Target
121
119
  extend OpenAI::Internal::Type::Union
@@ -124,6 +122,7 @@ module OpenAI
124
122
 
125
123
  CLIENT: :client
126
124
  RESPONSES: :responses
125
+ DECISIONS: :decisions
127
126
  end
128
127
  end
129
128
  end
@@ -7,9 +7,13 @@ module OpenAI
7
7
  | OpenAI::Live::InputAudioAppendEvent
8
8
  | OpenAI::Live::InputAudioMuteEvent
9
9
  | OpenAI::Live::InputAudioUnmuteEvent
10
+ | OpenAI::Live::OutputAudioFixturePlayEvent
10
11
  | OpenAI::Live::InstructionsAppendEvent
11
12
  | OpenAI::Live::ThinkingAppendEvent
12
13
  | OpenAI::Live::CommentaryAppendEvent
14
+ | OpenAI::Live::DecisionCreateEvent
15
+ | OpenAI::Live::DecisionItemCreateEvent
16
+ | OpenAI::Live::DecisionItemDeleteEvent
13
17
  | OpenAI::Live::ResponseItemCreateEvent
14
18
  | OpenAI::Live::ResponseCreateEvent
15
19
  | OpenAI::Live::SessionCloseEvent
@@ -6,6 +6,8 @@ module OpenAI
6
6
  | OpenAI::Live::SessionUpdatedEvent
7
7
  | OpenAI::Live::InputAudioMutedEvent
8
8
  | OpenAI::Live::InputAudioUnmutedEvent
9
+ | OpenAI::Live::OutputAudioFixturePlayingEvent
10
+ | OpenAI::Live::OutputAudioFixturePlayedEvent
9
11
  | OpenAI::Live::InstructionsAppendedEvent
10
12
  | OpenAI::Live::ThinkingAppendedEvent
11
13
  | OpenAI::Live::CommentaryAppendedEvent
@@ -14,6 +16,9 @@ module OpenAI
14
16
  | OpenAI::Live::InputTranscriptDeltaEvent
15
17
  | OpenAI::Live::OutputTranscriptDeltaEvent
16
18
  | OpenAI::Live::DelegationCreatedEvent
19
+ | OpenAI::Live::DecisionEvent
20
+ | OpenAI::Live::DecisionItemCreatedEvent
21
+ | OpenAI::Live::DecisionItemDeletedEvent
17
22
  | OpenAI::Live::ResponseEvent
18
23
  | OpenAI::Live::SessionUsageUpdatedEvent
19
24
  | OpenAI::Live::SessionClosedEvent
@@ -9,7 +9,8 @@ module OpenAI
9
9
  ?delegation: OpenAI::Models::Live::MediaSessionConfig::delegation?,
10
10
  ?input: ::Array[OpenAI::Models::Live::initial_item],
11
11
  ?instructions: String?,
12
- ?store: bool
12
+ ?store: bool,
13
+ ?triggers: ::Array[OpenAI::Live::DecisionTrigger]
13
14
  }
14
15
 
15
16
  class MediaSessionConfig < OpenAI::Internal::Type::BaseModel
@@ -36,17 +37,18 @@ module OpenAI
36
37
  def client=: (OpenAI::Live::ClientConfig) -> OpenAI::Live::ClientConfig
37
38
 
38
39
  # Who handles tasks delegated by the Live model. Omitted or null selects your
39
- # application; use `responses` to let the API manage a Responses backend.
40
+ # application; use `responses` or `decisions` to delegate to the corresponding
41
+ # API.
40
42
  attr_accessor delegation: OpenAI::Models::Live::MediaSessionConfig::delegation?
41
43
 
42
44
  # Ordered text-only history supplied before startup. Supports developer, user, and
43
- # assistant messages with one text part each; at most 128 messages and 8,192
44
- # rendered tokens in total.
45
+ # assistant messages with one text part each; at most 128 messages and a
46
+ # configured rendered-token limit (8,192 by default).
45
47
  attr_reader input: ::Array[OpenAI::Models::Live::initial_item]?
46
48
 
47
49
  # Ordered text-only history supplied before startup. Supports developer, user, and
48
- # assistant messages with one text part each; at most 128 messages and 8,192
49
- # rendered tokens in total.
50
+ # assistant messages with one text part each; at most 128 messages and a
51
+ # configured rendered-token limit (8,192 by default).
50
52
  def input=: (
51
53
  ::Array[OpenAI::Models::Live::initial_item]
52
54
  ) -> ::Array[OpenAI::Models::Live::initial_item]
@@ -68,6 +70,20 @@ module OpenAI
68
70
  # to false for new sessions.
69
71
  def store=: (bool) -> bool
70
72
 
73
+ # At most one Decisions trigger per transcript event type. Triggers run
74
+ # independently of delegation. On update, omit triggers to keep the current
75
+ # configuration, send a list to replace it, or send an empty list to disable
76
+ # triggers.
77
+ attr_reader triggers: ::Array[OpenAI::Live::DecisionTrigger]?
78
+
79
+ # At most one Decisions trigger per transcript event type. Triggers run
80
+ # independently of delegation. On update, omit triggers to keep the current
81
+ # configuration, send a list to replace it, or send an empty list to disable
82
+ # triggers.
83
+ def triggers=: (
84
+ ::Array[OpenAI::Live::DecisionTrigger]
85
+ ) -> ::Array[OpenAI::Live::DecisionTrigger]
86
+
71
87
  # @param model
72
88
  # The Live model. Required in the session configuration for every transport; do
73
89
  # not pass it as a URL query parameter.
@@ -79,11 +95,12 @@ module OpenAI
79
95
  # session. Trusted sideband connections are unaffected.
80
96
  # @param delegation
81
97
  # Who handles tasks delegated by the Live model. Omitted or null selects your
82
- # application; use `responses` to let the API manage a Responses backend.
98
+ # application; use `responses` or `decisions` to delegate to the corresponding
99
+ # API.
83
100
  # @param input
84
101
  # Ordered text-only history supplied before startup. Supports developer, user, and
85
- # assistant messages with one text part each; at most 128 messages and 8,192
86
- # rendered tokens in total.
102
+ # assistant messages with one text part each; at most 128 messages and a
103
+ # configured rendered-token limit (8,192 by default).
87
104
  # @param instructions
88
105
  # Frontend instructions for voice, conversation, interruptions, and when to
89
106
  # delegate. Start with the
@@ -95,6 +112,11 @@ module OpenAI
95
112
  # @param store
96
113
  # Whether to store the session for later forking and recording download. Defaults
97
114
  # to false for new sessions.
115
+ # @param triggers
116
+ # At most one Decisions trigger per transcript event type. Triggers run
117
+ # independently of delegation. On update, omit triggers to keep the current
118
+ # configuration, send a list to replace it, or send an empty list to disable
119
+ # triggers.
98
120
  def initialize: (
99
121
  model: OpenAI::Models::Live::MediaSessionConfig::model,
100
122
  ?audio: OpenAI::Live::MediaSessionConfig::Audio,
@@ -102,7 +124,8 @@ module OpenAI
102
124
  ?delegation: OpenAI::Models::Live::MediaSessionConfig::delegation?,
103
125
  ?input: ::Array[OpenAI::Models::Live::initial_item],
104
126
  ?instructions: String?,
105
- ?store: bool
127
+ ?store: bool,
128
+ ?triggers: ::Array[OpenAI::Live::DecisionTrigger]
106
129
  ) -> void
107
130
 
108
131
  def to_hash: -> {
@@ -112,7 +135,8 @@ module OpenAI
112
135
  ?delegation: OpenAI::Models::Live::MediaSessionConfig::delegation?,
113
136
  ?input: ::Array[OpenAI::Models::Live::initial_item],
114
137
  ?instructions: String?,
115
- ?store: bool
138
+ ?store: bool,
139
+ ?triggers: ::Array[OpenAI::Live::DecisionTrigger]
116
140
  }
117
141
 
118
142
  type model = String | :"gpt-live-1"
@@ -193,6 +217,7 @@ module OpenAI
193
217
  type delegation =
194
218
  OpenAI::Live::ClientDelegation
195
219
  | OpenAI::Live::MediaSessionConfig::Delegation::Responses
220
+ | OpenAI::Live::MediaSessionConfig::Delegation::Decisions
196
221
 
197
222
  module Delegation
198
223
  extend OpenAI::Internal::Type::Union
@@ -227,6 +252,28 @@ module OpenAI
227
252
  }
228
253
  end
229
254
 
255
+ type decisions =
256
+ {
257
+ decisions: OpenAI::Live::DecisionsDelegationConfig,
258
+ ?type: :decisions
259
+ }
260
+
261
+ class Decisions < OpenAI::Internal::Type::BaseModel
262
+ attr_accessor decisions: OpenAI::Live::DecisionsDelegationConfig
263
+
264
+ attr_accessor type: :decisions
265
+
266
+ def initialize: (
267
+ decisions: OpenAI::Live::DecisionsDelegationConfig,
268
+ ?type: :decisions
269
+ ) -> void
270
+
271
+ def to_hash: -> {
272
+ decisions: OpenAI::Live::DecisionsDelegationConfig,
273
+ ?type: :decisions
274
+ }
275
+ end
276
+
230
277
  def self?.variants: -> ::Array[OpenAI::Models::Live::MediaSessionConfig::delegation]
231
278
  end
232
279
  end
@@ -0,0 +1,42 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type output_audio_fixture_play_event =
5
+ {
6
+ audio: String,
7
+ ?type: :"session.output_audio.fixture.play",
8
+ ?event_id: String?
9
+ }
10
+
11
+ class OutputAudioFixturePlayEvent < OpenAI::Internal::Type::BaseModel
12
+ # Base64-encoded raw mono PCM16 audio, little-endian, at 24 kHz. Do not include a
13
+ # WAV or other container header.
14
+ attr_accessor audio: String
15
+
16
+ attr_accessor type: :"session.output_audio.fixture.play"
17
+
18
+ # Optional client identifier for correlating this command with a server event's
19
+ # client_event_id or error.client_event_id.
20
+ attr_accessor event_id: String?
21
+
22
+ # @param audio
23
+ # Base64-encoded raw mono PCM16 audio, little-endian, at 24 kHz. Do not include a
24
+ # WAV or other container header.
25
+ # @param event_id
26
+ # Optional client identifier for correlating this command with a server event's
27
+ # client_event_id or error.client_event_id.
28
+ def initialize: (
29
+ audio: String,
30
+ ?event_id: String?,
31
+ ?type: :"session.output_audio.fixture.play"
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ audio: String,
36
+ ?type: :"session.output_audio.fixture.play",
37
+ ?event_id: String?
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,44 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type output_audio_fixture_played_event =
5
+ {
6
+ event_id: String,
7
+ ?type: :"session.output_audio.fixture.played",
8
+ ?client_event_id: String
9
+ }
10
+
11
+ class OutputAudioFixturePlayedEvent < OpenAI::Internal::Type::BaseModel
12
+ # The unique ID of the Live server event.
13
+ attr_accessor event_id: String
14
+
15
+ attr_accessor type: :"session.output_audio.fixture.played"
16
+
17
+ # The event_id of the client command associated with this server event, when
18
+ # supplied.
19
+ attr_reader client_event_id: String?
20
+
21
+ # The event_id of the client command associated with this server event, when
22
+ # supplied.
23
+ def client_event_id=: (String) -> String
24
+
25
+ # @param event_id
26
+ # The unique ID of the Live server event.
27
+ # @param client_event_id
28
+ # The event_id of the client command associated with this server event, when
29
+ # supplied.
30
+ def initialize: (
31
+ event_id: String,
32
+ ?client_event_id: String,
33
+ ?type: :"session.output_audio.fixture.played"
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ event_id: String,
38
+ ?type: :"session.output_audio.fixture.played",
39
+ ?client_event_id: String
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,44 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type output_audio_fixture_playing_event =
5
+ {
6
+ event_id: String,
7
+ ?type: :"session.output_audio.fixture.playing",
8
+ ?client_event_id: String
9
+ }
10
+
11
+ class OutputAudioFixturePlayingEvent < OpenAI::Internal::Type::BaseModel
12
+ # The unique ID of the Live server event.
13
+ attr_accessor event_id: String
14
+
15
+ attr_accessor type: :"session.output_audio.fixture.playing"
16
+
17
+ # The event_id of the client command associated with this server event, when
18
+ # supplied.
19
+ attr_reader client_event_id: String?
20
+
21
+ # The event_id of the client command associated with this server event, when
22
+ # supplied.
23
+ def client_event_id=: (String) -> String
24
+
25
+ # @param event_id
26
+ # The unique ID of the Live server event.
27
+ # @param client_event_id
28
+ # The event_id of the client command associated with this server event, when
29
+ # supplied.
30
+ def initialize: (
31
+ event_id: String,
32
+ ?client_event_id: String,
33
+ ?type: :"session.output_audio.fixture.playing"
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ event_id: String,
38
+ ?type: :"session.output_audio.fixture.playing",
39
+ ?client_event_id: String
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
@@ -6,6 +6,8 @@ module OpenAI
6
6
  | OpenAI::Live::SessionUpdatedEvent
7
7
  | OpenAI::Live::InputAudioMutedEvent
8
8
  | OpenAI::Live::InputAudioUnmutedEvent
9
+ | OpenAI::Live::OutputAudioFixturePlayingEvent
10
+ | OpenAI::Live::OutputAudioFixturePlayedEvent
9
11
  | OpenAI::Live::InstructionsAppendedEvent
10
12
  | OpenAI::Live::ThinkingAppendedEvent
11
13
  | OpenAI::Live::CommentaryAppendedEvent
@@ -14,6 +16,9 @@ module OpenAI
14
16
  | OpenAI::Live::InputTranscriptDeltaEvent
15
17
  | OpenAI::Live::OutputTranscriptDeltaEvent
16
18
  | OpenAI::Live::DelegationCreatedEvent
19
+ | OpenAI::Live::DecisionEvent
20
+ | OpenAI::Live::DecisionItemCreatedEvent
21
+ | OpenAI::Live::DecisionItemDeletedEvent
17
22
  | OpenAI::Live::ResponseEvent
18
23
  | OpenAI::Live::SessionUsageUpdatedEvent
19
24
  | OpenAI::Live::SessionClosedEvent