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
@@ -10,6 +10,7 @@ module OpenAI
10
10
  strict: bool?,
11
11
  type: :function,
12
12
  allowed_callers: ::Array[OpenAI::Models::Beta::BetaFunctionTool::allowed_caller]?,
13
+ async: bool,
13
14
  defer_loading: bool,
14
15
  description: String?,
15
16
  output_schema: ::Hash[Symbol, top]?
@@ -26,6 +27,10 @@ module OpenAI
26
27
 
27
28
  attr_accessor allowed_callers: ::Array[OpenAI::Models::Beta::BetaFunctionTool::allowed_caller]?
28
29
 
30
+ attr_reader async: bool?
31
+
32
+ def async=: (bool) -> bool
33
+
29
34
  attr_reader defer_loading: bool?
30
35
 
31
36
  def defer_loading=: (bool) -> bool
@@ -39,6 +44,7 @@ module OpenAI
39
44
  parameters: ::Hash[Symbol, top]?,
40
45
  strict: bool?,
41
46
  ?allowed_callers: ::Array[OpenAI::Models::Beta::BetaFunctionTool::allowed_caller]?,
47
+ ?async: bool,
42
48
  ?defer_loading: bool,
43
49
  ?description: String?,
44
50
  ?output_schema: ::Hash[Symbol, top]?,
@@ -51,6 +57,7 @@ module OpenAI
51
57
  strict: bool?,
52
58
  type: :function,
53
59
  allowed_callers: ::Array[OpenAI::Models::Beta::BetaFunctionTool::allowed_caller]?,
60
+ async: bool,
54
61
  defer_loading: bool,
55
62
  description: String?,
56
63
  output_schema: ::Hash[Symbol, top]?
@@ -46,6 +46,7 @@ module OpenAI
46
46
  name: String,
47
47
  type: :function,
48
48
  allowed_callers: ::Array[OpenAI::Models::Beta::BetaNamespaceTool::Tool::Function::allowed_caller]?,
49
+ async: bool,
49
50
  defer_loading: bool,
50
51
  description: String?,
51
52
  output_schema: ::Hash[Symbol, top]?,
@@ -60,6 +61,10 @@ module OpenAI
60
61
 
61
62
  attr_accessor allowed_callers: ::Array[OpenAI::Models::Beta::BetaNamespaceTool::Tool::Function::allowed_caller]?
62
63
 
64
+ attr_reader async: bool?
65
+
66
+ def async=: (bool) -> bool
67
+
63
68
  attr_reader defer_loading: bool?
64
69
 
65
70
  def defer_loading=: (bool) -> bool
@@ -75,6 +80,7 @@ module OpenAI
75
80
  def initialize: (
76
81
  name: String,
77
82
  ?allowed_callers: ::Array[OpenAI::Models::Beta::BetaNamespaceTool::Tool::Function::allowed_caller]?,
83
+ ?async: bool,
78
84
  ?defer_loading: bool,
79
85
  ?description: String?,
80
86
  ?output_schema: ::Hash[Symbol, top]?,
@@ -87,6 +93,7 @@ module OpenAI
87
93
  name: String,
88
94
  type: :function,
89
95
  allowed_callers: ::Array[OpenAI::Models::Beta::BetaNamespaceTool::Tool::Function::allowed_caller]?,
96
+ async: bool,
90
97
  defer_loading: bool,
91
98
  description: String?,
92
99
  output_schema: ::Hash[Symbol, top]?,
@@ -222,13 +222,16 @@ module OpenAI
222
222
  reason: OpenAI::Models::Beta::BetaResponse::IncompleteDetails::reason
223
223
  }
224
224
 
225
- type reason = :max_output_tokens | :content_filter
225
+ type reason =
226
+ :max_output_tokens | :max_messages | :content_filter | :steered
226
227
 
227
228
  module Reason
228
229
  extend OpenAI::Internal::Type::Enum
229
230
 
230
231
  MAX_OUTPUT_TOKENS: :max_output_tokens
232
+ MAX_MESSAGES: :max_messages
231
233
  CONTENT_FILTER: :content_filter
234
+ STEERED: :steered
232
235
 
233
236
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponse::IncompleteDetails::reason]
234
237
  end
@@ -246,7 +249,8 @@ module OpenAI
246
249
  end
247
250
 
248
251
  type model =
249
- :"gpt-5.6-sol"
252
+ :"gpt-6-astra"
253
+ | :"gpt-5.6-sol"
250
254
  | :"gpt-5.6-terra"
251
255
  | :"gpt-5.6-luna"
252
256
  | :"gpt-5.5"
@@ -355,6 +359,7 @@ module OpenAI
355
359
 
356
360
  def self?.variants: -> ::Array[OpenAI::Models::Beta::BetaResponse::model]
357
361
 
362
+ GPT_6_ASTRA: :"gpt-6-astra"
358
363
  GPT_5_6_SOL: :"gpt-5.6-sol"
359
364
  GPT_5_6_TERRA: :"gpt-5.6-terra"
360
365
  GPT_5_6_LUNA: :"gpt-5.6-luna"
@@ -0,0 +1,91 @@
1
+ module OpenAI
2
+ module Models
3
+ class BetaResponseConfigurationUpdateItem = Beta::BetaResponseConfigurationUpdateItem
4
+
5
+ module Beta
6
+ type beta_response_configuration_update_item =
7
+ {
8
+ id: String,
9
+ type: :configuration_update,
10
+ agent: OpenAI::Beta::BetaResponseConfigurationUpdateItem::Agent,
11
+ reasoning: OpenAI::Beta::BetaResponseConfigurationUpdateItem::Reasoning
12
+ }
13
+
14
+ class BetaResponseConfigurationUpdateItem < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor id: String
16
+
17
+ attr_accessor type: :configuration_update
18
+
19
+ attr_reader agent: OpenAI::Beta::BetaResponseConfigurationUpdateItem::Agent?
20
+
21
+ def agent=: (
22
+ OpenAI::Beta::BetaResponseConfigurationUpdateItem::Agent
23
+ ) -> OpenAI::Beta::BetaResponseConfigurationUpdateItem::Agent
24
+
25
+ attr_reader reasoning: OpenAI::Beta::BetaResponseConfigurationUpdateItem::Reasoning?
26
+
27
+ def reasoning=: (
28
+ OpenAI::Beta::BetaResponseConfigurationUpdateItem::Reasoning
29
+ ) -> OpenAI::Beta::BetaResponseConfigurationUpdateItem::Reasoning
30
+
31
+ def initialize: (
32
+ id: String,
33
+ ?agent: OpenAI::Beta::BetaResponseConfigurationUpdateItem::Agent,
34
+ ?reasoning: OpenAI::Beta::BetaResponseConfigurationUpdateItem::Reasoning,
35
+ ?type: :configuration_update
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ id: String,
40
+ type: :configuration_update,
41
+ agent: OpenAI::Beta::BetaResponseConfigurationUpdateItem::Agent,
42
+ reasoning: OpenAI::Beta::BetaResponseConfigurationUpdateItem::Reasoning
43
+ }
44
+
45
+ type agent = { agent_name: String }
46
+
47
+ class Agent < OpenAI::Internal::Type::BaseModel
48
+ attr_accessor agent_name: String
49
+
50
+ def initialize: (agent_name: String) -> void
51
+
52
+ def to_hash: -> { agent_name: String }
53
+ end
54
+
55
+ type reasoning =
56
+ {
57
+ effort: OpenAI::Models::Beta::BetaResponseConfigurationUpdateItem::Reasoning::effort?
58
+ }
59
+
60
+ class Reasoning < OpenAI::Internal::Type::BaseModel
61
+ attr_accessor effort: OpenAI::Models::Beta::BetaResponseConfigurationUpdateItem::Reasoning::effort?
62
+
63
+ def initialize: (
64
+ ?effort: OpenAI::Models::Beta::BetaResponseConfigurationUpdateItem::Reasoning::effort?
65
+ ) -> void
66
+
67
+ def to_hash: -> {
68
+ effort: OpenAI::Models::Beta::BetaResponseConfigurationUpdateItem::Reasoning::effort?
69
+ }
70
+
71
+ type effort =
72
+ :none | :minimal | :low | :medium | :high | :xhigh | :max
73
+
74
+ module Effort
75
+ extend OpenAI::Internal::Type::Enum
76
+
77
+ NONE: :none
78
+ MINIMAL: :minimal
79
+ LOW: :low
80
+ MEDIUM: :medium
81
+ HIGH: :high
82
+ XHIGH: :xhigh
83
+ MAX: :max
84
+
85
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseConfigurationUpdateItem::Reasoning::effort]
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,87 @@
1
+ module OpenAI
2
+ module Models
3
+ class BetaResponseConfigurationUpdateItemParam = Beta::BetaResponseConfigurationUpdateItemParam
4
+
5
+ module Beta
6
+ type beta_response_configuration_update_item_param =
7
+ {
8
+ type: :configuration_update,
9
+ id: String?,
10
+ agent: OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Agent?,
11
+ reasoning: OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning
12
+ }
13
+
14
+ class BetaResponseConfigurationUpdateItemParam < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor type: :configuration_update
16
+
17
+ attr_accessor id: String?
18
+
19
+ attr_accessor agent: OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Agent?
20
+
21
+ attr_reader reasoning: OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning?
22
+
23
+ def reasoning=: (
24
+ OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning
25
+ ) -> OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning
26
+
27
+ def initialize: (
28
+ ?id: String?,
29
+ ?agent: OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Agent?,
30
+ ?reasoning: OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning,
31
+ ?type: :configuration_update
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ type: :configuration_update,
36
+ id: String?,
37
+ agent: OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Agent?,
38
+ reasoning: OpenAI::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning
39
+ }
40
+
41
+ type agent = { agent_name: String }
42
+
43
+ class Agent < OpenAI::Internal::Type::BaseModel
44
+ attr_accessor agent_name: String
45
+
46
+ def initialize: (agent_name: String) -> void
47
+
48
+ def to_hash: -> { agent_name: String }
49
+ end
50
+
51
+ type reasoning =
52
+ {
53
+ effort: OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning::effort?
54
+ }
55
+
56
+ class Reasoning < OpenAI::Internal::Type::BaseModel
57
+ attr_accessor effort: OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning::effort?
58
+
59
+ def initialize: (
60
+ ?effort: OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning::effort?
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ effort: OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning::effort?
65
+ }
66
+
67
+ type effort =
68
+ :none | :minimal | :low | :medium | :high | :xhigh | :max
69
+
70
+ module Effort
71
+ extend OpenAI::Internal::Type::Enum
72
+
73
+ NONE: :none
74
+ MINIMAL: :minimal
75
+ LOW: :low
76
+ MEDIUM: :medium
77
+ HIGH: :high
78
+ XHIGH: :xhigh
79
+ MAX: :max
80
+
81
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseConfigurationUpdateItemParam::Reasoning::effort]
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end
87
+ end
@@ -11,6 +11,7 @@ module OpenAI
11
11
  type: :custom_tool_call,
12
12
  id: String,
13
13
  agent: OpenAI::Beta::BetaResponseCustomToolCall::Agent?,
14
+ async: bool,
14
15
  caller_: OpenAI::Models::Beta::BetaResponseCustomToolCall::caller_?,
15
16
  namespace: String
16
17
  }
@@ -30,6 +31,10 @@ module OpenAI
30
31
 
31
32
  attr_accessor agent: OpenAI::Beta::BetaResponseCustomToolCall::Agent?
32
33
 
34
+ attr_reader async: bool?
35
+
36
+ def async=: (bool) -> bool
37
+
33
38
  attr_accessor caller_: OpenAI::Models::Beta::BetaResponseCustomToolCall::caller_?
34
39
 
35
40
  attr_reader namespace: String?
@@ -42,6 +47,7 @@ module OpenAI
42
47
  name: String,
43
48
  ?id: String,
44
49
  ?agent: OpenAI::Beta::BetaResponseCustomToolCall::Agent?,
50
+ ?async: bool,
45
51
  ?caller_: OpenAI::Models::Beta::BetaResponseCustomToolCall::caller_?,
46
52
  ?namespace: String,
47
53
  ?type: :custom_tool_call
@@ -54,6 +60,7 @@ module OpenAI
54
60
  type: :custom_tool_call,
55
61
  id: String,
56
62
  agent: OpenAI::Beta::BetaResponseCustomToolCall::Agent?,
63
+ async: bool,
57
64
  caller_: OpenAI::Models::Beta::BetaResponseCustomToolCall::caller_?,
58
65
  namespace: String
59
66
  }
@@ -12,6 +12,7 @@ module OpenAI
12
12
  status: OpenAI::Models::Beta::BetaResponseCustomToolCallItem::status,
13
13
  type: :custom_tool_call,
14
14
  agent: OpenAI::Beta::BetaResponseCustomToolCall::Agent?,
15
+ async: bool,
15
16
  caller_: OpenAI::Models::Beta::BetaResponseCustomToolCall::caller_?,
16
17
  namespace: String,
17
18
  created_by: String
@@ -39,6 +40,7 @@ module OpenAI
39
40
  id: String,
40
41
  status: OpenAI::Models::Beta::BetaResponseCustomToolCallItem::status,
41
42
  ?agent: OpenAI::Beta::BetaResponseCustomToolCall::Agent?,
43
+ ?async: bool,
42
44
  ?caller_: OpenAI::Models::Beta::BetaResponseCustomToolCall::caller_?,
43
45
  ?namespace: String,
44
46
  ?created_by: String,
@@ -53,6 +55,7 @@ module OpenAI
53
55
  status: OpenAI::Models::Beta::BetaResponseCustomToolCallItem::status,
54
56
  type: :custom_tool_call,
55
57
  agent: OpenAI::Beta::BetaResponseCustomToolCall::Agent?,
58
+ async: bool,
56
59
  caller_: OpenAI::Models::Beta::BetaResponseCustomToolCall::caller_?,
57
60
  namespace: String,
58
61
  created_by: String
@@ -4,21 +4,33 @@ module OpenAI
4
4
 
5
5
  module Beta
6
6
  type beta_response_error =
7
- { code: OpenAI::Models::Beta::BetaResponseError::code, message: String }
7
+ {
8
+ code: OpenAI::Models::Beta::BetaResponseError::code,
9
+ message: String,
10
+ misalignment: OpenAI::Beta::BetaResponseError::Misalignment
11
+ }
8
12
 
9
13
  class BetaResponseError < OpenAI::Internal::Type::BaseModel
10
14
  attr_accessor code: OpenAI::Models::Beta::BetaResponseError::code
11
15
 
12
16
  attr_accessor message: String
13
17
 
18
+ attr_reader misalignment: OpenAI::Beta::BetaResponseError::Misalignment?
19
+
20
+ def misalignment=: (
21
+ OpenAI::Beta::BetaResponseError::Misalignment
22
+ ) -> OpenAI::Beta::BetaResponseError::Misalignment
23
+
14
24
  def initialize: (
15
25
  code: OpenAI::Models::Beta::BetaResponseError::code,
16
- message: String
26
+ message: String,
27
+ ?misalignment: OpenAI::Beta::BetaResponseError::Misalignment
17
28
  ) -> void
18
29
 
19
30
  def to_hash: -> {
20
31
  code: OpenAI::Models::Beta::BetaResponseError::code,
21
- message: String
32
+ message: String,
33
+ misalignment: OpenAI::Beta::BetaResponseError::Misalignment
22
34
  }
23
35
 
24
36
  type code =
@@ -27,6 +39,7 @@ module OpenAI
27
39
  | :invalid_prompt
28
40
  | :data_residency_mismatch
29
41
  | :bio_policy
42
+ | :misalignment_policy_violation
30
43
  | :vector_store_timeout
31
44
  | :invalid_image
32
45
  | :invalid_image_format
@@ -51,6 +64,7 @@ module OpenAI
51
64
  INVALID_PROMPT: :invalid_prompt
52
65
  DATA_RESIDENCY_MISMATCH: :data_residency_mismatch
53
66
  BIO_POLICY: :bio_policy
67
+ MISALIGNMENT_POLICY_VIOLATION: :misalignment_policy_violation
54
68
  VECTOR_STORE_TIMEOUT: :vector_store_timeout
55
69
  INVALID_IMAGE: :invalid_image
56
70
  INVALID_IMAGE_FORMAT: :invalid_image_format
@@ -69,6 +83,71 @@ module OpenAI
69
83
 
70
84
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseError::code]
71
85
  end
86
+
87
+ type misalignment =
88
+ {
89
+ detailed_explanation: String,
90
+ error_type: OpenAI::Models::Beta::BetaResponseError::Misalignment::error_type,
91
+ steer: OpenAI::Beta::BetaResponseError::Misalignment::Steer
92
+ }
93
+
94
+ class Misalignment < OpenAI::Internal::Type::BaseModel
95
+ attr_reader detailed_explanation: String?
96
+
97
+ def detailed_explanation=: (String) -> String
98
+
99
+ attr_reader error_type: OpenAI::Models::Beta::BetaResponseError::Misalignment::error_type?
100
+
101
+ def error_type=: (
102
+ OpenAI::Models::Beta::BetaResponseError::Misalignment::error_type
103
+ ) -> OpenAI::Models::Beta::BetaResponseError::Misalignment::error_type
104
+
105
+ attr_reader steer: OpenAI::Beta::BetaResponseError::Misalignment::Steer?
106
+
107
+ def steer=: (
108
+ OpenAI::Beta::BetaResponseError::Misalignment::Steer
109
+ ) -> OpenAI::Beta::BetaResponseError::Misalignment::Steer
110
+
111
+ def initialize: (
112
+ ?detailed_explanation: String,
113
+ ?error_type: OpenAI::Models::Beta::BetaResponseError::Misalignment::error_type,
114
+ ?steer: OpenAI::Beta::BetaResponseError::Misalignment::Steer
115
+ ) -> void
116
+
117
+ def to_hash: -> {
118
+ detailed_explanation: String,
119
+ error_type: OpenAI::Models::Beta::BetaResponseError::Misalignment::error_type,
120
+ steer: OpenAI::Beta::BetaResponseError::Misalignment::Steer
121
+ }
122
+
123
+ type error_type =
124
+ String
125
+ | :potentially_unintended_data_transfer
126
+ | :potentially_unintended_data_access
127
+ | :potentially_unintended_destructive_activity
128
+ | :other
129
+
130
+ module ErrorType
131
+ extend OpenAI::Internal::Type::Union
132
+
133
+ def self?.variants: -> ::Array[OpenAI::Models::Beta::BetaResponseError::Misalignment::error_type]
134
+
135
+ POTENTIALLY_UNINTENDED_DATA_TRANSFER: :potentially_unintended_data_transfer
136
+ POTENTIALLY_UNINTENDED_DATA_ACCESS: :potentially_unintended_data_access
137
+ POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY: :potentially_unintended_destructive_activity
138
+ OTHER: :other
139
+ end
140
+
141
+ type steer = { message: String }
142
+
143
+ class Steer < OpenAI::Internal::Type::BaseModel
144
+ attr_accessor message: String
145
+
146
+ def initialize: (message: String) -> void
147
+
148
+ def to_hash: -> { message: String }
149
+ end
150
+ end
72
151
  end
73
152
  end
74
153
  end
@@ -11,6 +11,7 @@ module OpenAI
11
11
  type: :function_call,
12
12
  id: String,
13
13
  agent: OpenAI::Beta::BetaResponseFunctionToolCall::Agent?,
14
+ async: bool,
14
15
  caller_: OpenAI::Models::Beta::BetaResponseFunctionToolCall::caller_?,
15
16
  namespace: String,
16
17
  status: OpenAI::Models::Beta::BetaResponseFunctionToolCall::status
@@ -31,6 +32,10 @@ module OpenAI
31
32
 
32
33
  attr_accessor agent: OpenAI::Beta::BetaResponseFunctionToolCall::Agent?
33
34
 
35
+ attr_reader async: bool?
36
+
37
+ def async=: (bool) -> bool
38
+
34
39
  attr_accessor caller_: OpenAI::Models::Beta::BetaResponseFunctionToolCall::caller_?
35
40
 
36
41
  attr_reader namespace: String?
@@ -49,6 +54,7 @@ module OpenAI
49
54
  name: String,
50
55
  ?id: String,
51
56
  ?agent: OpenAI::Beta::BetaResponseFunctionToolCall::Agent?,
57
+ ?async: bool,
52
58
  ?caller_: OpenAI::Models::Beta::BetaResponseFunctionToolCall::caller_?,
53
59
  ?namespace: String,
54
60
  ?status: OpenAI::Models::Beta::BetaResponseFunctionToolCall::status,
@@ -62,6 +68,7 @@ module OpenAI
62
68
  type: :function_call,
63
69
  id: String,
64
70
  agent: OpenAI::Beta::BetaResponseFunctionToolCall::Agent?,
71
+ async: bool,
65
72
  caller_: OpenAI::Models::Beta::BetaResponseFunctionToolCall::caller_?,
66
73
  namespace: String,
67
74
  status: OpenAI::Models::Beta::BetaResponseFunctionToolCall::status
@@ -12,6 +12,7 @@ module OpenAI
12
12
  status: OpenAI::Models::Beta::BetaResponseFunctionToolCallItem::status,
13
13
  type: :function_call,
14
14
  agent: OpenAI::Beta::BetaResponseFunctionToolCall::Agent?,
15
+ async: bool,
15
16
  caller_: OpenAI::Models::Beta::BetaResponseFunctionToolCall::caller_?,
16
17
  namespace: String,
17
18
  created_by: String
@@ -39,6 +40,7 @@ module OpenAI
39
40
  id: String,
40
41
  status: OpenAI::Models::Beta::BetaResponseFunctionToolCallItem::status,
41
42
  ?agent: OpenAI::Beta::BetaResponseFunctionToolCall::Agent?,
43
+ ?async: bool,
42
44
  ?caller_: OpenAI::Models::Beta::BetaResponseFunctionToolCall::caller_?,
43
45
  ?namespace: String,
44
46
  ?created_by: String,
@@ -53,6 +55,7 @@ module OpenAI
53
55
  status: OpenAI::Models::Beta::BetaResponseFunctionToolCallItem::status,
54
56
  type: :function_call,
55
57
  agent: OpenAI::Beta::BetaResponseFunctionToolCall::Agent?,
58
+ async: bool,
56
59
  caller_: OpenAI::Models::Beta::BetaResponseFunctionToolCall::caller_?,
57
60
  namespace: String,
58
61
  created_by: String
@@ -19,6 +19,7 @@ module OpenAI
19
19
  | OpenAI::Beta::BetaResponseInputItem::ToolSearchCall
20
20
  | OpenAI::Beta::BetaResponseToolSearchOutputItemParam
21
21
  | OpenAI::Beta::BetaResponseInputItem::AdditionalTools
22
+ | OpenAI::Beta::BetaResponseConfigurationUpdateItemParam
22
23
  | OpenAI::Beta::BetaResponseReasoningItem
23
24
  | OpenAI::Beta::BetaResponseCompactionItemParam
24
25
  | OpenAI::Beta::BetaResponseInputItem::ImageGenerationCall
@@ -18,6 +18,7 @@ module OpenAI
18
18
  | OpenAI::Beta::BetaResponseToolSearchCall
19
19
  | OpenAI::Beta::BetaResponseToolSearchOutputItem
20
20
  | OpenAI::Beta::BetaResponseItem::AdditionalTools
21
+ | OpenAI::Beta::BetaResponseConfigurationUpdateItem
21
22
  | OpenAI::Beta::BetaResponseReasoningItem
22
23
  | OpenAI::Beta::BetaResponseItem::Program
23
24
  | OpenAI::Beta::BetaResponseItem::ProgramOutput
@@ -0,0 +1,53 @@
1
+ module OpenAI
2
+ module Models
3
+ class BetaResponseSteerAcceptedEvent = Beta::BetaResponseSteerAcceptedEvent
4
+
5
+ module Beta
6
+ type beta_response_steer_accepted_event =
7
+ {
8
+ sequence_number: Integer,
9
+ steer: OpenAI::Beta::BetaResponseSteerAcceptedEvent::Steer,
10
+ type: :"response.steer.accepted",
11
+ stream_id: String
12
+ }
13
+
14
+ class BetaResponseSteerAcceptedEvent < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor sequence_number: Integer
16
+
17
+ attr_accessor steer: OpenAI::Beta::BetaResponseSteerAcceptedEvent::Steer
18
+
19
+ attr_accessor type: :"response.steer.accepted"
20
+
21
+ attr_reader stream_id: String?
22
+
23
+ def stream_id=: (String) -> String
24
+
25
+ def initialize: (
26
+ sequence_number: Integer,
27
+ steer: OpenAI::Beta::BetaResponseSteerAcceptedEvent::Steer,
28
+ ?stream_id: String,
29
+ ?type: :"response.steer.accepted"
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ sequence_number: Integer,
34
+ steer: OpenAI::Beta::BetaResponseSteerAcceptedEvent::Steer,
35
+ type: :"response.steer.accepted",
36
+ stream_id: String
37
+ }
38
+
39
+ type steer = { id: String, previous_response_id: String }
40
+
41
+ class Steer < OpenAI::Internal::Type::BaseModel
42
+ attr_accessor id: String
43
+
44
+ attr_accessor previous_response_id: String
45
+
46
+ def initialize: (id: String, previous_response_id: String) -> void
47
+
48
+ def to_hash: -> { id: String, previous_response_id: String }
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,31 @@
1
+ module OpenAI
2
+ module Models
3
+ module BetaResponseSteerErrorCode = Beta::BetaResponseSteerErrorCode
4
+
5
+ module Beta
6
+ type beta_response_steer_error_code =
7
+ :response_not_found
8
+ | :invalid_input
9
+ | :steering_not_supported
10
+ | :too_many_pending_steers
11
+ | :response_already_completed
12
+ | :response_not_active
13
+ | :successor_creation_failed
14
+ | String
15
+
16
+ module BetaResponseSteerErrorCode
17
+ extend OpenAI::Internal::Type::Union
18
+
19
+ def self?.variants: -> ::Array[OpenAI::Models::Beta::beta_response_steer_error_code]
20
+
21
+ RESPONSE_NOT_FOUND: :response_not_found
22
+ INVALID_INPUT: :invalid_input
23
+ STEERING_NOT_SUPPORTED: :steering_not_supported
24
+ TOO_MANY_PENDING_STEERS: :too_many_pending_steers
25
+ RESPONSE_ALREADY_COMPLETED: :response_already_completed
26
+ RESPONSE_NOT_ACTIVE: :response_not_active
27
+ SUCCESSOR_CREATION_FAILED: :successor_creation_failed
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ class BetaResponseSteerEvent = Beta::BetaResponseSteerEvent
4
+
5
+ module Beta
6
+ type beta_response_steer_event =
7
+ {
8
+ input: OpenAI::Models::Beta::beta_response_steer_input,
9
+ previous_response_id: String,
10
+ type: :"response.steer"
11
+ }
12
+
13
+ class BetaResponseSteerEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor input: OpenAI::Models::Beta::beta_response_steer_input
15
+
16
+ attr_accessor previous_response_id: String
17
+
18
+ attr_accessor type: :"response.steer"
19
+
20
+ def initialize: (
21
+ input: OpenAI::Models::Beta::beta_response_steer_input,
22
+ previous_response_id: String,
23
+ ?type: :"response.steer"
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ input: OpenAI::Models::Beta::beta_response_steer_input,
28
+ previous_response_id: String,
29
+ type: :"response.steer"
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end