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
@@ -3,16 +3,14 @@ module OpenAI
3
3
  module Realtime
4
4
  type realtime_session_create_request =
5
5
  {
6
- model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model,
7
6
  type: :realtime,
8
7
  audio: OpenAI::Realtime::RealtimeAudioConfig,
9
- client_secret: OpenAI::Realtime::RealtimeClientSecretConfig,
10
8
  include: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::include_],
11
9
  instructions: String,
12
10
  max_output_tokens: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::max_output_tokens,
11
+ model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model,
13
12
  output_modalities: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::output_modality],
14
13
  prompt: OpenAI::Responses::ResponsePrompt?,
15
- temperature: Float,
16
14
  tool_choice: OpenAI::Models::Realtime::realtime_tool_choice_config,
17
15
  tools: OpenAI::Models::Realtime::realtime_tools_config,
18
16
  tracing: OpenAI::Models::Realtime::realtime_tracing_config?,
@@ -20,8 +18,6 @@ module OpenAI
20
18
  }
21
19
 
22
20
  class RealtimeSessionCreateRequest < OpenAI::Internal::Type::BaseModel
23
- attr_accessor model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model
24
-
25
21
  attr_accessor type: :realtime
26
22
 
27
23
  attr_reader audio: OpenAI::Realtime::RealtimeAudioConfig?
@@ -30,12 +26,6 @@ module OpenAI
30
26
  OpenAI::Realtime::RealtimeAudioConfig
31
27
  ) -> OpenAI::Realtime::RealtimeAudioConfig
32
28
 
33
- attr_reader client_secret: OpenAI::Realtime::RealtimeClientSecretConfig?
34
-
35
- def client_secret=: (
36
- OpenAI::Realtime::RealtimeClientSecretConfig
37
- ) -> OpenAI::Realtime::RealtimeClientSecretConfig
38
-
39
29
  attr_reader include: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::include_]?
40
30
 
41
31
  def include=: (
@@ -52,6 +42,12 @@ module OpenAI
52
42
  OpenAI::Models::Realtime::RealtimeSessionCreateRequest::max_output_tokens
53
43
  ) -> OpenAI::Models::Realtime::RealtimeSessionCreateRequest::max_output_tokens
54
44
 
45
+ attr_reader model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model?
46
+
47
+ def model=: (
48
+ OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model
49
+ ) -> OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model
50
+
55
51
  attr_reader output_modalities: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::output_modality]?
56
52
 
57
53
  def output_modalities=: (
@@ -60,10 +56,6 @@ module OpenAI
60
56
 
61
57
  attr_accessor prompt: OpenAI::Responses::ResponsePrompt?
62
58
 
63
- attr_reader temperature: Float?
64
-
65
- def temperature=: (Float) -> Float
66
-
67
59
  attr_reader tool_choice: OpenAI::Models::Realtime::realtime_tool_choice_config?
68
60
 
69
61
  def tool_choice=: (
@@ -85,15 +77,13 @@ module OpenAI
85
77
  ) -> OpenAI::Models::Realtime::realtime_truncation
86
78
 
87
79
  def initialize: (
88
- model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model,
89
80
  ?audio: OpenAI::Realtime::RealtimeAudioConfig,
90
- ?client_secret: OpenAI::Realtime::RealtimeClientSecretConfig,
91
81
  ?include: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::include_],
92
82
  ?instructions: String,
93
83
  ?max_output_tokens: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::max_output_tokens,
84
+ ?model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model,
94
85
  ?output_modalities: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::output_modality],
95
86
  ?prompt: OpenAI::Responses::ResponsePrompt?,
96
- ?temperature: Float,
97
87
  ?tool_choice: OpenAI::Models::Realtime::realtime_tool_choice_config,
98
88
  ?tools: OpenAI::Models::Realtime::realtime_tools_config,
99
89
  ?tracing: OpenAI::Models::Realtime::realtime_tracing_config?,
@@ -102,28 +92,42 @@ module OpenAI
102
92
  ) -> void
103
93
 
104
94
  def to_hash: -> {
105
- model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model,
106
95
  type: :realtime,
107
96
  audio: OpenAI::Realtime::RealtimeAudioConfig,
108
- client_secret: OpenAI::Realtime::RealtimeClientSecretConfig,
109
97
  include: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::include_],
110
98
  instructions: String,
111
99
  max_output_tokens: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::max_output_tokens,
100
+ model: OpenAI::Models::Realtime::RealtimeSessionCreateRequest::model,
112
101
  output_modalities: ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::output_modality],
113
102
  prompt: OpenAI::Responses::ResponsePrompt?,
114
- temperature: Float,
115
103
  tool_choice: OpenAI::Models::Realtime::realtime_tool_choice_config,
116
104
  tools: OpenAI::Models::Realtime::realtime_tools_config,
117
105
  tracing: OpenAI::Models::Realtime::realtime_tracing_config?,
118
106
  truncation: OpenAI::Models::Realtime::realtime_truncation
119
107
  }
120
108
 
109
+ type include_ = :"item.input_audio_transcription.logprobs"
110
+
111
+ module Include
112
+ extend OpenAI::Internal::Type::Enum
113
+
114
+ ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS: :"item.input_audio_transcription.logprobs"
115
+
116
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::include_]
117
+ end
118
+
119
+ type max_output_tokens = Integer | :inf
120
+
121
+ module MaxOutputTokens
122
+ extend OpenAI::Internal::Type::Union
123
+
124
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::max_output_tokens]
125
+ end
126
+
121
127
  type model =
122
128
  String
123
129
  | :"gpt-realtime"
124
130
  | :"gpt-realtime-2025-08-28"
125
- | :"gpt-4o-realtime"
126
- | :"gpt-4o-mini-realtime"
127
131
  | :"gpt-4o-realtime-preview"
128
132
  | :"gpt-4o-realtime-preview-2024-10-01"
129
133
  | :"gpt-4o-realtime-preview-2024-12-17"
@@ -138,8 +142,6 @@ module OpenAI
138
142
 
139
143
  GPT_REALTIME: :"gpt-realtime"
140
144
  GPT_REALTIME_2025_08_28: :"gpt-realtime-2025-08-28"
141
- GPT_4O_REALTIME: :"gpt-4o-realtime"
142
- GPT_4O_MINI_REALTIME: :"gpt-4o-mini-realtime"
143
145
  GPT_4O_REALTIME_PREVIEW: :"gpt-4o-realtime-preview"
144
146
  GPT_4O_REALTIME_PREVIEW_2024_10_01: :"gpt-4o-realtime-preview-2024-10-01"
145
147
  GPT_4O_REALTIME_PREVIEW_2024_12_17: :"gpt-4o-realtime-preview-2024-12-17"
@@ -148,24 +150,6 @@ module OpenAI
148
150
  GPT_4O_MINI_REALTIME_PREVIEW_2024_12_17: :"gpt-4o-mini-realtime-preview-2024-12-17"
149
151
  end
150
152
 
151
- type include_ = :"item.input_audio_transcription.logprobs"
152
-
153
- module Include
154
- extend OpenAI::Internal::Type::Enum
155
-
156
- ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS: :"item.input_audio_transcription.logprobs"
157
-
158
- def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::include_]
159
- end
160
-
161
- type max_output_tokens = Integer | :inf
162
-
163
- module MaxOutputTokens
164
- extend OpenAI::Internal::Type::Union
165
-
166
- def self?.variants: -> ::Array[OpenAI::Models::Realtime::RealtimeSessionCreateRequest::max_output_tokens]
167
- end
168
-
169
153
  type output_modality = :text | :audio
170
154
 
171
155
  module OutputModality