openai 0.23.1 → 0.23.2
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/input_audio_buffer_timeout_triggered.rb +25 -5
- data/lib/openai/models/realtime/realtime_audio_config_input.rb +14 -11
- data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +173 -117
- data/lib/openai/models/realtime/realtime_server_event.rb +13 -1
- data/lib/openai/models/realtime/realtime_session.rb +179 -118
- data/lib/openai/models/realtime/realtime_session_create_response.rb +184 -122
- data/lib/openai/models/realtime/realtime_transcription_session_audio_input.rb +16 -11
- data/lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb +175 -117
- data/lib/openai/models/responses/response.rb +8 -8
- data/lib/openai/models/responses/response_create_params.rb +8 -8
- data/lib/openai/version.rb +1 -1
- data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +24 -5
- data/rbi/openai/models/realtime/realtime_audio_config_input.rbi +44 -28
- data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +264 -203
- data/rbi/openai/models/realtime/realtime_session.rbi +306 -231
- data/rbi/openai/models/realtime/realtime_session_create_response.rbi +298 -232
- data/rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi +39 -28
- data/rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi +264 -200
- data/rbi/openai/models/responses/response.rbi +12 -12
- data/rbi/openai/models/responses/response_create_params.rbi +12 -12
- data/rbi/openai/resources/responses.rbi +8 -8
- data/sig/openai/models/realtime/realtime_audio_config_input.rbs +4 -8
- data/sig/openai/models/realtime/realtime_audio_input_turn_detection.rbs +91 -65
- data/sig/openai/models/realtime/realtime_session.rbs +95 -69
- data/sig/openai/models/realtime/realtime_session_create_response.rbs +95 -73
- data/sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs +4 -8
- data/sig/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbs +91 -65
- metadata +2 -2
@@ -147,7 +147,7 @@ module OpenAI
|
|
147
147
|
format_: OpenAI::Models::Realtime::realtime_audio_formats,
|
148
148
|
noise_reduction: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::NoiseReduction,
|
149
149
|
transcription: OpenAI::Realtime::AudioTranscription,
|
150
|
-
turn_detection: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::
|
150
|
+
turn_detection: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::turn_detection?
|
151
151
|
}
|
152
152
|
|
153
153
|
class Input < OpenAI::Internal::Type::BaseModel
|
@@ -169,24 +169,20 @@ module OpenAI
|
|
169
169
|
OpenAI::Realtime::AudioTranscription
|
170
170
|
) -> OpenAI::Realtime::AudioTranscription
|
171
171
|
|
172
|
-
|
173
|
-
|
174
|
-
def turn_detection=: (
|
175
|
-
OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection
|
176
|
-
) -> OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection
|
172
|
+
attr_accessor turn_detection: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::turn_detection?
|
177
173
|
|
178
174
|
def initialize: (
|
179
175
|
?format_: OpenAI::Models::Realtime::realtime_audio_formats,
|
180
176
|
?noise_reduction: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::NoiseReduction,
|
181
177
|
?transcription: OpenAI::Realtime::AudioTranscription,
|
182
|
-
?turn_detection: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::
|
178
|
+
?turn_detection: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::turn_detection?
|
183
179
|
) -> void
|
184
180
|
|
185
181
|
def to_hash: -> {
|
186
182
|
format_: OpenAI::Models::Realtime::realtime_audio_formats,
|
187
183
|
noise_reduction: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::NoiseReduction,
|
188
184
|
transcription: OpenAI::Realtime::AudioTranscription,
|
189
|
-
turn_detection: OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::
|
185
|
+
turn_detection: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::turn_detection?
|
190
186
|
}
|
191
187
|
|
192
188
|
type noise_reduction =
|
@@ -209,97 +205,123 @@ module OpenAI
|
|
209
205
|
end
|
210
206
|
|
211
207
|
type turn_detection =
|
212
|
-
|
213
|
-
|
214
|
-
eagerness: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::eagerness,
|
215
|
-
idle_timeout_ms: Integer?,
|
216
|
-
interrupt_response: bool,
|
217
|
-
prefix_padding_ms: Integer,
|
218
|
-
silence_duration_ms: Integer,
|
219
|
-
threshold: Float,
|
220
|
-
type: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::type_
|
221
|
-
}
|
208
|
+
OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::ServerVad
|
209
|
+
| OpenAI::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad
|
222
210
|
|
223
|
-
|
224
|
-
|
211
|
+
module TurnDetection
|
212
|
+
extend OpenAI::Internal::Type::Union
|
225
213
|
|
226
|
-
|
214
|
+
type server_vad =
|
215
|
+
{
|
216
|
+
type: :server_vad,
|
217
|
+
create_response: bool,
|
218
|
+
idle_timeout_ms: Integer?,
|
219
|
+
interrupt_response: bool,
|
220
|
+
prefix_padding_ms: Integer,
|
221
|
+
silence_duration_ms: Integer,
|
222
|
+
threshold: Float
|
223
|
+
}
|
227
224
|
|
228
|
-
|
225
|
+
class ServerVad < OpenAI::Internal::Type::BaseModel
|
226
|
+
attr_accessor type: :server_vad
|
229
227
|
|
230
|
-
|
231
|
-
OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::eagerness
|
232
|
-
) -> OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::eagerness
|
228
|
+
attr_reader create_response: bool?
|
233
229
|
|
234
|
-
|
230
|
+
def create_response=: (bool) -> bool
|
235
231
|
|
236
|
-
|
232
|
+
attr_accessor idle_timeout_ms: Integer?
|
237
233
|
|
238
|
-
|
234
|
+
attr_reader interrupt_response: bool?
|
239
235
|
|
240
|
-
|
236
|
+
def interrupt_response=: (bool) -> bool
|
241
237
|
|
242
|
-
|
238
|
+
attr_reader prefix_padding_ms: Integer?
|
243
239
|
|
244
|
-
|
240
|
+
def prefix_padding_ms=: (Integer) -> Integer
|
245
241
|
|
246
|
-
|
242
|
+
attr_reader silence_duration_ms: Integer?
|
247
243
|
|
248
|
-
|
244
|
+
def silence_duration_ms=: (Integer) -> Integer
|
249
245
|
|
250
|
-
|
246
|
+
attr_reader threshold: Float?
|
251
247
|
|
252
|
-
|
248
|
+
def threshold=: (Float) -> Float
|
253
249
|
|
254
|
-
|
255
|
-
|
256
|
-
|
250
|
+
def initialize: (
|
251
|
+
?create_response: bool,
|
252
|
+
?idle_timeout_ms: Integer?,
|
253
|
+
?interrupt_response: bool,
|
254
|
+
?prefix_padding_ms: Integer,
|
255
|
+
?silence_duration_ms: Integer,
|
256
|
+
?threshold: Float,
|
257
|
+
?type: :server_vad
|
258
|
+
) -> void
|
257
259
|
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
260
|
+
def to_hash: -> {
|
261
|
+
type: :server_vad,
|
262
|
+
create_response: bool,
|
263
|
+
idle_timeout_ms: Integer?,
|
264
|
+
interrupt_response: bool,
|
265
|
+
prefix_padding_ms: Integer,
|
266
|
+
silence_duration_ms: Integer,
|
267
|
+
threshold: Float
|
268
|
+
}
|
269
|
+
end
|
268
270
|
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
threshold: Float,
|
277
|
-
type: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::type_
|
278
|
-
}
|
271
|
+
type semantic_vad =
|
272
|
+
{
|
273
|
+
type: :semantic_vad,
|
274
|
+
create_response: bool,
|
275
|
+
eagerness: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::eagerness,
|
276
|
+
interrupt_response: bool
|
277
|
+
}
|
279
278
|
|
280
|
-
|
279
|
+
class SemanticVad < OpenAI::Internal::Type::BaseModel
|
280
|
+
attr_accessor type: :semantic_vad
|
281
281
|
|
282
|
-
|
283
|
-
extend OpenAI::Internal::Type::Enum
|
282
|
+
attr_reader create_response: bool?
|
284
283
|
|
285
|
-
|
286
|
-
MEDIUM: :medium
|
287
|
-
HIGH: :high
|
288
|
-
AUTO: :auto
|
284
|
+
def create_response=: (bool) -> bool
|
289
285
|
|
290
|
-
|
291
|
-
end
|
286
|
+
attr_reader eagerness: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::eagerness?
|
292
287
|
|
293
|
-
|
288
|
+
def eagerness=: (
|
289
|
+
OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::eagerness
|
290
|
+
) -> OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::eagerness
|
294
291
|
|
295
|
-
|
296
|
-
extend OpenAI::Internal::Type::Enum
|
292
|
+
attr_reader interrupt_response: bool?
|
297
293
|
|
298
|
-
|
299
|
-
SEMANTIC_VAD: :semantic_vad
|
294
|
+
def interrupt_response=: (bool) -> bool
|
300
295
|
|
301
|
-
def
|
296
|
+
def initialize: (
|
297
|
+
?create_response: bool,
|
298
|
+
?eagerness: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::eagerness,
|
299
|
+
?interrupt_response: bool,
|
300
|
+
?type: :semantic_vad
|
301
|
+
) -> void
|
302
|
+
|
303
|
+
def to_hash: -> {
|
304
|
+
type: :semantic_vad,
|
305
|
+
create_response: bool,
|
306
|
+
eagerness: OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::eagerness,
|
307
|
+
interrupt_response: bool
|
308
|
+
}
|
309
|
+
|
310
|
+
type eagerness = :low | :medium | :high | :auto
|
311
|
+
|
312
|
+
module Eagerness
|
313
|
+
extend OpenAI::Internal::Type::Enum
|
314
|
+
|
315
|
+
LOW: :low
|
316
|
+
MEDIUM: :medium
|
317
|
+
HIGH: :high
|
318
|
+
AUTO: :auto
|
319
|
+
|
320
|
+
def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::TurnDetection::SemanticVad::eagerness]
|
321
|
+
end
|
302
322
|
end
|
323
|
+
|
324
|
+
def self?.variants: -> ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateResponse::Audio::Input::turn_detection]
|
303
325
|
end
|
304
326
|
end
|
305
327
|
|
@@ -6,7 +6,7 @@ module OpenAI
|
|
6
6
|
format_: OpenAI::Models::Realtime::realtime_audio_formats,
|
7
7
|
noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction,
|
8
8
|
transcription: OpenAI::Realtime::AudioTranscription,
|
9
|
-
turn_detection: OpenAI::Realtime::
|
9
|
+
turn_detection: OpenAI::Models::Realtime::realtime_transcription_session_audio_input_turn_detection?
|
10
10
|
}
|
11
11
|
|
12
12
|
class RealtimeTranscriptionSessionAudioInput < OpenAI::Internal::Type::BaseModel
|
@@ -28,24 +28,20 @@ module OpenAI
|
|
28
28
|
OpenAI::Realtime::AudioTranscription
|
29
29
|
) -> OpenAI::Realtime::AudioTranscription
|
30
30
|
|
31
|
-
|
32
|
-
|
33
|
-
def turn_detection=: (
|
34
|
-
OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection
|
35
|
-
) -> OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection
|
31
|
+
attr_accessor turn_detection: OpenAI::Models::Realtime::realtime_transcription_session_audio_input_turn_detection?
|
36
32
|
|
37
33
|
def initialize: (
|
38
34
|
?format_: OpenAI::Models::Realtime::realtime_audio_formats,
|
39
35
|
?noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction,
|
40
36
|
?transcription: OpenAI::Realtime::AudioTranscription,
|
41
|
-
?turn_detection: OpenAI::Realtime::
|
37
|
+
?turn_detection: OpenAI::Models::Realtime::realtime_transcription_session_audio_input_turn_detection?
|
42
38
|
) -> void
|
43
39
|
|
44
40
|
def to_hash: -> {
|
45
41
|
format_: OpenAI::Models::Realtime::realtime_audio_formats,
|
46
42
|
noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionAudioInput::NoiseReduction,
|
47
43
|
transcription: OpenAI::Realtime::AudioTranscription,
|
48
|
-
turn_detection: OpenAI::Realtime::
|
44
|
+
turn_detection: OpenAI::Models::Realtime::realtime_transcription_session_audio_input_turn_detection?
|
49
45
|
}
|
50
46
|
|
51
47
|
type noise_reduction =
|
data/sig/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbs
CHANGED
@@ -2,97 +2,123 @@ module OpenAI
|
|
2
2
|
module Models
|
3
3
|
module Realtime
|
4
4
|
type realtime_transcription_session_audio_input_turn_detection =
|
5
|
-
|
6
|
-
|
7
|
-
eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness,
|
8
|
-
idle_timeout_ms: Integer?,
|
9
|
-
interrupt_response: bool,
|
10
|
-
prefix_padding_ms: Integer,
|
11
|
-
silence_duration_ms: Integer,
|
12
|
-
threshold: Float,
|
13
|
-
type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_
|
14
|
-
}
|
5
|
+
OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::ServerVad
|
6
|
+
| OpenAI::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad
|
15
7
|
|
16
|
-
|
17
|
-
|
8
|
+
module RealtimeTranscriptionSessionAudioInputTurnDetection
|
9
|
+
extend OpenAI::Internal::Type::Union
|
18
10
|
|
19
|
-
|
11
|
+
type server_vad =
|
12
|
+
{
|
13
|
+
type: :server_vad,
|
14
|
+
create_response: bool,
|
15
|
+
idle_timeout_ms: Integer?,
|
16
|
+
interrupt_response: bool,
|
17
|
+
prefix_padding_ms: Integer,
|
18
|
+
silence_duration_ms: Integer,
|
19
|
+
threshold: Float
|
20
|
+
}
|
20
21
|
|
21
|
-
|
22
|
+
class ServerVad < OpenAI::Internal::Type::BaseModel
|
23
|
+
attr_accessor type: :server_vad
|
22
24
|
|
23
|
-
|
24
|
-
OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness
|
25
|
-
) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::eagerness
|
25
|
+
attr_reader create_response: bool?
|
26
26
|
|
27
|
-
|
27
|
+
def create_response=: (bool) -> bool
|
28
28
|
|
29
|
-
|
29
|
+
attr_accessor idle_timeout_ms: Integer?
|
30
30
|
|
31
|
-
|
31
|
+
attr_reader interrupt_response: bool?
|
32
32
|
|
33
|
-
|
33
|
+
def interrupt_response=: (bool) -> bool
|
34
34
|
|
35
|
-
|
35
|
+
attr_reader prefix_padding_ms: Integer?
|
36
36
|
|
37
|
-
|
37
|
+
def prefix_padding_ms=: (Integer) -> Integer
|
38
38
|
|
39
|
-
|
39
|
+
attr_reader silence_duration_ms: Integer?
|
40
40
|
|
41
|
-
|
41
|
+
def silence_duration_ms=: (Integer) -> Integer
|
42
42
|
|
43
|
-
|
43
|
+
attr_reader threshold: Float?
|
44
44
|
|
45
|
-
|
45
|
+
def threshold=: (Float) -> Float
|
46
46
|
|
47
|
-
|
48
|
-
|
49
|
-
|
47
|
+
def initialize: (
|
48
|
+
?create_response: bool,
|
49
|
+
?idle_timeout_ms: Integer?,
|
50
|
+
?interrupt_response: bool,
|
51
|
+
?prefix_padding_ms: Integer,
|
52
|
+
?silence_duration_ms: Integer,
|
53
|
+
?threshold: Float,
|
54
|
+
?type: :server_vad
|
55
|
+
) -> void
|
50
56
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
57
|
+
def to_hash: -> {
|
58
|
+
type: :server_vad,
|
59
|
+
create_response: bool,
|
60
|
+
idle_timeout_ms: Integer?,
|
61
|
+
interrupt_response: bool,
|
62
|
+
prefix_padding_ms: Integer,
|
63
|
+
silence_duration_ms: Integer,
|
64
|
+
threshold: Float
|
65
|
+
}
|
66
|
+
end
|
61
67
|
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
threshold: Float,
|
70
|
-
type: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::type_
|
71
|
-
}
|
68
|
+
type semantic_vad =
|
69
|
+
{
|
70
|
+
type: :semantic_vad,
|
71
|
+
create_response: bool,
|
72
|
+
eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad::eagerness,
|
73
|
+
interrupt_response: bool
|
74
|
+
}
|
72
75
|
|
73
|
-
|
76
|
+
class SemanticVad < OpenAI::Internal::Type::BaseModel
|
77
|
+
attr_accessor type: :semantic_vad
|
74
78
|
|
75
|
-
|
76
|
-
extend OpenAI::Internal::Type::Enum
|
79
|
+
attr_reader create_response: bool?
|
77
80
|
|
78
|
-
|
79
|
-
MEDIUM: :medium
|
80
|
-
HIGH: :high
|
81
|
-
AUTO: :auto
|
81
|
+
def create_response=: (bool) -> bool
|
82
82
|
|
83
|
-
|
84
|
-
|
83
|
+
attr_reader eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad::eagerness?
|
84
|
+
|
85
|
+
def eagerness=: (
|
86
|
+
OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad::eagerness
|
87
|
+
) -> OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad::eagerness
|
88
|
+
|
89
|
+
attr_reader interrupt_response: bool?
|
85
90
|
|
86
|
-
|
91
|
+
def interrupt_response=: (bool) -> bool
|
87
92
|
|
88
|
-
|
89
|
-
|
93
|
+
def initialize: (
|
94
|
+
?create_response: bool,
|
95
|
+
?eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad::eagerness,
|
96
|
+
?interrupt_response: bool,
|
97
|
+
?type: :semantic_vad
|
98
|
+
) -> void
|
90
99
|
|
91
|
-
|
92
|
-
|
100
|
+
def to_hash: -> {
|
101
|
+
type: :semantic_vad,
|
102
|
+
create_response: bool,
|
103
|
+
eagerness: OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad::eagerness,
|
104
|
+
interrupt_response: bool
|
105
|
+
}
|
93
106
|
|
94
|
-
|
107
|
+
type eagerness = :low | :medium | :high | :auto
|
108
|
+
|
109
|
+
module Eagerness
|
110
|
+
extend OpenAI::Internal::Type::Enum
|
111
|
+
|
112
|
+
LOW: :low
|
113
|
+
MEDIUM: :medium
|
114
|
+
HIGH: :high
|
115
|
+
AUTO: :auto
|
116
|
+
|
117
|
+
def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionAudioInputTurnDetection::SemanticVad::eagerness]
|
118
|
+
end
|
95
119
|
end
|
120
|
+
|
121
|
+
def self?.variants: -> ::Array[OpenAI::Models::Realtime::realtime_transcription_session_audio_input_turn_detection]
|
96
122
|
end
|
97
123
|
end
|
98
124
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: openai
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.23.
|
4
|
+
version: 0.23.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OpenAI
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2025-09-
|
11
|
+
date: 2025-09-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: connection_pool
|