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,436 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
# Server events for Live. Response lifecycle events are wrapped inside
|
|
9
|
+
# response.event; dispatch the nested event by its full type and tolerate new
|
|
10
|
+
# response event types. Follow the
|
|
11
|
+
# [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
|
|
12
|
+
# when designing the conversation and delegation policy.
|
|
13
|
+
module ServerEvent
|
|
14
|
+
extend OpenAI::Internal::Type::Union
|
|
15
|
+
|
|
16
|
+
Variants = T.type_alias do
|
|
17
|
+
T.any(
|
|
18
|
+
OpenAI::Live::SessionStartedEvent,
|
|
19
|
+
OpenAI::Live::SessionUpdatedEvent,
|
|
20
|
+
OpenAI::Live::InputAudioMutedEvent,
|
|
21
|
+
OpenAI::Live::InputAudioUnmutedEvent,
|
|
22
|
+
OpenAI::Live::InstructionsAppendedEvent,
|
|
23
|
+
OpenAI::Live::ThinkingAppendedEvent,
|
|
24
|
+
OpenAI::Live::CommentaryAppendedEvent,
|
|
25
|
+
OpenAI::Live::ServerEvent::SessionInputAudioAppend,
|
|
26
|
+
OpenAI::Live::OutputAudioDeltaEvent,
|
|
27
|
+
OpenAI::Live::InputTranscriptDeltaEvent,
|
|
28
|
+
OpenAI::Live::OutputTranscriptDeltaEvent,
|
|
29
|
+
OpenAI::Live::DelegationCreatedEvent,
|
|
30
|
+
OpenAI::Live::ResponseEvent,
|
|
31
|
+
OpenAI::Live::SessionUsageUpdatedEvent,
|
|
32
|
+
OpenAI::Live::SessionClosedEvent,
|
|
33
|
+
OpenAI::Live::ErrorEvent,
|
|
34
|
+
OpenAI::Live::InfoEvent,
|
|
35
|
+
OpenAI::Live::ServerEvent::TransportDtmfReceived,
|
|
36
|
+
OpenAI::Live::ServerEvent::TransportDtmfSend,
|
|
37
|
+
OpenAI::Live::ServerEvent::TransportRinging,
|
|
38
|
+
OpenAI::Live::ServerEvent::TransportAnswered,
|
|
39
|
+
OpenAI::Live::ServerEvent::TransportFailed
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
class SessionInputAudioAppend < OpenAI::Internal::Type::BaseModel
|
|
44
|
+
OrHash = T.type_alias do
|
|
45
|
+
T.any(
|
|
46
|
+
OpenAI::Live::ServerEvent::SessionInputAudioAppend,
|
|
47
|
+
OpenAI::Internal::AnyHash
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Base64-encoded raw mono PCM16LE at 24 kHz received from the primary transport,
|
|
52
|
+
# reflected to the sideband before model-input muting. This server event uses the
|
|
53
|
+
# same audio key as the client command, but is not an acknowledgment of it.
|
|
54
|
+
sig { returns(String) }
|
|
55
|
+
attr_accessor :audio
|
|
56
|
+
|
|
57
|
+
# The event type, always `session.input_audio.append`.
|
|
58
|
+
sig { returns(Symbol) }
|
|
59
|
+
attr_accessor :type
|
|
60
|
+
|
|
61
|
+
# Input audio received from the primary transport and reflected to a Live sideband
|
|
62
|
+
# connection before model-input muting.
|
|
63
|
+
sig do
|
|
64
|
+
params(
|
|
65
|
+
|
|
66
|
+
audio: String,
|
|
67
|
+
|
|
68
|
+
type: Symbol
|
|
69
|
+
)
|
|
70
|
+
.returns(T.attached_class)
|
|
71
|
+
end
|
|
72
|
+
def self.new(
|
|
73
|
+
|
|
74
|
+
# Base64-encoded raw mono PCM16LE at 24 kHz received from the primary transport,
|
|
75
|
+
# reflected to the sideband before model-input muting. This server event uses the
|
|
76
|
+
# same audio key as the client command, but is not an acknowledgment of it.
|
|
77
|
+
audio:,
|
|
78
|
+
|
|
79
|
+
# The event type, always `session.input_audio.append`.
|
|
80
|
+
|
|
81
|
+
type: :"session.input_audio.append"
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
sig do
|
|
86
|
+
override.returns(
|
|
87
|
+
{audio: String, type: Symbol}
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
def to_hash
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
class TransportDtmfReceived < OpenAI::Internal::Type::BaseModel
|
|
96
|
+
OrHash = T.type_alias do
|
|
97
|
+
T.any(
|
|
98
|
+
OpenAI::Live::ServerEvent::TransportDtmfReceived,
|
|
99
|
+
OpenAI::Internal::AnyHash
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
sig { returns(String) }
|
|
104
|
+
attr_accessor :event
|
|
105
|
+
|
|
106
|
+
sig { returns(String) }
|
|
107
|
+
attr_accessor :event_id
|
|
108
|
+
|
|
109
|
+
sig { returns(Symbol) }
|
|
110
|
+
attr_accessor :type
|
|
111
|
+
|
|
112
|
+
# A SIP DTMF keypress received from the caller. Delivered only to sideband
|
|
113
|
+
# observers.
|
|
114
|
+
sig do
|
|
115
|
+
params(
|
|
116
|
+
|
|
117
|
+
event: String,
|
|
118
|
+
|
|
119
|
+
event_id: String,
|
|
120
|
+
|
|
121
|
+
type: Symbol
|
|
122
|
+
)
|
|
123
|
+
.returns(T.attached_class)
|
|
124
|
+
end
|
|
125
|
+
def self.new(
|
|
126
|
+
|
|
127
|
+
event:,
|
|
128
|
+
|
|
129
|
+
event_id:,
|
|
130
|
+
|
|
131
|
+
type: :"transport.dtmf.received"
|
|
132
|
+
)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
sig do
|
|
136
|
+
override.returns(
|
|
137
|
+
{event: String, event_id: String, type: Symbol}
|
|
138
|
+
)
|
|
139
|
+
end
|
|
140
|
+
def to_hash
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
class TransportDtmfSend < OpenAI::Internal::Type::BaseModel
|
|
146
|
+
OrHash = T.type_alias do
|
|
147
|
+
T.any(
|
|
148
|
+
OpenAI::Live::ServerEvent::TransportDtmfSend,
|
|
149
|
+
OpenAI::Internal::AnyHash
|
|
150
|
+
)
|
|
151
|
+
end
|
|
152
|
+
|
|
153
|
+
sig { returns(String) }
|
|
154
|
+
attr_accessor :event
|
|
155
|
+
|
|
156
|
+
sig { returns(String) }
|
|
157
|
+
attr_accessor :event_id
|
|
158
|
+
|
|
159
|
+
sig { returns(Symbol) }
|
|
160
|
+
attr_accessor :type
|
|
161
|
+
|
|
162
|
+
# A SIP DTMF keypress successfully sent by the hosted tool. Delivered only to
|
|
163
|
+
# sideband observers; this is not a client command.
|
|
164
|
+
sig do
|
|
165
|
+
params(
|
|
166
|
+
|
|
167
|
+
event: String,
|
|
168
|
+
|
|
169
|
+
event_id: String,
|
|
170
|
+
|
|
171
|
+
type: Symbol
|
|
172
|
+
)
|
|
173
|
+
.returns(T.attached_class)
|
|
174
|
+
end
|
|
175
|
+
def self.new(
|
|
176
|
+
|
|
177
|
+
event:,
|
|
178
|
+
|
|
179
|
+
event_id:,
|
|
180
|
+
|
|
181
|
+
type: :"transport.dtmf.send"
|
|
182
|
+
)
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
sig do
|
|
186
|
+
override.returns(
|
|
187
|
+
{event: String, event_id: String, type: Symbol}
|
|
188
|
+
)
|
|
189
|
+
end
|
|
190
|
+
def to_hash
|
|
191
|
+
end
|
|
192
|
+
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
class TransportRinging < OpenAI::Internal::Type::BaseModel
|
|
196
|
+
OrHash = T.type_alias do
|
|
197
|
+
T.any(
|
|
198
|
+
OpenAI::Live::ServerEvent::TransportRinging,
|
|
199
|
+
OpenAI::Internal::AnyHash
|
|
200
|
+
)
|
|
201
|
+
end
|
|
202
|
+
|
|
203
|
+
sig { returns(String) }
|
|
204
|
+
attr_accessor :event_id
|
|
205
|
+
|
|
206
|
+
# The canonical Live session ID.
|
|
207
|
+
sig { returns(String) }
|
|
208
|
+
attr_accessor :session_id
|
|
209
|
+
|
|
210
|
+
sig { returns(Symbol) }
|
|
211
|
+
attr_accessor :type
|
|
212
|
+
|
|
213
|
+
# The outbound SIP provider leg is ringing or providing early media. Delivered
|
|
214
|
+
# only to sideband observers.
|
|
215
|
+
sig do
|
|
216
|
+
params(
|
|
217
|
+
|
|
218
|
+
event_id: String,
|
|
219
|
+
|
|
220
|
+
session_id: String,
|
|
221
|
+
|
|
222
|
+
type: Symbol
|
|
223
|
+
)
|
|
224
|
+
.returns(T.attached_class)
|
|
225
|
+
end
|
|
226
|
+
def self.new(
|
|
227
|
+
|
|
228
|
+
event_id:,
|
|
229
|
+
|
|
230
|
+
# The canonical Live session ID.
|
|
231
|
+
session_id:,
|
|
232
|
+
|
|
233
|
+
type: :"transport.ringing"
|
|
234
|
+
)
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
sig do
|
|
238
|
+
override.returns(
|
|
239
|
+
{event_id: String, session_id: String, type: Symbol}
|
|
240
|
+
)
|
|
241
|
+
end
|
|
242
|
+
def to_hash
|
|
243
|
+
end
|
|
244
|
+
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
class TransportAnswered < OpenAI::Internal::Type::BaseModel
|
|
248
|
+
OrHash = T.type_alias do
|
|
249
|
+
T.any(
|
|
250
|
+
OpenAI::Live::ServerEvent::TransportAnswered,
|
|
251
|
+
OpenAI::Internal::AnyHash
|
|
252
|
+
)
|
|
253
|
+
end
|
|
254
|
+
|
|
255
|
+
sig { returns(String) }
|
|
256
|
+
attr_accessor :event_id
|
|
257
|
+
|
|
258
|
+
# The canonical Live session ID.
|
|
259
|
+
sig { returns(String) }
|
|
260
|
+
attr_accessor :session_id
|
|
261
|
+
|
|
262
|
+
sig { returns(Symbol) }
|
|
263
|
+
attr_accessor :type
|
|
264
|
+
|
|
265
|
+
# The outbound SIP provider leg answered and media is established. Delivered only
|
|
266
|
+
# to sideband observers.
|
|
267
|
+
sig do
|
|
268
|
+
params(
|
|
269
|
+
|
|
270
|
+
event_id: String,
|
|
271
|
+
|
|
272
|
+
session_id: String,
|
|
273
|
+
|
|
274
|
+
type: Symbol
|
|
275
|
+
)
|
|
276
|
+
.returns(T.attached_class)
|
|
277
|
+
end
|
|
278
|
+
def self.new(
|
|
279
|
+
|
|
280
|
+
event_id:,
|
|
281
|
+
|
|
282
|
+
# The canonical Live session ID.
|
|
283
|
+
session_id:,
|
|
284
|
+
|
|
285
|
+
type: :"transport.answered"
|
|
286
|
+
)
|
|
287
|
+
end
|
|
288
|
+
|
|
289
|
+
sig do
|
|
290
|
+
override.returns(
|
|
291
|
+
{event_id: String, session_id: String, type: Symbol}
|
|
292
|
+
)
|
|
293
|
+
end
|
|
294
|
+
def to_hash
|
|
295
|
+
end
|
|
296
|
+
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
class TransportFailed < OpenAI::Internal::Type::BaseModel
|
|
300
|
+
OrHash = T.type_alias do
|
|
301
|
+
T.any(
|
|
302
|
+
OpenAI::Live::ServerEvent::TransportFailed,
|
|
303
|
+
OpenAI::Internal::AnyHash
|
|
304
|
+
)
|
|
305
|
+
end
|
|
306
|
+
|
|
307
|
+
sig { returns(OpenAI::Live::ServerEvent::TransportFailed::Error) }
|
|
308
|
+
attr_reader :error
|
|
309
|
+
|
|
310
|
+
sig { params(error: OpenAI::Live::ServerEvent::TransportFailed::Error::OrHash).void }
|
|
311
|
+
attr_writer :error
|
|
312
|
+
|
|
313
|
+
sig { returns(String) }
|
|
314
|
+
attr_accessor :event_id
|
|
315
|
+
|
|
316
|
+
# The canonical Live session ID.
|
|
317
|
+
sig { returns(String) }
|
|
318
|
+
attr_accessor :session_id
|
|
319
|
+
|
|
320
|
+
sig { returns(Symbol) }
|
|
321
|
+
attr_accessor :type
|
|
322
|
+
|
|
323
|
+
# An asynchronous outbound SIP setup failure. Delivered only to sideband
|
|
324
|
+
# observers.
|
|
325
|
+
sig do
|
|
326
|
+
params(
|
|
327
|
+
|
|
328
|
+
error: OpenAI::Live::ServerEvent::TransportFailed::Error::OrHash,
|
|
329
|
+
|
|
330
|
+
event_id: String,
|
|
331
|
+
|
|
332
|
+
session_id: String,
|
|
333
|
+
|
|
334
|
+
type: Symbol
|
|
335
|
+
)
|
|
336
|
+
.returns(T.attached_class)
|
|
337
|
+
end
|
|
338
|
+
def self.new(
|
|
339
|
+
|
|
340
|
+
error:,
|
|
341
|
+
|
|
342
|
+
event_id:,
|
|
343
|
+
|
|
344
|
+
# The canonical Live session ID.
|
|
345
|
+
session_id:,
|
|
346
|
+
|
|
347
|
+
type: :"transport.failed"
|
|
348
|
+
)
|
|
349
|
+
end
|
|
350
|
+
|
|
351
|
+
sig do
|
|
352
|
+
override.returns(
|
|
353
|
+
{
|
|
354
|
+
error: OpenAI::Live::ServerEvent::TransportFailed::Error,
|
|
355
|
+
event_id: String,
|
|
356
|
+
session_id: String,
|
|
357
|
+
type: Symbol
|
|
358
|
+
}
|
|
359
|
+
)
|
|
360
|
+
end
|
|
361
|
+
def to_hash
|
|
362
|
+
end
|
|
363
|
+
|
|
364
|
+
class Error < OpenAI::Internal::Type::BaseModel
|
|
365
|
+
OrHash = T.type_alias do
|
|
366
|
+
T.any(
|
|
367
|
+
OpenAI::Live::ServerEvent::TransportFailed::Error,
|
|
368
|
+
OpenAI::Internal::AnyHash
|
|
369
|
+
)
|
|
370
|
+
end
|
|
371
|
+
|
|
372
|
+
# The call setup failure code.
|
|
373
|
+
sig { returns(String) }
|
|
374
|
+
attr_accessor :code
|
|
375
|
+
|
|
376
|
+
sig { returns(String) }
|
|
377
|
+
attr_accessor :message
|
|
378
|
+
|
|
379
|
+
sig { returns(Symbol) }
|
|
380
|
+
attr_accessor :type
|
|
381
|
+
|
|
382
|
+
# The parameter related to the error, if any. Empty when no parameter applies.
|
|
383
|
+
sig { returns(T.nilable(String)) }
|
|
384
|
+
attr_reader :param
|
|
385
|
+
|
|
386
|
+
sig { params(param: String).void }
|
|
387
|
+
attr_writer :param
|
|
388
|
+
|
|
389
|
+
sig do
|
|
390
|
+
params(
|
|
391
|
+
|
|
392
|
+
code: String,
|
|
393
|
+
|
|
394
|
+
message: String,
|
|
395
|
+
|
|
396
|
+
param: String,
|
|
397
|
+
|
|
398
|
+
type: Symbol
|
|
399
|
+
)
|
|
400
|
+
.returns(T.attached_class)
|
|
401
|
+
end
|
|
402
|
+
def self.new(
|
|
403
|
+
|
|
404
|
+
# The call setup failure code.
|
|
405
|
+
code:,
|
|
406
|
+
|
|
407
|
+
message:,
|
|
408
|
+
|
|
409
|
+
# The parameter related to the error, if any. Empty when no parameter applies.
|
|
410
|
+
param: nil,
|
|
411
|
+
|
|
412
|
+
type: :call_error
|
|
413
|
+
)
|
|
414
|
+
end
|
|
415
|
+
|
|
416
|
+
sig do
|
|
417
|
+
override.returns(
|
|
418
|
+
{code: String, message: String, type: Symbol, param: T.nilable(String)}
|
|
419
|
+
)
|
|
420
|
+
end
|
|
421
|
+
def to_hash
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
end
|
|
425
|
+
end
|
|
426
|
+
|
|
427
|
+
sig { override.returns(T::Array[OpenAI::Live::ServerEvent::Variants]) }
|
|
428
|
+
def self.variants
|
|
429
|
+
end
|
|
430
|
+
|
|
431
|
+
end
|
|
432
|
+
|
|
433
|
+
end
|
|
434
|
+
|
|
435
|
+
end
|
|
436
|
+
end
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class ServerEventSelector < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::ServerEventSelector,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The outer Live server event type. Use 'response.event' for Responses events.
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :type
|
|
20
|
+
|
|
21
|
+
# The nested Responses event type. Required when type is 'response.event';
|
|
22
|
+
# forbidden for other event types.
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_reader :response_event
|
|
25
|
+
|
|
26
|
+
sig { params(response_event: String).void }
|
|
27
|
+
attr_writer :response_event
|
|
28
|
+
|
|
29
|
+
# A Live server event selector for the WebRTC frontend data channel.
|
|
30
|
+
sig do
|
|
31
|
+
params(
|
|
32
|
+
|
|
33
|
+
type: String,
|
|
34
|
+
|
|
35
|
+
response_event: String
|
|
36
|
+
)
|
|
37
|
+
.returns(T.attached_class)
|
|
38
|
+
end
|
|
39
|
+
def self.new(
|
|
40
|
+
|
|
41
|
+
# The outer Live server event type. Use 'response.event' for Responses events.
|
|
42
|
+
type:,
|
|
43
|
+
|
|
44
|
+
# The nested Responses event type. Required when type is 'response.event';
|
|
45
|
+
# forbidden for other event types.
|
|
46
|
+
|
|
47
|
+
response_event: nil
|
|
48
|
+
)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
sig do
|
|
52
|
+
override.returns(
|
|
53
|
+
{type: String, response_event: String}
|
|
54
|
+
)
|
|
55
|
+
end
|
|
56
|
+
def to_hash
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
end
|
|
64
|
+
end
|