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,195 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_item_created_event =
5
+ {
6
+ event_id: String,
7
+ item: OpenAI::Live::DecisionItemCreatedEvent::Item,
8
+ ?type: :"decision.item.created",
9
+ ?client_event_id: String
10
+ }
11
+
12
+ class DecisionItemCreatedEvent < OpenAI::Internal::Type::BaseModel
13
+ # The unique ID of the Live server event.
14
+ attr_accessor event_id: String
15
+
16
+ attr_accessor item: OpenAI::Live::DecisionItemCreatedEvent::Item
17
+
18
+ attr_accessor type: :"decision.item.created"
19
+
20
+ # The event_id of the client command associated with this server event, when
21
+ # supplied.
22
+ attr_reader client_event_id: String?
23
+
24
+ # The event_id of the client command associated with this server event, when
25
+ # supplied.
26
+ def client_event_id=: (String) -> String
27
+
28
+ # @param event_id
29
+ # The unique ID of the Live server event.
30
+ # @param client_event_id
31
+ # The event_id of the client command associated with this server event, when
32
+ # supplied.
33
+ def initialize: (
34
+ event_id: String,
35
+ item: OpenAI::Live::DecisionItemCreatedEvent::Item,
36
+ ?client_event_id: String,
37
+ ?type: :"decision.item.created"
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ event_id: String,
42
+ item: OpenAI::Live::DecisionItemCreatedEvent::Item,
43
+ ?type: :"decision.item.created",
44
+ ?client_event_id: String
45
+ }
46
+
47
+ type item =
48
+ {
49
+ id: String,
50
+ content: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::content,
51
+ ?role: :user,
52
+ ?type: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::type_
53
+ }
54
+
55
+ class Item < OpenAI::Internal::Type::BaseModel
56
+ # The ID of the stored Decision input item.
57
+ attr_accessor id: String
58
+
59
+ # The text input to the model.
60
+ attr_accessor content: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::content
61
+
62
+ # The message role. Always `user`.
63
+ attr_accessor role: :user
64
+
65
+ attr_reader type: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::type_?
66
+
67
+ def type=: (
68
+ OpenAI::Models::Live::DecisionItemCreatedEvent::Item::type_
69
+ ) -> OpenAI::Models::Live::DecisionItemCreatedEvent::Item::type_
70
+
71
+ # @param id
72
+ # The ID of the stored Decision input item.
73
+ # @param content
74
+ # The text input to the model.
75
+ # @param role
76
+ # The message role. Always `user`.
77
+ def initialize: (
78
+ id: String,
79
+ content: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::content,
80
+ ?type: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::type_,
81
+ ?role: :user
82
+ ) -> void
83
+
84
+ def to_hash: -> {
85
+ id: String,
86
+ content: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::content,
87
+ ?role: :user,
88
+ ?type: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::type_
89
+ }
90
+
91
+ type content =
92
+ String
93
+ | ::Array[OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::part]
94
+
95
+ module Content
96
+ extend OpenAI::Internal::Type::Union
97
+
98
+ type part =
99
+ OpenAI::Live::DecisionItemCreatedEvent::Item::Content::Part::InputText
100
+ | OpenAI::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage
101
+
102
+ module Part
103
+ extend OpenAI::Internal::Type::Union
104
+
105
+ type input_text = { text: String, ?type: :input_text }
106
+
107
+ class InputText < OpenAI::Internal::Type::BaseModel
108
+ # The text input to the model.
109
+ attr_accessor text: String
110
+
111
+ # The type of the input item. Always `input_text`.
112
+ attr_accessor type: :input_text
113
+
114
+ # @param text
115
+ # The text input to the model.
116
+ # @param type
117
+ # The type of the input item. Always `input_text`.
118
+ def initialize: (text: String, ?type: :input_text) -> void
119
+
120
+ def to_hash: -> { text: String, ?type: :input_text }
121
+ end
122
+
123
+ type input_image =
124
+ {
125
+ image_url: String,
126
+ ?type: :input_image,
127
+ ?detail: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage::detail?
128
+ }
129
+
130
+ class InputImage < OpenAI::Internal::Type::BaseModel
131
+ # An inline image encoded as a data URL.
132
+ attr_accessor image_url: String
133
+
134
+ # The type of the input item. Always `input_image`.
135
+ attr_accessor type: :input_image
136
+
137
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
138
+ # `auto`, or `original`. Defaults to `auto`.
139
+ attr_accessor detail: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage::detail?
140
+
141
+ # @param image_url
142
+ # An inline image encoded as a data URL.
143
+ # @param detail
144
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
145
+ # `auto`, or `original`. Defaults to `auto`.
146
+ # @param type
147
+ # The type of the input item. Always `input_image`.
148
+ def initialize: (
149
+ image_url: String,
150
+ ?detail: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage::detail?,
151
+ ?type: :input_image
152
+ ) -> void
153
+
154
+ def to_hash: -> {
155
+ image_url: String,
156
+ ?type: :input_image,
157
+ ?detail: OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage::detail?
158
+ }
159
+
160
+ type detail = :low | :high | :auto | :original
161
+
162
+ module Detail
163
+ extend OpenAI::Internal::Type::Enum
164
+
165
+ LOW: :low
166
+ HIGH: :high
167
+ AUTO: :auto
168
+ ORIGINAL: :original
169
+
170
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::Part::InputImage::detail]
171
+ end
172
+ end
173
+
174
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionItemCreatedEvent::Item::Content::part]
175
+ end
176
+
177
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionItemCreatedEvent::Item::content]
178
+
179
+ PartsArray: OpenAI::Internal::Type::Converter
180
+ end
181
+
182
+ type type_ = :message
183
+
184
+ module Type
185
+ extend OpenAI::Internal::Type::Enum
186
+
187
+ MESSAGE: :message
188
+
189
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionItemCreatedEvent::Item::type_]
190
+ end
191
+ end
192
+ end
193
+ end
194
+ end
195
+ end
@@ -0,0 +1,33 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_item_delete_event =
5
+ { item_id: String, ?type: :"decision.item.delete", ?event_id: String? }
6
+
7
+ class DecisionItemDeleteEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor item_id: String
9
+
10
+ attr_accessor type: :"decision.item.delete"
11
+
12
+ # Optional client identifier for correlating this command with a server event's
13
+ # client_event_id or error.client_event_id.
14
+ attr_accessor event_id: String?
15
+
16
+ # @param event_id
17
+ # Optional client identifier for correlating this command with a server event's
18
+ # client_event_id or error.client_event_id.
19
+ def initialize: (
20
+ item_id: String,
21
+ ?event_id: String?,
22
+ ?type: :"decision.item.delete"
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ item_id: String,
27
+ ?type: :"decision.item.delete",
28
+ ?event_id: String?
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
@@ -0,0 +1,49 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_item_deleted_event =
5
+ {
6
+ event_id: String,
7
+ item_id: String,
8
+ ?type: :"decision.item.deleted",
9
+ ?client_event_id: String
10
+ }
11
+
12
+ class DecisionItemDeletedEvent < OpenAI::Internal::Type::BaseModel
13
+ # The unique ID of the Live server event.
14
+ attr_accessor event_id: String
15
+
16
+ attr_accessor item_id: String
17
+
18
+ attr_accessor type: :"decision.item.deleted"
19
+
20
+ # The event_id of the client command associated with this server event, when
21
+ # supplied.
22
+ attr_reader client_event_id: String?
23
+
24
+ # The event_id of the client command associated with this server event, when
25
+ # supplied.
26
+ def client_event_id=: (String) -> String
27
+
28
+ # @param event_id
29
+ # The unique ID of the Live server event.
30
+ # @param client_event_id
31
+ # The event_id of the client command associated with this server event, when
32
+ # supplied.
33
+ def initialize: (
34
+ event_id: String,
35
+ item_id: String,
36
+ ?client_event_id: String,
37
+ ?type: :"decision.item.deleted"
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ event_id: String,
42
+ item_id: String,
43
+ ?type: :"decision.item.deleted",
44
+ ?client_event_id: String
45
+ }
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,234 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_trigger =
5
+ {
6
+ decisions: OpenAI::Live::DecisionTrigger::Decisions,
7
+ event_type: OpenAI::Models::Live::DecisionTrigger::event_type,
8
+ ?type: :decisions
9
+ }
10
+
11
+ class DecisionTrigger < OpenAI::Internal::Type::BaseModel
12
+ # Questions evaluated using the current transcript and the session's shared
13
+ # Decision items.
14
+ attr_accessor decisions: OpenAI::Live::DecisionTrigger::Decisions
15
+
16
+ attr_accessor event_type: OpenAI::Models::Live::DecisionTrigger::event_type
17
+
18
+ attr_accessor type: :decisions
19
+
20
+ # @param decisions
21
+ # Questions evaluated using the current transcript and the session's shared
22
+ # Decision items.
23
+ def initialize: (
24
+ decisions: OpenAI::Live::DecisionTrigger::Decisions,
25
+ event_type: OpenAI::Models::Live::DecisionTrigger::event_type,
26
+ ?type: :decisions
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ decisions: OpenAI::Live::DecisionTrigger::Decisions,
31
+ event_type: OpenAI::Models::Live::DecisionTrigger::event_type,
32
+ ?type: :decisions
33
+ }
34
+
35
+ type decisions =
36
+ {
37
+ questions: ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
38
+ }
39
+
40
+ class Decisions < OpenAI::Internal::Type::BaseModel
41
+ # Native Decision API questions evaluated together, in order.
42
+ attr_accessor questions: ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
43
+
44
+ # @param questions
45
+ # Native Decision API questions evaluated together, in order.
46
+ def initialize: (
47
+ questions: ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
48
+ ) -> void
49
+
50
+ def to_hash: -> {
51
+ questions: ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
52
+ }
53
+
54
+ type question =
55
+ OpenAI::Live::DecisionTrigger::Decisions::Question::Predicate
56
+ | OpenAI::Live::DecisionTrigger::Decisions::Question::Choice
57
+ | OpenAI::Live::DecisionTrigger::Decisions::Question::Score
58
+
59
+ module Question
60
+ extend OpenAI::Internal::Type::Union
61
+
62
+ type predicate =
63
+ { instructions: String, ?type: :predicate, ?name: String }
64
+
65
+ class Predicate < OpenAI::Internal::Type::BaseModel
66
+ attr_accessor instructions: String
67
+
68
+ # The type of the object. Always `predicate`.
69
+ attr_accessor type: :predicate
70
+
71
+ attr_reader name: String?
72
+
73
+ def name=: (String) -> String
74
+
75
+ # @param type
76
+ # The type of the object. Always `predicate`.
77
+ def initialize: (
78
+ instructions: String,
79
+ ?name: String,
80
+ ?type: :predicate
81
+ ) -> void
82
+
83
+ def to_hash: -> {
84
+ instructions: String,
85
+ ?type: :predicate,
86
+ ?name: String
87
+ }
88
+ end
89
+
90
+ type choice =
91
+ {
92
+ choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
93
+ instructions: String,
94
+ ?type: :choice,
95
+ ?name: String
96
+ }
97
+
98
+ class Choice < OpenAI::Internal::Type::BaseModel
99
+ # Provide between 2 and 255 choices. Each choice must be unique.
100
+ attr_accessor choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice]
101
+
102
+ attr_accessor instructions: String
103
+
104
+ # The type of the object. Always `choice`.
105
+ attr_accessor type: :choice
106
+
107
+ attr_reader name: String?
108
+
109
+ def name=: (String) -> String
110
+
111
+ # @param choices
112
+ # Provide between 2 and 255 choices. Each choice must be unique.
113
+ # @param type
114
+ # The type of the object. Always `choice`.
115
+ def initialize: (
116
+ choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
117
+ instructions: String,
118
+ ?name: String,
119
+ ?type: :choice
120
+ ) -> void
121
+
122
+ def to_hash: -> {
123
+ choices: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Choice::Choice],
124
+ instructions: String,
125
+ ?type: :choice,
126
+ ?name: String
127
+ }
128
+
129
+ type choice =
130
+ {
131
+ value: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value,
132
+ ?description: String
133
+ }
134
+
135
+ class Choice < OpenAI::Internal::Type::BaseModel
136
+ # Choice values are typed: a string and a boolean with the same text are distinct.
137
+ attr_accessor value: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value
138
+
139
+ attr_reader description: String?
140
+
141
+ def description=: (String) -> String
142
+
143
+ # @param value
144
+ # Choice values are typed: a string and a boolean with the same text are distinct.
145
+ def initialize: (
146
+ value: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value,
147
+ ?description: String
148
+ ) -> void
149
+
150
+ def to_hash: -> {
151
+ value: OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value,
152
+ ?description: String
153
+ }
154
+
155
+ type value = String | bool
156
+
157
+ module Value
158
+ extend OpenAI::Internal::Type::Union
159
+
160
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::Question::Choice::Choice::value]
161
+ end
162
+ end
163
+ end
164
+
165
+ type score =
166
+ {
167
+ instructions: String,
168
+ levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
169
+ ?type: :score,
170
+ ?name: String
171
+ }
172
+
173
+ class Score < OpenAI::Internal::Type::BaseModel
174
+ attr_accessor instructions: String
175
+
176
+ attr_accessor levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level]
177
+
178
+ # The type of the object. Always `score`.
179
+ attr_accessor type: :score
180
+
181
+ attr_reader name: String?
182
+
183
+ def name=: (String) -> String
184
+
185
+ # @param type
186
+ # The type of the object. Always `score`.
187
+ def initialize: (
188
+ instructions: String,
189
+ levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
190
+ ?name: String,
191
+ ?type: :score
192
+ ) -> void
193
+
194
+ def to_hash: -> {
195
+ instructions: String,
196
+ levels: ::Array[OpenAI::Live::DecisionTrigger::Decisions::Question::Score::Level],
197
+ ?type: :score,
198
+ ?name: String
199
+ }
200
+
201
+ type level = { label: String, ?description: String }
202
+
203
+ class Level < OpenAI::Internal::Type::BaseModel
204
+ attr_accessor label: String
205
+
206
+ attr_reader description: String?
207
+
208
+ def description=: (String) -> String
209
+
210
+ def initialize: (label: String, ?description: String) -> void
211
+
212
+ def to_hash: -> { label: String, ?description: String }
213
+ end
214
+ end
215
+
216
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionTrigger::Decisions::question]
217
+ end
218
+ end
219
+
220
+ type event_type =
221
+ :"session.input_transcript.delta" | :"session.output_transcript.delta"
222
+
223
+ module EventType
224
+ extend OpenAI::Internal::Type::Enum
225
+
226
+ SESSION_INPUT_TRANSCRIPT_DELTA: :"session.input_transcript.delta"
227
+ SESSION_OUTPUT_TRANSCRIPT_DELTA: :"session.output_transcript.delta"
228
+
229
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionTrigger::event_type]
230
+ end
231
+ end
232
+ end
233
+ end
234
+ end
@@ -0,0 +1,195 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decisions_delegation_config =
5
+ {
6
+ model: String,
7
+ questions: ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
8
+ }
9
+
10
+ class DecisionsDelegationConfig < OpenAI::Internal::Type::BaseModel
11
+ attr_accessor model: String
12
+
13
+ # Native Decision API questions evaluated together, in order.
14
+ attr_accessor questions: ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
15
+
16
+ # @param questions
17
+ # Native Decision API questions evaluated together, in order.
18
+ def initialize: (
19
+ model: String,
20
+ questions: ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
21
+ ) -> void
22
+
23
+ def to_hash: -> {
24
+ model: String,
25
+ questions: ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
26
+ }
27
+
28
+ type question =
29
+ OpenAI::Live::DecisionsDelegationConfig::Question::Predicate
30
+ | OpenAI::Live::DecisionsDelegationConfig::Question::Choice
31
+ | OpenAI::Live::DecisionsDelegationConfig::Question::Score
32
+
33
+ module Question
34
+ extend OpenAI::Internal::Type::Union
35
+
36
+ type predicate =
37
+ { instructions: String, ?type: :predicate, ?name: String }
38
+
39
+ class Predicate < OpenAI::Internal::Type::BaseModel
40
+ attr_accessor instructions: String
41
+
42
+ # The type of the object. Always `predicate`.
43
+ attr_accessor type: :predicate
44
+
45
+ attr_reader name: String?
46
+
47
+ def name=: (String) -> String
48
+
49
+ # @param type
50
+ # The type of the object. Always `predicate`.
51
+ def initialize: (
52
+ instructions: String,
53
+ ?name: String,
54
+ ?type: :predicate
55
+ ) -> void
56
+
57
+ def to_hash: -> {
58
+ instructions: String,
59
+ ?type: :predicate,
60
+ ?name: String
61
+ }
62
+ end
63
+
64
+ type choice =
65
+ {
66
+ choices: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice],
67
+ instructions: String,
68
+ ?type: :choice,
69
+ ?name: String
70
+ }
71
+
72
+ class Choice < OpenAI::Internal::Type::BaseModel
73
+ # Provide between 2 and 255 choices. Each choice must be unique.
74
+ attr_accessor choices: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice]
75
+
76
+ attr_accessor instructions: String
77
+
78
+ # The type of the object. Always `choice`.
79
+ attr_accessor type: :choice
80
+
81
+ attr_reader name: String?
82
+
83
+ def name=: (String) -> String
84
+
85
+ # @param choices
86
+ # Provide between 2 and 255 choices. Each choice must be unique.
87
+ # @param type
88
+ # The type of the object. Always `choice`.
89
+ def initialize: (
90
+ choices: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice],
91
+ instructions: String,
92
+ ?name: String,
93
+ ?type: :choice
94
+ ) -> void
95
+
96
+ def to_hash: -> {
97
+ choices: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Choice::Choice],
98
+ instructions: String,
99
+ ?type: :choice,
100
+ ?name: String
101
+ }
102
+
103
+ type choice =
104
+ {
105
+ value: OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value,
106
+ ?description: String
107
+ }
108
+
109
+ class Choice < OpenAI::Internal::Type::BaseModel
110
+ # Choice values are typed: a string and a boolean with the same text are distinct.
111
+ attr_accessor value: OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value
112
+
113
+ attr_reader description: String?
114
+
115
+ def description=: (String) -> String
116
+
117
+ # @param value
118
+ # Choice values are typed: a string and a boolean with the same text are distinct.
119
+ def initialize: (
120
+ value: OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value,
121
+ ?description: String
122
+ ) -> void
123
+
124
+ def to_hash: -> {
125
+ value: OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value,
126
+ ?description: String
127
+ }
128
+
129
+ type value = String | bool
130
+
131
+ module Value
132
+ extend OpenAI::Internal::Type::Union
133
+
134
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::Question::Choice::Choice::value]
135
+ end
136
+ end
137
+ end
138
+
139
+ type score =
140
+ {
141
+ instructions: String,
142
+ levels: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level],
143
+ ?type: :score,
144
+ ?name: String
145
+ }
146
+
147
+ class Score < OpenAI::Internal::Type::BaseModel
148
+ attr_accessor instructions: String
149
+
150
+ attr_accessor levels: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level]
151
+
152
+ # The type of the object. Always `score`.
153
+ attr_accessor type: :score
154
+
155
+ attr_reader name: String?
156
+
157
+ def name=: (String) -> String
158
+
159
+ # @param type
160
+ # The type of the object. Always `score`.
161
+ def initialize: (
162
+ instructions: String,
163
+ levels: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level],
164
+ ?name: String,
165
+ ?type: :score
166
+ ) -> void
167
+
168
+ def to_hash: -> {
169
+ instructions: String,
170
+ levels: ::Array[OpenAI::Live::DecisionsDelegationConfig::Question::Score::Level],
171
+ ?type: :score,
172
+ ?name: String
173
+ }
174
+
175
+ type level = { label: String, ?description: String }
176
+
177
+ class Level < OpenAI::Internal::Type::BaseModel
178
+ attr_accessor label: String
179
+
180
+ attr_reader description: String?
181
+
182
+ def description=: (String) -> String
183
+
184
+ def initialize: (label: String, ?description: String) -> void
185
+
186
+ def to_hash: -> { label: String, ?description: String }
187
+ end
188
+ end
189
+
190
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionsDelegationConfig::question]
191
+ end
192
+ end
193
+ end
194
+ end
195
+ end