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
@@ -7,6 +7,16 @@ module OpenAI
7
7
  # When making a request, you can pass an actual {RequestOptions} instance, or
8
8
  # simply pass a Hash with symbol keys matching the attributes on this class.
9
9
  class RequestOptions < OpenAI::Internal::Type::BaseModel
10
+ # @api private
11
+ module ExtraQueryValue
12
+ extend OpenAI::Internal::Type::Union
13
+
14
+ variant String
15
+ variant OpenAI::Internal::Type::ArrayOf[String]
16
+ end
17
+
18
+ private_constant :ExtraQueryValue
19
+
10
20
  # @api private
11
21
  #
12
22
  # @param opts [OpenAI::RequestOptions, Hash{Symbol=>Object}]
@@ -37,7 +47,10 @@ module OpenAI
37
47
  # `query` given at the client level.
38
48
  #
39
49
  # @return [Hash{String=>Array<String>, String, nil}, nil]
40
- optional :extra_query, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::ArrayOf[String]]
50
+ optional(
51
+ :extra_query,
52
+ OpenAI::Internal::Type::HashOf[{union: ExtraQueryValue}, nil?: true]
53
+ )
41
54
 
42
55
  # @!attribute extra_headers
43
56
  # Extra headers to send with the request. These are `.merged`’d into any
@@ -66,9 +79,10 @@ module OpenAI
66
79
  optional :timeout, Float
67
80
 
68
81
  # @!attribute include_raw_body
69
- # Retain the exact successful HTTP response body on the returned model or
70
- # page through `last_response.body`. Body retention is disabled by default
71
- # and cannot be enabled for streaming responses.
82
+ # Retain the exact successful HTTP response body on the returned model,
83
+ # page, or direct binary StringIO response through `last_response.body`.
84
+ # Body retention is disabled by default and cannot be enabled for
85
+ # streaming responses.
72
86
  #
73
87
  # @return [Boolean, nil]
74
88
  optional :include_raw_body, OpenAI::Internal::Type::Boolean
@@ -9,12 +9,14 @@ module OpenAI
9
9
  class APIKeys
10
10
  # Creates an API key for a service account in the project.
11
11
  #
12
- # @overload create(service_account_id, project_id:, name: nil, scopes: nil, request_options: {})
12
+ # @overload create(service_account_id, project_id:, expires_in_seconds: nil, name: nil, scopes: nil, request_options: {})
13
13
  #
14
14
  # @param service_account_id [String] Path param: The ID of the service account.
15
15
  #
16
16
  # @param project_id [String] Path param: The ID of the project.
17
17
  #
18
+ # @param expires_in_seconds [Integer, nil] Body param: Number of seconds until the API key expires.
19
+ #
18
20
  # @param name [String] Body param: API key name.
19
21
  #
20
22
  # @param scopes [Array<String>] Body param: API key scopes.
@@ -37,6 +37,7 @@ module OpenAI
37
37
  @client.request(
38
38
  method: :post,
39
39
  path: ["containers/%1$s/files", container_id],
40
+ headers: parsed[:file].nil? ? nil : {"content-type" => "multipart/form-data"},
40
41
  body: parsed,
41
42
  model: OpenAI::Models::Containers::FileCreateResponse,
42
43
  security: {bearer_auth: true},
@@ -51,8 +51,7 @@ module OpenAI
51
51
  # {OpenAI::Models::ImageEditParams} for more details.
52
52
  #
53
53
  # Creates an edited or extended image given one or more source images and a
54
- # prompt. This endpoint supports GPT Image models (`gpt-image-1.5`, `gpt-image-1`,
55
- # `gpt-image-1-mini`, and `chatgpt-image-latest`) and `dall-e-2`.
54
+ # prompt. This endpoint supports GPT Image models and `dall-e-2`.
56
55
  #
57
56
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
58
57
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -64,7 +63,7 @@ module OpenAI
64
63
  #
65
64
  # @param prompt [String] A text description of the desired image(s). The maximum length is 1000 character
66
65
  #
67
- # @param background [Symbol, OpenAI::Models::ImageEditParams::Background, nil] Allows to set transparency for the background of the generated image(s).
66
+ # @param background [Symbol, OpenAI::Models::ImageEditParams::Background, nil] Allows to set transparency for the background of the generated image(s). Must
68
67
  #
69
68
  # @param input_fidelity [Symbol, OpenAI::Models::ImageEditParams::InputFidelity, nil] Control how much effort the model will exert to match the style and features, es
70
69
  #
@@ -80,11 +79,11 @@ module OpenAI
80
79
  #
81
80
  # @param partial_images [Integer, nil] The number of partial images to generate. This parameter is used for
82
81
  #
83
- # @param quality [Symbol, OpenAI::Models::ImageEditParams::Quality, nil] The quality of the image that will be generated for GPT image models. Defaults t
82
+ # @param quality [Symbol, OpenAI::Models::ImageEditParams::Quality, nil] The quality of the image that will be generated for GPT image models. The GPT im
84
83
  #
85
84
  # @param response_format [Symbol, OpenAI::Models::ImageEditParams::ResponseFormat, nil] The format in which the generated images are returned. Must be one of `url` or `
86
85
  #
87
- # @param size [String, Symbol, OpenAI::Models::ImageEditParams::Size, nil] The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`
86
+ # @param size [String, Symbol, OpenAI::Models::ImageEditParams::Size, nil] The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `
88
87
  #
89
88
  # @param user [String] A unique identifier representing your end-user, which can help OpenAI to monitor
90
89
  #
@@ -117,8 +116,7 @@ module OpenAI
117
116
  # {OpenAI::Models::ImageEditParams} for more details.
118
117
  #
119
118
  # Creates an edited or extended image given one or more source images and a
120
- # prompt. This endpoint supports GPT Image models (`gpt-image-1.5`, `gpt-image-1`,
121
- # `gpt-image-1-mini`, and `chatgpt-image-latest`) and `dall-e-2`.
119
+ # prompt. This endpoint supports GPT Image models and `dall-e-2`.
122
120
  #
123
121
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
124
122
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -130,7 +128,7 @@ module OpenAI
130
128
  #
131
129
  # @param prompt [String] A text description of the desired image(s). The maximum length is 1000 character
132
130
  #
133
- # @param background [Symbol, OpenAI::Models::ImageEditParams::Background, nil] Allows to set transparency for the background of the generated image(s).
131
+ # @param background [Symbol, OpenAI::Models::ImageEditParams::Background, nil] Allows to set transparency for the background of the generated image(s). Must
134
132
  #
135
133
  # @param input_fidelity [Symbol, OpenAI::Models::ImageEditParams::InputFidelity, nil] Control how much effort the model will exert to match the style and features, es
136
134
  #
@@ -146,11 +144,11 @@ module OpenAI
146
144
  #
147
145
  # @param partial_images [Integer, nil] The number of partial images to generate. This parameter is used for
148
146
  #
149
- # @param quality [Symbol, OpenAI::Models::ImageEditParams::Quality, nil] The quality of the image that will be generated for GPT image models. Defaults t
147
+ # @param quality [Symbol, OpenAI::Models::ImageEditParams::Quality, nil] The quality of the image that will be generated for GPT image models. The GPT im
150
148
  #
151
149
  # @param response_format [Symbol, OpenAI::Models::ImageEditParams::ResponseFormat, nil] The format in which the generated images are returned. Must be one of `url` or `
152
150
  #
153
- # @param size [String, Symbol, OpenAI::Models::ImageEditParams::Size, nil] The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`
151
+ # @param size [String, Symbol, OpenAI::Models::ImageEditParams::Size, nil] The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `
154
152
  #
155
153
  # @param user [String] A unique identifier representing your end-user, which can help OpenAI to monitor
156
154
  #
@@ -195,7 +193,7 @@ module OpenAI
195
193
  #
196
194
  # @param prompt [String] A text description of the desired image(s). The maximum length is 32000 characte
197
195
  #
198
- # @param background [Symbol, OpenAI::Models::ImageGenerateParams::Background, nil] Allows to set transparency for the background of the generated image(s).
196
+ # @param background [Symbol, OpenAI::Models::ImageGenerateParams::Background, nil] Allows to set transparency for the background of the generated image(s). Must
199
197
  #
200
198
  # @param model [String, Symbol, OpenAI::Models::ImageModel, nil] The model to use for image generation. One of `dall-e-2`, `dall-e-3`, or a GPT i
201
199
  #
@@ -213,7 +211,7 @@ module OpenAI
213
211
  #
214
212
  # @param response_format [Symbol, OpenAI::Models::ImageGenerateParams::ResponseFormat, nil] The format in which generated images with `dall-e-2` and `dall-e-3` are returned
215
213
  #
216
- # @param size [String, Symbol, OpenAI::Models::ImageGenerateParams::Size, nil] The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`
214
+ # @param size [String, Symbol, OpenAI::Models::ImageGenerateParams::Size, nil] The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `
217
215
  #
218
216
  # @param style [Symbol, OpenAI::Models::ImageGenerateParams::Style, nil] The style of the generated images. This parameter is only supported for `dall-e-
219
217
  #
@@ -253,7 +251,7 @@ module OpenAI
253
251
  #
254
252
  # @param prompt [String] A text description of the desired image(s). The maximum length is 32000 characte
255
253
  #
256
- # @param background [Symbol, OpenAI::Models::ImageGenerateParams::Background, nil] Allows to set transparency for the background of the generated image(s).
254
+ # @param background [Symbol, OpenAI::Models::ImageGenerateParams::Background, nil] Allows to set transparency for the background of the generated image(s). Must
257
255
  #
258
256
  # @param model [String, Symbol, OpenAI::Models::ImageModel, nil] The model to use for image generation. One of `dall-e-2`, `dall-e-3`, or a GPT i
259
257
  #
@@ -271,7 +269,7 @@ module OpenAI
271
269
  #
272
270
  # @param response_format [Symbol, OpenAI::Models::ImageGenerateParams::ResponseFormat, nil] The format in which generated images with `dall-e-2` and `dall-e-3` are returned
273
271
  #
274
- # @param size [String, Symbol, OpenAI::Models::ImageGenerateParams::Size, nil] The size of the generated images. For `gpt-image-2` and `gpt-image-2-2026-04-21`
272
+ # @param size [String, Symbol, OpenAI::Models::ImageGenerateParams::Size, nil] The size of the generated images. For `gpt-image-2`, `gpt-image-2-2026-04-21`, `
275
273
  #
276
274
  # @param style [Symbol, OpenAI::Models::ImageGenerateParams::Style, nil] The style of the generated images. This parameter is only supported for `dall-e-
277
275
  #
@@ -136,7 +136,7 @@ module OpenAI
136
136
  # [file search](https://platform.openai.com/docs/guides/tools-file-search) to use
137
137
  # your own data as input for the model's response.
138
138
  #
139
- # @overload stream(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, request_options: {})
139
+ # @overload stream(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, response_id: nil, safety_identifier: nil, service_tier: nil, starting_after: nil, store: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, request_options: {})
140
140
  #
141
141
  # @param background [Boolean, nil] Whether to run the model response in the background.
142
142
  #
@@ -162,7 +162,7 @@ module OpenAI
162
162
  #
163
163
  # @param parallel_tool_calls [Boolean, nil] Whether to allow the model to run tool calls in parallel.
164
164
  #
165
- # @param previous_response_id [String, nil] The unique ID of the previous response to the response to the model. Use this to resume streams from a given response.
165
+ # @param previous_response_id [String, nil] The unique ID of the previous response to the model. Use this to create multi-turn conversations.
166
166
  #
167
167
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
168
168
  #
@@ -174,10 +174,14 @@ module OpenAI
174
174
  #
175
175
  # @param reasoning [OpenAI::Models::Reasoning, nil] **o-series models only**
176
176
  #
177
+ # @param response_id [String, nil] The ID of the response whose stream to resume.
178
+ #
177
179
  # @param safety_identifier [String] A stable identifier used to help detect users of your application that may be vi
178
180
  #
179
181
  # @param service_tier [Symbol, OpenAI::Models::Responses::ResponseCreateParams::ServiceTier, nil] Specifies the processing type used for serving the request.
180
182
  #
183
+ # @param starting_after [Integer, nil] The sequence number of the event after which to resume streaming. Can only be used with `response_id`.
184
+ #
181
185
  # @param store [Boolean, nil] Whether to store the generated model response for later retrieval via
182
186
  #
183
187
  # @param temperature [Float, nil] What sampling temperature to use, between 0 and 2. Higher values like 0.8 will m
@@ -288,7 +292,7 @@ module OpenAI
288
292
  #
289
293
  # @param parallel_tool_calls [Boolean, nil] Whether to allow the model to run tool calls in parallel.
290
294
  #
291
- # @param previous_response_id [String, nil] The unique ID of the previous response to the response to the model. Use this to resume streams from a given response.
295
+ # @param previous_response_id [String, nil] The unique ID of the previous response to the model. Use this to create multi-turn conversations.
292
296
  #
293
297
  # @param prompt [OpenAI::Models::Responses::ResponsePrompt, nil] Reference to a prompt template and its variables.
294
298
  #
@@ -356,7 +360,7 @@ module OpenAI
356
360
  #
357
361
  # Retrieves a model response with the given ID.
358
362
  #
359
- # @overload retrieve(response_id, include: nil, include_obfuscation: nil, starting_after: nil, request_options: {})
363
+ # @overload retrieve(response_id, include: nil, include_obfuscation: nil, starting_after: nil, text: nil, tools: nil, request_options: {})
360
364
  #
361
365
  # @param response_id [String] The ID of the response to retrieve.
362
366
  #
@@ -366,6 +370,14 @@ module OpenAI
366
370
  #
367
371
  # @param starting_after [Integer] The sequence number of the event after which to start streaming.
368
372
  #
373
+ # @param text [OpenAI::Responses::ResponseTextConfig, OpenAI::StructuredOutput::JsonSchemaConverter, Hash, nil] The structured-output model,
374
+ # or the same typed/hash text configuration accepted by creation, used to parse retrieved text output. This is a local parsing hint and is not
375
+ # sent to the API.
376
+ #
377
+ # @param tools [Array<OpenAI::Responses::FunctionTool, OpenAI::StructuredOutput::JsonSchemaConverter, Hash>, nil] Structured-output models, or
378
+ # the same typed/hash function-tool definitions accepted by creation, used to parse retrieved function tool calls. These are local parsing hints
379
+ # and are not sent to the API.
380
+ #
369
381
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
370
382
  #
371
383
  # @return [OpenAI::Models::Responses::Response]
@@ -373,16 +385,28 @@ module OpenAI
373
385
  # @see OpenAI::Models::Responses::ResponseRetrieveParams
374
386
  def retrieve(response_id, params = {})
375
387
  parsed, options = OpenAI::Responses::ResponseRetrieveParams.dump_request(params)
388
+ structured_output_params = parsed.slice(:text, :tools)
389
+ parsed.delete(:text)
390
+ parsed.delete(:tools)
376
391
  query = OpenAI::Internal::Util.encode_query_params(parsed)
377
392
  if parsed[:stream]
378
393
  message = "Please use `#retrieve_streaming` for the streaming use case."
379
394
  raise ArgumentError.new(message)
380
395
  end
381
396
 
397
+ model, tool_models = get_retrieval_structured_output_models(structured_output_params)
398
+
399
+ unwrap = if model || !tool_models.empty?
400
+ -> (raw) do
401
+ parse_retrieved_structured_outputs!(raw, model, tool_models)
402
+ end
403
+ end
404
+
382
405
  @client.request(
383
406
  method: :get,
384
407
  path: ["responses/%1$s", response_id],
385
408
  query: query,
409
+ unwrap: unwrap,
386
410
  model: OpenAI::Responses::Response,
387
411
  security: {bearer_auth: true},
388
412
  options: options
@@ -552,9 +576,17 @@ module OpenAI
552
576
  OpenAI::Helpers::StructuredOutput::ResponseParser.parse!(raw, model, tool_models)
553
577
  end
554
578
 
579
+ def parse_retrieved_structured_outputs!(raw, model, tool_models)
580
+ OpenAI::Helpers::StructuredOutput::ResponseParser.parse_retrieved!(raw, model, tool_models)
581
+ end
582
+
555
583
  def get_structured_output_models(parsed)
556
584
  OpenAI::Helpers::StructuredOutput::ResponseParser.get_models(parsed)
557
585
  end
586
+
587
+ def get_retrieval_structured_output_models(parsed)
588
+ OpenAI::Helpers::StructuredOutput::ResponseParser.get_retrieval_models(parsed)
589
+ end
558
590
  end
559
591
  end
560
592
  end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ # Shared response metadata interface for SDK values that are not model
5
+ # objects, such as binary StringIO responses.
6
+ module ResponseCarrier
7
+ # The ID of the API request, returned via the x-request-id response
8
+ # header. This is only populated on top-level response objects returned
9
+ # by the client.
10
+ #
11
+ # @api public
12
+ #
13
+ # @return [String, nil]
14
+ def _request_id = last_response&.request_id
15
+
16
+ # Metadata from the HTTP response that produced this value.
17
+ #
18
+ # @api public
19
+ #
20
+ # @return [OpenAI::ResponseMetadata, nil]
21
+ attr_reader :last_response
22
+
23
+ # @api private
24
+ #
25
+ # @param response [OpenAI::ResponseMetadata]
26
+ # @return [self]
27
+ def _set_last_response(response)
28
+ @last_response = response
29
+ self
30
+ end
31
+
32
+ # Keep transport metadata outside Psych's object serialization path.
33
+ #
34
+ # @api private
35
+ #
36
+ # @param _coder [Psych::Coder]
37
+ # @return [void]
38
+ def encode_with(_coder)
39
+ nil
40
+ end
41
+ end
42
+ end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OpenAI
4
- VERSION = "0.85.0"
4
+ VERSION = "0.87.0"
5
5
  end
data/lib/openai.rb CHANGED
@@ -54,6 +54,7 @@ require_relative "openai/internal/type/base_stream"
54
54
  require_relative "openai/internal/type/request_parameters"
55
55
  require_relative "openai/internal"
56
56
  require_relative "openai/request_options"
57
+ require_relative "openai/response_carrier"
57
58
  require_relative "openai/file_part"
58
59
  require_relative "openai/errors"
59
60
  require_relative "openai/http_client"
@@ -68,6 +69,7 @@ require_relative "openai/provider"
68
69
  require_relative "openai/internal/provider"
69
70
  require_relative "openai/providers/azure"
70
71
  require_relative "openai/providers/bedrock"
72
+ require_relative "openai/internal/transport/request_body_merge"
71
73
  require_relative "openai/internal/transport/base_client"
72
74
  require_relative "openai/helpers/client_options"
73
75
  require_relative "openai/client"
@@ -1315,4 +1317,6 @@ require_relative "openai/helpers/streaming/exceptions"
1315
1317
  require_relative "openai/helpers/streaming/chat_events"
1316
1318
  require_relative "openai/helpers/streaming/chat_completion_stream"
1317
1319
  require_relative "openai/streaming"
1320
+ require_relative "openai/helpers/websocket"
1318
1321
  require_relative "openai/helpers/realtime"
1322
+ require_relative "openai/helpers/responses_websocket"
data/local-audio.md ADDED
@@ -0,0 +1,146 @@
1
+ # Local recording and playback
2
+
3
+ Use `OpenAI::LocalAudio` to record a finite microphone clip or play generated
4
+ speech. These helpers run separately installed FFmpeg and FFplay executables.
5
+ They do not add native gem dependencies. Loading `openai` or the helper does not
6
+ open a device; calling `record` or `play` starts the corresponding operation.
7
+
8
+ ## Setup
9
+
10
+ Install FFmpeg and FFplay and make both executables available on `PATH`. Your
11
+ FFmpeg build must include the capture backend for your operating system. Allow
12
+ microphone access in your operating system when recording.
13
+
14
+ With `OPENAI_API_KEY` configured, run:
15
+
16
+ ```sh
17
+ bundle exec ruby examples/audio/record_and_play.rb
18
+ ```
19
+
20
+ The example records five seconds, uploads the clip for transcription, prints the
21
+ transcript, and plays generated speech. Models and voice are constants at the top
22
+ of the example so they are easy to change.
23
+
24
+ ## Record a clip
25
+
26
+ ```ruby
27
+ require "openai"
28
+ require "openai/helpers/local_audio"
29
+
30
+ client = OpenAI::Client.new
31
+ clip = OpenAI::LocalAudio.record(duration: 5, timeout: 10)
32
+ transcript = client.audio.transcriptions.create(model: "gpt-transcribe", file: clip)
33
+ puts(transcript.text)
34
+ ```
35
+
36
+ `record(duration:, device: nil, timeout: nil)` returns an `OpenAI::FilePart`
37
+ containing a rewound `StringIO`, named `audio.wav` with content type `audio/wav`.
38
+ The audio is mono, 24 kHz, signed 16-bit PCM. The helper buffers the recording in
39
+ memory, so memory use grows with recording duration.
40
+
41
+ `duration` is required and must be positive and finite. `timeout` is an optional
42
+ positive, finite wall-clock deadline in seconds. An expired deadline raises an
43
+ error rather than returning a partial recording.
44
+
45
+ ### Choose a microphone
46
+
47
+ On macOS and Linux, omitting `device:` uses the capture backend's default device.
48
+ To select another microphone, pass `device:` directly:
49
+
50
+ ```ruby
51
+ # macOS: AVFoundation audio device index (or its device name).
52
+ clip = OpenAI::LocalAudio.record(duration: 5, device: 0)
53
+
54
+ # Linux: ALSA device name; integer 0 is shorthand for "hw:0".
55
+ clip = OpenAI::LocalAudio.record(duration: 5, device: "hw:0")
56
+
57
+ # Windows: DirectShow requires an explicit audio device name.
58
+ clip = OpenAI::LocalAudio.record(duration: 5, device: "Microphone (USB Audio)")
59
+ ```
60
+
61
+ For Windows, add the appropriate `device:` argument to the example's `record`
62
+ call. There is no device environment variable to configure. Device names and
63
+ indices are local to your machine and may change when hardware is reconnected.
64
+
65
+ List capture devices using your platform's tools:
66
+
67
+ ```sh
68
+ # macOS (FFmpeg prints the list and exits without recording)
69
+ ffmpeg -f avfoundation -list_devices true -i ""
70
+
71
+ # Linux
72
+ arecord -L
73
+
74
+ # Windows (FFmpeg prints the list and exits without recording)
75
+ ffmpeg -list_devices true -f dshow -i dummy
76
+ ```
77
+
78
+ ## Play speech
79
+
80
+ ```ruby
81
+ speech = client.audio.speech.create(
82
+ model: "gpt-4o-mini-tts",
83
+ voice: "marin",
84
+ input: "Recording complete."
85
+ )
86
+ OpenAI::LocalAudio.play(speech, timeout: 30)
87
+ ```
88
+
89
+ `play(source, format: :auto, timeout: nil)` waits for FFplay to finish and returns
90
+ `nil`. It accepts `IO`, `StringIO`, or a `FilePart` containing IO or binary bytes.
91
+ It reads from the source's current position and leaves caller-owned IO open. Bare
92
+ strings are not interpreted as file paths or URLs.
93
+
94
+ The default `format: :auto` supports self-contained WAV, MP3, Ogg, AAC and FLAC
95
+ streams. For headerless mono 24 kHz signed little-endian PCM16, pass
96
+ `format: :pcm`. PCM must end on a complete two-byte sample. Playback uses FFplay's
97
+ configured output device; this helper has no output-device selector.
98
+
99
+ Both methods close their pipes and terminate/reap owned subprocesses on errors
100
+ or interruption. Errors are under `OpenAI::LocalAudio::Error`:
101
+ `DependencyError`, `UnsupportedPlatformError`, `DeviceError`, `PlaybackError`,
102
+ `FormatError`, and `TimeoutError`. Media subprocesses receive a restricted
103
+ environment without the API key, and their diagnostics are not included in
104
+ exceptions. FFplay can exit successfully despite a decoder or device error, so
105
+ the helper drains error-level diagnostics through a pipe, retaining only whether
106
+ an error occurred. Diagnostic contents are discarded and never written to disk.
107
+
108
+ ## Model choices
109
+
110
+ Checked against OpenAI documentation on September 8, 2026:
111
+
112
+ - [`gpt-transcribe`](https://developers.openai.com/api/docs/guides/speech-to-text) is the recommended model for general-purpose file transcription.
113
+ - [`gpt-4o-mini-tts`](https://developers.openai.com/api/docs/guides/text-to-speech) is the current recommended speech-generation model; `marin` is one of the recommended voices for quality.
114
+
115
+ ## Realtime applications
116
+
117
+ For streaming audio and conversation events, use the existing
118
+ [Realtime API helpers](realtime.md) and [Realtime examples](examples/realtime/README.md).
119
+ The finite helpers here do not manage a continuous microphone stream,
120
+ interruptible voice conversation, echo cancellation, or playback-position tracking.
121
+
122
+ ## End-to-end verification
123
+
124
+ Run the actual recording example against the live API without opening physical
125
+ devices:
126
+
127
+ ```sh
128
+ bundle exec ruby scripts/test-local-audio-examples.rb
129
+ ```
130
+
131
+ To also run the invalid-audio regression against installed FFplay:
132
+
133
+ ```sh
134
+ OPENAI_AUDIO_FFPLAY_TEST=1 bundle exec ruby test/openai/helpers/local_audio_test.rb
135
+ ```
136
+
137
+ This opt-in test requires `OPENAI_API_KEY`, FFmpeg and FFplay and makes paid API
138
+ calls. It generates synthetic speech, substitutes that file for microphone input,
139
+ runs real FFmpeg capture and transcription, generates speech, and plays it through
140
+ FFplay's dummy output driver. It checks the transcription and successful example
141
+ completion with a 90-second example deadline. Captured API output is not logged;
142
+ temporary synthetic media is removed on normal exit or exceptions.
143
+
144
+ This verifies the software flow, not physical microphone permissions, speaker
145
+ output, or device compatibility. Physical hardware and platform behavior must be
146
+ checked on the intended host.
@@ -0,0 +1,72 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Auth
5
+ module SubjectTokenProviders
6
+ class K8sServiceAccountTokenProvider
7
+ include OpenAI::Auth::SubjectTokenProvider
8
+
9
+ sig { params(token_path: String).void }
10
+ def initialize(token_path: "/var/run/secrets/kubernetes.io/serviceaccount/token")
11
+ end
12
+
13
+ sig { returns(Symbol) }
14
+ def token_type
15
+ end
16
+
17
+ sig { returns(String) }
18
+ def get_token
19
+ end
20
+ end
21
+
22
+ class AzureManagedIdentityTokenProvider
23
+ include OpenAI::Auth::SubjectTokenProvider
24
+
25
+ sig do
26
+ params(
27
+ resource: String,
28
+ object_id: T.nilable(String),
29
+ client_id: T.nilable(String),
30
+ msi_res_id: T.nilable(String),
31
+ api_version: String,
32
+ timeout: Float
33
+ )
34
+ .void
35
+ end
36
+ def initialize(
37
+ resource: "https://management.azure.com/",
38
+ object_id: nil,
39
+ client_id: nil,
40
+ msi_res_id: nil,
41
+ api_version: "2018-02-01",
42
+ timeout: 10.0
43
+ )
44
+ end
45
+
46
+ sig { returns(Symbol) }
47
+ def token_type
48
+ end
49
+
50
+ sig { returns(String) }
51
+ def get_token
52
+ end
53
+ end
54
+
55
+ class GCPIDTokenProvider
56
+ include OpenAI::Auth::SubjectTokenProvider
57
+
58
+ sig { params(audience: String, timeout: Float).void }
59
+ def initialize(audience: "https://api.openai.com/v1", timeout: 10.0)
60
+ end
61
+
62
+ sig { returns(Symbol) }
63
+ def token_type
64
+ end
65
+
66
+ sig { returns(String) }
67
+ def get_token
68
+ end
69
+ end
70
+ end
71
+ end
72
+ end
@@ -7,6 +7,9 @@ module OpenAI
7
7
  attr_reader :cause
8
8
  end
9
9
 
10
+ class InvalidWebhookSignatureError < OpenAI::Errors::Error
11
+ end
12
+
10
13
  class PollingError < OpenAI::Errors::Error
11
14
  end
12
15
 
@@ -120,6 +123,11 @@ module OpenAI
120
123
  sig { returns(NilClass) }
121
124
  attr_accessor :type
122
125
 
126
+ # @api private
127
+ sig { returns(T::Boolean) }
128
+ def request_may_have_been_sent?
129
+ end
130
+
123
131
  # @api private
124
132
  sig do
125
133
  params(
@@ -129,7 +137,8 @@ module OpenAI
129
137
  body: NilClass,
130
138
  request: NilClass,
131
139
  response: NilClass,
132
- message: T.nilable(String)
140
+ message: T.nilable(String),
141
+ request_may_have_been_sent: T::Boolean
133
142
  )
134
143
  .returns(T.attached_class)
135
144
  end
@@ -140,7 +149,8 @@ module OpenAI
140
149
  body: nil,
141
150
  request: nil,
142
151
  response: nil,
143
- message: "Connection error."
152
+ message: "Connection error.",
153
+ request_may_have_been_sent: true
144
154
  )
145
155
  end
146
156
  end
@@ -155,7 +165,8 @@ module OpenAI
155
165
  body: NilClass,
156
166
  request: NilClass,
157
167
  response: NilClass,
158
- message: T.nilable(String)
168
+ message: T.nilable(String),
169
+ request_may_have_been_sent: T::Boolean
159
170
  )
160
171
  .returns(T.attached_class)
161
172
  end
@@ -166,7 +177,8 @@ module OpenAI
166
177
  body: nil,
167
178
  request: nil,
168
179
  response: nil,
169
- message: "Request timed out."
180
+ message: "Request timed out.",
181
+ request_may_have_been_sent: true
170
182
  )
171
183
  end
172
184
  end
@@ -264,5 +276,42 @@ module OpenAI
264
276
  class InternalServerError < OpenAI::Errors::APIStatusError
265
277
  HTTP_STATUS = T.let((500..), T::Range[Integer])
266
278
  end
279
+
280
+ class OAuthError < OpenAI::Errors::APIStatusError
281
+ sig { returns(T.nilable(OpenAI::Models::OAuthErrorCode::Variants)) }
282
+ attr_reader :error_code
283
+
284
+ # @api private
285
+ sig do
286
+ params(
287
+ status: Integer,
288
+ body: T.nilable(Object),
289
+ headers: T.nilable(T::Hash[String, String])
290
+ )
291
+ .returns(T.attached_class)
292
+ end
293
+ def self.new(status:, body:, headers:)
294
+ end
295
+ end
296
+
297
+ class SubjectTokenProviderError < OpenAI::Errors::Error
298
+ sig { returns(String) }
299
+ attr_reader :provider
300
+
301
+ sig { returns(T.nilable(StandardError)) }
302
+ attr_accessor :cause
303
+
304
+ # @api private
305
+ sig do
306
+ params(
307
+ message: String,
308
+ provider: String,
309
+ cause: T.nilable(StandardError)
310
+ )
311
+ .returns(T.attached_class)
312
+ end
313
+ def self.new(message:, provider:, cause: nil)
314
+ end
315
+ end
267
316
  end
268
317
  end