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
|
@@ -71,6 +71,24 @@ module OpenAI
|
|
|
71
71
|
sig { returns(Symbol) }
|
|
72
72
|
attr_accessor :type
|
|
73
73
|
|
|
74
|
+
# The action used for image generation.
|
|
75
|
+
sig {
|
|
76
|
+
returns(T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Action::TaggedSymbol))
|
|
77
|
+
}
|
|
78
|
+
attr_accessor :action
|
|
79
|
+
|
|
80
|
+
# The background setting used for generation.
|
|
81
|
+
sig {
|
|
82
|
+
returns(T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Background::TaggedSymbol))
|
|
83
|
+
}
|
|
84
|
+
attr_accessor :background
|
|
85
|
+
|
|
86
|
+
# The output format used for generation.
|
|
87
|
+
sig {
|
|
88
|
+
returns(T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::OutputFormat::TaggedSymbol))
|
|
89
|
+
}
|
|
90
|
+
attr_accessor :output_format
|
|
91
|
+
|
|
74
92
|
# The quality of the image generated by the image generation tool call. One of
|
|
75
93
|
# `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
|
|
76
94
|
sig {
|
|
@@ -78,6 +96,10 @@ module OpenAI
|
|
|
78
96
|
}
|
|
79
97
|
attr_accessor :quality
|
|
80
98
|
|
|
99
|
+
# The prompt that was used after any model prompt rewriting.
|
|
100
|
+
sig { returns(T.nilable(String)) }
|
|
101
|
+
attr_accessor :revised_prompt
|
|
102
|
+
|
|
81
103
|
# The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
|
|
82
104
|
sig { returns(T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Size::Variants)) }
|
|
83
105
|
attr_accessor :size
|
|
@@ -92,8 +114,18 @@ module OpenAI
|
|
|
92
114
|
|
|
93
115
|
status: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Status::OrSymbol,
|
|
94
116
|
|
|
117
|
+
action: T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Action::OrSymbol),
|
|
118
|
+
|
|
119
|
+
background: T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Background::OrSymbol),
|
|
120
|
+
|
|
121
|
+
output_format: T.nilable(
|
|
122
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::OutputFormat::OrSymbol
|
|
123
|
+
),
|
|
124
|
+
|
|
95
125
|
quality: T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Quality::OrSymbol),
|
|
96
126
|
|
|
127
|
+
revised_prompt: T.nilable(String),
|
|
128
|
+
|
|
97
129
|
size: T.nilable(
|
|
98
130
|
T.any(String, OpenAI::Conversations::ConversationItem::ImageGenerationCall::Size::OrSymbol)
|
|
99
131
|
),
|
|
@@ -113,10 +145,22 @@ module OpenAI
|
|
|
113
145
|
# The status of the image generation call.
|
|
114
146
|
status:,
|
|
115
147
|
|
|
148
|
+
# The action used for image generation.
|
|
149
|
+
action: nil,
|
|
150
|
+
|
|
151
|
+
# The background setting used for generation.
|
|
152
|
+
background: nil,
|
|
153
|
+
|
|
154
|
+
# The output format used for generation.
|
|
155
|
+
output_format: nil,
|
|
156
|
+
|
|
116
157
|
# The quality of the image generated by the image generation tool call. One of
|
|
117
158
|
# `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
|
|
118
159
|
quality: nil,
|
|
119
160
|
|
|
161
|
+
# The prompt that was used after any model prompt rewriting.
|
|
162
|
+
revised_prompt: nil,
|
|
163
|
+
|
|
120
164
|
# The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
|
|
121
165
|
size: nil,
|
|
122
166
|
|
|
@@ -133,7 +177,15 @@ module OpenAI
|
|
|
133
177
|
result: T.nilable(String),
|
|
134
178
|
status: OpenAI::Conversations::ConversationItem::ImageGenerationCall::Status::TaggedSymbol,
|
|
135
179
|
type: Symbol,
|
|
180
|
+
action: T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Action::TaggedSymbol),
|
|
181
|
+
background: T.nilable(
|
|
182
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::Background::TaggedSymbol
|
|
183
|
+
),
|
|
184
|
+
output_format: T.nilable(
|
|
185
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::OutputFormat::TaggedSymbol
|
|
186
|
+
),
|
|
136
187
|
quality: T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Quality::TaggedSymbol),
|
|
188
|
+
revised_prompt: T.nilable(String),
|
|
137
189
|
size: T.nilable(OpenAI::Conversations::ConversationItem::ImageGenerationCall::Size::Variants)
|
|
138
190
|
}
|
|
139
191
|
)
|
|
@@ -173,6 +225,87 @@ module OpenAI
|
|
|
173
225
|
end
|
|
174
226
|
end
|
|
175
227
|
|
|
228
|
+
# The action used for image generation.
|
|
229
|
+
module Action
|
|
230
|
+
extend OpenAI::Internal::Type::Enum
|
|
231
|
+
|
|
232
|
+
TaggedSymbol = T.type_alias {
|
|
233
|
+
T.all(Symbol, OpenAI::Conversations::ConversationItem::ImageGenerationCall::Action)
|
|
234
|
+
}
|
|
235
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
236
|
+
|
|
237
|
+
GENERATE = T.let(
|
|
238
|
+
:generate,
|
|
239
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::Action::TaggedSymbol
|
|
240
|
+
)
|
|
241
|
+
EDIT = T.let(:edit, OpenAI::Conversations::ConversationItem::ImageGenerationCall::Action::TaggedSymbol)
|
|
242
|
+
AUTO = T.let(:auto, OpenAI::Conversations::ConversationItem::ImageGenerationCall::Action::TaggedSymbol)
|
|
243
|
+
|
|
244
|
+
sig {
|
|
245
|
+
override.returns(
|
|
246
|
+
T::Array[OpenAI::Conversations::ConversationItem::ImageGenerationCall::Action::TaggedSymbol]
|
|
247
|
+
)
|
|
248
|
+
}
|
|
249
|
+
def self.values
|
|
250
|
+
end
|
|
251
|
+
end
|
|
252
|
+
|
|
253
|
+
# The background setting used for generation.
|
|
254
|
+
module Background
|
|
255
|
+
extend OpenAI::Internal::Type::Enum
|
|
256
|
+
|
|
257
|
+
TaggedSymbol = T.type_alias {
|
|
258
|
+
T.all(Symbol, OpenAI::Conversations::ConversationItem::ImageGenerationCall::Background)
|
|
259
|
+
}
|
|
260
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
261
|
+
|
|
262
|
+
TRANSPARENT = T.let(
|
|
263
|
+
:transparent,
|
|
264
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::Background::TaggedSymbol
|
|
265
|
+
)
|
|
266
|
+
OPAQUE = T.let(
|
|
267
|
+
:opaque,
|
|
268
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::Background::TaggedSymbol
|
|
269
|
+
)
|
|
270
|
+
AUTO = T.let(:auto, OpenAI::Conversations::ConversationItem::ImageGenerationCall::Background::TaggedSymbol)
|
|
271
|
+
|
|
272
|
+
sig {
|
|
273
|
+
override.returns(
|
|
274
|
+
T::Array[OpenAI::Conversations::ConversationItem::ImageGenerationCall::Background::TaggedSymbol]
|
|
275
|
+
)
|
|
276
|
+
}
|
|
277
|
+
def self.values
|
|
278
|
+
end
|
|
279
|
+
end
|
|
280
|
+
|
|
281
|
+
# The output format used for generation.
|
|
282
|
+
module OutputFormat
|
|
283
|
+
extend OpenAI::Internal::Type::Enum
|
|
284
|
+
|
|
285
|
+
TaggedSymbol = T.type_alias {
|
|
286
|
+
T.all(Symbol, OpenAI::Conversations::ConversationItem::ImageGenerationCall::OutputFormat)
|
|
287
|
+
}
|
|
288
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
289
|
+
|
|
290
|
+
PNG = T.let(:png, OpenAI::Conversations::ConversationItem::ImageGenerationCall::OutputFormat::TaggedSymbol)
|
|
291
|
+
WEBP = T.let(
|
|
292
|
+
:webp,
|
|
293
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::OutputFormat::TaggedSymbol
|
|
294
|
+
)
|
|
295
|
+
JPEG = T.let(
|
|
296
|
+
:jpeg,
|
|
297
|
+
OpenAI::Conversations::ConversationItem::ImageGenerationCall::OutputFormat::TaggedSymbol
|
|
298
|
+
)
|
|
299
|
+
|
|
300
|
+
sig {
|
|
301
|
+
override.returns(
|
|
302
|
+
T::Array[OpenAI::Conversations::ConversationItem::ImageGenerationCall::OutputFormat::TaggedSymbol]
|
|
303
|
+
)
|
|
304
|
+
}
|
|
305
|
+
def self.values
|
|
306
|
+
end
|
|
307
|
+
end
|
|
308
|
+
|
|
176
309
|
# The quality of the image generated by the image generation tool call. One of
|
|
177
310
|
# `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
|
|
178
311
|
module Quality
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
# Audio encoding and sample rate for audio sent and received over a Live WebSocket
|
|
9
|
+
# connection. WebRTC and SIP negotiate their media format separately.
|
|
10
|
+
module AudioFormat
|
|
11
|
+
extend OpenAI::Internal::Type::Union
|
|
12
|
+
|
|
13
|
+
Variants = T.type_alias do
|
|
14
|
+
T.any(
|
|
15
|
+
OpenAI::Live::AudioFormat::AudioPCM,
|
|
16
|
+
OpenAI::Live::AudioFormat::AudioPCMU,
|
|
17
|
+
OpenAI::Live::AudioFormat::AudioPCMA
|
|
18
|
+
)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
class AudioPCM < OpenAI::Internal::Type::BaseModel
|
|
22
|
+
OrHash = T.type_alias do
|
|
23
|
+
T.any(
|
|
24
|
+
OpenAI::Live::AudioFormat::AudioPCM,
|
|
25
|
+
OpenAI::Internal::AnyHash
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
# Audio sample rate in hertz. Live WebSocket PCM audio supports 16000 or 24000 Hz.
|
|
30
|
+
sig { returns(OpenAI::Live::AudioFormat::AudioPCM::Rate::OrInteger) }
|
|
31
|
+
attr_accessor :rate
|
|
32
|
+
|
|
33
|
+
# The audio encoding. Always `audio/pcm`.
|
|
34
|
+
sig { returns(Symbol) }
|
|
35
|
+
attr_accessor :type
|
|
36
|
+
|
|
37
|
+
# Raw, mono 16-bit little-endian PCM audio for a Live WebSocket connection.
|
|
38
|
+
sig do
|
|
39
|
+
params(
|
|
40
|
+
|
|
41
|
+
rate: OpenAI::Live::AudioFormat::AudioPCM::Rate::OrInteger,
|
|
42
|
+
|
|
43
|
+
type: Symbol
|
|
44
|
+
)
|
|
45
|
+
.returns(T.attached_class)
|
|
46
|
+
end
|
|
47
|
+
def self.new(
|
|
48
|
+
|
|
49
|
+
# Audio sample rate in hertz. Live WebSocket PCM audio supports 16000 or 24000 Hz.
|
|
50
|
+
rate:,
|
|
51
|
+
|
|
52
|
+
# The audio encoding. Always `audio/pcm`.
|
|
53
|
+
|
|
54
|
+
type: :"audio/pcm"
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
sig do
|
|
59
|
+
override.returns(
|
|
60
|
+
{rate: OpenAI::Live::AudioFormat::AudioPCM::Rate::OrInteger, type: Symbol}
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
def to_hash
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Audio sample rate in hertz. Live WebSocket PCM audio supports 16000 or 24000 Hz.
|
|
67
|
+
module Rate
|
|
68
|
+
extend OpenAI::Internal::Type::Enum
|
|
69
|
+
|
|
70
|
+
TaggedInteger = T.type_alias { T.all(Integer, OpenAI::Live::AudioFormat::AudioPCM::Rate) }
|
|
71
|
+
OrInteger = T.type_alias { Integer }
|
|
72
|
+
|
|
73
|
+
RATE_16000 = T.let(16_000, OpenAI::Live::AudioFormat::AudioPCM::Rate::TaggedInteger)
|
|
74
|
+
RATE_24000 = T.let(24_000, OpenAI::Live::AudioFormat::AudioPCM::Rate::TaggedInteger)
|
|
75
|
+
|
|
76
|
+
sig { override.returns(T::Array[OpenAI::Live::AudioFormat::AudioPCM::Rate::TaggedInteger]) }
|
|
77
|
+
def self.values
|
|
78
|
+
end
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
class AudioPCMU < OpenAI::Internal::Type::BaseModel
|
|
83
|
+
OrHash = T.type_alias do
|
|
84
|
+
T.any(
|
|
85
|
+
OpenAI::Live::AudioFormat::AudioPCMU,
|
|
86
|
+
OpenAI::Internal::AnyHash
|
|
87
|
+
)
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
# Audio sample rate in hertz. G.711 audio uses 8000 Hz.
|
|
91
|
+
sig { returns(Integer) }
|
|
92
|
+
attr_accessor :rate
|
|
93
|
+
|
|
94
|
+
# The audio encoding. Always `audio/pcmu`.
|
|
95
|
+
sig { returns(Symbol) }
|
|
96
|
+
attr_accessor :type
|
|
97
|
+
|
|
98
|
+
# Raw, mono G.711 μ-law audio for a Live WebSocket connection.
|
|
99
|
+
sig do
|
|
100
|
+
params(
|
|
101
|
+
|
|
102
|
+
rate: Integer,
|
|
103
|
+
|
|
104
|
+
type: Symbol
|
|
105
|
+
)
|
|
106
|
+
.returns(T.attached_class)
|
|
107
|
+
end
|
|
108
|
+
def self.new(
|
|
109
|
+
|
|
110
|
+
# Audio sample rate in hertz. G.711 audio uses 8000 Hz.
|
|
111
|
+
rate:,
|
|
112
|
+
|
|
113
|
+
# The audio encoding. Always `audio/pcmu`.
|
|
114
|
+
|
|
115
|
+
type: :"audio/pcmu"
|
|
116
|
+
)
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
sig do
|
|
120
|
+
override.returns(
|
|
121
|
+
{rate: Integer, type: Symbol}
|
|
122
|
+
)
|
|
123
|
+
end
|
|
124
|
+
def to_hash
|
|
125
|
+
end
|
|
126
|
+
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
class AudioPCMA < OpenAI::Internal::Type::BaseModel
|
|
130
|
+
OrHash = T.type_alias do
|
|
131
|
+
T.any(
|
|
132
|
+
OpenAI::Live::AudioFormat::AudioPCMA,
|
|
133
|
+
OpenAI::Internal::AnyHash
|
|
134
|
+
)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
# Audio sample rate in hertz. G.711 audio uses 8000 Hz.
|
|
138
|
+
sig { returns(Integer) }
|
|
139
|
+
attr_accessor :rate
|
|
140
|
+
|
|
141
|
+
# The audio encoding. Always `audio/pcma`.
|
|
142
|
+
sig { returns(Symbol) }
|
|
143
|
+
attr_accessor :type
|
|
144
|
+
|
|
145
|
+
# Raw, mono G.711 A-law audio for a Live WebSocket connection.
|
|
146
|
+
sig do
|
|
147
|
+
params(
|
|
148
|
+
|
|
149
|
+
rate: Integer,
|
|
150
|
+
|
|
151
|
+
type: Symbol
|
|
152
|
+
)
|
|
153
|
+
.returns(T.attached_class)
|
|
154
|
+
end
|
|
155
|
+
def self.new(
|
|
156
|
+
|
|
157
|
+
# Audio sample rate in hertz. G.711 audio uses 8000 Hz.
|
|
158
|
+
rate:,
|
|
159
|
+
|
|
160
|
+
# The audio encoding. Always `audio/pcma`.
|
|
161
|
+
|
|
162
|
+
type: :"audio/pcma"
|
|
163
|
+
)
|
|
164
|
+
end
|
|
165
|
+
|
|
166
|
+
sig do
|
|
167
|
+
override.returns(
|
|
168
|
+
{rate: Integer, type: Symbol}
|
|
169
|
+
)
|
|
170
|
+
end
|
|
171
|
+
def to_hash
|
|
172
|
+
end
|
|
173
|
+
|
|
174
|
+
end
|
|
175
|
+
|
|
176
|
+
sig { override.returns(T::Array[OpenAI::Live::AudioFormat::Variants]) }
|
|
177
|
+
def self.variants
|
|
178
|
+
end
|
|
179
|
+
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
end
|
|
183
|
+
|
|
184
|
+
end
|
|
185
|
+
end
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
# A built-in voice available for Live speech.
|
|
9
|
+
module BuiltInVoice
|
|
10
|
+
extend OpenAI::Internal::Type::Enum
|
|
11
|
+
|
|
12
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::BuiltInVoice) }
|
|
13
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
14
|
+
|
|
15
|
+
ALLOY = T.let(:alloy, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
16
|
+
ASH = T.let(:ash, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
17
|
+
BALLAD = T.let(:ballad, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
18
|
+
BEACON = T.let(:beacon, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
19
|
+
BOSSA = T.let(:bossa, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
20
|
+
CEDAR = T.let(:cedar, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
21
|
+
CINDER = T.let(:cinder, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
22
|
+
CORAL = T.let(:coral, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
23
|
+
DELTA = T.let(:delta, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
24
|
+
ECHO = T.let(:echo, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
25
|
+
GLEAM = T.let(:gleam, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
26
|
+
MARIN = T.let(:marin, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
27
|
+
MERIDIAN = T.let(:meridian, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
28
|
+
QUARTZ = T.let(:quartz, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
29
|
+
RIPPLE = T.let(:ripple, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
30
|
+
SAGE = T.let(:sage, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
31
|
+
SHIMMER = T.let(:shimmer, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
32
|
+
STONE = T.let(:stone, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
33
|
+
TEMPO = T.let(:tempo, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
34
|
+
VERSE = T.let(:verse, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
35
|
+
VESPER = T.let(:vesper, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
36
|
+
WILLOW = T.let(:willow, OpenAI::Live::BuiltInVoice::TaggedSymbol)
|
|
37
|
+
|
|
38
|
+
sig { override.returns(T::Array[OpenAI::Live::BuiltInVoice::TaggedSymbol]) }
|
|
39
|
+
def self.values
|
|
40
|
+
end
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
end
|
|
46
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class ClientConfig < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::ClientConfig,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Client and server event permissions for the WebRTC frontend data channel.
|
|
18
|
+
sig { returns(OpenAI::Live::DataChannelConfig) }
|
|
19
|
+
attr_reader :data_channel
|
|
20
|
+
|
|
21
|
+
sig { params(data_channel: OpenAI::Live::DataChannelConfig::OrHash).void }
|
|
22
|
+
attr_writer :data_channel
|
|
23
|
+
|
|
24
|
+
# Startup-only capabilities for an untrusted frontend attached to a unified WebRTC
|
|
25
|
+
# session. Trusted sideband connections are unaffected.
|
|
26
|
+
sig do
|
|
27
|
+
params(
|
|
28
|
+
|
|
29
|
+
data_channel: OpenAI::Live::DataChannelConfig::OrHash
|
|
30
|
+
)
|
|
31
|
+
.returns(T.attached_class)
|
|
32
|
+
end
|
|
33
|
+
def self.new(
|
|
34
|
+
|
|
35
|
+
# Client and server event permissions for the WebRTC frontend data channel.
|
|
36
|
+
|
|
37
|
+
data_channel:
|
|
38
|
+
)
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
override.returns(
|
|
43
|
+
{data_channel: OpenAI::Live::DataChannelConfig}
|
|
44
|
+
)
|
|
45
|
+
end
|
|
46
|
+
def to_hash
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class ClientDelegation < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::ClientDelegation,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The delegation owner. Always `client` for tasks handled by your application.
|
|
18
|
+
sig { returns(Symbol) }
|
|
19
|
+
attr_accessor :type
|
|
20
|
+
|
|
21
|
+
# Delegate tasks to your application. The Live session emits delegation events
|
|
22
|
+
# that your backend handles.
|
|
23
|
+
sig do
|
|
24
|
+
params(
|
|
25
|
+
|
|
26
|
+
type: Symbol
|
|
27
|
+
)
|
|
28
|
+
.returns(T.attached_class)
|
|
29
|
+
end
|
|
30
|
+
def self.new(
|
|
31
|
+
|
|
32
|
+
# The delegation owner. Always `client` for tasks handled by your application.
|
|
33
|
+
|
|
34
|
+
type: :client
|
|
35
|
+
)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
sig do
|
|
39
|
+
override.returns(
|
|
40
|
+
{type: Symbol}
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
def to_hash
|
|
44
|
+
end
|
|
45
|
+
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
end
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
# Client events for Live. Initialize a primary WebSocket with session.start and
|
|
9
|
+
# wait for session.started. WebRTC creation already starts the session. Audio
|
|
10
|
+
# append is primary WebSocket-only. See the
|
|
11
|
+
# [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting)
|
|
12
|
+
# before writing frontend instructions and delegation policies.
|
|
13
|
+
module ClientEvent
|
|
14
|
+
extend OpenAI::Internal::Type::Union
|
|
15
|
+
|
|
16
|
+
Variants = T.type_alias do
|
|
17
|
+
T.any(
|
|
18
|
+
OpenAI::Live::SessionStartEvent,
|
|
19
|
+
OpenAI::Live::SessionUpdateEvent,
|
|
20
|
+
OpenAI::Live::InputAudioAppendEvent,
|
|
21
|
+
OpenAI::Live::InputAudioMuteEvent,
|
|
22
|
+
OpenAI::Live::InputAudioUnmuteEvent,
|
|
23
|
+
OpenAI::Live::InstructionsAppendEvent,
|
|
24
|
+
OpenAI::Live::ThinkingAppendEvent,
|
|
25
|
+
OpenAI::Live::CommentaryAppendEvent,
|
|
26
|
+
OpenAI::Live::ResponseItemCreateEvent,
|
|
27
|
+
OpenAI::Live::ResponseCreateEvent,
|
|
28
|
+
OpenAI::Live::SessionCloseEvent
|
|
29
|
+
)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
sig { override.returns(T::Array[OpenAI::Live::ClientEvent::Variants]) }
|
|
33
|
+
def self.variants
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
end
|
|
41
|
+
end
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Live
|
|
7
|
+
|
|
8
|
+
class CommentaryAppendEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Live::CommentaryAppendEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Speakable context for the Live model, limited to 500 tokens. Use this for a
|
|
18
|
+
# result the model should communicate; use session.thinking.append for silent
|
|
19
|
+
# context.
|
|
20
|
+
sig { returns(String) }
|
|
21
|
+
attr_accessor :content
|
|
22
|
+
|
|
23
|
+
# Required, nullable. Set null for general session context, or use the ID from
|
|
24
|
+
# session.delegation.created for an existing client delegation. Non-null IDs are
|
|
25
|
+
# not accepted with Responses delegation.
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_accessor :delegation_id
|
|
28
|
+
|
|
29
|
+
# The Live client event type. Always `session.commentary.append`.
|
|
30
|
+
sig { returns(Symbol) }
|
|
31
|
+
attr_accessor :type
|
|
32
|
+
|
|
33
|
+
# Optional client identifier for correlating this command with a server event's
|
|
34
|
+
# client_event_id or error.client_event_id.
|
|
35
|
+
sig { returns(T.nilable(String)) }
|
|
36
|
+
attr_accessor :event_id
|
|
37
|
+
|
|
38
|
+
# Provide context the Live model can communicate to the user, optionally for an
|
|
39
|
+
# existing client delegation.
|
|
40
|
+
sig do
|
|
41
|
+
params(
|
|
42
|
+
|
|
43
|
+
content: String,
|
|
44
|
+
|
|
45
|
+
delegation_id: T.nilable(String),
|
|
46
|
+
|
|
47
|
+
event_id: T.nilable(String),
|
|
48
|
+
|
|
49
|
+
type: Symbol
|
|
50
|
+
)
|
|
51
|
+
.returns(T.attached_class)
|
|
52
|
+
end
|
|
53
|
+
def self.new(
|
|
54
|
+
|
|
55
|
+
# Speakable context for the Live model, limited to 500 tokens. Use this for a
|
|
56
|
+
# result the model should communicate; use session.thinking.append for silent
|
|
57
|
+
# context.
|
|
58
|
+
content:,
|
|
59
|
+
|
|
60
|
+
# Required, nullable. Set null for general session context, or use the ID from
|
|
61
|
+
# session.delegation.created for an existing client delegation. Non-null IDs are
|
|
62
|
+
# not accepted with Responses delegation.
|
|
63
|
+
delegation_id:,
|
|
64
|
+
|
|
65
|
+
# Optional client identifier for correlating this command with a server event's
|
|
66
|
+
# client_event_id or error.client_event_id.
|
|
67
|
+
event_id: nil,
|
|
68
|
+
|
|
69
|
+
# The Live client event type. Always `session.commentary.append`.
|
|
70
|
+
|
|
71
|
+
type: :"session.commentary.append"
|
|
72
|
+
)
|
|
73
|
+
end
|
|
74
|
+
|
|
75
|
+
sig do
|
|
76
|
+
override.returns(
|
|
77
|
+
{content: String, delegation_id: T.nilable(String), type: Symbol, event_id: T.nilable(String)}
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
def to_hash
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
end
|
|
86
|
+
|
|
87
|
+
end
|
|
88
|
+
end
|