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
@@ -82,7 +82,7 @@ module OpenAI
82
82
  # - [Conversation state](https://platform.openai.com/docs/guides/conversation-state)
83
83
  # - [Function calling](https://platform.openai.com/docs/guides/function-calling)
84
84
  #
85
- # @return [String, Array<OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput>, nil]
85
+ # @return [String, Array<OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput>, nil]
86
86
  optional :input, union: -> { OpenAI::Responses::ResponseCreateParams::Input }
87
87
 
88
88
  # @!attribute instructions
@@ -124,9 +124,9 @@ module OpenAI
124
124
  optional :metadata, OpenAI::Internal::Type::HashOf[String], nil?: true
125
125
 
126
126
  # @!attribute model
127
- # Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI offers a
128
- # wide range of models with different capabilities, performance characteristics,
129
- # and price points. Refer to the
127
+ # Model ID used to generate the response, like `gpt-6-astra`. OpenAI offers a wide
128
+ # range of models with different capabilities, performance characteristics, and
129
+ # price points. Refer to the
130
130
  # [model guide](https://platform.openai.com/docs/models) to browse and compare
131
131
  # available models.
132
132
  #
@@ -212,8 +212,6 @@ module OpenAI
212
212
  )
213
213
 
214
214
  # @!attribute reasoning
215
- # **gpt-5 and o-series models only**
216
- #
217
215
  # Configuration options for
218
216
  # [reasoning models](https://platform.openai.com/docs/guides/reasoning).
219
217
  #
@@ -387,7 +385,7 @@ module OpenAI
387
385
  #
388
386
  # @param include [Array<Symbol, OpenAI::Models::Responses::ResponseIncludable>, nil] Specify additional output data to include in the model response. Currently suppo
389
387
  #
390
- # @param input [String, Array<OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput>] Text, image, or file inputs to the model, used to generate a response.
388
+ # @param input [String, Array<OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput>] Text, image, or file inputs to the model, used to generate a response.
391
389
  #
392
390
  # @param instructions [String, nil] A system (or developer) message inserted into the model's context.
393
391
  #
@@ -397,7 +395,7 @@ module OpenAI
397
395
  #
398
396
  # @param metadata [Hash{Symbol=>String}, nil] Set of 16 key-value pairs that can be attached to an object. This can be
399
397
  #
400
- # @param model [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::ResponsesOnlyModel] Model ID used to generate the response, like `gpt-4o` or `o3`. OpenAI
398
+ # @param model [String, Symbol, OpenAI::Models::ChatModel, OpenAI::Models::ResponsesModel::ResponsesOnlyModel] Model ID used to generate the response, like `gpt-6-astra`. OpenAI
401
399
  #
402
400
  # @param moderation [OpenAI::Models::Responses::ResponseCreateParams::Moderation, nil] Configuration for running moderation on the input and output of this response.
403
401
  #
@@ -413,7 +411,7 @@ module OpenAI
413
411
  #
414
412
  # @param prompt_cache_retention [Symbol, OpenAI::Models::Responses::ResponseCreateParams::PromptCacheRetention, nil] Deprecated. Use `prompt_cache_options.ttl` instead.
415
413
  #
416
- # @param reasoning [OpenAI::Models::Reasoning, nil] **gpt-5 and o-series models only**
414
+ # @param reasoning [OpenAI::Models::Reasoning, nil] Configuration options for
417
415
  #
418
416
  # @param safety_identifier [String, nil] A stable identifier used to help detect users of your application that may be vi
419
417
  #
@@ -498,7 +496,7 @@ module OpenAI
498
496
  variant -> { OpenAI::Responses::ResponseInput }
499
497
 
500
498
  # @!method self.variants
501
- # @return [Array(String, Array<OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput>)]
499
+ # @return [Array(String, Array<OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput>)]
502
500
  end
503
501
 
504
502
  class Moderation < OpenAI::Internal::Type::BaseModel
@@ -34,6 +34,12 @@ module OpenAI
34
34
  # @return [String, nil]
35
35
  optional :id, String
36
36
 
37
+ # @!attribute async
38
+ # Whether the custom tool call runs asynchronously.
39
+ #
40
+ # @return [Boolean, nil]
41
+ optional :async, OpenAI::Internal::Type::Boolean
42
+
37
43
  # @!attribute caller_
38
44
  # The execution context that produced this tool call.
39
45
  #
@@ -51,7 +57,7 @@ module OpenAI
51
57
  # @return [String, nil]
52
58
  optional :namespace, String
53
59
 
54
- # @!method initialize(call_id:, input:, name:, id: nil, caller_: nil, namespace: nil, type: :custom_tool_call)
60
+ # @!method initialize(call_id:, input:, name:, id: nil, async: nil, caller_: nil, namespace: nil, type: :custom_tool_call)
55
61
  # Some parameter documentations has been truncated, see
56
62
  # {OpenAI::Models::Responses::ResponseCustomToolCall} for more details.
57
63
  #
@@ -65,6 +71,8 @@ module OpenAI
65
71
  #
66
72
  # @param id [String] The unique ID of the custom tool call in the OpenAI platform.
67
73
  #
74
+ # @param async [Boolean] Whether the custom tool call runs asynchronously.
75
+ #
68
76
  # @param caller_ [OpenAI::Models::Responses::ResponseCustomToolCall::Caller::Direct, OpenAI::Models::Responses::ResponseCustomToolCall::Caller::Program, nil] The execution context that produced this tool call.
69
77
  #
70
78
  # @param namespace [String] The namespace of the custom tool being called.
@@ -23,7 +23,7 @@ module OpenAI
23
23
  # @return [String, nil]
24
24
  optional :created_by, String
25
25
 
26
- # @!method initialize(call_id:, input:, name:, id:, status:, caller_: nil, namespace: nil, created_by: nil, type: :custom_tool_call)
26
+ # @!method initialize(call_id:, input:, name:, id:, status:, async: nil, caller_: nil, namespace: nil, created_by: nil, type: :custom_tool_call)
27
27
  # Some parameter documentations has been truncated, see
28
28
  # {OpenAI::Models::Responses::ResponseCustomToolCallItem} for more details.
29
29
  #
@@ -39,6 +39,8 @@ module OpenAI
39
39
  #
40
40
  # @param status [Symbol, OpenAI::Models::Responses::ResponseCustomToolCallItem::Status] The status of the item. One of `in_progress`, `completed`, or
41
41
  #
42
+ # @param async [Boolean] Whether the custom tool call runs asynchronously.
43
+ #
42
44
  # @param caller_ [OpenAI::Models::Responses::ResponseCustomToolCall::Caller::Direct, OpenAI::Models::Responses::ResponseCustomToolCall::Caller::Program, nil] The execution context that produced this tool call.
43
45
  #
44
46
  # @param namespace [String] The namespace of the custom tool being called.
@@ -16,7 +16,12 @@ module OpenAI
16
16
  # @return [String]
17
17
  required :message, String
18
18
 
19
- # @!method initialize(code:, message:)
19
+ # @!attribute misalignment
20
+ #
21
+ # @return [OpenAI::Models::Responses::ResponseError::Misalignment, nil]
22
+ optional :misalignment, -> { OpenAI::Responses::ResponseError::Misalignment }
23
+
24
+ # @!method initialize(code:, message:, misalignment: nil)
20
25
  # Some parameter documentations has been truncated, see
21
26
  # {OpenAI::Models::Responses::ResponseError} for more details.
22
27
  #
@@ -25,6 +30,8 @@ module OpenAI
25
30
  # @param code [Symbol, OpenAI::Models::Responses::ResponseError::Code] The error code for the response.
26
31
  #
27
32
  # @param message [String] A human-readable description of the error.
33
+ #
34
+ # @param misalignment [OpenAI::Models::Responses::ResponseError::Misalignment]
28
35
 
29
36
  # The error code for the response.
30
37
  #
@@ -37,6 +44,7 @@ module OpenAI
37
44
  INVALID_PROMPT = :invalid_prompt
38
45
  DATA_RESIDENCY_MISMATCH = :data_residency_mismatch
39
46
  BIO_POLICY = :bio_policy
47
+ MISALIGNMENT_POLICY_VIOLATION = :misalignment_policy_violation
40
48
  VECTOR_STORE_TIMEOUT = :vector_store_timeout
41
49
  INVALID_IMAGE = :invalid_image
42
50
  INVALID_IMAGE_FORMAT = :invalid_image_format
@@ -56,6 +64,93 @@ module OpenAI
56
64
  # @!method self.values
57
65
  # @return [Array<Symbol>]
58
66
  end
67
+
68
+ # @see OpenAI::Models::Responses::ResponseError#misalignment
69
+ class Misalignment < OpenAI::Internal::Type::BaseModel
70
+ # @!attribute detailed_explanation
71
+ # The public explanation for this block.
72
+ #
73
+ # @return [String, nil]
74
+ optional :detailed_explanation, String
75
+
76
+ # @!attribute error_type
77
+ # An optional classification; clients must accept additional values.
78
+ #
79
+ # @return [String, Symbol, OpenAI::Models::Responses::ResponseError::Misalignment::ErrorType, nil]
80
+ optional :error_type, union: -> { OpenAI::Responses::ResponseError::Misalignment::ErrorType }
81
+
82
+ # @!attribute steer
83
+ # An optional public continuation instruction.
84
+ #
85
+ # @return [OpenAI::Models::Responses::ResponseError::Misalignment::Steer, nil]
86
+ optional :steer, -> { OpenAI::Responses::ResponseError::Misalignment::Steer }
87
+
88
+ # @!method initialize(detailed_explanation: nil, error_type: nil, steer: nil)
89
+ # @param detailed_explanation [String] The public explanation for this block.
90
+ #
91
+ # @param error_type [String, Symbol, OpenAI::Models::Responses::ResponseError::Misalignment::ErrorType] An optional classification; clients must accept additional values.
92
+ #
93
+ # @param steer [OpenAI::Models::Responses::ResponseError::Misalignment::Steer] An optional public continuation instruction.
94
+
95
+ # An optional classification; clients must accept additional values.
96
+ #
97
+ # @see OpenAI::Models::Responses::ResponseError::Misalignment#error_type
98
+ module ErrorType
99
+ extend OpenAI::Internal::Type::Union
100
+
101
+ variant String
102
+
103
+ variant(
104
+ const: -> {
105
+ OpenAI::Models::Responses::ResponseError::Misalignment::ErrorType::POTENTIALLY_UNINTENDED_DATA_TRANSFER
106
+ }
107
+ )
108
+
109
+ variant(
110
+ const: -> {
111
+ OpenAI::Models::Responses::ResponseError::Misalignment::ErrorType::POTENTIALLY_UNINTENDED_DATA_ACCESS
112
+ }
113
+ )
114
+
115
+ variant(
116
+ const: -> {
117
+ OpenAI::Models::Responses::ResponseError::Misalignment::ErrorType::POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY
118
+ }
119
+ )
120
+
121
+ variant const: -> { OpenAI::Models::Responses::ResponseError::Misalignment::ErrorType::OTHER }
122
+
123
+ # @!method self.variants
124
+ # @return [Array(String, Symbol)]
125
+
126
+ define_sorbet_constant!(:Variants) do
127
+ T.type_alias { T.any(String, OpenAI::Responses::ResponseError::Misalignment::ErrorType::TaggedSymbol) }
128
+ end
129
+
130
+ # @!group
131
+
132
+ POTENTIALLY_UNINTENDED_DATA_TRANSFER = :potentially_unintended_data_transfer
133
+ POTENTIALLY_UNINTENDED_DATA_ACCESS = :potentially_unintended_data_access
134
+ POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY = :potentially_unintended_destructive_activity
135
+ OTHER = :other
136
+
137
+ # @!endgroup
138
+ end
139
+
140
+ # @see OpenAI::Models::Responses::ResponseError::Misalignment#steer
141
+ class Steer < OpenAI::Internal::Type::BaseModel
142
+ # @!attribute message
143
+ # The public continuation instruction.
144
+ #
145
+ # @return [String]
146
+ required :message, String
147
+
148
+ # @!method initialize(message:)
149
+ # An optional public continuation instruction.
150
+ #
151
+ # @param message [String] The public continuation instruction.
152
+ end
153
+ end
59
154
  end
60
155
  end
61
156
  end
@@ -42,6 +42,12 @@ module OpenAI
42
42
  # @return [String, nil]
43
43
  optional :id, String
44
44
 
45
+ # @!attribute async
46
+ # Whether the function tool call runs asynchronously.
47
+ #
48
+ # @return [Boolean, nil]
49
+ optional :async, OpenAI::Internal::Type::Boolean
50
+
45
51
  # @!attribute caller_
46
52
  # The execution context that produced this tool call.
47
53
  #
@@ -66,7 +72,7 @@ module OpenAI
66
72
  # @return [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCall::Status, nil]
67
73
  optional :status, enum: -> { OpenAI::Responses::ResponseFunctionToolCall::Status }
68
74
 
69
- # @!method initialize(arguments:, call_id:, name:, id: nil, caller_: nil, namespace: nil, status: nil, type: :function_call)
75
+ # @!method initialize(arguments:, call_id:, name:, id: nil, async: nil, caller_: nil, namespace: nil, status: nil, type: :function_call)
70
76
  # Some parameter documentations has been truncated, see
71
77
  # {OpenAI::Models::Responses::ResponseFunctionToolCall} for more details.
72
78
  #
@@ -82,6 +88,8 @@ module OpenAI
82
88
  #
83
89
  # @param id [String] The unique ID of the function tool call.
84
90
  #
91
+ # @param async [Boolean] Whether the function tool call runs asynchronously.
92
+ #
85
93
  # @param caller_ [OpenAI::Models::Responses::ResponseFunctionToolCall::Caller::Direct, OpenAI::Models::Responses::ResponseFunctionToolCall::Caller::Program, nil] The execution context that produced this tool call.
86
94
  #
87
95
  # @param namespace [String] The namespace of the function to run.
@@ -23,7 +23,7 @@ module OpenAI
23
23
  # @return [String, nil]
24
24
  optional :created_by, String
25
25
 
26
- # @!method initialize(arguments:, call_id:, name:, id:, status:, caller_: nil, namespace: nil, created_by: nil, type: :function_call)
26
+ # @!method initialize(arguments:, call_id:, name:, id:, status:, async: nil, caller_: nil, namespace: nil, created_by: nil, type: :function_call)
27
27
  # Some parameter documentations has been truncated, see
28
28
  # {OpenAI::Models::Responses::ResponseFunctionToolCallItem} for more details.
29
29
  #
@@ -41,6 +41,8 @@ module OpenAI
41
41
  #
42
42
  # @param status [Symbol, OpenAI::Models::Responses::ResponseFunctionToolCallItem::Status] The status of the item. One of `in_progress`, `completed`, or
43
43
  #
44
+ # @param async [Boolean] Whether the function tool call runs asynchronously.
45
+ #
44
46
  # @param caller_ [OpenAI::Models::Responses::ResponseFunctionToolCall::Caller::Direct, OpenAI::Models::Responses::ResponseFunctionToolCall::Caller::Program, nil] The execution context that produced this tool call.
45
47
  #
46
48
  # @param namespace [String] The namespace of the function to run.
@@ -28,6 +28,10 @@ module OpenAI
28
28
  #
29
29
  # An event that is emitted when a response finishes as incomplete.
30
30
  #
31
+ # Over WebSocket, steering can finish a response with
32
+ # `response.incomplete_details.reason` set to `steered`, followed automatically by
33
+ # a successor `response.created` that commits the queued steering input.
34
+ #
31
35
  # @param response [OpenAI::Models::Responses::Response] The response that was incomplete.
32
36
  #
33
37
  # @param sequence_number [Integer] The sequence number of this event.
@@ -56,6 +56,11 @@ module OpenAI
56
56
 
57
57
  variant :additional_tools, -> { OpenAI::Responses::ResponseInputItem::AdditionalTools }
58
58
 
59
+ # An update to the conversation's response configuration. The configuration
60
+ # remains in effect for subsequent responses until it is replaced by another
61
+ # configuration update.
62
+ variant :configuration_update, -> { OpenAI::Responses::ResponseConfigurationUpdateItemParam }
63
+
59
64
  # A description of the chain of thought used by a reasoning model while generating
60
65
  # a response. Be sure to include these items in your `input` to the Responses API
61
66
  # for subsequent turns of a conversation if you are manually
@@ -1940,7 +1945,7 @@ module OpenAI
1940
1945
  end
1941
1946
 
1942
1947
  # @!method self.variants
1943
- # @return [Array(OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput)]
1948
+ # @return [Array(OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput)]
1944
1949
  end
1945
1950
  end
1946
1951
  end
@@ -40,6 +40,10 @@ module OpenAI
40
40
 
41
41
  variant :additional_tools, -> { OpenAI::Responses::ResponseItem::AdditionalTools }
42
42
 
43
+ # A configuration update that applies to subsequent responses until it is
44
+ # replaced by another configuration update.
45
+ variant :configuration_update, -> { OpenAI::Responses::ResponseConfigurationUpdateItem }
46
+
43
47
  # A description of the chain of thought used by a reasoning model while generating
44
48
  # a response. Be sure to include these items in your `input` to the Responses API
45
49
  # for subsequent turns of a conversation if you are manually
@@ -768,7 +772,7 @@ module OpenAI
768
772
  end
769
773
 
770
774
  # @!method self.variants
771
- # @return [Array(OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseItem::Program, OpenAI::Models::Responses::ResponseItem::ProgramOutput, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem)]
775
+ # @return [Array(OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseItem::Program, OpenAI::Models::Responses::ResponseItem::ProgramOutput, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem)]
772
776
  end
773
777
  end
774
778
  end
@@ -7,7 +7,7 @@ module OpenAI
7
7
  # @!attribute data
8
8
  # A list of items used to generate this response.
9
9
  #
10
- # @return [Array<OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseItem::Program, OpenAI::Models::Responses::ResponseItem::ProgramOutput, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>]
10
+ # @return [Array<OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseItem::Program, OpenAI::Models::Responses::ResponseItem::ProgramOutput, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>]
11
11
  required :data, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Responses::ResponseItem] }
12
12
 
13
13
  # @!attribute first_id
@@ -37,7 +37,7 @@ module OpenAI
37
37
  # @!method initialize(data:, first_id:, has_more:, last_id:, object: :list)
38
38
  # A list of Response items.
39
39
  #
40
- # @param data [Array<OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::AdditionalTools, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseItem::Program, OpenAI::Models::Responses::ResponseItem::ProgramOutput, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>] A list of items used to generate this response.
40
+ # @param data [Array<OpenAI::Models::Responses::ResponseInputMessageItem, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCallItem, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseItem::Program, OpenAI::Models::Responses::ResponseItem::ProgramOutput, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseItem::LocalShellCall, OpenAI::Models::Responses::ResponseItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseItem::McpListTools, OpenAI::Models::Responses::ResponseItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallItem, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem>] A list of items used to generate this response.
41
41
  #
42
42
  # @param first_id [String] The ID of the first item in the list.
43
43
  #
@@ -0,0 +1,79 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseSteerAcceptedEvent < 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::Responses::ResponseSteerAcceptedEvent::Steer]
17
+ required :steer, -> { OpenAI::Responses::ResponseSteerAcceptedEvent::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::Responses::ResponseSteerAcceptedEvent} 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::Responses::ResponseSteerAcceptedEvent::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::Responses::ResponseSteerAcceptedEvent#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
+ end
79
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
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 ResponseSteerErrorCode
20
+ extend OpenAI::Internal::Type::Union
21
+
22
+ variant const: -> { OpenAI::Models::Responses::ResponseSteerErrorCode::RESPONSE_NOT_FOUND }
23
+
24
+ variant const: -> { OpenAI::Models::Responses::ResponseSteerErrorCode::INVALID_INPUT }
25
+
26
+ variant const: -> { OpenAI::Models::Responses::ResponseSteerErrorCode::STEERING_NOT_SUPPORTED }
27
+
28
+ variant const: -> { OpenAI::Models::Responses::ResponseSteerErrorCode::TOO_MANY_PENDING_STEERS }
29
+
30
+ variant const: -> { OpenAI::Models::Responses::ResponseSteerErrorCode::RESPONSE_ALREADY_COMPLETED }
31
+
32
+ variant const: -> { OpenAI::Models::Responses::ResponseSteerErrorCode::RESPONSE_NOT_ACTIVE }
33
+
34
+ variant const: -> { OpenAI::Models::Responses::ResponseSteerErrorCode::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::Responses::ResponseSteerErrorCode::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
+ end
59
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ class ResponseSteerEvent < 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::Responses::ResponseSteerInput }
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::Responses::ResponseSteerEvent} 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
+ end
73
+ end