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 info_event =
5
+ {
6
+ code: String,
7
+ event_id: String,
8
+ message: String,
9
+ ?type: :info,
10
+ ?client_event_id: String
11
+ }
12
+
13
+ class InfoEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor code: String
15
+
16
+ attr_accessor event_id: String
17
+
18
+ attr_accessor message: String
19
+
20
+ attr_accessor type: :info
21
+
22
+ attr_reader client_event_id: String?
23
+
24
+ def client_event_id=: (String) -> String
25
+
26
+ def initialize: (
27
+ code: String,
28
+ event_id: String,
29
+ message: String,
30
+ ?client_event_id: String,
31
+ ?type: :info
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ code: String,
36
+ event_id: String,
37
+ message: String,
38
+ ?type: :info,
39
+ ?client_event_id: String
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,332 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type initial_item =
5
+ OpenAI::Live::InitialItem::Developer
6
+ | OpenAI::Live::InitialItem::User
7
+ | OpenAI::Live::InitialItem::Assistant
8
+
9
+ module InitialItem
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ type developer =
13
+ {
14
+ content: ::Array[OpenAI::Live::InitialItem::Developer::Content],
15
+ ?role: :developer,
16
+ ?id: String?,
17
+ ?status: OpenAI::Models::Live::InitialItem::Developer::status?,
18
+ ?type: OpenAI::Models::Live::InitialItem::Developer::type_
19
+ }
20
+
21
+ class Developer < OpenAI::Internal::Type::BaseModel
22
+ attr_accessor content: ::Array[OpenAI::Live::InitialItem::Developer::Content]
23
+
24
+ attr_accessor role: :developer
25
+
26
+ attr_accessor id: String?
27
+
28
+ attr_accessor status: OpenAI::Models::Live::InitialItem::Developer::status?
29
+
30
+ attr_reader type: OpenAI::Models::Live::InitialItem::Developer::type_?
31
+
32
+ def type=: (
33
+ OpenAI::Models::Live::InitialItem::Developer::type_
34
+ ) -> OpenAI::Models::Live::InitialItem::Developer::type_
35
+
36
+ def initialize: (
37
+ content: ::Array[OpenAI::Live::InitialItem::Developer::Content],
38
+ ?id: String?,
39
+ ?status: OpenAI::Models::Live::InitialItem::Developer::status?,
40
+ ?type: OpenAI::Models::Live::InitialItem::Developer::type_,
41
+ ?role: :developer
42
+ ) -> void
43
+
44
+ def to_hash: -> {
45
+ content: ::Array[OpenAI::Live::InitialItem::Developer::Content],
46
+ ?role: :developer,
47
+ ?id: String?,
48
+ ?status: OpenAI::Models::Live::InitialItem::Developer::status?,
49
+ ?type: OpenAI::Models::Live::InitialItem::Developer::type_
50
+ }
51
+
52
+ type content =
53
+ {
54
+ text: String,
55
+ ?type: OpenAI::Models::Live::InitialItem::Developer::Content::type_
56
+ }
57
+
58
+ class Content < OpenAI::Internal::Type::BaseModel
59
+ attr_accessor text: String
60
+
61
+ attr_reader type: OpenAI::Models::Live::InitialItem::Developer::Content::type_?
62
+
63
+ def type=: (
64
+ OpenAI::Models::Live::InitialItem::Developer::Content::type_
65
+ ) -> OpenAI::Models::Live::InitialItem::Developer::Content::type_
66
+
67
+ def initialize: (
68
+ text: String,
69
+ ?type: OpenAI::Models::Live::InitialItem::Developer::Content::type_
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ text: String,
74
+ ?type: OpenAI::Models::Live::InitialItem::Developer::Content::type_
75
+ }
76
+
77
+ type type_ = :input_text
78
+
79
+ module Type
80
+ extend OpenAI::Internal::Type::Enum
81
+
82
+ INPUT_TEXT: :input_text
83
+
84
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::Developer::Content::type_]
85
+ end
86
+ end
87
+
88
+ type status = :incomplete | :completed
89
+
90
+ module Status
91
+ extend OpenAI::Internal::Type::Enum
92
+
93
+ INCOMPLETE: :incomplete
94
+ COMPLETED: :completed
95
+
96
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::Developer::status]
97
+ end
98
+
99
+ type type_ = :message
100
+
101
+ module Type
102
+ extend OpenAI::Internal::Type::Enum
103
+
104
+ MESSAGE: :message
105
+
106
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::Developer::type_]
107
+ end
108
+ end
109
+
110
+ type user =
111
+ {
112
+ content: ::Array[OpenAI::Live::InitialItem::User::Content],
113
+ ?role: :user,
114
+ ?id: String?,
115
+ ?status: OpenAI::Models::Live::InitialItem::User::status?,
116
+ ?type: OpenAI::Models::Live::InitialItem::User::type_
117
+ }
118
+
119
+ class User < OpenAI::Internal::Type::BaseModel
120
+ attr_accessor content: ::Array[OpenAI::Live::InitialItem::User::Content]
121
+
122
+ attr_accessor role: :user
123
+
124
+ attr_accessor id: String?
125
+
126
+ attr_accessor status: OpenAI::Models::Live::InitialItem::User::status?
127
+
128
+ attr_reader type: OpenAI::Models::Live::InitialItem::User::type_?
129
+
130
+ def type=: (
131
+ OpenAI::Models::Live::InitialItem::User::type_
132
+ ) -> OpenAI::Models::Live::InitialItem::User::type_
133
+
134
+ def initialize: (
135
+ content: ::Array[OpenAI::Live::InitialItem::User::Content],
136
+ ?id: String?,
137
+ ?status: OpenAI::Models::Live::InitialItem::User::status?,
138
+ ?type: OpenAI::Models::Live::InitialItem::User::type_,
139
+ ?role: :user
140
+ ) -> void
141
+
142
+ def to_hash: -> {
143
+ content: ::Array[OpenAI::Live::InitialItem::User::Content],
144
+ ?role: :user,
145
+ ?id: String?,
146
+ ?status: OpenAI::Models::Live::InitialItem::User::status?,
147
+ ?type: OpenAI::Models::Live::InitialItem::User::type_
148
+ }
149
+
150
+ type content =
151
+ {
152
+ text: String,
153
+ ?type: OpenAI::Models::Live::InitialItem::User::Content::type_
154
+ }
155
+
156
+ class Content < OpenAI::Internal::Type::BaseModel
157
+ attr_accessor text: String
158
+
159
+ attr_reader type: OpenAI::Models::Live::InitialItem::User::Content::type_?
160
+
161
+ def type=: (
162
+ OpenAI::Models::Live::InitialItem::User::Content::type_
163
+ ) -> OpenAI::Models::Live::InitialItem::User::Content::type_
164
+
165
+ def initialize: (
166
+ text: String,
167
+ ?type: OpenAI::Models::Live::InitialItem::User::Content::type_
168
+ ) -> void
169
+
170
+ def to_hash: -> {
171
+ text: String,
172
+ ?type: OpenAI::Models::Live::InitialItem::User::Content::type_
173
+ }
174
+
175
+ type type_ = :input_text
176
+
177
+ module Type
178
+ extend OpenAI::Internal::Type::Enum
179
+
180
+ INPUT_TEXT: :input_text
181
+
182
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::User::Content::type_]
183
+ end
184
+ end
185
+
186
+ type status = :incomplete | :completed
187
+
188
+ module Status
189
+ extend OpenAI::Internal::Type::Enum
190
+
191
+ INCOMPLETE: :incomplete
192
+ COMPLETED: :completed
193
+
194
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::User::status]
195
+ end
196
+
197
+ type type_ = :message
198
+
199
+ module Type
200
+ extend OpenAI::Internal::Type::Enum
201
+
202
+ MESSAGE: :message
203
+
204
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::User::type_]
205
+ end
206
+ end
207
+
208
+ type assistant =
209
+ {
210
+ content: ::Array[OpenAI::Models::Live::InitialItem::Assistant::content],
211
+ ?role: :assistant,
212
+ ?id: String?,
213
+ ?status: OpenAI::Models::Live::InitialItem::Assistant::status?,
214
+ ?type: OpenAI::Models::Live::InitialItem::Assistant::type_
215
+ }
216
+
217
+ class Assistant < OpenAI::Internal::Type::BaseModel
218
+ attr_accessor content: ::Array[OpenAI::Models::Live::InitialItem::Assistant::content]
219
+
220
+ attr_accessor role: :assistant
221
+
222
+ attr_accessor id: String?
223
+
224
+ attr_accessor status: OpenAI::Models::Live::InitialItem::Assistant::status?
225
+
226
+ attr_reader type: OpenAI::Models::Live::InitialItem::Assistant::type_?
227
+
228
+ def type=: (
229
+ OpenAI::Models::Live::InitialItem::Assistant::type_
230
+ ) -> OpenAI::Models::Live::InitialItem::Assistant::type_
231
+
232
+ def initialize: (
233
+ content: ::Array[OpenAI::Models::Live::InitialItem::Assistant::content],
234
+ ?id: String?,
235
+ ?status: OpenAI::Models::Live::InitialItem::Assistant::status?,
236
+ ?type: OpenAI::Models::Live::InitialItem::Assistant::type_,
237
+ ?role: :assistant
238
+ ) -> void
239
+
240
+ def to_hash: -> {
241
+ content: ::Array[OpenAI::Models::Live::InitialItem::Assistant::content],
242
+ ?role: :assistant,
243
+ ?id: String?,
244
+ ?status: OpenAI::Models::Live::InitialItem::Assistant::status?,
245
+ ?type: OpenAI::Models::Live::InitialItem::Assistant::type_
246
+ }
247
+
248
+ type content =
249
+ OpenAI::Live::InitialItem::Assistant::Content::Text
250
+ | OpenAI::Live::InitialItem::Assistant::Content::OutputText
251
+
252
+ module Content
253
+ extend OpenAI::Internal::Type::Union
254
+
255
+ type text =
256
+ {
257
+ text: String,
258
+ ?type: OpenAI::Models::Live::InitialItem::Assistant::Content::Text::type_
259
+ }
260
+
261
+ class Text < OpenAI::Internal::Type::BaseModel
262
+ attr_accessor text: String
263
+
264
+ attr_reader type: OpenAI::Models::Live::InitialItem::Assistant::Content::Text::type_?
265
+
266
+ def type=: (
267
+ OpenAI::Models::Live::InitialItem::Assistant::Content::Text::type_
268
+ ) -> OpenAI::Models::Live::InitialItem::Assistant::Content::Text::type_
269
+
270
+ def initialize: (
271
+ text: String,
272
+ ?type: OpenAI::Models::Live::InitialItem::Assistant::Content::Text::type_
273
+ ) -> void
274
+
275
+ def to_hash: -> {
276
+ text: String,
277
+ ?type: OpenAI::Models::Live::InitialItem::Assistant::Content::Text::type_
278
+ }
279
+
280
+ type type_ = :text
281
+
282
+ module Type
283
+ extend OpenAI::Internal::Type::Enum
284
+
285
+ TEXT: :text
286
+
287
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::Assistant::Content::Text::type_]
288
+ end
289
+ end
290
+
291
+ type output_text = { text: String, ?type: :output_text }
292
+
293
+ class OutputText < OpenAI::Internal::Type::BaseModel
294
+ attr_accessor text: String
295
+
296
+ attr_accessor type: :output_text
297
+
298
+ def initialize: (text: String, ?type: :output_text) -> void
299
+
300
+ def to_hash: -> { text: String, ?type: :output_text }
301
+ end
302
+
303
+ def self?.variants: -> ::Array[OpenAI::Models::Live::InitialItem::Assistant::content]
304
+ end
305
+
306
+ type status = :incomplete | :completed
307
+
308
+ module Status
309
+ extend OpenAI::Internal::Type::Enum
310
+
311
+ INCOMPLETE: :incomplete
312
+ COMPLETED: :completed
313
+
314
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::Assistant::status]
315
+ end
316
+
317
+ type type_ = :message
318
+
319
+ module Type
320
+ extend OpenAI::Internal::Type::Enum
321
+
322
+ MESSAGE: :message
323
+
324
+ def self?.values: -> ::Array[OpenAI::Models::Live::InitialItem::Assistant::type_]
325
+ end
326
+ end
327
+
328
+ def self?.variants: -> ::Array[OpenAI::Models::Live::initial_item]
329
+ end
330
+ end
331
+ end
332
+ end
@@ -0,0 +1,32 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type input_audio_append_event =
5
+ {
6
+ audio: String,
7
+ ?type: :"session.input_audio.append",
8
+ ?event_id: String?
9
+ }
10
+
11
+ class InputAudioAppendEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor audio: String
13
+
14
+ attr_accessor type: :"session.input_audio.append"
15
+
16
+ attr_accessor event_id: String?
17
+
18
+ def initialize: (
19
+ audio: String,
20
+ ?event_id: String?,
21
+ ?type: :"session.input_audio.append"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ audio: String,
26
+ ?type: :"session.input_audio.append",
27
+ ?event_id: String?
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,24 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type input_audio_mute_event =
5
+ { ?type: :"session.input_audio.mute", ?event_id: String? }
6
+
7
+ class InputAudioMuteEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor type: :"session.input_audio.mute"
9
+
10
+ attr_accessor event_id: String?
11
+
12
+ def initialize: (
13
+ ?event_id: String?,
14
+ ?type: :"session.input_audio.mute"
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ ?type: :"session.input_audio.mute",
19
+ ?event_id: String?
20
+ }
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type input_audio_muted_event =
5
+ {
6
+ event_id: String,
7
+ ?type: :"session.input_audio.muted",
8
+ ?client_event_id: String
9
+ }
10
+
11
+ class InputAudioMutedEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor event_id: String
13
+
14
+ attr_accessor type: :"session.input_audio.muted"
15
+
16
+ attr_reader client_event_id: String?
17
+
18
+ def client_event_id=: (String) -> String
19
+
20
+ def initialize: (
21
+ event_id: String,
22
+ ?client_event_id: String,
23
+ ?type: :"session.input_audio.muted"
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ event_id: String,
28
+ ?type: :"session.input_audio.muted",
29
+ ?client_event_id: String
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,24 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type input_audio_unmute_event =
5
+ { ?type: :"session.input_audio.unmute", ?event_id: String? }
6
+
7
+ class InputAudioUnmuteEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor type: :"session.input_audio.unmute"
9
+
10
+ attr_accessor event_id: String?
11
+
12
+ def initialize: (
13
+ ?event_id: String?,
14
+ ?type: :"session.input_audio.unmute"
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ ?type: :"session.input_audio.unmute",
19
+ ?event_id: String?
20
+ }
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type input_audio_unmuted_event =
5
+ {
6
+ event_id: String,
7
+ ?type: :"session.input_audio.unmuted",
8
+ ?client_event_id: String
9
+ }
10
+
11
+ class InputAudioUnmutedEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor event_id: String
13
+
14
+ attr_accessor type: :"session.input_audio.unmuted"
15
+
16
+ attr_reader client_event_id: String?
17
+
18
+ def client_event_id=: (String) -> String
19
+
20
+ def initialize: (
21
+ event_id: String,
22
+ ?client_event_id: String,
23
+ ?type: :"session.input_audio.unmuted"
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ event_id: String,
28
+ ?type: :"session.input_audio.unmuted",
29
+ ?client_event_id: String
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,49 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type input_transcript_delta_event =
5
+ {
6
+ delta: String,
7
+ end_ms: Integer,
8
+ event_id: String,
9
+ start_ms: Integer,
10
+ ?type: :"session.input_transcript.delta",
11
+ ?client_event_id: String
12
+ }
13
+
14
+ class InputTranscriptDeltaEvent < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor delta: String
16
+
17
+ attr_accessor end_ms: Integer
18
+
19
+ attr_accessor event_id: String
20
+
21
+ attr_accessor start_ms: Integer
22
+
23
+ attr_accessor type: :"session.input_transcript.delta"
24
+
25
+ attr_reader client_event_id: String?
26
+
27
+ def client_event_id=: (String) -> String
28
+
29
+ def initialize: (
30
+ delta: String,
31
+ end_ms: Integer,
32
+ event_id: String,
33
+ start_ms: Integer,
34
+ ?client_event_id: String,
35
+ ?type: :"session.input_transcript.delta"
36
+ ) -> void
37
+
38
+ def to_hash: -> {
39
+ delta: String,
40
+ end_ms: Integer,
41
+ event_id: String,
42
+ start_ms: Integer,
43
+ ?type: :"session.input_transcript.delta",
44
+ ?client_event_id: String
45
+ }
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,37 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type instructions_append_event =
5
+ {
6
+ content: String,
7
+ delegation_id: String?,
8
+ ?type: :"session.instructions.append",
9
+ ?event_id: String?
10
+ }
11
+
12
+ class InstructionsAppendEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor content: String
14
+
15
+ attr_accessor delegation_id: String?
16
+
17
+ attr_accessor type: :"session.instructions.append"
18
+
19
+ attr_accessor event_id: String?
20
+
21
+ def initialize: (
22
+ content: String,
23
+ delegation_id: String?,
24
+ ?event_id: String?,
25
+ ?type: :"session.instructions.append"
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ content: String,
30
+ delegation_id: String?,
31
+ ?type: :"session.instructions.append",
32
+ ?event_id: String?
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,44 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type instructions_appended_event =
5
+ {
6
+ end_ms: Integer,
7
+ event_id: String,
8
+ start_ms: Integer,
9
+ ?type: :"session.instructions.appended",
10
+ ?client_event_id: String
11
+ }
12
+
13
+ class InstructionsAppendedEvent < 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.instructions.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.instructions.appended"
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ end_ms: Integer,
36
+ event_id: String,
37
+ start_ms: Integer,
38
+ ?type: :"session.instructions.appended",
39
+ ?client_event_id: String
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,45 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type live_create_params =
5
+ {
6
+ session: OpenAI::Live::MediaSessionConfig,
7
+ transport: OpenAI::Live::LiveCreateParams::Transport,
8
+ ?request_options: OpenAI::request_opts
9
+ }
10
+
11
+ class LiveCreateParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_accessor session: OpenAI::Live::MediaSessionConfig
16
+
17
+ attr_accessor transport: OpenAI::Live::LiveCreateParams::Transport
18
+
19
+ def initialize: (
20
+ session: OpenAI::Live::MediaSessionConfig,
21
+ transport: OpenAI::Live::LiveCreateParams::Transport,
22
+ ?request_options: OpenAI::request_opts
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ session: OpenAI::Live::MediaSessionConfig,
27
+ transport: OpenAI::Live::LiveCreateParams::Transport,
28
+ ?request_options: OpenAI::RequestOptions
29
+ }
30
+
31
+ type transport = { sdp: String, ?type: :webrtc }
32
+
33
+ class Transport < OpenAI::Internal::Type::BaseModel
34
+ attr_accessor sdp: String
35
+
36
+ attr_accessor type: :webrtc
37
+
38
+ def initialize: (sdp: String, ?type: :webrtc) -> void
39
+
40
+ def to_hash: -> { sdp: String, ?type: :webrtc }
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end