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