openai 0.83.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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +59 -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/auth/workload_identity_auth.rb +17 -2
  7. data/lib/openai/client.rb +24 -6
  8. data/lib/openai/errors.rb +1 -1
  9. data/lib/openai/helpers/streaming/chat_completion_stream.rb +18 -10
  10. data/lib/openai/helpers/streaming/response_events.rb +2 -2
  11. data/lib/openai/helpers/streaming/response_stream.rb +80 -44
  12. data/lib/openai/helpers/structured_output/array_of.rb +2 -2
  13. data/lib/openai/helpers/structured_output/base_model.rb +19 -5
  14. data/lib/openai/helpers/structured_output/chat_completion_parser.rb +12 -3
  15. data/lib/openai/helpers/structured_output/json_schema_converter.rb +34 -11
  16. data/lib/openai/helpers/structured_output/response_parser.rb +1 -1
  17. data/lib/openai/internal/type/base_model.rb +2 -2
  18. data/lib/openai/internal/type/converter.rb +1 -1
  19. data/lib/openai/internal/util.rb +2 -2
  20. data/lib/openai/internal/vector_store_file_uploader.rb +1 -1
  21. data/lib/openai/models/admin/organization/usage_costs_params.rb +10 -1
  22. data/lib/openai/models/batch.rb +4 -4
  23. data/lib/openai/models/beta/beta_custom_tool.rb +13 -1
  24. data/lib/openai/models/beta/beta_function_tool.rb +8 -1
  25. data/lib/openai/models/beta/beta_namespace_tool.rb +10 -1
  26. data/lib/openai/models/beta/beta_response.rb +26 -18
  27. data/lib/openai/models/beta/beta_response_configuration_update_item.rb +103 -0
  28. data/lib/openai/models/beta/beta_response_configuration_update_item_param.rb +104 -0
  29. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +9 -1
  30. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +3 -1
  31. data/lib/openai/models/beta/beta_response_error.rb +96 -1
  32. data/lib/openai/models/beta/beta_response_function_tool_call.rb +9 -1
  33. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +3 -1
  34. data/lib/openai/models/beta/beta_response_incomplete_event.rb +4 -0
  35. data/lib/openai/models/beta/beta_response_inject_event.rb +2 -2
  36. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +2 -2
  37. data/lib/openai/models/beta/beta_response_input_item.rb +6 -1
  38. data/lib/openai/models/beta/beta_response_item.rb +5 -1
  39. data/lib/openai/models/beta/beta_response_steer_accepted_event.rb +81 -0
  40. data/lib/openai/models/beta/beta_response_steer_error_code.rb +61 -0
  41. data/lib/openai/models/beta/beta_response_steer_event.rb +75 -0
  42. data/lib/openai/models/beta/beta_response_steer_failed_event.rb +151 -0
  43. data/lib/openai/models/beta/beta_response_steer_input.rb +360 -0
  44. data/lib/openai/models/beta/beta_response_steer_input_content.rb +28 -0
  45. data/lib/openai/models/beta/beta_response_steer_pending_event.rb +113 -0
  46. data/lib/openai/models/beta/beta_response_steer_pending_reason.rb +26 -0
  47. data/lib/openai/models/beta/beta_response_steer_required_input.rb +215 -0
  48. data/lib/openai/models/beta/beta_response_stream_event.rb +4 -0
  49. data/lib/openai/models/beta/beta_response_usage.rb +1 -12
  50. data/lib/openai/models/beta/beta_responses_client_event.rb +45 -16
  51. data/lib/openai/models/beta/beta_responses_server_event.rb +164 -2
  52. data/lib/openai/models/beta/response_compact_params.rb +13 -10
  53. data/lib/openai/models/beta/response_create_params.rb +14 -15
  54. data/lib/openai/models/beta/responses/beta_response_item_list.rb +2 -2
  55. data/lib/openai/models/beta/responses/input_token_count_params.rb +3 -3
  56. data/lib/openai/models/chat/completion_create_params.rb +8 -8
  57. data/lib/openai/models/chat_model.rb +1 -0
  58. data/lib/openai/models/completion_usage.rb +1 -12
  59. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  60. data/lib/openai/models/conversations/conversation_item.rb +5 -1
  61. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  62. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  63. data/lib/openai/models/error_object.rb +90 -1
  64. data/lib/openai/models/eval_create_response.rb +1 -1
  65. data/lib/openai/models/eval_list_response.rb +1 -1
  66. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  67. data/lib/openai/models/eval_update_response.rb +1 -1
  68. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +2 -2
  69. data/lib/openai/models/reasoning.rb +0 -2
  70. data/lib/openai/models/responses/custom_tool.rb +13 -1
  71. data/lib/openai/models/responses/function_tool.rb +8 -1
  72. data/lib/openai/models/responses/input_token_count_params.rb +3 -3
  73. data/lib/openai/models/responses/namespace_tool.rb +10 -1
  74. data/lib/openai/models/responses/response.rb +20 -13
  75. data/lib/openai/models/responses/response_compact_params.rb +13 -10
  76. data/lib/openai/models/responses/response_configuration_update_item.rb +56 -0
  77. data/lib/openai/models/responses/response_configuration_update_item_param.rb +57 -0
  78. data/lib/openai/models/responses/response_create_params.rb +8 -10
  79. data/lib/openai/models/responses/response_custom_tool_call.rb +9 -1
  80. data/lib/openai/models/responses/response_custom_tool_call_item.rb +3 -1
  81. data/lib/openai/models/responses/response_error.rb +96 -1
  82. data/lib/openai/models/responses/response_function_tool_call.rb +9 -1
  83. data/lib/openai/models/responses/response_function_tool_call_item.rb +3 -1
  84. data/lib/openai/models/responses/response_incomplete_event.rb +4 -0
  85. data/lib/openai/models/responses/response_input_item.rb +6 -1
  86. data/lib/openai/models/responses/response_item.rb +5 -1
  87. data/lib/openai/models/responses/response_item_list.rb +2 -2
  88. data/lib/openai/models/responses/response_steer_accepted_event.rb +79 -0
  89. data/lib/openai/models/responses/response_steer_error_code.rb +59 -0
  90. data/lib/openai/models/responses/response_steer_event.rb +73 -0
  91. data/lib/openai/models/responses/response_steer_failed_event.rb +149 -0
  92. data/lib/openai/models/responses/response_steer_input.rb +304 -0
  93. data/lib/openai/models/responses/response_steer_input_content.rb +26 -0
  94. data/lib/openai/models/responses/response_steer_pending_event.rb +111 -0
  95. data/lib/openai/models/responses/response_steer_pending_reason.rb +24 -0
  96. data/lib/openai/models/responses/response_steer_required_input.rb +213 -0
  97. data/lib/openai/models/responses/response_stream_event.rb +4 -0
  98. data/lib/openai/models/responses/response_usage.rb +1 -12
  99. data/lib/openai/models/responses/responses_client_event.rb +872 -771
  100. data/lib/openai/models/responses/responses_server_event.rb +162 -2
  101. data/lib/openai/models/safety/alert_retrieve_params.rb +24 -0
  102. data/lib/openai/models/safety/safety_alert.rb +96 -0
  103. data/lib/openai/models/video_create_error.rb +93 -1
  104. data/lib/openai/models/webhooks/safety_alert_created_webhook_event.rb +63 -0
  105. data/lib/openai/models/webhooks/safety_org_alert_created_webhook_event.rb +63 -0
  106. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +7 -1
  107. data/lib/openai/models.rb +2 -0
  108. data/lib/openai/net_http_client.rb +1 -1
  109. data/lib/openai/providers/bedrock.rb +20 -12
  110. data/lib/openai/resources/admin/organization/usage.rb +3 -1
  111. data/lib/openai/resources/beta/responses/input_items.rb +1 -1
  112. data/lib/openai/resources/beta/responses/input_tokens.rb +1 -1
  113. data/lib/openai/resources/beta/responses.rb +8 -8
  114. data/lib/openai/resources/chat/completions.rb +2 -2
  115. data/lib/openai/resources/conversations/items.rb +3 -3
  116. data/lib/openai/resources/conversations.rb +1 -1
  117. data/lib/openai/resources/responses/input_items.rb +1 -1
  118. data/lib/openai/resources/responses/input_tokens.rb +1 -1
  119. data/lib/openai/resources/responses.rb +10 -9
  120. data/lib/openai/resources/safety/alerts.rb +37 -0
  121. data/lib/openai/resources/safety.rb +18 -0
  122. data/lib/openai/resources/webhooks.rb +1 -1
  123. data/lib/openai/version.rb +1 -1
  124. data/lib/openai.rb +29 -0
  125. data/rbi/openai/client.rbi +3 -0
  126. data/rbi/openai/errors.rbi +1 -1
  127. data/rbi/openai/helpers/streaming/events.rbi +2 -2
  128. data/rbi/openai/helpers/streaming/response_stream.rbi +3 -3
  129. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +15 -0
  130. data/rbi/openai/models/batch.rbi +6 -6
  131. data/rbi/openai/models/beta/beta_custom_tool.rbi +15 -0
  132. data/rbi/openai/models/beta/beta_function_tool.rbi +11 -0
  133. data/rbi/openai/models/beta/beta_namespace_tool.rbi +15 -0
  134. data/rbi/openai/models/beta/beta_response.rbi +21 -18
  135. data/rbi/openai/models/beta/beta_response_configuration_update_item.rbi +200 -0
  136. data/rbi/openai/models/beta/beta_response_configuration_update_item_param.rbi +207 -0
  137. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +13 -0
  138. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +6 -0
  139. data/rbi/openai/models/beta/beta_response_error.rbi +161 -3
  140. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +13 -0
  141. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +6 -0
  142. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +4 -0
  143. data/rbi/openai/models/beta/beta_response_inject_event.rbi +3 -0
  144. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +3 -0
  145. data/rbi/openai/models/beta/beta_response_input_item.rbi +1 -0
  146. data/rbi/openai/models/beta/beta_response_item.rbi +1 -0
  147. data/rbi/openai/models/beta/beta_response_steer_accepted_event.rbi +148 -0
  148. data/rbi/openai/models/beta/beta_response_steer_error_code.rbi +65 -0
  149. data/rbi/openai/models/beta/beta_response_steer_event.rbi +118 -0
  150. data/rbi/openai/models/beta/beta_response_steer_failed_event.rbi +267 -0
  151. data/rbi/openai/models/beta/beta_response_steer_input.rbi +602 -0
  152. data/rbi/openai/models/beta/beta_response_steer_input_content.rbi +31 -0
  153. data/rbi/openai/models/beta/beta_response_steer_pending_event.rbi +222 -0
  154. data/rbi/openai/models/beta/beta_response_steer_pending_reason.rbi +35 -0
  155. data/rbi/openai/models/beta/beta_response_steer_required_input.rbi +379 -0
  156. data/rbi/openai/models/beta/beta_response_usage.rbi +3 -13
  157. data/rbi/openai/models/beta/beta_responses_client_event.rbi +14 -15
  158. data/rbi/openai/models/beta/beta_responses_server_event.rbi +206 -3
  159. data/rbi/openai/models/beta/response_compact_params.rbi +10 -9
  160. data/rbi/openai/models/beta/response_create_params.rbi +10 -15
  161. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +1 -0
  162. data/rbi/openai/models/chat/completion_create_params.rbi +9 -9
  163. data/rbi/openai/models/chat_model.rbi +1 -0
  164. data/rbi/openai/models/completion_usage.rbi +0 -10
  165. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  166. data/rbi/openai/models/conversations/conversation_item.rbi +1 -0
  167. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  168. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  169. data/rbi/openai/models/error_object.rbi +156 -3
  170. data/rbi/openai/models/eval_create_response.rbi +1 -1
  171. data/rbi/openai/models/eval_list_response.rbi +1 -1
  172. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  173. data/rbi/openai/models/eval_update_response.rbi +1 -1
  174. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +2 -2
  175. data/rbi/openai/models/reasoning.rbi +0 -2
  176. data/rbi/openai/models/responses/custom_tool.rbi +15 -0
  177. data/rbi/openai/models/responses/function_tool.rbi +11 -0
  178. data/rbi/openai/models/responses/namespace_tool.rbi +15 -0
  179. data/rbi/openai/models/responses/response.rbi +17 -13
  180. data/rbi/openai/models/responses/response_compact_params.rbi +10 -9
  181. data/rbi/openai/models/responses/response_configuration_update_item.rbi +112 -0
  182. data/rbi/openai/models/responses/response_configuration_update_item_param.rbi +117 -0
  183. data/rbi/openai/models/responses/response_create_params.rbi +6 -10
  184. data/rbi/openai/models/responses/response_custom_tool_call.rbi +13 -0
  185. data/rbi/openai/models/responses/response_custom_tool_call_item.rbi +6 -0
  186. data/rbi/openai/models/responses/response_error.rbi +161 -3
  187. data/rbi/openai/models/responses/response_function_tool_call.rbi +13 -0
  188. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +6 -0
  189. data/rbi/openai/models/responses/response_incomplete_event.rbi +4 -0
  190. data/rbi/openai/models/responses/response_input_item.rbi +1 -0
  191. data/rbi/openai/models/responses/response_item.rbi +1 -0
  192. data/rbi/openai/models/responses/response_item_list.rbi +1 -0
  193. data/rbi/openai/models/responses/response_steer_accepted_event.rbi +146 -0
  194. data/rbi/openai/models/responses/response_steer_error_code.rbi +63 -0
  195. data/rbi/openai/models/responses/response_steer_event.rbi +119 -0
  196. data/rbi/openai/models/responses/response_steer_failed_event.rbi +268 -0
  197. data/rbi/openai/models/responses/response_steer_input.rbi +474 -0
  198. data/rbi/openai/models/responses/response_steer_input_content.rbi +29 -0
  199. data/rbi/openai/models/responses/response_steer_pending_event.rbi +220 -0
  200. data/rbi/openai/models/responses/response_steer_pending_reason.rbi +33 -0
  201. data/rbi/openai/models/responses/response_steer_required_input.rbi +377 -0
  202. data/rbi/openai/models/responses/response_usage.rbi +3 -13
  203. data/rbi/openai/models/responses/responses_client_event.rbi +1205 -1041
  204. data/rbi/openai/models/responses/responses_server_event.rbi +202 -3
  205. data/rbi/openai/models/safety/alert_retrieve_params.rbi +55 -0
  206. data/rbi/openai/models/safety/safety_alert.rbi +147 -0
  207. data/rbi/openai/models/video_create_error.rbi +149 -3
  208. data/rbi/openai/models/webhooks/safety_alert_created_webhook_event.rbi +130 -0
  209. data/rbi/openai/models/webhooks/safety_org_alert_created_webhook_event.rbi +130 -0
  210. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +3 -1
  211. data/rbi/openai/models.rbi +2 -0
  212. data/rbi/openai/resources/admin/organization/usage.rbi +4 -0
  213. data/rbi/openai/resources/beta/responses.rbi +7 -11
  214. data/rbi/openai/resources/chat/completions.rbi +6 -6
  215. data/rbi/openai/resources/conversations/items.rbi +1 -0
  216. data/rbi/openai/resources/conversations.rbi +1 -0
  217. data/rbi/openai/resources/responses.rbi +9 -13
  218. data/rbi/openai/resources/safety/alerts.rbi +30 -0
  219. data/rbi/openai/resources/safety.rbi +18 -0
  220. data/rbi/openai/resources/webhooks.rbi +3 -1
  221. data/sig/openai/client.rbs +2 -0
  222. data/sig/openai/errors.rbs +1 -1
  223. data/sig/openai/internal/transport/base_client.rbs +4 -19
  224. data/sig/openai/models/admin/organization/usage_costs_params.rbs +7 -0
  225. data/sig/openai/models/beta/beta_custom_tool.rbs +7 -0
  226. data/sig/openai/models/beta/beta_function_tool.rbs +7 -0
  227. data/sig/openai/models/beta/beta_namespace_tool.rbs +7 -0
  228. data/sig/openai/models/beta/beta_response.rbs +7 -2
  229. data/sig/openai/models/beta/beta_response_configuration_update_item.rbs +91 -0
  230. data/sig/openai/models/beta/beta_response_configuration_update_item_param.rbs +87 -0
  231. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +7 -0
  232. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +3 -0
  233. data/sig/openai/models/beta/beta_response_error.rbs +82 -3
  234. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +7 -0
  235. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +3 -0
  236. data/sig/openai/models/beta/beta_response_input_item.rbs +1 -0
  237. data/sig/openai/models/beta/beta_response_item.rbs +1 -0
  238. data/sig/openai/models/beta/beta_response_steer_accepted_event.rbs +53 -0
  239. data/sig/openai/models/beta/beta_response_steer_error_code.rbs +31 -0
  240. data/sig/openai/models/beta/beta_response_steer_event.rbs +34 -0
  241. data/sig/openai/models/beta/beta_response_steer_failed_event.rbs +102 -0
  242. data/sig/openai/models/beta/beta_response_steer_input.rbs +214 -0
  243. data/sig/openai/models/beta/beta_response_steer_input_content.rbs +18 -0
  244. data/sig/openai/models/beta/beta_response_steer_pending_event.rbs +63 -0
  245. data/sig/openai/models/beta/beta_response_steer_pending_reason.rbs +16 -0
  246. data/sig/openai/models/beta/beta_response_steer_required_input.rbs +161 -0
  247. data/sig/openai/models/beta/beta_response_usage.rbs +3 -8
  248. data/sig/openai/models/beta/beta_responses_client_event.rbs +4 -1
  249. data/sig/openai/models/beta/beta_responses_server_event.rbs +80 -3
  250. data/sig/openai/models/beta/response_compact_params.rbs +3 -1
  251. data/sig/openai/models/beta/response_create_params.rbs +3 -1
  252. data/sig/openai/models/chat_model.rbs +3 -1
  253. data/sig/openai/models/completion_usage.rbs +0 -5
  254. data/sig/openai/models/conversations/conversation_item.rbs +1 -0
  255. data/sig/openai/models/error_object.rbs +82 -3
  256. data/sig/openai/models/responses/custom_tool.rbs +7 -0
  257. data/sig/openai/models/responses/function_tool.rbs +7 -0
  258. data/sig/openai/models/responses/namespace_tool.rbs +7 -0
  259. data/sig/openai/models/responses/response.rbs +4 -1
  260. data/sig/openai/models/responses/response_compact_params.rbs +3 -1
  261. data/sig/openai/models/responses/response_configuration_update_item.rbs +46 -0
  262. data/sig/openai/models/responses/response_configuration_update_item_param.rbs +46 -0
  263. data/sig/openai/models/responses/response_custom_tool_call.rbs +7 -0
  264. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +3 -0
  265. data/sig/openai/models/responses/response_error.rbs +79 -3
  266. data/sig/openai/models/responses/response_function_tool_call.rbs +7 -0
  267. data/sig/openai/models/responses/response_function_tool_call_item.rbs +3 -0
  268. data/sig/openai/models/responses/response_input_item.rbs +1 -0
  269. data/sig/openai/models/responses/response_item.rbs +1 -0
  270. data/sig/openai/models/responses/response_steer_accepted_event.rbs +51 -0
  271. data/sig/openai/models/responses/response_steer_error_code.rbs +29 -0
  272. data/sig/openai/models/responses/response_steer_event.rbs +32 -0
  273. data/sig/openai/models/responses/response_steer_failed_event.rbs +100 -0
  274. data/sig/openai/models/responses/response_steer_input.rbs +182 -0
  275. data/sig/openai/models/responses/response_steer_input_content.rbs +16 -0
  276. data/sig/openai/models/responses/response_steer_pending_event.rbs +61 -0
  277. data/sig/openai/models/responses/response_steer_pending_reason.rbs +13 -0
  278. data/sig/openai/models/responses/response_steer_required_input.rbs +159 -0
  279. data/sig/openai/models/responses/response_usage.rbs +3 -8
  280. data/sig/openai/models/responses/responses_client_event.rbs +355 -344
  281. data/sig/openai/models/responses/responses_server_event.rbs +80 -3
  282. data/sig/openai/models/safety/alert_retrieve_params.rbs +22 -0
  283. data/sig/openai/models/safety/safety_alert.rbs +81 -0
  284. data/sig/openai/models/video_create_error.rbs +87 -3
  285. data/sig/openai/models/webhooks/safety_alert_created_webhook_event.rbs +52 -0
  286. data/sig/openai/models/webhooks/safety_org_alert_created_webhook_event.rbs +52 -0
  287. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +2 -0
  288. data/sig/openai/models.rbs +2 -0
  289. data/sig/openai/resources/admin/organization/usage.rbs +1 -0
  290. data/sig/openai/resources/safety/alerts.rbs +14 -0
  291. data/sig/openai/resources/safety.rbs +9 -0
  292. data/sig/openai/resources/webhooks.rbs +3 -1
  293. metadata +86 -1
@@ -13,7 +13,7 @@ module OpenAI
13
13
  # @!attribute input
14
14
  # The raw input items that were not committed.
15
15
  #
16
- # @return [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>]
16
+ # @return [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>]
17
17
  required :input, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::BetaResponseInputItem] }
18
18
 
19
19
  # @!attribute response_id
@@ -51,7 +51,7 @@ module OpenAI
51
51
  #
52
52
  # @param error [OpenAI::Models::Beta::BetaResponseInjectFailedEvent::Error] Information about why the input was not committed.
53
53
  #
54
- # @param input [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>] The raw input items that were not committed.
54
+ # @param input [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>] The raw input items that were not committed.
55
55
  #
56
56
  # @param response_id [String] The ID of the response that rejected the input.
57
57
  #
@@ -63,6 +63,11 @@ module OpenAI
63
63
 
64
64
  variant :additional_tools, -> { OpenAI::Beta::BetaResponseInputItem::AdditionalTools }
65
65
 
66
+ # An update to the conversation's response configuration. The configuration
67
+ # remains in effect for subsequent responses until it is replaced by another
68
+ # configuration update.
69
+ variant :configuration_update, -> { OpenAI::Beta::BetaResponseConfigurationUpdateItemParam }
70
+
66
71
  # A description of the chain of thought used by a reasoning model while generating
67
72
  # a response. Be sure to include these items in your `input` to the Responses API
68
73
  # for subsequent turns of a conversation if you are manually
@@ -2860,7 +2865,7 @@ module OpenAI
2860
2865
  end
2861
2866
 
2862
2867
  # @!method self.variants
2863
- # @return [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)]
2868
+ # @return [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)]
2864
2869
  end
2865
2870
  end
2866
2871
 
@@ -46,6 +46,10 @@ module OpenAI
46
46
 
47
47
  variant :additional_tools, -> { OpenAI::Beta::BetaResponseItem::AdditionalTools }
48
48
 
49
+ # A configuration update that applies to subsequent responses until it is
50
+ # replaced by another configuration update.
51
+ variant :configuration_update, -> { OpenAI::Beta::BetaResponseConfigurationUpdateItem }
52
+
49
53
  # A description of the chain of thought used by a reasoning model while generating
50
54
  # a response. Be sure to include these items in your `input` to the Responses API
51
55
  # for subsequent turns of a conversation if you are manually
@@ -1441,7 +1445,7 @@ module OpenAI
1441
1445
  end
1442
1446
 
1443
1447
  # @!method self.variants
1444
- # @return [Array(OpenAI::Models::Beta::BetaResponseInputMessageItem, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCallOutputItem, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCallItem, OpenAI::Models::Beta::BetaResponseFunctionToolCallOutputItem, OpenAI::Models::Beta::BetaResponseItem::AgentMessage, OpenAI::Models::Beta::BetaResponseItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItem, OpenAI::Models::Beta::BetaResponseItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseItem::Program, OpenAI::Models::Beta::BetaResponseItem::ProgramOutput, OpenAI::Models::Beta::BetaResponseCompactionItem, OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseFunctionShellToolCall, OpenAI::Models::Beta::BetaResponseFunctionShellToolCallOutput, OpenAI::Models::Beta::BetaResponseApplyPatchToolCall, OpenAI::Models::Beta::BetaResponseApplyPatchToolCallOutput, OpenAI::Models::Beta::BetaResponseItem::McpListTools, OpenAI::Models::Beta::BetaResponseItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallItem, OpenAI::Models::Beta::BetaResponseCustomToolCallOutputItem)]
1448
+ # @return [Array(OpenAI::Models::Beta::BetaResponseInputMessageItem, OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCallOutputItem, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseFunctionToolCallItem, OpenAI::Models::Beta::BetaResponseFunctionToolCallOutputItem, OpenAI::Models::Beta::BetaResponseItem::AgentMessage, OpenAI::Models::Beta::BetaResponseItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItem, OpenAI::Models::Beta::BetaResponseItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseConfigurationUpdateItem, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseItem::Program, OpenAI::Models::Beta::BetaResponseItem::ProgramOutput, OpenAI::Models::Beta::BetaResponseCompactionItem, OpenAI::Models::Beta::BetaResponseItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseFunctionShellToolCall, OpenAI::Models::Beta::BetaResponseFunctionShellToolCallOutput, OpenAI::Models::Beta::BetaResponseApplyPatchToolCall, OpenAI::Models::Beta::BetaResponseApplyPatchToolCallOutput, OpenAI::Models::Beta::BetaResponseItem::McpListTools, OpenAI::Models::Beta::BetaResponseItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseItem::McpCall, OpenAI::Models::Beta::BetaResponseCustomToolCallItem, OpenAI::Models::Beta::BetaResponseCustomToolCallOutputItem)]
1445
1449
  end
1446
1450
  end
1447
1451
 
@@ -0,0 +1,81 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class BetaResponseSteerAcceptedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute sequence_number
8
+ # The sequence number for this event.
9
+ #
10
+ # @return [Integer]
11
+ required :sequence_number, Integer
12
+
13
+ # @!attribute steer
14
+ # The accepted steering submission.
15
+ #
16
+ # @return [OpenAI::Models::Beta::BetaResponseSteerAcceptedEvent::Steer]
17
+ required :steer, -> { OpenAI::Beta::BetaResponseSteerAcceptedEvent::Steer }
18
+
19
+ # @!attribute type
20
+ # The event discriminator. Always `response.steer.accepted`.
21
+ #
22
+ # @return [Symbol, :"response.steer.accepted"]
23
+ required :type, const: :"response.steer.accepted"
24
+
25
+ # @!attribute stream_id
26
+ # The WebSocket lane that emitted this event. This field is present when the
27
+ # target response's `response.create` event supplied a `stream_id`.
28
+ #
29
+ # @return [String, nil]
30
+ optional :stream_id, String
31
+
32
+ # @!method initialize(sequence_number:, steer:, stream_id: nil, type: :"response.steer.accepted")
33
+ # Some parameter documentations has been truncated, see
34
+ # {OpenAI::Models::Beta::BetaResponseSteerAcceptedEvent} for more details.
35
+ #
36
+ # Emitted when steering input has been validated and queued. Acceptance means the
37
+ # server owns the input, not that it has been applied. The successor's
38
+ # `response.created` event is the commit point. If accepted input cannot be
39
+ # committed, `response.steer.failed` returns it with the same steering ID.
40
+ #
41
+ # When the response stops for client-owned tool output or approval, the input
42
+ # remains queued and `response.steer.pending` is emitted after
43
+ # `response.completed`. Fill the pending event's `required_input` stubs with saved
44
+ # results and send one matching explicit `response.create` per parent. Do not
45
+ # resend accepted input while it is still queued.
46
+ #
47
+ # @param sequence_number [Integer] The sequence number for this event.
48
+ #
49
+ # @param steer [OpenAI::Models::Beta::BetaResponseSteerAcceptedEvent::Steer] The accepted steering submission.
50
+ #
51
+ # @param stream_id [String] The WebSocket lane that emitted this event. This field is present when
52
+ #
53
+ # @param type [Symbol, :"response.steer.accepted"] The event discriminator. Always `response.steer.accepted`.
54
+
55
+ # @see OpenAI::Models::Beta::BetaResponseSteerAcceptedEvent#steer
56
+ class Steer < OpenAI::Internal::Type::BaseModel
57
+ # @!attribute id
58
+ # The ID assigned to the steering submission.
59
+ #
60
+ # @return [String]
61
+ required :id, String
62
+
63
+ # @!attribute previous_response_id
64
+ # The ID of the response being steered.
65
+ #
66
+ # @return [String]
67
+ required :previous_response_id, String
68
+
69
+ # @!method initialize(id:, previous_response_id:)
70
+ # The accepted steering submission.
71
+ #
72
+ # @param id [String] The ID assigned to the steering submission.
73
+ #
74
+ # @param previous_response_id [String] The ID of the response being steered.
75
+ end
76
+ end
77
+ end
78
+
79
+ BetaResponseSteerAcceptedEvent = Beta::BetaResponseSteerAcceptedEvent
80
+ end
81
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ # A machine-readable steering error code. Clients should handle unknown values
7
+ # because additional codes may be introduced. Known values include:
8
+ #
9
+ # - `response_not_found`: The target response is not available on this connection.
10
+ # - `invalid_input`: The event or input failed validation.
11
+ # - `steering_not_supported`: The model or response execution mode does not
12
+ # support steering.
13
+ # - `too_many_pending_steers`: Too much steering input is pending for the
14
+ # response.
15
+ # - `response_already_completed`: The response completed and is no longer
16
+ # accepting steering input.
17
+ # - `response_not_active`: The response is no longer accepting steering input.
18
+ # - `successor_creation_failed`: The successor response could not be created.
19
+ module BetaResponseSteerErrorCode
20
+ extend OpenAI::Internal::Type::Union
21
+
22
+ variant const: -> { OpenAI::Models::Beta::BetaResponseSteerErrorCode::RESPONSE_NOT_FOUND }
23
+
24
+ variant const: -> { OpenAI::Models::Beta::BetaResponseSteerErrorCode::INVALID_INPUT }
25
+
26
+ variant const: -> { OpenAI::Models::Beta::BetaResponseSteerErrorCode::STEERING_NOT_SUPPORTED }
27
+
28
+ variant const: -> { OpenAI::Models::Beta::BetaResponseSteerErrorCode::TOO_MANY_PENDING_STEERS }
29
+
30
+ variant const: -> { OpenAI::Models::Beta::BetaResponseSteerErrorCode::RESPONSE_ALREADY_COMPLETED }
31
+
32
+ variant const: -> { OpenAI::Models::Beta::BetaResponseSteerErrorCode::RESPONSE_NOT_ACTIVE }
33
+
34
+ variant const: -> { OpenAI::Models::Beta::BetaResponseSteerErrorCode::SUCCESSOR_CREATION_FAILED }
35
+
36
+ variant String
37
+
38
+ # @!method self.variants
39
+ # @return [Array(Symbol, String)]
40
+
41
+ define_sorbet_constant!(:Variants) do
42
+ T.type_alias { T.any(OpenAI::Beta::BetaResponseSteerErrorCode::TaggedSymbol, String) }
43
+ end
44
+
45
+ # @!group
46
+
47
+ RESPONSE_NOT_FOUND = :response_not_found
48
+ INVALID_INPUT = :invalid_input
49
+ STEERING_NOT_SUPPORTED = :steering_not_supported
50
+ TOO_MANY_PENDING_STEERS = :too_many_pending_steers
51
+ RESPONSE_ALREADY_COMPLETED = :response_already_completed
52
+ RESPONSE_NOT_ACTIVE = :response_not_active
53
+ SUCCESSOR_CREATION_FAILED = :successor_creation_failed
54
+
55
+ # @!endgroup
56
+ end
57
+ end
58
+
59
+ BetaResponseSteerErrorCode = Beta::BetaResponseSteerErrorCode
60
+ end
61
+ end
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class BetaResponseSteerEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute input
8
+ # Input to queue for a continuation of the response. Uses the same string or
9
+ # input-item shape as `response.create.input`, with a non-empty array when
10
+ # supplying input items.
11
+ #
12
+ # Steering accepts only messages with the `user` role. Each message may contain
13
+ # only `type`, `role`, and `content`, with `content` as a string or an array of
14
+ # `input_text`, `input_image`, and `input_file` parts. The optional `type` must be
15
+ # `message`. Other roles, tool outputs, and item types are not supported for
16
+ # steering.
17
+ #
18
+ # @return [String, Array<Hash{Symbol=>Object}>]
19
+ required :input, union: -> { OpenAI::Beta::BetaResponseSteerInput }
20
+
21
+ # @!attribute previous_response_id
22
+ # The ID of the response to steer on this WebSocket connection.
23
+ #
24
+ # @return [String]
25
+ required :previous_response_id, String
26
+
27
+ # @!attribute type
28
+ # The event discriminator. Always `response.steer`.
29
+ #
30
+ # @return [Symbol, :"response.steer"]
31
+ required :type, const: :"response.steer"
32
+
33
+ # @!method initialize(input:, previous_response_id:, type: :"response.steer")
34
+ # Some parameter documentations has been truncated, see
35
+ # {OpenAI::Models::Beta::BetaResponseSteerEvent} for more details.
36
+ #
37
+ # Queues user input to steer a response on this WebSocket connection. Input can
38
+ # contain text, images, and files. Steering is supported only for single-agent
39
+ # responses on models and execution modes that support steering. Responses bound
40
+ # to a conversation or using automatic compaction do not support steering.
41
+ #
42
+ # A `response.steer.accepted` event acknowledges that the server owns the queued
43
+ # input, not that it has been applied. The successor's `response.created` event is
44
+ # the commit point. Input that cannot be committed is returned in
45
+ # `response.steer.failed`.
46
+ #
47
+ # Steering may cause the active response to finish at a safe output boundary with
48
+ # `response.incomplete` and `incomplete_details.reason` set to `steered`, followed
49
+ # automatically by a successor `response.created`. Normal completion can also be
50
+ # followed by an automatic successor. Automatic successors inherit the previous
51
+ # response's settings and continue from it with the queued input.
52
+ #
53
+ # If the response stops for client-owned tool output or approval, accepted
54
+ # steering input remains queued and `response.steer.pending` is emitted after
55
+ # `response.completed`. Fill the `required_input` stubs from that event with saved
56
+ # tool results or approval decisions, and send one explicit `response.create` per
57
+ # parent with the same `previous_response_id` and WebSocket lane. Do not rerun
58
+ # tools or resend accepted steering input. The queued input is prepended in
59
+ # submission order to that request's input, and the explicit request retains its
60
+ # own settings.
61
+ #
62
+ # This event accepts only `type`, `previous_response_id`, and `input`. Do not send
63
+ # `stream_id`; the target response determines the WebSocket lane.
64
+ #
65
+ # @param input [String, Array<Hash{Symbol=>Object}>] Input to queue for a continuation of the response. Uses the same string or
66
+ #
67
+ # @param previous_response_id [String] The ID of the response to steer on this WebSocket connection.
68
+ #
69
+ # @param type [Symbol, :"response.steer"] The event discriminator. Always `response.steer`.
70
+ end
71
+ end
72
+
73
+ BetaResponseSteerEvent = Beta::BetaResponseSteerEvent
74
+ end
75
+ end
@@ -0,0 +1,151 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ class BetaResponseSteerFailedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute error
8
+ # Information about why the input could not be committed.
9
+ #
10
+ # @return [OpenAI::Models::Beta::BetaResponseSteerFailedEvent::Error]
11
+ required :error, -> { OpenAI::Beta::BetaResponseSteerFailedEvent::Error }
12
+
13
+ # @!attribute sequence_number
14
+ # The sequence number for this event.
15
+ #
16
+ # @return [Integer]
17
+ required :sequence_number, Integer
18
+
19
+ # @!attribute steer
20
+ # The steering submission that could not be committed.
21
+ #
22
+ # @return [OpenAI::Models::Beta::BetaResponseSteerFailedEvent::Steer]
23
+ required :steer, -> { OpenAI::Beta::BetaResponseSteerFailedEvent::Steer }
24
+
25
+ # @!attribute type
26
+ # The event discriminator. Always `response.steer.failed`.
27
+ #
28
+ # @return [Symbol, :"response.steer.failed"]
29
+ required :type, const: :"response.steer.failed"
30
+
31
+ # @!attribute stream_id
32
+ # The WebSocket lane that emitted this event, when the target response is
33
+ # available and its `response.create` event supplied a `stream_id`.
34
+ #
35
+ # @return [String, nil]
36
+ optional :stream_id, String
37
+
38
+ # @!method initialize(error:, sequence_number:, steer:, stream_id: nil, type: :"response.steer.failed")
39
+ # Some parameter documentations has been truncated, see
40
+ # {OpenAI::Models::Beta::BetaResponseSteerFailedEvent} for more details.
41
+ #
42
+ # Emitted when steering input is rejected or cannot be committed to a successor
43
+ # response. Returns the original, uncommitted input so the client can carry it
44
+ # into `response.create` when appropriate. Invalid input must be corrected before
45
+ # retrying.
46
+ #
47
+ # Failures after acceptance include the same steering ID. Failures before an ID is
48
+ # allocated omit `steer.id`. A lost connection or missing acknowledgement leaves
49
+ # the outcome unknown; it is not proof that the input was rejected.
50
+ #
51
+ # @param error [OpenAI::Models::Beta::BetaResponseSteerFailedEvent::Error] Information about why the input could not be committed.
52
+ #
53
+ # @param sequence_number [Integer] The sequence number for this event.
54
+ #
55
+ # @param steer [OpenAI::Models::Beta::BetaResponseSteerFailedEvent::Steer] The steering submission that could not be committed.
56
+ #
57
+ # @param stream_id [String] The WebSocket lane that emitted this event, when the target response is
58
+ #
59
+ # @param type [Symbol, :"response.steer.failed"] The event discriminator. Always `response.steer.failed`.
60
+
61
+ # @see OpenAI::Models::Beta::BetaResponseSteerFailedEvent#error
62
+ class Error < OpenAI::Internal::Type::BaseModel
63
+ # @!attribute code
64
+ # A machine-readable steering error code. Clients should handle unknown values
65
+ # because additional codes may be introduced. Known values include:
66
+ #
67
+ # - `response_not_found`: The target response is not available on this connection.
68
+ # - `invalid_input`: The event or input failed validation.
69
+ # - `steering_not_supported`: The model or response execution mode does not
70
+ # support steering.
71
+ # - `too_many_pending_steers`: Too much steering input is pending for the
72
+ # response.
73
+ # - `response_already_completed`: The response completed and is no longer
74
+ # accepting steering input.
75
+ # - `response_not_active`: The response is no longer accepting steering input.
76
+ # - `successor_creation_failed`: The successor response could not be created.
77
+ #
78
+ # @return [Symbol, String, OpenAI::Models::Beta::BetaResponseSteerErrorCode]
79
+ required :code, union: -> { OpenAI::Beta::BetaResponseSteerErrorCode }
80
+
81
+ # @!attribute message
82
+ # A human-readable description of the error.
83
+ #
84
+ # @return [String]
85
+ required :message, String
86
+
87
+ # @!attribute type
88
+ # The error type. Always `invalid_request_error`.
89
+ #
90
+ # @return [Symbol, :invalid_request_error]
91
+ required :type, const: :invalid_request_error
92
+
93
+ # @!method initialize(code:, message:, type: :invalid_request_error)
94
+ # Some parameter documentations has been truncated, see
95
+ # {OpenAI::Models::Beta::BetaResponseSteerFailedEvent::Error} for more details.
96
+ #
97
+ # Information about why the input could not be committed.
98
+ #
99
+ # @param code [Symbol, String, OpenAI::Models::Beta::BetaResponseSteerErrorCode] A machine-readable steering error code. Clients should handle unknown
100
+ #
101
+ # @param message [String] A human-readable description of the error.
102
+ #
103
+ # @param type [Symbol, :invalid_request_error] The error type. Always `invalid_request_error`.
104
+ end
105
+
106
+ # @see OpenAI::Models::Beta::BetaResponseSteerFailedEvent#steer
107
+ class Steer < OpenAI::Internal::Type::BaseModel
108
+ # @!attribute input
109
+ # Input to queue for a continuation of the response. Uses the same string or
110
+ # input-item shape as `response.create.input`, with a non-empty array when
111
+ # supplying input items.
112
+ #
113
+ # Steering accepts only messages with the `user` role. Each message may contain
114
+ # only `type`, `role`, and `content`, with `content` as a string or an array of
115
+ # `input_text`, `input_image`, and `input_file` parts. The optional `type` must be
116
+ # `message`. Other roles, tool outputs, and item types are not supported for
117
+ # steering.
118
+ #
119
+ # @return [String, Array<Hash{Symbol=>Object}>]
120
+ required :input, union: -> { OpenAI::Beta::BetaResponseSteerInput }
121
+
122
+ # @!attribute previous_response_id
123
+ # The ID of the response that was targeted for steering.
124
+ #
125
+ # @return [String]
126
+ required :previous_response_id, String
127
+
128
+ # @!attribute id
129
+ # The ID assigned to the steering submission, if one was allocated.
130
+ #
131
+ # @return [String, nil]
132
+ optional :id, String
133
+
134
+ # @!method initialize(input:, previous_response_id:, id: nil)
135
+ # Some parameter documentations has been truncated, see
136
+ # {OpenAI::Models::Beta::BetaResponseSteerFailedEvent::Steer} for more details.
137
+ #
138
+ # The steering submission that could not be committed.
139
+ #
140
+ # @param input [String, Array<Hash{Symbol=>Object}>] Input to queue for a continuation of the response. Uses the same string or
141
+ #
142
+ # @param previous_response_id [String] The ID of the response that was targeted for steering.
143
+ #
144
+ # @param id [String] The ID assigned to the steering submission, if one was allocated.
145
+ end
146
+ end
147
+ end
148
+
149
+ BetaResponseSteerFailedEvent = Beta::BetaResponseSteerFailedEvent
150
+ end
151
+ end