openai 0.77.1 → 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 (178) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +98 -0
  3. data/README.md +341 -10
  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 +34 -14
  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 +189 -0
  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 +161 -0
  24. data/lib/openai/internal/stream.rb +2 -2
  25. data/lib/openai/internal/transport/base_client.rb +216 -57
  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 +40 -8
  30. data/lib/openai/internal/type/hash_of.rb +3 -3
  31. data/lib/openai/internal/util.rb +59 -112
  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 +295 -0
  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 +113 -108
  97. data/rbi/openai/auth.rbi +4 -4
  98. data/rbi/openai/client.rbi +15 -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 +123 -0
  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 +52 -0
  105. data/rbi/openai/internal/transport/base_client.rbi +80 -10
  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 +16 -5
  109. data/rbi/openai/internal/util.rbi +26 -42
  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 +64 -0
  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 +7 -2
  151. data/sig/openai/errors.rbs +5 -0
  152. data/sig/openai/http_client.rbs +76 -0
  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 +23 -0
  156. data/sig/openai/internal/transport/base_client.rbs +41 -6
  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 +9 -3
  160. data/sig/openai/internal/util.rbs +12 -16
  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 +34 -0
  174. data/sig/openai/providers.rbs +6 -0
  175. metadata +33 -4
  176. data/lib/openai/internal/transport/pooled_net_requester.rb +0 -210
  177. data/rbi/openai/internal/transport/pooled_net_requester.rbi +0 -82
  178. data/sig/openai/internal/transport/pooled_net_requester.rbs +0 -48
@@ -7,13 +7,15 @@ module OpenAI
7
7
  attr_accessor prepare_request: (^(
8
8
  OpenAI::Internal::Transport::BaseClient::request_input
9
9
  ) -> OpenAI::Internal::Transport::BaseClient::request_input)?
10
+ attr_accessor authentication_headers: Array[String]
10
11
 
11
12
  def initialize: (
12
13
  name: String,
13
14
  base_url: String,
14
15
  prepare_request: (^(
15
16
  OpenAI::Internal::Transport::BaseClient::request_input
16
- ) -> OpenAI::Internal::Transport::BaseClient::request_input)?
17
+ ) -> OpenAI::Internal::Transport::BaseClient::request_input)?,
18
+ authentication_headers: Array[String]
17
19
  ) -> void
18
20
  end
19
21
 
@@ -0,0 +1,23 @@
1
+ module OpenAI
2
+ module Internal
3
+ module Util
4
+ class ReadIOAdapter
5
+ def close?: -> bool?
6
+
7
+ def close: -> void
8
+
9
+ private def read_enum: (Integer? max_len) -> String?
10
+
11
+ private def read_buffer: (Integer max_len) -> String
12
+
13
+ def read: (?Integer? max_len, ?String? out_string) -> String?
14
+
15
+ def initialize: (
16
+ String | Pathname | StringIO | Enumerable[String] src
17
+ ) {
18
+ (String arg0) -> void
19
+ } -> void
20
+ end
21
+ end
22
+ end
23
+ end
@@ -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
  }
@@ -48,6 +48,8 @@ module OpenAI
48
48
  headers: ::Hash[String, String]
49
49
  ) -> bool
50
50
 
51
+ def self.request_body_replayable?: (top body) -> bool
52
+
51
53
  def self.follow_redirect: (
52
54
  OpenAI::Internal::Transport::BaseClient::request_input request,
53
55
  status: Integer,
@@ -61,7 +63,7 @@ module OpenAI
61
63
 
62
64
  attr_reader base_url: URI::Generic
63
65
 
64
- attr_reader timeout: Float
66
+ attr_reader timeout: Float?
65
67
 
66
68
  attr_reader max_retries: Integer
67
69
 
@@ -73,19 +75,29 @@ module OpenAI
73
75
 
74
76
  attr_reader idempotency_header: String?
75
77
 
78
+ attr_reader logger: OpenAI::_Logger?
79
+
80
+ attr_reader log_level: Symbol
81
+
82
+ attr_reader on_retry: (^(OpenAI::RetryEvent) -> void)?
83
+
76
84
  # @api private
77
- attr_reader requester: OpenAI::Internal::Transport::PooledNetRequester
85
+ attr_reader requester: OpenAI::_HTTPClient
78
86
 
79
87
  def initialize: (
80
88
  base_url: String,
81
- ?timeout: Float,
89
+ ?timeout: Float?,
82
90
  ?max_retries: Integer,
83
91
  ?initial_retry_delay: Float,
84
92
  ?max_retry_delay: Float,
85
93
  ?headers: ::Hash[String, (String
86
94
  | Integer
87
95
  | ::Array[(String | Integer)?])?],
88
- ?idempotency_header: String?
96
+ ?idempotency_header: String?,
97
+ ?http_client: OpenAI::_HTTPClient?,
98
+ ?logger: OpenAI::_Logger?,
99
+ ?log_level: (Symbol | String)?,
100
+ ?on_retry: (^(OpenAI::RetryEvent) -> void)?
89
101
  ) -> void
90
102
 
91
103
  private def auth_headers: -> ::Hash[String, String]
@@ -105,6 +117,10 @@ module OpenAI
105
117
  OpenAI::request_options opts
106
118
  ) -> OpenAI::Internal::Transport::BaseClient::request_input
107
119
 
120
+ private def request_replayable?: (
121
+ OpenAI::Internal::Transport::BaseClient::request_input request
122
+ ) -> bool
123
+
108
124
  private def retry_delay: (
109
125
  ::Hash[String, String] headers,
110
126
  retry_count: Integer
@@ -123,7 +139,9 @@ module OpenAI
123
139
  redirect_count: Integer,
124
140
  retry_count: Integer,
125
141
  send_retry_header: bool
126
- ) -> [Integer, top, Enumerable[String]]
142
+ ) {
143
+ -> OpenAI::Internal::Logging::Context
144
+ } -> OpenAI::HTTPClient::Response
127
145
 
128
146
  def request: (
129
147
  Symbol method,
@@ -144,6 +162,23 @@ module OpenAI
144
162
  ?options: OpenAI::request_opts?
145
163
  ) -> top
146
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
+
147
182
  def inspect: -> String
148
183
  end
149
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,9 +28,8 @@ 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],
26
- response: top,
31
+ response_metadata: OpenAI::ResponseMetadata,
32
+ response: OpenAI::HTTPClient::Response,
27
33
  unwrap: Symbol
28
34
  | Integer
29
35
  | ::Array[Symbol | Integer]
@@ -87,22 +87,6 @@ module OpenAI
87
87
  | ::Array[(String | Integer)?])?] headers
88
88
  ) -> ::Hash[String, String]
89
89
 
90
- class ReadIOAdapter
91
- def close?: -> bool?
92
-
93
- def close: -> void
94
-
95
- private def read_enum: (Integer? max_len) -> String
96
-
97
- def read: (?Integer? max_len, ?String? out_string) -> String?
98
-
99
- def initialize: (
100
- String | Pathname | StringIO | Enumerable[String] src
101
- ) {
102
- (String arg0) -> void
103
- } -> void
104
- end
105
-
106
90
  def self?.writable_enum: {
107
91
  (Enumerator::Yielder y) -> void
108
92
  } -> Enumerable[String]
@@ -127,6 +111,10 @@ module OpenAI
127
111
  ?content_type: String?
128
112
  ) -> void
129
113
 
114
+ def self?.escape_multipart_header_param: (
115
+ Pathname | String | Symbol value
116
+ ) -> String
117
+
130
118
  def self?.write_multipart_chunk: (
131
119
  Enumerator::Yielder y,
132
120
  boundary: String,
@@ -135,6 +123,14 @@ module OpenAI
135
123
  closing: ::Array[^-> void]
136
124
  ) -> void
137
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
+
138
134
  def self?.encode_multipart_streaming: (
139
135
  top body
140
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 =