openai 0.103.0 → 0.104.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (395) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +81 -0
  3. data/README.md +23 -1
  4. data/lib/openai/client.rb +3 -386
  5. data/lib/openai/helpers/admin/organization/projects/api_keys.rb +42 -0
  6. data/lib/openai/helpers/agents/session_stream_resource.rb +60 -0
  7. data/lib/openai/helpers/beta/agents/artifacts.rb +18 -0
  8. data/lib/openai/helpers/beta/agents/files.rb +41 -0
  9. data/lib/openai/helpers/client_runtime.rb +391 -0
  10. data/lib/openai/helpers/files.rb +47 -0
  11. data/lib/openai/helpers/live/websocket.rb +8 -57
  12. data/lib/openai/helpers/models/chat/parsed.rb +32 -0
  13. data/lib/openai/helpers/models/responses/parsed.rb +30 -0
  14. data/lib/openai/helpers/models/responses/response.rb +32 -0
  15. data/lib/openai/helpers/models/webhooks/webhook_endpoint_with_secret.rb +20 -0
  16. data/lib/openai/helpers/realtime/client_extension.rb +1 -2
  17. data/lib/openai/helpers/realtime/connection_manager.rb +1 -1
  18. data/lib/openai/helpers/realtime/translation.rb +7 -50
  19. data/lib/openai/helpers/responses_websocket/client_extension.rb +1 -2
  20. data/lib/openai/helpers/streaming/chat_completion_resource.rb +36 -0
  21. data/lib/openai/helpers/streaming/response_stream.rb +1 -16
  22. data/lib/openai/helpers/streaming/response_stream_resource.rb +78 -0
  23. data/lib/openai/helpers/vector_stores/file_batches.rb +188 -0
  24. data/lib/openai/helpers/vector_stores/files.rb +198 -0
  25. data/lib/openai/helpers/websocket/client_request.rb +31 -6
  26. data/lib/openai/helpers/websocket/connection.rb +58 -0
  27. data/lib/openai/helpers/websocket/connection_manager.rb +4 -2
  28. data/lib/openai/helpers/websocket/protocol.rb +2 -1
  29. data/lib/openai/helpers/websocket/resource.rb +54 -0
  30. data/lib/openai/helpers/websocket/typed_connection.rb +95 -0
  31. data/lib/openai/helpers/websocket.rb +4 -0
  32. data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
  33. data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
  34. data/lib/openai/models/admin/organization/external_storage_create_params.rb +33 -3
  35. data/lib/openai/models/admin/organization/oci_external_storage_provider.rb +37 -0
  36. data/lib/openai/models/admin/organization/project_residency.rb +3 -0
  37. data/lib/openai/models/admin/organization/projects/api_key_update_params.rb +64 -0
  38. data/lib/openai/models/admin/organization/projects/api_key_update_scopes_params.rb +34 -0
  39. data/lib/openai/models/admin/organization/usage_decisions_params.rb +177 -0
  40. data/lib/openai/models/admin/organization/usage_decisions_response.rb +351 -0
  41. data/lib/openai/models/audio/speech_create_params.rb +6 -3
  42. data/lib/openai/models/audio/translation_create_response.rb +0 -1
  43. data/lib/openai/models/audio/voice.rb +17 -2
  44. data/lib/openai/models/audio/voice_create_params.rb +100 -3
  45. data/lib/openai/models/beta/agent_create_params.rb +4 -2
  46. data/lib/openai/models/beta/agent_list_params.rb +4 -4
  47. data/lib/openai/models/beta/agent_session.rb +37 -1
  48. data/lib/openai/models/beta/agent_update_params.rb +4 -2
  49. data/lib/openai/models/beta/agents/environment_list_params.rb +7 -7
  50. data/lib/openai/models/beta/agents/session_create_params.rb +39 -3
  51. data/lib/openai/models/beta/agents/session_list_params.rb +7 -10
  52. data/lib/openai/models/beta/agents/session_update_params.rb +33 -1
  53. data/lib/openai/models/beta/agents/sessions/artifact_list_params.rb +11 -11
  54. data/lib/openai/models/beta/agents/vault_list_params.rb +23 -13
  55. data/lib/openai/models/beta/agents/vault_status_filter.rb +1 -3
  56. data/lib/openai/models/beta/agents/vault_update_params.rb +47 -0
  57. data/lib/openai/models/beta/agents/vaults/credential_list_params.rb +23 -13
  58. data/lib/openai/models/beta/beta_response.rb +23 -2
  59. data/lib/openai/models/beta/beta_response_error.rb +19 -1
  60. data/lib/openai/models/beta/beta_response_input_item.rb +107 -1
  61. data/lib/openai/models/beta/beta_response_item.rb +107 -1
  62. data/lib/openai/models/beta/beta_response_output_item.rb +107 -1
  63. data/lib/openai/models/beta/beta_responses_client_event.rb +23 -2
  64. data/lib/openai/models/beta/response_compact_params.rb +21 -0
  65. data/lib/openai/models/beta/response_create_params.rb +23 -2
  66. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  67. data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
  68. data/lib/openai/models/chat/chat_completion_message.rb +0 -8
  69. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +0 -8
  70. data/lib/openai/models/chat/completion_create_params.rb +5 -12
  71. data/lib/openai/models/chat_model.rb +21 -0
  72. data/lib/openai/models/conversations/conversation_item.rb +107 -1
  73. data/lib/openai/models/decision.rb +17 -2
  74. data/lib/openai/models/decision_create_params.rb +29 -12
  75. data/lib/openai/models/decision_input_image.rb +4 -3
  76. data/lib/openai/models/decision_input_message.rb +4 -4
  77. data/lib/openai/models/decision_input_part.rb +3 -2
  78. data/lib/openai/models/image_edit_completed_event.rb +1 -2
  79. data/lib/openai/models/image_edit_partial_image_event.rb +1 -2
  80. data/lib/openai/models/image_gen_completed_event.rb +1 -2
  81. data/lib/openai/models/image_gen_partial_image_event.rb +1 -2
  82. data/lib/openai/models/images_response.rb +1 -2
  83. data/lib/openai/models/live/built_in_voice.rb +1 -0
  84. data/lib/openai/models/live/client_event.rb +14 -2
  85. data/lib/openai/models/live/decision_create_event.rb +26 -0
  86. data/lib/openai/models/live/decision_event.rb +117 -0
  87. data/lib/openai/models/live/decision_item_create_event.rb +194 -0
  88. data/lib/openai/models/live/decision_item_created_event.rb +202 -0
  89. data/lib/openai/models/live/decision_item_delete_event.rb +38 -0
  90. data/lib/openai/models/live/decision_item_deleted_event.rb +46 -0
  91. data/lib/openai/models/live/decision_trigger.rb +244 -0
  92. data/lib/openai/models/live/decisions_delegation_config.rb +201 -0
  93. data/lib/openai/models/live/decisions_delegation_update_config.rb +208 -0
  94. data/lib/openai/models/live/delegation_created_event.rb +10 -10
  95. data/lib/openai/models/live/fork_client_event.rb +14 -2
  96. data/lib/openai/models/live/fork_server_event.rb +17 -2
  97. data/lib/openai/models/live/media_session_config.rb +47 -11
  98. data/lib/openai/models/live/output_audio_fixture_play_event.rb +48 -0
  99. data/lib/openai/models/live/output_audio_fixture_played_event.rb +42 -0
  100. data/lib/openai/models/live/output_audio_fixture_playing_event.rb +41 -0
  101. data/lib/openai/models/live/server_event.rb +17 -2
  102. data/lib/openai/models/live/session_accept_params.rb +47 -11
  103. data/lib/openai/models/live/session_config.rb +47 -11
  104. data/lib/openai/models/live/session_resource.rb +47 -11
  105. data/lib/openai/models/live/session_update_config.rb +38 -6
  106. data/lib/openai/models/live/session_update_event.rb +8 -8
  107. data/lib/openai/models/live/sideband_client_event.rb +57 -0
  108. data/lib/openai/models/live/sideband_server_event.rb +78 -0
  109. data/lib/openai/models/realtime/realtime_audio_config_output.rb +6 -3
  110. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +6 -3
  111. data/lib/openai/models/realtime/realtime_response_status.rb +10 -1
  112. data/lib/openai/models/response_format_json_schema.rb +1 -1
  113. data/lib/openai/models/responses/function_tool.rb +8 -6
  114. data/lib/openai/models/responses/response.rb +2 -23
  115. data/lib/openai/models/responses/response_compact_params.rb +21 -0
  116. data/lib/openai/models/responses/response_create_params.rb +3 -6
  117. data/lib/openai/models/responses/response_error.rb +19 -1
  118. data/lib/openai/models/responses/response_format_text_config.rb +0 -4
  119. data/lib/openai/models/responses/response_function_tool_call.rb +0 -8
  120. data/lib/openai/models/responses/response_input_item.rb +107 -1
  121. data/lib/openai/models/responses/response_item.rb +107 -1
  122. data/lib/openai/models/responses/response_output_item.rb +107 -1
  123. data/lib/openai/models/responses/response_output_text.rb +0 -8
  124. data/lib/openai/models/responses/responses_client_event.rb +2 -2
  125. data/lib/openai/models/safety/safety_alert.rb +12 -1
  126. data/lib/openai/models/video_create_error.rb +19 -1
  127. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -4
  128. data/lib/openai/models/webhooks/webhook_endpoint_with_secret.rb +0 -9
  129. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  130. data/lib/openai/resources/admin/organization/projects/api_keys.rb +61 -0
  131. data/lib/openai/resources/admin/organization/usage.rb +67 -0
  132. data/lib/openai/resources/audio/speech.rb +2 -1
  133. data/lib/openai/resources/audio/voices.rb +10 -10
  134. data/lib/openai/resources/beta/agents/environments/files.rb +3 -31
  135. data/lib/openai/resources/beta/agents/environments.rb +3 -3
  136. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +5 -11
  137. data/lib/openai/resources/beta/agents/sessions.rb +20 -56
  138. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -6
  139. data/lib/openai/resources/beta/agents/vaults.rb +45 -6
  140. data/lib/openai/resources/beta/agents.rb +6 -4
  141. data/lib/openai/resources/beta/responses.rb +2 -2
  142. data/lib/openai/resources/chat/completions.rb +11 -37
  143. data/lib/openai/resources/decisions.rb +9 -15
  144. data/lib/openai/resources/files.rb +0 -39
  145. data/lib/openai/resources/live/forks.rb +19 -0
  146. data/lib/openai/resources/live/sideband.rb +19 -0
  147. data/lib/openai/resources/live.rb +19 -0
  148. data/lib/openai/resources/realtime/translations.rb +19 -0
  149. data/lib/openai/resources/realtime.rb +19 -0
  150. data/lib/openai/resources/responses.rb +44 -95
  151. data/lib/openai/resources/vector_stores/file_batches.rb +0 -178
  152. data/lib/openai/resources/vector_stores/files.rb +0 -188
  153. data/lib/openai/resources/webhooks.rb +13 -29
  154. data/lib/openai/version.rb +1 -1
  155. data/lib/openai.rb +31 -0
  156. data/rbi/openai/client.rbi +0 -103
  157. data/rbi/openai/helpers/admin/organization/projects/api_keys.rbi +25 -0
  158. data/rbi/openai/helpers/beta/agents/artifacts.rbi +25 -0
  159. data/rbi/openai/helpers/beta/agents/files.rbi +48 -0
  160. data/rbi/openai/helpers/client_runtime.rbi +108 -0
  161. data/rbi/openai/helpers/files.rbi +25 -0
  162. data/rbi/openai/helpers/models/chat/parsed.rbi +21 -0
  163. data/rbi/openai/helpers/models/responses/parsed.rbi +19 -0
  164. data/rbi/openai/helpers/models/responses/response.rbi +15 -0
  165. data/rbi/openai/helpers/streaming/response_stream.rbi +301 -0
  166. data/rbi/openai/helpers/vector_stores/file_batches.rbi +102 -0
  167. data/rbi/openai/helpers/vector_stores/files.rbi +122 -0
  168. data/rbi/openai/helpers/websocket.rbi +82 -0
  169. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  170. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  171. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +63 -4
  172. data/rbi/openai/models/admin/organization/oci_external_storage_provider.rbi +71 -0
  173. data/rbi/openai/models/admin/organization/project_residency.rbi +12 -0
  174. data/rbi/openai/models/admin/organization/projects/api_key_update_params.rbi +110 -0
  175. data/rbi/openai/models/admin/organization/projects/api_key_update_scopes_params.rbi +72 -0
  176. data/rbi/openai/models/admin/organization/usage_decisions_params.rbi +229 -0
  177. data/rbi/openai/models/admin/organization/usage_decisions_response.rbi +479 -0
  178. data/rbi/openai/models/audio/speech_create_params.rbi +6 -3
  179. data/rbi/openai/models/audio/voice.rbi +21 -2
  180. data/rbi/openai/models/audio/voice_create_params.rbi +149 -4
  181. data/rbi/openai/models/beta/agent_create_params.rbi +4 -2
  182. data/rbi/openai/models/beta/agent_list_params.rbi +8 -5
  183. data/rbi/openai/models/beta/agent_session.rbi +64 -1
  184. data/rbi/openai/models/beta/agent_update_params.rbi +4 -2
  185. data/rbi/openai/models/beta/agents/environment_list_params.rbi +7 -7
  186. data/rbi/openai/models/beta/agents/session_create_params.rbi +62 -2
  187. data/rbi/openai/models/beta/agents/session_list_params.rbi +11 -11
  188. data/rbi/openai/models/beta/agents/session_update_params.rbi +56 -0
  189. data/rbi/openai/models/beta/agents/sessions/artifact_list_params.rbi +19 -13
  190. data/rbi/openai/models/beta/agents/vault_list_params.rbi +30 -13
  191. data/rbi/openai/models/beta/agents/vault_status_filter.rbi +1 -3
  192. data/rbi/openai/models/beta/agents/vault_update_params.rbi +87 -0
  193. data/rbi/openai/models/beta/agents/vaults/credential_list_params.rbi +30 -13
  194. data/rbi/openai/models/beta/beta_response.rbi +2 -2
  195. data/rbi/openai/models/beta/beta_response_error.rbi +24 -3
  196. data/rbi/openai/models/beta/beta_response_input_item.rbi +191 -0
  197. data/rbi/openai/models/beta/beta_response_item.rbi +189 -0
  198. data/rbi/openai/models/beta/beta_response_output_item.rbi +191 -0
  199. data/rbi/openai/models/beta/beta_responses_client_event.rbi +2 -2
  200. data/rbi/openai/models/beta/response_create_params.rbi +2 -2
  201. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  202. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
  203. data/rbi/openai/models/chat/chat_completion_message.rbi +0 -4
  204. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +0 -4
  205. data/rbi/openai/models/chat/completion_create_params.rbi +63 -78
  206. data/rbi/openai/models/conversations/conversation_item.rbi +191 -0
  207. data/rbi/openai/models/decision.rbi +14 -1
  208. data/rbi/openai/models/decision_create_params.rbi +23 -12
  209. data/rbi/openai/models/decision_input_image.rbi +4 -3
  210. data/rbi/openai/models/decision_input_message.rbi +4 -4
  211. data/rbi/openai/models/decision_input_part.rbi +2 -1
  212. data/rbi/openai/models/image_edit_completed_event.rbi +1 -0
  213. data/rbi/openai/models/image_edit_partial_image_event.rbi +1 -0
  214. data/rbi/openai/models/image_gen_completed_event.rbi +1 -0
  215. data/rbi/openai/models/image_gen_partial_image_event.rbi +1 -0
  216. data/rbi/openai/models/images_response.rbi +1 -0
  217. data/rbi/openai/models/live/built_in_voice.rbi +1 -0
  218. data/rbi/openai/models/live/client_event.rbi +4 -0
  219. data/rbi/openai/models/live/decision_create_event.rbi +55 -0
  220. data/rbi/openai/models/live/decision_event.rbi +185 -0
  221. data/rbi/openai/models/live/decision_item_create_event.rbi +338 -0
  222. data/rbi/openai/models/live/decision_item_created_event.rbi +354 -0
  223. data/rbi/openai/models/live/decision_item_delete_event.rbi +66 -0
  224. data/rbi/openai/models/live/decision_item_deleted_event.rbi +77 -0
  225. data/rbi/openai/models/live/decision_trigger.rbi +465 -0
  226. data/rbi/openai/models/live/decisions_delegation_config.rbi +393 -0
  227. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +412 -0
  228. data/rbi/openai/models/live/delegation_created_event.rbi +8 -10
  229. data/rbi/openai/models/live/fork_client_event.rbi +4 -0
  230. data/rbi/openai/models/live/fork_server_event.rbi +5 -0
  231. data/rbi/openai/models/live/media_session_config.rbi +95 -14
  232. data/rbi/openai/models/live/output_audio_fixture_play_event.rbi +76 -0
  233. data/rbi/openai/models/live/output_audio_fixture_played_event.rbi +73 -0
  234. data/rbi/openai/models/live/output_audio_fixture_playing_event.rbi +72 -0
  235. data/rbi/openai/models/live/server_event.rbi +5 -0
  236. data/rbi/openai/models/live/session_accept_params.rbi +88 -12
  237. data/rbi/openai/models/live/session_config.rbi +100 -14
  238. data/rbi/openai/models/live/session_resource.rbi +81 -10
  239. data/rbi/openai/models/live/session_update_config.rbi +86 -9
  240. data/rbi/openai/models/live/session_update_event.rbi +8 -8
  241. data/rbi/openai/models/live/sideband_client_event.rbi +40 -0
  242. data/rbi/openai/models/live/sideband_server_event.rbi +47 -0
  243. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +6 -3
  244. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +6 -3
  245. data/rbi/openai/models/realtime/realtime_response_status.rbi +13 -1
  246. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +1 -1
  247. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +3 -3
  248. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +1 -1
  249. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +5 -1
  250. data/rbi/openai/models/responses/response.rbi +2 -7
  251. data/rbi/openai/models/responses/response_create_params.rbi +5 -9
  252. data/rbi/openai/models/responses/response_error.rbi +24 -3
  253. data/rbi/openai/models/responses/response_function_tool_call.rbi +0 -4
  254. data/rbi/openai/models/responses/response_function_web_search.rbi +21 -17
  255. data/rbi/openai/models/responses/response_input_item.rbi +191 -0
  256. data/rbi/openai/models/responses/response_item.rbi +189 -0
  257. data/rbi/openai/models/responses/response_output_item.rbi +191 -0
  258. data/rbi/openai/models/responses/response_output_text.rbi +0 -4
  259. data/rbi/openai/models/responses/responses_client_event.rbi +2 -2
  260. data/rbi/openai/models/safety/safety_alert.rbi +13 -1
  261. data/rbi/openai/models/video_create_error.rbi +24 -3
  262. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -1
  263. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  264. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +48 -0
  265. data/rbi/openai/resources/admin/organization/usage.rbi +56 -0
  266. data/rbi/openai/resources/audio/speech.rbi +2 -1
  267. data/rbi/openai/resources/audio/voices.rbi +13 -10
  268. data/rbi/openai/resources/beta/agents/environments/files.rbi +3 -33
  269. data/rbi/openai/resources/beta/agents/environments.rbi +3 -3
  270. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +5 -13
  271. data/rbi/openai/resources/beta/agents/sessions.rbi +15 -4
  272. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +9 -5
  273. data/rbi/openai/resources/beta/agents/vaults.rbi +34 -5
  274. data/rbi/openai/resources/beta/agents.rbi +6 -4
  275. data/rbi/openai/resources/beta/responses.rbi +2 -2
  276. data/rbi/openai/resources/chat/completions.rbi +26 -29
  277. data/rbi/openai/resources/decisions.rbi +9 -15
  278. data/rbi/openai/resources/files.rbi +0 -18
  279. data/rbi/openai/resources/live/forks.rbi +17 -0
  280. data/rbi/openai/resources/live/sideband.rbi +17 -0
  281. data/rbi/openai/resources/live.rbi +17 -0
  282. data/rbi/openai/resources/realtime/translations.rbi +17 -0
  283. data/rbi/openai/resources/realtime.rbi +17 -0
  284. data/rbi/openai/resources/responses.rbi +41 -333
  285. data/rbi/openai/resources/vector_stores/file_batches.rbi +0 -93
  286. data/rbi/openai/resources/vector_stores/files.rbi +0 -113
  287. data/rbi/openai/resources/webhooks.rbi +1 -1
  288. data/sig/openai/client.rbs +0 -50
  289. data/sig/openai/helpers/admin/organization/projects/api_keys.rbs +18 -0
  290. data/sig/openai/helpers/beta/agents/artifacts.rbs +17 -0
  291. data/sig/openai/helpers/beta/agents/files.rbs +30 -0
  292. data/sig/openai/helpers/client_runtime.rbs +53 -0
  293. data/sig/openai/helpers/files.rbs +12 -0
  294. data/sig/openai/helpers/models/responses/response.rbs +9 -0
  295. data/sig/openai/helpers/streaming/response_stream.rbs +37 -0
  296. data/sig/openai/helpers/vector_stores/file_batches.rbs +38 -0
  297. data/sig/openai/helpers/vector_stores/files.rbs +43 -0
  298. data/sig/openai/helpers/websocket.rbs +40 -0
  299. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  300. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  301. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +33 -0
  302. data/sig/openai/models/admin/organization/oci_external_storage_provider.rbs +34 -0
  303. data/sig/openai/models/admin/organization/project_residency.rbs +6 -0
  304. data/sig/openai/models/admin/organization/projects/api_key_update_params.rbs +77 -0
  305. data/sig/openai/models/admin/organization/projects/api_key_update_scopes_params.rbs +38 -0
  306. data/sig/openai/models/admin/organization/usage_decisions_params.rbs +170 -0
  307. data/sig/openai/models/admin/organization/usage_decisions_response.rbs +319 -0
  308. data/sig/openai/models/audio/speech_create_params.rbs +4 -2
  309. data/sig/openai/models/audio/voice.rbs +21 -3
  310. data/sig/openai/models/audio/voice_create_params.rbs +90 -1
  311. data/sig/openai/models/beta/agent_create_params.rbs +4 -2
  312. data/sig/openai/models/beta/agent_list_params.rbs +9 -6
  313. data/sig/openai/models/beta/agent_session.rbs +36 -2
  314. data/sig/openai/models/beta/agent_update_params.rbs +4 -2
  315. data/sig/openai/models/beta/agents/environment_list_params.rbs +9 -9
  316. data/sig/openai/models/beta/agents/session_create_params.rbs +29 -2
  317. data/sig/openai/models/beta/agents/session_list_params.rbs +12 -12
  318. data/sig/openai/models/beta/agents/session_update_params.rbs +23 -0
  319. data/sig/openai/models/beta/agents/sessions/artifact_list_params.rbs +21 -15
  320. data/sig/openai/models/beta/agents/vault_list_params.rbs +32 -14
  321. data/sig/openai/models/beta/agents/vault_update_params.rbs +54 -0
  322. data/sig/openai/models/beta/agents/vaults/credential_list_params.rbs +32 -14
  323. data/sig/openai/models/beta/beta_response.rbs +2 -2
  324. data/sig/openai/models/beta/beta_response_error.rbs +19 -3
  325. data/sig/openai/models/beta/beta_response_input_item.rbs +110 -0
  326. data/sig/openai/models/beta/beta_response_item.rbs +110 -0
  327. data/sig/openai/models/beta/beta_response_output_item.rbs +110 -0
  328. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -2
  329. data/sig/openai/models/beta/response_create_params.rbs +2 -2
  330. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  331. data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
  332. data/sig/openai/models/chat/completion_create_params.rbs +2 -2
  333. data/sig/openai/models/conversations/conversation_item.rbs +110 -0
  334. data/sig/openai/models/decision.rbs +13 -0
  335. data/sig/openai/models/decision_create_params.rbs +19 -8
  336. data/sig/openai/models/decision_input_image.rbs +2 -2
  337. data/sig/openai/models/decision_input_message.rbs +2 -2
  338. data/sig/openai/models/live/built_in_voice.rbs +2 -0
  339. data/sig/openai/models/live/client_event.rbs +4 -0
  340. data/sig/openai/models/live/decision_create_event.rbs +18 -0
  341. data/sig/openai/models/live/decision_event.rbs +102 -0
  342. data/sig/openai/models/live/decision_item_create_event.rbs +183 -0
  343. data/sig/openai/models/live/decision_item_created_event.rbs +195 -0
  344. data/sig/openai/models/live/decision_item_delete_event.rbs +33 -0
  345. data/sig/openai/models/live/decision_item_deleted_event.rbs +49 -0
  346. data/sig/openai/models/live/decision_trigger.rbs +234 -0
  347. data/sig/openai/models/live/decisions_delegation_config.rbs +195 -0
  348. data/sig/openai/models/live/decisions_delegation_update_config.rbs +202 -0
  349. data/sig/openai/models/live/delegation_created_event.rbs +6 -7
  350. data/sig/openai/models/live/fork_client_event.rbs +4 -0
  351. data/sig/openai/models/live/fork_server_event.rbs +5 -0
  352. data/sig/openai/models/live/media_session_config.rbs +58 -11
  353. data/sig/openai/models/live/output_audio_fixture_play_event.rbs +42 -0
  354. data/sig/openai/models/live/output_audio_fixture_played_event.rbs +44 -0
  355. data/sig/openai/models/live/output_audio_fixture_playing_event.rbs +44 -0
  356. data/sig/openai/models/live/server_event.rbs +5 -0
  357. data/sig/openai/models/live/session_accept_params.rbs +57 -10
  358. data/sig/openai/models/live/session_config.rbs +58 -11
  359. data/sig/openai/models/live/session_resource.rbs +57 -10
  360. data/sig/openai/models/live/session_update_config.rbs +54 -3
  361. data/sig/openai/models/live/session_update_event.rbs +6 -6
  362. data/sig/openai/models/live/sideband_client_event.rbs +26 -0
  363. data/sig/openai/models/live/sideband_server_event.rbs +33 -0
  364. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -3
  365. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -3
  366. data/sig/openai/models/realtime/realtime_response_status.rbs +15 -3
  367. data/sig/openai/models/responses/response.rbs +2 -4
  368. data/sig/openai/models/responses/response_create_params.rbs +2 -2
  369. data/sig/openai/models/responses/response_error.rbs +19 -3
  370. data/sig/openai/models/responses/response_input_item.rbs +110 -0
  371. data/sig/openai/models/responses/response_item.rbs +110 -0
  372. data/sig/openai/models/responses/response_output_item.rbs +110 -0
  373. data/sig/openai/models/responses/responses_client_event.rbs +2 -2
  374. data/sig/openai/models/safety/safety_alert.rbs +12 -2
  375. data/sig/openai/models/video_create_error.rbs +19 -3
  376. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -1
  377. data/sig/openai/resources/admin/organization/projects/api_keys.rbs +8 -0
  378. data/sig/openai/resources/admin/organization/usage.rbs +15 -0
  379. data/sig/openai/resources/beta/agents/environments/files.rbs +0 -17
  380. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +2 -6
  381. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  382. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +2 -1
  383. data/sig/openai/resources/beta/agents/vaults.rbs +9 -1
  384. data/sig/openai/resources/beta/agents.rbs +1 -1
  385. data/sig/openai/resources/files.rbs +0 -7
  386. data/sig/openai/resources/live/forks.rbs +8 -0
  387. data/sig/openai/resources/live/sideband.rbs +8 -0
  388. data/sig/openai/resources/live.rbs +7 -0
  389. data/sig/openai/resources/realtime/translations.rbs +7 -0
  390. data/sig/openai/resources/realtime.rbs +7 -0
  391. data/sig/openai/resources/responses.rbs +7 -31
  392. data/sig/openai/resources/vector_stores/file_batches.rbs +0 -31
  393. data/sig/openai/resources/vector_stores/files.rbs +0 -36
  394. data/sig/openai/resources/webhooks.rbs +1 -1
  395. metadata +89 -1
@@ -15,16 +15,19 @@ module OpenAI
15
15
  )
16
16
  end
17
17
 
18
- # Shared evidence, as a string or an array of user messages containing text and
19
- # inline images. Non-user roles, function calls, function-call outputs, files,
20
- # audio, and item references are not supported. At most 128 image parts are
21
- # allowed across all messages in one request.
18
+ # The text or images to evaluate for every question. Provide a text string or user
19
+ # messages containing text and images. Images can be base64 data URLs or publicly
20
+ # accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
21
+ # one request. Files, audio, tools, and item references are not supported.
22
22
  sig { returns(OpenAI::DecisionCreateParams::Input::Variants) }
23
23
  attr_accessor :input
24
24
 
25
+ # The model to use. Only `gpt-6-luna` is supported.
25
26
  sig { returns(String) }
26
27
  attr_accessor :model
27
28
 
29
+ # Ask 1–200 questions about the input. Each question can be a predicate, choice,
30
+ # or score. Answers come back in the same order.
28
31
  sig {
29
32
  returns(
30
33
  T::Array[
@@ -66,14 +69,17 @@ module OpenAI
66
69
  end
67
70
  def self.new(
68
71
 
69
- # Shared evidence, as a string or an array of user messages containing text and
70
- # inline images. Non-user roles, function calls, function-call outputs, files,
71
- # audio, and item references are not supported. At most 128 image parts are
72
- # allowed across all messages in one request.
72
+ # The text or images to evaluate for every question. Provide a text string or user
73
+ # messages containing text and images. Images can be base64 data URLs or publicly
74
+ # accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
75
+ # one request. Files, audio, tools, and item references are not supported.
73
76
  input:,
74
77
 
78
+ # The model to use. Only `gpt-6-luna` is supported.
75
79
  model:,
76
80
 
81
+ # Ask 1–200 questions about the input. Each question can be a predicate, choice,
82
+ # or score. Answers come back in the same order.
77
83
  questions:,
78
84
 
79
85
  # Opaque caller-provided end-user identifier, scoped by the verified org. Match
@@ -104,10 +110,10 @@ module OpenAI
104
110
  def to_hash
105
111
  end
106
112
 
107
- # Shared evidence, as a string or an array of user messages containing text and
108
- # inline images. Non-user roles, function calls, function-call outputs, files,
109
- # audio, and item references are not supported. At most 128 image parts are
110
- # allowed across all messages in one request.
113
+ # The text or images to evaluate for every question. Provide a text string or user
114
+ # messages containing text and images. Images can be base64 data URLs or publicly
115
+ # accessible HTTP(S) URLs; at most 128 images are allowed across all messages in
116
+ # one request. Files, audio, tools, and item references are not supported.
111
117
  module Input
112
118
  extend OpenAI::Internal::Type::Union
113
119
 
@@ -157,6 +163,7 @@ module OpenAI
157
163
  sig { params(name: String).void }
158
164
  attr_writer :name
159
165
 
166
+ # Estimate how likely it is that a statement about the input is true.
160
167
  sig do
161
168
  params(
162
169
 
@@ -198,6 +205,7 @@ module OpenAI
198
205
  )
199
206
  end
200
207
 
208
+ # Provide between 2 and 255 choices. Each choice must be unique.
201
209
  sig { returns(T::Array[OpenAI::DecisionCreateParams::Question::Choice::Choice]) }
202
210
  attr_accessor :choices
203
211
 
@@ -214,6 +222,7 @@ module OpenAI
214
222
  sig { params(name: String).void }
215
223
  attr_writer :name
216
224
 
225
+ # Choose from the supplied options based on the input.
217
226
  sig do
218
227
  params(
219
228
 
@@ -229,6 +238,7 @@ module OpenAI
229
238
  end
230
239
  def self.new(
231
240
 
241
+ # Provide between 2 and 255 choices. Each choice must be unique.
232
242
  choices:,
233
243
 
234
244
  instructions:,
@@ -338,6 +348,7 @@ module OpenAI
338
348
  sig { params(name: String).void }
339
349
  attr_writer :name
340
350
 
351
+ # Rate the input against the supplied ordered levels.
341
352
  sig do
342
353
  params(
343
354
 
@@ -12,7 +12,7 @@ module OpenAI
12
12
  )
13
13
  end
14
14
 
15
- # A base64-encoded image in a data URL.
15
+ # A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
16
16
  sig { returns(String) }
17
17
  attr_accessor :image_url
18
18
 
@@ -24,7 +24,8 @@ module OpenAI
24
24
  sig { returns(T.nilable(OpenAI::DecisionInputImage::Detail::OrSymbol)) }
25
25
  attr_accessor :detail
26
26
 
27
- # An inline image. External URLs and file IDs are not supported.
27
+ # An image provided as a base64 data URL or a publicly accessible HTTP(S) URL.
28
+ # File IDs are not supported.
28
29
  sig do
29
30
  params(
30
31
 
@@ -38,7 +39,7 @@ module OpenAI
38
39
  end
39
40
  def self.new(
40
41
 
41
- # A base64-encoded image in a data URL.
42
+ # A base64-encoded image in a data URL or a publicly accessible HTTP(S) image URL.
42
43
  image_url:,
43
44
 
44
45
  # The image detail level, using the selected model's image profile. Defaults to
@@ -12,7 +12,7 @@ module OpenAI
12
12
  )
13
13
  end
14
14
 
15
- # Text evidence or an ordered list of text and inline image parts.
15
+ # Text evidence or an ordered list of text and image parts.
16
16
  sig { returns(OpenAI::DecisionInputMessage::Content::Variants) }
17
17
  attr_accessor :content
18
18
 
@@ -25,7 +25,7 @@ module OpenAI
25
25
  sig { params(type: OpenAI::DecisionInputMessage::Type::OrSymbol).void }
26
26
  attr_writer :type
27
27
 
28
- # A user message containing text or inline images.
28
+ # A user message containing text or images.
29
29
  sig do
30
30
  params(
31
31
 
@@ -39,7 +39,7 @@ module OpenAI
39
39
  end
40
40
  def self.new(
41
41
 
42
- # Text evidence or an ordered list of text and inline image parts.
42
+ # Text evidence or an ordered list of text and image parts.
43
43
  content:,
44
44
 
45
45
  type: nil,
@@ -60,7 +60,7 @@ module OpenAI
60
60
  def to_hash
61
61
  end
62
62
 
63
- # Text evidence or an ordered list of text and inline image parts.
63
+ # Text evidence or an ordered list of text and image parts.
64
64
  module Content
65
65
  extend OpenAI::Internal::Type::Union
66
66
 
@@ -3,7 +3,8 @@
3
3
  module OpenAI
4
4
  module Models
5
5
 
6
- # An inline image. External URLs and file IDs are not supported.
6
+ # An image provided as a base64 data URL or a publicly accessible HTTP(S) URL.
7
+ # File IDs are not supported.
7
8
  module DecisionInputPart
8
9
  extend OpenAI::Internal::Type::Union
9
10
 
@@ -192,6 +192,7 @@ module OpenAI
192
192
  sig { returns(T::Array[OpenAI::ImageEditCompletedEvent::Size::TaggedSymbol]) }
193
193
  def self.values
194
194
  end
195
+
195
196
  end
196
197
 
197
198
  class Usage < OpenAI::Internal::Type::BaseModel
@@ -187,6 +187,7 @@ module OpenAI
187
187
  sig { returns(T::Array[OpenAI::ImageEditPartialImageEvent::Size::TaggedSymbol]) }
188
188
  def self.values
189
189
  end
190
+
190
191
  end
191
192
 
192
193
  end
@@ -192,6 +192,7 @@ module OpenAI
192
192
  sig { returns(T::Array[OpenAI::ImageGenCompletedEvent::Size::TaggedSymbol]) }
193
193
  def self.values
194
194
  end
195
+
195
196
  end
196
197
 
197
198
  class Usage < OpenAI::Internal::Type::BaseModel
@@ -187,6 +187,7 @@ module OpenAI
187
187
  sig { returns(T::Array[OpenAI::ImageGenPartialImageEvent::Size::TaggedSymbol]) }
188
188
  def self.values
189
189
  end
190
+
190
191
  end
191
192
 
192
193
  end
@@ -198,6 +198,7 @@ module OpenAI
198
198
  sig { returns(T::Array[OpenAI::ImagesResponse::Size::TaggedSymbol]) }
199
199
  def self.values
200
200
  end
201
+
201
202
  end
202
203
 
203
204
  class Usage < OpenAI::Internal::Type::BaseModel
@@ -28,6 +28,7 @@ module OpenAI
28
28
  QUARTZ = T.let(:quartz, OpenAI::Live::BuiltInVoice::TaggedSymbol)
29
29
  RIPPLE = T.let(:ripple, OpenAI::Live::BuiltInVoice::TaggedSymbol)
30
30
  SAGE = T.let(:sage, OpenAI::Live::BuiltInVoice::TaggedSymbol)
31
+ SHIDA = T.let(:shida, OpenAI::Live::BuiltInVoice::TaggedSymbol)
31
32
  SHIMMER = T.let(:shimmer, OpenAI::Live::BuiltInVoice::TaggedSymbol)
32
33
  STONE = T.let(:stone, OpenAI::Live::BuiltInVoice::TaggedSymbol)
33
34
  TEMPO = T.let(:tempo, OpenAI::Live::BuiltInVoice::TaggedSymbol)
@@ -20,9 +20,13 @@ module OpenAI
20
20
  OpenAI::Live::InputAudioAppendEvent,
21
21
  OpenAI::Live::InputAudioMuteEvent,
22
22
  OpenAI::Live::InputAudioUnmuteEvent,
23
+ OpenAI::Live::OutputAudioFixturePlayEvent,
23
24
  OpenAI::Live::InstructionsAppendEvent,
24
25
  OpenAI::Live::ThinkingAppendEvent,
25
26
  OpenAI::Live::CommentaryAppendEvent,
27
+ OpenAI::Live::DecisionCreateEvent,
28
+ OpenAI::Live::DecisionItemCreateEvent,
29
+ OpenAI::Live::DecisionItemDeleteEvent,
26
30
  OpenAI::Live::ResponseItemCreateEvent,
27
31
  OpenAI::Live::ResponseCreateEvent,
28
32
  OpenAI::Live::SessionCloseEvent
@@ -0,0 +1,55 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Live
7
+
8
+ class DecisionCreateEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Live::DecisionCreateEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ sig { returns(String) }
18
+ attr_accessor :event_id
19
+
20
+ sig { returns(Symbol) }
21
+ attr_accessor :type
22
+
23
+ # Evaluate the configured questions using the current conversation and Decision
24
+ # inputs. Reusing an event_id is rejected for the lifetime of the session.
25
+ sig do
26
+ params(
27
+
28
+ event_id: String,
29
+
30
+ type: Symbol
31
+ )
32
+ .returns(T.attached_class)
33
+ end
34
+ def self.new(
35
+
36
+ event_id:,
37
+
38
+ type: :"decision.create"
39
+ )
40
+ end
41
+
42
+ sig do
43
+ override.returns(
44
+ {event_id: String, type: Symbol}
45
+ )
46
+ end
47
+ def to_hash
48
+ end
49
+
50
+ end
51
+
52
+ end
53
+
54
+ end
55
+ end
@@ -0,0 +1,185 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Live
7
+
8
+ class DecisionEvent < OpenAI::Internal::Type::BaseModel
9
+
10
+ OrHash = T.type_alias do
11
+ T.any(
12
+ OpenAI::Live::DecisionEvent,
13
+ OpenAI::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The Live delegation ID, or null for a transcript trigger.
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :delegation_id
20
+
21
+ sig { returns(OpenAI::Live::DecisionEvent::Event) }
22
+ attr_reader :event
23
+
24
+ sig { params(event: OpenAI::Live::DecisionEvent::Event::OrHash).void }
25
+ attr_writer :event
26
+
27
+ # The unique ID of this Live server event.
28
+ sig { returns(String) }
29
+ attr_accessor :event_id
30
+
31
+ # The event_id of the transcript delta that fired this trigger, or null for a
32
+ # delegation.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_accessor :source_event_id
35
+
36
+ sig { returns(T.nilable(OpenAI::Live::DecisionEvent::SourceEventType::Variants)) }
37
+ attr_accessor :source_event_type
38
+
39
+ # The Live-assigned ID of this trigger firing, or null for a delegation.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :trigger_id
42
+
43
+ sig { returns(Symbol) }
44
+ attr_accessor :type
45
+
46
+ # A Decision API event for a Live delegation or transcript trigger. For a trigger,
47
+ # source_event_id identifies the transcript delta that caused this evaluation.
48
+ sig do
49
+ params(
50
+
51
+ delegation_id: T.nilable(String),
52
+
53
+ event: OpenAI::Live::DecisionEvent::Event::OrHash,
54
+
55
+ event_id: String,
56
+
57
+ source_event_id: T.nilable(String),
58
+
59
+ source_event_type: T.nilable(OpenAI::Live::DecisionEvent::SourceEventType::OrSymbol),
60
+
61
+ trigger_id: T.nilable(String),
62
+
63
+ type: Symbol
64
+ )
65
+ .returns(T.attached_class)
66
+ end
67
+ def self.new(
68
+
69
+ # The Live delegation ID, or null for a transcript trigger.
70
+ delegation_id:,
71
+
72
+ event:,
73
+
74
+ # The unique ID of this Live server event.
75
+ event_id:,
76
+
77
+ # The event_id of the transcript delta that fired this trigger, or null for a
78
+ # delegation.
79
+ source_event_id:,
80
+
81
+ source_event_type:,
82
+
83
+ # The Live-assigned ID of this trigger firing, or null for a delegation.
84
+ trigger_id:,
85
+
86
+ type: :"decision.event"
87
+ )
88
+ end
89
+
90
+ sig do
91
+ override.returns(
92
+ {
93
+ delegation_id: T.nilable(String),
94
+ event: OpenAI::Live::DecisionEvent::Event,
95
+ event_id: String,
96
+ source_event_id: T.nilable(String),
97
+ source_event_type: T.nilable(OpenAI::Live::DecisionEvent::SourceEventType::Variants),
98
+ trigger_id: T.nilable(String),
99
+ type: Symbol
100
+ }
101
+ )
102
+ end
103
+ def to_hash
104
+ end
105
+
106
+ class Event < OpenAI::Internal::Type::BaseModel
107
+ OrHash = T.type_alias do
108
+ T.any(
109
+ OpenAI::Live::DecisionEvent::Event,
110
+ OpenAI::Internal::AnyHash
111
+ )
112
+ end
113
+
114
+ # The native Decision API response, including its model, ordered answers, and
115
+ # token usage.
116
+ sig { returns(OpenAI::Decision) }
117
+ attr_reader :decision
118
+
119
+ sig { params(decision: OpenAI::Decision::OrHash).void }
120
+ attr_writer :decision
121
+
122
+ sig { returns(Symbol) }
123
+ attr_accessor :type
124
+
125
+ sig do
126
+ params(
127
+
128
+ decision: OpenAI::Decision::OrHash,
129
+
130
+ type: Symbol
131
+ )
132
+ .returns(T.attached_class)
133
+ end
134
+ def self.new(
135
+
136
+ # The native Decision API response, including its model, ordered answers, and
137
+ # token usage.
138
+ decision:,
139
+
140
+ type: :"decision.completed"
141
+ )
142
+ end
143
+
144
+ sig do
145
+ override.returns(
146
+ {decision: OpenAI::Decision, type: Symbol}
147
+ )
148
+ end
149
+ def to_hash
150
+ end
151
+
152
+ end
153
+
154
+ module SourceEventType
155
+ extend OpenAI::Internal::Type::Union
156
+
157
+ Variants = T.type_alias { OpenAI::Live::DecisionEvent::SourceEventType::TaggedSymbol }
158
+
159
+ sig { override.returns(T::Array[OpenAI::Live::DecisionEvent::SourceEventType::Variants]) }
160
+ def self.variants
161
+ end
162
+
163
+ TaggedSymbol = T.type_alias do
164
+ T.all(Symbol, OpenAI::Live::DecisionEvent::SourceEventType)
165
+ end
166
+
167
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
168
+
169
+ SESSION_INPUT_TRANSCRIPT_DELTA = T.let(
170
+ :"session.input_transcript.delta",
171
+ OpenAI::Live::DecisionEvent::SourceEventType::TaggedSymbol
172
+ )
173
+ SESSION_OUTPUT_TRANSCRIPT_DELTA = T.let(
174
+ :"session.output_transcript.delta",
175
+ OpenAI::Live::DecisionEvent::SourceEventType::TaggedSymbol
176
+ )
177
+
178
+ end
179
+
180
+ end
181
+
182
+ end
183
+
184
+ end
185
+ end