openai 0.84.0 → 0.85.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +30 -0
  3. data/README.md +1 -1
  4. data/SECURITY.md +10 -0
  5. data/docs/architecture/security-model.md +267 -0
  6. data/lib/openai/client.rb +4 -0
  7. data/lib/openai/helpers/streaming/chat_completion_stream.rb +17 -8
  8. data/lib/openai/helpers/streaming/response_stream.rb +13 -8
  9. data/lib/openai/helpers/structured_output/array_of.rb +2 -2
  10. data/lib/openai/helpers/structured_output/base_model.rb +19 -5
  11. data/lib/openai/helpers/structured_output/chat_completion_parser.rb +6 -3
  12. data/lib/openai/helpers/structured_output/json_schema_converter.rb +34 -11
  13. data/lib/openai/internal/vector_store_file_uploader.rb +1 -1
  14. data/lib/openai/models/admin/organization/usage_costs_params.rb +1 -1
  15. data/lib/openai/models/batch.rb +2 -2
  16. data/lib/openai/models/beta/beta_custom_tool.rb +13 -1
  17. data/lib/openai/models/beta/beta_function_tool.rb +8 -1
  18. data/lib/openai/models/beta/beta_namespace_tool.rb +10 -1
  19. data/lib/openai/models/beta/beta_response.rb +20 -9
  20. data/lib/openai/models/beta/beta_response_configuration_update_item.rb +103 -0
  21. data/lib/openai/models/beta/beta_response_configuration_update_item_param.rb +104 -0
  22. data/lib/openai/models/beta/beta_response_custom_tool_call.rb +9 -1
  23. data/lib/openai/models/beta/beta_response_custom_tool_call_item.rb +3 -1
  24. data/lib/openai/models/beta/beta_response_error.rb +96 -1
  25. data/lib/openai/models/beta/beta_response_function_tool_call.rb +9 -1
  26. data/lib/openai/models/beta/beta_response_function_tool_call_item.rb +3 -1
  27. data/lib/openai/models/beta/beta_response_incomplete_event.rb +4 -0
  28. data/lib/openai/models/beta/beta_response_inject_event.rb +2 -2
  29. data/lib/openai/models/beta/beta_response_inject_failed_event.rb +2 -2
  30. data/lib/openai/models/beta/beta_response_input_item.rb +6 -1
  31. data/lib/openai/models/beta/beta_response_item.rb +5 -1
  32. data/lib/openai/models/beta/beta_response_steer_accepted_event.rb +81 -0
  33. data/lib/openai/models/beta/beta_response_steer_error_code.rb +61 -0
  34. data/lib/openai/models/beta/beta_response_steer_event.rb +75 -0
  35. data/lib/openai/models/beta/beta_response_steer_failed_event.rb +151 -0
  36. data/lib/openai/models/beta/beta_response_steer_input.rb +360 -0
  37. data/lib/openai/models/beta/beta_response_steer_input_content.rb +28 -0
  38. data/lib/openai/models/beta/beta_response_steer_pending_event.rb +113 -0
  39. data/lib/openai/models/beta/beta_response_steer_pending_reason.rb +26 -0
  40. data/lib/openai/models/beta/beta_response_steer_required_input.rb +215 -0
  41. data/lib/openai/models/beta/beta_response_stream_event.rb +4 -0
  42. data/lib/openai/models/beta/beta_responses_client_event.rb +40 -7
  43. data/lib/openai/models/beta/beta_responses_server_event.rb +164 -2
  44. data/lib/openai/models/beta/response_compact_params.rb +9 -6
  45. data/lib/openai/models/beta/response_create_params.rb +9 -6
  46. data/lib/openai/models/beta/responses/beta_response_item_list.rb +2 -2
  47. data/lib/openai/models/beta/responses/input_token_count_params.rb +3 -3
  48. data/lib/openai/models/chat/completion_create_params.rb +4 -4
  49. data/lib/openai/models/chat_model.rb +1 -0
  50. data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
  51. data/lib/openai/models/conversations/conversation_item.rb +5 -1
  52. data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
  53. data/lib/openai/models/conversations/item_create_params.rb +2 -2
  54. data/lib/openai/models/error_object.rb +90 -1
  55. data/lib/openai/models/eval_create_response.rb +1 -1
  56. data/lib/openai/models/eval_list_response.rb +1 -1
  57. data/lib/openai/models/eval_retrieve_response.rb +1 -1
  58. data/lib/openai/models/eval_update_response.rb +1 -1
  59. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +2 -2
  60. data/lib/openai/models/responses/custom_tool.rb +13 -1
  61. data/lib/openai/models/responses/function_tool.rb +8 -1
  62. data/lib/openai/models/responses/input_token_count_params.rb +3 -3
  63. data/lib/openai/models/responses/namespace_tool.rb +10 -1
  64. data/lib/openai/models/responses/response.rb +16 -8
  65. data/lib/openai/models/responses/response_compact_params.rb +9 -6
  66. data/lib/openai/models/responses/response_configuration_update_item.rb +56 -0
  67. data/lib/openai/models/responses/response_configuration_update_item_param.rb +57 -0
  68. data/lib/openai/models/responses/response_create_params.rb +5 -5
  69. data/lib/openai/models/responses/response_custom_tool_call.rb +9 -1
  70. data/lib/openai/models/responses/response_custom_tool_call_item.rb +3 -1
  71. data/lib/openai/models/responses/response_error.rb +96 -1
  72. data/lib/openai/models/responses/response_function_tool_call.rb +9 -1
  73. data/lib/openai/models/responses/response_function_tool_call_item.rb +3 -1
  74. data/lib/openai/models/responses/response_incomplete_event.rb +4 -0
  75. data/lib/openai/models/responses/response_input_item.rb +6 -1
  76. data/lib/openai/models/responses/response_item.rb +5 -1
  77. data/lib/openai/models/responses/response_item_list.rb +2 -2
  78. data/lib/openai/models/responses/response_steer_accepted_event.rb +79 -0
  79. data/lib/openai/models/responses/response_steer_error_code.rb +59 -0
  80. data/lib/openai/models/responses/response_steer_event.rb +73 -0
  81. data/lib/openai/models/responses/response_steer_failed_event.rb +149 -0
  82. data/lib/openai/models/responses/response_steer_input.rb +304 -0
  83. data/lib/openai/models/responses/response_steer_input_content.rb +26 -0
  84. data/lib/openai/models/responses/response_steer_pending_event.rb +111 -0
  85. data/lib/openai/models/responses/response_steer_pending_reason.rb +24 -0
  86. data/lib/openai/models/responses/response_steer_required_input.rb +213 -0
  87. data/lib/openai/models/responses/response_stream_event.rb +4 -0
  88. data/lib/openai/models/responses/responses_client_event.rb +872 -769
  89. data/lib/openai/models/responses/responses_server_event.rb +162 -2
  90. data/lib/openai/models/safety/alert_retrieve_params.rb +24 -0
  91. data/lib/openai/models/safety/safety_alert.rb +96 -0
  92. data/lib/openai/models/video_create_error.rb +93 -1
  93. data/lib/openai/models/webhooks/safety_alert_created_webhook_event.rb +63 -0
  94. data/lib/openai/models/webhooks/safety_org_alert_created_webhook_event.rb +63 -0
  95. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +7 -1
  96. data/lib/openai/models.rb +2 -0
  97. data/lib/openai/net_http_client.rb +1 -1
  98. data/lib/openai/providers/bedrock.rb +20 -12
  99. data/lib/openai/resources/beta/responses/input_items.rb +1 -1
  100. data/lib/openai/resources/beta/responses/input_tokens.rb +1 -1
  101. data/lib/openai/resources/beta/responses.rb +6 -6
  102. data/lib/openai/resources/chat/completions.rb +2 -2
  103. data/lib/openai/resources/conversations/items.rb +3 -3
  104. data/lib/openai/resources/conversations.rb +1 -1
  105. data/lib/openai/resources/responses/input_items.rb +1 -1
  106. data/lib/openai/resources/responses/input_tokens.rb +1 -1
  107. data/lib/openai/resources/responses.rb +6 -6
  108. data/lib/openai/resources/safety/alerts.rb +37 -0
  109. data/lib/openai/resources/safety.rb +18 -0
  110. data/lib/openai/resources/webhooks.rb +1 -1
  111. data/lib/openai/version.rb +1 -1
  112. data/lib/openai.rb +28 -0
  113. data/rbi/openai/client.rbi +3 -0
  114. data/rbi/openai/models/admin/organization/usage_costs_params.rbi +2 -2
  115. data/rbi/openai/models/batch.rbi +2 -2
  116. data/rbi/openai/models/beta/beta_custom_tool.rbi +15 -0
  117. data/rbi/openai/models/beta/beta_function_tool.rbi +11 -0
  118. data/rbi/openai/models/beta/beta_namespace_tool.rbi +15 -0
  119. data/rbi/openai/models/beta/beta_response.rbi +14 -6
  120. data/rbi/openai/models/beta/beta_response_configuration_update_item.rbi +200 -0
  121. data/rbi/openai/models/beta/beta_response_configuration_update_item_param.rbi +207 -0
  122. data/rbi/openai/models/beta/beta_response_custom_tool_call.rbi +13 -0
  123. data/rbi/openai/models/beta/beta_response_custom_tool_call_item.rbi +6 -0
  124. data/rbi/openai/models/beta/beta_response_error.rbi +161 -3
  125. data/rbi/openai/models/beta/beta_response_function_tool_call.rbi +13 -0
  126. data/rbi/openai/models/beta/beta_response_function_tool_call_item.rbi +6 -0
  127. data/rbi/openai/models/beta/beta_response_incomplete_event.rbi +4 -0
  128. data/rbi/openai/models/beta/beta_response_inject_event.rbi +3 -0
  129. data/rbi/openai/models/beta/beta_response_inject_failed_event.rbi +3 -0
  130. data/rbi/openai/models/beta/beta_response_input_item.rbi +1 -0
  131. data/rbi/openai/models/beta/beta_response_item.rbi +1 -0
  132. data/rbi/openai/models/beta/beta_response_steer_accepted_event.rbi +148 -0
  133. data/rbi/openai/models/beta/beta_response_steer_error_code.rbi +65 -0
  134. data/rbi/openai/models/beta/beta_response_steer_event.rbi +118 -0
  135. data/rbi/openai/models/beta/beta_response_steer_failed_event.rbi +267 -0
  136. data/rbi/openai/models/beta/beta_response_steer_input.rbi +602 -0
  137. data/rbi/openai/models/beta/beta_response_steer_input_content.rbi +31 -0
  138. data/rbi/openai/models/beta/beta_response_steer_pending_event.rbi +222 -0
  139. data/rbi/openai/models/beta/beta_response_steer_pending_reason.rbi +35 -0
  140. data/rbi/openai/models/beta/beta_response_steer_required_input.rbi +379 -0
  141. data/rbi/openai/models/beta/beta_responses_client_event.rbi +8 -3
  142. data/rbi/openai/models/beta/beta_responses_server_event.rbi +206 -3
  143. data/rbi/openai/models/beta/response_compact_params.rbi +4 -3
  144. data/rbi/openai/models/beta/response_create_params.rbi +4 -3
  145. data/rbi/openai/models/beta/responses/beta_response_item_list.rbi +1 -0
  146. data/rbi/openai/models/chat/completion_create_params.rbi +3 -3
  147. data/rbi/openai/models/chat_model.rbi +1 -0
  148. data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
  149. data/rbi/openai/models/conversations/conversation_item.rbi +1 -0
  150. data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
  151. data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
  152. data/rbi/openai/models/error_object.rbi +156 -3
  153. data/rbi/openai/models/eval_create_response.rbi +1 -1
  154. data/rbi/openai/models/eval_list_response.rbi +1 -1
  155. data/rbi/openai/models/eval_retrieve_response.rbi +1 -1
  156. data/rbi/openai/models/eval_update_response.rbi +1 -1
  157. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +2 -2
  158. data/rbi/openai/models/responses/custom_tool.rbi +15 -0
  159. data/rbi/openai/models/responses/function_tool.rbi +11 -0
  160. data/rbi/openai/models/responses/namespace_tool.rbi +15 -0
  161. data/rbi/openai/models/responses/response.rbi +12 -5
  162. data/rbi/openai/models/responses/response_compact_params.rbi +4 -3
  163. data/rbi/openai/models/responses/response_configuration_update_item.rbi +112 -0
  164. data/rbi/openai/models/responses/response_configuration_update_item_param.rbi +117 -0
  165. data/rbi/openai/models/responses/response_create_params.rbi +2 -2
  166. data/rbi/openai/models/responses/response_custom_tool_call.rbi +13 -0
  167. data/rbi/openai/models/responses/response_custom_tool_call_item.rbi +6 -0
  168. data/rbi/openai/models/responses/response_error.rbi +161 -3
  169. data/rbi/openai/models/responses/response_function_tool_call.rbi +13 -0
  170. data/rbi/openai/models/responses/response_function_tool_call_item.rbi +6 -0
  171. data/rbi/openai/models/responses/response_incomplete_event.rbi +4 -0
  172. data/rbi/openai/models/responses/response_input_item.rbi +1 -0
  173. data/rbi/openai/models/responses/response_item.rbi +1 -0
  174. data/rbi/openai/models/responses/response_item_list.rbi +1 -0
  175. data/rbi/openai/models/responses/response_steer_accepted_event.rbi +146 -0
  176. data/rbi/openai/models/responses/response_steer_error_code.rbi +63 -0
  177. data/rbi/openai/models/responses/response_steer_event.rbi +119 -0
  178. data/rbi/openai/models/responses/response_steer_failed_event.rbi +268 -0
  179. data/rbi/openai/models/responses/response_steer_input.rbi +474 -0
  180. data/rbi/openai/models/responses/response_steer_input_content.rbi +29 -0
  181. data/rbi/openai/models/responses/response_steer_pending_event.rbi +220 -0
  182. data/rbi/openai/models/responses/response_steer_pending_reason.rbi +33 -0
  183. data/rbi/openai/models/responses/response_steer_required_input.rbi +377 -0
  184. data/rbi/openai/models/responses/responses_client_event.rbi +1204 -1036
  185. data/rbi/openai/models/responses/responses_server_event.rbi +202 -3
  186. data/rbi/openai/models/safety/alert_retrieve_params.rbi +55 -0
  187. data/rbi/openai/models/safety/safety_alert.rbi +147 -0
  188. data/rbi/openai/models/video_create_error.rbi +149 -3
  189. data/rbi/openai/models/webhooks/safety_alert_created_webhook_event.rbi +130 -0
  190. data/rbi/openai/models/webhooks/safety_org_alert_created_webhook_event.rbi +130 -0
  191. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +3 -1
  192. data/rbi/openai/models.rbi +2 -0
  193. data/rbi/openai/resources/admin/organization/usage.rbi +1 -1
  194. data/rbi/openai/resources/beta/responses.rbi +3 -3
  195. data/rbi/openai/resources/chat/completions.rbi +2 -2
  196. data/rbi/openai/resources/conversations/items.rbi +1 -0
  197. data/rbi/openai/resources/conversations.rbi +1 -0
  198. data/rbi/openai/resources/responses.rbi +3 -3
  199. data/rbi/openai/resources/safety/alerts.rbi +30 -0
  200. data/rbi/openai/resources/safety.rbi +18 -0
  201. data/rbi/openai/resources/webhooks.rbi +3 -1
  202. data/sig/openai/client.rbs +2 -0
  203. data/sig/openai/models/beta/beta_custom_tool.rbs +7 -0
  204. data/sig/openai/models/beta/beta_function_tool.rbs +7 -0
  205. data/sig/openai/models/beta/beta_namespace_tool.rbs +7 -0
  206. data/sig/openai/models/beta/beta_response.rbs +6 -2
  207. data/sig/openai/models/beta/beta_response_configuration_update_item.rbs +91 -0
  208. data/sig/openai/models/beta/beta_response_configuration_update_item_param.rbs +87 -0
  209. data/sig/openai/models/beta/beta_response_custom_tool_call.rbs +7 -0
  210. data/sig/openai/models/beta/beta_response_custom_tool_call_item.rbs +3 -0
  211. data/sig/openai/models/beta/beta_response_error.rbs +82 -3
  212. data/sig/openai/models/beta/beta_response_function_tool_call.rbs +7 -0
  213. data/sig/openai/models/beta/beta_response_function_tool_call_item.rbs +3 -0
  214. data/sig/openai/models/beta/beta_response_input_item.rbs +1 -0
  215. data/sig/openai/models/beta/beta_response_item.rbs +1 -0
  216. data/sig/openai/models/beta/beta_response_steer_accepted_event.rbs +53 -0
  217. data/sig/openai/models/beta/beta_response_steer_error_code.rbs +31 -0
  218. data/sig/openai/models/beta/beta_response_steer_event.rbs +34 -0
  219. data/sig/openai/models/beta/beta_response_steer_failed_event.rbs +102 -0
  220. data/sig/openai/models/beta/beta_response_steer_input.rbs +214 -0
  221. data/sig/openai/models/beta/beta_response_steer_input_content.rbs +18 -0
  222. data/sig/openai/models/beta/beta_response_steer_pending_event.rbs +63 -0
  223. data/sig/openai/models/beta/beta_response_steer_pending_reason.rbs +16 -0
  224. data/sig/openai/models/beta/beta_response_steer_required_input.rbs +161 -0
  225. data/sig/openai/models/beta/beta_responses_client_event.rbs +4 -1
  226. data/sig/openai/models/beta/beta_responses_server_event.rbs +80 -3
  227. data/sig/openai/models/beta/response_compact_params.rbs +3 -1
  228. data/sig/openai/models/beta/response_create_params.rbs +3 -1
  229. data/sig/openai/models/chat_model.rbs +3 -1
  230. data/sig/openai/models/conversations/conversation_item.rbs +1 -0
  231. data/sig/openai/models/error_object.rbs +82 -3
  232. data/sig/openai/models/responses/custom_tool.rbs +7 -0
  233. data/sig/openai/models/responses/function_tool.rbs +7 -0
  234. data/sig/openai/models/responses/namespace_tool.rbs +7 -0
  235. data/sig/openai/models/responses/response.rbs +3 -1
  236. data/sig/openai/models/responses/response_compact_params.rbs +3 -1
  237. data/sig/openai/models/responses/response_configuration_update_item.rbs +46 -0
  238. data/sig/openai/models/responses/response_configuration_update_item_param.rbs +46 -0
  239. data/sig/openai/models/responses/response_custom_tool_call.rbs +7 -0
  240. data/sig/openai/models/responses/response_custom_tool_call_item.rbs +3 -0
  241. data/sig/openai/models/responses/response_error.rbs +79 -3
  242. data/sig/openai/models/responses/response_function_tool_call.rbs +7 -0
  243. data/sig/openai/models/responses/response_function_tool_call_item.rbs +3 -0
  244. data/sig/openai/models/responses/response_input_item.rbs +1 -0
  245. data/sig/openai/models/responses/response_item.rbs +1 -0
  246. data/sig/openai/models/responses/response_steer_accepted_event.rbs +51 -0
  247. data/sig/openai/models/responses/response_steer_error_code.rbs +29 -0
  248. data/sig/openai/models/responses/response_steer_event.rbs +32 -0
  249. data/sig/openai/models/responses/response_steer_failed_event.rbs +100 -0
  250. data/sig/openai/models/responses/response_steer_input.rbs +182 -0
  251. data/sig/openai/models/responses/response_steer_input_content.rbs +16 -0
  252. data/sig/openai/models/responses/response_steer_pending_event.rbs +61 -0
  253. data/sig/openai/models/responses/response_steer_pending_reason.rbs +13 -0
  254. data/sig/openai/models/responses/response_steer_required_input.rbs +159 -0
  255. data/sig/openai/models/responses/responses_client_event.rbs +355 -344
  256. data/sig/openai/models/responses/responses_server_event.rbs +80 -3
  257. data/sig/openai/models/safety/alert_retrieve_params.rbs +22 -0
  258. data/sig/openai/models/safety/safety_alert.rbs +81 -0
  259. data/sig/openai/models/video_create_error.rbs +87 -3
  260. data/sig/openai/models/webhooks/safety_alert_created_webhook_event.rbs +52 -0
  261. data/sig/openai/models/webhooks/safety_org_alert_created_webhook_event.rbs +52 -0
  262. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +2 -0
  263. data/sig/openai/models.rbs +2 -0
  264. data/sig/openai/resources/safety/alerts.rbs +14 -0
  265. data/sig/openai/resources/safety.rbs +9 -0
  266. data/sig/openai/resources/webhooks.rbs +3 -1
  267. metadata +86 -1
@@ -3,6 +3,9 @@ module OpenAI
3
3
  module Responses
4
4
  type responses_server_event =
5
5
  OpenAI::Responses::ResponsesServerEvent::ResponseWsError
6
+ | OpenAI::Responses::ResponseSteerAcceptedEvent
7
+ | OpenAI::Responses::ResponseSteerPendingEvent
8
+ | OpenAI::Responses::ResponseSteerFailedEvent
6
9
  | OpenAI::Responses::ResponsesServerEvent::ResponseAudioWsDelta
7
10
  | OpenAI::Responses::ResponsesServerEvent::ResponseAudioWsDone
8
11
  | OpenAI::Responses::ResponsesServerEvent::ResponseAudioTranscriptWsDelta
@@ -2002,7 +2005,8 @@ module OpenAI
2002
2005
  message: String,
2003
2006
  param: String?,
2004
2007
  type: String,
2005
- headers: ::Hash[Symbol, String]
2008
+ headers: ::Hash[Symbol, String],
2009
+ misalignment: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment
2006
2010
  }
2007
2011
 
2008
2012
  class Error < OpenAI::Internal::Type::BaseModel
@@ -2018,12 +2022,19 @@ module OpenAI
2018
2022
 
2019
2023
  def headers=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
2020
2024
 
2025
+ attr_reader misalignment: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment?
2026
+
2027
+ def misalignment=: (
2028
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment
2029
+ ) -> OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment
2030
+
2021
2031
  def initialize: (
2022
2032
  code: String?,
2023
2033
  message: String,
2024
2034
  param: String?,
2025
2035
  type: String,
2026
- ?headers: ::Hash[Symbol, String]
2036
+ ?headers: ::Hash[Symbol, String],
2037
+ ?misalignment: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment
2027
2038
  ) -> void
2028
2039
 
2029
2040
  def to_hash: -> {
@@ -2031,8 +2042,74 @@ module OpenAI
2031
2042
  message: String,
2032
2043
  param: String?,
2033
2044
  type: String,
2034
- headers: ::Hash[Symbol, String]
2045
+ headers: ::Hash[Symbol, String],
2046
+ misalignment: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment
2035
2047
  }
2048
+
2049
+ type misalignment =
2050
+ {
2051
+ detailed_explanation: String,
2052
+ error_type: OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type,
2053
+ steer: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer
2054
+ }
2055
+
2056
+ class Misalignment < OpenAI::Internal::Type::BaseModel
2057
+ attr_reader detailed_explanation: String?
2058
+
2059
+ def detailed_explanation=: (String) -> String
2060
+
2061
+ attr_reader error_type: OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type?
2062
+
2063
+ def error_type=: (
2064
+ OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type
2065
+ ) -> OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type
2066
+
2067
+ attr_reader steer: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer?
2068
+
2069
+ def steer=: (
2070
+ OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer
2071
+ ) -> OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer
2072
+
2073
+ def initialize: (
2074
+ ?detailed_explanation: String,
2075
+ ?error_type: OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type,
2076
+ ?steer: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer
2077
+ ) -> void
2078
+
2079
+ def to_hash: -> {
2080
+ detailed_explanation: String,
2081
+ error_type: OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type,
2082
+ steer: OpenAI::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::Steer
2083
+ }
2084
+
2085
+ type error_type =
2086
+ String
2087
+ | :potentially_unintended_data_transfer
2088
+ | :potentially_unintended_data_access
2089
+ | :potentially_unintended_destructive_activity
2090
+ | :other
2091
+
2092
+ module ErrorType
2093
+ extend OpenAI::Internal::Type::Union
2094
+
2095
+ def self?.variants: -> ::Array[OpenAI::Models::Responses::ResponsesServerEvent::ResponseWsError::Error::Misalignment::error_type]
2096
+
2097
+ POTENTIALLY_UNINTENDED_DATA_TRANSFER: :potentially_unintended_data_transfer
2098
+ POTENTIALLY_UNINTENDED_DATA_ACCESS: :potentially_unintended_data_access
2099
+ POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY: :potentially_unintended_destructive_activity
2100
+ OTHER: :other
2101
+ end
2102
+
2103
+ type steer = { message: String }
2104
+
2105
+ class Steer < OpenAI::Internal::Type::BaseModel
2106
+ attr_accessor message: String
2107
+
2108
+ def initialize: (message: String) -> void
2109
+
2110
+ def to_hash: -> { message: String }
2111
+ end
2112
+ end
2036
2113
  end
2037
2114
  end
2038
2115
 
@@ -0,0 +1,22 @@
1
+ module OpenAI
2
+ module Models
3
+ module Safety
4
+ type alert_retrieve_params =
5
+ { id: String } & OpenAI::Internal::Type::request_parameters
6
+
7
+ class AlertRetrieveParams < OpenAI::Internal::Type::BaseModel
8
+ extend OpenAI::Internal::Type::RequestParameters::Converter
9
+ include OpenAI::Internal::Type::RequestParameters
10
+
11
+ attr_accessor id: String
12
+
13
+ def initialize: (
14
+ id: String,
15
+ ?request_options: OpenAI::request_opts
16
+ ) -> void
17
+
18
+ def to_hash: -> { id: String, request_options: OpenAI::RequestOptions }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,81 @@
1
+ module OpenAI
2
+ module Models
3
+ class SafetyAlert = Safety::SafetyAlert
4
+
5
+ module Safety
6
+ type safety_alert =
7
+ {
8
+ id: String,
9
+ created_at: Integer,
10
+ error_type: OpenAI::Models::Safety::SafetyAlert::error_type,
11
+ model: String,
12
+ object: :"safety.alert",
13
+ reason: String?,
14
+ request_id: String,
15
+ request_paused: bool,
16
+ response_id: String
17
+ }
18
+
19
+ class SafetyAlert < OpenAI::Internal::Type::BaseModel
20
+ attr_accessor id: String
21
+
22
+ attr_accessor created_at: Integer
23
+
24
+ attr_accessor error_type: OpenAI::Models::Safety::SafetyAlert::error_type
25
+
26
+ attr_accessor model: String
27
+
28
+ attr_accessor object: :"safety.alert"
29
+
30
+ attr_accessor reason: String?
31
+
32
+ attr_accessor request_id: String
33
+
34
+ attr_accessor request_paused: bool
35
+
36
+ attr_accessor response_id: String
37
+
38
+ def initialize: (
39
+ id: String,
40
+ created_at: Integer,
41
+ error_type: OpenAI::Models::Safety::SafetyAlert::error_type,
42
+ model: String,
43
+ reason: String?,
44
+ request_id: String,
45
+ request_paused: bool,
46
+ response_id: String,
47
+ ?object: :"safety.alert"
48
+ ) -> void
49
+
50
+ def to_hash: -> {
51
+ id: String,
52
+ created_at: Integer,
53
+ error_type: OpenAI::Models::Safety::SafetyAlert::error_type,
54
+ model: String,
55
+ object: :"safety.alert",
56
+ reason: String?,
57
+ request_id: String,
58
+ request_paused: bool,
59
+ response_id: String
60
+ }
61
+
62
+ type error_type =
63
+ :potentially_unintended_data_transfer
64
+ | :potentially_unintended_data_access
65
+ | :potentially_unintended_destructive_activity
66
+ | :other
67
+
68
+ module ErrorType
69
+ extend OpenAI::Internal::Type::Enum
70
+
71
+ POTENTIALLY_UNINTENDED_DATA_TRANSFER: :potentially_unintended_data_transfer
72
+ POTENTIALLY_UNINTENDED_DATA_ACCESS: :potentially_unintended_data_access
73
+ POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY: :potentially_unintended_destructive_activity
74
+ OTHER: :other
75
+
76
+ def self?.values: -> ::Array[OpenAI::Models::Safety::SafetyAlert::error_type]
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -1,15 +1,99 @@
1
1
  module OpenAI
2
2
  module Models
3
- type video_create_error = { code: String, message: String }
3
+ type video_create_error =
4
+ {
5
+ code: String,
6
+ message: String,
7
+ misalignment: OpenAI::VideoCreateError::Misalignment
8
+ }
4
9
 
5
10
  class VideoCreateError < OpenAI::Internal::Type::BaseModel
6
11
  attr_accessor code: String
7
12
 
8
13
  attr_accessor message: String
9
14
 
10
- def initialize: (code: String, message: String) -> void
15
+ attr_reader misalignment: OpenAI::VideoCreateError::Misalignment?
11
16
 
12
- def to_hash: -> { code: String, message: String }
17
+ def misalignment=: (
18
+ OpenAI::VideoCreateError::Misalignment
19
+ ) -> OpenAI::VideoCreateError::Misalignment
20
+
21
+ def initialize: (
22
+ code: String,
23
+ message: String,
24
+ ?misalignment: OpenAI::VideoCreateError::Misalignment
25
+ ) -> void
26
+
27
+ def to_hash: -> {
28
+ code: String,
29
+ message: String,
30
+ misalignment: OpenAI::VideoCreateError::Misalignment
31
+ }
32
+
33
+ type misalignment =
34
+ {
35
+ detailed_explanation: String,
36
+ error_type: OpenAI::Models::VideoCreateError::Misalignment::error_type,
37
+ steer: OpenAI::VideoCreateError::Misalignment::Steer
38
+ }
39
+
40
+ class Misalignment < OpenAI::Internal::Type::BaseModel
41
+ attr_reader detailed_explanation: String?
42
+
43
+ def detailed_explanation=: (String) -> String
44
+
45
+ attr_reader error_type: OpenAI::Models::VideoCreateError::Misalignment::error_type?
46
+
47
+ def error_type=: (
48
+ OpenAI::Models::VideoCreateError::Misalignment::error_type
49
+ ) -> OpenAI::Models::VideoCreateError::Misalignment::error_type
50
+
51
+ attr_reader steer: OpenAI::VideoCreateError::Misalignment::Steer?
52
+
53
+ def steer=: (
54
+ OpenAI::VideoCreateError::Misalignment::Steer
55
+ ) -> OpenAI::VideoCreateError::Misalignment::Steer
56
+
57
+ def initialize: (
58
+ ?detailed_explanation: String,
59
+ ?error_type: OpenAI::Models::VideoCreateError::Misalignment::error_type,
60
+ ?steer: OpenAI::VideoCreateError::Misalignment::Steer
61
+ ) -> void
62
+
63
+ def to_hash: -> {
64
+ detailed_explanation: String,
65
+ error_type: OpenAI::Models::VideoCreateError::Misalignment::error_type,
66
+ steer: OpenAI::VideoCreateError::Misalignment::Steer
67
+ }
68
+
69
+ type error_type =
70
+ String
71
+ | :potentially_unintended_data_transfer
72
+ | :potentially_unintended_data_access
73
+ | :potentially_unintended_destructive_activity
74
+ | :other
75
+
76
+ module ErrorType
77
+ extend OpenAI::Internal::Type::Union
78
+
79
+ def self?.variants: -> ::Array[OpenAI::Models::VideoCreateError::Misalignment::error_type]
80
+
81
+ POTENTIALLY_UNINTENDED_DATA_TRANSFER: :potentially_unintended_data_transfer
82
+ POTENTIALLY_UNINTENDED_DATA_ACCESS: :potentially_unintended_data_access
83
+ POTENTIALLY_UNINTENDED_DESTRUCTIVE_ACTIVITY: :potentially_unintended_destructive_activity
84
+ OTHER: :other
85
+ end
86
+
87
+ type steer = { message: String }
88
+
89
+ class Steer < OpenAI::Internal::Type::BaseModel
90
+ attr_accessor message: String
91
+
92
+ def initialize: (message: String) -> void
93
+
94
+ def to_hash: -> { message: String }
95
+ end
96
+ end
13
97
  end
14
98
  end
15
99
  end
@@ -0,0 +1,52 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type safety_alert_created_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::SafetyAlertCreatedWebhookEvent::Data,
9
+ object: :event,
10
+ type: :"safety.alert.created"
11
+ }
12
+
13
+ class SafetyAlertCreatedWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor id: String
15
+
16
+ attr_accessor created_at: Integer
17
+
18
+ attr_accessor data: OpenAI::Webhooks::SafetyAlertCreatedWebhookEvent::Data
19
+
20
+ attr_accessor object: :event
21
+
22
+ attr_accessor type: :"safety.alert.created"
23
+
24
+ def initialize: (
25
+ id: String,
26
+ created_at: Integer,
27
+ data: OpenAI::Webhooks::SafetyAlertCreatedWebhookEvent::Data,
28
+ ?object: :event,
29
+ ?type: :"safety.alert.created"
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ id: String,
34
+ created_at: Integer,
35
+ data: OpenAI::Webhooks::SafetyAlertCreatedWebhookEvent::Data,
36
+ object: :event,
37
+ type: :"safety.alert.created"
38
+ }
39
+
40
+ type data = { id: String }
41
+
42
+ class Data < OpenAI::Internal::Type::BaseModel
43
+ attr_accessor id: String
44
+
45
+ def initialize: (id: String) -> void
46
+
47
+ def to_hash: -> { id: String }
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,52 @@
1
+ module OpenAI
2
+ module Models
3
+ module Webhooks
4
+ type safety_org_alert_created_webhook_event =
5
+ {
6
+ id: String,
7
+ created_at: Integer,
8
+ data: OpenAI::Webhooks::SafetyOrgAlertCreatedWebhookEvent::Data,
9
+ object: :event,
10
+ type: :"safety.org_alert.created"
11
+ }
12
+
13
+ class SafetyOrgAlertCreatedWebhookEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor id: String
15
+
16
+ attr_accessor created_at: Integer
17
+
18
+ attr_accessor data: OpenAI::Webhooks::SafetyOrgAlertCreatedWebhookEvent::Data
19
+
20
+ attr_accessor object: :event
21
+
22
+ attr_accessor type: :"safety.org_alert.created"
23
+
24
+ def initialize: (
25
+ id: String,
26
+ created_at: Integer,
27
+ data: OpenAI::Webhooks::SafetyOrgAlertCreatedWebhookEvent::Data,
28
+ ?object: :event,
29
+ ?type: :"safety.org_alert.created"
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ id: String,
34
+ created_at: Integer,
35
+ data: OpenAI::Webhooks::SafetyOrgAlertCreatedWebhookEvent::Data,
36
+ object: :event,
37
+ type: :"safety.org_alert.created"
38
+ }
39
+
40
+ type data = { id: String }
41
+
42
+ class Data < OpenAI::Internal::Type::BaseModel
43
+ attr_accessor id: String
44
+
45
+ def initialize: (id: String) -> void
46
+
47
+ def to_hash: -> { id: String }
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -18,6 +18,8 @@ module OpenAI
18
18
  | OpenAI::Webhooks::ResponseCompletedWebhookEvent
19
19
  | OpenAI::Webhooks::ResponseFailedWebhookEvent
20
20
  | OpenAI::Webhooks::ResponseIncompleteWebhookEvent
21
+ | OpenAI::Webhooks::SafetyAlertCreatedWebhookEvent
22
+ | OpenAI::Webhooks::SafetyOrgAlertCreatedWebhookEvent
21
23
 
22
24
  module UnwrapWebhookEvent
23
25
  extend OpenAI::Internal::Type::Union
@@ -195,6 +195,8 @@ module OpenAI
195
195
 
196
196
  module ResponsesModel = OpenAI::Models::ResponsesModel
197
197
 
198
+ module Safety = OpenAI::Models::Safety
199
+
198
200
  class Skill = OpenAI::Models::Skill
199
201
 
200
202
  class SkillCreateParams = OpenAI::Models::SkillCreateParams
@@ -0,0 +1,14 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Safety
4
+ class Alerts
5
+ def retrieve: (
6
+ String id,
7
+ ?request_options: OpenAI::request_opts
8
+ ) -> OpenAI::Safety::SafetyAlert
9
+
10
+ def initialize: (client: OpenAI::Client) -> void
11
+ end
12
+ end
13
+ end
14
+ end
@@ -0,0 +1,9 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Safety
4
+ attr_reader alerts: OpenAI::Resources::Safety::Alerts
5
+
6
+ def initialize: (client: OpenAI::Client) -> void
7
+ end
8
+ end
9
+ end
@@ -20,7 +20,9 @@ module OpenAI
20
20
  | OpenAI::Webhooks::ResponseCancelledWebhookEvent
21
21
  | OpenAI::Webhooks::ResponseCompletedWebhookEvent
22
22
  | OpenAI::Webhooks::ResponseFailedWebhookEvent
23
- | OpenAI::Webhooks::ResponseIncompleteWebhookEvent)
23
+ | OpenAI::Webhooks::ResponseIncompleteWebhookEvent
24
+ | OpenAI::Webhooks::SafetyAlertCreatedWebhookEvent
25
+ | OpenAI::Webhooks::SafetyOrgAlertCreatedWebhookEvent)
24
26
 
25
27
  def verify_signature: (
26
28
  String payload,