openai 0.22.1 → 0.23.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 +8 -0
- data/README.md +1 -1
- data/lib/openai/models/realtime/audio_transcription.rb +60 -0
- data/lib/openai/models/realtime/client_secret_create_params.rb +18 -9
- data/lib/openai/models/realtime/client_secret_create_response.rb +11 -250
- data/lib/openai/models/realtime/conversation_item.rb +1 -1
- data/lib/openai/models/realtime/conversation_item_added.rb +14 -1
- data/lib/openai/models/realtime/conversation_item_done.rb +3 -0
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +10 -8
- data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +14 -5
- data/lib/openai/models/realtime/conversation_item_truncate_event.rb +2 -2
- data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +10 -5
- data/lib/openai/models/realtime/models.rb +58 -0
- data/lib/openai/models/realtime/noise_reduction_type.rb +20 -0
- data/lib/openai/models/realtime/realtime_audio_config.rb +6 -427
- data/lib/openai/models/realtime/realtime_audio_config_input.rb +89 -0
- data/lib/openai/models/realtime/realtime_audio_config_output.rb +100 -0
- data/lib/openai/models/realtime/realtime_audio_formats.rb +121 -0
- data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +131 -0
- data/lib/openai/models/realtime/realtime_client_event.rb +31 -23
- data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +43 -10
- data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +16 -7
- data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +15 -7
- data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +18 -6
- data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +62 -13
- data/lib/openai/models/realtime/realtime_response.rb +117 -107
- data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +100 -0
- data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +310 -0
- data/lib/openai/models/realtime/realtime_response_create_params.rb +225 -0
- data/lib/openai/models/realtime/realtime_response_status.rb +1 -1
- data/lib/openai/models/realtime/realtime_response_usage.rb +5 -2
- data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +58 -8
- data/lib/openai/models/realtime/realtime_server_event.rb +21 -5
- data/lib/openai/models/realtime/realtime_session.rb +9 -125
- data/lib/openai/models/realtime/realtime_session_client_secret.rb +36 -0
- data/lib/openai/models/realtime/realtime_session_create_request.rb +50 -71
- data/lib/openai/models/realtime/realtime_session_create_response.rb +621 -219
- data/lib/openai/models/realtime/realtime_tools_config_union.rb +2 -53
- data/lib/openai/models/realtime/realtime_tracing_config.rb +7 -6
- data/lib/openai/models/realtime/realtime_transcription_session_audio.rb +19 -0
- data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +90 -0
- data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +131 -0
- data/lib/openai/models/realtime/realtime_transcription_session_client_secret.rb +38 -0
- data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +12 -270
- data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +78 -0
- data/lib/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rb +66 -0
- data/lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb +57 -0
- data/lib/openai/models/realtime/realtime_truncation.rb +8 -40
- data/lib/openai/models/realtime/realtime_truncation_retention_ratio.rb +34 -0
- data/lib/openai/models/realtime/response_cancel_event.rb +3 -1
- data/lib/openai/models/realtime/response_create_event.rb +18 -348
- data/lib/openai/models/realtime/response_done_event.rb +7 -0
- data/lib/openai/models/realtime/session_created_event.rb +20 -4
- data/lib/openai/models/realtime/session_update_event.rb +36 -12
- data/lib/openai/models/realtime/session_updated_event.rb +20 -4
- data/lib/openai/models/realtime/transcription_session_created.rb +8 -243
- data/lib/openai/models/realtime/transcription_session_update.rb +179 -3
- data/lib/openai/models/realtime/transcription_session_updated_event.rb +8 -243
- data/lib/openai/resources/realtime/client_secrets.rb +2 -3
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +19 -1
- data/rbi/openai/models/realtime/audio_transcription.rbi +132 -0
- data/rbi/openai/models/realtime/client_secret_create_params.rbi +25 -11
- data/rbi/openai/models/realtime/client_secret_create_response.rbi +2 -587
- data/rbi/openai/models/realtime/conversation_item_added.rbi +14 -1
- data/rbi/openai/models/realtime/conversation_item_done.rbi +3 -0
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +11 -8
- data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +15 -5
- data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +2 -2
- data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +10 -5
- data/rbi/openai/models/realtime/models.rbi +97 -0
- data/rbi/openai/models/realtime/noise_reduction_type.rbi +31 -0
- data/rbi/openai/models/realtime/realtime_audio_config.rbi +8 -956
- data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +221 -0
- data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +222 -0
- data/rbi/openai/models/realtime/realtime_audio_formats.rbi +329 -0
- data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +262 -0
- data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +51 -10
- data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +16 -7
- data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +14 -7
- data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +16 -6
- data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +110 -12
- data/rbi/openai/models/realtime/realtime_response.rbi +287 -212
- data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +250 -0
- data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +616 -0
- data/rbi/openai/models/realtime/realtime_response_create_params.rbi +529 -0
- data/rbi/openai/models/realtime/realtime_response_usage.rbi +8 -2
- data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +106 -7
- data/rbi/openai/models/realtime/realtime_server_event.rbi +4 -1
- data/rbi/openai/models/realtime/realtime_session.rbi +12 -262
- data/rbi/openai/models/realtime/realtime_session_client_secret.rbi +49 -0
- data/rbi/openai/models/realtime/realtime_session_create_request.rbi +112 -133
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +1229 -405
- data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +1 -117
- data/rbi/openai/models/realtime/realtime_tracing_config.rbi +11 -10
- data/rbi/openai/models/realtime/realtime_transcription_session_audio.rbi +50 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +226 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +259 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_client_secret.rbi +51 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +25 -597
- data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +195 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbi +144 -0
- data/rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi +94 -0
- data/rbi/openai/models/realtime/realtime_truncation.rbi +5 -56
- data/rbi/openai/models/realtime/realtime_truncation_retention_ratio.rbi +45 -0
- data/rbi/openai/models/realtime/response_cancel_event.rbi +3 -1
- data/rbi/openai/models/realtime/response_create_event.rbi +19 -786
- data/rbi/openai/models/realtime/response_done_event.rbi +7 -0
- data/rbi/openai/models/realtime/session_created_event.rbi +42 -9
- data/rbi/openai/models/realtime/session_update_event.rbi +57 -19
- data/rbi/openai/models/realtime/session_updated_event.rbi +42 -9
- data/rbi/openai/models/realtime/transcription_session_created.rbi +17 -591
- data/rbi/openai/models/realtime/transcription_session_update.rbi +425 -7
- data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +14 -591
- data/rbi/openai/resources/realtime/client_secrets.rbi +5 -3
- data/sig/openai/models/realtime/audio_transcription.rbs +57 -0
- data/sig/openai/models/realtime/client_secret_create_response.rbs +1 -251
- data/sig/openai/models/realtime/models.rbs +57 -0
- data/sig/openai/models/realtime/noise_reduction_type.rbs +16 -0
- data/sig/openai/models/realtime/realtime_audio_config.rbs +12 -331
- data/sig/openai/models/realtime/realtime_audio_config_input.rbs +72 -0
- data/sig/openai/models/realtime/realtime_audio_config_output.rbs +72 -0
- data/sig/openai/models/realtime/realtime_audio_formats.rbs +128 -0
- data/sig/openai/models/realtime/realtime_audio_input_turn_detection.rbs +99 -0
- data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +17 -2
- data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +30 -1
- data/sig/openai/models/realtime/realtime_response.rbs +103 -82
- data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +84 -0
- data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +218 -0
- data/sig/openai/models/realtime/realtime_response_create_params.rbs +148 -0
- data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +50 -1
- data/sig/openai/models/realtime/realtime_session.rbs +16 -106
- data/sig/openai/models/realtime/realtime_session_client_secret.rbs +20 -0
- data/sig/openai/models/realtime/realtime_session_create_request.rbs +27 -43
- data/sig/openai/models/realtime/realtime_session_create_response.rbs +389 -187
- data/sig/openai/models/realtime/realtime_tools_config_union.rbs +1 -53
- data/sig/openai/models/realtime/realtime_transcription_session_audio.rbs +24 -0
- data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +72 -0
- data/sig/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbs +99 -0
- data/sig/openai/models/realtime/realtime_transcription_session_client_secret.rbs +20 -0
- data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +11 -203
- data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +69 -0
- data/sig/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbs +59 -0
- data/sig/openai/models/realtime/realtime_transcription_session_turn_detection.rbs +47 -0
- data/sig/openai/models/realtime/realtime_truncation.rbs +1 -28
- data/sig/openai/models/realtime/realtime_truncation_retention_ratio.rbs +21 -0
- data/sig/openai/models/realtime/response_create_event.rbs +6 -249
- data/sig/openai/models/realtime/session_created_event.rbs +14 -4
- data/sig/openai/models/realtime/session_update_event.rbs +14 -4
- data/sig/openai/models/realtime/session_updated_event.rbs +14 -4
- data/sig/openai/models/realtime/transcription_session_created.rbs +4 -254
- data/sig/openai/models/realtime/transcription_session_update.rbs +154 -4
- data/sig/openai/models/realtime/transcription_session_updated_event.rbs +4 -254
- metadata +59 -5
- data/lib/openai/models/realtime/realtime_client_secret_config.rb +0 -64
- data/rbi/openai/models/realtime/realtime_client_secret_config.rbi +0 -147
- data/sig/openai/models/realtime/realtime_client_secret_config.rbs +0 -60
|
@@ -32,6 +32,13 @@ module OpenAI
|
|
|
32
32
|
# Returned when a Response is done streaming. Always emitted, no matter the final
|
|
33
33
|
# state. The Response object included in the `response.done` event will include
|
|
34
34
|
# all output Items in the Response but will omit the raw audio data.
|
|
35
|
+
#
|
|
36
|
+
# Clients should check the `status` field of the Response to determine if it was
|
|
37
|
+
# successful (`completed`) or if there was another outcome: `cancelled`, `failed`,
|
|
38
|
+
# or `incomplete`.
|
|
39
|
+
#
|
|
40
|
+
# A response will contain all output items that were generated during the
|
|
41
|
+
# response, excluding any audio content.
|
|
35
42
|
sig do
|
|
36
43
|
params(
|
|
37
44
|
event_id: String,
|
|
@@ -16,12 +16,16 @@ module OpenAI
|
|
|
16
16
|
sig { returns(String) }
|
|
17
17
|
attr_accessor :event_id
|
|
18
18
|
|
|
19
|
-
#
|
|
20
|
-
sig
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
# The session configuration.
|
|
20
|
+
sig do
|
|
21
|
+
returns(
|
|
22
|
+
T.any(
|
|
23
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
24
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
25
|
+
)
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
attr_accessor :session
|
|
25
29
|
|
|
26
30
|
# The event type, must be `session.created`.
|
|
27
31
|
sig { returns(Symbol) }
|
|
@@ -33,14 +37,18 @@ module OpenAI
|
|
|
33
37
|
sig do
|
|
34
38
|
params(
|
|
35
39
|
event_id: String,
|
|
36
|
-
session:
|
|
40
|
+
session:
|
|
41
|
+
T.any(
|
|
42
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest::OrHash,
|
|
43
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::OrHash
|
|
44
|
+
),
|
|
37
45
|
type: Symbol
|
|
38
46
|
).returns(T.attached_class)
|
|
39
47
|
end
|
|
40
48
|
def self.new(
|
|
41
49
|
# The unique ID of the server event.
|
|
42
50
|
event_id:,
|
|
43
|
-
#
|
|
51
|
+
# The session configuration.
|
|
44
52
|
session:,
|
|
45
53
|
# The event type, must be `session.created`.
|
|
46
54
|
type: :"session.created"
|
|
@@ -51,13 +59,38 @@ module OpenAI
|
|
|
51
59
|
override.returns(
|
|
52
60
|
{
|
|
53
61
|
event_id: String,
|
|
54
|
-
session:
|
|
62
|
+
session:
|
|
63
|
+
T.any(
|
|
64
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
65
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
66
|
+
),
|
|
55
67
|
type: Symbol
|
|
56
68
|
}
|
|
57
69
|
)
|
|
58
70
|
end
|
|
59
71
|
def to_hash
|
|
60
72
|
end
|
|
73
|
+
|
|
74
|
+
# The session configuration.
|
|
75
|
+
module Session
|
|
76
|
+
extend OpenAI::Internal::Type::Union
|
|
77
|
+
|
|
78
|
+
Variants =
|
|
79
|
+
T.type_alias do
|
|
80
|
+
T.any(
|
|
81
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
82
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
83
|
+
)
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
sig do
|
|
87
|
+
override.returns(
|
|
88
|
+
T::Array[OpenAI::Realtime::SessionCreatedEvent::Session::Variants]
|
|
89
|
+
)
|
|
90
|
+
end
|
|
91
|
+
def self.variants
|
|
92
|
+
end
|
|
93
|
+
end
|
|
61
94
|
end
|
|
62
95
|
end
|
|
63
96
|
end
|
|
@@ -12,48 +12,60 @@ module OpenAI
|
|
|
12
12
|
)
|
|
13
13
|
end
|
|
14
14
|
|
|
15
|
-
# Realtime session
|
|
16
|
-
|
|
17
|
-
attr_reader :session
|
|
18
|
-
|
|
15
|
+
# Update the Realtime session. Choose either a realtime session or a transcription
|
|
16
|
+
# session.
|
|
19
17
|
sig do
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
returns(
|
|
19
|
+
T.any(
|
|
20
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
21
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
22
|
+
)
|
|
23
|
+
)
|
|
23
24
|
end
|
|
24
|
-
|
|
25
|
+
attr_accessor :session
|
|
25
26
|
|
|
26
27
|
# The event type, must be `session.update`.
|
|
27
28
|
sig { returns(Symbol) }
|
|
28
29
|
attr_accessor :type
|
|
29
30
|
|
|
30
|
-
# Optional client-generated ID used to identify this event.
|
|
31
|
+
# Optional client-generated ID used to identify this event. This is an arbitrary
|
|
32
|
+
# string that a client may assign. It will be passed back if there is an error
|
|
33
|
+
# with the event, but the corresponding `session.updated` event will not include
|
|
34
|
+
# it.
|
|
31
35
|
sig { returns(T.nilable(String)) }
|
|
32
36
|
attr_reader :event_id
|
|
33
37
|
|
|
34
38
|
sig { params(event_id: String).void }
|
|
35
39
|
attr_writer :event_id
|
|
36
40
|
|
|
37
|
-
# Send this event to update the session’s
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
# can’t be changed to another model using `session.update`.
|
|
41
|
+
# Send this event to update the session’s configuration. The client may send this
|
|
42
|
+
# event at any time to update any field except for `voice` and `model`. `voice`
|
|
43
|
+
# can be updated only if there have been no other audio outputs yet.
|
|
41
44
|
#
|
|
42
45
|
# When the server receives a `session.update`, it will respond with a
|
|
43
46
|
# `session.updated` event showing the full, effective configuration. Only the
|
|
44
|
-
# fields that are present are updated. To clear a field
|
|
45
|
-
# an empty string.
|
|
47
|
+
# fields that are present in the `session.update` are updated. To clear a field
|
|
48
|
+
# like `instructions`, pass an empty string. To clear a field like `tools`, pass
|
|
49
|
+
# an empty array. To clear a field like `turn_detection`, pass `null`.
|
|
46
50
|
sig do
|
|
47
51
|
params(
|
|
48
|
-
session:
|
|
52
|
+
session:
|
|
53
|
+
T.any(
|
|
54
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest::OrHash,
|
|
55
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::OrHash
|
|
56
|
+
),
|
|
49
57
|
event_id: String,
|
|
50
58
|
type: Symbol
|
|
51
59
|
).returns(T.attached_class)
|
|
52
60
|
end
|
|
53
61
|
def self.new(
|
|
54
|
-
# Realtime session
|
|
62
|
+
# Update the Realtime session. Choose either a realtime session or a transcription
|
|
63
|
+
# session.
|
|
55
64
|
session:,
|
|
56
|
-
# Optional client-generated ID used to identify this event.
|
|
65
|
+
# Optional client-generated ID used to identify this event. This is an arbitrary
|
|
66
|
+
# string that a client may assign. It will be passed back if there is an error
|
|
67
|
+
# with the event, but the corresponding `session.updated` event will not include
|
|
68
|
+
# it.
|
|
57
69
|
event_id: nil,
|
|
58
70
|
# The event type, must be `session.update`.
|
|
59
71
|
type: :"session.update"
|
|
@@ -63,7 +75,11 @@ module OpenAI
|
|
|
63
75
|
sig do
|
|
64
76
|
override.returns(
|
|
65
77
|
{
|
|
66
|
-
session:
|
|
78
|
+
session:
|
|
79
|
+
T.any(
|
|
80
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
81
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
82
|
+
),
|
|
67
83
|
type: Symbol,
|
|
68
84
|
event_id: String
|
|
69
85
|
}
|
|
@@ -71,6 +87,28 @@ module OpenAI
|
|
|
71
87
|
end
|
|
72
88
|
def to_hash
|
|
73
89
|
end
|
|
90
|
+
|
|
91
|
+
# Update the Realtime session. Choose either a realtime session or a transcription
|
|
92
|
+
# session.
|
|
93
|
+
module Session
|
|
94
|
+
extend OpenAI::Internal::Type::Union
|
|
95
|
+
|
|
96
|
+
Variants =
|
|
97
|
+
T.type_alias do
|
|
98
|
+
T.any(
|
|
99
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
100
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
|
|
104
|
+
sig do
|
|
105
|
+
override.returns(
|
|
106
|
+
T::Array[OpenAI::Realtime::SessionUpdateEvent::Session::Variants]
|
|
107
|
+
)
|
|
108
|
+
end
|
|
109
|
+
def self.variants
|
|
110
|
+
end
|
|
111
|
+
end
|
|
74
112
|
end
|
|
75
113
|
end
|
|
76
114
|
end
|
|
@@ -16,12 +16,16 @@ module OpenAI
|
|
|
16
16
|
sig { returns(String) }
|
|
17
17
|
attr_accessor :event_id
|
|
18
18
|
|
|
19
|
-
#
|
|
20
|
-
sig
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
19
|
+
# The session configuration.
|
|
20
|
+
sig do
|
|
21
|
+
returns(
|
|
22
|
+
T.any(
|
|
23
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
24
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
25
|
+
)
|
|
26
|
+
)
|
|
27
|
+
end
|
|
28
|
+
attr_accessor :session
|
|
25
29
|
|
|
26
30
|
# The event type, must be `session.updated`.
|
|
27
31
|
sig { returns(Symbol) }
|
|
@@ -32,14 +36,18 @@ module OpenAI
|
|
|
32
36
|
sig do
|
|
33
37
|
params(
|
|
34
38
|
event_id: String,
|
|
35
|
-
session:
|
|
39
|
+
session:
|
|
40
|
+
T.any(
|
|
41
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest::OrHash,
|
|
42
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::OrHash
|
|
43
|
+
),
|
|
36
44
|
type: Symbol
|
|
37
45
|
).returns(T.attached_class)
|
|
38
46
|
end
|
|
39
47
|
def self.new(
|
|
40
48
|
# The unique ID of the server event.
|
|
41
49
|
event_id:,
|
|
42
|
-
#
|
|
50
|
+
# The session configuration.
|
|
43
51
|
session:,
|
|
44
52
|
# The event type, must be `session.updated`.
|
|
45
53
|
type: :"session.updated"
|
|
@@ -50,13 +58,38 @@ module OpenAI
|
|
|
50
58
|
override.returns(
|
|
51
59
|
{
|
|
52
60
|
event_id: String,
|
|
53
|
-
session:
|
|
61
|
+
session:
|
|
62
|
+
T.any(
|
|
63
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
64
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
65
|
+
),
|
|
54
66
|
type: Symbol
|
|
55
67
|
}
|
|
56
68
|
)
|
|
57
69
|
end
|
|
58
70
|
def to_hash
|
|
59
71
|
end
|
|
72
|
+
|
|
73
|
+
# The session configuration.
|
|
74
|
+
module Session
|
|
75
|
+
extend OpenAI::Internal::Type::Union
|
|
76
|
+
|
|
77
|
+
Variants =
|
|
78
|
+
T.type_alias do
|
|
79
|
+
T.any(
|
|
80
|
+
OpenAI::Realtime::RealtimeSessionCreateRequest,
|
|
81
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
|
|
82
|
+
)
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
sig do
|
|
86
|
+
override.returns(
|
|
87
|
+
T::Array[OpenAI::Realtime::SessionUpdatedEvent::Session::Variants]
|
|
88
|
+
)
|
|
89
|
+
end
|
|
90
|
+
def self.variants
|
|
91
|
+
end
|
|
92
|
+
end
|
|
60
93
|
end
|
|
61
94
|
end
|
|
62
95
|
end
|