openai 0.102.0 → 0.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +88 -0
  3. data/README.md +23 -1
  4. data/lib/openai/client.rb +3 -386
  5. data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
  6. data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
  7. data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
  8. data/lib/openai/helpers/beta/agents/files.rb +41 -0
  9. data/lib/openai/helpers/client_runtime.rb +391 -0
  10. data/lib/openai/helpers/files.rb +47 -0
  11. data/lib/openai/helpers/live/websocket.rb +8 -57
  12. data/lib/openai/helpers/models/chat/parsed.rb +32 -0
  13. data/lib/openai/helpers/models/responses/parsed.rb +30 -0
  14. data/lib/openai/helpers/models/responses/response.rb +32 -0
  15. data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
  16. data/lib/openai/helpers/realtime/client_extension.rb +1 -2
  17. data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
  18. data/lib/openai/helpers/realtime/translation.rb +7 -50
  19. data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
  20. data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
  21. data/lib/openai/helpers/streaming/response_stream.rb +1 -16
  22. data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
  23. data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
  24. data/lib/openai/helpers/vector_stores/files.rb +198 -0
  25. data/lib/openai/helpers/websocket/client_request.rb +31 -6
  26. data/lib/openai/helpers/websocket/connection.rb +58 -0
  27. data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
  28. data/lib/openai/helpers/websocket/protocol.rb +2 -1
  29. data/lib/openai/helpers/websocket/resource.rb +54 -0
  30. data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
  31. data/lib/openai/helpers/websocket.rb +4 -0
  32. data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
  33. data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
  34. data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
  35. data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
  36. data/lib/openai/models/admin/organization/project_residency.rb +3 -0
  37. data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
  38. data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
  39. data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
  40. data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
  41. data/lib/openai/models/audio/speech_create_params.rb +6 -3
  42. data/lib/openai/models/audio/translation_create_response.rb +0 -1
  43. data/lib/openai/models/audio/voice.rb +17 -2
  44. data/lib/openai/models/audio/voice_create_params.rb +100 -3
  45. data/lib/openai/models/beta/agent_create_params.rb +4 -2
  46. data/lib/openai/models/beta/agent_list_params.rb +4 -4
  47. data/lib/openai/models/beta/agent_session.rb +37 -1
  48. data/lib/openai/models/beta/agent_session_environment_expired_event.rb +57 -0
  49. data/lib/openai/models/beta/agent_session_environment_state.rb +6 -0
  50. data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +57 -0
  51. data/lib/openai/models/beta/agent_session_event.rb +7 -1
  52. data/lib/openai/models/beta/agent_update_params.rb +4 -2
  53. data/lib/openai/models/beta/agents/environment_info.rb +3 -0
  54. data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
  55. data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
  56. data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
  57. data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
  58. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
  59. data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
  60. data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
  61. data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
  62. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
  63. data/lib/openai/models/beta/beta_response.rb +23 -2
  64. data/lib/openai/models/beta/beta_response_error.rb +19 -1
  65. data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
  66. data/lib/openai/models/beta/beta_response_item.rb +107 -1
  67. data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
  68. data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
  69. data/lib/openai/models/beta/response_compact_params.rb +21 -0
  70. data/lib/openai/models/beta/response_create_params.rb +23 -2
  71. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  72. data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
  73. data/lib/openai/models/chat/chat_completion_message.rb +0 -8
  74. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
  75. data/lib/openai/models/chat/completion_create_params.rb +5 -12
  76. data/lib/openai/models/chat_model.rb +21 -0
  77. data/lib/openai/models/conversations/conversation_item.rb +107 -1
  78. data/lib/openai/models/decision.rb +17 -2
  79. data/lib/openai/models/decision_create_params.rb +29 -12
  80. data/lib/openai/models/decision_input_image.rb +4 -3
  81. data/lib/openai/models/decision_input_message.rb +4 -4
  82. data/lib/openai/models/decision_input_part.rb +3 -2
  83. data/lib/openai/models/image_edit_completed_event.rb +1 -2
  84. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  85. data/lib/openai/models/image_gen_completed_event.rb +1 -2
  86. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  87. data/lib/openai/models/images_response.rb +1 -2
  88. data/lib/openai/models/live/built_in_voice.rb +1 -0
  89. data/lib/openai/models/live/client_event.rb +14 -2
  90. data/lib/openai/models/live/decision_create_event.rb +26 -0
  91. data/lib/openai/models/live/decision_event.rb +117 -0
  92. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  93. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  94. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  95. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  96. data/lib/openai/models/live/decision_trigger.rb +244 -0
  97. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  98. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  99. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  100. data/lib/openai/models/live/fork_client_event.rb +14 -2
  101. data/lib/openai/models/live/fork_server_event.rb +17 -2
  102. data/lib/openai/models/live/media_session_config.rb +47 -11
  103. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  104. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  105. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  106. data/lib/openai/models/live/server_event.rb +17 -2
  107. data/lib/openai/models/live/session_accept_params.rb +47 -11
  108. data/lib/openai/models/live/session_config.rb +47 -11
  109. data/lib/openai/models/live/session_resource.rb +47 -11
  110. data/lib/openai/models/live/session_update_config.rb +38 -6
  111. data/lib/openai/models/live/session_update_event.rb +8 -8
  112. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  113. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  114. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  115. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  116. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  117. data/lib/openai/models/response_format_json_schema.rb +1 -1
  118. data/lib/openai/models/responses/function_tool.rb +8 -6
  119. data/lib/openai/models/responses/response.rb +2 -23
  120. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  121. data/lib/openai/models/responses/response_create_params.rb +3 -6
  122. data/lib/openai/models/responses/response_error.rb +19 -1
  123. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  124. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  125. data/lib/openai/models/responses/response_input_item.rb +107 -1
  126. data/lib/openai/models/responses/response_item.rb +107 -1
  127. data/lib/openai/models/responses/response_output_item.rb +107 -1
  128. data/lib/openai/models/responses/response_output_text.rb +0 -8
  129. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  130. data/lib/openai/models/safety/safety_alert.rb +12 -1
  131. data/lib/openai/models/video_create_error.rb +19 -1
  132. data/lib/openai/models/webhooks/agent_environment_expired_webhook_event.rb +72 -0
  133. data/lib/openai/models/webhooks/agent_environment_suspended_webhook_event.rb +72 -0
  134. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +8 -3
  135. data/lib/openai/models/webhooks/webhook_create_params.rb +2 -0
  136. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  137. data/lib/openai/models/webhooks/webhook_test_params.rb +2 -0
  138. data/lib/openai/models/webhooks/webhook_update_params.rb +2 -0
  139. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  140. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  141. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  142. data/lib/openai/resources/audio/speech.rb +2 -1
  143. data/lib/openai/resources/audio/voices.rb +10 -10
  144. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  145. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  146. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  147. data/lib/openai/resources/beta/agents/sessions/events.rb +1 -1
  148. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  149. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  150. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  151. data/lib/openai/resources/beta/agents.rb +6 -4
  152. data/lib/openai/resources/beta/responses.rb +2 -2
  153. data/lib/openai/resources/chat/completions.rb +11 -37
  154. data/lib/openai/resources/decisions.rb +9 -15
  155. data/lib/openai/resources/files.rb +0 -39
  156. data/lib/openai/resources/live/forks.rb +19 -0
  157. data/lib/openai/resources/live/sideband.rb +19 -0
  158. data/lib/openai/resources/live.rb +19 -0
  159. data/lib/openai/resources/realtime/translations.rb +19 -0
  160. data/lib/openai/resources/realtime.rb +19 -0
  161. data/lib/openai/resources/responses.rb +44 -95
  162. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  163. data/lib/openai/resources/vector_stores/files.rb +0 -188
  164. data/lib/openai/resources/webhooks.rb +13 -29
  165. data/lib/openai/version.rb +1 -1
  166. data/lib/openai.rb +35 -0
  167. data/rbi/openai/client.rbi +0 -103
  168. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  169. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  170. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  171. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  172. data/rbi/openai/helpers/files.rbi +25 -0
  173. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  174. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  175. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  176. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  177. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  178. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  179. data/rbi/openai/helpers/websocket.rbi +82 -0
  180. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  181. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  182. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  183. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  184. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  185. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  186. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  187. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  188. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  189. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  190. data/rbi/openai/models/audio/voice.rbi +21 -2
  191. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  192. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  193. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  194. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  195. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +95 -0
  196. data/rbi/openai/models/beta/agent_session_environment_state.rbi +6 -0
  197. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +95 -0
  198. data/rbi/openai/models/beta/agent_session_event.rbi +2 -0
  199. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  200. data/rbi/openai/models/beta/agents/environment_info.rbi +3 -0
  201. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  202. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  203. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  204. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  205. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  206. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  207. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  208. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  209. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  210. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  211. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  212. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  213. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  214. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  215. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  216. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  217. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  218. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  219. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  220. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  221. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  222. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  223. data/rbi/openai/models/decision.rbi +14 -1
  224. data/rbi/openai/models/decision_create_params.rbi +23 -12
  225. data/rbi/openai/models/decision_input_image.rbi +4 -3
  226. data/rbi/openai/models/decision_input_message.rbi +4 -4
  227. data/rbi/openai/models/decision_input_part.rbi +2 -1
  228. data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
  229. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  230. data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
  231. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  232. data/rbi/openai/models/images_response.rbi +1 -0
  233. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  234. data/rbi/openai/models/live/client_event.rbi +4 -0
  235. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  236. data/rbi/openai/models/live/decision_event.rbi +185 -0
  237. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  238. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  239. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  240. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  241. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  242. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  243. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  244. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  245. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  246. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  247. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  248. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  249. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  250. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  251. data/rbi/openai/models/live/server_event.rbi +5 -0
  252. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  253. data/rbi/openai/models/live/session_config.rbi +100 -14
  254. data/rbi/openai/models/live/session_resource.rbi +81 -10
  255. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  256. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  257. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  258. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  259. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  260. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  261. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  262. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  263. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  264. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  265. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  266. data/rbi/openai/models/responses/response.rbi +2 -7
  267. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  268. data/rbi/openai/models/responses/response_error.rbi +24 -3
  269. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  270. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  271. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  272. data/rbi/openai/models/responses/response_item.rbi +189 -0
  273. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  274. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  275. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  276. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  277. data/rbi/openai/models/video_create_error.rbi +24 -3
  278. data/rbi/openai/models/webhooks/agent_environment_expired_webhook_event.rbi +133 -0
  279. data/rbi/openai/models/webhooks/agent_environment_suspended_webhook_event.rbi +133 -0
  280. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +3 -2
  281. data/rbi/openai/models/webhooks/webhook_create_params.rbi +8 -0
  282. data/rbi/openai/models/webhooks/webhook_test_params.rbi +8 -0
  283. data/rbi/openai/models/webhooks/webhook_update_params.rbi +8 -0
  284. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  285. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  286. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  287. data/rbi/openai/resources/audio/speech.rbi +2 -1
  288. data/rbi/openai/resources/audio/voices.rbi +13 -10
  289. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  290. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  291. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  292. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  293. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  294. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  295. data/rbi/openai/resources/beta/agents.rbi +6 -4
  296. data/rbi/openai/resources/beta/responses.rbi +2 -2
  297. data/rbi/openai/resources/chat/completions.rbi +26 -29
  298. data/rbi/openai/resources/decisions.rbi +9 -15
  299. data/rbi/openai/resources/files.rbi +0 -18
  300. data/rbi/openai/resources/live/forks.rbi +17 -0
  301. data/rbi/openai/resources/live/sideband.rbi +17 -0
  302. data/rbi/openai/resources/live.rbi +17 -0
  303. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  304. data/rbi/openai/resources/realtime.rbi +17 -0
  305. data/rbi/openai/resources/responses.rbi +41 -333
  306. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  307. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  308. data/rbi/openai/resources/webhooks.rbi +2 -0
  309. data/sig/openai/client.rbs +0 -50
  310. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  311. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  312. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  313. data/sig/openai/helpers/client_runtime.rbs +53 -0
  314. data/sig/openai/helpers/files.rbs +12 -0
  315. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  316. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  317. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  318. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  319. data/sig/openai/helpers/websocket.rbs +40 -0
  320. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  321. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  322. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  323. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  324. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  325. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  326. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  327. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  328. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  329. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  330. data/sig/openai/models/audio/voice.rbs +21 -3
  331. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  332. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  333. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  334. data/sig/openai/models/beta/agent_session.rbs +36 -2
  335. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +57 -0
  336. data/sig/openai/models/beta/agent_session_environment_state.rbs +14 -1
  337. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +57 -0
  338. data/sig/openai/models/beta/agent_session_event.rbs +2 -0
  339. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  340. data/sig/openai/models/beta/agents/environment_info.rbs +11 -1
  341. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  342. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  343. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  344. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  345. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  346. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  347. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  348. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  349. data/sig/openai/models/beta/beta_response.rbs +2 -2
  350. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  351. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  352. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  353. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  354. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  355. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  356. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  357. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  358. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  359. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  360. data/sig/openai/models/decision.rbs +13 -0
  361. data/sig/openai/models/decision_create_params.rbs +19 -8
  362. data/sig/openai/models/decision_input_image.rbs +2 -2
  363. data/sig/openai/models/decision_input_message.rbs +2 -2
  364. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  365. data/sig/openai/models/live/client_event.rbs +4 -0
  366. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  367. data/sig/openai/models/live/decision_event.rbs +102 -0
  368. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  369. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  370. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  371. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  372. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  373. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  374. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  375. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  376. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  377. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  378. data/sig/openai/models/live/media_session_config.rbs +58 -11
  379. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  380. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  381. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  382. data/sig/openai/models/live/server_event.rbs +5 -0
  383. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  384. data/sig/openai/models/live/session_config.rbs +58 -11
  385. data/sig/openai/models/live/session_resource.rbs +57 -10
  386. data/sig/openai/models/live/session_update_config.rbs +54 -3
  387. data/sig/openai/models/live/session_update_event.rbs +6 -6
  388. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  389. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  390. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  391. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  392. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  393. data/sig/openai/models/responses/response.rbs +2 -4
  394. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  395. data/sig/openai/models/responses/response_error.rbs +19 -3
  396. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  397. data/sig/openai/models/responses/response_item.rbs +110 -0
  398. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  399. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  400. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  401. data/sig/openai/models/video_create_error.rbs +19 -3
  402. data/sig/openai/models/webhooks/agent_environment_expired_webhook_event.rbs +70 -0
  403. data/sig/openai/models/webhooks/agent_environment_suspended_webhook_event.rbs +70 -0
  404. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +3 -1
  405. data/sig/openai/models/webhooks/webhook_create_params.rbs +4 -0
  406. data/sig/openai/models/webhooks/webhook_test_params.rbs +4 -0
  407. data/sig/openai/models/webhooks/webhook_update_params.rbs +4 -0
  408. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  409. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  410. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  411. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  412. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  413. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  414. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  415. data/sig/openai/resources/beta/agents.rbs +1 -1
  416. data/sig/openai/resources/files.rbs +0 -7
  417. data/sig/openai/resources/live/forks.rbs +8 -0
  418. data/sig/openai/resources/live/sideband.rbs +8 -0
  419. data/sig/openai/resources/live.rbs +7 -0
  420. data/sig/openai/resources/realtime/translations.rbs +7 -0
  421. data/sig/openai/resources/realtime.rbs +7 -0
  422. data/sig/openai/resources/responses.rbs +7 -31
  423. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  424. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  425. data/sig/openai/resources/webhooks.rbs +3 -1
  426. metadata +101 -1
@@ -8,7 +8,7 @@ module OpenAI
8
8
  }
9
9
 
10
10
  class DecisionInputMessage < OpenAI::Internal::Type::BaseModel
11
- # Text evidence or an ordered list of text and inline image parts.
11
+ # Text evidence or an ordered list of text and image parts.
12
12
  attr_accessor content: OpenAI::Models::DecisionInputMessage::content
13
13
 
14
14
  attr_accessor role: :user
@@ -20,7 +20,7 @@ module OpenAI
20
20
  ) -> OpenAI::Models::DecisionInputMessage::type_
21
21
 
22
22
  # @param content
23
- # Text evidence or an ordered list of text and inline image parts.
23
+ # Text evidence or an ordered list of text and image parts.
24
24
  def initialize: (
25
25
  content: OpenAI::Models::DecisionInputMessage::content,
26
26
  ?type: OpenAI::Models::DecisionInputMessage::type_,
@@ -18,6 +18,7 @@ module OpenAI
18
18
  | :quartz
19
19
  | :ripple
20
20
  | :sage
21
+ | :shida
21
22
  | :shimmer
22
23
  | :stone
23
24
  | :tempo
@@ -44,6 +45,7 @@ module OpenAI
44
45
  QUARTZ: :quartz
45
46
  RIPPLE: :ripple
46
47
  SAGE: :sage
48
+ SHIDA: :shida
47
49
  SHIMMER: :shimmer
48
50
  STONE: :stone
49
51
  TEMPO: :tempo
@@ -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
@@ -0,0 +1,18 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_create_event =
5
+ { event_id: String, ?type: :"decision.create" }
6
+
7
+ class DecisionCreateEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor event_id: String
9
+
10
+ attr_accessor type: :"decision.create"
11
+
12
+ def initialize: (event_id: String, ?type: :"decision.create") -> void
13
+
14
+ def to_hash: -> { event_id: String, ?type: :"decision.create" }
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,102 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_event =
5
+ {
6
+ delegation_id: String?,
7
+ event: OpenAI::Live::DecisionEvent::Event,
8
+ event_id: String,
9
+ source_event_id: String?,
10
+ source_event_type: OpenAI::Models::Live::DecisionEvent::source_event_type?,
11
+ trigger_id: String?,
12
+ ?type: :"decision.event"
13
+ }
14
+
15
+ class DecisionEvent < OpenAI::Internal::Type::BaseModel
16
+ # The Live delegation ID, or null for a transcript trigger.
17
+ attr_accessor delegation_id: String?
18
+
19
+ attr_accessor event: OpenAI::Live::DecisionEvent::Event
20
+
21
+ # The unique ID of this Live server event.
22
+ attr_accessor event_id: String
23
+
24
+ # The event_id of the transcript delta that fired this trigger, or null for a
25
+ # delegation.
26
+ attr_accessor source_event_id: String?
27
+
28
+ attr_accessor source_event_type: OpenAI::Models::Live::DecisionEvent::source_event_type?
29
+
30
+ # The Live-assigned ID of this trigger firing, or null for a delegation.
31
+ attr_accessor trigger_id: String?
32
+
33
+ attr_accessor type: :"decision.event"
34
+
35
+ # @param delegation_id
36
+ # The Live delegation ID, or null for a transcript trigger.
37
+ # @param event_id
38
+ # The unique ID of this Live server event.
39
+ # @param source_event_id
40
+ # The event_id of the transcript delta that fired this trigger, or null for a
41
+ # delegation.
42
+ # @param trigger_id
43
+ # The Live-assigned ID of this trigger firing, or null for a delegation.
44
+ def initialize: (
45
+ delegation_id: String?,
46
+ event: OpenAI::Live::DecisionEvent::Event,
47
+ event_id: String,
48
+ source_event_id: String?,
49
+ source_event_type: OpenAI::Models::Live::DecisionEvent::source_event_type?,
50
+ trigger_id: String?,
51
+ ?type: :"decision.event"
52
+ ) -> void
53
+
54
+ def to_hash: -> {
55
+ delegation_id: String?,
56
+ event: OpenAI::Live::DecisionEvent::Event,
57
+ event_id: String,
58
+ source_event_id: String?,
59
+ source_event_type: OpenAI::Models::Live::DecisionEvent::source_event_type?,
60
+ trigger_id: String?,
61
+ ?type: :"decision.event"
62
+ }
63
+
64
+ type event =
65
+ { decision: OpenAI::Decision, ?type: :"decision.completed" }
66
+
67
+ class Event < OpenAI::Internal::Type::BaseModel
68
+ # The native Decision API response, including its model, ordered answers, and
69
+ # token usage.
70
+ attr_accessor decision: OpenAI::Decision
71
+
72
+ attr_accessor type: :"decision.completed"
73
+
74
+ # @param decision
75
+ # The native Decision API response, including its model, ordered answers, and
76
+ # token usage.
77
+ def initialize: (
78
+ decision: OpenAI::Decision,
79
+ ?type: :"decision.completed"
80
+ ) -> void
81
+
82
+ def to_hash: -> {
83
+ decision: OpenAI::Decision,
84
+ ?type: :"decision.completed"
85
+ }
86
+ end
87
+
88
+ type source_event_type =
89
+ :"session.input_transcript.delta" | :"session.output_transcript.delta"
90
+
91
+ module SourceEventType
92
+ extend OpenAI::Internal::Type::Union
93
+
94
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionEvent::source_event_type]
95
+
96
+ SESSION_INPUT_TRANSCRIPT_DELTA: :"session.input_transcript.delta"
97
+ SESSION_OUTPUT_TRANSCRIPT_DELTA: :"session.output_transcript.delta"
98
+ end
99
+ end
100
+ end
101
+ end
102
+ end
@@ -0,0 +1,183 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type decision_item_create_event =
5
+ {
6
+ item: OpenAI::Live::DecisionItemCreateEvent::Item,
7
+ ?type: :"decision.item.create",
8
+ ?event_id: String?
9
+ }
10
+
11
+ class DecisionItemCreateEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor item: OpenAI::Live::DecisionItemCreateEvent::Item
13
+
14
+ attr_accessor type: :"decision.item.create"
15
+
16
+ # Optional client identifier for correlating this command with a server event's
17
+ # client_event_id or error.client_event_id.
18
+ attr_accessor event_id: String?
19
+
20
+ # @param event_id
21
+ # Optional client identifier for correlating this command with a server event's
22
+ # client_event_id or error.client_event_id.
23
+ def initialize: (
24
+ item: OpenAI::Live::DecisionItemCreateEvent::Item,
25
+ ?event_id: String?,
26
+ ?type: :"decision.item.create"
27
+ ) -> void
28
+
29
+ def to_hash: -> {
30
+ item: OpenAI::Live::DecisionItemCreateEvent::Item,
31
+ ?type: :"decision.item.create",
32
+ ?event_id: String?
33
+ }
34
+
35
+ type item =
36
+ {
37
+ content: OpenAI::Models::Live::DecisionItemCreateEvent::Item::content,
38
+ ?role: :user,
39
+ ?id: String?,
40
+ ?type: OpenAI::Models::Live::DecisionItemCreateEvent::Item::type_
41
+ }
42
+
43
+ class Item < OpenAI::Internal::Type::BaseModel
44
+ # The text input to the model.
45
+ attr_accessor content: OpenAI::Models::Live::DecisionItemCreateEvent::Item::content
46
+
47
+ # The message role. Always `user`.
48
+ attr_accessor role: :user
49
+
50
+ # The unique ID of this message item.
51
+ attr_accessor id: String?
52
+
53
+ attr_reader type: OpenAI::Models::Live::DecisionItemCreateEvent::Item::type_?
54
+
55
+ def type=: (
56
+ OpenAI::Models::Live::DecisionItemCreateEvent::Item::type_
57
+ ) -> OpenAI::Models::Live::DecisionItemCreateEvent::Item::type_
58
+
59
+ # @param content
60
+ # The text input to the model.
61
+ # @param id
62
+ # The unique ID of this message item.
63
+ # @param role
64
+ # The message role. Always `user`.
65
+ def initialize: (
66
+ content: OpenAI::Models::Live::DecisionItemCreateEvent::Item::content,
67
+ ?id: String?,
68
+ ?type: OpenAI::Models::Live::DecisionItemCreateEvent::Item::type_,
69
+ ?role: :user
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ content: OpenAI::Models::Live::DecisionItemCreateEvent::Item::content,
74
+ ?role: :user,
75
+ ?id: String?,
76
+ ?type: OpenAI::Models::Live::DecisionItemCreateEvent::Item::type_
77
+ }
78
+
79
+ type content =
80
+ String
81
+ | ::Array[OpenAI::Models::Live::DecisionItemCreateEvent::Item::Content::part]
82
+
83
+ module Content
84
+ extend OpenAI::Internal::Type::Union
85
+
86
+ type part =
87
+ OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputText
88
+ | OpenAI::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage
89
+
90
+ module Part
91
+ extend OpenAI::Internal::Type::Union
92
+
93
+ type input_text = { text: String, ?type: :input_text }
94
+
95
+ class InputText < OpenAI::Internal::Type::BaseModel
96
+ # The text input to the model.
97
+ attr_accessor text: String
98
+
99
+ # The type of the input item. Always `input_text`.
100
+ attr_accessor type: :input_text
101
+
102
+ # @param text
103
+ # The text input to the model.
104
+ # @param type
105
+ # The type of the input item. Always `input_text`.
106
+ def initialize: (text: String, ?type: :input_text) -> void
107
+
108
+ def to_hash: -> { text: String, ?type: :input_text }
109
+ end
110
+
111
+ type input_image =
112
+ {
113
+ image_url: String,
114
+ ?type: :input_image,
115
+ ?detail: OpenAI::Models::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::detail?
116
+ }
117
+
118
+ class InputImage < OpenAI::Internal::Type::BaseModel
119
+ # An inline image encoded as a data URL.
120
+ attr_accessor image_url: String
121
+
122
+ # The type of the input item. Always `input_image`.
123
+ attr_accessor type: :input_image
124
+
125
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
126
+ # `auto`, or `original`. Defaults to `auto`.
127
+ attr_accessor detail: OpenAI::Models::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::detail?
128
+
129
+ # @param image_url
130
+ # An inline image encoded as a data URL.
131
+ # @param detail
132
+ # The detail level of the image to be sent to the model. One of `high`, `low`,
133
+ # `auto`, or `original`. Defaults to `auto`.
134
+ # @param type
135
+ # The type of the input item. Always `input_image`.
136
+ def initialize: (
137
+ image_url: String,
138
+ ?detail: OpenAI::Models::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::detail?,
139
+ ?type: :input_image
140
+ ) -> void
141
+
142
+ def to_hash: -> {
143
+ image_url: String,
144
+ ?type: :input_image,
145
+ ?detail: OpenAI::Models::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::detail?
146
+ }
147
+
148
+ type detail = :low | :high | :auto | :original
149
+
150
+ module Detail
151
+ extend OpenAI::Internal::Type::Enum
152
+
153
+ LOW: :low
154
+ HIGH: :high
155
+ AUTO: :auto
156
+ ORIGINAL: :original
157
+
158
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionItemCreateEvent::Item::Content::Part::InputImage::detail]
159
+ end
160
+ end
161
+
162
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionItemCreateEvent::Item::Content::part]
163
+ end
164
+
165
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DecisionItemCreateEvent::Item::content]
166
+
167
+ PartsArray: OpenAI::Internal::Type::Converter
168
+ end
169
+
170
+ type type_ = :message
171
+
172
+ module Type
173
+ extend OpenAI::Internal::Type::Enum
174
+
175
+ MESSAGE: :message
176
+
177
+ def self?.values: -> ::Array[OpenAI::Models::Live::DecisionItemCreateEvent::Item::type_]
178
+ end
179
+ end
180
+ end
181
+ end
182
+ end
183
+ end
@@ -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