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
@@ -4,7 +4,8 @@ module OpenAI
4
4
  type response_error =
5
5
  {
6
6
  code: OpenAI::Models::Responses::ResponseError::code,
7
- message: String
7
+ message: String,
8
+ misalignment: OpenAI::Responses::ResponseError::Misalignment
8
9
  }
9
10
 
10
11
  class ResponseError < OpenAI::Internal::Type::BaseModel
@@ -12,14 +13,22 @@ module OpenAI
12
13
 
13
14
  attr_accessor message: String
14
15
 
16
+ attr_reader misalignment: OpenAI::Responses::ResponseError::Misalignment?
17
+
18
+ def misalignment=: (
19
+ OpenAI::Responses::ResponseError::Misalignment
20
+ ) -> OpenAI::Responses::ResponseError::Misalignment
21
+
15
22
  def initialize: (
16
23
  code: OpenAI::Models::Responses::ResponseError::code,
17
- message: String
24
+ message: String,
25
+ ?misalignment: OpenAI::Responses::ResponseError::Misalignment
18
26
  ) -> void
19
27
 
20
28
  def to_hash: -> {
21
29
  code: OpenAI::Models::Responses::ResponseError::code,
22
- message: String
30
+ message: String,
31
+ misalignment: OpenAI::Responses::ResponseError::Misalignment
23
32
  }
24
33
 
25
34
  type code =
@@ -28,6 +37,7 @@ module OpenAI
28
37
  | :invalid_prompt
29
38
  | :data_residency_mismatch
30
39
  | :bio_policy
40
+ | :misalignment_policy_violation
31
41
  | :vector_store_timeout
32
42
  | :invalid_image
33
43
  | :invalid_image_format
@@ -52,6 +62,7 @@ module OpenAI
52
62
  INVALID_PROMPT: :invalid_prompt
53
63
  DATA_RESIDENCY_MISMATCH: :data_residency_mismatch
54
64
  BIO_POLICY: :bio_policy
65
+ MISALIGNMENT_POLICY_VIOLATION: :misalignment_policy_violation
55
66
  VECTOR_STORE_TIMEOUT: :vector_store_timeout
56
67
  INVALID_IMAGE: :invalid_image
57
68
  INVALID_IMAGE_FORMAT: :invalid_image_format
@@ -70,6 +81,71 @@ module OpenAI
70
81
 
71
82
  def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseError::code]
72
83
  end
84
+
85
+ type misalignment =
86
+ {
87
+ detailed_explanation: String,
88
+ error_type: OpenAI::Models::Responses::ResponseError::Misalignment::error_type,
89
+ steer: OpenAI::Responses::ResponseError::Misalignment::Steer
90
+ }
91
+
92
+ class Misalignment < OpenAI::Internal::Type::BaseModel
93
+ attr_reader detailed_explanation: String?
94
+
95
+ def detailed_explanation=: (String) -> String
96
+
97
+ attr_reader error_type: OpenAI::Models::Responses::ResponseError::Misalignment::error_type?
98
+
99
+ def error_type=: (
100
+ OpenAI::Models::Responses::ResponseError::Misalignment::error_type
101
+ ) -> OpenAI::Models::Responses::ResponseError::Misalignment::error_type
102
+
103
+ attr_reader steer: OpenAI::Responses::ResponseError::Misalignment::Steer?
104
+
105
+ def steer=: (
106
+ OpenAI::Responses::ResponseError::Misalignment::Steer
107
+ ) -> OpenAI::Responses::ResponseError::Misalignment::Steer
108
+
109
+ def initialize: (
110
+ ?detailed_explanation: String,
111
+ ?error_type: OpenAI::Models::Responses::ResponseError::Misalignment::error_type,
112
+ ?steer: OpenAI::Responses::ResponseError::Misalignment::Steer
113
+ ) -> void
114
+
115
+ def to_hash: -> {
116
+ detailed_explanation: String,
117
+ error_type: OpenAI::Models::Responses::ResponseError::Misalignment::error_type,
118
+ steer: OpenAI::Responses::ResponseError::Misalignment::Steer
119
+ }
120
+
121
+ type error_type =
122
+ String
123
+ | :potentially_unintended_data_transfer
124
+ | :potentially_unintended_data_access
125
+ | :potentially_unintended_destructive_activity
126
+ | :other
127
+
128
+ module ErrorType
129
+ extend OpenAI::Internal::Type::Union
130
+
131
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseError::Misalignment::error_type]
132
+
133
+ POTENTIALLY_UNINTENDED_DATA_TRANSFER: :potentially_unintended_data_transfer
134
+ POTENTIALLY_UNINTENDED_DATA_ACCESS: :potentially_unintended_data_access
135
+ POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY: :potentially_unintended_destructive_activity
136
+ OTHER: :other
137
+ end
138
+
139
+ type steer = { message: String }
140
+
141
+ class Steer < OpenAI::Internal::Type::BaseModel
142
+ attr_accessor message: String
143
+
144
+ def initialize: (message: String) -> void
145
+
146
+ def to_hash: -> { message: String }
147
+ end
148
+ end
73
149
  end
74
150
  end
75
151
  end
@@ -8,6 +8,7 @@ module OpenAI
8
8
  name: String,
9
9
  type: :function_call,
10
10
  id: String,
11
+ async: bool,
11
12
  caller_: OpenAI::Models::Responses::ResponseFunctionToolCall::caller_?,
12
13
  namespace: String,
13
14
  status: OpenAI::Models::Responses::ResponseFunctionToolCall::status
@@ -26,6 +27,10 @@ module OpenAI
26
27
 
27
28
  def id=: (String) -> String
28
29
 
30
+ attr_reader async: bool?
31
+
32
+ def async=: (bool) -> bool
33
+
29
34
  attr_accessor caller_: OpenAI::Models::Responses::ResponseFunctionToolCall::caller_?
30
35
 
31
36
  attr_reader namespace: String?
@@ -43,6 +48,7 @@ module OpenAI
43
48
  call_id: String,
44
49
  name: String,
45
50
  ?id: String,
51
+ ?async: bool,
46
52
  ?caller_: OpenAI::Models::Responses::ResponseFunctionToolCall::caller_?,
47
53
  ?namespace: String,
48
54
  ?status: OpenAI::Models::Responses::ResponseFunctionToolCall::status,
@@ -55,6 +61,7 @@ module OpenAI
55
61
  name: String,
56
62
  type: :function_call,
57
63
  id: String,
64
+ async: bool,
58
65
  caller_: OpenAI::Models::Responses::ResponseFunctionToolCall::caller_?,
59
66
  namespace: String,
60
67
  status: OpenAI::Models::Responses::ResponseFunctionToolCall::status
@@ -9,6 +9,7 @@ module OpenAI
9
9
  id: String,
10
10
  status: OpenAI::Models::Responses::ResponseFunctionToolCallItem::status,
11
11
  type: :function_call,
12
+ async: bool,
12
13
  caller_: OpenAI::Models::Responses::ResponseFunctionToolCall::caller_?,
13
14
  namespace: String,
14
15
  created_by: String
@@ -35,6 +36,7 @@ module OpenAI
35
36
  name: String,
36
37
  id: String,
37
38
  status: OpenAI::Models::Responses::ResponseFunctionToolCallItem::status,
39
+ ?async: bool,
38
40
  ?caller_: OpenAI::Models::Responses::ResponseFunctionToolCall::caller_?,
39
41
  ?namespace: String,
40
42
  ?created_by: String,
@@ -48,6 +50,7 @@ module OpenAI
48
50
  id: String,
49
51
  status: OpenAI::Models::Responses::ResponseFunctionToolCallItem::status,
50
52
  type: :function_call,
53
+ async: bool,
51
54
  caller_: OpenAI::Models::Responses::ResponseFunctionToolCall::caller_?,
52
55
  namespace: String,
53
56
  created_by: String
@@ -14,6 +14,7 @@ module OpenAI
14
14
  | OpenAI::Responses::ResponseInputItem::ToolSearchCall
15
15
  | OpenAI::Responses::ResponseToolSearchOutputItemParam
16
16
  | OpenAI::Responses::ResponseInputItem::AdditionalTools
17
+ | OpenAI::Responses::ResponseConfigurationUpdateItemParam
17
18
  | OpenAI::Responses::ResponseReasoningItem
18
19
  | OpenAI::Responses::ResponseCompactionItemParam
19
20
  | OpenAI::Responses::ResponseInputItem::ImageGenerationCall
@@ -13,6 +13,7 @@ module OpenAI
13
13
  | OpenAI::Responses::ResponseToolSearchCall
14
14
  | OpenAI::Responses::ResponseToolSearchOutputItem
15
15
  | OpenAI::Responses::ResponseItem::AdditionalTools
16
+ | OpenAI::Responses::ResponseConfigurationUpdateItem
16
17
  | OpenAI::Responses::ResponseReasoningItem
17
18
  | OpenAI::Responses::ResponseItem::Program
18
19
  | OpenAI::Responses::ResponseItem::ProgramOutput
@@ -0,0 +1,51 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_steer_accepted_event =
5
+ {
6
+ sequence_number: Integer,
7
+ steer: OpenAI::Responses::ResponseSteerAcceptedEvent::Steer,
8
+ type: :"response.steer.accepted",
9
+ stream_id: String
10
+ }
11
+
12
+ class ResponseSteerAcceptedEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor sequence_number: Integer
14
+
15
+ attr_accessor steer: OpenAI::Responses::ResponseSteerAcceptedEvent::Steer
16
+
17
+ attr_accessor type: :"response.steer.accepted"
18
+
19
+ attr_reader stream_id: String?
20
+
21
+ def stream_id=: (String) -> String
22
+
23
+ def initialize: (
24
+ sequence_number: Integer,
25
+ steer: OpenAI::Responses::ResponseSteerAcceptedEvent::Steer,
26
+ ?stream_id: String,
27
+ ?type: :"response.steer.accepted"
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ sequence_number: Integer,
32
+ steer: OpenAI::Responses::ResponseSteerAcceptedEvent::Steer,
33
+ type: :"response.steer.accepted",
34
+ stream_id: String
35
+ }
36
+
37
+ type steer = { id: String, previous_response_id: String }
38
+
39
+ class Steer < OpenAI::Internal::Type::BaseModel
40
+ attr_accessor id: String
41
+
42
+ attr_accessor previous_response_id: String
43
+
44
+ def initialize: (id: String, previous_response_id: String) -> void
45
+
46
+ def to_hash: -> { id: String, previous_response_id: String }
47
+ end
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,29 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_steer_error_code =
5
+ :response_not_found
6
+ | :invalid_input
7
+ | :steering_not_supported
8
+ | :too_many_pending_steers
9
+ | :response_already_completed
10
+ | :response_not_active
11
+ | :successor_creation_failed
12
+ | String
13
+
14
+ module ResponseSteerErrorCode
15
+ extend OpenAI::Internal::Type::Union
16
+
17
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::response_steer_error_code]
18
+
19
+ RESPONSE_NOT_FOUND: :response_not_found
20
+ INVALID_INPUT: :invalid_input
21
+ STEERING_NOT_SUPPORTED: :steering_not_supported
22
+ TOO_MANY_PENDING_STEERS: :too_many_pending_steers
23
+ RESPONSE_ALREADY_COMPLETED: :response_already_completed
24
+ RESPONSE_NOT_ACTIVE: :response_not_active
25
+ SUCCESSOR_CREATION_FAILED: :successor_creation_failed
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,32 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_steer_event =
5
+ {
6
+ input: OpenAI::Models::Responses::response_steer_input,
7
+ previous_response_id: String,
8
+ type: :"response.steer"
9
+ }
10
+
11
+ class ResponseSteerEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor input: OpenAI::Models::Responses::response_steer_input
13
+
14
+ attr_accessor previous_response_id: String
15
+
16
+ attr_accessor type: :"response.steer"
17
+
18
+ def initialize: (
19
+ input: OpenAI::Models::Responses::response_steer_input,
20
+ previous_response_id: String,
21
+ ?type: :"response.steer"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ input: OpenAI::Models::Responses::response_steer_input,
26
+ previous_response_id: String,
27
+ type: :"response.steer"
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,100 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_steer_failed_event =
5
+ {
6
+ error: OpenAI::Responses::ResponseSteerFailedEvent::Error,
7
+ sequence_number: Integer,
8
+ steer: OpenAI::Responses::ResponseSteerFailedEvent::Steer,
9
+ type: :"response.steer.failed",
10
+ stream_id: String
11
+ }
12
+
13
+ class ResponseSteerFailedEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor error: OpenAI::Responses::ResponseSteerFailedEvent::Error
15
+
16
+ attr_accessor sequence_number: Integer
17
+
18
+ attr_accessor steer: OpenAI::Responses::ResponseSteerFailedEvent::Steer
19
+
20
+ attr_accessor type: :"response.steer.failed"
21
+
22
+ attr_reader stream_id: String?
23
+
24
+ def stream_id=: (String) -> String
25
+
26
+ def initialize: (
27
+ error: OpenAI::Responses::ResponseSteerFailedEvent::Error,
28
+ sequence_number: Integer,
29
+ steer: OpenAI::Responses::ResponseSteerFailedEvent::Steer,
30
+ ?stream_id: String,
31
+ ?type: :"response.steer.failed"
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ error: OpenAI::Responses::ResponseSteerFailedEvent::Error,
36
+ sequence_number: Integer,
37
+ steer: OpenAI::Responses::ResponseSteerFailedEvent::Steer,
38
+ type: :"response.steer.failed",
39
+ stream_id: String
40
+ }
41
+
42
+ type error =
43
+ {
44
+ code: OpenAI::Models::Responses::response_steer_error_code,
45
+ message: String,
46
+ type: :invalid_request_error
47
+ }
48
+
49
+ class Error < OpenAI::Internal::Type::BaseModel
50
+ attr_accessor code: OpenAI::Models::Responses::response_steer_error_code
51
+
52
+ attr_accessor message: String
53
+
54
+ attr_accessor type: :invalid_request_error
55
+
56
+ def initialize: (
57
+ code: OpenAI::Models::Responses::response_steer_error_code,
58
+ message: String,
59
+ ?type: :invalid_request_error
60
+ ) -> void
61
+
62
+ def to_hash: -> {
63
+ code: OpenAI::Models::Responses::response_steer_error_code,
64
+ message: String,
65
+ type: :invalid_request_error
66
+ }
67
+ end
68
+
69
+ type steer =
70
+ {
71
+ input: OpenAI::Models::Responses::response_steer_input,
72
+ previous_response_id: String,
73
+ id: String
74
+ }
75
+
76
+ class Steer < OpenAI::Internal::Type::BaseModel
77
+ attr_accessor input: OpenAI::Models::Responses::response_steer_input
78
+
79
+ attr_accessor previous_response_id: String
80
+
81
+ attr_reader id: String?
82
+
83
+ def id=: (String) -> String
84
+
85
+ def initialize: (
86
+ input: OpenAI::Models::Responses::response_steer_input,
87
+ previous_response_id: String,
88
+ ?id: String
89
+ ) -> void
90
+
91
+ def to_hash: -> {
92
+ input: OpenAI::Models::Responses::response_steer_input,
93
+ previous_response_id: String,
94
+ id: String
95
+ }
96
+ end
97
+ end
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,182 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_steer_input =
5
+ String
6
+ | ::Array[OpenAI::Models::Responses::ResponseSteerInput::response_steer_input_item_list]
7
+
8
+ module ResponseSteerInput
9
+ extend OpenAI::Internal::Type::Union
10
+
11
+ type response_steer_input_item_list =
12
+ OpenAI::Responses::ResponseSteerInput::ResponseSteerInputItemList::Message
13
+ | OpenAI::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput
14
+
15
+ module ResponseSteerInputItemList
16
+ extend OpenAI::Internal::Type::Union
17
+
18
+ type message =
19
+ {
20
+ content: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::Message::content,
21
+ role: :user,
22
+ type: :message,
23
+ id: String?,
24
+ status: String?
25
+ }
26
+
27
+ class Message < OpenAI::Internal::Type::BaseModel
28
+ attr_accessor content: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::Message::content
29
+
30
+ attr_accessor role: :user
31
+
32
+ attr_accessor type: :message
33
+
34
+ attr_accessor id: String?
35
+
36
+ attr_accessor status: String?
37
+
38
+ def initialize: (
39
+ content: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::Message::content,
40
+ ?id: String?,
41
+ ?status: String?,
42
+ ?role: :user,
43
+ ?type: :message
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ content: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::Message::content,
48
+ role: :user,
49
+ type: :message,
50
+ id: String?,
51
+ status: String?
52
+ }
53
+
54
+ type content =
55
+ ::Array[OpenAI::Models::Responses::response_steer_input_content]
56
+ | String
57
+
58
+ module Content
59
+ extend OpenAI::Internal::Type::Union
60
+
61
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::Message::content]
62
+
63
+ ResponseSteerInputContentArray: OpenAI::Internal::Type::Converter
64
+ end
65
+ end
66
+
67
+ type function_call_output =
68
+ {
69
+ output: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::output,
70
+ type: :function_call_output,
71
+ id: String?,
72
+ call_id: String?,
73
+ caller_: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::caller_?,
74
+ name: String?,
75
+ namespace: String?,
76
+ status: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::status?
77
+ }
78
+
79
+ class FunctionCallOutput < OpenAI::Internal::Type::BaseModel
80
+ attr_accessor output: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::output
81
+
82
+ attr_accessor type: :function_call_output
83
+
84
+ attr_accessor id: String?
85
+
86
+ attr_accessor call_id: String?
87
+
88
+ attr_accessor caller_: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::caller_?
89
+
90
+ attr_accessor name: String?
91
+
92
+ attr_accessor namespace: String?
93
+
94
+ attr_accessor status: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::status?
95
+
96
+ def initialize: (
97
+ output: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::output,
98
+ ?id: String?,
99
+ ?call_id: String?,
100
+ ?caller_: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::caller_?,
101
+ ?name: String?,
102
+ ?namespace: String?,
103
+ ?status: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::status?,
104
+ ?type: :function_call_output
105
+ ) -> void
106
+
107
+ def to_hash: -> {
108
+ output: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::output,
109
+ type: :function_call_output,
110
+ id: String?,
111
+ call_id: String?,
112
+ caller_: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::caller_?,
113
+ name: String?,
114
+ namespace: String?,
115
+ status: OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::status?
116
+ }
117
+
118
+ type output =
119
+ String
120
+ | OpenAI::Models::Responses::response_function_call_output_item_list
121
+
122
+ module Output
123
+ extend OpenAI::Internal::Type::Union
124
+
125
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::output]
126
+ end
127
+
128
+ type caller_ =
129
+ OpenAI::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::Caller::Direct
130
+ | OpenAI::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::Caller::Program
131
+
132
+ module Caller
133
+ extend OpenAI::Internal::Type::Union
134
+
135
+ type direct = { type: :direct }
136
+
137
+ class Direct < OpenAI::Internal::Type::BaseModel
138
+ attr_accessor type: :direct
139
+
140
+ def initialize: (?type: :direct) -> void
141
+
142
+ def to_hash: -> { type: :direct }
143
+ end
144
+
145
+ type program = { caller_id: String, type: :program }
146
+
147
+ class Program < OpenAI::Internal::Type::BaseModel
148
+ attr_accessor caller_id: String
149
+
150
+ attr_accessor type: :program
151
+
152
+ def initialize: (caller_id: String, ?type: :program) -> void
153
+
154
+ def to_hash: -> { caller_id: String, type: :program }
155
+ end
156
+
157
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::caller_]
158
+ end
159
+
160
+ type status = :in_progress | :completed | :incomplete
161
+
162
+ module Status
163
+ extend OpenAI::Internal::Type::Enum
164
+
165
+ IN_PROGRESS: :in_progress
166
+ COMPLETED: :completed
167
+ INCOMPLETE: :incomplete
168
+
169
+ def self?.values: -> ::Array[OpenAI::Models::Responses::ResponseSteerInput::ResponseSteerInputItemList::FunctionCallOutput::status]
170
+ end
171
+ end
172
+
173
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponseSteerInput::response_steer_input_item_list]
174
+ end
175
+
176
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::response_steer_input]
177
+
178
+ ResponseSteerInputItemListArray: OpenAI::Internal::Type::Converter
179
+ end
180
+ end
181
+ end
182
+ end
@@ -0,0 +1,16 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_steer_input_content =
5
+ OpenAI::Responses::ResponseInputTextContent
6
+ | OpenAI::Responses::ResponseInputImageContent
7
+ | OpenAI::Responses::ResponseInputFileContent
8
+
9
+ module ResponseSteerInputContent
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::response_steer_input_content]
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,61 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_steer_pending_event =
5
+ {
6
+ reason: OpenAI::Models::Responses::response_steer_pending_reason,
7
+ required_input: ::Array[OpenAI::Models::Responses::response_steer_required_input],
8
+ sequence_number: Integer,
9
+ steer: OpenAI::Responses::ResponseSteerPendingEvent::Steer,
10
+ type: :"response.steer.pending",
11
+ stream_id: String
12
+ }
13
+
14
+ class ResponseSteerPendingEvent < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor reason: OpenAI::Models::Responses::response_steer_pending_reason
16
+
17
+ attr_accessor required_input: ::Array[OpenAI::Models::Responses::response_steer_required_input]
18
+
19
+ attr_accessor sequence_number: Integer
20
+
21
+ attr_accessor steer: OpenAI::Responses::ResponseSteerPendingEvent::Steer
22
+
23
+ attr_accessor type: :"response.steer.pending"
24
+
25
+ attr_reader stream_id: String?
26
+
27
+ def stream_id=: (String) -> String
28
+
29
+ def initialize: (
30
+ reason: OpenAI::Models::Responses::response_steer_pending_reason,
31
+ required_input: ::Array[OpenAI::Models::Responses::response_steer_required_input],
32
+ sequence_number: Integer,
33
+ steer: OpenAI::Responses::ResponseSteerPendingEvent::Steer,
34
+ ?stream_id: String,
35
+ ?type: :"response.steer.pending"
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ reason: OpenAI::Models::Responses::response_steer_pending_reason,
40
+ required_input: ::Array[OpenAI::Models::Responses::response_steer_required_input],
41
+ sequence_number: Integer,
42
+ steer: OpenAI::Responses::ResponseSteerPendingEvent::Steer,
43
+ type: :"response.steer.pending",
44
+ stream_id: String
45
+ }
46
+
47
+ type steer = { id: String, previous_response_id: String }
48
+
49
+ class Steer < OpenAI::Internal::Type::BaseModel
50
+ attr_accessor id: String
51
+
52
+ attr_accessor previous_response_id: String
53
+
54
+ def initialize: (id: String, previous_response_id: String) -> void
55
+
56
+ def to_hash: -> { id: String, previous_response_id: String }
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,13 @@
1
+ module OpenAI
2
+ module Models
3
+ module Responses
4
+ type response_steer_pending_reason = :waiting_for_required_input | String
5
+
6
+ module ResponseSteerPendingReason
7
+ extend OpenAI::Internal::Type::Union
8
+
9
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::response_steer_pending_reason]
10
+ end
11
+ end
12
+ end
13
+ end