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,226 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Models
|
|
5
|
+
|
|
6
|
+
module Webhooks
|
|
7
|
+
|
|
8
|
+
class LiveTransportIncomingWebhookEvent < OpenAI::Internal::Type::BaseModel
|
|
9
|
+
|
|
10
|
+
OrHash = T.type_alias do
|
|
11
|
+
T.any(
|
|
12
|
+
OpenAI::Webhooks::LiveTransportIncomingWebhookEvent,
|
|
13
|
+
OpenAI::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The unique ID of the event.
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :id
|
|
20
|
+
|
|
21
|
+
# The Unix timestamp (in seconds) of when the event was created.
|
|
22
|
+
sig { returns(Integer) }
|
|
23
|
+
attr_accessor :created_at
|
|
24
|
+
|
|
25
|
+
# Event data payload.
|
|
26
|
+
sig { returns(OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data) }
|
|
27
|
+
attr_reader :data
|
|
28
|
+
|
|
29
|
+
sig { params(data: OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data::OrHash).void }
|
|
30
|
+
attr_writer :data
|
|
31
|
+
|
|
32
|
+
# The type of the event. Always `live.transport.incoming`.
|
|
33
|
+
sig { returns(Symbol) }
|
|
34
|
+
attr_accessor :type
|
|
35
|
+
|
|
36
|
+
# The object of the event. Always `event`.
|
|
37
|
+
sig { returns(T.nilable(OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Object::TaggedSymbol)) }
|
|
38
|
+
attr_reader :object
|
|
39
|
+
|
|
40
|
+
sig { params(object: OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Object::OrSymbol).void }
|
|
41
|
+
attr_writer :object
|
|
42
|
+
|
|
43
|
+
# Sent when an incoming API SIP session is available for Live acceptance. The same
|
|
44
|
+
# pending session can also emit `realtime.call.incoming`; the first successful
|
|
45
|
+
# Realtime or Live accept endpoint selects the runtime surface.
|
|
46
|
+
sig do
|
|
47
|
+
params(
|
|
48
|
+
|
|
49
|
+
id: String,
|
|
50
|
+
|
|
51
|
+
created_at: Integer,
|
|
52
|
+
|
|
53
|
+
data: OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data::OrHash,
|
|
54
|
+
|
|
55
|
+
object: OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Object::OrSymbol,
|
|
56
|
+
|
|
57
|
+
type: Symbol
|
|
58
|
+
)
|
|
59
|
+
.returns(T.attached_class)
|
|
60
|
+
end
|
|
61
|
+
def self.new(
|
|
62
|
+
|
|
63
|
+
# The unique ID of the event.
|
|
64
|
+
id:,
|
|
65
|
+
|
|
66
|
+
# The Unix timestamp (in seconds) of when the event was created.
|
|
67
|
+
created_at:,
|
|
68
|
+
|
|
69
|
+
# Event data payload.
|
|
70
|
+
data:,
|
|
71
|
+
|
|
72
|
+
# The object of the event. Always `event`.
|
|
73
|
+
object: nil,
|
|
74
|
+
|
|
75
|
+
# The type of the event. Always `live.transport.incoming`.
|
|
76
|
+
|
|
77
|
+
type: :"live.transport.incoming"
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
sig do
|
|
82
|
+
override.returns(
|
|
83
|
+
{
|
|
84
|
+
id: String,
|
|
85
|
+
created_at: Integer,
|
|
86
|
+
data: OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data,
|
|
87
|
+
type: Symbol,
|
|
88
|
+
object: OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Object::TaggedSymbol
|
|
89
|
+
}
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
def to_hash
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
class Data < OpenAI::Internal::Type::BaseModel
|
|
96
|
+
OrHash = T.type_alias do
|
|
97
|
+
T.any(
|
|
98
|
+
OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data,
|
|
99
|
+
OpenAI::Internal::AnyHash
|
|
100
|
+
)
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# The `live_...` ID of the pending SIP session. Forward this value unchanged when
|
|
104
|
+
# accepting or rejecting the call through the Live API.
|
|
105
|
+
sig { returns(String) }
|
|
106
|
+
attr_accessor :session_id
|
|
107
|
+
|
|
108
|
+
# Headers from the SIP INVITE, excluding SIP authorization headers. Retained
|
|
109
|
+
# names, values, repeated entries, and order are preserved. Treat these values as
|
|
110
|
+
# untrusted call metadata.
|
|
111
|
+
sig { returns(T::Array[OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data::SipHeader]) }
|
|
112
|
+
attr_accessor :sip_headers
|
|
113
|
+
|
|
114
|
+
# The incoming transport type. Always `sip`.
|
|
115
|
+
sig { returns(Symbol) }
|
|
116
|
+
attr_accessor :type
|
|
117
|
+
|
|
118
|
+
# Event data payload.
|
|
119
|
+
sig do
|
|
120
|
+
params(
|
|
121
|
+
|
|
122
|
+
session_id: String,
|
|
123
|
+
|
|
124
|
+
sip_headers: T::Array[OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data::SipHeader::OrHash],
|
|
125
|
+
|
|
126
|
+
type: Symbol
|
|
127
|
+
)
|
|
128
|
+
.returns(T.attached_class)
|
|
129
|
+
end
|
|
130
|
+
def self.new(
|
|
131
|
+
|
|
132
|
+
# The `live_...` ID of the pending SIP session. Forward this value unchanged when
|
|
133
|
+
# accepting or rejecting the call through the Live API.
|
|
134
|
+
session_id:,
|
|
135
|
+
|
|
136
|
+
# Headers from the SIP INVITE, excluding SIP authorization headers. Retained
|
|
137
|
+
# names, values, repeated entries, and order are preserved. Treat these values as
|
|
138
|
+
# untrusted call metadata.
|
|
139
|
+
sip_headers:,
|
|
140
|
+
|
|
141
|
+
# The incoming transport type. Always `sip`.
|
|
142
|
+
|
|
143
|
+
type: :sip
|
|
144
|
+
)
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
sig do
|
|
148
|
+
override.returns(
|
|
149
|
+
{
|
|
150
|
+
session_id: String,
|
|
151
|
+
sip_headers: T::Array[OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data::SipHeader],
|
|
152
|
+
type: Symbol
|
|
153
|
+
}
|
|
154
|
+
)
|
|
155
|
+
end
|
|
156
|
+
def to_hash
|
|
157
|
+
end
|
|
158
|
+
|
|
159
|
+
class SipHeader < OpenAI::Internal::Type::BaseModel
|
|
160
|
+
OrHash = T.type_alias do
|
|
161
|
+
T.any(
|
|
162
|
+
OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Data::SipHeader,
|
|
163
|
+
OpenAI::Internal::AnyHash
|
|
164
|
+
)
|
|
165
|
+
end
|
|
166
|
+
|
|
167
|
+
# Name of the SIP Header.
|
|
168
|
+
sig { returns(String) }
|
|
169
|
+
attr_accessor :name
|
|
170
|
+
|
|
171
|
+
# Value of the SIP Header.
|
|
172
|
+
sig { returns(String) }
|
|
173
|
+
attr_accessor :value
|
|
174
|
+
|
|
175
|
+
# A header from the SIP Invite.
|
|
176
|
+
sig do
|
|
177
|
+
params(
|
|
178
|
+
|
|
179
|
+
name: String,
|
|
180
|
+
|
|
181
|
+
value: String
|
|
182
|
+
)
|
|
183
|
+
.returns(T.attached_class)
|
|
184
|
+
end
|
|
185
|
+
def self.new(
|
|
186
|
+
|
|
187
|
+
# Name of the SIP Header.
|
|
188
|
+
name:,
|
|
189
|
+
|
|
190
|
+
# Value of the SIP Header.
|
|
191
|
+
|
|
192
|
+
value:
|
|
193
|
+
)
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
sig do
|
|
197
|
+
override.returns(
|
|
198
|
+
{name: String, value: String}
|
|
199
|
+
)
|
|
200
|
+
end
|
|
201
|
+
def to_hash
|
|
202
|
+
end
|
|
203
|
+
|
|
204
|
+
end
|
|
205
|
+
end
|
|
206
|
+
|
|
207
|
+
# The object of the event. Always `event`.
|
|
208
|
+
module Object
|
|
209
|
+
extend OpenAI::Internal::Type::Enum
|
|
210
|
+
|
|
211
|
+
TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Object) }
|
|
212
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
213
|
+
|
|
214
|
+
EVENT = T.let(:event, OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Object::TaggedSymbol)
|
|
215
|
+
|
|
216
|
+
sig { override.returns(T::Array[OpenAI::Webhooks::LiveTransportIncomingWebhookEvent::Object::TaggedSymbol]) }
|
|
217
|
+
def self.values
|
|
218
|
+
end
|
|
219
|
+
end
|
|
220
|
+
|
|
221
|
+
end
|
|
222
|
+
|
|
223
|
+
end
|
|
224
|
+
|
|
225
|
+
end
|
|
226
|
+
end
|
|
@@ -41,8 +41,8 @@ module OpenAI
|
|
|
41
41
|
attr_writer :object
|
|
42
42
|
|
|
43
43
|
# Sent when an incoming API SIP session is available for Realtime acceptance. The
|
|
44
|
-
# same pending session can also emit `live.
|
|
45
|
-
# Realtime or Live accept endpoint selects the runtime surface.
|
|
44
|
+
# same pending session can also emit `live.transport.incoming`; the first
|
|
45
|
+
# successful Realtime or Live accept endpoint selects the runtime surface.
|
|
46
46
|
sig do
|
|
47
47
|
params(
|
|
48
48
|
|
|
@@ -101,7 +101,7 @@ module OpenAI
|
|
|
101
101
|
end
|
|
102
102
|
|
|
103
103
|
# The Transceiver `rtc_...` ID of the pending SIP session. The paired
|
|
104
|
-
# `live.
|
|
104
|
+
# `live.transport.incoming` event derives its `session_id` by replacing the `rtc_`
|
|
105
105
|
# prefix with `live_`. Use the ID returned by the event with the corresponding
|
|
106
106
|
# Realtime or Live API.
|
|
107
107
|
sig { returns(String) }
|
|
@@ -126,7 +126,7 @@ module OpenAI
|
|
|
126
126
|
def self.new(
|
|
127
127
|
|
|
128
128
|
# The Transceiver `rtc_...` ID of the pending SIP session. The paired
|
|
129
|
-
# `live.
|
|
129
|
+
# `live.transport.incoming` event derives its `session_id` by replacing the `rtc_`
|
|
130
130
|
# prefix with `live_`. Use the ID returned by the event with the corresponding
|
|
131
131
|
# Realtime or Live API.
|
|
132
132
|
call_id:,
|
|
@@ -22,6 +22,7 @@ module OpenAI
|
|
|
22
22
|
OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
|
|
23
23
|
OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
|
|
24
24
|
OpenAI::Webhooks::LiveCallIncomingWebhookEvent,
|
|
25
|
+
OpenAI::Webhooks::LiveTransportIncomingWebhookEvent,
|
|
25
26
|
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
|
|
26
27
|
OpenAI::Webhooks::ResponseCancelledWebhookEvent,
|
|
27
28
|
OpenAI::Webhooks::ResponseCompletedWebhookEvent,
|
data/rbi/openai/models.rbi
CHANGED
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Resources
|
|
5
|
+
|
|
6
|
+
class Live
|
|
7
|
+
|
|
8
|
+
class Sessions
|
|
9
|
+
|
|
10
|
+
# Accept an incoming SIP call with Live startup configuration.
|
|
11
|
+
sig {
|
|
12
|
+
params(
|
|
13
|
+
session_id: String,
|
|
14
|
+
session: OpenAI::Live::SessionAcceptParams::Session::OrHash,
|
|
15
|
+
request_options: OpenAI::RequestOptions::OrHash
|
|
16
|
+
)
|
|
17
|
+
.void
|
|
18
|
+
}
|
|
19
|
+
def accept(
|
|
20
|
+
# Opaque Live session identifier from the creation response or incoming-call
|
|
21
|
+
# webhook. Preserve the returned value unchanged, including its prefix.
|
|
22
|
+
session_id,
|
|
23
|
+
# Model and startup configuration for the Live session that answers the incoming
|
|
24
|
+
# SIP call.
|
|
25
|
+
session:,
|
|
26
|
+
request_options: {}
|
|
27
|
+
)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# Get Live session content
|
|
31
|
+
sig {
|
|
32
|
+
params(session_id: String, request_options: OpenAI::RequestOptions::OrHash).returns(
|
|
33
|
+
T.all(StringIO, OpenAI::ResponseCarrier)
|
|
34
|
+
)
|
|
35
|
+
}
|
|
36
|
+
def download_recording(
|
|
37
|
+
# The ID of the stored Live session to download. Use the session ID returned when
|
|
38
|
+
# the session started with storage enabled.
|
|
39
|
+
session_id,
|
|
40
|
+
request_options: {}
|
|
41
|
+
)
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
# Fork a stored Live session onto a new WebRTC connection.
|
|
45
|
+
sig {
|
|
46
|
+
params(
|
|
47
|
+
session_id: String,
|
|
48
|
+
transport: OpenAI::Live::SessionForkParams::Transport::OrHash,
|
|
49
|
+
session: OpenAI::Live::MediaSessionForkConfig::OrHash,
|
|
50
|
+
request_options: OpenAI::RequestOptions::OrHash
|
|
51
|
+
)
|
|
52
|
+
.returns(OpenAI::Models::Live::SessionForkResponse)
|
|
53
|
+
}
|
|
54
|
+
def fork(
|
|
55
|
+
# The ID of the stored Live session to fork.
|
|
56
|
+
session_id,
|
|
57
|
+
# WebRTC transport with an SDP offer for the new connection to the forked session.
|
|
58
|
+
transport:,
|
|
59
|
+
# Optional configuration overrides for the new Live session. Omit this object or
|
|
60
|
+
# send an empty object to inherit the stored session's settings.
|
|
61
|
+
session: nil,
|
|
62
|
+
request_options: {}
|
|
63
|
+
)
|
|
64
|
+
end
|
|
65
|
+
|
|
66
|
+
# Hang up a Live session.
|
|
67
|
+
sig { params(session_id: String, request_options: OpenAI::RequestOptions::OrHash).void }
|
|
68
|
+
def hangup(
|
|
69
|
+
# Opaque Live session identifier from the creation response or incoming-call
|
|
70
|
+
# webhook. Preserve the returned value unchanged, including its prefix.
|
|
71
|
+
session_id,
|
|
72
|
+
request_options: {}
|
|
73
|
+
)
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# Transfer a Live SIP call to another destination.
|
|
77
|
+
sig { params(session_id: String, target_uri: String, request_options: OpenAI::RequestOptions::OrHash).void }
|
|
78
|
+
def refer(
|
|
79
|
+
# Opaque Live session identifier from the creation response or incoming-call
|
|
80
|
+
# webhook. Preserve the returned value unchanged, including its prefix.
|
|
81
|
+
session_id,
|
|
82
|
+
# Nonblank URI for the SIP Refer-To header, such as tel:+14155550123 or
|
|
83
|
+
# sip:agent@example.com.
|
|
84
|
+
target_uri:,
|
|
85
|
+
request_options: {}
|
|
86
|
+
)
|
|
87
|
+
end
|
|
88
|
+
|
|
89
|
+
# Reject an incoming SIP call.
|
|
90
|
+
sig { params(session_id: String, status_code: Integer, request_options: OpenAI::RequestOptions::OrHash).void }
|
|
91
|
+
def reject(
|
|
92
|
+
# Opaque Live session identifier from the creation response or incoming-call
|
|
93
|
+
# webhook. Preserve the returned value unchanged, including its prefix.
|
|
94
|
+
session_id,
|
|
95
|
+
# SIP rejection status sent to the caller. This field is required.
|
|
96
|
+
status_code:,
|
|
97
|
+
request_options: {}
|
|
98
|
+
)
|
|
99
|
+
end
|
|
100
|
+
|
|
101
|
+
# @api private
|
|
102
|
+
sig { params(client: OpenAI::Client).returns(T.attached_class) }
|
|
103
|
+
def self.new(client:)
|
|
104
|
+
end
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
end
|
|
110
|
+
end
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module OpenAI
|
|
4
|
+
module Resources
|
|
5
|
+
|
|
6
|
+
class Live
|
|
7
|
+
|
|
8
|
+
sig { returns(OpenAI::Resources::Live::Sideband) }
|
|
9
|
+
attr_reader :sideband
|
|
10
|
+
|
|
11
|
+
sig { returns(OpenAI::Resources::Live::Forks) }
|
|
12
|
+
attr_reader :forks
|
|
13
|
+
|
|
14
|
+
sig { returns(OpenAI::Resources::Live::Sessions) }
|
|
15
|
+
attr_reader :sessions
|
|
16
|
+
|
|
17
|
+
# Create a Live WebRTC session. Start with the
|
|
18
|
+
# [Live prompting guide](https://developers.openai.com/api/docs/guides/live-prompting).
|
|
19
|
+
sig {
|
|
20
|
+
params(
|
|
21
|
+
session: OpenAI::Live::MediaSessionConfig::OrHash,
|
|
22
|
+
transport: OpenAI::Live::LiveCreateParams::Transport::OrHash,
|
|
23
|
+
request_options: OpenAI::RequestOptions::OrHash
|
|
24
|
+
)
|
|
25
|
+
.returns(OpenAI::Models::Live::LiveCreateResponse)
|
|
26
|
+
}
|
|
27
|
+
def create(
|
|
28
|
+
# Startup configuration for the Live session.
|
|
29
|
+
session:,
|
|
30
|
+
# WebRTC transport with the browser's SDP offer.
|
|
31
|
+
transport:,
|
|
32
|
+
request_options: {}
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# @api private
|
|
37
|
+
sig { params(client: OpenAI::Client).returns(T.attached_class) }
|
|
38
|
+
def self.new(client:)
|
|
39
|
+
end
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -662,6 +662,8 @@ module OpenAI
|
|
|
662
662
|
previous_response_id: T.nilable(String),
|
|
663
663
|
prompt: T.nilable(OpenAI::Responses::ResponsePrompt::OrHash),
|
|
664
664
|
prompt_cache_key: String,
|
|
665
|
+
prompt_cache_options: T.nilable(OpenAI::Responses::ResponseCreateParams::PromptCacheOptions::OrHash),
|
|
666
|
+
prompt_cache_retention: T.nilable(OpenAI::Responses::ResponseCreateParams::PromptCacheRetention::OrSymbol),
|
|
665
667
|
reasoning: T.nilable(OpenAI::Reasoning::OrHash),
|
|
666
668
|
response_id: T.nilable(String),
|
|
667
669
|
safety_identifier: String,
|
|
@@ -711,7 +713,7 @@ module OpenAI
|
|
|
711
713
|
end
|
|
712
714
|
def stream(
|
|
713
715
|
# Whether to run the model response in the background.
|
|
714
|
-
# [Learn more](https://
|
|
716
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/background).
|
|
715
717
|
background: nil,
|
|
716
718
|
# Specify additional output data to include in the model response. Currently
|
|
717
719
|
# supported values are:
|
|
@@ -734,11 +736,11 @@ module OpenAI
|
|
|
734
736
|
#
|
|
735
737
|
# Learn more:
|
|
736
738
|
#
|
|
737
|
-
# - [Text inputs and outputs](https://
|
|
738
|
-
# - [Image inputs](https://
|
|
739
|
-
# - [File inputs](https://
|
|
740
|
-
# - [Conversation state](https://
|
|
741
|
-
# - [Function calling](https://
|
|
739
|
+
# - [Text inputs and outputs](https://developers.openai.com/api/docs/guides/text)
|
|
740
|
+
# - [Image inputs](https://developers.openai.com/api/docs/guides/images-vision)
|
|
741
|
+
# - [File inputs](https://developers.openai.com/api/docs/guides/file-inputs)
|
|
742
|
+
# - [Conversation state](https://developers.openai.com/api/docs/guides/conversation-state)
|
|
743
|
+
# - [Function calling](https://developers.openai.com/api/docs/guides/function-calling)
|
|
742
744
|
input: nil,
|
|
743
745
|
# A system (or developer) message inserted into the model's context.
|
|
744
746
|
#
|
|
@@ -748,7 +750,7 @@ module OpenAI
|
|
|
748
750
|
instructions: nil,
|
|
749
751
|
# An upper bound for the number of tokens that can be generated for a response,
|
|
750
752
|
# including visible output tokens and
|
|
751
|
-
# [reasoning tokens](https://
|
|
753
|
+
# [reasoning tokens](https://developers.openai.com/api/docs/guides/reasoning).
|
|
752
754
|
max_output_tokens: nil,
|
|
753
755
|
# The maximum number of total calls to built-in tools that can be processed in a
|
|
754
756
|
# response. This maximum number applies across all built-in tool calls, not per
|
|
@@ -762,37 +764,65 @@ module OpenAI
|
|
|
762
764
|
# Keys are strings with a maximum length of 64 characters. Values are strings with
|
|
763
765
|
# a maximum length of 512 characters.
|
|
764
766
|
metadata: nil,
|
|
765
|
-
# Model ID used to generate the response, like `gpt-
|
|
766
|
-
#
|
|
767
|
-
#
|
|
768
|
-
# [model guide](https://
|
|
769
|
-
# available models.
|
|
767
|
+
# Model ID used to generate the response, like `gpt-6-astra`. OpenAI offers a wide
|
|
768
|
+
# range of models with different capabilities, performance characteristics, and
|
|
769
|
+
# price points. Refer to the
|
|
770
|
+
# [model guide](https://developers.openai.com/api/docs/models) to browse and
|
|
771
|
+
# compare available models.
|
|
770
772
|
model: nil,
|
|
771
773
|
# Whether to allow the model to run tool calls in parallel.
|
|
772
774
|
parallel_tool_calls: nil,
|
|
773
775
|
# The unique ID of the previous response to the model. Use this to create
|
|
774
776
|
# multi-turn conversations. Learn more about
|
|
775
|
-
# [conversation state](https://
|
|
777
|
+
# [conversation state](https://developers.openai.com/api/docs/guides/conversation-state).
|
|
778
|
+
# Cannot be used in conjunction with `conversation`.
|
|
776
779
|
previous_response_id: nil,
|
|
777
780
|
# Reference to a prompt template and its variables.
|
|
778
|
-
# [Learn more](https://
|
|
781
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/text?api-mode=responses#version-prompts-in-code).
|
|
779
782
|
prompt: nil,
|
|
780
783
|
# Used by OpenAI to cache responses for similar requests to optimize your cache
|
|
781
784
|
# hit rates. Replaces the `user` field.
|
|
782
|
-
# [Learn more](https://
|
|
785
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/prompt-caching).
|
|
783
786
|
prompt_cache_key: nil,
|
|
784
|
-
#
|
|
787
|
+
# Options for prompt caching. Supported for `gpt-5.6` and later models. By
|
|
788
|
+
# default, OpenAI automatically chooses one implicit cache breakpoint. You can add
|
|
789
|
+
# explicit breakpoints to content blocks with `prompt_cache_breakpoint`. Each
|
|
790
|
+
# request can write up to four breakpoints. For cache matching, OpenAI considers
|
|
791
|
+
# up to the latest 80 breakpoints in the conversation, without a content-block
|
|
792
|
+
# lookback limit. Set `mode` to `explicit` to disable the implicit breakpoint. The
|
|
793
|
+
# `ttl` defaults to `30m`, which is currently the only supported value. See the
|
|
794
|
+
# [prompt caching guide](https://developers.openai.com/api/docs/guides/prompt-caching)
|
|
795
|
+
# for current details.
|
|
796
|
+
prompt_cache_options: nil,
|
|
797
|
+
# Deprecated. Use `prompt_cache_options.ttl` instead.
|
|
798
|
+
#
|
|
799
|
+
# The retention policy for the prompt cache. Set to `24h` to enable extended
|
|
800
|
+
# prompt caching, which keeps cached prefixes active for longer, up to a maximum
|
|
801
|
+
# of 24 hours.
|
|
802
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/prompt-caching#prompt-cache-retention).
|
|
803
|
+
# This field expresses a maximum retention policy, while
|
|
804
|
+
# `prompt_cache_options.ttl` expresses a minimum cache lifetime. The two fields
|
|
805
|
+
# are independent and do not interact. For `gpt-5.5`, `gpt-5.5-pro`, and future
|
|
806
|
+
# models, only `24h` is supported.
|
|
785
807
|
#
|
|
808
|
+
# For older models that support both `in_memory` and `24h`, the default depends on
|
|
809
|
+
# your organization's data retention policy:
|
|
810
|
+
#
|
|
811
|
+
# - Organizations without ZDR enabled default to `24h`.
|
|
812
|
+
# - Organizations with ZDR enabled default to `in_memory` when
|
|
813
|
+
# `prompt_cache_retention` is not specified.
|
|
814
|
+
prompt_cache_retention: nil,
|
|
786
815
|
# Configuration options for
|
|
787
|
-
# [reasoning models](https://
|
|
816
|
+
# [reasoning models](https://developers.openai.com/api/docs/guides/reasoning).
|
|
788
817
|
reasoning: nil,
|
|
789
818
|
# The ID of the response whose stream to resume.
|
|
790
819
|
response_id: nil,
|
|
791
820
|
# A stable identifier used to help detect users of your application that may be
|
|
792
821
|
# violating OpenAI's usage policies. The IDs should be a string that uniquely
|
|
793
|
-
# identifies each user
|
|
794
|
-
# order to avoid sending us any
|
|
795
|
-
#
|
|
822
|
+
# identifies each user, with a maximum length of 64 characters. We recommend
|
|
823
|
+
# hashing their username or email address, in order to avoid sending us any
|
|
824
|
+
# identifying information.
|
|
825
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
796
826
|
safety_identifier: nil,
|
|
797
827
|
# Specifies the processing type used for serving the request.
|
|
798
828
|
#
|
|
@@ -801,10 +831,19 @@ module OpenAI
|
|
|
801
831
|
# will use 'default'.
|
|
802
832
|
# - If set to 'default', then the request will be processed with the standard
|
|
803
833
|
# pricing and performance for the selected model.
|
|
804
|
-
# - If set to
|
|
805
|
-
# '
|
|
806
|
-
#
|
|
807
|
-
#
|
|
834
|
+
# - If set to
|
|
835
|
+
# '[flex](https://developers.openai.com/api/docs/guides/flex-processing)', then
|
|
836
|
+
# the request will be processed with the Flex Processing service tier.
|
|
837
|
+
# - To opt-in to
|
|
838
|
+
# [Fast mode](https://developers.openai.com/api/docs/guides/fast-mode) at the
|
|
839
|
+
# request level, include the `service_tier=fast` or `service_tier=priority`
|
|
840
|
+
# parameter for Responses or Chat Completions. The response will show
|
|
841
|
+
# `service_tier=priority` regardless of if you specify `service_tier=fast` or
|
|
842
|
+
# `priority` in your request.
|
|
843
|
+
# - If set to 'ultrafast', then the request will be processed with the
|
|
844
|
+
# access-controlled Ultrafast Processing service tier. This tier is currently
|
|
845
|
+
# available for `gpt-5.6-sol`; a response served through it will show
|
|
846
|
+
# `service_tier=ultrafast`.
|
|
808
847
|
# - When not set, the default behavior is 'auto'.
|
|
809
848
|
#
|
|
810
849
|
# When the `service_tier` parameter is set, the response body will include the
|
|
@@ -825,9 +864,8 @@ module OpenAI
|
|
|
825
864
|
# Configuration options for a text response from the model. Can be plain text,
|
|
826
865
|
# structured JSON data, or text that conforms to a custom grammar. Learn more:
|
|
827
866
|
#
|
|
828
|
-
# - [Text inputs and outputs](https://
|
|
829
|
-
# - [Structured Outputs](https://
|
|
830
|
-
# - [Custom grammars](https://platform.openai.com/docs/guides/custom-grammars)
|
|
867
|
+
# - [Text inputs and outputs](https://developers.openai.com/api/docs/guides/text)
|
|
868
|
+
# - [Structured Outputs](https://developers.openai.com/api/docs/guides/structured-outputs)
|
|
831
869
|
text: nil,
|
|
832
870
|
# How the model should select which tool (or tools) to use when generating a
|
|
833
871
|
# response. See the `tools` parameter to see how to specify which tools the model
|
|
@@ -840,20 +878,19 @@ module OpenAI
|
|
|
840
878
|
#
|
|
841
879
|
# - **Built-in tools**: Tools that are provided by OpenAI that extend the model's
|
|
842
880
|
# capabilities, like
|
|
843
|
-
# [web search](https://
|
|
844
|
-
#
|
|
881
|
+
# [web search](https://developers.openai.com/api/docs/guides/tools-web-search)
|
|
882
|
+
# or
|
|
883
|
+
# [file search](https://developers.openai.com/api/docs/guides/tools-file-search).
|
|
845
884
|
# Learn more about
|
|
846
|
-
# [built-in tools](https://
|
|
847
|
-
# - **
|
|
848
|
-
#
|
|
849
|
-
# [
|
|
885
|
+
# [built-in tools](https://developers.openai.com/api/docs/guides/tools).
|
|
886
|
+
# - **MCP Tools**: Integrations with third-party systems via custom MCP servers or
|
|
887
|
+
# predefined connectors such as Google Drive and SharePoint. Learn more about
|
|
888
|
+
# [MCP Tools](https://developers.openai.com/api/docs/guides/tools-connectors-mcp).
|
|
850
889
|
# - **Function calls (custom tools)**: Functions that are defined by you, enabling
|
|
851
890
|
# the model to call your own code with strongly typed arguments and outputs.
|
|
852
891
|
# Learn more about
|
|
853
|
-
# [function calling](https://
|
|
854
|
-
# You can also use
|
|
855
|
-
# [custom tools](https://platform.openai.com/docs/guides/custom-tools) to call
|
|
856
|
-
# your own code.
|
|
892
|
+
# [function calling](https://developers.openai.com/api/docs/guides/function-calling).
|
|
893
|
+
# You can also use custom tools to call your own code.
|
|
857
894
|
tools: nil,
|
|
858
895
|
# An integer between 0 and 20 specifying the number of most likely tokens to
|
|
859
896
|
# return at each token position, each with an associated log probability.
|
|
@@ -876,7 +913,7 @@ module OpenAI
|
|
|
876
913
|
# `prompt_cache_key` instead to maintain caching optimizations. A stable
|
|
877
914
|
# identifier for your end-users. Used to boost cache hit rates by better bucketing
|
|
878
915
|
# similar requests and to help OpenAI detect and prevent abuse.
|
|
879
|
-
# [Learn more](https://
|
|
916
|
+
# [Learn more](https://developers.openai.com/api/docs/guides/safety-best-practices#implement-safety-identifiers).
|
|
880
917
|
user: nil,
|
|
881
918
|
request_options: {}
|
|
882
919
|
)
|
|
@@ -25,6 +25,7 @@ module OpenAI
|
|
|
25
25
|
OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
|
|
26
26
|
OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
|
|
27
27
|
OpenAI::Webhooks::LiveCallIncomingWebhookEvent,
|
|
28
|
+
OpenAI::Webhooks::LiveTransportIncomingWebhookEvent,
|
|
28
29
|
OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
|
|
29
30
|
OpenAI::Webhooks::ResponseCancelledWebhookEvent,
|
|
30
31
|
OpenAI::Webhooks::ResponseCompletedWebhookEvent,
|