openai 0.88.0 → 0.89.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 (239) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +4 -0
  5. data/lib/openai/models/beta/beta_response_input_item.rb +91 -1
  6. data/lib/openai/models/beta/beta_response_item.rb +93 -1
  7. data/lib/openai/models/beta/beta_response_output_item.rb +91 -1
  8. data/lib/openai/models/conversations/conversation_item.rb +91 -1
  9. data/lib/openai/models/live/audio_format.rb +109 -0
  10. data/lib/openai/models/live/built_in_voice.rb +38 -0
  11. data/lib/openai/models/live/client_config.rb +22 -0
  12. data/lib/openai/models/live/client_delegation.rb +22 -0
  13. data/lib/openai/models/live/client_event.rb +54 -0
  14. data/lib/openai/models/live/commentary_append_event.rb +59 -0
  15. data/lib/openai/models/live/commentary_appended_event.rb +65 -0
  16. data/lib/openai/models/live/custom_voice.rb +17 -0
  17. data/lib/openai/models/live/data_channel_config.rb +81 -0
  18. data/lib/openai/models/live/delegation_created_event.rb +140 -0
  19. data/lib/openai/models/live/error.rb +60 -0
  20. data/lib/openai/models/live/error_event.rb +52 -0
  21. data/lib/openai/models/live/fork_client_event.rb +53 -0
  22. data/lib/openai/models/live/fork_server_event.rb +295 -0
  23. data/lib/openai/models/live/fork_session_config.rb +107 -0
  24. data/lib/openai/models/live/fork_session_start_event.rb +48 -0
  25. data/lib/openai/models/live/function_tool.rb +60 -0
  26. data/lib/openai/models/live/info_event.rb +60 -0
  27. data/lib/openai/models/live/initial_item.rb +419 -0
  28. data/lib/openai/models/live/input_audio_append_event.rb +50 -0
  29. data/lib/openai/models/live/input_audio_mute_event.rb +33 -0
  30. data/lib/openai/models/live/input_audio_muted_event.rb +42 -0
  31. data/lib/openai/models/live/input_audio_unmute_event.rb +33 -0
  32. data/lib/openai/models/live/input_audio_unmuted_event.rb +42 -0
  33. data/lib/openai/models/live/input_transcript_delta_event.rb +76 -0
  34. data/lib/openai/models/live/instructions_append_event.rb +57 -0
  35. data/lib/openai/models/live/instructions_appended_event.rb +65 -0
  36. data/lib/openai/models/live/live_create_params.rb +57 -0
  37. data/lib/openai/models/live/live_create_response.rb +77 -0
  38. data/lib/openai/models/live/media_session_config.rb +227 -0
  39. data/lib/openai/models/live/media_session_fork_config.rb +75 -0
  40. data/lib/openai/models/live/output_audio_delta_event.rb +58 -0
  41. data/lib/openai/models/live/output_transcript_delta_event.rb +76 -0
  42. data/lib/openai/models/live/response_create_event.rb +33 -0
  43. data/lib/openai/models/live/response_event.rb +67 -0
  44. data/lib/openai/models/live/response_item_create_event.rb +44 -0
  45. data/lib/openai/models/live/responses_delegation_config.rb +332 -0
  46. data/lib/openai/models/live/responses_delegation_update_config.rb +332 -0
  47. data/lib/openai/models/live/server_event.rb +295 -0
  48. data/lib/openai/models/live/server_event_selector.rb +32 -0
  49. data/lib/openai/models/live/session_accept_params.rb +257 -0
  50. data/lib/openai/models/live/session_close_event.rb +33 -0
  51. data/lib/openai/models/live/session_closed_event.rb +113 -0
  52. data/lib/openai/models/live/session_config.rb +236 -0
  53. data/lib/openai/models/live/session_download_recording_params.rb +27 -0
  54. data/lib/openai/models/live/session_fork_params.rb +66 -0
  55. data/lib/openai/models/live/session_fork_response.rb +77 -0
  56. data/lib/openai/models/live/session_hangup_params.rb +22 -0
  57. data/lib/openai/models/live/session_refer_params.rb +34 -0
  58. data/lib/openai/models/live/session_reject_params.rb +32 -0
  59. data/lib/openai/models/live/session_resource.rb +268 -0
  60. data/lib/openai/models/live/session_start_event.rb +46 -0
  61. data/lib/openai/models/live/session_started_event.rb +51 -0
  62. data/lib/openai/models/live/session_update_config.rb +69 -0
  63. data/lib/openai/models/live/session_update_event.rb +46 -0
  64. data/lib/openai/models/live/session_updated_event.rb +51 -0
  65. data/lib/openai/models/live/session_usage.rb +24 -0
  66. data/lib/openai/models/live/session_usage_updated_event.rb +81 -0
  67. data/lib/openai/models/live/thinking_append_event.rb +59 -0
  68. data/lib/openai/models/live/thinking_appended_event.rb +65 -0
  69. data/lib/openai/models/responses/response_input_item.rb +91 -1
  70. data/lib/openai/models/responses/response_item.rb +93 -1
  71. data/lib/openai/models/responses/response_output_item.rb +91 -1
  72. data/lib/openai/models/webhooks/live_call_incoming_webhook_event.rb +12 -7
  73. data/lib/openai/models/webhooks/live_transport_incoming_webhook_event.rb +137 -0
  74. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +4 -4
  75. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -2
  76. data/lib/openai/models.rb +2 -0
  77. data/lib/openai/resources/live/forks.rb +16 -0
  78. data/lib/openai/resources/live/sessions.rb +180 -0
  79. data/lib/openai/resources/live/sideband.rb +16 -0
  80. data/lib/openai/resources/live.rb +54 -0
  81. data/lib/openai/resources/webhooks.rb +1 -1
  82. data/lib/openai/version.rb +1 -1
  83. data/lib/openai.rb +65 -0
  84. data/rbi/openai/client.rbi +3 -0
  85. data/rbi/openai/models/beta/beta_response_input_item.rbi +109 -0
  86. data/rbi/openai/models/beta/beta_response_item.rbi +105 -0
  87. data/rbi/openai/models/beta/beta_response_output_item.rbi +119 -0
  88. data/rbi/openai/models/conversations/conversation_item.rbi +133 -0
  89. data/rbi/openai/models/live/audio_format.rbi +185 -0
  90. data/rbi/openai/models/live/built_in_voice.rbi +46 -0
  91. data/rbi/openai/models/live/client_config.rbi +54 -0
  92. data/rbi/openai/models/live/client_delegation.rbi +51 -0
  93. data/rbi/openai/models/live/client_event.rbi +41 -0
  94. data/rbi/openai/models/live/commentary_append_event.rbi +88 -0
  95. data/rbi/openai/models/live/commentary_appended_event.rbi +97 -0
  96. data/rbi/openai/models/live/custom_voice.rbi +46 -0
  97. data/rbi/openai/models/live/data_channel_config.rbi +119 -0
  98. data/rbi/openai/models/live/delegation_created_event.rbi +207 -0
  99. data/rbi/openai/models/live/error.rbi +95 -0
  100. data/rbi/openai/models/live/error_event.rbi +87 -0
  101. data/rbi/openai/models/live/fork_client_event.rbi +40 -0
  102. data/rbi/openai/models/live/fork_server_event.rbi +436 -0
  103. data/rbi/openai/models/live/fork_session_config.rbi +234 -0
  104. data/rbi/openai/models/live/fork_session_start_event.rbi +80 -0
  105. data/rbi/openai/models/live/function_tool.rbi +95 -0
  106. data/rbi/openai/models/live/info_event.rbi +92 -0
  107. data/rbi/openai/models/live/initial_item.rbi +661 -0
  108. data/rbi/openai/models/live/input_audio_append_event.rbi +79 -0
  109. data/rbi/openai/models/live/input_audio_mute_event.rbi +62 -0
  110. data/rbi/openai/models/live/input_audio_muted_event.rbi +74 -0
  111. data/rbi/openai/models/live/input_audio_unmute_event.rbi +62 -0
  112. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +74 -0
  113. data/rbi/openai/models/live/input_transcript_delta_event.rbi +115 -0
  114. data/rbi/openai/models/live/instructions_append_event.rbi +86 -0
  115. data/rbi/openai/models/live/instructions_appended_event.rbi +97 -0
  116. data/rbi/openai/models/live/live_create_params.rbi +121 -0
  117. data/rbi/openai/models/live/live_create_response.rbi +160 -0
  118. data/rbi/openai/models/live/media_session_config.rbi +390 -0
  119. data/rbi/openai/models/live/media_session_fork_config.rbi +143 -0
  120. data/rbi/openai/models/live/output_audio_delta_event.rbi +93 -0
  121. data/rbi/openai/models/live/output_transcript_delta_event.rbi +115 -0
  122. data/rbi/openai/models/live/response_create_event.rbi +62 -0
  123. data/rbi/openai/models/live/response_event.rbi +105 -0
  124. data/rbi/openai/models/live/response_item_create_event.rbi +183 -0
  125. data/rbi/openai/models/live/responses_delegation_config.rbi +562 -0
  126. data/rbi/openai/models/live/responses_delegation_update_config.rbi +585 -0
  127. data/rbi/openai/models/live/server_event.rbi +436 -0
  128. data/rbi/openai/models/live/server_event_selector.rbi +64 -0
  129. data/rbi/openai/models/live/session_accept_params.rbi +451 -0
  130. data/rbi/openai/models/live/session_close_event.rbi +62 -0
  131. data/rbi/openai/models/live/session_closed_event.rbi +148 -0
  132. data/rbi/openai/models/live/session_config.rbi +427 -0
  133. data/rbi/openai/models/live/session_download_recording_params.rbi +57 -0
  134. data/rbi/openai/models/live/session_fork_params.rbi +131 -0
  135. data/rbi/openai/models/live/session_fork_response.rbi +160 -0
  136. data/rbi/openai/models/live/session_hangup_params.rbi +53 -0
  137. data/rbi/openai/models/live/session_refer_params.rbi +64 -0
  138. data/rbi/openai/models/live/session_reject_params.rbi +62 -0
  139. data/rbi/openai/models/live/session_resource.rbi +461 -0
  140. data/rbi/openai/models/live/session_start_event.rbi +78 -0
  141. data/rbi/openai/models/live/session_started_event.rbi +86 -0
  142. data/rbi/openai/models/live/session_update_config.rbi +134 -0
  143. data/rbi/openai/models/live/session_update_event.rbi +78 -0
  144. data/rbi/openai/models/live/session_updated_event.rbi +86 -0
  145. data/rbi/openai/models/live/session_usage.rbi +53 -0
  146. data/rbi/openai/models/live/session_usage_updated_event.rbi +148 -0
  147. data/rbi/openai/models/live/thinking_append_event.rbi +88 -0
  148. data/rbi/openai/models/live/thinking_appended_event.rbi +97 -0
  149. data/rbi/openai/models/responses/response_input_item.rbi +113 -0
  150. data/rbi/openai/models/responses/response_item.rbi +105 -0
  151. data/rbi/openai/models/responses/response_output_item.rbi +125 -0
  152. data/rbi/openai/models/webhooks/live_call_incoming_webhook_event.rbi +11 -7
  153. data/rbi/openai/models/webhooks/live_transport_incoming_webhook_event.rbi +226 -0
  154. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +4 -4
  155. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  156. data/rbi/openai/models.rbi +2 -0
  157. data/rbi/openai/resources/live/forks.rbi +19 -0
  158. data/rbi/openai/resources/live/sessions.rbi +110 -0
  159. data/rbi/openai/resources/live/sideband.rbi +19 -0
  160. data/rbi/openai/resources/live.rbi +43 -0
  161. data/rbi/openai/resources/responses.rbi +75 -38
  162. data/rbi/openai/resources/webhooks.rbi +1 -0
  163. data/sig/openai/client.rbs +2 -0
  164. data/sig/openai/models/beta/beta_response_input_item.rbs +56 -0
  165. data/sig/openai/models/beta/beta_response_item.rbs +56 -0
  166. data/sig/openai/models/beta/beta_response_output_item.rbs +56 -0
  167. data/sig/openai/models/conversations/conversation_item.rbs +56 -0
  168. data/sig/openai/models/live/audio_format.rbs +73 -0
  169. data/sig/openai/models/live/built_in_voice.rbs +58 -0
  170. data/sig/openai/models/live/client_config.rbs +15 -0
  171. data/sig/openai/models/live/client_delegation.rbs +15 -0
  172. data/sig/openai/models/live/client_event.rbs +24 -0
  173. data/sig/openai/models/live/commentary_append_event.rbs +37 -0
  174. data/sig/openai/models/live/commentary_appended_event.rbs +44 -0
  175. data/sig/openai/models/live/custom_voice.rbs +15 -0
  176. data/sig/openai/models/live/data_channel_config.rbs +56 -0
  177. data/sig/openai/models/live/delegation_created_event.rbs +89 -0
  178. data/sig/openai/models/live/error.rbs +46 -0
  179. data/sig/openai/models/live/error_event.rbs +39 -0
  180. data/sig/openai/models/live/fork_client_event.rbs +24 -0
  181. data/sig/openai/models/live/fork_server_event.rbs +212 -0
  182. data/sig/openai/models/live/fork_session_config.rbs +89 -0
  183. data/sig/openai/models/live/fork_session_start_event.rbs +32 -0
  184. data/sig/openai/models/live/function_tool.rbs +42 -0
  185. data/sig/openai/models/live/info_event.rbs +44 -0
  186. data/sig/openai/models/live/initial_item.rbs +332 -0
  187. data/sig/openai/models/live/input_audio_append_event.rbs +32 -0
  188. data/sig/openai/models/live/input_audio_mute_event.rbs +24 -0
  189. data/sig/openai/models/live/input_audio_muted_event.rbs +34 -0
  190. data/sig/openai/models/live/input_audio_unmute_event.rbs +24 -0
  191. data/sig/openai/models/live/input_audio_unmuted_event.rbs +34 -0
  192. data/sig/openai/models/live/input_transcript_delta_event.rbs +49 -0
  193. data/sig/openai/models/live/instructions_append_event.rbs +37 -0
  194. data/sig/openai/models/live/instructions_appended_event.rbs +44 -0
  195. data/sig/openai/models/live/live_create_params.rbs +45 -0
  196. data/sig/openai/models/live/live_create_response.rbs +49 -0
  197. data/sig/openai/models/live/media_session_config.rbs +157 -0
  198. data/sig/openai/models/live/media_session_fork_config.rbs +66 -0
  199. data/sig/openai/models/live/output_audio_delta_event.rbs +41 -0
  200. data/sig/openai/models/live/output_transcript_delta_event.rbs +49 -0
  201. data/sig/openai/models/live/response_create_event.rbs +18 -0
  202. data/sig/openai/models/live/response_event.rbs +44 -0
  203. data/sig/openai/models/live/response_item_create_event.rbs +32 -0
  204. data/sig/openai/models/live/responses_delegation_config.rbs +244 -0
  205. data/sig/openai/models/live/responses_delegation_update_config.rbs +246 -0
  206. data/sig/openai/models/live/server_event.rbs +212 -0
  207. data/sig/openai/models/live/server_event_selector.rbs +19 -0
  208. data/sig/openai/models/live/session_accept_params.rbs +185 -0
  209. data/sig/openai/models/live/session_close_event.rbs +17 -0
  210. data/sig/openai/models/live/session_closed_event.rbs +68 -0
  211. data/sig/openai/models/live/session_config.rbs +168 -0
  212. data/sig/openai/models/live/session_download_recording_params.rbs +25 -0
  213. data/sig/openai/models/live/session_fork_params.rbs +54 -0
  214. data/sig/openai/models/live/session_fork_response.rbs +49 -0
  215. data/sig/openai/models/live/session_hangup_params.rbs +25 -0
  216. data/sig/openai/models/live/session_refer_params.rbs +33 -0
  217. data/sig/openai/models/live/session_reject_params.rbs +33 -0
  218. data/sig/openai/models/live/session_resource.rbs +183 -0
  219. data/sig/openai/models/live/session_start_event.rbs +32 -0
  220. data/sig/openai/models/live/session_started_event.rbs +39 -0
  221. data/sig/openai/models/live/session_update_config.rbs +56 -0
  222. data/sig/openai/models/live/session_update_event.rbs +32 -0
  223. data/sig/openai/models/live/session_updated_event.rbs +39 -0
  224. data/sig/openai/models/live/session_usage.rbs +15 -0
  225. data/sig/openai/models/live/session_usage_updated_event.rbs +58 -0
  226. data/sig/openai/models/live/thinking_append_event.rbs +37 -0
  227. data/sig/openai/models/live/thinking_appended_event.rbs +44 -0
  228. data/sig/openai/models/responses/response_input_item.rbs +56 -0
  229. data/sig/openai/models/responses/response_item.rbs +56 -0
  230. data/sig/openai/models/responses/response_output_item.rbs +56 -0
  231. data/sig/openai/models/webhooks/live_transport_incoming_webhook_event.rbs +95 -0
  232. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  233. data/sig/openai/models.rbs +2 -0
  234. data/sig/openai/resources/live/forks.rbs +9 -0
  235. data/sig/openai/resources/live/sessions.rbs +44 -0
  236. data/sig/openai/resources/live/sideband.rbs +9 -0
  237. data/sig/openai/resources/live.rbs +19 -0
  238. data/sig/openai/resources/webhooks.rbs +1 -0
  239. metadata +196 -1
@@ -0,0 +1,44 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type commentary_appended_event =
5
+ {
6
+ end_ms: Integer,
7
+ event_id: String,
8
+ start_ms: Integer,
9
+ ?type: :"session.commentary.appended",
10
+ ?client_event_id: String
11
+ }
12
+
13
+ class CommentaryAppendedEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor end_ms: Integer
15
+
16
+ attr_accessor event_id: String
17
+
18
+ attr_accessor start_ms: Integer
19
+
20
+ attr_accessor type: :"session.commentary.appended"
21
+
22
+ attr_reader client_event_id: String?
23
+
24
+ def client_event_id=: (String) -> String
25
+
26
+ def initialize: (
27
+ end_ms: Integer,
28
+ event_id: String,
29
+ start_ms: Integer,
30
+ ?client_event_id: String,
31
+ ?type: :"session.commentary.appended"
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ end_ms: Integer,
36
+ event_id: String,
37
+ start_ms: Integer,
38
+ ?type: :"session.commentary.appended",
39
+ ?client_event_id: String
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,15 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type custom_voice = { id: String }
5
+
6
+ class CustomVoice < OpenAI::Internal::Type::BaseModel
7
+ attr_accessor id: String
8
+
9
+ def initialize: (id: String) -> void
10
+
11
+ def to_hash: -> { id: String }
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,56 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type data_channel_config =
5
+ {
6
+ ?allowed_client_events: OpenAI::Models::Live::DataChannelConfig::allowed_client_events,
7
+ ?allowed_server_events: OpenAI::Models::Live::DataChannelConfig::allowed_server_events
8
+ }
9
+
10
+ class DataChannelConfig < OpenAI::Internal::Type::BaseModel
11
+ attr_reader allowed_client_events: OpenAI::Models::Live::DataChannelConfig::allowed_client_events?
12
+
13
+ def allowed_client_events=: (
14
+ OpenAI::Models::Live::DataChannelConfig::allowed_client_events
15
+ ) -> OpenAI::Models::Live::DataChannelConfig::allowed_client_events
16
+
17
+ attr_reader allowed_server_events: OpenAI::Models::Live::DataChannelConfig::allowed_server_events?
18
+
19
+ def allowed_server_events=: (
20
+ OpenAI::Models::Live::DataChannelConfig::allowed_server_events
21
+ ) -> OpenAI::Models::Live::DataChannelConfig::allowed_server_events
22
+
23
+ def initialize: (
24
+ ?allowed_client_events: OpenAI::Models::Live::DataChannelConfig::allowed_client_events,
25
+ ?allowed_server_events: OpenAI::Models::Live::DataChannelConfig::allowed_server_events
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ ?allowed_client_events: OpenAI::Models::Live::DataChannelConfig::allowed_client_events,
30
+ ?allowed_server_events: OpenAI::Models::Live::DataChannelConfig::allowed_server_events
31
+ }
32
+
33
+ type allowed_client_events = :all | ::Array[String]
34
+
35
+ module AllowedClientEvents
36
+ extend OpenAI::Internal::Type::Union
37
+
38
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DataChannelConfig::allowed_client_events]
39
+
40
+ StringArray: OpenAI::Internal::Type::Converter
41
+ end
42
+
43
+ type allowed_server_events =
44
+ :all | ::Array[OpenAI::Live::ServerEventSelector]
45
+
46
+ module AllowedServerEvents
47
+ extend OpenAI::Internal::Type::Union
48
+
49
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DataChannelConfig::allowed_server_events]
50
+
51
+ ServerEventSelectorArray: OpenAI::Internal::Type::Converter
52
+ end
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,89 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type delegation_created_event =
5
+ {
6
+ delegation: OpenAI::Live::DelegationCreatedEvent::Delegation,
7
+ event_id: String,
8
+ offset_ms: Integer,
9
+ ?type: :"session.delegation.created",
10
+ ?client_event_id: String
11
+ }
12
+
13
+ class DelegationCreatedEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor delegation: OpenAI::Live::DelegationCreatedEvent::Delegation
15
+
16
+ attr_accessor event_id: String
17
+
18
+ attr_accessor offset_ms: Integer
19
+
20
+ attr_accessor type: :"session.delegation.created"
21
+
22
+ attr_reader client_event_id: String?
23
+
24
+ def client_event_id=: (String) -> String
25
+
26
+ def initialize: (
27
+ delegation: OpenAI::Live::DelegationCreatedEvent::Delegation,
28
+ event_id: String,
29
+ offset_ms: Integer,
30
+ ?client_event_id: String,
31
+ ?type: :"session.delegation.created"
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ delegation: OpenAI::Live::DelegationCreatedEvent::Delegation,
36
+ event_id: String,
37
+ offset_ms: Integer,
38
+ ?type: :"session.delegation.created",
39
+ ?client_event_id: String
40
+ }
41
+
42
+ type delegation =
43
+ {
44
+ id: String,
45
+ target: OpenAI::Models::Live::DelegationCreatedEvent::Delegation::target,
46
+ ?type: :delegation,
47
+ ?response_id: String
48
+ }
49
+
50
+ class Delegation < OpenAI::Internal::Type::BaseModel
51
+ attr_accessor id: String
52
+
53
+ attr_accessor target: OpenAI::Models::Live::DelegationCreatedEvent::Delegation::target
54
+
55
+ attr_accessor type: :delegation
56
+
57
+ attr_reader response_id: String?
58
+
59
+ def response_id=: (String) -> String
60
+
61
+ def initialize: (
62
+ id: String,
63
+ target: OpenAI::Models::Live::DelegationCreatedEvent::Delegation::target,
64
+ ?response_id: String,
65
+ ?type: :delegation
66
+ ) -> void
67
+
68
+ def to_hash: -> {
69
+ id: String,
70
+ target: OpenAI::Models::Live::DelegationCreatedEvent::Delegation::target,
71
+ ?type: :delegation,
72
+ ?response_id: String
73
+ }
74
+
75
+ type target = :client | :responses
76
+
77
+ module Target
78
+ extend OpenAI::Internal::Type::Union
79
+
80
+ def self?.variants: -> ::Array[OpenAI::Models::Live::DelegationCreatedEvent::Delegation::target]
81
+
82
+ CLIENT: :client
83
+ RESPONSES: :responses
84
+ end
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,46 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type error =
5
+ {
6
+ code: String,
7
+ message: String,
8
+ type: String,
9
+ ?client_event_id: String,
10
+ ?param: String
11
+ }
12
+
13
+ class Error < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor code: String
15
+
16
+ attr_accessor message: String
17
+
18
+ attr_accessor type: String
19
+
20
+ attr_reader client_event_id: String?
21
+
22
+ def client_event_id=: (String) -> String
23
+
24
+ attr_reader param: String?
25
+
26
+ def param=: (String) -> String
27
+
28
+ def initialize: (
29
+ code: String,
30
+ message: String,
31
+ type: String,
32
+ ?client_event_id: String,
33
+ ?param: String
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ code: String,
38
+ message: String,
39
+ type: String,
40
+ ?client_event_id: String,
41
+ ?param: String
42
+ }
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,39 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type error_event =
5
+ {
6
+ error: OpenAI::Live::Error,
7
+ event_id: String,
8
+ ?type: :error,
9
+ ?client_event_id: String
10
+ }
11
+
12
+ class ErrorEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor error: OpenAI::Live::Error
14
+
15
+ attr_accessor event_id: String
16
+
17
+ attr_accessor type: :error
18
+
19
+ attr_reader client_event_id: String?
20
+
21
+ def client_event_id=: (String) -> String
22
+
23
+ def initialize: (
24
+ error: OpenAI::Live::Error,
25
+ event_id: String,
26
+ ?client_event_id: String,
27
+ ?type: :error
28
+ ) -> void
29
+
30
+ def to_hash: -> {
31
+ error: OpenAI::Live::Error,
32
+ event_id: String,
33
+ ?type: :error,
34
+ ?client_event_id: String
35
+ }
36
+ end
37
+ end
38
+ end
39
+ end
@@ -0,0 +1,24 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type fork_client_event =
5
+ OpenAI::Live::ForkSessionStartEvent
6
+ | OpenAI::Live::SessionUpdateEvent
7
+ | OpenAI::Live::InputAudioAppendEvent
8
+ | OpenAI::Live::InputAudioMuteEvent
9
+ | OpenAI::Live::InputAudioUnmuteEvent
10
+ | OpenAI::Live::InstructionsAppendEvent
11
+ | OpenAI::Live::ThinkingAppendEvent
12
+ | OpenAI::Live::CommentaryAppendEvent
13
+ | OpenAI::Live::ResponseItemCreateEvent
14
+ | OpenAI::Live::ResponseCreateEvent
15
+ | OpenAI::Live::SessionCloseEvent
16
+
17
+ module ForkClientEvent
18
+ extend OpenAI::Internal::Type::Union
19
+
20
+ def self?.variants: -> ::Array[OpenAI::Models::Live::fork_client_event]
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,212 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type fork_server_event =
5
+ OpenAI::Live::SessionStartedEvent
6
+ | OpenAI::Live::SessionUpdatedEvent
7
+ | OpenAI::Live::InputAudioMutedEvent
8
+ | OpenAI::Live::InputAudioUnmutedEvent
9
+ | OpenAI::Live::InstructionsAppendedEvent
10
+ | OpenAI::Live::ThinkingAppendedEvent
11
+ | OpenAI::Live::CommentaryAppendedEvent
12
+ | OpenAI::Live::ForkServerEvent::SessionInputAudioAppend
13
+ | OpenAI::Live::OutputAudioDeltaEvent
14
+ | OpenAI::Live::InputTranscriptDeltaEvent
15
+ | OpenAI::Live::OutputTranscriptDeltaEvent
16
+ | OpenAI::Live::DelegationCreatedEvent
17
+ | OpenAI::Live::ResponseEvent
18
+ | OpenAI::Live::SessionUsageUpdatedEvent
19
+ | OpenAI::Live::SessionClosedEvent
20
+ | OpenAI::Live::ErrorEvent
21
+ | OpenAI::Live::InfoEvent
22
+ | OpenAI::Live::ForkServerEvent::TransportDtmfReceived
23
+ | OpenAI::Live::ForkServerEvent::TransportDtmfSend
24
+ | OpenAI::Live::ForkServerEvent::TransportRinging
25
+ | OpenAI::Live::ForkServerEvent::TransportAnswered
26
+ | OpenAI::Live::ForkServerEvent::TransportFailed
27
+
28
+ module ForkServerEvent
29
+ extend OpenAI::Internal::Type::Union
30
+
31
+ type session_input_audio_append =
32
+ { audio: String, ?type: :"session.input_audio.append" }
33
+
34
+ class SessionInputAudioAppend < OpenAI::Internal::Type::BaseModel
35
+ attr_accessor audio: String
36
+
37
+ attr_accessor type: :"session.input_audio.append"
38
+
39
+ def initialize: (
40
+ audio: String,
41
+ ?type: :"session.input_audio.append"
42
+ ) -> void
43
+
44
+ def to_hash: -> {
45
+ audio: String,
46
+ ?type: :"session.input_audio.append"
47
+ }
48
+ end
49
+
50
+ type transport_dtmf_received =
51
+ { event: String, event_id: String, ?type: :"transport.dtmf.received" }
52
+
53
+ class TransportDtmfReceived < OpenAI::Internal::Type::BaseModel
54
+ attr_accessor event: String
55
+
56
+ attr_accessor event_id: String
57
+
58
+ attr_accessor type: :"transport.dtmf.received"
59
+
60
+ def initialize: (
61
+ event: String,
62
+ event_id: String,
63
+ ?type: :"transport.dtmf.received"
64
+ ) -> void
65
+
66
+ def to_hash: -> {
67
+ event: String,
68
+ event_id: String,
69
+ ?type: :"transport.dtmf.received"
70
+ }
71
+ end
72
+
73
+ type transport_dtmf_send =
74
+ { event: String, event_id: String, ?type: :"transport.dtmf.send" }
75
+
76
+ class TransportDtmfSend < OpenAI::Internal::Type::BaseModel
77
+ attr_accessor event: String
78
+
79
+ attr_accessor event_id: String
80
+
81
+ attr_accessor type: :"transport.dtmf.send"
82
+
83
+ def initialize: (
84
+ event: String,
85
+ event_id: String,
86
+ ?type: :"transport.dtmf.send"
87
+ ) -> void
88
+
89
+ def to_hash: -> {
90
+ event: String,
91
+ event_id: String,
92
+ ?type: :"transport.dtmf.send"
93
+ }
94
+ end
95
+
96
+ type transport_ringing =
97
+ { event_id: String, session_id: String, ?type: :"transport.ringing" }
98
+
99
+ class TransportRinging < OpenAI::Internal::Type::BaseModel
100
+ attr_accessor event_id: String
101
+
102
+ attr_accessor session_id: String
103
+
104
+ attr_accessor type: :"transport.ringing"
105
+
106
+ def initialize: (
107
+ event_id: String,
108
+ session_id: String,
109
+ ?type: :"transport.ringing"
110
+ ) -> void
111
+
112
+ def to_hash: -> {
113
+ event_id: String,
114
+ session_id: String,
115
+ ?type: :"transport.ringing"
116
+ }
117
+ end
118
+
119
+ type transport_answered =
120
+ { event_id: String, session_id: String, ?type: :"transport.answered" }
121
+
122
+ class TransportAnswered < OpenAI::Internal::Type::BaseModel
123
+ attr_accessor event_id: String
124
+
125
+ attr_accessor session_id: String
126
+
127
+ attr_accessor type: :"transport.answered"
128
+
129
+ def initialize: (
130
+ event_id: String,
131
+ session_id: String,
132
+ ?type: :"transport.answered"
133
+ ) -> void
134
+
135
+ def to_hash: -> {
136
+ event_id: String,
137
+ session_id: String,
138
+ ?type: :"transport.answered"
139
+ }
140
+ end
141
+
142
+ type transport_failed =
143
+ {
144
+ error: OpenAI::Live::ForkServerEvent::TransportFailed::Error,
145
+ event_id: String,
146
+ session_id: String,
147
+ ?type: :"transport.failed"
148
+ }
149
+
150
+ class TransportFailed < OpenAI::Internal::Type::BaseModel
151
+ attr_accessor error: OpenAI::Live::ForkServerEvent::TransportFailed::Error
152
+
153
+ attr_accessor event_id: String
154
+
155
+ attr_accessor session_id: String
156
+
157
+ attr_accessor type: :"transport.failed"
158
+
159
+ def initialize: (
160
+ error: OpenAI::Live::ForkServerEvent::TransportFailed::Error,
161
+ event_id: String,
162
+ session_id: String,
163
+ ?type: :"transport.failed"
164
+ ) -> void
165
+
166
+ def to_hash: -> {
167
+ error: OpenAI::Live::ForkServerEvent::TransportFailed::Error,
168
+ event_id: String,
169
+ session_id: String,
170
+ ?type: :"transport.failed"
171
+ }
172
+
173
+ type error =
174
+ {
175
+ code: String,
176
+ message: String,
177
+ ?type: :call_error,
178
+ ?param: String
179
+ }
180
+
181
+ class Error < OpenAI::Internal::Type::BaseModel
182
+ attr_accessor code: String
183
+
184
+ attr_accessor message: String
185
+
186
+ attr_accessor type: :call_error
187
+
188
+ attr_reader param: String?
189
+
190
+ def param=: (String) -> String
191
+
192
+ def initialize: (
193
+ code: String,
194
+ message: String,
195
+ ?param: String,
196
+ ?type: :call_error
197
+ ) -> void
198
+
199
+ def to_hash: -> {
200
+ code: String,
201
+ message: String,
202
+ ?type: :call_error,
203
+ ?param: String
204
+ }
205
+ end
206
+ end
207
+
208
+ def self?.variants: -> ::Array[OpenAI::Models::Live::fork_server_event]
209
+ end
210
+ end
211
+ end
212
+ end
@@ -0,0 +1,89 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type fork_session_config =
5
+ {
6
+ ?audio: OpenAI::Live::ForkSessionConfig::Audio,
7
+ ?client: OpenAI::Live::ClientConfig,
8
+ ?delegation: OpenAI::Live::ForkSessionConfig::Delegation,
9
+ ?store: bool
10
+ }
11
+
12
+ class ForkSessionConfig < OpenAI::Internal::Type::BaseModel
13
+ attr_reader audio: OpenAI::Live::ForkSessionConfig::Audio?
14
+
15
+ def audio=: (
16
+ OpenAI::Live::ForkSessionConfig::Audio
17
+ ) -> OpenAI::Live::ForkSessionConfig::Audio
18
+
19
+ attr_reader client: OpenAI::Live::ClientConfig?
20
+
21
+ def client=: (OpenAI::Live::ClientConfig) -> OpenAI::Live::ClientConfig
22
+
23
+ attr_reader delegation: OpenAI::Live::ForkSessionConfig::Delegation?
24
+
25
+ def delegation=: (
26
+ OpenAI::Live::ForkSessionConfig::Delegation
27
+ ) -> OpenAI::Live::ForkSessionConfig::Delegation
28
+
29
+ attr_reader store: bool?
30
+
31
+ def store=: (bool) -> bool
32
+
33
+ def initialize: (
34
+ ?audio: OpenAI::Live::ForkSessionConfig::Audio,
35
+ ?client: OpenAI::Live::ClientConfig,
36
+ ?delegation: OpenAI::Live::ForkSessionConfig::Delegation,
37
+ ?store: bool
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ ?audio: OpenAI::Live::ForkSessionConfig::Audio,
42
+ ?client: OpenAI::Live::ClientConfig,
43
+ ?delegation: OpenAI::Live::ForkSessionConfig::Delegation,
44
+ ?store: bool
45
+ }
46
+
47
+ type audio = { ?format_: OpenAI::Models::Live::audio_format }
48
+
49
+ class Audio < OpenAI::Internal::Type::BaseModel
50
+ attr_reader format_: OpenAI::Models::Live::audio_format?
51
+
52
+ def format_=: (
53
+ OpenAI::Models::Live::audio_format
54
+ ) -> OpenAI::Models::Live::audio_format
55
+
56
+ def initialize: (?format_: OpenAI::Models::Live::audio_format) -> void
57
+
58
+ def to_hash: -> { ?format_: OpenAI::Models::Live::audio_format }
59
+ end
60
+
61
+ type delegation =
62
+ {
63
+ ?type: :responses,
64
+ ?responses: OpenAI::Live::ResponsesDelegationUpdateConfig
65
+ }
66
+
67
+ class Delegation < OpenAI::Internal::Type::BaseModel
68
+ attr_accessor type: :responses
69
+
70
+ attr_reader responses: OpenAI::Live::ResponsesDelegationUpdateConfig?
71
+
72
+ def responses=: (
73
+ OpenAI::Live::ResponsesDelegationUpdateConfig
74
+ ) -> OpenAI::Live::ResponsesDelegationUpdateConfig
75
+
76
+ def initialize: (
77
+ ?responses: OpenAI::Live::ResponsesDelegationUpdateConfig,
78
+ ?type: :responses
79
+ ) -> void
80
+
81
+ def to_hash: -> {
82
+ ?type: :responses,
83
+ ?responses: OpenAI::Live::ResponsesDelegationUpdateConfig
84
+ }
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,32 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type fork_session_start_event =
5
+ {
6
+ session: OpenAI::Live::ForkSessionConfig,
7
+ ?type: :"session.start",
8
+ ?event_id: String?
9
+ }
10
+
11
+ class ForkSessionStartEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor session: OpenAI::Live::ForkSessionConfig
13
+
14
+ attr_accessor type: :"session.start"
15
+
16
+ attr_accessor event_id: String?
17
+
18
+ def initialize: (
19
+ session: OpenAI::Live::ForkSessionConfig,
20
+ ?event_id: String?,
21
+ ?type: :"session.start"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ session: OpenAI::Live::ForkSessionConfig,
26
+ ?type: :"session.start",
27
+ ?event_id: String?
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,42 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type function_tool =
5
+ {
6
+ name: String,
7
+ ?type: :function,
8
+ ?description: String?,
9
+ ?parameters: ::Hash[Symbol, top]?,
10
+ ?strict: bool?
11
+ }
12
+
13
+ class FunctionTool < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor name: String
15
+
16
+ attr_accessor type: :function
17
+
18
+ attr_accessor description: String?
19
+
20
+ attr_accessor parameters: ::Hash[Symbol, top]?
21
+
22
+ attr_accessor strict: bool?
23
+
24
+ def initialize: (
25
+ name: String,
26
+ ?description: String?,
27
+ ?parameters: ::Hash[Symbol, top]?,
28
+ ?strict: bool?,
29
+ ?type: :function
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ name: String,
34
+ ?type: :function,
35
+ ?description: String?,
36
+ ?parameters: ::Hash[Symbol, top]?,
37
+ ?strict: bool?
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end