openai 0.78.0 → 0.79.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 (175) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +80 -0
  3. data/README.md +241 -8
  4. data/SECURITY.md +6 -22
  5. data/azure.md +110 -0
  6. data/bedrock.md +132 -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 +3 -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_response.rb +9 -0
  47. data/lib/openai/models/beta/beta_response_stream_event.rb +1 -1
  48. data/lib/openai/models/beta/beta_responses_client_event.rb +28 -3
  49. data/lib/openai/models/beta/beta_responses_server_event.rb +1037 -61
  50. data/lib/openai/models/beta/response_compact_params.rb +9 -0
  51. data/lib/openai/models/beta/response_create_params.rb +9 -0
  52. data/lib/openai/models/containers/file_create_params.rb +4 -0
  53. data/lib/openai/models/content_provenance_check_create_params.rb +4 -0
  54. data/lib/openai/models/file_create_params.rb +4 -0
  55. data/lib/openai/models/image_create_variation_params.rb +4 -0
  56. data/lib/openai/models/image_edit_params.rb +8 -0
  57. data/lib/openai/models/responses/response_compact_params.rb +9 -0
  58. data/lib/openai/models/responses/response_stream_event.rb +1 -1
  59. data/lib/openai/models/responses/responses_client_event.rb +13 -1
  60. data/lib/openai/models/responses/responses_server_event.rb +1027 -54
  61. data/lib/openai/models/responses_model.rb +3 -0
  62. data/lib/openai/models/skill_create_params.rb +4 -0
  63. data/lib/openai/models/skills/version_create_params.rb +4 -0
  64. data/lib/openai/models/uploads/part_create_params.rb +4 -0
  65. data/lib/openai/models/vector_store_search_response.rb +3 -1
  66. data/lib/openai/models/video_create_character_params.rb +4 -0
  67. data/lib/openai/models/video_create_params.rb +4 -0
  68. data/lib/openai/models/video_edit_params.rb +4 -0
  69. data/lib/openai/models/video_extend_params.rb +4 -0
  70. data/lib/openai/models.rb +9 -1
  71. data/lib/openai/net_http_client.rb +20 -6
  72. data/lib/openai/providers/azure.rb +216 -0
  73. data/lib/openai/providers/bedrock.rb +3 -1
  74. data/lib/openai/resources/admin/organization/projects/groups/roles.rb +1 -1
  75. data/lib/openai/resources/admin/organization/projects/groups.rb +1 -1
  76. data/lib/openai/resources/admin/organization/projects/users/roles.rb +1 -1
  77. data/lib/openai/resources/admin/organization/projects.rb +4 -2
  78. data/lib/openai/resources/audio/transcriptions.rb +8 -0
  79. data/lib/openai/resources/audio/translations.rb +4 -0
  80. data/lib/openai/resources/beta/responses.rb +1 -1
  81. data/lib/openai/resources/beta/threads/runs/steps.rb +2 -2
  82. data/lib/openai/resources/containers/files.rb +4 -0
  83. data/lib/openai/resources/content_provenance_checks.rb +4 -0
  84. data/lib/openai/resources/conversations/items.rb +1 -1
  85. data/lib/openai/resources/evals/runs/output_items.rb +1 -1
  86. data/lib/openai/resources/files.rb +4 -0
  87. data/lib/openai/resources/images.rb +12 -0
  88. data/lib/openai/resources/responses.rb +3 -2
  89. data/lib/openai/resources/skills/versions.rb +4 -0
  90. data/lib/openai/resources/skills.rb +4 -0
  91. data/lib/openai/resources/uploads/parts.rb +4 -0
  92. data/lib/openai/resources/vector_stores/file_batches.rb +1 -1
  93. data/lib/openai/resources/videos.rb +38 -0
  94. data/lib/openai/resources/webhooks.rb +18 -6
  95. data/lib/openai/version.rb +1 -1
  96. data/lib/openai.rb +111 -107
  97. data/rbi/openai/auth.rbi +4 -4
  98. data/rbi/openai/client.rbi +13 -3
  99. data/rbi/openai/errors.rbi +7 -0
  100. data/rbi/openai/helpers/streaming/events.rbi +12 -0
  101. data/rbi/openai/http_client.rbi +62 -2
  102. data/rbi/openai/internal/logging.rbi +192 -0
  103. data/rbi/openai/internal/provider.rbi +3 -0
  104. data/rbi/openai/internal/read_io_adapter.rbi +6 -1
  105. data/rbi/openai/internal/transport/base_client.rbi +61 -7
  106. data/rbi/openai/internal/type/base_model.rbi +24 -1
  107. data/rbi/openai/internal/type/base_page.rbi +13 -2
  108. data/rbi/openai/internal/type/base_stream.rbi +15 -4
  109. data/rbi/openai/internal/util.rbi +26 -2
  110. data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +5 -0
  111. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +5 -0
  112. data/rbi/openai/models/all_models.rbi +15 -0
  113. data/rbi/openai/models/audio/transcription_create_params.rbi +14 -2
  114. data/rbi/openai/models/audio/translation_create_params.rbi +14 -2
  115. data/rbi/openai/models/beta/beta_response.rbi +15 -0
  116. data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -1
  117. data/rbi/openai/models/beta/beta_responses_client_event.rbi +37 -1
  118. data/rbi/openai/models/beta/beta_responses_server_event.rbi +3791 -54
  119. data/rbi/openai/models/beta/response_compact_params.rbi +15 -0
  120. data/rbi/openai/models/beta/response_create_params.rbi +15 -0
  121. data/rbi/openai/models/containers/file_create_params.rbi +8 -0
  122. data/rbi/openai/models/content_provenance_check_create_params.rbi +8 -0
  123. data/rbi/openai/models/file_create_params.rbi +8 -0
  124. data/rbi/openai/models/image_create_variation_params.rbi +8 -0
  125. data/rbi/openai/models/image_edit_params.rbi +16 -0
  126. data/rbi/openai/models/responses/response_compact_params.rbi +15 -0
  127. data/rbi/openai/models/responses/response_stream_event.rbi +1 -1
  128. data/rbi/openai/models/responses/responses_client_event.rbi +19 -0
  129. data/rbi/openai/models/responses/responses_server_event.rbi +3282 -53
  130. data/rbi/openai/models/responses_model.rbi +15 -0
  131. data/rbi/openai/models/skill_create_params.rbi +8 -0
  132. data/rbi/openai/models/skills/version_create_params.rbi +8 -0
  133. data/rbi/openai/models/uploads/part_create_params.rbi +8 -0
  134. data/rbi/openai/models/video_create_character_params.rbi +8 -0
  135. data/rbi/openai/models/video_create_params.rbi +8 -0
  136. data/rbi/openai/models/video_edit_params.rbi +8 -0
  137. data/rbi/openai/models/video_extend_params.rbi +8 -0
  138. data/rbi/openai/net_http_client.rbi +2 -2
  139. data/rbi/openai/providers.rbi +9 -0
  140. data/rbi/openai/resources/audio/transcriptions.rbi +14 -2
  141. data/rbi/openai/resources/audio/translations.rbi +7 -1
  142. data/rbi/openai/resources/containers/files.rbi +4 -0
  143. data/rbi/openai/resources/content_provenance_checks.rbi +4 -0
  144. data/rbi/openai/resources/files.rbi +4 -0
  145. data/rbi/openai/resources/images.rbi +20 -0
  146. data/rbi/openai/resources/skills/versions.rbi +4 -0
  147. data/rbi/openai/resources/skills.rbi +4 -0
  148. data/rbi/openai/resources/uploads/parts.rbi +4 -0
  149. data/rbi/openai/resources/videos.rbi +16 -0
  150. data/sig/openai/client.rbs +6 -2
  151. data/sig/openai/errors.rbs +5 -0
  152. data/sig/openai/http_client.rbs +37 -2
  153. data/sig/openai/internal/logging.rbs +88 -0
  154. data/sig/openai/internal/provider.rbs +3 -1
  155. data/sig/openai/internal/read_io_adapter.rbs +3 -1
  156. data/sig/openai/internal/transport/base_client.rbs +33 -5
  157. data/sig/openai/internal/type/base_model.rbs +13 -0
  158. data/sig/openai/internal/type/base_page.rbs +8 -1
  159. data/sig/openai/internal/type/base_stream.rbs +8 -2
  160. data/sig/openai/internal/util.rbs +12 -0
  161. data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
  162. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
  163. data/sig/openai/models/all_models.rbs +6 -0
  164. data/sig/openai/models/beta/beta_response.rbs +6 -0
  165. data/sig/openai/models/beta/beta_responses_client_event.rbs +13 -0
  166. data/sig/openai/models/beta/beta_responses_server_event.rbs +1946 -54
  167. data/sig/openai/models/beta/response_compact_params.rbs +6 -0
  168. data/sig/openai/models/beta/response_create_params.rbs +6 -0
  169. data/sig/openai/models/responses/response_compact_params.rbs +6 -0
  170. data/sig/openai/models/responses/responses_client_event.rbs +7 -0
  171. data/sig/openai/models/responses/responses_server_event.rbs +1786 -53
  172. data/sig/openai/models/responses_model.rbs +6 -0
  173. data/sig/openai/net_http_client.rbs +2 -2
  174. data/sig/openai/providers.rbs +6 -0
  175. metadata +24 -1
@@ -30,7 +30,7 @@ module OpenAI
30
30
  headers: ::Hash[String, String],
31
31
  body: top,
32
32
  max_retries: Integer,
33
- timeout: Float,
33
+ timeout: Float?,
34
34
  :follow_redirects? => bool,
35
35
  :provider_auth? => Symbol
36
36
  }
@@ -63,7 +63,7 @@ module OpenAI
63
63
 
64
64
  attr_reader base_url: URI::Generic
65
65
 
66
- attr_reader timeout: Float
66
+ attr_reader timeout: Float?
67
67
 
68
68
  attr_reader max_retries: Integer
69
69
 
@@ -75,12 +75,18 @@ module OpenAI
75
75
 
76
76
  attr_reader idempotency_header: String?
77
77
 
78
+ attr_reader logger: OpenAI::_Logger?
79
+
80
+ attr_reader log_level: Symbol
81
+
82
+ attr_reader on_retry: (^(OpenAI::RetryEvent) -> void)?
83
+
78
84
  # @api private
79
85
  attr_reader requester: OpenAI::_HTTPClient
80
86
 
81
87
  def initialize: (
82
88
  base_url: String,
83
- ?timeout: Float,
89
+ ?timeout: Float?,
84
90
  ?max_retries: Integer,
85
91
  ?initial_retry_delay: Float,
86
92
  ?max_retry_delay: Float,
@@ -88,7 +94,10 @@ module OpenAI
88
94
  | Integer
89
95
  | ::Array[(String | Integer)?])?],
90
96
  ?idempotency_header: String?,
91
- ?http_client: OpenAI::_HTTPClient?
97
+ ?http_client: OpenAI::_HTTPClient?,
98
+ ?logger: OpenAI::_Logger?,
99
+ ?log_level: (Symbol | String)?,
100
+ ?on_retry: (^(OpenAI::RetryEvent) -> void)?
92
101
  ) -> void
93
102
 
94
103
  private def auth_headers: -> ::Hash[String, String]
@@ -130,7 +139,9 @@ module OpenAI
130
139
  redirect_count: Integer,
131
140
  retry_count: Integer,
132
141
  send_retry_header: bool
133
- ) -> OpenAI::HTTPClient::Response
142
+ ) {
143
+ -> OpenAI::Internal::Logging::Context
144
+ } -> OpenAI::HTTPClient::Response
134
145
 
135
146
  def request: (
136
147
  Symbol method,
@@ -151,6 +162,23 @@ module OpenAI
151
162
  ?options: OpenAI::request_opts?
152
163
  ) -> top
153
164
 
165
+ private def perform_request: (
166
+ OpenAI::Internal::Transport::BaseClient::request_components req
167
+ ) -> [URI::Generic, OpenAI::HTTPClient::Response, OpenAI::Internal::Logging::Context]
168
+
169
+ private def finish_request: (
170
+ OpenAI::Internal::Logging::Context log_context,
171
+ OpenAI::HTTPClient::Response response
172
+ ) {
173
+ -> top
174
+ } -> top
175
+
176
+ private def parse_response: (
177
+ OpenAI::Internal::Transport::BaseClient::request_components req,
178
+ url: URI::Generic,
179
+ response: OpenAI::HTTPClient::Response
180
+ ) -> top
181
+
154
182
  def inspect: -> String
155
183
  end
156
184
  end
@@ -58,6 +58,17 @@ module OpenAI
58
58
 
59
59
  def hash: -> Integer
60
60
 
61
+ # The ID of the API request, returned via the `x-request-id` response
62
+ # header. This is only populated on top-level response objects returned
63
+ # by the client.
64
+ def _request_id: -> String?
65
+
66
+ # Metadata from the HTTP response that produced this model. This is
67
+ # only populated on top-level response objects returned by the client.
68
+ def last_response: -> OpenAI::ResponseMetadata?
69
+
70
+ def _set_last_response: (OpenAI::ResponseMetadata response) -> self
71
+
61
72
  def self.coerce: (
62
73
  OpenAI::Internal::Type::BaseModel | ::Hash[top, top] | top value,
63
74
  state: OpenAI::Internal::Type::Converter::coerce_state
@@ -89,6 +100,8 @@ module OpenAI
89
100
 
90
101
  def to_yaml: (*top a) -> String
91
102
 
103
+ def encode_with: (top coder) -> void
104
+
92
105
  def initialize: (?::Hash[Symbol, top] | instance data) -> void
93
106
 
94
107
  def self.inspect: (?depth: Integer) -> String
@@ -2,6 +2,13 @@ module OpenAI
2
2
  module Internal
3
3
  module Type
4
4
  module BasePage[Elem]
5
+ # The ID of the API request, returned via the `x-request-id` response
6
+ # header. This is only populated on top-level response objects returned
7
+ # by the client.
8
+ def _request_id: -> String?
9
+
10
+ def last_response: -> OpenAI::ResponseMetadata
11
+
5
12
  def next_page?: -> bool
6
13
 
7
14
  def next_page: -> instance
@@ -15,7 +22,7 @@ module OpenAI
15
22
  def initialize: (
16
23
  client: OpenAI::Internal::Transport::BaseClient,
17
24
  req: OpenAI::Internal::Transport::BaseClient::request_components,
18
- headers: ::Hash[String, String],
25
+ response_metadata: OpenAI::ResponseMetadata,
19
26
  page_data: top
20
27
  ) -> void
21
28
  end
@@ -8,8 +8,15 @@ module OpenAI
8
8
 
9
9
  attr_reader headers: ::Hash[String, String]
10
10
 
11
+ attr_reader last_response: OpenAI::ResponseMetadata
12
+
11
13
  def close: -> void
12
14
 
15
+ def observe: (
16
+ context: OpenAI::Internal::Logging::Context,
17
+ response: OpenAI::HTTPClient::Response
18
+ ) -> self
19
+
13
20
  private def iterator: -> Enumerable[Elem]
14
21
 
15
22
  def each: { (Elem arg0) -> void } -> void
@@ -21,8 +28,7 @@ module OpenAI
21
28
  def initialize: (
22
29
  model: Class | OpenAI::Internal::Type::Converter,
23
30
  url: URI::Generic,
24
- status: Integer,
25
- headers: ::Hash[String, String],
31
+ response_metadata: OpenAI::ResponseMetadata,
26
32
  response: OpenAI::HTTPClient::Response,
27
33
  unwrap: Symbol
28
34
  | Integer
@@ -111,6 +111,10 @@ module OpenAI
111
111
  ?content_type: String?
112
112
  ) -> void
113
113
 
114
+ def self?.escape_multipart_header_param: (
115
+ Pathname | String | Symbol value
116
+ ) -> String
117
+
114
118
  def self?.write_multipart_chunk: (
115
119
  Enumerator::Yielder y,
116
120
  boundary: String,
@@ -119,6 +123,14 @@ module OpenAI
119
123
  closing: ::Array[^-> void]
120
124
  ) -> void
121
125
 
126
+ def self?.write_multipart_value: (
127
+ Enumerator::Yielder y,
128
+ boundary: String,
129
+ key: Symbol | String,
130
+ val: top,
131
+ closing: ::Array[^-> void]
132
+ ) -> void
133
+
122
134
  def self?.encode_multipart_streaming: (
123
135
  top body
124
136
  ) -> [String, Enumerable[String]]
@@ -199,6 +199,7 @@ module OpenAI
199
199
  | :"tenant.workload_identity.mapping.archived"
200
200
  | :"tenant.workload_identity.binding.created"
201
201
  | :"tenant.workload_identity.principal.provisioned"
202
+ | :"tenant.workload_identity.access_token.issued"
202
203
  | :"tenant.admin_api_key.created"
203
204
  | :"tenant.admin_api_key.updated"
204
205
  | :"tenant.admin_api_key.deleted"
@@ -346,6 +347,7 @@ module OpenAI
346
347
  TENANT_WORKLOAD_IDENTITY_MAPPING_ARCHIVED: :"tenant.workload_identity.mapping.archived"
347
348
  TENANT_WORKLOAD_IDENTITY_BINDING_CREATED: :"tenant.workload_identity.binding.created"
348
349
  TENANT_WORKLOAD_IDENTITY_PRINCIPAL_PROVISIONED: :"tenant.workload_identity.principal.provisioned"
350
+ TENANT_WORKLOAD_IDENTITY_ACCESS_TOKEN_ISSUED: :"tenant.workload_identity.access_token.issued"
349
351
  TENANT_ADMIN_API_KEY_CREATED: :"tenant.admin_api_key.created"
350
352
  TENANT_ADMIN_API_KEY_UPDATED: :"tenant.admin_api_key.updated"
351
353
  TENANT_ADMIN_API_KEY_DELETED: :"tenant.admin_api_key.deleted"
@@ -604,6 +604,7 @@ module OpenAI
604
604
  | :"tenant.workload_identity.mapping.archived"
605
605
  | :"tenant.workload_identity.binding.created"
606
606
  | :"tenant.workload_identity.principal.provisioned"
607
+ | :"tenant.workload_identity.access_token.issued"
607
608
  | :"tenant.admin_api_key.created"
608
609
  | :"tenant.admin_api_key.updated"
609
610
  | :"tenant.admin_api_key.deleted"
@@ -751,6 +752,7 @@ module OpenAI
751
752
  TENANT_WORKLOAD_IDENTITY_MAPPING_ARCHIVED: :"tenant.workload_identity.mapping.archived"
752
753
  TENANT_WORKLOAD_IDENTITY_BINDING_CREATED: :"tenant.workload_identity.binding.created"
753
754
  TENANT_WORKLOAD_IDENTITY_PRINCIPAL_PROVISIONED: :"tenant.workload_identity.principal.provisioned"
755
+ TENANT_WORKLOAD_IDENTITY_ACCESS_TOKEN_ISSUED: :"tenant.workload_identity.access_token.issued"
754
756
  TENANT_ADMIN_API_KEY_CREATED: :"tenant.admin_api_key.created"
755
757
  TENANT_ADMIN_API_KEY_UPDATED: :"tenant.admin_api_key.updated"
756
758
  TENANT_ADMIN_API_KEY_DELETED: :"tenant.admin_api_key.deleted"
@@ -23,6 +23,9 @@ module OpenAI
23
23
  | :"gpt-5-pro"
24
24
  | :"gpt-5-pro-2025-10-06"
25
25
  | :"gpt-5.1-codex-max"
26
+ | :"gpt-daybreak-blue-latest"
27
+ | :"gpt-daybreak-red-latest"
28
+ | :"gpt-5.6-cyber"
26
29
 
27
30
  module ResponsesOnlyModel
28
31
  extend OpenAI::Internal::Type::Enum
@@ -41,6 +44,9 @@ module OpenAI
41
44
  GPT_5_PRO: :"gpt-5-pro"
42
45
  GPT_5_PRO_2025_10_06: :"gpt-5-pro-2025-10-06"
43
46
  GPT_5_1_CODEX_MAX: :"gpt-5.1-codex-max"
47
+ GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
48
+ GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
49
+ GPT_5_6_CYBER: :"gpt-5.6-cyber"
44
50
 
45
51
  def self?.values: -> ::Array[OpenAI::Models::AllModels::responses_only_model]
46
52
  end
@@ -342,6 +342,9 @@ module OpenAI
342
342
  | :"gpt-5-pro"
343
343
  | :"gpt-5-pro-2025-10-06"
344
344
  | :"gpt-5.1-codex-max"
345
+ | :"gpt-daybreak-blue-latest"
346
+ | :"gpt-daybreak-red-latest"
347
+ | :"gpt-5.6-cyber"
345
348
  | String
346
349
 
347
350
  module Model
@@ -445,6 +448,9 @@ module OpenAI
445
448
  GPT_5_PRO: :"gpt-5-pro"
446
449
  GPT_5_PRO_2025_10_06: :"gpt-5-pro-2025-10-06"
447
450
  GPT_5_1_CODEX_MAX: :"gpt-5.1-codex-max"
451
+ GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
452
+ GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
453
+ GPT_5_6_CYBER: :"gpt-5.6-cyber"
448
454
  end
449
455
 
450
456
  type tool_choice =
@@ -36,6 +36,7 @@ module OpenAI
36
36
  service_tier: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::service_tier?,
37
37
  store: bool?,
38
38
  stream: bool?,
39
+ stream_id: String,
39
40
  stream_options: OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions?,
40
41
  temperature: Float?,
41
42
  text: OpenAI::Beta::BetaResponseTextConfig,
@@ -108,6 +109,10 @@ module OpenAI
108
109
 
109
110
  attr_accessor stream: bool?
110
111
 
112
+ attr_reader stream_id: String?
113
+
114
+ def stream_id=: (String) -> String
115
+
111
116
  attr_accessor stream_options: OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions?
112
117
 
113
118
  attr_accessor temperature: Float?
@@ -164,6 +169,7 @@ module OpenAI
164
169
  ?service_tier: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::service_tier?,
165
170
  ?store: bool?,
166
171
  ?stream: bool?,
172
+ ?stream_id: String,
167
173
  ?stream_options: OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions?,
168
174
  ?temperature: Float?,
169
175
  ?text: OpenAI::Beta::BetaResponseTextConfig,
@@ -201,6 +207,7 @@ module OpenAI
201
207
  service_tier: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::service_tier?,
202
208
  store: bool?,
203
209
  stream: bool?,
210
+ stream_id: String,
204
211
  stream_options: OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions?,
205
212
  temperature: Float?,
206
213
  text: OpenAI::Beta::BetaResponseTextConfig,
@@ -339,6 +346,9 @@ module OpenAI
339
346
  | :"gpt-5-pro"
340
347
  | :"gpt-5-pro-2025-10-06"
341
348
  | :"gpt-5.1-codex-max"
349
+ | :"gpt-daybreak-blue-latest"
350
+ | :"gpt-daybreak-red-latest"
351
+ | :"gpt-5.6-cyber"
342
352
  | String
343
353
 
344
354
  module Model
@@ -442,6 +452,9 @@ module OpenAI
442
452
  GPT_5_PRO: :"gpt-5-pro"
443
453
  GPT_5_PRO_2025_10_06: :"gpt-5-pro-2025-10-06"
444
454
  GPT_5_1_CODEX_MAX: :"gpt-5.1-codex-max"
455
+ GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
456
+ GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
457
+ GPT_5_6_CYBER: :"gpt-5.6-cyber"
445
458
  end
446
459
 
447
460
  type moderation =