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
|
@@ -24,6 +24,9 @@ module OpenAI
|
|
|
24
24
|
# Web search.
|
|
25
25
|
variant :web_search, -> { OpenAI::Beta::PersistedAgentTool::WebSearch }
|
|
26
26
|
|
|
27
|
+
# Browser use in an OpenAI-hosted session.
|
|
28
|
+
variant :computer_use, -> { OpenAI::Beta::PersistedAgentTool::ComputerUse }
|
|
29
|
+
|
|
27
30
|
class Function < OpenAI::Internal::Type::BaseModel
|
|
28
31
|
# @!attribute defer_loading
|
|
29
32
|
# Whether the function is deferred and discovered through tool search.
|
|
@@ -321,8 +324,31 @@ module OpenAI
|
|
|
321
324
|
end
|
|
322
325
|
end
|
|
323
326
|
|
|
327
|
+
class ComputerUse < OpenAI::Internal::Type::BaseModel
|
|
328
|
+
# @!attribute include_screenshots
|
|
329
|
+
# Whether computer tool outputs include screenshots.
|
|
330
|
+
#
|
|
331
|
+
# @return [Boolean]
|
|
332
|
+
required :include_screenshots, OpenAI::Internal::Type::Boolean
|
|
333
|
+
|
|
334
|
+
# @!attribute type
|
|
335
|
+
# The type of the object. Always `computer_use`.
|
|
336
|
+
#
|
|
337
|
+
# @return [Symbol, :computer_use]
|
|
338
|
+
required :type, const: :computer_use
|
|
339
|
+
|
|
340
|
+
# @!method initialize(include_screenshots:, type: :computer_use)
|
|
341
|
+
# Browser use in an OpenAI-hosted session.
|
|
342
|
+
#
|
|
343
|
+
# @param include_screenshots [Boolean]
|
|
344
|
+
# Whether computer tool outputs include screenshots.
|
|
345
|
+
#
|
|
346
|
+
# @param type [Symbol, :computer_use]
|
|
347
|
+
# The type of the object. Always `computer_use`.
|
|
348
|
+
end
|
|
349
|
+
|
|
324
350
|
# @!method self.variants
|
|
325
|
-
# @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)]
|
|
351
|
+
# @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)]
|
|
326
352
|
end
|
|
327
353
|
end
|
|
328
354
|
end
|
|
@@ -24,6 +24,9 @@ module OpenAI
|
|
|
24
24
|
# Web search.
|
|
25
25
|
variant :web_search, -> { OpenAI::Beta::PersistedAgentToolParam::WebSearch }
|
|
26
26
|
|
|
27
|
+
# Browser use in an OpenAI-hosted session.
|
|
28
|
+
variant :computer_use, -> { OpenAI::Beta::PersistedAgentToolParam::ComputerUse }
|
|
29
|
+
|
|
27
30
|
class Function < OpenAI::Internal::Type::BaseModel
|
|
28
31
|
# @!attribute description
|
|
29
32
|
# A description of what the function does.
|
|
@@ -347,8 +350,31 @@ module OpenAI
|
|
|
347
350
|
end
|
|
348
351
|
end
|
|
349
352
|
|
|
353
|
+
class ComputerUse < OpenAI::Internal::Type::BaseModel
|
|
354
|
+
# @!attribute type
|
|
355
|
+
# The type of the object. Always `computer_use`.
|
|
356
|
+
#
|
|
357
|
+
# @return [Symbol, :computer_use]
|
|
358
|
+
required :type, const: :computer_use
|
|
359
|
+
|
|
360
|
+
# @!attribute include_screenshots
|
|
361
|
+
# Whether computer tool outputs include screenshots. Defaults to `false`.
|
|
362
|
+
#
|
|
363
|
+
# @return [Boolean, nil]
|
|
364
|
+
optional :include_screenshots, OpenAI::Internal::Type::Boolean
|
|
365
|
+
|
|
366
|
+
# @!method initialize(include_screenshots: nil, type: :computer_use)
|
|
367
|
+
# Browser use in an OpenAI-hosted session.
|
|
368
|
+
#
|
|
369
|
+
# @param include_screenshots [Boolean]
|
|
370
|
+
# Whether computer tool outputs include screenshots. Defaults to `false`.
|
|
371
|
+
#
|
|
372
|
+
# @param type [Symbol, :computer_use]
|
|
373
|
+
# The type of the object. Always `computer_use`.
|
|
374
|
+
end
|
|
375
|
+
|
|
350
376
|
# @!method self.variants
|
|
351
|
-
# @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)]
|
|
377
|
+
# @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)]
|
|
352
378
|
end
|
|
353
379
|
end
|
|
354
380
|
end
|
|
@@ -46,6 +46,9 @@ module OpenAI
|
|
|
46
46
|
# The request exceeds the available rate limit.
|
|
47
47
|
RATE_LIMIT_EXCEEDED = :rate_limit_exceeded
|
|
48
48
|
|
|
49
|
+
# Flex processing is temporarily unavailable.
|
|
50
|
+
FLEX_UNAVAILABLE = :flex_unavailable
|
|
51
|
+
|
|
49
52
|
# The model service is temporarily overloaded.
|
|
50
53
|
SERVER_OVERLOADED = :server_overloaded
|
|
51
54
|
|
|
@@ -67,7 +67,7 @@ module OpenAI
|
|
|
67
67
|
# A SIP DTMF keypress received from the caller. Delivered only to sideband observers.
|
|
68
68
|
variant :"transport.dtmf.received", -> { OpenAI::Live::ForkServerEvent::TransportDtmfReceived }
|
|
69
69
|
|
|
70
|
-
# A SIP DTMF keypress successfully sent
|
|
70
|
+
# A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to sideband observers; this is not a client command.
|
|
71
71
|
variant :"transport.dtmf.send", -> { OpenAI::Live::ForkServerEvent::TransportDtmfSend }
|
|
72
72
|
|
|
73
73
|
# The outbound SIP provider leg is ringing or providing early media. Delivered only to sideband observers.
|
|
@@ -148,12 +148,23 @@ module OpenAI
|
|
|
148
148
|
# @return [Symbol, :"transport.dtmf.send"]
|
|
149
149
|
required :type, const: :"transport.dtmf.send"
|
|
150
150
|
|
|
151
|
-
# @!
|
|
152
|
-
#
|
|
151
|
+
# @!attribute client_event_id
|
|
152
|
+
# The event_id of the client command, when supplied.
|
|
153
|
+
#
|
|
154
|
+
# @return [String, nil]
|
|
155
|
+
optional :client_event_id, String
|
|
156
|
+
|
|
157
|
+
# @!method initialize(event:, event_id:, client_event_id: nil, type: :"transport.dtmf.send")
|
|
158
|
+
# A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to
|
|
153
159
|
# sideband observers; this is not a client command.
|
|
154
160
|
#
|
|
155
161
|
# @param event [String]
|
|
162
|
+
#
|
|
156
163
|
# @param event_id [String]
|
|
164
|
+
#
|
|
165
|
+
# @param client_event_id [String]
|
|
166
|
+
# The event_id of the client command, when supplied.
|
|
167
|
+
#
|
|
157
168
|
# @param type [Symbol, :"transport.dtmf.send"]
|
|
158
169
|
end
|
|
159
170
|
|
|
@@ -67,7 +67,7 @@ module OpenAI
|
|
|
67
67
|
# A SIP DTMF keypress received from the caller. Delivered only to sideband observers.
|
|
68
68
|
variant :"transport.dtmf.received", -> { OpenAI::Live::ServerEvent::TransportDtmfReceived }
|
|
69
69
|
|
|
70
|
-
# A SIP DTMF keypress successfully sent
|
|
70
|
+
# A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to sideband observers; this is not a client command.
|
|
71
71
|
variant :"transport.dtmf.send", -> { OpenAI::Live::ServerEvent::TransportDtmfSend }
|
|
72
72
|
|
|
73
73
|
# The outbound SIP provider leg is ringing or providing early media. Delivered only to sideband observers.
|
|
@@ -148,12 +148,23 @@ module OpenAI
|
|
|
148
148
|
# @return [Symbol, :"transport.dtmf.send"]
|
|
149
149
|
required :type, const: :"transport.dtmf.send"
|
|
150
150
|
|
|
151
|
-
# @!
|
|
152
|
-
#
|
|
151
|
+
# @!attribute client_event_id
|
|
152
|
+
# The event_id of the client command, when supplied.
|
|
153
|
+
#
|
|
154
|
+
# @return [String, nil]
|
|
155
|
+
optional :client_event_id, String
|
|
156
|
+
|
|
157
|
+
# @!method initialize(event:, event_id:, client_event_id: nil, type: :"transport.dtmf.send")
|
|
158
|
+
# A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to
|
|
153
159
|
# sideband observers; this is not a client command.
|
|
154
160
|
#
|
|
155
161
|
# @param event [String]
|
|
162
|
+
#
|
|
156
163
|
# @param event_id [String]
|
|
164
|
+
#
|
|
165
|
+
# @param client_event_id [String]
|
|
166
|
+
# The event_id of the client command, when supplied.
|
|
167
|
+
#
|
|
157
168
|
# @param type [Symbol, :"transport.dtmf.send"]
|
|
158
169
|
end
|
|
159
170
|
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Realtime
|
|
6
|
+
module Translations
|
|
7
|
+
# @see OpenAI::Resources::Realtime::Translations::ClientSecrets#create
|
|
8
|
+
class ClientSecretCreateParams < OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest
|
|
9
|
+
extend OpenAI::Internal::Type::RequestParameters::Converter
|
|
10
|
+
include OpenAI::Internal::Type::RequestParameters
|
|
11
|
+
|
|
12
|
+
# @!method initialize(session:, expires_after: nil, request_options: {})
|
|
13
|
+
# @param session [OpenAI::Models::Realtime::RealtimeTranslationSessionCreateRequest]
|
|
14
|
+
# Realtime translation session configuration. Translation sessions stream source
|
|
15
|
+
# audio in and translated audio plus transcript deltas out continuously.
|
|
16
|
+
#
|
|
17
|
+
# @param expires_after [OpenAI::Models::Realtime::RealtimeTranslationClientSecretCreateRequest::ExpiresAfter]
|
|
18
|
+
# Configuration for the client secret expiration. Expiration refers to the time
|
|
19
|
+
# after which a client secret will no longer be valid for creating sessions. The
|
|
20
|
+
# session itself may continue after that time once started. A secret can be used
|
|
21
|
+
# to create multiple sessions until it expires.
|
|
22
|
+
#
|
|
23
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
end
|
|
28
|
+
end
|
|
@@ -87,7 +87,7 @@ module OpenAI
|
|
|
87
87
|
required :filename, String
|
|
88
88
|
|
|
89
89
|
# @!attribute index
|
|
90
|
-
# The index
|
|
90
|
+
# The index in the output text at which to insert the file citation.
|
|
91
91
|
#
|
|
92
92
|
# @return [Integer]
|
|
93
93
|
required :index, Integer
|
|
@@ -108,7 +108,7 @@ module OpenAI
|
|
|
108
108
|
# The filename of the file cited.
|
|
109
109
|
#
|
|
110
110
|
# @param index [Integer]
|
|
111
|
-
# The index
|
|
111
|
+
# The index in the output text at which to insert the file citation.
|
|
112
112
|
#
|
|
113
113
|
# @param type [Symbol, :file_citation]
|
|
114
114
|
# The type of the file citation. Always `file_citation`.
|
|
@@ -117,7 +117,7 @@ module OpenAI
|
|
|
117
117
|
required :filename, String
|
|
118
118
|
|
|
119
119
|
# @!attribute index
|
|
120
|
-
# The index
|
|
120
|
+
# The index in the output text at which to insert the file citation.
|
|
121
121
|
#
|
|
122
122
|
# @return [Integer]
|
|
123
123
|
required :index, Integer
|
|
@@ -138,7 +138,7 @@ module OpenAI
|
|
|
138
138
|
# The filename of the file cited.
|
|
139
139
|
#
|
|
140
140
|
# @param index [Integer]
|
|
141
|
-
# The index
|
|
141
|
+
# The index in the output text at which to insert the file citation.
|
|
142
142
|
#
|
|
143
143
|
# @param type [Symbol, :file_citation]
|
|
144
144
|
# The type of the file citation. Always `file_citation`.
|
|
@@ -1,11 +1,42 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../../../helpers/beta/agents/files"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Beta
|
|
6
8
|
class Agents
|
|
7
9
|
class Environments
|
|
8
10
|
class Files
|
|
11
|
+
# Upload selected local files for a new hosted environment (beta).
|
|
12
|
+
# @return [OpenAI::Helpers::Beta::Agents::PreparedFiles]
|
|
13
|
+
def prepare(files, request_options: {})
|
|
14
|
+
OpenAI::Helpers::Beta::Agents::FilePreparation
|
|
15
|
+
.new(client: @client, environment_files: self)
|
|
16
|
+
.prepare(files, request_options: request_options)
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
# Upload an explicitly selected directory snapshot (beta).
|
|
20
|
+
# @return [OpenAI::Helpers::Beta::Agents::PreparedFiles]
|
|
21
|
+
def prepare_directory(directory, destination:, include:, request_options: {})
|
|
22
|
+
OpenAI::Helpers::Beta::Agents::FilePreparation
|
|
23
|
+
.new(client: @client, environment_files: self)
|
|
24
|
+
.prepare_directory(
|
|
25
|
+
directory,
|
|
26
|
+
destination: destination,
|
|
27
|
+
include: include,
|
|
28
|
+
request_options: request_options
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
# Upload and stage a local file in an existing environment (beta).
|
|
33
|
+
# @return [OpenAI::Helpers::Beta::Agents::PreparedFiles]
|
|
34
|
+
def upload(environment_id, file:, path:, request_options: {})
|
|
35
|
+
OpenAI::Helpers::Beta::Agents::FilePreparation
|
|
36
|
+
.new(client: @client, environment_files: self)
|
|
37
|
+
.upload(environment_id, file: file, path: path, request_options: request_options)
|
|
38
|
+
end
|
|
39
|
+
|
|
9
40
|
# Copies inline bytes or a Files API file into a connected execution environment.
|
|
10
41
|
# See
|
|
11
42
|
# [environment files](https://developers.openai.com/api/docs/guides/agents-api/environments/files).
|
|
@@ -10,12 +10,16 @@ module OpenAI
|
|
|
10
10
|
# commands or environment values. See
|
|
11
11
|
# [reusing a hosted setup](https://developers.openai.com/api/docs/guides/agents-api/tools#reuse-a-hosted-plugin-setup).
|
|
12
12
|
#
|
|
13
|
-
# @overload create(capability_directories: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
|
|
13
|
+
# @overload create(capability_directories: nil, desktop: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
|
|
14
14
|
#
|
|
15
15
|
# @param capability_directories [Array<String>, nil]
|
|
16
16
|
# Directories that contain capabilities exposed to the agent. Defaults to an empty
|
|
17
17
|
# list.
|
|
18
18
|
#
|
|
19
|
+
# @param desktop [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Desktop, nil]
|
|
20
|
+
# Desktop provisioning. Omission or null inherits the template setting, or
|
|
21
|
+
# defaults to disabled.
|
|
22
|
+
#
|
|
19
23
|
# @param env [Hash{Symbol=>String}, nil]
|
|
20
24
|
# Environment variables made available to the agent.
|
|
21
25
|
#
|
|
@@ -87,7 +91,7 @@ module OpenAI
|
|
|
87
91
|
# values. See
|
|
88
92
|
# [reusing a hosted setup](https://developers.openai.com/api/docs/guides/agents-api/tools#reuse-a-hosted-plugin-setup).
|
|
89
93
|
#
|
|
90
|
-
# @overload update(environment_template_id, capability_directories: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
|
|
94
|
+
# @overload update(environment_template_id, capability_directories: nil, desktop: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
|
|
91
95
|
#
|
|
92
96
|
# @param environment_template_id [String]
|
|
93
97
|
# The ID of the reusable environment template.
|
|
@@ -95,6 +99,9 @@ module OpenAI
|
|
|
95
99
|
# @param capability_directories [Array<String>, nil]
|
|
96
100
|
# Directories that expose capabilities to the agent.
|
|
97
101
|
#
|
|
102
|
+
# @param desktop [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Desktop, nil]
|
|
103
|
+
# Replacement desktop configuration, or null to disable the desktop.
|
|
104
|
+
#
|
|
98
105
|
# @param env [Hash{Symbol=>String}, nil]
|
|
99
106
|
# Replacement confidential environment values.
|
|
100
107
|
#
|
|
@@ -1,11 +1,19 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative "../../../../helpers/beta/agents/artifacts"
|
|
4
|
+
|
|
3
5
|
module OpenAI
|
|
4
6
|
module Resources
|
|
5
7
|
class Beta
|
|
6
8
|
class Agents
|
|
7
9
|
class Sessions
|
|
8
10
|
class Artifacts
|
|
11
|
+
# Access artifacts from exactly this completed turn (beta).
|
|
12
|
+
# @return [OpenAI::Helpers::Beta::Agents::ResultArtifacts]
|
|
13
|
+
def for_result(result)
|
|
14
|
+
OpenAI::Helpers::Beta::Agents::ResultArtifacts.new(artifacts: self, client: @client, result: result)
|
|
15
|
+
end
|
|
16
|
+
|
|
9
17
|
# Retrieves immutable metadata for one durable session artifact. See
|
|
10
18
|
# [session artifacts](https://developers.openai.com/api/docs/guides/agents-api/environments/files#openai-hosted-artifacts).
|
|
11
19
|
#
|
|
@@ -6,11 +6,12 @@ module OpenAI
|
|
|
6
6
|
class Agents
|
|
7
7
|
class Sessions
|
|
8
8
|
class Events
|
|
9
|
-
# Submits message, cancellation,
|
|
10
|
-
# Cancellation can recover a still-open turn
|
|
11
|
-
# marking it cancelled and abandoning
|
|
12
|
-
# published files, and existing terminal
|
|
13
|
-
# acceptance, not durable completion.
|
|
9
|
+
# Submits message, cancellation, tool-result, or computer-use approval-response
|
|
10
|
+
# events to a managed agent session. Cancellation can recover a still-open turn
|
|
11
|
+
# whose backend execution has ended by marking it cancelled and abandoning
|
|
12
|
+
# unpublished outputs. Saved results, published files, and existing terminal
|
|
13
|
+
# outcomes are preserved. HTTP 202 confirms acceptance, not durable completion.
|
|
14
|
+
# See
|
|
14
15
|
# [session events](https://developers.openai.com/api/docs/guides/agents-api/sessions/events).
|
|
15
16
|
#
|
|
16
17
|
# @overload create(session_id, events:, idempotency_key: nil, request_options: {})
|
|
@@ -18,7 +19,7 @@ module OpenAI
|
|
|
18
19
|
# @param session_id [String]
|
|
19
20
|
# Path param: The ID of the session.
|
|
20
21
|
#
|
|
21
|
-
# @param events [Array<OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMessage, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputCancel, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputToolResult>]
|
|
22
|
+
# @param events [Array<OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputComputerUseApprovalRequestResult, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMessage, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputCancel, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputToolResult>]
|
|
22
23
|
# Body param: The input events to submit to the session.
|
|
23
24
|
#
|
|
24
25
|
# @param idempotency_key [String]
|
|
@@ -26,7 +26,7 @@ module OpenAI
|
|
|
26
26
|
#
|
|
27
27
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
28
28
|
#
|
|
29
|
-
# @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::AgentSessionMessage, OpenAI::Models::Beta::AgentReasoningItem, OpenAI::Models::Beta::AgentFunctionCallItem, OpenAI::Models::Beta::AgentSessionItem::FunctionCallOutput, OpenAI::Models::Beta::AgentSessionItem::AgentMessage, 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>]
|
|
29
|
+
# @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::AgentSessionMessage, OpenAI::Models::Beta::AgentReasoningItem, OpenAI::Models::Beta::AgentFunctionCallItem, OpenAI::Models::Beta::AgentSessionItem::FunctionCallOutput, OpenAI::Models::Beta::AgentSessionItem::AgentMessage, OpenAI::Models::Beta::AgentMcpCallItem, OpenAI::Models::Beta::AgentSessionItem::ComputerUseCall, OpenAI::Models::Beta::AgentSessionItem::ComputerUseApprovalRequest, OpenAI::Models::Beta::AgentSessionItem::ComputerUseApprovalRequestResult, 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>]
|
|
30
30
|
#
|
|
31
31
|
# @see OpenAI::Models::Beta::Agents::Sessions::ItemListParams
|
|
32
32
|
def list(session_id, params = {})
|
|
@@ -30,7 +30,7 @@ module OpenAI
|
|
|
30
30
|
#
|
|
31
31
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
32
32
|
#
|
|
33
|
-
# @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::AgentSessionMessage, OpenAI::Models::Beta::AgentReasoningItem, OpenAI::Models::Beta::AgentFunctionCallItem, OpenAI::Models::Beta::AgentSessionItem::FunctionCallOutput, OpenAI::Models::Beta::AgentSessionItem::AgentMessage, 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>]
|
|
33
|
+
# @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::AgentSessionMessage, OpenAI::Models::Beta::AgentReasoningItem, OpenAI::Models::Beta::AgentFunctionCallItem, OpenAI::Models::Beta::AgentSessionItem::FunctionCallOutput, OpenAI::Models::Beta::AgentSessionItem::AgentMessage, OpenAI::Models::Beta::AgentMcpCallItem, OpenAI::Models::Beta::AgentSessionItem::ComputerUseCall, OpenAI::Models::Beta::AgentSessionItem::ComputerUseApprovalRequest, OpenAI::Models::Beta::AgentSessionItem::ComputerUseApprovalRequestResult, 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>]
|
|
34
34
|
#
|
|
35
35
|
# @see OpenAI::Models::Beta::Agents::Sessions::Subagents::ItemListParams
|
|
36
36
|
def list(subagent_id, params)
|
|
@@ -34,7 +34,7 @@ module OpenAI
|
|
|
34
34
|
#
|
|
35
35
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
36
36
|
#
|
|
37
|
-
# @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::AgentSessionMessage, OpenAI::Models::Beta::AgentReasoningItem, OpenAI::Models::Beta::AgentFunctionCallItem, OpenAI::Models::Beta::AgentSessionItem::FunctionCallOutput, OpenAI::Models::Beta::AgentSessionItem::AgentMessage, 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>]
|
|
37
|
+
# @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::AgentSessionMessage, OpenAI::Models::Beta::AgentReasoningItem, OpenAI::Models::Beta::AgentFunctionCallItem, OpenAI::Models::Beta::AgentSessionItem::FunctionCallOutput, OpenAI::Models::Beta::AgentSessionItem::AgentMessage, OpenAI::Models::Beta::AgentMcpCallItem, OpenAI::Models::Beta::AgentSessionItem::ComputerUseCall, OpenAI::Models::Beta::AgentSessionItem::ComputerUseApprovalRequest, OpenAI::Models::Beta::AgentSessionItem::ComputerUseApprovalRequestResult, 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>]
|
|
38
38
|
#
|
|
39
39
|
# @see OpenAI::Models::Beta::Agents::Sessions::Subagents::Turns::ItemListParams
|
|
40
40
|
def list(turn_id, params)
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Resources
|
|
5
|
+
class Beta
|
|
6
|
+
class Agents
|
|
7
|
+
class Sessions
|
|
8
|
+
class Traces
|
|
9
|
+
# Lists published root-turn traces as OTLP JSON, ordered by turn creation time and
|
|
10
|
+
# ID. Unpublished traces are skipped. Each page returns data available when read;
|
|
11
|
+
# it does not wait for late traces. Trace reads and the JSON response are limited
|
|
12
|
+
# to 16 MiB per request. If the limit is exceeded, request fewer traces.
|
|
13
|
+
#
|
|
14
|
+
# @overload list(session_id, after: nil, limit: nil, order: nil, request_options: {})
|
|
15
|
+
#
|
|
16
|
+
# @param session_id [String]
|
|
17
|
+
# The ID of the session.
|
|
18
|
+
#
|
|
19
|
+
# @param after [String]
|
|
20
|
+
# Return resources after this resource ID in the selected order.
|
|
21
|
+
#
|
|
22
|
+
# @param limit [Integer]
|
|
23
|
+
# The maximum number of resources to return, between 1 and 100. Defaults to 20.
|
|
24
|
+
#
|
|
25
|
+
# @param order [Symbol, OpenAI::Models::Beta::Agents::Sessions::TraceListParams::Order]
|
|
26
|
+
# The order in which resources are returned. Defaults to `desc`.
|
|
27
|
+
#
|
|
28
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
29
|
+
#
|
|
30
|
+
# @return [OpenAI::Internal::CursorPage<OpenAI::Models::Beta::Agents::Sessions::SessionTrace>]
|
|
31
|
+
#
|
|
32
|
+
# @see OpenAI::Models::Beta::Agents::Sessions::TraceListParams
|
|
33
|
+
def list(session_id, params = {})
|
|
34
|
+
parsed, options = OpenAI::Beta::Agents::Sessions::TraceListParams.dump_request(params)
|
|
35
|
+
query = OpenAI::Internal::Util.encode_query_params(parsed)
|
|
36
|
+
@client.request(
|
|
37
|
+
method: :get,
|
|
38
|
+
path: ["agents/sessions/%1$s/traces", session_id],
|
|
39
|
+
query: query,
|
|
40
|
+
page: OpenAI::Internal::CursorPage,
|
|
41
|
+
model: OpenAI::Beta::Agents::Sessions::SessionTrace,
|
|
42
|
+
security: {bearer_auth: true},
|
|
43
|
+
options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
# @api private
|
|
48
|
+
#
|
|
49
|
+
# @param client [OpenAI::Client]
|
|
50
|
+
def initialize(client:)
|
|
51
|
+
@client = client
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -17,6 +17,9 @@ module OpenAI
|
|
|
17
17
|
# @return [OpenAI::Resources::Beta::Agents::Sessions::Events]
|
|
18
18
|
attr_reader :events
|
|
19
19
|
|
|
20
|
+
# @return [OpenAI::Resources::Beta::Agents::Sessions::Traces]
|
|
21
|
+
attr_reader :traces
|
|
22
|
+
|
|
20
23
|
# @return [OpenAI::Resources::Beta::Agents::Sessions::Turns]
|
|
21
24
|
attr_reader :turns
|
|
22
25
|
|
|
@@ -82,7 +85,7 @@ module OpenAI
|
|
|
82
85
|
# the session or streams its events when stream is true. See
|
|
83
86
|
# [running sessions](https://developers.openai.com/api/docs/guides/agents-api/sessions).
|
|
84
87
|
#
|
|
85
|
-
# @overload create_streaming(environment:, agent: nil, agent_id: nil, input: nil, metadata: nil, vault_ids: nil, request_options: {})
|
|
88
|
+
# @overload create_streaming(environment:, agent: nil, agent_id: nil, input: nil, output_type: nil, metadata: nil, vault_ids: nil, request_options: {})
|
|
86
89
|
#
|
|
87
90
|
# @param environment [OpenAI::Models::Beta::EnvironmentParam::None, OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted, OpenAI::Models::Beta::EnvironmentParam::SelfHosted]
|
|
88
91
|
# An inline execution environment or a reference to an environment template.
|
|
@@ -108,29 +111,36 @@ module OpenAI
|
|
|
108
111
|
# @param vault_ids [Array<String>, nil]
|
|
109
112
|
# The IDs of vaults made available to the session.
|
|
110
113
|
#
|
|
114
|
+
# @param output_type [Class<OpenAI::BaseModel>, nil] Beta: configure and parse a structured answer.
|
|
115
|
+
#
|
|
111
116
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
112
117
|
#
|
|
113
|
-
# @return [OpenAI::
|
|
118
|
+
# @return [OpenAI::Helpers::Beta::Agents::CreationStream]
|
|
114
119
|
#
|
|
115
120
|
# @see OpenAI::Models::Beta::Agents::SessionCreateParams
|
|
116
121
|
def create_streaming(params)
|
|
122
|
+
params = params.to_h.transform_keys { _1.is_a?(String) ? _1.to_sym : _1 }
|
|
123
|
+
output_type = params.delete(:output_type)
|
|
124
|
+
parser = OpenAI::Helpers::Beta::Agents::OutputParser.new(output_type) unless output_type.nil?
|
|
117
125
|
parsed, options = OpenAI::Beta::Agents::SessionCreateParams.dump_request(params)
|
|
118
126
|
unless parsed.fetch(:stream, true)
|
|
119
127
|
message = "Please use `#create` for the non-streaming use case."
|
|
120
128
|
raise ArgumentError.new(message)
|
|
121
129
|
end
|
|
122
130
|
|
|
131
|
+
parser&.prepare_request(parsed)
|
|
123
132
|
parsed.store(:stream, true)
|
|
124
|
-
@client.request(
|
|
133
|
+
stream = @client.request(
|
|
125
134
|
method: :post,
|
|
126
135
|
path: "agents/sessions",
|
|
127
136
|
headers: {"accept" => "text/event-stream", "accept-encoding" => "identity"},
|
|
128
137
|
body: parsed,
|
|
129
|
-
stream: OpenAI::
|
|
138
|
+
stream: OpenAI::Helpers::Beta::Agents::CreationStream,
|
|
130
139
|
model: OpenAI::Beta::AgentSessionEvent,
|
|
131
140
|
security: {bearer_auth: true},
|
|
132
141
|
options: {extra_headers: {"OpenAI-Beta" => "agents=v1"}, **options}
|
|
133
142
|
)
|
|
143
|
+
stream.configure_output_parser(parser)
|
|
134
144
|
end
|
|
135
145
|
|
|
136
146
|
# Retrieves the current state of a managed agent session. See
|
|
@@ -265,16 +275,18 @@ module OpenAI
|
|
|
265
275
|
# @param input [String, Array<OpenAI::Models::Beta::AgentSessionInputMessageParam>]
|
|
266
276
|
# @param tool_handlers [Hash{String=>Proc}]
|
|
267
277
|
# @param idempotency_key [String, nil] Applies only to the input submission.
|
|
278
|
+
# @param output_type [Class<OpenAI::BaseModel>, nil] Beta: parse output without changing session configuration.
|
|
268
279
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
269
280
|
# @yieldparam stream [OpenAI::Helpers::Agents::SessionStream]
|
|
270
281
|
# @return [OpenAI::Helpers::Agents::SessionStream]
|
|
271
|
-
def stream(session_id, input:, tool_handlers: {}, idempotency_key: nil, request_options: {})
|
|
282
|
+
def stream(session_id, input:, tool_handlers: {}, idempotency_key: nil, output_type: nil, request_options: {})
|
|
272
283
|
stream = OpenAI::Helpers::Agents::SessionStream.new(
|
|
273
284
|
sessions: self,
|
|
274
285
|
session_id: session_id,
|
|
275
286
|
input: input,
|
|
276
287
|
tool_handlers: tool_handlers,
|
|
277
288
|
idempotency_key: idempotency_key,
|
|
289
|
+
output_type: output_type,
|
|
278
290
|
request_options: request_options
|
|
279
291
|
)
|
|
280
292
|
return stream unless block_given?
|
|
@@ -297,6 +309,7 @@ module OpenAI
|
|
|
297
309
|
@artifacts = OpenAI::Resources::Beta::Agents::Sessions::Artifacts.new(client: client)
|
|
298
310
|
@items = OpenAI::Resources::Beta::Agents::Sessions::Items.new(client: client)
|
|
299
311
|
@events = OpenAI::Resources::Beta::Agents::Sessions::Events.new(client: client)
|
|
312
|
+
@traces = OpenAI::Resources::Beta::Agents::Sessions::Traces.new(client: client)
|
|
300
313
|
@turns = OpenAI::Resources::Beta::Agents::Sessions::Turns.new(client: client)
|
|
301
314
|
end
|
|
302
315
|
end
|
|
@@ -46,7 +46,7 @@ module OpenAI
|
|
|
46
46
|
# Configuration for generated text. Defaults to the `text` format and medium
|
|
47
47
|
# verbosity.
|
|
48
48
|
#
|
|
49
|
-
# @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]
|
|
49
|
+
# @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]
|
|
50
50
|
# Tools available to the agent. Defaults to an empty list.
|
|
51
51
|
#
|
|
52
52
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
@@ -125,7 +125,7 @@ module OpenAI
|
|
|
125
125
|
# @param text [OpenAI::Models::Beta::AgentTextParam, nil]
|
|
126
126
|
# Configuration for text generated by the agent.
|
|
127
127
|
#
|
|
128
|
-
# @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]
|
|
128
|
+
# @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]
|
|
129
129
|
# Tools available to the agent.
|
|
130
130
|
#
|
|
131
131
|
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
@@ -172,7 +172,7 @@ module OpenAI
|
|
|
172
172
|
|
|
173
173
|
@client.request(
|
|
174
174
|
method: :post,
|
|
175
|
-
path: ["evals/%1$s/runs/%2$s", eval_id, run_id],
|
|
175
|
+
path: ["evals/%1$s/runs/%2$s/cancel", eval_id, run_id],
|
|
176
176
|
model: OpenAI::Models::Evals::RunCancelResponse,
|
|
177
177
|
security: {bearer_auth: true},
|
|
178
178
|
options: options
|