openai 0.85.0 → 0.87.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 (1207) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +89 -0
  3. data/README.md +104 -13
  4. data/docs/architecture/security-model.md +28 -2
  5. data/examples/audio/record_and_play.rb +19 -0
  6. data/examples/responses/websocket_workflows.rb +159 -0
  7. data/lib/openai/auth/workload_identity_auth.rb +2 -2
  8. data/lib/openai/auth/x509_token_exchange.rb +7 -1
  9. data/lib/openai/auth/x509_transport.rb +21 -3
  10. data/lib/openai/client.rb +4 -2
  11. data/lib/openai/errors.rb +28 -9
  12. data/lib/openai/file_part.rb +35 -2
  13. data/lib/openai/helpers/local_audio/errors.rb +27 -0
  14. data/lib/openai/helpers/local_audio/process.rb +158 -0
  15. data/lib/openai/helpers/local_audio.rb +157 -0
  16. data/lib/openai/helpers/realtime/client_extension.rb +37 -121
  17. data/lib/openai/helpers/realtime/connection.rb +32 -91
  18. data/lib/openai/helpers/realtime/connection_manager.rb +22 -77
  19. data/lib/openai/helpers/realtime/connection_resources.rb +3 -1
  20. data/lib/openai/helpers/realtime/errors.rb +18 -24
  21. data/lib/openai/helpers/realtime/recovery.rb +489 -0
  22. data/lib/openai/helpers/realtime/resources/realtime_extension.rb +26 -1
  23. data/lib/openai/helpers/realtime/transports/async_websocket.rb +25 -368
  24. data/lib/openai/helpers/realtime.rb +1 -0
  25. data/lib/openai/helpers/responses_websocket/client_extension.rb +62 -0
  26. data/lib/openai/helpers/responses_websocket/connection.rb +288 -0
  27. data/lib/openai/helpers/responses_websocket/connection_manager.rb +34 -0
  28. data/lib/openai/helpers/responses_websocket/connection_resources.rb +22 -0
  29. data/lib/openai/helpers/responses_websocket/errors.rb +56 -0
  30. data/lib/openai/helpers/responses_websocket/resources/responses_extension.rb +31 -0
  31. data/lib/openai/helpers/responses_websocket/transports/async_websocket.rb +29 -0
  32. data/lib/openai/helpers/responses_websocket/unknown_server_event.rb +54 -0
  33. data/lib/openai/helpers/responses_websocket.rb +12 -0
  34. data/lib/openai/helpers/sorbet.rb +7 -1
  35. data/lib/openai/helpers/streaming/chat_completion_stream.rb +53 -12
  36. data/lib/openai/helpers/streaming/chat_events.rb +9 -7
  37. data/lib/openai/helpers/streaming/response_stream.rb +68 -62
  38. data/lib/openai/helpers/structured_output/json_schema_converter.rb +1 -1
  39. data/lib/openai/helpers/structured_output/response_parser.rb +125 -2
  40. data/lib/openai/helpers/websocket/async_websocket_transport.rb +422 -0
  41. data/lib/openai/helpers/websocket/client_request.rb +131 -0
  42. data/lib/openai/helpers/websocket/connection.rb +104 -0
  43. data/lib/openai/helpers/websocket/connection_manager.rb +104 -0
  44. data/lib/openai/helpers/websocket/errors.rb +32 -0
  45. data/lib/openai/helpers/websocket/protocol.rb +26 -0
  46. data/lib/openai/helpers/websocket.rb +10 -0
  47. data/lib/openai/internal/conversation_cursor_page.rb +1 -1
  48. data/lib/openai/internal/cursor_page.rb +1 -1
  49. data/lib/openai/internal/next_cursor_page.rb +1 -1
  50. data/lib/openai/internal/page.rb +1 -1
  51. data/lib/openai/internal/transport/base_client.rb +45 -8
  52. data/lib/openai/internal/transport/request_body_merge.rb +71 -0
  53. data/lib/openai/internal/type/base_page.rb +2 -2
  54. data/lib/openai/internal/type/base_stream.rb +8 -0
  55. data/lib/openai/internal/type/converter.rb +10 -2
  56. data/lib/openai/internal/type/duplicable_response_carrier.rb +23 -0
  57. data/lib/openai/internal/type/file_input.rb +3 -3
  58. data/lib/openai/internal/type/union.rb +24 -4
  59. data/lib/openai/internal/util.rb +139 -20
  60. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rb +9 -1
  61. data/lib/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rb +14 -1
  62. data/lib/openai/models/audio/transcription_create_response.rb +5 -5
  63. data/lib/openai/models/beta/beta_response.rb +130 -2
  64. data/lib/openai/models/beta/beta_response_function_call_arguments_done_event.rb +1 -9
  65. data/lib/openai/models/beta/beta_response_function_web_search.rb +1 -0
  66. data/lib/openai/models/beta/beta_response_input_item.rb +84 -1
  67. data/lib/openai/models/beta/beta_response_item.rb +72 -1
  68. data/lib/openai/models/beta/beta_response_output_item.rb +84 -1
  69. data/lib/openai/models/beta/beta_responses_client_event.rb +13 -1
  70. data/lib/openai/models/beta/beta_responses_server_event.rb +1 -3
  71. data/lib/openai/models/beta/beta_tool.rb +69 -37
  72. data/lib/openai/models/beta/response_compact_params.rb +14 -12
  73. data/lib/openai/models/beta/response_create_params.rb +13 -1
  74. data/lib/openai/models/conversations/conversation_item.rb +82 -1
  75. data/lib/openai/models/image_edit_completed_event.rb +34 -8
  76. data/lib/openai/models/image_edit_params.rb +64 -44
  77. data/lib/openai/models/image_edit_partial_image_event.rb +34 -8
  78. data/lib/openai/models/image_gen_completed_event.rb +34 -8
  79. data/lib/openai/models/image_gen_partial_image_event.rb +34 -8
  80. data/lib/openai/models/image_generate_params.rb +51 -35
  81. data/lib/openai/models/image_model.rb +4 -0
  82. data/lib/openai/models/images_response.rb +37 -13
  83. data/lib/openai/models/responses/response.rb +135 -6
  84. data/lib/openai/models/responses/response_compact_params.rb +14 -12
  85. data/lib/openai/models/responses/response_create_params.rb +13 -1
  86. data/lib/openai/models/responses/response_function_call_arguments_done_event.rb +1 -9
  87. data/lib/openai/models/responses/response_function_web_search.rb +1 -0
  88. data/lib/openai/models/responses/response_input_item.rb +84 -1
  89. data/lib/openai/models/responses/response_item.rb +72 -1
  90. data/lib/openai/models/responses/response_output_item.rb +84 -1
  91. data/lib/openai/models/responses/responses_client_event.rb +13 -1
  92. data/lib/openai/models/responses/responses_server_event.rb +1 -3
  93. data/lib/openai/models/responses/tool.rb +69 -37
  94. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +3 -3
  95. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +5 -3
  96. data/lib/openai/net_http_client.rb +16 -2
  97. data/lib/openai/providers/bedrock.rb +2 -1
  98. data/lib/openai/request_options.rb +18 -4
  99. data/lib/openai/resources/admin/organization/projects/service_accounts/api_keys.rb +3 -1
  100. data/lib/openai/resources/containers/files.rb +1 -0
  101. data/lib/openai/resources/images.rb +12 -14
  102. data/lib/openai/resources/responses.rb +36 -4
  103. data/lib/openai/response_carrier.rb +42 -0
  104. data/lib/openai/version.rb +1 -1
  105. data/lib/openai.rb +4 -0
  106. data/local-audio.md +146 -0
  107. data/rbi/openai/auth/subject_token_providers.rbi +72 -0
  108. data/rbi/openai/errors.rbi +53 -4
  109. data/rbi/openai/file_part.rbi +5 -0
  110. data/rbi/openai/helpers/local_audio/interface.rbi +110 -0
  111. data/rbi/openai/helpers/realtime/connection.rbi +18 -2
  112. data/rbi/openai/helpers/realtime/extensions.rbi +11 -3
  113. data/rbi/openai/helpers/realtime/recovery.rbi +27 -0
  114. data/rbi/openai/helpers/responses_websocket/connection.rbi +82 -0
  115. data/rbi/openai/helpers/responses_websocket/connection_manager.rbi +39 -0
  116. data/rbi/openai/helpers/responses_websocket/connection_resources.rbi +17 -0
  117. data/rbi/openai/helpers/responses_websocket/extensions.rbi +108 -0
  118. data/rbi/openai/helpers/responses_websocket/transports/async_websocket.rbi +28 -0
  119. data/rbi/openai/helpers/responses_websocket/unknown_server_event.rbi +29 -0
  120. data/rbi/openai/helpers/streaming/chat_completion_stream.rbi +214 -0
  121. data/rbi/openai/helpers/streaming/events.rbi +61 -4
  122. data/rbi/openai/helpers/streaming/exceptions.rbi +30 -0
  123. data/rbi/openai/helpers/streaming/response_stream.rbi +7 -3
  124. data/rbi/openai/helpers/structured_output/response_parser.rbi +23 -0
  125. data/rbi/openai/helpers/websocket.rbi +33 -0
  126. data/rbi/openai/internal/transport/base_client.rbi +11 -0
  127. data/rbi/openai/internal/type/base_stream.rbi +4 -0
  128. data/rbi/openai/internal/util.rbi +1 -0
  129. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbi +10 -0
  130. data/rbi/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbi +19 -1
  131. data/rbi/openai/models/beta/beta_response.rbi +287 -3
  132. data/rbi/openai/models/beta/beta_response_function_call_arguments_done_event.rbi +0 -10
  133. data/rbi/openai/models/beta/beta_response_function_web_search.rbi +1 -0
  134. data/rbi/openai/models/beta/beta_response_inject_created_event.rbi +1 -1
  135. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +1 -1
  136. data/rbi/openai/models/beta/beta_response_input_item.rbi +86 -1
  137. data/rbi/openai/models/beta/beta_response_item.rbi +78 -1
  138. data/rbi/openai/models/beta/beta_response_output_item.rbi +84 -1
  139. data/rbi/openai/models/beta/beta_response_steer_accepted_event.rbi +1 -1
  140. data/rbi/openai/models/beta/beta_response_steer_failed_event.rbi +6 -2
  141. data/rbi/openai/models/beta/beta_response_steer_pending_event.rbi +1 -1
  142. data/rbi/openai/models/beta/beta_responses_client_event.rbi +70 -40
  143. data/rbi/openai/models/beta/beta_responses_server_event.rbi +82 -82
  144. data/rbi/openai/models/beta/beta_tool.rbi +90 -51
  145. data/rbi/openai/models/beta/response_compact_params.rbi +21 -18
  146. data/rbi/openai/models/beta/response_create_params.rbi +18 -0
  147. data/rbi/openai/models/conversations/conversation_item.rbi +88 -1
  148. data/rbi/openai/models/image_edit_completed_event.rbi +20 -9
  149. data/rbi/openai/models/image_edit_params.rbi +89 -60
  150. data/rbi/openai/models/image_edit_partial_image_event.rbi +20 -9
  151. data/rbi/openai/models/image_gen_completed_event.rbi +20 -9
  152. data/rbi/openai/models/image_gen_partial_image_event.rbi +20 -9
  153. data/rbi/openai/models/image_generate_params.rbi +71 -48
  154. data/rbi/openai/models/image_model.rbi +4 -0
  155. data/rbi/openai/models/images_response.rbi +27 -16
  156. data/rbi/openai/models/realtime/conversation_created_event.rbi +4 -1
  157. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +2 -2
  158. data/rbi/openai/models/realtime/conversation_item_delete_event.rbi +1 -1
  159. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +5 -3
  160. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +2 -2
  161. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbi +1 -1
  162. data/rbi/openai/models/realtime/conversation_item_retrieve_event.rbi +1 -1
  163. data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +1 -1
  164. data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +1 -1
  165. data/rbi/openai/models/realtime/input_audio_buffer_clear_event.rbi +1 -1
  166. data/rbi/openai/models/realtime/input_audio_buffer_commit_event.rbi +1 -1
  167. data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +1 -1
  168. data/rbi/openai/models/realtime/rate_limits_updated_event.rbi +4 -4
  169. data/rbi/openai/models/realtime/response_cancel_event.rbi +1 -1
  170. data/rbi/openai/models/realtime/response_content_part_added_event.rbi +4 -4
  171. data/rbi/openai/models/realtime/response_content_part_done_event.rbi +4 -4
  172. data/rbi/openai/models/realtime/response_create_event.rbi +5 -1
  173. data/rbi/openai/models/realtime/session_update_event.rbi +1 -1
  174. data/rbi/openai/models/responses/response.rbi +287 -3
  175. data/rbi/openai/models/responses/response_compact_params.rbi +21 -18
  176. data/rbi/openai/models/responses/response_create_params.rbi +18 -0
  177. data/rbi/openai/models/responses/response_function_call_arguments_done_event.rbi +1 -17
  178. data/rbi/openai/models/responses/response_function_web_search.rbi +1 -0
  179. data/rbi/openai/models/responses/response_input_item.rbi +88 -1
  180. data/rbi/openai/models/responses/response_item.rbi +80 -1
  181. data/rbi/openai/models/responses/response_output_item.rbi +84 -1
  182. data/rbi/openai/models/responses/response_steer_accepted_event.rbi +1 -1
  183. data/rbi/openai/models/responses/response_steer_failed_event.rbi +6 -2
  184. data/rbi/openai/models/responses/response_steer_pending_event.rbi +1 -1
  185. data/rbi/openai/models/responses/responses_client_event.rbi +68 -38
  186. data/rbi/openai/models/responses/responses_server_event.rbi +213 -77
  187. data/rbi/openai/models/responses/tool.rbi +90 -51
  188. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +4 -4
  189. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +8 -4
  190. data/rbi/openai/resources/admin/organization/projects/service_accounts/api_keys.rbi +3 -0
  191. data/rbi/openai/resources/audio/speech.rbi +1 -1
  192. data/rbi/openai/resources/beta/responses.rbi +13 -8
  193. data/rbi/openai/resources/containers/files/content.rbi +1 -1
  194. data/rbi/openai/resources/files.rbi +5 -1
  195. data/rbi/openai/resources/images.rbi +106 -76
  196. data/rbi/openai/resources/responses.rbi +158 -6
  197. data/rbi/openai/resources/skills/content.rbi +5 -1
  198. data/rbi/openai/resources/skills/versions/content.rbi +3 -1
  199. data/rbi/openai/resources/videos.rbi +1 -1
  200. data/rbi/openai/response_carrier.rbi +25 -0
  201. data/realtime.md +101 -0
  202. data/responses-websocket.md +182 -0
  203. data/sig/openai/auth/subject_token_providers.rbs +42 -0
  204. data/sig/openai/errors.rbs +36 -2
  205. data/sig/openai/file_part.rbs +3 -0
  206. data/sig/openai/helpers/local_audio/interface.rbs +62 -0
  207. data/sig/openai/helpers/realtime/connection.rbs +9 -1
  208. data/sig/openai/helpers/realtime/extensions.rbs +6 -2
  209. data/sig/openai/helpers/realtime/recovery.rbs +19 -0
  210. data/sig/openai/helpers/responses_websocket/connection.rbs +48 -0
  211. data/sig/openai/helpers/responses_websocket/connection_manager.rbs +19 -0
  212. data/sig/openai/helpers/responses_websocket/connection_resources.rbs +12 -0
  213. data/sig/openai/helpers/responses_websocket/extensions.rbs +55 -0
  214. data/sig/openai/helpers/responses_websocket/transports/async_websocket.rbs +19 -0
  215. data/sig/openai/helpers/responses_websocket/unknown_server_event.rbs +15 -0
  216. data/sig/openai/helpers/streaming/exceptions.rbs +24 -0
  217. data/sig/openai/helpers/streaming/response_stream.rbs +103 -0
  218. data/sig/openai/helpers/structured_output/response_parser.rbs +10 -0
  219. data/sig/openai/helpers/websocket.rbs +18 -0
  220. data/sig/openai/internal/transport/base_client.rbs +5 -0
  221. data/sig/openai/internal/type/base_stream.rbs +2 -0
  222. data/sig/openai/internal/type/request_parameters.rbs +1 -1
  223. data/sig/openai/internal/util.rbs +1 -0
  224. data/sig/openai/models/admin/organization/admin_api_key.rbs +18 -18
  225. data/sig/openai/models/admin/organization/admin_api_key_create_params.rbs +7 -4
  226. data/sig/openai/models/admin/organization/admin_api_key_create_response.rbs +6 -6
  227. data/sig/openai/models/admin/organization/admin_api_key_delete_params.rbs +2 -2
  228. data/sig/openai/models/admin/organization/admin_api_key_delete_response.rbs +2 -2
  229. data/sig/openai/models/admin/organization/admin_api_key_list_params.rbs +8 -8
  230. data/sig/openai/models/admin/organization/admin_api_key_retrieve_params.rbs +2 -2
  231. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +27 -27
  232. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +428 -423
  233. data/sig/openai/models/admin/organization/certificate.rbs +6 -6
  234. data/sig/openai/models/admin/organization/certificate_activate_params.rbs +5 -3
  235. data/sig/openai/models/admin/organization/certificate_activate_response.rbs +5 -4
  236. data/sig/openai/models/admin/organization/certificate_create_params.rbs +7 -4
  237. data/sig/openai/models/admin/organization/certificate_deactivate_params.rbs +5 -3
  238. data/sig/openai/models/admin/organization/certificate_deactivate_response.rbs +5 -4
  239. data/sig/openai/models/admin/organization/certificate_delete_params.rbs +2 -3
  240. data/sig/openai/models/admin/organization/certificate_delete_response.rbs +2 -2
  241. data/sig/openai/models/admin/organization/certificate_list_params.rbs +8 -8
  242. data/sig/openai/models/admin/organization/certificate_list_response.rbs +5 -4
  243. data/sig/openai/models/admin/organization/certificate_retrieve_params.rbs +4 -4
  244. data/sig/openai/models/admin/organization/certificate_update_params.rbs +7 -4
  245. data/sig/openai/models/admin/organization/data_retention_retrieve_params.rbs +2 -2
  246. data/sig/openai/models/admin/organization/data_retention_update_params.rbs +3 -3
  247. data/sig/openai/models/admin/organization/group_create_params.rbs +2 -2
  248. data/sig/openai/models/admin/organization/group_delete_params.rbs +2 -2
  249. data/sig/openai/models/admin/organization/group_delete_response.rbs +2 -2
  250. data/sig/openai/models/admin/organization/group_list_params.rbs +8 -8
  251. data/sig/openai/models/admin/organization/group_retrieve_params.rbs +2 -2
  252. data/sig/openai/models/admin/organization/group_update_params.rbs +6 -3
  253. data/sig/openai/models/admin/organization/groups/role_create_params.rbs +6 -3
  254. data/sig/openai/models/admin/organization/groups/role_create_response.rbs +4 -4
  255. data/sig/openai/models/admin/organization/groups/role_delete_params.rbs +6 -3
  256. data/sig/openai/models/admin/organization/groups/role_list_params.rbs +8 -8
  257. data/sig/openai/models/admin/organization/groups/role_retrieve_params.rbs +6 -3
  258. data/sig/openai/models/admin/organization/groups/user_create_params.rbs +6 -3
  259. data/sig/openai/models/admin/organization/groups/user_create_response.rbs +2 -2
  260. data/sig/openai/models/admin/organization/groups/user_delete_params.rbs +6 -3
  261. data/sig/openai/models/admin/organization/groups/user_delete_response.rbs +2 -2
  262. data/sig/openai/models/admin/organization/groups/user_list_params.rbs +8 -8
  263. data/sig/openai/models/admin/organization/groups/user_retrieve_params.rbs +6 -3
  264. data/sig/openai/models/admin/organization/invite.rbs +6 -6
  265. data/sig/openai/models/admin/organization/invite_create_params.rbs +4 -4
  266. data/sig/openai/models/admin/organization/invite_delete_params.rbs +2 -2
  267. data/sig/openai/models/admin/organization/invite_delete_response.rbs +2 -2
  268. data/sig/openai/models/admin/organization/invite_list_params.rbs +8 -5
  269. data/sig/openai/models/admin/organization/invite_retrieve_params.rbs +2 -2
  270. data/sig/openai/models/admin/organization/organization_data_retention.rbs +2 -2
  271. data/sig/openai/models/admin/organization/organization_spend_alert.rbs +6 -6
  272. data/sig/openai/models/admin/organization/organization_spend_alert_deleted.rbs +2 -2
  273. data/sig/openai/models/admin/organization/organization_spend_limit.rbs +2 -2
  274. data/sig/openai/models/admin/organization/organization_spend_limit_deleted.rbs +2 -2
  275. data/sig/openai/models/admin/organization/organization_user.rbs +46 -46
  276. data/sig/openai/models/admin/organization/project.rbs +12 -12
  277. data/sig/openai/models/admin/organization/project_archive_params.rbs +2 -2
  278. data/sig/openai/models/admin/organization/project_create_params.rbs +8 -8
  279. data/sig/openai/models/admin/organization/project_list_params.rbs +10 -6
  280. data/sig/openai/models/admin/organization/project_retrieve_params.rbs +2 -2
  281. data/sig/openai/models/admin/organization/project_update_params.rbs +8 -8
  282. data/sig/openai/models/admin/organization/projects/api_key_delete_params.rbs +6 -3
  283. data/sig/openai/models/admin/organization/projects/api_key_delete_response.rbs +2 -2
  284. data/sig/openai/models/admin/organization/projects/api_key_list_params.rbs +8 -8
  285. data/sig/openai/models/admin/organization/projects/api_key_retrieve_params.rbs +6 -3
  286. data/sig/openai/models/admin/organization/projects/certificate_activate_params.rbs +6 -3
  287. data/sig/openai/models/admin/organization/projects/certificate_activate_response.rbs +4 -4
  288. data/sig/openai/models/admin/organization/projects/certificate_deactivate_params.rbs +6 -3
  289. data/sig/openai/models/admin/organization/projects/certificate_deactivate_response.rbs +4 -4
  290. data/sig/openai/models/admin/organization/projects/certificate_list_params.rbs +8 -8
  291. data/sig/openai/models/admin/organization/projects/certificate_list_response.rbs +4 -4
  292. data/sig/openai/models/admin/organization/projects/data_retention_retrieve_params.rbs +2 -2
  293. data/sig/openai/models/admin/organization/projects/data_retention_update_params.rbs +3 -3
  294. data/sig/openai/models/admin/organization/projects/group_create_params.rbs +7 -3
  295. data/sig/openai/models/admin/organization/projects/group_delete_params.rbs +6 -3
  296. data/sig/openai/models/admin/organization/projects/group_delete_response.rbs +2 -2
  297. data/sig/openai/models/admin/organization/projects/group_list_params.rbs +8 -8
  298. data/sig/openai/models/admin/organization/projects/group_retrieve_params.rbs +4 -4
  299. data/sig/openai/models/admin/organization/projects/groups/role_create_params.rbs +7 -3
  300. data/sig/openai/models/admin/organization/projects/groups/role_create_response.rbs +4 -4
  301. data/sig/openai/models/admin/organization/projects/groups/role_delete_params.rbs +7 -3
  302. data/sig/openai/models/admin/organization/projects/groups/role_list_params.rbs +8 -8
  303. data/sig/openai/models/admin/organization/projects/groups/role_retrieve_params.rbs +7 -3
  304. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_retrieve_params.rbs +2 -2
  305. data/sig/openai/models/admin/organization/projects/hosted_tool_permission_update_params.rbs +12 -12
  306. data/sig/openai/models/admin/organization/projects/model_permission_delete_params.rbs +2 -2
  307. data/sig/openai/models/admin/organization/projects/model_permission_retrieve_params.rbs +2 -2
  308. data/sig/openai/models/admin/organization/projects/model_permission_update_params.rbs +3 -3
  309. data/sig/openai/models/admin/organization/projects/project_api_key.rbs +8 -8
  310. data/sig/openai/models/admin/organization/projects/project_data_retention.rbs +2 -2
  311. data/sig/openai/models/admin/organization/projects/project_group.rbs +2 -2
  312. data/sig/openai/models/admin/organization/projects/project_model_permissions.rbs +2 -2
  313. data/sig/openai/models/admin/organization/projects/project_model_permissions_deleted.rbs +2 -2
  314. data/sig/openai/models/admin/organization/projects/project_rate_limit.rbs +10 -10
  315. data/sig/openai/models/admin/organization/projects/project_service_account.rbs +2 -2
  316. data/sig/openai/models/admin/organization/projects/project_spend_alert.rbs +6 -6
  317. data/sig/openai/models/admin/organization/projects/project_spend_alert_deleted.rbs +2 -2
  318. data/sig/openai/models/admin/organization/projects/project_spend_limit.rbs +2 -2
  319. data/sig/openai/models/admin/organization/projects/project_spend_limit_deleted.rbs +2 -2
  320. data/sig/openai/models/admin/organization/projects/project_user.rbs +6 -6
  321. data/sig/openai/models/admin/organization/projects/rate_limit_list_rate_limits_params.rbs +8 -8
  322. data/sig/openai/models/admin/organization/projects/rate_limit_update_rate_limit_params.rbs +14 -14
  323. data/sig/openai/models/admin/organization/projects/role_create_params.rbs +4 -4
  324. data/sig/openai/models/admin/organization/projects/role_delete_params.rbs +6 -3
  325. data/sig/openai/models/admin/organization/projects/role_delete_response.rbs +2 -2
  326. data/sig/openai/models/admin/organization/projects/role_list_params.rbs +8 -8
  327. data/sig/openai/models/admin/organization/projects/role_retrieve_params.rbs +6 -3
  328. data/sig/openai/models/admin/organization/projects/role_update_params.rbs +8 -8
  329. data/sig/openai/models/admin/organization/projects/service_account_create_params.rbs +4 -4
  330. data/sig/openai/models/admin/organization/projects/service_account_create_response.rbs +4 -4
  331. data/sig/openai/models/admin/organization/projects/service_account_delete_params.rbs +6 -3
  332. data/sig/openai/models/admin/organization/projects/service_account_delete_response.rbs +2 -2
  333. data/sig/openai/models/admin/organization/projects/service_account_list_params.rbs +9 -5
  334. data/sig/openai/models/admin/organization/projects/service_account_retrieve_params.rbs +6 -3
  335. data/sig/openai/models/admin/organization/projects/service_account_update_params.rbs +6 -6
  336. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_params.rbs +11 -6
  337. data/sig/openai/models/admin/organization/projects/service_accounts/api_key_create_response.rbs +9 -4
  338. data/sig/openai/models/admin/organization/projects/spend_alert_create_params.rbs +7 -7
  339. data/sig/openai/models/admin/organization/projects/spend_alert_delete_params.rbs +6 -3
  340. data/sig/openai/models/admin/organization/projects/spend_alert_list_params.rbs +10 -10
  341. data/sig/openai/models/admin/organization/projects/spend_alert_retrieve_params.rbs +6 -3
  342. data/sig/openai/models/admin/organization/projects/spend_alert_update_params.rbs +7 -7
  343. data/sig/openai/models/admin/organization/projects/spend_limit_delete_params.rbs +2 -2
  344. data/sig/openai/models/admin/organization/projects/spend_limit_retrieve_params.rbs +2 -2
  345. data/sig/openai/models/admin/organization/projects/spend_limit_update_params.rbs +3 -3
  346. data/sig/openai/models/admin/organization/projects/user_create_params.rbs +6 -6
  347. data/sig/openai/models/admin/organization/projects/user_delete_params.rbs +6 -3
  348. data/sig/openai/models/admin/organization/projects/user_delete_response.rbs +2 -2
  349. data/sig/openai/models/admin/organization/projects/user_list_params.rbs +9 -5
  350. data/sig/openai/models/admin/organization/projects/user_retrieve_params.rbs +6 -3
  351. data/sig/openai/models/admin/organization/projects/user_update_params.rbs +8 -4
  352. data/sig/openai/models/admin/organization/projects/users/role_create_params.rbs +7 -3
  353. data/sig/openai/models/admin/organization/projects/users/role_create_response.rbs +2 -2
  354. data/sig/openai/models/admin/organization/projects/users/role_delete_params.rbs +7 -3
  355. data/sig/openai/models/admin/organization/projects/users/role_list_params.rbs +8 -8
  356. data/sig/openai/models/admin/organization/projects/users/role_retrieve_params.rbs +7 -3
  357. data/sig/openai/models/admin/organization/role.rbs +2 -2
  358. data/sig/openai/models/admin/organization/role_create_params.rbs +4 -4
  359. data/sig/openai/models/admin/organization/role_delete_params.rbs +2 -2
  360. data/sig/openai/models/admin/organization/role_delete_response.rbs +6 -2
  361. data/sig/openai/models/admin/organization/role_list_params.rbs +8 -8
  362. data/sig/openai/models/admin/organization/role_retrieve_params.rbs +2 -2
  363. data/sig/openai/models/admin/organization/role_update_params.rbs +8 -8
  364. data/sig/openai/models/admin/organization/spend_alert_create_params.rbs +7 -7
  365. data/sig/openai/models/admin/organization/spend_alert_delete_params.rbs +2 -2
  366. data/sig/openai/models/admin/organization/spend_alert_list_params.rbs +10 -10
  367. data/sig/openai/models/admin/organization/spend_alert_retrieve_params.rbs +2 -2
  368. data/sig/openai/models/admin/organization/spend_alert_update_params.rbs +7 -7
  369. data/sig/openai/models/admin/organization/spend_limit_delete_params.rbs +2 -2
  370. data/sig/openai/models/admin/organization/spend_limit_retrieve_params.rbs +2 -2
  371. data/sig/openai/models/admin/organization/spend_limit_update_params.rbs +3 -3
  372. data/sig/openai/models/admin/organization/usage_audio_speeches_params.rbs +20 -20
  373. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +142 -142
  374. data/sig/openai/models/admin/organization/usage_audio_transcriptions_params.rbs +20 -20
  375. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +142 -142
  376. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_params.rbs +14 -14
  377. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +142 -142
  378. data/sig/openai/models/admin/organization/usage_completions_params.rbs +22 -22
  379. data/sig/openai/models/admin/organization/usage_completions_response.rbs +142 -142
  380. data/sig/openai/models/admin/organization/usage_costs_params.rbs +18 -18
  381. data/sig/openai/models/admin/organization/usage_costs_response.rbs +142 -142
  382. data/sig/openai/models/admin/organization/usage_embeddings_params.rbs +20 -20
  383. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +142 -142
  384. data/sig/openai/models/admin/organization/usage_file_search_calls_params.rbs +20 -20
  385. data/sig/openai/models/admin/organization/usage_file_search_calls_response.rbs +142 -142
  386. data/sig/openai/models/admin/organization/usage_images_params.rbs +24 -24
  387. data/sig/openai/models/admin/organization/usage_images_response.rbs +142 -142
  388. data/sig/openai/models/admin/organization/usage_moderations_params.rbs +20 -20
  389. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +142 -142
  390. data/sig/openai/models/admin/organization/usage_vector_stores_params.rbs +14 -14
  391. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +142 -142
  392. data/sig/openai/models/admin/organization/usage_web_search_calls_params.rbs +22 -22
  393. data/sig/openai/models/admin/organization/usage_web_search_calls_response.rbs +142 -142
  394. data/sig/openai/models/admin/organization/user_delete_params.rbs +2 -2
  395. data/sig/openai/models/admin/organization/user_delete_response.rbs +2 -2
  396. data/sig/openai/models/admin/organization/user_list_params.rbs +10 -6
  397. data/sig/openai/models/admin/organization/user_retrieve_params.rbs +2 -2
  398. data/sig/openai/models/admin/organization/user_update_params.rbs +10 -10
  399. data/sig/openai/models/admin/organization/users/role_create_params.rbs +6 -3
  400. data/sig/openai/models/admin/organization/users/role_create_response.rbs +2 -2
  401. data/sig/openai/models/admin/organization/users/role_delete_params.rbs +6 -3
  402. data/sig/openai/models/admin/organization/users/role_list_params.rbs +8 -8
  403. data/sig/openai/models/admin/organization/users/role_retrieve_params.rbs +6 -3
  404. data/sig/openai/models/audio/speech_create_params.rbs +10 -10
  405. data/sig/openai/models/audio/transcription.rbs +19 -18
  406. data/sig/openai/models/audio/transcription_create_params.rbs +30 -30
  407. data/sig/openai/models/audio/transcription_diarized.rbs +12 -12
  408. data/sig/openai/models/audio/transcription_diarized_segment.rbs +2 -2
  409. data/sig/openai/models/audio/transcription_text_delta_event.rbs +10 -10
  410. data/sig/openai/models/audio/transcription_text_done_event.rbs +18 -18
  411. data/sig/openai/models/audio/transcription_text_segment_event.rbs +2 -2
  412. data/sig/openai/models/audio/transcription_verbose.rbs +8 -8
  413. data/sig/openai/models/audio/translation_create_params.rbs +8 -8
  414. data/sig/openai/models/audio/translation_verbose.rbs +2 -2
  415. data/sig/openai/models/auto_file_chunking_strategy_param.rbs +2 -2
  416. data/sig/openai/models/batch.rbs +34 -34
  417. data/sig/openai/models/batch_cancel_params.rbs +2 -2
  418. data/sig/openai/models/batch_create_params.rbs +8 -8
  419. data/sig/openai/models/batch_error.rbs +5 -5
  420. data/sig/openai/models/batch_list_params.rbs +8 -5
  421. data/sig/openai/models/batch_retrieve_params.rbs +2 -2
  422. data/sig/openai/models/beta/assistant.rbs +18 -18
  423. data/sig/openai/models/beta/assistant_create_params.rbs +42 -42
  424. data/sig/openai/models/beta/assistant_delete_params.rbs +2 -2
  425. data/sig/openai/models/beta/assistant_deleted.rbs +2 -2
  426. data/sig/openai/models/beta/assistant_list_params.rbs +10 -10
  427. data/sig/openai/models/beta/assistant_retrieve_params.rbs +2 -2
  428. data/sig/openai/models/beta/assistant_stream_event.rbs +53 -50
  429. data/sig/openai/models/beta/assistant_tool_choice.rbs +2 -2
  430. data/sig/openai/models/beta/assistant_update_params.rbs +32 -32
  431. data/sig/openai/models/beta/beta_apply_patch_tool.rbs +4 -4
  432. data/sig/openai/models/beta/beta_compacted_response.rbs +2 -2
  433. data/sig/openai/models/beta/beta_computer_action.rbs +25 -25
  434. data/sig/openai/models/beta/beta_computer_tool.rbs +2 -2
  435. data/sig/openai/models/beta/beta_computer_use_preview_tool.rbs +2 -2
  436. data/sig/openai/models/beta/beta_container_auto.rbs +10 -10
  437. data/sig/openai/models/beta/beta_container_network_policy_allowlist.rbs +4 -4
  438. data/sig/openai/models/beta/beta_container_network_policy_disabled.rbs +2 -2
  439. data/sig/openai/models/beta/beta_container_reference.rbs +2 -2
  440. data/sig/openai/models/beta/beta_custom_tool.rbs +16 -16
  441. data/sig/openai/models/beta/beta_easy_input_message.rbs +4 -4
  442. data/sig/openai/models/beta/beta_file_search_tool.rbs +14 -14
  443. data/sig/openai/models/beta/beta_function_shell_tool.rbs +6 -6
  444. data/sig/openai/models/beta/beta_function_tool.rbs +12 -12
  445. data/sig/openai/models/beta/beta_inline_skill.rbs +2 -2
  446. data/sig/openai/models/beta/beta_inline_skill_source.rbs +3 -3
  447. data/sig/openai/models/beta/beta_local_environment.rbs +3 -3
  448. data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +6 -6
  449. data/sig/openai/models/beta/beta_namespace_tool.rbs +18 -18
  450. data/sig/openai/models/beta/beta_response.rbs +185 -67
  451. data/sig/openai/models/beta/beta_response_apply_patch_tool_call.rbs +18 -18
  452. data/sig/openai/models/beta/beta_response_apply_patch_tool_call_output.rbs +14 -14
  453. data/sig/openai/models/beta/beta_response_audio_delta_event.rbs +4 -4
  454. data/sig/openai/models/beta/beta_response_audio_done_event.rbs +4 -4
  455. data/sig/openai/models/beta/beta_response_audio_transcript_delta_event.rbs +4 -4
  456. data/sig/openai/models/beta/beta_response_audio_transcript_done_event.rbs +4 -4
  457. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_delta_event.rbs +4 -4
  458. data/sig/openai/models/beta/beta_response_code_interpreter_call_code_done_event.rbs +4 -4
  459. data/sig/openai/models/beta/beta_response_code_interpreter_call_completed_event.rbs +4 -4
  460. data/sig/openai/models/beta/beta_response_code_interpreter_call_in_progress_event.rbs +4 -4
  461. data/sig/openai/models/beta/beta_response_code_interpreter_call_interpreting_event.rbs +4 -4
  462. data/sig/openai/models/beta/beta_response_code_interpreter_tool_call.rbs +8 -8
  463. data/sig/openai/models/beta/beta_response_compaction_item.rbs +6 -6
  464. data/sig/openai/models/beta/beta_response_compaction_item_param.rbs +6 -6
  465. data/sig/openai/models/beta/beta_response_completed_event.rbs +4 -4
  466. data/sig/openai/models/beta/beta_response_computer_tool_call.rbs +8 -8
  467. data/sig/openai/models/beta/beta_response_computer_tool_call_output_item.rbs +10 -10
  468. data/sig/openai/models/beta/beta_response_computer_tool_call_output_screenshot.rbs +4 -4
  469. data/sig/openai/models/beta/beta_response_configuration_update_item.rbs +8 -8
  470. data/sig/openai/models/beta/beta_response_configuration_update_item_param.rbs +10 -10
  471. data/sig/openai/models/beta/beta_response_container_reference.rbs +2 -2
  472. data/sig/openai/models/beta/beta_response_content.rbs +2 -2
  473. data/sig/openai/models/beta/beta_response_content_part_added_event.rbs +6 -6
  474. data/sig/openai/models/beta/beta_response_content_part_done_event.rbs +6 -6
  475. data/sig/openai/models/beta/beta_response_created_event.rbs +4 -4
  476. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +16 -16
  477. data/sig/openai/models/beta/beta_response_custom_tool_call_input_delta_event.rbs +4 -4
  478. data/sig/openai/models/beta/beta_response_custom_tool_call_input_done_event.rbs +4 -4
  479. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +12 -12
  480. data/sig/openai/models/beta/beta_response_custom_tool_call_output.rbs +12 -12
  481. data/sig/openai/models/beta/beta_response_custom_tool_call_output_item.rbs +8 -8
  482. data/sig/openai/models/beta/beta_response_error.rbs +8 -8
  483. data/sig/openai/models/beta/beta_response_error_event.rbs +4 -4
  484. data/sig/openai/models/beta/beta_response_failed_event.rbs +4 -4
  485. data/sig/openai/models/beta/beta_response_file_search_call_completed_event.rbs +4 -4
  486. data/sig/openai/models/beta/beta_response_file_search_call_in_progress_event.rbs +4 -4
  487. data/sig/openai/models/beta/beta_response_file_search_call_searching_event.rbs +4 -4
  488. data/sig/openai/models/beta/beta_response_file_search_tool_call.rbs +16 -16
  489. data/sig/openai/models/beta/beta_response_format_text_config.rbs +4 -4
  490. data/sig/openai/models/beta/beta_response_format_text_json_schema_config.rbs +6 -6
  491. data/sig/openai/models/beta/beta_response_function_call_arguments_delta_event.rbs +4 -4
  492. data/sig/openai/models/beta/beta_response_function_call_arguments_done_event.rbs +4 -9
  493. data/sig/openai/models/beta/beta_response_function_shell_call_output_content.rbs +4 -4
  494. data/sig/openai/models/beta/beta_response_function_shell_tool_call.rbs +12 -12
  495. data/sig/openai/models/beta/beta_response_function_shell_tool_call_output.rbs +18 -18
  496. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +18 -18
  497. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +12 -12
  498. data/sig/openai/models/beta/beta_response_function_tool_call_output_item.rbs +18 -18
  499. data/sig/openai/models/beta/beta_response_function_web_search.rbs +21 -19
  500. data/sig/openai/models/beta/beta_response_image_gen_call_completed_event.rbs +4 -4
  501. data/sig/openai/models/beta/beta_response_image_gen_call_generating_event.rbs +4 -4
  502. data/sig/openai/models/beta/beta_response_image_gen_call_in_progress_event.rbs +4 -4
  503. data/sig/openai/models/beta/beta_response_image_gen_call_partial_image_event.rbs +12 -12
  504. data/sig/openai/models/beta/beta_response_in_progress_event.rbs +4 -4
  505. data/sig/openai/models/beta/beta_response_incomplete_event.rbs +4 -4
  506. data/sig/openai/models/beta/beta_response_inject_created_event.rbs +4 -4
  507. data/sig/openai/models/beta/beta_response_inject_event.rbs +2 -2
  508. data/sig/openai/models/beta/beta_response_inject_failed_event.rbs +4 -4
  509. data/sig/openai/models/beta/beta_response_input_audio.rbs +2 -2
  510. data/sig/openai/models/beta/beta_response_input_file.rbs +16 -16
  511. data/sig/openai/models/beta/beta_response_input_file_content.rbs +16 -16
  512. data/sig/openai/models/beta/beta_response_input_image.rbs +10 -10
  513. data/sig/openai/models/beta/beta_response_input_image_content.rbs +12 -12
  514. data/sig/openai/models/beta/beta_response_input_item.rbs +273 -228
  515. data/sig/openai/models/beta/beta_response_input_message_item.rbs +6 -6
  516. data/sig/openai/models/beta/beta_response_input_text.rbs +6 -6
  517. data/sig/openai/models/beta/beta_response_input_text_content.rbs +6 -6
  518. data/sig/openai/models/beta/beta_response_item.rbs +129 -92
  519. data/sig/openai/models/beta/beta_response_local_environment.rbs +2 -2
  520. data/sig/openai/models/beta/beta_response_mcp_call_arguments_delta_event.rbs +4 -4
  521. data/sig/openai/models/beta/beta_response_mcp_call_arguments_done_event.rbs +4 -4
  522. data/sig/openai/models/beta/beta_response_mcp_call_completed_event.rbs +4 -4
  523. data/sig/openai/models/beta/beta_response_mcp_call_failed_event.rbs +4 -4
  524. data/sig/openai/models/beta/beta_response_mcp_call_in_progress_event.rbs +4 -4
  525. data/sig/openai/models/beta/beta_response_mcp_list_tools_completed_event.rbs +4 -4
  526. data/sig/openai/models/beta/beta_response_mcp_list_tools_failed_event.rbs +4 -4
  527. data/sig/openai/models/beta/beta_response_mcp_list_tools_in_progress_event.rbs +4 -4
  528. data/sig/openai/models/beta/beta_response_output_audio.rbs +2 -2
  529. data/sig/openai/models/beta/beta_response_output_item.rbs +129 -92
  530. data/sig/openai/models/beta/beta_response_output_item_added_event.rbs +4 -4
  531. data/sig/openai/models/beta/beta_response_output_item_done_event.rbs +4 -4
  532. data/sig/openai/models/beta/beta_response_output_message.rbs +8 -8
  533. data/sig/openai/models/beta/beta_response_output_refusal.rbs +2 -2
  534. data/sig/openai/models/beta/beta_response_output_text.rbs +13 -12
  535. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +13 -12
  536. data/sig/openai/models/beta/beta_response_prompt.rbs +4 -4
  537. data/sig/openai/models/beta/beta_response_queued_event.rbs +4 -4
  538. data/sig/openai/models/beta/beta_response_reasoning_item.rbs +14 -14
  539. data/sig/openai/models/beta/beta_response_reasoning_summary_part_added_event.rbs +6 -6
  540. data/sig/openai/models/beta/beta_response_reasoning_summary_part_done_event.rbs +8 -8
  541. data/sig/openai/models/beta/beta_response_reasoning_summary_text_delta_event.rbs +4 -4
  542. data/sig/openai/models/beta/beta_response_reasoning_summary_text_done_event.rbs +4 -4
  543. data/sig/openai/models/beta/beta_response_reasoning_text_delta_event.rbs +4 -4
  544. data/sig/openai/models/beta/beta_response_reasoning_text_done_event.rbs +4 -4
  545. data/sig/openai/models/beta/beta_response_refusal_delta_event.rbs +4 -4
  546. data/sig/openai/models/beta/beta_response_refusal_done_event.rbs +4 -4
  547. data/sig/openai/models/beta/beta_response_shell_call_command_added_event.rbs +4 -4
  548. data/sig/openai/models/beta/beta_response_shell_call_command_delta_event.rbs +6 -6
  549. data/sig/openai/models/beta/beta_response_shell_call_command_done_event.rbs +4 -4
  550. data/sig/openai/models/beta/beta_response_shell_call_output_content_delta_event.rbs +6 -6
  551. data/sig/openai/models/beta/beta_response_shell_call_output_content_done_event.rbs +10 -10
  552. data/sig/openai/models/beta/beta_response_steer_accepted_event.rbs +4 -4
  553. data/sig/openai/models/beta/beta_response_steer_event.rbs +2 -2
  554. data/sig/openai/models/beta/beta_response_steer_failed_event.rbs +8 -8
  555. data/sig/openai/models/beta/beta_response_steer_input.rbs +30 -30
  556. data/sig/openai/models/beta/beta_response_steer_pending_event.rbs +4 -4
  557. data/sig/openai/models/beta/beta_response_steer_required_input.rbs +14 -14
  558. data/sig/openai/models/beta/beta_response_text_config.rbs +4 -4
  559. data/sig/openai/models/beta/beta_response_text_delta_event.rbs +8 -8
  560. data/sig/openai/models/beta/beta_response_text_done_event.rbs +8 -8
  561. data/sig/openai/models/beta/beta_response_tool_search_call.rbs +6 -6
  562. data/sig/openai/models/beta/beta_response_tool_search_output_item.rbs +6 -6
  563. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +12 -12
  564. data/sig/openai/models/beta/beta_response_web_search_call_completed_event.rbs +4 -4
  565. data/sig/openai/models/beta/beta_response_web_search_call_in_progress_event.rbs +4 -4
  566. data/sig/openai/models/beta/beta_response_web_search_call_searching_event.rbs +4 -4
  567. data/sig/openai/models/beta/beta_responses_client_event.rbs +104 -96
  568. data/sig/openai/models/beta/beta_responses_server_event.rbs +374 -377
  569. data/sig/openai/models/beta/beta_skill_reference.rbs +3 -3
  570. data/sig/openai/models/beta/beta_tool.rbs +91 -75
  571. data/sig/openai/models/beta/beta_tool_choice_allowed.rbs +2 -2
  572. data/sig/openai/models/beta/beta_tool_choice_apply_patch.rbs +2 -2
  573. data/sig/openai/models/beta/beta_tool_choice_custom.rbs +2 -2
  574. data/sig/openai/models/beta/beta_tool_choice_function.rbs +2 -2
  575. data/sig/openai/models/beta/beta_tool_choice_mcp.rbs +2 -2
  576. data/sig/openai/models/beta/beta_tool_choice_shell.rbs +2 -2
  577. data/sig/openai/models/beta/beta_tool_search_tool.rbs +8 -8
  578. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +16 -16
  579. data/sig/openai/models/beta/beta_web_search_tool.rbs +20 -20
  580. data/sig/openai/models/beta/chatkit/chat_session.rbs +2 -2
  581. data/sig/openai/models/beta/chatkit/chat_session_chatkit_configuration_param.rbs +14 -14
  582. data/sig/openai/models/beta/chatkit/chat_session_expires_after_param.rbs +2 -2
  583. data/sig/openai/models/beta/chatkit/chat_session_rate_limits_param.rbs +2 -2
  584. data/sig/openai/models/beta/chatkit/chat_session_workflow_param.rbs +8 -8
  585. data/sig/openai/models/beta/chatkit/chatkit_response_output_text.rbs +10 -10
  586. data/sig/openai/models/beta/chatkit/chatkit_thread.rbs +8 -8
  587. data/sig/openai/models/beta/chatkit/chatkit_thread_assistant_message_item.rbs +4 -4
  588. data/sig/openai/models/beta/chatkit/chatkit_thread_item_list.rbs +14 -14
  589. data/sig/openai/models/beta/chatkit/chatkit_thread_user_message_item.rbs +8 -8
  590. data/sig/openai/models/beta/chatkit/chatkit_widget_item.rbs +4 -4
  591. data/sig/openai/models/beta/chatkit/session_cancel_params.rbs +2 -2
  592. data/sig/openai/models/beta/chatkit/session_create_params.rbs +8 -8
  593. data/sig/openai/models/beta/chatkit/thread_delete_params.rbs +2 -2
  594. data/sig/openai/models/beta/chatkit/thread_delete_response.rbs +2 -2
  595. data/sig/openai/models/beta/chatkit/thread_list_items_params.rbs +10 -10
  596. data/sig/openai/models/beta/chatkit/thread_list_params.rbs +12 -12
  597. data/sig/openai/models/beta/chatkit/thread_retrieve_params.rbs +2 -2
  598. data/sig/openai/models/beta/code_interpreter_tool.rbs +2 -2
  599. data/sig/openai/models/beta/file_search_tool.rbs +10 -10
  600. data/sig/openai/models/beta/function_tool.rbs +2 -2
  601. data/sig/openai/models/beta/message_stream_event.rbs +10 -10
  602. data/sig/openai/models/beta/response_cancel_params.rbs +4 -4
  603. data/sig/openai/models/beta/response_compact_params.rbs +22 -22
  604. data/sig/openai/models/beta/response_create_params.rbs +99 -94
  605. data/sig/openai/models/beta/response_delete_params.rbs +4 -4
  606. data/sig/openai/models/beta/response_retrieve_params.rbs +10 -10
  607. data/sig/openai/models/beta/responses/beta_response_item_list.rbs +2 -2
  608. data/sig/openai/models/beta/responses/input_item_list_params.rbs +12 -12
  609. data/sig/openai/models/beta/responses/input_token_count_params.rbs +44 -44
  610. data/sig/openai/models/beta/responses/input_token_count_response.rbs +2 -2
  611. data/sig/openai/models/beta/run_step_stream_event.rbs +14 -14
  612. data/sig/openai/models/beta/run_stream_event.rbs +23 -20
  613. data/sig/openai/models/beta/thread.rbs +10 -10
  614. data/sig/openai/models/beta/thread_create_and_run_params.rbs +76 -76
  615. data/sig/openai/models/beta/thread_create_params.rbs +38 -38
  616. data/sig/openai/models/beta/thread_delete_params.rbs +2 -2
  617. data/sig/openai/models/beta/thread_deleted.rbs +6 -2
  618. data/sig/openai/models/beta/thread_retrieve_params.rbs +2 -2
  619. data/sig/openai/models/beta/thread_stream_event.rbs +7 -3
  620. data/sig/openai/models/beta/thread_update_params.rbs +14 -14
  621. data/sig/openai/models/beta/threads/file_citation_annotation.rbs +2 -2
  622. data/sig/openai/models/beta/threads/file_citation_delta_annotation.rbs +12 -12
  623. data/sig/openai/models/beta/threads/file_path_annotation.rbs +2 -2
  624. data/sig/openai/models/beta/threads/file_path_delta_annotation.rbs +12 -12
  625. data/sig/openai/models/beta/threads/image_file.rbs +2 -2
  626. data/sig/openai/models/beta/threads/image_file_content_block.rbs +2 -2
  627. data/sig/openai/models/beta/threads/image_file_delta.rbs +4 -4
  628. data/sig/openai/models/beta/threads/image_file_delta_block.rbs +4 -4
  629. data/sig/openai/models/beta/threads/image_url.rbs +2 -2
  630. data/sig/openai/models/beta/threads/image_url_content_block.rbs +2 -2
  631. data/sig/openai/models/beta/threads/image_url_delta.rbs +4 -4
  632. data/sig/openai/models/beta/threads/image_url_delta_block.rbs +4 -4
  633. data/sig/openai/models/beta/threads/message.rbs +8 -8
  634. data/sig/openai/models/beta/threads/message_create_params.rbs +12 -12
  635. data/sig/openai/models/beta/threads/message_delete_params.rbs +6 -3
  636. data/sig/openai/models/beta/threads/message_deleted.rbs +2 -2
  637. data/sig/openai/models/beta/threads/message_delta.rbs +4 -4
  638. data/sig/openai/models/beta/threads/message_delta_event.rbs +2 -2
  639. data/sig/openai/models/beta/threads/message_list_params.rbs +12 -12
  640. data/sig/openai/models/beta/threads/message_retrieve_params.rbs +6 -3
  641. data/sig/openai/models/beta/threads/message_update_params.rbs +4 -4
  642. data/sig/openai/models/beta/threads/refusal_content_block.rbs +2 -2
  643. data/sig/openai/models/beta/threads/refusal_delta_block.rbs +2 -2
  644. data/sig/openai/models/beta/threads/required_action_function_tool_call.rbs +2 -2
  645. data/sig/openai/models/beta/threads/run.rbs +12 -12
  646. data/sig/openai/models/beta/threads/run_cancel_params.rbs +6 -3
  647. data/sig/openai/models/beta/threads/run_create_params.rbs +46 -46
  648. data/sig/openai/models/beta/threads/run_list_params.rbs +10 -10
  649. data/sig/openai/models/beta/threads/run_retrieve_params.rbs +6 -3
  650. data/sig/openai/models/beta/threads/run_submit_tool_outputs_params.rbs +5 -5
  651. data/sig/openai/models/beta/threads/run_update_params.rbs +4 -4
  652. data/sig/openai/models/beta/threads/runs/code_interpreter_logs.rbs +2 -2
  653. data/sig/openai/models/beta/threads/runs/code_interpreter_output_image.rbs +6 -6
  654. data/sig/openai/models/beta/threads/runs/code_interpreter_tool_call.rbs +6 -6
  655. data/sig/openai/models/beta/threads/runs/code_interpreter_tool_call_delta.rbs +10 -10
  656. data/sig/openai/models/beta/threads/runs/file_search_tool_call.rbs +12 -12
  657. data/sig/openai/models/beta/threads/runs/file_search_tool_call_delta.rbs +8 -3
  658. data/sig/openai/models/beta/threads/runs/function_tool_call.rbs +2 -2
  659. data/sig/openai/models/beta/threads/runs/function_tool_call_delta.rbs +11 -10
  660. data/sig/openai/models/beta/threads/runs/message_creation_step_details.rbs +2 -2
  661. data/sig/openai/models/beta/threads/runs/run_step.rbs +2 -2
  662. data/sig/openai/models/beta/threads/runs/run_step_delta.rbs +2 -2
  663. data/sig/openai/models/beta/threads/runs/run_step_delta_event.rbs +2 -2
  664. data/sig/openai/models/beta/threads/runs/run_step_delta_message_delta.rbs +6 -6
  665. data/sig/openai/models/beta/threads/runs/step_list_params.rbs +12 -12
  666. data/sig/openai/models/beta/threads/runs/step_retrieve_params.rbs +4 -4
  667. data/sig/openai/models/beta/threads/runs/tool_call_delta_object.rbs +4 -4
  668. data/sig/openai/models/beta/threads/runs/tool_calls_step_details.rbs +2 -2
  669. data/sig/openai/models/beta/threads/text_content_block.rbs +2 -2
  670. data/sig/openai/models/beta/threads/text_content_block_param.rbs +2 -2
  671. data/sig/openai/models/beta/threads/text_delta.rbs +4 -4
  672. data/sig/openai/models/beta/threads/text_delta_block.rbs +4 -4
  673. data/sig/openai/models/chat/chat_completion.rbs +24 -24
  674. data/sig/openai/models/chat/chat_completion_allowed_tool_choice.rbs +2 -2
  675. data/sig/openai/models/chat/chat_completion_assistant_message_param.rbs +14 -14
  676. data/sig/openai/models/chat/chat_completion_chunk.rbs +46 -46
  677. data/sig/openai/models/chat/chat_completion_content_part.rbs +11 -10
  678. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +8 -8
  679. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +6 -6
  680. data/sig/openai/models/chat/chat_completion_content_part_refusal.rbs +2 -2
  681. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +6 -6
  682. data/sig/openai/models/chat/chat_completion_custom_tool.rbs +10 -10
  683. data/sig/openai/models/chat/chat_completion_deleted.rbs +2 -2
  684. data/sig/openai/models/chat/chat_completion_developer_message_param.rbs +4 -4
  685. data/sig/openai/models/chat/chat_completion_function_message_param.rbs +2 -2
  686. data/sig/openai/models/chat/chat_completion_function_tool.rbs +2 -2
  687. data/sig/openai/models/chat/chat_completion_message.rbs +12 -12
  688. data/sig/openai/models/chat/chat_completion_message_custom_tool_call.rbs +2 -2
  689. data/sig/openai/models/chat/chat_completion_message_function_tool_call.rbs +2 -2
  690. data/sig/openai/models/chat/chat_completion_named_tool_choice.rbs +2 -2
  691. data/sig/openai/models/chat/chat_completion_named_tool_choice_custom.rbs +2 -2
  692. data/sig/openai/models/chat/chat_completion_prediction_content.rbs +2 -2
  693. data/sig/openai/models/chat/chat_completion_store_message.rbs +12 -12
  694. data/sig/openai/models/chat/chat_completion_stream_options.rbs +2 -2
  695. data/sig/openai/models/chat/chat_completion_system_message_param.rbs +4 -4
  696. data/sig/openai/models/chat/chat_completion_tool_message_param.rbs +2 -2
  697. data/sig/openai/models/chat/chat_completion_user_message_param.rbs +4 -4
  698. data/sig/openai/models/chat/completion_create_params.rbs +98 -98
  699. data/sig/openai/models/chat/completion_delete_params.rbs +2 -2
  700. data/sig/openai/models/chat/completion_list_params.rbs +12 -12
  701. data/sig/openai/models/chat/completion_retrieve_params.rbs +2 -2
  702. data/sig/openai/models/chat/completion_update_params.rbs +6 -3
  703. data/sig/openai/models/chat/completions/message_list_params.rbs +8 -8
  704. data/sig/openai/models/completion.rbs +6 -6
  705. data/sig/openai/models/completion_choice.rbs +8 -8
  706. data/sig/openai/models/completion_create_params.rbs +32 -32
  707. data/sig/openai/models/completion_usage.rbs +24 -24
  708. data/sig/openai/models/container_create_params.rbs +12 -12
  709. data/sig/openai/models/container_create_response.rbs +14 -14
  710. data/sig/openai/models/container_delete_params.rbs +2 -2
  711. data/sig/openai/models/container_list_params.rbs +10 -10
  712. data/sig/openai/models/container_list_response.rbs +14 -14
  713. data/sig/openai/models/container_retrieve_params.rbs +2 -2
  714. data/sig/openai/models/container_retrieve_response.rbs +14 -14
  715. data/sig/openai/models/containers/file_create_params.rbs +6 -6
  716. data/sig/openai/models/containers/file_create_response.rbs +2 -2
  717. data/sig/openai/models/containers/file_delete_params.rbs +6 -3
  718. data/sig/openai/models/containers/file_list_params.rbs +8 -8
  719. data/sig/openai/models/containers/file_list_response.rbs +2 -2
  720. data/sig/openai/models/containers/file_retrieve_params.rbs +6 -3
  721. data/sig/openai/models/containers/file_retrieve_response.rbs +2 -2
  722. data/sig/openai/models/containers/files/content_retrieve_params.rbs +6 -3
  723. data/sig/openai/models/content_provenance_check.rbs +4 -4
  724. data/sig/openai/models/content_provenance_check_create_params.rbs +5 -3
  725. data/sig/openai/models/conversations/computer_screenshot_content.rbs +6 -6
  726. data/sig/openai/models/conversations/conversation.rbs +2 -2
  727. data/sig/openai/models/conversations/conversation_create_params.rbs +6 -6
  728. data/sig/openai/models/conversations/conversation_delete_params.rbs +2 -2
  729. data/sig/openai/models/conversations/conversation_deleted.rbs +2 -2
  730. data/sig/openai/models/conversations/conversation_deleted_resource.rbs +2 -2
  731. data/sig/openai/models/conversations/conversation_item.rbs +83 -46
  732. data/sig/openai/models/conversations/conversation_item_list.rbs +2 -2
  733. data/sig/openai/models/conversations/conversation_retrieve_params.rbs +2 -2
  734. data/sig/openai/models/conversations/conversation_update_params.rbs +6 -3
  735. data/sig/openai/models/conversations/item_create_params.rbs +4 -4
  736. data/sig/openai/models/conversations/item_delete_params.rbs +6 -3
  737. data/sig/openai/models/conversations/item_list_params.rbs +10 -10
  738. data/sig/openai/models/conversations/item_retrieve_params.rbs +4 -4
  739. data/sig/openai/models/conversations/message.rbs +6 -6
  740. data/sig/openai/models/conversations/summary_text_content.rbs +2 -2
  741. data/sig/openai/models/conversations/text_content.rbs +2 -2
  742. data/sig/openai/models/create_embedding_response.rbs +2 -2
  743. data/sig/openai/models/custom_tool_input_format.rbs +4 -4
  744. data/sig/openai/models/deleted_skill.rbs +3 -2
  745. data/sig/openai/models/embedding.rbs +2 -2
  746. data/sig/openai/models/embedding_create_params.rbs +8 -8
  747. data/sig/openai/models/error_object.rbs +8 -8
  748. data/sig/openai/models/eval_create_params.rbs +40 -40
  749. data/sig/openai/models/eval_create_response.rbs +22 -22
  750. data/sig/openai/models/eval_custom_data_source_config.rbs +2 -2
  751. data/sig/openai/models/eval_delete_params.rbs +2 -2
  752. data/sig/openai/models/eval_list_params.rbs +10 -10
  753. data/sig/openai/models/eval_list_response.rbs +22 -22
  754. data/sig/openai/models/eval_retrieve_params.rbs +2 -2
  755. data/sig/openai/models/eval_retrieve_response.rbs +22 -22
  756. data/sig/openai/models/eval_stored_completions_data_source_config.rbs +4 -4
  757. data/sig/openai/models/eval_update_params.rbs +9 -5
  758. data/sig/openai/models/eval_update_response.rbs +22 -22
  759. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +49 -49
  760. data/sig/openai/models/evals/create_eval_jsonl_run_data_source.rbs +8 -8
  761. data/sig/openai/models/evals/run_cancel_params.rbs +6 -3
  762. data/sig/openai/models/evals/run_cancel_response.rbs +66 -66
  763. data/sig/openai/models/evals/run_create_params.rbs +68 -68
  764. data/sig/openai/models/evals/run_create_response.rbs +66 -66
  765. data/sig/openai/models/evals/run_delete_params.rbs +6 -3
  766. data/sig/openai/models/evals/run_delete_response.rbs +2 -2
  767. data/sig/openai/models/evals/run_list_params.rbs +10 -10
  768. data/sig/openai/models/evals/run_list_response.rbs +66 -66
  769. data/sig/openai/models/evals/run_retrieve_params.rbs +6 -3
  770. data/sig/openai/models/evals/run_retrieve_response.rbs +66 -66
  771. data/sig/openai/models/evals/runs/output_item_list_params.rbs +10 -10
  772. data/sig/openai/models/evals/runs/output_item_list_response.rbs +8 -8
  773. data/sig/openai/models/evals/runs/output_item_retrieve_params.rbs +7 -3
  774. data/sig/openai/models/evals/runs/output_item_retrieve_response.rbs +8 -8
  775. data/sig/openai/models/file_content_params.rbs +2 -2
  776. data/sig/openai/models/file_create_params.rbs +6 -6
  777. data/sig/openai/models/file_delete_params.rbs +2 -2
  778. data/sig/openai/models/file_deleted.rbs +2 -2
  779. data/sig/openai/models/file_list_params.rbs +10 -10
  780. data/sig/openai/models/file_object.rbs +6 -6
  781. data/sig/openai/models/file_retrieve_params.rbs +2 -2
  782. data/sig/openai/models/fine_tuning/alpha/grader_run_params.rbs +4 -4
  783. data/sig/openai/models/fine_tuning/alpha/grader_validate_params.rbs +3 -3
  784. data/sig/openai/models/fine_tuning/alpha/grader_validate_response.rbs +2 -2
  785. data/sig/openai/models/fine_tuning/checkpoints/permission_create_params.rbs +6 -3
  786. data/sig/openai/models/fine_tuning/checkpoints/permission_create_response.rbs +2 -2
  787. data/sig/openai/models/fine_tuning/checkpoints/permission_delete_params.rbs +6 -3
  788. data/sig/openai/models/fine_tuning/checkpoints/permission_delete_response.rbs +2 -2
  789. data/sig/openai/models/fine_tuning/checkpoints/permission_list_params.rbs +10 -10
  790. data/sig/openai/models/fine_tuning/checkpoints/permission_list_response.rbs +2 -2
  791. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_params.rbs +10 -10
  792. data/sig/openai/models/fine_tuning/checkpoints/permission_retrieve_response.rbs +8 -8
  793. data/sig/openai/models/fine_tuning/dpo_hyperparameters.rbs +8 -8
  794. data/sig/openai/models/fine_tuning/dpo_method.rbs +2 -2
  795. data/sig/openai/models/fine_tuning/fine_tuning_job.rbs +22 -22
  796. data/sig/openai/models/fine_tuning/fine_tuning_job_event.rbs +6 -6
  797. data/sig/openai/models/fine_tuning/fine_tuning_job_wandb_integration.rbs +6 -6
  798. data/sig/openai/models/fine_tuning/fine_tuning_job_wandb_integration_object.rbs +2 -2
  799. data/sig/openai/models/fine_tuning/job_cancel_params.rbs +2 -3
  800. data/sig/openai/models/fine_tuning/job_create_params.rbs +36 -36
  801. data/sig/openai/models/fine_tuning/job_list_events_params.rbs +9 -5
  802. data/sig/openai/models/fine_tuning/job_list_params.rbs +10 -6
  803. data/sig/openai/models/fine_tuning/job_pause_params.rbs +2 -3
  804. data/sig/openai/models/fine_tuning/job_resume_params.rbs +2 -3
  805. data/sig/openai/models/fine_tuning/job_retrieve_params.rbs +2 -3
  806. data/sig/openai/models/fine_tuning/jobs/checkpoint_list_params.rbs +9 -5
  807. data/sig/openai/models/fine_tuning/jobs/fine_tuning_job_checkpoint.rbs +16 -16
  808. data/sig/openai/models/fine_tuning/reinforcement_hyperparameters.rbs +14 -14
  809. data/sig/openai/models/fine_tuning/reinforcement_method.rbs +2 -2
  810. data/sig/openai/models/fine_tuning/supervised_hyperparameters.rbs +6 -6
  811. data/sig/openai/models/fine_tuning/supervised_method.rbs +2 -2
  812. data/sig/openai/models/function_definition.rbs +6 -6
  813. data/sig/openai/models/graders/grader_input_item.rbs +5 -5
  814. data/sig/openai/models/graders/label_model_grader.rbs +9 -9
  815. data/sig/openai/models/graders/multi_grader.rbs +2 -2
  816. data/sig/openai/models/graders/python_grader.rbs +3 -3
  817. data/sig/openai/models/graders/score_model_grader.rbs +23 -23
  818. data/sig/openai/models/graders/string_check_grader.rbs +2 -2
  819. data/sig/openai/models/graders/text_similarity_grader.rbs +2 -2
  820. data/sig/openai/models/image.rbs +4 -4
  821. data/sig/openai/models/image_create_variation_params.rbs +12 -12
  822. data/sig/openai/models/image_edit_completed_event.rbs +13 -6
  823. data/sig/openai/models/image_edit_params.rbs +29 -27
  824. data/sig/openai/models/image_edit_partial_image_event.rbs +13 -6
  825. data/sig/openai/models/image_gen_completed_event.rbs +13 -6
  826. data/sig/openai/models/image_gen_partial_image_event.rbs +13 -6
  827. data/sig/openai/models/image_generate_params.rbs +30 -27
  828. data/sig/openai/models/image_input_reference_param.rbs +2 -2
  829. data/sig/openai/models/image_model.rbs +8 -0
  830. data/sig/openai/models/images_response.rbs +24 -18
  831. data/sig/openai/models/model.rbs +4 -4
  832. data/sig/openai/models/model_delete_params.rbs +5 -2
  833. data/sig/openai/models/model_list_params.rbs +2 -2
  834. data/sig/openai/models/model_retrieve_params.rbs +5 -2
  835. data/sig/openai/models/moderation_create_params.rbs +4 -4
  836. data/sig/openai/models/moderation_image_url_input.rbs +5 -2
  837. data/sig/openai/models/moderation_text_input.rbs +2 -2
  838. data/sig/openai/models/other_file_chunking_strategy_object.rbs +2 -2
  839. data/sig/openai/models/realtime/audio_transcription.rbs +12 -12
  840. data/sig/openai/models/realtime/call_accept_params.rbs +30 -30
  841. data/sig/openai/models/realtime/call_create_params.rbs +7 -4
  842. data/sig/openai/models/realtime/call_hangup_params.rbs +2 -2
  843. data/sig/openai/models/realtime/call_refer_params.rbs +6 -3
  844. data/sig/openai/models/realtime/call_reject_params.rbs +7 -4
  845. data/sig/openai/models/realtime/client_secret_create_params.rbs +10 -10
  846. data/sig/openai/models/realtime/conversation_created_event.rbs +6 -6
  847. data/sig/openai/models/realtime/conversation_item_added.rbs +4 -4
  848. data/sig/openai/models/realtime/conversation_item_create_event.rbs +6 -6
  849. data/sig/openai/models/realtime/conversation_item_created_event.rbs +4 -4
  850. data/sig/openai/models/realtime/conversation_item_delete_event.rbs +7 -3
  851. data/sig/openai/models/realtime/conversation_item_deleted_event.rbs +2 -2
  852. data/sig/openai/models/realtime/conversation_item_done.rbs +4 -4
  853. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +14 -14
  854. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +8 -8
  855. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbs +7 -7
  856. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbs +2 -2
  857. data/sig/openai/models/realtime/conversation_item_retrieve_event.rbs +4 -4
  858. data/sig/openai/models/realtime/conversation_item_truncate_event.rbs +4 -4
  859. data/sig/openai/models/realtime/conversation_item_truncated_event.rbs +2 -2
  860. data/sig/openai/models/realtime/conversation_item_with_reference.rbs +30 -30
  861. data/sig/openai/models/realtime/input_audio_buffer_append_event.rbs +7 -3
  862. data/sig/openai/models/realtime/input_audio_buffer_clear_event.rbs +5 -2
  863. data/sig/openai/models/realtime/input_audio_buffer_cleared_event.rbs +2 -2
  864. data/sig/openai/models/realtime/input_audio_buffer_commit_event.rbs +5 -2
  865. data/sig/openai/models/realtime/input_audio_buffer_committed_event.rbs +4 -4
  866. data/sig/openai/models/realtime/input_audio_buffer_dtmf_event_received_event.rbs +2 -2
  867. data/sig/openai/models/realtime/input_audio_buffer_speech_started_event.rbs +2 -2
  868. data/sig/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbs +2 -2
  869. data/sig/openai/models/realtime/input_audio_buffer_timeout_triggered.rbs +2 -2
  870. data/sig/openai/models/realtime/mcp_list_tools_completed.rbs +6 -2
  871. data/sig/openai/models/realtime/mcp_list_tools_failed.rbs +2 -2
  872. data/sig/openai/models/realtime/mcp_list_tools_in_progress.rbs +2 -2
  873. data/sig/openai/models/realtime/output_audio_buffer_clear_event.rbs +5 -2
  874. data/sig/openai/models/realtime/rate_limits_updated_event.rbs +10 -10
  875. data/sig/openai/models/realtime/realtime_audio_config.rbs +4 -4
  876. data/sig/openai/models/realtime/realtime_audio_config_input.rbs +10 -10
  877. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +6 -6
  878. data/sig/openai/models/realtime/realtime_audio_formats.rbs +8 -8
  879. data/sig/openai/models/realtime/realtime_audio_input_turn_detection.rbs +22 -22
  880. data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +18 -18
  881. data/sig/openai/models/realtime/realtime_conversation_item_function_call.rbs +10 -10
  882. data/sig/openai/models/realtime/realtime_conversation_item_function_call_output.rbs +8 -8
  883. data/sig/openai/models/realtime/realtime_conversation_item_system_message.rbs +14 -14
  884. data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +22 -22
  885. data/sig/openai/models/realtime/realtime_error.rbs +6 -6
  886. data/sig/openai/models/realtime/realtime_error_event.rbs +2 -2
  887. data/sig/openai/models/realtime/realtime_function_tool.rbs +8 -8
  888. data/sig/openai/models/realtime/realtime_mcp_approval_request.rbs +2 -2
  889. data/sig/openai/models/realtime/realtime_mcp_approval_response.rbs +4 -4
  890. data/sig/openai/models/realtime/realtime_mcp_list_tools.rbs +8 -8
  891. data/sig/openai/models/realtime/realtime_mcp_protocol_error.rbs +2 -2
  892. data/sig/openai/models/realtime/realtime_mcp_tool_call.rbs +8 -8
  893. data/sig/openai/models/realtime/realtime_mcp_tool_execution_error.rbs +2 -2
  894. data/sig/openai/models/realtime/realtime_mcphttp_error.rbs +2 -2
  895. data/sig/openai/models/realtime/realtime_reasoning.rbs +2 -2
  896. data/sig/openai/models/realtime/realtime_response.rbs +28 -28
  897. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +6 -6
  898. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +32 -32
  899. data/sig/openai/models/realtime/realtime_response_create_params.rbs +24 -24
  900. data/sig/openai/models/realtime/realtime_response_status.rbs +8 -8
  901. data/sig/openai/models/realtime/realtime_response_usage.rbs +10 -10
  902. data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +18 -14
  903. data/sig/openai/models/realtime/realtime_response_usage_output_token_details.rbs +2 -2
  904. data/sig/openai/models/realtime/realtime_server_event.rbs +8 -8
  905. data/sig/openai/models/realtime/realtime_session.rbs +68 -68
  906. data/sig/openai/models/realtime/realtime_session_create_request.rbs +28 -28
  907. data/sig/openai/models/realtime/realtime_session_create_response.rbs +113 -110
  908. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +38 -32
  909. data/sig/openai/models/realtime/realtime_tracing_config.rbs +4 -4
  910. data/sig/openai/models/realtime/realtime_transcription_session_audio.rbs +2 -2
  911. data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +10 -10
  912. data/sig/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbs +22 -22
  913. data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +6 -6
  914. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +20 -20
  915. data/sig/openai/models/realtime/realtime_transcription_session_turn_detection.rbs +8 -8
  916. data/sig/openai/models/realtime/realtime_translation_client_secret_create_request.rbs +6 -6
  917. data/sig/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbs +4 -4
  918. data/sig/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbs +4 -4
  919. data/sig/openai/models/realtime/realtime_translation_output_audio_delta_event.rbs +10 -10
  920. data/sig/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbs +4 -4
  921. data/sig/openai/models/realtime/realtime_translation_session.rbs +12 -12
  922. data/sig/openai/models/realtime/realtime_translation_session_close_event.rbs +2 -2
  923. data/sig/openai/models/realtime/realtime_translation_session_closed_event.rbs +2 -2
  924. data/sig/openai/models/realtime/realtime_translation_session_create_request.rbs +12 -12
  925. data/sig/openai/models/realtime/realtime_translation_session_created_event.rbs +2 -2
  926. data/sig/openai/models/realtime/realtime_translation_session_update_event.rbs +4 -4
  927. data/sig/openai/models/realtime/realtime_translation_session_update_request.rbs +12 -12
  928. data/sig/openai/models/realtime/realtime_translation_session_updated_event.rbs +2 -2
  929. data/sig/openai/models/realtime/realtime_truncation_retention_ratio.rbs +6 -6
  930. data/sig/openai/models/realtime/response_audio_delta_event.rbs +2 -2
  931. data/sig/openai/models/realtime/response_audio_done_event.rbs +2 -2
  932. data/sig/openai/models/realtime/response_audio_transcript_delta_event.rbs +2 -2
  933. data/sig/openai/models/realtime/response_audio_transcript_done_event.rbs +2 -2
  934. data/sig/openai/models/realtime/response_cancel_event.rbs +4 -4
  935. data/sig/openai/models/realtime/response_content_part_added_event.rbs +10 -10
  936. data/sig/openai/models/realtime/response_content_part_done_event.rbs +10 -10
  937. data/sig/openai/models/realtime/response_create_event.rbs +6 -6
  938. data/sig/openai/models/realtime/response_created_event.rbs +2 -2
  939. data/sig/openai/models/realtime/response_done_event.rbs +2 -2
  940. data/sig/openai/models/realtime/response_function_call_arguments_delta_event.rbs +2 -2
  941. data/sig/openai/models/realtime/response_function_call_arguments_done_event.rbs +2 -2
  942. data/sig/openai/models/realtime/response_mcp_call_arguments_delta.rbs +4 -4
  943. data/sig/openai/models/realtime/response_mcp_call_arguments_done.rbs +2 -2
  944. data/sig/openai/models/realtime/response_mcp_call_completed.rbs +2 -2
  945. data/sig/openai/models/realtime/response_mcp_call_failed.rbs +2 -2
  946. data/sig/openai/models/realtime/response_mcp_call_in_progress.rbs +2 -2
  947. data/sig/openai/models/realtime/response_output_item_added_event.rbs +2 -2
  948. data/sig/openai/models/realtime/response_output_item_done_event.rbs +2 -2
  949. data/sig/openai/models/realtime/response_text_delta_event.rbs +2 -2
  950. data/sig/openai/models/realtime/response_text_done_event.rbs +2 -2
  951. data/sig/openai/models/realtime/session_created_event.rbs +2 -2
  952. data/sig/openai/models/realtime/session_update_event.rbs +4 -4
  953. data/sig/openai/models/realtime/session_updated_event.rbs +2 -2
  954. data/sig/openai/models/realtime/transcription_session_update.rbs +24 -24
  955. data/sig/openai/models/realtime/transcription_session_updated_event.rbs +18 -18
  956. data/sig/openai/models/reasoning.rbs +10 -10
  957. data/sig/openai/models/response_format_json_object.rbs +2 -2
  958. data/sig/openai/models/response_format_json_schema.rbs +8 -8
  959. data/sig/openai/models/response_format_text.rbs +2 -2
  960. data/sig/openai/models/response_format_text_grammar.rbs +2 -2
  961. data/sig/openai/models/response_format_text_python.rbs +2 -2
  962. data/sig/openai/models/responses/apply_patch_tool.rbs +4 -4
  963. data/sig/openai/models/responses/compacted_response.rbs +2 -2
  964. data/sig/openai/models/responses/computer_action.rbs +25 -25
  965. data/sig/openai/models/responses/computer_tool.rbs +2 -2
  966. data/sig/openai/models/responses/computer_use_preview_tool.rbs +2 -2
  967. data/sig/openai/models/responses/container_auto.rbs +10 -10
  968. data/sig/openai/models/responses/container_network_policy_allowlist.rbs +4 -4
  969. data/sig/openai/models/responses/container_network_policy_disabled.rbs +2 -2
  970. data/sig/openai/models/responses/container_reference.rbs +2 -2
  971. data/sig/openai/models/responses/custom_tool.rbs +12 -12
  972. data/sig/openai/models/responses/easy_input_message.rbs +4 -4
  973. data/sig/openai/models/responses/file_search_tool.rbs +14 -14
  974. data/sig/openai/models/responses/function_shell_tool.rbs +6 -6
  975. data/sig/openai/models/responses/function_tool.rbs +12 -12
  976. data/sig/openai/models/responses/inline_skill.rbs +2 -2
  977. data/sig/openai/models/responses/inline_skill_source.rbs +3 -3
  978. data/sig/openai/models/responses/input_item_list_params.rbs +10 -10
  979. data/sig/openai/models/responses/input_token_count_params.rbs +32 -32
  980. data/sig/openai/models/responses/input_token_count_response.rbs +2 -2
  981. data/sig/openai/models/responses/local_environment.rbs +3 -3
  982. data/sig/openai/models/responses/mcp_tool_call_error.rbs +6 -6
  983. data/sig/openai/models/responses/namespace_tool.rbs +18 -18
  984. data/sig/openai/models/responses/response.rbs +175 -57
  985. data/sig/openai/models/responses/response_apply_patch_tool_call.rbs +16 -16
  986. data/sig/openai/models/responses/response_apply_patch_tool_call_output.rbs +12 -12
  987. data/sig/openai/models/responses/response_audio_delta_event.rbs +2 -2
  988. data/sig/openai/models/responses/response_audio_done_event.rbs +2 -2
  989. data/sig/openai/models/responses/response_audio_transcript_delta_event.rbs +2 -2
  990. data/sig/openai/models/responses/response_audio_transcript_done_event.rbs +2 -2
  991. data/sig/openai/models/responses/response_cancel_params.rbs +2 -2
  992. data/sig/openai/models/responses/response_code_interpreter_call_code_delta_event.rbs +2 -2
  993. data/sig/openai/models/responses/response_code_interpreter_call_code_done_event.rbs +2 -2
  994. data/sig/openai/models/responses/response_code_interpreter_call_completed_event.rbs +2 -2
  995. data/sig/openai/models/responses/response_code_interpreter_call_in_progress_event.rbs +2 -2
  996. data/sig/openai/models/responses/response_code_interpreter_call_interpreting_event.rbs +2 -2
  997. data/sig/openai/models/responses/response_code_interpreter_tool_call.rbs +6 -6
  998. data/sig/openai/models/responses/response_compact_params.rbs +20 -20
  999. data/sig/openai/models/responses/response_compaction_item.rbs +4 -4
  1000. data/sig/openai/models/responses/response_compaction_item_param.rbs +3 -3
  1001. data/sig/openai/models/responses/response_completed_event.rbs +2 -2
  1002. data/sig/openai/models/responses/response_computer_tool_call.rbs +31 -31
  1003. data/sig/openai/models/responses/response_computer_tool_call_output_item.rbs +8 -8
  1004. data/sig/openai/models/responses/response_computer_tool_call_output_screenshot.rbs +4 -4
  1005. data/sig/openai/models/responses/response_configuration_update_item.rbs +6 -6
  1006. data/sig/openai/models/responses/response_configuration_update_item_param.rbs +8 -8
  1007. data/sig/openai/models/responses/response_container_reference.rbs +2 -2
  1008. data/sig/openai/models/responses/response_content.rbs +2 -2
  1009. data/sig/openai/models/responses/response_content_part_added_event.rbs +4 -4
  1010. data/sig/openai/models/responses/response_content_part_done_event.rbs +4 -4
  1011. data/sig/openai/models/responses/response_create_params.rbs +83 -78
  1012. data/sig/openai/models/responses/response_created_event.rbs +2 -2
  1013. data/sig/openai/models/responses/response_custom_tool_call.rbs +14 -14
  1014. data/sig/openai/models/responses/response_custom_tool_call_input_delta_event.rbs +2 -2
  1015. data/sig/openai/models/responses/response_custom_tool_call_input_done_event.rbs +2 -2
  1016. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +10 -10
  1017. data/sig/openai/models/responses/response_custom_tool_call_output.rbs +10 -10
  1018. data/sig/openai/models/responses/response_custom_tool_call_output_item.rbs +6 -6
  1019. data/sig/openai/models/responses/response_delete_params.rbs +2 -2
  1020. data/sig/openai/models/responses/response_error.rbs +8 -8
  1021. data/sig/openai/models/responses/response_error_event.rbs +2 -2
  1022. data/sig/openai/models/responses/response_failed_event.rbs +2 -2
  1023. data/sig/openai/models/responses/response_file_search_call_completed_event.rbs +2 -2
  1024. data/sig/openai/models/responses/response_file_search_call_in_progress_event.rbs +2 -2
  1025. data/sig/openai/models/responses/response_file_search_call_searching_event.rbs +2 -2
  1026. data/sig/openai/models/responses/response_file_search_tool_call.rbs +14 -14
  1027. data/sig/openai/models/responses/response_format_text_json_schema_config.rbs +6 -6
  1028. data/sig/openai/models/responses/response_function_call_arguments_delta_event.rbs +2 -2
  1029. data/sig/openai/models/responses/response_function_call_arguments_done_event.rbs +2 -7
  1030. data/sig/openai/models/responses/response_function_shell_call_output_content.rbs +4 -4
  1031. data/sig/openai/models/responses/response_function_shell_tool_call.rbs +10 -10
  1032. data/sig/openai/models/responses/response_function_shell_tool_call_output.rbs +16 -16
  1033. data/sig/openai/models/responses/response_function_tool_call.rbs +16 -16
  1034. data/sig/openai/models/responses/response_function_tool_call_item.rbs +10 -10
  1035. data/sig/openai/models/responses/response_function_tool_call_output_item.rbs +16 -16
  1036. data/sig/openai/models/responses/response_function_web_search.rbs +19 -17
  1037. data/sig/openai/models/responses/response_image_gen_call_completed_event.rbs +2 -2
  1038. data/sig/openai/models/responses/response_image_gen_call_generating_event.rbs +2 -2
  1039. data/sig/openai/models/responses/response_image_gen_call_in_progress_event.rbs +2 -2
  1040. data/sig/openai/models/responses/response_image_gen_call_partial_image_event.rbs +10 -10
  1041. data/sig/openai/models/responses/response_in_progress_event.rbs +2 -2
  1042. data/sig/openai/models/responses/response_incomplete_event.rbs +2 -2
  1043. data/sig/openai/models/responses/response_input_audio.rbs +2 -2
  1044. data/sig/openai/models/responses/response_input_file.rbs +16 -16
  1045. data/sig/openai/models/responses/response_input_file_content.rbs +16 -16
  1046. data/sig/openai/models/responses/response_input_image.rbs +10 -10
  1047. data/sig/openai/models/responses/response_input_image_content.rbs +12 -12
  1048. data/sig/openai/models/responses/response_input_item.rbs +203 -158
  1049. data/sig/openai/models/responses/response_input_message_item.rbs +4 -4
  1050. data/sig/openai/models/responses/response_input_text.rbs +6 -6
  1051. data/sig/openai/models/responses/response_input_text_content.rbs +6 -6
  1052. data/sig/openai/models/responses/response_item.rbs +83 -46
  1053. data/sig/openai/models/responses/response_item_list.rbs +2 -2
  1054. data/sig/openai/models/responses/response_local_environment.rbs +2 -2
  1055. data/sig/openai/models/responses/response_mcp_call_arguments_delta_event.rbs +2 -2
  1056. data/sig/openai/models/responses/response_mcp_call_arguments_done_event.rbs +2 -2
  1057. data/sig/openai/models/responses/response_mcp_call_completed_event.rbs +2 -2
  1058. data/sig/openai/models/responses/response_mcp_call_failed_event.rbs +2 -2
  1059. data/sig/openai/models/responses/response_mcp_call_in_progress_event.rbs +2 -2
  1060. data/sig/openai/models/responses/response_mcp_list_tools_completed_event.rbs +2 -2
  1061. data/sig/openai/models/responses/response_mcp_list_tools_failed_event.rbs +2 -2
  1062. data/sig/openai/models/responses/response_mcp_list_tools_in_progress_event.rbs +2 -2
  1063. data/sig/openai/models/responses/response_output_audio.rbs +2 -2
  1064. data/sig/openai/models/responses/response_output_item.rbs +83 -46
  1065. data/sig/openai/models/responses/response_output_item_added_event.rbs +2 -2
  1066. data/sig/openai/models/responses/response_output_item_done_event.rbs +2 -2
  1067. data/sig/openai/models/responses/response_output_message.rbs +6 -6
  1068. data/sig/openai/models/responses/response_output_refusal.rbs +2 -2
  1069. data/sig/openai/models/responses/response_output_text.rbs +13 -12
  1070. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +11 -10
  1071. data/sig/openai/models/responses/response_prompt.rbs +4 -4
  1072. data/sig/openai/models/responses/response_queued_event.rbs +2 -2
  1073. data/sig/openai/models/responses/response_reasoning_item.rbs +12 -12
  1074. data/sig/openai/models/responses/response_reasoning_summary_part_added_event.rbs +4 -4
  1075. data/sig/openai/models/responses/response_reasoning_summary_part_done_event.rbs +6 -6
  1076. data/sig/openai/models/responses/response_reasoning_summary_text_delta_event.rbs +2 -2
  1077. data/sig/openai/models/responses/response_reasoning_summary_text_done_event.rbs +2 -2
  1078. data/sig/openai/models/responses/response_reasoning_text_delta_event.rbs +2 -2
  1079. data/sig/openai/models/responses/response_reasoning_text_done_event.rbs +2 -2
  1080. data/sig/openai/models/responses/response_refusal_delta_event.rbs +2 -2
  1081. data/sig/openai/models/responses/response_refusal_done_event.rbs +2 -2
  1082. data/sig/openai/models/responses/response_retrieve_params.rbs +8 -8
  1083. data/sig/openai/models/responses/response_shell_call_command_added_event.rbs +2 -2
  1084. data/sig/openai/models/responses/response_shell_call_command_delta_event.rbs +4 -4
  1085. data/sig/openai/models/responses/response_shell_call_command_done_event.rbs +2 -2
  1086. data/sig/openai/models/responses/response_shell_call_output_content_delta_event.rbs +4 -4
  1087. data/sig/openai/models/responses/response_shell_call_output_content_done_event.rbs +8 -8
  1088. data/sig/openai/models/responses/response_steer_accepted_event.rbs +4 -4
  1089. data/sig/openai/models/responses/response_steer_event.rbs +2 -2
  1090. data/sig/openai/models/responses/response_steer_failed_event.rbs +8 -8
  1091. data/sig/openai/models/responses/response_steer_input.rbs +26 -26
  1092. data/sig/openai/models/responses/response_steer_pending_event.rbs +4 -4
  1093. data/sig/openai/models/responses/response_steer_required_input.rbs +14 -14
  1094. data/sig/openai/models/responses/response_text_config.rbs +4 -4
  1095. data/sig/openai/models/responses/response_text_delta_event.rbs +6 -6
  1096. data/sig/openai/models/responses/response_text_done_event.rbs +6 -6
  1097. data/sig/openai/models/responses/response_tool_search_call.rbs +4 -4
  1098. data/sig/openai/models/responses/response_tool_search_output_item.rbs +4 -4
  1099. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +10 -10
  1100. data/sig/openai/models/responses/response_web_search_call_completed_event.rbs +2 -2
  1101. data/sig/openai/models/responses/response_web_search_call_in_progress_event.rbs +2 -2
  1102. data/sig/openai/models/responses/response_web_search_call_searching_event.rbs +2 -2
  1103. data/sig/openai/models/responses/responses_client_event.rbs +87 -82
  1104. data/sig/openai/models/responses/responses_server_event.rbs +258 -261
  1105. data/sig/openai/models/responses/skill_reference.rbs +3 -3
  1106. data/sig/openai/models/responses/tool.rbs +91 -75
  1107. data/sig/openai/models/responses/tool_choice_allowed.rbs +2 -2
  1108. data/sig/openai/models/responses/tool_choice_apply_patch.rbs +2 -2
  1109. data/sig/openai/models/responses/tool_choice_custom.rbs +2 -2
  1110. data/sig/openai/models/responses/tool_choice_function.rbs +2 -2
  1111. data/sig/openai/models/responses/tool_choice_mcp.rbs +3 -2
  1112. data/sig/openai/models/responses/tool_choice_shell.rbs +2 -2
  1113. data/sig/openai/models/responses/tool_search_tool.rbs +8 -8
  1114. data/sig/openai/models/responses/web_search_preview_tool.rbs +16 -16
  1115. data/sig/openai/models/responses/web_search_tool.rbs +20 -20
  1116. data/sig/openai/models/safety/alert_retrieve_params.rbs +2 -2
  1117. data/sig/openai/models/safety/safety_alert.rbs +2 -2
  1118. data/sig/openai/models/skill.rbs +2 -2
  1119. data/sig/openai/models/skill_create_params.rbs +6 -4
  1120. data/sig/openai/models/skill_delete_params.rbs +2 -2
  1121. data/sig/openai/models/skill_list.rbs +2 -2
  1122. data/sig/openai/models/skill_list_params.rbs +8 -8
  1123. data/sig/openai/models/skill_retrieve_params.rbs +2 -2
  1124. data/sig/openai/models/skill_update_params.rbs +6 -3
  1125. data/sig/openai/models/skills/content_retrieve_params.rbs +2 -2
  1126. data/sig/openai/models/skills/deleted_skill_version.rbs +2 -2
  1127. data/sig/openai/models/skills/skill_version.rbs +2 -2
  1128. data/sig/openai/models/skills/skill_version_list.rbs +2 -2
  1129. data/sig/openai/models/skills/version_create_params.rbs +6 -6
  1130. data/sig/openai/models/skills/version_delete_params.rbs +6 -3
  1131. data/sig/openai/models/skills/version_list_params.rbs +8 -8
  1132. data/sig/openai/models/skills/version_retrieve_params.rbs +6 -3
  1133. data/sig/openai/models/skills/versions/content_retrieve_params.rbs +6 -3
  1134. data/sig/openai/models/static_file_chunking_strategy_object.rbs +2 -2
  1135. data/sig/openai/models/static_file_chunking_strategy_object_param.rbs +2 -2
  1136. data/sig/openai/models/upload.rbs +4 -4
  1137. data/sig/openai/models/upload_cancel_params.rbs +2 -2
  1138. data/sig/openai/models/upload_complete_params.rbs +8 -4
  1139. data/sig/openai/models/upload_create_params.rbs +6 -6
  1140. data/sig/openai/models/uploads/part_create_params.rbs +6 -3
  1141. data/sig/openai/models/uploads/upload_part.rbs +2 -2
  1142. data/sig/openai/models/vector_store.rbs +8 -8
  1143. data/sig/openai/models/vector_store_create_params.rbs +16 -16
  1144. data/sig/openai/models/vector_store_delete_params.rbs +2 -2
  1145. data/sig/openai/models/vector_store_deleted.rbs +2 -2
  1146. data/sig/openai/models/vector_store_list_params.rbs +10 -10
  1147. data/sig/openai/models/vector_store_retrieve_params.rbs +2 -2
  1148. data/sig/openai/models/vector_store_search_params.rbs +14 -14
  1149. data/sig/openai/models/vector_store_update_params.rbs +10 -10
  1150. data/sig/openai/models/vector_stores/file_batch_cancel_params.rbs +6 -3
  1151. data/sig/openai/models/vector_stores/file_batch_create_params.rbs +14 -14
  1152. data/sig/openai/models/vector_stores/file_batch_list_files_params.rbs +12 -12
  1153. data/sig/openai/models/vector_stores/file_batch_retrieve_params.rbs +6 -3
  1154. data/sig/openai/models/vector_stores/file_content_params.rbs +6 -3
  1155. data/sig/openai/models/vector_stores/file_content_response.rbs +2 -2
  1156. data/sig/openai/models/vector_stores/file_create_params.rbs +6 -6
  1157. data/sig/openai/models/vector_stores/file_delete_params.rbs +6 -3
  1158. data/sig/openai/models/vector_stores/file_list_params.rbs +12 -12
  1159. data/sig/openai/models/vector_stores/file_retrieve_params.rbs +6 -3
  1160. data/sig/openai/models/vector_stores/file_update_params.rbs +3 -3
  1161. data/sig/openai/models/vector_stores/vector_store_file.rbs +6 -6
  1162. data/sig/openai/models/vector_stores/vector_store_file_batch.rbs +2 -2
  1163. data/sig/openai/models/vector_stores/vector_store_file_deleted.rbs +2 -2
  1164. data/sig/openai/models/video.rbs +2 -2
  1165. data/sig/openai/models/video_create_character_params.rbs +6 -3
  1166. data/sig/openai/models/video_create_error.rbs +8 -8
  1167. data/sig/openai/models/video_create_params.rbs +10 -10
  1168. data/sig/openai/models/video_delete_params.rbs +2 -2
  1169. data/sig/openai/models/video_delete_response.rbs +2 -2
  1170. data/sig/openai/models/video_download_content_params.rbs +4 -4
  1171. data/sig/openai/models/video_edit_params.rbs +6 -3
  1172. data/sig/openai/models/video_extend_params.rbs +3 -3
  1173. data/sig/openai/models/video_get_character_params.rbs +2 -2
  1174. data/sig/openai/models/video_list_params.rbs +8 -8
  1175. data/sig/openai/models/video_remix_params.rbs +6 -3
  1176. data/sig/openai/models/video_retrieve_params.rbs +2 -2
  1177. data/sig/openai/models/webhooks/batch_cancelled_webhook_event.rbs +4 -4
  1178. data/sig/openai/models/webhooks/batch_completed_webhook_event.rbs +4 -4
  1179. data/sig/openai/models/webhooks/batch_expired_webhook_event.rbs +4 -4
  1180. data/sig/openai/models/webhooks/batch_failed_webhook_event.rbs +4 -4
  1181. data/sig/openai/models/webhooks/eval_run_canceled_webhook_event.rbs +4 -4
  1182. data/sig/openai/models/webhooks/eval_run_failed_webhook_event.rbs +4 -4
  1183. data/sig/openai/models/webhooks/eval_run_succeeded_webhook_event.rbs +4 -4
  1184. data/sig/openai/models/webhooks/fine_tuning_job_cancelled_webhook_event.rbs +4 -4
  1185. data/sig/openai/models/webhooks/fine_tuning_job_failed_webhook_event.rbs +4 -4
  1186. data/sig/openai/models/webhooks/fine_tuning_job_succeeded_webhook_event.rbs +4 -4
  1187. data/sig/openai/models/webhooks/live_call_incoming_webhook_event.rbs +4 -4
  1188. data/sig/openai/models/webhooks/realtime_call_incoming_webhook_event.rbs +4 -4
  1189. data/sig/openai/models/webhooks/response_cancelled_webhook_event.rbs +4 -4
  1190. data/sig/openai/models/webhooks/response_completed_webhook_event.rbs +4 -4
  1191. data/sig/openai/models/webhooks/response_failed_webhook_event.rbs +4 -4
  1192. data/sig/openai/models/webhooks/response_incomplete_webhook_event.rbs +4 -4
  1193. data/sig/openai/models/webhooks/safety_alert_created_webhook_event.rbs +4 -4
  1194. data/sig/openai/models/webhooks/safety_org_alert_created_webhook_event.rbs +4 -4
  1195. data/sig/openai/models/webhooks/webhook_unwrap_params.rbs +2 -3
  1196. data/sig/openai/request_options.rbs +7 -7
  1197. data/sig/openai/resources/admin/organization/projects/service_accounts/api_keys.rbs +1 -0
  1198. data/sig/openai/resources/audio/speech.rbs +1 -1
  1199. data/sig/openai/resources/containers/files/content.rbs +1 -1
  1200. data/sig/openai/resources/files.rbs +1 -1
  1201. data/sig/openai/resources/responses.rbs +51 -2
  1202. data/sig/openai/resources/skills/content.rbs +1 -1
  1203. data/sig/openai/resources/skills/versions/content.rbs +1 -1
  1204. data/sig/openai/resources/videos.rbs +1 -1
  1205. data/sig/openai/response_carrier.rbs +13 -0
  1206. data/sig/openai/streaming.rbs +10 -0
  1207. metadata +56 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 37f60ef5c84fcaef53fccd86fa30e1cc0988b4033abdd3e14711247e082de5d4
4
- data.tar.gz: 97cd2b216e53d22574e00031f94b0d2975393a9128a9d2528ea735679bb04f8f
3
+ metadata.gz: e2541f0eac1ef08259b89e4baa93434e632c2c46a17b1a67e02fd25d167b77d4
4
+ data.tar.gz: 2d27951debe6e1fd0a42e2817cf59c02dc01d4c8ca8682070cbdd2d14d7e46db
5
5
  SHA512:
6
- metadata.gz: 1493b225ac23056cda189b6af2bdd547aeb3441fef8f85c9454ae2d2d51e87e84743807cd86875f85a1d055eeb1f8c30ab684b7a11f76e46f86fbcd47c3b0995
7
- data.tar.gz: 702dc478f26dff8454563e36b2d3ed4113ced5f04f104d34ab399091b290bf34ca3cccbb1ad8f44b2dae132d40053e33b9d0a86dc20f3a66316e0aed9378459d
6
+ metadata.gz: 94c5255cec9b29f277dabe60b6825dd4a1edb7be86ce25162e25f2c6f3bf072c38a19297b047c0177c6553e2ff8bcd06a935d8a841e4b6d2e480377fd5bf667b
7
+ data.tar.gz: 9a638b78473f54fa9238a46e6ad8ec419bc892e94fe1303292268174d6203566f095e778631b2bb65da61191950cfedac2c31f4c1eea287a13d46b3d632ba05f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,94 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.87.0](https://github.com/openai/openai-ruby/compare/v0.86.0...v0.87.0) (2026-09-08)
4
+
5
+
6
+ ### Features
7
+
8
+ * add FFmpeg local recording and playback helpers ([#685](https://github.com/openai/openai-ruby/issues/685)) ([4d05097](https://github.com/openai/openai-ruby/commit/4d05097f10408452aaf0efa48c499bada62846bb))
9
+ * add opt-in Realtime reconnect and send queue ([#681](https://github.com/openai/openai-ruby/issues/681)) ([21b8a70](https://github.com/openai/openai-ruby/commit/21b8a70d48e2623e32aa01f95503adcf3fa2ba75))
10
+ * **api:** add GPT Image 2.5 models and image options ([#688](https://github.com/openai/openai-ruby/issues/688)) ([02f4724](https://github.com/openai/openai-ruby/commit/02f4724eb69eebe8c46b8d51010bee364e1197ad))
11
+
12
+ ## [0.86.0](https://github.com/openai/openai-ruby/compare/v0.85.0...v0.86.0) (2026-09-08)
13
+
14
+
15
+ ### Features
16
+
17
+ * add Responses WebSocket mode ([#562](https://github.com/openai/openai-ruby/issues/562)) ([7c910a7](https://github.com/openai/openai-ruby/commit/7c910a78ae4418dc59e766edc2467c254b814a89))
18
+ * **api:** add cache diagnostics and fix optional RBS keys ([#604](https://github.com/openai/openai-ruby/issues/604)) ([4e4f7cd](https://github.com/openai/openai-ruby/commit/4e4f7cdda5b5e1c568badded52324af06c77378b))
19
+ * **api:** add service-account API key expiration fields ([#625](https://github.com/openai/openai-ruby/issues/625)) ([8d3f213](https://github.com/openai/openai-ruby/commit/8d3f213da707b11ddbd913a801925b00b3e2bcc9))
20
+ * **api:** correct function argument completion event fields (openapi-545) ([#622](https://github.com/openai/openai-ruby/issues/622)) ([06e2c91](https://github.com/openai/openai-ruby/commit/06e2c91dc349ba36d12ece05bf0b0cbf1ba0e220))
21
+ * **api:** recognize incomplete web search call status ([#590](https://github.com/openai/openai-ruby/issues/590)) ([1560da0](https://github.com/openai/openai-ruby/commit/1560da01073061cc0a0dadc853f7dbc6e688a4d4))
22
+ * **responses:** parse structured outputs on retrieval ([#532](https://github.com/openai/openai-ruby/issues/532)) ([41eb726](https://github.com/openai/openai-ruby/commit/41eb726b66fcb56f149553a9d681d8f1837b9b97))
23
+
24
+
25
+ ### Bug Fixes
26
+
27
+ * accept documented RequestOptions extra query values ([#660](https://github.com/openai/openai-ruby/issues/660)) ([e168aa4](https://github.com/openai/openai-ruby/commit/e168aa47ee9ff81150a901c4eba1f236dea0dcf6))
28
+ * accept string Responses structured-output tags ([#617](https://github.com/openai/openai-ruby/issues/617)) ([4322e07](https://github.com/openai/openai-ruby/commit/4322e076e57b769d619175006307763e3c630cfb))
29
+ * **api:** expose metadata on binary responses ([#608](https://github.com/openai/openai-ruby/issues/608)) ([59e0643](https://github.com/openai/openai-ruby/commit/59e0643dbb37e95b4746b24b38c1489dd2867e33))
30
+ * avoid retrying ambiguous non-idempotent requests ([#650](https://github.com/openai/openai-ruby/issues/650)) ([4734cba](https://github.com/openai/openai-ruby/commit/4734cba47984a53e241e224acb7f465372b34598))
31
+ * avoid unused Responses stream snapshot copies ([#677](https://github.com/openai/openai-ruby/issues/677)) ([2996996](https://github.com/openai/openai-ruby/commit/2996996d8c68e96f5c8fb65da869a321988c5dc8))
32
+ * close proxy after WebSocket handshake failure ([#675](https://github.com/openai/openai-ruby/issues/675)) ([aeb4cf2](https://github.com/openai/openai-ruby/commit/aeb4cf2120d6eb7f204206dd5364951ad0495103)), closes [#669](https://github.com/openai/openai-ruby/issues/669)
33
+ * coerce Integer strings as decimal ([#667](https://github.com/openai/openai-ruby/issues/667)) ([82f8c62](https://github.com/openai/openai-ruby/commit/82f8c62f0a68236757d57cfe3fd4a501f41270f5))
34
+ * correct Responses stream RBS contract ([#654](https://github.com/openai/openai-ruby/issues/654)) ([0d32ba4](https://github.com/openai/openai-ruby/commit/0d32ba4c555c3ea2763dade0db6618e86de84f96))
35
+ * correct Responses text enumerator Sorbet type ([#637](https://github.com/openai/openai-ruby/issues/637)) ([49ccb69](https://github.com/openai/openai-ruby/commit/49ccb69cbe4fd0a738bbc03840b7bb117bb183f6))
36
+ * declare built-in workload identity providers ([#659](https://github.com/openai/openai-ruby/issues/659)) ([cfbbb98](https://github.com/openai/openai-ruby/commit/cfbbb98f2a87340442c9b8ccd267cd54dbd31fbc))
37
+ * declare Chat stream finish exception types ([#657](https://github.com/openai/openai-ruby/issues/657)) ([87fc522](https://github.com/openai/openai-ruby/commit/87fc522b00f51b1020f64bdcaa4e56573f43ab6a))
38
+ * declare webhook signature error types ([#642](https://github.com/openai/openai-ruby/issues/642)) ([5211472](https://github.com/openai/openai-ruby/commit/52114726f0bd8780f013e95cade266e3f95677c6))
39
+ * declare workload identity error types ([#658](https://github.com/openai/openai-ruby/issues/658)) ([e6afdeb](https://github.com/openai/openai-ruby/commit/e6afdeb10815f3b3cd5a3224abd5d55a3f2b1377))
40
+ * deserialize diarized transcriptions correctly ([#652](https://github.com/openai/openai-ruby/issues/652)) ([5be26ce](https://github.com/openai/openai-ruby/commit/5be26ce71fa5855e668068075215c454ec7eeab8))
41
+ * handle non-object OAuth error bodies ([#674](https://github.com/openai/openai-ruby/issues/674)) ([13aa3d6](https://github.com/openai/openai-ruby/commit/13aa3d65ee84d242407d8ad912b0f26e4c945fe8))
42
+ * handle quoted response charsets ([#613](https://github.com/openai/openai-ruby/issues/613)) ([91d0e86](https://github.com/openai/openai-ruby/commit/91d0e86ed995f54361b329d7641af9f20163f27d)), closes [#610](https://github.com/openai/openai-ruby/issues/610)
43
+ * honor custom idempotency headers for retries ([#673](https://github.com/openai/openai-ruby/issues/673)) ([5bd703a](https://github.com/openai/openai-ruby/commit/5bd703acb8b270d0ae37ea1a846dfada5f88b9fc)), closes [#671](https://github.com/openai/openai-ruby/issues/671)
44
+ * honor raw StringIO request cursors ([#621](https://github.com/openai/openai-ruby/issues/621)) ([8e6abfd](https://github.com/openai/openai-ruby/commit/8e6abfd57a33ae7c7360f496f8baf15e1cf74db4))
45
+ * isolate base URL queries between requests ([#619](https://github.com/openai/openai-ruby/issues/619)) ([347e659](https://github.com/openai/openai-ruby/commit/347e659404bd7a13de57604e325c4432c875ee60))
46
+ * isolate structured output field metadata ([#655](https://github.com/openai/openai-ruby/issues/655)) ([7f3cec8](https://github.com/openai/openai-ruby/commit/7f3cec8663175c9ac1be12368bcf1c3717ca2466))
47
+ * keep Realtime metadata out of nested payloads ([#653](https://github.com/openai/openai-ruby/issues/653)) ([d1fa0d3](https://github.com/openai/openai-ruby/commit/d1fa0d3026a47cd16c4c2dcd8d68e8d1ecb854db))
48
+ * match response charset parameters case-insensitively ([#629](https://github.com/openai/openai-ruby/issues/629)) ([821d9b3](https://github.com/openai/openai-ruby/commit/821d9b3f018040a3a946f714e120f009541c9743))
49
+ * match the multipart request content type case-insensitively ([#666](https://github.com/openai/openai-ruby/issues/666)) ([55ae013](https://github.com/openai/openai-ruby/commit/55ae0137740f05f30173e3dc73d546a500b29d2a))
50
+ * normalize Bedrock environment bearer tokens ([#601](https://github.com/openai/openai-ruby/issues/601)) ([131e977](https://github.com/openai/openai-ruby/commit/131e97745f0cca1b167a533b852141ceed480c96))
51
+ * normalize workload identity error headers ([#640](https://github.com/openai/openai-ruby/issues/640)) ([1cf3762](https://github.com/openai/openai-ruby/commit/1cf37629ab61b2cc9259dff52c143b08ebe6b70a))
52
+ * parse initial streamed tool arguments ([#593](https://github.com/openai/openai-ruby/issues/593)) ([f4e2ec9](https://github.com/openai/openai-ruby/commit/f4e2ec9069d0781e376447f9f840082f00e07b81))
53
+ * parse SSE field lines that carry no value ([#631](https://github.com/openai/openai-ruby/issues/631)) ([9109f3f](https://github.com/openai/openai-ruby/commit/9109f3f79f6db401e400ca8e4cac8586a9332760))
54
+ * parse SSE retry metadata as decimal ([#624](https://github.com/openai/openai-ruby/issues/624)) ([9135d15](https://github.com/openai/openai-ruby/commit/9135d15c272b9e6102f41dc5d0fa64ac1a5fc2ec))
55
+ * parse strict tools in later chat choices ([#633](https://github.com/openai/openai-ruby/issues/633)) ([b68ce90](https://github.com/openai/openai-ruby/commit/b68ce906106cdaa165cbb6ebdd5ec34b2cc7ba2b))
56
+ * populate nested API error metadata ([#639](https://github.com/openai/openai-ruby/issues/639)) ([8dba07c](https://github.com/openai/openai-ruby/commit/8dba07cda53195755ffbf15634c516e51701ba5a))
57
+ * preserve bare CR SSE line boundaries ([#676](https://github.com/openai/openai-ruby/issues/676)) ([98c5a53](https://github.com/openai/openai-ruby/commit/98c5a5333f5d82f25ec12e7b5a9f65ea78716a12)), closes [#670](https://github.com/openai/openai-ruby/issues/670)
58
+ * preserve chat stream moderation results ([#616](https://github.com/openai/openai-ruby/issues/616)) ([c2c729c](https://github.com/openai/openai-ruby/commit/c2c729ce407a526a91d5f1c0607ee190956e414d))
59
+ * preserve complete interleaved tool arguments ([#638](https://github.com/openai/openai-ruby/issues/638)) ([1f32200](https://github.com/openai/openai-ruby/commit/1f322009ccc529d03048fc1d4bee96401c58ee35))
60
+ * preserve documented file inputs on readback ([#662](https://github.com/openai/openai-ruby/issues/662)) ([0169713](https://github.com/openai/openai-ruby/commit/016971345676ade41c57fcee11b60f3adcefe652))
61
+ * preserve file semantics for pathless multipart IO ([#665](https://github.com/openai/openai-ruby/issues/665)) ([0fefbf6](https://github.com/openai/openai-ruby/commit/0fefbf68a804bdd080dfef9defe0ce45e18eaa6b))
62
+ * preserve hash-form type metadata ([#651](https://github.com/openai/openai-ruby/issues/651)) ([8de6a0f](https://github.com/openai/openai-ruby/commit/8de6a0fc26ba8649d6621689ce5c342799c0a786))
63
+ * preserve text logprobs in response streams ([#595](https://github.com/openai/openai-ruby/issues/595)) ([e8e2f39](https://github.com/openai/openai-ruby/commit/e8e2f392f6bd20d8b9ca84d8141b73be0e6b33d9))
64
+ * preserve unknown discriminated union values ([#645](https://github.com/openai/openai-ruby/issues/645)) ([1384aa0](https://github.com/openai/openai-ruby/commit/1384aa017af5fa98a515753e1d4a9ba0bac82d63))
65
+ * preserve UTF-8 SSE stream boundaries ([#623](https://github.com/openai/openai-ruby/issues/623)) ([6b9ee87](https://github.com/openai/openai-ruby/commit/6b9ee8729c3ac429cc93716e8b51bce603de3405))
66
+ * rank tied union variants by declaration order ([#628](https://github.com/openai/openai-ruby/issues/628)) ([5ae6f43](https://github.com/openai/openai-ruby/commit/5ae6f43f4260a1a68984afc649bdc44e68526324))
67
+ * redact malformed streamed JSON errors ([#643](https://github.com/openai/openai-ruby/issues/643)) ([5ab02f6](https://github.com/openai/openai-ruby/commit/5ab02f65fdcecdd007a48e7bde8679ce240c1a1c))
68
+ * respect StringIO cursor in FilePart serialization ([#592](https://github.com/openai/openai-ruby/issues/592)) ([4115a1e](https://github.com/openai/openai-ruby/commit/4115a1e03a3111cbc80be20eb902df81567b3c76))
69
+ * **responses:** expose stream resumption parameters ([#646](https://github.com/openai/openai-ruby/issues/646)) ([d93852f](https://github.com/openai/openai-ruby/commit/d93852f16db7307e3b0da1396b4d06ad4f74cfc2))
70
+ * restore conflict-free exported RBIs for Tapioca ([#679](https://github.com/openai/openai-ruby/issues/679)) ([c80a253](https://github.com/openai/openai-ruby/commit/c80a25396afbf143e68c4b11a8552ebbbb6bfc3b))
71
+ * retry only proven unsent requests ([#663](https://github.com/openai/openai-ruby/issues/663)) ([a63eda8](https://github.com/openai/openai-ruby/commit/a63eda8203aa023ef3a6917c18a2be80cb66e406))
72
+ * stream container file uploads as multipart ([#648](https://github.com/openai/openai-ruby/issues/648)) ([b3c523b](https://github.com/openai/openai-ruby/commit/b3c523b2566a6b760d0a1a952682bf6ca9a866d0))
73
+ * strip upload filenames without platform path rules ([#627](https://github.com/openai/openai-ruby/issues/627)) ([5f00613](https://github.com/openai/openai-ruby/commit/5f006135268ae38b81024f8c28de939c53598c90))
74
+ * suppress Responses WebSocket exception causes ([#644](https://github.com/openai/openai-ruby/issues/644)) ([1b16a83](https://github.com/openai/openai-ruby/commit/1b16a832d74df6742b256545a24915424deaa7dd))
75
+ * type chat completion streams for Sorbet ([#634](https://github.com/openai/openai-ruby/issues/634)) ([cca6a70](https://github.com/openai/openai-ruby/commit/cca6a7035e680fd85ea40bd728937e9c957bd81a))
76
+ * upload pathless IO streams instead of raising ([#630](https://github.com/openai/openai-ruby/issues/630)) ([950552f](https://github.com/openai/openai-ruby/commit/950552f470951ddf01bd1f55a1569b012b6b4fd0))
77
+
78
+
79
+ ### Chores
80
+
81
+ * **api:** document throttling and model overload responses — SDK-235 ([#632](https://github.com/openai/openai-ruby/issues/632)) ([2b0483d](https://github.com/openai/openai-ruby/commit/2b0483d394289aa18b792bd7a5440977d8b7a7a1))
82
+ * **api:** Refresh SDK metadata ([#612](https://github.com/openai/openai-ruby/issues/612)) ([e93a4b5](https://github.com/openai/openai-ruby/commit/e93a4b54f9b64609b96c553ac7864d94dacc6cf1))
83
+ * **deps-dev:** bump the development-dependencies group with 7 updates ([#668](https://github.com/openai/openai-ruby/issues/668)) ([d9a2271](https://github.com/openai/openai-ruby/commit/d9a2271531acea12bc3b46293bb90159d3975d59))
84
+ * migrate to forked steady ([#605](https://github.com/openai/openai-ruby/issues/605)) ([5542f01](https://github.com/openai/openai-ruby/commit/5542f01a8395bc9349eae479396ba5158692385f))
85
+
86
+
87
+ ### Documentation
88
+
89
+ * clarify dormant compatibility-check boundary ([#647](https://github.com/openai/openai-ruby/issues/647)) ([d6fa81c](https://github.com/openai/openai-ruby/commit/d6fa81ca012db991be4438f6f1b605a0ce12aa8e))
90
+ * clarify Realtime transcription event boundary ([#649](https://github.com/openai/openai-ruby/issues/649)) ([94a1d77](https://github.com/openai/openai-ruby/commit/94a1d77a23c990308d6262f3ce668af6206361f4))
91
+
3
92
  ## [0.85.0](https://github.com/openai/openai-ruby/compare/v0.84.0...v0.85.0) (2026-09-03)
4
93
 
5
94
 
data/README.md CHANGED
@@ -15,7 +15,7 @@ To use this gem, install via Bundler by adding the following to your application
15
15
  <!-- x-release-please-start-version -->
16
16
 
17
17
  ```ruby
18
- gem "openai", "~> 0.85.0"
18
+ gem "openai", "~> 0.87.0"
19
19
  ```
20
20
 
21
21
  <!-- x-release-please-end -->
@@ -50,6 +50,11 @@ stream.each do |event|
50
50
  end
51
51
  ```
52
52
 
53
+ ### Local audio
54
+
55
+ Record a clip and play generated speech with optional FFmpeg/FFplay helpers.
56
+ See the [local audio guide](local-audio.md) for setup, device selection and examples.
57
+
53
58
  ### Realtime WebSockets
54
59
 
55
60
  The SDK supports block-scoped, typed Realtime WebSocket sessions for
@@ -81,6 +86,41 @@ sideband connection. See the [Realtime WebSocket guide](realtime.md) and the run
81
86
  [text, transcription, voice, and sideband examples](examples/realtime/README.md)
82
87
  for lifecycle, authentication, proxy, TLS, and custom transport details.
83
88
 
89
+ ### Responses WebSockets
90
+
91
+ The Responses API also supports a persistent, block-scoped WebSocket for
92
+ sequential and multiplexed response creation. Add the optional
93
+ `async-websocket` gem, then send `response.create` events through
94
+ `client.responses.connect`:
95
+
96
+ ```ruby
97
+ client.responses.connect do |connection|
98
+ connection.response.create(
99
+ model: "gpt-5.2",
100
+ input: "Say hello.",
101
+ stream_id: "turn_1"
102
+ )
103
+
104
+ connection.each do |event|
105
+ print(event.delta) if event.type == :"response.output_text.delta"
106
+ break if event.type == :"response.completed"
107
+ end
108
+ end
109
+ ```
110
+
111
+ The connection is intentionally single-owner: callers serialize writes and
112
+ use one reader (`receive` or `each`). The SDK forwards response fields and
113
+ `stream_id` values without imposing additional client-side policy. Known
114
+ server events are decoded into generated models on a best-effort basis, while
115
+ newer event types remain observable as `UnknownServerEvent` values. The SDK
116
+ does not automatically reconnect or replay an ambiguous write. When the server
117
+ closes a connection, open a new connection and continue with
118
+ `previous_response_id` when the response was stored.
119
+
120
+ See the [Responses WebSocket guide](responses-websocket.md) and
121
+ [runnable workflows](examples/responses/websocket_workflows.rb) for tool turns,
122
+ multiplexing, stored continuation, stateless replay, and operation deadlines.
123
+
84
124
  ### Pagination
85
125
 
86
126
  List methods in the OpenAI API are paginated.
@@ -213,7 +253,11 @@ The custom HTTP client owns connection pooling and lifecycle, must enforce
213
253
  `request.timeout`, and should raise `OpenAI::Errors::APIConnectionError` or
214
254
  `OpenAI::Errors::APITimeoutError` for retryable transport failures. Other
215
255
  exceptions propagate without an SDK retry. The SDK does not close an injected
216
- HTTP client.
256
+ HTTP client. Connection failures are treated as potentially post-send by
257
+ default, so non-idempotent requests are not retried automatically. When a
258
+ transport can prove that no request bytes were sent, it may raise either error
259
+ with `request_may_have_been_sent: false` to allow the SDK retry policy to
260
+ retry a replayable request safely.
217
261
 
218
262
  The default `OpenAI::NetHTTPClient` implements this contract with pooled
219
263
  `Net::HTTP` connections. It accepts an optional block for native connection
@@ -395,6 +439,10 @@ For secure, automated environments like cloud-managed Kubernetes, Azure, and GCP
395
439
 
396
440
  `client_id` remains available as an optional parameter for token exchange setups that require an explicit OAuth client ID.
397
441
 
442
+ If `OPENAI_API_KEY` is already set in your environment, pass `api_key: nil`
443
+ to explicitly opt out of that ambient API key when constructing a workload
444
+ identity client.
445
+
398
446
  ### X.509 Workload Identity (Preview)
399
447
 
400
448
  Organizations enrolled in the X.509 workload identity preview can exchange a
@@ -503,6 +551,7 @@ workload_identity = OpenAI::Auth::WorkloadIdentity.new(
503
551
  )
504
552
 
505
553
  client = OpenAI::Client.new(
554
+ api_key: nil,
506
555
  workload_identity: workload_identity,
507
556
  )
508
557
 
@@ -524,6 +573,7 @@ workload_identity = OpenAI::Auth::WorkloadIdentity.new(
524
573
  )
525
574
 
526
575
  client = OpenAI::Client.new(
576
+ api_key: nil,
527
577
  workload_identity: workload_identity,
528
578
  )
529
579
  ```
@@ -540,6 +590,7 @@ workload_identity = OpenAI::Auth::WorkloadIdentity.new(
540
590
  )
541
591
 
542
592
  client = OpenAI::Client.new(
593
+ api_key: nil,
543
594
  workload_identity: workload_identity,
544
595
  )
545
596
  ```
@@ -570,6 +621,7 @@ workload_identity = OpenAI::Auth::WorkloadIdentity.new(
570
621
  )
571
622
 
572
623
  client = OpenAI::Client.new(
624
+ api_key: nil,
573
625
  workload_identity: workload_identity,
574
626
  organization: ENV["OPENAI_ORG_ID"],
575
627
  project: ENV["OPENAI_PROJECT_ID"]
@@ -605,9 +657,9 @@ post '/webhook' do
605
657
  event = client.webhooks.unwrap(request_body, request.env)
606
658
 
607
659
  case event.type
608
- when 'response.completed'
660
+ when :'response.completed'
609
661
  puts "Response completed: #{event.data}"
610
- when 'response.failed'
662
+ when :'response.failed'
611
663
  puts "Response failed: #{event.data}"
612
664
  else
613
665
  puts "Unhandled event type: #{event.type}"
@@ -711,6 +763,27 @@ response
711
763
  end
712
764
  ```
713
765
 
766
+ For a stored or background response, pass the same structured-output model again
767
+ when retrieving it. The model is used locally to populate `content.parsed`; it is
768
+ not sent as a retrieval query parameter. A response that is still queued or in
769
+ progress can be retrieved the same way, but structured output is parsed only after
770
+ a later retrieval reports it completed when status is present. Compatible
771
+ statusless responses parse once their hinted output is syntactically complete JSON.
772
+ For structured function tools, pass the same model again with
773
+ `tools: [ToolArguments]`; matching retrieved function calls expose typed arguments
774
+ through `output.parsed`.
775
+
776
+ ```ruby
777
+ pending = client.responses.create(
778
+ model: "gpt-5.2",
779
+ input: "Extract the event information.",
780
+ text: CalendarEvent,
781
+ background: true
782
+ )
783
+
784
+ response = client.responses.retrieve(pending.id, text: CalendarEvent)
785
+ ```
786
+
714
787
  </details>
715
788
 
716
789
  See the [examples](https://github.com/openai/openai-ruby/tree/main/examples) directory for more usage examples for helper usage.
@@ -915,8 +988,9 @@ a supplied logger are isolated and never replace an API result or API error.
915
988
  ### Response metadata and request IDs
916
989
 
917
990
  OpenAI recommends logging request IDs in production so requests can be traced
918
- during troubleshooting. Top-level models and pages returned by the client expose
919
- immutable HTTP response metadata through `last_response`:
991
+ during troubleshooting. Top-level models, pages, streams, and binary StringIO
992
+ values returned by the client expose immutable HTTP response metadata through
993
+ `last_response`:
920
994
 
921
995
  ```ruby
922
996
  response = openai.responses.create(model: "gpt-5.2", input: "Say 'this is a test'.")
@@ -924,6 +998,10 @@ puts(response.last_response.status) # 200
924
998
  puts(response.last_response.headers["x-request-id"]) # req_123
925
999
  puts(response.last_response.request_id) # req_123
926
1000
  puts(response._request_id) # req_123
1001
+
1002
+ audio = openai.audio.speech.create(input: "Hello!", model: "tts-1", voice: "alloy")
1003
+ puts(audio.last_response.headers["x-request-id"]) # req_456
1004
+ puts(audio._request_id) # req_456
927
1005
  ```
928
1006
 
929
1007
  Header names and values are normalized to strings, header names are lowercase,
@@ -932,11 +1010,12 @@ HTTP response that opened the stream. Higher-level streaming helpers expose the
932
1010
  same metadata as their underlying stream; models assembled from stream events
933
1011
  do not.
934
1012
 
935
- `last_response` and `_request_id` are only populated on top-level typed models
936
- and pages returned by the client. They are `nil` on constructed or nested models
937
- and are not included in `to_h`, JSON, or YAML output. Endpoints returning raw
938
- primitives, binary data, or `nil` do not expose this metadata. Unlike other
939
- properties that begin with an underscore, `_request_id` is public.
1013
+ `last_response` and `_request_id` are only populated on top-level models,
1014
+ pages, streams, and direct binary `StringIO` responses returned by the client.
1015
+ They are `nil` on constructed or nested models, unavailable on primitive or
1016
+ union-backed plain-text fallbacks, and are not included in `to_h`, JSON, or
1017
+ YAML output. Endpoints returning `nil` have no object that can carry metadata.
1018
+ Unlike other properties that begin with an underscore, `_request_id` is public.
940
1019
 
941
1020
  For failed HTTP requests, catch `OpenAI::Errors::APIStatusError` and use
942
1021
  `request_id`:
@@ -957,7 +1036,15 @@ for more information.
957
1036
 
958
1037
  Certain errors will be automatically retried 2 times by default, with a short exponential backoff.
959
1038
 
960
- Connection errors (for example, due to a network connectivity problem), 408 Request Timeout, 409 Conflict, 429 Rate Limit, >=500 Internal errors, and timeouts will all be retried by default.
1039
+ Requests are automatically retried only when their bodies are replayable. For
1040
+ those requests, after transport execution begins, connection errors (for
1041
+ example, due to a network connectivity problem) and timeouts are retried by
1042
+ default only when the transport proves that no request bytes were sent, for
1043
+ idempotent HTTP methods, or for requests carrying a non-empty
1044
+ `Idempotency-Key` header. Failures before transport execution retain the
1045
+ configured retry behavior because no request has been dispatched.
1046
+ 408 Request Timeout, 409 Conflict, 429 Rate Limit, and >=500 Internal errors
1047
+ are retried by default regardless of the HTTP method.
961
1048
 
962
1049
  You can use the `max_retries` option to configure or disable this:
963
1050
 
@@ -1016,7 +1103,11 @@ openai.chat.completions.create(
1016
1103
 
1017
1104
  On timeout, `OpenAI::Errors::APITimeoutError` is raised.
1018
1105
 
1019
- Note that requests that time out are retried by default.
1106
+ After transport execution begins, requests with replayable bodies that time out
1107
+ are retried by default only when the transport proves that no request bytes
1108
+ were sent, for idempotent HTTP methods, or for requests carrying a non-empty
1109
+ `Idempotency-Key` header. Timeouts before transport execution retain the
1110
+ configured retry behavior.
1020
1111
 
1021
1112
  ## Advanced concepts
1022
1113
 
@@ -126,8 +126,21 @@ Important boundaries:
126
126
  - Authenticated Realtime handshakes are a transport boundary distinct from
127
127
  event parsing. Bearer credentials, caller-selected WebSocket destinations,
128
128
  TLS, proxy credentials, and traces must remain bound to their intended
129
- origin and diagnostic audience
130
- (`lib/openai/helpers/realtime/client_extension.rb:167-280`,
129
+ origin and diagnostic audience. Bearer credentials, including ephemeral
130
+ client secrets passed to client apps, authenticate the handshake before any
131
+ typed event is sent; post-handshake transcription `session.update` events
132
+ carry configuration rather than a client secret. The legacy generated
133
+ `TranscriptionSessionUpdatedEvent` model requires a `client_secret` even
134
+ though its own documentation says WebSocket updates omit it, but that model
135
+ is not in the helper's active server-event union: the parser treats its
136
+ `transcription_session.updated` discriminator as unknown, while current
137
+ transcription updates use `session.updated`
138
+ (`lib/openai/helpers/websocket/client_request.rb:89-113`,
139
+ `lib/openai/helpers/realtime/connection_resources.rb:25-31`,
140
+ `lib/openai/resources/realtime/client_secrets.rb:10-45`,
141
+ `lib/openai/models/realtime/transcription_session_updated_event.rb:13-49`,
142
+ `lib/openai/models/realtime/realtime_server_event.rb:192-199`,
143
+ `lib/openai/helpers/realtime/connection.rb:32-49`,
131
144
  `lib/openai/helpers/realtime/transports/async_websocket.rb:185-224`,
132
145
  `lib/openai/helpers/realtime/transports/async_websocket.rb:294-378`).
133
146
  - Multipart upload serialization is a file-path and header-integrity boundary.
@@ -206,6 +219,19 @@ PR CI. A contributor who can modify those tracked files does not gain a new
206
219
  privilege merely because CI executes them. Do not report that execution alone
207
220
  as a security finding.
208
221
 
222
+ Dormant developer helpers are not security controls merely because their names
223
+ suggest compatibility or safety verification. At this revision,
224
+ `scripts/detect-breaking-changes` is not invoked by any tracked workflow or
225
+ tracked required job; when a contributor explicitly runs it, it replaces
226
+ selected tests with historical versions and invokes lint rather than runtime
227
+ assertions.
228
+ That can affect contributor confidence or release-quality review, but without a
229
+ privileged workflow invocation or an independent lower-trust path to a sensitive
230
+ sink, it is not a repository security boundary. Reassess this classification if
231
+ the helper becomes a required or privileged workflow control; otherwise treat
232
+ ordinary compatibility regressions as product/release-quality issues unless they
233
+ independently violate a runtime security invariant.
234
+
209
235
  That rule does not suppress a real finding when independently mutable
210
236
  lower-trust input crosses a parser/evaluator boundary, untrusted runtime/API/
211
237
  network data reaches a sensitive sink, candidate code can reach sensitive
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+ # typed: strict
4
+
5
+ require "openai"
6
+ require "openai/helpers/local_audio"
7
+
8
+ # Running this example explicitly records five seconds from the selected local
9
+ # microphone and sends that recording to OpenAI. FFmpeg and FFplay are required.
10
+ TRANSCRIPTION_MODEL = "gpt-transcribe"
11
+ SPEECH_MODEL = "gpt-4o-mini-tts"
12
+ VOICE = "marin"
13
+
14
+ client = OpenAI::Client.new
15
+ clip = OpenAI::LocalAudio.record(duration: 5, timeout: 10)
16
+ transcription = client.audio.transcriptions.create(model: TRANSCRIPTION_MODEL, file: clip)
17
+ puts(transcription.text)
18
+ speech = client.audio.speech.create(model: SPEECH_MODEL, voice: VOICE, input: "Recording complete.")
19
+ OpenAI::LocalAudio.play(speech, timeout: 30)
@@ -0,0 +1,159 @@
1
+ #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
3
+
4
+ require "async"
5
+
6
+ require_relative "../../lib/openai"
7
+
8
+ module OpenAI
9
+ module Examples
10
+ module ResponsesWebSocketWorkflows
11
+ module_function
12
+
13
+ # One reader drains all requested lanes. This example fails the entire
14
+ # operation on an error; applications can instead isolate lane-scoped errors.
15
+ def completed_responses(connection, lanes: [nil])
16
+ pending = lanes.dup
17
+ responses = {}
18
+ connection.each do |event|
19
+ case event.type.to_s
20
+ when "response.completed"
21
+ next unless pending.include?(event.stream_id)
22
+
23
+ responses[event.stream_id] = event.response
24
+ pending.delete(event.stream_id)
25
+ break if pending.empty?
26
+ when "response.failed", "response.incomplete", "error"
27
+ raise "Responses WebSocket operation did not complete."
28
+ end
29
+ end
30
+
31
+ raise "Responses WebSocket closed with unfinished work." unless pending.empty?
32
+
33
+ responses
34
+ end
35
+
36
+ def tools(client:, model:)
37
+ client.responses.connect do |connection|
38
+ connection.response.create(
39
+ model: model,
40
+ input: "What day will my example delivery arrive?",
41
+ tools: [
42
+ {
43
+ type: :function,
44
+ name: "get_delivery_day",
45
+ description: "Return the day of the example delivery.",
46
+ parameters: {type: :object, properties: {}, required: [], additionalProperties: false},
47
+ strict: true
48
+ }
49
+ ],
50
+ tool_choice: {type: :function, name: "get_delivery_day"},
51
+ parallel_tool_calls: false,
52
+ store: false
53
+ )
54
+ first = completed_responses(connection).fetch(nil)
55
+ calls = first.output.select { |item| item.type.to_s == "function_call" }
56
+ unless calls.length == 1 && calls.first.name == "get_delivery_day"
57
+ raise "Expected the example delivery tool call."
58
+ end
59
+
60
+ # Execute only this application's known tool. Never eval model output.
61
+ connection.response.create(
62
+ model: model,
63
+ previous_response_id: first.id,
64
+ input: [{type: :function_call_output, call_id: calls.first.call_id, output: "Tuesday"}],
65
+ store: false
66
+ )
67
+ completed_responses(connection)
68
+ end
69
+ end
70
+
71
+ def multiplex(client:, model:)
72
+ client.responses.connect do |connection|
73
+ %w[planner critic].each do |lane|
74
+ connection.response.create(
75
+ model: model,
76
+ input: "Say hello as the #{lane}.",
77
+ stream_id: lane,
78
+ store: false
79
+ )
80
+ end
81
+
82
+ completed_responses(connection, lanes: %w[planner critic])
83
+ end
84
+ end
85
+
86
+ # Deliberately rotate a healthy connection after a completed turn. This does
87
+ # not retry a failed write or assume an unfinished response was accepted.
88
+ def reconnect(client:, model:, store:)
89
+ input = [{role: :user, content: "Remember the example delivery day: Tuesday."}]
90
+ first = client.responses.connect do |connection|
91
+ connection.response.create(
92
+ model: model,
93
+ input: input,
94
+ store: store,
95
+ include: ["reasoning.encrypted_content"]
96
+ )
97
+ completed_responses(connection).fetch(nil)
98
+ end
99
+
100
+ follow_up = {role: :user, content: "What is the example delivery day?"}
101
+ client.responses.connect do |connection|
102
+ if store
103
+ connection.response.create(
104
+ model: model,
105
+ input: [follow_up],
106
+ previous_response_id: first.id,
107
+ store: true
108
+ )
109
+ else
110
+ # Preserve every output item, including encrypted reasoning. The new
111
+ # connection cannot use the old connection's store=false cache.
112
+ connection.response.create(
113
+ model: model,
114
+ input: input + first.output + [follow_up],
115
+ store: false
116
+ )
117
+ end
118
+
119
+ completed_responses(connection)
120
+ end
121
+ end
122
+
123
+ def run(client:, model:, workflow:, timeout: 60, output: $stdout)
124
+ Sync do |task|
125
+ task.with_timeout(timeout) do
126
+ case workflow
127
+ when "tools"
128
+ tools(client: client, model: model)
129
+ when "multiplex"
130
+ multiplex(client: client, model: model)
131
+ when "stored"
132
+ reconnect(client: client, model: model, store: true)
133
+ when "stateless"
134
+ reconnect(client: client, model: model, store: false)
135
+ else
136
+ raise ArgumentError, "Choose tools, multiplex, stored, or stateless."
137
+ end
138
+ end
139
+ end
140
+
141
+ output.puts("Responses WebSocket workflow completed.")
142
+ end
143
+ end
144
+ end
145
+ end
146
+
147
+ if $PROGRAM_NAME == __FILE__
148
+ begin
149
+ OpenAI::Examples::ResponsesWebSocketWorkflows.run(
150
+ client: OpenAI::Client.new,
151
+ model: ENV.fetch("OPENAI_RESPONSES_MODEL", "gpt-5.2"),
152
+ workflow: ARGV.fetch(0, "multiplex"),
153
+ timeout: Float(ENV.fetch("OPENAI_RESPONSES_TIMEOUT", "60"))
154
+ )
155
+ rescue StandardError
156
+ warn("Responses WebSocket workflow failed; no request or response contents were logged.")
157
+ exit(1)
158
+ end
159
+ end
@@ -355,7 +355,7 @@ module OpenAI
355
355
  OpenAI::Errors::OAuthError.new(
356
356
  status: response.code.to_i,
357
357
  body: body,
358
- headers: response.to_hash
358
+ headers: response.each_header.to_h
359
359
  )
360
360
  )
361
361
  in Net::HTTPSuccess
@@ -368,7 +368,7 @@ module OpenAI
368
368
  OpenAI::Errors::APIError.new(
369
369
  url: @token_exchange_url,
370
370
  status: response.code.to_i,
371
- headers: response.to_hash,
371
+ headers: response.each_header.to_h,
372
372
  body: body,
373
373
  message: "Token exchange failed with status #{response.code}"
374
374
  )
@@ -74,7 +74,13 @@ module OpenAI
74
74
 
75
75
  raise_error(response, body)
76
76
  rescue OpenAI::Errors::APIConnectionError => error
77
- raise error.class.new(url: URI(TOKEN_URL)), cause: nil
77
+ raise(
78
+ error.class.new(
79
+ url: URI(TOKEN_URL),
80
+ request_may_have_been_sent: error.request_may_have_been_sent?
81
+ ),
82
+ cause: nil
83
+ )
78
84
  end
79
85
 
80
86
  private def remaining_timeout(deadline)
@@ -116,21 +116,39 @@ module OpenAI
116
116
  native_response
117
117
 
118
118
  rescue OpenAI::Errors::APIConnectionError => error
119
- raise error.class.new(url: sanitized_url(url)), cause: nil
119
+ raise(
120
+ error.class.new(
121
+ url: sanitized_url(url),
122
+ request_may_have_been_sent: error.request_may_have_been_sent?
123
+ ),
124
+ cause: nil
125
+ )
120
126
  end
121
127
 
122
128
  stream = Enumerator.new do |chunks|
123
129
  response.body.each { |chunk| chunks << chunk }
124
130
 
125
131
  rescue OpenAI::Errors::APIConnectionError => error
126
- raise error.class.new(url: sanitized_url(url)), cause: nil
132
+ raise(
133
+ error.class.new(
134
+ url: sanitized_url(url),
135
+ request_may_have_been_sent: error.request_may_have_been_sent?
136
+ ),
137
+ cause: nil
138
+ )
127
139
  end
128
140
 
129
141
  body = OpenAI::Internal::Util.fused_enum(stream) do
130
142
  OpenAI::Internal::Util.close_fused!(response.body)
131
143
 
132
144
  rescue OpenAI::Errors::APIConnectionError => error
133
- raise error.class.new(url: sanitized_url(url)), cause: nil
145
+ raise(
146
+ error.class.new(
147
+ url: sanitized_url(url),
148
+ request_may_have_been_sent: error.request_may_have_been_sent?
149
+ ),
150
+ cause: nil
151
+ )
134
152
  end
135
153
 
136
154
  OpenAI::HTTPClient::Response.new(status: response.status, headers: response.headers, body: body)