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,58 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class OutputAudioDeltaEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute delta
|
|
8
|
+
# Base64-encoded raw audio. Primary WebSocket events use the session's configured
|
|
9
|
+
# format; reflected sideband events use mono PCM16LE at 24 kHz.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
required :delta, String
|
|
13
|
+
|
|
14
|
+
# @!attribute type
|
|
15
|
+
# The event type, always `session.output_audio.delta`.
|
|
16
|
+
#
|
|
17
|
+
# @return [Symbol, :"session.output_audio.delta"]
|
|
18
|
+
required :type, const: :"session.output_audio.delta"
|
|
19
|
+
|
|
20
|
+
# @!attribute end_ms
|
|
21
|
+
# Exclusive session-relative end in milliseconds. Required on reflected sideband
|
|
22
|
+
# events; omitted on the primary WebSocket. Dropped output frames leave gaps
|
|
23
|
+
# between reflected ranges.
|
|
24
|
+
#
|
|
25
|
+
# @return [Integer, nil]
|
|
26
|
+
optional :end_ms, Integer
|
|
27
|
+
|
|
28
|
+
# @!attribute start_ms
|
|
29
|
+
# Inclusive session-relative start in milliseconds. Required on reflected sideband
|
|
30
|
+
# events; omitted on the primary WebSocket.
|
|
31
|
+
#
|
|
32
|
+
# @return [Integer, nil]
|
|
33
|
+
optional :start_ms, Integer
|
|
34
|
+
|
|
35
|
+
# @!method initialize(delta:, end_ms: nil, start_ms: nil, type: :"session.output_audio.delta")
|
|
36
|
+
# An audio chunk generated by the Live model. Decode and play primary WebSocket
|
|
37
|
+
# chunks in delivery order using the configured session audio format. Sideband
|
|
38
|
+
# connections receive reflected output audio with timestamps.
|
|
39
|
+
#
|
|
40
|
+
# @param delta [String]
|
|
41
|
+
# Base64-encoded raw audio. Primary WebSocket events use the session's configured
|
|
42
|
+
# format; reflected sideband events use mono PCM16LE at 24 kHz.
|
|
43
|
+
#
|
|
44
|
+
# @param end_ms [Integer]
|
|
45
|
+
# Exclusive session-relative end in milliseconds. Required on reflected sideband
|
|
46
|
+
# events; omitted on the primary WebSocket. Dropped output frames leave gaps
|
|
47
|
+
# between reflected ranges.
|
|
48
|
+
#
|
|
49
|
+
# @param start_ms [Integer]
|
|
50
|
+
# Inclusive session-relative start in milliseconds. Required on reflected sideband
|
|
51
|
+
# events; omitted on the primary WebSocket.
|
|
52
|
+
#
|
|
53
|
+
# @param type [Symbol, :"session.output_audio.delta"]
|
|
54
|
+
# The event type, always `session.output_audio.delta`.
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
end
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class OutputTranscriptDeltaEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute delta
|
|
8
|
+
# The transcript text fragment for the audio in this time range. Append fragments
|
|
9
|
+
# in delivery order to build the transcript.
|
|
10
|
+
#
|
|
11
|
+
# @return [String]
|
|
12
|
+
required :delta, String
|
|
13
|
+
|
|
14
|
+
# @!attribute end_ms
|
|
15
|
+
# The end of this event on the Live session timeline, in milliseconds from the
|
|
16
|
+
# beginning of the session. For appended context, this can equal start_ms.
|
|
17
|
+
#
|
|
18
|
+
# @return [Integer]
|
|
19
|
+
required :end_ms, Integer
|
|
20
|
+
|
|
21
|
+
# @!attribute event_id
|
|
22
|
+
# The unique ID of the Live server event.
|
|
23
|
+
#
|
|
24
|
+
# @return [String]
|
|
25
|
+
required :event_id, String
|
|
26
|
+
|
|
27
|
+
# @!attribute start_ms
|
|
28
|
+
# The start of this event on the Live session timeline, in milliseconds from the
|
|
29
|
+
# beginning of the session.
|
|
30
|
+
#
|
|
31
|
+
# @return [Integer]
|
|
32
|
+
required :start_ms, Integer
|
|
33
|
+
|
|
34
|
+
# @!attribute type
|
|
35
|
+
# The event type, always `session.output_transcript.delta`.
|
|
36
|
+
#
|
|
37
|
+
# @return [Symbol, :"session.output_transcript.delta"]
|
|
38
|
+
required :type, const: :"session.output_transcript.delta"
|
|
39
|
+
|
|
40
|
+
# @!attribute client_event_id
|
|
41
|
+
# The event_id of the client command associated with this server event, when
|
|
42
|
+
# supplied.
|
|
43
|
+
#
|
|
44
|
+
# @return [String, nil]
|
|
45
|
+
optional :client_event_id, String
|
|
46
|
+
|
|
47
|
+
# @!method initialize(delta:, end_ms:, event_id:, start_ms:, client_event_id: nil, type: :"session.output_transcript.delta")
|
|
48
|
+
# A transcript fragment for assistant output audio in the Live session. Accumulate
|
|
49
|
+
# fragments in delivery order; these events do not define complete turns or
|
|
50
|
+
# include a transcript-done event.
|
|
51
|
+
#
|
|
52
|
+
# @param delta [String]
|
|
53
|
+
# The transcript text fragment for the audio in this time range. Append fragments
|
|
54
|
+
# in delivery order to build the transcript.
|
|
55
|
+
#
|
|
56
|
+
# @param end_ms [Integer]
|
|
57
|
+
# The end of this event on the Live session timeline, in milliseconds from the
|
|
58
|
+
# beginning of the session. For appended context, this can equal start_ms.
|
|
59
|
+
#
|
|
60
|
+
# @param event_id [String]
|
|
61
|
+
# The unique ID of the Live server event.
|
|
62
|
+
#
|
|
63
|
+
# @param start_ms [Integer]
|
|
64
|
+
# The start of this event on the Live session timeline, in milliseconds from the
|
|
65
|
+
# beginning of the session.
|
|
66
|
+
#
|
|
67
|
+
# @param client_event_id [String]
|
|
68
|
+
# The event_id of the client command associated with this server event, when
|
|
69
|
+
# supplied.
|
|
70
|
+
#
|
|
71
|
+
# @param type [Symbol, :"session.output_transcript.delta"]
|
|
72
|
+
# The event type, always `session.output_transcript.delta`.
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
end
|
|
76
|
+
end
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class ResponseCreateEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute type
|
|
8
|
+
# The Live client event type. Always `response.create`.
|
|
9
|
+
#
|
|
10
|
+
# @return [Symbol, :"response.create"]
|
|
11
|
+
required :type, const: :"response.create"
|
|
12
|
+
|
|
13
|
+
# @!attribute event_id
|
|
14
|
+
# Optional client identifier for correlating this command with a server event's
|
|
15
|
+
# client_event_id or error.client_event_id.
|
|
16
|
+
#
|
|
17
|
+
# @return [String, nil]
|
|
18
|
+
optional :event_id, String, nil?: true
|
|
19
|
+
|
|
20
|
+
# @!method initialize(event_id: nil, type: :"response.create")
|
|
21
|
+
# Request a response from the Live session’s Responses backend, or continue a
|
|
22
|
+
# delegated response waiting for tool results. Requires Responses delegation.
|
|
23
|
+
#
|
|
24
|
+
# @param event_id [String, nil]
|
|
25
|
+
# Optional client identifier for correlating this command with a server event's
|
|
26
|
+
# client_event_id or error.client_event_id.
|
|
27
|
+
#
|
|
28
|
+
# @param type [Symbol, :"response.create"]
|
|
29
|
+
# The Live client event type. Always `response.create`.
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class ResponseEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute event
|
|
8
|
+
# The nested Responses streaming event. Dispatch on its type field. Response
|
|
9
|
+
# lifecycle snapshots omit input and clear instructions, tools, and output to keep
|
|
10
|
+
# messages small; consume granular output events for the generated content.
|
|
11
|
+
#
|
|
12
|
+
# @return [Hash{Symbol=>Object}]
|
|
13
|
+
required :event, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
|
|
14
|
+
|
|
15
|
+
# @!attribute event_id
|
|
16
|
+
# The unique ID of the Live server event.
|
|
17
|
+
#
|
|
18
|
+
# @return [String]
|
|
19
|
+
required :event_id, String
|
|
20
|
+
|
|
21
|
+
# @!attribute type
|
|
22
|
+
# The event type, always `response.event`.
|
|
23
|
+
#
|
|
24
|
+
# @return [Symbol, :"response.event"]
|
|
25
|
+
required :type, const: :"response.event"
|
|
26
|
+
|
|
27
|
+
# @!attribute client_event_id
|
|
28
|
+
# The event_id of the client command associated with this server event, when
|
|
29
|
+
# supplied.
|
|
30
|
+
#
|
|
31
|
+
# @return [String, nil]
|
|
32
|
+
optional :client_event_id, String
|
|
33
|
+
|
|
34
|
+
# @!attribute delegation_id
|
|
35
|
+
# The Live delegation associated with the nested Responses event. May be null or
|
|
36
|
+
# omitted when the event cannot be correlated with a delegation.
|
|
37
|
+
#
|
|
38
|
+
# @return [String, nil]
|
|
39
|
+
optional :delegation_id, String, nil?: true
|
|
40
|
+
|
|
41
|
+
# @!method initialize(event:, event_id:, client_event_id: nil, delegation_id: nil, type: :"response.event")
|
|
42
|
+
# A streaming Responses API event from a backend delegated to by the Live session.
|
|
43
|
+
# Use the outer delegation_id to associate the nested stream with its Live
|
|
44
|
+
# delegation.
|
|
45
|
+
#
|
|
46
|
+
# @param event [Hash{Symbol=>Object}]
|
|
47
|
+
# The nested Responses streaming event. Dispatch on its type field. Response
|
|
48
|
+
# lifecycle snapshots omit input and clear instructions, tools, and output to keep
|
|
49
|
+
# messages small; consume granular output events for the generated content.
|
|
50
|
+
#
|
|
51
|
+
# @param event_id [String]
|
|
52
|
+
# The unique ID of the Live server event.
|
|
53
|
+
#
|
|
54
|
+
# @param client_event_id [String]
|
|
55
|
+
# The event_id of the client command associated with this server event, when
|
|
56
|
+
# supplied.
|
|
57
|
+
#
|
|
58
|
+
# @param delegation_id [String, nil]
|
|
59
|
+
# The Live delegation associated with the nested Responses event. May be null or
|
|
60
|
+
# omitted when the event cannot be correlated with a delegation.
|
|
61
|
+
#
|
|
62
|
+
# @param type [Symbol, :"response.event"]
|
|
63
|
+
# The event type, always `response.event`.
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
end
|
|
67
|
+
end
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class ResponseItemCreateEvent < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute item
|
|
8
|
+
# An input item to append to the Responses backend conversation, such as a user
|
|
9
|
+
# message or a function tool result.
|
|
10
|
+
#
|
|
11
|
+
# @return [OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput]
|
|
12
|
+
required :item, union: -> { OpenAI::Responses::ResponseInputItem }
|
|
13
|
+
|
|
14
|
+
# @!attribute type
|
|
15
|
+
# The Live client event type. Always `response.item.create`.
|
|
16
|
+
#
|
|
17
|
+
# @return [Symbol, :"response.item.create"]
|
|
18
|
+
required :type, const: :"response.item.create"
|
|
19
|
+
|
|
20
|
+
# @!attribute event_id
|
|
21
|
+
# Optional client identifier for correlating this command with a server event's
|
|
22
|
+
# client_event_id or error.client_event_id.
|
|
23
|
+
#
|
|
24
|
+
# @return [String, nil]
|
|
25
|
+
optional :event_id, String, nil?: true
|
|
26
|
+
|
|
27
|
+
# @!method initialize(item:, event_id: nil, type: :"response.item.create")
|
|
28
|
+
# Add an input item to the Live session’s Responses backend. Requires Responses
|
|
29
|
+
# delegation; use `response.create` to request a response.
|
|
30
|
+
#
|
|
31
|
+
# @param item [OpenAI::Models::Responses::EasyInputMessage, OpenAI::Models::Responses::ResponseInputItem::Message, OpenAI::Models::Responses::ResponseOutputMessage, OpenAI::Models::Responses::ResponseFileSearchToolCall, OpenAI::Models::Responses::ResponseComputerToolCall, OpenAI::Models::Responses::ResponseInputItem::ComputerCallOutput, OpenAI::Models::Responses::ResponseFunctionWebSearch, OpenAI::Models::Responses::ResponseFunctionToolCall, OpenAI::Models::Responses::ResponseInputItem::FunctionCallOutput, OpenAI::Models::Responses::ResponseInputItem::ToolSearchCall, OpenAI::Models::Responses::ResponseToolSearchOutputItemParam, OpenAI::Models::Responses::ResponseInputItem::AdditionalTools, OpenAI::Models::Responses::ResponseConfigurationUpdateItemParam, OpenAI::Models::Responses::ResponseReasoningItem, OpenAI::Models::Responses::ResponseCompactionItemParam, OpenAI::Models::Responses::ResponseInputItem::ImageGenerationCall, OpenAI::Models::Responses::ResponseCodeInterpreterToolCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCall, OpenAI::Models::Responses::ResponseInputItem::LocalShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ShellCall, OpenAI::Models::Responses::ResponseInputItem::ShellCallOutput, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCall, OpenAI::Models::Responses::ResponseInputItem::ApplyPatchCallOutput, OpenAI::Models::Responses::ResponseInputItem::McpListTools, OpenAI::Models::Responses::ResponseInputItem::McpApprovalRequest, OpenAI::Models::Responses::ResponseInputItem::McpApprovalResponse, OpenAI::Models::Responses::ResponseInputItem::McpCall, OpenAI::Models::Responses::ResponseCustomToolCallOutput, OpenAI::Models::Responses::ResponseCustomToolCall, OpenAI::Models::Responses::ResponseInputItem::CompactionTrigger, OpenAI::Models::Responses::ResponseInputItem::ItemReference, OpenAI::Models::Responses::ResponseInputItem::Program, OpenAI::Models::Responses::ResponseInputItem::ProgramOutput]
|
|
32
|
+
# An input item to append to the Responses backend conversation, such as a user
|
|
33
|
+
# message or a function tool result.
|
|
34
|
+
#
|
|
35
|
+
# @param event_id [String, nil]
|
|
36
|
+
# Optional client identifier for correlating this command with a server event's
|
|
37
|
+
# client_event_id or error.client_event_id.
|
|
38
|
+
#
|
|
39
|
+
# @param type [Symbol, :"response.item.create"]
|
|
40
|
+
# The Live client event type. Always `response.item.create`.
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
end
|
|
@@ -0,0 +1,332 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
module Live
|
|
6
|
+
class ResponsesDelegationConfig < OpenAI::Internal::Type::BaseModel
|
|
7
|
+
# @!attribute model
|
|
8
|
+
# The model used for server-owned Responses delegations.
|
|
9
|
+
#
|
|
10
|
+
# @return [String]
|
|
11
|
+
required :model, String
|
|
12
|
+
|
|
13
|
+
# @!attribute instructions
|
|
14
|
+
# Instructions for the delegated Responses model, separate from Live instructions.
|
|
15
|
+
# See
|
|
16
|
+
# [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
|
|
17
|
+
#
|
|
18
|
+
# @return [String, nil]
|
|
19
|
+
optional :instructions, String, nil?: true
|
|
20
|
+
|
|
21
|
+
# @!attribute max_output_tokens
|
|
22
|
+
# Maximum number of output tokens for each delegated response.
|
|
23
|
+
#
|
|
24
|
+
# @return [Integer, nil]
|
|
25
|
+
optional :max_output_tokens, Integer, nil?: true
|
|
26
|
+
|
|
27
|
+
# @!attribute parallel_tool_calls
|
|
28
|
+
# Whether the delegated Responses model may request multiple tool calls in a
|
|
29
|
+
# single response.
|
|
30
|
+
#
|
|
31
|
+
# @return [Boolean, nil]
|
|
32
|
+
optional :parallel_tool_calls, OpenAI::Internal::Type::Boolean, nil?: true
|
|
33
|
+
|
|
34
|
+
# @!attribute reasoning
|
|
35
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
36
|
+
#
|
|
37
|
+
# @return [OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning, nil]
|
|
38
|
+
optional :reasoning, -> { OpenAI::Live::ResponsesDelegationConfig::Reasoning }, nil?: true
|
|
39
|
+
|
|
40
|
+
# @!attribute service_tier
|
|
41
|
+
# Service tier for delegated Responses requests.
|
|
42
|
+
#
|
|
43
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ServiceTier, nil]
|
|
44
|
+
optional :service_tier, enum: -> { OpenAI::Live::ResponsesDelegationConfig::ServiceTier }, nil?: true
|
|
45
|
+
|
|
46
|
+
# @!attribute text
|
|
47
|
+
# Text generation settings passed to each delegated Responses request.
|
|
48
|
+
#
|
|
49
|
+
# @return [OpenAI::Models::Live::ResponsesDelegationConfig::Text, nil]
|
|
50
|
+
optional :text, -> { OpenAI::Live::ResponsesDelegationConfig::Text }, nil?: true
|
|
51
|
+
|
|
52
|
+
# @!attribute tool_choice
|
|
53
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
54
|
+
# the Live model.
|
|
55
|
+
#
|
|
56
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveMCPToolChoiceParam, nil]
|
|
57
|
+
optional :tool_choice, union: -> { OpenAI::Live::ResponsesDelegationConfig::ToolChoice }
|
|
58
|
+
|
|
59
|
+
# @!attribute tools
|
|
60
|
+
# Tools available to the Responses backend while it handles tasks delegated by the
|
|
61
|
+
# Live model.
|
|
62
|
+
#
|
|
63
|
+
# @return [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationConfig::Tool::WebSearch>, nil]
|
|
64
|
+
optional(
|
|
65
|
+
:tools,
|
|
66
|
+
-> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Live::ResponsesDelegationConfig::Tool] }
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
# @!method initialize(model:, instructions: nil, max_output_tokens: nil, parallel_tool_calls: nil, reasoning: nil, service_tier: nil, text: nil, tool_choice: nil, tools: nil)
|
|
70
|
+
# Model, prompt, and tool settings for tasks delegated by the Live session to a
|
|
71
|
+
# Responses backend.
|
|
72
|
+
#
|
|
73
|
+
# @param model [String]
|
|
74
|
+
# The model used for server-owned Responses delegations.
|
|
75
|
+
#
|
|
76
|
+
# @param instructions [String, nil]
|
|
77
|
+
# Instructions for the delegated Responses model, separate from Live instructions.
|
|
78
|
+
# See
|
|
79
|
+
# [backend prompting](https://developers.openai.com/api/docs/guides/live-delegation#start-with-your-existing-backend-prompt).
|
|
80
|
+
#
|
|
81
|
+
# @param max_output_tokens [Integer, nil]
|
|
82
|
+
# Maximum number of output tokens for each delegated response.
|
|
83
|
+
#
|
|
84
|
+
# @param parallel_tool_calls [Boolean, nil]
|
|
85
|
+
# Whether the delegated Responses model may request multiple tool calls in a
|
|
86
|
+
# single response.
|
|
87
|
+
#
|
|
88
|
+
# @param reasoning [OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning, nil]
|
|
89
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
90
|
+
#
|
|
91
|
+
# @param service_tier [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ServiceTier, nil]
|
|
92
|
+
# Service tier for delegated Responses requests.
|
|
93
|
+
#
|
|
94
|
+
# @param text [OpenAI::Models::Live::ResponsesDelegationConfig::Text, nil]
|
|
95
|
+
# Text generation settings passed to each delegated Responses request.
|
|
96
|
+
#
|
|
97
|
+
# @param tool_choice [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveMCPToolChoiceParam]
|
|
98
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
99
|
+
# the Live model.
|
|
100
|
+
#
|
|
101
|
+
# @param tools [Array<OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationConfig::Tool::WebSearch>]
|
|
102
|
+
# Tools available to the Responses backend while it handles tasks delegated by the
|
|
103
|
+
# Live model.
|
|
104
|
+
|
|
105
|
+
# @see OpenAI::Models::Live::ResponsesDelegationConfig#reasoning
|
|
106
|
+
class Reasoning < OpenAI::Internal::Type::BaseModel
|
|
107
|
+
# @!attribute effort
|
|
108
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
109
|
+
# values depend on the backend model.
|
|
110
|
+
#
|
|
111
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning::Effort, nil]
|
|
112
|
+
optional(
|
|
113
|
+
:effort,
|
|
114
|
+
enum: -> {
|
|
115
|
+
OpenAI::Live::ResponsesDelegationConfig::Reasoning::Effort
|
|
116
|
+
},
|
|
117
|
+
nil?: true
|
|
118
|
+
)
|
|
119
|
+
|
|
120
|
+
# @!attribute summary
|
|
121
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
122
|
+
# supported.
|
|
123
|
+
#
|
|
124
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning::Summary, nil]
|
|
125
|
+
optional(
|
|
126
|
+
:summary,
|
|
127
|
+
enum: -> {
|
|
128
|
+
OpenAI::Live::ResponsesDelegationConfig::Reasoning::Summary
|
|
129
|
+
},
|
|
130
|
+
nil?: true
|
|
131
|
+
)
|
|
132
|
+
|
|
133
|
+
# @!method initialize(effort: nil, summary: nil)
|
|
134
|
+
# Reasoning settings passed to each delegated Responses request.
|
|
135
|
+
#
|
|
136
|
+
# @param effort [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning::Effort, nil]
|
|
137
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
138
|
+
# values depend on the backend model.
|
|
139
|
+
#
|
|
140
|
+
# @param summary [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning::Summary, nil]
|
|
141
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
142
|
+
# supported.
|
|
143
|
+
|
|
144
|
+
# How much reasoning effort the delegated Responses model should use. Supported
|
|
145
|
+
# values depend on the backend model.
|
|
146
|
+
#
|
|
147
|
+
# @see OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning#effort
|
|
148
|
+
module Effort
|
|
149
|
+
extend OpenAI::Internal::Type::Enum
|
|
150
|
+
|
|
151
|
+
NONE = :none
|
|
152
|
+
MINIMAL = :minimal
|
|
153
|
+
LOW = :low
|
|
154
|
+
MEDIUM = :medium
|
|
155
|
+
HIGH = :high
|
|
156
|
+
XHIGH = :xhigh
|
|
157
|
+
|
|
158
|
+
# @!method self.values
|
|
159
|
+
# @return [Array<Symbol>]
|
|
160
|
+
end
|
|
161
|
+
|
|
162
|
+
# The reasoning summary to request from the delegated Responses model, when
|
|
163
|
+
# supported.
|
|
164
|
+
#
|
|
165
|
+
# @see OpenAI::Models::Live::ResponsesDelegationConfig::Reasoning#summary
|
|
166
|
+
module Summary
|
|
167
|
+
extend OpenAI::Internal::Type::Enum
|
|
168
|
+
|
|
169
|
+
CONCISE = :concise
|
|
170
|
+
DETAILED = :detailed
|
|
171
|
+
AUTO = :auto
|
|
172
|
+
|
|
173
|
+
# @!method self.values
|
|
174
|
+
# @return [Array<Symbol>]
|
|
175
|
+
end
|
|
176
|
+
end
|
|
177
|
+
|
|
178
|
+
# Service tier for delegated Responses requests.
|
|
179
|
+
#
|
|
180
|
+
# @see OpenAI::Models::Live::ResponsesDelegationConfig#service_tier
|
|
181
|
+
module ServiceTier
|
|
182
|
+
extend OpenAI::Internal::Type::Enum
|
|
183
|
+
|
|
184
|
+
AUTO = :auto
|
|
185
|
+
DEFAULT = :default
|
|
186
|
+
FAST_TIER_TEMP_PILOT = :fast_tier_temp_pilot
|
|
187
|
+
FLEX = :flex
|
|
188
|
+
PRIORITY = :priority
|
|
189
|
+
ULTRAFAST = :ultrafast
|
|
190
|
+
|
|
191
|
+
# @!method self.values
|
|
192
|
+
# @return [Array<Symbol>]
|
|
193
|
+
end
|
|
194
|
+
|
|
195
|
+
# @see OpenAI::Models::Live::ResponsesDelegationConfig#text
|
|
196
|
+
class Text < OpenAI::Internal::Type::BaseModel
|
|
197
|
+
# @!attribute verbosity
|
|
198
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
199
|
+
# configure the Live model’s spoken delivery.
|
|
200
|
+
#
|
|
201
|
+
# @return [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Text::Verbosity, nil]
|
|
202
|
+
optional(
|
|
203
|
+
:verbosity,
|
|
204
|
+
enum: -> {
|
|
205
|
+
OpenAI::Live::ResponsesDelegationConfig::Text::Verbosity
|
|
206
|
+
},
|
|
207
|
+
nil?: true
|
|
208
|
+
)
|
|
209
|
+
|
|
210
|
+
# @!method initialize(verbosity: nil)
|
|
211
|
+
# Text generation settings passed to each delegated Responses request.
|
|
212
|
+
#
|
|
213
|
+
# @param verbosity [Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::Text::Verbosity, nil]
|
|
214
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
215
|
+
# configure the Live model’s spoken delivery.
|
|
216
|
+
|
|
217
|
+
# The amount of detail in text generated by the Responses backend. This does not
|
|
218
|
+
# configure the Live model’s spoken delivery.
|
|
219
|
+
#
|
|
220
|
+
# @see OpenAI::Models::Live::ResponsesDelegationConfig::Text#verbosity
|
|
221
|
+
module Verbosity
|
|
222
|
+
extend OpenAI::Internal::Type::Enum
|
|
223
|
+
|
|
224
|
+
LOW = :low
|
|
225
|
+
MEDIUM = :medium
|
|
226
|
+
HIGH = :high
|
|
227
|
+
|
|
228
|
+
# @!method self.values
|
|
229
|
+
# @return [Array<Symbol>]
|
|
230
|
+
end
|
|
231
|
+
end
|
|
232
|
+
|
|
233
|
+
# Controls which tool the Responses backend uses when handling a task delegated by
|
|
234
|
+
# the Live model.
|
|
235
|
+
#
|
|
236
|
+
# @see OpenAI::Models::Live::ResponsesDelegationConfig#tool_choice
|
|
237
|
+
module ToolChoice
|
|
238
|
+
extend OpenAI::Internal::Type::Union
|
|
239
|
+
|
|
240
|
+
variant enum: -> { OpenAI::Live::ResponsesDelegationConfig::ToolChoice::LiveToolChoiceEnum }
|
|
241
|
+
|
|
242
|
+
variant -> { OpenAI::Live::ResponsesDelegationConfig::ToolChoice::LiveFunctionToolChoiceParam }
|
|
243
|
+
|
|
244
|
+
variant -> { OpenAI::Live::ResponsesDelegationConfig::ToolChoice::LiveMCPToolChoiceParam }
|
|
245
|
+
|
|
246
|
+
module LiveToolChoiceEnum
|
|
247
|
+
extend OpenAI::Internal::Type::Enum
|
|
248
|
+
|
|
249
|
+
AUTO = :auto
|
|
250
|
+
NONE = :none
|
|
251
|
+
REQUIRED = :required
|
|
252
|
+
|
|
253
|
+
# @!method self.values
|
|
254
|
+
# @return [Array<Symbol>]
|
|
255
|
+
end
|
|
256
|
+
|
|
257
|
+
class LiveFunctionToolChoiceParam < OpenAI::Internal::Type::BaseModel
|
|
258
|
+
# @!attribute name
|
|
259
|
+
#
|
|
260
|
+
# @return [String]
|
|
261
|
+
required :name, String
|
|
262
|
+
|
|
263
|
+
# @!attribute type
|
|
264
|
+
#
|
|
265
|
+
# @return [Symbol, :function]
|
|
266
|
+
required :type, const: :function
|
|
267
|
+
|
|
268
|
+
# @!method initialize(name:, type: :function)
|
|
269
|
+
# @param name [String]
|
|
270
|
+
# @param type [Symbol, :function]
|
|
271
|
+
end
|
|
272
|
+
|
|
273
|
+
class LiveMCPToolChoiceParam < OpenAI::Internal::Type::BaseModel
|
|
274
|
+
# @!attribute name
|
|
275
|
+
#
|
|
276
|
+
# @return [String]
|
|
277
|
+
required :name, String
|
|
278
|
+
|
|
279
|
+
# @!attribute server_label
|
|
280
|
+
#
|
|
281
|
+
# @return [String]
|
|
282
|
+
required :server_label, String
|
|
283
|
+
|
|
284
|
+
# @!attribute type
|
|
285
|
+
#
|
|
286
|
+
# @return [Symbol, :mcp]
|
|
287
|
+
required :type, const: :mcp
|
|
288
|
+
|
|
289
|
+
# @!method initialize(name:, server_label:, type: :mcp)
|
|
290
|
+
# @param name [String]
|
|
291
|
+
# @param server_label [String]
|
|
292
|
+
# @param type [Symbol, :mcp]
|
|
293
|
+
end
|
|
294
|
+
|
|
295
|
+
# @!method self.variants
|
|
296
|
+
# @return [Array(Symbol, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveToolChoiceEnum, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveFunctionToolChoiceParam, OpenAI::Models::Live::ResponsesDelegationConfig::ToolChoice::LiveMCPToolChoiceParam)]
|
|
297
|
+
end
|
|
298
|
+
|
|
299
|
+
# A function tool available to the Responses backend when the Live model delegates
|
|
300
|
+
# a task.
|
|
301
|
+
module Tool
|
|
302
|
+
extend OpenAI::Internal::Type::Union
|
|
303
|
+
|
|
304
|
+
discriminator :type
|
|
305
|
+
|
|
306
|
+
# A function tool available to the Responses backend when the Live model delegates a task.
|
|
307
|
+
variant :function, -> { OpenAI::Live::FunctionTool }
|
|
308
|
+
|
|
309
|
+
# A web search tool available to the Live session’s Responses backend.
|
|
310
|
+
variant :web_search, -> { OpenAI::Live::ResponsesDelegationConfig::Tool::WebSearch }
|
|
311
|
+
|
|
312
|
+
class WebSearch < OpenAI::Internal::Type::BaseModel
|
|
313
|
+
# @!attribute type
|
|
314
|
+
# The tool type. Always `web_search`.
|
|
315
|
+
#
|
|
316
|
+
# @return [Symbol, :web_search]
|
|
317
|
+
required :type, const: :web_search
|
|
318
|
+
|
|
319
|
+
# @!method initialize(type: :web_search)
|
|
320
|
+
# A web search tool available to the Live session’s Responses backend.
|
|
321
|
+
#
|
|
322
|
+
# @param type [Symbol, :web_search]
|
|
323
|
+
# The tool type. Always `web_search`.
|
|
324
|
+
end
|
|
325
|
+
|
|
326
|
+
# @!method self.variants
|
|
327
|
+
# @return [Array(OpenAI::Models::Live::FunctionTool, OpenAI::Models::Live::ResponsesDelegationConfig::Tool::WebSearch)]
|
|
328
|
+
end
|
|
329
|
+
end
|
|
330
|
+
end
|
|
331
|
+
end
|
|
332
|
+
end
|