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,661 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Live
7
+
8
+ # A developer, user, or assistant message supplied as text history before the Live
9
+ # session starts.
10
+ module InitialItem
11
+ extend OpenAI::Internal::Type::Union
12
+
13
+ Variants = T.type_alias do
14
+ T.any(
15
+ OpenAI::Live::InitialItem::Developer,
16
+ OpenAI::Live::InitialItem::User,
17
+ OpenAI::Live::InitialItem::Assistant
18
+ )
19
+ end
20
+
21
+ class Developer < OpenAI::Internal::Type::BaseModel
22
+ OrHash = T.type_alias do
23
+ T.any(
24
+ OpenAI::Live::InitialItem::Developer,
25
+ OpenAI::Internal::AnyHash
26
+ )
27
+ end
28
+
29
+ # The message content. Supply exactly one text part for the initial Live
30
+ # conversation history.
31
+ sig { returns(T::Array[OpenAI::Live::InitialItem::Developer::Content]) }
32
+ attr_accessor :content
33
+
34
+ # The author of this history message. Always `developer`.
35
+ sig { returns(Symbol) }
36
+ attr_accessor :role
37
+
38
+ # An optional identifier for the supplied history message. Live uses the message’s
39
+ # role and text to initialize the conversation.
40
+ sig { returns(T.nilable(String)) }
41
+ attr_accessor :id
42
+
43
+ # The supplied message’s status. Live uses its text as history and does not resume
44
+ # an incomplete message.
45
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::Developer::Status::OrSymbol)) }
46
+ attr_accessor :status
47
+
48
+ # The history item type. Always `message`.
49
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::Developer::Type::OrSymbol)) }
50
+ attr_reader :type
51
+
52
+ sig { params(type: OpenAI::Live::InitialItem::Developer::Type::OrSymbol).void }
53
+ attr_writer :type
54
+
55
+ # A developer message included in the initial text history of a Live session.
56
+ sig do
57
+ params(
58
+
59
+ content: T::Array[OpenAI::Live::InitialItem::Developer::Content::OrHash],
60
+
61
+ id: T.nilable(String),
62
+
63
+ status: T.nilable(OpenAI::Live::InitialItem::Developer::Status::OrSymbol),
64
+
65
+ type: OpenAI::Live::InitialItem::Developer::Type::OrSymbol,
66
+
67
+ role: Symbol
68
+ )
69
+ .returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+
73
+ # The message content. Supply exactly one text part for the initial Live
74
+ # conversation history.
75
+ content:,
76
+
77
+ # An optional identifier for the supplied history message. Live uses the message’s
78
+ # role and text to initialize the conversation.
79
+ id: nil,
80
+
81
+ # The supplied message’s status. Live uses its text as history and does not resume
82
+ # an incomplete message.
83
+ status: nil,
84
+
85
+ # The history item type. Always `message`.
86
+ type: nil,
87
+
88
+ # The author of this history message. Always `developer`.
89
+
90
+ role: :developer
91
+ )
92
+ end
93
+
94
+ sig do
95
+ override.returns(
96
+ {
97
+ content: T::Array[OpenAI::Live::InitialItem::Developer::Content],
98
+ role: Symbol,
99
+ id: T.nilable(String),
100
+ status: T.nilable(OpenAI::Live::InitialItem::Developer::Status::OrSymbol),
101
+ type: OpenAI::Live::InitialItem::Developer::Type::OrSymbol
102
+ }
103
+ )
104
+ end
105
+ def to_hash
106
+ end
107
+
108
+ class Content < OpenAI::Internal::Type::BaseModel
109
+ OrHash = T.type_alias do
110
+ T.any(
111
+ OpenAI::Live::InitialItem::Developer::Content,
112
+ OpenAI::Internal::AnyHash
113
+ )
114
+ end
115
+
116
+ # The message text to include in the Live session’s initial conversation history.
117
+ sig { returns(String) }
118
+ attr_accessor :text
119
+
120
+ # The text content type. Always `input_text`.
121
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::Developer::Content::Type::OrSymbol)) }
122
+ attr_reader :type
123
+
124
+ sig { params(type: OpenAI::Live::InitialItem::Developer::Content::Type::OrSymbol).void }
125
+ attr_writer :type
126
+
127
+ # Text supplied in a developer or user message when starting a Live session.
128
+ sig do
129
+ params(
130
+
131
+ text: String,
132
+
133
+ type: OpenAI::Live::InitialItem::Developer::Content::Type::OrSymbol
134
+ )
135
+ .returns(T.attached_class)
136
+ end
137
+ def self.new(
138
+
139
+ # The message text to include in the Live session’s initial conversation history.
140
+ text:,
141
+
142
+ # The text content type. Always `input_text`.
143
+
144
+ type: nil
145
+ )
146
+ end
147
+
148
+ sig do
149
+ override.returns(
150
+ {text: String, type: OpenAI::Live::InitialItem::Developer::Content::Type::OrSymbol}
151
+ )
152
+ end
153
+ def to_hash
154
+ end
155
+
156
+ # The text content type. Always `input_text`.
157
+ module Type
158
+ extend OpenAI::Internal::Type::Enum
159
+
160
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::InitialItem::Developer::Content::Type) }
161
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
162
+
163
+ INPUT_TEXT = T.let(:input_text, OpenAI::Live::InitialItem::Developer::Content::Type::TaggedSymbol)
164
+
165
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::Developer::Content::Type::TaggedSymbol]) }
166
+ def self.values
167
+ end
168
+ end
169
+ end
170
+
171
+ # The supplied message’s status. Live uses its text as history and does not resume
172
+ # an incomplete message.
173
+ module Status
174
+ extend OpenAI::Internal::Type::Enum
175
+
176
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::InitialItem::Developer::Status) }
177
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
178
+
179
+ INCOMPLETE = T.let(:incomplete, OpenAI::Live::InitialItem::Developer::Status::TaggedSymbol)
180
+ COMPLETED = T.let(:completed, OpenAI::Live::InitialItem::Developer::Status::TaggedSymbol)
181
+
182
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::Developer::Status::TaggedSymbol]) }
183
+ def self.values
184
+ end
185
+ end
186
+
187
+ # The history item type. Always `message`.
188
+ module Type
189
+ extend OpenAI::Internal::Type::Enum
190
+
191
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::InitialItem::Developer::Type) }
192
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
193
+
194
+ MESSAGE = T.let(:message, OpenAI::Live::InitialItem::Developer::Type::TaggedSymbol)
195
+
196
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::Developer::Type::TaggedSymbol]) }
197
+ def self.values
198
+ end
199
+ end
200
+ end
201
+
202
+ class User < OpenAI::Internal::Type::BaseModel
203
+ OrHash = T.type_alias do
204
+ T.any(
205
+ OpenAI::Live::InitialItem::User,
206
+ OpenAI::Internal::AnyHash
207
+ )
208
+ end
209
+
210
+ # The message content. Supply exactly one text part for the initial Live
211
+ # conversation history.
212
+ sig { returns(T::Array[OpenAI::Live::InitialItem::User::Content]) }
213
+ attr_accessor :content
214
+
215
+ # The author of this history message. Always `user`.
216
+ sig { returns(Symbol) }
217
+ attr_accessor :role
218
+
219
+ # An optional identifier for the supplied history message. Live uses the message’s
220
+ # role and text to initialize the conversation.
221
+ sig { returns(T.nilable(String)) }
222
+ attr_accessor :id
223
+
224
+ # The supplied message’s status. Live uses its text as history and does not resume
225
+ # an incomplete message.
226
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::User::Status::OrSymbol)) }
227
+ attr_accessor :status
228
+
229
+ # The history item type. Always `message`.
230
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::User::Type::OrSymbol)) }
231
+ attr_reader :type
232
+
233
+ sig { params(type: OpenAI::Live::InitialItem::User::Type::OrSymbol).void }
234
+ attr_writer :type
235
+
236
+ # A user message included in the initial text history of a Live session.
237
+ sig do
238
+ params(
239
+
240
+ content: T::Array[OpenAI::Live::InitialItem::User::Content::OrHash],
241
+
242
+ id: T.nilable(String),
243
+
244
+ status: T.nilable(OpenAI::Live::InitialItem::User::Status::OrSymbol),
245
+
246
+ type: OpenAI::Live::InitialItem::User::Type::OrSymbol,
247
+
248
+ role: Symbol
249
+ )
250
+ .returns(T.attached_class)
251
+ end
252
+ def self.new(
253
+
254
+ # The message content. Supply exactly one text part for the initial Live
255
+ # conversation history.
256
+ content:,
257
+
258
+ # An optional identifier for the supplied history message. Live uses the message’s
259
+ # role and text to initialize the conversation.
260
+ id: nil,
261
+
262
+ # The supplied message’s status. Live uses its text as history and does not resume
263
+ # an incomplete message.
264
+ status: nil,
265
+
266
+ # The history item type. Always `message`.
267
+ type: nil,
268
+
269
+ # The author of this history message. Always `user`.
270
+
271
+ role: :user
272
+ )
273
+ end
274
+
275
+ sig do
276
+ override.returns(
277
+ {
278
+ content: T::Array[OpenAI::Live::InitialItem::User::Content],
279
+ role: Symbol,
280
+ id: T.nilable(String),
281
+ status: T.nilable(OpenAI::Live::InitialItem::User::Status::OrSymbol),
282
+ type: OpenAI::Live::InitialItem::User::Type::OrSymbol
283
+ }
284
+ )
285
+ end
286
+ def to_hash
287
+ end
288
+
289
+ class Content < OpenAI::Internal::Type::BaseModel
290
+ OrHash = T.type_alias do
291
+ T.any(
292
+ OpenAI::Live::InitialItem::User::Content,
293
+ OpenAI::Internal::AnyHash
294
+ )
295
+ end
296
+
297
+ # The message text to include in the Live session’s initial conversation history.
298
+ sig { returns(String) }
299
+ attr_accessor :text
300
+
301
+ # The text content type. Always `input_text`.
302
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::User::Content::Type::OrSymbol)) }
303
+ attr_reader :type
304
+
305
+ sig { params(type: OpenAI::Live::InitialItem::User::Content::Type::OrSymbol).void }
306
+ attr_writer :type
307
+
308
+ # Text supplied in a developer or user message when starting a Live session.
309
+ sig do
310
+ params(
311
+
312
+ text: String,
313
+
314
+ type: OpenAI::Live::InitialItem::User::Content::Type::OrSymbol
315
+ )
316
+ .returns(T.attached_class)
317
+ end
318
+ def self.new(
319
+
320
+ # The message text to include in the Live session’s initial conversation history.
321
+ text:,
322
+
323
+ # The text content type. Always `input_text`.
324
+
325
+ type: nil
326
+ )
327
+ end
328
+
329
+ sig do
330
+ override.returns(
331
+ {text: String, type: OpenAI::Live::InitialItem::User::Content::Type::OrSymbol}
332
+ )
333
+ end
334
+ def to_hash
335
+ end
336
+
337
+ # The text content type. Always `input_text`.
338
+ module Type
339
+ extend OpenAI::Internal::Type::Enum
340
+
341
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::InitialItem::User::Content::Type) }
342
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
343
+
344
+ INPUT_TEXT = T.let(:input_text, OpenAI::Live::InitialItem::User::Content::Type::TaggedSymbol)
345
+
346
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::User::Content::Type::TaggedSymbol]) }
347
+ def self.values
348
+ end
349
+ end
350
+ end
351
+
352
+ # The supplied message’s status. Live uses its text as history and does not resume
353
+ # an incomplete message.
354
+ module Status
355
+ extend OpenAI::Internal::Type::Enum
356
+
357
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::InitialItem::User::Status) }
358
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
359
+
360
+ INCOMPLETE = T.let(:incomplete, OpenAI::Live::InitialItem::User::Status::TaggedSymbol)
361
+ COMPLETED = T.let(:completed, OpenAI::Live::InitialItem::User::Status::TaggedSymbol)
362
+
363
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::User::Status::TaggedSymbol]) }
364
+ def self.values
365
+ end
366
+ end
367
+
368
+ # The history item type. Always `message`.
369
+ module Type
370
+ extend OpenAI::Internal::Type::Enum
371
+
372
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::InitialItem::User::Type) }
373
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
374
+
375
+ MESSAGE = T.let(:message, OpenAI::Live::InitialItem::User::Type::TaggedSymbol)
376
+
377
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::User::Type::TaggedSymbol]) }
378
+ def self.values
379
+ end
380
+ end
381
+ end
382
+
383
+ class Assistant < OpenAI::Internal::Type::BaseModel
384
+ OrHash = T.type_alias do
385
+ T.any(
386
+ OpenAI::Live::InitialItem::Assistant,
387
+ OpenAI::Internal::AnyHash
388
+ )
389
+ end
390
+
391
+ # The message content. Supply exactly one text part for the initial Live
392
+ # conversation history.
393
+ sig {
394
+ returns(
395
+ T::Array[
396
+ T.any(
397
+ OpenAI::Live::InitialItem::Assistant::Content::Text,
398
+ OpenAI::Live::InitialItem::Assistant::Content::OutputText
399
+ )
400
+ ]
401
+ )
402
+ }
403
+ attr_accessor :content
404
+
405
+ # The author of this history message. Always `assistant`.
406
+ sig { returns(Symbol) }
407
+ attr_accessor :role
408
+
409
+ # An optional identifier for the supplied history message. Live uses the message’s
410
+ # role and text to initialize the conversation.
411
+ sig { returns(T.nilable(String)) }
412
+ attr_accessor :id
413
+
414
+ # The supplied message’s status. Live uses its text as history and does not resume
415
+ # an incomplete message.
416
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::Assistant::Status::OrSymbol)) }
417
+ attr_accessor :status
418
+
419
+ # The history item type. Always `message`.
420
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::Assistant::Type::OrSymbol)) }
421
+ attr_reader :type
422
+
423
+ sig { params(type: OpenAI::Live::InitialItem::Assistant::Type::OrSymbol).void }
424
+ attr_writer :type
425
+
426
+ # An assistant message included in the initial text history of a Live session.
427
+ sig do
428
+ params(
429
+
430
+ content: T::Array[
431
+ T.any(
432
+ OpenAI::Live::InitialItem::Assistant::Content::Text::OrHash,
433
+ OpenAI::Live::InitialItem::Assistant::Content::OutputText::OrHash
434
+ )
435
+ ],
436
+
437
+ id: T.nilable(String),
438
+
439
+ status: T.nilable(OpenAI::Live::InitialItem::Assistant::Status::OrSymbol),
440
+
441
+ type: OpenAI::Live::InitialItem::Assistant::Type::OrSymbol,
442
+
443
+ role: Symbol
444
+ )
445
+ .returns(T.attached_class)
446
+ end
447
+ def self.new(
448
+
449
+ # The message content. Supply exactly one text part for the initial Live
450
+ # conversation history.
451
+ content:,
452
+
453
+ # An optional identifier for the supplied history message. Live uses the message’s
454
+ # role and text to initialize the conversation.
455
+ id: nil,
456
+
457
+ # The supplied message’s status. Live uses its text as history and does not resume
458
+ # an incomplete message.
459
+ status: nil,
460
+
461
+ # The history item type. Always `message`.
462
+ type: nil,
463
+
464
+ # The author of this history message. Always `assistant`.
465
+
466
+ role: :assistant
467
+ )
468
+ end
469
+
470
+ sig do
471
+ override.returns(
472
+ {
473
+ content: T::Array[
474
+ T.any(
475
+ OpenAI::Live::InitialItem::Assistant::Content::Text,
476
+ OpenAI::Live::InitialItem::Assistant::Content::OutputText
477
+ )
478
+ ],
479
+ role: Symbol,
480
+ id: T.nilable(String),
481
+ status: T.nilable(OpenAI::Live::InitialItem::Assistant::Status::OrSymbol),
482
+ type: OpenAI::Live::InitialItem::Assistant::Type::OrSymbol
483
+ }
484
+ )
485
+ end
486
+ def to_hash
487
+ end
488
+
489
+ # Assistant text supplied as conversation history when starting a Live session.
490
+ module Content
491
+ extend OpenAI::Internal::Type::Union
492
+
493
+ Variants = T.type_alias {
494
+ T.any(
495
+ OpenAI::Live::InitialItem::Assistant::Content::Text,
496
+ OpenAI::Live::InitialItem::Assistant::Content::OutputText
497
+ )
498
+ }
499
+
500
+ class Text < OpenAI::Internal::Type::BaseModel
501
+ OrHash = T.type_alias do
502
+ T.any(
503
+ OpenAI::Live::InitialItem::Assistant::Content::Text,
504
+ OpenAI::Internal::AnyHash
505
+ )
506
+ end
507
+
508
+ # The message text to include in the Live session’s initial conversation history.
509
+ sig { returns(String) }
510
+ attr_accessor :text
511
+
512
+ # The text content type. Always `text`.
513
+ sig { returns(T.nilable(OpenAI::Live::InitialItem::Assistant::Content::Text::Type::OrSymbol)) }
514
+ attr_reader :type
515
+
516
+ sig { params(type: OpenAI::Live::InitialItem::Assistant::Content::Text::Type::OrSymbol).void }
517
+ attr_writer :type
518
+
519
+ # Assistant text supplied as conversation history when starting a Live session.
520
+ sig do
521
+ params(
522
+
523
+ text: String,
524
+
525
+ type: OpenAI::Live::InitialItem::Assistant::Content::Text::Type::OrSymbol
526
+ )
527
+ .returns(T.attached_class)
528
+ end
529
+ def self.new(
530
+
531
+ # The message text to include in the Live session’s initial conversation history.
532
+ text:,
533
+
534
+ # The text content type. Always `text`.
535
+
536
+ type: nil
537
+ )
538
+ end
539
+
540
+ sig do
541
+ override.returns(
542
+ {text: String, type: OpenAI::Live::InitialItem::Assistant::Content::Text::Type::OrSymbol}
543
+ )
544
+ end
545
+ def to_hash
546
+ end
547
+
548
+ # The text content type. Always `text`.
549
+ module Type
550
+ extend OpenAI::Internal::Type::Enum
551
+
552
+ TaggedSymbol = T.type_alias {
553
+ T.all(Symbol, OpenAI::Live::InitialItem::Assistant::Content::Text::Type)
554
+ }
555
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
556
+
557
+ TEXT = T.let(:text, OpenAI::Live::InitialItem::Assistant::Content::Text::Type::TaggedSymbol)
558
+
559
+ sig {
560
+ override.returns(T::Array[OpenAI::Live::InitialItem::Assistant::Content::Text::Type::TaggedSymbol])
561
+ }
562
+ def self.values
563
+ end
564
+ end
565
+ end
566
+
567
+ class OutputText < OpenAI::Internal::Type::BaseModel
568
+ OrHash = T.type_alias do
569
+ T.any(
570
+ OpenAI::Live::InitialItem::Assistant::Content::OutputText,
571
+ OpenAI::Internal::AnyHash
572
+ )
573
+ end
574
+
575
+ # The message text to include in the Live session’s initial conversation history.
576
+ sig { returns(String) }
577
+ attr_accessor :text
578
+
579
+ # The text content type. Always `output_text`.
580
+ sig { returns(Symbol) }
581
+ attr_accessor :type
582
+
583
+ # Assistant output text supplied as conversation history when starting a Live
584
+ # session.
585
+ sig do
586
+ params(
587
+
588
+ text: String,
589
+
590
+ type: Symbol
591
+ )
592
+ .returns(T.attached_class)
593
+ end
594
+ def self.new(
595
+
596
+ # The message text to include in the Live session’s initial conversation history.
597
+ text:,
598
+
599
+ # The text content type. Always `output_text`.
600
+
601
+ type: :output_text
602
+ )
603
+ end
604
+
605
+ sig do
606
+ override.returns(
607
+ {text: String, type: Symbol}
608
+ )
609
+ end
610
+ def to_hash
611
+ end
612
+
613
+ end
614
+
615
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::Assistant::Content::Variants]) }
616
+ def self.variants
617
+ end
618
+
619
+ end
620
+
621
+ # The supplied message’s status. Live uses its text as history and does not resume
622
+ # an incomplete message.
623
+ module Status
624
+ extend OpenAI::Internal::Type::Enum
625
+
626
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::InitialItem::Assistant::Status) }
627
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
628
+
629
+ INCOMPLETE = T.let(:incomplete, OpenAI::Live::InitialItem::Assistant::Status::TaggedSymbol)
630
+ COMPLETED = T.let(:completed, OpenAI::Live::InitialItem::Assistant::Status::TaggedSymbol)
631
+
632
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::Assistant::Status::TaggedSymbol]) }
633
+ def self.values
634
+ end
635
+ end
636
+
637
+ # The history item type. Always `message`.
638
+ module Type
639
+ extend OpenAI::Internal::Type::Enum
640
+
641
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Live::InitialItem::Assistant::Type) }
642
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
643
+
644
+ MESSAGE = T.let(:message, OpenAI::Live::InitialItem::Assistant::Type::TaggedSymbol)
645
+
646
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::Assistant::Type::TaggedSymbol]) }
647
+ def self.values
648
+ end
649
+ end
650
+ end
651
+
652
+ sig { override.returns(T::Array[OpenAI::Live::InitialItem::Variants]) }
653
+ def self.variants
654
+ end
655
+
656
+ end
657
+
658
+ end
659
+
660
+ end
661
+ end