openai 0.78.0 → 0.80.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 (239) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +99 -0
  3. data/README.md +241 -8
  4. data/SECURITY.md +6 -22
  5. data/azure.md +110 -0
  6. data/bedrock.md +197 -0
  7. data/examples/mtls_custom_http_client.rb +61 -0
  8. data/lib/openai/auth/workload_identity.rb +13 -2
  9. data/lib/openai/auth/workload_identity_auth.rb +2 -1
  10. data/lib/openai/client.rb +29 -6
  11. data/lib/openai/errors.rb +11 -1
  12. data/lib/openai/helpers/streaming/chat_completion_stream.rb +3 -3
  13. data/lib/openai/helpers/streaming/response_stream.rb +5 -6
  14. data/lib/openai/helpers/structured_output/base_model.rb +20 -19
  15. data/lib/openai/helpers/structured_output/json_schema_converter.rb +12 -5
  16. data/lib/openai/http_client.rb +99 -7
  17. data/lib/openai/internal/conversation_cursor_page.rb +5 -6
  18. data/lib/openai/internal/cursor_page.rb +3 -3
  19. data/lib/openai/internal/logging.rb +419 -0
  20. data/lib/openai/internal/next_cursor_page.rb +5 -6
  21. data/lib/openai/internal/page.rb +2 -2
  22. data/lib/openai/internal/provider.rb +7 -1
  23. data/lib/openai/internal/read_io_adapter.rb +42 -18
  24. data/lib/openai/internal/stream.rb +2 -2
  25. data/lib/openai/internal/transport/base_client.rb +137 -37
  26. data/lib/openai/internal/type/array_of.rb +6 -4
  27. data/lib/openai/internal/type/base_model.rb +39 -1
  28. data/lib/openai/internal/type/base_page.rb +19 -2
  29. data/lib/openai/internal/type/base_stream.rb +39 -7
  30. data/lib/openai/internal/type/hash_of.rb +3 -3
  31. data/lib/openai/internal/util.rb +52 -27
  32. data/lib/openai/models/admin/organization/audit_log_list_params.rb +3 -1
  33. data/lib/openai/models/admin/organization/audit_log_list_response.rb +33 -11
  34. data/lib/openai/models/admin/organization/groups/role_list_response.rb +5 -1
  35. data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +5 -1
  36. data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +6 -1
  37. data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +6 -1
  38. data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +3 -1
  39. data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +6 -1
  40. data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +6 -1
  41. data/lib/openai/models/admin/organization/users/role_list_response.rb +5 -1
  42. data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +5 -1
  43. data/lib/openai/models/all_models.rb +5 -0
  44. data/lib/openai/models/audio/transcription_create_params.rb +7 -1
  45. data/lib/openai/models/audio/translation_create_params.rb +7 -1
  46. data/lib/openai/models/beta/beta_mcp_tool_call_error.rb +84 -0
  47. data/lib/openai/models/beta/beta_response.rb +27 -0
  48. data/lib/openai/models/beta/beta_response_input_item.rb +3 -3
  49. data/lib/openai/models/beta/beta_response_item.rb +3 -3
  50. data/lib/openai/models/beta/beta_response_output_item.rb +3 -3
  51. data/lib/openai/models/beta/beta_response_output_item_added_event.rb +5 -2
  52. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +201 -4
  53. data/lib/openai/models/beta/beta_response_reasoning_item.rb +5 -0
  54. data/lib/openai/models/beta/beta_response_stream_event.rb +1 -1
  55. data/lib/openai/models/beta/beta_responses_client_event.rb +46 -3
  56. data/lib/openai/models/beta/beta_responses_server_event.rb +1143 -63
  57. data/lib/openai/models/beta/beta_web_search_tool.rb +11 -1
  58. data/lib/openai/models/beta/response_compact_params.rb +18 -0
  59. data/lib/openai/models/beta/response_create_params.rb +27 -0
  60. data/lib/openai/models/chat_model.rb +1 -0
  61. data/lib/openai/models/completion_usage.rb +26 -2
  62. data/lib/openai/models/containers/file_create_params.rb +4 -0
  63. data/lib/openai/models/content_provenance_check_create_params.rb +4 -0
  64. data/lib/openai/models/conversations/conversation_item.rb +3 -3
  65. data/lib/openai/models/file_create_params.rb +4 -0
  66. data/lib/openai/models/image_create_variation_params.rb +4 -0
  67. data/lib/openai/models/image_edit_params.rb +8 -0
  68. data/lib/openai/models/model.rb +9 -1
  69. data/lib/openai/models/responses/mcp_tool_call_error.rb +82 -0
  70. data/lib/openai/models/responses/response.rb +9 -0
  71. data/lib/openai/models/responses/response_compact_params.rb +18 -0
  72. data/lib/openai/models/responses/response_create_params.rb +9 -0
  73. data/lib/openai/models/responses/response_input_item.rb +3 -3
  74. data/lib/openai/models/responses/response_item.rb +3 -3
  75. data/lib/openai/models/responses/response_output_item.rb +3 -3
  76. data/lib/openai/models/responses/response_output_item_added_event.rb +5 -2
  77. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +201 -4
  78. data/lib/openai/models/responses/response_reasoning_item.rb +5 -0
  79. data/lib/openai/models/responses/response_stream_event.rb +1 -1
  80. data/lib/openai/models/responses/responses_client_event.rb +22 -1
  81. data/lib/openai/models/responses/responses_server_event.rb +1107 -56
  82. data/lib/openai/models/responses/web_search_tool.rb +11 -1
  83. data/lib/openai/models/responses_model.rb +5 -0
  84. data/lib/openai/models/skill_create_params.rb +4 -0
  85. data/lib/openai/models/skills/version_create_params.rb +4 -0
  86. data/lib/openai/models/uploads/part_create_params.rb +4 -0
  87. data/lib/openai/models/vector_store_search_response.rb +3 -1
  88. data/lib/openai/models/video_create_character_params.rb +4 -0
  89. data/lib/openai/models/video_create_params.rb +4 -0
  90. data/lib/openai/models/video_edit_params.rb +4 -0
  91. data/lib/openai/models/video_extend_params.rb +4 -0
  92. data/lib/openai/models.rb +9 -1
  93. data/lib/openai/net_http_client.rb +20 -6
  94. data/lib/openai/providers/azure.rb +216 -0
  95. data/lib/openai/providers/bedrock.rb +130 -17
  96. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +1 -1
  97. data/lib/openai/resources/admin/organization/projects/groups.rb +1 -1
  98. data/lib/openai/resources/admin/organization/projects/users/roles.rb +1 -1
  99. data/lib/openai/resources/admin/organization/projects.rb +4 -2
  100. data/lib/openai/resources/audio/transcriptions.rb +8 -0
  101. data/lib/openai/resources/audio/translations.rb +4 -0
  102. data/lib/openai/resources/beta/responses.rb +1 -1
  103. data/lib/openai/resources/beta/threads/runs/steps.rb +2 -2
  104. data/lib/openai/resources/containers/files.rb +4 -0
  105. data/lib/openai/resources/content_provenance_checks.rb +4 -0
  106. data/lib/openai/resources/conversations/items.rb +1 -1
  107. data/lib/openai/resources/evals/runs/output_items.rb +1 -1
  108. data/lib/openai/resources/files.rb +5 -1
  109. data/lib/openai/resources/images.rb +12 -0
  110. data/lib/openai/resources/responses.rb +3 -2
  111. data/lib/openai/resources/skills/versions.rb +4 -0
  112. data/lib/openai/resources/skills.rb +4 -0
  113. data/lib/openai/resources/uploads/parts.rb +4 -0
  114. data/lib/openai/resources/vector_stores/file_batches.rb +1 -1
  115. data/lib/openai/resources/videos.rb +38 -0
  116. data/lib/openai/resources/webhooks.rb +18 -6
  117. data/lib/openai/version.rb +1 -1
  118. data/lib/openai.rb +111 -105
  119. data/rbi/openai/auth.rbi +4 -4
  120. data/rbi/openai/client.rbi +13 -3
  121. data/rbi/openai/errors.rbi +7 -0
  122. data/rbi/openai/helpers/streaming/events.rbi +12 -0
  123. data/rbi/openai/http_client.rbi +62 -2
  124. data/rbi/openai/internal/logging.rbi +192 -0
  125. data/rbi/openai/internal/provider.rbi +3 -0
  126. data/rbi/openai/internal/read_io_adapter.rbi +6 -1
  127. data/rbi/openai/internal/transport/base_client.rbi +61 -7
  128. data/rbi/openai/internal/type/base_model.rbi +24 -1
  129. data/rbi/openai/internal/type/base_page.rbi +13 -2
  130. data/rbi/openai/internal/type/base_stream.rbi +15 -4
  131. data/rbi/openai/internal/util.rbi +26 -2
  132. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +5 -0
  133. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +5 -0
  134. data/rbi/openai/models/all_models.rbi +25 -0
  135. data/rbi/openai/models/audio/transcription_create_params.rbi +14 -2
  136. data/rbi/openai/models/audio/translation_create_params.rbi +14 -2
  137. data/rbi/openai/models/beta/beta_mcp_tool_call_error.rbi +122 -0
  138. data/rbi/openai/models/beta/beta_response.rbi +47 -0
  139. data/rbi/openai/models/beta/beta_response_input_item.rbi +27 -3
  140. data/rbi/openai/models/beta/beta_response_item.rbi +27 -3
  141. data/rbi/openai/models/beta/beta_response_output_item.rbi +27 -3
  142. data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +8 -2
  143. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +297 -5
  144. data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +10 -0
  145. data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -1
  146. data/rbi/openai/models/beta/beta_responses_client_event.rbi +69 -1
  147. data/rbi/openai/models/beta/beta_responses_server_event.rbi +3945 -54
  148. data/rbi/openai/models/beta/beta_web_search_tool.rbi +15 -0
  149. data/rbi/openai/models/beta/response_compact_params.rbi +30 -0
  150. data/rbi/openai/models/beta/response_create_params.rbi +47 -0
  151. data/rbi/openai/models/chat_model.rbi +2 -0
  152. data/rbi/openai/models/completion_usage.rbi +39 -6
  153. data/rbi/openai/models/containers/file_create_params.rbi +8 -0
  154. data/rbi/openai/models/content_provenance_check_create_params.rbi +8 -0
  155. data/rbi/openai/models/conversations/conversation_item.rbi +12 -3
  156. data/rbi/openai/models/file_create_params.rbi +8 -0
  157. data/rbi/openai/models/image_create_variation_params.rbi +8 -0
  158. data/rbi/openai/models/image_edit_params.rbi +16 -0
  159. data/rbi/openai/models/model.rbi +14 -1
  160. data/rbi/openai/models/responses/mcp_tool_call_error.rbi +120 -0
  161. data/rbi/openai/models/responses/response.rbi +17 -0
  162. data/rbi/openai/models/responses/response_compact_params.rbi +30 -0
  163. data/rbi/openai/models/responses/response_create_params.rbi +17 -0
  164. data/rbi/openai/models/responses/response_input_item.rbi +27 -3
  165. data/rbi/openai/models/responses/response_item.rbi +27 -3
  166. data/rbi/openai/models/responses/response_output_item.rbi +27 -3
  167. data/rbi/openai/models/responses/response_output_item_added_event.rbi +8 -2
  168. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +297 -5
  169. data/rbi/openai/models/responses/response_reasoning_item.rbi +10 -0
  170. data/rbi/openai/models/responses/response_stream_event.rbi +1 -1
  171. data/rbi/openai/models/responses/responses_client_event.rbi +36 -0
  172. data/rbi/openai/models/responses/responses_server_event.rbi +3385 -53
  173. data/rbi/openai/models/responses/web_search_tool.rbi +15 -0
  174. data/rbi/openai/models/responses_model.rbi +25 -0
  175. data/rbi/openai/models/skill_create_params.rbi +8 -0
  176. data/rbi/openai/models/skills/version_create_params.rbi +8 -0
  177. data/rbi/openai/models/uploads/part_create_params.rbi +8 -0
  178. data/rbi/openai/models/video_create_character_params.rbi +8 -0
  179. data/rbi/openai/models/video_create_params.rbi +8 -0
  180. data/rbi/openai/models/video_edit_params.rbi +8 -0
  181. data/rbi/openai/models/video_extend_params.rbi +8 -0
  182. data/rbi/openai/net_http_client.rbi +2 -2
  183. data/rbi/openai/providers.rbi +11 -0
  184. data/rbi/openai/resources/audio/transcriptions.rbi +14 -2
  185. data/rbi/openai/resources/audio/translations.rbi +7 -1
  186. data/rbi/openai/resources/beta/responses.rbi +8 -0
  187. data/rbi/openai/resources/containers/files.rbi +4 -0
  188. data/rbi/openai/resources/content_provenance_checks.rbi +4 -0
  189. data/rbi/openai/resources/files.rbi +5 -1
  190. data/rbi/openai/resources/images.rbi +20 -0
  191. data/rbi/openai/resources/responses.rbi +8 -0
  192. data/rbi/openai/resources/skills/versions.rbi +4 -0
  193. data/rbi/openai/resources/skills.rbi +4 -0
  194. data/rbi/openai/resources/uploads/parts.rbi +4 -0
  195. data/rbi/openai/resources/videos.rbi +16 -0
  196. data/sig/openai/client.rbs +6 -2
  197. data/sig/openai/errors.rbs +5 -0
  198. data/sig/openai/http_client.rbs +37 -2
  199. data/sig/openai/internal/logging.rbs +88 -0
  200. data/sig/openai/internal/provider.rbs +3 -1
  201. data/sig/openai/internal/read_io_adapter.rbs +3 -1
  202. data/sig/openai/internal/transport/base_client.rbs +33 -5
  203. data/sig/openai/internal/type/base_model.rbs +13 -0
  204. data/sig/openai/internal/type/base_page.rbs +8 -1
  205. data/sig/openai/internal/type/base_stream.rbs +8 -2
  206. data/sig/openai/internal/util.rbs +12 -0
  207. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
  208. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
  209. data/sig/openai/models/all_models.rbs +10 -0
  210. data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +75 -0
  211. data/sig/openai/models/beta/beta_response.rbs +14 -1
  212. data/sig/openai/models/beta/beta_response_input_item.rbs +4 -4
  213. data/sig/openai/models/beta/beta_response_item.rbs +4 -4
  214. data/sig/openai/models/beta/beta_response_output_item.rbs +4 -4
  215. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +149 -4
  216. data/sig/openai/models/beta/beta_responses_client_event.rbs +21 -1
  217. data/sig/openai/models/beta/beta_responses_server_event.rbs +2005 -53
  218. data/sig/openai/models/beta/beta_web_search_tool.rbs +7 -0
  219. data/sig/openai/models/beta/response_compact_params.rbs +12 -0
  220. data/sig/openai/models/beta/response_create_params.rbs +14 -1
  221. data/sig/openai/models/chat_model.rbs +2 -0
  222. data/sig/openai/models/completion_usage.rbs +27 -6
  223. data/sig/openai/models/conversations/conversation_item.rbs +4 -4
  224. data/sig/openai/models/model.rbs +12 -2
  225. data/sig/openai/models/responses/mcp_tool_call_error.rbs +73 -0
  226. data/sig/openai/models/responses/response.rbs +2 -1
  227. data/sig/openai/models/responses/response_compact_params.rbs +12 -0
  228. data/sig/openai/models/responses/response_create_params.rbs +2 -1
  229. data/sig/openai/models/responses/response_input_item.rbs +4 -4
  230. data/sig/openai/models/responses/response_item.rbs +4 -4
  231. data/sig/openai/models/responses/response_output_item.rbs +4 -4
  232. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +149 -4
  233. data/sig/openai/models/responses/responses_client_event.rbs +9 -1
  234. data/sig/openai/models/responses/responses_server_event.rbs +1834 -53
  235. data/sig/openai/models/responses/web_search_tool.rbs +7 -0
  236. data/sig/openai/models/responses_model.rbs +10 -0
  237. data/sig/openai/net_http_client.rbs +2 -2
  238. data/sig/openai/providers.rbs +7 -0
  239. metadata +30 -1
@@ -10,6 +10,14 @@ module OpenAI
10
10
  # @return [Symbol, OpenAI::Models::Beta::BetaWebSearchTool::Type]
11
11
  required :type, enum: -> { OpenAI::Beta::BetaWebSearchTool::Type }
12
12
 
13
+ # @!attribute external_web_access
14
+ # Allow live internet access for web search. Defaults to true when omitted. When
15
+ # false, the web search tool runs in offline/cache-only mode and will not fetch
16
+ # new external content.
17
+ #
18
+ # @return [Boolean, nil]
19
+ optional :external_web_access, OpenAI::Internal::Type::Boolean
20
+
13
21
  # @!attribute filters
14
22
  # Filters for the search.
15
23
  #
@@ -29,7 +37,7 @@ module OpenAI
29
37
  # @return [OpenAI::Models::Beta::BetaWebSearchTool::UserLocation, nil]
30
38
  optional :user_location, -> { OpenAI::Beta::BetaWebSearchTool::UserLocation }, nil?: true
31
39
 
32
- # @!method initialize(type:, filters: nil, search_context_size: nil, user_location: nil)
40
+ # @!method initialize(type:, external_web_access: nil, filters: nil, search_context_size: nil, user_location: nil)
33
41
  # Some parameter documentations has been truncated, see
34
42
  # {OpenAI::Models::Beta::BetaWebSearchTool} for more details.
35
43
  #
@@ -38,6 +46,8 @@ module OpenAI
38
46
  #
39
47
  # @param type [Symbol, OpenAI::Models::Beta::BetaWebSearchTool::Type] The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
40
48
  #
49
+ # @param external_web_access [Boolean] Allow live internet access for web search. Defaults to true when omitted. When f
50
+ #
41
51
  # @param filters [OpenAI::Models::Beta::BetaWebSearchTool::Filters, nil] Filters for the search.
42
52
  #
43
53
  # @param search_context_size [Symbol, OpenAI::Models::Beta::BetaWebSearchTool::SearchContextSize] High level guidance for the amount of context window space to use for the search
@@ -141,6 +141,8 @@ module OpenAI
141
141
 
142
142
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_5 }
143
143
 
144
+ variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_5_2026_04_23 }
145
+
144
146
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_4 }
145
147
 
146
148
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_4_MINI }
@@ -317,6 +319,10 @@ module OpenAI
317
319
 
318
320
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::COMPUTER_USE_PREVIEW_2025_03_11 }
319
321
 
322
+ variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_5_PRO }
323
+
324
+ variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_5_PRO_2026_04_23 }
325
+
320
326
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_CODEX }
321
327
 
322
328
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_PRO }
@@ -325,6 +331,12 @@ module OpenAI
325
331
 
326
332
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_1_CODEX_MAX }
327
333
 
334
+ variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_DAYBREAK_BLUE_LATEST }
335
+
336
+ variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_DAYBREAK_RED_LATEST }
337
+
338
+ variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_6_CYBER }
339
+
328
340
  variant String
329
341
 
330
342
  # @!method self.variants
@@ -340,6 +352,7 @@ module OpenAI
340
352
  GPT_5_6_TERRA = :"gpt-5.6-terra"
341
353
  GPT_5_6_LUNA = :"gpt-5.6-luna"
342
354
  GPT_5_5 = :"gpt-5.5"
355
+ GPT_5_5_2026_04_23 = :"gpt-5.5-2026-04-23"
343
356
  GPT_5_4 = :"gpt-5.4"
344
357
  GPT_5_4_MINI = :"gpt-5.4-mini"
345
358
  GPT_5_4_NANO = :"gpt-5.4-nano"
@@ -428,10 +441,15 @@ module OpenAI
428
441
  O4_MINI_DEEP_RESEARCH_2025_06_26 = :"o4-mini-deep-research-2025-06-26"
429
442
  COMPUTER_USE_PREVIEW = :"computer-use-preview"
430
443
  COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
444
+ GPT_5_5_PRO = :"gpt-5.5-pro"
445
+ GPT_5_5_PRO_2026_04_23 = :"gpt-5.5-pro-2026-04-23"
431
446
  GPT_5_CODEX = :"gpt-5-codex"
432
447
  GPT_5_PRO = :"gpt-5-pro"
433
448
  GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
434
449
  GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
450
+ GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
451
+ GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
452
+ GPT_5_6_CYBER = :"gpt-5.6-cyber"
435
453
 
436
454
  # @!endgroup
437
455
  end
@@ -240,6 +240,10 @@ module OpenAI
240
240
  # Responses or Chat Completions. The response will show `service_tier=priority`
241
241
  # regardless of if you specify `service_tier=fast` or `priority` in your
242
242
  # request.
243
+ # - If set to 'ultrafast', then the request will be processed with the
244
+ # access-controlled Ultrafast Processing service tier. This tier is currently
245
+ # available for `gpt-5.6-sol`; a response served through it will show
246
+ # `service_tier=ultrafast`.
243
247
  # - When not set, the default behavior is 'auto'.
244
248
  #
245
249
  # When the `service_tier` parameter is set, the response body will include the
@@ -508,6 +512,8 @@ module OpenAI
508
512
 
509
513
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_5 }
510
514
 
515
+ variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_5_2026_04_23 }
516
+
511
517
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_4 }
512
518
 
513
519
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_4_MINI }
@@ -684,6 +690,10 @@ module OpenAI
684
690
 
685
691
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::COMPUTER_USE_PREVIEW_2025_03_11 }
686
692
 
693
+ variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_5_PRO }
694
+
695
+ variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_5_PRO_2026_04_23 }
696
+
687
697
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_CODEX }
688
698
 
689
699
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_PRO }
@@ -692,6 +702,12 @@ module OpenAI
692
702
 
693
703
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_1_CODEX_MAX }
694
704
 
705
+ variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_DAYBREAK_BLUE_LATEST }
706
+
707
+ variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_DAYBREAK_RED_LATEST }
708
+
709
+ variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_6_CYBER }
710
+
695
711
  variant String
696
712
 
697
713
  # @!method self.variants
@@ -707,6 +723,7 @@ module OpenAI
707
723
  GPT_5_6_TERRA = :"gpt-5.6-terra"
708
724
  GPT_5_6_LUNA = :"gpt-5.6-luna"
709
725
  GPT_5_5 = :"gpt-5.5"
726
+ GPT_5_5_2026_04_23 = :"gpt-5.5-2026-04-23"
710
727
  GPT_5_4 = :"gpt-5.4"
711
728
  GPT_5_4_MINI = :"gpt-5.4-mini"
712
729
  GPT_5_4_NANO = :"gpt-5.4-nano"
@@ -795,10 +812,15 @@ module OpenAI
795
812
  O4_MINI_DEEP_RESEARCH_2025_06_26 = :"o4-mini-deep-research-2025-06-26"
796
813
  COMPUTER_USE_PREVIEW = :"computer-use-preview"
797
814
  COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
815
+ GPT_5_5_PRO = :"gpt-5.5-pro"
816
+ GPT_5_5_PRO_2026_04_23 = :"gpt-5.5-pro-2026-04-23"
798
817
  GPT_5_CODEX = :"gpt-5-codex"
799
818
  GPT_5_PRO = :"gpt-5-pro"
800
819
  GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
801
820
  GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
821
+ GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
822
+ GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
823
+ GPT_5_6_CYBER = :"gpt-5.6-cyber"
802
824
 
803
825
  # @!endgroup
804
826
  end
@@ -1232,6 +1254,10 @@ module OpenAI
1232
1254
  # Responses or Chat Completions. The response will show `service_tier=priority`
1233
1255
  # regardless of if you specify `service_tier=fast` or `priority` in your
1234
1256
  # request.
1257
+ # - If set to 'ultrafast', then the request will be processed with the
1258
+ # access-controlled Ultrafast Processing service tier. This tier is currently
1259
+ # available for `gpt-5.6-sol`; a response served through it will show
1260
+ # `service_tier=ultrafast`.
1235
1261
  # - When not set, the default behavior is 'auto'.
1236
1262
  #
1237
1263
  # When the `service_tier` parameter is set, the response body will include the
@@ -1247,6 +1273,7 @@ module OpenAI
1247
1273
  SCALE = :scale
1248
1274
  PRIORITY = :priority
1249
1275
  FAST = :fast
1276
+ ULTRAFAST = :ultrafast
1250
1277
 
1251
1278
  # @!method self.values
1252
1279
  # @return [Array<Symbol>]
@@ -9,6 +9,7 @@ module OpenAI
9
9
  GPT_5_6_TERRA = :"gpt-5.6-terra"
10
10
  GPT_5_6_LUNA = :"gpt-5.6-luna"
11
11
  GPT_5_5 = :"gpt-5.5"
12
+ GPT_5_5_2026_04_23 = :"gpt-5.5-2026-04-23"
12
13
  GPT_5_4 = :"gpt-5.4"
13
14
  GPT_5_4_MINI = :"gpt-5.4-mini"
14
15
  GPT_5_4_NANO = :"gpt-5.4-nano"
@@ -76,7 +76,13 @@ module OpenAI
76
76
  # @return [Integer, nil]
77
77
  optional :rejected_prediction_tokens, Integer
78
78
 
79
- # @!method initialize(accepted_prediction_tokens: nil, audio_tokens: nil, reasoning_tokens: nil, rejected_prediction_tokens: nil)
79
+ # @!attribute text_tokens
80
+ # Text output tokens generated by the model.
81
+ #
82
+ # @return [Integer, nil]
83
+ optional :text_tokens, Integer
84
+
85
+ # @!method initialize(accepted_prediction_tokens: nil, audio_tokens: nil, reasoning_tokens: nil, rejected_prediction_tokens: nil, text_tokens: nil)
80
86
  # Some parameter documentations has been truncated, see
81
87
  # {OpenAI::Models::CompletionUsage::CompletionTokensDetails} for more details.
82
88
  #
@@ -89,6 +95,8 @@ module OpenAI
89
95
  # @param reasoning_tokens [Integer] Tokens generated by the model for reasoning.
90
96
  #
91
97
  # @param rejected_prediction_tokens [Integer] When using Predicted Outputs, the number of tokens in the
98
+ #
99
+ # @param text_tokens [Integer] Text output tokens generated by the model.
92
100
  end
93
101
 
94
102
  # @see OpenAI::Models::CompletionUsage#prompt_tokens_details
@@ -111,7 +119,19 @@ module OpenAI
111
119
  # @return [Integer, nil]
112
120
  optional :cached_tokens, Integer
113
121
 
114
- # @!method initialize(audio_tokens: nil, cache_write_tokens: nil, cached_tokens: nil)
122
+ # @!attribute image_tokens
123
+ # Image input tokens present in the prompt.
124
+ #
125
+ # @return [Integer, nil]
126
+ optional :image_tokens, Integer
127
+
128
+ # @!attribute text_tokens
129
+ # Text input tokens present in the prompt.
130
+ #
131
+ # @return [Integer, nil]
132
+ optional :text_tokens, Integer
133
+
134
+ # @!method initialize(audio_tokens: nil, cache_write_tokens: nil, cached_tokens: nil, image_tokens: nil, text_tokens: nil)
115
135
  # Breakdown of tokens used in the prompt.
116
136
  #
117
137
  # @param audio_tokens [Integer] Audio input tokens present in the prompt.
@@ -119,6 +139,10 @@ module OpenAI
119
139
  # @param cache_write_tokens [Integer] The unadjusted number of prompt tokens written to cache.
120
140
  #
121
141
  # @param cached_tokens [Integer] Cached tokens present in the prompt.
142
+ #
143
+ # @param image_tokens [Integer] Image input tokens present in the prompt.
144
+ #
145
+ # @param text_tokens [Integer] Text input tokens present in the prompt.
122
146
  end
123
147
  end
124
148
  end
@@ -16,6 +16,10 @@ module OpenAI
16
16
  # @!attribute file
17
17
  # The File object (not file name) to be uploaded.
18
18
  #
19
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
20
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
21
+ # content type.
22
+ #
19
23
  # @return [Pathname, StringIO, IO, String, OpenAI::FilePart, nil]
20
24
  optional :file, OpenAI::Internal::Type::FileInput
21
25
 
@@ -10,6 +10,10 @@ module OpenAI
10
10
  # @!attribute file
11
11
  # The image or audio file to check for supported OpenAI provenance signals.
12
12
  #
13
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
14
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
15
+ # content type.
16
+ #
13
17
  # @return [Pathname, StringIO, IO, String, OpenAI::FilePart]
14
18
  required :file, OpenAI::Internal::Type::FileInput
15
19
 
@@ -711,8 +711,8 @@ module OpenAI
711
711
  # @!attribute error
712
712
  # The error from the tool call, if any.
713
713
  #
714
- # @return [String, nil]
715
- optional :error, String, nil?: true
714
+ # @return [OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError, nil]
715
+ optional :error, union: -> { OpenAI::Responses::McpToolCallError }, nil?: true
716
716
 
717
717
  # @!attribute output
718
718
  # The output from the tool call.
@@ -743,7 +743,7 @@ module OpenAI
743
743
  #
744
744
  # @param approval_request_id [String, nil] Unique identifier for the MCP tool call approval request.
745
745
  #
746
- # @param error [String, nil] The error from the tool call, if any.
746
+ # @param error [OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError, nil] The error from the tool call, if any.
747
747
  #
748
748
  # @param output [String, nil] The output from the tool call.
749
749
  #
@@ -10,6 +10,10 @@ module OpenAI
10
10
  # @!attribute file
11
11
  # The File object (not file name) to be uploaded.
12
12
  #
13
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
14
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
15
+ # content type.
16
+ #
13
17
  # @return [Pathname, StringIO, IO, String, OpenAI::FilePart]
14
18
  required :file, OpenAI::Internal::Type::FileInput
15
19
 
@@ -11,6 +11,10 @@ module OpenAI
11
11
  # The image to use as the basis for the variation(s). Must be a valid PNG file,
12
12
  # less than 4MB, and square.
13
13
  #
14
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
15
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
16
+ # content type.
17
+ #
14
18
  # @return [Pathname, StringIO, IO, String, OpenAI::FilePart]
15
19
  required :image, OpenAI::Internal::Type::FileInput
16
20
 
@@ -20,6 +20,10 @@ module OpenAI
20
20
  # For `dall-e-2`, you can only provide one image, and it should be a square `png`
21
21
  # file less than 4MB.
22
22
  #
23
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
24
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
25
+ # content type.
26
+ #
23
27
  # @return [Pathname, StringIO, IO, String, OpenAI::FilePart, Array<Pathname, StringIO, IO, String, OpenAI::FilePart>]
24
28
  required :image, union: -> { OpenAI::ImageEditParams::Image }
25
29
 
@@ -62,6 +66,10 @@ module OpenAI
62
66
  # the mask will be applied on the first image. Must be a valid PNG file, less than
63
67
  # 4MB, and have the same dimensions as `image`.
64
68
  #
69
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
70
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
71
+ # content type.
72
+ #
65
73
  # @return [Pathname, StringIO, IO, String, OpenAI::FilePart, nil]
66
74
  optional :mask, OpenAI::Internal::Type::FileInput
67
75
 
@@ -28,7 +28,13 @@ module OpenAI
28
28
  # @return [String]
29
29
  required :owned_by, String
30
30
 
31
- # @!method initialize(id:, created:, owned_by:, object: :model)
31
+ # @!attribute shutdown_date
32
+ # The date when the model will shut down, or null if not announced.
33
+ #
34
+ # @return [Date, nil]
35
+ optional :shutdown_date, Date, nil?: true
36
+
37
+ # @!method initialize(id:, created:, owned_by:, shutdown_date: nil, object: :model)
32
38
  # Describes an OpenAI model offering that can be used with the API.
33
39
  #
34
40
  # @param id [String] The model identifier, which can be referenced in the API endpoints.
@@ -37,6 +43,8 @@ module OpenAI
37
43
  #
38
44
  # @param owned_by [String] The organization that owns the model.
39
45
  #
46
+ # @param shutdown_date [Date, nil] The date when the model will shut down, or null if not announced.
47
+ #
40
48
  # @param object [Symbol, :model] The object type, which is always "model".
41
49
  end
42
50
  end
@@ -0,0 +1,82 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Responses
6
+ module McpToolCallError
7
+ extend OpenAI::Internal::Type::Union
8
+
9
+ discriminator :type
10
+
11
+ variant :mcp_protocol_error, -> { OpenAI::Responses::McpToolCallError::McpProtocolError }
12
+
13
+ variant :mcp_tool_execution_error, -> { OpenAI::Responses::McpToolCallError::McpToolExecutionError }
14
+
15
+ variant :http_error, -> { OpenAI::Responses::McpToolCallError::HTTPError }
16
+
17
+ class McpProtocolError < OpenAI::Internal::Type::BaseModel
18
+ # @!attribute code
19
+ #
20
+ # @return [Integer]
21
+ required :code, Integer
22
+
23
+ # @!attribute message
24
+ #
25
+ # @return [String]
26
+ required :message, String
27
+
28
+ # @!attribute type
29
+ #
30
+ # @return [Symbol, :mcp_protocol_error]
31
+ required :type, const: :mcp_protocol_error
32
+
33
+ # @!method initialize(code:, message:, type: :mcp_protocol_error)
34
+ # @param code [Integer]
35
+ # @param message [String]
36
+ # @param type [Symbol, :mcp_protocol_error]
37
+ end
38
+
39
+ class McpToolExecutionError < OpenAI::Internal::Type::BaseModel
40
+ # @!attribute content
41
+ #
42
+ # @return [Object]
43
+ required :content, OpenAI::Internal::Type::Unknown
44
+
45
+ # @!attribute type
46
+ #
47
+ # @return [Symbol, :mcp_tool_execution_error]
48
+ required :type, const: :mcp_tool_execution_error
49
+
50
+ # @!method initialize(content:, type: :mcp_tool_execution_error)
51
+ # @param content [Object]
52
+ # @param type [Symbol, :mcp_tool_execution_error]
53
+ end
54
+
55
+ class HTTPError < OpenAI::Internal::Type::BaseModel
56
+ # @!attribute code
57
+ #
58
+ # @return [Integer]
59
+ required :code, Integer
60
+
61
+ # @!attribute message
62
+ #
63
+ # @return [String]
64
+ required :message, String
65
+
66
+ # @!attribute type
67
+ #
68
+ # @return [Symbol, :http_error]
69
+ required :type, const: :http_error
70
+
71
+ # @!method initialize(code:, message:, type: :http_error)
72
+ # @param code [Integer]
73
+ # @param message [String]
74
+ # @param type [Symbol, :http_error]
75
+ end
76
+
77
+ # @!method self.variants
78
+ # @return [Array(OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError)]
79
+ end
80
+ end
81
+ end
82
+ end
@@ -274,6 +274,10 @@ module OpenAI
274
274
  # Responses or Chat Completions. The response will show `service_tier=priority`
275
275
  # regardless of if you specify `service_tier=fast` or `priority` in your
276
276
  # request.
277
+ # - If set to 'ultrafast', then the request will be processed with the
278
+ # access-controlled Ultrafast Processing service tier. This tier is currently
279
+ # available for `gpt-5.6-sol`; a response served through it will show
280
+ # `service_tier=ultrafast`.
277
281
  # - When not set, the default behavior is 'auto'.
278
282
  #
279
283
  # When the `service_tier` parameter is set, the response body will include the
@@ -915,6 +919,10 @@ module OpenAI
915
919
  # Responses or Chat Completions. The response will show `service_tier=priority`
916
920
  # regardless of if you specify `service_tier=fast` or `priority` in your
917
921
  # request.
922
+ # - If set to 'ultrafast', then the request will be processed with the
923
+ # access-controlled Ultrafast Processing service tier. This tier is currently
924
+ # available for `gpt-5.6-sol`; a response served through it will show
925
+ # `service_tier=ultrafast`.
918
926
  # - When not set, the default behavior is 'auto'.
919
927
  #
920
928
  # When the `service_tier` parameter is set, the response body will include the
@@ -932,6 +940,7 @@ module OpenAI
932
940
  SCALE = :scale
933
941
  PRIORITY = :priority
934
942
  FAST = :fast
943
+ ULTRAFAST = :ultrafast
935
944
 
936
945
  # @!method self.values
937
946
  # @return [Array<Symbol>]
@@ -132,6 +132,8 @@ module OpenAI
132
132
 
133
133
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_5 }
134
134
 
135
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_5_2026_04_23 }
136
+
135
137
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_4 }
136
138
 
137
139
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_4_MINI }
@@ -308,6 +310,10 @@ module OpenAI
308
310
 
309
311
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::COMPUTER_USE_PREVIEW_2025_03_11 }
310
312
 
313
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_5_PRO }
314
+
315
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_5_PRO_2026_04_23 }
316
+
311
317
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_CODEX }
312
318
 
313
319
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_PRO }
@@ -316,6 +322,12 @@ module OpenAI
316
322
 
317
323
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_1_CODEX_MAX }
318
324
 
325
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_DAYBREAK_BLUE_LATEST }
326
+
327
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_DAYBREAK_RED_LATEST }
328
+
329
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_6_CYBER }
330
+
319
331
  variant String
320
332
 
321
333
  # @!method self.variants
@@ -331,6 +343,7 @@ module OpenAI
331
343
  GPT_5_6_TERRA = :"gpt-5.6-terra"
332
344
  GPT_5_6_LUNA = :"gpt-5.6-luna"
333
345
  GPT_5_5 = :"gpt-5.5"
346
+ GPT_5_5_2026_04_23 = :"gpt-5.5-2026-04-23"
334
347
  GPT_5_4 = :"gpt-5.4"
335
348
  GPT_5_4_MINI = :"gpt-5.4-mini"
336
349
  GPT_5_4_NANO = :"gpt-5.4-nano"
@@ -419,10 +432,15 @@ module OpenAI
419
432
  O4_MINI_DEEP_RESEARCH_2025_06_26 = :"o4-mini-deep-research-2025-06-26"
420
433
  COMPUTER_USE_PREVIEW = :"computer-use-preview"
421
434
  COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
435
+ GPT_5_5_PRO = :"gpt-5.5-pro"
436
+ GPT_5_5_PRO_2026_04_23 = :"gpt-5.5-pro-2026-04-23"
422
437
  GPT_5_CODEX = :"gpt-5-codex"
423
438
  GPT_5_PRO = :"gpt-5-pro"
424
439
  GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
425
440
  GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
441
+ GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
442
+ GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
443
+ GPT_5_6_CYBER = :"gpt-5.6-cyber"
426
444
 
427
445
  # @!endgroup
428
446
  end
@@ -238,6 +238,10 @@ module OpenAI
238
238
  # Responses or Chat Completions. The response will show `service_tier=priority`
239
239
  # regardless of if you specify `service_tier=fast` or `priority` in your
240
240
  # request.
241
+ # - If set to 'ultrafast', then the request will be processed with the
242
+ # access-controlled Ultrafast Processing service tier. This tier is currently
243
+ # available for `gpt-5.6-sol`; a response served through it will show
244
+ # `service_tier=ultrafast`.
241
245
  # - When not set, the default behavior is 'auto'.
242
246
  #
243
247
  # When the `service_tier` parameter is set, the response body will include the
@@ -705,6 +709,10 @@ module OpenAI
705
709
  # Responses or Chat Completions. The response will show `service_tier=priority`
706
710
  # regardless of if you specify `service_tier=fast` or `priority` in your
707
711
  # request.
712
+ # - If set to 'ultrafast', then the request will be processed with the
713
+ # access-controlled Ultrafast Processing service tier. This tier is currently
714
+ # available for `gpt-5.6-sol`; a response served through it will show
715
+ # `service_tier=ultrafast`.
708
716
  # - When not set, the default behavior is 'auto'.
709
717
  #
710
718
  # When the `service_tier` parameter is set, the response body will include the
@@ -720,6 +728,7 @@ module OpenAI
720
728
  SCALE = :scale
721
729
  PRIORITY = :priority
722
730
  FAST = :fast
731
+ ULTRAFAST = :ultrafast
723
732
 
724
733
  # @!method self.values
725
734
  # @return [Array<Symbol>]
@@ -1706,8 +1706,8 @@ module OpenAI
1706
1706
  # @!attribute error
1707
1707
  # The error from the tool call, if any.
1708
1708
  #
1709
- # @return [String, nil]
1710
- optional :error, String, nil?: true
1709
+ # @return [OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError, nil]
1710
+ optional :error, union: -> { OpenAI::Responses::McpToolCallError }, nil?: true
1711
1711
 
1712
1712
  # @!attribute output
1713
1713
  # The output from the tool call.
@@ -1738,7 +1738,7 @@ module OpenAI
1738
1738
  #
1739
1739
  # @param approval_request_id [String, nil] Unique identifier for the MCP tool call approval request.
1740
1740
  #
1741
- # @param error [String, nil] The error from the tool call, if any.
1741
+ # @param error [OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError, nil] The error from the tool call, if any.
1742
1742
  #
1743
1743
  # @param output [String, nil] The output from the tool call.
1744
1744
  #
@@ -705,8 +705,8 @@ module OpenAI
705
705
  # @!attribute error
706
706
  # The error from the tool call, if any.
707
707
  #
708
- # @return [String, nil]
709
- optional :error, String, nil?: true
708
+ # @return [OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError, nil]
709
+ optional :error, union: -> { OpenAI::Responses::McpToolCallError }, nil?: true
710
710
 
711
711
  # @!attribute output
712
712
  # The output from the tool call.
@@ -737,7 +737,7 @@ module OpenAI
737
737
  #
738
738
  # @param approval_request_id [String, nil] Unique identifier for the MCP tool call approval request.
739
739
  #
740
- # @param error [String, nil] The error from the tool call, if any.
740
+ # @param error [OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError, nil] The error from the tool call, if any.
741
741
  #
742
742
  # @param output [String, nil] The output from the tool call.
743
743
  #
@@ -518,8 +518,8 @@ module OpenAI
518
518
  # @!attribute error
519
519
  # The error from the tool call, if any.
520
520
  #
521
- # @return [String, nil]
522
- optional :error, String, nil?: true
521
+ # @return [OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError, nil]
522
+ optional :error, union: -> { OpenAI::Responses::McpToolCallError }, nil?: true
523
523
 
524
524
  # @!attribute output
525
525
  # The output from the tool call.
@@ -550,7 +550,7 @@ module OpenAI
550
550
  #
551
551
  # @param approval_request_id [String, nil] Unique identifier for the MCP tool call approval request.
552
552
  #
553
- # @param error [String, nil] The error from the tool call, if any.
553
+ # @param error [OpenAI::Models::Responses::McpToolCallError::McpProtocolError, OpenAI::Models::Responses::McpToolCallError::McpToolExecutionError, OpenAI::Models::Responses::McpToolCallError::HTTPError, nil] The error from the tool call, if any.
554
554
  #
555
555
  # @param output [String, nil] The output from the tool call.
556
556
  #
@@ -5,7 +5,10 @@ module OpenAI
5
5
  module Responses
6
6
  class ResponseOutputItemAddedEvent < OpenAI::Internal::Type::BaseModel
7
7
  # @!attribute item
8
- # The output item that was added.
8
+ # The output item that was added. For reasoning items, `encrypted_content` may be
9
+ # incomplete while the item is in progress. Use the reasoning item from the
10
+ # corresponding `response.output_item.done` event when passing it as input to a
11
+ # subsequent request.
9
12
  #
10
13
  # @return [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::Program, OpenAI::Models::Responses::ResponseOutputItem::ProgramOutput, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem]
11
14
  required :item, union: -> { OpenAI::Responses::ResponseOutputItem }
@@ -34,7 +37,7 @@ module OpenAI
34
37
  #
35
38
  # Emitted when a new output item is added.
36
39
  #
37
- # @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::Program, OpenAI::Models::Responses::ResponseOutputItem::ProgramOutput, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] The output item that was added.
40
+ # @param item [OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseFunctionToolCallOutputItem, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseComputerToolCallOutputItem, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseOutputItem::Program, OpenAI::Models::Responses::ResponseOutputItem::ProgramOutput, OpenAI::Models::Responses::ResponseToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItem, OpenAI::Models::Responses::ResponseOutputItem::AdditionalTools, OpenAI::Models::Responses::ResponseCompactionItem, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCall, OpenAI::Models::Responses::ResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseFunctionShellToolCall, OpenAI::Models::Responses::ResponseFunctionShellToolCallOutput, OpenAI::Models::Responses::ResponseApplyPatchToolCall, OpenAI::Models::Responses::ResponseApplyPatchToolCallOutput, OpenAI::Models::Responses::ResponseOutputItem::McpCall, OpenAI::Models::Responses::ResponseOutputItem::McpListTools, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseOutputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseCustomToolCallOutputItem] The output item that was added. For reasoning items, `encrypted_content`
38
41
  #
39
42
  # @param output_index [Integer] The index of the output item that was added.
40
43
  #