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
@@ -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
@@ -483,6 +487,8 @@ module OpenAI
483
487
 
484
488
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_5 }
485
489
 
490
+ variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_5_2026_04_23 }
491
+
486
492
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_4 }
487
493
 
488
494
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_4_MINI }
@@ -659,6 +665,10 @@ module OpenAI
659
665
 
660
666
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::COMPUTER_USE_PREVIEW_2025_03_11 }
661
667
 
668
+ variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_5_PRO }
669
+
670
+ variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_5_PRO_2026_04_23 }
671
+
662
672
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_CODEX }
663
673
 
664
674
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_PRO }
@@ -667,6 +677,12 @@ module OpenAI
667
677
 
668
678
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_1_CODEX_MAX }
669
679
 
680
+ variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_DAYBREAK_BLUE_LATEST }
681
+
682
+ variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_DAYBREAK_RED_LATEST }
683
+
684
+ variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_6_CYBER }
685
+
670
686
  variant String
671
687
 
672
688
  # @!method self.variants
@@ -682,6 +698,7 @@ module OpenAI
682
698
  GPT_5_6_TERRA = :"gpt-5.6-terra"
683
699
  GPT_5_6_LUNA = :"gpt-5.6-luna"
684
700
  GPT_5_5 = :"gpt-5.5"
701
+ GPT_5_5_2026_04_23 = :"gpt-5.5-2026-04-23"
685
702
  GPT_5_4 = :"gpt-5.4"
686
703
  GPT_5_4_MINI = :"gpt-5.4-mini"
687
704
  GPT_5_4_NANO = :"gpt-5.4-nano"
@@ -770,10 +787,15 @@ module OpenAI
770
787
  O4_MINI_DEEP_RESEARCH_2025_06_26 = :"o4-mini-deep-research-2025-06-26"
771
788
  COMPUTER_USE_PREVIEW = :"computer-use-preview"
772
789
  COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
790
+ GPT_5_5_PRO = :"gpt-5.5-pro"
791
+ GPT_5_5_PRO_2026_04_23 = :"gpt-5.5-pro-2026-04-23"
773
792
  GPT_5_CODEX = :"gpt-5-codex"
774
793
  GPT_5_PRO = :"gpt-5-pro"
775
794
  GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
776
795
  GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
796
+ GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
797
+ GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
798
+ GPT_5_6_CYBER = :"gpt-5.6-cyber"
777
799
 
778
800
  # @!endgroup
779
801
  end
@@ -1395,6 +1417,10 @@ module OpenAI
1395
1417
  # Responses or Chat Completions. The response will show `service_tier=priority`
1396
1418
  # regardless of if you specify `service_tier=fast` or `priority` in your
1397
1419
  # request.
1420
+ # - If set to 'ultrafast', then the request will be processed with the
1421
+ # access-controlled Ultrafast Processing service tier. This tier is currently
1422
+ # available for `gpt-5.6-sol`; a response served through it will show
1423
+ # `service_tier=ultrafast`.
1398
1424
  # - When not set, the default behavior is 'auto'.
1399
1425
  #
1400
1426
  # When the `service_tier` parameter is set, the response body will include the
@@ -1412,6 +1438,7 @@ module OpenAI
1412
1438
  SCALE = :scale
1413
1439
  PRIORITY = :priority
1414
1440
  FAST = :fast
1441
+ ULTRAFAST = :ultrafast
1415
1442
 
1416
1443
  # @!method self.values
1417
1444
  # @return [Array<Symbol>]
@@ -2502,8 +2502,8 @@ module OpenAI
2502
2502
  # @!attribute error
2503
2503
  # The error from the tool call, if any.
2504
2504
  #
2505
- # @return [String, nil]
2506
- optional :error, String, nil?: true
2505
+ # @return [OpenAI::Models::Beta::BetaMcpToolCallError::McpProtocolError, OpenAI::Models::Beta::BetaMcpToolCallError::McpToolExecutionError, OpenAI::Models::Beta::BetaMcpToolCallError::HTTPError, nil]
2506
+ optional :error, union: -> { OpenAI::Beta::BetaMcpToolCallError }, nil?: true
2507
2507
 
2508
2508
  # @!attribute output
2509
2509
  # The output from the tool call.
@@ -2536,7 +2536,7 @@ module OpenAI
2536
2536
  #
2537
2537
  # @param approval_request_id [String, nil] Unique identifier for the MCP tool call approval request.
2538
2538
  #
2539
- # @param error [String, nil] The error from the tool call, if any.
2539
+ # @param error [OpenAI::Models::Beta::BetaMcpToolCallError::McpProtocolError, OpenAI::Models::Beta::BetaMcpToolCallError::McpToolExecutionError, OpenAI::Models::Beta::BetaMcpToolCallError::HTTPError, nil] The error from the tool call, if any.
2540
2540
  #
2541
2541
  # @param output [String, nil] The output from the tool call.
2542
2542
  #
@@ -1354,8 +1354,8 @@ module OpenAI
1354
1354
  # @!attribute error
1355
1355
  # The error from the tool call, if any.
1356
1356
  #
1357
- # @return [String, nil]
1358
- optional :error, String, nil?: true
1357
+ # @return [OpenAI::Models::Beta::BetaMcpToolCallError::McpProtocolError, OpenAI::Models::Beta::BetaMcpToolCallError::McpToolExecutionError, OpenAI::Models::Beta::BetaMcpToolCallError::HTTPError, nil]
1358
+ optional :error, union: -> { OpenAI::Beta::BetaMcpToolCallError }, nil?: true
1359
1359
 
1360
1360
  # @!attribute output
1361
1361
  # The output from the tool call.
@@ -1388,7 +1388,7 @@ module OpenAI
1388
1388
  #
1389
1389
  # @param approval_request_id [String, nil] Unique identifier for the MCP tool call approval request.
1390
1390
  #
1391
- # @param error [String, nil] The error from the tool call, if any.
1391
+ # @param error [OpenAI::Models::Beta::BetaMcpToolCallError::McpProtocolError, OpenAI::Models::Beta::BetaMcpToolCallError::McpToolExecutionError, OpenAI::Models::Beta::BetaMcpToolCallError::HTTPError, nil] The error from the tool call, if any.
1392
1392
  #
1393
1393
  # @param output [String, nil] The output from the tool call.
1394
1394
  #
@@ -1106,8 +1106,8 @@ module OpenAI
1106
1106
  # @!attribute error
1107
1107
  # The error from the tool call, if any.
1108
1108
  #
1109
- # @return [String, nil]
1110
- optional :error, String, nil?: true
1109
+ # @return [OpenAI::Models::Beta::BetaMcpToolCallError::McpProtocolError, OpenAI::Models::Beta::BetaMcpToolCallError::McpToolExecutionError, OpenAI::Models::Beta::BetaMcpToolCallError::HTTPError, nil]
1110
+ optional :error, union: -> { OpenAI::Beta::BetaMcpToolCallError }, nil?: true
1111
1111
 
1112
1112
  # @!attribute output
1113
1113
  # The output from the tool call.
@@ -1140,7 +1140,7 @@ module OpenAI
1140
1140
  #
1141
1141
  # @param approval_request_id [String, nil] Unique identifier for the MCP tool call approval request.
1142
1142
  #
1143
- # @param error [String, nil] The error from the tool call, if any.
1143
+ # @param error [OpenAI::Models::Beta::BetaMcpToolCallError::McpProtocolError, OpenAI::Models::Beta::BetaMcpToolCallError::McpToolExecutionError, OpenAI::Models::Beta::BetaMcpToolCallError::HTTPError, nil] The error from the tool call, if any.
1144
1144
  #
1145
1145
  # @param output [String, nil] The output from the tool call.
1146
1146
  #
@@ -5,7 +5,10 @@ module OpenAI
5
5
  module Beta
6
6
  class BetaResponseOutputItemAddedEvent < 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::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseFunctionToolCallOutputItem, OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseOutputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseOutputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCallOutputItem, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseOutputItem::Program, OpenAI::Models::Beta::BetaResponseOutputItem::ProgramOutput, OpenAI::Models::Beta::BetaResponseToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItem, OpenAI::Models::Beta::BetaResponseOutputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseCompactionItem, OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseOutputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseFunctionShellToolCall, OpenAI::Models::Beta::BetaResponseFunctionShellToolCallOutput, OpenAI::Models::Beta::BetaResponseApplyPatchToolCall, OpenAI::Models::Beta::BetaResponseApplyPatchToolCallOutput, OpenAI::Models::Beta::BetaResponseOutputItem::McpCall, OpenAI::Models::Beta::BetaResponseOutputItem::McpListTools, OpenAI::Models::Beta::BetaResponseOutputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseOutputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutputItem]
11
14
  required :item, union: -> { OpenAI::Beta::BetaResponseOutputItem }
@@ -40,7 +43,7 @@ module OpenAI
40
43
  #
41
44
  # Emitted when a new output item is added.
42
45
  #
43
- # @param item [OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseFunctionToolCallOutputItem, OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseOutputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseOutputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCallOutputItem, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseOutputItem::Program, OpenAI::Models::Beta::BetaResponseOutputItem::ProgramOutput, OpenAI::Models::Beta::BetaResponseToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItem, OpenAI::Models::Beta::BetaResponseOutputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseCompactionItem, OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseOutputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseFunctionShellToolCall, OpenAI::Models::Beta::BetaResponseFunctionShellToolCallOutput, OpenAI::Models::Beta::BetaResponseApplyPatchToolCall, OpenAI::Models::Beta::BetaResponseApplyPatchToolCallOutput, OpenAI::Models::Beta::BetaResponseOutputItem::McpCall, OpenAI::Models::Beta::BetaResponseOutputItem::McpListTools, OpenAI::Models::Beta::BetaResponseOutputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseOutputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutputItem] The output item that was added.
46
+ # @param item [OpenAI::Models::Beta::BetaResponseOutputMessage, OpenAI::Models::Beta::BetaResponseFileSearchToolCall, OpenAI::Models::Beta::BetaResponseFunctionToolCall, OpenAI::Models::Beta::BetaResponseFunctionToolCallOutputItem, OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage, OpenAI::Models::Beta::BetaResponseOutputItem::MultiAgentCall, OpenAI::Models::Beta::BetaResponseOutputItem::MultiAgentCallOutput, OpenAI::Models::Beta::BetaResponseFunctionWebSearch, OpenAI::Models::Beta::BetaResponseComputerToolCall, OpenAI::Models::Beta::BetaResponseComputerToolCallOutputItem, OpenAI::Models::Beta::BetaResponseReasoningItem, OpenAI::Models::Beta::BetaResponseOutputItem::Program, OpenAI::Models::Beta::BetaResponseOutputItem::ProgramOutput, OpenAI::Models::Beta::BetaResponseToolSearchCall, OpenAI::Models::Beta::BetaResponseToolSearchOutputItem, OpenAI::Models::Beta::BetaResponseOutputItem::AdditionalTools, OpenAI::Models::Beta::BetaResponseCompactionItem, OpenAI::Models::Beta::BetaResponseOutputItem::ImageGenerationCall, OpenAI::Models::Beta::BetaResponseCodeInterpreterToolCall, OpenAI::Models::Beta::BetaResponseOutputItem::LocalShellCall, OpenAI::Models::Beta::BetaResponseOutputItem::LocalShellCallOutput, OpenAI::Models::Beta::BetaResponseFunctionShellToolCall, OpenAI::Models::Beta::BetaResponseFunctionShellToolCallOutput, OpenAI::Models::Beta::BetaResponseApplyPatchToolCall, OpenAI::Models::Beta::BetaResponseApplyPatchToolCallOutput, OpenAI::Models::Beta::BetaResponseOutputItem::McpCall, OpenAI::Models::Beta::BetaResponseOutputItem::McpListTools, OpenAI::Models::Beta::BetaResponseOutputItem::McpApprovalRequest, OpenAI::Models::Beta::BetaResponseOutputItem::McpApprovalResponse, OpenAI::Models::Beta::BetaResponseCustomToolCall, OpenAI::Models::Beta::BetaResponseCustomToolCallOutputItem] The output item that was added. For reasoning items, `encrypted_content`
44
47
  #
45
48
  # @param output_index [Integer] The index of the output item that was added.
46
49
  #
@@ -5,10 +5,12 @@ module OpenAI
5
5
  module Beta
6
6
  class BetaResponseOutputTextAnnotationAddedEvent < OpenAI::Internal::Type::BaseModel
7
7
  # @!attribute annotation
8
- # The annotation object being added. (See annotation schema for details.)
8
+ # An annotation that applies to a span of output text.
9
9
  #
10
- # @return [Object]
11
- required :annotation, OpenAI::Internal::Type::Unknown
10
+ # @return [OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FileCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::URLCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::ContainerFileCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FilePath, nil]
11
+ required :annotation,
12
+ union: -> { OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation },
13
+ nil?: true
12
14
 
13
15
  # @!attribute annotation_index
14
16
  # The index of the annotation within the content part.
@@ -55,7 +57,7 @@ module OpenAI
55
57
  # @!method initialize(annotation:, annotation_index:, content_index:, item_id:, output_index:, sequence_number:, agent: nil, type: :"response.output_text.annotation.added")
56
58
  # Emitted when an annotation is added to output text content.
57
59
  #
58
- # @param annotation [Object] The annotation object being added. (See annotation schema for details.)
60
+ # @param annotation [OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FileCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::URLCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::ContainerFileCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FilePath, nil] An annotation that applies to a span of output text.
59
61
  #
60
62
  # @param annotation_index [Integer] The index of the annotation within the content part.
61
63
  #
@@ -71,6 +73,201 @@ module OpenAI
71
73
  #
72
74
  # @param type [Symbol, :"response.output_text.annotation.added"] The type of the event. Always 'response.output_text.annotation.added'.
73
75
 
76
+ # An annotation that applies to a span of output text.
77
+ #
78
+ # @see OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent#annotation
79
+ module Annotation
80
+ extend OpenAI::Internal::Type::Union
81
+
82
+ discriminator :type
83
+
84
+ # A citation to a file.
85
+ variant :file_citation,
86
+ -> { OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FileCitation }
87
+
88
+ # A citation for a web resource used to generate a model response.
89
+ variant :url_citation,
90
+ -> { OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::URLCitation }
91
+
92
+ # A citation for a container file used to generate a model response.
93
+ variant :container_file_citation,
94
+ -> { OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::ContainerFileCitation }
95
+
96
+ # A path to a file.
97
+ variant :file_path, -> { OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FilePath }
98
+
99
+ class FileCitation < OpenAI::Internal::Type::BaseModel
100
+ # @!attribute file_id
101
+ # The ID of the file.
102
+ #
103
+ # @return [String]
104
+ required :file_id, String
105
+
106
+ # @!attribute filename
107
+ # The filename of the file cited.
108
+ #
109
+ # @return [String]
110
+ required :filename, String
111
+
112
+ # @!attribute index
113
+ # The index of the file in the list of files.
114
+ #
115
+ # @return [Integer]
116
+ required :index, Integer
117
+
118
+ # @!attribute type
119
+ # The type of the file citation. Always `file_citation`.
120
+ #
121
+ # @return [Symbol, :file_citation]
122
+ required :type, const: :file_citation
123
+
124
+ # @!method initialize(file_id:, filename:, index:, type: :file_citation)
125
+ # A citation to a file.
126
+ #
127
+ # @param file_id [String] The ID of the file.
128
+ #
129
+ # @param filename [String] The filename of the file cited.
130
+ #
131
+ # @param index [Integer] The index of the file in the list of files.
132
+ #
133
+ # @param type [Symbol, :file_citation] The type of the file citation. Always `file_citation`.
134
+ end
135
+
136
+ class URLCitation < OpenAI::Internal::Type::BaseModel
137
+ # @!attribute end_index
138
+ # The index of the last character of the URL citation in the message.
139
+ #
140
+ # @return [Integer]
141
+ required :end_index, Integer
142
+
143
+ # @!attribute start_index
144
+ # The index of the first character of the URL citation in the message.
145
+ #
146
+ # @return [Integer]
147
+ required :start_index, Integer
148
+
149
+ # @!attribute title
150
+ # The title of the web resource.
151
+ #
152
+ # @return [String]
153
+ required :title, String
154
+
155
+ # @!attribute type
156
+ # The type of the URL citation. Always `url_citation`.
157
+ #
158
+ # @return [Symbol, :url_citation]
159
+ required :type, const: :url_citation
160
+
161
+ # @!attribute url
162
+ # The URL of the web resource.
163
+ #
164
+ # @return [String]
165
+ required :url, String
166
+
167
+ # @!method initialize(end_index:, start_index:, title:, url:, type: :url_citation)
168
+ # A citation for a web resource used to generate a model response.
169
+ #
170
+ # @param end_index [Integer] The index of the last character of the URL citation in the message.
171
+ #
172
+ # @param start_index [Integer] The index of the first character of the URL citation in the message.
173
+ #
174
+ # @param title [String] The title of the web resource.
175
+ #
176
+ # @param url [String] The URL of the web resource.
177
+ #
178
+ # @param type [Symbol, :url_citation] The type of the URL citation. Always `url_citation`.
179
+ end
180
+
181
+ class ContainerFileCitation < OpenAI::Internal::Type::BaseModel
182
+ # @!attribute container_id
183
+ # The ID of the container file.
184
+ #
185
+ # @return [String]
186
+ required :container_id, String
187
+
188
+ # @!attribute end_index
189
+ # The index of the last character of the container file citation in the message.
190
+ #
191
+ # @return [Integer]
192
+ required :end_index, Integer
193
+
194
+ # @!attribute file_id
195
+ # The ID of the file.
196
+ #
197
+ # @return [String]
198
+ required :file_id, String
199
+
200
+ # @!attribute filename
201
+ # The filename of the container file cited.
202
+ #
203
+ # @return [String]
204
+ required :filename, String
205
+
206
+ # @!attribute start_index
207
+ # The index of the first character of the container file citation in the message.
208
+ #
209
+ # @return [Integer]
210
+ required :start_index, Integer
211
+
212
+ # @!attribute type
213
+ # The type of the container file citation. Always `container_file_citation`.
214
+ #
215
+ # @return [Symbol, :container_file_citation]
216
+ required :type, const: :container_file_citation
217
+
218
+ # @!method initialize(container_id:, end_index:, file_id:, filename:, start_index:, type: :container_file_citation)
219
+ # A citation for a container file used to generate a model response.
220
+ #
221
+ # @param container_id [String] The ID of the container file.
222
+ #
223
+ # @param end_index [Integer] The index of the last character of the container file citation in the message.
224
+ #
225
+ # @param file_id [String] The ID of the file.
226
+ #
227
+ # @param filename [String] The filename of the container file cited.
228
+ #
229
+ # @param start_index [Integer] The index of the first character of the container file citation in the message.
230
+ #
231
+ # @param type [Symbol, :container_file_citation] The type of the container file citation. Always `container_file_citation`.
232
+ end
233
+
234
+ class FilePath < OpenAI::Internal::Type::BaseModel
235
+ # @!attribute file_id
236
+ # The ID of the file.
237
+ #
238
+ # @return [String]
239
+ required :file_id, String
240
+
241
+ # @!attribute index
242
+ # The index of the file in the list of files.
243
+ #
244
+ # @return [Integer]
245
+ required :index, Integer
246
+
247
+ # @!attribute type
248
+ # The type of the file path. Always `file_path`.
249
+ #
250
+ # @return [Symbol, :file_path]
251
+ required :type, const: :file_path
252
+
253
+ # @!method initialize(file_id:, index:, type: :file_path)
254
+ # Some parameter documentations has been truncated, see
255
+ # {OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FilePath}
256
+ # for more details.
257
+ #
258
+ # A path to a file.
259
+ #
260
+ # @param file_id [String] The ID of the file.
261
+ #
262
+ # @param index [Integer] The index of the file in the list of files.
263
+ #
264
+ # @param type [Symbol, :file_path] The type of the file path. Always `file_path`.
265
+ end
266
+
267
+ # @!method self.variants
268
+ # @return [Array(OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FileCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::URLCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::ContainerFileCitation, OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FilePath)]
269
+ end
270
+
74
271
  # @see OpenAI::Models::Beta::BetaResponseOutputTextAnnotationAddedEvent#agent
75
272
  class Agent < OpenAI::Internal::Type::BaseModel
76
273
  # @!attribute agent_name
@@ -41,6 +41,11 @@ module OpenAI
41
41
  # reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
42
42
  # requests.
43
43
  #
44
+ # When streaming, use the completed reasoning item and its `encrypted_content`
45
+ # from the `response.output_item.done` event in subsequent requests. The
46
+ # `encrypted_content` in `response.output_item.added` may be incomplete. This is
47
+ # especially important when `store` is `false` or when using Zero Data Retention.
48
+ #
44
49
  # @return [String, nil]
45
50
  optional :encrypted_content, String, nil?: true
46
51
 
@@ -3,7 +3,7 @@
3
3
  module OpenAI
4
4
  module Models
5
5
  module Beta
6
- # Emitted when there is a partial audio response.
6
+ # Event emitted while a response is streamed.
7
7
  module BetaResponseStreamEvent
8
8
  extend OpenAI::Internal::Type::Union
9
9
 
@@ -10,11 +10,13 @@ module OpenAI
10
10
  discriminator :type
11
11
 
12
12
  # Client event for creating a response over a persistent WebSocket connection.
13
- # This payload uses the same top-level fields as `POST /v1/responses`.
13
+ # This payload uses the same top-level fields as `POST /v1/responses`, plus
14
+ # WebSocket-only envelope metadata.
14
15
  #
15
16
  # Notes:
16
17
  # - `stream` is implicit over WebSocket and should not be sent.
17
18
  # - `background` is not supported over WebSocket.
19
+ # - `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
18
20
  variant :"response.create", -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate }
19
21
 
20
22
  # Injects input items into an active response over a WebSocket connection.
@@ -270,6 +272,10 @@ module OpenAI
270
272
  # Responses or Chat Completions. The response will show `service_tier=priority`
271
273
  # regardless of if you specify `service_tier=fast` or `priority` in your
272
274
  # request.
275
+ # - If set to 'ultrafast', then the request will be processed with the
276
+ # access-controlled Ultrafast Processing service tier. This tier is currently
277
+ # available for `gpt-5.6-sol`; a response served through it will show
278
+ # `service_tier=ultrafast`.
273
279
  # - When not set, the default behavior is 'auto'.
274
280
  #
275
281
  # When the `service_tier` parameter is set, the response body will include the
@@ -299,6 +305,16 @@ module OpenAI
299
305
  # @return [Boolean, nil]
300
306
  optional :stream, OpenAI::Internal::Type::Boolean, nil?: true
301
307
 
308
+ # @!attribute stream_id
309
+ # The WebSocket lane for this response. Requests with the same `stream_id` are
310
+ # processed FIFO, and events for the response echo the same `stream_id`.
311
+ #
312
+ # `stream_id` controls routing; `previous_response_id` controls conversation
313
+ # lineage, so a new lane can fork from a response created on another lane.
314
+ #
315
+ # @return [String, nil]
316
+ optional :stream_id, String
317
+
302
318
  # @!attribute stream_options
303
319
  # Options for streaming responses. Only set this when you set `stream: true`.
304
320
  #
@@ -404,18 +420,20 @@ module OpenAI
404
420
  # @return [String, nil]
405
421
  optional :user, String
406
422
 
407
- # @!method initialize(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
423
+ # @!method initialize(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_id: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
408
424
  # Some parameter documentations has been truncated, see
409
425
  # {OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate} for more
410
426
  # details.
411
427
  #
412
428
  # Client event for creating a response over a persistent WebSocket connection.
413
- # This payload uses the same top-level fields as `POST /v1/responses`.
429
+ # This payload uses the same top-level fields as `POST /v1/responses`, plus
430
+ # WebSocket-only envelope metadata.
414
431
  #
415
432
  # Notes:
416
433
  #
417
434
  # - `stream` is implicit over WebSocket and should not be sent.
418
435
  # - `background` is not supported over WebSocket.
436
+ # - `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
419
437
  #
420
438
  # @param background [Boolean, nil] Whether to run the model response in the background.
421
439
  #
@@ -463,6 +481,8 @@ module OpenAI
463
481
  #
464
482
  # @param stream [Boolean, nil] If set to true, the model response data will be streamed to the client
465
483
  #
484
+ # @param stream_id [String] The WebSocket lane for this response. Requests with the same
485
+ #
466
486
  # @param stream_options [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions, nil] Options for streaming responses. Only set this when you set `stream: true`.
467
487
  #
468
488
  # @param temperature [Float, nil] What sampling temperature to use, between 0 and 2. Higher values like 0.8 will m
@@ -565,6 +585,8 @@ module OpenAI
565
585
 
566
586
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_5 }
567
587
 
588
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_5_2026_04_23 }
589
+
568
590
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_4 }
569
591
 
570
592
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_4_MINI }
@@ -741,6 +763,10 @@ module OpenAI
741
763
 
742
764
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::COMPUTER_USE_PREVIEW_2025_03_11 }
743
765
 
766
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_5_PRO }
767
+
768
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_5_PRO_2026_04_23 }
769
+
744
770
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_CODEX }
745
771
 
746
772
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_PRO }
@@ -749,6 +775,12 @@ module OpenAI
749
775
 
750
776
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_1_CODEX_MAX }
751
777
 
778
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_DAYBREAK_BLUE_LATEST }
779
+
780
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_DAYBREAK_RED_LATEST }
781
+
782
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_6_CYBER }
783
+
752
784
  variant String
753
785
 
754
786
  # @!method self.variants
@@ -764,6 +796,7 @@ module OpenAI
764
796
  GPT_5_6_TERRA = :"gpt-5.6-terra"
765
797
  GPT_5_6_LUNA = :"gpt-5.6-luna"
766
798
  GPT_5_5 = :"gpt-5.5"
799
+ GPT_5_5_2026_04_23 = :"gpt-5.5-2026-04-23"
767
800
  GPT_5_4 = :"gpt-5.4"
768
801
  GPT_5_4_MINI = :"gpt-5.4-mini"
769
802
  GPT_5_4_NANO = :"gpt-5.4-nano"
@@ -852,10 +885,15 @@ module OpenAI
852
885
  O4_MINI_DEEP_RESEARCH_2025_06_26 = :"o4-mini-deep-research-2025-06-26"
853
886
  COMPUTER_USE_PREVIEW = :"computer-use-preview"
854
887
  COMPUTER_USE_PREVIEW_2025_03_11 = :"computer-use-preview-2025-03-11"
888
+ GPT_5_5_PRO = :"gpt-5.5-pro"
889
+ GPT_5_5_PRO_2026_04_23 = :"gpt-5.5-pro-2026-04-23"
855
890
  GPT_5_CODEX = :"gpt-5-codex"
856
891
  GPT_5_PRO = :"gpt-5-pro"
857
892
  GPT_5_PRO_2025_10_06 = :"gpt-5-pro-2025-10-06"
858
893
  GPT_5_1_CODEX_MAX = :"gpt-5.1-codex-max"
894
+ GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
895
+ GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
896
+ GPT_5_6_CYBER = :"gpt-5.6-cyber"
859
897
 
860
898
  # @!endgroup
861
899
  end
@@ -1316,6 +1354,10 @@ module OpenAI
1316
1354
  # Responses or Chat Completions. The response will show `service_tier=priority`
1317
1355
  # regardless of if you specify `service_tier=fast` or `priority` in your
1318
1356
  # request.
1357
+ # - If set to 'ultrafast', then the request will be processed with the
1358
+ # access-controlled Ultrafast Processing service tier. This tier is currently
1359
+ # available for `gpt-5.6-sol`; a response served through it will show
1360
+ # `service_tier=ultrafast`.
1319
1361
  # - When not set, the default behavior is 'auto'.
1320
1362
  #
1321
1363
  # When the `service_tier` parameter is set, the response body will include the
@@ -1333,6 +1375,7 @@ module OpenAI
1333
1375
  SCALE = :scale
1334
1376
  PRIORITY = :priority
1335
1377
  FAST = :fast
1378
+ ULTRAFAST = :ultrafast
1336
1379
 
1337
1380
  # @!method self.values
1338
1381
  # @return [Array<Symbol>]