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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +99 -0
- data/README.md +241 -8
- data/SECURITY.md +6 -22
- data/azure.md +110 -0
- data/bedrock.md +197 -0
- data/examples/mtls_custom_http_client.rb +61 -0
- data/lib/openai/auth/workload_identity.rb +13 -2
- data/lib/openai/auth/workload_identity_auth.rb +2 -1
- data/lib/openai/client.rb +29 -6
- data/lib/openai/errors.rb +11 -1
- data/lib/openai/helpers/streaming/chat_completion_stream.rb +3 -3
- data/lib/openai/helpers/streaming/response_stream.rb +5 -6
- data/lib/openai/helpers/structured_output/base_model.rb +20 -19
- data/lib/openai/helpers/structured_output/json_schema_converter.rb +12 -5
- data/lib/openai/http_client.rb +99 -7
- data/lib/openai/internal/conversation_cursor_page.rb +5 -6
- data/lib/openai/internal/cursor_page.rb +3 -3
- data/lib/openai/internal/logging.rb +419 -0
- data/lib/openai/internal/next_cursor_page.rb +5 -6
- data/lib/openai/internal/page.rb +2 -2
- data/lib/openai/internal/provider.rb +7 -1
- data/lib/openai/internal/read_io_adapter.rb +42 -18
- data/lib/openai/internal/stream.rb +2 -2
- data/lib/openai/internal/transport/base_client.rb +137 -37
- data/lib/openai/internal/type/array_of.rb +6 -4
- data/lib/openai/internal/type/base_model.rb +39 -1
- data/lib/openai/internal/type/base_page.rb +19 -2
- data/lib/openai/internal/type/base_stream.rb +39 -7
- data/lib/openai/internal/type/hash_of.rb +3 -3
- data/lib/openai/internal/util.rb +52 -27
- data/lib/openai/models/admin/organization/audit_log_list_params.rb +3 -1
- data/lib/openai/models/admin/organization/audit_log_list_response.rb +33 -11
- data/lib/openai/models/admin/organization/groups/role_list_response.rb +5 -1
- data/lib/openai/models/admin/organization/groups/role_retrieve_response.rb +5 -1
- data/lib/openai/models/admin/organization/projects/groups/role_list_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/groups/role_retrieve_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/service_account_create_response.rb +3 -1
- data/lib/openai/models/admin/organization/projects/users/role_list_response.rb +6 -1
- data/lib/openai/models/admin/organization/projects/users/role_retrieve_response.rb +6 -1
- data/lib/openai/models/admin/organization/users/role_list_response.rb +5 -1
- data/lib/openai/models/admin/organization/users/role_retrieve_response.rb +5 -1
- data/lib/openai/models/all_models.rb +5 -0
- data/lib/openai/models/audio/transcription_create_params.rb +7 -1
- data/lib/openai/models/audio/translation_create_params.rb +7 -1
- data/lib/openai/models/beta/beta_mcp_tool_call_error.rb +84 -0
- data/lib/openai/models/beta/beta_response.rb +27 -0
- data/lib/openai/models/beta/beta_response_input_item.rb +3 -3
- data/lib/openai/models/beta/beta_response_item.rb +3 -3
- data/lib/openai/models/beta/beta_response_output_item.rb +3 -3
- data/lib/openai/models/beta/beta_response_output_item_added_event.rb +5 -2
- data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +201 -4
- data/lib/openai/models/beta/beta_response_reasoning_item.rb +5 -0
- data/lib/openai/models/beta/beta_response_stream_event.rb +1 -1
- data/lib/openai/models/beta/beta_responses_client_event.rb +46 -3
- data/lib/openai/models/beta/beta_responses_server_event.rb +1143 -63
- data/lib/openai/models/beta/beta_web_search_tool.rb +11 -1
- data/lib/openai/models/beta/response_compact_params.rb +18 -0
- data/lib/openai/models/beta/response_create_params.rb +27 -0
- data/lib/openai/models/chat_model.rb +1 -0
- data/lib/openai/models/completion_usage.rb +26 -2
- data/lib/openai/models/containers/file_create_params.rb +4 -0
- data/lib/openai/models/content_provenance_check_create_params.rb +4 -0
- data/lib/openai/models/conversations/conversation_item.rb +3 -3
- data/lib/openai/models/file_create_params.rb +4 -0
- data/lib/openai/models/image_create_variation_params.rb +4 -0
- data/lib/openai/models/image_edit_params.rb +8 -0
- data/lib/openai/models/model.rb +9 -1
- data/lib/openai/models/responses/mcp_tool_call_error.rb +82 -0
- data/lib/openai/models/responses/response.rb +9 -0
- data/lib/openai/models/responses/response_compact_params.rb +18 -0
- data/lib/openai/models/responses/response_create_params.rb +9 -0
- data/lib/openai/models/responses/response_input_item.rb +3 -3
- data/lib/openai/models/responses/response_item.rb +3 -3
- data/lib/openai/models/responses/response_output_item.rb +3 -3
- data/lib/openai/models/responses/response_output_item_added_event.rb +5 -2
- data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +201 -4
- data/lib/openai/models/responses/response_reasoning_item.rb +5 -0
- data/lib/openai/models/responses/response_stream_event.rb +1 -1
- data/lib/openai/models/responses/responses_client_event.rb +22 -1
- data/lib/openai/models/responses/responses_server_event.rb +1107 -56
- data/lib/openai/models/responses/web_search_tool.rb +11 -1
- data/lib/openai/models/responses_model.rb +5 -0
- data/lib/openai/models/skill_create_params.rb +4 -0
- data/lib/openai/models/skills/version_create_params.rb +4 -0
- data/lib/openai/models/uploads/part_create_params.rb +4 -0
- data/lib/openai/models/vector_store_search_response.rb +3 -1
- data/lib/openai/models/video_create_character_params.rb +4 -0
- data/lib/openai/models/video_create_params.rb +4 -0
- data/lib/openai/models/video_edit_params.rb +4 -0
- data/lib/openai/models/video_extend_params.rb +4 -0
- data/lib/openai/models.rb +9 -1
- data/lib/openai/net_http_client.rb +20 -6
- data/lib/openai/providers/azure.rb +216 -0
- data/lib/openai/providers/bedrock.rb +130 -17
- data/lib/openai/resources/admin/organization/projects/groups/roles.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/groups.rb +1 -1
- data/lib/openai/resources/admin/organization/projects/users/roles.rb +1 -1
- data/lib/openai/resources/admin/organization/projects.rb +4 -2
- data/lib/openai/resources/audio/transcriptions.rb +8 -0
- data/lib/openai/resources/audio/translations.rb +4 -0
- data/lib/openai/resources/beta/responses.rb +1 -1
- data/lib/openai/resources/beta/threads/runs/steps.rb +2 -2
- data/lib/openai/resources/containers/files.rb +4 -0
- data/lib/openai/resources/content_provenance_checks.rb +4 -0
- data/lib/openai/resources/conversations/items.rb +1 -1
- data/lib/openai/resources/evals/runs/output_items.rb +1 -1
- data/lib/openai/resources/files.rb +5 -1
- data/lib/openai/resources/images.rb +12 -0
- data/lib/openai/resources/responses.rb +3 -2
- data/lib/openai/resources/skills/versions.rb +4 -0
- data/lib/openai/resources/skills.rb +4 -0
- data/lib/openai/resources/uploads/parts.rb +4 -0
- data/lib/openai/resources/vector_stores/file_batches.rb +1 -1
- data/lib/openai/resources/videos.rb +38 -0
- data/lib/openai/resources/webhooks.rb +18 -6
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +111 -105
- data/rbi/openai/auth.rbi +4 -4
- data/rbi/openai/client.rbi +13 -3
- data/rbi/openai/errors.rbi +7 -0
- data/rbi/openai/helpers/streaming/events.rbi +12 -0
- data/rbi/openai/http_client.rbi +62 -2
- data/rbi/openai/internal/logging.rbi +192 -0
- data/rbi/openai/internal/provider.rbi +3 -0
- data/rbi/openai/internal/read_io_adapter.rbi +6 -1
- data/rbi/openai/internal/transport/base_client.rbi +61 -7
- data/rbi/openai/internal/type/base_model.rbi +24 -1
- data/rbi/openai/internal/type/base_page.rbi +13 -2
- data/rbi/openai/internal/type/base_stream.rbi +15 -4
- data/rbi/openai/internal/util.rbi +26 -2
- data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +5 -0
- data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +5 -0
- data/rbi/openai/models/all_models.rbi +25 -0
- data/rbi/openai/models/audio/transcription_create_params.rbi +14 -2
- data/rbi/openai/models/audio/translation_create_params.rbi +14 -2
- data/rbi/openai/models/beta/beta_mcp_tool_call_error.rbi +122 -0
- data/rbi/openai/models/beta/beta_response.rbi +47 -0
- data/rbi/openai/models/beta/beta_response_input_item.rbi +27 -3
- data/rbi/openai/models/beta/beta_response_item.rbi +27 -3
- data/rbi/openai/models/beta/beta_response_output_item.rbi +27 -3
- data/rbi/openai/models/beta/beta_response_output_item_added_event.rbi +8 -2
- data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +297 -5
- data/rbi/openai/models/beta/beta_response_reasoning_item.rbi +10 -0
- data/rbi/openai/models/beta/beta_response_stream_event.rbi +1 -1
- data/rbi/openai/models/beta/beta_responses_client_event.rbi +69 -1
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +3945 -54
- data/rbi/openai/models/beta/beta_web_search_tool.rbi +15 -0
- data/rbi/openai/models/beta/response_compact_params.rbi +30 -0
- data/rbi/openai/models/beta/response_create_params.rbi +47 -0
- data/rbi/openai/models/chat_model.rbi +2 -0
- data/rbi/openai/models/completion_usage.rbi +39 -6
- data/rbi/openai/models/containers/file_create_params.rbi +8 -0
- data/rbi/openai/models/content_provenance_check_create_params.rbi +8 -0
- data/rbi/openai/models/conversations/conversation_item.rbi +12 -3
- data/rbi/openai/models/file_create_params.rbi +8 -0
- data/rbi/openai/models/image_create_variation_params.rbi +8 -0
- data/rbi/openai/models/image_edit_params.rbi +16 -0
- data/rbi/openai/models/model.rbi +14 -1
- data/rbi/openai/models/responses/mcp_tool_call_error.rbi +120 -0
- data/rbi/openai/models/responses/response.rbi +17 -0
- data/rbi/openai/models/responses/response_compact_params.rbi +30 -0
- data/rbi/openai/models/responses/response_create_params.rbi +17 -0
- data/rbi/openai/models/responses/response_input_item.rbi +27 -3
- data/rbi/openai/models/responses/response_item.rbi +27 -3
- data/rbi/openai/models/responses/response_output_item.rbi +27 -3
- data/rbi/openai/models/responses/response_output_item_added_event.rbi +8 -2
- data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +297 -5
- data/rbi/openai/models/responses/response_reasoning_item.rbi +10 -0
- data/rbi/openai/models/responses/response_stream_event.rbi +1 -1
- data/rbi/openai/models/responses/responses_client_event.rbi +36 -0
- data/rbi/openai/models/responses/responses_server_event.rbi +3385 -53
- data/rbi/openai/models/responses/web_search_tool.rbi +15 -0
- data/rbi/openai/models/responses_model.rbi +25 -0
- data/rbi/openai/models/skill_create_params.rbi +8 -0
- data/rbi/openai/models/skills/version_create_params.rbi +8 -0
- data/rbi/openai/models/uploads/part_create_params.rbi +8 -0
- data/rbi/openai/models/video_create_character_params.rbi +8 -0
- data/rbi/openai/models/video_create_params.rbi +8 -0
- data/rbi/openai/models/video_edit_params.rbi +8 -0
- data/rbi/openai/models/video_extend_params.rbi +8 -0
- data/rbi/openai/net_http_client.rbi +2 -2
- data/rbi/openai/providers.rbi +11 -0
- data/rbi/openai/resources/audio/transcriptions.rbi +14 -2
- data/rbi/openai/resources/audio/translations.rbi +7 -1
- data/rbi/openai/resources/beta/responses.rbi +8 -0
- data/rbi/openai/resources/containers/files.rbi +4 -0
- data/rbi/openai/resources/content_provenance_checks.rbi +4 -0
- data/rbi/openai/resources/files.rbi +5 -1
- data/rbi/openai/resources/images.rbi +20 -0
- data/rbi/openai/resources/responses.rbi +8 -0
- data/rbi/openai/resources/skills/versions.rbi +4 -0
- data/rbi/openai/resources/skills.rbi +4 -0
- data/rbi/openai/resources/uploads/parts.rbi +4 -0
- data/rbi/openai/resources/videos.rbi +16 -0
- data/sig/openai/client.rbs +6 -2
- data/sig/openai/errors.rbs +5 -0
- data/sig/openai/http_client.rbs +37 -2
- data/sig/openai/internal/logging.rbs +88 -0
- data/sig/openai/internal/provider.rbs +3 -1
- data/sig/openai/internal/read_io_adapter.rbs +3 -1
- data/sig/openai/internal/transport/base_client.rbs +33 -5
- data/sig/openai/internal/type/base_model.rbs +13 -0
- data/sig/openai/internal/type/base_page.rbs +8 -1
- data/sig/openai/internal/type/base_stream.rbs +8 -2
- data/sig/openai/internal/util.rbs +12 -0
- data/sig/openai/models/admin/organization/audit_log_list_params.rbs +2 -0
- data/sig/openai/models/admin/organization/audit_log_list_response.rbs +2 -0
- data/sig/openai/models/all_models.rbs +10 -0
- data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +75 -0
- data/sig/openai/models/beta/beta_response.rbs +14 -1
- data/sig/openai/models/beta/beta_response_input_item.rbs +4 -4
- data/sig/openai/models/beta/beta_response_item.rbs +4 -4
- data/sig/openai/models/beta/beta_response_output_item.rbs +4 -4
- data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +149 -4
- data/sig/openai/models/beta/beta_responses_client_event.rbs +21 -1
- data/sig/openai/models/beta/beta_responses_server_event.rbs +2005 -53
- data/sig/openai/models/beta/beta_web_search_tool.rbs +7 -0
- data/sig/openai/models/beta/response_compact_params.rbs +12 -0
- data/sig/openai/models/beta/response_create_params.rbs +14 -1
- data/sig/openai/models/chat_model.rbs +2 -0
- data/sig/openai/models/completion_usage.rbs +27 -6
- data/sig/openai/models/conversations/conversation_item.rbs +4 -4
- data/sig/openai/models/model.rbs +12 -2
- data/sig/openai/models/responses/mcp_tool_call_error.rbs +73 -0
- data/sig/openai/models/responses/response.rbs +2 -1
- data/sig/openai/models/responses/response_compact_params.rbs +12 -0
- data/sig/openai/models/responses/response_create_params.rbs +2 -1
- data/sig/openai/models/responses/response_input_item.rbs +4 -4
- data/sig/openai/models/responses/response_item.rbs +4 -4
- data/sig/openai/models/responses/response_output_item.rbs +4 -4
- data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +149 -4
- data/sig/openai/models/responses/responses_client_event.rbs +9 -1
- data/sig/openai/models/responses/responses_server_event.rbs +1834 -53
- data/sig/openai/models/responses/web_search_tool.rbs +7 -0
- data/sig/openai/models/responses_model.rbs +10 -0
- data/sig/openai/net_http_client.rbs +2 -2
- data/sig/openai/providers.rbs +7 -0
- metadata +30 -1
|
@@ -15,8 +15,14 @@ module OpenAI
|
|
|
15
15
|
)
|
|
16
16
|
end
|
|
17
17
|
|
|
18
|
-
#
|
|
19
|
-
sig
|
|
18
|
+
# An annotation that applies to a span of output text.
|
|
19
|
+
sig do
|
|
20
|
+
returns(
|
|
21
|
+
T.nilable(
|
|
22
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::Variants
|
|
23
|
+
)
|
|
24
|
+
)
|
|
25
|
+
end
|
|
20
26
|
attr_accessor :annotation
|
|
21
27
|
|
|
22
28
|
# The index of the annotation within the content part.
|
|
@@ -66,7 +72,15 @@ module OpenAI
|
|
|
66
72
|
# Emitted when an annotation is added to output text content.
|
|
67
73
|
sig do
|
|
68
74
|
params(
|
|
69
|
-
annotation:
|
|
75
|
+
annotation:
|
|
76
|
+
T.nilable(
|
|
77
|
+
T.any(
|
|
78
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FileCitation::OrHash,
|
|
79
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::URLCitation::OrHash,
|
|
80
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::ContainerFileCitation::OrHash,
|
|
81
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FilePath::OrHash
|
|
82
|
+
)
|
|
83
|
+
),
|
|
70
84
|
annotation_index: Integer,
|
|
71
85
|
content_index: Integer,
|
|
72
86
|
item_id: String,
|
|
@@ -80,7 +94,7 @@ module OpenAI
|
|
|
80
94
|
).returns(T.attached_class)
|
|
81
95
|
end
|
|
82
96
|
def self.new(
|
|
83
|
-
#
|
|
97
|
+
# An annotation that applies to a span of output text.
|
|
84
98
|
annotation:,
|
|
85
99
|
# The index of the annotation within the content part.
|
|
86
100
|
annotation_index:,
|
|
@@ -102,7 +116,10 @@ module OpenAI
|
|
|
102
116
|
sig do
|
|
103
117
|
override.returns(
|
|
104
118
|
{
|
|
105
|
-
annotation:
|
|
119
|
+
annotation:
|
|
120
|
+
T.nilable(
|
|
121
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::Variants
|
|
122
|
+
),
|
|
106
123
|
annotation_index: Integer,
|
|
107
124
|
content_index: Integer,
|
|
108
125
|
item_id: String,
|
|
@@ -119,6 +136,281 @@ module OpenAI
|
|
|
119
136
|
def to_hash
|
|
120
137
|
end
|
|
121
138
|
|
|
139
|
+
# An annotation that applies to a span of output text.
|
|
140
|
+
module Annotation
|
|
141
|
+
extend OpenAI::Internal::Type::Union
|
|
142
|
+
|
|
143
|
+
Variants =
|
|
144
|
+
T.type_alias do
|
|
145
|
+
T.any(
|
|
146
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FileCitation,
|
|
147
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::URLCitation,
|
|
148
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::ContainerFileCitation,
|
|
149
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FilePath
|
|
150
|
+
)
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
class FileCitation < OpenAI::Internal::Type::BaseModel
|
|
154
|
+
OrHash =
|
|
155
|
+
T.type_alias do
|
|
156
|
+
T.any(
|
|
157
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FileCitation,
|
|
158
|
+
OpenAI::Internal::AnyHash
|
|
159
|
+
)
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# The ID of the file.
|
|
163
|
+
sig { returns(String) }
|
|
164
|
+
attr_accessor :file_id
|
|
165
|
+
|
|
166
|
+
# The filename of the file cited.
|
|
167
|
+
sig { returns(String) }
|
|
168
|
+
attr_accessor :filename
|
|
169
|
+
|
|
170
|
+
# The index of the file in the list of files.
|
|
171
|
+
sig { returns(Integer) }
|
|
172
|
+
attr_accessor :index
|
|
173
|
+
|
|
174
|
+
# The type of the file citation. Always `file_citation`.
|
|
175
|
+
sig { returns(Symbol) }
|
|
176
|
+
attr_accessor :type
|
|
177
|
+
|
|
178
|
+
# A citation to a file.
|
|
179
|
+
sig do
|
|
180
|
+
params(
|
|
181
|
+
file_id: String,
|
|
182
|
+
filename: String,
|
|
183
|
+
index: Integer,
|
|
184
|
+
type: Symbol
|
|
185
|
+
).returns(T.attached_class)
|
|
186
|
+
end
|
|
187
|
+
def self.new(
|
|
188
|
+
# The ID of the file.
|
|
189
|
+
file_id:,
|
|
190
|
+
# The filename of the file cited.
|
|
191
|
+
filename:,
|
|
192
|
+
# The index of the file in the list of files.
|
|
193
|
+
index:,
|
|
194
|
+
# The type of the file citation. Always `file_citation`.
|
|
195
|
+
type: :file_citation
|
|
196
|
+
)
|
|
197
|
+
end
|
|
198
|
+
|
|
199
|
+
sig do
|
|
200
|
+
override.returns(
|
|
201
|
+
{
|
|
202
|
+
file_id: String,
|
|
203
|
+
filename: String,
|
|
204
|
+
index: Integer,
|
|
205
|
+
type: Symbol
|
|
206
|
+
}
|
|
207
|
+
)
|
|
208
|
+
end
|
|
209
|
+
def to_hash
|
|
210
|
+
end
|
|
211
|
+
end
|
|
212
|
+
|
|
213
|
+
class URLCitation < OpenAI::Internal::Type::BaseModel
|
|
214
|
+
OrHash =
|
|
215
|
+
T.type_alias do
|
|
216
|
+
T.any(
|
|
217
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::URLCitation,
|
|
218
|
+
OpenAI::Internal::AnyHash
|
|
219
|
+
)
|
|
220
|
+
end
|
|
221
|
+
|
|
222
|
+
# The index of the last character of the URL citation in the message.
|
|
223
|
+
sig { returns(Integer) }
|
|
224
|
+
attr_accessor :end_index
|
|
225
|
+
|
|
226
|
+
# The index of the first character of the URL citation in the message.
|
|
227
|
+
sig { returns(Integer) }
|
|
228
|
+
attr_accessor :start_index
|
|
229
|
+
|
|
230
|
+
# The title of the web resource.
|
|
231
|
+
sig { returns(String) }
|
|
232
|
+
attr_accessor :title
|
|
233
|
+
|
|
234
|
+
# The type of the URL citation. Always `url_citation`.
|
|
235
|
+
sig { returns(Symbol) }
|
|
236
|
+
attr_accessor :type
|
|
237
|
+
|
|
238
|
+
# The URL of the web resource.
|
|
239
|
+
sig { returns(String) }
|
|
240
|
+
attr_accessor :url
|
|
241
|
+
|
|
242
|
+
# A citation for a web resource used to generate a model response.
|
|
243
|
+
sig do
|
|
244
|
+
params(
|
|
245
|
+
end_index: Integer,
|
|
246
|
+
start_index: Integer,
|
|
247
|
+
title: String,
|
|
248
|
+
url: String,
|
|
249
|
+
type: Symbol
|
|
250
|
+
).returns(T.attached_class)
|
|
251
|
+
end
|
|
252
|
+
def self.new(
|
|
253
|
+
# The index of the last character of the URL citation in the message.
|
|
254
|
+
end_index:,
|
|
255
|
+
# The index of the first character of the URL citation in the message.
|
|
256
|
+
start_index:,
|
|
257
|
+
# The title of the web resource.
|
|
258
|
+
title:,
|
|
259
|
+
# The URL of the web resource.
|
|
260
|
+
url:,
|
|
261
|
+
# The type of the URL citation. Always `url_citation`.
|
|
262
|
+
type: :url_citation
|
|
263
|
+
)
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
sig do
|
|
267
|
+
override.returns(
|
|
268
|
+
{
|
|
269
|
+
end_index: Integer,
|
|
270
|
+
start_index: Integer,
|
|
271
|
+
title: String,
|
|
272
|
+
type: Symbol,
|
|
273
|
+
url: String
|
|
274
|
+
}
|
|
275
|
+
)
|
|
276
|
+
end
|
|
277
|
+
def to_hash
|
|
278
|
+
end
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
class ContainerFileCitation < OpenAI::Internal::Type::BaseModel
|
|
282
|
+
OrHash =
|
|
283
|
+
T.type_alias do
|
|
284
|
+
T.any(
|
|
285
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::ContainerFileCitation,
|
|
286
|
+
OpenAI::Internal::AnyHash
|
|
287
|
+
)
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# The ID of the container file.
|
|
291
|
+
sig { returns(String) }
|
|
292
|
+
attr_accessor :container_id
|
|
293
|
+
|
|
294
|
+
# The index of the last character of the container file citation in the message.
|
|
295
|
+
sig { returns(Integer) }
|
|
296
|
+
attr_accessor :end_index
|
|
297
|
+
|
|
298
|
+
# The ID of the file.
|
|
299
|
+
sig { returns(String) }
|
|
300
|
+
attr_accessor :file_id
|
|
301
|
+
|
|
302
|
+
# The filename of the container file cited.
|
|
303
|
+
sig { returns(String) }
|
|
304
|
+
attr_accessor :filename
|
|
305
|
+
|
|
306
|
+
# The index of the first character of the container file citation in the message.
|
|
307
|
+
sig { returns(Integer) }
|
|
308
|
+
attr_accessor :start_index
|
|
309
|
+
|
|
310
|
+
# The type of the container file citation. Always `container_file_citation`.
|
|
311
|
+
sig { returns(Symbol) }
|
|
312
|
+
attr_accessor :type
|
|
313
|
+
|
|
314
|
+
# A citation for a container file used to generate a model response.
|
|
315
|
+
sig do
|
|
316
|
+
params(
|
|
317
|
+
container_id: String,
|
|
318
|
+
end_index: Integer,
|
|
319
|
+
file_id: String,
|
|
320
|
+
filename: String,
|
|
321
|
+
start_index: Integer,
|
|
322
|
+
type: Symbol
|
|
323
|
+
).returns(T.attached_class)
|
|
324
|
+
end
|
|
325
|
+
def self.new(
|
|
326
|
+
# The ID of the container file.
|
|
327
|
+
container_id:,
|
|
328
|
+
# The index of the last character of the container file citation in the message.
|
|
329
|
+
end_index:,
|
|
330
|
+
# The ID of the file.
|
|
331
|
+
file_id:,
|
|
332
|
+
# The filename of the container file cited.
|
|
333
|
+
filename:,
|
|
334
|
+
# The index of the first character of the container file citation in the message.
|
|
335
|
+
start_index:,
|
|
336
|
+
# The type of the container file citation. Always `container_file_citation`.
|
|
337
|
+
type: :container_file_citation
|
|
338
|
+
)
|
|
339
|
+
end
|
|
340
|
+
|
|
341
|
+
sig do
|
|
342
|
+
override.returns(
|
|
343
|
+
{
|
|
344
|
+
container_id: String,
|
|
345
|
+
end_index: Integer,
|
|
346
|
+
file_id: String,
|
|
347
|
+
filename: String,
|
|
348
|
+
start_index: Integer,
|
|
349
|
+
type: Symbol
|
|
350
|
+
}
|
|
351
|
+
)
|
|
352
|
+
end
|
|
353
|
+
def to_hash
|
|
354
|
+
end
|
|
355
|
+
end
|
|
356
|
+
|
|
357
|
+
class FilePath < OpenAI::Internal::Type::BaseModel
|
|
358
|
+
OrHash =
|
|
359
|
+
T.type_alias do
|
|
360
|
+
T.any(
|
|
361
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::FilePath,
|
|
362
|
+
OpenAI::Internal::AnyHash
|
|
363
|
+
)
|
|
364
|
+
end
|
|
365
|
+
|
|
366
|
+
# The ID of the file.
|
|
367
|
+
sig { returns(String) }
|
|
368
|
+
attr_accessor :file_id
|
|
369
|
+
|
|
370
|
+
# The index of the file in the list of files.
|
|
371
|
+
sig { returns(Integer) }
|
|
372
|
+
attr_accessor :index
|
|
373
|
+
|
|
374
|
+
# The type of the file path. Always `file_path`.
|
|
375
|
+
sig { returns(Symbol) }
|
|
376
|
+
attr_accessor :type
|
|
377
|
+
|
|
378
|
+
# A path to a file.
|
|
379
|
+
sig do
|
|
380
|
+
params(file_id: String, index: Integer, type: Symbol).returns(
|
|
381
|
+
T.attached_class
|
|
382
|
+
)
|
|
383
|
+
end
|
|
384
|
+
def self.new(
|
|
385
|
+
# The ID of the file.
|
|
386
|
+
file_id:,
|
|
387
|
+
# The index of the file in the list of files.
|
|
388
|
+
index:,
|
|
389
|
+
# The type of the file path. Always `file_path`.
|
|
390
|
+
type: :file_path
|
|
391
|
+
)
|
|
392
|
+
end
|
|
393
|
+
|
|
394
|
+
sig do
|
|
395
|
+
override.returns(
|
|
396
|
+
{ file_id: String, index: Integer, type: Symbol }
|
|
397
|
+
)
|
|
398
|
+
end
|
|
399
|
+
def to_hash
|
|
400
|
+
end
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
sig do
|
|
404
|
+
override.returns(
|
|
405
|
+
T::Array[
|
|
406
|
+
OpenAI::Beta::BetaResponseOutputTextAnnotationAddedEvent::Annotation::Variants
|
|
407
|
+
]
|
|
408
|
+
)
|
|
409
|
+
end
|
|
410
|
+
def self.variants
|
|
411
|
+
end
|
|
412
|
+
end
|
|
413
|
+
|
|
122
414
|
class Agent < OpenAI::Internal::Type::BaseModel
|
|
123
415
|
OrHash =
|
|
124
416
|
T.type_alias do
|
|
@@ -63,6 +63,11 @@ module OpenAI
|
|
|
63
63
|
# The encrypted content of the reasoning item. This is populated by default for
|
|
64
64
|
# reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
|
|
65
65
|
# requests.
|
|
66
|
+
#
|
|
67
|
+
# When streaming, use the completed reasoning item and its `encrypted_content`
|
|
68
|
+
# from the `response.output_item.done` event in subsequent requests. The
|
|
69
|
+
# `encrypted_content` in `response.output_item.added` may be incomplete. This is
|
|
70
|
+
# especially important when `store` is `false` or when using Zero Data Retention.
|
|
66
71
|
sig { returns(T.nilable(String)) }
|
|
67
72
|
attr_accessor :encrypted_content
|
|
68
73
|
|
|
@@ -116,6 +121,11 @@ module OpenAI
|
|
|
116
121
|
# The encrypted content of the reasoning item. This is populated by default for
|
|
117
122
|
# reasoning items returned by `POST /v1/responses` and WebSocket `response.create`
|
|
118
123
|
# requests.
|
|
124
|
+
#
|
|
125
|
+
# When streaming, use the completed reasoning item and its `encrypted_content`
|
|
126
|
+
# from the `response.output_item.done` event in subsequent requests. The
|
|
127
|
+
# `encrypted_content` in `response.output_item.added` may be incomplete. This is
|
|
128
|
+
# especially important when `store` is `false` or when using Zero Data Retention.
|
|
119
129
|
encrypted_content: nil,
|
|
120
130
|
# The status of the item. One of `in_progress`, `completed`, or `incomplete`.
|
|
121
131
|
# Populated when items are returned via API.
|
|
@@ -338,6 +338,10 @@ module OpenAI
|
|
|
338
338
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
339
339
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
340
340
|
# request.
|
|
341
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
342
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
343
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
344
|
+
# `service_tier=ultrafast`.
|
|
341
345
|
# - When not set, the default behavior is 'auto'.
|
|
342
346
|
#
|
|
343
347
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -366,6 +370,17 @@ module OpenAI
|
|
|
366
370
|
sig { returns(T.nilable(T::Boolean)) }
|
|
367
371
|
attr_accessor :stream
|
|
368
372
|
|
|
373
|
+
# The WebSocket lane for this response. Requests with the same `stream_id` are
|
|
374
|
+
# processed FIFO, and events for the response echo the same `stream_id`.
|
|
375
|
+
#
|
|
376
|
+
# `stream_id` controls routing; `previous_response_id` controls conversation
|
|
377
|
+
# lineage, so a new lane can fork from a response created on another lane.
|
|
378
|
+
sig { returns(T.nilable(String)) }
|
|
379
|
+
attr_reader :stream_id
|
|
380
|
+
|
|
381
|
+
sig { params(stream_id: String).void }
|
|
382
|
+
attr_writer :stream_id
|
|
383
|
+
|
|
369
384
|
# Options for streaming responses. Only set this when you set `stream: true`.
|
|
370
385
|
sig do
|
|
371
386
|
returns(
|
|
@@ -562,12 +577,14 @@ module OpenAI
|
|
|
562
577
|
attr_writer :user
|
|
563
578
|
|
|
564
579
|
# Client event for creating a response over a persistent WebSocket connection.
|
|
565
|
-
# This payload uses the same top-level fields as `POST /v1/responses
|
|
580
|
+
# This payload uses the same top-level fields as `POST /v1/responses`, plus
|
|
581
|
+
# WebSocket-only envelope metadata.
|
|
566
582
|
#
|
|
567
583
|
# Notes:
|
|
568
584
|
#
|
|
569
585
|
# - `stream` is implicit over WebSocket and should not be sent.
|
|
570
586
|
# - `background` is not supported over WebSocket.
|
|
587
|
+
# - `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
|
|
571
588
|
sig do
|
|
572
589
|
params(
|
|
573
590
|
background: T.nilable(T::Boolean),
|
|
@@ -628,6 +645,7 @@ module OpenAI
|
|
|
628
645
|
),
|
|
629
646
|
store: T.nilable(T::Boolean),
|
|
630
647
|
stream: T.nilable(T::Boolean),
|
|
648
|
+
stream_id: String,
|
|
631
649
|
stream_options:
|
|
632
650
|
T.nilable(
|
|
633
651
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions::OrHash
|
|
@@ -817,6 +835,10 @@ module OpenAI
|
|
|
817
835
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
818
836
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
819
837
|
# request.
|
|
838
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
839
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
840
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
841
|
+
# `service_tier=ultrafast`.
|
|
820
842
|
# - When not set, the default behavior is 'auto'.
|
|
821
843
|
#
|
|
822
844
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -833,6 +855,12 @@ module OpenAI
|
|
|
833
855
|
# [Streaming section below](https://platform.openai.com/docs/api-reference/responses-streaming)
|
|
834
856
|
# for more information.
|
|
835
857
|
stream: nil,
|
|
858
|
+
# The WebSocket lane for this response. Requests with the same `stream_id` are
|
|
859
|
+
# processed FIFO, and events for the response echo the same `stream_id`.
|
|
860
|
+
#
|
|
861
|
+
# `stream_id` controls routing; `previous_response_id` controls conversation
|
|
862
|
+
# lineage, so a new lane can fork from a response created on another lane.
|
|
863
|
+
stream_id: nil,
|
|
836
864
|
# Options for streaming responses. Only set this when you set `stream: true`.
|
|
837
865
|
stream_options: nil,
|
|
838
866
|
# What sampling temperature to use, between 0 and 2. Higher values like 0.8 will
|
|
@@ -958,6 +986,7 @@ module OpenAI
|
|
|
958
986
|
),
|
|
959
987
|
store: T.nilable(T::Boolean),
|
|
960
988
|
stream: T.nilable(T::Boolean),
|
|
989
|
+
stream_id: String,
|
|
961
990
|
stream_options:
|
|
962
991
|
T.nilable(
|
|
963
992
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::StreamOptions
|
|
@@ -1159,6 +1188,11 @@ module OpenAI
|
|
|
1159
1188
|
:"gpt-5.5",
|
|
1160
1189
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1161
1190
|
)
|
|
1191
|
+
GPT_5_5_2026_04_23 =
|
|
1192
|
+
T.let(
|
|
1193
|
+
:"gpt-5.5-2026-04-23",
|
|
1194
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1195
|
+
)
|
|
1162
1196
|
GPT_5_4 =
|
|
1163
1197
|
T.let(
|
|
1164
1198
|
:"gpt-5.4",
|
|
@@ -1599,6 +1633,16 @@ module OpenAI
|
|
|
1599
1633
|
:"computer-use-preview-2025-03-11",
|
|
1600
1634
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1601
1635
|
)
|
|
1636
|
+
GPT_5_5_PRO =
|
|
1637
|
+
T.let(
|
|
1638
|
+
:"gpt-5.5-pro",
|
|
1639
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1640
|
+
)
|
|
1641
|
+
GPT_5_5_PRO_2026_04_23 =
|
|
1642
|
+
T.let(
|
|
1643
|
+
:"gpt-5.5-pro-2026-04-23",
|
|
1644
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1645
|
+
)
|
|
1602
1646
|
GPT_5_CODEX =
|
|
1603
1647
|
T.let(
|
|
1604
1648
|
:"gpt-5-codex",
|
|
@@ -1619,6 +1663,21 @@ module OpenAI
|
|
|
1619
1663
|
:"gpt-5.1-codex-max",
|
|
1620
1664
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1621
1665
|
)
|
|
1666
|
+
GPT_DAYBREAK_BLUE_LATEST =
|
|
1667
|
+
T.let(
|
|
1668
|
+
:"gpt-daybreak-blue-latest",
|
|
1669
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1670
|
+
)
|
|
1671
|
+
GPT_DAYBREAK_RED_LATEST =
|
|
1672
|
+
T.let(
|
|
1673
|
+
:"gpt-daybreak-red-latest",
|
|
1674
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1675
|
+
)
|
|
1676
|
+
GPT_5_6_CYBER =
|
|
1677
|
+
T.let(
|
|
1678
|
+
:"gpt-5.6-cyber",
|
|
1679
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
|
|
1680
|
+
)
|
|
1622
1681
|
end
|
|
1623
1682
|
|
|
1624
1683
|
class Moderation < OpenAI::Internal::Type::BaseModel
|
|
@@ -2643,6 +2702,10 @@ module OpenAI
|
|
|
2643
2702
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
2644
2703
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
2645
2704
|
# request.
|
|
2705
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
2706
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
2707
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
2708
|
+
# `service_tier=ultrafast`.
|
|
2646
2709
|
# - When not set, the default behavior is 'auto'.
|
|
2647
2710
|
#
|
|
2648
2711
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -2691,6 +2754,11 @@ module OpenAI
|
|
|
2691
2754
|
:fast,
|
|
2692
2755
|
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ServiceTier::TaggedSymbol
|
|
2693
2756
|
)
|
|
2757
|
+
ULTRAFAST =
|
|
2758
|
+
T.let(
|
|
2759
|
+
:ultrafast,
|
|
2760
|
+
OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::ServiceTier::TaggedSymbol
|
|
2761
|
+
)
|
|
2694
2762
|
|
|
2695
2763
|
sig do
|
|
2696
2764
|
override.returns(
|