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
@@ -45,38 +45,6 @@ module OpenAI
45
45
  )
46
46
  end
47
47
 
48
- # Attach a file to a vector store and wait for processing to finish.
49
- sig do
50
- params(
51
- vector_store_id: String,
52
- file_id: String,
53
- attributes: T.nilable(
54
- T::Hash[
55
- Symbol,
56
- OpenAI::VectorStores::FileCreateParams::Attribute::Variants
57
- ]
58
- ),
59
- chunking_strategy: T.any(
60
- OpenAI::AutoFileChunkingStrategyParam::OrHash,
61
- OpenAI::StaticFileChunkingStrategyObjectParam::OrHash
62
- ),
63
- poll_interval: T.nilable(T.any(Integer, Float)),
64
- timeout: T.nilable(T.any(Integer, Float)),
65
- request_options: OpenAI::RequestOptions::OrHash
66
- )
67
- .returns(OpenAI::VectorStores::VectorStoreFile)
68
- end
69
- def create_and_poll(
70
- vector_store_id,
71
- file_id:,
72
- attributes: nil,
73
- chunking_strategy: nil,
74
- poll_interval: nil,
75
- timeout: OpenAI::Internal::Poller::DEFAULT_TIMEOUT,
76
- request_options: {}
77
- )
78
- end
79
-
80
48
  # Retrieves a vector store file.
81
49
  sig {
82
50
  params(file_id: String, vector_store_id: String, request_options: OpenAI::RequestOptions::OrHash).returns(
@@ -173,87 +141,6 @@ module OpenAI
173
141
  )
174
142
  end
175
143
 
176
- # Wait for a vector store file to finish processing.
177
- sig do
178
- params(
179
- file_id: String,
180
- vector_store_id: String,
181
- poll_interval: T.nilable(T.any(Integer, Float)),
182
- timeout: T.nilable(T.any(Integer, Float)),
183
- request_options: OpenAI::RequestOptions::OrHash
184
- )
185
- .returns(OpenAI::VectorStores::VectorStoreFile)
186
- end
187
- def poll(
188
- file_id,
189
- vector_store_id:,
190
- poll_interval: nil,
191
- timeout: OpenAI::Internal::Poller::DEFAULT_TIMEOUT,
192
- request_options: {}
193
- )
194
- end
195
-
196
- # Upload a file and attach it to a vector store.
197
- sig do
198
- params(
199
- vector_store_id: String,
200
- file: OpenAI::Internal::FileInput,
201
- attributes: T.nilable(
202
- T::Hash[
203
- Symbol,
204
- OpenAI::VectorStores::FileCreateParams::Attribute::Variants
205
- ]
206
- ),
207
- chunking_strategy: T.any(
208
- OpenAI::AutoFileChunkingStrategyParam::OrHash,
209
- OpenAI::StaticFileChunkingStrategyObjectParam::OrHash
210
- ),
211
- request_options: OpenAI::RequestOptions::OrHash
212
- )
213
- .returns(OpenAI::VectorStores::VectorStoreFile)
214
- end
215
- def upload(
216
- vector_store_id,
217
- file:,
218
- attributes: nil,
219
- chunking_strategy: nil,
220
- request_options: {}
221
- )
222
- end
223
-
224
- # Upload a file, attach it to a vector store, and wait for processing to
225
- # finish.
226
- sig do
227
- params(
228
- vector_store_id: String,
229
- file: OpenAI::Internal::FileInput,
230
- attributes: T.nilable(
231
- T::Hash[
232
- Symbol,
233
- OpenAI::VectorStores::FileCreateParams::Attribute::Variants
234
- ]
235
- ),
236
- chunking_strategy: T.any(
237
- OpenAI::AutoFileChunkingStrategyParam::OrHash,
238
- OpenAI::StaticFileChunkingStrategyObjectParam::OrHash
239
- ),
240
- poll_interval: T.nilable(T.any(Integer, Float)),
241
- timeout: T.nilable(T.any(Integer, Float)),
242
- request_options: OpenAI::RequestOptions::OrHash
243
- )
244
- .returns(OpenAI::VectorStores::VectorStoreFile)
245
- end
246
- def upload_and_poll(
247
- vector_store_id,
248
- file:,
249
- attributes: nil,
250
- chunking_strategy: nil,
251
- poll_interval: nil,
252
- timeout: OpenAI::Internal::Poller::DEFAULT_TIMEOUT,
253
- request_options: {}
254
- )
255
- end
256
-
257
144
  # Retrieve the parsed contents of a vector store file.
258
145
  sig {
259
146
  params(file_id: String, vector_store_id: String, request_options: OpenAI::RequestOptions::OrHash).returns(
@@ -140,8 +140,10 @@ module OpenAI
140
140
  )
141
141
  .returns(
142
142
  T.any(
143
+ OpenAI::Webhooks::AgentEnvironmentExpiredWebhookEvent,
143
144
  OpenAI::Webhooks::AgentEnvironmentFailedWebhookEvent,
144
145
  OpenAI::Webhooks::AgentEnvironmentReadyWebhookEvent,
146
+ OpenAI::Webhooks::AgentEnvironmentSuspendedWebhookEvent,
145
147
  OpenAI::Webhooks::AgentSessionActionRequiredWebhookEvent,
146
148
  OpenAI::Webhooks::AgentSessionCreatedWebhookEvent,
147
149
  OpenAI::Webhooks::AgentSessionFailedWebhookEvent,
@@ -82,56 +82,6 @@ module OpenAI
82
82
 
83
83
  private def admin_api_key_auth: -> ::Hash[String, String]
84
84
 
85
- private def prepare_request: (
86
- OpenAI::Internal::Transport::BaseClient::request_input request,
87
- redirect_count: Integer,
88
- retry_count: Integer
89
- ) -> OpenAI::Internal::Transport::BaseClient::request_input
90
-
91
- private def validate_prepared_request: (
92
- OpenAI::Internal::Transport::BaseClient::request_input request,
93
- original_request: OpenAI::Internal::Transport::BaseClient::request_input
94
- ) -> OpenAI::Internal::Transport::BaseClient::request_input
95
-
96
- private def validate_retry_delay!: (
97
- OpenAI::Internal::Transport::BaseClient::request_input request,
98
- delay: Float
99
- ) -> void
100
-
101
- private def x509_identity?: (untyped identity) -> bool
102
-
103
- private def x509_transport?: (untyped transport) -> bool
104
-
105
- private def copy_with_workload_identity_auth: (
106
- ::Hash[Symbol, untyped] options
107
- ) -> self
108
-
109
- def adopt_workload_identity_auth!: (
110
- OpenAI::Auth::WorkloadIdentityAuth authenticator
111
- ) -> void
112
-
113
- def with_options: (
114
- ?api_key: String?,
115
- ?admin_api_key: String?,
116
- ?workload_identity: (OpenAI::Auth::WorkloadIdentity
117
- | OpenAI::Auth::X509WorkloadIdentity)?,
118
- ?organization: String?,
119
- ?project: String?,
120
- ?webhook_secret: String?,
121
- ?provider: OpenAI::Provider?,
122
- ?base_url: String?,
123
- ?data_residency: (Symbol | String)?,
124
- ?default_headers: ::Hash[String, String?]?,
125
- ?max_retries: Integer,
126
- ?timeout: Float?,
127
- ?initial_retry_delay: Float,
128
- ?max_retry_delay: Float,
129
- ?http_client: OpenAI::_HTTPClient?,
130
- ?logger: OpenAI::_Logger?,
131
- ?log_level: (Symbol | String)?,
132
- ?on_retry: (^(OpenAI::RetryEvent) -> void)?
133
- ) -> self
134
-
135
85
  def initialize: (
136
86
  ?api_key: String?,
137
87
  ?admin_api_key: String?,
@@ -0,0 +1,18 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Admin
4
+ class Organization
5
+ class Projects
6
+ class APIKeys
7
+ def update_scopes: (
8
+ String api_key_id,
9
+ project_id: String,
10
+ scopes: ::Array[String],
11
+ ?request_options: OpenAI::request_opts
12
+ ) -> OpenAI::Admin::Organization::Projects::ProjectAPIKey
13
+ end
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -18,3 +18,20 @@ module OpenAI
18
18
  end
19
19
  end
20
20
  end
21
+
22
+ module OpenAI
23
+ module Resources
24
+ class Beta
25
+ class Agents
26
+ class Sessions
27
+ class Artifacts
28
+ # Beta result-scoped downloads.
29
+ def for_result: (
30
+ OpenAI::Helpers::Beta::Agents::TurnResult result
31
+ ) -> OpenAI::Helpers::Beta::Agents::ResultArtifacts
32
+ end
33
+ end
34
+ end
35
+ end
36
+ end
37
+ end
@@ -39,3 +39,33 @@ module OpenAI
39
39
  end
40
40
  end
41
41
  end
42
+
43
+ module OpenAI
44
+ module Resources
45
+ class Beta
46
+ class Agents
47
+ class Environments
48
+ class Files
49
+ # Beta file helpers.
50
+ def prepare: (
51
+ Hash[String, String | Pathname] files,
52
+ ?request_options: OpenAI::request_opts
53
+ ) -> OpenAI::Helpers::Beta::Agents::PreparedFiles
54
+ def prepare_directory: (
55
+ String | Pathname directory,
56
+ destination: String,
57
+ include: Array[String],
58
+ ?request_options: OpenAI::request_opts
59
+ ) -> OpenAI::Helpers::Beta::Agents::PreparedFiles
60
+ def upload: (
61
+ String environment_id,
62
+ file: String | Pathname,
63
+ path: String,
64
+ ?request_options: OpenAI::request_opts
65
+ ) -> OpenAI::Helpers::Beta::Agents::PreparedFiles
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,53 @@
1
+ module OpenAI
2
+ class Client < OpenAI::Internal::Transport::BaseClient
3
+ private def prepare_request: (
4
+ OpenAI::Internal::Transport::BaseClient::request_input request,
5
+ redirect_count: Integer,
6
+ retry_count: Integer
7
+ ) -> OpenAI::Internal::Transport::BaseClient::request_input
8
+
9
+ private def validate_prepared_request: (
10
+ OpenAI::Internal::Transport::BaseClient::request_input request,
11
+ original_request: OpenAI::Internal::Transport::BaseClient::request_input
12
+ ) -> OpenAI::Internal::Transport::BaseClient::request_input
13
+
14
+ private def validate_retry_delay!: (
15
+ OpenAI::Internal::Transport::BaseClient::request_input request,
16
+ delay: Float
17
+ ) -> void
18
+
19
+ private def x509_identity?: (untyped identity) -> bool
20
+
21
+ private def x509_transport?: (untyped transport) -> bool
22
+
23
+ private def copy_with_workload_identity_auth: (
24
+ ::Hash[Symbol, untyped] options
25
+ ) -> self
26
+
27
+ def adopt_workload_identity_auth!: (
28
+ OpenAI::Auth::WorkloadIdentityAuth authenticator
29
+ ) -> void
30
+
31
+ def with_options: (
32
+ ?api_key: String?,
33
+ ?admin_api_key: String?,
34
+ ?workload_identity: (OpenAI::Auth::WorkloadIdentity
35
+ | OpenAI::Auth::X509WorkloadIdentity)?,
36
+ ?organization: String?,
37
+ ?project: String?,
38
+ ?webhook_secret: String?,
39
+ ?provider: OpenAI::Provider?,
40
+ ?base_url: String?,
41
+ ?data_residency: (Symbol | String)?,
42
+ ?default_headers: ::Hash[String, String?]?,
43
+ ?max_retries: Integer,
44
+ ?timeout: Float?,
45
+ ?initial_retry_delay: Float,
46
+ ?max_retry_delay: Float,
47
+ ?http_client: OpenAI::_HTTPClient?,
48
+ ?logger: OpenAI::_Logger?,
49
+ ?log_level: (Symbol | String)?,
50
+ ?on_retry: (^(OpenAI::RetryEvent) -> void)?
51
+ ) -> self
52
+ end
53
+ end
@@ -0,0 +1,12 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Files
4
+ def wait_for_processing: (
5
+ String file_id,
6
+ ?poll_interval: (Integer | Float)?,
7
+ ?timeout: (Integer | Float)?,
8
+ ?request_options: OpenAI::request_opts
9
+ ) -> OpenAI::FileObject
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,9 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ class Response
5
+ def output_text: -> String
6
+ end
7
+ end
8
+ end
9
+ end
@@ -110,3 +110,40 @@ module OpenAI
110
110
  end
111
111
  end
112
112
  end
113
+
114
+ module OpenAI
115
+ module Resources
116
+ class Responses
117
+ def stream: (
118
+ ?access_programs: OpenAI::Responses::ResponseCreateParams::AccessPrograms,
119
+ ?background: bool?,
120
+ ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
121
+ ?input: OpenAI::Models::Responses::ResponseCreateParams::input,
122
+ ?instructions: String?,
123
+ ?max_output_tokens: Integer?,
124
+ ?max_tool_calls: Integer?,
125
+ ?metadata: OpenAI::Models::metadata?,
126
+ ?model: OpenAI::Models::responses_model,
127
+ ?parallel_tool_calls: bool?,
128
+ ?previous_response_id: String?,
129
+ ?prompt: OpenAI::Responses::ResponsePrompt?,
130
+ ?prompt_cache_key: String,
131
+ ?reasoning: OpenAI::Reasoning?,
132
+ ?response_id: String?,
133
+ ?safety_identifier: String,
134
+ ?service_tier: OpenAI::Models::Responses::ResponseCreateParams::service_tier?,
135
+ ?starting_after: Integer?,
136
+ ?store: bool?,
137
+ ?temperature: Float?,
138
+ ?text: OpenAI::Responses::ResponseTextConfig,
139
+ ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice,
140
+ ?tools: ::Array[OpenAI::Models::Responses::tool],
141
+ ?top_logprobs: Integer?,
142
+ ?top_p: Float?,
143
+ ?truncation: OpenAI::Models::Responses::ResponseCreateParams::truncation?,
144
+ ?user: String,
145
+ ?request_options: OpenAI::request_opts
146
+ ) -> OpenAI::Streaming::ResponseStream
147
+ end
148
+ end
149
+ end
@@ -0,0 +1,38 @@
1
+ module OpenAI
2
+ module Resources
3
+ class VectorStores
4
+ class FileBatches
5
+ def create_and_poll: (
6
+ String vector_store_id,
7
+ ?attributes: ::Hash[Symbol, OpenAI::Models::VectorStores::FileBatchCreateParams::attribute]?,
8
+ ?chunking_strategy: OpenAI::Models::file_chunking_strategy_param,
9
+ ?file_ids: ::Array[String],
10
+ ?files: ::Array[OpenAI::VectorStores::FileBatchCreateParams::File],
11
+ ?poll_interval: (Integer | Float)?,
12
+ ?timeout: (Integer | Float)?,
13
+ ?request_options: OpenAI::request_opts
14
+ ) -> OpenAI::VectorStores::VectorStoreFileBatch
15
+
16
+ def poll: (
17
+ String batch_id,
18
+ vector_store_id: String,
19
+ ?poll_interval: (Integer | Float)?,
20
+ ?timeout: (Integer | Float)?,
21
+ ?request_options: OpenAI::request_opts
22
+ ) -> OpenAI::VectorStores::VectorStoreFileBatch
23
+
24
+ def upload_and_poll: (
25
+ String vector_store_id,
26
+ files: Enumerable[OpenAI::Internal::file_input],
27
+ ?file_ids: ::Array[String],
28
+ ?max_concurrency: Integer,
29
+ ?attributes: ::Hash[Symbol, OpenAI::Models::VectorStores::FileBatchCreateParams::attribute]?,
30
+ ?chunking_strategy: OpenAI::Models::file_chunking_strategy_param,
31
+ ?poll_interval: (Integer | Float)?,
32
+ ?timeout: (Integer | Float)?,
33
+ ?request_options: OpenAI::request_opts
34
+ ) -> OpenAI::VectorStores::VectorStoreFileBatch
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,43 @@
1
+ module OpenAI
2
+ module Resources
3
+ class VectorStores
4
+ class Files
5
+ def create_and_poll: (
6
+ String vector_store_id,
7
+ file_id: String,
8
+ ?attributes: ::Hash[Symbol, OpenAI::Models::VectorStores::FileCreateParams::attribute]?,
9
+ ?chunking_strategy: OpenAI::Models::file_chunking_strategy_param,
10
+ ?poll_interval: (Integer | Float)?,
11
+ ?timeout: (Integer | Float)?,
12
+ ?request_options: OpenAI::request_opts
13
+ ) -> OpenAI::VectorStores::VectorStoreFile
14
+
15
+ def poll: (
16
+ String file_id,
17
+ vector_store_id: String,
18
+ ?poll_interval: (Integer | Float)?,
19
+ ?timeout: (Integer | Float)?,
20
+ ?request_options: OpenAI::request_opts
21
+ ) -> OpenAI::VectorStores::VectorStoreFile
22
+
23
+ def upload: (
24
+ String vector_store_id,
25
+ file: OpenAI::Internal::file_input,
26
+ ?attributes: ::Hash[Symbol, OpenAI::Models::VectorStores::FileCreateParams::attribute]?,
27
+ ?chunking_strategy: OpenAI::Models::file_chunking_strategy_param,
28
+ ?request_options: OpenAI::request_opts
29
+ ) -> OpenAI::VectorStores::VectorStoreFile
30
+
31
+ def upload_and_poll: (
32
+ String vector_store_id,
33
+ file: OpenAI::Internal::file_input,
34
+ ?attributes: ::Hash[Symbol, OpenAI::Models::VectorStores::FileCreateParams::attribute]?,
35
+ ?chunking_strategy: OpenAI::Models::file_chunking_strategy_param,
36
+ ?poll_interval: (Integer | Float)?,
37
+ ?timeout: (Integer | Float)?,
38
+ ?request_options: OpenAI::request_opts
39
+ ) -> OpenAI::VectorStores::VectorStoreFile
40
+ end
41
+ end
42
+ end
43
+ end
@@ -1,4 +1,44 @@
1
1
  module OpenAI
2
+ class Client
3
+ # @api private
4
+ def with_websocket_connection_request: (
5
+ request: OpenAI::Internal::Transport::BaseClient::request_components,
6
+ ?websocket_base_url: String?,
7
+ ?options: OpenAI::request_opts?
8
+ ) {
9
+ (
10
+ OpenAI::Internal::Transport::BaseClient::request_input request,
11
+ ^-> void mark_handshake_completed
12
+ ) -> top
13
+ } -> top
14
+ end
15
+
16
+ module WebSocket
17
+ module Resource
18
+ def connect: (
19
+ *untyped path_arguments,
20
+ ?query: Hash[untyped, untyped],
21
+ ?websocket_base_url: String?,
22
+ ?request_options: untyped,
23
+ ?transport: untyped,
24
+ ?transport_options: Hash[untyped, untyped]
25
+ ) {
26
+ (TypedConnection) -> untyped
27
+ } -> untyped
28
+ end
29
+
30
+ class TypedConnection
31
+ include Enumerable[untyped]
32
+
33
+ attr_reader url: URI::Generic
34
+ def receive: -> untyped
35
+ def send_event: (untyped event) -> void
36
+ def each: -> Enumerator[untyped, self] | { (untyped) -> void } -> self
37
+ def close: (?code: Integer, ?reason: String) -> void
38
+ def closed?: -> bool
39
+ end
40
+ end
41
+
2
42
  module Errors
3
43
  class WebSocketConnectionError < OpenAI::Errors::Error
4
44
  attr_reader url: URI::Generic
@@ -1838,6 +1838,7 @@ module OpenAI
1838
1838
  OpenAI::Admin::Organization::AwsExternalStorageProvider
1839
1839
  | OpenAI::Admin::Organization::AzureExternalStorageProvider
1840
1840
  | OpenAI::Admin::Organization::GcpExternalStorageProvider
1841
+ | OpenAI::Admin::Organization::OciExternalStorageProvider
1841
1842
 
1842
1843
  module Provider
1843
1844
  extend OpenAI::Internal::Type::Union
@@ -52,6 +52,7 @@ module OpenAI
52
52
  OpenAI::Admin::Organization::AwsExternalStorageProvider
53
53
  | OpenAI::Admin::Organization::AzureExternalStorageProvider
54
54
  | OpenAI::Admin::Organization::GcpExternalStorageProvider
55
+ | OpenAI::Admin::Organization::OciExternalStorageProvider
55
56
 
56
57
  module Provider
57
58
  extend OpenAI::Internal::Type::Union
@@ -33,6 +33,7 @@ module OpenAI
33
33
  OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Aws
34
34
  | OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Azure
35
35
  | OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp
36
+ | OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Oci
36
37
 
37
38
  module Provider
38
39
  extend OpenAI::Internal::Type::Union
@@ -134,6 +135,38 @@ module OpenAI
134
135
  }
135
136
  end
136
137
 
138
+ type oci =
139
+ {
140
+ bucket: String,
141
+ region: String,
142
+ tenancy_ocid: String,
143
+ ?type: :oci
144
+ }
145
+
146
+ class Oci < OpenAI::Internal::Type::BaseModel
147
+ attr_accessor bucket: String
148
+
149
+ attr_accessor region: String
150
+
151
+ attr_accessor tenancy_ocid: String
152
+
153
+ attr_accessor type: :oci
154
+
155
+ def initialize: (
156
+ bucket: String,
157
+ region: String,
158
+ tenancy_ocid: String,
159
+ ?type: :oci
160
+ ) -> void
161
+
162
+ def to_hash: -> {
163
+ bucket: String,
164
+ region: String,
165
+ tenancy_ocid: String,
166
+ ?type: :oci
167
+ }
168
+ end
169
+
137
170
  def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::provider]
138
171
  end
139
172
  end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type oci_external_storage_provider =
6
+ { bucket: String, region: String, tenancy_ocid: String, ?type: :oci }
7
+
8
+ class OciExternalStorageProvider < OpenAI::Internal::Type::BaseModel
9
+ attr_accessor bucket: String
10
+
11
+ attr_accessor region: String
12
+
13
+ attr_accessor tenancy_ocid: String
14
+
15
+ attr_accessor type: :oci
16
+
17
+ def initialize: (
18
+ bucket: String,
19
+ region: String,
20
+ tenancy_ocid: String,
21
+ ?type: :oci
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ bucket: String,
26
+ region: String,
27
+ tenancy_ocid: String,
28
+ ?type: :oci
29
+ }
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
@@ -7,11 +7,14 @@ module OpenAI
7
7
  | :US_STORAGE_PROCESSING
8
8
  | :EU_STORAGE_PROCESSING
9
9
  | :JP_STORAGE
10
+ | :JP_STORAGE_PROCESSING
10
11
  | :KR_STORAGE
11
12
  | :CA_STORAGE
12
13
  | :SG_STORAGE
13
14
  | :IN_STORAGE
15
+ | :IN_STORAGE_PROCESSING
14
16
  | :AU_STORAGE
17
+ | :AU_STORAGE_PROCESSING
15
18
  | :GB_STORAGE
16
19
  | :AE_STORAGE
17
20
  | :AE_STORAGE_PROCESSING
@@ -23,11 +26,14 @@ module OpenAI
23
26
  US_STORAGE_PROCESSING: :US_STORAGE_PROCESSING
24
27
  EU_STORAGE_PROCESSING: :EU_STORAGE_PROCESSING
25
28
  JP_STORAGE: :JP_STORAGE
29
+ JP_STORAGE_PROCESSING: :JP_STORAGE_PROCESSING
26
30
  KR_STORAGE: :KR_STORAGE
27
31
  CA_STORAGE: :CA_STORAGE
28
32
  SG_STORAGE: :SG_STORAGE
29
33
  IN_STORAGE: :IN_STORAGE
34
+ IN_STORAGE_PROCESSING: :IN_STORAGE_PROCESSING
30
35
  AU_STORAGE: :AU_STORAGE
36
+ AU_STORAGE_PROCESSING: :AU_STORAGE_PROCESSING
31
37
  GB_STORAGE: :GB_STORAGE
32
38
  AE_STORAGE: :AE_STORAGE
33
39
  AE_STORAGE_PROCESSING: :AE_STORAGE_PROCESSING