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,246 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type responses_delegation_update_config =
5
+ {
6
+ ?instructions: String?,
7
+ ?max_output_tokens: Integer?,
8
+ ?model: String,
9
+ ?parallel_tool_calls: bool?,
10
+ ?reasoning: OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning?,
11
+ ?service_tier: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::service_tier?,
12
+ ?text: OpenAI::Live::ResponsesDelegationUpdateConfig::Text?,
13
+ ?tool_choice: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool_choice,
14
+ ?tools: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool]
15
+ }
16
+
17
+ class ResponsesDelegationUpdateConfig < OpenAI::Internal::Type::BaseModel
18
+ attr_accessor instructions: String?
19
+
20
+ attr_accessor max_output_tokens: Integer?
21
+
22
+ attr_reader model: String?
23
+
24
+ def model=: (String) -> String
25
+
26
+ attr_accessor parallel_tool_calls: bool?
27
+
28
+ attr_accessor reasoning: OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning?
29
+
30
+ attr_accessor service_tier: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::service_tier?
31
+
32
+ attr_accessor text: OpenAI::Live::ResponsesDelegationUpdateConfig::Text?
33
+
34
+ attr_reader tool_choice: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool_choice?
35
+
36
+ def tool_choice=: (
37
+ OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool_choice
38
+ ) -> OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool_choice
39
+
40
+ attr_reader tools: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool]?
41
+
42
+ def tools=: (
43
+ ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool]
44
+ ) -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool]
45
+
46
+ def initialize: (
47
+ ?instructions: String?,
48
+ ?max_output_tokens: Integer?,
49
+ ?model: String,
50
+ ?parallel_tool_calls: bool?,
51
+ ?reasoning: OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning?,
52
+ ?service_tier: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::service_tier?,
53
+ ?text: OpenAI::Live::ResponsesDelegationUpdateConfig::Text?,
54
+ ?tool_choice: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool_choice,
55
+ ?tools: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool]
56
+ ) -> void
57
+
58
+ def to_hash: -> {
59
+ ?instructions: String?,
60
+ ?max_output_tokens: Integer?,
61
+ ?model: String,
62
+ ?parallel_tool_calls: bool?,
63
+ ?reasoning: OpenAI::Live::ResponsesDelegationUpdateConfig::Reasoning?,
64
+ ?service_tier: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::service_tier?,
65
+ ?text: OpenAI::Live::ResponsesDelegationUpdateConfig::Text?,
66
+ ?tool_choice: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool_choice,
67
+ ?tools: ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool]
68
+ }
69
+
70
+ type reasoning =
71
+ {
72
+ ?effort: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::effort?,
73
+ ?summary: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::summary?
74
+ }
75
+
76
+ class Reasoning < OpenAI::Internal::Type::BaseModel
77
+ attr_accessor effort: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::effort?
78
+
79
+ attr_accessor summary: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::summary?
80
+
81
+ def initialize: (
82
+ ?effort: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::effort?,
83
+ ?summary: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::summary?
84
+ ) -> void
85
+
86
+ def to_hash: -> {
87
+ ?effort: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::effort?,
88
+ ?summary: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::summary?
89
+ }
90
+
91
+ type effort = :none | :minimal | :low | :medium | :high | :xhigh
92
+
93
+ module Effort
94
+ extend OpenAI::Internal::Type::Enum
95
+
96
+ NONE: :none
97
+ MINIMAL: :minimal
98
+ LOW: :low
99
+ MEDIUM: :medium
100
+ HIGH: :high
101
+ XHIGH: :xhigh
102
+
103
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::effort]
104
+ end
105
+
106
+ type summary = :concise | :detailed | :auto
107
+
108
+ module Summary
109
+ extend OpenAI::Internal::Type::Enum
110
+
111
+ CONCISE: :concise
112
+ DETAILED: :detailed
113
+ AUTO: :auto
114
+
115
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Reasoning::summary]
116
+ end
117
+ end
118
+
119
+ type service_tier =
120
+ :auto
121
+ | :default
122
+ | :fast_tier_temp_pilot
123
+ | :flex
124
+ | :priority
125
+ | :ultrafast
126
+
127
+ module ServiceTier
128
+ extend OpenAI::Internal::Type::Enum
129
+
130
+ AUTO: :auto
131
+ DEFAULT: :default
132
+ FAST_TIER_TEMP_PILOT: :fast_tier_temp_pilot
133
+ FLEX: :flex
134
+ PRIORITY: :priority
135
+ ULTRAFAST: :ultrafast
136
+
137
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::service_tier]
138
+ end
139
+
140
+ type text =
141
+ {
142
+ ?verbosity: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text::verbosity?
143
+ }
144
+
145
+ class Text < OpenAI::Internal::Type::BaseModel
146
+ attr_accessor verbosity: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text::verbosity?
147
+
148
+ def initialize: (
149
+ ?verbosity: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text::verbosity?
150
+ ) -> void
151
+
152
+ def to_hash: -> {
153
+ ?verbosity: OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text::verbosity?
154
+ }
155
+
156
+ type verbosity = :low | :medium | :high
157
+
158
+ module Verbosity
159
+ extend OpenAI::Internal::Type::Enum
160
+
161
+ LOW: :low
162
+ MEDIUM: :medium
163
+ HIGH: :high
164
+
165
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::Text::verbosity]
166
+ end
167
+ end
168
+
169
+ type tool_choice =
170
+ OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::live_tool_choice_enum
171
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveFunctionToolChoiceParam
172
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::ToolChoice::LiveMCPToolChoiceParam
173
+
174
+ module ToolChoice
175
+ extend OpenAI::Internal::Type::Union
176
+
177
+ type live_tool_choice_enum = :auto | :none | :required
178
+
179
+ module LiveToolChoiceEnum
180
+ extend OpenAI::Internal::Type::Enum
181
+
182
+ AUTO: :auto
183
+ NONE: :none
184
+ REQUIRED: :required
185
+
186
+ def self?.values: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::ToolChoice::live_tool_choice_enum]
187
+ end
188
+
189
+ type live_function_tool_choice_param =
190
+ { name: String, ?type: :function }
191
+
192
+ class LiveFunctionToolChoiceParam < OpenAI::Internal::Type::BaseModel
193
+ attr_accessor name: String
194
+
195
+ attr_accessor type: :function
196
+
197
+ def initialize: (name: String, ?type: :function) -> void
198
+
199
+ def to_hash: -> { name: String, ?type: :function }
200
+ end
201
+
202
+ type live_mcp_tool_choice_param =
203
+ { name: String, server_label: String, ?type: :mcp }
204
+
205
+ class LiveMCPToolChoiceParam < OpenAI::Internal::Type::BaseModel
206
+ attr_accessor name: String
207
+
208
+ attr_accessor server_label: String
209
+
210
+ attr_accessor type: :mcp
211
+
212
+ def initialize: (
213
+ name: String,
214
+ server_label: String,
215
+ ?type: :mcp
216
+ ) -> void
217
+
218
+ def to_hash: -> { name: String, server_label: String, ?type: :mcp }
219
+ end
220
+
221
+ def self?.variants: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool_choice]
222
+ end
223
+
224
+ type tool =
225
+ OpenAI::Live::FunctionTool
226
+ | OpenAI::Live::ResponsesDelegationUpdateConfig::Tool::WebSearch
227
+
228
+ module Tool
229
+ extend OpenAI::Internal::Type::Union
230
+
231
+ type web_search = { ?type: :web_search }
232
+
233
+ class WebSearch < OpenAI::Internal::Type::BaseModel
234
+ attr_accessor type: :web_search
235
+
236
+ def initialize: (?type: :web_search) -> void
237
+
238
+ def to_hash: -> { ?type: :web_search }
239
+ end
240
+
241
+ def self?.variants: -> ::Array[OpenAI::Models::Live::ResponsesDelegationUpdateConfig::tool]
242
+ end
243
+ end
244
+ end
245
+ end
246
+ end
@@ -0,0 +1,212 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type 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::ServerEvent::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::ServerEvent::TransportDtmfReceived
23
+ | OpenAI::Live::ServerEvent::TransportDtmfSend
24
+ | OpenAI::Live::ServerEvent::TransportRinging
25
+ | OpenAI::Live::ServerEvent::TransportAnswered
26
+ | OpenAI::Live::ServerEvent::TransportFailed
27
+
28
+ module ServerEvent
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::ServerEvent::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::ServerEvent::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::ServerEvent::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::ServerEvent::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::server_event]
209
+ end
210
+ end
211
+ end
212
+ end
@@ -0,0 +1,19 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type server_event_selector = { type: String, ?response_event: String }
5
+
6
+ class ServerEventSelector < OpenAI::Internal::Type::BaseModel
7
+ attr_accessor type: String
8
+
9
+ attr_reader response_event: String?
10
+
11
+ def response_event=: (String) -> String
12
+
13
+ def initialize: (type: String, ?response_event: String) -> void
14
+
15
+ def to_hash: -> { type: String, ?response_event: String }
16
+ end
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,185 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type session_accept_params =
5
+ {
6
+ session_id: String,
7
+ session: OpenAI::Live::SessionAcceptParams::Session,
8
+ ?request_options: OpenAI::request_opts
9
+ }
10
+
11
+ class SessionAcceptParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_accessor session_id: String
16
+
17
+ attr_accessor session: OpenAI::Live::SessionAcceptParams::Session
18
+
19
+ def initialize: (
20
+ session_id: String,
21
+ session: OpenAI::Live::SessionAcceptParams::Session,
22
+ ?request_options: OpenAI::request_opts
23
+ ) -> void
24
+
25
+ def to_hash: -> {
26
+ session_id: String,
27
+ session: OpenAI::Live::SessionAcceptParams::Session,
28
+ ?request_options: OpenAI::RequestOptions
29
+ }
30
+
31
+ type session =
32
+ {
33
+ model: OpenAI::Models::Live::SessionAcceptParams::Session::model,
34
+ ?type: :live,
35
+ ?audio: OpenAI::Live::SessionAcceptParams::Session::Audio,
36
+ ?delegation: OpenAI::Models::Live::SessionAcceptParams::Session::delegation?,
37
+ ?input: ::Array[OpenAI::Models::Live::initial_item],
38
+ ?instructions: String?,
39
+ ?store: bool
40
+ }
41
+
42
+ class Session < OpenAI::Internal::Type::BaseModel
43
+ attr_accessor model: OpenAI::Models::Live::SessionAcceptParams::Session::model
44
+
45
+ attr_accessor type: :live
46
+
47
+ attr_reader audio: OpenAI::Live::SessionAcceptParams::Session::Audio?
48
+
49
+ def audio=: (
50
+ OpenAI::Live::SessionAcceptParams::Session::Audio
51
+ ) -> OpenAI::Live::SessionAcceptParams::Session::Audio
52
+
53
+ attr_accessor delegation: OpenAI::Models::Live::SessionAcceptParams::Session::delegation?
54
+
55
+ attr_reader input: ::Array[OpenAI::Models::Live::initial_item]?
56
+
57
+ def input=: (
58
+ ::Array[OpenAI::Models::Live::initial_item]
59
+ ) -> ::Array[OpenAI::Models::Live::initial_item]
60
+
61
+ attr_accessor instructions: String?
62
+
63
+ attr_reader store: bool?
64
+
65
+ def store=: (bool) -> bool
66
+
67
+ def initialize: (
68
+ model: OpenAI::Models::Live::SessionAcceptParams::Session::model,
69
+ ?audio: OpenAI::Live::SessionAcceptParams::Session::Audio,
70
+ ?delegation: OpenAI::Models::Live::SessionAcceptParams::Session::delegation?,
71
+ ?input: ::Array[OpenAI::Models::Live::initial_item],
72
+ ?instructions: String?,
73
+ ?store: bool,
74
+ ?type: :live
75
+ ) -> void
76
+
77
+ def to_hash: -> {
78
+ model: OpenAI::Models::Live::SessionAcceptParams::Session::model,
79
+ ?type: :live,
80
+ ?audio: OpenAI::Live::SessionAcceptParams::Session::Audio,
81
+ ?delegation: OpenAI::Models::Live::SessionAcceptParams::Session::delegation?,
82
+ ?input: ::Array[OpenAI::Models::Live::initial_item],
83
+ ?instructions: String?,
84
+ ?store: bool
85
+ }
86
+
87
+ type model = String | :"gpt-live-1"
88
+
89
+ module Model
90
+ extend OpenAI::Internal::Type::Union
91
+
92
+ def self?.variants: -> ::Array[OpenAI::Models::Live::SessionAcceptParams::Session::model]
93
+
94
+ GPT_LIVE_1: :"gpt-live-1"
95
+ end
96
+
97
+ type audio =
98
+ {
99
+ ?output: OpenAI::Live::SessionAcceptParams::Session::Audio::Output
100
+ }
101
+
102
+ class Audio < OpenAI::Internal::Type::BaseModel
103
+ attr_reader output: OpenAI::Live::SessionAcceptParams::Session::Audio::Output?
104
+
105
+ def output=: (
106
+ OpenAI::Live::SessionAcceptParams::Session::Audio::Output
107
+ ) -> OpenAI::Live::SessionAcceptParams::Session::Audio::Output
108
+
109
+ def initialize: (
110
+ ?output: OpenAI::Live::SessionAcceptParams::Session::Audio::Output
111
+ ) -> void
112
+
113
+ def to_hash: -> {
114
+ ?output: OpenAI::Live::SessionAcceptParams::Session::Audio::Output
115
+ }
116
+
117
+ type output =
118
+ {
119
+ ?voice: OpenAI::Models::Live::SessionAcceptParams::Session::Audio::Output::voice
120
+ }
121
+
122
+ class Output < OpenAI::Internal::Type::BaseModel
123
+ attr_reader voice: OpenAI::Models::Live::SessionAcceptParams::Session::Audio::Output::voice?
124
+
125
+ def voice=: (
126
+ OpenAI::Models::Live::SessionAcceptParams::Session::Audio::Output::voice
127
+ ) -> OpenAI::Models::Live::SessionAcceptParams::Session::Audio::Output::voice
128
+
129
+ def initialize: (
130
+ ?voice: OpenAI::Models::Live::SessionAcceptParams::Session::Audio::Output::voice
131
+ ) -> void
132
+
133
+ def to_hash: -> {
134
+ ?voice: OpenAI::Models::Live::SessionAcceptParams::Session::Audio::Output::voice
135
+ }
136
+
137
+ type voice =
138
+ String
139
+ | OpenAI::Models::Live::built_in_voice
140
+ | OpenAI::Live::CustomVoice
141
+
142
+ module Voice
143
+ extend OpenAI::Internal::Type::Union
144
+
145
+ def self?.variants: -> ::Array[OpenAI::Models::Live::SessionAcceptParams::Session::Audio::Output::voice]
146
+ end
147
+ end
148
+ end
149
+
150
+ type delegation =
151
+ OpenAI::Live::ClientDelegation
152
+ | OpenAI::Live::SessionAcceptParams::Session::Delegation::Responses
153
+
154
+ module Delegation
155
+ extend OpenAI::Internal::Type::Union
156
+
157
+ type responses =
158
+ {
159
+ responses: OpenAI::Live::ResponsesDelegationConfig,
160
+ ?type: :responses
161
+ }
162
+
163
+ class Responses < OpenAI::Internal::Type::BaseModel
164
+ attr_accessor responses: OpenAI::Live::ResponsesDelegationConfig
165
+
166
+ attr_accessor type: :responses
167
+
168
+ def initialize: (
169
+ responses: OpenAI::Live::ResponsesDelegationConfig,
170
+ ?type: :responses
171
+ ) -> void
172
+
173
+ def to_hash: -> {
174
+ responses: OpenAI::Live::ResponsesDelegationConfig,
175
+ ?type: :responses
176
+ }
177
+ end
178
+
179
+ def self?.variants: -> ::Array[OpenAI::Models::Live::SessionAcceptParams::Session::delegation]
180
+ end
181
+ end
182
+ end
183
+ end
184
+ end
185
+ end
@@ -0,0 +1,17 @@
1
+ module OpenAI
2
+ module Models
3
+ module Live
4
+ type session_close_event = { ?type: :"session.close", ?event_id: String? }
5
+
6
+ class SessionCloseEvent < OpenAI::Internal::Type::BaseModel
7
+ attr_accessor type: :"session.close"
8
+
9
+ attr_accessor event_id: String?
10
+
11
+ def initialize: (?event_id: String?, ?type: :"session.close") -> void
12
+
13
+ def to_hash: -> { ?type: :"session.close", ?event_id: String? }
14
+ end
15
+ end
16
+ end
17
+ end