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
@@ -0,0 +1,47 @@
1
+ module OpenAI
2
+ module Models
3
+ class RealtimeTranscriptionSessionTurnDetection = Realtime::RealtimeTranscriptionSessionTurnDetection
4
+
5
+ module Realtime
6
+ type realtime_transcription_session_turn_detection =
7
+ {
8
+ prefix_padding_ms: Integer,
9
+ silence_duration_ms: Integer,
10
+ threshold: Float,
11
+ type: String
12
+ }
13
+
14
+ class RealtimeTranscriptionSessionTurnDetection < OpenAI::Internal::Type::BaseModel
15
+ attr_reader prefix_padding_ms: Integer?
16
+
17
+ def prefix_padding_ms=: (Integer) -> Integer
18
+
19
+ attr_reader silence_duration_ms: Integer?
20
+
21
+ def silence_duration_ms=: (Integer) -> Integer
22
+
23
+ attr_reader threshold: Float?
24
+
25
+ def threshold=: (Float) -> Float
26
+
27
+ attr_reader type: String?
28
+
29
+ def type=: (String) -> String
30
+
31
+ def initialize: (
32
+ ?prefix_padding_ms: Integer,
33
+ ?silence_duration_ms: Integer,
34
+ ?threshold: Float,
35
+ ?type: String
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ prefix_padding_ms: Integer,
40
+ silence_duration_ms: Integer,
41
+ threshold: Float,
42
+ type: String
43
+ }
44
+ end
45
+ end
46
+ end
47
+ end
@@ -3,7 +3,7 @@ module OpenAI
3
3
  module Realtime
4
4
  type realtime_truncation =
5
5
  OpenAI::Models::Realtime::RealtimeTruncation::realtime_truncation_strategy
6
- | OpenAI::Realtime::RealtimeTruncation::RetentionRatioTruncation
6
+ | OpenAI::Realtime::RealtimeTruncationRetentionRatio
7
7
 
8
8
  module RealtimeTruncation
9
9
  extend OpenAI::Internal::Type::Union
@@ -19,33 +19,6 @@ module OpenAI
19
19
  def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeTruncation::realtime_truncation_strategy]
20
20
  end
21
21
 
22
- type retention_ratio_truncation =
23
- {
24
- retention_ratio: Float,
25
- type: :retention_ratio,
26
- post_instructions_token_limit: Integer?
27
- }
28
-
29
- class RetentionRatioTruncation < OpenAI::Internal::Type::BaseModel
30
- attr_accessor retention_ratio: Float
31
-
32
- attr_accessor type: :retention_ratio
33
-
34
- attr_accessor post_instructions_token_limit: Integer?
35
-
36
- def initialize: (
37
- retention_ratio: Float,
38
- ?post_instructions_token_limit: Integer?,
39
- ?type: :retention_ratio
40
- ) -> void
41
-
42
- def to_hash: -> {
43
- retention_ratio: Float,
44
- type: :retention_ratio,
45
- post_instructions_token_limit: Integer?
46
- }
47
- end
48
-
49
22
  def self?.variants: -> ::Array[OpenAI::Models::Realtime::realtime_truncation]
50
23
  end
51
24
  end
@@ -0,0 +1,21 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_truncation_retention_ratio =
5
+ { retention_ratio: Float, type: :retention_ratio }
6
+
7
+ class RealtimeTruncationRetentionRatio < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor retention_ratio: Float
9
+
10
+ attr_accessor type: :retention_ratio
11
+
12
+ def initialize: (
13
+ retention_ratio: Float,
14
+ ?type: :retention_ratio
15
+ ) -> void
16
+
17
+ def to_hash: -> { retention_ratio: Float, type: :retention_ratio }
18
+ end
19
+ end
20
+ end
21
+ end
@@ -5,7 +5,7 @@ module OpenAI
5
5
  {
6
6
  type: :"response.create",
7
7
  event_id: String,
8
- response: OpenAI::Realtime::ResponseCreateEvent::Response
8
+ response: OpenAI::Realtime::RealtimeResponseCreateParams
9
9
  }
10
10
 
11
11
  class ResponseCreateEvent < OpenAI::Internal::Type::BaseModel
@@ -15,266 +15,23 @@ module OpenAI
15
15
 
16
16
  def event_id=: (String) -> String
17
17
 
18
- attr_reader response: OpenAI::Realtime::ResponseCreateEvent::Response?
18
+ attr_reader response: OpenAI::Realtime::RealtimeResponseCreateParams?
19
19
 
20
20
  def response=: (
21
- OpenAI::Realtime::ResponseCreateEvent::Response
22
- ) -> OpenAI::Realtime::ResponseCreateEvent::Response
21
+ OpenAI::Realtime::RealtimeResponseCreateParams
22
+ ) -> OpenAI::Realtime::RealtimeResponseCreateParams
23
23
 
24
24
  def initialize: (
25
25
  ?event_id: String,
26
- ?response: OpenAI::Realtime::ResponseCreateEvent::Response,
26
+ ?response: OpenAI::Realtime::RealtimeResponseCreateParams,
27
27
  ?type: :"response.create"
28
28
  ) -> void
29
29
 
30
30
  def to_hash: -> {
31
31
  type: :"response.create",
32
32
  event_id: String,
33
- response: OpenAI::Realtime::ResponseCreateEvent::Response
33
+ response: OpenAI::Realtime::RealtimeResponseCreateParams
34
34
  }
35
-
36
- type response =
37
- {
38
- conversation: OpenAI::Models::Realtime::ResponseCreateEvent::Response::conversation,
39
- input: ::Array[OpenAI::Models::Realtime::conversation_item],
40
- instructions: String,
41
- max_output_tokens: OpenAI::Models::Realtime::ResponseCreateEvent::Response::max_output_tokens,
42
- metadata: OpenAI::Models::metadata?,
43
- modalities: ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::modality],
44
- output_audio_format: OpenAI::Models::Realtime::ResponseCreateEvent::Response::output_audio_format,
45
- prompt: OpenAI::Responses::ResponsePrompt?,
46
- temperature: Float,
47
- tool_choice: OpenAI::Models::Realtime::ResponseCreateEvent::Response::tool_choice,
48
- tools: ::Array[OpenAI::Realtime::ResponseCreateEvent::Response::Tool],
49
- voice: OpenAI::Models::Realtime::ResponseCreateEvent::Response::voice
50
- }
51
-
52
- class Response < OpenAI::Internal::Type::BaseModel
53
- attr_reader conversation: OpenAI::Models::Realtime::ResponseCreateEvent::Response::conversation?
54
-
55
- def conversation=: (
56
- OpenAI::Models::Realtime::ResponseCreateEvent::Response::conversation
57
- ) -> OpenAI::Models::Realtime::ResponseCreateEvent::Response::conversation
58
-
59
- attr_reader input: ::Array[OpenAI::Models::Realtime::conversation_item]?
60
-
61
- def input=: (
62
- ::Array[OpenAI::Models::Realtime::conversation_item]
63
- ) -> ::Array[OpenAI::Models::Realtime::conversation_item]
64
-
65
- attr_reader instructions: String?
66
-
67
- def instructions=: (String) -> String
68
-
69
- attr_reader max_output_tokens: OpenAI::Models::Realtime::ResponseCreateEvent::Response::max_output_tokens?
70
-
71
- def max_output_tokens=: (
72
- OpenAI::Models::Realtime::ResponseCreateEvent::Response::max_output_tokens
73
- ) -> OpenAI::Models::Realtime::ResponseCreateEvent::Response::max_output_tokens
74
-
75
- attr_accessor metadata: OpenAI::Models::metadata?
76
-
77
- attr_reader modalities: ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::modality]?
78
-
79
- def modalities=: (
80
- ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::modality]
81
- ) -> ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::modality]
82
-
83
- attr_reader output_audio_format: OpenAI::Models::Realtime::ResponseCreateEvent::Response::output_audio_format?
84
-
85
- def output_audio_format=: (
86
- OpenAI::Models::Realtime::ResponseCreateEvent::Response::output_audio_format
87
- ) -> OpenAI::Models::Realtime::ResponseCreateEvent::Response::output_audio_format
88
-
89
- attr_accessor prompt: OpenAI::Responses::ResponsePrompt?
90
-
91
- attr_reader temperature: Float?
92
-
93
- def temperature=: (Float) -> Float
94
-
95
- attr_reader tool_choice: OpenAI::Models::Realtime::ResponseCreateEvent::Response::tool_choice?
96
-
97
- def tool_choice=: (
98
- OpenAI::Models::Realtime::ResponseCreateEvent::Response::tool_choice
99
- ) -> OpenAI::Models::Realtime::ResponseCreateEvent::Response::tool_choice
100
-
101
- attr_reader tools: ::Array[OpenAI::Realtime::ResponseCreateEvent::Response::Tool]?
102
-
103
- def tools=: (
104
- ::Array[OpenAI::Realtime::ResponseCreateEvent::Response::Tool]
105
- ) -> ::Array[OpenAI::Realtime::ResponseCreateEvent::Response::Tool]
106
-
107
- attr_reader voice: OpenAI::Models::Realtime::ResponseCreateEvent::Response::voice?
108
-
109
- def voice=: (
110
- OpenAI::Models::Realtime::ResponseCreateEvent::Response::voice
111
- ) -> OpenAI::Models::Realtime::ResponseCreateEvent::Response::voice
112
-
113
- def initialize: (
114
- ?conversation: OpenAI::Models::Realtime::ResponseCreateEvent::Response::conversation,
115
- ?input: ::Array[OpenAI::Models::Realtime::conversation_item],
116
- ?instructions: String,
117
- ?max_output_tokens: OpenAI::Models::Realtime::ResponseCreateEvent::Response::max_output_tokens,
118
- ?metadata: OpenAI::Models::metadata?,
119
- ?modalities: ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::modality],
120
- ?output_audio_format: OpenAI::Models::Realtime::ResponseCreateEvent::Response::output_audio_format,
121
- ?prompt: OpenAI::Responses::ResponsePrompt?,
122
- ?temperature: Float,
123
- ?tool_choice: OpenAI::Models::Realtime::ResponseCreateEvent::Response::tool_choice,
124
- ?tools: ::Array[OpenAI::Realtime::ResponseCreateEvent::Response::Tool],
125
- ?voice: OpenAI::Models::Realtime::ResponseCreateEvent::Response::voice
126
- ) -> void
127
-
128
- def to_hash: -> {
129
- conversation: OpenAI::Models::Realtime::ResponseCreateEvent::Response::conversation,
130
- input: ::Array[OpenAI::Models::Realtime::conversation_item],
131
- instructions: String,
132
- max_output_tokens: OpenAI::Models::Realtime::ResponseCreateEvent::Response::max_output_tokens,
133
- metadata: OpenAI::Models::metadata?,
134
- modalities: ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::modality],
135
- output_audio_format: OpenAI::Models::Realtime::ResponseCreateEvent::Response::output_audio_format,
136
- prompt: OpenAI::Responses::ResponsePrompt?,
137
- temperature: Float,
138
- tool_choice: OpenAI::Models::Realtime::ResponseCreateEvent::Response::tool_choice,
139
- tools: ::Array[OpenAI::Realtime::ResponseCreateEvent::Response::Tool],
140
- voice: OpenAI::Models::Realtime::ResponseCreateEvent::Response::voice
141
- }
142
-
143
- type conversation = String | :auto | :none
144
-
145
- module Conversation
146
- extend OpenAI::Internal::Type::Union
147
-
148
- def self?.variants: -> ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::conversation]
149
-
150
- AUTO: :auto
151
- NONE: :none
152
- end
153
-
154
- type max_output_tokens = Integer | :inf
155
-
156
- module MaxOutputTokens
157
- extend OpenAI::Internal::Type::Union
158
-
159
- def self?.variants: -> ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::max_output_tokens]
160
- end
161
-
162
- type modality = :text | :audio
163
-
164
- module Modality
165
- extend OpenAI::Internal::Type::Enum
166
-
167
- TEXT: :text
168
- AUDIO: :audio
169
-
170
- def self?.values: -> ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::modality]
171
- end
172
-
173
- type output_audio_format = :pcm16 | :g711_ulaw | :g711_alaw
174
-
175
- module OutputAudioFormat
176
- extend OpenAI::Internal::Type::Enum
177
-
178
- PCM16: :pcm16
179
- G711_ULAW: :g711_ulaw
180
- G711_ALAW: :g711_alaw
181
-
182
- def self?.values: -> ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::output_audio_format]
183
- end
184
-
185
- type tool_choice =
186
- OpenAI::Models::Responses::tool_choice_options
187
- | OpenAI::Responses::ToolChoiceFunction
188
- | OpenAI::Responses::ToolChoiceMcp
189
-
190
- module ToolChoice
191
- extend OpenAI::Internal::Type::Union
192
-
193
- def self?.variants: -> ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::tool_choice]
194
- end
195
-
196
- type tool =
197
- {
198
- description: String,
199
- name: String,
200
- parameters: top,
201
- type: OpenAI::Models::Realtime::ResponseCreateEvent::Response::Tool::type_
202
- }
203
-
204
- class Tool < OpenAI::Internal::Type::BaseModel
205
- attr_reader description: String?
206
-
207
- def description=: (String) -> String
208
-
209
- attr_reader name: String?
210
-
211
- def name=: (String) -> String
212
-
213
- attr_reader parameters: top?
214
-
215
- def parameters=: (top) -> top
216
-
217
- attr_reader type: OpenAI::Models::Realtime::ResponseCreateEvent::Response::Tool::type_?
218
-
219
- def type=: (
220
- OpenAI::Models::Realtime::ResponseCreateEvent::Response::Tool::type_
221
- ) -> OpenAI::Models::Realtime::ResponseCreateEvent::Response::Tool::type_
222
-
223
- def initialize: (
224
- ?description: String,
225
- ?name: String,
226
- ?parameters: top,
227
- ?type: OpenAI::Models::Realtime::ResponseCreateEvent::Response::Tool::type_
228
- ) -> void
229
-
230
- def to_hash: -> {
231
- description: String,
232
- name: String,
233
- parameters: top,
234
- type: OpenAI::Models::Realtime::ResponseCreateEvent::Response::Tool::type_
235
- }
236
-
237
- type type_ = :function
238
-
239
- module Type
240
- extend OpenAI::Internal::Type::Enum
241
-
242
- FUNCTION: :function
243
-
244
- def self?.values: -> ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::Tool::type_]
245
- end
246
- end
247
-
248
- type voice =
249
- String
250
- | :alloy
251
- | :ash
252
- | :ballad
253
- | :coral
254
- | :echo
255
- | :sage
256
- | :shimmer
257
- | :verse
258
- | :marin
259
- | :cedar
260
-
261
- module Voice
262
- extend OpenAI::Internal::Type::Union
263
-
264
- def self?.variants: -> ::Array[OpenAI::Models::Realtime::ResponseCreateEvent::Response::voice]
265
-
266
- ALLOY: :alloy
267
- ASH: :ash
268
- BALLAD: :ballad
269
- CORAL: :coral
270
- ECHO: :echo
271
- SAGE: :sage
272
- SHIMMER: :shimmer
273
- VERSE: :verse
274
- MARIN: :marin
275
- CEDAR: :cedar
276
- end
277
- end
278
35
  end
279
36
  end
280
37
  end
@@ -4,28 +4,38 @@ module OpenAI
4
4
  type session_created_event =
5
5
  {
6
6
  event_id: String,
7
- session: OpenAI::Realtime::RealtimeSession,
7
+ session: OpenAI::Models::Realtime::SessionCreatedEvent::session,
8
8
  type: :"session.created"
9
9
  }
10
10
 
11
11
  class SessionCreatedEvent < OpenAI::Internal::Type::BaseModel
12
12
  attr_accessor event_id: String
13
13
 
14
- attr_accessor session: OpenAI::Realtime::RealtimeSession
14
+ attr_accessor session: OpenAI::Models::Realtime::SessionCreatedEvent::session
15
15
 
16
16
  attr_accessor type: :"session.created"
17
17
 
18
18
  def initialize: (
19
19
  event_id: String,
20
- session: OpenAI::Realtime::RealtimeSession,
20
+ session: OpenAI::Models::Realtime::SessionCreatedEvent::session,
21
21
  ?type: :"session.created"
22
22
  ) -> void
23
23
 
24
24
  def to_hash: -> {
25
25
  event_id: String,
26
- session: OpenAI::Realtime::RealtimeSession,
26
+ session: OpenAI::Models::Realtime::SessionCreatedEvent::session,
27
27
  type: :"session.created"
28
28
  }
29
+
30
+ type session =
31
+ OpenAI::Realtime::RealtimeSessionCreateRequest
32
+ | OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
33
+
34
+ module Session
35
+ extend OpenAI::Internal::Type::Union
36
+
37
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::SessionCreatedEvent::session]
38
+ end
29
39
  end
30
40
  end
31
41
  end
@@ -3,13 +3,13 @@ module OpenAI
3
3
  module Realtime
4
4
  type session_update_event =
5
5
  {
6
- session: OpenAI::Realtime::RealtimeSessionCreateRequest,
6
+ session: OpenAI::Models::Realtime::SessionUpdateEvent::session,
7
7
  type: :"session.update",
8
8
  event_id: String
9
9
  }
10
10
 
11
11
  class SessionUpdateEvent < OpenAI::Internal::Type::BaseModel
12
- attr_accessor session: OpenAI::Realtime::RealtimeSessionCreateRequest
12
+ attr_accessor session: OpenAI::Models::Realtime::SessionUpdateEvent::session
13
13
 
14
14
  attr_accessor type: :"session.update"
15
15
 
@@ -18,16 +18,26 @@ module OpenAI
18
18
  def event_id=: (String) -> String
19
19
 
20
20
  def initialize: (
21
- session: OpenAI::Realtime::RealtimeSessionCreateRequest,
21
+ session: OpenAI::Models::Realtime::SessionUpdateEvent::session,
22
22
  ?event_id: String,
23
23
  ?type: :"session.update"
24
24
  ) -> void
25
25
 
26
26
  def to_hash: -> {
27
- session: OpenAI::Realtime::RealtimeSessionCreateRequest,
27
+ session: OpenAI::Models::Realtime::SessionUpdateEvent::session,
28
28
  type: :"session.update",
29
29
  event_id: String
30
30
  }
31
+
32
+ type session =
33
+ OpenAI::Realtime::RealtimeSessionCreateRequest
34
+ | OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
35
+
36
+ module Session
37
+ extend OpenAI::Internal::Type::Union
38
+
39
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::SessionUpdateEvent::session]
40
+ end
31
41
  end
32
42
  end
33
43
  end
@@ -4,28 +4,38 @@ module OpenAI
4
4
  type session_updated_event =
5
5
  {
6
6
  event_id: String,
7
- session: OpenAI::Realtime::RealtimeSession,
7
+ session: OpenAI::Models::Realtime::SessionUpdatedEvent::session,
8
8
  type: :"session.updated"
9
9
  }
10
10
 
11
11
  class SessionUpdatedEvent < OpenAI::Internal::Type::BaseModel
12
12
  attr_accessor event_id: String
13
13
 
14
- attr_accessor session: OpenAI::Realtime::RealtimeSession
14
+ attr_accessor session: OpenAI::Models::Realtime::SessionUpdatedEvent::session
15
15
 
16
16
  attr_accessor type: :"session.updated"
17
17
 
18
18
  def initialize: (
19
19
  event_id: String,
20
- session: OpenAI::Realtime::RealtimeSession,
20
+ session: OpenAI::Models::Realtime::SessionUpdatedEvent::session,
21
21
  ?type: :"session.updated"
22
22
  ) -> void
23
23
 
24
24
  def to_hash: -> {
25
25
  event_id: String,
26
- session: OpenAI::Realtime::RealtimeSession,
26
+ session: OpenAI::Models::Realtime::SessionUpdatedEvent::session,
27
27
  type: :"session.updated"
28
28
  }
29
+
30
+ type session =
31
+ OpenAI::Realtime::RealtimeSessionCreateRequest
32
+ | OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
33
+
34
+ module Session
35
+ extend OpenAI::Internal::Type::Union
36
+
37
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::SessionUpdatedEvent::session]
38
+ end
29
39
  end
30
40
  end
31
41
  end