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,332 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class ResponsesDelegationUpdateConfig < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute instructions
|
|
8
|
+
# Instructions for the delegated Responses model, separate from Live instructions.
|
|
9
|
+
# See
|
|
10
|
+
# [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
|
|
11
|
+
#
|
|
12
|
+
# @return [String, nil]
|
|
13
|
+
optional :instructions, String, nil?: true
|
|
14
|
+
|
|
15
|
+
# @!attribute max_output_tokens
|
|
16
|
+
# Maximum number of output tokens for each delegated response.
|
|
17
|
+
#
|
|
18
|
+
# @return [Integer, nil]
|
|
19
|
+
optional :max_output_tokens, Integer, nil?: true
|
|
20
|
+
|
|
21
|
+
# @!attribute model
|
|
22
|
+
# The Responses backend model to use for subsequent delegated requests. Omit to
|
|
23
|
+
# keep the current backend model.
|
|
24
|
+
#
|
|
25
|
+
# @return [String, nil]
|
|
26
|
+
optional :model, String
|
|
27
|
+
|
|
28
|
+
# @!attribute parallel_tool_calls
|
|
29
|
+
# Whether the delegated Responses model may request multiple tool calls in a
|
|
30
|
+
# single response.
|
|
31
|
+
#
|
|
32
|
+
# @return [Boolean, nil]
|
|
33
|
+
optional :parallel_tool_calls, OpenAI::Internal::Type::Boolean, nil?: true
|
|
34
|
+
|
|
35
|
+
# @!attribute reasoning
|
|
36
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
37
|
+
#
|
|
38
|
+
# @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning, nil]
|
|
39
|
+
optional :reasoning, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning }, nil?: true
|
|
40
|
+
|
|
41
|
+
# @!attribute service_tier
|
|
42
|
+
# Service tier for delegated Responses requests.
|
|
43
|
+
#
|
|
44
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ServiceTier, nil]
|
|
45
|
+
optional(
|
|
46
|
+
:service_tier,
|
|
47
|
+
enum: -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ServiceTier },
|
|
48
|
+
nil?: true
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
# @!attribute text
|
|
52
|
+
# Text generation settings passed to each delegated Responses request.
|
|
53
|
+
#
|
|
54
|
+
# @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text, nil]
|
|
55
|
+
optional :text, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Text }, nil?: true
|
|
56
|
+
|
|
57
|
+
# @!attribute tool_choice
|
|
58
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
59
|
+
# the Live model.
|
|
60
|
+
#
|
|
61
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam, nil]
|
|
62
|
+
optional :tool_choice, union: -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice }
|
|
63
|
+
|
|
64
|
+
# @!attribute tools
|
|
65
|
+
# Tools available to the Responses backend while it handles tasks delegated by the
|
|
66
|
+
# Live model.
|
|
67
|
+
#
|
|
68
|
+
# @return [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch>, nil]
|
|
69
|
+
optional(
|
|
70
|
+
:tools,
|
|
71
|
+
-> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::ResponsesDelegationUpdateConfig::Tool] }
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
# @!method initialize(instructions: nil, max_output_tokens: nil, model: nil, parallel_tool_calls: nil, reasoning: nil, service_tier: nil, text: nil, tool_choice: nil, tools: nil)
|
|
75
|
+
# Updates to the Responses backend of an existing Live session. Omitted settings
|
|
76
|
+
# retain their current values.
|
|
77
|
+
#
|
|
78
|
+
# @param instructions [String, nil]
|
|
79
|
+
# Instructions for the delegated Responses model, separate from Live instructions.
|
|
80
|
+
# See
|
|
81
|
+
# [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
|
|
82
|
+
#
|
|
83
|
+
# @param max_output_tokens [Integer, nil]
|
|
84
|
+
# Maximum number of output tokens for each delegated response.
|
|
85
|
+
#
|
|
86
|
+
# @param model [String]
|
|
87
|
+
# The Responses backend model to use for subsequent delegated requests. Omit to
|
|
88
|
+
# keep the current backend model.
|
|
89
|
+
#
|
|
90
|
+
# @param parallel_tool_calls [Boolean, nil]
|
|
91
|
+
# Whether the delegated Responses model may request multiple tool calls in a
|
|
92
|
+
# single response.
|
|
93
|
+
#
|
|
94
|
+
# @param reasoning [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning, nil]
|
|
95
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
96
|
+
#
|
|
97
|
+
# @param service_tier [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ServiceTier, nil]
|
|
98
|
+
# Service tier for delegated Responses requests.
|
|
99
|
+
#
|
|
100
|
+
# @param text [OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text, nil]
|
|
101
|
+
# Text generation settings passed to each delegated Responses request.
|
|
102
|
+
#
|
|
103
|
+
# @param tool_choice [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam]
|
|
104
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
105
|
+
# the Live model.
|
|
106
|
+
#
|
|
107
|
+
# @param tools [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch>]
|
|
108
|
+
# Tools available to the Responses backend while it handles tasks delegated by the
|
|
109
|
+
# Live model.
|
|
110
|
+
|
|
111
|
+
# @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig#reasoning
|
|
112
|
+
class Reasoning < OpenAI::Internal::Type::BaseModel
|
|
113
|
+
# @!attribute effort
|
|
114
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
115
|
+
# values depend on the backend model.
|
|
116
|
+
#
|
|
117
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort, nil]
|
|
118
|
+
optional(
|
|
119
|
+
:effort,
|
|
120
|
+
enum: -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort },
|
|
121
|
+
nil?: true
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
# @!attribute summary
|
|
125
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
126
|
+
# supported.
|
|
127
|
+
#
|
|
128
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary, nil]
|
|
129
|
+
optional(
|
|
130
|
+
:summary,
|
|
131
|
+
enum: -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary },
|
|
132
|
+
nil?: true
|
|
133
|
+
)
|
|
134
|
+
|
|
135
|
+
# @!method initialize(effort: nil, summary: nil)
|
|
136
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
137
|
+
#
|
|
138
|
+
# @param effort [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::Effort, nil]
|
|
139
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
140
|
+
# values depend on the backend model.
|
|
141
|
+
#
|
|
142
|
+
# @param summary [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::Summary, nil]
|
|
143
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
144
|
+
# supported.
|
|
145
|
+
|
|
146
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
147
|
+
# values depend on the backend model.
|
|
148
|
+
#
|
|
149
|
+
# @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning#effort
|
|
150
|
+
module Effort
|
|
151
|
+
extend OpenAI::Internal::Type::Enum
|
|
152
|
+
|
|
153
|
+
NONE = :none
|
|
154
|
+
MINIMAL = :minimal
|
|
155
|
+
LOW = :low
|
|
156
|
+
MEDIUM = :medium
|
|
157
|
+
HIGH = :high
|
|
158
|
+
XHIGH = :xhigh
|
|
159
|
+
|
|
160
|
+
# @!method self.values
|
|
161
|
+
# @return [Array<Symbol>]
|
|
162
|
+
end
|
|
163
|
+
|
|
164
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
165
|
+
# supported.
|
|
166
|
+
#
|
|
167
|
+
# @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning#summary
|
|
168
|
+
module Summary
|
|
169
|
+
extend OpenAI::Internal::Type::Enum
|
|
170
|
+
|
|
171
|
+
CONCISE = :concise
|
|
172
|
+
DETAILED = :detailed
|
|
173
|
+
AUTO = :auto
|
|
174
|
+
|
|
175
|
+
# @!method self.values
|
|
176
|
+
# @return [Array<Symbol>]
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
# Service tier for delegated Responses requests.
|
|
181
|
+
#
|
|
182
|
+
# @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig#service_tier
|
|
183
|
+
module ServiceTier
|
|
184
|
+
extend OpenAI::Internal::Type::Enum
|
|
185
|
+
|
|
186
|
+
AUTO = :auto
|
|
187
|
+
DEFAULT = :default
|
|
188
|
+
FAST_TIER_TEMP_PILOT = :fast_tier_temp_pilot
|
|
189
|
+
FLEX = :flex
|
|
190
|
+
PRIORITY = :priority
|
|
191
|
+
ULTRAFAST = :ultrafast
|
|
192
|
+
|
|
193
|
+
# @!method self.values
|
|
194
|
+
# @return [Array<Symbol>]
|
|
195
|
+
end
|
|
196
|
+
|
|
197
|
+
# @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig#text
|
|
198
|
+
class Text < OpenAI::Internal::Type::BaseModel
|
|
199
|
+
# @!attribute verbosity
|
|
200
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
201
|
+
# configure the Live model’s spoken delivery.
|
|
202
|
+
#
|
|
203
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text::Verbosity, nil]
|
|
204
|
+
optional(
|
|
205
|
+
:verbosity,
|
|
206
|
+
enum: -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Text::Verbosity },
|
|
207
|
+
nil?: true
|
|
208
|
+
)
|
|
209
|
+
|
|
210
|
+
# @!method initialize(verbosity: nil)
|
|
211
|
+
# Text generation settings passed to each delegated Responses request.
|
|
212
|
+
#
|
|
213
|
+
# @param verbosity [Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text::Verbosity, nil]
|
|
214
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
215
|
+
# configure the Live model’s spoken delivery.
|
|
216
|
+
|
|
217
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
218
|
+
# configure the Live model’s spoken delivery.
|
|
219
|
+
#
|
|
220
|
+
# @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text#verbosity
|
|
221
|
+
module Verbosity
|
|
222
|
+
extend OpenAI::Internal::Type::Enum
|
|
223
|
+
|
|
224
|
+
LOW = :low
|
|
225
|
+
MEDIUM = :medium
|
|
226
|
+
HIGH = :high
|
|
227
|
+
|
|
228
|
+
# @!method self.values
|
|
229
|
+
# @return [Array<Symbol>]
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
234
|
+
# the Live model.
|
|
235
|
+
#
|
|
236
|
+
# @see OpenAI::Models::Live::ResponsesDelegationUpdateConfig#tool_choice
|
|
237
|
+
module ToolChoice
|
|
238
|
+
extend OpenAI::Internal::Type::Union
|
|
239
|
+
|
|
240
|
+
variant enum: -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum }
|
|
241
|
+
|
|
242
|
+
variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam }
|
|
243
|
+
|
|
244
|
+
variant -> { OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam }
|
|
245
|
+
|
|
246
|
+
module LiveToolChoiceEnum
|
|
247
|
+
extend OpenAI::Internal::Type::Enum
|
|
248
|
+
|
|
249
|
+
AUTO = :auto
|
|
250
|
+
NONE = :none
|
|
251
|
+
REQUIRED = :required
|
|
252
|
+
|
|
253
|
+
# @!method self.values
|
|
254
|
+
# @return [Array<Symbol>]
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
class LiveFunctionToolChoiceParam < OpenAI::Internal::Type::BaseModel
|
|
258
|
+
# @!attribute name
|
|
259
|
+
#
|
|
260
|
+
# @return [String]
|
|
261
|
+
required :name, String
|
|
262
|
+
|
|
263
|
+
# @!attribute type
|
|
264
|
+
#
|
|
265
|
+
# @return [Symbol, :function]
|
|
266
|
+
required :type, const: :function
|
|
267
|
+
|
|
268
|
+
# @!method initialize(name:, type: :function)
|
|
269
|
+
# @param name [String]
|
|
270
|
+
# @param type [Symbol, :function]
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
class LiveMCPToolChoiceParam < OpenAI::Internal::Type::BaseModel
|
|
274
|
+
# @!attribute name
|
|
275
|
+
#
|
|
276
|
+
# @return [String]
|
|
277
|
+
required :name, String
|
|
278
|
+
|
|
279
|
+
# @!attribute server_label
|
|
280
|
+
#
|
|
281
|
+
# @return [String]
|
|
282
|
+
required :server_label, String
|
|
283
|
+
|
|
284
|
+
# @!attribute type
|
|
285
|
+
#
|
|
286
|
+
# @return [Symbol, :mcp]
|
|
287
|
+
required :type, const: :mcp
|
|
288
|
+
|
|
289
|
+
# @!method initialize(name:, server_label:, type: :mcp)
|
|
290
|
+
# @param name [String]
|
|
291
|
+
# @param server_label [String]
|
|
292
|
+
# @param type [Symbol, :mcp]
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
# @!method self.variants
|
|
296
|
+
# @return [Array(Symbol, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam)]
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
# A function tool available to the Responses backend when the Live model delegates
|
|
300
|
+
# a task.
|
|
301
|
+
module Tool
|
|
302
|
+
extend OpenAI::Internal::Type::Union
|
|
303
|
+
|
|
304
|
+
discriminator :type
|
|
305
|
+
|
|
306
|
+
# A function tool available to the Responses backend when the Live model delegates a task.
|
|
307
|
+
variant :function, -> { OpenAI::Live::FunctionTool }
|
|
308
|
+
|
|
309
|
+
# A web search tool available to the Live session’s Responses backend.
|
|
310
|
+
variant :web_search, -> { OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch }
|
|
311
|
+
|
|
312
|
+
class WebSearch < OpenAI::Internal::Type::BaseModel
|
|
313
|
+
# @!attribute type
|
|
314
|
+
# The tool type. Always `web_search`.
|
|
315
|
+
#
|
|
316
|
+
# @return [Symbol, :web_search]
|
|
317
|
+
required :type, const: :web_search
|
|
318
|
+
|
|
319
|
+
# @!method initialize(type: :web_search)
|
|
320
|
+
# A web search tool available to the Live session’s Responses backend.
|
|
321
|
+
#
|
|
322
|
+
# @param type [Symbol, :web_search]
|
|
323
|
+
# The tool type. Always `web_search`.
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
# @!method self.variants
|
|
327
|
+
# @return [Array(OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch)]
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
end
|
|
332
|
+
end
|
|
@@ -0,0 +1,295 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
# Server events for Live. Response lifecycle events are wrapped inside
|
|
7
|
+
# response.event; dispatch the nested event by its full type and tolerate new
|
|
8
|
+
# response event types. Follow the
|
|
9
|
+
# [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
|
|
10
|
+
# when designing the conversation and delegation policy.
|
|
11
|
+
module ServerEvent
|
|
12
|
+
extend OpenAI::Internal::Type::Union
|
|
13
|
+
|
|
14
|
+
discriminator :type
|
|
15
|
+
|
|
16
|
+
# Returned when a Live session has started. Contains the resolved session configuration, including server defaults.
|
|
17
|
+
variant :"session.started", -> { OpenAI::Live::SessionStartedEvent }
|
|
18
|
+
|
|
19
|
+
# Returned when a Live session update is accepted. Contains the resolved session configuration after the update.
|
|
20
|
+
variant :"session.updated", -> { OpenAI::Live::SessionUpdatedEvent }
|
|
21
|
+
|
|
22
|
+
# Returned when a session.input_audio.mute command is accepted. Input audio is no longer sent to the model; sideband audio reflection continues.
|
|
23
|
+
variant :"session.input_audio.muted", -> { OpenAI::Live::InputAudioMutedEvent }
|
|
24
|
+
|
|
25
|
+
# Returned when a session.input_audio.unmute command is accepted. Input audio is sent to the model again.
|
|
26
|
+
variant :"session.input_audio.unmuted", -> { OpenAI::Live::InputAudioUnmutedEvent }
|
|
27
|
+
|
|
28
|
+
# Returned when a session.instructions.append command is accepted into the Live session timeline. Acknowledges the appended instructions without guaranteeing that the model has acted on them.
|
|
29
|
+
variant :"session.instructions.appended", -> { OpenAI::Live::InstructionsAppendedEvent }
|
|
30
|
+
|
|
31
|
+
# Returned when a session.thinking.append command is accepted into the Live session timeline. Acknowledges the added reasoning context without guaranteeing any spoken output.
|
|
32
|
+
variant :"session.thinking.appended", -> { OpenAI::Live::ThinkingAppendedEvent }
|
|
33
|
+
|
|
34
|
+
# Returned when a session.commentary.append command is accepted into the Live session timeline. Acknowledges the added commentary without guaranteeing exact wording or completed audio playback.
|
|
35
|
+
variant :"session.commentary.appended", -> { OpenAI::Live::CommentaryAppendedEvent }
|
|
36
|
+
|
|
37
|
+
# Input audio received from the primary transport and reflected to a Live sideband connection before model-input muting.
|
|
38
|
+
variant :"session.input_audio.append", -> { OpenAI::Live::ServerEvent::SessionInputAudioAppend }
|
|
39
|
+
|
|
40
|
+
# An audio chunk generated by the Live model. Decode and play primary WebSocket chunks in delivery order using the configured session audio format. Sideband connections receive reflected output audio with timestamps.
|
|
41
|
+
variant :"session.output_audio.delta", -> { OpenAI::Live::OutputAudioDeltaEvent }
|
|
42
|
+
|
|
43
|
+
# A transcript fragment for user input audio in the Live session. Accumulate fragments in delivery order; these events do not define complete turns or include a transcript-done event.
|
|
44
|
+
variant :"session.input_transcript.delta", -> { OpenAI::Live::InputTranscriptDeltaEvent }
|
|
45
|
+
|
|
46
|
+
# A transcript fragment for assistant output audio in the Live session. Accumulate fragments in delivery order; these events do not define complete turns or include a transcript-done event.
|
|
47
|
+
variant :"session.output_transcript.delta", -> { OpenAI::Live::OutputTranscriptDeltaEvent }
|
|
48
|
+
|
|
49
|
+
# Returned when the Live model delegates work to your application or a Responses backend. Contains delegation metadata and the position on the session timeline where the work was delegated.
|
|
50
|
+
variant :"session.delegation.created", -> { OpenAI::Live::DelegationCreatedEvent }
|
|
51
|
+
|
|
52
|
+
# A streaming Responses API event from a backend delegated to by the Live session. Use the outer delegation_id to associate the nested stream with its Live delegation.
|
|
53
|
+
variant :"response.event", -> { OpenAI::Live::ResponseEvent }
|
|
54
|
+
|
|
55
|
+
# Reports cumulative Live audio usage and, when available, the most recent context-window usage. Delegated Responses token usage is reported separately in response.event events.
|
|
56
|
+
variant :"session.usage.updated", -> { OpenAI::Live::SessionUsageUpdatedEvent }
|
|
57
|
+
|
|
58
|
+
# Returned after the Live session finishes finalizing, with the close reason, final session snapshot, and cumulative audio usage. A connection closing without this event does not confirm successful finalization.
|
|
59
|
+
variant :"session.closed", -> { OpenAI::Live::SessionClosedEvent }
|
|
60
|
+
|
|
61
|
+
# Reports an error in the Live session, such as an invalid client command. Use error.client_event_id, when present, to identify the command that caused the error.
|
|
62
|
+
variant :error, -> { OpenAI::Live::ErrorEvent }
|
|
63
|
+
|
|
64
|
+
# An informational notice about the Live session, such as the event permissions applied to a frontend data channel.
|
|
65
|
+
variant :info, -> { OpenAI::Live::InfoEvent }
|
|
66
|
+
|
|
67
|
+
# A SIP DTMF keypress received from the caller. Delivered only to sideband observers.
|
|
68
|
+
variant :"transport.dtmf.received", -> { OpenAI::Live::ServerEvent::TransportDtmfReceived }
|
|
69
|
+
|
|
70
|
+
# A SIP DTMF keypress successfully sent by the hosted tool. Delivered only to sideband observers; this is not a client command.
|
|
71
|
+
variant :"transport.dtmf.send", -> { OpenAI::Live::ServerEvent::TransportDtmfSend }
|
|
72
|
+
|
|
73
|
+
# The outbound SIP provider leg is ringing or providing early media. Delivered only to sideband observers.
|
|
74
|
+
variant :"transport.ringing", -> { OpenAI::Live::ServerEvent::TransportRinging }
|
|
75
|
+
|
|
76
|
+
# The outbound SIP provider leg answered and media is established. Delivered only to sideband observers.
|
|
77
|
+
variant :"transport.answered", -> { OpenAI::Live::ServerEvent::TransportAnswered }
|
|
78
|
+
|
|
79
|
+
# An asynchronous outbound SIP setup failure. Delivered only to sideband observers.
|
|
80
|
+
variant :"transport.failed", -> { OpenAI::Live::ServerEvent::TransportFailed }
|
|
81
|
+
|
|
82
|
+
class SessionInputAudioAppend < OpenAI::Internal::Type::BaseModel
|
|
83
|
+
# @!attribute audio
|
|
84
|
+
# Base64-encoded raw mono PCM16LE at 24 kHz received from the primary transport,
|
|
85
|
+
# reflected to the sideband before model-input muting. This server event uses the
|
|
86
|
+
# same audio key as the client command, but is not an acknowledgment of it.
|
|
87
|
+
#
|
|
88
|
+
# @return [String]
|
|
89
|
+
required :audio, String
|
|
90
|
+
|
|
91
|
+
# @!attribute type
|
|
92
|
+
# The event type, always `session.input_audio.append`.
|
|
93
|
+
#
|
|
94
|
+
# @return [Symbol, :"session.input_audio.append"]
|
|
95
|
+
required :type, const: :"session.input_audio.append"
|
|
96
|
+
|
|
97
|
+
# @!method initialize(audio:, type: :"session.input_audio.append")
|
|
98
|
+
# Input audio received from the primary transport and reflected to a Live sideband
|
|
99
|
+
# connection before model-input muting.
|
|
100
|
+
#
|
|
101
|
+
# @param audio [String]
|
|
102
|
+
# Base64-encoded raw mono PCM16LE at 24 kHz received from the primary transport,
|
|
103
|
+
# reflected to the sideband before model-input muting. This server event uses the
|
|
104
|
+
# same audio key as the client command, but is not an acknowledgment of it.
|
|
105
|
+
#
|
|
106
|
+
# @param type [Symbol, :"session.input_audio.append"]
|
|
107
|
+
# The event type, always `session.input_audio.append`.
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
class TransportDtmfReceived < OpenAI::Internal::Type::BaseModel
|
|
111
|
+
# @!attribute event
|
|
112
|
+
#
|
|
113
|
+
# @return [String]
|
|
114
|
+
required :event, String
|
|
115
|
+
|
|
116
|
+
# @!attribute event_id
|
|
117
|
+
#
|
|
118
|
+
# @return [String]
|
|
119
|
+
required :event_id, String
|
|
120
|
+
|
|
121
|
+
# @!attribute type
|
|
122
|
+
#
|
|
123
|
+
# @return [Symbol, :"transport.dtmf.received"]
|
|
124
|
+
required :type, const: :"transport.dtmf.received"
|
|
125
|
+
|
|
126
|
+
# @!method initialize(event:, event_id:, type: :"transport.dtmf.received")
|
|
127
|
+
# A SIP DTMF keypress received from the caller. Delivered only to sideband
|
|
128
|
+
# observers.
|
|
129
|
+
#
|
|
130
|
+
# @param event [String]
|
|
131
|
+
# @param event_id [String]
|
|
132
|
+
# @param type [Symbol, :"transport.dtmf.received"]
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
class TransportDtmfSend < OpenAI::Internal::Type::BaseModel
|
|
136
|
+
# @!attribute event
|
|
137
|
+
#
|
|
138
|
+
# @return [String]
|
|
139
|
+
required :event, String
|
|
140
|
+
|
|
141
|
+
# @!attribute event_id
|
|
142
|
+
#
|
|
143
|
+
# @return [String]
|
|
144
|
+
required :event_id, String
|
|
145
|
+
|
|
146
|
+
# @!attribute type
|
|
147
|
+
#
|
|
148
|
+
# @return [Symbol, :"transport.dtmf.send"]
|
|
149
|
+
required :type, const: :"transport.dtmf.send"
|
|
150
|
+
|
|
151
|
+
# @!method initialize(event:, event_id:, type: :"transport.dtmf.send")
|
|
152
|
+
# A SIP DTMF keypress successfully sent by the hosted tool. Delivered only to
|
|
153
|
+
# sideband observers; this is not a client command.
|
|
154
|
+
#
|
|
155
|
+
# @param event [String]
|
|
156
|
+
# @param event_id [String]
|
|
157
|
+
# @param type [Symbol, :"transport.dtmf.send"]
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
class TransportRinging < OpenAI::Internal::Type::BaseModel
|
|
161
|
+
# @!attribute event_id
|
|
162
|
+
#
|
|
163
|
+
# @return [String]
|
|
164
|
+
required :event_id, String
|
|
165
|
+
|
|
166
|
+
# @!attribute session_id
|
|
167
|
+
# The canonical Live session ID.
|
|
168
|
+
#
|
|
169
|
+
# @return [String]
|
|
170
|
+
required :session_id, String
|
|
171
|
+
|
|
172
|
+
# @!attribute type
|
|
173
|
+
#
|
|
174
|
+
# @return [Symbol, :"transport.ringing"]
|
|
175
|
+
required :type, const: :"transport.ringing"
|
|
176
|
+
|
|
177
|
+
# @!method initialize(event_id:, session_id:, type: :"transport.ringing")
|
|
178
|
+
# The outbound SIP provider leg is ringing or providing early media. Delivered
|
|
179
|
+
# only to sideband observers.
|
|
180
|
+
#
|
|
181
|
+
# @param event_id [String]
|
|
182
|
+
#
|
|
183
|
+
# @param session_id [String]
|
|
184
|
+
# The canonical Live session ID.
|
|
185
|
+
#
|
|
186
|
+
# @param type [Symbol, :"transport.ringing"]
|
|
187
|
+
end
|
|
188
|
+
|
|
189
|
+
class TransportAnswered < OpenAI::Internal::Type::BaseModel
|
|
190
|
+
# @!attribute event_id
|
|
191
|
+
#
|
|
192
|
+
# @return [String]
|
|
193
|
+
required :event_id, String
|
|
194
|
+
|
|
195
|
+
# @!attribute session_id
|
|
196
|
+
# The canonical Live session ID.
|
|
197
|
+
#
|
|
198
|
+
# @return [String]
|
|
199
|
+
required :session_id, String
|
|
200
|
+
|
|
201
|
+
# @!attribute type
|
|
202
|
+
#
|
|
203
|
+
# @return [Symbol, :"transport.answered"]
|
|
204
|
+
required :type, const: :"transport.answered"
|
|
205
|
+
|
|
206
|
+
# @!method initialize(event_id:, session_id:, type: :"transport.answered")
|
|
207
|
+
# The outbound SIP provider leg answered and media is established. Delivered only
|
|
208
|
+
# to sideband observers.
|
|
209
|
+
#
|
|
210
|
+
# @param event_id [String]
|
|
211
|
+
#
|
|
212
|
+
# @param session_id [String]
|
|
213
|
+
# The canonical Live session ID.
|
|
214
|
+
#
|
|
215
|
+
# @param type [Symbol, :"transport.answered"]
|
|
216
|
+
end
|
|
217
|
+
|
|
218
|
+
class TransportFailed < OpenAI::Internal::Type::BaseModel
|
|
219
|
+
# @!attribute error
|
|
220
|
+
#
|
|
221
|
+
# @return [OpenAI::Models::Live::ServerEvent::TransportFailed::Error]
|
|
222
|
+
required :error, -> { OpenAI::Live::ServerEvent::TransportFailed::Error }
|
|
223
|
+
|
|
224
|
+
# @!attribute event_id
|
|
225
|
+
#
|
|
226
|
+
# @return [String]
|
|
227
|
+
required :event_id, String
|
|
228
|
+
|
|
229
|
+
# @!attribute session_id
|
|
230
|
+
# The canonical Live session ID.
|
|
231
|
+
#
|
|
232
|
+
# @return [String]
|
|
233
|
+
required :session_id, String
|
|
234
|
+
|
|
235
|
+
# @!attribute type
|
|
236
|
+
#
|
|
237
|
+
# @return [Symbol, :"transport.failed"]
|
|
238
|
+
required :type, const: :"transport.failed"
|
|
239
|
+
|
|
240
|
+
# @!method initialize(error:, event_id:, session_id:, type: :"transport.failed")
|
|
241
|
+
# An asynchronous outbound SIP setup failure. Delivered only to sideband
|
|
242
|
+
# observers.
|
|
243
|
+
#
|
|
244
|
+
# @param error [OpenAI::Models::Live::ServerEvent::TransportFailed::Error]
|
|
245
|
+
#
|
|
246
|
+
# @param event_id [String]
|
|
247
|
+
#
|
|
248
|
+
# @param session_id [String]
|
|
249
|
+
# The canonical Live session ID.
|
|
250
|
+
#
|
|
251
|
+
# @param type [Symbol, :"transport.failed"]
|
|
252
|
+
|
|
253
|
+
# @see OpenAI::Models::Live::ServerEvent::TransportFailed#error
|
|
254
|
+
class Error < OpenAI::Internal::Type::BaseModel
|
|
255
|
+
# @!attribute code
|
|
256
|
+
# The call setup failure code.
|
|
257
|
+
#
|
|
258
|
+
# @return [String]
|
|
259
|
+
required :code, String
|
|
260
|
+
|
|
261
|
+
# @!attribute message
|
|
262
|
+
#
|
|
263
|
+
# @return [String]
|
|
264
|
+
required :message, String
|
|
265
|
+
|
|
266
|
+
# @!attribute type
|
|
267
|
+
#
|
|
268
|
+
# @return [Symbol, :call_error]
|
|
269
|
+
required :type, const: :call_error
|
|
270
|
+
|
|
271
|
+
# @!attribute param
|
|
272
|
+
# The parameter related to the error, if any. Empty when no parameter applies.
|
|
273
|
+
#
|
|
274
|
+
# @return [String, nil]
|
|
275
|
+
optional :param, String
|
|
276
|
+
|
|
277
|
+
# @!method initialize(code:, message:, param: nil, type: :call_error)
|
|
278
|
+
# @param code [String]
|
|
279
|
+
# The call setup failure code.
|
|
280
|
+
#
|
|
281
|
+
# @param message [String]
|
|
282
|
+
#
|
|
283
|
+
# @param param [String]
|
|
284
|
+
# The parameter related to the error, if any. Empty when no parameter applies.
|
|
285
|
+
#
|
|
286
|
+
# @param type [Symbol, :call_error]
|
|
287
|
+
end
|
|
288
|
+
end
|
|
289
|
+
|
|
290
|
+
# @!method self.variants
|
|
291
|
+
# @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ServerEvent::TransportDtmfSend, OpenAI::Models::Live::ServerEvent::TransportRinging, OpenAI::Models::Live::ServerEvent::TransportAnswered, OpenAI::Models::Live::ServerEvent::TransportFailed)]
|
|
292
|
+
end
|
|
293
|
+
end
|
|
294
|
+
end
|
|
295
|
+
end
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class ServerEventSelector < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute type
|
|
8
|
+
# The outer Live server event type. Use 'response.event' for Responses events.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :type, String
|
|
12
|
+
|
|
13
|
+
# @!attribute response_event
|
|
14
|
+
# The nested Responses event type. Required when type is 'response.event';
|
|
15
|
+
# forbidden for other event types.
|
|
16
|
+
#
|
|
17
|
+
# @return [String, nil]
|
|
18
|
+
optional :response_event, String
|
|
19
|
+
|
|
20
|
+
# @!method initialize(type:, response_event: nil)
|
|
21
|
+
# A Live server event selector for the WebRTC frontend data channel.
|
|
22
|
+
#
|
|
23
|
+
# @param type [String]
|
|
24
|
+
# The outer Live server event type. Use 'response.event' for Responses events.
|
|
25
|
+
#
|
|
26
|
+
# @param response_event [String]
|
|
27
|
+
# The nested Responses event type. Required when type is 'response.event';
|
|
28
|
+
# forbidden for other event types.
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|