openai 0.61.0 → 0.63.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 (164) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +2 -5
  4. data/lib/openai/auth/workload_identity.rb +2 -2
  5. data/lib/openai/auth/workload_identity_auth.rb +4 -3
  6. data/lib/openai/models/admin/organization/usage_audio_speeches_response.rb +10 -1
  7. data/lib/openai/models/admin/organization/usage_audio_transcriptions_response.rb +10 -1
  8. data/lib/openai/models/admin/organization/usage_code_interpreter_sessions_response.rb +10 -1
  9. data/lib/openai/models/admin/organization/usage_completions_response.rb +10 -1
  10. data/lib/openai/models/admin/organization/usage_costs_response.rb +10 -1
  11. data/lib/openai/models/admin/organization/usage_embeddings_response.rb +10 -1
  12. data/lib/openai/models/admin/organization/usage_images_response.rb +10 -1
  13. data/lib/openai/models/admin/organization/usage_moderations_response.rb +10 -1
  14. data/lib/openai/models/admin/organization/usage_vector_stores_response.rb +10 -1
  15. data/lib/openai/models/chat/chat_completion_token_logprob.rb +1 -2
  16. data/lib/openai/models/chat/completion_create_params.rb +4 -3
  17. data/lib/openai/models/image_edit_params.rb +85 -31
  18. data/lib/openai/models/image_generate_params.rb +78 -26
  19. data/lib/openai/models/image_model.rb +5 -2
  20. data/lib/openai/models/realtime/audio_transcription.rb +37 -5
  21. data/lib/openai/models/realtime/client_secret_create_response.rb +1 -2
  22. data/lib/openai/models/realtime/realtime_audio_config_input.rb +3 -0
  23. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +3 -0
  24. data/lib/openai/models/realtime/realtime_reasoning.rb +24 -0
  25. data/lib/openai/models/realtime/realtime_reasoning_effort.rb +22 -0
  26. data/lib/openai/models/realtime/realtime_response_create_params.rb +18 -1
  27. data/lib/openai/models/realtime/realtime_session.rb +6 -0
  28. data/lib/openai/models/realtime/realtime_session_create_request.rb +21 -1
  29. data/lib/openai/models/realtime/realtime_session_create_response.rb +41 -17
  30. data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +3 -0
  31. data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +3 -0
  32. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +9 -5
  33. data/lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb +2 -1
  34. data/lib/openai/models/realtime/realtime_translation_client_event.rb +45 -0
  35. data/lib/openai/models/realtime/realtime_translation_client_secret_create_request.rb +85 -0
  36. data/lib/openai/models/realtime/realtime_translation_client_secret_create_response.rb +42 -0
  37. data/lib/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rb +51 -0
  38. data/lib/openai/models/realtime/realtime_translation_input_transcript_delta_event.rb +55 -0
  39. data/lib/openai/models/realtime/realtime_translation_output_audio_delta_event.rb +89 -0
  40. data/lib/openai/models/realtime/realtime_translation_output_transcript_delta_event.rb +54 -0
  41. data/lib/openai/models/realtime/realtime_translation_server_event.rb +53 -0
  42. data/lib/openai/models/realtime/realtime_translation_session.rb +158 -0
  43. data/lib/openai/models/realtime/realtime_translation_session_close_event.rb +30 -0
  44. data/lib/openai/models/realtime/realtime_translation_session_closed_event.rb +28 -0
  45. data/lib/openai/models/realtime/realtime_translation_session_create_request.rb +138 -0
  46. data/lib/openai/models/realtime/realtime_translation_session_created_event.rb +38 -0
  47. data/lib/openai/models/realtime/realtime_translation_session_update_event.rb +43 -0
  48. data/lib/openai/models/realtime/realtime_translation_session_update_request.rb +129 -0
  49. data/lib/openai/models/realtime/realtime_translation_session_updated_event.rb +37 -0
  50. data/lib/openai/models/realtime/transcription_session_updated_event.rb +1 -2
  51. data/lib/openai/models/responses/response.rb +4 -3
  52. data/lib/openai/models/responses/response_compact_params.rb +22 -1
  53. data/lib/openai/models/responses/response_create_params.rb +4 -3
  54. data/lib/openai/models/responses/response_includable.rb +2 -0
  55. data/lib/openai/models/responses/response_text_delta_event.rb +2 -2
  56. data/lib/openai/models/responses/response_text_done_event.rb +2 -2
  57. data/lib/openai/models/responses/responses_client_event.rb +4 -3
  58. data/lib/openai/models/responses/tool.rb +81 -16
  59. data/lib/openai/resources/chat/completions.rb +2 -2
  60. data/lib/openai/resources/images.rb +6 -6
  61. data/lib/openai/resources/realtime/calls.rb +5 -1
  62. data/lib/openai/resources/responses.rb +5 -3
  63. data/lib/openai/version.rb +1 -1
  64. data/lib/openai.rb +18 -1
  65. data/rbi/openai/auth.rbi +3 -3
  66. data/rbi/openai/models/admin/organization/usage_audio_speeches_response.rbi +11 -1
  67. data/rbi/openai/models/admin/organization/usage_audio_transcriptions_response.rbi +11 -1
  68. data/rbi/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbi +11 -1
  69. data/rbi/openai/models/admin/organization/usage_completions_response.rbi +11 -1
  70. data/rbi/openai/models/admin/organization/usage_costs_response.rbi +11 -1
  71. data/rbi/openai/models/admin/organization/usage_embeddings_response.rbi +11 -1
  72. data/rbi/openai/models/admin/organization/usage_images_response.rbi +11 -1
  73. data/rbi/openai/models/admin/organization/usage_moderations_response.rbi +11 -1
  74. data/rbi/openai/models/admin/organization/usage_vector_stores_response.rbi +11 -1
  75. data/rbi/openai/models/chat/chat_completion_token_logprob.rbi +2 -4
  76. data/rbi/openai/models/chat/completion_create_params.rbi +6 -4
  77. data/rbi/openai/models/image_edit_params.rbi +102 -45
  78. data/rbi/openai/models/image_generate_params.rbi +93 -39
  79. data/rbi/openai/models/image_model.rbi +8 -3
  80. data/rbi/openai/models/realtime/audio_transcription.rbi +85 -6
  81. data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +6 -0
  82. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +3 -0
  83. data/rbi/openai/models/realtime/realtime_reasoning.rbi +54 -0
  84. data/rbi/openai/models/realtime/realtime_reasoning_effort.rbi +44 -0
  85. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +26 -0
  86. data/rbi/openai/models/realtime/realtime_session.rbi +9 -0
  87. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +31 -0
  88. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +53 -32
  89. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +6 -0
  90. data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +3 -0
  91. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +13 -7
  92. data/rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi +2 -1
  93. data/rbi/openai/models/realtime/realtime_translation_client_event.rbi +29 -0
  94. data/rbi/openai/models/realtime/realtime_translation_client_secret_create_request.rbi +193 -0
  95. data/rbi/openai/models/realtime/realtime_translation_client_secret_create_response.rbi +69 -0
  96. data/rbi/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbi +69 -0
  97. data/rbi/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbi +77 -0
  98. data/rbi/openai/models/realtime/realtime_translation_output_audio_delta_event.rbi +148 -0
  99. data/rbi/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbi +76 -0
  100. data/rbi/openai/models/realtime/realtime_translation_server_event.rbi +33 -0
  101. data/rbi/openai/models/realtime/realtime_translation_session.rbi +339 -0
  102. data/rbi/openai/models/realtime/realtime_translation_session_close_event.rbi +44 -0
  103. data/rbi/openai/models/realtime/realtime_translation_session_closed_event.rbi +39 -0
  104. data/rbi/openai/models/realtime/realtime_translation_session_create_request.rbi +322 -0
  105. data/rbi/openai/models/realtime/realtime_translation_session_created_event.rbi +68 -0
  106. data/rbi/openai/models/realtime/realtime_translation_session_update_event.rbi +78 -0
  107. data/rbi/openai/models/realtime/realtime_translation_session_update_request.rbi +313 -0
  108. data/rbi/openai/models/realtime/realtime_translation_session_updated_event.rbi +67 -0
  109. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +0 -2
  110. data/rbi/openai/models/responses/response.rbi +6 -4
  111. data/rbi/openai/models/responses/response_compact_params.rbi +65 -0
  112. data/rbi/openai/models/responses/response_create_params.rbi +6 -4
  113. data/rbi/openai/models/responses/response_includable.rbi +2 -0
  114. data/rbi/openai/models/responses/response_text_delta_event.rbi +2 -2
  115. data/rbi/openai/models/responses/response_text_done_event.rbi +2 -2
  116. data/rbi/openai/models/responses/responses_client_event.rbi +6 -4
  117. data/rbi/openai/models/responses/tool.rbi +122 -27
  118. data/rbi/openai/resources/chat/completions.rbi +6 -4
  119. data/rbi/openai/resources/images.rbi +110 -44
  120. data/rbi/openai/resources/realtime/calls.rbi +7 -0
  121. data/rbi/openai/resources/responses.rbi +12 -4
  122. data/sig/openai/models/admin/organization/usage_audio_speeches_response.rbs +7 -2
  123. data/sig/openai/models/admin/organization/usage_audio_transcriptions_response.rbs +7 -2
  124. data/sig/openai/models/admin/organization/usage_code_interpreter_sessions_response.rbs +7 -2
  125. data/sig/openai/models/admin/organization/usage_completions_response.rbs +7 -2
  126. data/sig/openai/models/admin/organization/usage_costs_response.rbs +7 -2
  127. data/sig/openai/models/admin/organization/usage_embeddings_response.rbs +7 -2
  128. data/sig/openai/models/admin/organization/usage_images_response.rbs +7 -2
  129. data/sig/openai/models/admin/organization/usage_moderations_response.rbs +7 -2
  130. data/sig/openai/models/admin/organization/usage_vector_stores_response.rbs +7 -2
  131. data/sig/openai/models/image_edit_params.rbs +5 -4
  132. data/sig/openai/models/image_generate_params.rbs +5 -4
  133. data/sig/openai/models/image_model.rbs +11 -5
  134. data/sig/openai/models/realtime/audio_transcription.rbs +25 -0
  135. data/sig/openai/models/realtime/realtime_reasoning.rbs +24 -0
  136. data/sig/openai/models/realtime/realtime_reasoning_effort.rbs +20 -0
  137. data/sig/openai/models/realtime/realtime_response_create_params.rbs +16 -0
  138. data/sig/openai/models/realtime/realtime_session_create_request.rbs +18 -0
  139. data/sig/openai/models/realtime/realtime_session_create_response.rbs +27 -4
  140. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +4 -8
  141. data/sig/openai/models/realtime/realtime_translation_client_event.rbs +16 -0
  142. data/sig/openai/models/realtime/realtime_translation_client_secret_create_request.rbs +69 -0
  143. data/sig/openai/models/realtime/realtime_translation_client_secret_create_response.rbs +32 -0
  144. data/sig/openai/models/realtime/realtime_translation_input_audio_buffer_append_event.rbs +34 -0
  145. data/sig/openai/models/realtime/realtime_translation_input_transcript_delta_event.rbs +37 -0
  146. data/sig/openai/models/realtime/realtime_translation_output_audio_delta_event.rbs +70 -0
  147. data/sig/openai/models/realtime/realtime_translation_output_transcript_delta_event.rbs +37 -0
  148. data/sig/openai/models/realtime/realtime_translation_server_event.rbs +20 -0
  149. data/sig/openai/models/realtime/realtime_translation_session.rbs +131 -0
  150. data/sig/openai/models/realtime/realtime_translation_session_close_event.rbs +20 -0
  151. data/sig/openai/models/realtime/realtime_translation_session_closed_event.rbs +18 -0
  152. data/sig/openai/models/realtime/realtime_translation_session_create_request.rbs +120 -0
  153. data/sig/openai/models/realtime/realtime_translation_session_created_event.rbs +32 -0
  154. data/sig/openai/models/realtime/realtime_translation_session_update_event.rbs +34 -0
  155. data/sig/openai/models/realtime/realtime_translation_session_update_request.rbs +115 -0
  156. data/sig/openai/models/realtime/realtime_translation_session_updated_event.rbs +32 -0
  157. data/sig/openai/models/responses/response_compact_params.rbs +19 -1
  158. data/sig/openai/models/responses/tool.rbs +15 -5
  159. data/sig/openai/resources/realtime/calls.rbs +2 -0
  160. data/sig/openai/resources/responses.rbs +1 -0
  161. metadata +56 -5
  162. data/lib/openai/models/realtime/realtime_session_client_secret.rb +0 -36
  163. data/rbi/openai/models/realtime/realtime_session_client_secret.rbi +0 -49
  164. data/sig/openai/models/realtime/realtime_session_client_secret.rbs +0 -20
@@ -0,0 +1,322 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class RealtimeTranslationSessionCreateRequest < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The Realtime translation model used for this session.
16
+ sig { returns(String) }
17
+ attr_accessor :model
18
+
19
+ # Configuration for translation input and output audio.
20
+ sig do
21
+ returns(
22
+ T.nilable(
23
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
24
+ )
25
+ )
26
+ end
27
+ attr_reader :audio
28
+
29
+ sig do
30
+ params(
31
+ audio:
32
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::OrHash
33
+ ).void
34
+ end
35
+ attr_writer :audio
36
+
37
+ # Realtime translation session configuration. Translation sessions stream source
38
+ # audio in and translated audio plus transcript deltas out continuously.
39
+ sig do
40
+ params(
41
+ model: String,
42
+ audio:
43
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::OrHash
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ # The Realtime translation model used for this session.
48
+ model:,
49
+ # Configuration for translation input and output audio.
50
+ audio: nil
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ model: String,
58
+ audio:
59
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+
66
+ class Audio < OpenAI::Internal::Type::BaseModel
67
+ OrHash =
68
+ T.type_alias do
69
+ T.any(
70
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio,
71
+ OpenAI::Internal::AnyHash
72
+ )
73
+ end
74
+
75
+ sig do
76
+ returns(
77
+ T.nilable(
78
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input
79
+ )
80
+ )
81
+ end
82
+ attr_reader :input
83
+
84
+ sig do
85
+ params(
86
+ input:
87
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::OrHash
88
+ ).void
89
+ end
90
+ attr_writer :input
91
+
92
+ sig do
93
+ returns(
94
+ T.nilable(
95
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
96
+ )
97
+ )
98
+ end
99
+ attr_reader :output
100
+
101
+ sig do
102
+ params(
103
+ output:
104
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output::OrHash
105
+ ).void
106
+ end
107
+ attr_writer :output
108
+
109
+ # Configuration for translation input and output audio.
110
+ sig do
111
+ params(
112
+ input:
113
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::OrHash,
114
+ output:
115
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output::OrHash
116
+ ).returns(T.attached_class)
117
+ end
118
+ def self.new(input: nil, output: nil)
119
+ end
120
+
121
+ sig do
122
+ override.returns(
123
+ {
124
+ input:
125
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input,
126
+ output:
127
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output
128
+ }
129
+ )
130
+ end
131
+ def to_hash
132
+ end
133
+
134
+ class Input < OpenAI::Internal::Type::BaseModel
135
+ OrHash =
136
+ T.type_alias do
137
+ T.any(
138
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input,
139
+ OpenAI::Internal::AnyHash
140
+ )
141
+ end
142
+
143
+ # Optional input noise reduction. Set to `null` to disable it.
144
+ sig do
145
+ returns(
146
+ T.nilable(
147
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction
148
+ )
149
+ )
150
+ end
151
+ attr_reader :noise_reduction
152
+
153
+ sig do
154
+ params(
155
+ noise_reduction:
156
+ T.nilable(
157
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction::OrHash
158
+ )
159
+ ).void
160
+ end
161
+ attr_writer :noise_reduction
162
+
163
+ # Optional source-language transcription. When configured, the server emits
164
+ # `session.input_transcript.delta` events. Translation itself still runs from the
165
+ # input audio stream.
166
+ sig do
167
+ returns(
168
+ T.nilable(
169
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription
170
+ )
171
+ )
172
+ end
173
+ attr_reader :transcription
174
+
175
+ sig do
176
+ params(
177
+ transcription:
178
+ T.nilable(
179
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription::OrHash
180
+ )
181
+ ).void
182
+ end
183
+ attr_writer :transcription
184
+
185
+ sig do
186
+ params(
187
+ noise_reduction:
188
+ T.nilable(
189
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction::OrHash
190
+ ),
191
+ transcription:
192
+ T.nilable(
193
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription::OrHash
194
+ )
195
+ ).returns(T.attached_class)
196
+ end
197
+ def self.new(
198
+ # Optional input noise reduction. Set to `null` to disable it.
199
+ noise_reduction: nil,
200
+ # Optional source-language transcription. When configured, the server emits
201
+ # `session.input_transcript.delta` events. Translation itself still runs from the
202
+ # input audio stream.
203
+ transcription: nil
204
+ )
205
+ end
206
+
207
+ sig do
208
+ override.returns(
209
+ {
210
+ noise_reduction:
211
+ T.nilable(
212
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction
213
+ ),
214
+ transcription:
215
+ T.nilable(
216
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription
217
+ )
218
+ }
219
+ )
220
+ end
221
+ def to_hash
222
+ end
223
+
224
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
225
+ OrHash =
226
+ T.type_alias do
227
+ T.any(
228
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::NoiseReduction,
229
+ OpenAI::Internal::AnyHash
230
+ )
231
+ end
232
+
233
+ # Type of noise reduction. `near_field` is for close-talking microphones such as
234
+ # headphones, `far_field` is for far-field microphones such as laptop or
235
+ # conference room microphones.
236
+ sig { returns(OpenAI::Realtime::NoiseReductionType::OrSymbol) }
237
+ attr_accessor :type
238
+
239
+ # Optional input noise reduction. Set to `null` to disable it.
240
+ sig do
241
+ params(
242
+ type: OpenAI::Realtime::NoiseReductionType::OrSymbol
243
+ ).returns(T.attached_class)
244
+ end
245
+ def self.new(
246
+ # Type of noise reduction. `near_field` is for close-talking microphones such as
247
+ # headphones, `far_field` is for far-field microphones such as laptop or
248
+ # conference room microphones.
249
+ type:
250
+ )
251
+ end
252
+
253
+ sig do
254
+ override.returns(
255
+ { type: OpenAI::Realtime::NoiseReductionType::OrSymbol }
256
+ )
257
+ end
258
+ def to_hash
259
+ end
260
+ end
261
+
262
+ class Transcription < OpenAI::Internal::Type::BaseModel
263
+ OrHash =
264
+ T.type_alias do
265
+ T.any(
266
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Input::Transcription,
267
+ OpenAI::Internal::AnyHash
268
+ )
269
+ end
270
+
271
+ # The transcription model to use for source transcript deltas.
272
+ sig { returns(String) }
273
+ attr_accessor :model
274
+
275
+ # Optional source-language transcription. When configured, the server emits
276
+ # `session.input_transcript.delta` events. Translation itself still runs from the
277
+ # input audio stream.
278
+ sig { params(model: String).returns(T.attached_class) }
279
+ def self.new(
280
+ # The transcription model to use for source transcript deltas.
281
+ model:
282
+ )
283
+ end
284
+
285
+ sig { override.returns({ model: String }) }
286
+ def to_hash
287
+ end
288
+ end
289
+ end
290
+
291
+ class Output < OpenAI::Internal::Type::BaseModel
292
+ OrHash =
293
+ T.type_alias do
294
+ T.any(
295
+ OpenAI::Realtime::RealtimeTranslationSessionCreateRequest::Audio::Output,
296
+ OpenAI::Internal::AnyHash
297
+ )
298
+ end
299
+
300
+ # Target language for translated output audio and transcript deltas.
301
+ sig { returns(T.nilable(String)) }
302
+ attr_reader :language
303
+
304
+ sig { params(language: String).void }
305
+ attr_writer :language
306
+
307
+ sig { params(language: String).returns(T.attached_class) }
308
+ def self.new(
309
+ # Target language for translated output audio and transcript deltas.
310
+ language: nil
311
+ )
312
+ end
313
+
314
+ sig { override.returns({ language: String }) }
315
+ def to_hash
316
+ end
317
+ end
318
+ end
319
+ end
320
+ end
321
+ end
322
+ end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class RealtimeTranslationSessionCreatedEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Realtime::RealtimeTranslationSessionCreatedEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique ID of the server event.
16
+ sig { returns(String) }
17
+ attr_accessor :event_id
18
+
19
+ # The translation session configuration.
20
+ sig { returns(OpenAI::Realtime::RealtimeTranslationSession) }
21
+ attr_reader :session
22
+
23
+ sig do
24
+ params(
25
+ session: OpenAI::Realtime::RealtimeTranslationSession::OrHash
26
+ ).void
27
+ end
28
+ attr_writer :session
29
+
30
+ # The event type, must be `session.created`.
31
+ sig { returns(Symbol) }
32
+ attr_accessor :type
33
+
34
+ # Returned when a translation session is created. Emitted automatically when a new
35
+ # connection is established as the first server event. This event contains the
36
+ # default translation session configuration.
37
+ sig do
38
+ params(
39
+ event_id: String,
40
+ session: OpenAI::Realtime::RealtimeTranslationSession::OrHash,
41
+ type: Symbol
42
+ ).returns(T.attached_class)
43
+ end
44
+ def self.new(
45
+ # The unique ID of the server event.
46
+ event_id:,
47
+ # The translation session configuration.
48
+ session:,
49
+ # The event type, must be `session.created`.
50
+ type: :"session.created"
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ event_id: String,
58
+ session: OpenAI::Realtime::RealtimeTranslationSession,
59
+ type: Symbol
60
+ }
61
+ )
62
+ end
63
+ def to_hash
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class RealtimeTranslationSessionUpdateEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Realtime::RealtimeTranslationSessionUpdateEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Translation session fields to update. The session `type` and `model` are set at
16
+ # creation and cannot be changed with `session.update`.
17
+ sig do
18
+ returns(OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest)
19
+ end
20
+ attr_reader :session
21
+
22
+ sig do
23
+ params(
24
+ session:
25
+ OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::OrHash
26
+ ).void
27
+ end
28
+ attr_writer :session
29
+
30
+ # The event type, must be `session.update`.
31
+ sig { returns(Symbol) }
32
+ attr_accessor :type
33
+
34
+ # Optional client-generated ID used to identify this event.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :event_id
37
+
38
+ sig { params(event_id: String).void }
39
+ attr_writer :event_id
40
+
41
+ # Send this event to update the translation session configuration. Translation
42
+ # sessions support updates to `audio.output.language`,
43
+ # `audio.input.transcription`, and `audio.input.noise_reduction`.
44
+ sig do
45
+ params(
46
+ session:
47
+ OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest::OrHash,
48
+ event_id: String,
49
+ type: Symbol
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ # Translation session fields to update. The session `type` and `model` are set at
54
+ # creation and cannot be changed with `session.update`.
55
+ session:,
56
+ # Optional client-generated ID used to identify this event.
57
+ event_id: nil,
58
+ # The event type, must be `session.update`.
59
+ type: :"session.update"
60
+ )
61
+ end
62
+
63
+ sig do
64
+ override.returns(
65
+ {
66
+ session:
67
+ OpenAI::Realtime::RealtimeTranslationSessionUpdateRequest,
68
+ type: Symbol,
69
+ event_id: String
70
+ }
71
+ )
72
+ end
73
+ def to_hash
74
+ end
75
+ end
76
+ end
77
+ end
78
+ end