openai 0.64.0 → 0.66.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 +16 -0
- data/README.md +1 -1
- data/lib/openai/models/admin/organization/audit_log_list_params.rb +6 -0
- data/lib/openai/models/admin/organization/audit_log_list_response.rb +231 -1
- data/lib/openai/models/chat/chat_completion.rb +341 -3
- data/lib/openai/models/chat/chat_completion_chunk.rb +341 -1
- data/lib/openai/models/chat/completion_create_params.rb +42 -1
- data/lib/openai/models/conversations/conversation_create_params.rb +2 -2
- data/lib/openai/models/conversations/conversation_item.rb +57 -1
- data/lib/openai/models/conversations/conversation_item_list.rb +2 -2
- data/lib/openai/models/conversations/item_create_params.rb +2 -2
- data/lib/openai/models/responses/compacted_response.rb +2 -2
- data/lib/openai/models/responses/input_token_count_params.rb +41 -4
- data/lib/openai/models/responses/response.rb +296 -6
- data/lib/openai/models/responses/response_compact_params.rb +3 -3
- data/lib/openai/models/responses/response_create_params.rb +45 -4
- data/lib/openai/models/responses/response_function_web_search.rb +11 -9
- data/lib/openai/models/responses/response_input_item.rb +38 -1
- data/lib/openai/models/responses/response_item.rb +57 -1
- data/lib/openai/models/responses/response_item_list.rb +2 -2
- data/lib/openai/models/responses/response_output_item.rb +57 -1
- data/lib/openai/models/responses/response_output_item_added_event.rb +2 -2
- data/lib/openai/models/responses/response_output_item_done_event.rb +2 -2
- data/lib/openai/models/responses/responses_client_event.rb +46 -4
- data/lib/openai/resources/chat/completions.rb +6 -2
- data/lib/openai/resources/conversations/items.rb +3 -3
- data/lib/openai/resources/conversations.rb +1 -1
- data/lib/openai/resources/responses/input_items.rb +1 -1
- data/lib/openai/resources/responses/input_tokens.rb +4 -2
- data/lib/openai/resources/responses.rb +9 -5
- data/lib/openai/version.rb +1 -1
- data/rbi/openai/models/admin/organization/audit_log_list_params.rbi +30 -0
- data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +489 -3
- data/rbi/openai/models/chat/chat_completion.rbi +620 -3
- data/rbi/openai/models/chat/chat_completion_chunk.rbi +621 -0
- data/rbi/openai/models/chat/completion_create_params.rbi +76 -0
- data/rbi/openai/models/conversations/conversation_create_params.rbi +3 -0
- data/rbi/openai/models/conversations/conversation_item.rbi +150 -0
- data/rbi/openai/models/conversations/conversation_item_list.rbi +1 -0
- data/rbi/openai/models/conversations/item_create_params.rbi +3 -0
- data/rbi/openai/models/responses/compacted_response.rbi +1 -0
- data/rbi/openai/models/responses/input_token_count_params.rbi +85 -0
- data/rbi/openai/models/responses/response.rbi +510 -0
- data/rbi/openai/models/responses/response_create_params.rbi +78 -0
- data/rbi/openai/models/responses/response_function_web_search.rbi +11 -8
- data/rbi/openai/models/responses/response_input_item.rbi +120 -0
- data/rbi/openai/models/responses/response_item.rbi +150 -0
- data/rbi/openai/models/responses/response_item_list.rbi +1 -0
- data/rbi/openai/models/responses/response_output_item.rbi +150 -0
- data/rbi/openai/models/responses/response_output_item_added_event.rbi +1 -0
- data/rbi/openai/models/responses/response_output_item_done_event.rbi +1 -0
- data/rbi/openai/models/responses/responses_client_event.rbi +78 -0
- data/rbi/openai/resources/chat/completions.rbi +28 -0
- data/rbi/openai/resources/conversations/items.rbi +1 -0
- data/rbi/openai/resources/conversations.rbi +1 -0
- data/rbi/openai/resources/responses/input_tokens.rbi +9 -0
- data/rbi/openai/resources/responses.rbi +28 -0
- data/sig/openai/models/admin/organization/audit_log_list_params.rbs +12 -0
- data/sig/openai/models/admin/organization/audit_log_list_response.rbs +216 -3
- data/sig/openai/models/chat/chat_completion.rbs +243 -0
- data/sig/openai/models/chat/chat_completion_chunk.rbs +243 -0
- data/sig/openai/models/chat/completion_create_params.rbs +15 -0
- data/sig/openai/models/conversations/conversation_item.rbs +58 -0
- data/sig/openai/models/responses/input_token_count_params.rbs +20 -0
- data/sig/openai/models/responses/response.rbs +189 -0
- data/sig/openai/models/responses/response_create_params.rbs +15 -0
- data/sig/openai/models/responses/response_function_web_search.rbs +7 -5
- data/sig/openai/models/responses/response_input_item.rbs +33 -0
- data/sig/openai/models/responses/response_item.rbs +58 -0
- data/sig/openai/models/responses/response_output_item.rbs +58 -0
- data/sig/openai/models/responses/responses_client_event.rbs +15 -0
- data/sig/openai/resources/chat/completions.rbs +2 -0
- data/sig/openai/resources/responses/input_tokens.rbs +1 -0
- data/sig/openai/resources/responses.rbs +2 -0
- metadata +2 -2
|
@@ -113,10 +113,6 @@ module OpenAI
|
|
|
113
113
|
)
|
|
114
114
|
end
|
|
115
115
|
|
|
116
|
-
# [DEPRECATED] The search query.
|
|
117
|
-
sig { returns(String) }
|
|
118
|
-
attr_accessor :query
|
|
119
|
-
|
|
120
116
|
# The action type.
|
|
121
117
|
sig { returns(Symbol) }
|
|
122
118
|
attr_accessor :type
|
|
@@ -128,6 +124,13 @@ module OpenAI
|
|
|
128
124
|
sig { params(queries: T::Array[String]).void }
|
|
129
125
|
attr_writer :queries
|
|
130
126
|
|
|
127
|
+
# The search query.
|
|
128
|
+
sig { returns(T.nilable(String)) }
|
|
129
|
+
attr_reader :query
|
|
130
|
+
|
|
131
|
+
sig { params(query: String).void }
|
|
132
|
+
attr_writer :query
|
|
133
|
+
|
|
131
134
|
# The sources used in the search.
|
|
132
135
|
sig do
|
|
133
136
|
returns(
|
|
@@ -153,8 +156,8 @@ module OpenAI
|
|
|
153
156
|
# Action type "search" - Performs a web search query.
|
|
154
157
|
sig do
|
|
155
158
|
params(
|
|
156
|
-
query: String,
|
|
157
159
|
queries: T::Array[String],
|
|
160
|
+
query: String,
|
|
158
161
|
sources:
|
|
159
162
|
T::Array[
|
|
160
163
|
OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source::OrHash
|
|
@@ -163,10 +166,10 @@ module OpenAI
|
|
|
163
166
|
).returns(T.attached_class)
|
|
164
167
|
end
|
|
165
168
|
def self.new(
|
|
166
|
-
# [DEPRECATED] The search query.
|
|
167
|
-
query:,
|
|
168
169
|
# The search queries.
|
|
169
170
|
queries: nil,
|
|
171
|
+
# The search query.
|
|
172
|
+
query: nil,
|
|
170
173
|
# The sources used in the search.
|
|
171
174
|
sources: nil,
|
|
172
175
|
# The action type.
|
|
@@ -177,9 +180,9 @@ module OpenAI
|
|
|
177
180
|
sig do
|
|
178
181
|
override.returns(
|
|
179
182
|
{
|
|
180
|
-
query: String,
|
|
181
183
|
type: Symbol,
|
|
182
184
|
queries: T::Array[String],
|
|
185
|
+
query: String,
|
|
183
186
|
sources:
|
|
184
187
|
T::Array[
|
|
185
188
|
OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source
|
|
@@ -25,6 +25,7 @@ module OpenAI
|
|
|
25
25
|
OpenAI::Responses::ResponseInputItem::FunctionCallOutput,
|
|
26
26
|
OpenAI::Responses::ResponseInputItem::ToolSearchCall,
|
|
27
27
|
OpenAI::Responses::ResponseToolSearchOutputItemParam,
|
|
28
|
+
OpenAI::Responses::ResponseInputItem::AdditionalTools,
|
|
28
29
|
OpenAI::Responses::ResponseReasoningItem,
|
|
29
30
|
OpenAI::Responses::ResponseCompactionItemParam,
|
|
30
31
|
OpenAI::Responses::ResponseInputItem::ImageGenerationCall,
|
|
@@ -834,6 +835,125 @@ module OpenAI
|
|
|
834
835
|
end
|
|
835
836
|
end
|
|
836
837
|
|
|
838
|
+
class AdditionalTools < OpenAI::Internal::Type::BaseModel
|
|
839
|
+
OrHash =
|
|
840
|
+
T.type_alias do
|
|
841
|
+
T.any(
|
|
842
|
+
OpenAI::Responses::ResponseInputItem::AdditionalTools,
|
|
843
|
+
OpenAI::Internal::AnyHash
|
|
844
|
+
)
|
|
845
|
+
end
|
|
846
|
+
|
|
847
|
+
# The role that provided the additional tools. Only `developer` is supported.
|
|
848
|
+
sig { returns(Symbol) }
|
|
849
|
+
attr_accessor :role
|
|
850
|
+
|
|
851
|
+
# A list of additional tools made available at this item.
|
|
852
|
+
sig do
|
|
853
|
+
returns(
|
|
854
|
+
T::Array[
|
|
855
|
+
T.any(
|
|
856
|
+
OpenAI::Responses::FunctionTool,
|
|
857
|
+
OpenAI::Responses::FileSearchTool,
|
|
858
|
+
OpenAI::Responses::ComputerTool,
|
|
859
|
+
OpenAI::Responses::ComputerUsePreviewTool,
|
|
860
|
+
OpenAI::Responses::Tool::Mcp,
|
|
861
|
+
OpenAI::Responses::Tool::CodeInterpreter,
|
|
862
|
+
OpenAI::Responses::Tool::ImageGeneration,
|
|
863
|
+
OpenAI::Responses::Tool::LocalShell,
|
|
864
|
+
OpenAI::Responses::FunctionShellTool,
|
|
865
|
+
OpenAI::Responses::CustomTool,
|
|
866
|
+
OpenAI::Responses::NamespaceTool,
|
|
867
|
+
OpenAI::Responses::ToolSearchTool,
|
|
868
|
+
OpenAI::Responses::ApplyPatchTool,
|
|
869
|
+
OpenAI::Responses::WebSearchTool,
|
|
870
|
+
OpenAI::Responses::WebSearchPreviewTool
|
|
871
|
+
)
|
|
872
|
+
]
|
|
873
|
+
)
|
|
874
|
+
end
|
|
875
|
+
attr_accessor :tools
|
|
876
|
+
|
|
877
|
+
# The item type. Always `additional_tools`.
|
|
878
|
+
sig { returns(Symbol) }
|
|
879
|
+
attr_accessor :type
|
|
880
|
+
|
|
881
|
+
# The unique ID of this additional tools item.
|
|
882
|
+
sig { returns(T.nilable(String)) }
|
|
883
|
+
attr_accessor :id
|
|
884
|
+
|
|
885
|
+
sig do
|
|
886
|
+
params(
|
|
887
|
+
tools:
|
|
888
|
+
T::Array[
|
|
889
|
+
T.any(
|
|
890
|
+
OpenAI::Responses::FunctionTool::OrHash,
|
|
891
|
+
OpenAI::Responses::FileSearchTool::OrHash,
|
|
892
|
+
OpenAI::Responses::ComputerTool::OrHash,
|
|
893
|
+
OpenAI::Responses::ComputerUsePreviewTool::OrHash,
|
|
894
|
+
OpenAI::Responses::Tool::Mcp::OrHash,
|
|
895
|
+
OpenAI::Responses::Tool::CodeInterpreter::OrHash,
|
|
896
|
+
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
|
897
|
+
OpenAI::Responses::Tool::LocalShell::OrHash,
|
|
898
|
+
OpenAI::Responses::FunctionShellTool::OrHash,
|
|
899
|
+
OpenAI::Responses::CustomTool::OrHash,
|
|
900
|
+
OpenAI::Responses::NamespaceTool::OrHash,
|
|
901
|
+
OpenAI::Responses::ToolSearchTool::OrHash,
|
|
902
|
+
OpenAI::Responses::ApplyPatchTool::OrHash,
|
|
903
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
|
904
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
|
905
|
+
)
|
|
906
|
+
],
|
|
907
|
+
id: T.nilable(String),
|
|
908
|
+
role: Symbol,
|
|
909
|
+
type: Symbol
|
|
910
|
+
).returns(T.attached_class)
|
|
911
|
+
end
|
|
912
|
+
def self.new(
|
|
913
|
+
# A list of additional tools made available at this item.
|
|
914
|
+
tools:,
|
|
915
|
+
# The unique ID of this additional tools item.
|
|
916
|
+
id: nil,
|
|
917
|
+
# The role that provided the additional tools. Only `developer` is supported.
|
|
918
|
+
role: :developer,
|
|
919
|
+
# The item type. Always `additional_tools`.
|
|
920
|
+
type: :additional_tools
|
|
921
|
+
)
|
|
922
|
+
end
|
|
923
|
+
|
|
924
|
+
sig do
|
|
925
|
+
override.returns(
|
|
926
|
+
{
|
|
927
|
+
role: Symbol,
|
|
928
|
+
tools:
|
|
929
|
+
T::Array[
|
|
930
|
+
T.any(
|
|
931
|
+
OpenAI::Responses::FunctionTool,
|
|
932
|
+
OpenAI::Responses::FileSearchTool,
|
|
933
|
+
OpenAI::Responses::ComputerTool,
|
|
934
|
+
OpenAI::Responses::ComputerUsePreviewTool,
|
|
935
|
+
OpenAI::Responses::Tool::Mcp,
|
|
936
|
+
OpenAI::Responses::Tool::CodeInterpreter,
|
|
937
|
+
OpenAI::Responses::Tool::ImageGeneration,
|
|
938
|
+
OpenAI::Responses::Tool::LocalShell,
|
|
939
|
+
OpenAI::Responses::FunctionShellTool,
|
|
940
|
+
OpenAI::Responses::CustomTool,
|
|
941
|
+
OpenAI::Responses::NamespaceTool,
|
|
942
|
+
OpenAI::Responses::ToolSearchTool,
|
|
943
|
+
OpenAI::Responses::ApplyPatchTool,
|
|
944
|
+
OpenAI::Responses::WebSearchTool,
|
|
945
|
+
OpenAI::Responses::WebSearchPreviewTool
|
|
946
|
+
)
|
|
947
|
+
],
|
|
948
|
+
type: Symbol,
|
|
949
|
+
id: T.nilable(String)
|
|
950
|
+
}
|
|
951
|
+
)
|
|
952
|
+
end
|
|
953
|
+
def to_hash
|
|
954
|
+
end
|
|
955
|
+
end
|
|
956
|
+
|
|
837
957
|
class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
|
|
838
958
|
OrHash =
|
|
839
959
|
T.type_alias do
|
|
@@ -20,6 +20,7 @@ module OpenAI
|
|
|
20
20
|
OpenAI::Responses::ResponseFunctionToolCallOutputItem,
|
|
21
21
|
OpenAI::Responses::ResponseToolSearchCall,
|
|
22
22
|
OpenAI::Responses::ResponseToolSearchOutputItem,
|
|
23
|
+
OpenAI::Responses::ResponseItem::AdditionalTools,
|
|
23
24
|
OpenAI::Responses::ResponseReasoningItem,
|
|
24
25
|
OpenAI::Responses::ResponseCompactionItem,
|
|
25
26
|
OpenAI::Responses::ResponseItem::ImageGenerationCall,
|
|
@@ -39,6 +40,155 @@ module OpenAI
|
|
|
39
40
|
)
|
|
40
41
|
end
|
|
41
42
|
|
|
43
|
+
class AdditionalTools < OpenAI::Internal::Type::BaseModel
|
|
44
|
+
OrHash =
|
|
45
|
+
T.type_alias do
|
|
46
|
+
T.any(
|
|
47
|
+
OpenAI::Responses::ResponseItem::AdditionalTools,
|
|
48
|
+
OpenAI::Internal::AnyHash
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
# The unique ID of the additional tools item.
|
|
53
|
+
sig { returns(String) }
|
|
54
|
+
attr_accessor :id
|
|
55
|
+
|
|
56
|
+
# The role that provided the additional tools.
|
|
57
|
+
sig do
|
|
58
|
+
returns(
|
|
59
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
60
|
+
)
|
|
61
|
+
end
|
|
62
|
+
attr_accessor :role
|
|
63
|
+
|
|
64
|
+
# The additional tool definitions made available at this item.
|
|
65
|
+
sig { returns(T::Array[OpenAI::Responses::Tool::Variants]) }
|
|
66
|
+
attr_accessor :tools
|
|
67
|
+
|
|
68
|
+
# The type of the item. Always `additional_tools`.
|
|
69
|
+
sig { returns(Symbol) }
|
|
70
|
+
attr_accessor :type
|
|
71
|
+
|
|
72
|
+
sig do
|
|
73
|
+
params(
|
|
74
|
+
id: String,
|
|
75
|
+
role:
|
|
76
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::OrSymbol,
|
|
77
|
+
tools:
|
|
78
|
+
T::Array[
|
|
79
|
+
T.any(
|
|
80
|
+
OpenAI::Responses::FunctionTool::OrHash,
|
|
81
|
+
OpenAI::Responses::FileSearchTool::OrHash,
|
|
82
|
+
OpenAI::Responses::ComputerTool::OrHash,
|
|
83
|
+
OpenAI::Responses::ComputerUsePreviewTool::OrHash,
|
|
84
|
+
OpenAI::Responses::Tool::Mcp::OrHash,
|
|
85
|
+
OpenAI::Responses::Tool::CodeInterpreter::OrHash,
|
|
86
|
+
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
|
87
|
+
OpenAI::Responses::Tool::LocalShell::OrHash,
|
|
88
|
+
OpenAI::Responses::FunctionShellTool::OrHash,
|
|
89
|
+
OpenAI::Responses::CustomTool::OrHash,
|
|
90
|
+
OpenAI::Responses::NamespaceTool::OrHash,
|
|
91
|
+
OpenAI::Responses::ToolSearchTool::OrHash,
|
|
92
|
+
OpenAI::Responses::ApplyPatchTool::OrHash,
|
|
93
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
|
94
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
|
95
|
+
)
|
|
96
|
+
],
|
|
97
|
+
type: Symbol
|
|
98
|
+
).returns(T.attached_class)
|
|
99
|
+
end
|
|
100
|
+
def self.new(
|
|
101
|
+
# The unique ID of the additional tools item.
|
|
102
|
+
id:,
|
|
103
|
+
# The role that provided the additional tools.
|
|
104
|
+
role:,
|
|
105
|
+
# The additional tool definitions made available at this item.
|
|
106
|
+
tools:,
|
|
107
|
+
# The type of the item. Always `additional_tools`.
|
|
108
|
+
type: :additional_tools
|
|
109
|
+
)
|
|
110
|
+
end
|
|
111
|
+
|
|
112
|
+
sig do
|
|
113
|
+
override.returns(
|
|
114
|
+
{
|
|
115
|
+
id: String,
|
|
116
|
+
role:
|
|
117
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol,
|
|
118
|
+
tools: T::Array[OpenAI::Responses::Tool::Variants],
|
|
119
|
+
type: Symbol
|
|
120
|
+
}
|
|
121
|
+
)
|
|
122
|
+
end
|
|
123
|
+
def to_hash
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
# The role that provided the additional tools.
|
|
127
|
+
module Role
|
|
128
|
+
extend OpenAI::Internal::Type::Enum
|
|
129
|
+
|
|
130
|
+
TaggedSymbol =
|
|
131
|
+
T.type_alias do
|
|
132
|
+
T.all(
|
|
133
|
+
Symbol,
|
|
134
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role
|
|
135
|
+
)
|
|
136
|
+
end
|
|
137
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
138
|
+
|
|
139
|
+
UNKNOWN =
|
|
140
|
+
T.let(
|
|
141
|
+
:unknown,
|
|
142
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
143
|
+
)
|
|
144
|
+
USER =
|
|
145
|
+
T.let(
|
|
146
|
+
:user,
|
|
147
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
148
|
+
)
|
|
149
|
+
ASSISTANT =
|
|
150
|
+
T.let(
|
|
151
|
+
:assistant,
|
|
152
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
153
|
+
)
|
|
154
|
+
SYSTEM =
|
|
155
|
+
T.let(
|
|
156
|
+
:system,
|
|
157
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
158
|
+
)
|
|
159
|
+
CRITIC =
|
|
160
|
+
T.let(
|
|
161
|
+
:critic,
|
|
162
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
163
|
+
)
|
|
164
|
+
DISCRIMINATOR =
|
|
165
|
+
T.let(
|
|
166
|
+
:discriminator,
|
|
167
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
168
|
+
)
|
|
169
|
+
DEVELOPER =
|
|
170
|
+
T.let(
|
|
171
|
+
:developer,
|
|
172
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
173
|
+
)
|
|
174
|
+
TOOL =
|
|
175
|
+
T.let(
|
|
176
|
+
:tool,
|
|
177
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
178
|
+
)
|
|
179
|
+
|
|
180
|
+
sig do
|
|
181
|
+
override.returns(
|
|
182
|
+
T::Array[
|
|
183
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::Role::TaggedSymbol
|
|
184
|
+
]
|
|
185
|
+
)
|
|
186
|
+
end
|
|
187
|
+
def self.values
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
|
|
42
192
|
class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
|
|
43
193
|
OrHash =
|
|
44
194
|
T.type_alias do
|
|
@@ -50,6 +50,7 @@ module OpenAI
|
|
|
50
50
|
OpenAI::Responses::ResponseFunctionToolCallOutputItem::OrHash,
|
|
51
51
|
OpenAI::Responses::ResponseToolSearchCall::OrHash,
|
|
52
52
|
OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
|
|
53
|
+
OpenAI::Responses::ResponseItem::AdditionalTools::OrHash,
|
|
53
54
|
OpenAI::Responses::ResponseReasoningItem::OrHash,
|
|
54
55
|
OpenAI::Responses::ResponseCompactionItem::OrHash,
|
|
55
56
|
OpenAI::Responses::ResponseItem::ImageGenerationCall::OrHash,
|
|
@@ -20,6 +20,7 @@ module OpenAI
|
|
|
20
20
|
OpenAI::Responses::ResponseReasoningItem,
|
|
21
21
|
OpenAI::Responses::ResponseToolSearchCall,
|
|
22
22
|
OpenAI::Responses::ResponseToolSearchOutputItem,
|
|
23
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools,
|
|
23
24
|
OpenAI::Responses::ResponseCompactionItem,
|
|
24
25
|
OpenAI::Responses::ResponseOutputItem::ImageGenerationCall,
|
|
25
26
|
OpenAI::Responses::ResponseCodeInterpreterToolCall,
|
|
@@ -38,6 +39,155 @@ module OpenAI
|
|
|
38
39
|
)
|
|
39
40
|
end
|
|
40
41
|
|
|
42
|
+
class AdditionalTools < OpenAI::Internal::Type::BaseModel
|
|
43
|
+
OrHash =
|
|
44
|
+
T.type_alias do
|
|
45
|
+
T.any(
|
|
46
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools,
|
|
47
|
+
OpenAI::Internal::AnyHash
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# The unique ID of the additional tools item.
|
|
52
|
+
sig { returns(String) }
|
|
53
|
+
attr_accessor :id
|
|
54
|
+
|
|
55
|
+
# The role that provided the additional tools.
|
|
56
|
+
sig do
|
|
57
|
+
returns(
|
|
58
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
attr_accessor :role
|
|
62
|
+
|
|
63
|
+
# The additional tool definitions made available at this item.
|
|
64
|
+
sig { returns(T::Array[OpenAI::Responses::Tool::Variants]) }
|
|
65
|
+
attr_accessor :tools
|
|
66
|
+
|
|
67
|
+
# The type of the item. Always `additional_tools`.
|
|
68
|
+
sig { returns(Symbol) }
|
|
69
|
+
attr_accessor :type
|
|
70
|
+
|
|
71
|
+
sig do
|
|
72
|
+
params(
|
|
73
|
+
id: String,
|
|
74
|
+
role:
|
|
75
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::OrSymbol,
|
|
76
|
+
tools:
|
|
77
|
+
T::Array[
|
|
78
|
+
T.any(
|
|
79
|
+
OpenAI::Responses::FunctionTool::OrHash,
|
|
80
|
+
OpenAI::Responses::FileSearchTool::OrHash,
|
|
81
|
+
OpenAI::Responses::ComputerTool::OrHash,
|
|
82
|
+
OpenAI::Responses::ComputerUsePreviewTool::OrHash,
|
|
83
|
+
OpenAI::Responses::Tool::Mcp::OrHash,
|
|
84
|
+
OpenAI::Responses::Tool::CodeInterpreter::OrHash,
|
|
85
|
+
OpenAI::Responses::Tool::ImageGeneration::OrHash,
|
|
86
|
+
OpenAI::Responses::Tool::LocalShell::OrHash,
|
|
87
|
+
OpenAI::Responses::FunctionShellTool::OrHash,
|
|
88
|
+
OpenAI::Responses::CustomTool::OrHash,
|
|
89
|
+
OpenAI::Responses::NamespaceTool::OrHash,
|
|
90
|
+
OpenAI::Responses::ToolSearchTool::OrHash,
|
|
91
|
+
OpenAI::Responses::ApplyPatchTool::OrHash,
|
|
92
|
+
OpenAI::Responses::WebSearchTool::OrHash,
|
|
93
|
+
OpenAI::Responses::WebSearchPreviewTool::OrHash
|
|
94
|
+
)
|
|
95
|
+
],
|
|
96
|
+
type: Symbol
|
|
97
|
+
).returns(T.attached_class)
|
|
98
|
+
end
|
|
99
|
+
def self.new(
|
|
100
|
+
# The unique ID of the additional tools item.
|
|
101
|
+
id:,
|
|
102
|
+
# The role that provided the additional tools.
|
|
103
|
+
role:,
|
|
104
|
+
# The additional tool definitions made available at this item.
|
|
105
|
+
tools:,
|
|
106
|
+
# The type of the item. Always `additional_tools`.
|
|
107
|
+
type: :additional_tools
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
|
|
111
|
+
sig do
|
|
112
|
+
override.returns(
|
|
113
|
+
{
|
|
114
|
+
id: String,
|
|
115
|
+
role:
|
|
116
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol,
|
|
117
|
+
tools: T::Array[OpenAI::Responses::Tool::Variants],
|
|
118
|
+
type: Symbol
|
|
119
|
+
}
|
|
120
|
+
)
|
|
121
|
+
end
|
|
122
|
+
def to_hash
|
|
123
|
+
end
|
|
124
|
+
|
|
125
|
+
# The role that provided the additional tools.
|
|
126
|
+
module Role
|
|
127
|
+
extend OpenAI::Internal::Type::Enum
|
|
128
|
+
|
|
129
|
+
TaggedSymbol =
|
|
130
|
+
T.type_alias do
|
|
131
|
+
T.all(
|
|
132
|
+
Symbol,
|
|
133
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role
|
|
134
|
+
)
|
|
135
|
+
end
|
|
136
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
137
|
+
|
|
138
|
+
UNKNOWN =
|
|
139
|
+
T.let(
|
|
140
|
+
:unknown,
|
|
141
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
142
|
+
)
|
|
143
|
+
USER =
|
|
144
|
+
T.let(
|
|
145
|
+
:user,
|
|
146
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
147
|
+
)
|
|
148
|
+
ASSISTANT =
|
|
149
|
+
T.let(
|
|
150
|
+
:assistant,
|
|
151
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
152
|
+
)
|
|
153
|
+
SYSTEM =
|
|
154
|
+
T.let(
|
|
155
|
+
:system,
|
|
156
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
157
|
+
)
|
|
158
|
+
CRITIC =
|
|
159
|
+
T.let(
|
|
160
|
+
:critic,
|
|
161
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
162
|
+
)
|
|
163
|
+
DISCRIMINATOR =
|
|
164
|
+
T.let(
|
|
165
|
+
:discriminator,
|
|
166
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
167
|
+
)
|
|
168
|
+
DEVELOPER =
|
|
169
|
+
T.let(
|
|
170
|
+
:developer,
|
|
171
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
172
|
+
)
|
|
173
|
+
TOOL =
|
|
174
|
+
T.let(
|
|
175
|
+
:tool,
|
|
176
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
sig do
|
|
180
|
+
override.returns(
|
|
181
|
+
T::Array[
|
|
182
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::Role::TaggedSymbol
|
|
183
|
+
]
|
|
184
|
+
)
|
|
185
|
+
end
|
|
186
|
+
def self.values
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
|
|
41
191
|
class ImageGenerationCall < OpenAI::Internal::Type::BaseModel
|
|
42
192
|
OrHash =
|
|
43
193
|
T.type_alias do
|
|
@@ -43,6 +43,7 @@ module OpenAI
|
|
|
43
43
|
OpenAI::Responses::ResponseReasoningItem::OrHash,
|
|
44
44
|
OpenAI::Responses::ResponseToolSearchCall::OrHash,
|
|
45
45
|
OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
|
|
46
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash,
|
|
46
47
|
OpenAI::Responses::ResponseCompactionItem::OrHash,
|
|
47
48
|
OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash,
|
|
48
49
|
OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
|
|
@@ -43,6 +43,7 @@ module OpenAI
|
|
|
43
43
|
OpenAI::Responses::ResponseReasoningItem::OrHash,
|
|
44
44
|
OpenAI::Responses::ResponseToolSearchCall::OrHash,
|
|
45
45
|
OpenAI::Responses::ResponseToolSearchOutputItem::OrHash,
|
|
46
|
+
OpenAI::Responses::ResponseOutputItem::AdditionalTools::OrHash,
|
|
46
47
|
OpenAI::Responses::ResponseCompactionItem::OrHash,
|
|
47
48
|
OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OrHash,
|
|
48
49
|
OpenAI::Responses::ResponseCodeInterpreterToolCall::OrHash,
|
|
@@ -154,6 +154,24 @@ module OpenAI
|
|
|
154
154
|
end
|
|
155
155
|
attr_writer :model
|
|
156
156
|
|
|
157
|
+
# Configuration for running moderation on the input and output of this response.
|
|
158
|
+
sig do
|
|
159
|
+
returns(
|
|
160
|
+
T.nilable(OpenAI::Responses::ResponsesClientEvent::Moderation)
|
|
161
|
+
)
|
|
162
|
+
end
|
|
163
|
+
attr_reader :moderation
|
|
164
|
+
|
|
165
|
+
sig do
|
|
166
|
+
params(
|
|
167
|
+
moderation:
|
|
168
|
+
T.nilable(
|
|
169
|
+
OpenAI::Responses::ResponsesClientEvent::Moderation::OrHash
|
|
170
|
+
)
|
|
171
|
+
).void
|
|
172
|
+
end
|
|
173
|
+
attr_writer :moderation
|
|
174
|
+
|
|
157
175
|
# Whether to allow the model to run tool calls in parallel.
|
|
158
176
|
sig { returns(T.nilable(T::Boolean)) }
|
|
159
177
|
attr_accessor :parallel_tool_calls
|
|
@@ -190,6 +208,14 @@ module OpenAI
|
|
|
190
208
|
# prompt caching, which keeps cached prefixes active for longer, up to a maximum
|
|
191
209
|
# of 24 hours.
|
|
192
210
|
# [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
|
|
211
|
+
# For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
|
|
212
|
+
#
|
|
213
|
+
# For older models that support both `in_memory` and `24h`, the default depends on
|
|
214
|
+
# your organization's data retention policy:
|
|
215
|
+
#
|
|
216
|
+
# - Organizations without ZDR enabled default to `24h`.
|
|
217
|
+
# - Organizations with ZDR enabled default to `in_memory` when
|
|
218
|
+
# `prompt_cache_retention` is not specified.
|
|
193
219
|
sig do
|
|
194
220
|
returns(
|
|
195
221
|
T.nilable(
|
|
@@ -477,6 +503,10 @@ module OpenAI
|
|
|
477
503
|
OpenAI::ChatModel::OrSymbol,
|
|
478
504
|
OpenAI::ResponsesModel::ResponsesOnlyModel::OrSymbol
|
|
479
505
|
),
|
|
506
|
+
moderation:
|
|
507
|
+
T.nilable(
|
|
508
|
+
OpenAI::Responses::ResponsesClientEvent::Moderation::OrHash
|
|
509
|
+
),
|
|
480
510
|
parallel_tool_calls: T.nilable(T::Boolean),
|
|
481
511
|
previous_response_id: T.nilable(String),
|
|
482
512
|
prompt: T.nilable(OpenAI::Responses::ResponsePrompt::OrHash),
|
|
@@ -608,6 +638,8 @@ module OpenAI
|
|
|
608
638
|
# [model guide](https://platform.openai.com/docs/models) to browse and compare
|
|
609
639
|
# available models.
|
|
610
640
|
model: nil,
|
|
641
|
+
# Configuration for running moderation on the input and output of this response.
|
|
642
|
+
moderation: nil,
|
|
611
643
|
# Whether to allow the model to run tool calls in parallel.
|
|
612
644
|
parallel_tool_calls: nil,
|
|
613
645
|
# The unique ID of the previous response to the model. Use this to create
|
|
@@ -626,6 +658,14 @@ module OpenAI
|
|
|
626
658
|
# prompt caching, which keeps cached prefixes active for longer, up to a maximum
|
|
627
659
|
# of 24 hours.
|
|
628
660
|
# [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
|
|
661
|
+
# For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
|
|
662
|
+
#
|
|
663
|
+
# For older models that support both `in_memory` and `24h`, the default depends on
|
|
664
|
+
# your organization's data retention policy:
|
|
665
|
+
#
|
|
666
|
+
# - Organizations without ZDR enabled default to `24h`.
|
|
667
|
+
# - Organizations with ZDR enabled default to `in_memory` when
|
|
668
|
+
# `prompt_cache_retention` is not specified.
|
|
629
669
|
prompt_cache_retention: nil,
|
|
630
670
|
# **gpt-5 and o-series models only**
|
|
631
671
|
#
|
|
@@ -761,6 +801,8 @@ module OpenAI
|
|
|
761
801
|
OpenAI::ChatModel::OrSymbol,
|
|
762
802
|
OpenAI::ResponsesModel::ResponsesOnlyModel::OrSymbol
|
|
763
803
|
),
|
|
804
|
+
moderation:
|
|
805
|
+
T.nilable(OpenAI::Responses::ResponsesClientEvent::Moderation),
|
|
764
806
|
parallel_tool_calls: T.nilable(T::Boolean),
|
|
765
807
|
previous_response_id: T.nilable(String),
|
|
766
808
|
prompt: T.nilable(OpenAI::Responses::ResponsePrompt),
|
|
@@ -918,10 +960,46 @@ module OpenAI
|
|
|
918
960
|
end
|
|
919
961
|
end
|
|
920
962
|
|
|
963
|
+
class Moderation < OpenAI::Internal::Type::BaseModel
|
|
964
|
+
OrHash =
|
|
965
|
+
T.type_alias do
|
|
966
|
+
T.any(
|
|
967
|
+
OpenAI::Responses::ResponsesClientEvent::Moderation,
|
|
968
|
+
OpenAI::Internal::AnyHash
|
|
969
|
+
)
|
|
970
|
+
end
|
|
971
|
+
|
|
972
|
+
# The moderation model to use for moderated completions, e.g.
|
|
973
|
+
# 'omni-moderation-latest'.
|
|
974
|
+
sig { returns(String) }
|
|
975
|
+
attr_accessor :model
|
|
976
|
+
|
|
977
|
+
# Configuration for running moderation on the input and output of this response.
|
|
978
|
+
sig { params(model: String).returns(T.attached_class) }
|
|
979
|
+
def self.new(
|
|
980
|
+
# The moderation model to use for moderated completions, e.g.
|
|
981
|
+
# 'omni-moderation-latest'.
|
|
982
|
+
model:
|
|
983
|
+
)
|
|
984
|
+
end
|
|
985
|
+
|
|
986
|
+
sig { override.returns({ model: String }) }
|
|
987
|
+
def to_hash
|
|
988
|
+
end
|
|
989
|
+
end
|
|
990
|
+
|
|
921
991
|
# The retention policy for the prompt cache. Set to `24h` to enable extended
|
|
922
992
|
# prompt caching, which keeps cached prefixes active for longer, up to a maximum
|
|
923
993
|
# of 24 hours.
|
|
924
994
|
# [Learn more](https://platform.openai.com/docs/guides/prompt-caching#prompt-cache-retention).
|
|
995
|
+
# For `gpt-5.5`, `gpt-5.5-pro`, and future models, only `24h` is supported.
|
|
996
|
+
#
|
|
997
|
+
# For older models that support both `in_memory` and `24h`, the default depends on
|
|
998
|
+
# your organization's data retention policy:
|
|
999
|
+
#
|
|
1000
|
+
# - Organizations without ZDR enabled default to `24h`.
|
|
1001
|
+
# - Organizations with ZDR enabled default to `in_memory` when
|
|
1002
|
+
# `prompt_cache_retention` is not specified.
|
|
925
1003
|
module PromptCacheRetention
|
|
926
1004
|
extend OpenAI::Internal::Type::Enum
|
|
927
1005
|
|