openai 0.96.0 → 0.98.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 +31 -0
- data/README.md +76 -1
- data/lib/openai/helpers/agents/session_stream.rb +60 -3
- data/lib/openai/helpers/beta/agents/artifacts.rb +72 -0
- data/lib/openai/helpers/beta/agents/creation_stream.rb +69 -0
- data/lib/openai/helpers/beta/agents/files.rb +236 -0
- data/lib/openai/helpers/beta/agents/function_tool.rb +65 -0
- data/lib/openai/helpers/beta/agents/model_adapter.rb +27 -0
- data/lib/openai/helpers/beta/agents/result.rb +170 -0
- data/lib/openai/helpers/beta/agents/typed_output.rb +191 -0
- data/lib/openai/helpers/live/websocket.rb +7 -1
- data/lib/openai/helpers/realtime/conversation_item_variant_resolver.rb +1 -1
- data/lib/openai/helpers/responses_websocket/connection.rb +7 -1
- data/lib/openai/helpers/responses_websocket/session.rb +5 -1
- data/lib/openai/helpers/responses_websocket/transports/async_websocket.rb +12 -2
- data/lib/openai/internal/transport/base_client.rb +18 -0
- data/lib/openai/internal/type/array_of.rb +1 -1
- data/lib/openai/internal/type/base_model.rb +6 -3
- data/lib/openai/internal/type/converter.rb +50 -3
- data/lib/openai/internal/type/hash_of.rb +1 -1
- data/lib/openai/internal/type/union.rb +6 -6
- data/lib/openai/models/beta/agent.rb +2 -2
- data/lib/openai/models/beta/agent_browser_authentication_cancel_param.rb +23 -0
- data/lib/openai/models/beta/agent_browser_authentication_submit_param.rb +70 -0
- data/lib/openai/models/beta/agent_browser_origin_access_param.rb +45 -0
- data/lib/openai/models/beta/agent_create_params.rb +2 -2
- data/lib/openai/models/beta/agent_output_item.rb +276 -1
- data/lib/openai/models/beta/agent_session.rb +251 -5
- data/lib/openai/models/beta/agent_session_input_param.rb +64 -1
- data/lib/openai/models/beta/agent_session_item.rb +391 -1
- data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +2 -2
- data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +2 -2
- data/lib/openai/models/beta/agent_tool.rb +27 -1
- data/lib/openai/models/beta/agent_tool_param.rb +27 -1
- data/lib/openai/models/beta/agent_update_params.rb +2 -2
- data/lib/openai/models/beta/agents/environments/environment_template.rb +26 -2
- data/lib/openai/models/beta/agents/environments/template_create_params.rb +48 -3
- data/lib/openai/models/beta/agents/environments/template_update_params.rb +45 -3
- data/lib/openai/models/beta/agents/session_create_params.rb +2 -2
- data/lib/openai/models/beta/agents/sessions/event_create_params.rb +2 -2
- data/lib/openai/models/beta/agents/sessions/session_trace.rb +64 -0
- data/lib/openai/models/beta/agents/sessions/trace_list_params.rb +68 -0
- data/lib/openai/models/beta/agents/vaults/credential.rb +8 -4
- data/lib/openai/models/beta/beta_response_output_text.rb +2 -2
- data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +2 -2
- data/lib/openai/models/beta/environment.rb +58 -2
- data/lib/openai/models/beta/environment_param.rb +66 -3
- data/lib/openai/models/beta/persisted_agent_tool.rb +27 -1
- data/lib/openai/models/beta/persisted_agent_tool_param.rb +27 -1
- data/lib/openai/models/beta/session_turn_error.rb +3 -0
- data/lib/openai/models/chat/chat_completion_content_part_image.rb +1 -0
- data/lib/openai/models/live/fork_server_event.rb +14 -3
- data/lib/openai/models/live/server_event.rb +14 -3
- data/lib/openai/models/realtime/translations/client_secret_create_params.rb +28 -0
- data/lib/openai/models/responses/response_output_text.rb +2 -2
- data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +2 -2
- data/lib/openai/resources/beta/agents/environments/files.rb +31 -0
- data/lib/openai/resources/beta/agents/environments/templates.rb +9 -2
- data/lib/openai/resources/beta/agents/sessions/artifacts.rb +8 -0
- data/lib/openai/resources/beta/agents/sessions/events.rb +7 -6
- data/lib/openai/resources/beta/agents/sessions/items.rb +1 -1
- data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +1 -1
- data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +1 -1
- data/lib/openai/resources/beta/agents/sessions/traces.rb +58 -0
- data/lib/openai/resources/beta/agents/sessions.rb +18 -5
- data/lib/openai/resources/beta/agents.rb +2 -2
- data/lib/openai/resources/evals/runs.rb +1 -1
- data/lib/openai/resources/realtime/translations/client_secrets.rb +58 -0
- data/lib/openai/resources/realtime/translations.rb +20 -0
- data/lib/openai/resources/realtime.rb +4 -0
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +12 -1
- data/rbi/openai/helpers/agents.rbi +20 -1
- data/rbi/openai/helpers/beta/agents/artifacts.rbi +29 -0
- data/rbi/openai/helpers/beta/agents/files.rbi +65 -0
- data/rbi/openai/helpers/beta/agents/function_tool.rbi +40 -0
- data/rbi/openai/helpers/beta/agents/model_adapter.rbi +22 -0
- data/rbi/openai/helpers/beta/agents.rbi +146 -0
- data/rbi/openai/internal/transport/base_client.rbi +12 -0
- data/rbi/openai/internal/type/base_model.rbi +2 -2
- data/rbi/openai/internal/type/converter.rbi +21 -3
- data/rbi/openai/internal/type/union.rbi +6 -2
- data/rbi/openai/models/beta/agent.rbi +2 -1
- data/rbi/openai/models/beta/agent_browser_authentication_cancel_param.rbi +53 -0
- data/rbi/openai/models/beta/agent_browser_authentication_submit_param.rbi +125 -0
- data/rbi/openai/models/beta/agent_browser_origin_access_param.rbi +76 -0
- data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
- data/rbi/openai/models/beta/agent_output_item.rbi +422 -0
- data/rbi/openai/models/beta/agent_session.rbi +373 -1
- data/rbi/openai/models/beta/agent_session_input_param.rbi +102 -0
- data/rbi/openai/models/beta/agent_session_item.rbi +614 -0
- data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +3 -0
- data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +2 -0
- data/rbi/openai/models/beta/agent_tool.rbi +49 -1
- data/rbi/openai/models/beta/agent_tool_param.rbi +52 -1
- data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
- data/rbi/openai/models/beta/agents/environments/environment_template.rbi +53 -2
- data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +74 -4
- data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +71 -4
- data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
- data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +3 -0
- data/rbi/openai/models/beta/agents/sessions/session_trace.rbi +97 -0
- data/rbi/openai/models/beta/agents/sessions/trace_list_params.rbi +121 -0
- data/rbi/openai/models/beta/agents/vaults/credential.rbi +5 -5
- data/rbi/openai/models/beta/beta_response_output_text.rbi +2 -2
- data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +2 -2
- data/rbi/openai/models/beta/environment.rbi +82 -2
- data/rbi/openai/models/beta/environment_param.rbi +103 -4
- data/rbi/openai/models/beta/persisted_agent_tool.rbi +49 -1
- data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +52 -1
- data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
- data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +1 -0
- data/rbi/openai/models/live/fork_server_event.rbi +14 -2
- data/rbi/openai/models/live/server_event.rbi +14 -2
- data/rbi/openai/models/realtime/translations/client_secret_create_params.rbi +68 -0
- data/rbi/openai/models/responses/response_output_text.rbi +2 -2
- data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +2 -2
- data/rbi/openai/resources/beta/agents/environments/files.rbi +31 -0
- data/rbi/openai/resources/beta/agents/environments/templates.rbi +7 -0
- data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +8 -0
- data/rbi/openai/resources/beta/agents/sessions/events.rbi +7 -5
- data/rbi/openai/resources/beta/agents/sessions/traces.rbi +54 -0
- data/rbi/openai/resources/beta/agents/sessions.rbi +6 -1
- data/rbi/openai/resources/beta/agents.rbi +4 -2
- data/rbi/openai/resources/realtime/translations/client_secrets.rbi +54 -0
- data/rbi/openai/resources/realtime/translations.rbi +22 -0
- data/rbi/openai/resources/realtime.rbi +3 -0
- data/sig/openai/helpers/agents.rbs +7 -0
- data/sig/openai/helpers/beta/agents/artifacts.rbs +20 -0
- data/sig/openai/helpers/beta/agents/files.rbs +41 -0
- data/sig/openai/helpers/beta/agents/function_tool.rbs +24 -0
- data/sig/openai/helpers/beta/agents/model_adapter.rbs +16 -0
- data/sig/openai/helpers/beta/agents.rbs +71 -0
- data/sig/openai/helpers/structured_output.rbs +12 -0
- data/sig/openai/internal/transport/base_client.rbs +8 -0
- data/sig/openai/internal/type/base_model.rbs +3 -1
- data/sig/openai/internal/type/converter.rbs +16 -2
- data/sig/openai/internal/type/union.rbs +2 -1
- data/sig/openai/models/beta/agent_browser_authentication_cancel_param.rbs +21 -0
- data/sig/openai/models/beta/agent_browser_authentication_submit_param.rbs +63 -0
- data/sig/openai/models/beta/agent_browser_origin_access_param.rbs +47 -0
- data/sig/openai/models/beta/agent_output_item.rbs +254 -0
- data/sig/openai/models/beta/agent_session.rbs +215 -1
- data/sig/openai/models/beta/agent_session_input_param.rbs +51 -1
- data/sig/openai/models/beta/agent_session_item.rbs +362 -0
- data/sig/openai/models/beta/agent_tool.rbs +22 -0
- data/sig/openai/models/beta/agent_tool_param.rbs +25 -0
- data/sig/openai/models/beta/agents/environments/environment_template.rbs +29 -3
- data/sig/openai/models/beta/agents/environments/template_create_params.rbs +39 -4
- data/sig/openai/models/beta/agents/environments/template_update_params.rbs +37 -4
- data/sig/openai/models/beta/agents/sessions/session_trace.rbs +65 -0
- data/sig/openai/models/beta/agents/sessions/trace_list_params.rbs +81 -0
- data/sig/openai/models/beta/agents/vaults/credential.rbs +5 -5
- data/sig/openai/models/beta/beta_response_output_text.rbs +2 -2
- data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +2 -2
- data/sig/openai/models/beta/environment.rbs +51 -3
- data/sig/openai/models/beta/environment_param.rbs +64 -4
- data/sig/openai/models/beta/persisted_agent_tool.rbs +22 -0
- data/sig/openai/models/beta/persisted_agent_tool_param.rbs +25 -0
- data/sig/openai/models/beta/session_turn_error.rbs +4 -0
- data/sig/openai/models/chat/chat_completion_content_part_image.rbs +2 -1
- data/sig/openai/models/live/fork_server_event.rbs +17 -2
- data/sig/openai/models/live/server_event.rbs +17 -2
- data/sig/openai/models/realtime/translations/client_secret_create_params.rbs +39 -0
- data/sig/openai/models/responses/response_output_text.rbs +2 -2
- data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +2 -2
- data/sig/openai/resources/beta/agents/environments/files.rbs +17 -0
- data/sig/openai/resources/beta/agents/environments/templates.rbs +2 -0
- data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +4 -0
- data/sig/openai/resources/beta/agents/sessions/traces.rbs +21 -0
- data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
- data/sig/openai/resources/realtime/translations/client_secrets.rbs +17 -0
- data/sig/openai/resources/realtime/translations.rbs +11 -0
- data/sig/openai/resources/realtime.rbs +2 -0
- metadata +46 -1
|
@@ -135,17 +135,26 @@ module OpenAI
|
|
|
135
135
|
# @param request_only [Boolean] Exclude fields omitted by the request serializer.
|
|
136
136
|
#
|
|
137
137
|
# @return [Hash{Symbol=>Object}]
|
|
138
|
-
def new_coerce_state(translate_names: true, request_only: false)
|
|
138
|
+
def new_coerce_state(translate_names: true, request_only: false, memoize: false)
|
|
139
139
|
{
|
|
140
140
|
translate_names: translate_names,
|
|
141
141
|
request_only: request_only,
|
|
142
142
|
strictness: true,
|
|
143
143
|
exactness: {yes: 0, no: 0, maybe: 0},
|
|
144
144
|
error: nil,
|
|
145
|
-
branched: 0
|
|
145
|
+
branched: 0,
|
|
146
|
+
memo: memoize ? {}.compare_by_identity : nil
|
|
146
147
|
}
|
|
147
148
|
end
|
|
148
149
|
|
|
150
|
+
# @api private
|
|
151
|
+
# Resolve lazy schema types once within an opted-in parse.
|
|
152
|
+
def resolve_type(type_fn, state: nil)
|
|
153
|
+
return type_fn.call unless state && state[:memo]
|
|
154
|
+
cache = state[:memo][:resolved_types] ||= {}.compare_by_identity
|
|
155
|
+
cache.fetch(type_fn) { cache[type_fn] = type_fn.call }
|
|
156
|
+
end
|
|
157
|
+
|
|
149
158
|
# @api private
|
|
150
159
|
#
|
|
151
160
|
# Based on `target`, transform `value` into `target`, to the extent possible:
|
|
@@ -191,6 +200,12 @@ module OpenAI
|
|
|
191
200
|
#
|
|
192
201
|
# @return [Object]
|
|
193
202
|
def coerce(target, value, state: OpenAI::Internal::Type::Converter.new_coerce_state)
|
|
203
|
+
if state[:memo] &&
|
|
204
|
+
target.is_a?(OpenAI::Internal::Type::Converter) &&
|
|
205
|
+
(value.is_a?(Hash) || value.is_a?(Array))
|
|
206
|
+
return coerce_cached(target, value, state: state)
|
|
207
|
+
end
|
|
208
|
+
|
|
194
209
|
exactness = state.fetch(:exactness)
|
|
195
210
|
|
|
196
211
|
case target
|
|
@@ -248,6 +263,12 @@ module OpenAI
|
|
|
248
263
|
state[:error] = TypeError.new("#{value.class} can't be coerced into #{String}")
|
|
249
264
|
end
|
|
250
265
|
|
|
266
|
+
in -> { _1 <= Symbol }
|
|
267
|
+
if value.is_a?(String)
|
|
268
|
+
exactness[:yes] += 1
|
|
269
|
+
return value.to_sym
|
|
270
|
+
end
|
|
271
|
+
|
|
251
272
|
in -> { _1 <= Date || _1 <= Time }
|
|
252
273
|
Kernel.then do
|
|
253
274
|
return target.parse(value).tap { exactness[:yes] += 1 }
|
|
@@ -282,6 +303,31 @@ module OpenAI
|
|
|
282
303
|
value
|
|
283
304
|
end
|
|
284
305
|
|
|
306
|
+
# @api private
|
|
307
|
+
# Reuse converter/value pairs within one parse, including recursive collections.
|
|
308
|
+
# Identity keys avoid recursively hashing model and converter definitions.
|
|
309
|
+
def coerce_cached(target, value, state:)
|
|
310
|
+
converters = state.fetch(:memo)
|
|
311
|
+
values = converters[target] ||= {}.compare_by_identity
|
|
312
|
+
outcomes = values[value] ||= {}
|
|
313
|
+
key = state.values_at(:translate_names, :request_only, :strictness, :error)
|
|
314
|
+
exactness = state.fetch(:exactness)
|
|
315
|
+
if (cached = outcomes[key])
|
|
316
|
+
parsed, delta, error, branched = cached
|
|
317
|
+
delta.each { exactness[_1] += _2 }
|
|
318
|
+
state[:error] = error
|
|
319
|
+
state[:branched] += branched
|
|
320
|
+
return parsed
|
|
321
|
+
end
|
|
322
|
+
|
|
323
|
+
before = exactness.dup
|
|
324
|
+
branched = state.fetch(:branched)
|
|
325
|
+
parsed = target.coerce(value, state: state)
|
|
326
|
+
delta = exactness.to_h { |name, count| [name, count - before.fetch(name)] }
|
|
327
|
+
outcomes[key] = [parsed, delta, state[:error], state[:branched] - branched]
|
|
328
|
+
parsed
|
|
329
|
+
end
|
|
330
|
+
|
|
285
331
|
# @api private
|
|
286
332
|
#
|
|
287
333
|
# Coerces a value while isolating its error from sibling coercions.
|
|
@@ -350,7 +396,8 @@ module OpenAI
|
|
|
350
396
|
strictness: T::Boolean,
|
|
351
397
|
exactness: {yes: Integer, no: Integer, maybe: Integer},
|
|
352
398
|
error: T.nilable(StandardError),
|
|
353
|
-
branched: Integer
|
|
399
|
+
branched: Integer,
|
|
400
|
+
memo: T.nilable(T::Hash[T.untyped, T.untyped])
|
|
354
401
|
}
|
|
355
402
|
end
|
|
356
403
|
end
|
|
@@ -88,7 +88,7 @@ module OpenAI
|
|
|
88
88
|
# @param value [Object]
|
|
89
89
|
#
|
|
90
90
|
# @return [OpenAI::Internal::Type::Converter, Class, nil]
|
|
91
|
-
private def resolve_variant(value)
|
|
91
|
+
private def resolve_variant(value, state: nil)
|
|
92
92
|
case [@discriminator, value]
|
|
93
93
|
in [_, OpenAI::Internal::Type::BaseModel]
|
|
94
94
|
value.class
|
|
@@ -101,18 +101,18 @@ module OpenAI
|
|
|
101
101
|
|
|
102
102
|
key = key.to_sym if key.is_a?(String)
|
|
103
103
|
_, found = known_variants.find { |k,| !k.nil? && k == key }
|
|
104
|
-
return found
|
|
104
|
+
return OpenAI::Internal::Type::Converter.resolve_type(found, state: state) if found
|
|
105
105
|
|
|
106
106
|
known_variants.each do |variant_key, variant_fn|
|
|
107
107
|
next unless variant_key.nil?
|
|
108
108
|
|
|
109
|
-
target = variant_fn
|
|
109
|
+
target = OpenAI::Internal::Type::Converter.resolve_type(variant_fn, state: state)
|
|
110
110
|
next unless target.is_a?(Class) && target <= OpenAI::Internal::Type::BaseModel
|
|
111
111
|
|
|
112
112
|
field = target.known_fields[@discriminator]
|
|
113
113
|
next unless field
|
|
114
114
|
|
|
115
|
-
type = field.fetch(:type_fn)
|
|
115
|
+
type = OpenAI::Internal::Type::Converter.resolve_type(field.fetch(:type_fn), state: state)
|
|
116
116
|
next unless OpenAI::Internal::Type::Enum === type
|
|
117
117
|
|
|
118
118
|
return target if type === key
|
|
@@ -174,7 +174,7 @@ module OpenAI
|
|
|
174
174
|
def coerce(value, state:)
|
|
175
175
|
strictness = state.fetch(:strictness)
|
|
176
176
|
previous_error = state.fetch(:error)
|
|
177
|
-
if (target = resolve_variant(value))
|
|
177
|
+
if (target = resolve_variant(value, state: state))
|
|
178
178
|
return OpenAI::Internal::Type::Converter.coerce(target, value, state: state)
|
|
179
179
|
end
|
|
180
180
|
|
|
@@ -182,7 +182,7 @@ module OpenAI
|
|
|
182
182
|
|
|
183
183
|
alternatives = []
|
|
184
184
|
known_variants.each_with_index do |(_, variant_fn), index|
|
|
185
|
-
target = variant_fn
|
|
185
|
+
target = OpenAI::Internal::Type::Converter.resolve_type(variant_fn, state: state)
|
|
186
186
|
exact = state[:exactness] = {yes: 0, no: 0, maybe: 0}
|
|
187
187
|
state[:branched] += 1
|
|
188
188
|
|
|
@@ -75,7 +75,7 @@ module OpenAI
|
|
|
75
75
|
# @!attribute tools
|
|
76
76
|
# Tools available to the agent.
|
|
77
77
|
#
|
|
78
|
-
# @return [Array<OpenAI::Models::Beta::PersistedAgentTool::Function, OpenAI::Models::Beta::PersistedAgentTool::ToolSearch, OpenAI::Models::Beta::PersistedAgentTool::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentTool::Mcp, OpenAI::Models::Beta::PersistedAgentTool::WebSearch>]
|
|
78
|
+
# @return [Array<OpenAI::Models::Beta::PersistedAgentTool::Function, OpenAI::Models::Beta::PersistedAgentTool::ToolSearch, OpenAI::Models::Beta::PersistedAgentTool::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentTool::Mcp, OpenAI::Models::Beta::PersistedAgentTool::WebSearch, OpenAI::Models::Beta::PersistedAgentTool::ComputerUse>]
|
|
79
79
|
required :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::PersistedAgentTool] }
|
|
80
80
|
|
|
81
81
|
# @!attribute updated_at
|
|
@@ -118,7 +118,7 @@ module OpenAI
|
|
|
118
118
|
# @param text [OpenAI::Models::Beta::AgentText]
|
|
119
119
|
# The resolved configuration for text generated by the agent.
|
|
120
120
|
#
|
|
121
|
-
# @param tools [Array<OpenAI::Models::Beta::PersistedAgentTool::Function, OpenAI::Models::Beta::PersistedAgentTool::ToolSearch, OpenAI::Models::Beta::PersistedAgentTool::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentTool::Mcp, OpenAI::Models::Beta::PersistedAgentTool::WebSearch>]
|
|
121
|
+
# @param tools [Array<OpenAI::Models::Beta::PersistedAgentTool::Function, OpenAI::Models::Beta::PersistedAgentTool::ToolSearch, OpenAI::Models::Beta::PersistedAgentTool::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentTool::Mcp, OpenAI::Models::Beta::PersistedAgentTool::WebSearch, OpenAI::Models::Beta::PersistedAgentTool::ComputerUse>]
|
|
122
122
|
# Tools available to the agent.
|
|
123
123
|
#
|
|
124
124
|
# @param updated_at [Integer]
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Beta
|
|
6
|
+
class AgentBrowserAuthenticationCancelParam < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute action
|
|
8
|
+
#
|
|
9
|
+
# @return [Symbol, :cancel]
|
|
10
|
+
required :action, const: :cancel
|
|
11
|
+
|
|
12
|
+
# @!attribute type
|
|
13
|
+
#
|
|
14
|
+
# @return [Symbol, :browser_authentication]
|
|
15
|
+
required :type, const: :browser_authentication
|
|
16
|
+
|
|
17
|
+
# @!method initialize(action: :cancel, type: :browser_authentication)
|
|
18
|
+
# @param action [Symbol, :cancel]
|
|
19
|
+
# @param type [Symbol, :browser_authentication]
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
23
|
+
end
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Beta
|
|
6
|
+
class AgentBrowserAuthenticationSubmitParam < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute action
|
|
8
|
+
#
|
|
9
|
+
# @return [Symbol, :submit]
|
|
10
|
+
required :action, const: :submit
|
|
11
|
+
|
|
12
|
+
# @!attribute fields
|
|
13
|
+
# Values for up to six active fields in the required action. The submitted
|
|
14
|
+
# field-value mapping and selected option must fit within 120 KiB of JSON.
|
|
15
|
+
#
|
|
16
|
+
# @return [Array<OpenAI::Models::Beta::AgentBrowserAuthenticationSubmitParam::Field>]
|
|
17
|
+
required(
|
|
18
|
+
:fields,
|
|
19
|
+
-> { OpenAI::Internal::Type::ArrayOf[OpenAI::Beta::AgentBrowserAuthenticationSubmitParam::Field] }
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
# @!attribute type
|
|
23
|
+
#
|
|
24
|
+
# @return [Symbol, :browser_authentication]
|
|
25
|
+
required :type, const: :browser_authentication
|
|
26
|
+
|
|
27
|
+
# @!attribute selected_option
|
|
28
|
+
# The chosen method. Required when the required action contains options.
|
|
29
|
+
#
|
|
30
|
+
# @return [String, nil]
|
|
31
|
+
optional :selected_option, String, nil?: true
|
|
32
|
+
|
|
33
|
+
# @!method initialize(fields:, selected_option: nil, action: :submit, type: :browser_authentication)
|
|
34
|
+
# @param fields [Array<OpenAI::Models::Beta::AgentBrowserAuthenticationSubmitParam::Field>]
|
|
35
|
+
# Values for up to six active fields in the required action. The submitted
|
|
36
|
+
# field-value mapping and selected option must fit within 120 KiB of JSON.
|
|
37
|
+
#
|
|
38
|
+
# @param selected_option [String, nil]
|
|
39
|
+
# The chosen method. Required when the required action contains options.
|
|
40
|
+
#
|
|
41
|
+
# @param action [Symbol, :submit]
|
|
42
|
+
#
|
|
43
|
+
# @param type [Symbol, :browser_authentication]
|
|
44
|
+
|
|
45
|
+
class Field < OpenAI::Internal::Type::BaseModel
|
|
46
|
+
# @!attribute field_id
|
|
47
|
+
# The field ID from the required action.
|
|
48
|
+
#
|
|
49
|
+
# @return [String]
|
|
50
|
+
required :field_id, String
|
|
51
|
+
|
|
52
|
+
# @!attribute value
|
|
53
|
+
# The value to enter into the registered control.
|
|
54
|
+
#
|
|
55
|
+
# @return [String]
|
|
56
|
+
required :value, String
|
|
57
|
+
|
|
58
|
+
# @!method initialize(field_id:, value:)
|
|
59
|
+
# One user-entered value, including non-password fields such as an email address.
|
|
60
|
+
#
|
|
61
|
+
# @param field_id [String]
|
|
62
|
+
# The field ID from the required action.
|
|
63
|
+
#
|
|
64
|
+
# @param value [String]
|
|
65
|
+
# The value to enter into the registered control.
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Beta
|
|
6
|
+
class AgentBrowserOriginAccessParam < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute decision
|
|
8
|
+
# Whether to allow, deny, or cancel the requested origin access.
|
|
9
|
+
#
|
|
10
|
+
# @return [Symbol, OpenAI::Models::Beta::AgentBrowserOriginAccessParam::Decision]
|
|
11
|
+
required :decision, enum: -> { OpenAI::Beta::AgentBrowserOriginAccessParam::Decision }
|
|
12
|
+
|
|
13
|
+
# @!attribute type
|
|
14
|
+
#
|
|
15
|
+
# @return [Symbol, :browser_origin_access]
|
|
16
|
+
required :type, const: :browser_origin_access
|
|
17
|
+
|
|
18
|
+
# @!method initialize(decision:, type: :browser_origin_access)
|
|
19
|
+
# @param decision [Symbol, OpenAI::Models::Beta::AgentBrowserOriginAccessParam::Decision]
|
|
20
|
+
# Whether to allow, deny, or cancel the requested origin access.
|
|
21
|
+
#
|
|
22
|
+
# @param type [Symbol, :browser_origin_access]
|
|
23
|
+
|
|
24
|
+
# Whether to allow, deny, or cancel the requested origin access.
|
|
25
|
+
#
|
|
26
|
+
# @see OpenAI::Models::Beta::AgentBrowserOriginAccessParam#decision
|
|
27
|
+
module Decision
|
|
28
|
+
extend OpenAI::Internal::Type::Enum
|
|
29
|
+
|
|
30
|
+
# Allow the browser to access this origin.
|
|
31
|
+
APPROVE = :approve
|
|
32
|
+
|
|
33
|
+
# Deny access to this origin.
|
|
34
|
+
DENY = :deny
|
|
35
|
+
|
|
36
|
+
# Dismiss this request without approving access.
|
|
37
|
+
CANCEL = :cancel
|
|
38
|
+
|
|
39
|
+
# @!method self.values
|
|
40
|
+
# @return [Array<Symbol>]
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -63,7 +63,7 @@ module OpenAI
|
|
|
63
63
|
# @!attribute tools
|
|
64
64
|
# Tools available to the agent. Defaults to an empty list.
|
|
65
65
|
#
|
|
66
|
-
# @return [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch>, nil]
|
|
66
|
+
# @return [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
|
|
67
67
|
optional(
|
|
68
68
|
:tools,
|
|
69
69
|
-> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::PersistedAgentToolParam] },
|
|
@@ -99,7 +99,7 @@ module OpenAI
|
|
|
99
99
|
# Configuration for generated text. Defaults to the `text` format and medium
|
|
100
100
|
# verbosity.
|
|
101
101
|
#
|
|
102
|
-
# @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch>, nil]
|
|
102
|
+
# @param tools [Array<OpenAI::Models::Beta::PersistedAgentToolParam::Function, OpenAI::Models::Beta::PersistedAgentToolParam::ToolSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::PersistedAgentToolParam::Mcp, OpenAI::Models::Beta::PersistedAgentToolParam::WebSearch, OpenAI::Models::Beta::PersistedAgentToolParam::ComputerUse>, nil]
|
|
103
103
|
# Tools available to the agent. Defaults to an empty list.
|
|
104
104
|
#
|
|
105
105
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
|
@@ -21,6 +21,12 @@ module OpenAI
|
|
|
21
21
|
# A call to a tool on an MCP server.
|
|
22
22
|
variant :mcp_call, -> { OpenAI::Beta::AgentMcpCallItem }
|
|
23
23
|
|
|
24
|
+
# One execution of the platform-provided computer-use capability.
|
|
25
|
+
variant :computer_use_call, -> { OpenAI::Beta::AgentOutputItem::ComputerUseCall }
|
|
26
|
+
|
|
27
|
+
# A credential-free history record of the emitted login request.
|
|
28
|
+
variant :computer_use_approval_request, -> { OpenAI::Beta::AgentOutputItem::ComputerUseApprovalRequest }
|
|
29
|
+
|
|
24
30
|
# A web search call produced by the agent.
|
|
25
31
|
variant :web_search_call, -> { OpenAI::Beta::AgentWebSearchCallItem }
|
|
26
32
|
|
|
@@ -45,8 +51,277 @@ module OpenAI
|
|
|
45
51
|
# A request to close a subagent.
|
|
46
52
|
variant :close_subagent_call, -> { OpenAI::Beta::AgentCloseSubagentCallItem }
|
|
47
53
|
|
|
54
|
+
class ComputerUseCall < OpenAI::Internal::Type::BaseModel
|
|
55
|
+
# @!attribute id
|
|
56
|
+
# The ID of the activity item.
|
|
57
|
+
#
|
|
58
|
+
# @return [String]
|
|
59
|
+
required :id, String
|
|
60
|
+
|
|
61
|
+
# @!attribute output
|
|
62
|
+
# The last screenshot emitted by the model. Null when screenshot inclusion is
|
|
63
|
+
# disabled or the call emitted no screenshot.
|
|
64
|
+
#
|
|
65
|
+
# @return [OpenAI::Models::Beta::AgentOutputItem::ComputerUseCall::Output, nil]
|
|
66
|
+
required :output, -> { OpenAI::Beta::AgentOutputItem::ComputerUseCall::Output }, nil?: true
|
|
67
|
+
|
|
68
|
+
# @!attribute status
|
|
69
|
+
# The execution status of the activity.
|
|
70
|
+
#
|
|
71
|
+
# @return [Symbol, OpenAI::Models::Beta::AgentFunctionCallStatus]
|
|
72
|
+
required :status, enum: -> { OpenAI::Beta::AgentFunctionCallStatus }
|
|
73
|
+
|
|
74
|
+
# @!attribute title
|
|
75
|
+
# A model-generated description of the activity, when available.
|
|
76
|
+
#
|
|
77
|
+
# @return [String, nil]
|
|
78
|
+
required :title, String, nil?: true
|
|
79
|
+
|
|
80
|
+
# @!attribute turn_id
|
|
81
|
+
# The ID of the turn that contains this item.
|
|
82
|
+
#
|
|
83
|
+
# @return [String]
|
|
84
|
+
required :turn_id, String
|
|
85
|
+
|
|
86
|
+
# @!attribute type
|
|
87
|
+
# The item type. Always `computer_use_call`.
|
|
88
|
+
#
|
|
89
|
+
# @return [Symbol, :computer_use_call]
|
|
90
|
+
required :type, const: :computer_use_call
|
|
91
|
+
|
|
92
|
+
# @!method initialize(id:, output:, status:, title:, turn_id:, type: :computer_use_call)
|
|
93
|
+
# One execution of the platform-provided computer-use capability.
|
|
94
|
+
#
|
|
95
|
+
# @param id [String]
|
|
96
|
+
# The ID of the activity item.
|
|
97
|
+
#
|
|
98
|
+
# @param output [OpenAI::Models::Beta::AgentOutputItem::ComputerUseCall::Output, nil]
|
|
99
|
+
# The last screenshot emitted by the model. Null when screenshot inclusion is
|
|
100
|
+
# disabled or the call emitted no screenshot.
|
|
101
|
+
#
|
|
102
|
+
# @param status [Symbol, OpenAI::Models::Beta::AgentFunctionCallStatus]
|
|
103
|
+
# The execution status of the activity.
|
|
104
|
+
#
|
|
105
|
+
# @param title [String, nil]
|
|
106
|
+
# A model-generated description of the activity, when available.
|
|
107
|
+
#
|
|
108
|
+
# @param turn_id [String]
|
|
109
|
+
# The ID of the turn that contains this item.
|
|
110
|
+
#
|
|
111
|
+
# @param type [Symbol, :computer_use_call]
|
|
112
|
+
# The item type. Always `computer_use_call`.
|
|
113
|
+
|
|
114
|
+
# @see OpenAI::Models::Beta::AgentOutputItem::ComputerUseCall#output
|
|
115
|
+
class Output < OpenAI::Internal::Type::BaseModel
|
|
116
|
+
# @!attribute image_url
|
|
117
|
+
# The complete JPEG image as a base64 data URL.
|
|
118
|
+
#
|
|
119
|
+
# @return [String]
|
|
120
|
+
required :image_url, String
|
|
121
|
+
|
|
122
|
+
# @!attribute type
|
|
123
|
+
# The content type. Always `computer_screenshot`.
|
|
124
|
+
#
|
|
125
|
+
# @return [Symbol, :computer_screenshot]
|
|
126
|
+
required :type, const: :computer_screenshot
|
|
127
|
+
|
|
128
|
+
# @!method initialize(image_url:, type: :computer_screenshot)
|
|
129
|
+
# The last screenshot emitted by the model. Null when screenshot inclusion is
|
|
130
|
+
# disabled or the call emitted no screenshot.
|
|
131
|
+
#
|
|
132
|
+
# @param image_url [String]
|
|
133
|
+
# The complete JPEG image as a base64 data URL.
|
|
134
|
+
#
|
|
135
|
+
# @param type [Symbol, :computer_screenshot]
|
|
136
|
+
# The content type. Always `computer_screenshot`.
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
class ComputerUseApprovalRequest < OpenAI::Internal::Type::BaseModel
|
|
141
|
+
# @!attribute id
|
|
142
|
+
# The stable history item ID.
|
|
143
|
+
#
|
|
144
|
+
# @return [String]
|
|
145
|
+
required :id, String
|
|
146
|
+
|
|
147
|
+
# @!attribute request
|
|
148
|
+
# A registered form awaiting the application's response.
|
|
149
|
+
#
|
|
150
|
+
# @return [OpenAI::Models::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request]
|
|
151
|
+
required :request, -> { OpenAI::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request }
|
|
152
|
+
|
|
153
|
+
# @!attribute request_id
|
|
154
|
+
#
|
|
155
|
+
# @return [String]
|
|
156
|
+
required :request_id, String
|
|
157
|
+
|
|
158
|
+
# @!attribute turn_id
|
|
159
|
+
#
|
|
160
|
+
# @return [String]
|
|
161
|
+
required :turn_id, String
|
|
162
|
+
|
|
163
|
+
# @!attribute type
|
|
164
|
+
# The item type. Always computer_use_approval_request.
|
|
165
|
+
#
|
|
166
|
+
# @return [Symbol, :computer_use_approval_request]
|
|
167
|
+
required :type, const: :computer_use_approval_request
|
|
168
|
+
|
|
169
|
+
# @!method initialize(id:, request:, request_id:, turn_id:, type: :computer_use_approval_request)
|
|
170
|
+
# A credential-free history record of the emitted login request.
|
|
171
|
+
#
|
|
172
|
+
# @param id [String]
|
|
173
|
+
# The stable history item ID.
|
|
174
|
+
#
|
|
175
|
+
# @param request [OpenAI::Models::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request]
|
|
176
|
+
# A registered form awaiting the application's response.
|
|
177
|
+
#
|
|
178
|
+
# @param request_id [String]
|
|
179
|
+
#
|
|
180
|
+
# @param turn_id [String]
|
|
181
|
+
#
|
|
182
|
+
# @param type [Symbol, :computer_use_approval_request]
|
|
183
|
+
# The item type. Always computer_use_approval_request.
|
|
184
|
+
|
|
185
|
+
# @see OpenAI::Models::Beta::AgentOutputItem::ComputerUseApprovalRequest#request
|
|
186
|
+
class Request < OpenAI::Internal::Type::BaseModel
|
|
187
|
+
# @!attribute credential_origin
|
|
188
|
+
# The registered form or frame origin where values will be entered.
|
|
189
|
+
#
|
|
190
|
+
# @return [String, nil]
|
|
191
|
+
required :credential_origin, String, nil?: true
|
|
192
|
+
|
|
193
|
+
# @!attribute fields
|
|
194
|
+
# Controls to render. All submitted values are sensitive.
|
|
195
|
+
#
|
|
196
|
+
# @return [Array<OpenAI::Models::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request::Field>]
|
|
197
|
+
required(
|
|
198
|
+
:fields,
|
|
199
|
+
-> {
|
|
200
|
+
OpenAI::Internal::Type::ArrayOf[
|
|
201
|
+
OpenAI::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request::Field
|
|
202
|
+
]
|
|
203
|
+
}
|
|
204
|
+
)
|
|
205
|
+
|
|
206
|
+
# @!attribute options
|
|
207
|
+
# Sign-in methods. Empty for a plain form.
|
|
208
|
+
#
|
|
209
|
+
# @return [Array<OpenAI::Models::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request::Option>]
|
|
210
|
+
required(
|
|
211
|
+
:options,
|
|
212
|
+
-> {
|
|
213
|
+
OpenAI::Internal::Type::ArrayOf[
|
|
214
|
+
OpenAI::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request::Option
|
|
215
|
+
]
|
|
216
|
+
}
|
|
217
|
+
)
|
|
218
|
+
|
|
219
|
+
# @!attribute reason
|
|
220
|
+
# Why the agent needs the user to sign in.
|
|
221
|
+
#
|
|
222
|
+
# @return [String, nil]
|
|
223
|
+
required :reason, String, nil?: true
|
|
224
|
+
|
|
225
|
+
# @!attribute type
|
|
226
|
+
# The type of the object. Always `browser_authentication`.
|
|
227
|
+
#
|
|
228
|
+
# @return [Symbol, :browser_authentication]
|
|
229
|
+
required :type, const: :browser_authentication
|
|
230
|
+
|
|
231
|
+
# @!method initialize(credential_origin:, fields:, options:, reason:, type: :browser_authentication)
|
|
232
|
+
# A registered form awaiting the application's response.
|
|
233
|
+
#
|
|
234
|
+
# @param credential_origin [String, nil]
|
|
235
|
+
# The registered form or frame origin where values will be entered.
|
|
236
|
+
#
|
|
237
|
+
# @param fields [Array<OpenAI::Models::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request::Field>]
|
|
238
|
+
# Controls to render. All submitted values are sensitive.
|
|
239
|
+
#
|
|
240
|
+
# @param options [Array<OpenAI::Models::Beta::AgentOutputItem::ComputerUseApprovalRequest::Request::Option>]
|
|
241
|
+
# Sign-in methods. Empty for a plain form.
|
|
242
|
+
#
|
|
243
|
+
# @param reason [String, nil]
|
|
244
|
+
# Why the agent needs the user to sign in.
|
|
245
|
+
#
|
|
246
|
+
# @param type [Symbol, :browser_authentication]
|
|
247
|
+
# The type of the object. Always `browser_authentication`.
|
|
248
|
+
class Field < OpenAI::Internal::Type::BaseModel
|
|
249
|
+
# @!attribute id
|
|
250
|
+
# The field ID to submit as field_id in a fields entry.
|
|
251
|
+
#
|
|
252
|
+
# @return [String]
|
|
253
|
+
required :id, String
|
|
254
|
+
|
|
255
|
+
# @!attribute label
|
|
256
|
+
# The label to display beside the control.
|
|
257
|
+
#
|
|
258
|
+
# @return [String]
|
|
259
|
+
required :label, String
|
|
260
|
+
|
|
261
|
+
# @!attribute required
|
|
262
|
+
# Whether this control requires a nonempty value.
|
|
263
|
+
#
|
|
264
|
+
# @return [Boolean]
|
|
265
|
+
required :required, OpenAI::Internal::Type::Boolean
|
|
266
|
+
|
|
267
|
+
# @!attribute type
|
|
268
|
+
# The rendering type, such as email, password, or text.
|
|
269
|
+
#
|
|
270
|
+
# @return [String]
|
|
271
|
+
required :type, String
|
|
272
|
+
|
|
273
|
+
# @!method initialize(id:, label:, required:, type:)
|
|
274
|
+
# A control in a registered browser-login form.
|
|
275
|
+
#
|
|
276
|
+
# @param id [String]
|
|
277
|
+
# The field ID to submit as field_id in a fields entry.
|
|
278
|
+
#
|
|
279
|
+
# @param label [String]
|
|
280
|
+
# The label to display beside the control.
|
|
281
|
+
#
|
|
282
|
+
# @param required [Boolean]
|
|
283
|
+
# Whether this control requires a nonempty value.
|
|
284
|
+
#
|
|
285
|
+
# @param type [String]
|
|
286
|
+
# The rendering type, such as email, password, or text.
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
class Option < OpenAI::Internal::Type::BaseModel
|
|
290
|
+
# @!attribute id
|
|
291
|
+
# The option ID to submit as selected_option.
|
|
292
|
+
#
|
|
293
|
+
# @return [String]
|
|
294
|
+
required :id, String
|
|
295
|
+
|
|
296
|
+
# @!attribute field_ids
|
|
297
|
+
# IDs from the registered fields that this method accepts.
|
|
298
|
+
#
|
|
299
|
+
# @return [Array<String>]
|
|
300
|
+
required :field_ids, OpenAI::Internal::Type::ArrayOf[String]
|
|
301
|
+
|
|
302
|
+
# @!attribute label
|
|
303
|
+
# The method label to display.
|
|
304
|
+
#
|
|
305
|
+
# @return [String]
|
|
306
|
+
required :label, String
|
|
307
|
+
|
|
308
|
+
# @!method initialize(id:, field_ids:, label:)
|
|
309
|
+
# A sign-in method and the fields that belong to it.
|
|
310
|
+
#
|
|
311
|
+
# @param id [String]
|
|
312
|
+
# The option ID to submit as selected_option.
|
|
313
|
+
#
|
|
314
|
+
# @param field_ids [Array<String>]
|
|
315
|
+
# IDs from the registered fields that this method accepts.
|
|
316
|
+
#
|
|
317
|
+
# @param label [String]
|
|
318
|
+
# The method label to display.
|
|
319
|
+
end
|
|
320
|
+
end
|
|
321
|
+
end
|
|
322
|
+
|
|
48
323
|
# @!method self.variants
|
|
49
|
-
# @return [Array(OpenAI::Models::Beta::AgentSessionAssistantMessage, OpenAI::Models::Beta::AgentReasoningItem, OpenAI::Models::Beta::AgentFunctionCallItem, OpenAI::Models::Beta::AgentMcpCallItem, OpenAI::Models::Beta::AgentWebSearchCallItem, OpenAI::Models::Beta::AgentCommandExecutionItem, OpenAI::Models::Beta::AgentCreateSubagentCallItem, OpenAI::Models::Beta::AgentSendSubagentInputCallItem, OpenAI::Models::Beta::AgentResumeSubagentCallItem, OpenAI::Models::Beta::AgentWaitForSubagentsCallItem, OpenAI::Models::Beta::AgentInterruptSubagentCallItem, OpenAI::Models::Beta::AgentCloseSubagentCallItem)]
|
|
324
|
+
# @return [Array(OpenAI::Models::Beta::AgentSessionAssistantMessage, OpenAI::Models::Beta::AgentReasoningItem, OpenAI::Models::Beta::AgentFunctionCallItem, OpenAI::Models::Beta::AgentMcpCallItem, OpenAI::Models::Beta::AgentOutputItem::ComputerUseCall, OpenAI::Models::Beta::AgentOutputItem::ComputerUseApprovalRequest, OpenAI::Models::Beta::AgentWebSearchCallItem, OpenAI::Models::Beta::AgentCommandExecutionItem, OpenAI::Models::Beta::AgentCreateSubagentCallItem, OpenAI::Models::Beta::AgentSendSubagentInputCallItem, OpenAI::Models::Beta::AgentResumeSubagentCallItem, OpenAI::Models::Beta::AgentWaitForSubagentsCallItem, OpenAI::Models::Beta::AgentInterruptSubagentCallItem, OpenAI::Models::Beta::AgentCloseSubagentCallItem)]
|
|
50
325
|
end
|
|
51
326
|
end
|
|
52
327
|
end
|