openai 0.23.0 → 0.23.1

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 (47) 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/client_secret_create_response.rb +6 -8
  5. data/lib/openai/models/realtime/realtime_audio_input_turn_detection.rb +1 -1
  6. data/lib/openai/models/realtime/realtime_client_event.rb +2 -6
  7. data/lib/openai/models/realtime/{models.rb → realtime_function_tool.rb} +6 -6
  8. data/lib/openai/models/realtime/realtime_response_create_params.rb +4 -4
  9. data/lib/openai/models/realtime/realtime_server_event.rb +1 -8
  10. data/lib/openai/models/realtime/realtime_session.rb +3 -3
  11. data/lib/openai/models/realtime/realtime_session_create_request.rb +2 -2
  12. data/lib/openai/models/realtime/realtime_session_create_response.rb +21 -33
  13. data/lib/openai/models/realtime/realtime_tools_config_union.rb +2 -2
  14. data/lib/openai/models/realtime/realtime_transcription_session_create_response.rb +117 -40
  15. data/lib/openai/models/realtime/transcription_session_updated_event.rb +152 -3
  16. data/lib/openai/version.rb +1 -1
  17. data/lib/openai.rb +1 -4
  18. data/rbi/openai/models/realtime/realtime_audio_input_turn_detection.rbi +2 -2
  19. data/rbi/openai/models/realtime/realtime_client_event.rbi +1 -2
  20. data/rbi/openai/models/realtime/{models.rbi → realtime_function_tool.rbi} +27 -9
  21. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +5 -5
  22. data/rbi/openai/models/realtime/realtime_server_event.rbi +0 -2
  23. data/rbi/openai/models/realtime/realtime_session.rbi +10 -4
  24. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +4 -4
  25. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +29 -77
  26. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +1 -1
  27. data/rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi +290 -101
  28. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +311 -4
  29. data/sig/openai/models/realtime/realtime_client_event.rbs +0 -1
  30. data/sig/openai/models/realtime/{models.rbs → realtime_function_tool.rbs} +9 -9
  31. data/sig/openai/models/realtime/realtime_response_create_params.rbs +1 -1
  32. data/sig/openai/models/realtime/realtime_server_event.rbs +0 -2
  33. data/sig/openai/models/realtime/realtime_session.rbs +6 -6
  34. data/sig/openai/models/realtime/realtime_session_create_response.rbs +13 -31
  35. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +1 -1
  36. data/sig/openai/models/realtime/realtime_transcription_session_create_response.rbs +123 -35
  37. data/sig/openai/models/realtime/transcription_session_updated_event.rbs +118 -4
  38. metadata +5 -14
  39. data/lib/openai/models/realtime/realtime_transcription_session_client_secret.rb +0 -38
  40. data/lib/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rb +0 -66
  41. data/lib/openai/models/realtime/transcription_session_created.rb +0 -43
  42. data/rbi/openai/models/realtime/realtime_transcription_session_client_secret.rbi +0 -51
  43. data/rbi/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbi +0 -144
  44. data/rbi/openai/models/realtime/transcription_session_created.rbi +0 -79
  45. data/sig/openai/models/realtime/realtime_transcription_session_client_secret.rbs +0 -20
  46. data/sig/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbs +0 -59
  47. data/sig/openai/models/realtime/transcription_session_created.rbs +0 -32
@@ -5,63 +5,151 @@ module OpenAI
5
5
  module Realtime
6
6
  type realtime_transcription_session_create_response =
7
7
  {
8
- client_secret: OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret,
9
- input_audio_format: String,
10
- input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription,
11
- modalities: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality],
12
- turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
8
+ id: String,
9
+ object: String,
10
+ type: :transcription,
11
+ audio: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio,
12
+ expires_at: Integer,
13
+ include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::include_]
13
14
  }
14
15
 
15
16
  class RealtimeTranscriptionSessionCreateResponse < OpenAI::Internal::Type::BaseModel
16
- attr_accessor client_secret: OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret
17
+ attr_accessor id: String
17
18
 
18
- attr_reader input_audio_format: String?
19
+ attr_accessor object: String
19
20
 
20
- def input_audio_format=: (String) -> String
21
+ attr_accessor type: :transcription
21
22
 
22
- attr_reader input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription?
23
+ attr_reader audio: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio?
23
24
 
24
- def input_audio_transcription=: (
25
- OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription
26
- ) -> OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription
25
+ def audio=: (
26
+ OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio
27
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio
27
28
 
28
- attr_reader modalities: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality]?
29
+ attr_reader expires_at: Integer?
29
30
 
30
- def modalities=: (
31
- ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality]
32
- ) -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality]
31
+ def expires_at=: (Integer) -> Integer
33
32
 
34
- attr_reader turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection?
33
+ attr_reader include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::include_]?
35
34
 
36
- def turn_detection=: (
37
- OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
38
- ) -> OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
35
+ def include=: (
36
+ ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::include_]
37
+ ) -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::include_]
39
38
 
40
39
  def initialize: (
41
- client_secret: OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret,
42
- ?input_audio_format: String,
43
- ?input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription,
44
- ?modalities: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality],
45
- ?turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
40
+ id: String,
41
+ object: String,
42
+ ?audio: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio,
43
+ ?expires_at: Integer,
44
+ ?include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::include_],
45
+ ?type: :transcription
46
46
  ) -> void
47
47
 
48
48
  def to_hash: -> {
49
- client_secret: OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret,
50
- input_audio_format: String,
51
- input_audio_transcription: OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription,
52
- modalities: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality],
53
- turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
49
+ id: String,
50
+ object: String,
51
+ type: :transcription,
52
+ audio: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio,
53
+ expires_at: Integer,
54
+ include: ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::include_]
54
55
  }
55
56
 
56
- type modality = :text | :audio
57
+ type audio =
58
+ {
59
+ input: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input
60
+ }
57
61
 
58
- module Modality
62
+ class Audio < OpenAI::Internal::Type::BaseModel
63
+ attr_reader input: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input?
64
+
65
+ def input=: (
66
+ OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input
67
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input
68
+
69
+ def initialize: (
70
+ ?input: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input
71
+ ) -> void
72
+
73
+ def to_hash: -> {
74
+ input: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input
75
+ }
76
+
77
+ type input =
78
+ {
79
+ format_: OpenAI::Models::Realtime::realtime_audio_formats,
80
+ noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction,
81
+ transcription: OpenAI::Realtime::AudioTranscription,
82
+ turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
83
+ }
84
+
85
+ class Input < OpenAI::Internal::Type::BaseModel
86
+ attr_reader format_: OpenAI::Models::Realtime::realtime_audio_formats?
87
+
88
+ def format_=: (
89
+ OpenAI::Models::Realtime::realtime_audio_formats
90
+ ) -> OpenAI::Models::Realtime::realtime_audio_formats
91
+
92
+ attr_reader noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction?
93
+
94
+ def noise_reduction=: (
95
+ OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction
96
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction
97
+
98
+ attr_reader transcription: OpenAI::Realtime::AudioTranscription?
99
+
100
+ def transcription=: (
101
+ OpenAI::Realtime::AudioTranscription
102
+ ) -> OpenAI::Realtime::AudioTranscription
103
+
104
+ attr_reader turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection?
105
+
106
+ def turn_detection=: (
107
+ OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
108
+ ) -> OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
109
+
110
+ def initialize: (
111
+ ?format_: OpenAI::Models::Realtime::realtime_audio_formats,
112
+ ?noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction,
113
+ ?transcription: OpenAI::Realtime::AudioTranscription,
114
+ ?turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
115
+ ) -> void
116
+
117
+ def to_hash: -> {
118
+ format_: OpenAI::Models::Realtime::realtime_audio_formats,
119
+ noise_reduction: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse::Audio::Input::NoiseReduction,
120
+ transcription: OpenAI::Realtime::AudioTranscription,
121
+ turn_detection: OpenAI::Realtime::RealtimeTranscriptionSessionTurnDetection
122
+ }
123
+
124
+ type noise_reduction =
125
+ { type: OpenAI::Models::Realtime::noise_reduction_type }
126
+
127
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
128
+ attr_reader type: OpenAI::Models::Realtime::noise_reduction_type?
129
+
130
+ def type=: (
131
+ OpenAI::Models::Realtime::noise_reduction_type
132
+ ) -> OpenAI::Models::Realtime::noise_reduction_type
133
+
134
+ def initialize: (
135
+ ?type: OpenAI::Models::Realtime::noise_reduction_type
136
+ ) -> void
137
+
138
+ def to_hash: -> {
139
+ type: OpenAI::Models::Realtime::noise_reduction_type
140
+ }
141
+ end
142
+ end
143
+ end
144
+
145
+ type include_ = :"item.input_audio_transcription.logprobs"
146
+
147
+ module Include
59
148
  extend OpenAI::Internal::Type::Enum
60
149
 
61
- TEXT: :text
62
- AUDIO: :audio
150
+ ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS: :"item.input_audio_transcription.logprobs"
63
151
 
64
- def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::modality]
152
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse::include_]
65
153
  end
66
154
  end
67
155
  end
@@ -4,28 +4,142 @@ module OpenAI
4
4
  type transcription_session_updated_event =
5
5
  {
6
6
  event_id: String,
7
- session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse,
7
+ session: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session,
8
8
  type: :"transcription_session.updated"
9
9
  }
10
10
 
11
11
  class TranscriptionSessionUpdatedEvent < OpenAI::Internal::Type::BaseModel
12
12
  attr_accessor event_id: String
13
13
 
14
- attr_accessor session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse
14
+ attr_accessor session: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session
15
15
 
16
16
  attr_accessor type: :"transcription_session.updated"
17
17
 
18
18
  def initialize: (
19
19
  event_id: String,
20
- session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse,
20
+ session: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session,
21
21
  ?type: :"transcription_session.updated"
22
22
  ) -> void
23
23
 
24
24
  def to_hash: -> {
25
25
  event_id: String,
26
- session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse,
26
+ session: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session,
27
27
  type: :"transcription_session.updated"
28
28
  }
29
+
30
+ type session =
31
+ {
32
+ client_secret: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::ClientSecret,
33
+ input_audio_format: String,
34
+ input_audio_transcription: OpenAI::Realtime::AudioTranscription,
35
+ modalities: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::modality],
36
+ turn_detection: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::TurnDetection
37
+ }
38
+
39
+ class Session < OpenAI::Internal::Type::BaseModel
40
+ attr_accessor client_secret: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::ClientSecret
41
+
42
+ attr_reader input_audio_format: String?
43
+
44
+ def input_audio_format=: (String) -> String
45
+
46
+ attr_reader input_audio_transcription: OpenAI::Realtime::AudioTranscription?
47
+
48
+ def input_audio_transcription=: (
49
+ OpenAI::Realtime::AudioTranscription
50
+ ) -> OpenAI::Realtime::AudioTranscription
51
+
52
+ attr_reader modalities: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::modality]?
53
+
54
+ def modalities=: (
55
+ ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::modality]
56
+ ) -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::modality]
57
+
58
+ attr_reader turn_detection: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::TurnDetection?
59
+
60
+ def turn_detection=: (
61
+ OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::TurnDetection
62
+ ) -> OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::TurnDetection
63
+
64
+ def initialize: (
65
+ client_secret: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::ClientSecret,
66
+ ?input_audio_format: String,
67
+ ?input_audio_transcription: OpenAI::Realtime::AudioTranscription,
68
+ ?modalities: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::modality],
69
+ ?turn_detection: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::TurnDetection
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ client_secret: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::ClientSecret,
74
+ input_audio_format: String,
75
+ input_audio_transcription: OpenAI::Realtime::AudioTranscription,
76
+ modalities: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::modality],
77
+ turn_detection: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::TurnDetection
78
+ }
79
+
80
+ type client_secret = { expires_at: Integer, value: String }
81
+
82
+ class ClientSecret < OpenAI::Internal::Type::BaseModel
83
+ attr_accessor expires_at: Integer
84
+
85
+ attr_accessor value: String
86
+
87
+ def initialize: (expires_at: Integer, value: String) -> void
88
+
89
+ def to_hash: -> { expires_at: Integer, value: String }
90
+ end
91
+
92
+ type modality = :text | :audio
93
+
94
+ module Modality
95
+ extend OpenAI::Internal::Type::Enum
96
+
97
+ TEXT: :text
98
+ AUDIO: :audio
99
+
100
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::modality]
101
+ end
102
+
103
+ type turn_detection =
104
+ {
105
+ prefix_padding_ms: Integer,
106
+ silence_duration_ms: Integer,
107
+ threshold: Float,
108
+ type: String
109
+ }
110
+
111
+ class TurnDetection < OpenAI::Internal::Type::BaseModel
112
+ attr_reader prefix_padding_ms: Integer?
113
+
114
+ def prefix_padding_ms=: (Integer) -> Integer
115
+
116
+ attr_reader silence_duration_ms: Integer?
117
+
118
+ def silence_duration_ms=: (Integer) -> Integer
119
+
120
+ attr_reader threshold: Float?
121
+
122
+ def threshold=: (Float) -> Float
123
+
124
+ attr_reader type: String?
125
+
126
+ def type=: (String) -> String
127
+
128
+ def initialize: (
129
+ ?prefix_padding_ms: Integer,
130
+ ?silence_duration_ms: Integer,
131
+ ?threshold: Float,
132
+ ?type: String
133
+ ) -> void
134
+
135
+ def to_hash: -> {
136
+ prefix_padding_ms: Integer,
137
+ silence_duration_ms: Integer,
138
+ threshold: Float,
139
+ type: String
140
+ }
141
+ end
142
+ end
29
143
  end
30
144
  end
31
145
  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.0
4
+ version: 0.23.1
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-08 00:00:00.000000000 Z
11
+ date: 2025-09-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: connection_pool
@@ -419,7 +419,6 @@ files:
419
419
  - lib/openai/models/realtime/mcp_list_tools_completed.rb
420
420
  - lib/openai/models/realtime/mcp_list_tools_failed.rb
421
421
  - lib/openai/models/realtime/mcp_list_tools_in_progress.rb
422
- - lib/openai/models/realtime/models.rb
423
422
  - lib/openai/models/realtime/noise_reduction_type.rb
424
423
  - lib/openai/models/realtime/output_audio_buffer_clear_event.rb
425
424
  - lib/openai/models/realtime/rate_limits_updated_event.rb
@@ -436,6 +435,7 @@ files:
436
435
  - lib/openai/models/realtime/realtime_conversation_item_user_message.rb
437
436
  - lib/openai/models/realtime/realtime_error.rb
438
437
  - lib/openai/models/realtime/realtime_error_event.rb
438
+ - lib/openai/models/realtime/realtime_function_tool.rb
439
439
  - lib/openai/models/realtime/realtime_mcp_approval_request.rb
440
440
  - lib/openai/models/realtime/realtime_mcp_approval_response.rb
441
441
  - lib/openai/models/realtime/realtime_mcp_list_tools.rb
@@ -463,10 +463,8 @@ files:
463
463
  - lib/openai/models/realtime/realtime_transcription_session_audio.rb
464
464
  - lib/openai/models/realtime/realtime_transcription_session_audio_input.rb
465
465
  - lib/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rb
466
- - lib/openai/models/realtime/realtime_transcription_session_client_secret.rb
467
466
  - lib/openai/models/realtime/realtime_transcription_session_create_request.rb
468
467
  - lib/openai/models/realtime/realtime_transcription_session_create_response.rb
469
- - lib/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rb
470
468
  - lib/openai/models/realtime/realtime_transcription_session_turn_detection.rb
471
469
  - lib/openai/models/realtime/realtime_truncation.rb
472
470
  - lib/openai/models/realtime/realtime_truncation_retention_ratio.rb
@@ -494,7 +492,6 @@ files:
494
492
  - lib/openai/models/realtime/session_created_event.rb
495
493
  - lib/openai/models/realtime/session_update_event.rb
496
494
  - lib/openai/models/realtime/session_updated_event.rb
497
- - lib/openai/models/realtime/transcription_session_created.rb
498
495
  - lib/openai/models/realtime/transcription_session_update.rb
499
496
  - lib/openai/models/realtime/transcription_session_updated_event.rb
500
497
  - lib/openai/models/reasoning.rb
@@ -1101,7 +1098,6 @@ files:
1101
1098
  - rbi/openai/models/realtime/mcp_list_tools_completed.rbi
1102
1099
  - rbi/openai/models/realtime/mcp_list_tools_failed.rbi
1103
1100
  - rbi/openai/models/realtime/mcp_list_tools_in_progress.rbi
1104
- - rbi/openai/models/realtime/models.rbi
1105
1101
  - rbi/openai/models/realtime/noise_reduction_type.rbi
1106
1102
  - rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi
1107
1103
  - rbi/openai/models/realtime/rate_limits_updated_event.rbi
@@ -1118,6 +1114,7 @@ files:
1118
1114
  - rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi
1119
1115
  - rbi/openai/models/realtime/realtime_error.rbi
1120
1116
  - rbi/openai/models/realtime/realtime_error_event.rbi
1117
+ - rbi/openai/models/realtime/realtime_function_tool.rbi
1121
1118
  - rbi/openai/models/realtime/realtime_mcp_approval_request.rbi
1122
1119
  - rbi/openai/models/realtime/realtime_mcp_approval_response.rbi
1123
1120
  - rbi/openai/models/realtime/realtime_mcp_list_tools.rbi
@@ -1145,10 +1142,8 @@ files:
1145
1142
  - rbi/openai/models/realtime/realtime_transcription_session_audio.rbi
1146
1143
  - rbi/openai/models/realtime/realtime_transcription_session_audio_input.rbi
1147
1144
  - rbi/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbi
1148
- - rbi/openai/models/realtime/realtime_transcription_session_client_secret.rbi
1149
1145
  - rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi
1150
1146
  - rbi/openai/models/realtime/realtime_transcription_session_create_response.rbi
1151
- - rbi/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbi
1152
1147
  - rbi/openai/models/realtime/realtime_transcription_session_turn_detection.rbi
1153
1148
  - rbi/openai/models/realtime/realtime_truncation.rbi
1154
1149
  - rbi/openai/models/realtime/realtime_truncation_retention_ratio.rbi
@@ -1176,7 +1171,6 @@ files:
1176
1171
  - rbi/openai/models/realtime/session_created_event.rbi
1177
1172
  - rbi/openai/models/realtime/session_update_event.rbi
1178
1173
  - rbi/openai/models/realtime/session_updated_event.rbi
1179
- - rbi/openai/models/realtime/transcription_session_created.rbi
1180
1174
  - rbi/openai/models/realtime/transcription_session_update.rbi
1181
1175
  - rbi/openai/models/realtime/transcription_session_updated_event.rbi
1182
1176
  - rbi/openai/models/reasoning.rbi
@@ -1773,7 +1767,6 @@ files:
1773
1767
  - sig/openai/models/realtime/mcp_list_tools_completed.rbs
1774
1768
  - sig/openai/models/realtime/mcp_list_tools_failed.rbs
1775
1769
  - sig/openai/models/realtime/mcp_list_tools_in_progress.rbs
1776
- - sig/openai/models/realtime/models.rbs
1777
1770
  - sig/openai/models/realtime/noise_reduction_type.rbs
1778
1771
  - sig/openai/models/realtime/output_audio_buffer_clear_event.rbs
1779
1772
  - sig/openai/models/realtime/rate_limits_updated_event.rbs
@@ -1790,6 +1783,7 @@ files:
1790
1783
  - sig/openai/models/realtime/realtime_conversation_item_user_message.rbs
1791
1784
  - sig/openai/models/realtime/realtime_error.rbs
1792
1785
  - sig/openai/models/realtime/realtime_error_event.rbs
1786
+ - sig/openai/models/realtime/realtime_function_tool.rbs
1793
1787
  - sig/openai/models/realtime/realtime_mcp_approval_request.rbs
1794
1788
  - sig/openai/models/realtime/realtime_mcp_approval_response.rbs
1795
1789
  - sig/openai/models/realtime/realtime_mcp_list_tools.rbs
@@ -1817,10 +1811,8 @@ files:
1817
1811
  - sig/openai/models/realtime/realtime_transcription_session_audio.rbs
1818
1812
  - sig/openai/models/realtime/realtime_transcription_session_audio_input.rbs
1819
1813
  - sig/openai/models/realtime/realtime_transcription_session_audio_input_turn_detection.rbs
1820
- - sig/openai/models/realtime/realtime_transcription_session_client_secret.rbs
1821
1814
  - sig/openai/models/realtime/realtime_transcription_session_create_request.rbs
1822
1815
  - sig/openai/models/realtime/realtime_transcription_session_create_response.rbs
1823
- - sig/openai/models/realtime/realtime_transcription_session_input_audio_transcription.rbs
1824
1816
  - sig/openai/models/realtime/realtime_transcription_session_turn_detection.rbs
1825
1817
  - sig/openai/models/realtime/realtime_truncation.rbs
1826
1818
  - sig/openai/models/realtime/realtime_truncation_retention_ratio.rbs
@@ -1848,7 +1840,6 @@ files:
1848
1840
  - sig/openai/models/realtime/session_created_event.rbs
1849
1841
  - sig/openai/models/realtime/session_update_event.rbs
1850
1842
  - sig/openai/models/realtime/session_updated_event.rbs
1851
- - sig/openai/models/realtime/transcription_session_created.rbs
1852
1843
  - sig/openai/models/realtime/transcription_session_update.rbs
1853
1844
  - sig/openai/models/realtime/transcription_session_updated_event.rbs
1854
1845
  - sig/openai/models/reasoning.rbs
@@ -1,38 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module OpenAI
4
- module Models
5
- module Realtime
6
- class RealtimeTranscriptionSessionClientSecret < OpenAI::Internal::Type::BaseModel
7
- # @!attribute expires_at
8
- # Timestamp for when the token expires. Currently, all tokens expire after one
9
- # minute.
10
- #
11
- # @return [Integer]
12
- required :expires_at, Integer
13
-
14
- # @!attribute value
15
- # Ephemeral key usable in client environments to authenticate connections to the
16
- # Realtime API. Use this in client-side environments rather than a standard API
17
- # token, which should only be used server-side.
18
- #
19
- # @return [String]
20
- required :value, String
21
-
22
- # @!method initialize(expires_at:, value:)
23
- # Some parameter documentations has been truncated, see
24
- # {OpenAI::Models::Realtime::RealtimeTranscriptionSessionClientSecret} for more
25
- # details.
26
- #
27
- # Ephemeral key returned by the API. Only present when the session is created on
28
- # the server via REST API.
29
- #
30
- # @param expires_at [Integer] Timestamp for when the token expires. Currently, all tokens expire
31
- #
32
- # @param value [String] Ephemeral key usable in client environments to authenticate connections
33
- end
34
- end
35
-
36
- RealtimeTranscriptionSessionClientSecret = Realtime::RealtimeTranscriptionSessionClientSecret
37
- end
38
- end
@@ -1,66 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module OpenAI
4
- module Models
5
- module Realtime
6
- class RealtimeTranscriptionSessionInputAudioTranscription < OpenAI::Internal::Type::BaseModel
7
- # @!attribute language
8
- # The language of the input audio. Supplying the input language in
9
- # [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`)
10
- # format will improve accuracy and latency.
11
- #
12
- # @return [String, nil]
13
- optional :language, String
14
-
15
- # @!attribute model
16
- # The model to use for transcription. Current options are `whisper-1`,
17
- # `gpt-4o-transcribe-latest`, `gpt-4o-mini-transcribe`, and `gpt-4o-transcribe`.
18
- #
19
- # @return [Symbol, OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::Model, nil]
20
- optional :model, enum: -> { OpenAI::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::Model }
21
-
22
- # @!attribute prompt
23
- # An optional text to guide the model's style or continue a previous audio
24
- # segment. For `whisper-1`, the
25
- # [prompt is a list of keywords](https://platform.openai.com/docs/guides/speech-to-text#prompting).
26
- # For `gpt-4o-transcribe` models, the prompt is a free text string, for example
27
- # "expect words related to technology".
28
- #
29
- # @return [String, nil]
30
- optional :prompt, String
31
-
32
- # @!method initialize(language: nil, model: nil, prompt: nil)
33
- # Some parameter documentations has been truncated, see
34
- # {OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription}
35
- # for more details.
36
- #
37
- # Configuration of the transcription model.
38
- #
39
- # @param language [String] The language of the input audio. Supplying the input language in
40
- #
41
- # @param model [Symbol, OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription::Model] The model to use for transcription. Current options are `whisper-1`, `gpt-4o-tra
42
- #
43
- # @param prompt [String] An optional text to guide the model's style or continue a previous audio
44
-
45
- # The model to use for transcription. Current options are `whisper-1`,
46
- # `gpt-4o-transcribe-latest`, `gpt-4o-mini-transcribe`, and `gpt-4o-transcribe`.
47
- #
48
- # @see OpenAI::Models::Realtime::RealtimeTranscriptionSessionInputAudioTranscription#model
49
- module Model
50
- extend OpenAI::Internal::Type::Enum
51
-
52
- WHISPER_1 = :"whisper-1"
53
- GPT_4O_TRANSCRIBE_LATEST = :"gpt-4o-transcribe-latest"
54
- GPT_4O_MINI_TRANSCRIBE = :"gpt-4o-mini-transcribe"
55
- GPT_4O_TRANSCRIBE = :"gpt-4o-transcribe"
56
-
57
- # @!method self.values
58
- # @return [Array<Symbol>]
59
- end
60
- end
61
- end
62
-
63
- RealtimeTranscriptionSessionInputAudioTranscription =
64
- Realtime::RealtimeTranscriptionSessionInputAudioTranscription
65
- end
66
- end
@@ -1,43 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module OpenAI
4
- module Models
5
- module Realtime
6
- class TranscriptionSessionCreated < OpenAI::Internal::Type::BaseModel
7
- # @!attribute event_id
8
- # The unique ID of the server event.
9
- #
10
- # @return [String]
11
- required :event_id, String
12
-
13
- # @!attribute session
14
- # A new Realtime transcription session configuration.
15
- #
16
- # When a session is created on the server via REST API, the session object also
17
- # contains an ephemeral key. Default TTL for keys is 10 minutes. This property is
18
- # not present when a session is updated via the WebSocket API.
19
- #
20
- # @return [OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse]
21
- required :session, -> { OpenAI::Realtime::RealtimeTranscriptionSessionCreateResponse }
22
-
23
- # @!attribute type
24
- # The event type, must be `transcription_session.created`.
25
- #
26
- # @return [Symbol, :"transcription_session.created"]
27
- required :type, const: :"transcription_session.created"
28
-
29
- # @!method initialize(event_id:, session:, type: :"transcription_session.created")
30
- # Some parameter documentations has been truncated, see
31
- # {OpenAI::Models::Realtime::TranscriptionSessionCreated} for more details.
32
- #
33
- # Returned when a transcription session is created.
34
- #
35
- # @param event_id [String] The unique ID of the server event.
36
- #
37
- # @param session [OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateResponse] A new Realtime transcription session configuration.
38
- #
39
- # @param type [Symbol, :"transcription_session.created"] The event type, must be `transcription_session.created`.
40
- end
41
- end
42
- end
43
- end
@@ -1,51 +0,0 @@
1
- # typed: strong
2
-
3
- module OpenAI
4
- module Models
5
- RealtimeTranscriptionSessionClientSecret =
6
- Realtime::RealtimeTranscriptionSessionClientSecret
7
-
8
- module Realtime
9
- class RealtimeTranscriptionSessionClientSecret < OpenAI::Internal::Type::BaseModel
10
- OrHash =
11
- T.type_alias do
12
- T.any(
13
- OpenAI::Realtime::RealtimeTranscriptionSessionClientSecret,
14
- OpenAI::Internal::AnyHash
15
- )
16
- end
17
-
18
- # Timestamp for when the token expires. Currently, all tokens expire after one
19
- # minute.
20
- sig { returns(Integer) }
21
- attr_accessor :expires_at
22
-
23
- # Ephemeral key usable in client environments to authenticate connections to the
24
- # Realtime API. Use this in client-side environments rather than a standard API
25
- # token, which should only be used server-side.
26
- sig { returns(String) }
27
- attr_accessor :value
28
-
29
- # Ephemeral key returned by the API. Only present when the session is created on
30
- # the server via REST API.
31
- sig do
32
- params(expires_at: Integer, value: String).returns(T.attached_class)
33
- end
34
- def self.new(
35
- # Timestamp for when the token expires. Currently, all tokens expire after one
36
- # minute.
37
- expires_at:,
38
- # Ephemeral key usable in client environments to authenticate connections to the
39
- # Realtime API. Use this in client-side environments rather than a standard API
40
- # token, which should only be used server-side.
41
- value:
42
- )
43
- end
44
-
45
- sig { override.returns({ expires_at: Integer, value: String }) }
46
- def to_hash
47
- end
48
- end
49
- end
50
- end
51
- end