openai 0.79.0 → 0.81.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 (1771) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +109 -0
  3. data/README.md +177 -2
  4. data/SECURITY.md +34 -5
  5. data/bedrock.md +68 -2
  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/streaming/chat_completion_stream.rb +191 -83
  41. data/lib/openai/helpers/streaming/chat_events.rb +6 -3
  42. data/lib/openai/helpers/streaming/exceptions.rb +2 -1
  43. data/lib/openai/helpers/streaming/response_stream.rb +39 -33
  44. data/lib/openai/helpers/structured_output/base_model.rb +1 -3
  45. data/lib/openai/helpers/structured_output/chat_completion_parser.rb +132 -0
  46. data/lib/openai/helpers/structured_output/enum_of.rb +14 -13
  47. data/lib/openai/helpers/structured_output/json_schema_converter.rb +19 -12
  48. data/lib/openai/helpers/structured_output/response_parser.rb +145 -0
  49. data/lib/openai/helpers/structured_output/union_of.rb +1 -0
  50. data/lib/openai/http_client.rb +15 -3
  51. data/lib/openai/internal/conversation_cursor_page.rb +2 -2
  52. data/lib/openai/internal/cursor_page.rb +1 -0
  53. data/lib/openai/internal/logging.rb +140 -50
  54. data/lib/openai/internal/next_cursor_page.rb +2 -2
  55. data/lib/openai/internal/page.rb +2 -1
  56. data/lib/openai/internal/poller.rb +175 -0
  57. data/lib/openai/internal/read_io_adapter.rb +28 -24
  58. data/lib/openai/internal/request_options_scope.rb +60 -0
  59. data/lib/openai/internal/stream.rb +12 -9
  60. data/lib/openai/internal/transport/base_client.rb +236 -89
  61. data/lib/openai/internal/type/array_of.rb +33 -15
  62. data/lib/openai/internal/type/base_model.rb +62 -49
  63. data/lib/openai/internal/type/base_page.rb +12 -1
  64. data/lib/openai/internal/type/base_stream.rb +12 -10
  65. data/lib/openai/internal/type/converter.rb +28 -1
  66. data/lib/openai/internal/type/enum.rb +1 -1
  67. data/lib/openai/internal/type/hash_of.rb +27 -20
  68. data/lib/openai/internal/type/union.rb +14 -12
  69. data/lib/openai/internal/util.rb +52 -28
  70. data/lib/openai/internal/vector_store_file_uploader.rb +225 -0
  71. data/lib/openai/internal.rb +5 -3
  72. data/lib/openai/models/admin/organization/admin_api_key_create_response.rb +17 -1
  73. data/lib/openai/models/admin/organization/audit_log_list_params.rb +6 -4
  74. data/lib/openai/models/admin/organization/audit_log_list_response.rb +355 -217
  75. data/lib/openai/models/admin/organization/certificate_activate_response.rb +4 -2
  76. data/lib/openai/models/admin/organization/certificate_deactivate_response.rb +4 -2
  77. data/lib/openai/models/admin/organization/certificate_list_response.rb +4 -2
  78. data/lib/openai/models/admin/organization/certificate_retrieve_params.rb +6 -2
  79. data/lib/openai/models/admin/organization/cost_quantity_unit.rb +53 -0
  80. data/lib/openai/models/admin/organization/data_retention_update_params.rb +4 -2
  81. data/lib/openai/models/admin/organization/groups/role_list_response.rb +14 -10
  82. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +14 -10
  83. data/lib/openai/models/admin/organization/groups/user_retrieve_response.rb +4 -2
  84. data/lib/openai/models/admin/organization/invite_create_params.rb +4 -2
  85. data/lib/openai/models/admin/organization/organization_spend_alert.rb +4 -2
  86. data/lib/openai/models/admin/organization/organization_spend_limit.rb +19 -5
  87. data/lib/openai/models/admin/organization/organization_user.rb +4 -2
  88. data/lib/openai/models/admin/organization/project.rb +9 -1
  89. data/lib/openai/models/admin/organization/project_create_params.rb +17 -2
  90. data/lib/openai/models/admin/organization/project_residency.rb +29 -0
  91. data/lib/openai/models/admin/organization/project_update_params.rb +7 -1
  92. data/lib/openai/models/admin/organization/projects/api_key_list_params.rb +4 -2
  93. data/lib/openai/models/admin/organization/projects/certificate_activate_response.rb +4 -2
  94. data/lib/openai/models/admin/organization/projects/certificate_deactivate_response.rb +4 -2
  95. data/lib/openai/models/admin/organization/projects/certificate_list_response.rb +4 -2
  96. data/lib/openai/models/admin/organization/projects/data_retention_update_params.rb +4 -2
  97. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +14 -11
  98. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +14 -11
  99. data/lib/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rb +33 -23
  100. data/lib/openai/models/admin/organization/projects/project_api_key.rb +8 -4
  101. data/lib/openai/models/admin/organization/projects/project_hosted_tool_permissions.rb +16 -8
  102. data/lib/openai/models/admin/organization/projects/project_spend_alert.rb +4 -2
  103. data/lib/openai/models/admin/organization/projects/project_spend_limit.rb +26 -7
  104. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +9 -7
  105. data/lib/openai/models/admin/organization/projects/spend_alert_create_params.rb +4 -2
  106. data/lib/openai/models/admin/organization/projects/spend_alert_update_params.rb +4 -2
  107. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +14 -11
  108. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +14 -11
  109. data/lib/openai/models/admin/organization/spend_alert_create_params.rb +4 -2
  110. data/lib/openai/models/admin/organization/spend_alert_update_params.rb +4 -2
  111. data/lib/openai/models/admin/organization/usage_audio_speeches_params.rb +6 -2
  112. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +102 -29
  113. data/lib/openai/models/admin/organization/usage_audio_transcriptions_params.rb +12 -4
  114. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +104 -29
  115. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_params.rb +12 -4
  116. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +104 -29
  117. data/lib/openai/models/admin/organization/usage_completions_params.rb +4 -2
  118. data/lib/openai/models/admin/organization/usage_completions_response.rb +100 -29
  119. data/lib/openai/models/admin/organization/usage_costs_params.rb +4 -2
  120. data/lib/openai/models/admin/organization/usage_costs_response.rb +98 -29
  121. data/lib/openai/models/admin/organization/usage_embeddings_params.rb +4 -2
  122. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +100 -29
  123. data/lib/openai/models/admin/organization/usage_file_search_calls_params.rb +6 -2
  124. data/lib/openai/models/admin/organization/usage_file_search_calls_response.rb +102 -29
  125. data/lib/openai/models/admin/organization/usage_images_params.rb +12 -6
  126. data/lib/openai/models/admin/organization/usage_images_response.rb +98 -29
  127. data/lib/openai/models/admin/organization/usage_moderations_params.rb +4 -2
  128. data/lib/openai/models/admin/organization/usage_moderations_response.rb +100 -29
  129. data/lib/openai/models/admin/organization/usage_vector_stores_params.rb +4 -2
  130. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +102 -29
  131. data/lib/openai/models/admin/organization/usage_web_search_calls_params.rb +14 -4
  132. data/lib/openai/models/admin/organization/usage_web_search_calls_response.rb +102 -29
  133. data/lib/openai/models/admin/organization/users/role_list_response.rb +14 -10
  134. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +14 -10
  135. data/lib/openai/models/all_models.rb +2 -0
  136. data/lib/openai/models/audio/transcription_create_params.rb +9 -5
  137. data/lib/openai/models/audio/transcription_diarized.rb +4 -2
  138. data/lib/openai/models/audio/transcription_text_delta_event.rb +4 -2
  139. data/lib/openai/models/audio/transcription_text_done_event.rb +4 -2
  140. data/lib/openai/models/beta/assistant_create_params.rb +33 -11
  141. data/lib/openai/models/beta/beta_apply_patch_tool.rb +7 -5
  142. data/lib/openai/models/beta/beta_container_network_policy_allowlist.rb +4 -2
  143. data/lib/openai/models/beta/beta_custom_tool.rb +5 -3
  144. data/lib/openai/models/beta/beta_file_search_tool.rb +37 -15
  145. data/lib/openai/models/beta/beta_function_shell_tool.rb +7 -5
  146. data/lib/openai/models/beta/beta_function_tool.rb +5 -3
  147. data/lib/openai/models/beta/beta_mcp_tool_call_error.rb +84 -0
  148. data/lib/openai/models/beta/beta_namespace_tool.rb +12 -8
  149. data/lib/openai/models/beta/beta_response.rb +51 -20
  150. data/lib/openai/models/beta/beta_response_apply_patch_tool_call.rb +6 -4
  151. data/lib/openai/models/beta/beta_response_apply_patch_tool_call_output.rb +6 -4
  152. data/lib/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rb +7 -5
  153. data/lib/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rb +7 -5
  154. data/lib/openai/models/beta/beta_response_code_interpreter_tool_call.rb +7 -5
  155. data/lib/openai/models/beta/beta_response_computer_tool_call.rb +4 -2
  156. data/lib/openai/models/beta/beta_response_computer_tool_call_output_item.rb +8 -2
  157. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +6 -4
  158. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +15 -1
  159. data/lib/openai/models/beta/beta_response_custom_tool_call_output.rb +10 -7
  160. data/lib/openai/models/beta/beta_response_custom_tool_call_output_item.rb +11 -1
  161. data/lib/openai/models/beta/beta_response_file_search_tool_call.rb +12 -8
  162. data/lib/openai/models/beta/beta_response_function_call_output_item_list.rb +3 -2
  163. data/lib/openai/models/beta/beta_response_function_shell_tool_call.rb +11 -7
  164. data/lib/openai/models/beta/beta_response_function_shell_tool_call_output.rb +10 -6
  165. data/lib/openai/models/beta/beta_response_function_tool_call.rb +6 -4
  166. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +15 -1
  167. data/lib/openai/models/beta/beta_response_function_tool_call_output_item.rb +10 -7
  168. data/lib/openai/models/beta/beta_response_function_web_search.rb +6 -2
  169. data/lib/openai/models/beta/beta_response_image_gen_call_partial_image_event.rb +33 -1
  170. data/lib/openai/models/beta/beta_response_input_audio.rb +5 -3
  171. data/lib/openai/models/beta/beta_response_input_file_content.rb +5 -3
  172. data/lib/openai/models/beta/beta_response_input_image_content.rb +5 -3
  173. data/lib/openai/models/beta/beta_response_input_item.rb +122 -72
  174. data/lib/openai/models/beta/beta_response_input_message_content_list.rb +3 -2
  175. data/lib/openai/models/beta/beta_response_input_text_content.rb +5 -3
  176. data/lib/openai/models/beta/beta_response_item.rb +30 -18
  177. data/lib/openai/models/beta/beta_response_output_item.rb +41 -23
  178. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +5 -2
  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 +209 -4
  182. data/lib/openai/models/beta/beta_response_prompt.rb +5 -3
  183. data/lib/openai/models/beta/beta_response_reasoning_item.rb +13 -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 +402 -154
  193. data/lib/openai/models/beta/beta_responses_server_event.rb +1121 -157
  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/beta_web_search_tool.rb +11 -1
  198. data/lib/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rb +4 -2
  199. data/lib/openai/models/beta/chatkit/chat_session_workflow_param.rb +6 -2
  200. data/lib/openai/models/beta/chatkit/chatkit_response_output_text.rb +4 -2
  201. data/lib/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rb +4 -2
  202. data/lib/openai/models/beta/chatkit/chatkit_thread_item_list.rb +28 -12
  203. data/lib/openai/models/beta/chatkit/chatkit_thread_user_message_item.rb +14 -8
  204. data/lib/openai/models/beta/chatkit_workflow.rb +5 -3
  205. data/lib/openai/models/beta/response_compact_params.rb +30 -12
  206. data/lib/openai/models/beta/response_create_params.rb +50 -20
  207. data/lib/openai/models/beta/responses/input_item_list_params.rb +4 -2
  208. data/lib/openai/models/beta/responses/input_token_count_params.rb +50 -27
  209. data/lib/openai/models/beta/thread_create_and_run_params.rb +87 -40
  210. data/lib/openai/models/beta/thread_create_params.rb +49 -20
  211. data/lib/openai/models/beta/threads/message.rb +9 -5
  212. data/lib/openai/models/beta/threads/message_create_params.rb +16 -9
  213. data/lib/openai/models/beta/threads/message_delta.rb +4 -2
  214. data/lib/openai/models/beta/threads/run.rb +4 -2
  215. data/lib/openai/models/beta/threads/run_create_params.rb +50 -27
  216. data/lib/openai/models/beta/threads/run_submit_tool_outputs_params.rb +4 -2
  217. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call.rb +20 -7
  218. data/lib/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rb +12 -4
  219. data/lib/openai/models/beta/threads/runs/file_search_tool_call.rb +26 -10
  220. data/lib/openai/models/beta/threads/runs/message_creation_step_details.rb +4 -2
  221. data/lib/openai/models/beta/threads/runs/run_step_include.rb +1 -2
  222. data/lib/openai/models/beta/threads/runs/step_list_params.rb +4 -2
  223. data/lib/openai/models/beta/threads/runs/step_retrieve_params.rb +4 -2
  224. data/lib/openai/models/beta/threads/runs/tool_call_delta_object.rb +4 -2
  225. data/lib/openai/models/beta/threads/text_delta.rb +4 -2
  226. data/lib/openai/models/chat/chat_completion.rb +60 -25
  227. data/lib/openai/models/chat/chat_completion_allowed_tools.rb +4 -2
  228. data/lib/openai/models/chat/chat_completion_assistant_message_param.rb +20 -13
  229. data/lib/openai/models/chat/chat_completion_chunk.rb +76 -38
  230. data/lib/openai/models/chat/chat_completion_content_part.rb +4 -2
  231. data/lib/openai/models/chat/chat_completion_content_part_image.rb +4 -2
  232. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +9 -5
  233. data/lib/openai/models/chat/chat_completion_content_part_text.rb +4 -2
  234. data/lib/openai/models/chat/chat_completion_custom_tool.rb +11 -7
  235. data/lib/openai/models/chat/chat_completion_developer_message_param.rb +8 -3
  236. data/lib/openai/models/chat/chat_completion_message.rb +8 -4
  237. data/lib/openai/models/chat/chat_completion_prediction_content.rb +6 -3
  238. data/lib/openai/models/chat/chat_completion_store_message.rb +22 -6
  239. data/lib/openai/models/chat/chat_completion_system_message_param.rb +6 -3
  240. data/lib/openai/models/chat/chat_completion_token_logprob.rb +4 -2
  241. data/lib/openai/models/chat/chat_completion_tool_message_param.rb +6 -3
  242. data/lib/openai/models/chat/chat_completion_user_message_param.rb +3 -2
  243. data/lib/openai/models/chat/completion_create_params.rb +56 -33
  244. data/lib/openai/models/chat_model.rb +1 -0
  245. data/lib/openai/models/comparison_filter.rb +3 -2
  246. data/lib/openai/models/completion_usage.rb +26 -2
  247. data/lib/openai/models/conversations/computer_screenshot_content.rb +4 -2
  248. data/lib/openai/models/conversations/conversation_create_params.rb +5 -3
  249. data/lib/openai/models/conversations/conversation_item.rb +12 -8
  250. data/lib/openai/models/eval_create_params.rb +69 -13
  251. data/lib/openai/models/eval_create_response.rb +45 -5
  252. data/lib/openai/models/eval_list_response.rb +45 -5
  253. data/lib/openai/models/eval_retrieve_response.rb +45 -5
  254. data/lib/openai/models/eval_update_response.rb +45 -5
  255. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +59 -19
  256. data/lib/openai/models/evals/create_eval_jsonl_run_data_source.rb +8 -2
  257. data/lib/openai/models/evals/run_cancel_response.rb +97 -37
  258. data/lib/openai/models/evals/run_create_params.rb +109 -43
  259. data/lib/openai/models/evals/run_create_response.rb +97 -37
  260. data/lib/openai/models/evals/run_list_response.rb +97 -36
  261. data/lib/openai/models/evals/run_retrieve_response.rb +101 -42
  262. data/lib/openai/models/evals/runs/output_item_list_response.rb +16 -6
  263. data/lib/openai/models/evals/runs/output_item_retrieve_response.rb +16 -6
  264. data/lib/openai/models/fine_tuning/alpha/grader_run_response.rb +4 -2
  265. data/lib/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rb +6 -2
  266. data/lib/openai/models/fine_tuning/dpo_hyperparameters.rb +4 -2
  267. data/lib/openai/models/fine_tuning/fine_tuning_job.rb +16 -10
  268. data/lib/openai/models/fine_tuning/job_create_params.rb +9 -5
  269. data/lib/openai/models/fine_tuning/reinforcement_hyperparameters.rb +8 -4
  270. data/lib/openai/models/fine_tuning/supervised_hyperparameters.rb +4 -2
  271. data/lib/openai/models/image_edit_params.rb +12 -22
  272. data/lib/openai/models/image_generate_params.rb +12 -22
  273. data/lib/openai/models/model.rb +9 -1
  274. data/lib/openai/models/moderation.rb +76 -50
  275. data/lib/openai/models/moderation_create_params.rb +3 -2
  276. data/lib/openai/models/realtime/call_accept_params.rb +33 -1
  277. data/lib/openai/models/realtime/call_create_params.rb +32 -0
  278. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +25 -9
  279. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +5 -3
  280. data/lib/openai/models/realtime/conversation_item_with_reference.rb +4 -2
  281. data/lib/openai/models/realtime/rate_limits_updated_event.rb +4 -2
  282. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +4 -2
  283. data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +4 -2
  284. data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +4 -2
  285. data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +4 -2
  286. data/lib/openai/models/realtime/realtime_response.rb +4 -2
  287. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +25 -15
  288. data/lib/openai/models/realtime/realtime_response_create_params.rb +8 -4
  289. data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +4 -2
  290. data/lib/openai/models/realtime/realtime_server_event.rb +52 -26
  291. data/lib/openai/models/realtime/realtime_session.rb +16 -8
  292. data/lib/openai/models/realtime/realtime_session_create_request.rb +47 -17
  293. data/lib/openai/models/realtime/realtime_session_create_response.rb +161 -67
  294. data/lib/openai/models/realtime/realtime_tools_config.rb +1 -2
  295. data/lib/openai/models/realtime/realtime_tools_config_union.rb +28 -16
  296. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +5 -3
  297. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +12 -6
  298. data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +6 -2
  299. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +17 -9
  300. data/lib/openai/models/realtime/realtime_translation_client_event.rb +4 -2
  301. data/lib/openai/models/realtime/realtime_translation_client_secret_create_request.rb +8 -4
  302. data/lib/openai/models/realtime/realtime_translation_output_audio_delta_event.rb +8 -5
  303. data/lib/openai/models/realtime/realtime_translation_server_event.rb +12 -7
  304. data/lib/openai/models/realtime/realtime_translation_session.rb +10 -6
  305. data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +14 -10
  306. data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +14 -10
  307. data/lib/openai/models/realtime/transcription_session_update.rb +14 -6
  308. data/lib/openai/models/realtime/transcription_session_updated_event.rb +12 -4
  309. data/lib/openai/models/response_format_json_schema.rb +9 -7
  310. data/lib/openai/models/responses/apply_patch_tool.rb +7 -5
  311. data/lib/openai/models/responses/container_network_policy_allowlist.rb +4 -2
  312. data/lib/openai/models/responses/custom_tool.rb +5 -3
  313. data/lib/openai/models/responses/function_shell_tool.rb +7 -5
  314. data/lib/openai/models/responses/function_tool.rb +13 -9
  315. data/lib/openai/models/responses/input_token_count_params.rb +15 -12
  316. data/lib/openai/models/responses/mcp_tool_call_error.rb +82 -0
  317. data/lib/openai/models/responses/namespace_tool.rb +12 -8
  318. data/lib/openai/models/responses/response.rb +35 -17
  319. data/lib/openai/models/responses/response_apply_patch_tool_call.rb +6 -4
  320. data/lib/openai/models/responses/response_apply_patch_tool_call_output.rb +6 -4
  321. data/lib/openai/models/responses/response_code_interpreter_tool_call.rb +7 -5
  322. data/lib/openai/models/responses/response_compact_params.rb +46 -16
  323. data/lib/openai/models/responses/response_computer_tool_call.rb +8 -4
  324. data/lib/openai/models/responses/response_computer_tool_call_output_item.rb +8 -2
  325. data/lib/openai/models/responses/response_create_params.rb +56 -33
  326. data/lib/openai/models/responses/response_custom_tool_call.rb +6 -4
  327. data/lib/openai/models/responses/response_custom_tool_call_item.rb +13 -1
  328. data/lib/openai/models/responses/response_custom_tool_call_output.rb +10 -7
  329. data/lib/openai/models/responses/response_custom_tool_call_output_item.rb +9 -1
  330. data/lib/openai/models/responses/response_file_search_tool_call.rb +14 -10
  331. data/lib/openai/models/responses/response_format_text_json_schema_config.rb +9 -6
  332. data/lib/openai/models/responses/response_function_call_output_item_list.rb +3 -2
  333. data/lib/openai/models/responses/response_function_shell_tool_call.rb +11 -7
  334. data/lib/openai/models/responses/response_function_shell_tool_call_output.rb +10 -6
  335. data/lib/openai/models/responses/response_function_tool_call.rb +6 -4
  336. data/lib/openai/models/responses/response_function_tool_call_item.rb +13 -1
  337. data/lib/openai/models/responses/response_function_tool_call_output_item.rb +10 -7
  338. data/lib/openai/models/responses/response_function_web_search.rb +6 -2
  339. data/lib/openai/models/responses/response_image_gen_call_partial_image_event.rb +33 -1
  340. data/lib/openai/models/responses/response_input_audio.rb +5 -3
  341. data/lib/openai/models/responses/response_input_file_content.rb +5 -3
  342. data/lib/openai/models/responses/response_input_image_content.rb +5 -3
  343. data/lib/openai/models/responses/response_input_item.rb +84 -54
  344. data/lib/openai/models/responses/response_input_message_content_list.rb +3 -2
  345. data/lib/openai/models/responses/response_input_text_content.rb +5 -3
  346. data/lib/openai/models/responses/response_item.rb +14 -10
  347. data/lib/openai/models/responses/response_output_item.rb +12 -8
  348. data/lib/openai/models/responses/response_output_item_added_event.rb +5 -2
  349. data/lib/openai/models/responses/response_output_message.rb +4 -2
  350. data/lib/openai/models/responses/response_output_text.rb +12 -6
  351. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +209 -4
  352. data/lib/openai/models/responses/response_prompt.rb +5 -3
  353. data/lib/openai/models/responses/response_reasoning_item.rb +13 -4
  354. data/lib/openai/models/responses/response_shell_call_command_added_event.rb +52 -0
  355. data/lib/openai/models/responses/response_shell_call_command_delta_event.rb +60 -0
  356. data/lib/openai/models/responses/response_shell_call_command_done_event.rb +52 -0
  357. data/lib/openai/models/responses/response_shell_call_output_content_delta_event.rb +82 -0
  358. data/lib/openai/models/responses/response_shell_call_output_content_done_event.rb +164 -0
  359. data/lib/openai/models/responses/response_stream_event.rb +122 -51
  360. data/lib/openai/models/responses/response_text_delta_event.rb +8 -4
  361. data/lib/openai/models/responses/response_text_done_event.rb +8 -4
  362. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +7 -5
  363. data/lib/openai/models/responses/responses_client_event.rb +47 -26
  364. data/lib/openai/models/responses/responses_server_event.rb +968 -152
  365. data/lib/openai/models/responses/tool.rb +51 -45
  366. data/lib/openai/models/responses/tool_choice_allowed.rb +4 -2
  367. data/lib/openai/models/responses/web_search_preview_tool.rb +4 -2
  368. data/lib/openai/models/responses/web_search_tool.rb +11 -1
  369. data/lib/openai/models/responses_model.rb +2 -0
  370. data/lib/openai/models/vector_store_search_response.rb +9 -7
  371. data/lib/openai/models/vector_stores/file_batch_create_params.rb +14 -10
  372. data/lib/openai/models/vector_stores/file_create_params.rb +7 -5
  373. data/lib/openai/models/vector_stores/file_update_params.rb +7 -5
  374. data/lib/openai/models/vector_stores/vector_store_file.rb +7 -5
  375. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +4 -2
  376. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +4 -2
  377. data/lib/openai/models.rb +12 -12
  378. data/lib/openai/net_http_client.rb +90 -38
  379. data/lib/openai/providers/azure.rb +61 -48
  380. data/lib/openai/providers/bedrock.rb +239 -98
  381. data/lib/openai/resources/admin/organization/groups/roles.rb +8 -8
  382. data/lib/openai/resources/admin/organization/groups/users.rb +8 -8
  383. data/lib/openai/resources/admin/organization/projects/api_keys.rb +8 -8
  384. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +24 -24
  385. data/lib/openai/resources/admin/organization/projects/groups.rb +8 -8
  386. data/lib/openai/resources/admin/organization/projects/hosted_tool_permissions.rb +3 -2
  387. data/lib/openai/resources/admin/organization/projects/rate_limits.rb +10 -8
  388. data/lib/openai/resources/admin/organization/projects/roles.rb +12 -12
  389. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +6 -6
  390. data/lib/openai/resources/admin/organization/projects/service_accounts.rb +14 -16
  391. data/lib/openai/resources/admin/organization/projects/spend_alerts.rb +12 -12
  392. data/lib/openai/resources/admin/organization/projects/users/roles.rb +24 -24
  393. data/lib/openai/resources/admin/organization/projects/users.rb +12 -12
  394. data/lib/openai/resources/admin/organization/projects.rb +12 -9
  395. data/lib/openai/resources/admin/organization/users/roles.rb +8 -8
  396. data/lib/openai/resources/audio/transcriptions.rb +2 -0
  397. data/lib/openai/resources/beta/responses.rb +6 -2
  398. data/lib/openai/resources/beta/threads/messages.rb +12 -12
  399. data/lib/openai/resources/beta/threads/runs/steps.rb +12 -12
  400. data/lib/openai/resources/beta/threads/runs.rb +24 -20
  401. data/lib/openai/resources/beta/threads.rb +2 -0
  402. data/lib/openai/resources/chat/completions.rb +6 -97
  403. data/lib/openai/resources/completions.rb +2 -0
  404. data/lib/openai/resources/containers/files/content.rb +4 -4
  405. data/lib/openai/resources/containers/files.rb +8 -8
  406. data/lib/openai/resources/conversations/items.rb +8 -8
  407. data/lib/openai/resources/evals/runs/output_items.rb +12 -12
  408. data/lib/openai/resources/evals/runs.rb +12 -12
  409. data/lib/openai/resources/files.rb +40 -1
  410. data/lib/openai/resources/fine_tuning/checkpoints/permissions.rb +4 -4
  411. data/lib/openai/resources/images.rb +4 -0
  412. data/lib/openai/resources/realtime/calls.rb +54 -0
  413. data/lib/openai/resources/responses.rb +13 -139
  414. data/lib/openai/resources/skills/versions/content.rb +4 -4
  415. data/lib/openai/resources/skills/versions.rb +8 -8
  416. data/lib/openai/resources/vector_stores/file_batches.rb +197 -13
  417. data/lib/openai/resources/vector_stores/files.rb +211 -17
  418. data/lib/openai/resources/webhooks.rb +12 -15
  419. data/lib/openai/version.rb +1 -1
  420. data/lib/openai.rb +28 -6
  421. data/manifest.yaml +0 -2
  422. data/rbi/openai/auth/x509_token_exchange.rbi +29 -0
  423. data/rbi/openai/auth/x509_transport.rbi +57 -0
  424. data/rbi/openai/auth/x509_workload_identity.rbi +45 -0
  425. data/rbi/openai/auth.rbi +24 -1
  426. data/rbi/openai/client.rbi +107 -2
  427. data/rbi/openai/errors.rbi +35 -6
  428. data/rbi/openai/file_part.rbi +33 -1
  429. data/rbi/openai/helpers/client_options.rbi +33 -0
  430. data/rbi/openai/helpers/data_residency.rbi +25 -0
  431. data/rbi/openai/helpers/realtime/connection.rbi +93 -0
  432. data/rbi/openai/helpers/realtime/connection_manager.rbi +46 -0
  433. data/rbi/openai/helpers/realtime/connection_resources.rbi +109 -0
  434. data/rbi/openai/helpers/realtime/extensions.rbi +169 -0
  435. data/rbi/openai/helpers/realtime/sideband_connection.rbi +24 -0
  436. data/rbi/openai/helpers/realtime/transports/async_websocket.rbi +70 -0
  437. data/rbi/openai/helpers/realtime/unknown_server_event.rbi +26 -0
  438. data/rbi/openai/helpers/resource_polling.rbi +63 -0
  439. data/rbi/openai/helpers/streaming/response_stream.rbi +19 -17
  440. data/rbi/openai/helpers/structured_output/chat_completion_parser.rbi +42 -0
  441. data/rbi/openai/helpers/structured_output/enum_of.rbi +3 -1
  442. data/rbi/openai/helpers/structured_output/json_schema_converter.rbi +27 -27
  443. data/rbi/openai/helpers/structured_output/response_parser.rbi +33 -0
  444. data/rbi/openai/helpers/structured_output/union_of.rbi +3 -3
  445. data/rbi/openai/http_client.rbi +6 -3
  446. data/rbi/openai/internal/logging.rbi +15 -8
  447. data/rbi/openai/internal/poller.rbi +55 -0
  448. data/rbi/openai/internal/provider.rbi +3 -6
  449. data/rbi/openai/internal/read_io_adapter.rbi +4 -2
  450. data/rbi/openai/internal/request_options_scope.rbi +21 -0
  451. data/rbi/openai/internal/stream.rbi +1 -2
  452. data/rbi/openai/internal/transport/base_client.rbi +161 -137
  453. data/rbi/openai/internal/type/array_of.rbi +14 -14
  454. data/rbi/openai/internal/type/base_model.rbi +61 -65
  455. data/rbi/openai/internal/type/base_page.rbi +2 -1
  456. data/rbi/openai/internal/type/base_stream.rbi +11 -11
  457. data/rbi/openai/internal/type/converter.rbi +83 -81
  458. data/rbi/openai/internal/type/hash_of.rbi +14 -14
  459. data/rbi/openai/internal/type/union.rbi +13 -14
  460. data/rbi/openai/internal/util.rbi +73 -72
  461. data/rbi/openai/internal/vector_store_file_uploader.rbi +31 -0
  462. data/rbi/openai/internal.rbi +1 -2
  463. data/rbi/openai/models/admin/organization/admin_api_key.rbi +57 -29
  464. data/rbi/openai/models/admin/organization/admin_api_key_create_params.rbi +23 -13
  465. data/rbi/openai/models/admin/organization/admin_api_key_create_response.rbi +78 -10
  466. data/rbi/openai/models/admin/organization/admin_api_key_delete_params.rbi +21 -9
  467. data/rbi/openai/models/admin/organization/admin_api_key_delete_response.rbi +26 -10
  468. data/rbi/openai/models/admin/organization/admin_api_key_list_params.rbi +33 -50
  469. data/rbi/openai/models/admin/organization/admin_api_key_retrieve_params.rbi +21 -9
  470. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +648 -793
  471. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +3003 -2915
  472. data/rbi/openai/models/admin/organization/certificate.rbi +66 -67
  473. data/rbi/openai/models/admin/organization/certificate_activate_params.rbi +25 -13
  474. data/rbi/openai/models/admin/organization/certificate_activate_response.rbi +58 -32
  475. data/rbi/openai/models/admin/organization/certificate_create_params.rbi +23 -13
  476. data/rbi/openai/models/admin/organization/certificate_deactivate_params.rbi +25 -13
  477. data/rbi/openai/models/admin/organization/certificate_deactivate_response.rbi +58 -32
  478. data/rbi/openai/models/admin/organization/certificate_delete_params.rbi +25 -13
  479. data/rbi/openai/models/admin/organization/certificate_delete_response.rbi +31 -9
  480. data/rbi/openai/models/admin/organization/certificate_list_params.rbi +33 -50
  481. data/rbi/openai/models/admin/organization/certificate_list_response.rbi +58 -32
  482. data/rbi/openai/models/admin/organization/certificate_retrieve_params.rbi +38 -53
  483. data/rbi/openai/models/admin/organization/certificate_update_params.rbi +23 -13
  484. data/rbi/openai/models/admin/organization/cost_quantity_unit.rbi +51 -0
  485. data/rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi +15 -8
  486. data/rbi/openai/models/admin/organization/data_retention_update_params.rbi +45 -49
  487. data/rbi/openai/models/admin/organization/group.rbi +35 -37
  488. data/rbi/openai/models/admin/organization/group_create_params.rbi +21 -9
  489. data/rbi/openai/models/admin/organization/group_delete_params.rbi +25 -10
  490. data/rbi/openai/models/admin/organization/group_delete_response.rbi +27 -10
  491. data/rbi/openai/models/admin/organization/group_list_params.rbi +33 -50
  492. data/rbi/openai/models/admin/organization/group_retrieve_params.rbi +25 -10
  493. data/rbi/openai/models/admin/organization/group_update_params.rbi +23 -13
  494. data/rbi/openai/models/admin/organization/group_update_response.rbi +26 -14
  495. data/rbi/openai/models/admin/organization/groups/organization_group_user.rbi +26 -9
  496. data/rbi/openai/models/admin/organization/groups/role_create_params.rbi +25 -13
  497. data/rbi/openai/models/admin/organization/groups/role_create_response.rbi +49 -37
  498. data/rbi/openai/models/admin/organization/groups/role_delete_params.rbi +30 -14
  499. data/rbi/openai/models/admin/organization/groups/role_delete_response.rbi +30 -10
  500. data/rbi/openai/models/admin/organization/groups/role_list_params.rbi +39 -50
  501. data/rbi/openai/models/admin/organization/groups/role_list_response.rbi +72 -38
  502. data/rbi/openai/models/admin/organization/groups/role_retrieve_params.rbi +30 -14
  503. data/rbi/openai/models/admin/organization/groups/role_retrieve_response.rbi +72 -38
  504. data/rbi/openai/models/admin/organization/groups/user_create_params.rbi +25 -13
  505. data/rbi/openai/models/admin/organization/groups/user_create_response.rbi +29 -10
  506. data/rbi/openai/models/admin/organization/groups/user_delete_params.rbi +30 -14
  507. data/rbi/openai/models/admin/organization/groups/user_delete_response.rbi +30 -10
  508. data/rbi/openai/models/admin/organization/groups/user_list_params.rbi +39 -50
  509. data/rbi/openai/models/admin/organization/groups/user_retrieve_params.rbi +30 -14
  510. data/rbi/openai/models/admin/organization/groups/user_retrieve_response.rbi +48 -39
  511. data/rbi/openai/models/admin/organization/invite.rbi +71 -115
  512. data/rbi/openai/models/admin/organization/invite_create_params.rbi +60 -111
  513. data/rbi/openai/models/admin/organization/invite_delete_params.rbi +25 -10
  514. data/rbi/openai/models/admin/organization/invite_delete_response.rbi +27 -10
  515. data/rbi/openai/models/admin/organization/invite_list_params.rbi +23 -13
  516. data/rbi/openai/models/admin/organization/invite_retrieve_params.rbi +25 -10
  517. data/rbi/openai/models/admin/organization/organization_data_retention.rbi +45 -55
  518. data/rbi/openai/models/admin/organization/organization_spend_alert.rbi +74 -91
  519. data/rbi/openai/models/admin/organization/organization_spend_alert_deleted.rbi +28 -12
  520. data/rbi/openai/models/admin/organization/organization_spend_limit.rbi +92 -149
  521. data/rbi/openai/models/admin/organization/organization_spend_limit_deleted.rbi +29 -12
  522. data/rbi/openai/models/admin/organization/organization_user.rbi +119 -87
  523. data/rbi/openai/models/admin/organization/project.rbi +44 -8
  524. data/rbi/openai/models/admin/organization/project_archive_params.rbi +25 -10
  525. data/rbi/openai/models/admin/organization/project_create_params.rbi +46 -10
  526. data/rbi/openai/models/admin/organization/project_list_params.rbi +25 -14
  527. data/rbi/openai/models/admin/organization/project_residency.rbi +48 -0
  528. data/rbi/openai/models/admin/organization/project_retrieve_params.rbi +25 -10
  529. data/rbi/openai/models/admin/organization/project_update_params.rbi +30 -10
  530. data/rbi/openai/models/admin/organization/projects/api_key_delete_params.rbi +30 -14
  531. data/rbi/openai/models/admin/organization/projects/api_key_delete_response.rbi +28 -10
  532. data/rbi/openai/models/admin/organization/projects/api_key_list_params.rbi +56 -51
  533. data/rbi/openai/models/admin/organization/projects/api_key_retrieve_params.rbi +30 -14
  534. data/rbi/openai/models/admin/organization/projects/certificate_activate_params.rbi +30 -14
  535. data/rbi/openai/models/admin/organization/projects/certificate_activate_response.rbi +60 -32
  536. data/rbi/openai/models/admin/organization/projects/certificate_deactivate_params.rbi +30 -14
  537. data/rbi/openai/models/admin/organization/projects/certificate_deactivate_response.rbi +60 -32
  538. data/rbi/openai/models/admin/organization/projects/certificate_list_params.rbi +40 -47
  539. data/rbi/openai/models/admin/organization/projects/certificate_list_response.rbi +58 -32
  540. data/rbi/openai/models/admin/organization/projects/data_retention_retrieve_params.rbi +27 -10
  541. data/rbi/openai/models/admin/organization/projects/data_retention_update_params.rbi +56 -56
  542. data/rbi/openai/models/admin/organization/projects/group_create_params.rbi +27 -14
  543. data/rbi/openai/models/admin/organization/projects/group_delete_params.rbi +30 -14
  544. data/rbi/openai/models/admin/organization/projects/group_delete_response.rbi +30 -10
  545. data/rbi/openai/models/admin/organization/projects/group_list_params.rbi +41 -50
  546. data/rbi/openai/models/admin/organization/projects/group_retrieve_params.rbi +43 -47
  547. data/rbi/openai/models/admin/organization/projects/groups/role_create_params.rbi +29 -14
  548. data/rbi/openai/models/admin/organization/projects/groups/role_create_response.rbi +55 -40
  549. data/rbi/openai/models/admin/organization/projects/groups/role_delete_params.rbi +29 -14
  550. data/rbi/openai/models/admin/organization/projects/groups/role_delete_response.rbi +32 -10
  551. data/rbi/openai/models/admin/organization/projects/groups/role_list_params.rbi +48 -47
  552. data/rbi/openai/models/admin/organization/projects/groups/role_list_response.rbi +78 -36
  553. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_params.rbi +29 -14
  554. data/rbi/openai/models/admin/organization/projects/groups/role_retrieve_response.rbi +77 -33
  555. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbi +27 -10
  556. data/rbi/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbi +209 -159
  557. data/rbi/openai/models/admin/organization/projects/model_permission_delete_params.rbi +27 -10
  558. data/rbi/openai/models/admin/organization/projects/model_permission_retrieve_params.rbi +27 -10
  559. data/rbi/openai/models/admin/organization/projects/model_permission_update_params.rbi +43 -39
  560. data/rbi/openai/models/admin/organization/projects/project_api_key.rbi +140 -163
  561. data/rbi/openai/models/admin/organization/projects/project_data_retention.rbi +53 -62
  562. data/rbi/openai/models/admin/organization/projects/project_group.rbi +46 -42
  563. data/rbi/openai/models/admin/organization/projects/project_hosted_tool_permissions.rbi +168 -124
  564. data/rbi/openai/models/admin/organization/projects/project_model_permissions.rbi +41 -38
  565. data/rbi/openai/models/admin/organization/projects/project_model_permissions_deleted.rbi +31 -12
  566. data/rbi/openai/models/admin/organization/projects/project_rate_limit.rbi +37 -8
  567. data/rbi/openai/models/admin/organization/projects/project_service_account.rbi +41 -44
  568. data/rbi/openai/models/admin/organization/projects/project_spend_alert.rbi +76 -87
  569. data/rbi/openai/models/admin/organization/projects/project_spend_alert_deleted.rbi +29 -10
  570. data/rbi/openai/models/admin/organization/projects/project_spend_limit.rbi +103 -149
  571. data/rbi/openai/models/admin/organization/projects/project_spend_limit_deleted.rbi +30 -10
  572. data/rbi/openai/models/admin/organization/projects/project_user.rbi +31 -8
  573. data/rbi/openai/models/admin/organization/projects/rate_limit_list_rate_limits_params.rbi +28 -8
  574. data/rbi/openai/models/admin/organization/projects/rate_limit_update_rate_limit_params.rbi +36 -8
  575. data/rbi/openai/models/admin/organization/projects/role_create_params.rbi +28 -8
  576. data/rbi/openai/models/admin/organization/projects/role_delete_params.rbi +30 -14
  577. data/rbi/openai/models/admin/organization/projects/role_delete_response.rbi +29 -10
  578. data/rbi/openai/models/admin/organization/projects/role_list_params.rbi +41 -50
  579. data/rbi/openai/models/admin/organization/projects/role_retrieve_params.rbi +30 -14
  580. data/rbi/openai/models/admin/organization/projects/role_update_params.rbi +30 -8
  581. data/rbi/openai/models/admin/organization/projects/service_account_create_params.rbi +26 -8
  582. data/rbi/openai/models/admin/organization/projects/service_account_create_response.rbi +85 -73
  583. data/rbi/openai/models/admin/organization/projects/service_account_delete_params.rbi +30 -14
  584. data/rbi/openai/models/admin/organization/projects/service_account_delete_response.rbi +28 -10
  585. data/rbi/openai/models/admin/organization/projects/service_account_list_params.rbi +27 -14
  586. data/rbi/openai/models/admin/organization/projects/service_account_retrieve_params.rbi +30 -14
  587. data/rbi/openai/models/admin/organization/projects/service_account_update_params.rbi +50 -47
  588. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +30 -8
  589. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +32 -15
  590. data/rbi/openai/models/admin/organization/projects/spend_alert_create_params.rbi +78 -87
  591. data/rbi/openai/models/admin/organization/projects/spend_alert_delete_params.rbi +30 -14
  592. data/rbi/openai/models/admin/organization/projects/spend_alert_list_params.rbi +42 -47
  593. data/rbi/openai/models/admin/organization/projects/spend_alert_retrieve_params.rbi +30 -14
  594. data/rbi/openai/models/admin/organization/projects/spend_alert_update_params.rbi +80 -87
  595. data/rbi/openai/models/admin/organization/projects/spend_limit_delete_params.rbi +27 -10
  596. data/rbi/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbi +27 -10
  597. data/rbi/openai/models/admin/organization/projects/spend_limit_update_params.rbi +51 -60
  598. data/rbi/openai/models/admin/organization/projects/user_create_params.rbi +28 -8
  599. data/rbi/openai/models/admin/organization/projects/user_delete_params.rbi +30 -14
  600. data/rbi/openai/models/admin/organization/projects/user_delete_response.rbi +28 -10
  601. data/rbi/openai/models/admin/organization/projects/user_list_params.rbi +27 -14
  602. data/rbi/openai/models/admin/organization/projects/user_retrieve_params.rbi +30 -14
  603. data/rbi/openai/models/admin/organization/projects/user_update_params.rbi +27 -14
  604. data/rbi/openai/models/admin/organization/projects/users/role_create_params.rbi +29 -14
  605. data/rbi/openai/models/admin/organization/projects/users/role_create_response.rbi +29 -16
  606. data/rbi/openai/models/admin/organization/projects/users/role_delete_params.rbi +35 -15
  607. data/rbi/openai/models/admin/organization/projects/users/role_delete_response.rbi +32 -10
  608. data/rbi/openai/models/admin/organization/projects/users/role_list_params.rbi +44 -47
  609. data/rbi/openai/models/admin/organization/projects/users/role_list_response.rbi +76 -36
  610. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_params.rbi +35 -15
  611. data/rbi/openai/models/admin/organization/projects/users/role_retrieve_response.rbi +77 -33
  612. data/rbi/openai/models/admin/organization/role.rbi +31 -8
  613. data/rbi/openai/models/admin/organization/role_create_params.rbi +24 -8
  614. data/rbi/openai/models/admin/organization/role_delete_params.rbi +25 -10
  615. data/rbi/openai/models/admin/organization/role_delete_response.rbi +27 -10
  616. data/rbi/openai/models/admin/organization/role_list_params.rbi +33 -50
  617. data/rbi/openai/models/admin/organization/role_retrieve_params.rbi +25 -10
  618. data/rbi/openai/models/admin/organization/role_update_params.rbi +26 -8
  619. data/rbi/openai/models/admin/organization/spend_alert_create_params.rbi +71 -91
  620. data/rbi/openai/models/admin/organization/spend_alert_delete_params.rbi +25 -10
  621. data/rbi/openai/models/admin/organization/spend_alert_list_params.rbi +35 -50
  622. data/rbi/openai/models/admin/organization/spend_alert_retrieve_params.rbi +25 -10
  623. data/rbi/openai/models/admin/organization/spend_alert_update_params.rbi +73 -91
  624. data/rbi/openai/models/admin/organization/spend_limit_delete_params.rbi +15 -8
  625. data/rbi/openai/models/admin/organization/spend_limit_retrieve_params.rbi +15 -8
  626. data/rbi/openai/models/admin/organization/spend_limit_update_params.rbi +46 -66
  627. data/rbi/openai/models/admin/organization/usage_audio_speeches_params.rbi +86 -111
  628. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +404 -197
  629. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_params.rbi +93 -109
  630. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +403 -192
  631. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_params.rbi +79 -91
  632. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +402 -189
  633. data/rbi/openai/models/admin/organization/usage_completions_params.rbi +83 -125
  634. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +404 -197
  635. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +54 -100
  636. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +400 -197
  637. data/rbi/openai/models/admin/organization/usage_embeddings_params.rbi +76 -115
  638. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +404 -197
  639. data/rbi/openai/models/admin/organization/usage_file_search_calls_params.rbi +89 -111
  640. data/rbi/openai/models/admin/organization/usage_file_search_calls_response.rbi +404 -195
  641. data/rbi/openai/models/admin/organization/usage_images_params.rbi +95 -245
  642. data/rbi/openai/models/admin/organization/usage_images_response.rbi +400 -197
  643. data/rbi/openai/models/admin/organization/usage_moderations_params.rbi +76 -115
  644. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +404 -197
  645. data/rbi/openai/models/admin/organization/usage_vector_stores_params.rbi +69 -96
  646. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +404 -197
  647. data/rbi/openai/models/admin/organization/usage_web_search_calls_params.rbi +111 -167
  648. data/rbi/openai/models/admin/organization/usage_web_search_calls_response.rbi +404 -195
  649. data/rbi/openai/models/admin/organization/user_delete_params.rbi +25 -10
  650. data/rbi/openai/models/admin/organization/user_delete_response.rbi +31 -11
  651. data/rbi/openai/models/admin/organization/user_list_params.rbi +25 -14
  652. data/rbi/openai/models/admin/organization/user_retrieve_params.rbi +25 -10
  653. data/rbi/openai/models/admin/organization/user_update_params.rbi +28 -8
  654. data/rbi/openai/models/admin/organization/users/role_create_params.rbi +25 -13
  655. data/rbi/openai/models/admin/organization/users/role_create_response.rbi +26 -13
  656. data/rbi/openai/models/admin/organization/users/role_delete_params.rbi +30 -14
  657. data/rbi/openai/models/admin/organization/users/role_delete_response.rbi +30 -10
  658. data/rbi/openai/models/admin/organization/users/role_list_params.rbi +39 -50
  659. data/rbi/openai/models/admin/organization/users/role_list_response.rbi +72 -38
  660. data/rbi/openai/models/admin/organization/users/role_retrieve_params.rbi +30 -14
  661. data/rbi/openai/models/admin/organization/users/role_retrieve_response.rbi +72 -38
  662. data/rbi/openai/models/all_models.rbi +43 -94
  663. data/rbi/openai/models/audio/speech_create_params.rbi +108 -188
  664. data/rbi/openai/models/audio/speech_model.rbi +9 -13
  665. data/rbi/openai/models/audio/transcription.rbi +124 -100
  666. data/rbi/openai/models/audio/transcription_create_params.rbi +107 -149
  667. data/rbi/openai/models/audio/transcription_create_response.rbi +12 -14
  668. data/rbi/openai/models/audio/transcription_diarized.rbi +111 -81
  669. data/rbi/openai/models/audio/transcription_diarized_segment.rbi +28 -16
  670. data/rbi/openai/models/audio/transcription_include.rbi +7 -9
  671. data/rbi/openai/models/audio/transcription_language.rbi +26 -9
  672. data/rbi/openai/models/audio/transcription_segment.rbi +35 -8
  673. data/rbi/openai/models/audio/transcription_stream_event.rbi +12 -12
  674. data/rbi/openai/models/audio/transcription_text_delta_event.rbi +44 -38
  675. data/rbi/openai/models/audio/transcription_text_done_event.rbi +95 -89
  676. data/rbi/openai/models/audio/transcription_text_segment_event.rbi +28 -16
  677. data/rbi/openai/models/audio/transcription_verbose.rbi +55 -31
  678. data/rbi/openai/models/audio/transcription_word.rbi +29 -7
  679. data/rbi/openai/models/audio/translation.rbi +28 -7
  680. data/rbi/openai/models/audio/translation_create_params.rbi +41 -72
  681. data/rbi/openai/models/audio/translation_create_response.rbi +11 -8
  682. data/rbi/openai/models/audio/translation_verbose.rbi +26 -19
  683. data/rbi/openai/models/audio_model.rbi +7 -13
  684. data/rbi/openai/models/audio_response_format.rbi +5 -7
  685. data/rbi/openai/models/auto_file_chunking_strategy_param.rbi +24 -9
  686. data/rbi/openai/models/batch.rbi +72 -8
  687. data/rbi/openai/models/batch_cancel_params.rbi +21 -7
  688. data/rbi/openai/models/batch_create_params.rbi +63 -87
  689. data/rbi/openai/models/batch_error.rbi +22 -9
  690. data/rbi/openai/models/batch_list_params.rbi +19 -10
  691. data/rbi/openai/models/batch_request_counts.rbi +23 -7
  692. data/rbi/openai/models/batch_retrieve_params.rbi +21 -7
  693. data/rbi/openai/models/batch_usage.rbi +68 -33
  694. data/rbi/openai/models/beta/assistant.rbi +121 -94
  695. data/rbi/openai/models/beta/assistant_create_params.rbi +258 -244
  696. data/rbi/openai/models/beta/assistant_delete_params.rbi +23 -10
  697. data/rbi/openai/models/beta/assistant_deleted.rbi +31 -8
  698. data/rbi/openai/models/beta/assistant_list_params.rbi +30 -24
  699. data/rbi/openai/models/beta/assistant_response_format_option.rbi +13 -13
  700. data/rbi/openai/models/beta/assistant_retrieve_params.rbi +23 -10
  701. data/rbi/openai/models/beta/assistant_stream_event.rbi +388 -279
  702. data/rbi/openai/models/beta/assistant_tool.rbi +13 -11
  703. data/rbi/openai/models/beta/assistant_tool_choice.rbi +25 -35
  704. data/rbi/openai/models/beta/assistant_tool_choice_function.rbi +26 -9
  705. data/rbi/openai/models/beta/assistant_tool_choice_option.rbi +17 -38
  706. data/rbi/openai/models/beta/assistant_update_params.rbi +230 -392
  707. data/rbi/openai/models/beta/beta_apply_patch_tool.rbi +27 -48
  708. data/rbi/openai/models/beta/beta_compacted_response.rbi +61 -47
  709. data/rbi/openai/models/beta/beta_computer_action.rbi +233 -159
  710. data/rbi/openai/models/beta/beta_computer_action_list.rbi +9 -9
  711. data/rbi/openai/models/beta/beta_computer_tool.rbi +26 -6
  712. data/rbi/openai/models/beta/beta_computer_use_preview_tool.rbi +34 -57
  713. data/rbi/openai/models/beta/beta_container_auto.rbi +70 -132
  714. data/rbi/openai/models/beta/beta_container_network_policy_allowlist.rbi +26 -31
  715. data/rbi/openai/models/beta/beta_container_network_policy_disabled.rbi +27 -11
  716. data/rbi/openai/models/beta/beta_container_network_policy_domain_secret.rbi +28 -12
  717. data/rbi/openai/models/beta/beta_container_reference.rbi +27 -9
  718. data/rbi/openai/models/beta/beta_custom_tool.rbi +97 -130
  719. data/rbi/openai/models/beta/beta_easy_input_message.rbi +47 -94
  720. data/rbi/openai/models/beta/beta_file_search_tool.rbi +283 -390
  721. data/rbi/openai/models/beta/beta_function_shell_tool.rbi +52 -82
  722. data/rbi/openai/models/beta/beta_function_tool.rbi +39 -46
  723. data/rbi/openai/models/beta/beta_inline_skill.rbi +24 -11
  724. data/rbi/openai/models/beta/beta_inline_skill_source.rbi +27 -10
  725. data/rbi/openai/models/beta/beta_local_environment.rbi +21 -9
  726. data/rbi/openai/models/beta/beta_local_skill.rbi +27 -7
  727. data/rbi/openai/models/beta/beta_mcp_tool_call_error.rbi +167 -0
  728. data/rbi/openai/models/beta/beta_namespace_tool.rbi +76 -93
  729. data/rbi/openai/models/beta/beta_response.rbi +740 -1298
  730. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call.rbi +201 -164
  731. data/rbi/openai/models/beta/beta_response_apply_patch_tool_call_output.rbi +121 -114
  732. data/rbi/openai/models/beta/beta_response_audio_delta_event.rbi +47 -32
  733. data/rbi/openai/models/beta/beta_response_audio_done_event.rbi +46 -35
  734. data/rbi/openai/models/beta/beta_response_audio_transcript_delta_event.rbi +49 -42
  735. data/rbi/openai/models/beta/beta_response_audio_transcript_done_event.rbi +47 -40
  736. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbi +55 -42
  737. data/rbi/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbi +55 -42
  738. data/rbi/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbi +53 -42
  739. data/rbi/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbi +53 -42
  740. data/rbi/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbi +53 -42
  741. data/rbi/openai/models/beta/beta_response_code_interpreter_tool_call.rbi +137 -138
  742. data/rbi/openai/models/beta/beta_response_compaction_item.rbi +48 -25
  743. data/rbi/openai/models/beta/beta_response_compaction_item_param.rbi +48 -36
  744. data/rbi/openai/models/beta/beta_response_completed_event.rbi +47 -30
  745. data/rbi/openai/models/beta/beta_response_computer_tool_call.rbi +151 -181
  746. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_item.rbi +105 -135
  747. data/rbi/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbi +28 -12
  748. data/rbi/openai/models/beta/beta_response_container_reference.rbi +27 -9
  749. data/rbi/openai/models/beta/beta_response_content.rbi +39 -24
  750. data/rbi/openai/models/beta/beta_response_content_part_added_event.rbi +93 -74
  751. data/rbi/openai/models/beta/beta_response_content_part_done_event.rbi +93 -72
  752. data/rbi/openai/models/beta/beta_response_conversation_param.rbi +26 -9
  753. data/rbi/openai/models/beta/beta_response_created_event.rbi +47 -28
  754. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +119 -77
  755. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbi +53 -42
  756. data/rbi/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbi +53 -42
  757. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +84 -49
  758. data/rbi/openai/models/beta/beta_response_custom_tool_call_output.rbi +139 -129
  759. data/rbi/openai/models/beta/beta_response_custom_tool_call_output_item.rbi +74 -51
  760. data/rbi/openai/models/beta/beta_response_error.rbi +52 -119
  761. data/rbi/openai/models/beta/beta_response_error_event.rbi +50 -25
  762. data/rbi/openai/models/beta/beta_response_failed_event.rbi +46 -25
  763. data/rbi/openai/models/beta/beta_response_file_search_call_completed_event.rbi +51 -42
  764. data/rbi/openai/models/beta/beta_response_file_search_call_in_progress_event.rbi +51 -42
  765. data/rbi/openai/models/beta/beta_response_file_search_call_searching_event.rbi +51 -42
  766. data/rbi/openai/models/beta/beta_response_file_search_tool_call.rbi +97 -138
  767. data/rbi/openai/models/beta/beta_response_format_text_config.rbi +53 -29
  768. data/rbi/openai/models/beta/beta_response_format_text_json_schema_config.rbi +26 -10
  769. data/rbi/openai/models/beta/beta_response_function_call_arguments_delta_event.rbi +53 -42
  770. data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +54 -42
  771. data/rbi/openai/models/beta/beta_response_function_call_output_item.rbi +13 -14
  772. data/rbi/openai/models/beta/beta_response_function_call_output_item_list.rbi +11 -11
  773. data/rbi/openai/models/beta/beta_response_function_shell_call_output_content.rbi +83 -52
  774. data/rbi/openai/models/beta/beta_response_function_shell_tool_call.rbi +155 -170
  775. data/rbi/openai/models/beta/beta_response_function_shell_tool_call_output.rbi +203 -187
  776. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +131 -123
  777. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +84 -49
  778. data/rbi/openai/models/beta/beta_response_function_tool_call_output_item.rbi +156 -174
  779. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +167 -161
  780. data/rbi/openai/models/beta/beta_response_image_gen_call_completed_event.rbi +51 -42
  781. data/rbi/openai/models/beta/beta_response_image_gen_call_generating_event.rbi +51 -42
  782. data/rbi/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbi +51 -42
  783. data/rbi/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbi +107 -42
  784. data/rbi/openai/models/beta/beta_response_in_progress_event.rbi +47 -32
  785. data/rbi/openai/models/beta/beta_response_includable.rbi +35 -47
  786. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +47 -32
  787. data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +24 -14
  788. data/rbi/openai/models/beta/beta_response_inject_event.rbi +101 -90
  789. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +134 -139
  790. data/rbi/openai/models/beta/beta_response_input.rbi +9 -9
  791. data/rbi/openai/models/beta/beta_response_input_audio.rbi +43 -65
  792. data/rbi/openai/models/beta/beta_response_input_content.rbi +12 -12
  793. data/rbi/openai/models/beta/beta_response_input_file.rbi +63 -70
  794. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +71 -81
  795. data/rbi/openai/models/beta/beta_response_input_image.rbi +58 -65
  796. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +67 -85
  797. data/rbi/openai/models/beta/beta_response_input_item.rbi +2143 -2434
  798. data/rbi/openai/models/beta/beta_response_input_message_content_list.rbi +11 -11
  799. data/rbi/openai/models/beta/beta_response_input_message_item.rbi +77 -122
  800. data/rbi/openai/models/beta/beta_response_input_text.rbi +48 -34
  801. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +54 -39
  802. data/rbi/openai/models/beta/beta_response_item.rbi +1024 -1077
  803. data/rbi/openai/models/beta/beta_response_local_environment.rbi +26 -9
  804. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbi +53 -42
  805. data/rbi/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbi +53 -42
  806. data/rbi/openai/models/beta/beta_response_mcp_call_completed_event.rbi +50 -38
  807. data/rbi/openai/models/beta/beta_response_mcp_call_failed_event.rbi +50 -36
  808. data/rbi/openai/models/beta/beta_response_mcp_call_in_progress_event.rbi +51 -40
  809. data/rbi/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbi +51 -42
  810. data/rbi/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbi +51 -40
  811. data/rbi/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbi +51 -42
  812. data/rbi/openai/models/beta/beta_response_output_audio.rbi +27 -10
  813. data/rbi/openai/models/beta/beta_response_output_item.rbi +1086 -1109
  814. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +91 -72
  815. data/rbi/openai/models/beta/beta_response_output_item_done_event.rbi +83 -70
  816. data/rbi/openai/models/beta/beta_response_output_message.rbi +76 -129
  817. data/rbi/openai/models/beta/beta_response_output_refusal.rbi +29 -9
  818. data/rbi/openai/models/beta/beta_response_output_text.rbi +180 -136
  819. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +372 -44
  820. data/rbi/openai/models/beta/beta_response_prompt.rbi +55 -45
  821. data/rbi/openai/models/beta/beta_response_queued_event.rbi +46 -25
  822. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +125 -110
  823. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbi +83 -66
  824. data/rbi/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbi +96 -100
  825. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbi +55 -42
  826. data/rbi/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbi +55 -42
  827. data/rbi/openai/models/beta/beta_response_reasoning_text_delta_event.rbi +55 -40
  828. data/rbi/openai/models/beta/beta_response_reasoning_text_done_event.rbi +55 -40
  829. data/rbi/openai/models/beta/beta_response_refusal_delta_event.rbi +54 -34
  830. data/rbi/openai/models/beta/beta_response_refusal_done_event.rbi +54 -34
  831. data/rbi/openai/models/beta/beta_response_shell_call_command_added_event.rbi +145 -0
  832. data/rbi/openai/models/beta/beta_response_shell_call_command_delta_event.rbi +158 -0
  833. data/rbi/openai/models/beta/beta_response_shell_call_command_done_event.rbi +145 -0
  834. data/rbi/openai/models/beta/beta_response_shell_call_output_content_delta_event.rbi +211 -0
  835. data/rbi/openai/models/beta/beta_response_shell_call_output_content_done_event.rbi +339 -0
  836. data/rbi/openai/models/beta/beta_response_status.rbi +10 -15
  837. data/rbi/openai/models/beta/beta_response_stream_event.rbi +67 -62
  838. data/rbi/openai/models/beta/beta_response_text_config.rbi +48 -70
  839. data/rbi/openai/models/beta/beta_response_text_delta_event.rbi +101 -81
  840. data/rbi/openai/models/beta/beta_response_text_done_event.rbi +101 -79
  841. data/rbi/openai/models/beta/beta_response_tool_search_call.rbi +68 -88
  842. data/rbi/openai/models/beta/beta_response_tool_search_output_item.rbi +90 -121
  843. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +115 -171
  844. data/rbi/openai/models/beta/beta_response_usage.rbi +69 -44
  845. data/rbi/openai/models/beta/beta_response_web_search_call_completed_event.rbi +51 -42
  846. data/rbi/openai/models/beta/beta_response_web_search_call_in_progress_event.rbi +51 -42
  847. data/rbi/openai/models/beta/beta_response_web_search_call_searching_event.rbi +51 -42
  848. data/rbi/openai/models/beta/beta_responses_client_event.rbi +1122 -1532
  849. data/rbi/openai/models/beta/beta_responses_server_event.rbi +2457 -1348
  850. data/rbi/openai/models/beta/beta_skill_reference.rbi +27 -7
  851. data/rbi/openai/models/beta/beta_tool.rbi +531 -931
  852. data/rbi/openai/models/beta/beta_tool_choice_allowed.rbi +26 -28
  853. data/rbi/openai/models/beta/beta_tool_choice_apply_patch.rbi +26 -9
  854. data/rbi/openai/models/beta/beta_tool_choice_custom.rbi +29 -6
  855. data/rbi/openai/models/beta/beta_tool_choice_function.rbi +29 -9
  856. data/rbi/openai/models/beta/beta_tool_choice_mcp.rbi +22 -6
  857. data/rbi/openai/models/beta/beta_tool_choice_options.rbi +7 -9
  858. data/rbi/openai/models/beta/beta_tool_choice_shell.rbi +26 -6
  859. data/rbi/openai/models/beta/beta_tool_choice_types.rbi +32 -56
  860. data/rbi/openai/models/beta/beta_tool_search_tool.rbi +30 -37
  861. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +74 -151
  862. data/rbi/openai/models/beta/beta_web_search_tool.rbi +102 -142
  863. data/rbi/openai/models/beta/chatkit/chat_session.rbi +43 -29
  864. data/rbi/openai/models/beta/chatkit/chat_session_automatic_thread_titling.rbi +28 -9
  865. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration.rbi +31 -31
  866. data/rbi/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbi +100 -90
  867. data/rbi/openai/models/beta/chatkit/chat_session_expires_after_param.rbi +29 -9
  868. data/rbi/openai/models/beta/chatkit/chat_session_file_upload.rbi +24 -13
  869. data/rbi/openai/models/beta/chatkit/chat_session_history.rbi +22 -9
  870. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits.rbi +26 -9
  871. data/rbi/openai/models/beta/chatkit/chat_session_rate_limits_param.rbi +26 -9
  872. data/rbi/openai/models/beta/chatkit/chat_session_status.rbi +12 -25
  873. data/rbi/openai/models/beta/chatkit/chat_session_workflow_param.rbi +67 -67
  874. data/rbi/openai/models/beta/chatkit/chatkit_attachment.rbi +34 -37
  875. data/rbi/openai/models/beta/chatkit/chatkit_response_output_text.rbi +117 -108
  876. data/rbi/openai/models/beta/chatkit/chatkit_thread.rbi +101 -57
  877. data/rbi/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbi +33 -19
  878. data/rbi/openai/models/beta/chatkit/chatkit_thread_item_list.rbi +193 -176
  879. data/rbi/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbi +153 -119
  880. data/rbi/openai/models/beta/chatkit/chatkit_widget_item.rbi +30 -16
  881. data/rbi/openai/models/beta/chatkit/session_cancel_params.rbi +25 -10
  882. data/rbi/openai/models/beta/chatkit/session_create_params.rbi +42 -58
  883. data/rbi/openai/models/beta/chatkit/thread_delete_params.rbi +25 -10
  884. data/rbi/openai/models/beta/chatkit/thread_delete_response.rbi +27 -10
  885. data/rbi/openai/models/beta/chatkit/thread_list_items_params.rbi +37 -50
  886. data/rbi/openai/models/beta/chatkit/thread_list_params.rbi +35 -42
  887. data/rbi/openai/models/beta/chatkit/thread_retrieve_params.rbi +25 -10
  888. data/rbi/openai/models/beta/chatkit_workflow.rbi +50 -46
  889. data/rbi/openai/models/beta/code_interpreter_tool.rbi +26 -6
  890. data/rbi/openai/models/beta/file_search_tool.rbi +66 -89
  891. data/rbi/openai/models/beta/function_tool.rbi +20 -6
  892. data/rbi/openai/models/beta/message_stream_event.rbi +84 -59
  893. data/rbi/openai/models/beta/response_cancel_params.rbi +34 -34
  894. data/rbi/openai/models/beta/response_compact_params.rbi +321 -793
  895. data/rbi/openai/models/beta/response_create_params.rbi +750 -1525
  896. data/rbi/openai/models/beta/response_delete_params.rbi +34 -34
  897. data/rbi/openai/models/beta/response_retrieve_params.rbi +38 -49
  898. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +63 -45
  899. data/rbi/openai/models/beta/responses/input_item_list_params.rbi +53 -109
  900. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +378 -691
  901. data/rbi/openai/models/beta/responses/input_token_count_response.rbi +31 -11
  902. data/rbi/openai/models/beta/run_step_stream_event.rbi +120 -102
  903. data/rbi/openai/models/beta/run_stream_event.rbi +158 -106
  904. data/rbi/openai/models/beta/thread.rbi +88 -66
  905. data/rbi/openai/models/beta/thread_create_and_run_params.rbi +512 -593
  906. data/rbi/openai/models/beta/thread_create_params.rbi +302 -330
  907. data/rbi/openai/models/beta/thread_delete_params.rbi +23 -7
  908. data/rbi/openai/models/beta/thread_deleted.rbi +31 -8
  909. data/rbi/openai/models/beta/thread_retrieve_params.rbi +23 -7
  910. data/rbi/openai/models/beta/thread_stream_event.rbi +21 -6
  911. data/rbi/openai/models/beta/thread_update_params.rbi +90 -81
  912. data/rbi/openai/models/beta/threads/annotation.rbi +13 -11
  913. data/rbi/openai/models/beta/threads/annotation_delta.rbi +13 -11
  914. data/rbi/openai/models/beta/threads/file_citation_annotation.rbi +52 -30
  915. data/rbi/openai/models/beta/threads/file_citation_delta_annotation.rbi +55 -34
  916. data/rbi/openai/models/beta/threads/file_path_annotation.rbi +50 -25
  917. data/rbi/openai/models/beta/threads/file_path_delta_annotation.rbi +54 -34
  918. data/rbi/openai/models/beta/threads/image_file.rbi +30 -44
  919. data/rbi/openai/models/beta/threads/image_file_content_block.rbi +23 -12
  920. data/rbi/openai/models/beta/threads/image_file_delta.rbi +30 -52
  921. data/rbi/openai/models/beta/threads/image_file_delta_block.rbi +25 -18
  922. data/rbi/openai/models/beta/threads/image_url.rbi +30 -41
  923. data/rbi/openai/models/beta/threads/image_url_content_block.rbi +23 -12
  924. data/rbi/openai/models/beta/threads/image_url_delta.rbi +30 -52
  925. data/rbi/openai/models/beta/threads/image_url_delta_block.rbi +25 -16
  926. data/rbi/openai/models/beta/threads/message.rbi +159 -212
  927. data/rbi/openai/models/beta/threads/message_content.rbi +15 -13
  928. data/rbi/openai/models/beta/threads/message_content_delta.rbi +15 -13
  929. data/rbi/openai/models/beta/threads/message_content_part_param.rbi +14 -12
  930. data/rbi/openai/models/beta/threads/message_create_params.rbi +116 -141
  931. data/rbi/openai/models/beta/threads/message_delete_params.rbi +28 -14
  932. data/rbi/openai/models/beta/threads/message_deleted.rbi +31 -11
  933. data/rbi/openai/models/beta/threads/message_delta.rbi +49 -71
  934. data/rbi/openai/models/beta/threads/message_delta_event.rbi +25 -16
  935. data/rbi/openai/models/beta/threads/message_list_params.rbi +38 -44
  936. data/rbi/openai/models/beta/threads/message_retrieve_params.rbi +28 -14
  937. data/rbi/openai/models/beta/threads/message_update_params.rbi +24 -8
  938. data/rbi/openai/models/beta/threads/refusal_content_block.rbi +29 -9
  939. data/rbi/openai/models/beta/threads/refusal_delta_block.rbi +29 -10
  940. data/rbi/openai/models/beta/threads/required_action_function_tool_call.rbi +49 -36
  941. data/rbi/openai/models/beta/threads/run.rbi +229 -298
  942. data/rbi/openai/models/beta/threads/run_cancel_params.rbi +28 -14
  943. data/rbi/openai/models/beta/threads/run_create_params.rbi +264 -330
  944. data/rbi/openai/models/beta/threads/run_list_params.rbi +35 -40
  945. data/rbi/openai/models/beta/threads/run_retrieve_params.rbi +28 -14
  946. data/rbi/openai/models/beta/threads/run_status.rbi +18 -29
  947. data/rbi/openai/models/beta/threads/run_submit_tool_outputs_params.rbi +48 -33
  948. data/rbi/openai/models/beta/threads/run_update_params.rbi +24 -8
  949. data/rbi/openai/models/beta/threads/runs/code_interpreter_logs.rbi +31 -10
  950. data/rbi/openai/models/beta/threads/runs/code_interpreter_output_image.rbi +50 -38
  951. data/rbi/openai/models/beta/threads/runs/code_interpreter_tool_call.rbi +130 -96
  952. data/rbi/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbi +78 -64
  953. data/rbi/openai/models/beta/threads/runs/file_search_tool_call.rbi +149 -172
  954. data/rbi/openai/models/beta/threads/runs/file_search_tool_call_delta.rbi +28 -14
  955. data/rbi/openai/models/beta/threads/runs/function_tool_call.rbi +46 -34
  956. data/rbi/openai/models/beta/threads/runs/function_tool_call_delta.rbi +48 -34
  957. data/rbi/openai/models/beta/threads/runs/message_creation_step_details.rbi +49 -30
  958. data/rbi/openai/models/beta/threads/runs/run_step.rbi +128 -193
  959. data/rbi/openai/models/beta/threads/runs/run_step_delta.rbi +42 -45
  960. data/rbi/openai/models/beta/threads/runs/run_step_delta_event.rbi +27 -18
  961. data/rbi/openai/models/beta/threads/runs/run_step_delta_message_delta.rbi +51 -37
  962. data/rbi/openai/models/beta/threads/runs/run_step_include.rbi +15 -17
  963. data/rbi/openai/models/beta/threads/runs/step_list_params.rbi +47 -75
  964. data/rbi/openai/models/beta/threads/runs/step_retrieve_params.rbi +32 -33
  965. data/rbi/openai/models/beta/threads/runs/tool_call.rbi +16 -12
  966. data/rbi/openai/models/beta/threads/runs/tool_call_delta.rbi +16 -12
  967. data/rbi/openai/models/beta/threads/runs/tool_call_delta_object.rbi +43 -41
  968. data/rbi/openai/models/beta/threads/runs/tool_calls_step_details.rbi +32 -24
  969. data/rbi/openai/models/beta/threads/text.rbi +28 -17
  970. data/rbi/openai/models/beta/threads/text_content_block.rbi +22 -9
  971. data/rbi/openai/models/beta/threads/text_content_block_param.rbi +31 -9
  972. data/rbi/openai/models/beta/threads/text_delta.rbi +37 -32
  973. data/rbi/openai/models/beta/threads/text_delta_block.rbi +24 -13
  974. data/rbi/openai/models/chat/chat_completion.rbi +333 -377
  975. data/rbi/openai/models/chat/chat_completion_allowed_tool_choice.rbi +21 -17
  976. data/rbi/openai/models/chat/chat_completion_allowed_tools.rbi +25 -33
  977. data/rbi/openai/models/chat/chat_completion_assistant_message_param.rbi +131 -149
  978. data/rbi/openai/models/chat/chat_completion_audio.rbi +24 -11
  979. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +83 -141
  980. data/rbi/openai/models/chat/chat_completion_chunk.rbi +464 -589
  981. data/rbi/openai/models/chat/chat_completion_content_part.rbi +75 -60
  982. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +78 -100
  983. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +78 -89
  984. data/rbi/openai/models/chat/chat_completion_content_part_refusal.rbi +29 -9
  985. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +49 -34
  986. data/rbi/openai/models/chat/chat_completion_custom_tool.rbi +131 -128
  987. data/rbi/openai/models/chat/chat_completion_deleted.rbi +27 -10
  988. data/rbi/openai/models/chat/chat_completion_developer_message_param.rbi +32 -44
  989. data/rbi/openai/models/chat/chat_completion_function_call_option.rbi +26 -9
  990. data/rbi/openai/models/chat/chat_completion_function_message_param.rbi +23 -11
  991. data/rbi/openai/models/chat/chat_completion_function_tool.rbi +20 -9
  992. data/rbi/openai/models/chat/chat_completion_message.rbi +113 -114
  993. data/rbi/openai/models/chat/chat_completion_message_custom_tool_call.rbi +50 -35
  994. data/rbi/openai/models/chat/chat_completion_message_function_tool_call.rbi +48 -36
  995. data/rbi/openai/models/chat/chat_completion_message_param.rbi +15 -15
  996. data/rbi/openai/models/chat/chat_completion_message_tool_call.rbi +11 -11
  997. data/rbi/openai/models/chat/chat_completion_modality.rbi +7 -9
  998. data/rbi/openai/models/chat/chat_completion_named_tool_choice.rbi +43 -29
  999. data/rbi/openai/models/chat/chat_completion_named_tool_choice_custom.rbi +44 -33
  1000. data/rbi/openai/models/chat/chat_completion_prediction_content.rbi +30 -42
  1001. data/rbi/openai/models/chat/chat_completion_reasoning_effort.rbi +4 -0
  1002. data/rbi/openai/models/chat/chat_completion_role.rbi +9 -13
  1003. data/rbi/openai/models/chat/chat_completion_store_message.rbi +85 -46
  1004. data/rbi/openai/models/chat/chat_completion_stream_options.rbi +20 -9
  1005. data/rbi/openai/models/chat/chat_completion_system_message_param.rbi +31 -42
  1006. data/rbi/openai/models/chat/chat_completion_token_logprob.rbi +43 -32
  1007. data/rbi/openai/models/chat/chat_completion_tool.rbi +12 -10
  1008. data/rbi/openai/models/chat/chat_completion_tool_choice_option.rbi +19 -40
  1009. data/rbi/openai/models/chat/chat_completion_tool_message_param.rbi +31 -38
  1010. data/rbi/openai/models/chat/chat_completion_user_message_param.rbi +31 -42
  1011. data/rbi/openai/models/chat/completion_create_params.rbi +514 -824
  1012. data/rbi/openai/models/chat/completion_delete_params.rbi +23 -10
  1013. data/rbi/openai/models/chat/completion_list_params.rbi +33 -32
  1014. data/rbi/openai/models/chat/completion_retrieve_params.rbi +23 -10
  1015. data/rbi/openai/models/chat/completion_update_params.rbi +20 -8
  1016. data/rbi/openai/models/chat/completions/message_list_params.rbi +35 -50
  1017. data/rbi/openai/models/chat_model.rbi +55 -110
  1018. data/rbi/openai/models/comparison_filter.rbi +32 -36
  1019. data/rbi/openai/models/completion.rbi +27 -3
  1020. data/rbi/openai/models/completion_choice.rbi +43 -31
  1021. data/rbi/openai/models/completion_create_params.rbi +88 -93
  1022. data/rbi/openai/models/completion_usage.rbi +108 -48
  1023. data/rbi/openai/models/compound_filter.rbi +23 -19
  1024. data/rbi/openai/models/container_create_params.rbi +89 -160
  1025. data/rbi/openai/models/container_create_response.rbi +98 -176
  1026. data/rbi/openai/models/container_delete_params.rbi +21 -7
  1027. data/rbi/openai/models/container_list_params.rbi +24 -12
  1028. data/rbi/openai/models/container_list_response.rbi +92 -168
  1029. data/rbi/openai/models/container_retrieve_params.rbi +21 -7
  1030. data/rbi/openai/models/container_retrieve_response.rbi +100 -179
  1031. data/rbi/openai/models/containers/file_create_params.rbi +22 -8
  1032. data/rbi/openai/models/containers/file_create_response.rbi +29 -8
  1033. data/rbi/openai/models/containers/file_delete_params.rbi +26 -14
  1034. data/rbi/openai/models/containers/file_list_params.rbi +31 -32
  1035. data/rbi/openai/models/containers/file_list_response.rbi +29 -8
  1036. data/rbi/openai/models/containers/file_retrieve_params.rbi +26 -14
  1037. data/rbi/openai/models/containers/file_retrieve_response.rbi +29 -8
  1038. data/rbi/openai/models/containers/files/content_retrieve_params.rbi +28 -14
  1039. data/rbi/openai/models/content_provenance_check.rbi +106 -165
  1040. data/rbi/openai/models/content_provenance_check_create_params.rbi +17 -12
  1041. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +63 -76
  1042. data/rbi/openai/models/conversations/conversation.rbi +24 -14
  1043. data/rbi/openai/models/conversations/conversation_create_params.rbi +98 -88
  1044. data/rbi/openai/models/conversations/conversation_delete_params.rbi +23 -10
  1045. data/rbi/openai/models/conversations/conversation_deleted.rbi +31 -11
  1046. data/rbi/openai/models/conversations/conversation_deleted_resource.rbi +31 -11
  1047. data/rbi/openai/models/conversations/conversation_item.rbi +418 -480
  1048. data/rbi/openai/models/conversations/conversation_item_list.rbi +58 -44
  1049. data/rbi/openai/models/conversations/conversation_retrieve_params.rbi +23 -10
  1050. data/rbi/openai/models/conversations/conversation_update_params.rbi +20 -8
  1051. data/rbi/openai/models/conversations/input_file_content.rbi +4 -0
  1052. data/rbi/openai/models/conversations/input_image_content.rbi +4 -0
  1053. data/rbi/openai/models/conversations/input_text_content.rbi +4 -0
  1054. data/rbi/openai/models/conversations/item_create_params.rbi +99 -96
  1055. data/rbi/openai/models/conversations/item_delete_params.rbi +26 -14
  1056. data/rbi/openai/models/conversations/item_list_params.rbi +36 -52
  1057. data/rbi/openai/models/conversations/item_retrieve_params.rbi +25 -20
  1058. data/rbi/openai/models/conversations/message.rbi +100 -132
  1059. data/rbi/openai/models/conversations/output_text_content.rbi +4 -0
  1060. data/rbi/openai/models/conversations/refusal_content.rbi +4 -0
  1061. data/rbi/openai/models/conversations/summary_text_content.rbi +29 -9
  1062. data/rbi/openai/models/conversations/text_content.rbi +32 -7
  1063. data/rbi/openai/models/create_embedding_response.rbi +40 -15
  1064. data/rbi/openai/models/custom_tool_input_format.rbi +51 -55
  1065. data/rbi/openai/models/deleted_skill.rbi +29 -6
  1066. data/rbi/openai/models/embedding.rbi +20 -4
  1067. data/rbi/openai/models/embedding_create_params.rbi +54 -83
  1068. data/rbi/openai/models/embedding_model.rbi +5 -6
  1069. data/rbi/openai/models/error_object.rbi +27 -10
  1070. data/rbi/openai/models/eval_create_params.rbi +482 -314
  1071. data/rbi/openai/models/eval_create_response.rbi +236 -108
  1072. data/rbi/openai/models/eval_custom_data_source_config.rbi +22 -7
  1073. data/rbi/openai/models/eval_delete_params.rbi +21 -7
  1074. data/rbi/openai/models/eval_delete_response.rbi +27 -8
  1075. data/rbi/openai/models/eval_list_params.rbi +28 -23
  1076. data/rbi/openai/models/eval_list_response.rbi +236 -106
  1077. data/rbi/openai/models/eval_retrieve_params.rbi +21 -7
  1078. data/rbi/openai/models/eval_retrieve_response.rbi +236 -110
  1079. data/rbi/openai/models/eval_stored_completions_data_source_config.rbi +20 -13
  1080. data/rbi/openai/models/eval_update_params.rbi +20 -5
  1081. data/rbi/openai/models/eval_update_response.rbi +236 -108
  1082. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +418 -400
  1083. data/rbi/openai/models/evals/create_eval_jsonl_run_data_source.rbi +93 -77
  1084. data/rbi/openai/models/evals/eval_api_error.rbi +29 -6
  1085. data/rbi/openai/models/evals/run_cancel_params.rbi +26 -11
  1086. data/rbi/openai/models/evals/run_cancel_response.rbi +601 -512
  1087. data/rbi/openai/models/evals/run_create_params.rbi +580 -484
  1088. data/rbi/openai/models/evals/run_create_response.rbi +601 -512
  1089. data/rbi/openai/models/evals/run_delete_params.rbi +26 -11
  1090. data/rbi/openai/models/evals/run_delete_response.rbi +29 -11
  1091. data/rbi/openai/models/evals/run_list_params.rbi +40 -48
  1092. data/rbi/openai/models/evals/run_list_response.rbi +601 -512
  1093. data/rbi/openai/models/evals/run_retrieve_params.rbi +26 -11
  1094. data/rbi/openai/models/evals/run_retrieve_response.rbi +606 -515
  1095. data/rbi/openai/models/evals/runs/output_item_list_params.rbi +47 -83
  1096. data/rbi/openai/models/evals/runs/output_item_list_response.rbi +166 -129
  1097. data/rbi/openai/models/evals/runs/output_item_retrieve_params.rbi +31 -15
  1098. data/rbi/openai/models/evals/runs/output_item_retrieve_response.rbi +166 -131
  1099. data/rbi/openai/models/file_chunking_strategy.rbi +9 -7
  1100. data/rbi/openai/models/file_chunking_strategy_param.rbi +10 -10
  1101. data/rbi/openai/models/file_content.rbi +2 -0
  1102. data/rbi/openai/models/file_content_params.rbi +21 -7
  1103. data/rbi/openai/models/file_create_params.rbi +43 -19
  1104. data/rbi/openai/models/file_delete_params.rbi +21 -7
  1105. data/rbi/openai/models/file_deleted.rbi +29 -6
  1106. data/rbi/openai/models/file_list_params.rbi +24 -12
  1107. data/rbi/openai/models/file_object.rbi +40 -23
  1108. data/rbi/openai/models/file_purpose.rbi +2 -0
  1109. data/rbi/openai/models/file_retrieve_params.rbi +21 -7
  1110. data/rbi/openai/models/fine_tuning/alpha/grader_run_params.rbi +51 -43
  1111. data/rbi/openai/models/fine_tuning/alpha/grader_run_response.rbi +88 -51
  1112. data/rbi/openai/models/fine_tuning/alpha/grader_validate_params.rbi +47 -43
  1113. data/rbi/openai/models/fine_tuning/alpha/grader_validate_response.rbi +51 -54
  1114. data/rbi/openai/models/fine_tuning/checkpoints/permission_create_params.rbi +22 -8
  1115. data/rbi/openai/models/fine_tuning/checkpoints/permission_create_response.rbi +26 -14
  1116. data/rbi/openai/models/fine_tuning/checkpoints/permission_delete_params.rbi +23 -13
  1117. data/rbi/openai/models/fine_tuning/checkpoints/permission_delete_response.rbi +27 -10
  1118. data/rbi/openai/models/fine_tuning/checkpoints/permission_list_params.rbi +39 -50
  1119. data/rbi/openai/models/fine_tuning/checkpoints/permission_list_response.rbi +26 -14
  1120. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbi +47 -50
  1121. data/rbi/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbi +46 -35
  1122. data/rbi/openai/models/fine_tuning/dpo_hyperparameters.rbi +31 -34
  1123. data/rbi/openai/models/fine_tuning/dpo_method.rbi +19 -11
  1124. data/rbi/openai/models/fine_tuning/fine_tuning_job.rbi +143 -199
  1125. data/rbi/openai/models/fine_tuning/fine_tuning_job_event.rbi +44 -74
  1126. data/rbi/openai/models/fine_tuning/fine_tuning_job_integration.rbi +5 -2
  1127. data/rbi/openai/models/fine_tuning/fine_tuning_job_wandb_integration.rbi +24 -14
  1128. data/rbi/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbi +22 -19
  1129. data/rbi/openai/models/fine_tuning/job_cancel_params.rbi +23 -13
  1130. data/rbi/openai/models/fine_tuning/job_create_params.rbi +143 -209
  1131. data/rbi/openai/models/fine_tuning/job_list_events_params.rbi +23 -14
  1132. data/rbi/openai/models/fine_tuning/job_list_params.rbi +22 -5
  1133. data/rbi/openai/models/fine_tuning/job_pause_params.rbi +23 -10
  1134. data/rbi/openai/models/fine_tuning/job_resume_params.rbi +23 -13
  1135. data/rbi/openai/models/fine_tuning/job_retrieve_params.rbi +23 -13
  1136. data/rbi/openai/models/fine_tuning/jobs/checkpoint_list_params.rbi +25 -14
  1137. data/rbi/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbi +58 -29
  1138. data/rbi/openai/models/fine_tuning/reinforcement_hyperparameters.rbi +61 -99
  1139. data/rbi/openai/models/fine_tuning/reinforcement_method.rbi +49 -54
  1140. data/rbi/openai/models/fine_tuning/supervised_hyperparameters.rbi +29 -29
  1141. data/rbi/openai/models/fine_tuning/supervised_method.rbi +21 -20
  1142. data/rbi/openai/models/function_definition.rbi +22 -11
  1143. data/rbi/openai/models/function_parameters.rbi +6 -5
  1144. data/rbi/openai/models/graders/grader_input_item.rbi +57 -30
  1145. data/rbi/openai/models/graders/grader_inputs.rbi +9 -9
  1146. data/rbi/openai/models/graders/label_model_grader.rbi +140 -146
  1147. data/rbi/openai/models/graders/multi_grader.rbi +50 -38
  1148. data/rbi/openai/models/graders/python_grader.rbi +24 -6
  1149. data/rbi/openai/models/graders/score_model_grader.rbi +163 -165
  1150. data/rbi/openai/models/graders/string_check_grader.rbi +33 -39
  1151. data/rbi/openai/models/graders/text_similarity_grader.rbi +42 -87
  1152. data/rbi/openai/models/image.rbi +23 -4
  1153. data/rbi/openai/models/image_create_variation_params.rbi +44 -77
  1154. data/rbi/openai/models/image_edit_completed_event.rbi +94 -134
  1155. data/rbi/openai/models/image_edit_params.rbi +110 -153
  1156. data/rbi/openai/models/image_edit_partial_image_event.rbi +60 -125
  1157. data/rbi/openai/models/image_edit_stream_event.rbi +9 -7
  1158. data/rbi/openai/models/image_gen_completed_event.rbi +92 -125
  1159. data/rbi/openai/models/image_gen_partial_image_event.rbi +60 -119
  1160. data/rbi/openai/models/image_gen_stream_event.rbi +9 -7
  1161. data/rbi/openai/models/image_generate_params.rbi +117 -196
  1162. data/rbi/openai/models/image_input_reference_param.rbi +25 -6
  1163. data/rbi/openai/models/image_model.rbi +5 -6
  1164. data/rbi/openai/models/images_response.rbi +108 -103
  1165. data/rbi/openai/models/metadata.rbi +6 -5
  1166. data/rbi/openai/models/model.rbi +31 -3
  1167. data/rbi/openai/models/model_delete_params.rbi +21 -7
  1168. data/rbi/openai/models/model_deleted.rbi +29 -6
  1169. data/rbi/openai/models/model_list_params.rbi +11 -5
  1170. data/rbi/openai/models/model_retrieve_params.rbi +21 -7
  1171. data/rbi/openai/models/moderation.rbi +240 -501
  1172. data/rbi/openai/models/moderation_create_params.rbi +38 -45
  1173. data/rbi/openai/models/moderation_create_response.rbi +20 -9
  1174. data/rbi/openai/models/moderation_image_url_input.rbi +40 -20
  1175. data/rbi/openai/models/moderation_model.rbi +6 -11
  1176. data/rbi/openai/models/moderation_multi_modal_input.rbi +10 -7
  1177. data/rbi/openai/models/moderation_text_input.rbi +27 -6
  1178. data/rbi/openai/models/oauth_error_code.rbi +15 -7
  1179. data/rbi/openai/models/other_file_chunking_strategy_object.rbi +24 -9
  1180. data/rbi/openai/models/realtime/audio_transcription.rbi +69 -141
  1181. data/rbi/openai/models/realtime/call_accept_params.rbi +175 -7
  1182. data/rbi/openai/models/realtime/call_create_params.rbi +71 -0
  1183. data/rbi/openai/models/realtime/call_hangup_params.rbi +23 -7
  1184. data/rbi/openai/models/realtime/call_refer_params.rbi +21 -10
  1185. data/rbi/openai/models/realtime/call_reject_params.rbi +21 -10
  1186. data/rbi/openai/models/realtime/client_secret_create_params.rbi +77 -104
  1187. data/rbi/openai/models/realtime/client_secret_create_response.rbi +35 -34
  1188. data/rbi/openai/models/realtime/conversation_created_event.rbi +53 -73
  1189. data/rbi/openai/models/realtime/conversation_item.rbi +18 -18
  1190. data/rbi/openai/models/realtime/conversation_item_added.rbi +47 -34
  1191. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +47 -34
  1192. data/rbi/openai/models/realtime/conversation_item_created_event.rbi +47 -34
  1193. data/rbi/openai/models/realtime/conversation_item_delete_event.rbi +27 -10
  1194. data/rbi/openai/models/realtime/conversation_item_deleted_event.rbi +27 -10
  1195. data/rbi/openai/models/realtime/conversation_item_done.rbi +47 -34
  1196. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +120 -81
  1197. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +29 -13
  1198. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbi +48 -32
  1199. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbi +33 -8
  1200. data/rbi/openai/models/realtime/conversation_item_retrieve_event.rbi +27 -10
  1201. data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +26 -15
  1202. data/rbi/openai/models/realtime/conversation_item_truncated_event.rbi +26 -15
  1203. data/rbi/openai/models/realtime/conversation_item_with_reference.rbi +120 -270
  1204. data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +27 -10
  1205. data/rbi/openai/models/realtime/input_audio_buffer_clear_event.rbi +29 -9
  1206. data/rbi/openai/models/realtime/input_audio_buffer_cleared_event.rbi +29 -9
  1207. data/rbi/openai/models/realtime/input_audio_buffer_commit_event.rbi +29 -9
  1208. data/rbi/openai/models/realtime/input_audio_buffer_committed_event.rbi +24 -14
  1209. data/rbi/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rbi +25 -10
  1210. data/rbi/openai/models/realtime/input_audio_buffer_speech_started_event.rbi +24 -14
  1211. data/rbi/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbi +24 -14
  1212. data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +26 -15
  1213. data/rbi/openai/models/realtime/log_prob_properties.rbi +22 -9
  1214. data/rbi/openai/models/realtime/mcp_list_tools_completed.rbi +27 -10
  1215. data/rbi/openai/models/realtime/mcp_list_tools_failed.rbi +27 -10
  1216. data/rbi/openai/models/realtime/mcp_list_tools_in_progress.rbi +27 -10
  1217. data/rbi/openai/models/realtime/noise_reduction_type.rbi +8 -11
  1218. data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +29 -9
  1219. data/rbi/openai/models/realtime/rate_limits_updated_event.rbi +50 -71
  1220. data/rbi/openai/models/realtime/realtime_audio_config.rbi +25 -21
  1221. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +76 -82
  1222. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +106 -131
  1223. data/rbi/openai/models/realtime/realtime_audio_formats.rbi +78 -187
  1224. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +72 -77
  1225. data/rbi/openai/models/realtime/realtime_client_event.rbi +20 -20
  1226. data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +104 -151
  1227. data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +57 -92
  1228. data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +63 -86
  1229. data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +86 -149
  1230. data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +108 -200
  1231. data/rbi/openai/models/realtime/realtime_error.rbi +25 -5
  1232. data/rbi/openai/models/realtime/realtime_error_event.rbi +22 -13
  1233. data/rbi/openai/models/realtime/realtime_function_tool.rbi +29 -35
  1234. data/rbi/openai/models/realtime/realtime_mcp_approval_request.rbi +26 -15
  1235. data/rbi/openai/models/realtime/realtime_mcp_approval_response.rbi +26 -15
  1236. data/rbi/openai/models/realtime/realtime_mcp_list_tools.rbi +42 -18
  1237. data/rbi/openai/models/realtime/realtime_mcp_protocol_error.rbi +31 -11
  1238. data/rbi/openai/models/realtime/realtime_mcp_tool_call.rbi +56 -39
  1239. data/rbi/openai/models/realtime/realtime_mcp_tool_execution_error.rbi +32 -10
  1240. data/rbi/openai/models/realtime/realtime_mcphttp_error.rbi +31 -11
  1241. data/rbi/openai/models/realtime/realtime_reasoning.rbi +20 -19
  1242. data/rbi/openai/models/realtime/realtime_reasoning_effort.rbi +12 -26
  1243. data/rbi/openai/models/realtime/realtime_response.rbi +185 -334
  1244. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +121 -160
  1245. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +226 -266
  1246. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +176 -269
  1247. data/rbi/openai/models/realtime/realtime_response_status.rbi +64 -111
  1248. data/rbi/openai/models/realtime/realtime_response_usage.rbi +33 -38
  1249. data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +50 -37
  1250. data/rbi/openai/models/realtime/realtime_response_usage_output_token_details.rbi +24 -10
  1251. data/rbi/openai/models/realtime/realtime_server_event.rbi +154 -118
  1252. data/rbi/openai/models/realtime/realtime_session.rbi +313 -579
  1253. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +211 -362
  1254. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +736 -979
  1255. data/rbi/openai/models/realtime/realtime_tool_choice_config.rbi +12 -12
  1256. data/rbi/openai/models/realtime/realtime_tools_config.rbi +8 -7
  1257. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +235 -277
  1258. data/rbi/openai/models/realtime/realtime_tracing_config.rbi +28 -20
  1259. data/rbi/openai/models/realtime/realtime_transcription_session_audio.rbi +21 -21
  1260. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +78 -82
  1261. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +86 -68
  1262. data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +41 -60
  1263. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +134 -183
  1264. data/rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi +25 -16
  1265. data/rbi/openai/models/realtime/realtime_translation_client_event.rbi +12 -12
  1266. data/rbi/openai/models/realtime/realtime_translation_client_secret_create_request.rbi +62 -74
  1267. data/rbi/openai/models/realtime/realtime_translation_client_secret_create_response.rbi +23 -18
  1268. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +27 -10
  1269. data/rbi/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbi +24 -14
  1270. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +44 -47
  1271. data/rbi/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbi +24 -14
  1272. data/rbi/openai/models/realtime/realtime_translation_server_event.rbi +16 -16
  1273. data/rbi/openai/models/realtime/realtime_translation_session.rbi +141 -134
  1274. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +29 -9
  1275. data/rbi/openai/models/realtime/realtime_translation_session_closed_event.rbi +29 -9
  1276. data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +146 -147
  1277. data/rbi/openai/models/realtime/realtime_translation_session_created_event.rbi +23 -18
  1278. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +25 -25
  1279. data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +143 -145
  1280. data/rbi/openai/models/realtime/realtime_translation_session_updated_event.rbi +23 -18
  1281. data/rbi/openai/models/realtime/realtime_truncation.rbi +20 -36
  1282. data/rbi/openai/models/realtime/realtime_truncation_retention_ratio.rbi +46 -34
  1283. data/rbi/openai/models/realtime/response_audio_delta_event.rbi +29 -8
  1284. data/rbi/openai/models/realtime/response_audio_done_event.rbi +27 -8
  1285. data/rbi/openai/models/realtime/response_audio_transcript_delta_event.rbi +29 -8
  1286. data/rbi/openai/models/realtime/response_audio_transcript_done_event.rbi +29 -8
  1287. data/rbi/openai/models/realtime/response_cancel_event.rbi +25 -10
  1288. data/rbi/openai/models/realtime/response_content_part_added_event.rbi +58 -63
  1289. data/rbi/openai/models/realtime/response_content_part_done_event.rbi +58 -63
  1290. data/rbi/openai/models/realtime/response_create_event.rbi +24 -21
  1291. data/rbi/openai/models/realtime/response_created_event.rbi +23 -16
  1292. data/rbi/openai/models/realtime/response_done_event.rbi +23 -16
  1293. data/rbi/openai/models/realtime/response_function_call_arguments_delta_event.rbi +29 -8
  1294. data/rbi/openai/models/realtime/response_function_call_arguments_done_event.rbi +31 -8
  1295. data/rbi/openai/models/realtime/response_mcp_call_arguments_delta.rbi +29 -8
  1296. data/rbi/openai/models/realtime/response_mcp_call_arguments_done.rbi +27 -8
  1297. data/rbi/openai/models/realtime/response_mcp_call_completed.rbi +24 -14
  1298. data/rbi/openai/models/realtime/response_mcp_call_failed.rbi +24 -14
  1299. data/rbi/openai/models/realtime/response_mcp_call_in_progress.rbi +24 -14
  1300. data/rbi/openai/models/realtime/response_output_item_added_event.rbi +49 -34
  1301. data/rbi/openai/models/realtime/response_output_item_done_event.rbi +49 -34
  1302. data/rbi/openai/models/realtime/response_text_delta_event.rbi +29 -8
  1303. data/rbi/openai/models/realtime/response_text_done_event.rbi +29 -8
  1304. data/rbi/openai/models/realtime/session_created_event.rbi +39 -32
  1305. data/rbi/openai/models/realtime/session_update_event.rbi +39 -32
  1306. data/rbi/openai/models/realtime/session_updated_event.rbi +39 -32
  1307. data/rbi/openai/models/realtime/transcription_session_update.rbi +150 -214
  1308. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +118 -141
  1309. data/rbi/openai/models/reasoning.rbi +43 -40
  1310. data/rbi/openai/models/reasoning_effort.rbi +2 -0
  1311. data/rbi/openai/models/response_format_json_object.rbi +24 -6
  1312. data/rbi/openai/models/response_format_json_schema.rbi +42 -34
  1313. data/rbi/openai/models/response_format_text.rbi +24 -6
  1314. data/rbi/openai/models/response_format_text_grammar.rbi +27 -6
  1315. data/rbi/openai/models/response_format_text_python.rbi +24 -6
  1316. data/rbi/openai/models/responses/apply_patch_tool.rbi +27 -48
  1317. data/rbi/openai/models/responses/compacted_response.rbi +58 -44
  1318. data/rbi/openai/models/responses/computer_action.rbi +234 -163
  1319. data/rbi/openai/models/responses/computer_action_list.rbi +8 -7
  1320. data/rbi/openai/models/responses/computer_tool.rbi +26 -6
  1321. data/rbi/openai/models/responses/computer_use_preview_tool.rbi +34 -57
  1322. data/rbi/openai/models/responses/container_auto.rbi +68 -131
  1323. data/rbi/openai/models/responses/container_network_policy_allowlist.rbi +25 -29
  1324. data/rbi/openai/models/responses/container_network_policy_disabled.rbi +26 -9
  1325. data/rbi/openai/models/responses/container_network_policy_domain_secret.rbi +27 -10
  1326. data/rbi/openai/models/responses/container_reference.rbi +27 -9
  1327. data/rbi/openai/models/responses/custom_tool.rbi +43 -72
  1328. data/rbi/openai/models/responses/easy_input_message.rbi +47 -102
  1329. data/rbi/openai/models/responses/file_search_tool.rbi +83 -117
  1330. data/rbi/openai/models/responses/function_shell_tool.rbi +52 -82
  1331. data/rbi/openai/models/responses/function_tool.rbi +39 -46
  1332. data/rbi/openai/models/responses/inline_skill.rbi +25 -14
  1333. data/rbi/openai/models/responses/inline_skill_source.rbi +27 -10
  1334. data/rbi/openai/models/responses/input_item_list_params.rbi +36 -52
  1335. data/rbi/openai/models/responses/input_token_count_params.rbi +230 -360
  1336. data/rbi/openai/models/responses/input_token_count_response.rbi +29 -11
  1337. data/rbi/openai/models/responses/local_environment.rbi +21 -12
  1338. data/rbi/openai/models/responses/local_skill.rbi +27 -7
  1339. data/rbi/openai/models/responses/mcp_tool_call_error.rbi +165 -0
  1340. data/rbi/openai/models/responses/namespace_tool.rbi +77 -90
  1341. data/rbi/openai/models/responses/response.rbi +499 -578
  1342. data/rbi/openai/models/responses/response_apply_patch_tool_call.rbi +175 -144
  1343. data/rbi/openai/models/responses/response_apply_patch_tool_call_output.rbi +94 -90
  1344. data/rbi/openai/models/responses/response_audio_delta_event.rbi +25 -10
  1345. data/rbi/openai/models/responses/response_audio_done_event.rbi +26 -10
  1346. data/rbi/openai/models/responses/response_audio_transcript_delta_event.rbi +25 -10
  1347. data/rbi/openai/models/responses/response_audio_transcript_done_event.rbi +26 -10
  1348. data/rbi/openai/models/responses/response_cancel_params.rbi +23 -10
  1349. data/rbi/openai/models/responses/response_code_interpreter_call_code_delta_event.rbi +26 -15
  1350. data/rbi/openai/models/responses/response_code_interpreter_call_code_done_event.rbi +26 -15
  1351. data/rbi/openai/models/responses/response_code_interpreter_call_completed_event.rbi +24 -14
  1352. data/rbi/openai/models/responses/response_code_interpreter_call_in_progress_event.rbi +24 -14
  1353. data/rbi/openai/models/responses/response_code_interpreter_call_interpreting_event.rbi +24 -14
  1354. data/rbi/openai/models/responses/response_code_interpreter_tool_call.rbi +109 -106
  1355. data/rbi/openai/models/responses/response_compact_params.rbi +371 -776
  1356. data/rbi/openai/models/responses/response_compaction_item.rbi +24 -14
  1357. data/rbi/openai/models/responses/response_compaction_item_param.rbi +22 -9
  1358. data/rbi/openai/models/responses/response_completed_event.rbi +22 -13
  1359. data/rbi/openai/models/responses/response_computer_tool_call.rbi +381 -352
  1360. data/rbi/openai/models/responses/response_computer_tool_call_output_item.rbi +77 -101
  1361. data/rbi/openai/models/responses/response_computer_tool_call_output_screenshot.rbi +27 -10
  1362. data/rbi/openai/models/responses/response_container_reference.rbi +27 -9
  1363. data/rbi/openai/models/responses/response_content.rbi +39 -24
  1364. data/rbi/openai/models/responses/response_content_part_added_event.rbi +66 -44
  1365. data/rbi/openai/models/responses/response_content_part_done_event.rbi +66 -44
  1366. data/rbi/openai/models/responses/response_conversation_param.rbi +26 -9
  1367. data/rbi/openai/models/responses/response_create_params.rbi +476 -732
  1368. data/rbi/openai/models/responses/response_created_event.rbi +22 -13
  1369. data/rbi/openai/models/responses/response_custom_tool_call.rbi +93 -55
  1370. data/rbi/openai/models/responses/response_custom_tool_call_input_delta_event.rbi +26 -15
  1371. data/rbi/openai/models/responses/response_custom_tool_call_input_done_event.rbi +26 -15
  1372. data/rbi/openai/models/responses/response_custom_tool_call_item.rbi +78 -49
  1373. data/rbi/openai/models/responses/response_custom_tool_call_output.rbi +115 -99
  1374. data/rbi/openai/models/responses/response_custom_tool_call_output_item.rbi +67 -49
  1375. data/rbi/openai/models/responses/response_delete_params.rbi +23 -10
  1376. data/rbi/openai/models/responses/response_error.rbi +55 -119
  1377. data/rbi/openai/models/responses/response_error_event.rbi +26 -15
  1378. data/rbi/openai/models/responses/response_failed_event.rbi +22 -13
  1379. data/rbi/openai/models/responses/response_file_search_call_completed_event.rbi +24 -14
  1380. data/rbi/openai/models/responses/response_file_search_call_in_progress_event.rbi +24 -14
  1381. data/rbi/openai/models/responses/response_file_search_call_searching_event.rbi +24 -14
  1382. data/rbi/openai/models/responses/response_file_search_tool_call.rbi +70 -112
  1383. data/rbi/openai/models/responses/response_format_text_config.rbi +12 -12
  1384. data/rbi/openai/models/responses/response_format_text_json_schema_config.rbi +25 -8
  1385. data/rbi/openai/models/responses/response_function_call_arguments_delta_event.rbi +26 -15
  1386. data/rbi/openai/models/responses/response_function_call_arguments_done_event.rbi +26 -8
  1387. data/rbi/openai/models/responses/response_function_call_output_item.rbi +12 -14
  1388. data/rbi/openai/models/responses/response_function_call_output_item_list.rbi +8 -7
  1389. data/rbi/openai/models/responses/response_function_shell_call_output_content.rbi +82 -50
  1390. data/rbi/openai/models/responses/response_function_shell_tool_call.rbi +130 -151
  1391. data/rbi/openai/models/responses/response_function_shell_tool_call_output.rbi +178 -159
  1392. data/rbi/openai/models/responses/response_function_tool_call.rbi +104 -98
  1393. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +78 -49
  1394. data/rbi/openai/models/responses/response_function_tool_call_output_item.rbi +128 -140
  1395. data/rbi/openai/models/responses/response_function_web_search.rbi +127 -131
  1396. data/rbi/openai/models/responses/response_image_gen_call_completed_event.rbi +24 -14
  1397. data/rbi/openai/models/responses/response_image_gen_call_generating_event.rbi +24 -14
  1398. data/rbi/openai/models/responses/response_image_gen_call_in_progress_event.rbi +24 -14
  1399. data/rbi/openai/models/responses/response_image_gen_call_partial_image_event.rbi +80 -9
  1400. data/rbi/openai/models/responses/response_in_progress_event.rbi +22 -13
  1401. data/rbi/openai/models/responses/response_includable.rbi +35 -47
  1402. data/rbi/openai/models/responses/response_incomplete_event.rbi +22 -13
  1403. data/rbi/openai/models/responses/response_input.rbi +8 -7
  1404. data/rbi/openai/models/responses/response_input_audio.rbi +43 -65
  1405. data/rbi/openai/models/responses/response_input_content.rbi +12 -12
  1406. data/rbi/openai/models/responses/response_input_file.rbi +63 -70
  1407. data/rbi/openai/models/responses/response_input_file_content.rbi +71 -82
  1408. data/rbi/openai/models/responses/response_input_image.rbi +58 -65
  1409. data/rbi/openai/models/responses/response_input_image_content.rbi +67 -88
  1410. data/rbi/openai/models/responses/response_input_item.rbi +1274 -1453
  1411. data/rbi/openai/models/responses/response_input_message_content_list.rbi +8 -7
  1412. data/rbi/openai/models/responses/response_input_message_item.rbi +52 -99
  1413. data/rbi/openai/models/responses/response_input_text.rbi +48 -34
  1414. data/rbi/openai/models/responses/response_input_text_content.rbi +54 -39
  1415. data/rbi/openai/models/responses/response_item.rbi +394 -471
  1416. data/rbi/openai/models/responses/response_item_list.rbi +58 -42
  1417. data/rbi/openai/models/responses/response_local_environment.rbi +26 -9
  1418. data/rbi/openai/models/responses/response_mcp_call_arguments_delta_event.rbi +26 -15
  1419. data/rbi/openai/models/responses/response_mcp_call_arguments_done_event.rbi +26 -15
  1420. data/rbi/openai/models/responses/response_mcp_call_completed_event.rbi +24 -14
  1421. data/rbi/openai/models/responses/response_mcp_call_failed_event.rbi +24 -14
  1422. data/rbi/openai/models/responses/response_mcp_call_in_progress_event.rbi +24 -14
  1423. data/rbi/openai/models/responses/response_mcp_list_tools_completed_event.rbi +24 -14
  1424. data/rbi/openai/models/responses/response_mcp_list_tools_failed_event.rbi +24 -14
  1425. data/rbi/openai/models/responses/response_mcp_list_tools_in_progress_event.rbi +24 -14
  1426. data/rbi/openai/models/responses/response_output_audio.rbi +27 -10
  1427. data/rbi/openai/models/responses/response_output_item.rbi +422 -480
  1428. data/rbi/openai/models/responses/response_output_item_added_event.rbi +62 -42
  1429. data/rbi/openai/models/responses/response_output_item_done_event.rbi +53 -39
  1430. data/rbi/openai/models/responses/response_output_message.rbi +56 -114
  1431. data/rbi/openai/models/responses/response_output_refusal.rbi +29 -9
  1432. data/rbi/openai/models/responses/response_output_text.rbi +180 -136
  1433. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +347 -13
  1434. data/rbi/openai/models/responses/response_prompt.rbi +55 -45
  1435. data/rbi/openai/models/responses/response_queued_event.rbi +22 -13
  1436. data/rbi/openai/models/responses/response_reasoning_item.rbi +99 -94
  1437. data/rbi/openai/models/responses/response_reasoning_summary_part_added_event.rbi +55 -32
  1438. data/rbi/openai/models/responses/response_reasoning_summary_part_done_event.rbi +71 -68
  1439. data/rbi/openai/models/responses/response_reasoning_summary_text_delta_event.rbi +27 -8
  1440. data/rbi/openai/models/responses/response_reasoning_summary_text_done_event.rbi +27 -8
  1441. data/rbi/openai/models/responses/response_reasoning_text_delta_event.rbi +27 -8
  1442. data/rbi/openai/models/responses/response_reasoning_text_done_event.rbi +27 -8
  1443. data/rbi/openai/models/responses/response_refusal_delta_event.rbi +27 -8
  1444. data/rbi/openai/models/responses/response_refusal_done_event.rbi +27 -8
  1445. data/rbi/openai/models/responses/response_retrieve_params.rbi +27 -20
  1446. data/rbi/openai/models/responses/response_shell_call_command_added_event.rbi +86 -0
  1447. data/rbi/openai/models/responses/response_shell_call_command_delta_event.rbi +105 -0
  1448. data/rbi/openai/models/responses/response_shell_call_command_done_event.rbi +86 -0
  1449. data/rbi/openai/models/responses/response_shell_call_output_content_delta_event.rbi +158 -0
  1450. data/rbi/openai/models/responses/response_shell_call_output_content_done_event.rbi +286 -0
  1451. data/rbi/openai/models/responses/response_status.rbi +10 -15
  1452. data/rbi/openai/models/responses/response_stream_event.rbi +67 -62
  1453. data/rbi/openai/models/responses/response_text_config.rbi +48 -72
  1454. data/rbi/openai/models/responses/response_text_delta_event.rbi +75 -59
  1455. data/rbi/openai/models/responses/response_text_done_event.rbi +75 -59
  1456. data/rbi/openai/models/responses/response_tool_search_call.rbi +45 -76
  1457. data/rbi/openai/models/responses/response_tool_search_output_item.rbi +66 -102
  1458. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +93 -139
  1459. data/rbi/openai/models/responses/response_usage.rbi +69 -44
  1460. data/rbi/openai/models/responses/response_web_search_call_completed_event.rbi +24 -14
  1461. data/rbi/openai/models/responses/response_web_search_call_in_progress_event.rbi +24 -14
  1462. data/rbi/openai/models/responses/response_web_search_call_searching_event.rbi +24 -14
  1463. data/rbi/openai/models/responses/responses_client_event.rbi +474 -726
  1464. data/rbi/openai/models/responses/responses_server_event.rbi +2188 -1128
  1465. data/rbi/openai/models/responses/skill_reference.rbi +27 -7
  1466. data/rbi/openai/models/responses/tool.rbi +535 -941
  1467. data/rbi/openai/models/responses/tool_choice_allowed.rbi +26 -28
  1468. data/rbi/openai/models/responses/tool_choice_apply_patch.rbi +26 -9
  1469. data/rbi/openai/models/responses/tool_choice_custom.rbi +29 -9
  1470. data/rbi/openai/models/responses/tool_choice_function.rbi +29 -9
  1471. data/rbi/openai/models/responses/tool_choice_mcp.rbi +22 -6
  1472. data/rbi/openai/models/responses/tool_choice_options.rbi +7 -9
  1473. data/rbi/openai/models/responses/tool_choice_shell.rbi +26 -6
  1474. data/rbi/openai/models/responses/tool_choice_types.rbi +32 -56
  1475. data/rbi/openai/models/responses/tool_search_tool.rbi +30 -37
  1476. data/rbi/openai/models/responses/web_search_preview_tool.rbi +74 -151
  1477. data/rbi/openai/models/responses/web_search_tool.rbi +102 -143
  1478. data/rbi/openai/models/responses_model.rbi +52 -102
  1479. data/rbi/openai/models/skill.rbi +27 -2
  1480. data/rbi/openai/models/skill_create_params.rbi +23 -17
  1481. data/rbi/openai/models/skill_delete_params.rbi +21 -7
  1482. data/rbi/openai/models/skill_list.rbi +23 -3
  1483. data/rbi/openai/models/skill_list_params.rbi +22 -12
  1484. data/rbi/openai/models/skill_retrieve_params.rbi +21 -7
  1485. data/rbi/openai/models/skill_update_params.rbi +19 -10
  1486. data/rbi/openai/models/skills/content_retrieve_params.rbi +23 -10
  1487. data/rbi/openai/models/skills/deleted_skill_version.rbi +23 -9
  1488. data/rbi/openai/models/skills/skill_version.rbi +29 -5
  1489. data/rbi/openai/models/skills/skill_version_list.rbi +25 -5
  1490. data/rbi/openai/models/skills/version_create_params.rbi +30 -30
  1491. data/rbi/openai/models/skills/version_delete_params.rbi +21 -13
  1492. data/rbi/openai/models/skills/version_list_params.rbi +30 -24
  1493. data/rbi/openai/models/skills/version_retrieve_params.rbi +21 -13
  1494. data/rbi/openai/models/skills/versions/content_retrieve_params.rbi +23 -13
  1495. data/rbi/openai/models/static_file_chunking_strategy.rbi +18 -6
  1496. data/rbi/openai/models/static_file_chunking_strategy_object.rbi +18 -9
  1497. data/rbi/openai/models/static_file_chunking_strategy_object_param.rbi +18 -9
  1498. data/rbi/openai/models/upload.rbi +31 -2
  1499. data/rbi/openai/models/upload_cancel_params.rbi +21 -7
  1500. data/rbi/openai/models/upload_complete_params.rbi +21 -11
  1501. data/rbi/openai/models/upload_create_params.rbi +47 -19
  1502. data/rbi/openai/models/uploads/part_create_params.rbi +21 -10
  1503. data/rbi/openai/models/uploads/upload_part.rbi +24 -11
  1504. data/rbi/openai/models/vector_store.rbi +84 -31
  1505. data/rbi/openai/models/vector_store_create_params.rbi +70 -47
  1506. data/rbi/openai/models/vector_store_delete_params.rbi +21 -7
  1507. data/rbi/openai/models/vector_store_deleted.rbi +29 -8
  1508. data/rbi/openai/models/vector_store_list_params.rbi +24 -12
  1509. data/rbi/openai/models/vector_store_retrieve_params.rbi +21 -7
  1510. data/rbi/openai/models/vector_store_search_params.rbi +66 -112
  1511. data/rbi/openai/models/vector_store_search_response.rbi +51 -88
  1512. data/rbi/openai/models/vector_store_update_params.rbi +49 -24
  1513. data/rbi/openai/models/vector_stores/file_batch_cancel_params.rbi +26 -14
  1514. data/rbi/openai/models/vector_stores/file_batch_create_params.rbi +99 -151
  1515. data/rbi/openai/models/vector_stores/file_batch_list_files_params.rbi +50 -102
  1516. data/rbi/openai/models/vector_stores/file_batch_retrieve_params.rbi +26 -14
  1517. data/rbi/openai/models/vector_stores/file_content_params.rbi +26 -14
  1518. data/rbi/openai/models/vector_stores/file_content_response.rbi +29 -9
  1519. data/rbi/openai/models/vector_stores/file_create_params.rbi +48 -65
  1520. data/rbi/openai/models/vector_stores/file_delete_params.rbi +26 -14
  1521. data/rbi/openai/models/vector_stores/file_list_params.rbi +44 -82
  1522. data/rbi/openai/models/vector_stores/file_retrieve_params.rbi +26 -14
  1523. data/rbi/openai/models/vector_stores/file_update_params.rbi +27 -39
  1524. data/rbi/openai/models/vector_stores/vector_store_file.rbi +87 -155
  1525. data/rbi/openai/models/vector_stores/vector_store_file_batch.rbi +60 -73
  1526. data/rbi/openai/models/vector_stores/vector_store_file_deleted.rbi +31 -11
  1527. data/rbi/openai/models/video.rbi +41 -4
  1528. data/rbi/openai/models/video_create_character_params.rbi +19 -10
  1529. data/rbi/openai/models/video_create_character_response.rbi +20 -13
  1530. data/rbi/openai/models/video_create_error.rbi +27 -6
  1531. data/rbi/openai/models/video_create_params.rbi +33 -38
  1532. data/rbi/openai/models/video_delete_params.rbi +21 -7
  1533. data/rbi/openai/models/video_delete_response.rbi +25 -7
  1534. data/rbi/openai/models/video_download_content_params.rbi +26 -40
  1535. data/rbi/openai/models/video_edit_params.rbi +44 -41
  1536. data/rbi/openai/models/video_extend_params.rbi +46 -41
  1537. data/rbi/openai/models/video_get_character_params.rbi +21 -7
  1538. data/rbi/openai/models/video_get_character_response.rbi +20 -13
  1539. data/rbi/openai/models/video_list_params.rbi +22 -12
  1540. data/rbi/openai/models/video_model.rbi +16 -9
  1541. data/rbi/openai/models/video_remix_params.rbi +19 -10
  1542. data/rbi/openai/models/video_retrieve_params.rbi +21 -7
  1543. data/rbi/openai/models/video_seconds.rbi +2 -0
  1544. data/rbi/openai/models/video_size.rbi +4 -4
  1545. data/rbi/openai/models/webhooks/batch_cancelled_webhook_event.rbi +54 -58
  1546. data/rbi/openai/models/webhooks/batch_completed_webhook_event.rbi +54 -58
  1547. data/rbi/openai/models/webhooks/batch_expired_webhook_event.rbi +54 -54
  1548. data/rbi/openai/models/webhooks/batch_failed_webhook_event.rbi +53 -52
  1549. data/rbi/openai/models/webhooks/eval_run_canceled_webhook_event.rbi +54 -58
  1550. data/rbi/openai/models/webhooks/eval_run_failed_webhook_event.rbi +54 -55
  1551. data/rbi/openai/models/webhooks/eval_run_succeeded_webhook_event.rbi +54 -58
  1552. data/rbi/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbi +58 -64
  1553. data/rbi/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbi +55 -61
  1554. data/rbi/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbi +58 -64
  1555. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +71 -81
  1556. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +73 -87
  1557. data/rbi/openai/models/webhooks/response_cancelled_webhook_event.rbi +54 -58
  1558. data/rbi/openai/models/webhooks/response_completed_webhook_event.rbi +54 -58
  1559. data/rbi/openai/models/webhooks/response_failed_webhook_event.rbi +54 -58
  1560. data/rbi/openai/models/webhooks/response_incomplete_webhook_event.rbi +55 -60
  1561. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +25 -25
  1562. data/rbi/openai/models/webhooks/webhook_unwrap_params.rbi +13 -8
  1563. data/rbi/openai/models.rbi +8 -12
  1564. data/rbi/openai/net_http_client.rbi +25 -9
  1565. data/rbi/openai/providers.rbi +8 -3
  1566. data/rbi/openai/request_options.rbi +2 -2
  1567. data/rbi/openai/resources/admin/organization/admin_api_keys.rbi +22 -27
  1568. data/rbi/openai/resources/admin/organization/audit_logs.rbi +14 -12
  1569. data/rbi/openai/resources/admin/organization/certificates.rbi +39 -53
  1570. data/rbi/openai/resources/admin/organization/data_retention.rbi +14 -7
  1571. data/rbi/openai/resources/admin/organization/groups/roles.rbi +24 -29
  1572. data/rbi/openai/resources/admin/organization/groups/users.rbi +22 -29
  1573. data/rbi/openai/resources/admin/organization/groups.rbi +31 -33
  1574. data/rbi/openai/resources/admin/organization/invites.rbi +27 -31
  1575. data/rbi/openai/resources/admin/organization/projects/api_keys.rbi +21 -22
  1576. data/rbi/openai/resources/admin/organization/projects/certificates.rbi +27 -20
  1577. data/rbi/openai/resources/admin/organization/projects/data_retention.rbi +16 -12
  1578. data/rbi/openai/resources/admin/organization/projects/groups/roles.rbi +28 -20
  1579. data/rbi/openai/resources/admin/organization/projects/groups.rbi +26 -28
  1580. data/rbi/openai/resources/admin/organization/projects/hosted_tool_permissions.rbi +28 -30
  1581. data/rbi/openai/resources/admin/organization/projects/model_permissions.rbi +19 -18
  1582. data/rbi/openai/resources/admin/organization/projects/rate_limits.rbi +18 -9
  1583. data/rbi/openai/resources/admin/organization/projects/roles.rbi +29 -28
  1584. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +14 -4
  1585. data/rbi/openai/resources/admin/organization/projects/service_accounts.rbi +31 -45
  1586. data/rbi/openai/resources/admin/organization/projects/spend_alerts.rbi +33 -42
  1587. data/rbi/openai/resources/admin/organization/projects/spend_limit.rbi +20 -20
  1588. data/rbi/openai/resources/admin/organization/projects/users/roles.rbi +28 -20
  1589. data/rbi/openai/resources/admin/organization/projects/users.rbi +30 -37
  1590. data/rbi/openai/resources/admin/organization/projects.rbi +51 -78
  1591. data/rbi/openai/resources/admin/organization/roles.rbi +29 -26
  1592. data/rbi/openai/resources/admin/organization/spend_alerts.rbi +33 -38
  1593. data/rbi/openai/resources/admin/organization/spend_limit.rbi +17 -11
  1594. data/rbi/openai/resources/admin/organization/usage.rbi +67 -120
  1595. data/rbi/openai/resources/admin/organization/users/roles.rbi +22 -29
  1596. data/rbi/openai/resources/admin/organization/users.rbi +24 -21
  1597. data/rbi/openai/resources/admin/organization.rbi +5 -0
  1598. data/rbi/openai/resources/admin.rbi +3 -0
  1599. data/rbi/openai/resources/audio/speech.rbi +16 -13
  1600. data/rbi/openai/resources/audio/transcriptions.rbi +19 -32
  1601. data/rbi/openai/resources/audio/translations.rbi +10 -5
  1602. data/rbi/openai/resources/audio.rbi +3 -0
  1603. data/rbi/openai/resources/batches.rbi +16 -26
  1604. data/rbi/openai/resources/beta/assistants.rbi +58 -68
  1605. data/rbi/openai/resources/beta/chatkit/sessions.rbi +19 -15
  1606. data/rbi/openai/resources/beta/chatkit/threads.rbi +26 -26
  1607. data/rbi/openai/resources/beta/chatkit.rbi +5 -0
  1608. data/rbi/openai/resources/beta/responses/input_items.rbi +12 -12
  1609. data/rbi/openai/resources/beta/responses/input_tokens.rbi +51 -68
  1610. data/rbi/openai/resources/beta/responses.rbi +131 -210
  1611. data/rbi/openai/resources/beta/threads/messages.rbi +30 -32
  1612. data/rbi/openai/resources/beta/threads/runs/steps.rbi +19 -19
  1613. data/rbi/openai/resources/beta/threads/runs.rbi +93 -118
  1614. data/rbi/openai/resources/beta/threads.rbi +71 -101
  1615. data/rbi/openai/resources/beta.rbi +3 -0
  1616. data/rbi/openai/resources/chat/completions/messages.rbi +11 -8
  1617. data/rbi/openai/resources/chat/completions.rbi +99 -147
  1618. data/rbi/openai/resources/chat.rbi +3 -0
  1619. data/rbi/openai/resources/completions.rbi +13 -10
  1620. data/rbi/openai/resources/containers/files/content.rbi +12 -7
  1621. data/rbi/openai/resources/containers/files.rbi +18 -23
  1622. data/rbi/openai/resources/containers.rbi +21 -31
  1623. data/rbi/openai/resources/content_provenance_checks.rbi +8 -6
  1624. data/rbi/openai/resources/conversations/items.rbi +57 -56
  1625. data/rbi/openai/resources/conversations.rbi +59 -57
  1626. data/rbi/openai/resources/embeddings.rbi +8 -5
  1627. data/rbi/openai/resources/evals/runs/output_items.rbi +15 -11
  1628. data/rbi/openai/resources/evals/runs.rbi +32 -34
  1629. data/rbi/openai/resources/evals.rbi +37 -37
  1630. data/rbi/openai/resources/files.rbi +30 -22
  1631. data/rbi/openai/resources/fine_tuning/alpha/graders.rbi +29 -22
  1632. data/rbi/openai/resources/fine_tuning/alpha.rbi +5 -0
  1633. data/rbi/openai/resources/fine_tuning/checkpoints/permissions.rbi +25 -24
  1634. data/rbi/openai/resources/fine_tuning/checkpoints.rbi +5 -0
  1635. data/rbi/openai/resources/fine_tuning/jobs/checkpoints.rbi +10 -6
  1636. data/rbi/openai/resources/fine_tuning/jobs.rbi +38 -48
  1637. data/rbi/openai/resources/fine_tuning/methods.rbi +5 -0
  1638. data/rbi/openai/resources/fine_tuning.rbi +3 -0
  1639. data/rbi/openai/resources/graders/grader_models.rbi +5 -0
  1640. data/rbi/openai/resources/graders.rbi +3 -0
  1641. data/rbi/openai/resources/images.rbi +64 -105
  1642. data/rbi/openai/resources/models.rbi +6 -17
  1643. data/rbi/openai/resources/moderations.rbi +7 -3
  1644. data/rbi/openai/resources/realtime/calls.rbi +49 -60
  1645. data/rbi/openai/resources/realtime/client_secrets.rbi +14 -10
  1646. data/rbi/openai/resources/realtime.rbi +3 -0
  1647. data/rbi/openai/resources/responses/input_items.rbi +8 -6
  1648. data/rbi/openai/resources/responses/input_tokens.rbi +47 -58
  1649. data/rbi/openai/resources/responses.rbi +170 -259
  1650. data/rbi/openai/resources/skills/content.rbi +6 -6
  1651. data/rbi/openai/resources/skills/versions/content.rbi +10 -7
  1652. data/rbi/openai/resources/skills/versions.rbi +23 -20
  1653. data/rbi/openai/resources/skills.rbi +18 -28
  1654. data/rbi/openai/resources/uploads/parts.rbi +9 -7
  1655. data/rbi/openai/resources/uploads.rbi +12 -12
  1656. data/rbi/openai/resources/vector_stores/file_batches.rbi +119 -37
  1657. data/rbi/openai/resources/vector_stores/files.rbi +138 -42
  1658. data/rbi/openai/resources/vector_stores.rbi +33 -39
  1659. data/rbi/openai/resources/videos.rbi +44 -62
  1660. data/rbi/openai/resources/webhooks.rbi +35 -30
  1661. data/rbi/openai/streaming.rbi +7 -14
  1662. data/realtime.md +499 -0
  1663. data/sig/openai/auth/x509_token_exchange.rbs +19 -0
  1664. data/sig/openai/auth/x509_transport.rbs +34 -0
  1665. data/sig/openai/auth/x509_workload_identity.rbs +24 -0
  1666. data/sig/openai/auth.rbs +42 -0
  1667. data/sig/openai/client.rbs +48 -2
  1668. data/sig/openai/errors.rbs +11 -0
  1669. data/sig/openai/file_part.rbs +9 -0
  1670. data/sig/openai/helpers/client_options.rbs +19 -0
  1671. data/sig/openai/helpers/data_residency.rbs +16 -0
  1672. data/sig/openai/helpers/realtime/connection.rbs +45 -0
  1673. data/sig/openai/helpers/realtime/connection_manager.rbs +21 -0
  1674. data/sig/openai/helpers/realtime/connection_resources.rbs +50 -0
  1675. data/sig/openai/helpers/realtime/extensions.rbs +83 -0
  1676. data/sig/openai/helpers/realtime/sideband_connection.rbs +12 -0
  1677. data/sig/openai/helpers/realtime/transports/async_websocket.rbs +37 -0
  1678. data/sig/openai/helpers/realtime/unknown_server_event.rbs +14 -0
  1679. data/sig/openai/helpers/resource_polling.rbs +31 -0
  1680. data/sig/openai/helpers/structured_output/chat_completion_parser.rbs +21 -0
  1681. data/sig/openai/helpers/structured_output/response_parser.rbs +17 -0
  1682. data/sig/openai/internal/poller.rbs +31 -0
  1683. data/sig/openai/internal/provider.rbs +1 -3
  1684. data/sig/openai/internal/request_options_scope.rbs +9 -0
  1685. data/sig/openai/internal/transport/base_client.rbs +10 -0
  1686. data/sig/openai/internal/type/converter.rbs +7 -1
  1687. data/sig/openai/internal/vector_store_file_uploader.rbs +18 -0
  1688. data/sig/openai/models/admin/organization/admin_api_key_create_response.rbs +34 -3
  1689. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
  1690. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
  1691. data/sig/openai/models/admin/organization/cost_quantity_unit.rbs +33 -0
  1692. data/sig/openai/models/admin/organization/project.rbs +9 -0
  1693. data/sig/openai/models/admin/organization/project_create_params.rbs +10 -1
  1694. data/sig/openai/models/admin/organization/project_residency.rbs +40 -0
  1695. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +7 -2
  1696. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +7 -2
  1697. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +7 -2
  1698. data/sig/openai/models/admin/organization/usage_completions_response.rbs +7 -2
  1699. data/sig/openai/models/admin/organization/usage_costs_response.rbs +7 -2
  1700. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +7 -2
  1701. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +7 -2
  1702. data/sig/openai/models/admin/organization/usage_images_response.rbs +7 -2
  1703. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +7 -2
  1704. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +7 -2
  1705. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +7 -2
  1706. data/sig/openai/models/all_models.rbs +4 -0
  1707. data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +75 -0
  1708. data/sig/openai/models/beta/beta_response.rbs +8 -1
  1709. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +22 -1
  1710. data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +16 -1
  1711. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +22 -1
  1712. data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +30 -2
  1713. data/sig/openai/models/beta/beta_response_input_item.rbs +4 -4
  1714. data/sig/openai/models/beta/beta_response_item.rbs +4 -4
  1715. data/sig/openai/models/beta/beta_response_output_item.rbs +4 -4
  1716. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +149 -4
  1717. data/sig/openai/models/beta/beta_response_shell_call_command_added_event.rbs +63 -0
  1718. data/sig/openai/models/beta/beta_response_shell_call_command_delta_event.rbs +70 -0
  1719. data/sig/openai/models/beta/beta_response_shell_call_command_done_event.rbs +63 -0
  1720. data/sig/openai/models/beta/beta_response_shell_call_output_content_delta_event.rbs +84 -0
  1721. data/sig/openai/models/beta/beta_response_shell_call_output_content_done_event.rbs +134 -0
  1722. data/sig/openai/models/beta/beta_response_stream_event.rbs +5 -0
  1723. data/sig/openai/models/beta/beta_responses_client_event.rbs +8 -1
  1724. data/sig/openai/models/beta/beta_responses_server_event.rbs +417 -146
  1725. data/sig/openai/models/beta/beta_web_search_tool.rbs +7 -0
  1726. data/sig/openai/models/beta/response_compact_params.rbs +6 -0
  1727. data/sig/openai/models/beta/response_create_params.rbs +8 -1
  1728. data/sig/openai/models/chat/chat_completion.rbs +5 -0
  1729. data/sig/openai/models/chat/chat_completion_chunk.rbs +7 -0
  1730. data/sig/openai/models/chat/chat_completion_store_message.rbs +22 -1
  1731. data/sig/openai/models/chat_model.rbs +2 -0
  1732. data/sig/openai/models/completion_usage.rbs +27 -6
  1733. data/sig/openai/models/conversations/conversation_item.rbs +4 -4
  1734. data/sig/openai/models/eval_create_params.rbs +75 -9
  1735. data/sig/openai/models/eval_create_response.rbs +75 -9
  1736. data/sig/openai/models/eval_list_response.rbs +75 -9
  1737. data/sig/openai/models/eval_retrieve_response.rbs +75 -9
  1738. data/sig/openai/models/eval_update_response.rbs +75 -9
  1739. data/sig/openai/models/model.rbs +12 -2
  1740. data/sig/openai/models/realtime/call_accept_params.rbs +46 -1
  1741. data/sig/openai/models/realtime/call_create_params.rbs +34 -0
  1742. data/sig/openai/models/responses/mcp_tool_call_error.rbs +73 -0
  1743. data/sig/openai/models/responses/response.rbs +4 -1
  1744. data/sig/openai/models/responses/response_compact_params.rbs +6 -0
  1745. data/sig/openai/models/responses/response_create_params.rbs +2 -1
  1746. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +19 -1
  1747. data/sig/openai/models/responses/response_custom_tool_call_output_item.rbs +13 -1
  1748. data/sig/openai/models/responses/response_function_tool_call_item.rbs +19 -1
  1749. data/sig/openai/models/responses/response_image_gen_call_partial_image_event.rbs +30 -2
  1750. data/sig/openai/models/responses/response_input_item.rbs +4 -4
  1751. data/sig/openai/models/responses/response_item.rbs +4 -4
  1752. data/sig/openai/models/responses/response_output_item.rbs +4 -4
  1753. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +149 -4
  1754. data/sig/openai/models/responses/response_shell_call_command_added_event.rbs +42 -0
  1755. data/sig/openai/models/responses/response_shell_call_command_delta_event.rbs +49 -0
  1756. data/sig/openai/models/responses/response_shell_call_command_done_event.rbs +42 -0
  1757. data/sig/openai/models/responses/response_shell_call_output_content_delta_event.rbs +63 -0
  1758. data/sig/openai/models/responses/response_shell_call_output_content_done_event.rbs +113 -0
  1759. data/sig/openai/models/responses/response_stream_event.rbs +5 -0
  1760. data/sig/openai/models/responses/responses_client_event.rbs +2 -1
  1761. data/sig/openai/models/responses/responses_server_event.rbs +387 -143
  1762. data/sig/openai/models/responses/web_search_tool.rbs +7 -0
  1763. data/sig/openai/models/responses_model.rbs +4 -0
  1764. data/sig/openai/net_http_client.rbs +11 -3
  1765. data/sig/openai/providers.rbs +1 -0
  1766. data/sig/openai/resources/admin/organization/projects.rbs +1 -0
  1767. data/sig/openai/resources/files.rbs +7 -0
  1768. data/sig/openai/resources/realtime/calls.rbs +6 -0
  1769. data/sig/openai/resources/vector_stores/file_batches.rbs +31 -0
  1770. data/sig/openai/resources/vector_stores/files.rbs +36 -0
  1771. metadata +117 -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,8 +4,7 @@ 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
10
9
 
11
10
  ChatChunkEvent = OpenAI::Helpers::Streaming::ChatChunkEvent
@@ -13,18 +12,12 @@ module OpenAI
13
12
  ChatContentDoneEvent = OpenAI::Helpers::Streaming::ChatContentDoneEvent
14
13
  ChatRefusalDeltaEvent = OpenAI::Helpers::Streaming::ChatRefusalDeltaEvent
15
14
  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
15
+ ChatFunctionToolCallArgumentsDeltaEvent = OpenAI::Helpers::Streaming::ChatFunctionToolCallArgumentsDeltaEvent
16
+ ChatFunctionToolCallArgumentsDoneEvent = OpenAI::Helpers::Streaming::ChatFunctionToolCallArgumentsDoneEvent
17
+ ChatLogprobsContentDeltaEvent = OpenAI::Helpers::Streaming::ChatLogprobsContentDeltaEvent
18
+ ChatLogprobsContentDoneEvent = OpenAI::Helpers::Streaming::ChatLogprobsContentDoneEvent
19
+ ChatLogprobsRefusalDeltaEvent = OpenAI::Helpers::Streaming::ChatLogprobsRefusalDeltaEvent
20
+ ChatLogprobsRefusalDoneEvent = OpenAI::Helpers::Streaming::ChatLogprobsRefusalDoneEvent
28
21
 
29
22
  ResponseStream = OpenAI::Helpers::Streaming::ResponseStream
30
23
  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