openai 0.84.0 → 0.85.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 (267) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/SECURITY.md +10 -0
  5. data/docs/architecture/security-model.md +267 -0
  6. data/lib/openai/client.rb +4 -0
  7. data/lib/openai/helpers/streaming/chat_completion_stream.rb +17 -8
  8. data/lib/openai/helpers/streaming/response_stream.rb +13 -8
  9. data/lib/openai/helpers/structured_output/array_of.rb +2 -2
  10. data/lib/openai/helpers/structured_output/base_model.rb +19 -5
  11. data/lib/openai/helpers/structured_output/chat_completion_parser.rb +6 -3
  12. data/lib/openai/helpers/structured_output/json_schema_converter.rb +34 -11
  13. data/lib/openai/internal/vector_store_file_uploader.rb +1 -1
  14. data/lib/openai/models/admin/organization/usage_costs_params.rb +1 -1
  15. data/lib/openai/models/batch.rb +2 -2
  16. data/lib/openai/models/beta/beta_custom_tool.rb +13 -1
  17. data/lib/openai/models/beta/beta_function_tool.rb +8 -1
  18. data/lib/openai/models/beta/beta_namespace_tool.rb +10 -1
  19. data/lib/openai/models/beta/beta_response.rb +20 -9
  20. data/lib/openai/models/beta/beta_response_configuration_update_item.rb +103 -0
  21. data/lib/openai/models/beta/beta_response_configuration_update_item_param.rb +104 -0
  22. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +9 -1
  23. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +3 -1
  24. data/lib/openai/models/beta/beta_response_error.rb +96 -1
  25. data/lib/openai/models/beta/beta_response_function_tool_call.rb +9 -1
  26. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +3 -1
  27. data/lib/openai/models/beta/beta_response_incomplete_event.rb +4 -0
  28. data/lib/openai/models/beta/beta_response_inject_event.rb +2 -2
  29. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +2 -2
  30. data/lib/openai/models/beta/beta_response_input_item.rb +6 -1
  31. data/lib/openai/models/beta/beta_response_item.rb +5 -1
  32. data/lib/openai/models/beta/beta_response_steer_accepted_event.rb +81 -0
  33. data/lib/openai/models/beta/beta_response_steer_error_code.rb +61 -0
  34. data/lib/openai/models/beta/beta_response_steer_event.rb +75 -0
  35. data/lib/openai/models/beta/beta_response_steer_failed_event.rb +151 -0
  36. data/lib/openai/models/beta/beta_response_steer_input.rb +360 -0
  37. data/lib/openai/models/beta/beta_response_steer_input_content.rb +28 -0
  38. data/lib/openai/models/beta/beta_response_steer_pending_event.rb +113 -0
  39. data/lib/openai/models/beta/beta_response_steer_pending_reason.rb +26 -0
  40. data/lib/openai/models/beta/beta_response_steer_required_input.rb +215 -0
  41. data/lib/openai/models/beta/beta_response_stream_event.rb +4 -0
  42. data/lib/openai/models/beta/beta_responses_client_event.rb +40 -7
  43. data/lib/openai/models/beta/beta_responses_server_event.rb +164 -2
  44. data/lib/openai/models/beta/response_compact_params.rb +9 -6
  45. data/lib/openai/models/beta/response_create_params.rb +9 -6
  46. data/lib/openai/models/beta/responses/beta_response_item_list.rb +2 -2
  47. data/lib/openai/models/beta/responses/input_token_count_params.rb +3 -3
  48. data/lib/openai/models/chat/completion_create_params.rb +4 -4
  49. data/lib/openai/models/chat_model.rb +1 -0
  50. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  51. data/lib/openai/models/conversations/conversation_item.rb +5 -1
  52. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  53. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  54. data/lib/openai/models/error_object.rb +90 -1
  55. data/lib/openai/models/eval_create_response.rb +1 -1
  56. data/lib/openai/models/eval_list_response.rb +1 -1
  57. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  58. data/lib/openai/models/eval_update_response.rb +1 -1
  59. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +2 -2
  60. data/lib/openai/models/responses/custom_tool.rb +13 -1
  61. data/lib/openai/models/responses/function_tool.rb +8 -1
  62. data/lib/openai/models/responses/input_token_count_params.rb +3 -3
  63. data/lib/openai/models/responses/namespace_tool.rb +10 -1
  64. data/lib/openai/models/responses/response.rb +16 -8
  65. data/lib/openai/models/responses/response_compact_params.rb +9 -6
  66. data/lib/openai/models/responses/response_configuration_update_item.rb +56 -0
  67. data/lib/openai/models/responses/response_configuration_update_item_param.rb +57 -0
  68. data/lib/openai/models/responses/response_create_params.rb +5 -5
  69. data/lib/openai/models/responses/response_custom_tool_call.rb +9 -1
  70. data/lib/openai/models/responses/response_custom_tool_call_item.rb +3 -1
  71. data/lib/openai/models/responses/response_error.rb +96 -1
  72. data/lib/openai/models/responses/response_function_tool_call.rb +9 -1
  73. data/lib/openai/models/responses/response_function_tool_call_item.rb +3 -1
  74. data/lib/openai/models/responses/response_incomplete_event.rb +4 -0
  75. data/lib/openai/models/responses/response_input_item.rb +6 -1
  76. data/lib/openai/models/responses/response_item.rb +5 -1
  77. data/lib/openai/models/responses/response_item_list.rb +2 -2
  78. data/lib/openai/models/responses/response_steer_accepted_event.rb +79 -0
  79. data/lib/openai/models/responses/response_steer_error_code.rb +59 -0
  80. data/lib/openai/models/responses/response_steer_event.rb +73 -0
  81. data/lib/openai/models/responses/response_steer_failed_event.rb +149 -0
  82. data/lib/openai/models/responses/response_steer_input.rb +304 -0
  83. data/lib/openai/models/responses/response_steer_input_content.rb +26 -0
  84. data/lib/openai/models/responses/response_steer_pending_event.rb +111 -0
  85. data/lib/openai/models/responses/response_steer_pending_reason.rb +24 -0
  86. data/lib/openai/models/responses/response_steer_required_input.rb +213 -0
  87. data/lib/openai/models/responses/response_stream_event.rb +4 -0
  88. data/lib/openai/models/responses/responses_client_event.rb +872 -769
  89. data/lib/openai/models/responses/responses_server_event.rb +162 -2
  90. data/lib/openai/models/safety/alert_retrieve_params.rb +24 -0
  91. data/lib/openai/models/safety/safety_alert.rb +96 -0
  92. data/lib/openai/models/video_create_error.rb +93 -1
  93. data/lib/openai/models/webhooks/safety_alert_created_webhook_event.rb +63 -0
  94. data/lib/openai/models/webhooks/safety_org_alert_created_webhook_event.rb +63 -0
  95. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +7 -1
  96. data/lib/openai/models.rb +2 -0
  97. data/lib/openai/net_http_client.rb +1 -1
  98. data/lib/openai/providers/bedrock.rb +20 -12
  99. data/lib/openai/resources/beta/responses/input_items.rb +1 -1
  100. data/lib/openai/resources/beta/responses/input_tokens.rb +1 -1
  101. data/lib/openai/resources/beta/responses.rb +6 -6
  102. data/lib/openai/resources/chat/completions.rb +2 -2
  103. data/lib/openai/resources/conversations/items.rb +3 -3
  104. data/lib/openai/resources/conversations.rb +1 -1
  105. data/lib/openai/resources/responses/input_items.rb +1 -1
  106. data/lib/openai/resources/responses/input_tokens.rb +1 -1
  107. data/lib/openai/resources/responses.rb +6 -6
  108. data/lib/openai/resources/safety/alerts.rb +37 -0
  109. data/lib/openai/resources/safety.rb +18 -0
  110. data/lib/openai/resources/webhooks.rb +1 -1
  111. data/lib/openai/version.rb +1 -1
  112. data/lib/openai.rb +28 -0
  113. data/rbi/openai/client.rbi +3 -0
  114. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +2 -2
  115. data/rbi/openai/models/batch.rbi +2 -2
  116. data/rbi/openai/models/beta/beta_custom_tool.rbi +15 -0
  117. data/rbi/openai/models/beta/beta_function_tool.rbi +11 -0
  118. data/rbi/openai/models/beta/beta_namespace_tool.rbi +15 -0
  119. data/rbi/openai/models/beta/beta_response.rbi +14 -6
  120. data/rbi/openai/models/beta/beta_response_configuration_update_item.rbi +200 -0
  121. data/rbi/openai/models/beta/beta_response_configuration_update_item_param.rbi +207 -0
  122. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +13 -0
  123. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +6 -0
  124. data/rbi/openai/models/beta/beta_response_error.rbi +161 -3
  125. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +13 -0
  126. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +6 -0
  127. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +4 -0
  128. data/rbi/openai/models/beta/beta_response_inject_event.rbi +3 -0
  129. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +3 -0
  130. data/rbi/openai/models/beta/beta_response_input_item.rbi +1 -0
  131. data/rbi/openai/models/beta/beta_response_item.rbi +1 -0
  132. data/rbi/openai/models/beta/beta_response_steer_accepted_event.rbi +148 -0
  133. data/rbi/openai/models/beta/beta_response_steer_error_code.rbi +65 -0
  134. data/rbi/openai/models/beta/beta_response_steer_event.rbi +118 -0
  135. data/rbi/openai/models/beta/beta_response_steer_failed_event.rbi +267 -0
  136. data/rbi/openai/models/beta/beta_response_steer_input.rbi +602 -0
  137. data/rbi/openai/models/beta/beta_response_steer_input_content.rbi +31 -0
  138. data/rbi/openai/models/beta/beta_response_steer_pending_event.rbi +222 -0
  139. data/rbi/openai/models/beta/beta_response_steer_pending_reason.rbi +35 -0
  140. data/rbi/openai/models/beta/beta_response_steer_required_input.rbi +379 -0
  141. data/rbi/openai/models/beta/beta_responses_client_event.rbi +8 -3
  142. data/rbi/openai/models/beta/beta_responses_server_event.rbi +206 -3
  143. data/rbi/openai/models/beta/response_compact_params.rbi +4 -3
  144. data/rbi/openai/models/beta/response_create_params.rbi +4 -3
  145. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +1 -0
  146. data/rbi/openai/models/chat/completion_create_params.rbi +3 -3
  147. data/rbi/openai/models/chat_model.rbi +1 -0
  148. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  149. data/rbi/openai/models/conversations/conversation_item.rbi +1 -0
  150. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  151. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  152. data/rbi/openai/models/error_object.rbi +156 -3
  153. data/rbi/openai/models/eval_create_response.rbi +1 -1
  154. data/rbi/openai/models/eval_list_response.rbi +1 -1
  155. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  156. data/rbi/openai/models/eval_update_response.rbi +1 -1
  157. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +2 -2
  158. data/rbi/openai/models/responses/custom_tool.rbi +15 -0
  159. data/rbi/openai/models/responses/function_tool.rbi +11 -0
  160. data/rbi/openai/models/responses/namespace_tool.rbi +15 -0
  161. data/rbi/openai/models/responses/response.rbi +12 -5
  162. data/rbi/openai/models/responses/response_compact_params.rbi +4 -3
  163. data/rbi/openai/models/responses/response_configuration_update_item.rbi +112 -0
  164. data/rbi/openai/models/responses/response_configuration_update_item_param.rbi +117 -0
  165. data/rbi/openai/models/responses/response_create_params.rbi +2 -2
  166. data/rbi/openai/models/responses/response_custom_tool_call.rbi +13 -0
  167. data/rbi/openai/models/responses/response_custom_tool_call_item.rbi +6 -0
  168. data/rbi/openai/models/responses/response_error.rbi +161 -3
  169. data/rbi/openai/models/responses/response_function_tool_call.rbi +13 -0
  170. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +6 -0
  171. data/rbi/openai/models/responses/response_incomplete_event.rbi +4 -0
  172. data/rbi/openai/models/responses/response_input_item.rbi +1 -0
  173. data/rbi/openai/models/responses/response_item.rbi +1 -0
  174. data/rbi/openai/models/responses/response_item_list.rbi +1 -0
  175. data/rbi/openai/models/responses/response_steer_accepted_event.rbi +146 -0
  176. data/rbi/openai/models/responses/response_steer_error_code.rbi +63 -0
  177. data/rbi/openai/models/responses/response_steer_event.rbi +119 -0
  178. data/rbi/openai/models/responses/response_steer_failed_event.rbi +268 -0
  179. data/rbi/openai/models/responses/response_steer_input.rbi +474 -0
  180. data/rbi/openai/models/responses/response_steer_input_content.rbi +29 -0
  181. data/rbi/openai/models/responses/response_steer_pending_event.rbi +220 -0
  182. data/rbi/openai/models/responses/response_steer_pending_reason.rbi +33 -0
  183. data/rbi/openai/models/responses/response_steer_required_input.rbi +377 -0
  184. data/rbi/openai/models/responses/responses_client_event.rbi +1204 -1036
  185. data/rbi/openai/models/responses/responses_server_event.rbi +202 -3
  186. data/rbi/openai/models/safety/alert_retrieve_params.rbi +55 -0
  187. data/rbi/openai/models/safety/safety_alert.rbi +147 -0
  188. data/rbi/openai/models/video_create_error.rbi +149 -3
  189. data/rbi/openai/models/webhooks/safety_alert_created_webhook_event.rbi +130 -0
  190. data/rbi/openai/models/webhooks/safety_org_alert_created_webhook_event.rbi +130 -0
  191. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +3 -1
  192. data/rbi/openai/models.rbi +2 -0
  193. data/rbi/openai/resources/admin/organization/usage.rbi +1 -1
  194. data/rbi/openai/resources/beta/responses.rbi +3 -3
  195. data/rbi/openai/resources/chat/completions.rbi +2 -2
  196. data/rbi/openai/resources/conversations/items.rbi +1 -0
  197. data/rbi/openai/resources/conversations.rbi +1 -0
  198. data/rbi/openai/resources/responses.rbi +3 -3
  199. data/rbi/openai/resources/safety/alerts.rbi +30 -0
  200. data/rbi/openai/resources/safety.rbi +18 -0
  201. data/rbi/openai/resources/webhooks.rbi +3 -1
  202. data/sig/openai/client.rbs +2 -0
  203. data/sig/openai/models/beta/beta_custom_tool.rbs +7 -0
  204. data/sig/openai/models/beta/beta_function_tool.rbs +7 -0
  205. data/sig/openai/models/beta/beta_namespace_tool.rbs +7 -0
  206. data/sig/openai/models/beta/beta_response.rbs +6 -2
  207. data/sig/openai/models/beta/beta_response_configuration_update_item.rbs +91 -0
  208. data/sig/openai/models/beta/beta_response_configuration_update_item_param.rbs +87 -0
  209. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +7 -0
  210. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +3 -0
  211. data/sig/openai/models/beta/beta_response_error.rbs +82 -3
  212. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +7 -0
  213. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +3 -0
  214. data/sig/openai/models/beta/beta_response_input_item.rbs +1 -0
  215. data/sig/openai/models/beta/beta_response_item.rbs +1 -0
  216. data/sig/openai/models/beta/beta_response_steer_accepted_event.rbs +53 -0
  217. data/sig/openai/models/beta/beta_response_steer_error_code.rbs +31 -0
  218. data/sig/openai/models/beta/beta_response_steer_event.rbs +34 -0
  219. data/sig/openai/models/beta/beta_response_steer_failed_event.rbs +102 -0
  220. data/sig/openai/models/beta/beta_response_steer_input.rbs +214 -0
  221. data/sig/openai/models/beta/beta_response_steer_input_content.rbs +18 -0
  222. data/sig/openai/models/beta/beta_response_steer_pending_event.rbs +63 -0
  223. data/sig/openai/models/beta/beta_response_steer_pending_reason.rbs +16 -0
  224. data/sig/openai/models/beta/beta_response_steer_required_input.rbs +161 -0
  225. data/sig/openai/models/beta/beta_responses_client_event.rbs +4 -1
  226. data/sig/openai/models/beta/beta_responses_server_event.rbs +80 -3
  227. data/sig/openai/models/beta/response_compact_params.rbs +3 -1
  228. data/sig/openai/models/beta/response_create_params.rbs +3 -1
  229. data/sig/openai/models/chat_model.rbs +3 -1
  230. data/sig/openai/models/conversations/conversation_item.rbs +1 -0
  231. data/sig/openai/models/error_object.rbs +82 -3
  232. data/sig/openai/models/responses/custom_tool.rbs +7 -0
  233. data/sig/openai/models/responses/function_tool.rbs +7 -0
  234. data/sig/openai/models/responses/namespace_tool.rbs +7 -0
  235. data/sig/openai/models/responses/response.rbs +3 -1
  236. data/sig/openai/models/responses/response_compact_params.rbs +3 -1
  237. data/sig/openai/models/responses/response_configuration_update_item.rbs +46 -0
  238. data/sig/openai/models/responses/response_configuration_update_item_param.rbs +46 -0
  239. data/sig/openai/models/responses/response_custom_tool_call.rbs +7 -0
  240. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +3 -0
  241. data/sig/openai/models/responses/response_error.rbs +79 -3
  242. data/sig/openai/models/responses/response_function_tool_call.rbs +7 -0
  243. data/sig/openai/models/responses/response_function_tool_call_item.rbs +3 -0
  244. data/sig/openai/models/responses/response_input_item.rbs +1 -0
  245. data/sig/openai/models/responses/response_item.rbs +1 -0
  246. data/sig/openai/models/responses/response_steer_accepted_event.rbs +51 -0
  247. data/sig/openai/models/responses/response_steer_error_code.rbs +29 -0
  248. data/sig/openai/models/responses/response_steer_event.rbs +32 -0
  249. data/sig/openai/models/responses/response_steer_failed_event.rbs +100 -0
  250. data/sig/openai/models/responses/response_steer_input.rbs +182 -0
  251. data/sig/openai/models/responses/response_steer_input_content.rbs +16 -0
  252. data/sig/openai/models/responses/response_steer_pending_event.rbs +61 -0
  253. data/sig/openai/models/responses/response_steer_pending_reason.rbs +13 -0
  254. data/sig/openai/models/responses/response_steer_required_input.rbs +159 -0
  255. data/sig/openai/models/responses/responses_client_event.rbs +355 -344
  256. data/sig/openai/models/responses/responses_server_event.rbs +80 -3
  257. data/sig/openai/models/safety/alert_retrieve_params.rbs +22 -0
  258. data/sig/openai/models/safety/safety_alert.rbs +81 -0
  259. data/sig/openai/models/video_create_error.rbs +87 -3
  260. data/sig/openai/models/webhooks/safety_alert_created_webhook_event.rbs +52 -0
  261. data/sig/openai/models/webhooks/safety_org_alert_created_webhook_event.rbs +52 -0
  262. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +2 -0
  263. data/sig/openai/models.rbs +2 -0
  264. data/sig/openai/resources/safety/alerts.rbs +14 -0
  265. data/sig/openai/resources/safety.rbs +9 -0
  266. data/sig/openai/resources/webhooks.rbs +3 -1
  267. metadata +86 -1
@@ -0,0 +1,215 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ # An input stub identifying an outstanding client-owned tool result or approval
7
+ # decision. Copy the stub and fill the result fields using the corresponding
8
+ # `response.create` input schema. Use saved results without rerunning the tool.
9
+ # The server does not supply results, approval decisions, or safety
10
+ # acknowledgements in these stubs.
11
+ module BetaResponseSteerRequiredInput
12
+ extend OpenAI::Internal::Type::Union
13
+
14
+ discriminator :type
15
+
16
+ # Supply `output` using the function tool call output input schema.
17
+ variant :function_call_output, -> { OpenAI::Beta::BetaResponseSteerRequiredInput::FunctionCallOutput }
18
+
19
+ # Supply `output` using the custom tool call output input schema. The
20
+ # original custom tool call supplies the tool's name.
21
+ variant(
22
+ :custom_tool_call_output,
23
+ -> { OpenAI::Beta::BetaResponseSteerRequiredInput::CustomToolCallOutput }
24
+ )
25
+
26
+ # Supply `output` using the computer tool call output input schema,
27
+ # including any required `acknowledged_safety_checks`.
28
+ variant :computer_call_output, -> { OpenAI::Beta::BetaResponseSteerRequiredInput::ComputerCallOutput }
29
+
30
+ # Supply `output` using the shell tool call output input schema. Each
31
+ # output entry includes `stdout`, `stderr`, and `outcome`.
32
+ variant :shell_call_output, -> { OpenAI::Beta::BetaResponseSteerRequiredInput::ShellCallOutput }
33
+
34
+ # Supply `status` and optional `output` using the apply patch tool call
35
+ # output input schema.
36
+ variant(
37
+ :apply_patch_call_output,
38
+ -> { OpenAI::Beta::BetaResponseSteerRequiredInput::ApplyPatchCallOutput }
39
+ )
40
+
41
+ # Supply `tools` using the tool search output input schema, retaining
42
+ # `execution: "client"`.
43
+ variant :tool_search_output, -> { OpenAI::Beta::BetaResponseSteerRequiredInput::ToolSearchOutput }
44
+
45
+ # Supply `approve` using the MCP approval response input schema. An
46
+ # optional `reason` can be supplied when denying the request. The original
47
+ # approval request identifies the tool and server.
48
+ variant :mcp_approval_response, -> { OpenAI::Beta::BetaResponseSteerRequiredInput::McpApprovalResponse }
49
+
50
+ class FunctionCallOutput < OpenAI::Internal::Type::BaseModel
51
+ # @!attribute call_id
52
+ #
53
+ # @return [String]
54
+ required :call_id, String
55
+
56
+ # @!attribute name
57
+ #
58
+ # @return [String]
59
+ required :name, String
60
+
61
+ # @!attribute type
62
+ #
63
+ # @return [Symbol, :function_call_output]
64
+ required :type, const: :function_call_output
65
+
66
+ # @!method initialize(call_id:, name:, type: :function_call_output)
67
+ # Supply `output` using the function tool call output input schema.
68
+ #
69
+ # @param call_id [String]
70
+ # @param name [String]
71
+ # @param type [Symbol, :function_call_output]
72
+ end
73
+
74
+ class CustomToolCallOutput < OpenAI::Internal::Type::BaseModel
75
+ # @!attribute call_id
76
+ #
77
+ # @return [String]
78
+ required :call_id, String
79
+
80
+ # @!attribute type
81
+ #
82
+ # @return [Symbol, :custom_tool_call_output]
83
+ required :type, const: :custom_tool_call_output
84
+
85
+ # @!method initialize(call_id:, type: :custom_tool_call_output)
86
+ # Supply `output` using the custom tool call output input schema. The original
87
+ # custom tool call supplies the tool's name.
88
+ #
89
+ # @param call_id [String]
90
+ # @param type [Symbol, :custom_tool_call_output]
91
+ end
92
+
93
+ class ComputerCallOutput < OpenAI::Internal::Type::BaseModel
94
+ # @!attribute call_id
95
+ #
96
+ # @return [String]
97
+ required :call_id, String
98
+
99
+ # @!attribute type
100
+ #
101
+ # @return [Symbol, :computer_call_output]
102
+ required :type, const: :computer_call_output
103
+
104
+ # @!method initialize(call_id:, type: :computer_call_output)
105
+ # Supply `output` using the computer tool call output input schema, including any
106
+ # required `acknowledged_safety_checks`.
107
+ #
108
+ # @param call_id [String]
109
+ # @param type [Symbol, :computer_call_output]
110
+ end
111
+
112
+ class ShellCallOutput < OpenAI::Internal::Type::BaseModel
113
+ # @!attribute call_id
114
+ #
115
+ # @return [String]
116
+ required :call_id, String
117
+
118
+ # @!attribute type
119
+ #
120
+ # @return [Symbol, :shell_call_output]
121
+ required :type, const: :shell_call_output
122
+
123
+ # @!method initialize(call_id:, type: :shell_call_output)
124
+ # Supply `output` using the shell tool call output input schema. Each output entry
125
+ # includes `stdout`, `stderr`, and `outcome`.
126
+ #
127
+ # @param call_id [String]
128
+ # @param type [Symbol, :shell_call_output]
129
+ end
130
+
131
+ class ApplyPatchCallOutput < OpenAI::Internal::Type::BaseModel
132
+ # @!attribute call_id
133
+ #
134
+ # @return [String]
135
+ required :call_id, String
136
+
137
+ # @!attribute type
138
+ #
139
+ # @return [Symbol, :apply_patch_call_output]
140
+ required :type, const: :apply_patch_call_output
141
+
142
+ # @!method initialize(call_id:, type: :apply_patch_call_output)
143
+ # Supply `status` and optional `output` using the apply patch tool call output
144
+ # input schema.
145
+ #
146
+ # @param call_id [String]
147
+ # @param type [Symbol, :apply_patch_call_output]
148
+ end
149
+
150
+ class ToolSearchOutput < OpenAI::Internal::Type::BaseModel
151
+ # @!attribute call_id
152
+ #
153
+ # @return [String]
154
+ required :call_id, String
155
+
156
+ # @!attribute execution
157
+ #
158
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponseSteerRequiredInput::ToolSearchOutput::Execution]
159
+ required(
160
+ :execution,
161
+ enum: -> { OpenAI::Beta::BetaResponseSteerRequiredInput::ToolSearchOutput::Execution }
162
+ )
163
+
164
+ # @!attribute type
165
+ #
166
+ # @return [Symbol, :tool_search_output]
167
+ required :type, const: :tool_search_output
168
+
169
+ # @!method initialize(call_id:, execution:, type: :tool_search_output)
170
+ # Supply `tools` using the tool search output input schema, retaining
171
+ # `execution: "client"`.
172
+ #
173
+ # @param call_id [String]
174
+ # @param execution [Symbol, OpenAI::Models::Beta::BetaResponseSteerRequiredInput::ToolSearchOutput::Execution]
175
+ # @param type [Symbol, :tool_search_output]
176
+
177
+ # @see OpenAI::Models::Beta::BetaResponseSteerRequiredInput::ToolSearchOutput#execution
178
+ module Execution
179
+ extend OpenAI::Internal::Type::Enum
180
+
181
+ CLIENT = :client
182
+
183
+ # @!method self.values
184
+ # @return [Array<Symbol>]
185
+ end
186
+ end
187
+
188
+ class McpApprovalResponse < OpenAI::Internal::Type::BaseModel
189
+ # @!attribute approval_request_id
190
+ #
191
+ # @return [String]
192
+ required :approval_request_id, String
193
+
194
+ # @!attribute type
195
+ #
196
+ # @return [Symbol, :mcp_approval_response]
197
+ required :type, const: :mcp_approval_response
198
+
199
+ # @!method initialize(approval_request_id:, type: :mcp_approval_response)
200
+ # Supply `approve` using the MCP approval response input schema. An optional
201
+ # `reason` can be supplied when denying the request. The original approval request
202
+ # identifies the tool and server.
203
+ #
204
+ # @param approval_request_id [String]
205
+ # @param type [Symbol, :mcp_approval_response]
206
+ end
207
+
208
+ # @!method self.variants
209
+ # @return [Array(OpenAI::Models::Beta::BetaResponseSteerRequiredInput::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseSteerRequiredInput::CustomToolCallOutput, OpenAI::Models::Beta::BetaResponseSteerRequiredInput::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseSteerRequiredInput::ShellCallOutput, OpenAI::Models::Beta::BetaResponseSteerRequiredInput::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseSteerRequiredInput::ToolSearchOutput, OpenAI::Models::Beta::BetaResponseSteerRequiredInput::McpApprovalResponse)]
210
+ end
211
+ end
212
+
213
+ BetaResponseSteerRequiredInput = Beta::BetaResponseSteerRequiredInput
214
+ end
215
+ end
@@ -124,6 +124,10 @@ module OpenAI
124
124
  variant :"response.failed", -> { OpenAI::Beta::BetaResponseFailedEvent }
125
125
 
126
126
  # An event that is emitted when a response finishes as incomplete.
127
+ #
128
+ # Over WebSocket, steering can finish a response with
129
+ # `response.incomplete_details.reason` set to `steered`, followed automatically
130
+ # by a successor `response.created` that commits the queued steering input.
127
131
  variant :"response.incomplete", -> { OpenAI::Beta::BetaResponseIncompleteEvent }
128
132
 
129
133
  # Emitted when a new output item is added.
@@ -19,6 +19,36 @@ module OpenAI
19
19
  # - `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
20
20
  variant :"response.create", -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate }
21
21
 
22
+ # Queues user input to steer a response on this WebSocket connection. Input
23
+ # can contain text, images, and files. Steering is supported only for
24
+ # single-agent responses on models and execution modes that support steering.
25
+ # Responses bound to a conversation or using automatic compaction do not
26
+ # support steering.
27
+ #
28
+ # A `response.steer.accepted` event acknowledges that the server owns the
29
+ # queued input, not that it has been applied. The successor's `response.created`
30
+ # event is the commit point. Input that cannot be committed is returned in
31
+ # `response.steer.failed`.
32
+ #
33
+ # Steering may cause the active response to finish at a safe output boundary
34
+ # with `response.incomplete` and `incomplete_details.reason` set to `steered`,
35
+ # followed automatically by a successor `response.created`. Normal completion
36
+ # can also be followed by an automatic successor. Automatic successors inherit
37
+ # the previous response's settings and continue from it with the queued input.
38
+ #
39
+ # If the response stops for client-owned tool output or approval, accepted
40
+ # steering input remains queued and `response.steer.pending` is emitted after
41
+ # `response.completed`. Fill the `required_input` stubs from that event with
42
+ # saved tool results or approval decisions, and send one explicit
43
+ # `response.create` per parent with the same `previous_response_id` and
44
+ # WebSocket lane. Do not rerun tools or resend accepted steering input. The
45
+ # queued input is prepended in submission order to that request's input, and
46
+ # the explicit request retains its own settings.
47
+ #
48
+ # This event accepts only `type`, `previous_response_id`, and `input`. Do not
49
+ # send `stream_id`; the target response determines the WebSocket lane.
50
+ variant :"response.steer", -> { OpenAI::Beta::BetaResponseSteerEvent }
51
+
22
52
  # Injects input items into an active response over a WebSocket connection.
23
53
  # The items are validated and committed atomically. Currently, the server
24
54
  # accepts client-owned tool outputs that resume a waiting agent.
@@ -101,7 +131,7 @@ module OpenAI
101
131
  # - [Conversation state](https://platform.openai.com/docs/guides/conversation-state)
102
132
  # - [Function calling](https://platform.openai.com/docs/guides/function-calling)
103
133
  #
104
- # @return [String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>, nil]
134
+ # @return [String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>, nil]
105
135
  optional :input, union: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Input }
106
136
 
107
137
  # @!attribute instructions
@@ -143,7 +173,7 @@ module OpenAI
143
173
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
144
174
 
145
175
  # @!attribute model
146
- # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
176
+ # Model ID used to generate the response, like `gpt-6-astra`. OpenAI offers a wide
147
177
  # range of models with different capabilities, performance characteristics, and
148
178
  # price points. Refer to the
149
179
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
@@ -463,7 +493,7 @@ module OpenAI
463
493
  #
464
494
  # @param include [Array<Symbol, OpenAI::Models::Beta::BetaResponseIncludable>, nil] Specify additional output data to include in the model response. Currently suppo
465
495
  #
466
- # @param input [String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>] Text, image, or file inputs to the model, used to generate a response.
496
+ # @param input [String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>] Text, image, or file inputs to the model, used to generate a response.
467
497
  #
468
498
  # @param instructions [String, nil] A system (or developer) message inserted into the model's context.
469
499
  #
@@ -473,7 +503,7 @@ module OpenAI
473
503
  #
474
504
  # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
475
505
  #
476
- # @param model [Symbol, String, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model] Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI
506
+ # @param model [Symbol, String, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model] Model ID used to generate the response, like `gpt-6-astra`. OpenAI
477
507
  #
478
508
  # @param moderation [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Moderation, nil] Configuration for running moderation on the input and output of this response.
479
509
  #
@@ -584,10 +614,10 @@ module OpenAI
584
614
  variant -> { OpenAI::Beta::BetaResponseInput }
585
615
 
586
616
  # @!method self.variants
587
- # @return [Array(String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>)]
617
+ # @return [Array(String, Array<OpenAI::Models::Beta::BetaEasyInputMessage, OpenAI::Models::Beta::BetaResponseInputItem::Message, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseInputItem::ComputerCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseInputItem::FunctionCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseInputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam, OpenAI::Models::Beta::BetaResponseInputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseCompactionItemParam, OpenAI::Models::Beta::BetaResponseInputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseInputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ShellCall, OpenAI::Models::Beta::BetaResponseInputItem::ShellCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCall, OpenAI::Models::Beta::BetaResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Beta::BetaResponseInputItem::McpListTools, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseInputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseInputItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutput, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseInputItem::CompactionTrigger, OpenAI::Models::Beta::BetaResponseInputItem::ItemReference, OpenAI::Models::Beta::BetaResponseInputItem::Program, OpenAI::Models::Beta::BetaResponseInputItem::ProgramOutput>)]
588
618
  end
589
619
 
590
- # Model ID used to generate the response, like `gpt-5.6-sol`. OpenAI offers a wide
620
+ # Model ID used to generate the response, like `gpt-6-astra`. OpenAI offers a wide
591
621
  # range of models with different capabilities, performance characteristics, and
592
622
  # price points. Refer to the
593
623
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
@@ -597,6 +627,8 @@ module OpenAI
597
627
  module Model
598
628
  extend OpenAI::Internal::Type::Union
599
629
 
630
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_6_ASTRA }
631
+
600
632
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_6_SOL }
601
633
 
602
634
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_6_TERRA }
@@ -988,6 +1020,7 @@ module OpenAI
988
1020
 
989
1021
  # @!group
990
1022
 
1023
+ GPT_6_ASTRA = :"gpt-6-astra"
991
1024
  GPT_5_6_SOL = :"gpt-5.6-sol"
992
1025
  GPT_5_6_TERRA = :"gpt-5.6-terra"
993
1026
  GPT_5_6_LUNA = :"gpt-5.6-luna"
@@ -1710,7 +1743,7 @@ module OpenAI
1710
1743
  end
1711
1744
 
1712
1745
  # @!method self.variants
1713
- # @return [Array(OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate, OpenAI::Models::Beta::BetaResponseInjectEvent)]
1746
+ # @return [Array(OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate, OpenAI::Models::Beta::BetaResponseSteerEvent, OpenAI::Models::Beta::BetaResponseInjectEvent)]
1714
1747
  end
1715
1748
  end
1716
1749
 
@@ -12,6 +12,46 @@ module OpenAI
12
12
  # Emitted when an error occurs while processing a Responses WebSocket request.
13
13
  variant :error, -> { OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError }
14
14
 
15
+ # Emitted when steering input has been validated and queued. Acceptance means
16
+ # the server owns the input, not that it has been applied. The successor's
17
+ # `response.created` event is the commit point. If accepted input cannot be
18
+ # committed, `response.steer.failed` returns it with the same steering ID.
19
+ #
20
+ # When the response stops for client-owned tool output or approval, the input
21
+ # remains queued and `response.steer.pending` is emitted after
22
+ # `response.completed`. Fill the pending event's `required_input` stubs with
23
+ # saved results and send one matching explicit `response.create` per parent.
24
+ # Do not resend accepted input while it is still queued.
25
+ variant :"response.steer.accepted", -> { OpenAI::Beta::BetaResponseSteerAcceptedEvent }
26
+
27
+ # Emitted when accepted steering input remains queued after the target
28
+ # response completes. The server still owns the input. Do not resend it.
29
+ # The successor's `response.created` event is the commit point.
30
+ #
31
+ # When `reason` is `waiting_for_required_input`, this event follows
32
+ # `response.completed` while the response waits for the tool results or
33
+ # approval decisions identified by `required_input`. Copy those stubs, fill
34
+ # their result fields using the ordinary `response.create` input schemas,
35
+ # and submit one continuation per parent with the same `previous_response_id`
36
+ # and WebSocket lane. Use saved results without rerunning tools. The queued
37
+ # steering input is prepended in submission order to the continuation's
38
+ # input. That explicit request retains its own settings.
39
+ #
40
+ # This notification is emitted at most once per steering submission. Multiple
41
+ # submissions for the same parent can report the same required inputs; they
42
+ # do not each require a separate continuation.
43
+ variant :"response.steer.pending", -> { OpenAI::Beta::BetaResponseSteerPendingEvent }
44
+
45
+ # Emitted when steering input is rejected or cannot be committed to a
46
+ # successor response. Returns the original, uncommitted input so the client
47
+ # can carry it into `response.create` when appropriate. Invalid input must
48
+ # be corrected before retrying.
49
+ #
50
+ # Failures after acceptance include the same steering ID. Failures before an
51
+ # ID is allocated omit `steer.id`. A lost connection or missing acknowledgement
52
+ # leaves the outcome unknown; it is not proof that the input was rejected.
53
+ variant :"response.steer.failed", -> { OpenAI::Beta::BetaResponseSteerFailedEvent }
54
+
15
55
  # Emitted when all injected input items were validated and committed to the
16
56
  # active response.
17
57
  variant :"response.inject.created", -> { OpenAI::Beta::BetaResponseInjectCreatedEvent }
@@ -154,6 +194,10 @@ module OpenAI
154
194
  variant :"response.failed", -> { OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsFailed }
155
195
 
156
196
  # An event that is emitted when a response finishes as incomplete.
197
+ #
198
+ # Over WebSocket, steering can finish a response with
199
+ # `response.incomplete_details.reason` set to `steered`, followed automatically
200
+ # by a successor `response.created` that commits the queued steering input.
157
201
  variant :"response.incomplete", -> { OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsIncomplete }
158
202
 
159
203
  # Emitted when a new output item is added.
@@ -1065,6 +1109,10 @@ module OpenAI
1065
1109
  #
1066
1110
  # An event that is emitted when a response finishes as incomplete.
1067
1111
  #
1112
+ # Over WebSocket, steering can finish a response with
1113
+ # `response.incomplete_details.reason` set to `steered`, followed automatically by
1114
+ # a successor `response.created` that commits the queued steering input.
1115
+ #
1068
1116
  # @param response [OpenAI::Models::Beta::BetaResponse] The response that was incomplete.
1069
1117
  #
1070
1118
  # @param sequence_number [Integer] The sequence number of this event.
@@ -2113,7 +2161,15 @@ module OpenAI
2113
2161
  # @return [Hash{Symbol=>String}, nil]
2114
2162
  optional :headers, OpenAI::Internal::Type::HashOf[String]
2115
2163
 
2116
- # @!method initialize(code:, message:, param:, type:, headers: nil)
2164
+ # @!attribute misalignment
2165
+ #
2166
+ # @return [OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment, nil]
2167
+ optional(
2168
+ :misalignment,
2169
+ -> { OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment }
2170
+ )
2171
+
2172
+ # @!method initialize(code:, message:, param:, type:, headers: nil, misalignment: nil)
2117
2173
  # Details about the error.
2118
2174
  #
2119
2175
  # @param code [String, nil] The error code that was emitted, if any.
@@ -2125,6 +2181,112 @@ module OpenAI
2125
2181
  # @param type [String] The error type that was emitted.
2126
2182
  #
2127
2183
  # @param headers [Hash{Symbol=>String}] The response headers that were emitted with the error, if any.
2184
+ #
2185
+ # @param misalignment [OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment]
2186
+
2187
+ # @see OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error#misalignment
2188
+ class Misalignment < OpenAI::Internal::Type::BaseModel
2189
+ # @!attribute detailed_explanation
2190
+ # The public explanation for this block.
2191
+ #
2192
+ # @return [String, nil]
2193
+ optional :detailed_explanation, String
2194
+
2195
+ # @!attribute error_type
2196
+ # An optional classification; clients must accept additional values.
2197
+ #
2198
+ # @return [String, Symbol, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType, nil]
2199
+ optional(
2200
+ :error_type,
2201
+ union: -> {
2202
+ OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType
2203
+ }
2204
+ )
2205
+
2206
+ # @!attribute steer
2207
+ # An optional public continuation instruction.
2208
+ #
2209
+ # @return [OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::Steer, nil]
2210
+ optional(
2211
+ :steer,
2212
+ -> { OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::Steer }
2213
+ )
2214
+
2215
+ # @!method initialize(detailed_explanation: nil, error_type: nil, steer: nil)
2216
+ # @param detailed_explanation [String] The public explanation for this block.
2217
+ #
2218
+ # @param error_type [String, Symbol, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType] An optional classification; clients must accept additional values.
2219
+ #
2220
+ # @param steer [OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::Steer] An optional public continuation instruction.
2221
+
2222
+ # An optional classification; clients must accept additional values.
2223
+ #
2224
+ # @see OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment#error_type
2225
+ module ErrorType
2226
+ extend OpenAI::Internal::Type::Union
2227
+
2228
+ variant String
2229
+
2230
+ variant(
2231
+ const: -> {
2232
+ OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType::POTENTIALLY_UNINTENDED_DATA_TRANSFER
2233
+ }
2234
+ )
2235
+
2236
+ variant(
2237
+ const: -> {
2238
+ OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType::POTENTIALLY_UNINTENDED_DATA_ACCESS
2239
+ }
2240
+ )
2241
+
2242
+ variant(
2243
+ const: -> {
2244
+ OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType::POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY
2245
+ }
2246
+ )
2247
+
2248
+ variant(
2249
+ const: -> {
2250
+ OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType::OTHER
2251
+ }
2252
+ )
2253
+
2254
+ # @!method self.variants
2255
+ # @return [Array(String, Symbol)]
2256
+
2257
+ define_sorbet_constant!(:Variants) do
2258
+ T.type_alias do
2259
+ T.any(
2260
+ String,
2261
+ OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment::ErrorType::TaggedSymbol
2262
+ )
2263
+ end
2264
+ end
2265
+
2266
+ # @!group
2267
+
2268
+ POTENTIALLY_UNINTENDED_DATA_TRANSFER = :potentially_unintended_data_transfer
2269
+ POTENTIALLY_UNINTENDED_DATA_ACCESS = :potentially_unintended_data_access
2270
+ POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY = :potentially_unintended_destructive_activity
2271
+ OTHER = :other
2272
+
2273
+ # @!endgroup
2274
+ end
2275
+
2276
+ # @see OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::Misalignment#steer
2277
+ class Steer < OpenAI::Internal::Type::BaseModel
2278
+ # @!attribute message
2279
+ # The public continuation instruction.
2280
+ #
2281
+ # @return [String]
2282
+ required :message, String
2283
+
2284
+ # @!method initialize(message:)
2285
+ # An optional public continuation instruction.
2286
+ #
2287
+ # @param message [String] The public continuation instruction.
2288
+ end
2289
+ end
2128
2290
  end
2129
2291
 
2130
2292
  # @see OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError#agent
@@ -2143,7 +2305,7 @@ module OpenAI
2143
2305
  end
2144
2306
 
2145
2307
  # @!method self.variants
2146
- # @return [Array(OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError, OpenAI::Models::Beta::BetaResponseInjectCreatedEvent, OpenAI::Models::Beta::BetaResponseInjectFailedEvent, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseAudioWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseAudioWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseAudioTranscriptWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseAudioTranscriptWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallCodeWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallCodeWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallWsInterpreting, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsCreated, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallWsSearching, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFunctionCallArgumentsWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFunctionCallArgumentsWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallCommandWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallCommandWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallCommandWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallOutputContentWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallOutputContentWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsFailed, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsIncomplete, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseOutputItemWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseOutputItemWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningSummaryPartWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningSummaryPartWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningSummaryTextWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningSummaryTextWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningTextWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningTextWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseRefusalWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseRefusalWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseTextWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseTextWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWebSearchCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWebSearchCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWebSearchCallWsSearching, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseImageGenCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseImageGenCallWsGenerating, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseImageGenCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseImageGenCallPartialWsImage, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallArgumentsWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallArgumentsWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallWsFailed, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpListToolsWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpListToolsWsFailed, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpListToolsInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseOutputTextAnnotationWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsQueued, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCustomToolCallInputWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCustomToolCallInputWsDone)]
2308
+ # @return [Array(OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsError, OpenAI::Models::Beta::BetaResponseSteerAcceptedEvent, OpenAI::Models::Beta::BetaResponseSteerPendingEvent, OpenAI::Models::Beta::BetaResponseSteerFailedEvent, OpenAI::Models::Beta::BetaResponseInjectCreatedEvent, OpenAI::Models::Beta::BetaResponseInjectFailedEvent, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseAudioWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseAudioWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseAudioTranscriptWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseAudioTranscriptWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallCodeWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallCodeWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCodeInterpreterCallWsInterpreting, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsCreated, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallWsSearching, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFunctionCallArgumentsWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseFunctionCallArgumentsWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallCommandWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallCommandWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallCommandWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallOutputContentWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseShellCallOutputContentWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsFailed, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsIncomplete, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseOutputItemWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseOutputItemWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningSummaryPartWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningSummaryPartWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningSummaryTextWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningSummaryTextWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningTextWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseReasoningTextWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseRefusalWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseRefusalWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseTextWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseTextWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWebSearchCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWebSearchCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWebSearchCallWsSearching, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseImageGenCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseImageGenCallWsGenerating, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseImageGenCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseImageGenCallPartialWsImage, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallArgumentsWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallArgumentsWsDone, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallWsFailed, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpCallInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpListToolsWsCompleted, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpListToolsWsFailed, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseMcpListToolsInWsProgress, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseOutputTextAnnotationWsAdded, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseWsQueued, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCustomToolCallInputWsDelta, OpenAI::Models::Beta::BetaResponsesServerEvent::BetaResponseCustomToolCallInputWsDone)]
2147
2309
  end
2148
2310
  end
2149
2311