openai 0.80.0 → 0.82.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 (1750) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +103 -0
  3. data/README.md +229 -2
  4. data/SECURITY.md +34 -5
  5. data/bedrock.md +1 -0
  6. data/examples/realtime/README.md +220 -0
  7. data/examples/realtime/function_calling.rb +158 -0
  8. data/examples/realtime/image_input.rb +105 -0
  9. data/examples/realtime/mcp_approval.rb +346 -0
  10. data/examples/realtime/sideband.rb +64 -0
  11. data/examples/realtime/websocket_text.rb +83 -0
  12. data/examples/realtime/websocket_transcription.rb +127 -0
  13. data/examples/realtime/websocket_voice_turn.rb +152 -0
  14. data/examples/x509_workload_identity.rb +81 -0
  15. data/lib/openai/auth/subject_token_providers/azure_managed_identity_token_provider.rb +27 -19
  16. data/lib/openai/auth/subject_token_providers/gcp_id_token_provider.rb +21 -16
  17. data/lib/openai/auth/subject_token_providers/k8s_service_account_token_provider.rb +12 -8
  18. data/lib/openai/auth/workload_identity.rb +8 -5
  19. data/lib/openai/auth/workload_identity_auth.rb +278 -60
  20. data/lib/openai/auth/x509_token_exchange.rb +184 -0
  21. data/lib/openai/auth/x509_transport.rb +318 -0
  22. data/lib/openai/auth/x509_workload_identity.rb +85 -0
  23. data/lib/openai/client.rb +444 -31
  24. data/lib/openai/errors.rb +279 -23
  25. data/lib/openai/file_part.rb +79 -12
  26. data/lib/openai/helpers/client_options.rb +87 -0
  27. data/lib/openai/helpers/data_residency.rb +38 -0
  28. data/lib/openai/helpers/realtime/client_extension.rb +186 -0
  29. data/lib/openai/helpers/realtime/connection.rb +199 -0
  30. data/lib/openai/helpers/realtime/connection_manager.rb +107 -0
  31. data/lib/openai/helpers/realtime/connection_resources.rb +130 -0
  32. data/lib/openai/helpers/realtime/conversation_item_variant_resolver.rb +40 -0
  33. data/lib/openai/helpers/realtime/errors.rb +73 -0
  34. data/lib/openai/helpers/realtime/resources/realtime_extension.rb +84 -0
  35. data/lib/openai/helpers/realtime/sideband_connection.rb +17 -0
  36. data/lib/openai/helpers/realtime/transports/async_websocket.rb +388 -0
  37. data/lib/openai/helpers/realtime/unknown_server_event.rb +44 -0
  38. data/lib/openai/helpers/realtime.rb +15 -0
  39. data/lib/openai/helpers/resource_polling.rb +154 -0
  40. data/lib/openai/helpers/sorbet.rb +324 -0
  41. data/lib/openai/helpers/streaming/chat_completion_stream.rb +191 -83
  42. data/lib/openai/helpers/streaming/chat_events.rb +6 -3
  43. data/lib/openai/helpers/streaming/exceptions.rb +2 -1
  44. data/lib/openai/helpers/streaming/response_event_decoder.rb +44 -0
  45. data/lib/openai/helpers/streaming/response_stream.rb +49 -36
  46. data/lib/openai/helpers/streaming/unknown_stream_event.rb +51 -0
  47. data/lib/openai/helpers/structured_output/base_model.rb +1 -3
  48. data/lib/openai/helpers/structured_output/chat_completion_parser.rb +132 -0
  49. data/lib/openai/helpers/structured_output/enum_of.rb +14 -13
  50. data/lib/openai/helpers/structured_output/json_schema_converter.rb +19 -12
  51. data/lib/openai/helpers/structured_output/response_parser.rb +145 -0
  52. data/lib/openai/helpers/structured_output/union_of.rb +1 -0
  53. data/lib/openai/http_client.rb +15 -3
  54. data/lib/openai/internal/conversation_cursor_page.rb +2 -2
  55. data/lib/openai/internal/cursor_page.rb +1 -0
  56. data/lib/openai/internal/logging.rb +140 -50
  57. data/lib/openai/internal/next_cursor_page.rb +2 -2
  58. data/lib/openai/internal/page.rb +2 -1
  59. data/lib/openai/internal/poller.rb +175 -0
  60. data/lib/openai/internal/read_io_adapter.rb +28 -24
  61. data/lib/openai/internal/request_options_scope.rb +60 -0
  62. data/lib/openai/internal/stream.rb +16 -10
  63. data/lib/openai/internal/transport/base_client.rb +236 -89
  64. data/lib/openai/internal/type/array_of.rb +33 -15
  65. data/lib/openai/internal/type/base_model.rb +62 -49
  66. data/lib/openai/internal/type/base_page.rb +12 -1
  67. data/lib/openai/internal/type/base_stream.rb +12 -10
  68. data/lib/openai/internal/type/converter.rb +28 -1
  69. data/lib/openai/internal/type/enum.rb +1 -1
  70. data/lib/openai/internal/type/hash_of.rb +27 -20
  71. data/lib/openai/internal/type/union.rb +14 -12
  72. data/lib/openai/internal/util.rb +52 -28
  73. data/lib/openai/internal/vector_store_file_uploader.rb +225 -0
  74. data/lib/openai/internal.rb +5 -3
  75. data/lib/openai/models/admin/organization/admin_api_key_create_response.rb +17 -1
  76. data/lib/openai/models/admin/organization/audit_log_list_params.rb +6 -4
  77. data/lib/openai/models/admin/organization/audit_log_list_response.rb +355 -217
  78. data/lib/openai/models/admin/organization/certificate_activate_response.rb +4 -2
  79. data/lib/openai/models/admin/organization/certificate_deactivate_response.rb +4 -2
  80. data/lib/openai/models/admin/organization/certificate_list_response.rb +4 -2
  81. data/lib/openai/models/admin/organization/certificate_retrieve_params.rb +6 -2
  82. data/lib/openai/models/admin/organization/cost_quantity_unit.rb +53 -0
  83. data/lib/openai/models/admin/organization/data_retention_update_params.rb +4 -2
  84. data/lib/openai/models/admin/organization/groups/role_list_response.rb +14 -10
  85. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +14 -10
  86. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +4 -2
  87. data/lib/openai/models/admin/organization/invite_create_params.rb +4 -2
  88. data/lib/openai/models/admin/organization/organization_spend_alert.rb +4 -2
  89. data/lib/openai/models/admin/organization/organization_spend_limit.rb +19 -5
  90. data/lib/openai/models/admin/organization/organization_user.rb +4 -2
  91. data/lib/openai/models/admin/organization/project.rb +9 -1
  92. data/lib/openai/models/admin/organization/project_create_params.rb +17 -2
  93. data/lib/openai/models/admin/organization/project_residency.rb +29 -0
  94. data/lib/openai/models/admin/organization/project_update_params.rb +7 -1
  95. data/lib/openai/models/admin/organization/projects/api_key_list_params.rb +4 -2
  96. data/lib/openai/models/admin/organization/projects/certificate_activate_response.rb +4 -2
  97. data/lib/openai/models/admin/organization/projects/certificate_deactivate_response.rb +4 -2
  98. data/lib/openai/models/admin/organization/projects/certificate_list_response.rb +4 -2
  99. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +4 -2
  100. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +14 -11
  101. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +14 -11
  102. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +33 -23
  103. data/lib/openai/models/admin/organization/projects/project_api_key.rb +8 -4
  104. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +16 -8
  105. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +4 -2
  106. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +26 -7
  107. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +9 -7
  108. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +4 -2
  109. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +4 -2
  110. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +14 -11
  111. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +14 -11
  112. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +4 -2
  113. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +4 -2
  114. data/lib/openai/models/admin/organization/usage_audio_speeches_params.rb +6 -2
  115. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +102 -29
  116. data/lib/openai/models/admin/organization/usage_audio_transcriptions_params.rb +12 -4
  117. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +104 -29
  118. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_params.rb +12 -4
  119. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +104 -29
  120. data/lib/openai/models/admin/organization/usage_completions_params.rb +4 -2
  121. data/lib/openai/models/admin/organization/usage_completions_response.rb +100 -29
  122. data/lib/openai/models/admin/organization/usage_costs_params.rb +4 -2
  123. data/lib/openai/models/admin/organization/usage_costs_response.rb +98 -29
  124. data/lib/openai/models/admin/organization/usage_embeddings_params.rb +4 -2
  125. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +100 -29
  126. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +6 -2
  127. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +102 -29
  128. data/lib/openai/models/admin/organization/usage_images_params.rb +12 -6
  129. data/lib/openai/models/admin/organization/usage_images_response.rb +98 -29
  130. data/lib/openai/models/admin/organization/usage_moderations_params.rb +4 -2
  131. data/lib/openai/models/admin/organization/usage_moderations_response.rb +100 -29
  132. data/lib/openai/models/admin/organization/usage_vector_stores_params.rb +4 -2
  133. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +102 -29
  134. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +14 -4
  135. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +102 -29
  136. data/lib/openai/models/admin/organization/users/role_list_response.rb +14 -10
  137. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +14 -10
  138. data/lib/openai/models/audio/transcription_create_params.rb +9 -5
  139. data/lib/openai/models/audio/transcription_diarized.rb +4 -2
  140. data/lib/openai/models/audio/transcription_text_delta_event.rb +4 -2
  141. data/lib/openai/models/audio/transcription_text_done_event.rb +4 -2
  142. data/lib/openai/models/beta/assistant_create_params.rb +33 -11
  143. data/lib/openai/models/beta/beta_apply_patch_tool.rb +7 -5
  144. data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +4 -2
  145. data/lib/openai/models/beta/beta_custom_tool.rb +5 -3
  146. data/lib/openai/models/beta/beta_file_search_tool.rb +37 -15
  147. data/lib/openai/models/beta/beta_function_shell_tool.rb +7 -5
  148. data/lib/openai/models/beta/beta_function_tool.rb +5 -3
  149. data/lib/openai/models/beta/beta_namespace_tool.rb +12 -8
  150. data/lib/openai/models/beta/beta_response.rb +33 -20
  151. data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +6 -4
  152. data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +6 -4
  153. data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +7 -5
  154. data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +7 -5
  155. data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +7 -5
  156. data/lib/openai/models/beta/beta_response_computer_tool_call.rb +4 -2
  157. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +8 -2
  158. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +6 -4
  159. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +15 -1
  160. data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +10 -7
  161. data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +11 -1
  162. data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +12 -8
  163. data/lib/openai/models/beta/beta_response_function_call_output_item_list.rb +3 -2
  164. data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +11 -7
  165. data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +10 -6
  166. data/lib/openai/models/beta/beta_response_function_tool_call.rb +6 -4
  167. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +15 -1
  168. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +19 -16
  169. data/lib/openai/models/beta/beta_response_function_web_search.rb +6 -2
  170. data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +33 -1
  171. data/lib/openai/models/beta/beta_response_input_audio.rb +5 -3
  172. data/lib/openai/models/beta/beta_response_input_file_content.rb +5 -3
  173. data/lib/openai/models/beta/beta_response_input_image_content.rb +5 -3
  174. data/lib/openai/models/beta/beta_response_input_item.rb +129 -79
  175. data/lib/openai/models/beta/beta_response_input_message_content_list.rb +3 -2
  176. data/lib/openai/models/beta/beta_response_input_text_content.rb +5 -3
  177. data/lib/openai/models/beta/beta_response_item.rb +27 -15
  178. data/lib/openai/models/beta/beta_response_output_item.rb +38 -20
  179. data/lib/openai/models/beta/beta_response_output_message.rb +4 -2
  180. data/lib/openai/models/beta/beta_response_output_text.rb +12 -6
  181. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +17 -9
  182. data/lib/openai/models/beta/beta_response_prompt.rb +5 -3
  183. data/lib/openai/models/beta/beta_response_reasoning_item.rb +8 -4
  184. data/lib/openai/models/beta/beta_response_shell_call_command_added_event.rb +76 -0
  185. data/lib/openai/models/beta/beta_response_shell_call_command_delta_event.rb +84 -0
  186. data/lib/openai/models/beta/beta_response_shell_call_command_done_event.rb +76 -0
  187. data/lib/openai/models/beta/beta_response_shell_call_output_content_delta_event.rb +106 -0
  188. data/lib/openai/models/beta/beta_response_shell_call_output_content_done_event.rb +188 -0
  189. data/lib/openai/models/beta/beta_response_stream_event.rb +122 -51
  190. data/lib/openai/models/beta/beta_response_text_delta_event.rb +8 -4
  191. data/lib/openai/models/beta/beta_response_text_done_event.rb +8 -4
  192. data/lib/openai/models/beta/beta_responses_client_event.rb +386 -156
  193. data/lib/openai/models/beta/beta_responses_server_event.rb +1004 -144
  194. data/lib/openai/models/beta/beta_tool.rb +51 -45
  195. data/lib/openai/models/beta/beta_tool_choice_allowed.rb +4 -2
  196. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +4 -2
  197. data/lib/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rb +4 -2
  198. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +6 -2
  199. data/lib/openai/models/beta/chatkit/chatkit_response_output_text.rb +4 -2
  200. data/lib/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rb +4 -2
  201. data/lib/openai/models/beta/chatkit/chatkit_thread_item_list.rb +28 -12
  202. data/lib/openai/models/beta/chatkit/chatkit_thread_user_message_item.rb +14 -8
  203. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  204. data/lib/openai/models/beta/response_compact_params.rb +21 -12
  205. data/lib/openai/models/beta/response_create_params.rb +32 -20
  206. data/lib/openai/models/beta/responses/input_item_list_params.rb +4 -2
  207. data/lib/openai/models/beta/responses/input_token_count_params.rb +50 -27
  208. data/lib/openai/models/beta/thread_create_and_run_params.rb +87 -40
  209. data/lib/openai/models/beta/thread_create_params.rb +49 -20
  210. data/lib/openai/models/beta/threads/message.rb +9 -5
  211. data/lib/openai/models/beta/threads/message_create_params.rb +16 -9
  212. data/lib/openai/models/beta/threads/message_delta.rb +4 -2
  213. data/lib/openai/models/beta/threads/run.rb +4 -2
  214. data/lib/openai/models/beta/threads/run_create_params.rb +50 -27
  215. data/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +4 -2
  216. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rb +20 -7
  217. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rb +12 -4
  218. data/lib/openai/models/beta/threads/runs/file_search_tool_call.rb +26 -10
  219. data/lib/openai/models/beta/threads/runs/message_creation_step_details.rb +4 -2
  220. data/lib/openai/models/beta/threads/runs/run_step_include.rb +1 -2
  221. data/lib/openai/models/beta/threads/runs/step_list_params.rb +4 -2
  222. data/lib/openai/models/beta/threads/runs/step_retrieve_params.rb +4 -2
  223. data/lib/openai/models/beta/threads/runs/tool_call_delta_object.rb +4 -2
  224. data/lib/openai/models/beta/threads/text_delta.rb +4 -2
  225. data/lib/openai/models/chat/chat_completion.rb +60 -25
  226. data/lib/openai/models/chat/chat_completion_allowed_tools.rb +4 -2
  227. data/lib/openai/models/chat/chat_completion_assistant_message_param.rb +20 -13
  228. data/lib/openai/models/chat/chat_completion_chunk.rb +76 -38
  229. data/lib/openai/models/chat/chat_completion_content_part.rb +4 -2
  230. data/lib/openai/models/chat/chat_completion_content_part_image.rb +4 -2
  231. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +9 -5
  232. data/lib/openai/models/chat/chat_completion_content_part_text.rb +4 -2
  233. data/lib/openai/models/chat/chat_completion_custom_tool.rb +11 -7
  234. data/lib/openai/models/chat/chat_completion_developer_message_param.rb +8 -3
  235. data/lib/openai/models/chat/chat_completion_message.rb +8 -4
  236. data/lib/openai/models/chat/chat_completion_prediction_content.rb +6 -3
  237. data/lib/openai/models/chat/chat_completion_store_message.rb +22 -6
  238. data/lib/openai/models/chat/chat_completion_system_message_param.rb +6 -3
  239. data/lib/openai/models/chat/chat_completion_token_logprob.rb +4 -2
  240. data/lib/openai/models/chat/chat_completion_tool_message_param.rb +6 -3
  241. data/lib/openai/models/chat/chat_completion_user_message_param.rb +3 -2
  242. data/lib/openai/models/chat/completion_create_params.rb +56 -33
  243. data/lib/openai/models/comparison_filter.rb +3 -2
  244. data/lib/openai/models/conversations/computer_screenshot_content.rb +4 -2
  245. data/lib/openai/models/conversations/conversation_create_params.rb +5 -3
  246. data/lib/openai/models/conversations/conversation_item.rb +9 -5
  247. data/lib/openai/models/eval_create_params.rb +69 -13
  248. data/lib/openai/models/eval_create_response.rb +45 -5
  249. data/lib/openai/models/eval_list_response.rb +45 -5
  250. data/lib/openai/models/eval_retrieve_response.rb +45 -5
  251. data/lib/openai/models/eval_update_response.rb +45 -5
  252. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +59 -19
  253. data/lib/openai/models/evals/create_eval_jsonl_run_data_source.rb +8 -2
  254. data/lib/openai/models/evals/run_cancel_response.rb +97 -37
  255. data/lib/openai/models/evals/run_create_params.rb +109 -43
  256. data/lib/openai/models/evals/run_create_response.rb +97 -37
  257. data/lib/openai/models/evals/run_list_response.rb +97 -36
  258. data/lib/openai/models/evals/run_retrieve_response.rb +101 -42
  259. data/lib/openai/models/evals/runs/output_item_list_response.rb +16 -6
  260. data/lib/openai/models/evals/runs/output_item_retrieve_response.rb +16 -6
  261. data/lib/openai/models/fine_tuning/alpha/grader_run_response.rb +4 -2
  262. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rb +6 -2
  263. data/lib/openai/models/fine_tuning/dpo_hyperparameters.rb +4 -2
  264. data/lib/openai/models/fine_tuning/fine_tuning_job.rb +16 -10
  265. data/lib/openai/models/fine_tuning/job_create_params.rb +9 -5
  266. data/lib/openai/models/fine_tuning/reinforcement_hyperparameters.rb +8 -4
  267. data/lib/openai/models/fine_tuning/supervised_hyperparameters.rb +4 -2
  268. data/lib/openai/models/image_edit_params.rb +12 -22
  269. data/lib/openai/models/image_generate_params.rb +12 -22
  270. data/lib/openai/models/moderation.rb +76 -50
  271. data/lib/openai/models/moderation_create_params.rb +3 -2
  272. data/lib/openai/models/realtime/call_accept_params.rb +33 -1
  273. data/lib/openai/models/realtime/call_create_params.rb +32 -0
  274. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +25 -9
  275. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +5 -3
  276. data/lib/openai/models/realtime/conversation_item_with_reference.rb +4 -2
  277. data/lib/openai/models/realtime/rate_limits_updated_event.rb +4 -2
  278. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +4 -2
  279. data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +4 -2
  280. data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +4 -2
  281. data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +4 -2
  282. data/lib/openai/models/realtime/realtime_response.rb +4 -2
  283. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +25 -15
  284. data/lib/openai/models/realtime/realtime_response_create_params.rb +8 -4
  285. data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +4 -2
  286. data/lib/openai/models/realtime/realtime_server_event.rb +52 -26
  287. data/lib/openai/models/realtime/realtime_session.rb +16 -8
  288. data/lib/openai/models/realtime/realtime_session_create_request.rb +47 -17
  289. data/lib/openai/models/realtime/realtime_session_create_response.rb +161 -67
  290. data/lib/openai/models/realtime/realtime_tools_config.rb +1 -2
  291. data/lib/openai/models/realtime/realtime_tools_config_union.rb +28 -16
  292. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +5 -3
  293. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +12 -6
  294. data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +6 -2
  295. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +17 -9
  296. data/lib/openai/models/realtime/realtime_translation_client_event.rb +4 -2
  297. data/lib/openai/models/realtime/realtime_translation_client_secret_create_request.rb +8 -4
  298. data/lib/openai/models/realtime/realtime_translation_output_audio_delta_event.rb +8 -5
  299. data/lib/openai/models/realtime/realtime_translation_server_event.rb +12 -7
  300. data/lib/openai/models/realtime/realtime_translation_session.rb +10 -6
  301. data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +14 -10
  302. data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +14 -10
  303. data/lib/openai/models/realtime/transcription_session_update.rb +14 -6
  304. data/lib/openai/models/realtime/transcription_session_updated_event.rb +12 -4
  305. data/lib/openai/models/response_format_json_schema.rb +9 -7
  306. data/lib/openai/models/responses/apply_patch_tool.rb +7 -5
  307. data/lib/openai/models/responses/container_network_policy_allowlist.rb +4 -2
  308. data/lib/openai/models/responses/custom_tool.rb +5 -3
  309. data/lib/openai/models/responses/function_shell_tool.rb +7 -5
  310. data/lib/openai/models/responses/function_tool.rb +13 -9
  311. data/lib/openai/models/responses/input_token_count_params.rb +15 -12
  312. data/lib/openai/models/responses/namespace_tool.rb +12 -8
  313. data/lib/openai/models/responses/response.rb +26 -17
  314. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +6 -4
  315. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +6 -4
  316. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +7 -5
  317. data/lib/openai/models/responses/response_compact_params.rb +37 -16
  318. data/lib/openai/models/responses/response_computer_tool_call.rb +8 -4
  319. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +8 -2
  320. data/lib/openai/models/responses/response_create_params.rb +47 -33
  321. data/lib/openai/models/responses/response_custom_tool_call.rb +6 -4
  322. data/lib/openai/models/responses/response_custom_tool_call_item.rb +13 -1
  323. data/lib/openai/models/responses/response_custom_tool_call_output.rb +10 -7
  324. data/lib/openai/models/responses/response_custom_tool_call_output_item.rb +9 -1
  325. data/lib/openai/models/responses/response_file_search_tool_call.rb +14 -10
  326. data/lib/openai/models/responses/response_format_text_json_schema_config.rb +9 -6
  327. data/lib/openai/models/responses/response_function_call_output_item_list.rb +3 -2
  328. data/lib/openai/models/responses/response_function_shell_tool_call.rb +11 -7
  329. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +10 -6
  330. data/lib/openai/models/responses/response_function_tool_call.rb +6 -4
  331. data/lib/openai/models/responses/response_function_tool_call_item.rb +13 -1
  332. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +19 -16
  333. data/lib/openai/models/responses/response_function_web_search.rb +6 -2
  334. data/lib/openai/models/responses/response_image_gen_call_partial_image_event.rb +33 -1
  335. data/lib/openai/models/responses/response_input_audio.rb +5 -3
  336. data/lib/openai/models/responses/response_input_file_content.rb +5 -3
  337. data/lib/openai/models/responses/response_input_image_content.rb +5 -3
  338. data/lib/openai/models/responses/response_input_item.rb +90 -60
  339. data/lib/openai/models/responses/response_input_message_content_list.rb +3 -2
  340. data/lib/openai/models/responses/response_input_text_content.rb +5 -3
  341. data/lib/openai/models/responses/response_item.rb +11 -7
  342. data/lib/openai/models/responses/response_output_item.rb +9 -5
  343. data/lib/openai/models/responses/response_output_message.rb +4 -2
  344. data/lib/openai/models/responses/response_output_text.rb +12 -6
  345. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +17 -9
  346. data/lib/openai/models/responses/response_prompt.rb +5 -3
  347. data/lib/openai/models/responses/response_reasoning_item.rb +8 -4
  348. data/lib/openai/models/responses/response_shell_call_command_added_event.rb +52 -0
  349. data/lib/openai/models/responses/response_shell_call_command_delta_event.rb +60 -0
  350. data/lib/openai/models/responses/response_shell_call_command_done_event.rb +52 -0
  351. data/lib/openai/models/responses/response_shell_call_output_content_delta_event.rb +82 -0
  352. data/lib/openai/models/responses/response_shell_call_output_content_done_event.rb +164 -0
  353. data/lib/openai/models/responses/response_stream_event.rb +122 -51
  354. data/lib/openai/models/responses/response_text_delta_event.rb +8 -4
  355. data/lib/openai/models/responses/response_text_done_event.rb +8 -4
  356. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +7 -5
  357. data/lib/openai/models/responses/responses_client_event.rb +38 -26
  358. data/lib/openai/models/responses/responses_server_event.rb +871 -133
  359. data/lib/openai/models/responses/tool.rb +51 -45
  360. data/lib/openai/models/responses/tool_choice_allowed.rb +4 -2
  361. data/lib/openai/models/responses/web_search_preview_tool.rb +4 -2
  362. data/lib/openai/models/vector_store_search_response.rb +9 -7
  363. data/lib/openai/models/vector_stores/file_batch_create_params.rb +14 -10
  364. data/lib/openai/models/vector_stores/file_create_params.rb +7 -5
  365. data/lib/openai/models/vector_stores/file_update_params.rb +7 -5
  366. data/lib/openai/models/vector_stores/vector_store_file.rb +7 -5
  367. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +4 -2
  368. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +4 -2
  369. data/lib/openai/models.rb +12 -12
  370. data/lib/openai/net_http_client.rb +90 -38
  371. data/lib/openai/providers/azure.rb +61 -48
  372. data/lib/openai/providers/bedrock.rb +126 -96
  373. data/lib/openai/resources/admin/organization/groups/roles.rb +8 -8
  374. data/lib/openai/resources/admin/organization/groups/users.rb +8 -8
  375. data/lib/openai/resources/admin/organization/projects/api_keys.rb +8 -8
  376. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +24 -24
  377. data/lib/openai/resources/admin/organization/projects/groups.rb +8 -8
  378. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +3 -2
  379. data/lib/openai/resources/admin/organization/projects/rate_limits.rb +10 -8
  380. data/lib/openai/resources/admin/organization/projects/roles.rb +12 -12
  381. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +6 -6
  382. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +14 -16
  383. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +12 -12
  384. data/lib/openai/resources/admin/organization/projects/users/roles.rb +24 -24
  385. data/lib/openai/resources/admin/organization/projects/users.rb +12 -12
  386. data/lib/openai/resources/admin/organization/projects.rb +12 -9
  387. data/lib/openai/resources/admin/organization/users/roles.rb +8 -8
  388. data/lib/openai/resources/audio/transcriptions.rb +2 -0
  389. data/lib/openai/resources/beta/responses.rb +6 -2
  390. data/lib/openai/resources/beta/threads/messages.rb +12 -12
  391. data/lib/openai/resources/beta/threads/runs/steps.rb +12 -12
  392. data/lib/openai/resources/beta/threads/runs.rb +24 -20
  393. data/lib/openai/resources/beta/threads.rb +2 -0
  394. data/lib/openai/resources/chat/completions.rb +6 -97
  395. data/lib/openai/resources/completions.rb +2 -0
  396. data/lib/openai/resources/containers/files/content.rb +4 -4
  397. data/lib/openai/resources/containers/files.rb +8 -8
  398. data/lib/openai/resources/conversations/items.rb +8 -8
  399. data/lib/openai/resources/evals/runs/output_items.rb +12 -12
  400. data/lib/openai/resources/evals/runs.rb +12 -12
  401. data/lib/openai/resources/files.rb +39 -0
  402. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +4 -4
  403. data/lib/openai/resources/images.rb +4 -0
  404. data/lib/openai/resources/realtime/calls.rb +54 -0
  405. data/lib/openai/resources/responses.rb +14 -140
  406. data/lib/openai/resources/skills/versions/content.rb +4 -4
  407. data/lib/openai/resources/skills/versions.rb +8 -8
  408. data/lib/openai/resources/vector_stores/file_batches.rb +197 -13
  409. data/lib/openai/resources/vector_stores/files.rb +211 -17
  410. data/lib/openai/resources/webhooks.rb +12 -15
  411. data/lib/openai/version.rb +1 -1
  412. data/lib/openai.rb +24 -4
  413. data/manifest.yaml +0 -2
  414. data/rbi/openai/auth/x509_token_exchange.rbi +29 -0
  415. data/rbi/openai/auth/x509_transport.rbi +57 -0
  416. data/rbi/openai/auth/x509_workload_identity.rbi +45 -0
  417. data/rbi/openai/auth.rbi +24 -1
  418. data/rbi/openai/client.rbi +107 -2
  419. data/rbi/openai/errors.rbi +35 -6
  420. data/rbi/openai/file_part.rbi +33 -1
  421. data/rbi/openai/helpers/client_options.rbi +33 -0
  422. data/rbi/openai/helpers/data_residency.rbi +25 -0
  423. data/rbi/openai/helpers/realtime/connection.rbi +93 -0
  424. data/rbi/openai/helpers/realtime/connection_manager.rbi +46 -0
  425. data/rbi/openai/helpers/realtime/connection_resources.rbi +109 -0
  426. data/rbi/openai/helpers/realtime/extensions.rbi +169 -0
  427. data/rbi/openai/helpers/realtime/sideband_connection.rbi +24 -0
  428. data/rbi/openai/helpers/realtime/transports/async_websocket.rbi +70 -0
  429. data/rbi/openai/helpers/realtime/unknown_server_event.rbi +26 -0
  430. data/rbi/openai/helpers/resource_polling.rbi +63 -0
  431. data/rbi/openai/helpers/sorbet.rbi +55 -0
  432. data/rbi/openai/helpers/streaming/response_event_decoder.rbi +28 -0
  433. data/rbi/openai/helpers/streaming/response_stream.rbi +24 -17
  434. data/rbi/openai/helpers/streaming/unknown_stream_event.rbi +29 -0
  435. data/rbi/openai/helpers/structured_output/chat_completion_parser.rbi +42 -0
  436. data/rbi/openai/helpers/structured_output/enum_of.rbi +3 -1
  437. data/rbi/openai/helpers/structured_output/json_schema_converter.rbi +27 -27
  438. data/rbi/openai/helpers/structured_output/response_parser.rbi +33 -0
  439. data/rbi/openai/helpers/structured_output/union_of.rbi +3 -3
  440. data/rbi/openai/http_client.rbi +6 -3
  441. data/rbi/openai/internal/logging.rbi +15 -8
  442. data/rbi/openai/internal/poller.rbi +55 -0
  443. data/rbi/openai/internal/provider.rbi +3 -6
  444. data/rbi/openai/internal/read_io_adapter.rbi +4 -2
  445. data/rbi/openai/internal/request_options_scope.rbi +21 -0
  446. data/rbi/openai/internal/stream.rbi +1 -2
  447. data/rbi/openai/internal/transport/base_client.rbi +161 -137
  448. data/rbi/openai/internal/type/array_of.rbi +14 -14
  449. data/rbi/openai/internal/type/base_model.rbi +61 -65
  450. data/rbi/openai/internal/type/base_page.rbi +2 -1
  451. data/rbi/openai/internal/type/base_stream.rbi +11 -11
  452. data/rbi/openai/internal/type/converter.rbi +83 -81
  453. data/rbi/openai/internal/type/hash_of.rbi +14 -14
  454. data/rbi/openai/internal/type/union.rbi +13 -14
  455. data/rbi/openai/internal/util.rbi +73 -72
  456. data/rbi/openai/internal/vector_store_file_uploader.rbi +31 -0
  457. data/rbi/openai/internal.rbi +1 -2
  458. data/rbi/openai/models/admin/organization/admin_api_key.rbi +57 -29
  459. data/rbi/openai/models/admin/organization/admin_api_key_create_params.rbi +23 -13
  460. data/rbi/openai/models/admin/organization/admin_api_key_create_response.rbi +78 -10
  461. data/rbi/openai/models/admin/organization/admin_api_key_delete_params.rbi +21 -9
  462. data/rbi/openai/models/admin/organization/admin_api_key_delete_response.rbi +26 -10
  463. data/rbi/openai/models/admin/organization/admin_api_key_list_params.rbi +33 -50
  464. data/rbi/openai/models/admin/organization/admin_api_key_retrieve_params.rbi +21 -9
  465. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +648 -793
  466. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +3003 -2915
  467. data/rbi/openai/models/admin/organization/certificate.rbi +66 -67
  468. data/rbi/openai/models/admin/organization/certificate_activate_params.rbi +25 -13
  469. data/rbi/openai/models/admin/organization/certificate_activate_response.rbi +58 -32
  470. data/rbi/openai/models/admin/organization/certificate_create_params.rbi +23 -13
  471. data/rbi/openai/models/admin/organization/certificate_deactivate_params.rbi +25 -13
  472. data/rbi/openai/models/admin/organization/certificate_deactivate_response.rbi +58 -32
  473. data/rbi/openai/models/admin/organization/certificate_delete_params.rbi +25 -13
  474. data/rbi/openai/models/admin/organization/certificate_delete_response.rbi +31 -9
  475. data/rbi/openai/models/admin/organization/certificate_list_params.rbi +33 -50
  476. data/rbi/openai/models/admin/organization/certificate_list_response.rbi +58 -32
  477. data/rbi/openai/models/admin/organization/certificate_retrieve_params.rbi +38 -53
  478. data/rbi/openai/models/admin/organization/certificate_update_params.rbi +23 -13
  479. data/rbi/openai/models/admin/organization/cost_quantity_unit.rbi +51 -0
  480. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +15 -8
  481. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +45 -49
  482. data/rbi/openai/models/admin/organization/group.rbi +35 -37
  483. data/rbi/openai/models/admin/organization/group_create_params.rbi +21 -9
  484. data/rbi/openai/models/admin/organization/group_delete_params.rbi +25 -10
  485. data/rbi/openai/models/admin/organization/group_delete_response.rbi +27 -10
  486. data/rbi/openai/models/admin/organization/group_list_params.rbi +33 -50
  487. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +25 -10
  488. data/rbi/openai/models/admin/organization/group_update_params.rbi +23 -13
  489. data/rbi/openai/models/admin/organization/group_update_response.rbi +26 -14
  490. data/rbi/openai/models/admin/organization/groups/organization_group_user.rbi +26 -9
  491. data/rbi/openai/models/admin/organization/groups/role_create_params.rbi +25 -13
  492. data/rbi/openai/models/admin/organization/groups/role_create_response.rbi +49 -37
  493. data/rbi/openai/models/admin/organization/groups/role_delete_params.rbi +30 -14
  494. data/rbi/openai/models/admin/organization/groups/role_delete_response.rbi +30 -10
  495. data/rbi/openai/models/admin/organization/groups/role_list_params.rbi +39 -50
  496. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +72 -38
  497. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +30 -14
  498. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +72 -38
  499. data/rbi/openai/models/admin/organization/groups/user_create_params.rbi +25 -13
  500. data/rbi/openai/models/admin/organization/groups/user_create_response.rbi +29 -10
  501. data/rbi/openai/models/admin/organization/groups/user_delete_params.rbi +30 -14
  502. data/rbi/openai/models/admin/organization/groups/user_delete_response.rbi +30 -10
  503. data/rbi/openai/models/admin/organization/groups/user_list_params.rbi +39 -50
  504. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +30 -14
  505. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +48 -39
  506. data/rbi/openai/models/admin/organization/invite.rbi +71 -115
  507. data/rbi/openai/models/admin/organization/invite_create_params.rbi +60 -111
  508. data/rbi/openai/models/admin/organization/invite_delete_params.rbi +25 -10
  509. data/rbi/openai/models/admin/organization/invite_delete_response.rbi +27 -10
  510. data/rbi/openai/models/admin/organization/invite_list_params.rbi +23 -13
  511. data/rbi/openai/models/admin/organization/invite_retrieve_params.rbi +25 -10
  512. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +45 -55
  513. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +74 -91
  514. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +28 -12
  515. data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +92 -149
  516. data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +29 -12
  517. data/rbi/openai/models/admin/organization/organization_user.rbi +119 -87
  518. data/rbi/openai/models/admin/organization/project.rbi +44 -8
  519. data/rbi/openai/models/admin/organization/project_archive_params.rbi +25 -10
  520. data/rbi/openai/models/admin/organization/project_create_params.rbi +46 -10
  521. data/rbi/openai/models/admin/organization/project_list_params.rbi +25 -14
  522. data/rbi/openai/models/admin/organization/project_residency.rbi +48 -0
  523. data/rbi/openai/models/admin/organization/project_retrieve_params.rbi +25 -10
  524. data/rbi/openai/models/admin/organization/project_update_params.rbi +30 -10
  525. data/rbi/openai/models/admin/organization/projects/api_key_delete_params.rbi +30 -14
  526. data/rbi/openai/models/admin/organization/projects/api_key_delete_response.rbi +28 -10
  527. data/rbi/openai/models/admin/organization/projects/api_key_list_params.rbi +56 -51
  528. data/rbi/openai/models/admin/organization/projects/api_key_retrieve_params.rbi +30 -14
  529. data/rbi/openai/models/admin/organization/projects/certificate_activate_params.rbi +30 -14
  530. data/rbi/openai/models/admin/organization/projects/certificate_activate_response.rbi +60 -32
  531. data/rbi/openai/models/admin/organization/projects/certificate_deactivate_params.rbi +30 -14
  532. data/rbi/openai/models/admin/organization/projects/certificate_deactivate_response.rbi +60 -32
  533. data/rbi/openai/models/admin/organization/projects/certificate_list_params.rbi +40 -47
  534. data/rbi/openai/models/admin/organization/projects/certificate_list_response.rbi +58 -32
  535. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +27 -10
  536. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +56 -56
  537. data/rbi/openai/models/admin/organization/projects/group_create_params.rbi +27 -14
  538. data/rbi/openai/models/admin/organization/projects/group_delete_params.rbi +30 -14
  539. data/rbi/openai/models/admin/organization/projects/group_delete_response.rbi +30 -10
  540. data/rbi/openai/models/admin/organization/projects/group_list_params.rbi +41 -50
  541. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +43 -47
  542. data/rbi/openai/models/admin/organization/projects/groups/role_create_params.rbi +29 -14
  543. data/rbi/openai/models/admin/organization/projects/groups/role_create_response.rbi +55 -40
  544. data/rbi/openai/models/admin/organization/projects/groups/role_delete_params.rbi +29 -14
  545. data/rbi/openai/models/admin/organization/projects/groups/role_delete_response.rbi +32 -10
  546. data/rbi/openai/models/admin/organization/projects/groups/role_list_params.rbi +48 -47
  547. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +78 -36
  548. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +29 -14
  549. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +77 -33
  550. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +27 -10
  551. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +209 -159
  552. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +27 -10
  553. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +27 -10
  554. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +43 -39
  555. data/rbi/openai/models/admin/organization/projects/project_api_key.rbi +140 -163
  556. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +53 -62
  557. data/rbi/openai/models/admin/organization/projects/project_group.rbi +46 -42
  558. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +168 -124
  559. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +41 -38
  560. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +31 -12
  561. data/rbi/openai/models/admin/organization/projects/project_rate_limit.rbi +37 -8
  562. data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +41 -44
  563. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +76 -87
  564. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +29 -10
  565. data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +103 -149
  566. data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +30 -10
  567. data/rbi/openai/models/admin/organization/projects/project_user.rbi +31 -8
  568. data/rbi/openai/models/admin/organization/projects/rate_limit_list_rate_limits_params.rbi +28 -8
  569. data/rbi/openai/models/admin/organization/projects/rate_limit_update_rate_limit_params.rbi +36 -8
  570. data/rbi/openai/models/admin/organization/projects/role_create_params.rbi +28 -8
  571. data/rbi/openai/models/admin/organization/projects/role_delete_params.rbi +30 -14
  572. data/rbi/openai/models/admin/organization/projects/role_delete_response.rbi +29 -10
  573. data/rbi/openai/models/admin/organization/projects/role_list_params.rbi +41 -50
  574. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +30 -14
  575. data/rbi/openai/models/admin/organization/projects/role_update_params.rbi +30 -8
  576. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +26 -8
  577. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +85 -73
  578. data/rbi/openai/models/admin/organization/projects/service_account_delete_params.rbi +30 -14
  579. data/rbi/openai/models/admin/organization/projects/service_account_delete_response.rbi +28 -10
  580. data/rbi/openai/models/admin/organization/projects/service_account_list_params.rbi +27 -14
  581. data/rbi/openai/models/admin/organization/projects/service_account_retrieve_params.rbi +30 -14
  582. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +50 -47
  583. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +30 -8
  584. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +32 -15
  585. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +78 -87
  586. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +30 -14
  587. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +42 -47
  588. data/rbi/openai/models/admin/organization/projects/spend_alert_retrieve_params.rbi +30 -14
  589. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +80 -87
  590. data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +27 -10
  591. data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +27 -10
  592. data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +51 -60
  593. data/rbi/openai/models/admin/organization/projects/user_create_params.rbi +28 -8
  594. data/rbi/openai/models/admin/organization/projects/user_delete_params.rbi +30 -14
  595. data/rbi/openai/models/admin/organization/projects/user_delete_response.rbi +28 -10
  596. data/rbi/openai/models/admin/organization/projects/user_list_params.rbi +27 -14
  597. data/rbi/openai/models/admin/organization/projects/user_retrieve_params.rbi +30 -14
  598. data/rbi/openai/models/admin/organization/projects/user_update_params.rbi +27 -14
  599. data/rbi/openai/models/admin/organization/projects/users/role_create_params.rbi +29 -14
  600. data/rbi/openai/models/admin/organization/projects/users/role_create_response.rbi +29 -16
  601. data/rbi/openai/models/admin/organization/projects/users/role_delete_params.rbi +35 -15
  602. data/rbi/openai/models/admin/organization/projects/users/role_delete_response.rbi +32 -10
  603. data/rbi/openai/models/admin/organization/projects/users/role_list_params.rbi +44 -47
  604. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +76 -36
  605. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +35 -15
  606. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +77 -33
  607. data/rbi/openai/models/admin/organization/role.rbi +31 -8
  608. data/rbi/openai/models/admin/organization/role_create_params.rbi +24 -8
  609. data/rbi/openai/models/admin/organization/role_delete_params.rbi +25 -10
  610. data/rbi/openai/models/admin/organization/role_delete_response.rbi +27 -10
  611. data/rbi/openai/models/admin/organization/role_list_params.rbi +33 -50
  612. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +25 -10
  613. data/rbi/openai/models/admin/organization/role_update_params.rbi +26 -8
  614. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +71 -91
  615. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +25 -10
  616. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +35 -50
  617. data/rbi/openai/models/admin/organization/spend_alert_retrieve_params.rbi +25 -10
  618. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +73 -91
  619. data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +15 -8
  620. data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +15 -8
  621. data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +46 -66
  622. data/rbi/openai/models/admin/organization/usage_audio_speeches_params.rbi +86 -111
  623. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +404 -197
  624. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_params.rbi +93 -109
  625. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +403 -192
  626. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_params.rbi +79 -91
  627. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +402 -189
  628. data/rbi/openai/models/admin/organization/usage_completions_params.rbi +83 -125
  629. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +404 -197
  630. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +54 -100
  631. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +400 -197
  632. data/rbi/openai/models/admin/organization/usage_embeddings_params.rbi +76 -115
  633. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +404 -197
  634. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +89 -111
  635. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +404 -195
  636. data/rbi/openai/models/admin/organization/usage_images_params.rbi +95 -245
  637. data/rbi/openai/models/admin/organization/usage_images_response.rbi +400 -197
  638. data/rbi/openai/models/admin/organization/usage_moderations_params.rbi +76 -115
  639. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +404 -197
  640. data/rbi/openai/models/admin/organization/usage_vector_stores_params.rbi +69 -96
  641. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +404 -197
  642. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +111 -167
  643. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +404 -195
  644. data/rbi/openai/models/admin/organization/user_delete_params.rbi +25 -10
  645. data/rbi/openai/models/admin/organization/user_delete_response.rbi +31 -11
  646. data/rbi/openai/models/admin/organization/user_list_params.rbi +25 -14
  647. data/rbi/openai/models/admin/organization/user_retrieve_params.rbi +25 -10
  648. data/rbi/openai/models/admin/organization/user_update_params.rbi +28 -8
  649. data/rbi/openai/models/admin/organization/users/role_create_params.rbi +25 -13
  650. data/rbi/openai/models/admin/organization/users/role_create_response.rbi +26 -13
  651. data/rbi/openai/models/admin/organization/users/role_delete_params.rbi +30 -14
  652. data/rbi/openai/models/admin/organization/users/role_delete_response.rbi +30 -10
  653. data/rbi/openai/models/admin/organization/users/role_list_params.rbi +39 -50
  654. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +72 -38
  655. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +30 -14
  656. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +72 -38
  657. data/rbi/openai/models/all_models.rbi +43 -104
  658. data/rbi/openai/models/audio/speech_create_params.rbi +108 -188
  659. data/rbi/openai/models/audio/speech_model.rbi +9 -13
  660. data/rbi/openai/models/audio/transcription.rbi +124 -100
  661. data/rbi/openai/models/audio/transcription_create_params.rbi +107 -149
  662. data/rbi/openai/models/audio/transcription_create_response.rbi +12 -14
  663. data/rbi/openai/models/audio/transcription_diarized.rbi +111 -81
  664. data/rbi/openai/models/audio/transcription_diarized_segment.rbi +28 -16
  665. data/rbi/openai/models/audio/transcription_include.rbi +7 -9
  666. data/rbi/openai/models/audio/transcription_language.rbi +26 -9
  667. data/rbi/openai/models/audio/transcription_segment.rbi +35 -8
  668. data/rbi/openai/models/audio/transcription_stream_event.rbi +12 -12
  669. data/rbi/openai/models/audio/transcription_text_delta_event.rbi +44 -38
  670. data/rbi/openai/models/audio/transcription_text_done_event.rbi +95 -89
  671. data/rbi/openai/models/audio/transcription_text_segment_event.rbi +28 -16
  672. data/rbi/openai/models/audio/transcription_verbose.rbi +55 -31
  673. data/rbi/openai/models/audio/transcription_word.rbi +29 -7
  674. data/rbi/openai/models/audio/translation.rbi +28 -7
  675. data/rbi/openai/models/audio/translation_create_params.rbi +41 -72
  676. data/rbi/openai/models/audio/translation_create_response.rbi +11 -8
  677. data/rbi/openai/models/audio/translation_verbose.rbi +26 -19
  678. data/rbi/openai/models/audio_model.rbi +7 -13
  679. data/rbi/openai/models/audio_response_format.rbi +5 -7
  680. data/rbi/openai/models/auto_file_chunking_strategy_param.rbi +24 -9
  681. data/rbi/openai/models/batch.rbi +72 -8
  682. data/rbi/openai/models/batch_cancel_params.rbi +21 -7
  683. data/rbi/openai/models/batch_create_params.rbi +63 -87
  684. data/rbi/openai/models/batch_error.rbi +22 -9
  685. data/rbi/openai/models/batch_list_params.rbi +19 -10
  686. data/rbi/openai/models/batch_request_counts.rbi +23 -7
  687. data/rbi/openai/models/batch_retrieve_params.rbi +21 -7
  688. data/rbi/openai/models/batch_usage.rbi +68 -33
  689. data/rbi/openai/models/beta/assistant.rbi +121 -94
  690. data/rbi/openai/models/beta/assistant_create_params.rbi +258 -244
  691. data/rbi/openai/models/beta/assistant_delete_params.rbi +23 -10
  692. data/rbi/openai/models/beta/assistant_deleted.rbi +31 -8
  693. data/rbi/openai/models/beta/assistant_list_params.rbi +30 -24
  694. data/rbi/openai/models/beta/assistant_response_format_option.rbi +13 -13
  695. data/rbi/openai/models/beta/assistant_retrieve_params.rbi +23 -10
  696. data/rbi/openai/models/beta/assistant_stream_event.rbi +388 -279
  697. data/rbi/openai/models/beta/assistant_tool.rbi +13 -11
  698. data/rbi/openai/models/beta/assistant_tool_choice.rbi +25 -35
  699. data/rbi/openai/models/beta/assistant_tool_choice_function.rbi +26 -9
  700. data/rbi/openai/models/beta/assistant_tool_choice_option.rbi +17 -38
  701. data/rbi/openai/models/beta/assistant_update_params.rbi +230 -392
  702. data/rbi/openai/models/beta/beta_apply_patch_tool.rbi +27 -48
  703. data/rbi/openai/models/beta/beta_compacted_response.rbi +61 -47
  704. data/rbi/openai/models/beta/beta_computer_action.rbi +233 -159
  705. data/rbi/openai/models/beta/beta_computer_action_list.rbi +9 -9
  706. data/rbi/openai/models/beta/beta_computer_tool.rbi +26 -6
  707. data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +34 -57
  708. data/rbi/openai/models/beta/beta_container_auto.rbi +70 -132
  709. data/rbi/openai/models/beta/beta_container_network_policy_allowlist.rbi +26 -31
  710. data/rbi/openai/models/beta/beta_container_network_policy_disabled.rbi +27 -11
  711. data/rbi/openai/models/beta/beta_container_network_policy_domain_secret.rbi +28 -12
  712. data/rbi/openai/models/beta/beta_container_reference.rbi +27 -9
  713. data/rbi/openai/models/beta/beta_custom_tool.rbi +97 -130
  714. data/rbi/openai/models/beta/beta_easy_input_message.rbi +47 -94
  715. data/rbi/openai/models/beta/beta_file_search_tool.rbi +283 -390
  716. data/rbi/openai/models/beta/beta_function_shell_tool.rbi +52 -82
  717. data/rbi/openai/models/beta/beta_function_tool.rbi +39 -46
  718. data/rbi/openai/models/beta/beta_inline_skill.rbi +24 -11
  719. data/rbi/openai/models/beta/beta_inline_skill_source.rbi +27 -10
  720. data/rbi/openai/models/beta/beta_local_environment.rbi +21 -9
  721. data/rbi/openai/models/beta/beta_local_skill.rbi +27 -7
  722. data/rbi/openai/models/beta/beta_mcp_tool_call_error.rbi +88 -43
  723. data/rbi/openai/models/beta/beta_namespace_tool.rbi +76 -93
  724. data/rbi/openai/models/beta/beta_response.rbi +728 -1318
  725. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call.rbi +201 -164
  726. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call_output.rbi +121 -114
  727. data/rbi/openai/models/beta/beta_response_audio_delta_event.rbi +47 -32
  728. data/rbi/openai/models/beta/beta_response_audio_done_event.rbi +46 -35
  729. data/rbi/openai/models/beta/beta_response_audio_transcript_delta_event.rbi +49 -42
  730. data/rbi/openai/models/beta/beta_response_audio_transcript_done_event.rbi +47 -40
  731. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbi +55 -42
  732. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbi +55 -42
  733. data/rbi/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbi +53 -42
  734. data/rbi/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbi +53 -42
  735. data/rbi/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbi +53 -42
  736. data/rbi/openai/models/beta/beta_response_code_interpreter_tool_call.rbi +137 -138
  737. data/rbi/openai/models/beta/beta_response_compaction_item.rbi +48 -25
  738. data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +48 -36
  739. data/rbi/openai/models/beta/beta_response_completed_event.rbi +47 -30
  740. data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +151 -181
  741. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +105 -135
  742. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbi +28 -12
  743. data/rbi/openai/models/beta/beta_response_container_reference.rbi +27 -9
  744. data/rbi/openai/models/beta/beta_response_content.rbi +39 -24
  745. data/rbi/openai/models/beta/beta_response_content_part_added_event.rbi +93 -74
  746. data/rbi/openai/models/beta/beta_response_content_part_done_event.rbi +93 -72
  747. data/rbi/openai/models/beta/beta_response_conversation_param.rbi +26 -9
  748. data/rbi/openai/models/beta/beta_response_created_event.rbi +47 -28
  749. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +119 -77
  750. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbi +53 -42
  751. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbi +53 -42
  752. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +84 -49
  753. data/rbi/openai/models/beta/beta_response_custom_tool_call_output.rbi +139 -129
  754. data/rbi/openai/models/beta/beta_response_custom_tool_call_output_item.rbi +74 -51
  755. data/rbi/openai/models/beta/beta_response_error.rbi +52 -119
  756. data/rbi/openai/models/beta/beta_response_error_event.rbi +50 -25
  757. data/rbi/openai/models/beta/beta_response_failed_event.rbi +46 -25
  758. data/rbi/openai/models/beta/beta_response_file_search_call_completed_event.rbi +51 -42
  759. data/rbi/openai/models/beta/beta_response_file_search_call_in_progress_event.rbi +51 -42
  760. data/rbi/openai/models/beta/beta_response_file_search_call_searching_event.rbi +51 -42
  761. data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +97 -138
  762. data/rbi/openai/models/beta/beta_response_format_text_config.rbi +53 -29
  763. data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +26 -10
  764. data/rbi/openai/models/beta/beta_response_function_call_arguments_delta_event.rbi +53 -42
  765. data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +54 -42
  766. data/rbi/openai/models/beta/beta_response_function_call_output_item.rbi +13 -14
  767. data/rbi/openai/models/beta/beta_response_function_call_output_item_list.rbi +11 -11
  768. data/rbi/openai/models/beta/beta_response_function_shell_call_output_content.rbi +83 -52
  769. data/rbi/openai/models/beta/beta_response_function_shell_tool_call.rbi +155 -170
  770. data/rbi/openai/models/beta/beta_response_function_shell_tool_call_output.rbi +203 -187
  771. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +131 -123
  772. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +84 -49
  773. data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +166 -181
  774. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +167 -161
  775. data/rbi/openai/models/beta/beta_response_image_gen_call_completed_event.rbi +51 -42
  776. data/rbi/openai/models/beta/beta_response_image_gen_call_generating_event.rbi +51 -42
  777. data/rbi/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbi +51 -42
  778. data/rbi/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbi +107 -42
  779. data/rbi/openai/models/beta/beta_response_in_progress_event.rbi +47 -32
  780. data/rbi/openai/models/beta/beta_response_includable.rbi +35 -47
  781. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +47 -32
  782. data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +24 -14
  783. data/rbi/openai/models/beta/beta_response_inject_event.rbi +101 -90
  784. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +134 -139
  785. data/rbi/openai/models/beta/beta_response_input.rbi +9 -9
  786. data/rbi/openai/models/beta/beta_response_input_audio.rbi +43 -65
  787. data/rbi/openai/models/beta/beta_response_input_content.rbi +12 -12
  788. data/rbi/openai/models/beta/beta_response_input_file.rbi +63 -70
  789. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +71 -81
  790. data/rbi/openai/models/beta/beta_response_input_image.rbi +58 -65
  791. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +67 -85
  792. data/rbi/openai/models/beta/beta_response_input_item.rbi +2142 -2457
  793. data/rbi/openai/models/beta/beta_response_input_message_content_list.rbi +11 -11
  794. data/rbi/openai/models/beta/beta_response_input_message_item.rbi +77 -122
  795. data/rbi/openai/models/beta/beta_response_input_text.rbi +48 -34
  796. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +54 -39
  797. data/rbi/openai/models/beta/beta_response_item.rbi +1016 -1093
  798. data/rbi/openai/models/beta/beta_response_local_environment.rbi +26 -9
  799. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbi +53 -42
  800. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbi +53 -42
  801. data/rbi/openai/models/beta/beta_response_mcp_call_completed_event.rbi +50 -38
  802. data/rbi/openai/models/beta/beta_response_mcp_call_failed_event.rbi +50 -36
  803. data/rbi/openai/models/beta/beta_response_mcp_call_in_progress_event.rbi +51 -40
  804. data/rbi/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbi +51 -42
  805. data/rbi/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbi +51 -40
  806. data/rbi/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbi +51 -42
  807. data/rbi/openai/models/beta/beta_response_output_audio.rbi +27 -10
  808. data/rbi/openai/models/beta/beta_response_output_item.rbi +1080 -1127
  809. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +83 -70
  810. data/rbi/openai/models/beta/beta_response_output_item_done_event.rbi +83 -70
  811. data/rbi/openai/models/beta/beta_response_output_message.rbi +76 -129
  812. data/rbi/openai/models/beta/beta_response_output_refusal.rbi +29 -9
  813. data/rbi/openai/models/beta/beta_response_output_text.rbi +180 -136
  814. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +158 -122
  815. data/rbi/openai/models/beta/beta_response_prompt.rbi +55 -45
  816. data/rbi/openai/models/beta/beta_response_queued_event.rbi +46 -25
  817. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +115 -110
  818. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbi +83 -66
  819. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbi +96 -100
  820. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbi +55 -42
  821. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbi +55 -42
  822. data/rbi/openai/models/beta/beta_response_reasoning_text_delta_event.rbi +55 -40
  823. data/rbi/openai/models/beta/beta_response_reasoning_text_done_event.rbi +55 -40
  824. data/rbi/openai/models/beta/beta_response_refusal_delta_event.rbi +54 -34
  825. data/rbi/openai/models/beta/beta_response_refusal_done_event.rbi +54 -34
  826. data/rbi/openai/models/beta/beta_response_shell_call_command_added_event.rbi +145 -0
  827. data/rbi/openai/models/beta/beta_response_shell_call_command_delta_event.rbi +158 -0
  828. data/rbi/openai/models/beta/beta_response_shell_call_command_done_event.rbi +145 -0
  829. data/rbi/openai/models/beta/beta_response_shell_call_output_content_delta_event.rbi +211 -0
  830. data/rbi/openai/models/beta/beta_response_shell_call_output_content_done_event.rbi +339 -0
  831. data/rbi/openai/models/beta/beta_response_status.rbi +10 -15
  832. data/rbi/openai/models/beta/beta_response_stream_event.rbi +67 -62
  833. data/rbi/openai/models/beta/beta_response_text_config.rbi +48 -70
  834. data/rbi/openai/models/beta/beta_response_text_delta_event.rbi +101 -81
  835. data/rbi/openai/models/beta/beta_response_text_done_event.rbi +101 -79
  836. data/rbi/openai/models/beta/beta_response_tool_search_call.rbi +68 -88
  837. data/rbi/openai/models/beta/beta_response_tool_search_output_item.rbi +90 -121
  838. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +115 -171
  839. data/rbi/openai/models/beta/beta_response_usage.rbi +69 -44
  840. data/rbi/openai/models/beta/beta_response_web_search_call_completed_event.rbi +51 -42
  841. data/rbi/openai/models/beta/beta_response_web_search_call_in_progress_event.rbi +51 -42
  842. data/rbi/openai/models/beta/beta_response_web_search_call_searching_event.rbi +51 -42
  843. data/rbi/openai/models/beta/beta_responses_client_event.rbi +1110 -1552
  844. data/rbi/openai/models/beta/beta_responses_server_event.rbi +2308 -1353
  845. data/rbi/openai/models/beta/beta_skill_reference.rbi +27 -7
  846. data/rbi/openai/models/beta/beta_tool.rbi +531 -931
  847. data/rbi/openai/models/beta/beta_tool_choice_allowed.rbi +26 -28
  848. data/rbi/openai/models/beta/beta_tool_choice_apply_patch.rbi +26 -9
  849. data/rbi/openai/models/beta/beta_tool_choice_custom.rbi +29 -6
  850. data/rbi/openai/models/beta/beta_tool_choice_function.rbi +29 -9
  851. data/rbi/openai/models/beta/beta_tool_choice_mcp.rbi +22 -6
  852. data/rbi/openai/models/beta/beta_tool_choice_options.rbi +7 -9
  853. data/rbi/openai/models/beta/beta_tool_choice_shell.rbi +26 -6
  854. data/rbi/openai/models/beta/beta_tool_choice_types.rbi +32 -56
  855. data/rbi/openai/models/beta/beta_tool_search_tool.rbi +30 -37
  856. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +74 -151
  857. data/rbi/openai/models/beta/beta_web_search_tool.rbi +87 -142
  858. data/rbi/openai/models/beta/chatkit/chat_session.rbi +43 -29
  859. data/rbi/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rbi +28 -9
  860. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration.rbi +31 -31
  861. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbi +100 -90
  862. data/rbi/openai/models/beta/chatkit/chat_session_expires_after_param.rbi +29 -9
  863. data/rbi/openai/models/beta/chatkit/chat_session_file_upload.rbi +24 -13
  864. data/rbi/openai/models/beta/chatkit/chat_session_history.rbi +22 -9
  865. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits.rbi +26 -9
  866. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits_param.rbi +26 -9
  867. data/rbi/openai/models/beta/chatkit/chat_session_status.rbi +12 -25
  868. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +67 -67
  869. data/rbi/openai/models/beta/chatkit/chatkit_attachment.rbi +34 -37
  870. data/rbi/openai/models/beta/chatkit/chatkit_response_output_text.rbi +117 -108
  871. data/rbi/openai/models/beta/chatkit/chatkit_thread.rbi +101 -57
  872. data/rbi/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbi +33 -19
  873. data/rbi/openai/models/beta/chatkit/chatkit_thread_item_list.rbi +193 -176
  874. data/rbi/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbi +153 -119
  875. data/rbi/openai/models/beta/chatkit/chatkit_widget_item.rbi +30 -16
  876. data/rbi/openai/models/beta/chatkit/session_cancel_params.rbi +25 -10
  877. data/rbi/openai/models/beta/chatkit/session_create_params.rbi +42 -58
  878. data/rbi/openai/models/beta/chatkit/thread_delete_params.rbi +25 -10
  879. data/rbi/openai/models/beta/chatkit/thread_delete_response.rbi +27 -10
  880. data/rbi/openai/models/beta/chatkit/thread_list_items_params.rbi +37 -50
  881. data/rbi/openai/models/beta/chatkit/thread_list_params.rbi +35 -42
  882. data/rbi/openai/models/beta/chatkit/thread_retrieve_params.rbi +25 -10
  883. data/rbi/openai/models/beta/chatkit_workflow.rbi +50 -46
  884. data/rbi/openai/models/beta/code_interpreter_tool.rbi +26 -6
  885. data/rbi/openai/models/beta/file_search_tool.rbi +66 -89
  886. data/rbi/openai/models/beta/function_tool.rbi +20 -6
  887. data/rbi/openai/models/beta/message_stream_event.rbi +84 -59
  888. data/rbi/openai/models/beta/response_cancel_params.rbi +34 -34
  889. data/rbi/openai/models/beta/response_compact_params.rbi +321 -808
  890. data/rbi/openai/models/beta/response_create_params.rbi +738 -1545
  891. data/rbi/openai/models/beta/response_delete_params.rbi +34 -34
  892. data/rbi/openai/models/beta/response_retrieve_params.rbi +38 -49
  893. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +63 -45
  894. data/rbi/openai/models/beta/responses/input_item_list_params.rbi +53 -109
  895. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +378 -691
  896. data/rbi/openai/models/beta/responses/input_token_count_response.rbi +31 -11
  897. data/rbi/openai/models/beta/run_step_stream_event.rbi +120 -102
  898. data/rbi/openai/models/beta/run_stream_event.rbi +158 -106
  899. data/rbi/openai/models/beta/thread.rbi +88 -66
  900. data/rbi/openai/models/beta/thread_create_and_run_params.rbi +512 -593
  901. data/rbi/openai/models/beta/thread_create_params.rbi +302 -330
  902. data/rbi/openai/models/beta/thread_delete_params.rbi +23 -7
  903. data/rbi/openai/models/beta/thread_deleted.rbi +31 -8
  904. data/rbi/openai/models/beta/thread_retrieve_params.rbi +23 -7
  905. data/rbi/openai/models/beta/thread_stream_event.rbi +21 -6
  906. data/rbi/openai/models/beta/thread_update_params.rbi +90 -81
  907. data/rbi/openai/models/beta/threads/annotation.rbi +13 -11
  908. data/rbi/openai/models/beta/threads/annotation_delta.rbi +13 -11
  909. data/rbi/openai/models/beta/threads/file_citation_annotation.rbi +52 -30
  910. data/rbi/openai/models/beta/threads/file_citation_delta_annotation.rbi +55 -34
  911. data/rbi/openai/models/beta/threads/file_path_annotation.rbi +50 -25
  912. data/rbi/openai/models/beta/threads/file_path_delta_annotation.rbi +54 -34
  913. data/rbi/openai/models/beta/threads/image_file.rbi +30 -44
  914. data/rbi/openai/models/beta/threads/image_file_content_block.rbi +23 -12
  915. data/rbi/openai/models/beta/threads/image_file_delta.rbi +30 -52
  916. data/rbi/openai/models/beta/threads/image_file_delta_block.rbi +25 -18
  917. data/rbi/openai/models/beta/threads/image_url.rbi +30 -41
  918. data/rbi/openai/models/beta/threads/image_url_content_block.rbi +23 -12
  919. data/rbi/openai/models/beta/threads/image_url_delta.rbi +30 -52
  920. data/rbi/openai/models/beta/threads/image_url_delta_block.rbi +25 -16
  921. data/rbi/openai/models/beta/threads/message.rbi +159 -212
  922. data/rbi/openai/models/beta/threads/message_content.rbi +15 -13
  923. data/rbi/openai/models/beta/threads/message_content_delta.rbi +15 -13
  924. data/rbi/openai/models/beta/threads/message_content_part_param.rbi +14 -12
  925. data/rbi/openai/models/beta/threads/message_create_params.rbi +116 -141
  926. data/rbi/openai/models/beta/threads/message_delete_params.rbi +28 -14
  927. data/rbi/openai/models/beta/threads/message_deleted.rbi +31 -11
  928. data/rbi/openai/models/beta/threads/message_delta.rbi +49 -71
  929. data/rbi/openai/models/beta/threads/message_delta_event.rbi +25 -16
  930. data/rbi/openai/models/beta/threads/message_list_params.rbi +38 -44
  931. data/rbi/openai/models/beta/threads/message_retrieve_params.rbi +28 -14
  932. data/rbi/openai/models/beta/threads/message_update_params.rbi +24 -8
  933. data/rbi/openai/models/beta/threads/refusal_content_block.rbi +29 -9
  934. data/rbi/openai/models/beta/threads/refusal_delta_block.rbi +29 -10
  935. data/rbi/openai/models/beta/threads/required_action_function_tool_call.rbi +49 -36
  936. data/rbi/openai/models/beta/threads/run.rbi +229 -298
  937. data/rbi/openai/models/beta/threads/run_cancel_params.rbi +28 -14
  938. data/rbi/openai/models/beta/threads/run_create_params.rbi +264 -330
  939. data/rbi/openai/models/beta/threads/run_list_params.rbi +35 -40
  940. data/rbi/openai/models/beta/threads/run_retrieve_params.rbi +28 -14
  941. data/rbi/openai/models/beta/threads/run_status.rbi +18 -29
  942. data/rbi/openai/models/beta/threads/run_submit_tool_outputs_params.rbi +48 -33
  943. data/rbi/openai/models/beta/threads/run_update_params.rbi +24 -8
  944. data/rbi/openai/models/beta/threads/runs/code_interpreter_logs.rbi +31 -10
  945. data/rbi/openai/models/beta/threads/runs/code_interpreter_output_image.rbi +50 -38
  946. data/rbi/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi +130 -96
  947. data/rbi/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi +78 -64
  948. data/rbi/openai/models/beta/threads/runs/file_search_tool_call.rbi +149 -172
  949. data/rbi/openai/models/beta/threads/runs/file_search_tool_call_delta.rbi +28 -14
  950. data/rbi/openai/models/beta/threads/runs/function_tool_call.rbi +46 -34
  951. data/rbi/openai/models/beta/threads/runs/function_tool_call_delta.rbi +48 -34
  952. data/rbi/openai/models/beta/threads/runs/message_creation_step_details.rbi +49 -30
  953. data/rbi/openai/models/beta/threads/runs/run_step.rbi +128 -193
  954. data/rbi/openai/models/beta/threads/runs/run_step_delta.rbi +42 -45
  955. data/rbi/openai/models/beta/threads/runs/run_step_delta_event.rbi +27 -18
  956. data/rbi/openai/models/beta/threads/runs/run_step_delta_message_delta.rbi +51 -37
  957. data/rbi/openai/models/beta/threads/runs/run_step_include.rbi +15 -17
  958. data/rbi/openai/models/beta/threads/runs/step_list_params.rbi +47 -75
  959. data/rbi/openai/models/beta/threads/runs/step_retrieve_params.rbi +32 -33
  960. data/rbi/openai/models/beta/threads/runs/tool_call.rbi +16 -12
  961. data/rbi/openai/models/beta/threads/runs/tool_call_delta.rbi +16 -12
  962. data/rbi/openai/models/beta/threads/runs/tool_call_delta_object.rbi +43 -41
  963. data/rbi/openai/models/beta/threads/runs/tool_calls_step_details.rbi +32 -24
  964. data/rbi/openai/models/beta/threads/text.rbi +28 -17
  965. data/rbi/openai/models/beta/threads/text_content_block.rbi +22 -9
  966. data/rbi/openai/models/beta/threads/text_content_block_param.rbi +31 -9
  967. data/rbi/openai/models/beta/threads/text_delta.rbi +37 -32
  968. data/rbi/openai/models/beta/threads/text_delta_block.rbi +24 -13
  969. data/rbi/openai/models/chat/chat_completion.rbi +333 -377
  970. data/rbi/openai/models/chat/chat_completion_allowed_tool_choice.rbi +21 -17
  971. data/rbi/openai/models/chat/chat_completion_allowed_tools.rbi +25 -33
  972. data/rbi/openai/models/chat/chat_completion_assistant_message_param.rbi +131 -149
  973. data/rbi/openai/models/chat/chat_completion_audio.rbi +24 -11
  974. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +83 -141
  975. data/rbi/openai/models/chat/chat_completion_chunk.rbi +464 -589
  976. data/rbi/openai/models/chat/chat_completion_content_part.rbi +75 -60
  977. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +78 -100
  978. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +78 -89
  979. data/rbi/openai/models/chat/chat_completion_content_part_refusal.rbi +29 -9
  980. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +49 -34
  981. data/rbi/openai/models/chat/chat_completion_custom_tool.rbi +131 -128
  982. data/rbi/openai/models/chat/chat_completion_deleted.rbi +27 -10
  983. data/rbi/openai/models/chat/chat_completion_developer_message_param.rbi +32 -44
  984. data/rbi/openai/models/chat/chat_completion_function_call_option.rbi +26 -9
  985. data/rbi/openai/models/chat/chat_completion_function_message_param.rbi +23 -11
  986. data/rbi/openai/models/chat/chat_completion_function_tool.rbi +20 -9
  987. data/rbi/openai/models/chat/chat_completion_message.rbi +113 -114
  988. data/rbi/openai/models/chat/chat_completion_message_custom_tool_call.rbi +50 -35
  989. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +48 -36
  990. data/rbi/openai/models/chat/chat_completion_message_param.rbi +15 -15
  991. data/rbi/openai/models/chat/chat_completion_message_tool_call.rbi +11 -11
  992. data/rbi/openai/models/chat/chat_completion_modality.rbi +7 -9
  993. data/rbi/openai/models/chat/chat_completion_named_tool_choice.rbi +43 -29
  994. data/rbi/openai/models/chat/chat_completion_named_tool_choice_custom.rbi +44 -33
  995. data/rbi/openai/models/chat/chat_completion_prediction_content.rbi +30 -42
  996. data/rbi/openai/models/chat/chat_completion_reasoning_effort.rbi +4 -0
  997. data/rbi/openai/models/chat/chat_completion_role.rbi +9 -13
  998. data/rbi/openai/models/chat/chat_completion_store_message.rbi +85 -46
  999. data/rbi/openai/models/chat/chat_completion_stream_options.rbi +20 -9
  1000. data/rbi/openai/models/chat/chat_completion_system_message_param.rbi +31 -42
  1001. data/rbi/openai/models/chat/chat_completion_token_logprob.rbi +43 -32
  1002. data/rbi/openai/models/chat/chat_completion_tool.rbi +12 -10
  1003. data/rbi/openai/models/chat/chat_completion_tool_choice_option.rbi +19 -40
  1004. data/rbi/openai/models/chat/chat_completion_tool_message_param.rbi +31 -38
  1005. data/rbi/openai/models/chat/chat_completion_user_message_param.rbi +31 -42
  1006. data/rbi/openai/models/chat/completion_create_params.rbi +514 -824
  1007. data/rbi/openai/models/chat/completion_delete_params.rbi +23 -10
  1008. data/rbi/openai/models/chat/completion_list_params.rbi +33 -32
  1009. data/rbi/openai/models/chat/completion_retrieve_params.rbi +23 -10
  1010. data/rbi/openai/models/chat/completion_update_params.rbi +20 -8
  1011. data/rbi/openai/models/chat/completions/message_list_params.rbi +35 -50
  1012. data/rbi/openai/models/chat_model.rbi +55 -112
  1013. data/rbi/openai/models/comparison_filter.rbi +32 -36
  1014. data/rbi/openai/models/completion.rbi +27 -3
  1015. data/rbi/openai/models/completion_choice.rbi +43 -31
  1016. data/rbi/openai/models/completion_create_params.rbi +88 -93
  1017. data/rbi/openai/models/completion_usage.rbi +69 -42
  1018. data/rbi/openai/models/compound_filter.rbi +23 -19
  1019. data/rbi/openai/models/container_create_params.rbi +89 -160
  1020. data/rbi/openai/models/container_create_response.rbi +98 -176
  1021. data/rbi/openai/models/container_delete_params.rbi +21 -7
  1022. data/rbi/openai/models/container_list_params.rbi +24 -12
  1023. data/rbi/openai/models/container_list_response.rbi +92 -168
  1024. data/rbi/openai/models/container_retrieve_params.rbi +21 -7
  1025. data/rbi/openai/models/container_retrieve_response.rbi +100 -179
  1026. data/rbi/openai/models/containers/file_create_params.rbi +22 -8
  1027. data/rbi/openai/models/containers/file_create_response.rbi +29 -8
  1028. data/rbi/openai/models/containers/file_delete_params.rbi +26 -14
  1029. data/rbi/openai/models/containers/file_list_params.rbi +31 -32
  1030. data/rbi/openai/models/containers/file_list_response.rbi +29 -8
  1031. data/rbi/openai/models/containers/file_retrieve_params.rbi +26 -14
  1032. data/rbi/openai/models/containers/file_retrieve_response.rbi +29 -8
  1033. data/rbi/openai/models/containers/files/content_retrieve_params.rbi +28 -14
  1034. data/rbi/openai/models/content_provenance_check.rbi +106 -165
  1035. data/rbi/openai/models/content_provenance_check_create_params.rbi +17 -12
  1036. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +63 -76
  1037. data/rbi/openai/models/conversations/conversation.rbi +24 -14
  1038. data/rbi/openai/models/conversations/conversation_create_params.rbi +98 -88
  1039. data/rbi/openai/models/conversations/conversation_delete_params.rbi +23 -10
  1040. data/rbi/openai/models/conversations/conversation_deleted.rbi +31 -11
  1041. data/rbi/openai/models/conversations/conversation_deleted_resource.rbi +31 -11
  1042. data/rbi/openai/models/conversations/conversation_item.rbi +417 -488
  1043. data/rbi/openai/models/conversations/conversation_item_list.rbi +58 -44
  1044. data/rbi/openai/models/conversations/conversation_retrieve_params.rbi +23 -10
  1045. data/rbi/openai/models/conversations/conversation_update_params.rbi +20 -8
  1046. data/rbi/openai/models/conversations/input_file_content.rbi +4 -0
  1047. data/rbi/openai/models/conversations/input_image_content.rbi +4 -0
  1048. data/rbi/openai/models/conversations/input_text_content.rbi +4 -0
  1049. data/rbi/openai/models/conversations/item_create_params.rbi +99 -96
  1050. data/rbi/openai/models/conversations/item_delete_params.rbi +26 -14
  1051. data/rbi/openai/models/conversations/item_list_params.rbi +36 -52
  1052. data/rbi/openai/models/conversations/item_retrieve_params.rbi +25 -20
  1053. data/rbi/openai/models/conversations/message.rbi +100 -132
  1054. data/rbi/openai/models/conversations/output_text_content.rbi +4 -0
  1055. data/rbi/openai/models/conversations/refusal_content.rbi +4 -0
  1056. data/rbi/openai/models/conversations/summary_text_content.rbi +29 -9
  1057. data/rbi/openai/models/conversations/text_content.rbi +32 -7
  1058. data/rbi/openai/models/create_embedding_response.rbi +40 -15
  1059. data/rbi/openai/models/custom_tool_input_format.rbi +51 -55
  1060. data/rbi/openai/models/deleted_skill.rbi +29 -6
  1061. data/rbi/openai/models/embedding.rbi +20 -4
  1062. data/rbi/openai/models/embedding_create_params.rbi +54 -83
  1063. data/rbi/openai/models/embedding_model.rbi +5 -6
  1064. data/rbi/openai/models/error_object.rbi +27 -10
  1065. data/rbi/openai/models/eval_create_params.rbi +482 -314
  1066. data/rbi/openai/models/eval_create_response.rbi +236 -108
  1067. data/rbi/openai/models/eval_custom_data_source_config.rbi +22 -7
  1068. data/rbi/openai/models/eval_delete_params.rbi +21 -7
  1069. data/rbi/openai/models/eval_delete_response.rbi +27 -8
  1070. data/rbi/openai/models/eval_list_params.rbi +28 -23
  1071. data/rbi/openai/models/eval_list_response.rbi +236 -106
  1072. data/rbi/openai/models/eval_retrieve_params.rbi +21 -7
  1073. data/rbi/openai/models/eval_retrieve_response.rbi +236 -110
  1074. data/rbi/openai/models/eval_stored_completions_data_source_config.rbi +20 -13
  1075. data/rbi/openai/models/eval_update_params.rbi +20 -5
  1076. data/rbi/openai/models/eval_update_response.rbi +236 -108
  1077. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +418 -400
  1078. data/rbi/openai/models/evals/create_eval_jsonl_run_data_source.rbi +93 -77
  1079. data/rbi/openai/models/evals/eval_api_error.rbi +29 -6
  1080. data/rbi/openai/models/evals/run_cancel_params.rbi +26 -11
  1081. data/rbi/openai/models/evals/run_cancel_response.rbi +601 -512
  1082. data/rbi/openai/models/evals/run_create_params.rbi +580 -484
  1083. data/rbi/openai/models/evals/run_create_response.rbi +601 -512
  1084. data/rbi/openai/models/evals/run_delete_params.rbi +26 -11
  1085. data/rbi/openai/models/evals/run_delete_response.rbi +29 -11
  1086. data/rbi/openai/models/evals/run_list_params.rbi +40 -48
  1087. data/rbi/openai/models/evals/run_list_response.rbi +601 -512
  1088. data/rbi/openai/models/evals/run_retrieve_params.rbi +26 -11
  1089. data/rbi/openai/models/evals/run_retrieve_response.rbi +606 -515
  1090. data/rbi/openai/models/evals/runs/output_item_list_params.rbi +47 -83
  1091. data/rbi/openai/models/evals/runs/output_item_list_response.rbi +166 -129
  1092. data/rbi/openai/models/evals/runs/output_item_retrieve_params.rbi +31 -15
  1093. data/rbi/openai/models/evals/runs/output_item_retrieve_response.rbi +166 -131
  1094. data/rbi/openai/models/file_chunking_strategy.rbi +9 -7
  1095. data/rbi/openai/models/file_chunking_strategy_param.rbi +10 -10
  1096. data/rbi/openai/models/file_content.rbi +2 -0
  1097. data/rbi/openai/models/file_content_params.rbi +21 -7
  1098. data/rbi/openai/models/file_create_params.rbi +43 -19
  1099. data/rbi/openai/models/file_delete_params.rbi +21 -7
  1100. data/rbi/openai/models/file_deleted.rbi +29 -6
  1101. data/rbi/openai/models/file_list_params.rbi +24 -12
  1102. data/rbi/openai/models/file_object.rbi +40 -23
  1103. data/rbi/openai/models/file_purpose.rbi +2 -0
  1104. data/rbi/openai/models/file_retrieve_params.rbi +21 -7
  1105. data/rbi/openai/models/fine_tuning/alpha/grader_run_params.rbi +51 -43
  1106. data/rbi/openai/models/fine_tuning/alpha/grader_run_response.rbi +88 -51
  1107. data/rbi/openai/models/fine_tuning/alpha/grader_validate_params.rbi +47 -43
  1108. data/rbi/openai/models/fine_tuning/alpha/grader_validate_response.rbi +51 -54
  1109. data/rbi/openai/models/fine_tuning/checkpoints/permission_create_params.rbi +22 -8
  1110. data/rbi/openai/models/fine_tuning/checkpoints/permission_create_response.rbi +26 -14
  1111. data/rbi/openai/models/fine_tuning/checkpoints/permission_delete_params.rbi +23 -13
  1112. data/rbi/openai/models/fine_tuning/checkpoints/permission_delete_response.rbi +27 -10
  1113. data/rbi/openai/models/fine_tuning/checkpoints/permission_list_params.rbi +39 -50
  1114. data/rbi/openai/models/fine_tuning/checkpoints/permission_list_response.rbi +26 -14
  1115. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbi +47 -50
  1116. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbi +46 -35
  1117. data/rbi/openai/models/fine_tuning/dpo_hyperparameters.rbi +31 -34
  1118. data/rbi/openai/models/fine_tuning/dpo_method.rbi +19 -11
  1119. data/rbi/openai/models/fine_tuning/fine_tuning_job.rbi +143 -199
  1120. data/rbi/openai/models/fine_tuning/fine_tuning_job_event.rbi +44 -74
  1121. data/rbi/openai/models/fine_tuning/fine_tuning_job_integration.rbi +5 -2
  1122. data/rbi/openai/models/fine_tuning/fine_tuning_job_wandb_integration.rbi +24 -14
  1123. data/rbi/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbi +22 -19
  1124. data/rbi/openai/models/fine_tuning/job_cancel_params.rbi +23 -13
  1125. data/rbi/openai/models/fine_tuning/job_create_params.rbi +143 -209
  1126. data/rbi/openai/models/fine_tuning/job_list_events_params.rbi +23 -14
  1127. data/rbi/openai/models/fine_tuning/job_list_params.rbi +22 -5
  1128. data/rbi/openai/models/fine_tuning/job_pause_params.rbi +23 -10
  1129. data/rbi/openai/models/fine_tuning/job_resume_params.rbi +23 -13
  1130. data/rbi/openai/models/fine_tuning/job_retrieve_params.rbi +23 -13
  1131. data/rbi/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi +25 -14
  1132. data/rbi/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbi +58 -29
  1133. data/rbi/openai/models/fine_tuning/reinforcement_hyperparameters.rbi +61 -99
  1134. data/rbi/openai/models/fine_tuning/reinforcement_method.rbi +49 -54
  1135. data/rbi/openai/models/fine_tuning/supervised_hyperparameters.rbi +29 -29
  1136. data/rbi/openai/models/fine_tuning/supervised_method.rbi +21 -20
  1137. data/rbi/openai/models/function_definition.rbi +22 -11
  1138. data/rbi/openai/models/function_parameters.rbi +6 -5
  1139. data/rbi/openai/models/graders/grader_input_item.rbi +57 -30
  1140. data/rbi/openai/models/graders/grader_inputs.rbi +9 -9
  1141. data/rbi/openai/models/graders/label_model_grader.rbi +140 -146
  1142. data/rbi/openai/models/graders/multi_grader.rbi +50 -38
  1143. data/rbi/openai/models/graders/python_grader.rbi +24 -6
  1144. data/rbi/openai/models/graders/score_model_grader.rbi +163 -165
  1145. data/rbi/openai/models/graders/string_check_grader.rbi +33 -39
  1146. data/rbi/openai/models/graders/text_similarity_grader.rbi +42 -87
  1147. data/rbi/openai/models/image.rbi +23 -4
  1148. data/rbi/openai/models/image_create_variation_params.rbi +44 -77
  1149. data/rbi/openai/models/image_edit_completed_event.rbi +94 -134
  1150. data/rbi/openai/models/image_edit_params.rbi +110 -153
  1151. data/rbi/openai/models/image_edit_partial_image_event.rbi +60 -125
  1152. data/rbi/openai/models/image_edit_stream_event.rbi +9 -7
  1153. data/rbi/openai/models/image_gen_completed_event.rbi +92 -125
  1154. data/rbi/openai/models/image_gen_partial_image_event.rbi +60 -119
  1155. data/rbi/openai/models/image_gen_stream_event.rbi +9 -7
  1156. data/rbi/openai/models/image_generate_params.rbi +117 -196
  1157. data/rbi/openai/models/image_input_reference_param.rbi +25 -6
  1158. data/rbi/openai/models/image_model.rbi +5 -6
  1159. data/rbi/openai/models/images_response.rbi +108 -103
  1160. data/rbi/openai/models/metadata.rbi +6 -5
  1161. data/rbi/openai/models/model.rbi +24 -9
  1162. data/rbi/openai/models/model_delete_params.rbi +21 -7
  1163. data/rbi/openai/models/model_deleted.rbi +29 -6
  1164. data/rbi/openai/models/model_list_params.rbi +11 -5
  1165. data/rbi/openai/models/model_retrieve_params.rbi +21 -7
  1166. data/rbi/openai/models/moderation.rbi +240 -501
  1167. data/rbi/openai/models/moderation_create_params.rbi +38 -45
  1168. data/rbi/openai/models/moderation_create_response.rbi +20 -9
  1169. data/rbi/openai/models/moderation_image_url_input.rbi +40 -20
  1170. data/rbi/openai/models/moderation_model.rbi +6 -11
  1171. data/rbi/openai/models/moderation_multi_modal_input.rbi +10 -7
  1172. data/rbi/openai/models/moderation_text_input.rbi +27 -6
  1173. data/rbi/openai/models/oauth_error_code.rbi +15 -7
  1174. data/rbi/openai/models/other_file_chunking_strategy_object.rbi +24 -9
  1175. data/rbi/openai/models/realtime/audio_transcription.rbi +69 -141
  1176. data/rbi/openai/models/realtime/call_accept_params.rbi +175 -7
  1177. data/rbi/openai/models/realtime/call_create_params.rbi +71 -0
  1178. data/rbi/openai/models/realtime/call_hangup_params.rbi +23 -7
  1179. data/rbi/openai/models/realtime/call_refer_params.rbi +21 -10
  1180. data/rbi/openai/models/realtime/call_reject_params.rbi +21 -10
  1181. data/rbi/openai/models/realtime/client_secret_create_params.rbi +77 -104
  1182. data/rbi/openai/models/realtime/client_secret_create_response.rbi +35 -34
  1183. data/rbi/openai/models/realtime/conversation_created_event.rbi +53 -73
  1184. data/rbi/openai/models/realtime/conversation_item.rbi +18 -18
  1185. data/rbi/openai/models/realtime/conversation_item_added.rbi +47 -34
  1186. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +47 -34
  1187. data/rbi/openai/models/realtime/conversation_item_created_event.rbi +47 -34
  1188. data/rbi/openai/models/realtime/conversation_item_delete_event.rbi +27 -10
  1189. data/rbi/openai/models/realtime/conversation_item_deleted_event.rbi +27 -10
  1190. data/rbi/openai/models/realtime/conversation_item_done.rbi +47 -34
  1191. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +120 -81
  1192. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +29 -13
  1193. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbi +48 -32
  1194. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbi +33 -8
  1195. data/rbi/openai/models/realtime/conversation_item_retrieve_event.rbi +27 -10
  1196. data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +26 -15
  1197. data/rbi/openai/models/realtime/conversation_item_truncated_event.rbi +26 -15
  1198. data/rbi/openai/models/realtime/conversation_item_with_reference.rbi +120 -270
  1199. data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +27 -10
  1200. data/rbi/openai/models/realtime/input_audio_buffer_clear_event.rbi +29 -9
  1201. data/rbi/openai/models/realtime/input_audio_buffer_cleared_event.rbi +29 -9
  1202. data/rbi/openai/models/realtime/input_audio_buffer_commit_event.rbi +29 -9
  1203. data/rbi/openai/models/realtime/input_audio_buffer_committed_event.rbi +24 -14
  1204. data/rbi/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rbi +25 -10
  1205. data/rbi/openai/models/realtime/input_audio_buffer_speech_started_event.rbi +24 -14
  1206. data/rbi/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbi +24 -14
  1207. data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +26 -15
  1208. data/rbi/openai/models/realtime/log_prob_properties.rbi +22 -9
  1209. data/rbi/openai/models/realtime/mcp_list_tools_completed.rbi +27 -10
  1210. data/rbi/openai/models/realtime/mcp_list_tools_failed.rbi +27 -10
  1211. data/rbi/openai/models/realtime/mcp_list_tools_in_progress.rbi +27 -10
  1212. data/rbi/openai/models/realtime/noise_reduction_type.rbi +8 -11
  1213. data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +29 -9
  1214. data/rbi/openai/models/realtime/rate_limits_updated_event.rbi +50 -71
  1215. data/rbi/openai/models/realtime/realtime_audio_config.rbi +25 -21
  1216. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +76 -82
  1217. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +106 -131
  1218. data/rbi/openai/models/realtime/realtime_audio_formats.rbi +78 -187
  1219. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +72 -77
  1220. data/rbi/openai/models/realtime/realtime_client_event.rbi +20 -20
  1221. data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +104 -151
  1222. data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +57 -92
  1223. data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +63 -86
  1224. data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +86 -149
  1225. data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +108 -200
  1226. data/rbi/openai/models/realtime/realtime_error.rbi +25 -5
  1227. data/rbi/openai/models/realtime/realtime_error_event.rbi +22 -13
  1228. data/rbi/openai/models/realtime/realtime_function_tool.rbi +29 -35
  1229. data/rbi/openai/models/realtime/realtime_mcp_approval_request.rbi +26 -15
  1230. data/rbi/openai/models/realtime/realtime_mcp_approval_response.rbi +26 -15
  1231. data/rbi/openai/models/realtime/realtime_mcp_list_tools.rbi +42 -18
  1232. data/rbi/openai/models/realtime/realtime_mcp_protocol_error.rbi +31 -11
  1233. data/rbi/openai/models/realtime/realtime_mcp_tool_call.rbi +56 -39
  1234. data/rbi/openai/models/realtime/realtime_mcp_tool_execution_error.rbi +32 -10
  1235. data/rbi/openai/models/realtime/realtime_mcphttp_error.rbi +31 -11
  1236. data/rbi/openai/models/realtime/realtime_reasoning.rbi +20 -19
  1237. data/rbi/openai/models/realtime/realtime_reasoning_effort.rbi +12 -26
  1238. data/rbi/openai/models/realtime/realtime_response.rbi +185 -334
  1239. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +121 -160
  1240. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +226 -266
  1241. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +176 -269
  1242. data/rbi/openai/models/realtime/realtime_response_status.rbi +64 -111
  1243. data/rbi/openai/models/realtime/realtime_response_usage.rbi +33 -38
  1244. data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +50 -37
  1245. data/rbi/openai/models/realtime/realtime_response_usage_output_token_details.rbi +24 -10
  1246. data/rbi/openai/models/realtime/realtime_server_event.rbi +154 -118
  1247. data/rbi/openai/models/realtime/realtime_session.rbi +313 -579
  1248. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +211 -362
  1249. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +736 -979
  1250. data/rbi/openai/models/realtime/realtime_tool_choice_config.rbi +12 -12
  1251. data/rbi/openai/models/realtime/realtime_tools_config.rbi +8 -7
  1252. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +235 -277
  1253. data/rbi/openai/models/realtime/realtime_tracing_config.rbi +28 -20
  1254. data/rbi/openai/models/realtime/realtime_transcription_session_audio.rbi +21 -21
  1255. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +78 -82
  1256. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +86 -68
  1257. data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +41 -60
  1258. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +134 -183
  1259. data/rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi +25 -16
  1260. data/rbi/openai/models/realtime/realtime_translation_client_event.rbi +12 -12
  1261. data/rbi/openai/models/realtime/realtime_translation_client_secret_create_request.rbi +62 -74
  1262. data/rbi/openai/models/realtime/realtime_translation_client_secret_create_response.rbi +23 -18
  1263. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +27 -10
  1264. data/rbi/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbi +24 -14
  1265. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +44 -47
  1266. data/rbi/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbi +24 -14
  1267. data/rbi/openai/models/realtime/realtime_translation_server_event.rbi +16 -16
  1268. data/rbi/openai/models/realtime/realtime_translation_session.rbi +141 -134
  1269. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +29 -9
  1270. data/rbi/openai/models/realtime/realtime_translation_session_closed_event.rbi +29 -9
  1271. data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +146 -147
  1272. data/rbi/openai/models/realtime/realtime_translation_session_created_event.rbi +23 -18
  1273. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +25 -25
  1274. data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +143 -145
  1275. data/rbi/openai/models/realtime/realtime_translation_session_updated_event.rbi +23 -18
  1276. data/rbi/openai/models/realtime/realtime_truncation.rbi +20 -36
  1277. data/rbi/openai/models/realtime/realtime_truncation_retention_ratio.rbi +46 -34
  1278. data/rbi/openai/models/realtime/response_audio_delta_event.rbi +29 -8
  1279. data/rbi/openai/models/realtime/response_audio_done_event.rbi +27 -8
  1280. data/rbi/openai/models/realtime/response_audio_transcript_delta_event.rbi +29 -8
  1281. data/rbi/openai/models/realtime/response_audio_transcript_done_event.rbi +29 -8
  1282. data/rbi/openai/models/realtime/response_cancel_event.rbi +25 -10
  1283. data/rbi/openai/models/realtime/response_content_part_added_event.rbi +58 -63
  1284. data/rbi/openai/models/realtime/response_content_part_done_event.rbi +58 -63
  1285. data/rbi/openai/models/realtime/response_create_event.rbi +24 -21
  1286. data/rbi/openai/models/realtime/response_created_event.rbi +23 -16
  1287. data/rbi/openai/models/realtime/response_done_event.rbi +23 -16
  1288. data/rbi/openai/models/realtime/response_function_call_arguments_delta_event.rbi +29 -8
  1289. data/rbi/openai/models/realtime/response_function_call_arguments_done_event.rbi +31 -8
  1290. data/rbi/openai/models/realtime/response_mcp_call_arguments_delta.rbi +29 -8
  1291. data/rbi/openai/models/realtime/response_mcp_call_arguments_done.rbi +27 -8
  1292. data/rbi/openai/models/realtime/response_mcp_call_completed.rbi +24 -14
  1293. data/rbi/openai/models/realtime/response_mcp_call_failed.rbi +24 -14
  1294. data/rbi/openai/models/realtime/response_mcp_call_in_progress.rbi +24 -14
  1295. data/rbi/openai/models/realtime/response_output_item_added_event.rbi +49 -34
  1296. data/rbi/openai/models/realtime/response_output_item_done_event.rbi +49 -34
  1297. data/rbi/openai/models/realtime/response_text_delta_event.rbi +29 -8
  1298. data/rbi/openai/models/realtime/response_text_done_event.rbi +29 -8
  1299. data/rbi/openai/models/realtime/session_created_event.rbi +39 -32
  1300. data/rbi/openai/models/realtime/session_update_event.rbi +39 -32
  1301. data/rbi/openai/models/realtime/session_updated_event.rbi +39 -32
  1302. data/rbi/openai/models/realtime/transcription_session_update.rbi +150 -214
  1303. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +118 -141
  1304. data/rbi/openai/models/reasoning.rbi +43 -40
  1305. data/rbi/openai/models/reasoning_effort.rbi +2 -0
  1306. data/rbi/openai/models/response_format_json_object.rbi +24 -6
  1307. data/rbi/openai/models/response_format_json_schema.rbi +42 -34
  1308. data/rbi/openai/models/response_format_text.rbi +24 -6
  1309. data/rbi/openai/models/response_format_text_grammar.rbi +27 -6
  1310. data/rbi/openai/models/response_format_text_python.rbi +24 -6
  1311. data/rbi/openai/models/responses/apply_patch_tool.rbi +27 -48
  1312. data/rbi/openai/models/responses/compacted_response.rbi +58 -44
  1313. data/rbi/openai/models/responses/computer_action.rbi +234 -163
  1314. data/rbi/openai/models/responses/computer_action_list.rbi +8 -7
  1315. data/rbi/openai/models/responses/computer_tool.rbi +26 -6
  1316. data/rbi/openai/models/responses/computer_use_preview_tool.rbi +34 -57
  1317. data/rbi/openai/models/responses/container_auto.rbi +68 -131
  1318. data/rbi/openai/models/responses/container_network_policy_allowlist.rbi +25 -29
  1319. data/rbi/openai/models/responses/container_network_policy_disabled.rbi +26 -9
  1320. data/rbi/openai/models/responses/container_network_policy_domain_secret.rbi +27 -10
  1321. data/rbi/openai/models/responses/container_reference.rbi +27 -9
  1322. data/rbi/openai/models/responses/custom_tool.rbi +43 -72
  1323. data/rbi/openai/models/responses/easy_input_message.rbi +47 -102
  1324. data/rbi/openai/models/responses/file_search_tool.rbi +83 -117
  1325. data/rbi/openai/models/responses/function_shell_tool.rbi +52 -82
  1326. data/rbi/openai/models/responses/function_tool.rbi +39 -46
  1327. data/rbi/openai/models/responses/inline_skill.rbi +25 -14
  1328. data/rbi/openai/models/responses/inline_skill_source.rbi +27 -10
  1329. data/rbi/openai/models/responses/input_item_list_params.rbi +36 -52
  1330. data/rbi/openai/models/responses/input_token_count_params.rbi +230 -360
  1331. data/rbi/openai/models/responses/input_token_count_response.rbi +29 -11
  1332. data/rbi/openai/models/responses/local_environment.rbi +21 -12
  1333. data/rbi/openai/models/responses/local_skill.rbi +27 -7
  1334. data/rbi/openai/models/responses/mcp_tool_call_error.rbi +88 -43
  1335. data/rbi/openai/models/responses/namespace_tool.rbi +77 -90
  1336. data/rbi/openai/models/responses/response.rbi +487 -583
  1337. data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +175 -144
  1338. data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +94 -90
  1339. data/rbi/openai/models/responses/response_audio_delta_event.rbi +25 -10
  1340. data/rbi/openai/models/responses/response_audio_done_event.rbi +26 -10
  1341. data/rbi/openai/models/responses/response_audio_transcript_delta_event.rbi +25 -10
  1342. data/rbi/openai/models/responses/response_audio_transcript_done_event.rbi +26 -10
  1343. data/rbi/openai/models/responses/response_cancel_params.rbi +23 -10
  1344. data/rbi/openai/models/responses/response_code_interpreter_call_code_delta_event.rbi +26 -15
  1345. data/rbi/openai/models/responses/response_code_interpreter_call_code_done_event.rbi +26 -15
  1346. data/rbi/openai/models/responses/response_code_interpreter_call_completed_event.rbi +24 -14
  1347. data/rbi/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi +24 -14
  1348. data/rbi/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi +24 -14
  1349. data/rbi/openai/models/responses/response_code_interpreter_tool_call.rbi +109 -106
  1350. data/rbi/openai/models/responses/response_compact_params.rbi +371 -791
  1351. data/rbi/openai/models/responses/response_compaction_item.rbi +24 -14
  1352. data/rbi/openai/models/responses/response_compaction_item_param.rbi +22 -9
  1353. data/rbi/openai/models/responses/response_completed_event.rbi +22 -13
  1354. data/rbi/openai/models/responses/response_computer_tool_call.rbi +381 -352
  1355. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +77 -101
  1356. data/rbi/openai/models/responses/response_computer_tool_call_output_screenshot.rbi +27 -10
  1357. data/rbi/openai/models/responses/response_container_reference.rbi +27 -9
  1358. data/rbi/openai/models/responses/response_content.rbi +39 -24
  1359. data/rbi/openai/models/responses/response_content_part_added_event.rbi +66 -44
  1360. data/rbi/openai/models/responses/response_content_part_done_event.rbi +66 -44
  1361. data/rbi/openai/models/responses/response_conversation_param.rbi +26 -9
  1362. data/rbi/openai/models/responses/response_create_params.rbi +464 -737
  1363. data/rbi/openai/models/responses/response_created_event.rbi +22 -13
  1364. data/rbi/openai/models/responses/response_custom_tool_call.rbi +93 -55
  1365. data/rbi/openai/models/responses/response_custom_tool_call_input_delta_event.rbi +26 -15
  1366. data/rbi/openai/models/responses/response_custom_tool_call_input_done_event.rbi +26 -15
  1367. data/rbi/openai/models/responses/response_custom_tool_call_item.rbi +78 -49
  1368. data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +115 -99
  1369. data/rbi/openai/models/responses/response_custom_tool_call_output_item.rbi +67 -49
  1370. data/rbi/openai/models/responses/response_delete_params.rbi +23 -10
  1371. data/rbi/openai/models/responses/response_error.rbi +55 -119
  1372. data/rbi/openai/models/responses/response_error_event.rbi +26 -15
  1373. data/rbi/openai/models/responses/response_failed_event.rbi +22 -13
  1374. data/rbi/openai/models/responses/response_file_search_call_completed_event.rbi +24 -14
  1375. data/rbi/openai/models/responses/response_file_search_call_in_progress_event.rbi +24 -14
  1376. data/rbi/openai/models/responses/response_file_search_call_searching_event.rbi +24 -14
  1377. data/rbi/openai/models/responses/response_file_search_tool_call.rbi +70 -112
  1378. data/rbi/openai/models/responses/response_format_text_config.rbi +12 -12
  1379. data/rbi/openai/models/responses/response_format_text_json_schema_config.rbi +25 -8
  1380. data/rbi/openai/models/responses/response_function_call_arguments_delta_event.rbi +26 -15
  1381. data/rbi/openai/models/responses/response_function_call_arguments_done_event.rbi +26 -8
  1382. data/rbi/openai/models/responses/response_function_call_output_item.rbi +12 -14
  1383. data/rbi/openai/models/responses/response_function_call_output_item_list.rbi +8 -7
  1384. data/rbi/openai/models/responses/response_function_shell_call_output_content.rbi +82 -50
  1385. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +130 -151
  1386. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +178 -159
  1387. data/rbi/openai/models/responses/response_function_tool_call.rbi +104 -98
  1388. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +78 -49
  1389. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +138 -147
  1390. data/rbi/openai/models/responses/response_function_web_search.rbi +127 -131
  1391. data/rbi/openai/models/responses/response_image_gen_call_completed_event.rbi +24 -14
  1392. data/rbi/openai/models/responses/response_image_gen_call_generating_event.rbi +24 -14
  1393. data/rbi/openai/models/responses/response_image_gen_call_in_progress_event.rbi +24 -14
  1394. data/rbi/openai/models/responses/response_image_gen_call_partial_image_event.rbi +80 -9
  1395. data/rbi/openai/models/responses/response_in_progress_event.rbi +22 -13
  1396. data/rbi/openai/models/responses/response_includable.rbi +35 -47
  1397. data/rbi/openai/models/responses/response_incomplete_event.rbi +22 -13
  1398. data/rbi/openai/models/responses/response_input.rbi +8 -7
  1399. data/rbi/openai/models/responses/response_input_audio.rbi +43 -65
  1400. data/rbi/openai/models/responses/response_input_content.rbi +12 -12
  1401. data/rbi/openai/models/responses/response_input_file.rbi +63 -70
  1402. data/rbi/openai/models/responses/response_input_file_content.rbi +71 -82
  1403. data/rbi/openai/models/responses/response_input_image.rbi +58 -65
  1404. data/rbi/openai/models/responses/response_input_image_content.rbi +67 -88
  1405. data/rbi/openai/models/responses/response_input_item.rbi +1275 -1478
  1406. data/rbi/openai/models/responses/response_input_message_content_list.rbi +8 -7
  1407. data/rbi/openai/models/responses/response_input_message_item.rbi +52 -99
  1408. data/rbi/openai/models/responses/response_input_text.rbi +48 -34
  1409. data/rbi/openai/models/responses/response_input_text_content.rbi +54 -39
  1410. data/rbi/openai/models/responses/response_item.rbi +385 -486
  1411. data/rbi/openai/models/responses/response_item_list.rbi +58 -42
  1412. data/rbi/openai/models/responses/response_local_environment.rbi +26 -9
  1413. data/rbi/openai/models/responses/response_mcp_call_arguments_delta_event.rbi +26 -15
  1414. data/rbi/openai/models/responses/response_mcp_call_arguments_done_event.rbi +26 -15
  1415. data/rbi/openai/models/responses/response_mcp_call_completed_event.rbi +24 -14
  1416. data/rbi/openai/models/responses/response_mcp_call_failed_event.rbi +24 -14
  1417. data/rbi/openai/models/responses/response_mcp_call_in_progress_event.rbi +24 -14
  1418. data/rbi/openai/models/responses/response_mcp_list_tools_completed_event.rbi +24 -14
  1419. data/rbi/openai/models/responses/response_mcp_list_tools_failed_event.rbi +24 -14
  1420. data/rbi/openai/models/responses/response_mcp_list_tools_in_progress_event.rbi +24 -14
  1421. data/rbi/openai/models/responses/response_output_audio.rbi +27 -10
  1422. data/rbi/openai/models/responses/response_output_item.rbi +413 -495
  1423. data/rbi/openai/models/responses/response_output_item_added_event.rbi +53 -39
  1424. data/rbi/openai/models/responses/response_output_item_done_event.rbi +53 -39
  1425. data/rbi/openai/models/responses/response_output_message.rbi +56 -114
  1426. data/rbi/openai/models/responses/response_output_refusal.rbi +29 -9
  1427. data/rbi/openai/models/responses/response_output_text.rbi +180 -136
  1428. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +130 -88
  1429. data/rbi/openai/models/responses/response_prompt.rbi +55 -45
  1430. data/rbi/openai/models/responses/response_queued_event.rbi +22 -13
  1431. data/rbi/openai/models/responses/response_reasoning_item.rbi +89 -94
  1432. data/rbi/openai/models/responses/response_reasoning_summary_part_added_event.rbi +55 -32
  1433. data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +71 -68
  1434. data/rbi/openai/models/responses/response_reasoning_summary_text_delta_event.rbi +27 -8
  1435. data/rbi/openai/models/responses/response_reasoning_summary_text_done_event.rbi +27 -8
  1436. data/rbi/openai/models/responses/response_reasoning_text_delta_event.rbi +27 -8
  1437. data/rbi/openai/models/responses/response_reasoning_text_done_event.rbi +27 -8
  1438. data/rbi/openai/models/responses/response_refusal_delta_event.rbi +27 -8
  1439. data/rbi/openai/models/responses/response_refusal_done_event.rbi +27 -8
  1440. data/rbi/openai/models/responses/response_retrieve_params.rbi +27 -20
  1441. data/rbi/openai/models/responses/response_shell_call_command_added_event.rbi +86 -0
  1442. data/rbi/openai/models/responses/response_shell_call_command_delta_event.rbi +105 -0
  1443. data/rbi/openai/models/responses/response_shell_call_command_done_event.rbi +86 -0
  1444. data/rbi/openai/models/responses/response_shell_call_output_content_delta_event.rbi +158 -0
  1445. data/rbi/openai/models/responses/response_shell_call_output_content_done_event.rbi +286 -0
  1446. data/rbi/openai/models/responses/response_status.rbi +10 -15
  1447. data/rbi/openai/models/responses/response_stream_event.rbi +67 -62
  1448. data/rbi/openai/models/responses/response_text_config.rbi +48 -72
  1449. data/rbi/openai/models/responses/response_text_delta_event.rbi +75 -59
  1450. data/rbi/openai/models/responses/response_text_done_event.rbi +75 -59
  1451. data/rbi/openai/models/responses/response_tool_search_call.rbi +45 -76
  1452. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +66 -102
  1453. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +93 -139
  1454. data/rbi/openai/models/responses/response_usage.rbi +69 -44
  1455. data/rbi/openai/models/responses/response_web_search_call_completed_event.rbi +24 -14
  1456. data/rbi/openai/models/responses/response_web_search_call_in_progress_event.rbi +24 -14
  1457. data/rbi/openai/models/responses/response_web_search_call_searching_event.rbi +24 -14
  1458. data/rbi/openai/models/responses/responses_client_event.rbi +462 -731
  1459. data/rbi/openai/models/responses/responses_server_event.rbi +2060 -1103
  1460. data/rbi/openai/models/responses/skill_reference.rbi +27 -7
  1461. data/rbi/openai/models/responses/tool.rbi +535 -941
  1462. data/rbi/openai/models/responses/tool_choice_allowed.rbi +26 -28
  1463. data/rbi/openai/models/responses/tool_choice_apply_patch.rbi +26 -9
  1464. data/rbi/openai/models/responses/tool_choice_custom.rbi +29 -9
  1465. data/rbi/openai/models/responses/tool_choice_function.rbi +29 -9
  1466. data/rbi/openai/models/responses/tool_choice_mcp.rbi +22 -6
  1467. data/rbi/openai/models/responses/tool_choice_options.rbi +7 -9
  1468. data/rbi/openai/models/responses/tool_choice_shell.rbi +26 -6
  1469. data/rbi/openai/models/responses/tool_choice_types.rbi +32 -56
  1470. data/rbi/openai/models/responses/tool_search_tool.rbi +30 -37
  1471. data/rbi/openai/models/responses/web_search_preview_tool.rbi +74 -151
  1472. data/rbi/openai/models/responses/web_search_tool.rbi +87 -143
  1473. data/rbi/openai/models/responses_model.rbi +52 -112
  1474. data/rbi/openai/models/skill.rbi +27 -2
  1475. data/rbi/openai/models/skill_create_params.rbi +23 -17
  1476. data/rbi/openai/models/skill_delete_params.rbi +21 -7
  1477. data/rbi/openai/models/skill_list.rbi +23 -3
  1478. data/rbi/openai/models/skill_list_params.rbi +22 -12
  1479. data/rbi/openai/models/skill_retrieve_params.rbi +21 -7
  1480. data/rbi/openai/models/skill_update_params.rbi +19 -10
  1481. data/rbi/openai/models/skills/content_retrieve_params.rbi +23 -10
  1482. data/rbi/openai/models/skills/deleted_skill_version.rbi +23 -9
  1483. data/rbi/openai/models/skills/skill_version.rbi +29 -5
  1484. data/rbi/openai/models/skills/skill_version_list.rbi +25 -5
  1485. data/rbi/openai/models/skills/version_create_params.rbi +30 -30
  1486. data/rbi/openai/models/skills/version_delete_params.rbi +21 -13
  1487. data/rbi/openai/models/skills/version_list_params.rbi +30 -24
  1488. data/rbi/openai/models/skills/version_retrieve_params.rbi +21 -13
  1489. data/rbi/openai/models/skills/versions/content_retrieve_params.rbi +23 -13
  1490. data/rbi/openai/models/static_file_chunking_strategy.rbi +18 -6
  1491. data/rbi/openai/models/static_file_chunking_strategy_object.rbi +18 -9
  1492. data/rbi/openai/models/static_file_chunking_strategy_object_param.rbi +18 -9
  1493. data/rbi/openai/models/upload.rbi +31 -2
  1494. data/rbi/openai/models/upload_cancel_params.rbi +21 -7
  1495. data/rbi/openai/models/upload_complete_params.rbi +21 -11
  1496. data/rbi/openai/models/upload_create_params.rbi +47 -19
  1497. data/rbi/openai/models/uploads/part_create_params.rbi +21 -10
  1498. data/rbi/openai/models/uploads/upload_part.rbi +24 -11
  1499. data/rbi/openai/models/vector_store.rbi +84 -31
  1500. data/rbi/openai/models/vector_store_create_params.rbi +70 -47
  1501. data/rbi/openai/models/vector_store_delete_params.rbi +21 -7
  1502. data/rbi/openai/models/vector_store_deleted.rbi +29 -8
  1503. data/rbi/openai/models/vector_store_list_params.rbi +24 -12
  1504. data/rbi/openai/models/vector_store_retrieve_params.rbi +21 -7
  1505. data/rbi/openai/models/vector_store_search_params.rbi +66 -112
  1506. data/rbi/openai/models/vector_store_search_response.rbi +51 -88
  1507. data/rbi/openai/models/vector_store_update_params.rbi +49 -24
  1508. data/rbi/openai/models/vector_stores/file_batch_cancel_params.rbi +26 -14
  1509. data/rbi/openai/models/vector_stores/file_batch_create_params.rbi +99 -151
  1510. data/rbi/openai/models/vector_stores/file_batch_list_files_params.rbi +50 -102
  1511. data/rbi/openai/models/vector_stores/file_batch_retrieve_params.rbi +26 -14
  1512. data/rbi/openai/models/vector_stores/file_content_params.rbi +26 -14
  1513. data/rbi/openai/models/vector_stores/file_content_response.rbi +29 -9
  1514. data/rbi/openai/models/vector_stores/file_create_params.rbi +48 -65
  1515. data/rbi/openai/models/vector_stores/file_delete_params.rbi +26 -14
  1516. data/rbi/openai/models/vector_stores/file_list_params.rbi +44 -82
  1517. data/rbi/openai/models/vector_stores/file_retrieve_params.rbi +26 -14
  1518. data/rbi/openai/models/vector_stores/file_update_params.rbi +27 -39
  1519. data/rbi/openai/models/vector_stores/vector_store_file.rbi +87 -155
  1520. data/rbi/openai/models/vector_stores/vector_store_file_batch.rbi +60 -73
  1521. data/rbi/openai/models/vector_stores/vector_store_file_deleted.rbi +31 -11
  1522. data/rbi/openai/models/video.rbi +41 -4
  1523. data/rbi/openai/models/video_create_character_params.rbi +19 -10
  1524. data/rbi/openai/models/video_create_character_response.rbi +20 -13
  1525. data/rbi/openai/models/video_create_error.rbi +27 -6
  1526. data/rbi/openai/models/video_create_params.rbi +33 -38
  1527. data/rbi/openai/models/video_delete_params.rbi +21 -7
  1528. data/rbi/openai/models/video_delete_response.rbi +25 -7
  1529. data/rbi/openai/models/video_download_content_params.rbi +26 -40
  1530. data/rbi/openai/models/video_edit_params.rbi +44 -41
  1531. data/rbi/openai/models/video_extend_params.rbi +46 -41
  1532. data/rbi/openai/models/video_get_character_params.rbi +21 -7
  1533. data/rbi/openai/models/video_get_character_response.rbi +20 -13
  1534. data/rbi/openai/models/video_list_params.rbi +22 -12
  1535. data/rbi/openai/models/video_model.rbi +16 -9
  1536. data/rbi/openai/models/video_remix_params.rbi +19 -10
  1537. data/rbi/openai/models/video_retrieve_params.rbi +21 -7
  1538. data/rbi/openai/models/video_seconds.rbi +2 -0
  1539. data/rbi/openai/models/video_size.rbi +4 -4
  1540. data/rbi/openai/models/webhooks/batch_cancelled_webhook_event.rbi +54 -58
  1541. data/rbi/openai/models/webhooks/batch_completed_webhook_event.rbi +54 -58
  1542. data/rbi/openai/models/webhooks/batch_expired_webhook_event.rbi +54 -54
  1543. data/rbi/openai/models/webhooks/batch_failed_webhook_event.rbi +53 -52
  1544. data/rbi/openai/models/webhooks/eval_run_canceled_webhook_event.rbi +54 -58
  1545. data/rbi/openai/models/webhooks/eval_run_failed_webhook_event.rbi +54 -55
  1546. data/rbi/openai/models/webhooks/eval_run_succeeded_webhook_event.rbi +54 -58
  1547. data/rbi/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbi +58 -64
  1548. data/rbi/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbi +55 -61
  1549. data/rbi/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbi +58 -64
  1550. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +71 -81
  1551. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +73 -87
  1552. data/rbi/openai/models/webhooks/response_cancelled_webhook_event.rbi +54 -58
  1553. data/rbi/openai/models/webhooks/response_completed_webhook_event.rbi +54 -58
  1554. data/rbi/openai/models/webhooks/response_failed_webhook_event.rbi +54 -58
  1555. data/rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi +55 -60
  1556. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +25 -25
  1557. data/rbi/openai/models/webhooks/webhook_unwrap_params.rbi +13 -8
  1558. data/rbi/openai/models.rbi +8 -12
  1559. data/rbi/openai/net_http_client.rbi +25 -9
  1560. data/rbi/openai/providers.rbi +6 -3
  1561. data/rbi/openai/request_options.rbi +2 -2
  1562. data/rbi/openai/resources/admin/organization/admin_api_keys.rbi +22 -27
  1563. data/rbi/openai/resources/admin/organization/audit_logs.rbi +14 -12
  1564. data/rbi/openai/resources/admin/organization/certificates.rbi +39 -53
  1565. data/rbi/openai/resources/admin/organization/data_retention.rbi +14 -7
  1566. data/rbi/openai/resources/admin/organization/groups/roles.rbi +24 -29
  1567. data/rbi/openai/resources/admin/organization/groups/users.rbi +22 -29
  1568. data/rbi/openai/resources/admin/organization/groups.rbi +31 -33
  1569. data/rbi/openai/resources/admin/organization/invites.rbi +27 -31
  1570. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +21 -22
  1571. data/rbi/openai/resources/admin/organization/projects/certificates.rbi +27 -20
  1572. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +16 -12
  1573. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +28 -20
  1574. data/rbi/openai/resources/admin/organization/projects/groups.rbi +26 -28
  1575. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +28 -30
  1576. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +19 -18
  1577. data/rbi/openai/resources/admin/organization/projects/rate_limits.rbi +18 -9
  1578. data/rbi/openai/resources/admin/organization/projects/roles.rbi +29 -28
  1579. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +14 -4
  1580. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +31 -45
  1581. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +33 -42
  1582. data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +20 -20
  1583. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +28 -20
  1584. data/rbi/openai/resources/admin/organization/projects/users.rbi +30 -37
  1585. data/rbi/openai/resources/admin/organization/projects.rbi +51 -78
  1586. data/rbi/openai/resources/admin/organization/roles.rbi +29 -26
  1587. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +33 -38
  1588. data/rbi/openai/resources/admin/organization/spend_limit.rbi +17 -11
  1589. data/rbi/openai/resources/admin/organization/usage.rbi +67 -120
  1590. data/rbi/openai/resources/admin/organization/users/roles.rbi +22 -29
  1591. data/rbi/openai/resources/admin/organization/users.rbi +24 -21
  1592. data/rbi/openai/resources/admin/organization.rbi +5 -0
  1593. data/rbi/openai/resources/admin.rbi +3 -0
  1594. data/rbi/openai/resources/audio/speech.rbi +16 -13
  1595. data/rbi/openai/resources/audio/transcriptions.rbi +19 -32
  1596. data/rbi/openai/resources/audio/translations.rbi +10 -5
  1597. data/rbi/openai/resources/audio.rbi +3 -0
  1598. data/rbi/openai/resources/batches.rbi +16 -26
  1599. data/rbi/openai/resources/beta/assistants.rbi +58 -68
  1600. data/rbi/openai/resources/beta/chatkit/sessions.rbi +19 -15
  1601. data/rbi/openai/resources/beta/chatkit/threads.rbi +26 -26
  1602. data/rbi/openai/resources/beta/chatkit.rbi +5 -0
  1603. data/rbi/openai/resources/beta/responses/input_items.rbi +12 -12
  1604. data/rbi/openai/resources/beta/responses/input_tokens.rbi +51 -68
  1605. data/rbi/openai/resources/beta/responses.rbi +131 -210
  1606. data/rbi/openai/resources/beta/threads/messages.rbi +30 -32
  1607. data/rbi/openai/resources/beta/threads/runs/steps.rbi +19 -19
  1608. data/rbi/openai/resources/beta/threads/runs.rbi +93 -118
  1609. data/rbi/openai/resources/beta/threads.rbi +71 -101
  1610. data/rbi/openai/resources/beta.rbi +3 -0
  1611. data/rbi/openai/resources/chat/completions/messages.rbi +11 -8
  1612. data/rbi/openai/resources/chat/completions.rbi +99 -147
  1613. data/rbi/openai/resources/chat.rbi +3 -0
  1614. data/rbi/openai/resources/completions.rbi +13 -10
  1615. data/rbi/openai/resources/containers/files/content.rbi +12 -7
  1616. data/rbi/openai/resources/containers/files.rbi +18 -23
  1617. data/rbi/openai/resources/containers.rbi +21 -31
  1618. data/rbi/openai/resources/content_provenance_checks.rbi +8 -6
  1619. data/rbi/openai/resources/conversations/items.rbi +57 -56
  1620. data/rbi/openai/resources/conversations.rbi +59 -57
  1621. data/rbi/openai/resources/embeddings.rbi +8 -5
  1622. data/rbi/openai/resources/evals/runs/output_items.rbi +15 -11
  1623. data/rbi/openai/resources/evals/runs.rbi +32 -34
  1624. data/rbi/openai/resources/evals.rbi +37 -37
  1625. data/rbi/openai/resources/files.rbi +29 -21
  1626. data/rbi/openai/resources/fine_tuning/alpha/graders.rbi +29 -22
  1627. data/rbi/openai/resources/fine_tuning/alpha.rbi +5 -0
  1628. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +25 -24
  1629. data/rbi/openai/resources/fine_tuning/checkpoints.rbi +5 -0
  1630. data/rbi/openai/resources/fine_tuning/jobs/checkpoints.rbi +10 -6
  1631. data/rbi/openai/resources/fine_tuning/jobs.rbi +38 -48
  1632. data/rbi/openai/resources/fine_tuning/methods.rbi +5 -0
  1633. data/rbi/openai/resources/fine_tuning.rbi +3 -0
  1634. data/rbi/openai/resources/graders/grader_models.rbi +5 -0
  1635. data/rbi/openai/resources/graders.rbi +3 -0
  1636. data/rbi/openai/resources/images.rbi +64 -105
  1637. data/rbi/openai/resources/models.rbi +6 -17
  1638. data/rbi/openai/resources/moderations.rbi +7 -3
  1639. data/rbi/openai/resources/realtime/calls.rbi +49 -60
  1640. data/rbi/openai/resources/realtime/client_secrets.rbi +14 -10
  1641. data/rbi/openai/resources/realtime.rbi +3 -0
  1642. data/rbi/openai/resources/responses/input_items.rbi +8 -6
  1643. data/rbi/openai/resources/responses/input_tokens.rbi +47 -58
  1644. data/rbi/openai/resources/responses.rbi +162 -259
  1645. data/rbi/openai/resources/skills/content.rbi +6 -6
  1646. data/rbi/openai/resources/skills/versions/content.rbi +10 -7
  1647. data/rbi/openai/resources/skills/versions.rbi +23 -20
  1648. data/rbi/openai/resources/skills.rbi +18 -28
  1649. data/rbi/openai/resources/uploads/parts.rbi +9 -7
  1650. data/rbi/openai/resources/uploads.rbi +12 -12
  1651. data/rbi/openai/resources/vector_stores/file_batches.rbi +119 -37
  1652. data/rbi/openai/resources/vector_stores/files.rbi +138 -42
  1653. data/rbi/openai/resources/vector_stores.rbi +33 -39
  1654. data/rbi/openai/resources/videos.rbi +44 -62
  1655. data/rbi/openai/resources/webhooks.rbi +35 -30
  1656. data/rbi/openai/streaming.rbi +8 -14
  1657. data/realtime.md +499 -0
  1658. data/sig/openai/auth/x509_token_exchange.rbs +19 -0
  1659. data/sig/openai/auth/x509_transport.rbs +34 -0
  1660. data/sig/openai/auth/x509_workload_identity.rbs +24 -0
  1661. data/sig/openai/auth.rbs +42 -0
  1662. data/sig/openai/client.rbs +48 -2
  1663. data/sig/openai/errors.rbs +11 -0
  1664. data/sig/openai/file_part.rbs +9 -0
  1665. data/sig/openai/helpers/client_options.rbs +19 -0
  1666. data/sig/openai/helpers/data_residency.rbs +16 -0
  1667. data/sig/openai/helpers/realtime/connection.rbs +45 -0
  1668. data/sig/openai/helpers/realtime/connection_manager.rbs +21 -0
  1669. data/sig/openai/helpers/realtime/connection_resources.rbs +50 -0
  1670. data/sig/openai/helpers/realtime/extensions.rbs +83 -0
  1671. data/sig/openai/helpers/realtime/sideband_connection.rbs +12 -0
  1672. data/sig/openai/helpers/realtime/transports/async_websocket.rbs +37 -0
  1673. data/sig/openai/helpers/realtime/unknown_server_event.rbs +14 -0
  1674. data/sig/openai/helpers/resource_polling.rbs +31 -0
  1675. data/sig/openai/helpers/sorbet.rbs +54 -0
  1676. data/sig/openai/helpers/streaming/response_event_decoder.rbs +16 -0
  1677. data/sig/openai/helpers/streaming/unknown_stream_event.rbs +15 -0
  1678. data/sig/openai/helpers/structured_output/chat_completion_parser.rbs +21 -0
  1679. data/sig/openai/helpers/structured_output/response_parser.rbs +17 -0
  1680. data/sig/openai/internal/poller.rbs +31 -0
  1681. data/sig/openai/internal/provider.rbs +1 -3
  1682. data/sig/openai/internal/request_options_scope.rbs +9 -0
  1683. data/sig/openai/internal/transport/base_client.rbs +10 -0
  1684. data/sig/openai/internal/type/converter.rbs +7 -1
  1685. data/sig/openai/internal/vector_store_file_uploader.rbs +18 -0
  1686. data/sig/openai/models/admin/organization/admin_api_key_create_response.rbs +34 -3
  1687. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
  1688. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
  1689. data/sig/openai/models/admin/organization/cost_quantity_unit.rbs +33 -0
  1690. data/sig/openai/models/admin/organization/project.rbs +9 -0
  1691. data/sig/openai/models/admin/organization/project_create_params.rbs +10 -1
  1692. data/sig/openai/models/admin/organization/project_residency.rbs +40 -0
  1693. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +7 -2
  1694. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +7 -2
  1695. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +7 -2
  1696. data/sig/openai/models/admin/organization/usage_completions_response.rbs +7 -2
  1697. data/sig/openai/models/admin/organization/usage_costs_response.rbs +7 -2
  1698. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +7 -2
  1699. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +7 -2
  1700. data/sig/openai/models/admin/organization/usage_images_response.rbs +7 -2
  1701. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +7 -2
  1702. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +7 -2
  1703. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +7 -2
  1704. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +22 -1
  1705. data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +16 -1
  1706. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +22 -1
  1707. data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +7 -5
  1708. data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +30 -2
  1709. data/sig/openai/models/beta/beta_response_input_item.rbs +5 -5
  1710. data/sig/openai/models/beta/beta_response_shell_call_command_added_event.rbs +63 -0
  1711. data/sig/openai/models/beta/beta_response_shell_call_command_delta_event.rbs +70 -0
  1712. data/sig/openai/models/beta/beta_response_shell_call_command_done_event.rbs +63 -0
  1713. data/sig/openai/models/beta/beta_response_shell_call_output_content_delta_event.rbs +84 -0
  1714. data/sig/openai/models/beta/beta_response_shell_call_output_content_done_event.rbs +134 -0
  1715. data/sig/openai/models/beta/beta_response_stream_event.rbs +5 -0
  1716. data/sig/openai/models/beta/beta_responses_server_event.rbs +318 -107
  1717. data/sig/openai/models/chat/chat_completion.rbs +5 -0
  1718. data/sig/openai/models/chat/chat_completion_chunk.rbs +7 -0
  1719. data/sig/openai/models/chat/chat_completion_store_message.rbs +22 -1
  1720. data/sig/openai/models/eval_create_params.rbs +75 -9
  1721. data/sig/openai/models/eval_create_response.rbs +75 -9
  1722. data/sig/openai/models/eval_list_response.rbs +75 -9
  1723. data/sig/openai/models/eval_retrieve_response.rbs +75 -9
  1724. data/sig/openai/models/eval_update_response.rbs +75 -9
  1725. data/sig/openai/models/realtime/call_accept_params.rbs +46 -1
  1726. data/sig/openai/models/realtime/call_create_params.rbs +34 -0
  1727. data/sig/openai/models/responses/response.rbs +2 -0
  1728. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +19 -1
  1729. data/sig/openai/models/responses/response_custom_tool_call_output_item.rbs +13 -1
  1730. data/sig/openai/models/responses/response_function_tool_call_item.rbs +19 -1
  1731. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +7 -5
  1732. data/sig/openai/models/responses/response_image_gen_call_partial_image_event.rbs +30 -2
  1733. data/sig/openai/models/responses/response_input_item.rbs +5 -5
  1734. data/sig/openai/models/responses/response_shell_call_command_added_event.rbs +42 -0
  1735. data/sig/openai/models/responses/response_shell_call_command_delta_event.rbs +49 -0
  1736. data/sig/openai/models/responses/response_shell_call_command_done_event.rbs +42 -0
  1737. data/sig/openai/models/responses/response_shell_call_output_content_delta_event.rbs +63 -0
  1738. data/sig/openai/models/responses/response_shell_call_output_content_done_event.rbs +113 -0
  1739. data/sig/openai/models/responses/response_stream_event.rbs +5 -0
  1740. data/sig/openai/models/responses/responses_server_event.rbs +303 -107
  1741. data/sig/openai/net_http_client.rbs +11 -3
  1742. data/sig/openai/resources/admin/organization/projects.rbs +1 -0
  1743. data/sig/openai/resources/beta/responses.rbs +4 -2
  1744. data/sig/openai/resources/files.rbs +7 -0
  1745. data/sig/openai/resources/realtime/calls.rbs +6 -0
  1746. data/sig/openai/resources/responses.rbs +6 -3
  1747. data/sig/openai/resources/vector_stores/file_batches.rbs +31 -0
  1748. data/sig/openai/resources/vector_stores/files.rbs +36 -0
  1749. data/sig/openai/streaming.rbs +5 -0
  1750. metadata +121 -29
@@ -2,61 +2,65 @@
2
2
 
3
3
  module OpenAI
4
4
  module Resources
5
+
5
6
  class Webhooks
7
+
6
8
  # Validates that the given payload was sent by OpenAI and parses the payload.
7
- sig do
9
+ sig {
8
10
  params(
9
11
  payload: String,
10
12
  headers: T.nilable(T::Hash[T.any(String, Symbol), String]),
11
13
  webhook_secret: T.nilable(String)
12
- ).returns(
13
- T.any(
14
- OpenAI::Webhooks::BatchCancelledWebhookEvent,
15
- OpenAI::Webhooks::BatchCompletedWebhookEvent,
16
- OpenAI::Webhooks::BatchExpiredWebhookEvent,
17
- OpenAI::Webhooks::BatchFailedWebhookEvent,
18
- OpenAI::Webhooks::EvalRunCanceledWebhookEvent,
19
- OpenAI::Webhooks::EvalRunFailedWebhookEvent,
20
- OpenAI::Webhooks::EvalRunSucceededWebhookEvent,
21
- OpenAI::Webhooks::FineTuningJobCancelledWebhookEvent,
22
- OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
23
- OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
24
- OpenAI::Webhooks::LiveCallIncomingWebhookEvent,
25
- OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
26
- OpenAI::Webhooks::ResponseCancelledWebhookEvent,
27
- OpenAI::Webhooks::ResponseCompletedWebhookEvent,
28
- OpenAI::Webhooks::ResponseFailedWebhookEvent,
29
- OpenAI::Webhooks::ResponseIncompleteWebhookEvent
30
- )
31
14
  )
32
- end
15
+ .returns(
16
+ T.any(
17
+ OpenAI::Webhooks::BatchCancelledWebhookEvent,
18
+ OpenAI::Webhooks::BatchCompletedWebhookEvent,
19
+ OpenAI::Webhooks::BatchExpiredWebhookEvent,
20
+ OpenAI::Webhooks::BatchFailedWebhookEvent,
21
+ OpenAI::Webhooks::EvalRunCanceledWebhookEvent,
22
+ OpenAI::Webhooks::EvalRunFailedWebhookEvent,
23
+ OpenAI::Webhooks::EvalRunSucceededWebhookEvent,
24
+ OpenAI::Webhooks::FineTuningJobCancelledWebhookEvent,
25
+ OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
26
+ OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
27
+ OpenAI::Webhooks::LiveCallIncomingWebhookEvent,
28
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
29
+ OpenAI::Webhooks::ResponseCancelledWebhookEvent,
30
+ OpenAI::Webhooks::ResponseCompletedWebhookEvent,
31
+ OpenAI::Webhooks::ResponseFailedWebhookEvent,
32
+ OpenAI::Webhooks::ResponseIncompleteWebhookEvent
33
+ )
34
+ )
35
+ }
33
36
  def unwrap(
34
37
  # The raw webhook payload as a string
35
38
  payload,
36
- # The webhook headers
39
+ # The raw HTTP headers that came with the payload
37
40
  headers = {},
38
- # The webhook secret (optional, will use ENV["OPENAI_WEBHOOK_SECRET"] if not provided)
41
+ # The webhook signing key
39
42
  webhook_secret = nil
40
43
  )
41
44
  end
42
45
 
43
46
  # Validates whether or not the webhook payload was sent by OpenAI.
44
- sig do
47
+ sig {
45
48
  params(
46
49
  payload: String,
47
50
  headers: T::Hash[T.any(String, Symbol), String],
48
51
  webhook_secret: T.nilable(String),
49
52
  tolerance: Integer
50
- ).void
51
- end
53
+ )
54
+ .void
55
+ }
52
56
  def verify_signature(
53
- # The webhook payload as a string
57
+ # The raw webhook payload as a string
54
58
  payload,
55
- # The webhook headers
59
+ # The raw HTTP headers that came with the payload
56
60
  headers,
57
- # The webhook secret (optional, will use ENV["OPENAI_WEBHOOK_SECRET"] if not provided)
61
+ # The webhook signing key
58
62
  webhook_secret = nil,
59
- # Maximum age of the webhook in seconds (default: 300 = 5 minutes)
63
+ # Maximum age of the webhook in seconds
60
64
  tolerance = 300
61
65
  )
62
66
  end
@@ -66,5 +70,6 @@ module OpenAI
66
70
  def self.new(client:)
67
71
  end
68
72
  end
73
+
69
74
  end
70
75
  end
@@ -4,27 +4,21 @@ module OpenAI
4
4
  module Streaming
5
5
  ResponseTextDeltaEvent = OpenAI::Helpers::Streaming::ResponseTextDeltaEvent
6
6
  ResponseTextDoneEvent = OpenAI::Helpers::Streaming::ResponseTextDoneEvent
7
- ResponseFunctionCallArgumentsDeltaEvent =
8
- OpenAI::Helpers::Streaming::ResponseFunctionCallArgumentsDeltaEvent
7
+ ResponseFunctionCallArgumentsDeltaEvent = OpenAI::Helpers::Streaming::ResponseFunctionCallArgumentsDeltaEvent
9
8
  ResponseCompletedEvent = OpenAI::Helpers::Streaming::ResponseCompletedEvent
9
+ UnknownStreamEvent = OpenAI::Helpers::Streaming::UnknownStreamEvent
10
10
 
11
11
  ChatChunkEvent = OpenAI::Helpers::Streaming::ChatChunkEvent
12
12
  ChatContentDeltaEvent = OpenAI::Helpers::Streaming::ChatContentDeltaEvent
13
13
  ChatContentDoneEvent = OpenAI::Helpers::Streaming::ChatContentDoneEvent
14
14
  ChatRefusalDeltaEvent = OpenAI::Helpers::Streaming::ChatRefusalDeltaEvent
15
15
  ChatRefusalDoneEvent = OpenAI::Helpers::Streaming::ChatRefusalDoneEvent
16
- ChatFunctionToolCallArgumentsDeltaEvent =
17
- OpenAI::Helpers::Streaming::ChatFunctionToolCallArgumentsDeltaEvent
18
- ChatFunctionToolCallArgumentsDoneEvent =
19
- OpenAI::Helpers::Streaming::ChatFunctionToolCallArgumentsDoneEvent
20
- ChatLogprobsContentDeltaEvent =
21
- OpenAI::Helpers::Streaming::ChatLogprobsContentDeltaEvent
22
- ChatLogprobsContentDoneEvent =
23
- OpenAI::Helpers::Streaming::ChatLogprobsContentDoneEvent
24
- ChatLogprobsRefusalDeltaEvent =
25
- OpenAI::Helpers::Streaming::ChatLogprobsRefusalDeltaEvent
26
- ChatLogprobsRefusalDoneEvent =
27
- OpenAI::Helpers::Streaming::ChatLogprobsRefusalDoneEvent
16
+ ChatFunctionToolCallArgumentsDeltaEvent = OpenAI::Helpers::Streaming::ChatFunctionToolCallArgumentsDeltaEvent
17
+ ChatFunctionToolCallArgumentsDoneEvent = OpenAI::Helpers::Streaming::ChatFunctionToolCallArgumentsDoneEvent
18
+ ChatLogprobsContentDeltaEvent = OpenAI::Helpers::Streaming::ChatLogprobsContentDeltaEvent
19
+ ChatLogprobsContentDoneEvent = OpenAI::Helpers::Streaming::ChatLogprobsContentDoneEvent
20
+ ChatLogprobsRefusalDeltaEvent = OpenAI::Helpers::Streaming::ChatLogprobsRefusalDeltaEvent
21
+ ChatLogprobsRefusalDoneEvent = OpenAI::Helpers::Streaming::ChatLogprobsRefusalDoneEvent
28
22
 
29
23
  ResponseStream = OpenAI::Helpers::Streaming::ResponseStream
30
24
  ChatCompletionStream = OpenAI::Helpers::Streaming::ChatCompletionStream
data/realtime.md ADDED
@@ -0,0 +1,499 @@
1
+ # Realtime WebSockets
2
+
3
+ The Ruby SDK provides a typed, block-scoped WebSocket client for server-side
4
+ Realtime text sessions, committed-turn transcription, and one-turn voice
5
+ workflows, plus sideband control of existing WebRTC or SIP calls. The
6
+ implementation stays at one cohesive boundary: authenticated WebSocket
7
+ connection setup, protocol event validation, deterministic cleanup, and
8
+ synchronous event flow.
9
+
10
+ ## Installation
11
+
12
+ WebSocket support uses an optional adapter so applications that only use HTTP
13
+ do not acquire an event-loop dependency:
14
+
15
+ ```ruby
16
+ gem "openai"
17
+ gem "async-websocket"
18
+ ```
19
+
20
+ The adapter works inside or outside an existing Async reactor. Applications may
21
+ also inject a compatible transport, as described below.
22
+
23
+ ## Start a text session
24
+
25
+ `connect` requires a block. The connection is valid only inside that block:
26
+
27
+ ```ruby
28
+ require "openai"
29
+
30
+ client = OpenAI::Client.new
31
+
32
+ client.realtime.connect(model: "gpt-realtime-2.1") do |connection|
33
+ connection.session.update(
34
+ type: :realtime,
35
+ output_modalities: [:text],
36
+ instructions: "Be concise."
37
+ )
38
+
39
+ connection.conversation.items.create(
40
+ type: :message,
41
+ role: :user,
42
+ content: [{type: :input_text, text: "Hello"}]
43
+ )
44
+ connection.response.create
45
+
46
+ connection.each do |event|
47
+ case event
48
+ when OpenAI::Realtime::ResponseTextDeltaEvent
49
+ print(event.delta)
50
+ when OpenAI::Realtime::ResponseDoneEvent
51
+ unless event.response.status == :completed
52
+ raise "Response ended with #{event.response.status.inspect}"
53
+ end
54
+ break
55
+ when OpenAI::Realtime::RealtimeErrorEvent
56
+ raise "Realtime API error."
57
+ end
58
+ end
59
+ end
60
+ ```
61
+
62
+ The resource helpers accept Ruby keyword arguments and add protocol envelopes
63
+ internally:
64
+
65
+ - `session.update(type:, output_modalities:, instructions:, ...)`
66
+ - `conversation.items.create(type:, role:, content:, ...)`
67
+ - `conversation.items.retrieve(item_id:)`, `delete(item_id:)`, and
68
+ `truncate(item_id:, content_index:, audio_end_ms:)`
69
+ - `response.create(...)` and `response.cancel(...)`
70
+ - `input_audio_buffer.append(audio:)`, `append_bytes(bytes)`, `commit`, and
71
+ `clear`
72
+
73
+ For lower-level protocol work, `send_event` accepts a generated client-event
74
+ shape, while `receive`, `each`, and `parse_event` return generated server-event
75
+ types. Invalid client events raise `ArgumentError` with a generic public
76
+ message; the converter error remains available through `cause` for explicit
77
+ inspection. `send_raw` and `receive_raw` are text-frame escape hatches.
78
+
79
+ ## Standard text workflows
80
+
81
+ The same generic helpers cover local function results, image content, and MCP
82
+ approval responses; these workflows do not require additional convenience
83
+ methods on the production client.
84
+
85
+ ### Local function calling
86
+
87
+ Configure the session with one function, `parallel_tool_calls: false`, and a
88
+ forced function `tool_choice`. After sending a prompt and creating the first
89
+ response, require a `ResponseFunctionCallArgumentsDoneEvent` whose
90
+ `response_id` matches the first completed `ResponseDoneEvent`. Validate the
91
+ function name and parsed JSON before executing local code:
92
+
93
+ ```ruby
94
+ connection.conversation.items.create(
95
+ type: :function_call_output,
96
+ call_id: function_event.call_id,
97
+ output: JSON.generate(result)
98
+ )
99
+ connection.response.create(tool_choice: :none)
100
+ ```
101
+
102
+ The runnable [`function_calling.rb`](examples/realtime/function_calling.rb)
103
+ example implements the full two-response state machine and requires non-empty
104
+ text in the completed final `response.done` payload.
105
+
106
+ ### Image input
107
+
108
+ Validate an image in your application before calling `connect`, then use a
109
+ normal user message with image and text content:
110
+
111
+ ```ruby
112
+ connection.conversation.items.create(
113
+ type: :message,
114
+ role: :user,
115
+ content: [
116
+ {type: :input_image, image_url: "data:image/png;base64,#{encoded_image}"},
117
+ {type: :input_text, text: "Describe the image."}
118
+ ]
119
+ )
120
+ connection.response.create
121
+ ```
122
+
123
+ The runnable [`image_input.rb`](examples/realtime/image_input.rb) accepts an
124
+ application-validated PNG or JPEG base64 data URI. The application owns image
125
+ fetching, decoding, media-type checks, size limits, and data-URI creation. The
126
+ example intentionally does not duplicate an image decoder; it keeps image data,
127
+ prompts, and response text out of diagnostics and requires non-empty text in a
128
+ completed response.
129
+
130
+ ### MCP approval
131
+
132
+ MCP tool discovery is complete only after both `McpListToolsCompleted` and the
133
+ matching `ConversationItemDone` containing `RealtimeMcpListTools` arrive. Their
134
+ order is not guaranteed. Select a tool from that finalized list, force it in
135
+ `response.create`, then answer the matching approval request through the
136
+ generic item helper:
137
+
138
+ ```ruby
139
+ approved = true.equal?(
140
+ application_policy.call(
141
+ server_label: approval_request.server_label,
142
+ tool_name: approval_request.name,
143
+ arguments: approval_request.arguments
144
+ )
145
+ )
146
+ connection.conversation.items.create(
147
+ type: :mcp_approval_response,
148
+ id: approval_response_id,
149
+ approval_request_id: approval_request.id,
150
+ approve: approved,
151
+ reason: "Decided by application policy."
152
+ )
153
+ ```
154
+
155
+ After the correlated MCP call and first response both complete, request a
156
+ follow-up with `tool_choice: :none`. The runnable
157
+ [`mcp_approval.rb`](examples/realtime/mcp_approval.rb) demonstrates the full
158
+ ordering-tolerant lifecycle, takes its MCP server URL from the caller rather
159
+ than embedding an endpoint, and denies approval unless a caller-provided policy
160
+ returns literal `true`. Server- and model-originated values are inputs to that
161
+ policy, not authorization by themselves. Before submitting approval, it also
162
+ requires the approval request's argument string to equal the completed generated
163
+ arguments; the finalized MCP call must retain those same arguments before its
164
+ completion is accepted.
165
+
166
+ ## Transcribe one committed audio turn
167
+
168
+ Use `connect_transcription` for the dedicated transcription handshake. Select
169
+ the model in a `type: :transcription` session update, append 24 kHz mono PCM16
170
+ audio, and explicitly commit the buffered turn:
171
+
172
+ ```ruby
173
+ File.open("speech.pcm", "rb") do |input|
174
+ client.realtime.connect_transcription do |connection|
175
+ connection.session.update(
176
+ type: :transcription,
177
+ audio: {
178
+ input: {
179
+ format: {type: :"audio/pcm", rate: 24_000},
180
+ transcription: {model: "gpt-transcribe"},
181
+ turn_detection: nil
182
+ }
183
+ }
184
+ )
185
+
186
+ while (chunk = input.read(9_600))
187
+ connection.input_audio_buffer.append_bytes(chunk)
188
+ end
189
+ connection.input_audio_buffer.commit
190
+
191
+ committed_item_id = nil
192
+ connection.each do |event|
193
+ case event
194
+ when OpenAI::Realtime::InputAudioBufferCommittedEvent
195
+ committed_item_id = event.item_id
196
+ when OpenAI::Realtime::ConversationItemInputAudioTranscriptionDeltaEvent
197
+ print(event.delta) if event.item_id == committed_item_id
198
+ when OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent
199
+ break if event.item_id == committed_item_id
200
+ when OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent,
201
+ OpenAI::Realtime::RealtimeErrorEvent
202
+ raise "Realtime transcription failed."
203
+ end
204
+ end
205
+ end
206
+ end
207
+ ```
208
+
209
+ Correlate delta and completed events by `item_id`; completion ordering across
210
+ different input turns is not guaranteed. The runnable
211
+ [`websocket_transcription.rb`](examples/realtime/websocket_transcription.rb)
212
+ example additionally rejects empty input and requires a matching non-empty
213
+ completion. It defaults to `gpt-transcribe`, which is intended for committed
214
+ turns over WebSockets.
215
+
216
+ ## Send one voice turn and stream the spoken response
217
+
218
+ A normal Realtime session can accept an explicitly committed PCM turn and
219
+ stream PCM response audio plus its transcript. Disable turn detection when the
220
+ client owns the turn boundary, then call `response.create` after `commit`:
221
+
222
+ ```ruby
223
+ transcript = +""
224
+
225
+ client.realtime.connect(model: "gpt-realtime-2.1") do |connection|
226
+ connection.session.update(
227
+ type: :realtime,
228
+ output_modalities: [:audio],
229
+ audio: {
230
+ input: {
231
+ format: {type: :"audio/pcm", rate: 24_000},
232
+ turn_detection: nil
233
+ },
234
+ output: {
235
+ format: {type: :"audio/pcm", rate: 24_000},
236
+ voice: :marin
237
+ }
238
+ }
239
+ )
240
+
241
+ while (chunk = input.read(9_600))
242
+ connection.input_audio_buffer.append_bytes(chunk)
243
+ end
244
+ connection.input_audio_buffer.commit
245
+ connection.response.create
246
+
247
+ connection.each do |event|
248
+ case event
249
+ when OpenAI::Realtime::ResponseAudioDeltaEvent
250
+ audio_output.write(event.delta.unpack1("m0"))
251
+ when OpenAI::Realtime::ResponseAudioTranscriptDeltaEvent
252
+ transcript << event.delta
253
+ when OpenAI::Realtime::ResponseDoneEvent
254
+ raise "Realtime response failed." unless event.response.status == :completed
255
+ break
256
+ when OpenAI::Realtime::RealtimeErrorEvent
257
+ raise "Realtime API error."
258
+ end
259
+ end
260
+ end
261
+ ```
262
+
263
+ The runnable
264
+ [`websocket_voice_turn.rb`](examples/realtime/websocket_voice_turn.rb) example
265
+ checks the complete lifecycle: non-empty input, explicit commit, streamed audio
266
+ and transcript, a successful terminal response, and binary output. The
267
+ executable reads raw PCM from standard input, writes response PCM to standard
268
+ output, and keeps metadata-only diagnostics on standard error. Its single
269
+ deadline begins before the initial input read and covers the complete network
270
+ turn. Embedded callers receive the transcript as the return value. At the
271
+ executable boundary, operating-system I/O errors and malformed protocol events
272
+ become generic exceptions without sensitive paths, payloads, or retained
273
+ causes. The example deliberately leaves output filenames, overwrite policy,
274
+ and filesystem durability to the caller rather than claiming a portable secure
275
+ file-publication contract.
276
+
277
+ ## Create and control a WebRTC call
278
+
279
+ Create a WebRTC call from your server using the SDP offer generated by the
280
+ browser or other peer. The generated HTTP method returns an
281
+ `OpenAI::HTTPClient::Response`, preserving the SDP answer, response status,
282
+ request metadata, and the `Location` header containing the new call ID:
283
+
284
+ ```ruby
285
+ response = client.realtime.calls.create(
286
+ sdp: browser_sdp_offer,
287
+ session: {type: :realtime, model: "gpt-realtime-2.1"}
288
+ )
289
+
290
+ answer_sdp = response.body.to_a.join
291
+ call_location = URI.parse(response.headers.fetch("location"))
292
+ call_id = call_location.path.split("/").last
293
+
294
+ # Return answer_sdp to the browser to complete its WebRTC peer connection.
295
+ # Keep the API key and call-control authority on your server.
296
+ ```
297
+
298
+ The response body is a one-shot stream: read it once and retain the resulting
299
+ SDP answer if your application needs it again. A response can omit `Location`;
300
+ in that case its SDP answer remains available, but the call cannot be attached
301
+ to through an ID from that response. Call creation does not retry by default,
302
+ preventing ambiguous network failures from allocating duplicate sessions. An
303
+ application that owns its retry policy can explicitly override it with
304
+ `request_options: {max_retries: 1}`.
305
+
306
+ ## Control an existing WebRTC or SIP call
307
+
308
+ Use `connect_to_call` to attach a server-side control WebSocket to an existing
309
+ WebRTC or SIP call. Obtain its call ID from a trusted application-owned WebRTC
310
+ session or a verified `realtime.call.incoming` webhook, and authorize the
311
+ application's access to that call before connecting:
312
+
313
+ ```ruby
314
+ instructions = "Apply server-side application policy."
315
+
316
+ client.realtime.connect_to_call(call_id: call_id) do |connection|
317
+ connection.session.update(
318
+ type: :realtime,
319
+ instructions: instructions
320
+ )
321
+
322
+ connection.each do |event|
323
+ next unless event.is_a?(OpenAI::Realtime::SessionUpdatedEvent)
324
+
325
+ break if event.session.instructions == instructions
326
+ end
327
+ end
328
+ ```
329
+
330
+ The block receives an `OpenAI::Realtime::SidebandConnection`, which inherits
331
+ the ordinary typed session, response, conversation, and event-stream helpers.
332
+ Only sideband connections expose `output_audio_buffer.clear`, the
333
+ WebRTC/SIP-specific control for discarding queued response audio. To interrupt
334
+ an active response without leaving unheard audio in the conversation, preserve
335
+ the protocol order:
336
+
337
+ ```ruby
338
+ connection.response.cancel
339
+ connection.conversation.items.truncate(
340
+ item_id: assistant_item_id,
341
+ content_index: 0,
342
+ audio_end_ms: played_audio_ms
343
+ )
344
+ connection.output_audio_buffer.clear
345
+ ```
346
+
347
+ The SDK owns and URL-encodes the `call_id` handshake query parameter. The real
348
+ call ID remains in the connection URL and is sent on the wire; the default
349
+ transport redacts it from optional WebSocket request-target and endpoint
350
+ traces, HTTP call paths and `Location` headers, and
351
+ `RealtimeConnectionError#url`. API keys and other sensitive headers remain
352
+ redacted. Sideband connections inherit the same
353
+ authentication, endpoint override, proxy, TLS, timeout, block-lifetime, and
354
+ exceptional-abort behavior as standard Realtime WebSockets.
355
+ Closing the sideband connection does not hang up the existing call: call
356
+ lifetime and explicit `client.realtime.calls.hangup(call_id)` remain the
357
+ application owner's responsibility.
358
+
359
+ The runnable [`sideband.rb`](examples/realtime/sideband.rb) example applies
360
+ server-side session instructions, requires a typed `session.updated` event
361
+ confirming those instructions, and emits metadata-only diagnostics.
362
+
363
+ ## Event compatibility
364
+
365
+ Known events are validated against the SDK's generated Realtime event unions.
366
+ Malformed known events raise `OpenAI::Errors::RealtimeProtocolError`. A valid
367
+ JSON object with a newer, unknown event discriminator is returned as
368
+ `OpenAI::Realtime::UnknownServerEvent`, preserving its deeply frozen payload so
369
+ an additive service event does not terminate an otherwise healthy session.
370
+
371
+ ```ruby
372
+ connection.each do |event|
373
+ case event
374
+ when OpenAI::Realtime::ResponseTextDeltaEvent
375
+ print(event.delta)
376
+ when OpenAI::Realtime::UnknownServerEvent
377
+ logger.debug("Ignored Realtime event type: #{event.type}")
378
+ end
379
+ end
380
+ ```
381
+
382
+ ## Lifecycle and failures
383
+
384
+ Normal block exit sends a WebSocket close frame. Exceptional exit aborts the
385
+ underlying I/O without trying to flush buffered writes, preserving the original
386
+ application exception and avoiding a second blocked network operation during
387
+ unwinding. Cleanup failures are raised when the application block itself
388
+ succeeded.
389
+
390
+ Connection and protocol failures use distinct error classes:
391
+
392
+ - `OpenAI::Errors::RealtimeConnectionError` exposes the target `url`, original
393
+ `cause`, and a failed upgrade's `http_status` when available.
394
+ - `OpenAI::Errors::RealtimeProtocolError` exposes the invalid raw `data` and
395
+ original `cause`.
396
+
397
+ The configured request timeout bounds WebSocket negotiation. It does not become
398
+ an idle-session deadline after the connection is established.
399
+
400
+ ## Authentication and endpoint routing
401
+
402
+ Realtime connections reuse normal SDK authentication and routing-related
403
+ request options. API keys, Azure API keys, workload identity,
404
+ organization/project headers, `extra_headers`, and `timeout` are prepared
405
+ through the same client request boundary as HTTP calls. The SDK owns Realtime
406
+ query construction, including `model` and provider-specific parameters;
407
+ non-empty `request_options[:extra_query]` is rejected before authentication or
408
+ transport because the HTTP/1 tracing interface cannot separate a wire request
409
+ target from its trace value. HTTP body and idempotency options do not apply to a
410
+ WebSocket handshake. HTTP retry policy also does not apply: a nonzero
411
+ `request_options[:max_retries]` is rejected; omit it or pass `0`. A
412
+ workload-identity token rejected with a definitive upgrade `401` is invalidated
413
+ and retried exactly once before the connection is yielded. Exceptions from the
414
+ application block never trigger a reconnect or block replay.
415
+
416
+ X.509 workload identities are HTTP-only and cannot open Realtime WebSocket
417
+ connections. The workload-identity behavior above applies to supported
418
+ subject-token providers such as Kubernetes, Azure, and GCP.
419
+
420
+ The WebSocket URL normally derives from `base_url`. A gateway that has a
421
+ different WebSocket origin can set a separate, validated endpoint:
422
+
423
+ ```ruby
424
+ client = OpenAI::Client.new(base_url: "https://api-gateway.example.test/v1")
425
+
426
+ client.realtime.connect(
427
+ model: "gpt-realtime-2.1",
428
+ websocket_base_url: "wss://socket-gateway.example.test/v1"
429
+ ) do |connection|
430
+ # ...
431
+ end
432
+ ```
433
+
434
+ `websocket_base_url` must be an absolute `http`, `https`, `ws`, or `wss` URL
435
+ without user information, query, or fragment. `connect` snapshots the supplied
436
+ string before request construction, so later caller mutation cannot change the
437
+ validated, credential-bearing origin. Provider-configured clients use their
438
+ provider endpoint and reject this override.
439
+
440
+ ## Proxies and TLS
441
+
442
+ The default adapter honors Ruby's standard `http_proxy`, `https_proxy`, and
443
+ `no_proxy` routing. Secure WebSockets use an HTTP `CONNECT` tunnel before TLS.
444
+ Proxy credentials are derived only from proxy configuration and are sent only
445
+ to the proxy; caller-supplied `Proxy-Authorization` is stripped before the
446
+ origin handshake. Sensitive handshake headers are redacted from protocol trace
447
+ instrumentation without changing the wire request.
448
+
449
+ TLS always verifies the peer and hostname and negotiates HTTP/1.1. For a private
450
+ CA or mutual TLS, configure the native `OpenSSL::SSL::SSLContext`:
451
+
452
+ ```ruby
453
+ transport = OpenAI::Realtime::Transports::AsyncWebSocket.new do |context|
454
+ context.cert_store = private_ca_store
455
+ context.cert = client_certificate
456
+ context.key = client_private_key
457
+ end
458
+
459
+ client.realtime.connect(
460
+ model: "gpt-realtime-2.1",
461
+ transport: transport
462
+ ) do |connection|
463
+ # ...
464
+ end
465
+ ```
466
+
467
+ The adapter restores peer and hostname verification after configuration and
468
+ rejects verification callbacks or TLS configuration for a plaintext `ws://`
469
+ endpoint.
470
+
471
+ ## Custom transport
472
+
473
+ Pass `transport:` to integrate another WebSocket implementation. It must expose
474
+ this block-scoped contract:
475
+
476
+ ```ruby
477
+ transport.open(url:, headers:, timeout:, **options) do |socket|
478
+ # socket.read -> text-like message or nil
479
+ # socket.write(utf8_string) -> sends one text message
480
+ # socket.close(code:, reason:) -> graceful close
481
+ # socket.abort -> immediate exceptional close
482
+ # socket.closed? -> boolean
483
+ end
484
+ ```
485
+
486
+ The SDK owns the authenticated `url`, `headers`, timeout, TLS, and protocol
487
+ settings. `transport_options` therefore cannot override those fields and are
488
+ snapshotted before authentication so later caller mutation cannot alter the
489
+ handshake.
490
+
491
+ ## Current scope
492
+
493
+ The examples in this guide cover local function calling, image input, and MCP
494
+ approval through the generic Realtime connection API, alongside generated
495
+ WebRTC/SDP call creation and sideband control of existing WebRTC and SIP calls.
496
+ Continuous microphone capture, concurrent live captioning, full-duplex
497
+ conversation, SIP call-ownership orchestration, and translation connections
498
+ remain out of scope. Existing generated HTTP resources remain
499
+ generated-code-owned.
@@ -0,0 +1,19 @@
1
+ module OpenAI
2
+ module Auth
3
+ class X509TokenExchange
4
+ def initialize: (
5
+ OpenAI::Auth::X509WorkloadIdentity config,
6
+ transport: OpenAI::Auth::X509Transport
7
+ ) -> void
8
+
9
+ def inspect: -> String
10
+
11
+ def bound_to?: (
12
+ OpenAI::Auth::X509WorkloadIdentity identity,
13
+ transport: OpenAI::Auth::X509Transport
14
+ ) -> bool
15
+
16
+ def fetch: (?deadline: Float?) -> ::Hash[Symbol, (String | Float)]
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Auth
3
+ class X509Transport
4
+ ISSUER_ORIGIN: String
5
+
6
+ attr_reader api_origin: String
7
+
8
+ attr_reader proxy_mode: Symbol
9
+
10
+ def self.exact_instance?: (
11
+ untyped candidate,
12
+ Class expected_class
13
+ ) -> bool
14
+
15
+ def initialize: (
16
+ http_client: OpenAI::NetHTTPClient,
17
+ certificate_identity: Symbol,
18
+ ?proxy: Symbol,
19
+ ?api_origin: String
20
+ ) -> void
21
+
22
+ def execute: (
23
+ OpenAI::HTTPClient::Request request
24
+ ) -> OpenAI::HTTPClient::Response
25
+
26
+ def validate_api_request!: (
27
+ url: URI::Generic,
28
+ headers: ::Hash[String, String]
29
+ ) -> ::Hash[String, String]
30
+
31
+ def supports_data_residency?: (Symbol | String residency) -> bool
32
+ end
33
+ end
34
+ end