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
|
@@ -285,6 +285,36 @@ module OpenAI
|
|
|
285
285
|
# @return [Symbol, :image_generation_call]
|
|
286
286
|
required :type, const: :image_generation_call
|
|
287
287
|
|
|
288
|
+
# @!attribute action
|
|
289
|
+
# The action used for image generation.
|
|
290
|
+
#
|
|
291
|
+
# @return [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Action, nil]
|
|
292
|
+
optional(
|
|
293
|
+
:action,
|
|
294
|
+
enum: -> { OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Action },
|
|
295
|
+
nil?: true
|
|
296
|
+
)
|
|
297
|
+
|
|
298
|
+
# @!attribute background
|
|
299
|
+
# The background setting used for generation.
|
|
300
|
+
#
|
|
301
|
+
# @return [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Background, nil]
|
|
302
|
+
optional(
|
|
303
|
+
:background,
|
|
304
|
+
enum: -> { OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::Background },
|
|
305
|
+
nil?: true
|
|
306
|
+
)
|
|
307
|
+
|
|
308
|
+
# @!attribute output_format
|
|
309
|
+
# The output format used for generation.
|
|
310
|
+
#
|
|
311
|
+
# @return [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::OutputFormat, nil]
|
|
312
|
+
optional(
|
|
313
|
+
:output_format,
|
|
314
|
+
enum: -> { OpenAI::Responses::ResponseOutputItem::ImageGenerationCall::OutputFormat },
|
|
315
|
+
nil?: true
|
|
316
|
+
)
|
|
317
|
+
|
|
288
318
|
# @!attribute quality
|
|
289
319
|
# The quality of the image generated by the image generation tool call. One of
|
|
290
320
|
# `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
|
|
@@ -296,6 +326,12 @@ module OpenAI
|
|
|
296
326
|
nil?: true
|
|
297
327
|
)
|
|
298
328
|
|
|
329
|
+
# @!attribute revised_prompt
|
|
330
|
+
# The prompt that was used after any model prompt rewriting.
|
|
331
|
+
#
|
|
332
|
+
# @return [String, nil]
|
|
333
|
+
optional :revised_prompt, String, nil?: true
|
|
334
|
+
|
|
299
335
|
# @!attribute size
|
|
300
336
|
# The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
|
|
301
337
|
#
|
|
@@ -308,7 +344,7 @@ module OpenAI
|
|
|
308
344
|
nil?: true
|
|
309
345
|
)
|
|
310
346
|
|
|
311
|
-
# @!method initialize(id:, result:, status:, quality: nil, size: nil, type: :image_generation_call)
|
|
347
|
+
# @!method initialize(id:, result:, status:, action: nil, background: nil, output_format: nil, quality: nil, revised_prompt: nil, size: nil, type: :image_generation_call)
|
|
312
348
|
# An image generation request made by the model.
|
|
313
349
|
#
|
|
314
350
|
# @param id [String]
|
|
@@ -320,10 +356,22 @@ module OpenAI
|
|
|
320
356
|
# @param status [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Status]
|
|
321
357
|
# The status of the image generation call.
|
|
322
358
|
#
|
|
359
|
+
# @param action [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Action, nil]
|
|
360
|
+
# The action used for image generation.
|
|
361
|
+
#
|
|
362
|
+
# @param background [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Background, nil]
|
|
363
|
+
# The background setting used for generation.
|
|
364
|
+
#
|
|
365
|
+
# @param output_format [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::OutputFormat, nil]
|
|
366
|
+
# The output format used for generation.
|
|
367
|
+
#
|
|
323
368
|
# @param quality [Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Quality, nil]
|
|
324
369
|
# The quality of the image generated by the image generation tool call. One of
|
|
325
370
|
# `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
|
|
326
371
|
#
|
|
372
|
+
# @param revised_prompt [String, nil]
|
|
373
|
+
# The prompt that was used after any model prompt rewriting.
|
|
374
|
+
#
|
|
327
375
|
# @param size [String, Symbol, OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall::Size, nil]
|
|
328
376
|
# The image dimensions as a `WIDTHxHEIGHT` string, for example `1536x864`.
|
|
329
377
|
#
|
|
@@ -345,6 +393,48 @@ module OpenAI
|
|
|
345
393
|
# @return [Array<Symbol>]
|
|
346
394
|
end
|
|
347
395
|
|
|
396
|
+
# The action used for image generation.
|
|
397
|
+
#
|
|
398
|
+
# @see OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall#action
|
|
399
|
+
module Action
|
|
400
|
+
extend OpenAI::Internal::Type::Enum
|
|
401
|
+
|
|
402
|
+
GENERATE = :generate
|
|
403
|
+
EDIT = :edit
|
|
404
|
+
AUTO = :auto
|
|
405
|
+
|
|
406
|
+
# @!method self.values
|
|
407
|
+
# @return [Array<Symbol>]
|
|
408
|
+
end
|
|
409
|
+
|
|
410
|
+
# The background setting used for generation.
|
|
411
|
+
#
|
|
412
|
+
# @see OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall#background
|
|
413
|
+
module Background
|
|
414
|
+
extend OpenAI::Internal::Type::Enum
|
|
415
|
+
|
|
416
|
+
TRANSPARENT = :transparent
|
|
417
|
+
OPAQUE = :opaque
|
|
418
|
+
AUTO = :auto
|
|
419
|
+
|
|
420
|
+
# @!method self.values
|
|
421
|
+
# @return [Array<Symbol>]
|
|
422
|
+
end
|
|
423
|
+
|
|
424
|
+
# The output format used for generation.
|
|
425
|
+
#
|
|
426
|
+
# @see OpenAI::Models::Responses::ResponseOutputItem::ImageGenerationCall#output_format
|
|
427
|
+
module OutputFormat
|
|
428
|
+
extend OpenAI::Internal::Type::Enum
|
|
429
|
+
|
|
430
|
+
PNG = :png
|
|
431
|
+
WEBP = :webp
|
|
432
|
+
JPEG = :jpeg
|
|
433
|
+
|
|
434
|
+
# @!method self.values
|
|
435
|
+
# @return [Array<Symbol>]
|
|
436
|
+
end
|
|
437
|
+
|
|
348
438
|
# The quality of the image generated by the image generation tool call. One of
|
|
349
439
|
# `low`, `medium`, `high`, `xhigh`, `max`, or `auto`.
|
|
350
440
|
#
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
module OpenAI
|
|
4
4
|
module Models
|
|
5
5
|
module Webhooks
|
|
6
|
+
# @deprecated
|
|
6
7
|
class LiveCallIncomingWebhookEvent < OpenAI::Internal::Type::BaseModel
|
|
7
8
|
# @!attribute id
|
|
8
9
|
# The unique ID of the event.
|
|
@@ -35,9 +36,11 @@ module OpenAI
|
|
|
35
36
|
optional :object, enum: -> { OpenAI::Webhooks::LiveCallIncomingWebhookEvent::Object }
|
|
36
37
|
|
|
37
38
|
# @!method initialize(id:, created_at:, data:, object: nil, type: :"live.call.incoming")
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
#
|
|
39
|
+
# Deprecated: use `live.transport.incoming`. Retained for existing subscriptions
|
|
40
|
+
# during migration; new subscriptions to this event are not allowed. Sent when an
|
|
41
|
+
# incoming API SIP session is available for Live acceptance. The same pending
|
|
42
|
+
# session can also emit `realtime.call.incoming`; the first successful Realtime or
|
|
43
|
+
# Live accept endpoint selects the runtime surface.
|
|
41
44
|
#
|
|
42
45
|
# @param id [String]
|
|
43
46
|
# The unique ID of the event.
|
|
@@ -57,8 +60,9 @@ module OpenAI
|
|
|
57
60
|
# @see OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent#data
|
|
58
61
|
class Data < OpenAI::Internal::Type::BaseModel
|
|
59
62
|
# @!attribute session_id
|
|
60
|
-
# The `live_...` ID of the pending SIP session.
|
|
61
|
-
#
|
|
63
|
+
# The `live_...` ID of the pending SIP session. Pass this value unchanged to Live
|
|
64
|
+
# call controls and sideband connections. The corresponding
|
|
65
|
+
# `realtime.call.incoming` event uses a separate `rtc_...` call ID.
|
|
62
66
|
#
|
|
63
67
|
# @return [String]
|
|
64
68
|
required :session_id, String
|
|
@@ -78,8 +82,9 @@ module OpenAI
|
|
|
78
82
|
# Event data payload.
|
|
79
83
|
#
|
|
80
84
|
# @param session_id [String]
|
|
81
|
-
# The `live_...` ID of the pending SIP session.
|
|
82
|
-
#
|
|
85
|
+
# The `live_...` ID of the pending SIP session. Pass this value unchanged to Live
|
|
86
|
+
# call controls and sideband connections. The corresponding
|
|
87
|
+
# `realtime.call.incoming` event uses a separate `rtc_...` call ID.
|
|
83
88
|
#
|
|
84
89
|
# @param sip_headers [Array<OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent::Data::SipHeader>]
|
|
85
90
|
# Headers from the SIP INVITE, excluding SIP authorization headers. Retained
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Webhooks
|
|
6
|
+
class LiveTransportIncomingWebhookEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute id
|
|
8
|
+
# The unique ID of the event.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :id, String
|
|
12
|
+
|
|
13
|
+
# @!attribute created_at
|
|
14
|
+
# The Unix timestamp (in seconds) of when the event was created.
|
|
15
|
+
#
|
|
16
|
+
# @return [Integer]
|
|
17
|
+
required :created_at, Integer
|
|
18
|
+
|
|
19
|
+
# @!attribute data
|
|
20
|
+
# Event data payload.
|
|
21
|
+
#
|
|
22
|
+
# @return [OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent::Data]
|
|
23
|
+
required :data, -> { OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data }
|
|
24
|
+
|
|
25
|
+
# @!attribute type
|
|
26
|
+
# The type of the event. Always `live.transport.incoming`.
|
|
27
|
+
#
|
|
28
|
+
# @return [Symbol, :"live.transport.incoming"]
|
|
29
|
+
required :type, const: :"live.transport.incoming"
|
|
30
|
+
|
|
31
|
+
# @!attribute object
|
|
32
|
+
# The object of the event. Always `event`.
|
|
33
|
+
#
|
|
34
|
+
# @return [Symbol, OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent::Object, nil]
|
|
35
|
+
optional :object, enum: -> { OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Object }
|
|
36
|
+
|
|
37
|
+
# @!method initialize(id:, created_at:, data:, object: nil, type: :"live.transport.incoming")
|
|
38
|
+
# Sent when an incoming API SIP session is available for Live acceptance. The same
|
|
39
|
+
# pending session can also emit `realtime.call.incoming`; the first successful
|
|
40
|
+
# Realtime or Live accept endpoint selects the runtime surface.
|
|
41
|
+
#
|
|
42
|
+
# @param id [String]
|
|
43
|
+
# The unique ID of the event.
|
|
44
|
+
#
|
|
45
|
+
# @param created_at [Integer]
|
|
46
|
+
# The Unix timestamp (in seconds) of when the event was created.
|
|
47
|
+
#
|
|
48
|
+
# @param data [OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent::Data]
|
|
49
|
+
# Event data payload.
|
|
50
|
+
#
|
|
51
|
+
# @param object [Symbol, OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent::Object]
|
|
52
|
+
# The object of the event. Always `event`.
|
|
53
|
+
#
|
|
54
|
+
# @param type [Symbol, :"live.transport.incoming"]
|
|
55
|
+
# The type of the event. Always `live.transport.incoming`.
|
|
56
|
+
|
|
57
|
+
# @see OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent#data
|
|
58
|
+
class Data < OpenAI::Internal::Type::BaseModel
|
|
59
|
+
# @!attribute session_id
|
|
60
|
+
# The `live_...` ID of the pending SIP session. Forward this value unchanged when
|
|
61
|
+
# accepting or rejecting the call through the Live API.
|
|
62
|
+
#
|
|
63
|
+
# @return [String]
|
|
64
|
+
required :session_id, String
|
|
65
|
+
|
|
66
|
+
# @!attribute sip_headers
|
|
67
|
+
# Headers from the SIP INVITE, excluding SIP authorization headers. Retained
|
|
68
|
+
# names, values, repeated entries, and order are preserved. Treat these values as
|
|
69
|
+
# untrusted call metadata.
|
|
70
|
+
#
|
|
71
|
+
# @return [Array<OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent::Data::SipHeader>]
|
|
72
|
+
required(
|
|
73
|
+
:sip_headers,
|
|
74
|
+
-> {
|
|
75
|
+
OpenAI::Internal::Type::ArrayOf[OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data::SipHeader]
|
|
76
|
+
}
|
|
77
|
+
)
|
|
78
|
+
|
|
79
|
+
# @!attribute type
|
|
80
|
+
# The incoming transport type. Always `sip`.
|
|
81
|
+
#
|
|
82
|
+
# @return [Symbol, :sip]
|
|
83
|
+
required :type, const: :sip
|
|
84
|
+
|
|
85
|
+
# @!method initialize(session_id:, sip_headers:, type: :sip)
|
|
86
|
+
# Event data payload.
|
|
87
|
+
#
|
|
88
|
+
# @param session_id [String]
|
|
89
|
+
# The `live_...` ID of the pending SIP session. Forward this value unchanged when
|
|
90
|
+
# accepting or rejecting the call through the Live API.
|
|
91
|
+
#
|
|
92
|
+
# @param sip_headers [Array<OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent::Data::SipHeader>]
|
|
93
|
+
# Headers from the SIP INVITE, excluding SIP authorization headers. Retained
|
|
94
|
+
# names, values, repeated entries, and order are preserved. Treat these values as
|
|
95
|
+
# untrusted call metadata.
|
|
96
|
+
#
|
|
97
|
+
# @param type [Symbol, :sip]
|
|
98
|
+
# The incoming transport type. Always `sip`.
|
|
99
|
+
class SipHeader < OpenAI::Internal::Type::BaseModel
|
|
100
|
+
# @!attribute name
|
|
101
|
+
# Name of the SIP Header.
|
|
102
|
+
#
|
|
103
|
+
# @return [String]
|
|
104
|
+
required :name, String
|
|
105
|
+
|
|
106
|
+
# @!attribute value
|
|
107
|
+
# Value of the SIP Header.
|
|
108
|
+
#
|
|
109
|
+
# @return [String]
|
|
110
|
+
required :value, String
|
|
111
|
+
|
|
112
|
+
# @!method initialize(name:, value:)
|
|
113
|
+
# A header from the SIP Invite.
|
|
114
|
+
#
|
|
115
|
+
# @param name [String]
|
|
116
|
+
# Name of the SIP Header.
|
|
117
|
+
#
|
|
118
|
+
# @param value [String]
|
|
119
|
+
# Value of the SIP Header.
|
|
120
|
+
end
|
|
121
|
+
end
|
|
122
|
+
|
|
123
|
+
# The object of the event. Always `event`.
|
|
124
|
+
#
|
|
125
|
+
# @see OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent#object
|
|
126
|
+
module Object
|
|
127
|
+
extend OpenAI::Internal::Type::Enum
|
|
128
|
+
|
|
129
|
+
EVENT = :event
|
|
130
|
+
|
|
131
|
+
# @!method self.values
|
|
132
|
+
# @return [Array<Symbol>]
|
|
133
|
+
end
|
|
134
|
+
end
|
|
135
|
+
end
|
|
136
|
+
end
|
|
137
|
+
end
|
|
@@ -36,8 +36,8 @@ module OpenAI
|
|
|
36
36
|
|
|
37
37
|
# @!method initialize(id:, created_at:, data:, object: nil, type: :"realtime.call.incoming")
|
|
38
38
|
# Sent when an incoming API SIP session is available for Realtime acceptance. The
|
|
39
|
-
# same pending session can also emit `live.
|
|
40
|
-
# Realtime or Live accept endpoint selects the runtime surface.
|
|
39
|
+
# same pending session can also emit `live.transport.incoming`; the first
|
|
40
|
+
# successful Realtime or Live accept endpoint selects the runtime surface.
|
|
41
41
|
#
|
|
42
42
|
# @param id [String]
|
|
43
43
|
# The unique ID of the event.
|
|
@@ -58,7 +58,7 @@ module OpenAI
|
|
|
58
58
|
class Data < OpenAI::Internal::Type::BaseModel
|
|
59
59
|
# @!attribute call_id
|
|
60
60
|
# The Transceiver `rtc_...` ID of the pending SIP session. The paired
|
|
61
|
-
# `live.
|
|
61
|
+
# `live.transport.incoming` event derives its `session_id` by replacing the `rtc_`
|
|
62
62
|
# prefix with `live_`. Use the ID returned by the event with the corresponding
|
|
63
63
|
# Realtime or Live API.
|
|
64
64
|
#
|
|
@@ -81,7 +81,7 @@ module OpenAI
|
|
|
81
81
|
#
|
|
82
82
|
# @param call_id [String]
|
|
83
83
|
# The Transceiver `rtc_...` ID of the pending SIP session. The paired
|
|
84
|
-
# `live.
|
|
84
|
+
# `live.transport.incoming` event derives its `session_id` by replacing the `rtc_`
|
|
85
85
|
# prefix with `live_`. Use the ID returned by the event with the corresponding
|
|
86
86
|
# Realtime or Live API.
|
|
87
87
|
#
|
|
@@ -39,13 +39,20 @@ module OpenAI
|
|
|
39
39
|
# Sent when a fine-tuning job has succeeded.
|
|
40
40
|
variant :"fine_tuning.job.succeeded", -> { OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent }
|
|
41
41
|
|
|
42
|
+
# Deprecated: use `live.transport.incoming`. Retained for existing subscriptions
|
|
43
|
+
# during migration; new subscriptions to this event are not allowed.
|
|
42
44
|
# Sent when an incoming API SIP session is available for Live acceptance. The
|
|
43
45
|
# same pending session can also emit `realtime.call.incoming`; the first
|
|
44
46
|
# successful Realtime or Live accept endpoint selects the runtime surface.
|
|
45
47
|
variant :"live.call.incoming", -> { OpenAI::Webhooks::LiveCallIncomingWebhookEvent }
|
|
46
48
|
|
|
49
|
+
# Sent when an incoming API SIP session is available for Live acceptance. The
|
|
50
|
+
# same pending session can also emit `realtime.call.incoming`; the first
|
|
51
|
+
# successful Realtime or Live accept endpoint selects the runtime surface.
|
|
52
|
+
variant :"live.transport.incoming", -> { OpenAI::Webhooks::LiveTransportIncomingWebhookEvent }
|
|
53
|
+
|
|
47
54
|
# Sent when an incoming API SIP session is available for Realtime acceptance.
|
|
48
|
-
# The same pending session can also emit `live.
|
|
55
|
+
# The same pending session can also emit `live.transport.incoming`; the first
|
|
49
56
|
# successful Realtime or Live accept endpoint selects the runtime surface.
|
|
50
57
|
variant :"realtime.call.incoming", -> { OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent }
|
|
51
58
|
|
|
@@ -68,7 +75,7 @@ module OpenAI
|
|
|
68
75
|
variant :"safety.org_alert.created", -> { OpenAI::Webhooks::SafetyOrgAlertCreatedWebhookEvent }
|
|
69
76
|
|
|
70
77
|
# @!method self.variants
|
|
71
|
-
# @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyOrgAlertCreatedWebhookEvent)]
|
|
78
|
+
# @return [Array(OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyOrgAlertCreatedWebhookEvent)]
|
|
72
79
|
end
|
|
73
80
|
end
|
|
74
81
|
end
|
data/lib/openai/models.rb
CHANGED
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Resources
|
|
5
|
+
class Live
|
|
6
|
+
class Sessions
|
|
7
|
+
# Accept an incoming SIP call with Live startup configuration.
|
|
8
|
+
#
|
|
9
|
+
# @overload accept(session_id, session:, request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param session_id [String]
|
|
12
|
+
# Opaque Live session identifier from the creation response or incoming-call
|
|
13
|
+
# webhook. Preserve the returned value unchanged, including its prefix.
|
|
14
|
+
#
|
|
15
|
+
# @param session [OpenAI::Models::Live::SessionAcceptParams::Session]
|
|
16
|
+
# Model and startup configuration for the Live session that answers the incoming
|
|
17
|
+
# SIP call.
|
|
18
|
+
#
|
|
19
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
20
|
+
#
|
|
21
|
+
# @return [nil]
|
|
22
|
+
#
|
|
23
|
+
# @see OpenAI::Models::Live::SessionAcceptParams
|
|
24
|
+
def accept(session_id, params)
|
|
25
|
+
parsed, options = OpenAI::Live::SessionAcceptParams.dump_request(params)
|
|
26
|
+
@client.request(
|
|
27
|
+
method: :post,
|
|
28
|
+
path: ["live/sessions/%1$s/accept", session_id],
|
|
29
|
+
body: parsed,
|
|
30
|
+
model: NilClass,
|
|
31
|
+
security: {bearer_auth: true},
|
|
32
|
+
options: options
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Get Live session content
|
|
37
|
+
#
|
|
38
|
+
# @overload download_recording(session_id, request_options: {})
|
|
39
|
+
#
|
|
40
|
+
# @param session_id [String]
|
|
41
|
+
# The ID of the stored Live session to download. Use the session ID returned when
|
|
42
|
+
# the session started with storage enabled.
|
|
43
|
+
#
|
|
44
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
45
|
+
#
|
|
46
|
+
# @return [StringIO]
|
|
47
|
+
#
|
|
48
|
+
# @see OpenAI::Models::Live::SessionDownloadRecordingParams
|
|
49
|
+
def download_recording(session_id, params = {})
|
|
50
|
+
@client.request(
|
|
51
|
+
method: :get,
|
|
52
|
+
path: ["live/sessions/%1$s/content", session_id],
|
|
53
|
+
headers: {"accept" => "application/binary"},
|
|
54
|
+
model: StringIO,
|
|
55
|
+
security: {bearer_auth: true},
|
|
56
|
+
options: params[:request_options]
|
|
57
|
+
)
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# Fork a stored Live session onto a new WebRTC connection.
|
|
61
|
+
#
|
|
62
|
+
# @overload fork(session_id, transport:, session: nil, request_options: {})
|
|
63
|
+
#
|
|
64
|
+
# @param session_id [String]
|
|
65
|
+
# The ID of the stored Live session to fork.
|
|
66
|
+
#
|
|
67
|
+
# @param transport [OpenAI::Models::Live::SessionForkParams::Transport]
|
|
68
|
+
# WebRTC transport with an SDP offer for the new connection to the forked session.
|
|
69
|
+
#
|
|
70
|
+
# @param session [OpenAI::Models::Live::MediaSessionForkConfig]
|
|
71
|
+
# Optional configuration overrides for the new Live session. Omit this object or
|
|
72
|
+
# send an empty object to inherit the stored session's settings.
|
|
73
|
+
#
|
|
74
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
75
|
+
#
|
|
76
|
+
# @return [OpenAI::Models::Live::SessionForkResponse]
|
|
77
|
+
#
|
|
78
|
+
# @see OpenAI::Models::Live::SessionForkParams
|
|
79
|
+
def fork(session_id, params)
|
|
80
|
+
parsed, options = OpenAI::Live::SessionForkParams.dump_request(params)
|
|
81
|
+
@client.request(
|
|
82
|
+
method: :post,
|
|
83
|
+
path: ["live/sessions/%1$s/fork", session_id],
|
|
84
|
+
body: parsed,
|
|
85
|
+
model: OpenAI::Models::Live::SessionForkResponse,
|
|
86
|
+
security: {bearer_auth: true},
|
|
87
|
+
options: options
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
|
|
91
|
+
# Hang up a Live session.
|
|
92
|
+
#
|
|
93
|
+
# @overload hangup(session_id, request_options: {})
|
|
94
|
+
#
|
|
95
|
+
# @param session_id [String]
|
|
96
|
+
# Opaque Live session identifier from the creation response or incoming-call
|
|
97
|
+
# webhook. Preserve the returned value unchanged, including its prefix.
|
|
98
|
+
#
|
|
99
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
100
|
+
#
|
|
101
|
+
# @return [nil]
|
|
102
|
+
#
|
|
103
|
+
# @see OpenAI::Models::Live::SessionHangupParams
|
|
104
|
+
def hangup(session_id, params = {})
|
|
105
|
+
@client.request(
|
|
106
|
+
method: :post,
|
|
107
|
+
path: ["live/sessions/%1$s/hangup", session_id],
|
|
108
|
+
model: NilClass,
|
|
109
|
+
security: {bearer_auth: true},
|
|
110
|
+
options: params[:request_options]
|
|
111
|
+
)
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# Transfer a Live SIP call to another destination.
|
|
115
|
+
#
|
|
116
|
+
# @overload refer(session_id, target_uri:, request_options: {})
|
|
117
|
+
#
|
|
118
|
+
# @param session_id [String]
|
|
119
|
+
# Opaque Live session identifier from the creation response or incoming-call
|
|
120
|
+
# webhook. Preserve the returned value unchanged, including its prefix.
|
|
121
|
+
#
|
|
122
|
+
# @param target_uri [String]
|
|
123
|
+
# Nonblank URI for the SIP Refer-To header, such as tel:+14155550123 or
|
|
124
|
+
# sip:agent@example.com.
|
|
125
|
+
#
|
|
126
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
127
|
+
#
|
|
128
|
+
# @return [nil]
|
|
129
|
+
#
|
|
130
|
+
# @see OpenAI::Models::Live::SessionReferParams
|
|
131
|
+
def refer(session_id, params)
|
|
132
|
+
parsed, options = OpenAI::Live::SessionReferParams.dump_request(params)
|
|
133
|
+
@client.request(
|
|
134
|
+
method: :post,
|
|
135
|
+
path: ["live/sessions/%1$s/refer", session_id],
|
|
136
|
+
body: parsed,
|
|
137
|
+
model: NilClass,
|
|
138
|
+
security: {bearer_auth: true},
|
|
139
|
+
options: options
|
|
140
|
+
)
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# Reject an incoming SIP call.
|
|
144
|
+
#
|
|
145
|
+
# @overload reject(session_id, status_code:, request_options: {})
|
|
146
|
+
#
|
|
147
|
+
# @param session_id [String]
|
|
148
|
+
# Opaque Live session identifier from the creation response or incoming-call
|
|
149
|
+
# webhook. Preserve the returned value unchanged, including its prefix.
|
|
150
|
+
#
|
|
151
|
+
# @param status_code [Integer]
|
|
152
|
+
# SIP rejection status sent to the caller. This field is required.
|
|
153
|
+
#
|
|
154
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
155
|
+
#
|
|
156
|
+
# @return [nil]
|
|
157
|
+
#
|
|
158
|
+
# @see OpenAI::Models::Live::SessionRejectParams
|
|
159
|
+
def reject(session_id, params)
|
|
160
|
+
parsed, options = OpenAI::Live::SessionRejectParams.dump_request(params)
|
|
161
|
+
@client.request(
|
|
162
|
+
method: :post,
|
|
163
|
+
path: ["live/sessions/%1$s/reject", session_id],
|
|
164
|
+
body: parsed,
|
|
165
|
+
model: NilClass,
|
|
166
|
+
security: {bearer_auth: true},
|
|
167
|
+
options: options
|
|
168
|
+
)
|
|
169
|
+
end
|
|
170
|
+
|
|
171
|
+
# @api private
|
|
172
|
+
#
|
|
173
|
+
# @param client [OpenAI::Client]
|
|
174
|
+
def initialize(client:)
|
|
175
|
+
@client = client
|
|
176
|
+
end
|
|
177
|
+
end
|
|
178
|
+
end
|
|
179
|
+
end
|
|
180
|
+
end
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Resources
|
|
5
|
+
class Live
|
|
6
|
+
# @return [OpenAI::Resources::Live::Sideband]
|
|
7
|
+
attr_reader :sideband
|
|
8
|
+
|
|
9
|
+
# @return [OpenAI::Resources::Live::Forks]
|
|
10
|
+
attr_reader :forks
|
|
11
|
+
|
|
12
|
+
# @return [OpenAI::Resources::Live::Sessions]
|
|
13
|
+
attr_reader :sessions
|
|
14
|
+
|
|
15
|
+
# Create a Live WebRTC session. Start with the
|
|
16
|
+
# [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting).
|
|
17
|
+
#
|
|
18
|
+
# @overload create(session:, transport:, request_options: {})
|
|
19
|
+
#
|
|
20
|
+
# @param session [OpenAI::Models::Live::MediaSessionConfig]
|
|
21
|
+
# Startup configuration for the Live session.
|
|
22
|
+
#
|
|
23
|
+
# @param transport [OpenAI::Models::Live::LiveCreateParams::Transport]
|
|
24
|
+
# WebRTC transport with the browser's SDP offer.
|
|
25
|
+
#
|
|
26
|
+
# @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
27
|
+
#
|
|
28
|
+
# @return [OpenAI::Models::Live::LiveCreateResponse]
|
|
29
|
+
#
|
|
30
|
+
# @see OpenAI::Models::Live::LiveCreateParams
|
|
31
|
+
def create(params)
|
|
32
|
+
parsed, options = OpenAI::Live::LiveCreateParams.dump_request(params)
|
|
33
|
+
@client.request(
|
|
34
|
+
method: :post,
|
|
35
|
+
path: "live/sessions",
|
|
36
|
+
body: parsed,
|
|
37
|
+
model: OpenAI::Models::Live::LiveCreateResponse,
|
|
38
|
+
security: {bearer_auth: true},
|
|
39
|
+
options: options
|
|
40
|
+
)
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
# @api private
|
|
44
|
+
#
|
|
45
|
+
# @param client [OpenAI::Client]
|
|
46
|
+
def initialize(client:)
|
|
47
|
+
@client = client
|
|
48
|
+
@sideband = OpenAI::Resources::Live::Sideband.new(client: client)
|
|
49
|
+
@forks = OpenAI::Resources::Live::Forks.new(client: client)
|
|
50
|
+
@sessions = OpenAI::Resources::Live::Sessions.new(client: client)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
end
|
|
54
|
+
end
|
|
@@ -9,7 +9,7 @@ module OpenAI
|
|
|
9
9
|
# @param headers [Hash] The webhook headers
|
|
10
10
|
# @param webhook_secret [String, nil] The webhook secret (optional, will use client webhook secret or ENV["OPENAI_WEBHOOK_SECRET"] if not provided)
|
|
11
11
|
#
|
|
12
|
-
# @return [OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyOrgAlertCreatedWebhookEvent]
|
|
12
|
+
# @return [OpenAI::Models::Webhooks::BatchCancelledWebhookEvent, OpenAI::Models::Webhooks::BatchCompletedWebhookEvent, OpenAI::Models::Webhooks::BatchExpiredWebhookEvent, OpenAI::Models::Webhooks::BatchFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunCanceledWebhookEvent, OpenAI::Models::Webhooks::EvalRunFailedWebhookEvent, OpenAI::Models::Webhooks::EvalRunSucceededWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobCancelledWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobFailedWebhookEvent, OpenAI::Models::Webhooks::FineTuningJobSucceededWebhookEvent, OpenAI::Models::Webhooks::LiveCallIncomingWebhookEvent, OpenAI::Models::Webhooks::LiveTransportIncomingWebhookEvent, OpenAI::Models::Webhooks::RealtimeCallIncomingWebhookEvent, OpenAI::Models::Webhooks::ResponseCancelledWebhookEvent, OpenAI::Models::Webhooks::ResponseCompletedWebhookEvent, OpenAI::Models::Webhooks::ResponseFailedWebhookEvent, OpenAI::Models::Webhooks::ResponseIncompleteWebhookEvent, OpenAI::Models::Webhooks::SafetyAlertCreatedWebhookEvent, OpenAI::Models::Webhooks::SafetyOrgAlertCreatedWebhookEvent]
|
|
13
13
|
#
|
|
14
14
|
# @raise [ArgumentError] if signature verification fails
|
|
15
15
|
def unwrap(
|
data/lib/openai/version.rb
CHANGED