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
|
@@ -16,7 +16,13 @@ module OpenAI
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
# The audio file object (not file name) to transcribe, in one of these formats:
|
|
19
|
-
# flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.
|
|
19
|
+
# flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. The request must include
|
|
20
|
+
# enough format metadata for the file to be identified. We recommend an
|
|
21
|
+
# extension-bearing filename and an appropriate content type.
|
|
22
|
+
#
|
|
23
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
24
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
25
|
+
# content type.
|
|
20
26
|
sig { returns(OpenAI::Internal::FileInput) }
|
|
21
27
|
attr_accessor :file
|
|
22
28
|
|
|
@@ -202,7 +208,13 @@ module OpenAI
|
|
|
202
208
|
end
|
|
203
209
|
def self.new(
|
|
204
210
|
# The audio file object (not file name) to transcribe, in one of these formats:
|
|
205
|
-
# flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.
|
|
211
|
+
# flac, mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. The request must include
|
|
212
|
+
# enough format metadata for the file to be identified. We recommend an
|
|
213
|
+
# extension-bearing filename and an appropriate content type.
|
|
214
|
+
#
|
|
215
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
216
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
217
|
+
# content type.
|
|
206
218
|
file:,
|
|
207
219
|
# ID of the model to use. The options are `gpt-transcribe`, `gpt-4o-transcribe`,
|
|
208
220
|
# `gpt-4o-mini-transcribe`, `gpt-4o-mini-transcribe-2025-12-15`, `whisper-1`
|
|
@@ -16,7 +16,13 @@ module OpenAI
|
|
|
16
16
|
end
|
|
17
17
|
|
|
18
18
|
# The audio file object (not file name) translate, in one of these formats: flac,
|
|
19
|
-
# mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.
|
|
19
|
+
# mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. The request must include enough
|
|
20
|
+
# format metadata for the file to be identified. We recommend an extension-bearing
|
|
21
|
+
# filename and an appropriate content type.
|
|
22
|
+
#
|
|
23
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
24
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
25
|
+
# content type.
|
|
20
26
|
sig { returns(OpenAI::Internal::FileInput) }
|
|
21
27
|
attr_accessor :file
|
|
22
28
|
|
|
@@ -78,7 +84,13 @@ module OpenAI
|
|
|
78
84
|
end
|
|
79
85
|
def self.new(
|
|
80
86
|
# The audio file object (not file name) translate, in one of these formats: flac,
|
|
81
|
-
# mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm.
|
|
87
|
+
# mp3, mp4, mpeg, mpga, m4a, ogg, wav, or webm. The request must include enough
|
|
88
|
+
# format metadata for the file to be identified. We recommend an extension-bearing
|
|
89
|
+
# filename and an appropriate content type.
|
|
90
|
+
#
|
|
91
|
+
# `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
|
|
92
|
+
# metadata. Use `OpenAI::FilePart` when you need to override the filename or
|
|
93
|
+
# content type.
|
|
82
94
|
file:,
|
|
83
95
|
# ID of the model to use. Only `whisper-1` (which is powered by our open source
|
|
84
96
|
# Whisper V2 model) is currently available.
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
BetaMcpToolCallError = Beta::BetaMcpToolCallError
|
|
6
|
+
|
|
7
|
+
module Beta
|
|
8
|
+
module BetaMcpToolCallError
|
|
9
|
+
extend OpenAI::Internal::Type::Union
|
|
10
|
+
|
|
11
|
+
Variants =
|
|
12
|
+
T.type_alias do
|
|
13
|
+
T.any(
|
|
14
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError,
|
|
15
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError,
|
|
16
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError
|
|
17
|
+
)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
class McpProtocolError < OpenAI::Internal::Type::BaseModel
|
|
21
|
+
OrHash =
|
|
22
|
+
T.type_alias do
|
|
23
|
+
T.any(
|
|
24
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError,
|
|
25
|
+
OpenAI::Internal::AnyHash
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig { returns(Integer) }
|
|
30
|
+
attr_accessor :code
|
|
31
|
+
|
|
32
|
+
sig { returns(String) }
|
|
33
|
+
attr_accessor :message
|
|
34
|
+
|
|
35
|
+
sig { returns(Symbol) }
|
|
36
|
+
attr_accessor :type
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
params(code: Integer, message: String, type: Symbol).returns(
|
|
40
|
+
T.attached_class
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
def self.new(code:, message:, type: :mcp_protocol_error)
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
sig do
|
|
47
|
+
override.returns({ code: Integer, message: String, type: Symbol })
|
|
48
|
+
end
|
|
49
|
+
def to_hash
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
class McpToolExecutionError < OpenAI::Internal::Type::BaseModel
|
|
54
|
+
OrHash =
|
|
55
|
+
T.type_alias do
|
|
56
|
+
T.any(
|
|
57
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError,
|
|
58
|
+
OpenAI::Internal::AnyHash
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
sig { returns(T.anything) }
|
|
63
|
+
attr_accessor :content
|
|
64
|
+
|
|
65
|
+
sig { returns(Symbol) }
|
|
66
|
+
attr_accessor :type
|
|
67
|
+
|
|
68
|
+
sig do
|
|
69
|
+
params(content: T.anything, type: Symbol).returns(T.attached_class)
|
|
70
|
+
end
|
|
71
|
+
def self.new(content:, type: :mcp_tool_execution_error)
|
|
72
|
+
end
|
|
73
|
+
|
|
74
|
+
sig { override.returns({ content: T.anything, type: Symbol }) }
|
|
75
|
+
def to_hash
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
class HTTPError < OpenAI::Internal::Type::BaseModel
|
|
80
|
+
OrHash =
|
|
81
|
+
T.type_alias do
|
|
82
|
+
T.any(
|
|
83
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError,
|
|
84
|
+
OpenAI::Internal::AnyHash
|
|
85
|
+
)
|
|
86
|
+
end
|
|
87
|
+
|
|
88
|
+
sig { returns(Integer) }
|
|
89
|
+
attr_accessor :code
|
|
90
|
+
|
|
91
|
+
sig { returns(String) }
|
|
92
|
+
attr_accessor :message
|
|
93
|
+
|
|
94
|
+
sig { returns(Symbol) }
|
|
95
|
+
attr_accessor :type
|
|
96
|
+
|
|
97
|
+
sig do
|
|
98
|
+
params(code: Integer, message: String, type: Symbol).returns(
|
|
99
|
+
T.attached_class
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
def self.new(code:, message:, type: :http_error)
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
sig do
|
|
106
|
+
override.returns({ code: Integer, message: String, type: Symbol })
|
|
107
|
+
end
|
|
108
|
+
def to_hash
|
|
109
|
+
end
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
sig do
|
|
113
|
+
override.returns(
|
|
114
|
+
T::Array[OpenAI::Beta::BetaMcpToolCallError::Variants]
|
|
115
|
+
)
|
|
116
|
+
end
|
|
117
|
+
def self.variants
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
end
|
|
@@ -284,6 +284,10 @@ module OpenAI
|
|
|
284
284
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
285
285
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
286
286
|
# request.
|
|
287
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
288
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
289
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
290
|
+
# `service_tier=ultrafast`.
|
|
287
291
|
# - When not set, the default behavior is 'auto'.
|
|
288
292
|
#
|
|
289
293
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -624,6 +628,10 @@ module OpenAI
|
|
|
624
628
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
625
629
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
626
630
|
# request.
|
|
631
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
632
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
633
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
634
|
+
# `service_tier=ultrafast`.
|
|
627
635
|
# - When not set, the default behavior is 'auto'.
|
|
628
636
|
#
|
|
629
637
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -881,6 +889,11 @@ module OpenAI
|
|
|
881
889
|
)
|
|
882
890
|
GPT_5_5 =
|
|
883
891
|
T.let(:"gpt-5.5", OpenAI::Beta::BetaResponse::Model::TaggedSymbol)
|
|
892
|
+
GPT_5_5_2026_04_23 =
|
|
893
|
+
T.let(
|
|
894
|
+
:"gpt-5.5-2026-04-23",
|
|
895
|
+
OpenAI::Beta::BetaResponse::Model::TaggedSymbol
|
|
896
|
+
)
|
|
884
897
|
GPT_5_4 =
|
|
885
898
|
T.let(:"gpt-5.4", OpenAI::Beta::BetaResponse::Model::TaggedSymbol)
|
|
886
899
|
GPT_5_4_MINI =
|
|
@@ -1274,6 +1287,16 @@ module OpenAI
|
|
|
1274
1287
|
:"computer-use-preview-2025-03-11",
|
|
1275
1288
|
OpenAI::Beta::BetaResponse::Model::TaggedSymbol
|
|
1276
1289
|
)
|
|
1290
|
+
GPT_5_5_PRO =
|
|
1291
|
+
T.let(
|
|
1292
|
+
:"gpt-5.5-pro",
|
|
1293
|
+
OpenAI::Beta::BetaResponse::Model::TaggedSymbol
|
|
1294
|
+
)
|
|
1295
|
+
GPT_5_5_PRO_2026_04_23 =
|
|
1296
|
+
T.let(
|
|
1297
|
+
:"gpt-5.5-pro-2026-04-23",
|
|
1298
|
+
OpenAI::Beta::BetaResponse::Model::TaggedSymbol
|
|
1299
|
+
)
|
|
1277
1300
|
GPT_5_CODEX =
|
|
1278
1301
|
T.let(
|
|
1279
1302
|
:"gpt-5-codex",
|
|
@@ -1291,6 +1314,21 @@ module OpenAI
|
|
|
1291
1314
|
:"gpt-5.1-codex-max",
|
|
1292
1315
|
OpenAI::Beta::BetaResponse::Model::TaggedSymbol
|
|
1293
1316
|
)
|
|
1317
|
+
GPT_DAYBREAK_BLUE_LATEST =
|
|
1318
|
+
T.let(
|
|
1319
|
+
:"gpt-daybreak-blue-latest",
|
|
1320
|
+
OpenAI::Beta::BetaResponse::Model::TaggedSymbol
|
|
1321
|
+
)
|
|
1322
|
+
GPT_DAYBREAK_RED_LATEST =
|
|
1323
|
+
T.let(
|
|
1324
|
+
:"gpt-daybreak-red-latest",
|
|
1325
|
+
OpenAI::Beta::BetaResponse::Model::TaggedSymbol
|
|
1326
|
+
)
|
|
1327
|
+
GPT_5_6_CYBER =
|
|
1328
|
+
T.let(
|
|
1329
|
+
:"gpt-5.6-cyber",
|
|
1330
|
+
OpenAI::Beta::BetaResponse::Model::TaggedSymbol
|
|
1331
|
+
)
|
|
1294
1332
|
end
|
|
1295
1333
|
|
|
1296
1334
|
# How the model should select which tool (or tools) to use when generating a
|
|
@@ -2433,6 +2471,10 @@ module OpenAI
|
|
|
2433
2471
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
2434
2472
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
2435
2473
|
# request.
|
|
2474
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
2475
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
2476
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
2477
|
+
# `service_tier=ultrafast`.
|
|
2436
2478
|
# - When not set, the default behavior is 'auto'.
|
|
2437
2479
|
#
|
|
2438
2480
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -2466,6 +2508,11 @@ module OpenAI
|
|
|
2466
2508
|
)
|
|
2467
2509
|
FAST =
|
|
2468
2510
|
T.let(:fast, OpenAI::Beta::BetaResponse::ServiceTier::TaggedSymbol)
|
|
2511
|
+
ULTRAFAST =
|
|
2512
|
+
T.let(
|
|
2513
|
+
:ultrafast,
|
|
2514
|
+
OpenAI::Beta::BetaResponse::ServiceTier::TaggedSymbol
|
|
2515
|
+
)
|
|
2469
2516
|
|
|
2470
2517
|
sig do
|
|
2471
2518
|
override.returns(
|
|
@@ -4811,7 +4811,17 @@ module OpenAI
|
|
|
4811
4811
|
attr_accessor :approval_request_id
|
|
4812
4812
|
|
|
4813
4813
|
# The error from the tool call, if any.
|
|
4814
|
-
sig
|
|
4814
|
+
sig do
|
|
4815
|
+
returns(
|
|
4816
|
+
T.nilable(
|
|
4817
|
+
T.any(
|
|
4818
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError,
|
|
4819
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError,
|
|
4820
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError
|
|
4821
|
+
)
|
|
4822
|
+
)
|
|
4823
|
+
)
|
|
4824
|
+
end
|
|
4815
4825
|
attr_accessor :error
|
|
4816
4826
|
|
|
4817
4827
|
# The output from the tool call.
|
|
@@ -4849,7 +4859,14 @@ module OpenAI
|
|
|
4849
4859
|
OpenAI::Beta::BetaResponseInputItem::McpCall::Agent::OrHash
|
|
4850
4860
|
),
|
|
4851
4861
|
approval_request_id: T.nilable(String),
|
|
4852
|
-
error:
|
|
4862
|
+
error:
|
|
4863
|
+
T.nilable(
|
|
4864
|
+
T.any(
|
|
4865
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError::OrHash,
|
|
4866
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError::OrHash,
|
|
4867
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError::OrHash
|
|
4868
|
+
)
|
|
4869
|
+
),
|
|
4853
4870
|
output: T.nilable(String),
|
|
4854
4871
|
status:
|
|
4855
4872
|
OpenAI::Beta::BetaResponseInputItem::McpCall::Status::OrSymbol,
|
|
@@ -4896,7 +4913,14 @@ module OpenAI
|
|
|
4896
4913
|
OpenAI::Beta::BetaResponseInputItem::McpCall::Agent
|
|
4897
4914
|
),
|
|
4898
4915
|
approval_request_id: T.nilable(String),
|
|
4899
|
-
error:
|
|
4916
|
+
error:
|
|
4917
|
+
T.nilable(
|
|
4918
|
+
T.any(
|
|
4919
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError,
|
|
4920
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError,
|
|
4921
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError
|
|
4922
|
+
)
|
|
4923
|
+
),
|
|
4900
4924
|
output: T.nilable(String),
|
|
4901
4925
|
status:
|
|
4902
4926
|
OpenAI::Beta::BetaResponseInputItem::McpCall::Status::OrSymbol
|
|
@@ -2415,7 +2415,17 @@ module OpenAI
|
|
|
2415
2415
|
attr_accessor :approval_request_id
|
|
2416
2416
|
|
|
2417
2417
|
# The error from the tool call, if any.
|
|
2418
|
-
sig
|
|
2418
|
+
sig do
|
|
2419
|
+
returns(
|
|
2420
|
+
T.nilable(
|
|
2421
|
+
T.any(
|
|
2422
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError,
|
|
2423
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError,
|
|
2424
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError
|
|
2425
|
+
)
|
|
2426
|
+
)
|
|
2427
|
+
)
|
|
2428
|
+
end
|
|
2419
2429
|
attr_accessor :error
|
|
2420
2430
|
|
|
2421
2431
|
# The output from the tool call.
|
|
@@ -2452,7 +2462,14 @@ module OpenAI
|
|
|
2452
2462
|
OpenAI::Beta::BetaResponseItem::McpCall::Agent::OrHash
|
|
2453
2463
|
),
|
|
2454
2464
|
approval_request_id: T.nilable(String),
|
|
2455
|
-
error:
|
|
2465
|
+
error:
|
|
2466
|
+
T.nilable(
|
|
2467
|
+
T.any(
|
|
2468
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError::OrHash,
|
|
2469
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError::OrHash,
|
|
2470
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError::OrHash
|
|
2471
|
+
)
|
|
2472
|
+
),
|
|
2456
2473
|
output: T.nilable(String),
|
|
2457
2474
|
status: OpenAI::Beta::BetaResponseItem::McpCall::Status::OrSymbol,
|
|
2458
2475
|
type: Symbol
|
|
@@ -2496,7 +2513,14 @@ module OpenAI
|
|
|
2496
2513
|
agent:
|
|
2497
2514
|
T.nilable(OpenAI::Beta::BetaResponseItem::McpCall::Agent),
|
|
2498
2515
|
approval_request_id: T.nilable(String),
|
|
2499
|
-
error:
|
|
2516
|
+
error:
|
|
2517
|
+
T.nilable(
|
|
2518
|
+
T.any(
|
|
2519
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError,
|
|
2520
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError,
|
|
2521
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError
|
|
2522
|
+
)
|
|
2523
|
+
),
|
|
2500
2524
|
output: T.nilable(String),
|
|
2501
2525
|
status:
|
|
2502
2526
|
OpenAI::Beta::BetaResponseItem::McpCall::Status::TaggedSymbol
|
|
@@ -1999,7 +1999,17 @@ module OpenAI
|
|
|
1999
1999
|
attr_accessor :approval_request_id
|
|
2000
2000
|
|
|
2001
2001
|
# The error from the tool call, if any.
|
|
2002
|
-
sig
|
|
2002
|
+
sig do
|
|
2003
|
+
returns(
|
|
2004
|
+
T.nilable(
|
|
2005
|
+
T.any(
|
|
2006
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError,
|
|
2007
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError,
|
|
2008
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError
|
|
2009
|
+
)
|
|
2010
|
+
)
|
|
2011
|
+
)
|
|
2012
|
+
end
|
|
2003
2013
|
attr_accessor :error
|
|
2004
2014
|
|
|
2005
2015
|
# The output from the tool call.
|
|
@@ -2037,7 +2047,14 @@ module OpenAI
|
|
|
2037
2047
|
OpenAI::Beta::BetaResponseOutputItem::McpCall::Agent::OrHash
|
|
2038
2048
|
),
|
|
2039
2049
|
approval_request_id: T.nilable(String),
|
|
2040
|
-
error:
|
|
2050
|
+
error:
|
|
2051
|
+
T.nilable(
|
|
2052
|
+
T.any(
|
|
2053
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError::OrHash,
|
|
2054
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError::OrHash,
|
|
2055
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError::OrHash
|
|
2056
|
+
)
|
|
2057
|
+
),
|
|
2041
2058
|
output: T.nilable(String),
|
|
2042
2059
|
status:
|
|
2043
2060
|
OpenAI::Beta::BetaResponseOutputItem::McpCall::Status::OrSymbol,
|
|
@@ -2084,7 +2101,14 @@ module OpenAI
|
|
|
2084
2101
|
OpenAI::Beta::BetaResponseOutputItem::McpCall::Agent
|
|
2085
2102
|
),
|
|
2086
2103
|
approval_request_id: T.nilable(String),
|
|
2087
|
-
error:
|
|
2104
|
+
error:
|
|
2105
|
+
T.nilable(
|
|
2106
|
+
T.any(
|
|
2107
|
+
OpenAI::Beta::BetaMcpToolCallError::McpProtocolError,
|
|
2108
|
+
OpenAI::Beta::BetaMcpToolCallError::McpToolExecutionError,
|
|
2109
|
+
OpenAI::Beta::BetaMcpToolCallError::HTTPError
|
|
2110
|
+
)
|
|
2111
|
+
),
|
|
2088
2112
|
output: T.nilable(String),
|
|
2089
2113
|
status:
|
|
2090
2114
|
OpenAI::Beta::BetaResponseOutputItem::McpCall::Status::TaggedSymbol
|
|
@@ -14,7 +14,10 @@ module OpenAI
|
|
|
14
14
|
)
|
|
15
15
|
end
|
|
16
16
|
|
|
17
|
-
# The output item that was added.
|
|
17
|
+
# The output item that was added. For reasoning items, `encrypted_content` may be
|
|
18
|
+
# incomplete while the item is in progress. Use the reasoning item from the
|
|
19
|
+
# corresponding `response.output_item.done` event when passing it as input to a
|
|
20
|
+
# subsequent request.
|
|
18
21
|
sig { returns(OpenAI::Beta::BetaResponseOutputItem::Variants) }
|
|
19
22
|
attr_accessor :item
|
|
20
23
|
|
|
@@ -95,7 +98,10 @@ module OpenAI
|
|
|
95
98
|
).returns(T.attached_class)
|
|
96
99
|
end
|
|
97
100
|
def self.new(
|
|
98
|
-
# The output item that was added.
|
|
101
|
+
# The output item that was added. For reasoning items, `encrypted_content` may be
|
|
102
|
+
# incomplete while the item is in progress. Use the reasoning item from the
|
|
103
|
+
# corresponding `response.output_item.done` event when passing it as input to a
|
|
104
|
+
# subsequent request.
|
|
99
105
|
item:,
|
|
100
106
|
# The index of the output item that was added.
|
|
101
107
|
output_index:,
|