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.
Files changed (158) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/realtime/audio_transcription.rb +60 -0
  5. data/lib/openai/models/realtime/client_secret_create_params.rb +18 -9
  6. data/lib/openai/models/realtime/client_secret_create_response.rb +11 -250
  7. data/lib/openai/models/realtime/conversation_item.rb +1 -1
  8. data/lib/openai/models/realtime/conversation_item_added.rb +14 -1
  9. data/lib/openai/models/realtime/conversation_item_done.rb +3 -0
  10. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +10 -8
  11. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +14 -5
  12. data/lib/openai/models/realtime/conversation_item_truncate_event.rb +2 -2
  13. data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +10 -5
  14. data/lib/openai/models/realtime/models.rb +58 -0
  15. data/lib/openai/models/realtime/noise_reduction_type.rb +20 -0
  16. data/lib/openai/models/realtime/realtime_audio_config.rb +6 -427
  17. data/lib/openai/models/realtime/realtime_audio_config_input.rb +89 -0
  18. data/lib/openai/models/realtime/realtime_audio_config_output.rb +100 -0
  19. data/lib/openai/models/realtime/realtime_audio_formats.rb +121 -0
  20. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +131 -0
  21. data/lib/openai/models/realtime/realtime_client_event.rb +31 -23
  22. data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +43 -10
  23. data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +16 -7
  24. data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +15 -7
  25. data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +18 -6
  26. data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +62 -13
  27. data/lib/openai/models/realtime/realtime_response.rb +117 -107
  28. data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +100 -0
  29. data/lib/openai/models/realtime/realtime_response_create_mcp_tool.rb +310 -0
  30. data/lib/openai/models/realtime/realtime_response_create_params.rb +225 -0
  31. data/lib/openai/models/realtime/realtime_response_status.rb +1 -1
  32. data/lib/openai/models/realtime/realtime_response_usage.rb +5 -2
  33. data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +58 -8
  34. data/lib/openai/models/realtime/realtime_server_event.rb +21 -5
  35. data/lib/openai/models/realtime/realtime_session.rb +9 -125
  36. data/lib/openai/models/realtime/realtime_session_client_secret.rb +36 -0
  37. data/lib/openai/models/realtime/realtime_session_create_request.rb +50 -71
  38. data/lib/openai/models/realtime/realtime_session_create_response.rb +621 -219
  39. data/lib/openai/models/realtime/realtime_tools_config_union.rb +2 -53
  40. data/lib/openai/models/realtime/realtime_tracing_config.rb +7 -6
  41. data/lib/openai/models/realtime/realtime_transcription_session_audio.rb +19 -0
  42. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +90 -0
  43. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +131 -0
  44. data/lib/openai/models/realtime/realtime_transcription_session_client_secret.rb +38 -0
  45. data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +12 -270
  46. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +78 -0
  47. data/lib/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rb +66 -0
  48. data/lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb +57 -0
  49. data/lib/openai/models/realtime/realtime_truncation.rb +8 -40
  50. data/lib/openai/models/realtime/realtime_truncation_retention_ratio.rb +34 -0
  51. data/lib/openai/models/realtime/response_cancel_event.rb +3 -1
  52. data/lib/openai/models/realtime/response_create_event.rb +18 -348
  53. data/lib/openai/models/realtime/response_done_event.rb +7 -0
  54. data/lib/openai/models/realtime/session_created_event.rb +20 -4
  55. data/lib/openai/models/realtime/session_update_event.rb +36 -12
  56. data/lib/openai/models/realtime/session_updated_event.rb +20 -4
  57. data/lib/openai/models/realtime/transcription_session_created.rb +8 -243
  58. data/lib/openai/models/realtime/transcription_session_update.rb +179 -3
  59. data/lib/openai/models/realtime/transcription_session_updated_event.rb +8 -243
  60. data/lib/openai/resources/realtime/client_secrets.rb +2 -3
  61. data/lib/openai/version.rb +1 -1
  62. data/lib/openai.rb +19 -1
  63. data/rbi/openai/models/realtime/audio_transcription.rbi +132 -0
  64. data/rbi/openai/models/realtime/client_secret_create_params.rbi +25 -11
  65. data/rbi/openai/models/realtime/client_secret_create_response.rbi +2 -587
  66. data/rbi/openai/models/realtime/conversation_item_added.rbi +14 -1
  67. data/rbi/openai/models/realtime/conversation_item_done.rbi +3 -0
  68. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +11 -8
  69. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +15 -5
  70. data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +2 -2
  71. data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +10 -5
  72. data/rbi/openai/models/realtime/models.rbi +97 -0
  73. data/rbi/openai/models/realtime/noise_reduction_type.rbi +31 -0
  74. data/rbi/openai/models/realtime/realtime_audio_config.rbi +8 -956
  75. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +221 -0
  76. data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +222 -0
  77. data/rbi/openai/models/realtime/realtime_audio_formats.rbi +329 -0
  78. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +262 -0
  79. data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +51 -10
  80. data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +16 -7
  81. data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +14 -7
  82. data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +16 -6
  83. data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +110 -12
  84. data/rbi/openai/models/realtime/realtime_response.rbi +287 -212
  85. data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +250 -0
  86. data/rbi/openai/models/realtime/realtime_response_create_mcp_tool.rbi +616 -0
  87. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +529 -0
  88. data/rbi/openai/models/realtime/realtime_response_usage.rbi +8 -2
  89. data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +106 -7
  90. data/rbi/openai/models/realtime/realtime_server_event.rbi +4 -1
  91. data/rbi/openai/models/realtime/realtime_session.rbi +12 -262
  92. data/rbi/openai/models/realtime/realtime_session_client_secret.rbi +49 -0
  93. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +112 -133
  94. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +1229 -405
  95. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +1 -117
  96. data/rbi/openai/models/realtime/realtime_tracing_config.rbi +11 -10
  97. data/rbi/openai/models/realtime/realtime_transcription_session_audio.rbi +50 -0
  98. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +226 -0
  99. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +259 -0
  100. data/rbi/openai/models/realtime/realtime_transcription_session_client_secret.rbi +51 -0
  101. data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +25 -597
  102. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +195 -0
  103. data/rbi/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbi +144 -0
  104. data/rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi +94 -0
  105. data/rbi/openai/models/realtime/realtime_truncation.rbi +5 -56
  106. data/rbi/openai/models/realtime/realtime_truncation_retention_ratio.rbi +45 -0
  107. data/rbi/openai/models/realtime/response_cancel_event.rbi +3 -1
  108. data/rbi/openai/models/realtime/response_create_event.rbi +19 -786
  109. data/rbi/openai/models/realtime/response_done_event.rbi +7 -0
  110. data/rbi/openai/models/realtime/session_created_event.rbi +42 -9
  111. data/rbi/openai/models/realtime/session_update_event.rbi +57 -19
  112. data/rbi/openai/models/realtime/session_updated_event.rbi +42 -9
  113. data/rbi/openai/models/realtime/transcription_session_created.rbi +17 -591
  114. data/rbi/openai/models/realtime/transcription_session_update.rbi +425 -7
  115. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +14 -591
  116. data/rbi/openai/resources/realtime/client_secrets.rbi +5 -3
  117. data/sig/openai/models/realtime/audio_transcription.rbs +57 -0
  118. data/sig/openai/models/realtime/client_secret_create_response.rbs +1 -251
  119. data/sig/openai/models/realtime/models.rbs +57 -0
  120. data/sig/openai/models/realtime/noise_reduction_type.rbs +16 -0
  121. data/sig/openai/models/realtime/realtime_audio_config.rbs +12 -331
  122. data/sig/openai/models/realtime/realtime_audio_config_input.rbs +72 -0
  123. data/sig/openai/models/realtime/realtime_audio_config_output.rbs +72 -0
  124. data/sig/openai/models/realtime/realtime_audio_formats.rbs +128 -0
  125. data/sig/openai/models/realtime/realtime_audio_input_turn_detection.rbs +99 -0
  126. data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +17 -2
  127. data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +30 -1
  128. data/sig/openai/models/realtime/realtime_response.rbs +103 -82
  129. data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +84 -0
  130. data/sig/openai/models/realtime/realtime_response_create_mcp_tool.rbs +218 -0
  131. data/sig/openai/models/realtime/realtime_response_create_params.rbs +148 -0
  132. data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +50 -1
  133. data/sig/openai/models/realtime/realtime_session.rbs +16 -106
  134. data/sig/openai/models/realtime/realtime_session_client_secret.rbs +20 -0
  135. data/sig/openai/models/realtime/realtime_session_create_request.rbs +27 -43
  136. data/sig/openai/models/realtime/realtime_session_create_response.rbs +389 -187
  137. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +1 -53
  138. data/sig/openai/models/realtime/realtime_transcription_session_audio.rbs +24 -0
  139. data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +72 -0
  140. data/sig/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbs +99 -0
  141. data/sig/openai/models/realtime/realtime_transcription_session_client_secret.rbs +20 -0
  142. data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +11 -203
  143. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +69 -0
  144. data/sig/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbs +59 -0
  145. data/sig/openai/models/realtime/realtime_transcription_session_turn_detection.rbs +47 -0
  146. data/sig/openai/models/realtime/realtime_truncation.rbs +1 -28
  147. data/sig/openai/models/realtime/realtime_truncation_retention_ratio.rbs +21 -0
  148. data/sig/openai/models/realtime/response_create_event.rbs +6 -249
  149. data/sig/openai/models/realtime/session_created_event.rbs +14 -4
  150. data/sig/openai/models/realtime/session_update_event.rbs +14 -4
  151. data/sig/openai/models/realtime/session_updated_event.rbs +14 -4
  152. data/sig/openai/models/realtime/transcription_session_created.rbs +4 -254
  153. data/sig/openai/models/realtime/transcription_session_update.rbs +154 -4
  154. data/sig/openai/models/realtime/transcription_session_updated_event.rbs +4 -254
  155. metadata +59 -5
  156. data/lib/openai/models/realtime/realtime_client_secret_config.rb +0 -64
  157. data/rbi/openai/models/realtime/realtime_client_secret_config.rbi +0 -147
  158. data/sig/openai/models/realtime/realtime_client_secret_config.rbs +0 -60
@@ -4,278 +4,28 @@ module OpenAI
4
4
  type transcription_session_created =
5
5
  {
6
6
  event_id: String,
7
- session: OpenAI::Realtime::TranscriptionSessionCreated::Session,
7
+ session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse,
8
8
  type: :"transcription_session.created"
9
9
  }
10
10
 
11
11
  class TranscriptionSessionCreated < OpenAI::Internal::Type::BaseModel
12
12
  attr_accessor event_id: String
13
13
 
14
- attr_accessor session: OpenAI::Realtime::TranscriptionSessionCreated::Session
14
+ attr_accessor session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse
15
15
 
16
16
  attr_accessor type: :"transcription_session.created"
17
17
 
18
18
  def initialize: (
19
19
  event_id: String,
20
- session: OpenAI::Realtime::TranscriptionSessionCreated::Session,
20
+ session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse,
21
21
  ?type: :"transcription_session.created"
22
22
  ) -> void
23
23
 
24
24
  def to_hash: -> {
25
25
  event_id: String,
26
- session: OpenAI::Realtime::TranscriptionSessionCreated::Session,
26
+ session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse,
27
27
  type: :"transcription_session.created"
28
28
  }
29
-
30
- type session =
31
- {
32
- id: String,
33
- audio: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio,
34
- expires_at: Integer,
35
- include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_],
36
- object: String
37
- }
38
-
39
- class Session < OpenAI::Internal::Type::BaseModel
40
- attr_reader id: String?
41
-
42
- def id=: (String) -> String
43
-
44
- attr_reader audio: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio?
45
-
46
- def audio=: (
47
- OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio
48
- ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio
49
-
50
- attr_reader expires_at: Integer?
51
-
52
- def expires_at=: (Integer) -> Integer
53
-
54
- attr_reader include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_]?
55
-
56
- def include=: (
57
- ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_]
58
- ) -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_]
59
-
60
- attr_reader object: String?
61
-
62
- def object=: (String) -> String
63
-
64
- def initialize: (
65
- ?id: String,
66
- ?audio: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio,
67
- ?expires_at: Integer,
68
- ?include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_],
69
- ?object: String
70
- ) -> void
71
-
72
- def to_hash: -> {
73
- id: String,
74
- audio: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio,
75
- expires_at: Integer,
76
- include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_],
77
- object: String
78
- }
79
-
80
- type audio =
81
- {
82
- input: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
83
- }
84
-
85
- class Audio < OpenAI::Internal::Type::BaseModel
86
- attr_reader input: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input?
87
-
88
- def input=: (
89
- OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
90
- ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
91
-
92
- def initialize: (
93
- ?input: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
94
- ) -> void
95
-
96
- def to_hash: -> {
97
- input: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
98
- }
99
-
100
- type input =
101
- {
102
- format_: String,
103
- noise_reduction: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction,
104
- transcription: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription,
105
- turn_detection: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
106
- }
107
-
108
- class Input < OpenAI::Internal::Type::BaseModel
109
- attr_reader format_: String?
110
-
111
- def format_=: (String) -> String
112
-
113
- attr_reader noise_reduction: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction?
114
-
115
- def noise_reduction=: (
116
- OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction
117
- ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction
118
-
119
- attr_reader transcription: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription?
120
-
121
- def transcription=: (
122
- OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription
123
- ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription
124
-
125
- attr_reader turn_detection: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection?
126
-
127
- def turn_detection=: (
128
- OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
129
- ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
130
-
131
- def initialize: (
132
- ?format_: String,
133
- ?noise_reduction: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction,
134
- ?transcription: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription,
135
- ?turn_detection: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
136
- ) -> void
137
-
138
- def to_hash: -> {
139
- format_: String,
140
- noise_reduction: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction,
141
- transcription: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription,
142
- turn_detection: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
143
- }
144
-
145
- type noise_reduction =
146
- {
147
- type: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
148
- }
149
-
150
- class NoiseReduction < OpenAI::Internal::Type::BaseModel
151
- attr_reader type: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_?
152
-
153
- def type=: (
154
- OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
155
- ) -> OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
156
-
157
- def initialize: (
158
- ?type: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
159
- ) -> void
160
-
161
- def to_hash: -> {
162
- type: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
163
- }
164
-
165
- type type_ = :near_field | :far_field
166
-
167
- module Type
168
- extend OpenAI::Internal::Type::Enum
169
-
170
- NEAR_FIELD: :near_field
171
- FAR_FIELD: :far_field
172
-
173
- def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_]
174
- end
175
- end
176
-
177
- type transcription =
178
- {
179
- language: String,
180
- model: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model,
181
- prompt: String
182
- }
183
-
184
- class Transcription < OpenAI::Internal::Type::BaseModel
185
- attr_reader language: String?
186
-
187
- def language=: (String) -> String
188
-
189
- attr_reader model: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model?
190
-
191
- def model=: (
192
- OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model
193
- ) -> OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model
194
-
195
- attr_reader prompt: String?
196
-
197
- def prompt=: (String) -> String
198
-
199
- def initialize: (
200
- ?language: String,
201
- ?model: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model,
202
- ?prompt: String
203
- ) -> void
204
-
205
- def to_hash: -> {
206
- language: String,
207
- model: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model,
208
- prompt: String
209
- }
210
-
211
- type model =
212
- :"gpt-4o-transcribe"
213
- | :"gpt-4o-mini-transcribe"
214
- | :"whisper-1"
215
-
216
- module Model
217
- extend OpenAI::Internal::Type::Enum
218
-
219
- GPT_4O_TRANSCRIBE: :"gpt-4o-transcribe"
220
- GPT_4O_MINI_TRANSCRIBE: :"gpt-4o-mini-transcribe"
221
- WHISPER_1: :"whisper-1"
222
-
223
- def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model]
224
- end
225
- end
226
-
227
- type turn_detection =
228
- {
229
- prefix_padding_ms: Integer,
230
- silence_duration_ms: Integer,
231
- threshold: Float,
232
- type: String
233
- }
234
-
235
- class TurnDetection < OpenAI::Internal::Type::BaseModel
236
- attr_reader prefix_padding_ms: Integer?
237
-
238
- def prefix_padding_ms=: (Integer) -> Integer
239
-
240
- attr_reader silence_duration_ms: Integer?
241
-
242
- def silence_duration_ms=: (Integer) -> Integer
243
-
244
- attr_reader threshold: Float?
245
-
246
- def threshold=: (Float) -> Float
247
-
248
- attr_reader type: String?
249
-
250
- def type=: (String) -> String
251
-
252
- def initialize: (
253
- ?prefix_padding_ms: Integer,
254
- ?silence_duration_ms: Integer,
255
- ?threshold: Float,
256
- ?type: String
257
- ) -> void
258
-
259
- def to_hash: -> {
260
- prefix_padding_ms: Integer,
261
- silence_duration_ms: Integer,
262
- threshold: Float,
263
- type: String
264
- }
265
- end
266
- end
267
- end
268
-
269
- type include_ = :"item.input_audio_transcription.logprobs"
270
-
271
- module Include
272
- extend OpenAI::Internal::Type::Enum
273
-
274
- ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS: :"item.input_audio_transcription.logprobs"
275
-
276
- def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_]
277
- end
278
- end
279
29
  end
280
30
  end
281
31
  end
@@ -3,13 +3,13 @@ module OpenAI
3
3
  module Realtime
4
4
  type transcription_session_update =
5
5
  {
6
- session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest,
6
+ session: OpenAI::Realtime::TranscriptionSessionUpdate::Session,
7
7
  type: :"transcription_session.update",
8
8
  event_id: String
9
9
  }
10
10
 
11
11
  class TranscriptionSessionUpdate < OpenAI::Internal::Type::BaseModel
12
- attr_accessor session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
12
+ attr_accessor session: OpenAI::Realtime::TranscriptionSessionUpdate::Session
13
13
 
14
14
  attr_accessor type: :"transcription_session.update"
15
15
 
@@ -18,16 +18,166 @@ module OpenAI
18
18
  def event_id=: (String) -> String
19
19
 
20
20
  def initialize: (
21
- session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest,
21
+ session: OpenAI::Realtime::TranscriptionSessionUpdate::Session,
22
22
  ?event_id: String,
23
23
  ?type: :"transcription_session.update"
24
24
  ) -> void
25
25
 
26
26
  def to_hash: -> {
27
- session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest,
27
+ session: OpenAI::Realtime::TranscriptionSessionUpdate::Session,
28
28
  type: :"transcription_session.update",
29
29
  event_id: String
30
30
  }
31
+
32
+ type session =
33
+ {
34
+ include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::include_],
35
+ input_audio_format: OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::input_audio_format,
36
+ input_audio_noise_reduction: OpenAI::Realtime::TranscriptionSessionUpdate::Session::InputAudioNoiseReduction,
37
+ input_audio_transcription: OpenAI::Realtime::AudioTranscription,
38
+ turn_detection: OpenAI::Realtime::TranscriptionSessionUpdate::Session::TurnDetection
39
+ }
40
+
41
+ class Session < OpenAI::Internal::Type::BaseModel
42
+ attr_reader include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::include_]?
43
+
44
+ def include=: (
45
+ ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::include_]
46
+ ) -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::include_]
47
+
48
+ attr_reader input_audio_format: OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::input_audio_format?
49
+
50
+ def input_audio_format=: (
51
+ OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::input_audio_format
52
+ ) -> OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::input_audio_format
53
+
54
+ attr_reader input_audio_noise_reduction: OpenAI::Realtime::TranscriptionSessionUpdate::Session::InputAudioNoiseReduction?
55
+
56
+ def input_audio_noise_reduction=: (
57
+ OpenAI::Realtime::TranscriptionSessionUpdate::Session::InputAudioNoiseReduction
58
+ ) -> OpenAI::Realtime::TranscriptionSessionUpdate::Session::InputAudioNoiseReduction
59
+
60
+ attr_reader input_audio_transcription: OpenAI::Realtime::AudioTranscription?
61
+
62
+ def input_audio_transcription=: (
63
+ OpenAI::Realtime::AudioTranscription
64
+ ) -> OpenAI::Realtime::AudioTranscription
65
+
66
+ attr_reader turn_detection: OpenAI::Realtime::TranscriptionSessionUpdate::Session::TurnDetection?
67
+
68
+ def turn_detection=: (
69
+ OpenAI::Realtime::TranscriptionSessionUpdate::Session::TurnDetection
70
+ ) -> OpenAI::Realtime::TranscriptionSessionUpdate::Session::TurnDetection
71
+
72
+ def initialize: (
73
+ ?include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::include_],
74
+ ?input_audio_format: OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::input_audio_format,
75
+ ?input_audio_noise_reduction: OpenAI::Realtime::TranscriptionSessionUpdate::Session::InputAudioNoiseReduction,
76
+ ?input_audio_transcription: OpenAI::Realtime::AudioTranscription,
77
+ ?turn_detection: OpenAI::Realtime::TranscriptionSessionUpdate::Session::TurnDetection
78
+ ) -> void
79
+
80
+ def to_hash: -> {
81
+ include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::include_],
82
+ input_audio_format: OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::input_audio_format,
83
+ input_audio_noise_reduction: OpenAI::Realtime::TranscriptionSessionUpdate::Session::InputAudioNoiseReduction,
84
+ input_audio_transcription: OpenAI::Realtime::AudioTranscription,
85
+ turn_detection: OpenAI::Realtime::TranscriptionSessionUpdate::Session::TurnDetection
86
+ }
87
+
88
+ type include_ = :"item.input_audio_transcription.logprobs"
89
+
90
+ module Include
91
+ extend OpenAI::Internal::Type::Enum
92
+
93
+ ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS: :"item.input_audio_transcription.logprobs"
94
+
95
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::include_]
96
+ end
97
+
98
+ type input_audio_format = :pcm16 | :g711_ulaw | :g711_alaw
99
+
100
+ module InputAudioFormat
101
+ extend OpenAI::Internal::Type::Enum
102
+
103
+ PCM16: :pcm16
104
+ G711_ULAW: :g711_ulaw
105
+ G711_ALAW: :g711_alaw
106
+
107
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::input_audio_format]
108
+ end
109
+
110
+ type input_audio_noise_reduction =
111
+ { type: OpenAI::Models::Realtime::noise_reduction_type }
112
+
113
+ class InputAudioNoiseReduction < OpenAI::Internal::Type::BaseModel
114
+ attr_reader type: OpenAI::Models::Realtime::noise_reduction_type?
115
+
116
+ def type=: (
117
+ OpenAI::Models::Realtime::noise_reduction_type
118
+ ) -> OpenAI::Models::Realtime::noise_reduction_type
119
+
120
+ def initialize: (
121
+ ?type: OpenAI::Models::Realtime::noise_reduction_type
122
+ ) -> void
123
+
124
+ def to_hash: -> {
125
+ type: OpenAI::Models::Realtime::noise_reduction_type
126
+ }
127
+ end
128
+
129
+ type turn_detection =
130
+ {
131
+ prefix_padding_ms: Integer,
132
+ silence_duration_ms: Integer,
133
+ threshold: Float,
134
+ type: OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::TurnDetection::type_
135
+ }
136
+
137
+ class TurnDetection < OpenAI::Internal::Type::BaseModel
138
+ attr_reader prefix_padding_ms: Integer?
139
+
140
+ def prefix_padding_ms=: (Integer) -> Integer
141
+
142
+ attr_reader silence_duration_ms: Integer?
143
+
144
+ def silence_duration_ms=: (Integer) -> Integer
145
+
146
+ attr_reader threshold: Float?
147
+
148
+ def threshold=: (Float) -> Float
149
+
150
+ attr_reader type: OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::TurnDetection::type_?
151
+
152
+ def type=: (
153
+ OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::TurnDetection::type_
154
+ ) -> OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::TurnDetection::type_
155
+
156
+ def initialize: (
157
+ ?prefix_padding_ms: Integer,
158
+ ?silence_duration_ms: Integer,
159
+ ?threshold: Float,
160
+ ?type: OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::TurnDetection::type_
161
+ ) -> void
162
+
163
+ def to_hash: -> {
164
+ prefix_padding_ms: Integer,
165
+ silence_duration_ms: Integer,
166
+ threshold: Float,
167
+ type: OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::TurnDetection::type_
168
+ }
169
+
170
+ type type_ = :server_vad
171
+
172
+ module Type
173
+ extend OpenAI::Internal::Type::Enum
174
+
175
+ SERVER_VAD: :server_vad
176
+
177
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdate::Session::TurnDetection::type_]
178
+ end
179
+ end
180
+ end
31
181
  end
32
182
  end
33
183
  end