openai 0.88.0 → 0.89.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 +12 -0
- data/README.md +1 -1
- data/lib/openai/client.rb +4 -0
- data/lib/openai/models/beta/beta_response_input_item.rb +91 -1
- data/lib/openai/models/beta/beta_response_item.rb +93 -1
- data/lib/openai/models/beta/beta_response_output_item.rb +91 -1
- data/lib/openai/models/conversations/conversation_item.rb +91 -1
- data/lib/openai/models/live/audio_format.rb +109 -0
- data/lib/openai/models/live/built_in_voice.rb +38 -0
- data/lib/openai/models/live/client_config.rb +22 -0
- data/lib/openai/models/live/client_delegation.rb +22 -0
- data/lib/openai/models/live/client_event.rb +54 -0
- data/lib/openai/models/live/commentary_append_event.rb +59 -0
- data/lib/openai/models/live/commentary_appended_event.rb +65 -0
- data/lib/openai/models/live/custom_voice.rb +17 -0
- data/lib/openai/models/live/data_channel_config.rb +81 -0
- data/lib/openai/models/live/delegation_created_event.rb +140 -0
- data/lib/openai/models/live/error.rb +60 -0
- data/lib/openai/models/live/error_event.rb +52 -0
- data/lib/openai/models/live/fork_client_event.rb +53 -0
- data/lib/openai/models/live/fork_server_event.rb +295 -0
- data/lib/openai/models/live/fork_session_config.rb +107 -0
- data/lib/openai/models/live/fork_session_start_event.rb +48 -0
- data/lib/openai/models/live/function_tool.rb +60 -0
- data/lib/openai/models/live/info_event.rb +60 -0
- data/lib/openai/models/live/initial_item.rb +419 -0
- data/lib/openai/models/live/input_audio_append_event.rb +50 -0
- data/lib/openai/models/live/input_audio_mute_event.rb +33 -0
- data/lib/openai/models/live/input_audio_muted_event.rb +42 -0
- data/lib/openai/models/live/input_audio_unmute_event.rb +33 -0
- data/lib/openai/models/live/input_audio_unmuted_event.rb +42 -0
- data/lib/openai/models/live/input_transcript_delta_event.rb +76 -0
- data/lib/openai/models/live/instructions_append_event.rb +57 -0
- data/lib/openai/models/live/instructions_appended_event.rb +65 -0
- data/lib/openai/models/live/live_create_params.rb +57 -0
- data/lib/openai/models/live/live_create_response.rb +77 -0
- data/lib/openai/models/live/media_session_config.rb +227 -0
- data/lib/openai/models/live/media_session_fork_config.rb +75 -0
- data/lib/openai/models/live/output_audio_delta_event.rb +58 -0
- data/lib/openai/models/live/output_transcript_delta_event.rb +76 -0
- data/lib/openai/models/live/response_create_event.rb +33 -0
- data/lib/openai/models/live/response_event.rb +67 -0
- data/lib/openai/models/live/response_item_create_event.rb +44 -0
- data/lib/openai/models/live/responses_delegation_config.rb +332 -0
- data/lib/openai/models/live/responses_delegation_update_config.rb +332 -0
- data/lib/openai/models/live/server_event.rb +295 -0
- data/lib/openai/models/live/server_event_selector.rb +32 -0
- data/lib/openai/models/live/session_accept_params.rb +257 -0
- data/lib/openai/models/live/session_close_event.rb +33 -0
- data/lib/openai/models/live/session_closed_event.rb +113 -0
- data/lib/openai/models/live/session_config.rb +236 -0
- data/lib/openai/models/live/session_download_recording_params.rb +27 -0
- data/lib/openai/models/live/session_fork_params.rb +66 -0
- data/lib/openai/models/live/session_fork_response.rb +77 -0
- data/lib/openai/models/live/session_hangup_params.rb +22 -0
- data/lib/openai/models/live/session_refer_params.rb +34 -0
- data/lib/openai/models/live/session_reject_params.rb +32 -0
- data/lib/openai/models/live/session_resource.rb +268 -0
- data/lib/openai/models/live/session_start_event.rb +46 -0
- data/lib/openai/models/live/session_started_event.rb +51 -0
- data/lib/openai/models/live/session_update_config.rb +69 -0
- data/lib/openai/models/live/session_update_event.rb +46 -0
- data/lib/openai/models/live/session_updated_event.rb +51 -0
- data/lib/openai/models/live/session_usage.rb +24 -0
- data/lib/openai/models/live/session_usage_updated_event.rb +81 -0
- data/lib/openai/models/live/thinking_append_event.rb +59 -0
- data/lib/openai/models/live/thinking_appended_event.rb +65 -0
- data/lib/openai/models/responses/response_input_item.rb +91 -1
- data/lib/openai/models/responses/response_item.rb +93 -1
- data/lib/openai/models/responses/response_output_item.rb +91 -1
- data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +12 -7
- data/lib/openai/models/webhooks/live_transport_incoming_webhook_event.rb +137 -0
- data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +4 -4
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -2
- data/lib/openai/models.rb +2 -0
- data/lib/openai/resources/live/forks.rb +16 -0
- data/lib/openai/resources/live/sessions.rb +180 -0
- data/lib/openai/resources/live/sideband.rb +16 -0
- data/lib/openai/resources/live.rb +54 -0
- data/lib/openai/resources/webhooks.rb +1 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +65 -0
- data/rbi/openai/client.rbi +3 -0
- data/rbi/openai/models/beta/beta_response_input_item.rbi +109 -0
- data/rbi/openai/models/beta/beta_response_item.rbi +105 -0
- data/rbi/openai/models/beta/beta_response_output_item.rbi +119 -0
- data/rbi/openai/models/conversations/conversation_item.rbi +133 -0
- data/rbi/openai/models/live/audio_format.rbi +185 -0
- data/rbi/openai/models/live/built_in_voice.rbi +46 -0
- data/rbi/openai/models/live/client_config.rbi +54 -0
- data/rbi/openai/models/live/client_delegation.rbi +51 -0
- data/rbi/openai/models/live/client_event.rbi +41 -0
- data/rbi/openai/models/live/commentary_append_event.rbi +88 -0
- data/rbi/openai/models/live/commentary_appended_event.rbi +97 -0
- data/rbi/openai/models/live/custom_voice.rbi +46 -0
- data/rbi/openai/models/live/data_channel_config.rbi +119 -0
- data/rbi/openai/models/live/delegation_created_event.rbi +207 -0
- data/rbi/openai/models/live/error.rbi +95 -0
- data/rbi/openai/models/live/error_event.rbi +87 -0
- data/rbi/openai/models/live/fork_client_event.rbi +40 -0
- data/rbi/openai/models/live/fork_server_event.rbi +436 -0
- data/rbi/openai/models/live/fork_session_config.rbi +234 -0
- data/rbi/openai/models/live/fork_session_start_event.rbi +80 -0
- data/rbi/openai/models/live/function_tool.rbi +95 -0
- data/rbi/openai/models/live/info_event.rbi +92 -0
- data/rbi/openai/models/live/initial_item.rbi +661 -0
- data/rbi/openai/models/live/input_audio_append_event.rbi +79 -0
- data/rbi/openai/models/live/input_audio_mute_event.rbi +62 -0
- data/rbi/openai/models/live/input_audio_muted_event.rbi +74 -0
- data/rbi/openai/models/live/input_audio_unmute_event.rbi +62 -0
- data/rbi/openai/models/live/input_audio_unmuted_event.rbi +74 -0
- data/rbi/openai/models/live/input_transcript_delta_event.rbi +115 -0
- data/rbi/openai/models/live/instructions_append_event.rbi +86 -0
- data/rbi/openai/models/live/instructions_appended_event.rbi +97 -0
- data/rbi/openai/models/live/live_create_params.rbi +121 -0
- data/rbi/openai/models/live/live_create_response.rbi +160 -0
- data/rbi/openai/models/live/media_session_config.rbi +390 -0
- data/rbi/openai/models/live/media_session_fork_config.rbi +143 -0
- data/rbi/openai/models/live/output_audio_delta_event.rbi +93 -0
- data/rbi/openai/models/live/output_transcript_delta_event.rbi +115 -0
- data/rbi/openai/models/live/response_create_event.rbi +62 -0
- data/rbi/openai/models/live/response_event.rbi +105 -0
- data/rbi/openai/models/live/response_item_create_event.rbi +183 -0
- data/rbi/openai/models/live/responses_delegation_config.rbi +562 -0
- data/rbi/openai/models/live/responses_delegation_update_config.rbi +585 -0
- data/rbi/openai/models/live/server_event.rbi +436 -0
- data/rbi/openai/models/live/server_event_selector.rbi +64 -0
- data/rbi/openai/models/live/session_accept_params.rbi +451 -0
- data/rbi/openai/models/live/session_close_event.rbi +62 -0
- data/rbi/openai/models/live/session_closed_event.rbi +148 -0
- data/rbi/openai/models/live/session_config.rbi +427 -0
- data/rbi/openai/models/live/session_download_recording_params.rbi +57 -0
- data/rbi/openai/models/live/session_fork_params.rbi +131 -0
- data/rbi/openai/models/live/session_fork_response.rbi +160 -0
- data/rbi/openai/models/live/session_hangup_params.rbi +53 -0
- data/rbi/openai/models/live/session_refer_params.rbi +64 -0
- data/rbi/openai/models/live/session_reject_params.rbi +62 -0
- data/rbi/openai/models/live/session_resource.rbi +461 -0
- data/rbi/openai/models/live/session_start_event.rbi +78 -0
- data/rbi/openai/models/live/session_started_event.rbi +86 -0
- data/rbi/openai/models/live/session_update_config.rbi +134 -0
- data/rbi/openai/models/live/session_update_event.rbi +78 -0
- data/rbi/openai/models/live/session_updated_event.rbi +86 -0
- data/rbi/openai/models/live/session_usage.rbi +53 -0
- data/rbi/openai/models/live/session_usage_updated_event.rbi +148 -0
- data/rbi/openai/models/live/thinking_append_event.rbi +88 -0
- data/rbi/openai/models/live/thinking_appended_event.rbi +97 -0
- data/rbi/openai/models/responses/response_input_item.rbi +113 -0
- data/rbi/openai/models/responses/response_item.rbi +105 -0
- data/rbi/openai/models/responses/response_output_item.rbi +125 -0
- data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +11 -7
- data/rbi/openai/models/webhooks/live_transport_incoming_webhook_event.rbi +226 -0
- data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +4 -4
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
- data/rbi/openai/models.rbi +2 -0
- data/rbi/openai/resources/live/forks.rbi +19 -0
- data/rbi/openai/resources/live/sessions.rbi +110 -0
- data/rbi/openai/resources/live/sideband.rbi +19 -0
- data/rbi/openai/resources/live.rbi +43 -0
- data/rbi/openai/resources/responses.rbi +75 -38
- data/rbi/openai/resources/webhooks.rbi +1 -0
- data/sig/openai/client.rbs +2 -0
- data/sig/openai/models/beta/beta_response_input_item.rbs +56 -0
- data/sig/openai/models/beta/beta_response_item.rbs +56 -0
- data/sig/openai/models/beta/beta_response_output_item.rbs +56 -0
- data/sig/openai/models/conversations/conversation_item.rbs +56 -0
- data/sig/openai/models/live/audio_format.rbs +73 -0
- data/sig/openai/models/live/built_in_voice.rbs +58 -0
- data/sig/openai/models/live/client_config.rbs +15 -0
- data/sig/openai/models/live/client_delegation.rbs +15 -0
- data/sig/openai/models/live/client_event.rbs +24 -0
- data/sig/openai/models/live/commentary_append_event.rbs +37 -0
- data/sig/openai/models/live/commentary_appended_event.rbs +44 -0
- data/sig/openai/models/live/custom_voice.rbs +15 -0
- data/sig/openai/models/live/data_channel_config.rbs +56 -0
- data/sig/openai/models/live/delegation_created_event.rbs +89 -0
- data/sig/openai/models/live/error.rbs +46 -0
- data/sig/openai/models/live/error_event.rbs +39 -0
- data/sig/openai/models/live/fork_client_event.rbs +24 -0
- data/sig/openai/models/live/fork_server_event.rbs +212 -0
- data/sig/openai/models/live/fork_session_config.rbs +89 -0
- data/sig/openai/models/live/fork_session_start_event.rbs +32 -0
- data/sig/openai/models/live/function_tool.rbs +42 -0
- data/sig/openai/models/live/info_event.rbs +44 -0
- data/sig/openai/models/live/initial_item.rbs +332 -0
- data/sig/openai/models/live/input_audio_append_event.rbs +32 -0
- data/sig/openai/models/live/input_audio_mute_event.rbs +24 -0
- data/sig/openai/models/live/input_audio_muted_event.rbs +34 -0
- data/sig/openai/models/live/input_audio_unmute_event.rbs +24 -0
- data/sig/openai/models/live/input_audio_unmuted_event.rbs +34 -0
- data/sig/openai/models/live/input_transcript_delta_event.rbs +49 -0
- data/sig/openai/models/live/instructions_append_event.rbs +37 -0
- data/sig/openai/models/live/instructions_appended_event.rbs +44 -0
- data/sig/openai/models/live/live_create_params.rbs +45 -0
- data/sig/openai/models/live/live_create_response.rbs +49 -0
- data/sig/openai/models/live/media_session_config.rbs +157 -0
- data/sig/openai/models/live/media_session_fork_config.rbs +66 -0
- data/sig/openai/models/live/output_audio_delta_event.rbs +41 -0
- data/sig/openai/models/live/output_transcript_delta_event.rbs +49 -0
- data/sig/openai/models/live/response_create_event.rbs +18 -0
- data/sig/openai/models/live/response_event.rbs +44 -0
- data/sig/openai/models/live/response_item_create_event.rbs +32 -0
- data/sig/openai/models/live/responses_delegation_config.rbs +244 -0
- data/sig/openai/models/live/responses_delegation_update_config.rbs +246 -0
- data/sig/openai/models/live/server_event.rbs +212 -0
- data/sig/openai/models/live/server_event_selector.rbs +19 -0
- data/sig/openai/models/live/session_accept_params.rbs +185 -0
- data/sig/openai/models/live/session_close_event.rbs +17 -0
- data/sig/openai/models/live/session_closed_event.rbs +68 -0
- data/sig/openai/models/live/session_config.rbs +168 -0
- data/sig/openai/models/live/session_download_recording_params.rbs +25 -0
- data/sig/openai/models/live/session_fork_params.rbs +54 -0
- data/sig/openai/models/live/session_fork_response.rbs +49 -0
- data/sig/openai/models/live/session_hangup_params.rbs +25 -0
- data/sig/openai/models/live/session_refer_params.rbs +33 -0
- data/sig/openai/models/live/session_reject_params.rbs +33 -0
- data/sig/openai/models/live/session_resource.rbs +183 -0
- data/sig/openai/models/live/session_start_event.rbs +32 -0
- data/sig/openai/models/live/session_started_event.rbs +39 -0
- data/sig/openai/models/live/session_update_config.rbs +56 -0
- data/sig/openai/models/live/session_update_event.rbs +32 -0
- data/sig/openai/models/live/session_updated_event.rbs +39 -0
- data/sig/openai/models/live/session_usage.rbs +15 -0
- data/sig/openai/models/live/session_usage_updated_event.rbs +58 -0
- data/sig/openai/models/live/thinking_append_event.rbs +37 -0
- data/sig/openai/models/live/thinking_appended_event.rbs +44 -0
- data/sig/openai/models/responses/response_input_item.rbs +56 -0
- data/sig/openai/models/responses/response_item.rbs +56 -0
- data/sig/openai/models/responses/response_output_item.rbs +56 -0
- data/sig/openai/models/webhooks/live_transport_incoming_webhook_event.rbs +95 -0
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
- data/sig/openai/models.rbs +2 -0
- data/sig/openai/resources/live/forks.rbs +9 -0
- data/sig/openai/resources/live/sessions.rbs +44 -0
- data/sig/openai/resources/live/sideband.rbs +9 -0
- data/sig/openai/resources/live.rbs +19 -0
- data/sig/openai/resources/webhooks.rbs +1 -0
- metadata +196 -1
|
@@ -0,0 +1,585 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class ResponsesDelegationUpdateConfig < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Instructions for the delegated Responses model, separate from Live instructions.
|
|
18
|
+
# See
|
|
19
|
+
# [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
|
|
20
|
+
sig { returns(T.nilable(String)) }
|
|
21
|
+
attr_accessor :instructions
|
|
22
|
+
|
|
23
|
+
# Maximum number of output tokens for each delegated response.
|
|
24
|
+
sig { returns(T.nilable(Integer)) }
|
|
25
|
+
attr_accessor :max_output_tokens
|
|
26
|
+
|
|
27
|
+
# The Responses backend model to use for subsequent delegated requests. Omit to
|
|
28
|
+
# keep the current backend model.
|
|
29
|
+
sig { returns(T.nilable(String)) }
|
|
30
|
+
attr_reader :model
|
|
31
|
+
|
|
32
|
+
sig { params(model: String).void }
|
|
33
|
+
attr_writer :model
|
|
34
|
+
|
|
35
|
+
# Whether the delegated Responses model may request multiple tool calls in a
|
|
36
|
+
# single response.
|
|
37
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
38
|
+
attr_accessor :parallel_tool_calls
|
|
39
|
+
|
|
40
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
41
|
+
sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning)) }
|
|
42
|
+
attr_reader :reasoning
|
|
43
|
+
|
|
44
|
+
sig { params(reasoning: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::OrHash)).void }
|
|
45
|
+
attr_writer :reasoning
|
|
46
|
+
|
|
47
|
+
# Service tier for delegated Responses requests.
|
|
48
|
+
sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::OrSymbol)) }
|
|
49
|
+
attr_accessor :service_tier
|
|
50
|
+
|
|
51
|
+
# Text generation settings passed to each delegated Responses request.
|
|
52
|
+
sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Text)) }
|
|
53
|
+
attr_reader :text
|
|
54
|
+
|
|
55
|
+
sig { params(text: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Text::OrHash)).void }
|
|
56
|
+
attr_writer :text
|
|
57
|
+
|
|
58
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
59
|
+
# the Live model.
|
|
60
|
+
sig {
|
|
61
|
+
returns(
|
|
62
|
+
T.nilable(
|
|
63
|
+
T.any(
|
|
64
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::OrSymbol,
|
|
65
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam,
|
|
66
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam
|
|
67
|
+
)
|
|
68
|
+
)
|
|
69
|
+
)
|
|
70
|
+
}
|
|
71
|
+
attr_reader :tool_choice
|
|
72
|
+
|
|
73
|
+
sig {
|
|
74
|
+
params(
|
|
75
|
+
tool_choice: T.any(
|
|
76
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::OrSymbol,
|
|
77
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam::OrHash,
|
|
78
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam::OrHash
|
|
79
|
+
)
|
|
80
|
+
)
|
|
81
|
+
.void
|
|
82
|
+
}
|
|
83
|
+
attr_writer :tool_choice
|
|
84
|
+
|
|
85
|
+
# Tools available to the Responses backend while it handles tasks delegated by the
|
|
86
|
+
# Live model.
|
|
87
|
+
sig {
|
|
88
|
+
returns(
|
|
89
|
+
T.nilable(
|
|
90
|
+
T::Array[
|
|
91
|
+
T.any(OpenAI::Live::FunctionTool, OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch)
|
|
92
|
+
]
|
|
93
|
+
)
|
|
94
|
+
)
|
|
95
|
+
}
|
|
96
|
+
attr_reader :tools
|
|
97
|
+
|
|
98
|
+
sig {
|
|
99
|
+
params(
|
|
100
|
+
tools: T::Array[
|
|
101
|
+
T.any(
|
|
102
|
+
OpenAI::Live::FunctionTool::OrHash,
|
|
103
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch::OrHash
|
|
104
|
+
)
|
|
105
|
+
]
|
|
106
|
+
)
|
|
107
|
+
.void
|
|
108
|
+
}
|
|
109
|
+
attr_writer :tools
|
|
110
|
+
|
|
111
|
+
# Updates to the Responses backend of an existing Live session. Omitted settings
|
|
112
|
+
# retain their current values.
|
|
113
|
+
sig do
|
|
114
|
+
params(
|
|
115
|
+
|
|
116
|
+
instructions: T.nilable(String),
|
|
117
|
+
|
|
118
|
+
max_output_tokens: T.nilable(Integer),
|
|
119
|
+
|
|
120
|
+
model: String,
|
|
121
|
+
|
|
122
|
+
parallel_tool_calls: T.nilable(T::Boolean),
|
|
123
|
+
|
|
124
|
+
reasoning: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::OrHash),
|
|
125
|
+
|
|
126
|
+
service_tier: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::OrSymbol),
|
|
127
|
+
|
|
128
|
+
text: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Text::OrHash),
|
|
129
|
+
|
|
130
|
+
tool_choice: T.any(
|
|
131
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::OrSymbol,
|
|
132
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam::OrHash,
|
|
133
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam::OrHash
|
|
134
|
+
),
|
|
135
|
+
|
|
136
|
+
tools: T::Array[
|
|
137
|
+
T.any(
|
|
138
|
+
OpenAI::Live::FunctionTool::OrHash,
|
|
139
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch::OrHash
|
|
140
|
+
)
|
|
141
|
+
]
|
|
142
|
+
)
|
|
143
|
+
.returns(T.attached_class)
|
|
144
|
+
end
|
|
145
|
+
def self.new(
|
|
146
|
+
|
|
147
|
+
# Instructions for the delegated Responses model, separate from Live instructions.
|
|
148
|
+
# See
|
|
149
|
+
# [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
|
|
150
|
+
instructions: nil,
|
|
151
|
+
|
|
152
|
+
# Maximum number of output tokens for each delegated response.
|
|
153
|
+
max_output_tokens: nil,
|
|
154
|
+
|
|
155
|
+
# The Responses backend model to use for subsequent delegated requests. Omit to
|
|
156
|
+
# keep the current backend model.
|
|
157
|
+
model: nil,
|
|
158
|
+
|
|
159
|
+
# Whether the delegated Responses model may request multiple tool calls in a
|
|
160
|
+
# single response.
|
|
161
|
+
parallel_tool_calls: nil,
|
|
162
|
+
|
|
163
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
164
|
+
reasoning: nil,
|
|
165
|
+
|
|
166
|
+
# Service tier for delegated Responses requests.
|
|
167
|
+
service_tier: nil,
|
|
168
|
+
|
|
169
|
+
# Text generation settings passed to each delegated Responses request.
|
|
170
|
+
text: nil,
|
|
171
|
+
|
|
172
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
173
|
+
# the Live model.
|
|
174
|
+
tool_choice: nil,
|
|
175
|
+
|
|
176
|
+
# Tools available to the Responses backend while it handles tasks delegated by the
|
|
177
|
+
# Live model.
|
|
178
|
+
|
|
179
|
+
tools: nil
|
|
180
|
+
)
|
|
181
|
+
end
|
|
182
|
+
|
|
183
|
+
sig do
|
|
184
|
+
override.returns(
|
|
185
|
+
{
|
|
186
|
+
instructions: T.nilable(String),
|
|
187
|
+
max_output_tokens: T.nilable(Integer),
|
|
188
|
+
model: String,
|
|
189
|
+
parallel_tool_calls: T.nilable(T::Boolean),
|
|
190
|
+
reasoning: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning),
|
|
191
|
+
service_tier: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::OrSymbol),
|
|
192
|
+
text: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Text),
|
|
193
|
+
tool_choice: T.any(
|
|
194
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::OrSymbol,
|
|
195
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam,
|
|
196
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam
|
|
197
|
+
),
|
|
198
|
+
tools: T::Array[
|
|
199
|
+
T.any(OpenAI::Live::FunctionTool, OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch)
|
|
200
|
+
]
|
|
201
|
+
}
|
|
202
|
+
)
|
|
203
|
+
end
|
|
204
|
+
def to_hash
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
class Reasoning < OpenAI::Internal::Type::BaseModel
|
|
208
|
+
OrHash = T.type_alias do
|
|
209
|
+
T.any(
|
|
210
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning,
|
|
211
|
+
OpenAI::Internal::AnyHash
|
|
212
|
+
)
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
216
|
+
# values depend on the backend model.
|
|
217
|
+
sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::OrSymbol)) }
|
|
218
|
+
attr_accessor :effort
|
|
219
|
+
|
|
220
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
221
|
+
# supported.
|
|
222
|
+
sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary::OrSymbol)) }
|
|
223
|
+
attr_accessor :summary
|
|
224
|
+
|
|
225
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
226
|
+
sig do
|
|
227
|
+
params(
|
|
228
|
+
|
|
229
|
+
effort: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::OrSymbol),
|
|
230
|
+
|
|
231
|
+
summary: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary::OrSymbol)
|
|
232
|
+
)
|
|
233
|
+
.returns(T.attached_class)
|
|
234
|
+
end
|
|
235
|
+
def self.new(
|
|
236
|
+
|
|
237
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
238
|
+
# values depend on the backend model.
|
|
239
|
+
effort: nil,
|
|
240
|
+
|
|
241
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
242
|
+
# supported.
|
|
243
|
+
|
|
244
|
+
summary: nil
|
|
245
|
+
)
|
|
246
|
+
end
|
|
247
|
+
|
|
248
|
+
sig do
|
|
249
|
+
override.returns(
|
|
250
|
+
{
|
|
251
|
+
effort: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::OrSymbol),
|
|
252
|
+
summary: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary::OrSymbol)
|
|
253
|
+
}
|
|
254
|
+
)
|
|
255
|
+
end
|
|
256
|
+
def to_hash
|
|
257
|
+
end
|
|
258
|
+
|
|
259
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
260
|
+
# values depend on the backend model.
|
|
261
|
+
module Effort
|
|
262
|
+
extend OpenAI::Internal::Type::Enum
|
|
263
|
+
|
|
264
|
+
TaggedSymbol = T.type_alias {
|
|
265
|
+
T.all(Symbol, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort)
|
|
266
|
+
}
|
|
267
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
268
|
+
|
|
269
|
+
NONE = T.let(:none, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::TaggedSymbol)
|
|
270
|
+
MINIMAL = T.let(:minimal, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::TaggedSymbol)
|
|
271
|
+
LOW = T.let(:low, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::TaggedSymbol)
|
|
272
|
+
MEDIUM = T.let(:medium, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::TaggedSymbol)
|
|
273
|
+
HIGH = T.let(:high, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::TaggedSymbol)
|
|
274
|
+
XHIGH = T.let(:xhigh, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::TaggedSymbol)
|
|
275
|
+
|
|
276
|
+
sig {
|
|
277
|
+
override.returns(T::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort::TaggedSymbol])
|
|
278
|
+
}
|
|
279
|
+
def self.values
|
|
280
|
+
end
|
|
281
|
+
end
|
|
282
|
+
|
|
283
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
284
|
+
# supported.
|
|
285
|
+
module Summary
|
|
286
|
+
extend OpenAI::Internal::Type::Enum
|
|
287
|
+
|
|
288
|
+
TaggedSymbol = T.type_alias {
|
|
289
|
+
T.all(Symbol, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary)
|
|
290
|
+
}
|
|
291
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
292
|
+
|
|
293
|
+
CONCISE = T.let(:concise, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary::TaggedSymbol)
|
|
294
|
+
DETAILED = T.let(:detailed, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary::TaggedSymbol)
|
|
295
|
+
AUTO = T.let(:auto, OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary::TaggedSymbol)
|
|
296
|
+
|
|
297
|
+
sig {
|
|
298
|
+
override.returns(
|
|
299
|
+
T::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary::TaggedSymbol]
|
|
300
|
+
)
|
|
301
|
+
}
|
|
302
|
+
def self.values
|
|
303
|
+
end
|
|
304
|
+
end
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
# Service tier for delegated Responses requests.
|
|
308
|
+
module ServiceTier
|
|
309
|
+
extend OpenAI::Internal::Type::Enum
|
|
310
|
+
|
|
311
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier) }
|
|
312
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
313
|
+
|
|
314
|
+
AUTO = T.let(:auto, OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::TaggedSymbol)
|
|
315
|
+
DEFAULT = T.let(:default, OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::TaggedSymbol)
|
|
316
|
+
FAST_TIER_TEMP_PILOT = T.let(
|
|
317
|
+
:fast_tier_temp_pilot,
|
|
318
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::TaggedSymbol
|
|
319
|
+
)
|
|
320
|
+
FLEX = T.let(:flex, OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::TaggedSymbol)
|
|
321
|
+
PRIORITY = T.let(:priority, OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::TaggedSymbol)
|
|
322
|
+
ULTRAFAST = T.let(:ultrafast, OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::TaggedSymbol)
|
|
323
|
+
|
|
324
|
+
sig { override.returns(T::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier::TaggedSymbol]) }
|
|
325
|
+
def self.values
|
|
326
|
+
end
|
|
327
|
+
end
|
|
328
|
+
|
|
329
|
+
class Text < OpenAI::Internal::Type::BaseModel
|
|
330
|
+
OrHash = T.type_alias do
|
|
331
|
+
T.any(
|
|
332
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::Text,
|
|
333
|
+
OpenAI::Internal::AnyHash
|
|
334
|
+
)
|
|
335
|
+
end
|
|
336
|
+
|
|
337
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
338
|
+
# configure the Live model’s spoken delivery.
|
|
339
|
+
sig { returns(T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity::OrSymbol)) }
|
|
340
|
+
attr_accessor :verbosity
|
|
341
|
+
|
|
342
|
+
# Text generation settings passed to each delegated Responses request.
|
|
343
|
+
sig do
|
|
344
|
+
params(
|
|
345
|
+
|
|
346
|
+
verbosity: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity::OrSymbol)
|
|
347
|
+
)
|
|
348
|
+
.returns(T.attached_class)
|
|
349
|
+
end
|
|
350
|
+
def self.new(
|
|
351
|
+
|
|
352
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
353
|
+
# configure the Live model’s spoken delivery.
|
|
354
|
+
|
|
355
|
+
verbosity: nil
|
|
356
|
+
)
|
|
357
|
+
end
|
|
358
|
+
|
|
359
|
+
sig do
|
|
360
|
+
override.returns(
|
|
361
|
+
{verbosity: T.nilable(OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity::OrSymbol)}
|
|
362
|
+
)
|
|
363
|
+
end
|
|
364
|
+
def to_hash
|
|
365
|
+
end
|
|
366
|
+
|
|
367
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
368
|
+
# configure the Live model’s spoken delivery.
|
|
369
|
+
module Verbosity
|
|
370
|
+
extend OpenAI::Internal::Type::Enum
|
|
371
|
+
|
|
372
|
+
TaggedSymbol = T.type_alias {
|
|
373
|
+
T.all(Symbol, OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity)
|
|
374
|
+
}
|
|
375
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
376
|
+
|
|
377
|
+
LOW = T.let(:low, OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity::TaggedSymbol)
|
|
378
|
+
MEDIUM = T.let(:medium, OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity::TaggedSymbol)
|
|
379
|
+
HIGH = T.let(:high, OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity::TaggedSymbol)
|
|
380
|
+
|
|
381
|
+
sig {
|
|
382
|
+
override.returns(T::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity::TaggedSymbol])
|
|
383
|
+
}
|
|
384
|
+
def self.values
|
|
385
|
+
end
|
|
386
|
+
end
|
|
387
|
+
end
|
|
388
|
+
|
|
389
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
390
|
+
# the Live model.
|
|
391
|
+
module ToolChoice
|
|
392
|
+
extend OpenAI::Internal::Type::Union
|
|
393
|
+
|
|
394
|
+
Variants = T.type_alias {
|
|
395
|
+
T.any(
|
|
396
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::TaggedSymbol,
|
|
397
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam,
|
|
398
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam
|
|
399
|
+
)
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
module LiveToolChoiceEnum
|
|
403
|
+
extend OpenAI::Internal::Type::Enum
|
|
404
|
+
|
|
405
|
+
TaggedSymbol = T.type_alias {
|
|
406
|
+
T.all(Symbol, OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum)
|
|
407
|
+
}
|
|
408
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
409
|
+
|
|
410
|
+
AUTO = T.let(
|
|
411
|
+
:auto,
|
|
412
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::TaggedSymbol
|
|
413
|
+
)
|
|
414
|
+
NONE = T.let(
|
|
415
|
+
:none,
|
|
416
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::TaggedSymbol
|
|
417
|
+
)
|
|
418
|
+
REQUIRED = T.let(
|
|
419
|
+
:required,
|
|
420
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::TaggedSymbol
|
|
421
|
+
)
|
|
422
|
+
|
|
423
|
+
sig {
|
|
424
|
+
override.returns(
|
|
425
|
+
T::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum::TaggedSymbol]
|
|
426
|
+
)
|
|
427
|
+
}
|
|
428
|
+
def self.values
|
|
429
|
+
end
|
|
430
|
+
end
|
|
431
|
+
|
|
432
|
+
class LiveFunctionToolChoiceParam < OpenAI::Internal::Type::BaseModel
|
|
433
|
+
OrHash = T.type_alias do
|
|
434
|
+
T.any(
|
|
435
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam,
|
|
436
|
+
OpenAI::Internal::AnyHash
|
|
437
|
+
)
|
|
438
|
+
end
|
|
439
|
+
|
|
440
|
+
sig { returns(String) }
|
|
441
|
+
attr_accessor :name
|
|
442
|
+
|
|
443
|
+
sig { returns(Symbol) }
|
|
444
|
+
attr_accessor :type
|
|
445
|
+
|
|
446
|
+
sig do
|
|
447
|
+
params(
|
|
448
|
+
|
|
449
|
+
name: String,
|
|
450
|
+
|
|
451
|
+
type: Symbol
|
|
452
|
+
)
|
|
453
|
+
.returns(T.attached_class)
|
|
454
|
+
end
|
|
455
|
+
def self.new(
|
|
456
|
+
|
|
457
|
+
name:,
|
|
458
|
+
|
|
459
|
+
type: :function
|
|
460
|
+
)
|
|
461
|
+
end
|
|
462
|
+
|
|
463
|
+
sig do
|
|
464
|
+
override.returns(
|
|
465
|
+
{name: String, type: Symbol}
|
|
466
|
+
)
|
|
467
|
+
end
|
|
468
|
+
def to_hash
|
|
469
|
+
end
|
|
470
|
+
|
|
471
|
+
end
|
|
472
|
+
|
|
473
|
+
class LiveMCPToolChoiceParam < OpenAI::Internal::Type::BaseModel
|
|
474
|
+
OrHash = T.type_alias do
|
|
475
|
+
T.any(
|
|
476
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam,
|
|
477
|
+
OpenAI::Internal::AnyHash
|
|
478
|
+
)
|
|
479
|
+
end
|
|
480
|
+
|
|
481
|
+
sig { returns(String) }
|
|
482
|
+
attr_accessor :name
|
|
483
|
+
|
|
484
|
+
sig { returns(String) }
|
|
485
|
+
attr_accessor :server_label
|
|
486
|
+
|
|
487
|
+
sig { returns(Symbol) }
|
|
488
|
+
attr_accessor :type
|
|
489
|
+
|
|
490
|
+
sig do
|
|
491
|
+
params(
|
|
492
|
+
|
|
493
|
+
name: String,
|
|
494
|
+
|
|
495
|
+
server_label: String,
|
|
496
|
+
|
|
497
|
+
type: Symbol
|
|
498
|
+
)
|
|
499
|
+
.returns(T.attached_class)
|
|
500
|
+
end
|
|
501
|
+
def self.new(
|
|
502
|
+
|
|
503
|
+
name:,
|
|
504
|
+
|
|
505
|
+
server_label:,
|
|
506
|
+
|
|
507
|
+
type: :mcp
|
|
508
|
+
)
|
|
509
|
+
end
|
|
510
|
+
|
|
511
|
+
sig do
|
|
512
|
+
override.returns(
|
|
513
|
+
{name: String, server_label: String, type: Symbol}
|
|
514
|
+
)
|
|
515
|
+
end
|
|
516
|
+
def to_hash
|
|
517
|
+
end
|
|
518
|
+
|
|
519
|
+
end
|
|
520
|
+
|
|
521
|
+
sig { override.returns(T::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::Variants]) }
|
|
522
|
+
def self.variants
|
|
523
|
+
end
|
|
524
|
+
|
|
525
|
+
end
|
|
526
|
+
|
|
527
|
+
# A function tool available to the Responses backend when the Live model delegates
|
|
528
|
+
# a task.
|
|
529
|
+
module Tool
|
|
530
|
+
extend OpenAI::Internal::Type::Union
|
|
531
|
+
|
|
532
|
+
Variants = T.type_alias {
|
|
533
|
+
T.any(OpenAI::Live::FunctionTool, OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch)
|
|
534
|
+
}
|
|
535
|
+
|
|
536
|
+
class WebSearch < OpenAI::Internal::Type::BaseModel
|
|
537
|
+
OrHash = T.type_alias do
|
|
538
|
+
T.any(
|
|
539
|
+
OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch,
|
|
540
|
+
OpenAI::Internal::AnyHash
|
|
541
|
+
)
|
|
542
|
+
end
|
|
543
|
+
|
|
544
|
+
# The tool type. Always `web_search`.
|
|
545
|
+
sig { returns(Symbol) }
|
|
546
|
+
attr_accessor :type
|
|
547
|
+
|
|
548
|
+
# A web search tool available to the Live session’s Responses backend.
|
|
549
|
+
sig do
|
|
550
|
+
params(
|
|
551
|
+
|
|
552
|
+
type: Symbol
|
|
553
|
+
)
|
|
554
|
+
.returns(T.attached_class)
|
|
555
|
+
end
|
|
556
|
+
def self.new(
|
|
557
|
+
|
|
558
|
+
# The tool type. Always `web_search`.
|
|
559
|
+
|
|
560
|
+
type: :web_search
|
|
561
|
+
)
|
|
562
|
+
end
|
|
563
|
+
|
|
564
|
+
sig do
|
|
565
|
+
override.returns(
|
|
566
|
+
{type: Symbol}
|
|
567
|
+
)
|
|
568
|
+
end
|
|
569
|
+
def to_hash
|
|
570
|
+
end
|
|
571
|
+
|
|
572
|
+
end
|
|
573
|
+
|
|
574
|
+
sig { override.returns(T::Array[OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::Variants]) }
|
|
575
|
+
def self.variants
|
|
576
|
+
end
|
|
577
|
+
|
|
578
|
+
end
|
|
579
|
+
|
|
580
|
+
end
|
|
581
|
+
|
|
582
|
+
end
|
|
583
|
+
|
|
584
|
+
end
|
|
585
|
+
end
|