openai 0.79.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 +19 -0
- data/README.md +1 -1
- data/bedrock.md +67 -2
- data/lib/openai/models/all_models.rb +2 -0
- data/lib/openai/models/beta/beta_mcp_tool_call_error.rb +84 -0
- data/lib/openai/models/beta/beta_response.rb +18 -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_responses_client_event.rb +18 -0
- data/lib/openai/models/beta/beta_responses_server_event.rb +126 -22
- data/lib/openai/models/beta/beta_web_search_tool.rb +11 -1
- data/lib/openai/models/beta/response_compact_params.rb +9 -0
- data/lib/openai/models/beta/response_create_params.rb +18 -0
- data/lib/openai/models/chat_model.rb +1 -0
- data/lib/openai/models/completion_usage.rb +26 -2
- data/lib/openai/models/conversations/conversation_item.rb +3 -3
- 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 +9 -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/responses_client_event.rb +9 -0
- data/lib/openai/models/responses/responses_server_event.rb +100 -22
- data/lib/openai/models/responses/web_search_tool.rb +11 -1
- data/lib/openai/models/responses_model.rb +2 -0
- data/lib/openai/providers/bedrock.rb +127 -16
- data/lib/openai/resources/files.rb +1 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +4 -2
- data/rbi/openai/models/all_models.rbi +10 -0
- data/rbi/openai/models/beta/beta_mcp_tool_call_error.rbi +122 -0
- data/rbi/openai/models/beta/beta_response.rbi +32 -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_responses_client_event.rbi +32 -0
- data/rbi/openai/models/beta/beta_responses_server_event.rbi +221 -67
- data/rbi/openai/models/beta/beta_web_search_tool.rbi +15 -0
- data/rbi/openai/models/beta/response_compact_params.rbi +15 -0
- data/rbi/openai/models/beta/response_create_params.rbi +32 -0
- data/rbi/openai/models/chat_model.rbi +2 -0
- data/rbi/openai/models/completion_usage.rbi +39 -6
- data/rbi/openai/models/conversations/conversation_item.rbi +12 -3
- 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 +15 -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/responses_client_event.rbi +17 -0
- data/rbi/openai/models/responses/responses_server_event.rbi +165 -62
- data/rbi/openai/models/responses/web_search_tool.rbi +15 -0
- data/rbi/openai/models/responses_model.rbi +10 -0
- data/rbi/openai/providers.rbi +2 -0
- data/rbi/openai/resources/beta/responses.rbi +8 -0
- data/rbi/openai/resources/files.rbi +1 -1
- data/rbi/openai/resources/responses.rbi +8 -0
- data/sig/openai/models/all_models.rbs +4 -0
- data/sig/openai/models/beta/beta_mcp_tool_call_error.rbs +75 -0
- data/sig/openai/models/beta/beta_response.rbs +8 -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 +8 -1
- data/sig/openai/models/beta/beta_responses_server_event.rbs +99 -39
- data/sig/openai/models/beta/beta_web_search_tool.rbs +7 -0
- data/sig/openai/models/beta/response_compact_params.rbs +6 -0
- data/sig/openai/models/beta/response_create_params.rbs +8 -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 +6 -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 +2 -1
- data/sig/openai/models/responses/responses_server_event.rbs +84 -36
- data/sig/openai/models/responses/web_search_tool.rbs +7 -0
- data/sig/openai/models/responses_model.rbs +4 -0
- data/sig/openai/providers.rbs +1 -0
- metadata +7 -1
|
@@ -12,6 +12,7 @@ module OpenAI
|
|
|
12
12
|
Variants =
|
|
13
13
|
T.type_alias do
|
|
14
14
|
T.any(
|
|
15
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError,
|
|
15
16
|
OpenAI::Beta::BetaResponseInjectCreatedEvent,
|
|
16
17
|
OpenAI::Beta::BetaResponseInjectFailedEvent,
|
|
17
18
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseAudioWsDelta,
|
|
@@ -27,7 +28,6 @@ module OpenAI
|
|
|
27
28
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsAdded,
|
|
28
29
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseContentPartWsDone,
|
|
29
30
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsCreated,
|
|
30
|
-
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError,
|
|
31
31
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallWsCompleted,
|
|
32
32
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallInWsProgress,
|
|
33
33
|
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseFileSearchCallWsSearching,
|
|
@@ -940,72 +940,6 @@ module OpenAI
|
|
|
940
940
|
end
|
|
941
941
|
end
|
|
942
942
|
|
|
943
|
-
class BetaResponseWsError < OpenAI::Models::Beta::BetaResponseErrorEvent
|
|
944
|
-
OrHash =
|
|
945
|
-
T.type_alias do
|
|
946
|
-
T.any(
|
|
947
|
-
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError,
|
|
948
|
-
OpenAI::Internal::AnyHash
|
|
949
|
-
)
|
|
950
|
-
end
|
|
951
|
-
|
|
952
|
-
# The WebSocket lane that emitted this event. This field is present when the
|
|
953
|
-
# originating `response.create` event supplied a `stream_id`.
|
|
954
|
-
sig { returns(T.nilable(String)) }
|
|
955
|
-
attr_reader :stream_id
|
|
956
|
-
|
|
957
|
-
sig { params(stream_id: String).void }
|
|
958
|
-
attr_writer :stream_id
|
|
959
|
-
|
|
960
|
-
# Emitted when an error occurs.
|
|
961
|
-
sig do
|
|
962
|
-
params(
|
|
963
|
-
code: T.nilable(String),
|
|
964
|
-
message: String,
|
|
965
|
-
param: T.nilable(String),
|
|
966
|
-
sequence_number: Integer,
|
|
967
|
-
agent:
|
|
968
|
-
T.nilable(OpenAI::Beta::BetaResponseErrorEvent::Agent::OrHash),
|
|
969
|
-
type: Symbol,
|
|
970
|
-
stream_id: String
|
|
971
|
-
).returns(T.attached_class)
|
|
972
|
-
end
|
|
973
|
-
def self.new(
|
|
974
|
-
# The error code.
|
|
975
|
-
code:,
|
|
976
|
-
# The error message.
|
|
977
|
-
message:,
|
|
978
|
-
# The error parameter.
|
|
979
|
-
param:,
|
|
980
|
-
# The sequence number of this event.
|
|
981
|
-
sequence_number:,
|
|
982
|
-
# The agent that owns this multi-agent streaming event.
|
|
983
|
-
agent: nil,
|
|
984
|
-
# The type of the event. Always `error`.
|
|
985
|
-
type: :error,
|
|
986
|
-
# The WebSocket lane that emitted this event.
|
|
987
|
-
# This field is present when the originating response.create supplied a stream_id.
|
|
988
|
-
stream_id: nil
|
|
989
|
-
)
|
|
990
|
-
end
|
|
991
|
-
|
|
992
|
-
sig do
|
|
993
|
-
override.returns(
|
|
994
|
-
{
|
|
995
|
-
code: T.nilable(String),
|
|
996
|
-
message: String,
|
|
997
|
-
param: T.nilable(String),
|
|
998
|
-
sequence_number: Integer,
|
|
999
|
-
type: Symbol,
|
|
1000
|
-
agent: T.nilable(OpenAI::Beta::BetaResponseErrorEvent::Agent),
|
|
1001
|
-
stream_id: String
|
|
1002
|
-
}
|
|
1003
|
-
)
|
|
1004
|
-
end
|
|
1005
|
-
def to_hash
|
|
1006
|
-
end
|
|
1007
|
-
end
|
|
1008
|
-
|
|
1009
943
|
class BetaResponseFileSearchCallWsCompleted < OpenAI::Models::Beta::BetaResponseFileSearchCallCompletedEvent
|
|
1010
944
|
OrHash =
|
|
1011
945
|
T.type_alias do
|
|
@@ -3807,6 +3741,226 @@ module OpenAI
|
|
|
3807
3741
|
end
|
|
3808
3742
|
end
|
|
3809
3743
|
|
|
3744
|
+
class BetaResponseWsError < OpenAI::Internal::Type::BaseModel
|
|
3745
|
+
OrHash =
|
|
3746
|
+
T.type_alias do
|
|
3747
|
+
T.any(
|
|
3748
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError,
|
|
3749
|
+
OpenAI::Internal::AnyHash
|
|
3750
|
+
)
|
|
3751
|
+
end
|
|
3752
|
+
|
|
3753
|
+
# Details about the error.
|
|
3754
|
+
sig do
|
|
3755
|
+
returns(
|
|
3756
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error
|
|
3757
|
+
)
|
|
3758
|
+
end
|
|
3759
|
+
attr_reader :error
|
|
3760
|
+
|
|
3761
|
+
sig do
|
|
3762
|
+
params(
|
|
3763
|
+
error:
|
|
3764
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::OrHash
|
|
3765
|
+
).void
|
|
3766
|
+
end
|
|
3767
|
+
attr_writer :error
|
|
3768
|
+
|
|
3769
|
+
# The type of the event. Always `error`.
|
|
3770
|
+
sig { returns(Symbol) }
|
|
3771
|
+
attr_accessor :type
|
|
3772
|
+
|
|
3773
|
+
# The agent that owns this multi-agent streaming event.
|
|
3774
|
+
sig do
|
|
3775
|
+
returns(
|
|
3776
|
+
T.nilable(
|
|
3777
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent
|
|
3778
|
+
)
|
|
3779
|
+
)
|
|
3780
|
+
end
|
|
3781
|
+
attr_reader :agent
|
|
3782
|
+
|
|
3783
|
+
sig do
|
|
3784
|
+
params(
|
|
3785
|
+
agent:
|
|
3786
|
+
T.nilable(
|
|
3787
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent::OrHash
|
|
3788
|
+
)
|
|
3789
|
+
).void
|
|
3790
|
+
end
|
|
3791
|
+
attr_writer :agent
|
|
3792
|
+
|
|
3793
|
+
# The sequence number of an error emitted by the response stream.
|
|
3794
|
+
sig { returns(T.nilable(Integer)) }
|
|
3795
|
+
attr_reader :sequence_number
|
|
3796
|
+
|
|
3797
|
+
sig { params(sequence_number: Integer).void }
|
|
3798
|
+
attr_writer :sequence_number
|
|
3799
|
+
|
|
3800
|
+
# The HTTP status code associated with a WebSocket protocol error.
|
|
3801
|
+
sig { returns(T.nilable(Integer)) }
|
|
3802
|
+
attr_reader :status
|
|
3803
|
+
|
|
3804
|
+
sig { params(status: Integer).void }
|
|
3805
|
+
attr_writer :status
|
|
3806
|
+
|
|
3807
|
+
# The WebSocket lane that emitted this event. This field is present when the
|
|
3808
|
+
# originating `response.create` event supplied a `stream_id`.
|
|
3809
|
+
sig { returns(T.nilable(String)) }
|
|
3810
|
+
attr_reader :stream_id
|
|
3811
|
+
|
|
3812
|
+
sig { params(stream_id: String).void }
|
|
3813
|
+
attr_writer :stream_id
|
|
3814
|
+
|
|
3815
|
+
# Emitted when an error occurs while processing a Responses WebSocket request.
|
|
3816
|
+
sig do
|
|
3817
|
+
params(
|
|
3818
|
+
error:
|
|
3819
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error::OrHash,
|
|
3820
|
+
agent:
|
|
3821
|
+
T.nilable(
|
|
3822
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent::OrHash
|
|
3823
|
+
),
|
|
3824
|
+
sequence_number: Integer,
|
|
3825
|
+
status: Integer,
|
|
3826
|
+
stream_id: String,
|
|
3827
|
+
type: Symbol
|
|
3828
|
+
).returns(T.attached_class)
|
|
3829
|
+
end
|
|
3830
|
+
def self.new(
|
|
3831
|
+
# Details about the error.
|
|
3832
|
+
error:,
|
|
3833
|
+
# The agent that owns this multi-agent streaming event.
|
|
3834
|
+
agent: nil,
|
|
3835
|
+
# The sequence number of an error emitted by the response stream.
|
|
3836
|
+
sequence_number: nil,
|
|
3837
|
+
# The HTTP status code associated with a WebSocket protocol error.
|
|
3838
|
+
status: nil,
|
|
3839
|
+
# The WebSocket lane that emitted this event. This field is present when the
|
|
3840
|
+
# originating `response.create` event supplied a `stream_id`.
|
|
3841
|
+
stream_id: nil,
|
|
3842
|
+
# The type of the event. Always `error`.
|
|
3843
|
+
type: :error
|
|
3844
|
+
)
|
|
3845
|
+
end
|
|
3846
|
+
|
|
3847
|
+
sig do
|
|
3848
|
+
override.returns(
|
|
3849
|
+
{
|
|
3850
|
+
error:
|
|
3851
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error,
|
|
3852
|
+
type: Symbol,
|
|
3853
|
+
agent:
|
|
3854
|
+
T.nilable(
|
|
3855
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent
|
|
3856
|
+
),
|
|
3857
|
+
sequence_number: Integer,
|
|
3858
|
+
status: Integer,
|
|
3859
|
+
stream_id: String
|
|
3860
|
+
}
|
|
3861
|
+
)
|
|
3862
|
+
end
|
|
3863
|
+
def to_hash
|
|
3864
|
+
end
|
|
3865
|
+
|
|
3866
|
+
class Error < OpenAI::Internal::Type::BaseModel
|
|
3867
|
+
OrHash =
|
|
3868
|
+
T.type_alias do
|
|
3869
|
+
T.any(
|
|
3870
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Error,
|
|
3871
|
+
OpenAI::Internal::AnyHash
|
|
3872
|
+
)
|
|
3873
|
+
end
|
|
3874
|
+
|
|
3875
|
+
# The error code that was emitted, if any.
|
|
3876
|
+
sig { returns(T.nilable(String)) }
|
|
3877
|
+
attr_accessor :code
|
|
3878
|
+
|
|
3879
|
+
# The human-readable error message that was emitted.
|
|
3880
|
+
sig { returns(String) }
|
|
3881
|
+
attr_accessor :message
|
|
3882
|
+
|
|
3883
|
+
# The parameter name that was associated with the error, if any.
|
|
3884
|
+
sig { returns(T.nilable(String)) }
|
|
3885
|
+
attr_accessor :param
|
|
3886
|
+
|
|
3887
|
+
# The error type that was emitted.
|
|
3888
|
+
sig { returns(String) }
|
|
3889
|
+
attr_accessor :type
|
|
3890
|
+
|
|
3891
|
+
# The response headers that were emitted with the error, if any.
|
|
3892
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
3893
|
+
attr_reader :headers
|
|
3894
|
+
|
|
3895
|
+
sig { params(headers: T::Hash[Symbol, String]).void }
|
|
3896
|
+
attr_writer :headers
|
|
3897
|
+
|
|
3898
|
+
# Details about the error.
|
|
3899
|
+
sig do
|
|
3900
|
+
params(
|
|
3901
|
+
code: T.nilable(String),
|
|
3902
|
+
message: String,
|
|
3903
|
+
param: T.nilable(String),
|
|
3904
|
+
type: String,
|
|
3905
|
+
headers: T::Hash[Symbol, String]
|
|
3906
|
+
).returns(T.attached_class)
|
|
3907
|
+
end
|
|
3908
|
+
def self.new(
|
|
3909
|
+
# The error code that was emitted, if any.
|
|
3910
|
+
code:,
|
|
3911
|
+
# The human-readable error message that was emitted.
|
|
3912
|
+
message:,
|
|
3913
|
+
# The parameter name that was associated with the error, if any.
|
|
3914
|
+
param:,
|
|
3915
|
+
# The error type that was emitted.
|
|
3916
|
+
type:,
|
|
3917
|
+
# The response headers that were emitted with the error, if any.
|
|
3918
|
+
headers: nil
|
|
3919
|
+
)
|
|
3920
|
+
end
|
|
3921
|
+
|
|
3922
|
+
sig do
|
|
3923
|
+
override.returns(
|
|
3924
|
+
{
|
|
3925
|
+
code: T.nilable(String),
|
|
3926
|
+
message: String,
|
|
3927
|
+
param: T.nilable(String),
|
|
3928
|
+
type: String,
|
|
3929
|
+
headers: T::Hash[Symbol, String]
|
|
3930
|
+
}
|
|
3931
|
+
)
|
|
3932
|
+
end
|
|
3933
|
+
def to_hash
|
|
3934
|
+
end
|
|
3935
|
+
end
|
|
3936
|
+
|
|
3937
|
+
class Agent < OpenAI::Internal::Type::BaseModel
|
|
3938
|
+
OrHash =
|
|
3939
|
+
T.type_alias do
|
|
3940
|
+
T.any(
|
|
3941
|
+
OpenAI::Beta::BetaResponsesServerEvent::BetaResponseWsError::Agent,
|
|
3942
|
+
OpenAI::Internal::AnyHash
|
|
3943
|
+
)
|
|
3944
|
+
end
|
|
3945
|
+
|
|
3946
|
+
# The canonical name of the agent that produced this item.
|
|
3947
|
+
sig { returns(String) }
|
|
3948
|
+
attr_accessor :agent_name
|
|
3949
|
+
|
|
3950
|
+
# The agent that owns this multi-agent streaming event.
|
|
3951
|
+
sig { params(agent_name: String).returns(T.attached_class) }
|
|
3952
|
+
def self.new(
|
|
3953
|
+
# The canonical name of the agent that produced this item.
|
|
3954
|
+
agent_name:
|
|
3955
|
+
)
|
|
3956
|
+
end
|
|
3957
|
+
|
|
3958
|
+
sig { override.returns({ agent_name: String }) }
|
|
3959
|
+
def to_hash
|
|
3960
|
+
end
|
|
3961
|
+
end
|
|
3962
|
+
end
|
|
3963
|
+
|
|
3810
3964
|
sig do
|
|
3811
3965
|
override.returns(
|
|
3812
3966
|
T::Array[OpenAI::Beta::BetaResponsesServerEvent::Variants]
|
|
@@ -15,6 +15,15 @@ module OpenAI
|
|
|
15
15
|
sig { returns(OpenAI::Beta::BetaWebSearchTool::Type::OrSymbol) }
|
|
16
16
|
attr_accessor :type
|
|
17
17
|
|
|
18
|
+
# Allow live internet access for web search. Defaults to true when omitted. When
|
|
19
|
+
# false, the web search tool runs in offline/cache-only mode and will not fetch
|
|
20
|
+
# new external content.
|
|
21
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
22
|
+
attr_reader :external_web_access
|
|
23
|
+
|
|
24
|
+
sig { params(external_web_access: T::Boolean).void }
|
|
25
|
+
attr_writer :external_web_access
|
|
26
|
+
|
|
18
27
|
# Filters for the search.
|
|
19
28
|
sig { returns(T.nilable(OpenAI::Beta::BetaWebSearchTool::Filters)) }
|
|
20
29
|
attr_reader :filters
|
|
@@ -64,6 +73,7 @@ module OpenAI
|
|
|
64
73
|
sig do
|
|
65
74
|
params(
|
|
66
75
|
type: OpenAI::Beta::BetaWebSearchTool::Type::OrSymbol,
|
|
76
|
+
external_web_access: T::Boolean,
|
|
67
77
|
filters:
|
|
68
78
|
T.nilable(OpenAI::Beta::BetaWebSearchTool::Filters::OrHash),
|
|
69
79
|
search_context_size:
|
|
@@ -75,6 +85,10 @@ module OpenAI
|
|
|
75
85
|
def self.new(
|
|
76
86
|
# The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
|
|
77
87
|
type:,
|
|
88
|
+
# Allow live internet access for web search. Defaults to true when omitted. When
|
|
89
|
+
# false, the web search tool runs in offline/cache-only mode and will not fetch
|
|
90
|
+
# new external content.
|
|
91
|
+
external_web_access: nil,
|
|
78
92
|
# Filters for the search.
|
|
79
93
|
filters: nil,
|
|
80
94
|
# High level guidance for the amount of context window space to use for the
|
|
@@ -89,6 +103,7 @@ module OpenAI
|
|
|
89
103
|
override.returns(
|
|
90
104
|
{
|
|
91
105
|
type: OpenAI::Beta::BetaWebSearchTool::Type::OrSymbol,
|
|
106
|
+
external_web_access: T::Boolean,
|
|
92
107
|
filters: T.nilable(OpenAI::Beta::BetaWebSearchTool::Filters),
|
|
93
108
|
search_context_size:
|
|
94
109
|
OpenAI::Beta::BetaWebSearchTool::SearchContextSize::OrSymbol,
|
|
@@ -305,6 +305,11 @@ module OpenAI
|
|
|
305
305
|
:"gpt-5.5",
|
|
306
306
|
OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol
|
|
307
307
|
)
|
|
308
|
+
GPT_5_5_2026_04_23 =
|
|
309
|
+
T.let(
|
|
310
|
+
:"gpt-5.5-2026-04-23",
|
|
311
|
+
OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol
|
|
312
|
+
)
|
|
308
313
|
GPT_5_4 =
|
|
309
314
|
T.let(
|
|
310
315
|
:"gpt-5.4",
|
|
@@ -739,6 +744,16 @@ module OpenAI
|
|
|
739
744
|
:"computer-use-preview-2025-03-11",
|
|
740
745
|
OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol
|
|
741
746
|
)
|
|
747
|
+
GPT_5_5_PRO =
|
|
748
|
+
T.let(
|
|
749
|
+
:"gpt-5.5-pro",
|
|
750
|
+
OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol
|
|
751
|
+
)
|
|
752
|
+
GPT_5_5_PRO_2026_04_23 =
|
|
753
|
+
T.let(
|
|
754
|
+
:"gpt-5.5-pro-2026-04-23",
|
|
755
|
+
OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol
|
|
756
|
+
)
|
|
742
757
|
GPT_5_CODEX =
|
|
743
758
|
T.let(
|
|
744
759
|
:"gpt-5-codex",
|
|
@@ -287,6 +287,10 @@ module OpenAI
|
|
|
287
287
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
288
288
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
289
289
|
# request.
|
|
290
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
291
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
292
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
293
|
+
# `service_tier=ultrafast`.
|
|
290
294
|
# - When not set, the default behavior is 'auto'.
|
|
291
295
|
#
|
|
292
296
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -749,6 +753,10 @@ module OpenAI
|
|
|
749
753
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
750
754
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
751
755
|
# request.
|
|
756
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
757
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
758
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
759
|
+
# `service_tier=ultrafast`.
|
|
752
760
|
# - When not set, the default behavior is 'auto'.
|
|
753
761
|
#
|
|
754
762
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -1068,6 +1076,11 @@ module OpenAI
|
|
|
1068
1076
|
:"gpt-5.5",
|
|
1069
1077
|
OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol
|
|
1070
1078
|
)
|
|
1079
|
+
GPT_5_5_2026_04_23 =
|
|
1080
|
+
T.let(
|
|
1081
|
+
:"gpt-5.5-2026-04-23",
|
|
1082
|
+
OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol
|
|
1083
|
+
)
|
|
1071
1084
|
GPT_5_4 =
|
|
1072
1085
|
T.let(
|
|
1073
1086
|
:"gpt-5.4",
|
|
@@ -1502,6 +1515,16 @@ module OpenAI
|
|
|
1502
1515
|
:"computer-use-preview-2025-03-11",
|
|
1503
1516
|
OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol
|
|
1504
1517
|
)
|
|
1518
|
+
GPT_5_5_PRO =
|
|
1519
|
+
T.let(
|
|
1520
|
+
:"gpt-5.5-pro",
|
|
1521
|
+
OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol
|
|
1522
|
+
)
|
|
1523
|
+
GPT_5_5_PRO_2026_04_23 =
|
|
1524
|
+
T.let(
|
|
1525
|
+
:"gpt-5.5-pro-2026-04-23",
|
|
1526
|
+
OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol
|
|
1527
|
+
)
|
|
1505
1528
|
GPT_5_CODEX =
|
|
1506
1529
|
T.let(
|
|
1507
1530
|
:"gpt-5-codex",
|
|
@@ -2559,6 +2582,10 @@ module OpenAI
|
|
|
2559
2582
|
# Responses or Chat Completions. The response will show `service_tier=priority`
|
|
2560
2583
|
# regardless of if you specify `service_tier=fast` or `priority` in your
|
|
2561
2584
|
# request.
|
|
2585
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
2586
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
2587
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
2588
|
+
# `service_tier=ultrafast`.
|
|
2562
2589
|
# - When not set, the default behavior is 'auto'.
|
|
2563
2590
|
#
|
|
2564
2591
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -2604,6 +2631,11 @@ module OpenAI
|
|
|
2604
2631
|
:fast,
|
|
2605
2632
|
OpenAI::Beta::ResponseCreateParams::ServiceTier::TaggedSymbol
|
|
2606
2633
|
)
|
|
2634
|
+
ULTRAFAST =
|
|
2635
|
+
T.let(
|
|
2636
|
+
:ultrafast,
|
|
2637
|
+
OpenAI::Beta::ResponseCreateParams::ServiceTier::TaggedSymbol
|
|
2638
|
+
)
|
|
2607
2639
|
|
|
2608
2640
|
sig do
|
|
2609
2641
|
override.returns(
|
|
@@ -12,6 +12,8 @@ module OpenAI
|
|
|
12
12
|
GPT_5_6_TERRA = T.let(:"gpt-5.6-terra", OpenAI::ChatModel::TaggedSymbol)
|
|
13
13
|
GPT_5_6_LUNA = T.let(:"gpt-5.6-luna", OpenAI::ChatModel::TaggedSymbol)
|
|
14
14
|
GPT_5_5 = T.let(:"gpt-5.5", OpenAI::ChatModel::TaggedSymbol)
|
|
15
|
+
GPT_5_5_2026_04_23 =
|
|
16
|
+
T.let(:"gpt-5.5-2026-04-23", OpenAI::ChatModel::TaggedSymbol)
|
|
15
17
|
GPT_5_4 = T.let(:"gpt-5.4", OpenAI::ChatModel::TaggedSymbol)
|
|
16
18
|
GPT_5_4_MINI = T.let(:"gpt-5.4-mini", OpenAI::ChatModel::TaggedSymbol)
|
|
17
19
|
GPT_5_4_NANO = T.let(:"gpt-5.4-nano", OpenAI::ChatModel::TaggedSymbol)
|
|
@@ -128,13 +128,21 @@ module OpenAI
|
|
|
128
128
|
sig { params(rejected_prediction_tokens: Integer).void }
|
|
129
129
|
attr_writer :rejected_prediction_tokens
|
|
130
130
|
|
|
131
|
+
# Text output tokens generated by the model.
|
|
132
|
+
sig { returns(T.nilable(Integer)) }
|
|
133
|
+
attr_reader :text_tokens
|
|
134
|
+
|
|
135
|
+
sig { params(text_tokens: Integer).void }
|
|
136
|
+
attr_writer :text_tokens
|
|
137
|
+
|
|
131
138
|
# Breakdown of tokens used in a completion.
|
|
132
139
|
sig do
|
|
133
140
|
params(
|
|
134
141
|
accepted_prediction_tokens: Integer,
|
|
135
142
|
audio_tokens: Integer,
|
|
136
143
|
reasoning_tokens: Integer,
|
|
137
|
-
rejected_prediction_tokens: Integer
|
|
144
|
+
rejected_prediction_tokens: Integer,
|
|
145
|
+
text_tokens: Integer
|
|
138
146
|
).returns(T.attached_class)
|
|
139
147
|
end
|
|
140
148
|
def self.new(
|
|
@@ -149,7 +157,9 @@ module OpenAI
|
|
|
149
157
|
# not appear in the completion. However, like reasoning tokens, these tokens are
|
|
150
158
|
# still counted in the total completion tokens for purposes of billing, output,
|
|
151
159
|
# and context window limits.
|
|
152
|
-
rejected_prediction_tokens: nil
|
|
160
|
+
rejected_prediction_tokens: nil,
|
|
161
|
+
# Text output tokens generated by the model.
|
|
162
|
+
text_tokens: nil
|
|
153
163
|
)
|
|
154
164
|
end
|
|
155
165
|
|
|
@@ -159,7 +169,8 @@ module OpenAI
|
|
|
159
169
|
accepted_prediction_tokens: Integer,
|
|
160
170
|
audio_tokens: Integer,
|
|
161
171
|
reasoning_tokens: Integer,
|
|
162
|
-
rejected_prediction_tokens: Integer
|
|
172
|
+
rejected_prediction_tokens: Integer,
|
|
173
|
+
text_tokens: Integer
|
|
163
174
|
}
|
|
164
175
|
)
|
|
165
176
|
end
|
|
@@ -197,12 +208,28 @@ module OpenAI
|
|
|
197
208
|
sig { params(cached_tokens: Integer).void }
|
|
198
209
|
attr_writer :cached_tokens
|
|
199
210
|
|
|
211
|
+
# Image input tokens present in the prompt.
|
|
212
|
+
sig { returns(T.nilable(Integer)) }
|
|
213
|
+
attr_reader :image_tokens
|
|
214
|
+
|
|
215
|
+
sig { params(image_tokens: Integer).void }
|
|
216
|
+
attr_writer :image_tokens
|
|
217
|
+
|
|
218
|
+
# Text input tokens present in the prompt.
|
|
219
|
+
sig { returns(T.nilable(Integer)) }
|
|
220
|
+
attr_reader :text_tokens
|
|
221
|
+
|
|
222
|
+
sig { params(text_tokens: Integer).void }
|
|
223
|
+
attr_writer :text_tokens
|
|
224
|
+
|
|
200
225
|
# Breakdown of tokens used in the prompt.
|
|
201
226
|
sig do
|
|
202
227
|
params(
|
|
203
228
|
audio_tokens: Integer,
|
|
204
229
|
cache_write_tokens: Integer,
|
|
205
|
-
cached_tokens: Integer
|
|
230
|
+
cached_tokens: Integer,
|
|
231
|
+
image_tokens: Integer,
|
|
232
|
+
text_tokens: Integer
|
|
206
233
|
).returns(T.attached_class)
|
|
207
234
|
end
|
|
208
235
|
def self.new(
|
|
@@ -211,7 +238,11 @@ module OpenAI
|
|
|
211
238
|
# The unadjusted number of prompt tokens written to cache.
|
|
212
239
|
cache_write_tokens: nil,
|
|
213
240
|
# Cached tokens present in the prompt.
|
|
214
|
-
cached_tokens: nil
|
|
241
|
+
cached_tokens: nil,
|
|
242
|
+
# Image input tokens present in the prompt.
|
|
243
|
+
image_tokens: nil,
|
|
244
|
+
# Text input tokens present in the prompt.
|
|
245
|
+
text_tokens: nil
|
|
215
246
|
)
|
|
216
247
|
end
|
|
217
248
|
|
|
@@ -220,7 +251,9 @@ module OpenAI
|
|
|
220
251
|
{
|
|
221
252
|
audio_tokens: Integer,
|
|
222
253
|
cache_write_tokens: Integer,
|
|
223
|
-
cached_tokens: Integer
|
|
254
|
+
cached_tokens: Integer,
|
|
255
|
+
image_tokens: Integer,
|
|
256
|
+
text_tokens: Integer
|
|
224
257
|
}
|
|
225
258
|
)
|
|
226
259
|
end
|
|
@@ -1109,7 +1109,9 @@ module OpenAI
|
|
|
1109
1109
|
attr_accessor :approval_request_id
|
|
1110
1110
|
|
|
1111
1111
|
# The error from the tool call, if any.
|
|
1112
|
-
sig
|
|
1112
|
+
sig do
|
|
1113
|
+
returns(T.nilable(OpenAI::Responses::McpToolCallError::Variants))
|
|
1114
|
+
end
|
|
1113
1115
|
attr_accessor :error
|
|
1114
1116
|
|
|
1115
1117
|
# The output from the tool call.
|
|
@@ -1143,7 +1145,14 @@ module OpenAI
|
|
|
1143
1145
|
name: String,
|
|
1144
1146
|
server_label: String,
|
|
1145
1147
|
approval_request_id: T.nilable(String),
|
|
1146
|
-
error:
|
|
1148
|
+
error:
|
|
1149
|
+
T.nilable(
|
|
1150
|
+
T.any(
|
|
1151
|
+
OpenAI::Responses::McpToolCallError::McpProtocolError::OrHash,
|
|
1152
|
+
OpenAI::Responses::McpToolCallError::McpToolExecutionError::OrHash,
|
|
1153
|
+
OpenAI::Responses::McpToolCallError::HTTPError::OrHash
|
|
1154
|
+
)
|
|
1155
|
+
),
|
|
1147
1156
|
output: T.nilable(String),
|
|
1148
1157
|
status:
|
|
1149
1158
|
OpenAI::Conversations::ConversationItem::McpCall::Status::OrSymbol,
|
|
@@ -1184,7 +1193,7 @@ module OpenAI
|
|
|
1184
1193
|
server_label: String,
|
|
1185
1194
|
type: Symbol,
|
|
1186
1195
|
approval_request_id: T.nilable(String),
|
|
1187
|
-
error: T.nilable(
|
|
1196
|
+
error: T.nilable(OpenAI::Responses::McpToolCallError::Variants),
|
|
1188
1197
|
output: T.nilable(String),
|
|
1189
1198
|
status:
|
|
1190
1199
|
OpenAI::Conversations::ConversationItem::McpCall::Status::TaggedSymbol
|
data/rbi/openai/models/model.rbi
CHANGED
|
@@ -21,12 +21,17 @@ module OpenAI
|
|
|
21
21
|
sig { returns(String) }
|
|
22
22
|
attr_accessor :owned_by
|
|
23
23
|
|
|
24
|
+
# The date when the model will shut down, or null if not announced.
|
|
25
|
+
sig { returns(T.nilable(Date)) }
|
|
26
|
+
attr_accessor :shutdown_date
|
|
27
|
+
|
|
24
28
|
# Describes an OpenAI model offering that can be used with the API.
|
|
25
29
|
sig do
|
|
26
30
|
params(
|
|
27
31
|
id: String,
|
|
28
32
|
created: Integer,
|
|
29
33
|
owned_by: String,
|
|
34
|
+
shutdown_date: T.nilable(Date),
|
|
30
35
|
object: Symbol
|
|
31
36
|
).returns(T.attached_class)
|
|
32
37
|
end
|
|
@@ -37,6 +42,8 @@ module OpenAI
|
|
|
37
42
|
created:,
|
|
38
43
|
# The organization that owns the model.
|
|
39
44
|
owned_by:,
|
|
45
|
+
# The date when the model will shut down, or null if not announced.
|
|
46
|
+
shutdown_date: nil,
|
|
40
47
|
# The object type, which is always "model".
|
|
41
48
|
object: :model
|
|
42
49
|
)
|
|
@@ -44,7 +51,13 @@ module OpenAI
|
|
|
44
51
|
|
|
45
52
|
sig do
|
|
46
53
|
override.returns(
|
|
47
|
-
{
|
|
54
|
+
{
|
|
55
|
+
id: String,
|
|
56
|
+
created: Integer,
|
|
57
|
+
object: Symbol,
|
|
58
|
+
owned_by: String,
|
|
59
|
+
shutdown_date: T.nilable(Date)
|
|
60
|
+
}
|
|
48
61
|
)
|
|
49
62
|
end
|
|
50
63
|
def to_hash
|