openai 0.20.0 → 0.21.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 (332) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +13 -0
  3. data/README.md +1 -1
  4. data/lib/openai/client.rb +4 -0
  5. data/lib/openai/internal/stream.rb +3 -2
  6. data/lib/openai/models/audio/speech_create_params.rb +6 -0
  7. data/lib/openai/models/chat/chat_completion_audio_param.rb +6 -0
  8. data/lib/openai/models/evals/run_cancel_response.rb +2 -2
  9. data/lib/openai/models/evals/run_create_params.rb +2 -2
  10. data/lib/openai/models/evals/run_create_response.rb +2 -2
  11. data/lib/openai/models/evals/run_list_response.rb +2 -2
  12. data/lib/openai/models/evals/run_retrieve_response.rb +2 -2
  13. data/lib/openai/models/realtime/client_secret_create_params.rb +93 -0
  14. data/lib/openai/models/realtime/client_secret_create_response.rb +300 -0
  15. data/lib/openai/models/realtime/conversation_created_event.rb +70 -0
  16. data/lib/openai/models/realtime/conversation_item.rb +44 -0
  17. data/lib/openai/models/realtime/conversation_item_added.rb +48 -0
  18. data/lib/openai/models/realtime/conversation_item_create_event.rb +57 -0
  19. data/lib/openai/models/realtime/conversation_item_created_event.rb +59 -0
  20. data/lib/openai/models/realtime/conversation_item_delete_event.rb +39 -0
  21. data/lib/openai/models/realtime/conversation_item_deleted_event.rb +38 -0
  22. data/lib/openai/models/realtime/conversation_item_done.rb +48 -0
  23. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +189 -0
  24. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +63 -0
  25. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rb +96 -0
  26. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_segment.rb +84 -0
  27. data/lib/openai/models/realtime/conversation_item_retrieve_event.rb +40 -0
  28. data/lib/openai/models/realtime/conversation_item_truncate_event.rb +68 -0
  29. data/lib/openai/models/realtime/conversation_item_truncated_event.rb +60 -0
  30. data/lib/openai/models/realtime/conversation_item_with_reference.rb +235 -0
  31. data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +49 -0
  32. data/lib/openai/models/realtime/input_audio_buffer_clear_event.rb +29 -0
  33. data/lib/openai/models/realtime/input_audio_buffer_cleared_event.rb +29 -0
  34. data/lib/openai/models/realtime/input_audio_buffer_commit_event.rb +35 -0
  35. data/lib/openai/models/realtime/input_audio_buffer_committed_event.rb +51 -0
  36. data/lib/openai/models/realtime/input_audio_buffer_speech_started_event.rb +59 -0
  37. data/lib/openai/models/realtime/input_audio_buffer_speech_stopped_event.rb +51 -0
  38. data/lib/openai/models/realtime/input_audio_buffer_timeout_triggered.rb +52 -0
  39. data/lib/openai/models/realtime/log_prob_properties.rb +39 -0
  40. data/lib/openai/models/realtime/mcp_list_tools_completed.rb +36 -0
  41. data/lib/openai/models/realtime/mcp_list_tools_failed.rb +36 -0
  42. data/lib/openai/models/realtime/mcp_list_tools_in_progress.rb +36 -0
  43. data/lib/openai/models/realtime/output_audio_buffer_clear_event.rb +32 -0
  44. data/lib/openai/models/realtime/rate_limits_updated_event.rb +91 -0
  45. data/lib/openai/models/realtime/realtime_audio_config.rb +446 -0
  46. data/lib/openai/models/realtime/realtime_client_event.rb +123 -0
  47. data/lib/openai/models/realtime/realtime_client_secret_config.rb +64 -0
  48. data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +118 -0
  49. data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +94 -0
  50. data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +86 -0
  51. data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +118 -0
  52. data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +135 -0
  53. data/lib/openai/models/realtime/realtime_error.rb +55 -0
  54. data/lib/openai/models/realtime/realtime_error_event.rb +38 -0
  55. data/lib/openai/models/realtime/realtime_mcp_approval_request.rb +52 -0
  56. data/lib/openai/models/realtime/realtime_mcp_approval_response.rb +52 -0
  57. data/lib/openai/models/realtime/realtime_mcp_list_tools.rb +84 -0
  58. data/lib/openai/models/realtime/realtime_mcp_protocol_error.rb +29 -0
  59. data/lib/openai/models/realtime/realtime_mcp_tool_call.rb +94 -0
  60. data/lib/openai/models/realtime/realtime_mcp_tool_execution_error.rb +23 -0
  61. data/lib/openai/models/realtime/realtime_mcphttp_error.rb +29 -0
  62. data/lib/openai/models/realtime/realtime_response.rb +259 -0
  63. data/lib/openai/models/realtime/realtime_response_status.rb +103 -0
  64. data/lib/openai/models/realtime/realtime_response_usage.rb +61 -0
  65. data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +36 -0
  66. data/lib/openai/models/realtime/realtime_response_usage_output_token_details.rb +28 -0
  67. data/lib/openai/models/realtime/realtime_server_event.rb +369 -0
  68. data/lib/openai/models/realtime/realtime_session.rb +696 -0
  69. data/lib/openai/models/realtime/realtime_session_create_request.rb +234 -0
  70. data/lib/openai/models/realtime/realtime_session_create_response.rb +579 -0
  71. data/lib/openai/models/realtime/realtime_tool_choice_config.rb +32 -0
  72. data/lib/openai/models/realtime/realtime_tools_config.rb +11 -0
  73. data/lib/openai/models/realtime/realtime_tools_config_union.rb +379 -0
  74. data/lib/openai/models/realtime/realtime_tracing_config.rb +61 -0
  75. data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +312 -0
  76. data/lib/openai/models/realtime/realtime_truncation.rb +67 -0
  77. data/lib/openai/models/realtime/response_audio_delta_event.rb +68 -0
  78. data/lib/openai/models/realtime/response_audio_done_event.rb +61 -0
  79. data/lib/openai/models/realtime/response_audio_transcript_delta_event.rb +68 -0
  80. data/lib/openai/models/realtime/response_audio_transcript_done_event.rb +70 -0
  81. data/lib/openai/models/realtime/response_cancel_event.rb +42 -0
  82. data/lib/openai/models/realtime/response_content_part_added_event.rb +120 -0
  83. data/lib/openai/models/realtime/response_content_part_done_event.rb +120 -0
  84. data/lib/openai/models/realtime/response_create_event.rb +391 -0
  85. data/lib/openai/models/realtime/response_created_event.rb +37 -0
  86. data/lib/openai/models/realtime/response_done_event.rb +38 -0
  87. data/lib/openai/models/realtime/response_function_call_arguments_delta_event.rb +72 -0
  88. data/lib/openai/models/realtime/response_function_call_arguments_done_event.rb +73 -0
  89. data/lib/openai/models/realtime/response_mcp_call_arguments_delta.rb +68 -0
  90. data/lib/openai/models/realtime/response_mcp_call_arguments_done.rb +60 -0
  91. data/lib/openai/models/realtime/response_mcp_call_completed.rb +44 -0
  92. data/lib/openai/models/realtime/response_mcp_call_failed.rb +44 -0
  93. data/lib/openai/models/realtime/response_mcp_call_in_progress.rb +44 -0
  94. data/lib/openai/models/realtime/response_output_item_added_event.rb +52 -0
  95. data/lib/openai/models/realtime/response_output_item_done_event.rb +53 -0
  96. data/lib/openai/models/realtime/response_text_delta_event.rb +68 -0
  97. data/lib/openai/models/realtime/response_text_done_event.rb +69 -0
  98. data/lib/openai/models/realtime/session_created_event.rb +38 -0
  99. data/lib/openai/models/realtime/session_update_event.rb +44 -0
  100. data/lib/openai/models/realtime/session_updated_event.rb +37 -0
  101. data/lib/openai/models/realtime/transcription_session_created.rb +278 -0
  102. data/lib/openai/models/realtime/transcription_session_update.rb +36 -0
  103. data/lib/openai/models/realtime/transcription_session_updated_event.rb +279 -0
  104. data/lib/openai/models/responses/response.rb +6 -3
  105. data/lib/openai/models/responses/response_create_params.rb +6 -3
  106. data/lib/openai/models/responses/tool.rb +3 -156
  107. data/lib/openai/models/responses/web_search_preview_tool.rb +124 -0
  108. data/lib/openai/models/responses/web_search_tool.rb +58 -21
  109. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +119 -0
  110. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  111. data/lib/openai/models.rb +2 -0
  112. data/lib/openai/resources/realtime/client_secrets.rb +44 -0
  113. data/lib/openai/resources/realtime.rb +18 -0
  114. data/lib/openai/resources/responses.rb +2 -2
  115. data/lib/openai/resources/webhooks.rb +1 -1
  116. data/lib/openai/version.rb +1 -1
  117. data/lib/openai.rb +95 -0
  118. data/rbi/openai/client.rbi +3 -0
  119. data/rbi/openai/models/audio/speech_create_params.rbi +10 -0
  120. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +10 -0
  121. data/rbi/openai/models/evals/run_cancel_response.rbi +4 -4
  122. data/rbi/openai/models/evals/run_create_params.rbi +8 -8
  123. data/rbi/openai/models/evals/run_create_response.rbi +4 -4
  124. data/rbi/openai/models/evals/run_list_response.rbi +4 -4
  125. data/rbi/openai/models/evals/run_retrieve_response.rbi +4 -4
  126. data/rbi/openai/models/realtime/client_secret_create_params.rbi +222 -0
  127. data/rbi/openai/models/realtime/client_secret_create_response.rbi +676 -0
  128. data/rbi/openai/models/realtime/conversation_created_event.rbi +164 -0
  129. data/rbi/openai/models/realtime/conversation_item.rbi +35 -0
  130. data/rbi/openai/models/realtime/conversation_item_added.rbi +105 -0
  131. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +123 -0
  132. data/rbi/openai/models/realtime/conversation_item_created_event.rbi +117 -0
  133. data/rbi/openai/models/realtime/conversation_item_delete_event.rbi +57 -0
  134. data/rbi/openai/models/realtime/conversation_item_deleted_event.rbi +53 -0
  135. data/rbi/openai/models/realtime/conversation_item_done.rbi +105 -0
  136. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +305 -0
  137. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +93 -0
  138. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbi +158 -0
  139. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbi +107 -0
  140. data/rbi/openai/models/realtime/conversation_item_retrieve_event.rbi +58 -0
  141. data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +94 -0
  142. data/rbi/openai/models/realtime/conversation_item_truncated_event.rbi +80 -0
  143. data/rbi/openai/models/realtime/conversation_item_with_reference.rbi +549 -0
  144. data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +65 -0
  145. data/rbi/openai/models/realtime/input_audio_buffer_clear_event.rbi +43 -0
  146. data/rbi/openai/models/realtime/input_audio_buffer_cleared_event.rbi +40 -0
  147. data/rbi/openai/models/realtime/input_audio_buffer_commit_event.rbi +49 -0
  148. data/rbi/openai/models/realtime/input_audio_buffer_committed_event.rbi +72 -0
  149. data/rbi/openai/models/realtime/input_audio_buffer_speech_started_event.rbi +82 -0
  150. data/rbi/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbi +73 -0
  151. data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +75 -0
  152. data/rbi/openai/models/realtime/log_prob_properties.rbi +55 -0
  153. data/rbi/openai/models/realtime/mcp_list_tools_completed.rbi +51 -0
  154. data/rbi/openai/models/realtime/mcp_list_tools_failed.rbi +51 -0
  155. data/rbi/openai/models/realtime/mcp_list_tools_in_progress.rbi +51 -0
  156. data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +46 -0
  157. data/rbi/openai/models/realtime/rate_limits_updated_event.rbi +187 -0
  158. data/rbi/openai/models/realtime/realtime_audio_config.rbi +1004 -0
  159. data/rbi/openai/models/realtime/realtime_client_event.rbi +38 -0
  160. data/rbi/openai/models/realtime/realtime_client_secret_config.rbi +147 -0
  161. data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +292 -0
  162. data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +199 -0
  163. data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +188 -0
  164. data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +292 -0
  165. data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +319 -0
  166. data/rbi/openai/models/realtime/realtime_error.rbi +72 -0
  167. data/rbi/openai/models/realtime/realtime_error_event.rbi +64 -0
  168. data/rbi/openai/models/realtime/realtime_mcp_approval_request.rbi +75 -0
  169. data/rbi/openai/models/realtime/realtime_mcp_approval_response.rbi +75 -0
  170. data/rbi/openai/models/realtime/realtime_mcp_list_tools.rbi +131 -0
  171. data/rbi/openai/models/realtime/realtime_mcp_protocol_error.rbi +40 -0
  172. data/rbi/openai/models/realtime/realtime_mcp_tool_call.rbi +145 -0
  173. data/rbi/openai/models/realtime/realtime_mcp_tool_execution_error.rbi +31 -0
  174. data/rbi/openai/models/realtime/realtime_mcphttp_error.rbi +40 -0
  175. data/rbi/openai/models/realtime/realtime_response.rbi +573 -0
  176. data/rbi/openai/models/realtime/realtime_response_status.rbi +233 -0
  177. data/rbi/openai/models/realtime/realtime_response_usage.rbi +121 -0
  178. data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +68 -0
  179. data/rbi/openai/models/realtime/realtime_response_usage_output_token_details.rbi +51 -0
  180. data/rbi/openai/models/realtime/realtime_server_event.rbi +311 -0
  181. data/rbi/openai/models/realtime/realtime_session.rbi +1426 -0
  182. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +560 -0
  183. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +1249 -0
  184. data/rbi/openai/models/realtime/realtime_tool_choice_config.rbi +30 -0
  185. data/rbi/openai/models/realtime/realtime_tools_config.rbi +15 -0
  186. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +755 -0
  187. data/rbi/openai/models/realtime/realtime_tracing_config.rbi +95 -0
  188. data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +703 -0
  189. data/rbi/openai/models/realtime/realtime_truncation.rbi +117 -0
  190. data/rbi/openai/models/realtime/response_audio_delta_event.rbi +91 -0
  191. data/rbi/openai/models/realtime/response_audio_done_event.rbi +84 -0
  192. data/rbi/openai/models/realtime/response_audio_transcript_delta_event.rbi +91 -0
  193. data/rbi/openai/models/realtime/response_audio_transcript_done_event.rbi +93 -0
  194. data/rbi/openai/models/realtime/response_cancel_event.rbi +63 -0
  195. data/rbi/openai/models/realtime/response_content_part_added_event.rbi +219 -0
  196. data/rbi/openai/models/realtime/response_content_part_done_event.rbi +219 -0
  197. data/rbi/openai/models/realtime/response_create_event.rbi +863 -0
  198. data/rbi/openai/models/realtime/response_created_event.rbi +65 -0
  199. data/rbi/openai/models/realtime/response_done_event.rbi +66 -0
  200. data/rbi/openai/models/realtime/response_function_call_arguments_delta_event.rbi +91 -0
  201. data/rbi/openai/models/realtime/response_function_call_arguments_done_event.rbi +92 -0
  202. data/rbi/openai/models/realtime/response_mcp_call_arguments_delta.rbi +91 -0
  203. data/rbi/openai/models/realtime/response_mcp_call_arguments_done.rbi +83 -0
  204. data/rbi/openai/models/realtime/response_mcp_call_completed.rbi +67 -0
  205. data/rbi/openai/models/realtime/response_mcp_call_failed.rbi +67 -0
  206. data/rbi/openai/models/realtime/response_mcp_call_in_progress.rbi +67 -0
  207. data/rbi/openai/models/realtime/response_output_item_added_event.rbi +111 -0
  208. data/rbi/openai/models/realtime/response_output_item_done_event.rbi +112 -0
  209. data/rbi/openai/models/realtime/response_text_delta_event.rbi +91 -0
  210. data/rbi/openai/models/realtime/response_text_done_event.rbi +92 -0
  211. data/rbi/openai/models/realtime/session_created_event.rbi +64 -0
  212. data/rbi/openai/models/realtime/session_update_event.rbi +77 -0
  213. data/rbi/openai/models/realtime/session_updated_event.rbi +63 -0
  214. data/rbi/openai/models/realtime/transcription_session_created.rbi +653 -0
  215. data/rbi/openai/models/realtime/transcription_session_update.rbi +74 -0
  216. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +657 -0
  217. data/rbi/openai/models/responses/response.rbi +10 -4
  218. data/rbi/openai/models/responses/response_create_params.rbi +16 -10
  219. data/rbi/openai/models/responses/tool.rbi +2 -348
  220. data/rbi/openai/models/responses/web_search_preview_tool.rbi +245 -0
  221. data/rbi/openai/models/responses/web_search_tool.rbi +120 -23
  222. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +222 -0
  223. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  224. data/rbi/openai/models.rbi +2 -0
  225. data/rbi/openai/resources/realtime/client_secrets.rbi +38 -0
  226. data/rbi/openai/resources/realtime.rbi +15 -0
  227. data/rbi/openai/resources/responses.rbi +12 -6
  228. data/rbi/openai/resources/webhooks.rbi +1 -0
  229. data/sig/openai/client.rbs +2 -0
  230. data/sig/openai/models/audio/speech_create_params.rbs +4 -0
  231. data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -0
  232. data/sig/openai/models/realtime/client_secret_create_params.rbs +89 -0
  233. data/sig/openai/models/realtime/client_secret_create_response.rbs +292 -0
  234. data/sig/openai/models/realtime/conversation_created_event.rbs +70 -0
  235. data/sig/openai/models/realtime/conversation_item.rbs +22 -0
  236. data/sig/openai/models/realtime/conversation_item_added.rbs +37 -0
  237. data/sig/openai/models/realtime/conversation_item_create_event.rbs +41 -0
  238. data/sig/openai/models/realtime/conversation_item_created_event.rbs +37 -0
  239. data/sig/openai/models/realtime/conversation_item_delete_event.rbs +30 -0
  240. data/sig/openai/models/realtime/conversation_item_deleted_event.rbs +32 -0
  241. data/sig/openai/models/realtime/conversation_item_done.rbs +37 -0
  242. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +136 -0
  243. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +51 -0
  244. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbs +77 -0
  245. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbs +62 -0
  246. data/sig/openai/models/realtime/conversation_item_retrieve_event.rbs +34 -0
  247. data/sig/openai/models/realtime/conversation_item_truncate_event.rbs +44 -0
  248. data/sig/openai/models/realtime/conversation_item_truncated_event.rbs +42 -0
  249. data/sig/openai/models/realtime/conversation_item_with_reference.rbs +207 -0
  250. data/sig/openai/models/realtime/input_audio_buffer_append_event.rbs +30 -0
  251. data/sig/openai/models/realtime/input_audio_buffer_clear_event.rbs +23 -0
  252. data/sig/openai/models/realtime/input_audio_buffer_cleared_event.rbs +24 -0
  253. data/sig/openai/models/realtime/input_audio_buffer_commit_event.rbs +23 -0
  254. data/sig/openai/models/realtime/input_audio_buffer_committed_event.rbs +37 -0
  255. data/sig/openai/models/realtime/input_audio_buffer_speech_started_event.rbs +37 -0
  256. data/sig/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbs +37 -0
  257. data/sig/openai/models/realtime/input_audio_buffer_timeout_triggered.rbs +42 -0
  258. data/sig/openai/models/realtime/log_prob_properties.rbs +28 -0
  259. data/sig/openai/models/realtime/mcp_list_tools_completed.rbs +28 -0
  260. data/sig/openai/models/realtime/mcp_list_tools_failed.rbs +28 -0
  261. data/sig/openai/models/realtime/mcp_list_tools_in_progress.rbs +32 -0
  262. data/sig/openai/models/realtime/output_audio_buffer_clear_event.rbs +23 -0
  263. data/sig/openai/models/realtime/rate_limits_updated_event.rbs +85 -0
  264. data/sig/openai/models/realtime/realtime_audio_config.rbs +354 -0
  265. data/sig/openai/models/realtime/realtime_client_event.rbs +25 -0
  266. data/sig/openai/models/realtime/realtime_client_secret_config.rbs +60 -0
  267. data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +117 -0
  268. data/sig/openai/models/realtime/realtime_conversation_item_function_call.rbs +86 -0
  269. data/sig/openai/models/realtime/realtime_conversation_item_function_call_output.rbs +79 -0
  270. data/sig/openai/models/realtime/realtime_conversation_item_system_message.rbs +117 -0
  271. data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +132 -0
  272. data/sig/openai/models/realtime/realtime_error.rbs +42 -0
  273. data/sig/openai/models/realtime/realtime_error_event.rbs +32 -0
  274. data/sig/openai/models/realtime/realtime_mcp_approval_request.rbs +42 -0
  275. data/sig/openai/models/realtime/realtime_mcp_approval_response.rbs +42 -0
  276. data/sig/openai/models/realtime/realtime_mcp_list_tools.rbs +71 -0
  277. data/sig/openai/models/realtime/realtime_mcp_protocol_error.rbs +28 -0
  278. data/sig/openai/models/realtime/realtime_mcp_tool_call.rbs +68 -0
  279. data/sig/openai/models/realtime/realtime_mcp_tool_execution_error.rbs +18 -0
  280. data/sig/openai/models/realtime/realtime_mcphttp_error.rbs +24 -0
  281. data/sig/openai/models/realtime/realtime_response.rbs +210 -0
  282. data/sig/openai/models/realtime/realtime_response_status.rbs +90 -0
  283. data/sig/openai/models/realtime/realtime_response_usage.rbs +56 -0
  284. data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +34 -0
  285. data/sig/openai/models/realtime/realtime_response_usage_output_token_details.rbs +22 -0
  286. data/sig/openai/models/realtime/realtime_server_event.rbs +168 -0
  287. data/sig/openai/models/realtime/realtime_session.rbs +521 -0
  288. data/sig/openai/models/realtime/realtime_session_create_request.rbs +178 -0
  289. data/sig/openai/models/realtime/realtime_session_create_response.rbs +526 -0
  290. data/sig/openai/models/realtime/realtime_tool_choice_config.rbs +16 -0
  291. data/sig/openai/models/realtime/realtime_tools_config.rbs +10 -0
  292. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +280 -0
  293. data/sig/openai/models/realtime/realtime_tracing_config.rbs +43 -0
  294. data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +242 -0
  295. data/sig/openai/models/realtime/realtime_truncation.rbs +53 -0
  296. data/sig/openai/models/realtime/response_audio_delta_event.rbs +52 -0
  297. data/sig/openai/models/realtime/response_audio_done_event.rbs +47 -0
  298. data/sig/openai/models/realtime/response_audio_transcript_delta_event.rbs +52 -0
  299. data/sig/openai/models/realtime/response_audio_transcript_done_event.rbs +52 -0
  300. data/sig/openai/models/realtime/response_cancel_event.rbs +32 -0
  301. data/sig/openai/models/realtime/response_content_part_added_event.rbs +105 -0
  302. data/sig/openai/models/realtime/response_content_part_done_event.rbs +105 -0
  303. data/sig/openai/models/realtime/response_create_event.rbs +281 -0
  304. data/sig/openai/models/realtime/response_created_event.rbs +32 -0
  305. data/sig/openai/models/realtime/response_done_event.rbs +32 -0
  306. data/sig/openai/models/realtime/response_function_call_arguments_delta_event.rbs +52 -0
  307. data/sig/openai/models/realtime/response_function_call_arguments_done_event.rbs +52 -0
  308. data/sig/openai/models/realtime/response_mcp_call_arguments_delta.rbs +52 -0
  309. data/sig/openai/models/realtime/response_mcp_call_arguments_done.rbs +47 -0
  310. data/sig/openai/models/realtime/response_mcp_call_completed.rbs +37 -0
  311. data/sig/openai/models/realtime/response_mcp_call_failed.rbs +37 -0
  312. data/sig/openai/models/realtime/response_mcp_call_in_progress.rbs +37 -0
  313. data/sig/openai/models/realtime/response_output_item_added_event.rbs +42 -0
  314. data/sig/openai/models/realtime/response_output_item_done_event.rbs +42 -0
  315. data/sig/openai/models/realtime/response_text_delta_event.rbs +52 -0
  316. data/sig/openai/models/realtime/response_text_done_event.rbs +52 -0
  317. data/sig/openai/models/realtime/session_created_event.rbs +32 -0
  318. data/sig/openai/models/realtime/session_update_event.rbs +34 -0
  319. data/sig/openai/models/realtime/session_updated_event.rbs +32 -0
  320. data/sig/openai/models/realtime/transcription_session_created.rbs +282 -0
  321. data/sig/openai/models/realtime/transcription_session_update.rbs +34 -0
  322. data/sig/openai/models/realtime/transcription_session_updated_event.rbs +282 -0
  323. data/sig/openai/models/responses/tool.rbs +1 -121
  324. data/sig/openai/models/responses/web_search_preview_tool.rbs +96 -0
  325. data/sig/openai/models/responses/web_search_tool.rbs +39 -10
  326. data/sig/openai/models/webhooks/realtime_call_incoming_webhook_event.rbs +90 -0
  327. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  328. data/sig/openai/models.rbs +2 -0
  329. data/sig/openai/resources/realtime/client_secrets.rbs +15 -0
  330. data/sig/openai/resources/realtime.rbs +9 -0
  331. data/sig/openai/resources/webhooks.rbs +1 -0
  332. metadata +287 -2
@@ -0,0 +1,210 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_response =
5
+ {
6
+ id: String,
7
+ conversation_id: String,
8
+ max_output_tokens: OpenAI::Models::Realtime::RealtimeResponse::max_output_tokens,
9
+ metadata: OpenAI::Models::metadata?,
10
+ modalities: ::Array[OpenAI::Models::Realtime::RealtimeResponse::modality],
11
+ object: OpenAI::Models::Realtime::RealtimeResponse::object,
12
+ output: ::Array[OpenAI::Models::Realtime::conversation_item],
13
+ output_audio_format: OpenAI::Models::Realtime::RealtimeResponse::output_audio_format,
14
+ status: OpenAI::Models::Realtime::RealtimeResponse::status,
15
+ status_details: OpenAI::Realtime::RealtimeResponseStatus,
16
+ temperature: Float,
17
+ usage: OpenAI::Realtime::RealtimeResponseUsage,
18
+ voice: OpenAI::Models::Realtime::RealtimeResponse::voice
19
+ }
20
+
21
+ class RealtimeResponse < OpenAI::Internal::Type::BaseModel
22
+ attr_reader id: String?
23
+
24
+ def id=: (String) -> String
25
+
26
+ attr_reader conversation_id: String?
27
+
28
+ def conversation_id=: (String) -> String
29
+
30
+ attr_reader max_output_tokens: OpenAI::Models::Realtime::RealtimeResponse::max_output_tokens?
31
+
32
+ def max_output_tokens=: (
33
+ OpenAI::Models::Realtime::RealtimeResponse::max_output_tokens
34
+ ) -> OpenAI::Models::Realtime::RealtimeResponse::max_output_tokens
35
+
36
+ attr_accessor metadata: OpenAI::Models::metadata?
37
+
38
+ attr_reader modalities: ::Array[OpenAI::Models::Realtime::RealtimeResponse::modality]?
39
+
40
+ def modalities=: (
41
+ ::Array[OpenAI::Models::Realtime::RealtimeResponse::modality]
42
+ ) -> ::Array[OpenAI::Models::Realtime::RealtimeResponse::modality]
43
+
44
+ attr_reader object: OpenAI::Models::Realtime::RealtimeResponse::object?
45
+
46
+ def object=: (
47
+ OpenAI::Models::Realtime::RealtimeResponse::object
48
+ ) -> OpenAI::Models::Realtime::RealtimeResponse::object
49
+
50
+ attr_reader output: ::Array[OpenAI::Models::Realtime::conversation_item]?
51
+
52
+ def output=: (
53
+ ::Array[OpenAI::Models::Realtime::conversation_item]
54
+ ) -> ::Array[OpenAI::Models::Realtime::conversation_item]
55
+
56
+ attr_reader output_audio_format: OpenAI::Models::Realtime::RealtimeResponse::output_audio_format?
57
+
58
+ def output_audio_format=: (
59
+ OpenAI::Models::Realtime::RealtimeResponse::output_audio_format
60
+ ) -> OpenAI::Models::Realtime::RealtimeResponse::output_audio_format
61
+
62
+ attr_reader status: OpenAI::Models::Realtime::RealtimeResponse::status?
63
+
64
+ def status=: (
65
+ OpenAI::Models::Realtime::RealtimeResponse::status
66
+ ) -> OpenAI::Models::Realtime::RealtimeResponse::status
67
+
68
+ attr_reader status_details: OpenAI::Realtime::RealtimeResponseStatus?
69
+
70
+ def status_details=: (
71
+ OpenAI::Realtime::RealtimeResponseStatus
72
+ ) -> OpenAI::Realtime::RealtimeResponseStatus
73
+
74
+ attr_reader temperature: Float?
75
+
76
+ def temperature=: (Float) -> Float
77
+
78
+ attr_reader usage: OpenAI::Realtime::RealtimeResponseUsage?
79
+
80
+ def usage=: (
81
+ OpenAI::Realtime::RealtimeResponseUsage
82
+ ) -> OpenAI::Realtime::RealtimeResponseUsage
83
+
84
+ attr_reader voice: OpenAI::Models::Realtime::RealtimeResponse::voice?
85
+
86
+ def voice=: (
87
+ OpenAI::Models::Realtime::RealtimeResponse::voice
88
+ ) -> OpenAI::Models::Realtime::RealtimeResponse::voice
89
+
90
+ def initialize: (
91
+ ?id: String,
92
+ ?conversation_id: String,
93
+ ?max_output_tokens: OpenAI::Models::Realtime::RealtimeResponse::max_output_tokens,
94
+ ?metadata: OpenAI::Models::metadata?,
95
+ ?modalities: ::Array[OpenAI::Models::Realtime::RealtimeResponse::modality],
96
+ ?object: OpenAI::Models::Realtime::RealtimeResponse::object,
97
+ ?output: ::Array[OpenAI::Models::Realtime::conversation_item],
98
+ ?output_audio_format: OpenAI::Models::Realtime::RealtimeResponse::output_audio_format,
99
+ ?status: OpenAI::Models::Realtime::RealtimeResponse::status,
100
+ ?status_details: OpenAI::Realtime::RealtimeResponseStatus,
101
+ ?temperature: Float,
102
+ ?usage: OpenAI::Realtime::RealtimeResponseUsage,
103
+ ?voice: OpenAI::Models::Realtime::RealtimeResponse::voice
104
+ ) -> void
105
+
106
+ def to_hash: -> {
107
+ id: String,
108
+ conversation_id: String,
109
+ max_output_tokens: OpenAI::Models::Realtime::RealtimeResponse::max_output_tokens,
110
+ metadata: OpenAI::Models::metadata?,
111
+ modalities: ::Array[OpenAI::Models::Realtime::RealtimeResponse::modality],
112
+ object: OpenAI::Models::Realtime::RealtimeResponse::object,
113
+ output: ::Array[OpenAI::Models::Realtime::conversation_item],
114
+ output_audio_format: OpenAI::Models::Realtime::RealtimeResponse::output_audio_format,
115
+ status: OpenAI::Models::Realtime::RealtimeResponse::status,
116
+ status_details: OpenAI::Realtime::RealtimeResponseStatus,
117
+ temperature: Float,
118
+ usage: OpenAI::Realtime::RealtimeResponseUsage,
119
+ voice: OpenAI::Models::Realtime::RealtimeResponse::voice
120
+ }
121
+
122
+ type max_output_tokens = Integer | :inf
123
+
124
+ module MaxOutputTokens
125
+ extend OpenAI::Internal::Type::Union
126
+
127
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::RealtimeResponse::max_output_tokens]
128
+ end
129
+
130
+ type modality = :text | :audio
131
+
132
+ module Modality
133
+ extend OpenAI::Internal::Type::Enum
134
+
135
+ TEXT: :text
136
+ AUDIO: :audio
137
+
138
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeResponse::modality]
139
+ end
140
+
141
+ type object = :"realtime.response"
142
+
143
+ module Object
144
+ extend OpenAI::Internal::Type::Enum
145
+
146
+ REALTIME_RESPONSE: :"realtime.response"
147
+
148
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeResponse::object]
149
+ end
150
+
151
+ type output_audio_format = :pcm16 | :g711_ulaw | :g711_alaw
152
+
153
+ module OutputAudioFormat
154
+ extend OpenAI::Internal::Type::Enum
155
+
156
+ PCM16: :pcm16
157
+ G711_ULAW: :g711_ulaw
158
+ G711_ALAW: :g711_alaw
159
+
160
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeResponse::output_audio_format]
161
+ end
162
+
163
+ type status =
164
+ :completed | :cancelled | :failed | :incomplete | :in_progress
165
+
166
+ module Status
167
+ extend OpenAI::Internal::Type::Enum
168
+
169
+ COMPLETED: :completed
170
+ CANCELLED: :cancelled
171
+ FAILED: :failed
172
+ INCOMPLETE: :incomplete
173
+ IN_PROGRESS: :in_progress
174
+
175
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeResponse::status]
176
+ end
177
+
178
+ type voice =
179
+ String
180
+ | :alloy
181
+ | :ash
182
+ | :ballad
183
+ | :coral
184
+ | :echo
185
+ | :sage
186
+ | :shimmer
187
+ | :verse
188
+ | :marin
189
+ | :cedar
190
+
191
+ module Voice
192
+ extend OpenAI::Internal::Type::Union
193
+
194
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::RealtimeResponse::voice]
195
+
196
+ ALLOY: :alloy
197
+ ASH: :ash
198
+ BALLAD: :ballad
199
+ CORAL: :coral
200
+ ECHO: :echo
201
+ SAGE: :sage
202
+ SHIMMER: :shimmer
203
+ VERSE: :verse
204
+ MARIN: :marin
205
+ CEDAR: :cedar
206
+ end
207
+ end
208
+ end
209
+ end
210
+ end
@@ -0,0 +1,90 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_response_status =
5
+ {
6
+ error: OpenAI::Realtime::RealtimeResponseStatus::Error,
7
+ reason: OpenAI::Models::Realtime::RealtimeResponseStatus::reason,
8
+ type: OpenAI::Models::Realtime::RealtimeResponseStatus::type_
9
+ }
10
+
11
+ class RealtimeResponseStatus < OpenAI::Internal::Type::BaseModel
12
+ attr_reader error: OpenAI::Realtime::RealtimeResponseStatus::Error?
13
+
14
+ def error=: (
15
+ OpenAI::Realtime::RealtimeResponseStatus::Error
16
+ ) -> OpenAI::Realtime::RealtimeResponseStatus::Error
17
+
18
+ attr_reader reason: OpenAI::Models::Realtime::RealtimeResponseStatus::reason?
19
+
20
+ def reason=: (
21
+ OpenAI::Models::Realtime::RealtimeResponseStatus::reason
22
+ ) -> OpenAI::Models::Realtime::RealtimeResponseStatus::reason
23
+
24
+ attr_reader type: OpenAI::Models::Realtime::RealtimeResponseStatus::type_?
25
+
26
+ def type=: (
27
+ OpenAI::Models::Realtime::RealtimeResponseStatus::type_
28
+ ) -> OpenAI::Models::Realtime::RealtimeResponseStatus::type_
29
+
30
+ def initialize: (
31
+ ?error: OpenAI::Realtime::RealtimeResponseStatus::Error,
32
+ ?reason: OpenAI::Models::Realtime::RealtimeResponseStatus::reason,
33
+ ?type: OpenAI::Models::Realtime::RealtimeResponseStatus::type_
34
+ ) -> void
35
+
36
+ def to_hash: -> {
37
+ error: OpenAI::Realtime::RealtimeResponseStatus::Error,
38
+ reason: OpenAI::Models::Realtime::RealtimeResponseStatus::reason,
39
+ type: OpenAI::Models::Realtime::RealtimeResponseStatus::type_
40
+ }
41
+
42
+ type error = { code: String, type: String }
43
+
44
+ class Error < OpenAI::Internal::Type::BaseModel
45
+ attr_reader code: String?
46
+
47
+ def code=: (String) -> String
48
+
49
+ attr_reader type: String?
50
+
51
+ def type=: (String) -> String
52
+
53
+ def initialize: (?code: String, ?type: String) -> void
54
+
55
+ def to_hash: -> { code: String, type: String }
56
+ end
57
+
58
+ type reason =
59
+ :turn_detected
60
+ | :client_cancelled
61
+ | :max_output_tokens
62
+ | :content_filter
63
+
64
+ module Reason
65
+ extend OpenAI::Internal::Type::Enum
66
+
67
+ TURN_DETECTED: :turn_detected
68
+ CLIENT_CANCELLED: :client_cancelled
69
+ MAX_OUTPUT_TOKENS: :max_output_tokens
70
+ CONTENT_FILTER: :content_filter
71
+
72
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeResponseStatus::reason]
73
+ end
74
+
75
+ type type_ = :completed | :cancelled | :incomplete | :failed
76
+
77
+ module Type
78
+ extend OpenAI::Internal::Type::Enum
79
+
80
+ COMPLETED: :completed
81
+ CANCELLED: :cancelled
82
+ INCOMPLETE: :incomplete
83
+ FAILED: :failed
84
+
85
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeResponseStatus::type_]
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,56 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_response_usage =
5
+ {
6
+ input_token_details: OpenAI::Realtime::RealtimeResponseUsageInputTokenDetails,
7
+ input_tokens: Integer,
8
+ output_token_details: OpenAI::Realtime::RealtimeResponseUsageOutputTokenDetails,
9
+ output_tokens: Integer,
10
+ total_tokens: Integer
11
+ }
12
+
13
+ class RealtimeResponseUsage < OpenAI::Internal::Type::BaseModel
14
+ attr_reader input_token_details: OpenAI::Realtime::RealtimeResponseUsageInputTokenDetails?
15
+
16
+ def input_token_details=: (
17
+ OpenAI::Realtime::RealtimeResponseUsageInputTokenDetails
18
+ ) -> OpenAI::Realtime::RealtimeResponseUsageInputTokenDetails
19
+
20
+ attr_reader input_tokens: Integer?
21
+
22
+ def input_tokens=: (Integer) -> Integer
23
+
24
+ attr_reader output_token_details: OpenAI::Realtime::RealtimeResponseUsageOutputTokenDetails?
25
+
26
+ def output_token_details=: (
27
+ OpenAI::Realtime::RealtimeResponseUsageOutputTokenDetails
28
+ ) -> OpenAI::Realtime::RealtimeResponseUsageOutputTokenDetails
29
+
30
+ attr_reader output_tokens: Integer?
31
+
32
+ def output_tokens=: (Integer) -> Integer
33
+
34
+ attr_reader total_tokens: Integer?
35
+
36
+ def total_tokens=: (Integer) -> Integer
37
+
38
+ def initialize: (
39
+ ?input_token_details: OpenAI::Realtime::RealtimeResponseUsageInputTokenDetails,
40
+ ?input_tokens: Integer,
41
+ ?output_token_details: OpenAI::Realtime::RealtimeResponseUsageOutputTokenDetails,
42
+ ?output_tokens: Integer,
43
+ ?total_tokens: Integer
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ input_token_details: OpenAI::Realtime::RealtimeResponseUsageInputTokenDetails,
48
+ input_tokens: Integer,
49
+ output_token_details: OpenAI::Realtime::RealtimeResponseUsageOutputTokenDetails,
50
+ output_tokens: Integer,
51
+ total_tokens: Integer
52
+ }
53
+ end
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_response_usage_input_token_details =
5
+ { audio_tokens: Integer, cached_tokens: Integer, text_tokens: Integer }
6
+
7
+ class RealtimeResponseUsageInputTokenDetails < OpenAI::Internal::Type::BaseModel
8
+ attr_reader audio_tokens: Integer?
9
+
10
+ def audio_tokens=: (Integer) -> Integer
11
+
12
+ attr_reader cached_tokens: Integer?
13
+
14
+ def cached_tokens=: (Integer) -> Integer
15
+
16
+ attr_reader text_tokens: Integer?
17
+
18
+ def text_tokens=: (Integer) -> Integer
19
+
20
+ def initialize: (
21
+ ?audio_tokens: Integer,
22
+ ?cached_tokens: Integer,
23
+ ?text_tokens: Integer
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ audio_tokens: Integer,
28
+ cached_tokens: Integer,
29
+ text_tokens: Integer
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,22 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_response_usage_output_token_details =
5
+ { audio_tokens: Integer, text_tokens: Integer }
6
+
7
+ class RealtimeResponseUsageOutputTokenDetails < OpenAI::Internal::Type::BaseModel
8
+ attr_reader audio_tokens: Integer?
9
+
10
+ def audio_tokens=: (Integer) -> Integer
11
+
12
+ attr_reader text_tokens: Integer?
13
+
14
+ def text_tokens=: (Integer) -> Integer
15
+
16
+ def initialize: (?audio_tokens: Integer, ?text_tokens: Integer) -> void
17
+
18
+ def to_hash: -> { audio_tokens: Integer, text_tokens: Integer }
19
+ end
20
+ end
21
+ end
22
+ end
@@ -0,0 +1,168 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_server_event =
5
+ OpenAI::Realtime::ConversationCreatedEvent
6
+ | OpenAI::Realtime::ConversationItemCreatedEvent
7
+ | OpenAI::Realtime::ConversationItemDeletedEvent
8
+ | OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent
9
+ | OpenAI::Realtime::ConversationItemInputAudioTranscriptionDeltaEvent
10
+ | OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent
11
+ | OpenAI::Realtime::RealtimeServerEvent::ConversationItemRetrieved
12
+ | OpenAI::Realtime::ConversationItemTruncatedEvent
13
+ | OpenAI::Realtime::RealtimeErrorEvent
14
+ | OpenAI::Realtime::InputAudioBufferClearedEvent
15
+ | OpenAI::Realtime::InputAudioBufferCommittedEvent
16
+ | OpenAI::Realtime::InputAudioBufferSpeechStartedEvent
17
+ | OpenAI::Realtime::InputAudioBufferSpeechStoppedEvent
18
+ | OpenAI::Realtime::RateLimitsUpdatedEvent
19
+ | OpenAI::Realtime::ResponseAudioDeltaEvent
20
+ | OpenAI::Realtime::ResponseAudioDoneEvent
21
+ | OpenAI::Realtime::ResponseAudioTranscriptDeltaEvent
22
+ | OpenAI::Realtime::ResponseAudioTranscriptDoneEvent
23
+ | OpenAI::Realtime::ResponseContentPartAddedEvent
24
+ | OpenAI::Realtime::ResponseContentPartDoneEvent
25
+ | OpenAI::Realtime::ResponseCreatedEvent
26
+ | OpenAI::Realtime::ResponseDoneEvent
27
+ | OpenAI::Realtime::ResponseFunctionCallArgumentsDeltaEvent
28
+ | OpenAI::Realtime::ResponseFunctionCallArgumentsDoneEvent
29
+ | OpenAI::Realtime::ResponseOutputItemAddedEvent
30
+ | OpenAI::Realtime::ResponseOutputItemDoneEvent
31
+ | OpenAI::Realtime::ResponseTextDeltaEvent
32
+ | OpenAI::Realtime::ResponseTextDoneEvent
33
+ | OpenAI::Realtime::SessionCreatedEvent
34
+ | OpenAI::Realtime::SessionUpdatedEvent
35
+ | OpenAI::Realtime::TranscriptionSessionUpdatedEvent
36
+ | OpenAI::Realtime::TranscriptionSessionCreated
37
+ | OpenAI::Realtime::RealtimeServerEvent::OutputAudioBufferStarted
38
+ | OpenAI::Realtime::RealtimeServerEvent::OutputAudioBufferStopped
39
+ | OpenAI::Realtime::RealtimeServerEvent::OutputAudioBufferCleared
40
+ | OpenAI::Realtime::ConversationItemAdded
41
+ | OpenAI::Realtime::ConversationItemDone
42
+ | OpenAI::Realtime::InputAudioBufferTimeoutTriggered
43
+ | OpenAI::Realtime::ConversationItemInputAudioTranscriptionSegment
44
+ | OpenAI::Realtime::McpListToolsInProgress
45
+ | OpenAI::Realtime::McpListToolsCompleted
46
+ | OpenAI::Realtime::McpListToolsFailed
47
+ | OpenAI::Realtime::ResponseMcpCallArgumentsDelta
48
+ | OpenAI::Realtime::ResponseMcpCallArgumentsDone
49
+ | OpenAI::Realtime::ResponseMcpCallInProgress
50
+ | OpenAI::Realtime::ResponseMcpCallCompleted
51
+ | OpenAI::Realtime::ResponseMcpCallFailed
52
+
53
+ module RealtimeServerEvent
54
+ extend OpenAI::Internal::Type::Union
55
+
56
+ type conversation_item_retrieved =
57
+ {
58
+ event_id: String,
59
+ item: OpenAI::Models::Realtime::conversation_item,
60
+ type: :"conversation.item.retrieved"
61
+ }
62
+
63
+ class ConversationItemRetrieved < OpenAI::Internal::Type::BaseModel
64
+ attr_accessor event_id: String
65
+
66
+ attr_accessor item: OpenAI::Models::Realtime::conversation_item
67
+
68
+ attr_accessor type: :"conversation.item.retrieved"
69
+
70
+ def initialize: (
71
+ event_id: String,
72
+ item: OpenAI::Models::Realtime::conversation_item,
73
+ ?type: :"conversation.item.retrieved"
74
+ ) -> void
75
+
76
+ def to_hash: -> {
77
+ event_id: String,
78
+ item: OpenAI::Models::Realtime::conversation_item,
79
+ type: :"conversation.item.retrieved"
80
+ }
81
+ end
82
+
83
+ type output_audio_buffer_started =
84
+ {
85
+ event_id: String,
86
+ response_id: String,
87
+ type: :"output_audio_buffer.started"
88
+ }
89
+
90
+ class OutputAudioBufferStarted < OpenAI::Internal::Type::BaseModel
91
+ attr_accessor event_id: String
92
+
93
+ attr_accessor response_id: String
94
+
95
+ attr_accessor type: :"output_audio_buffer.started"
96
+
97
+ def initialize: (
98
+ event_id: String,
99
+ response_id: String,
100
+ ?type: :"output_audio_buffer.started"
101
+ ) -> void
102
+
103
+ def to_hash: -> {
104
+ event_id: String,
105
+ response_id: String,
106
+ type: :"output_audio_buffer.started"
107
+ }
108
+ end
109
+
110
+ type output_audio_buffer_stopped =
111
+ {
112
+ event_id: String,
113
+ response_id: String,
114
+ type: :"output_audio_buffer.stopped"
115
+ }
116
+
117
+ class OutputAudioBufferStopped < OpenAI::Internal::Type::BaseModel
118
+ attr_accessor event_id: String
119
+
120
+ attr_accessor response_id: String
121
+
122
+ attr_accessor type: :"output_audio_buffer.stopped"
123
+
124
+ def initialize: (
125
+ event_id: String,
126
+ response_id: String,
127
+ ?type: :"output_audio_buffer.stopped"
128
+ ) -> void
129
+
130
+ def to_hash: -> {
131
+ event_id: String,
132
+ response_id: String,
133
+ type: :"output_audio_buffer.stopped"
134
+ }
135
+ end
136
+
137
+ type output_audio_buffer_cleared =
138
+ {
139
+ event_id: String,
140
+ response_id: String,
141
+ type: :"output_audio_buffer.cleared"
142
+ }
143
+
144
+ class OutputAudioBufferCleared < OpenAI::Internal::Type::BaseModel
145
+ attr_accessor event_id: String
146
+
147
+ attr_accessor response_id: String
148
+
149
+ attr_accessor type: :"output_audio_buffer.cleared"
150
+
151
+ def initialize: (
152
+ event_id: String,
153
+ response_id: String,
154
+ ?type: :"output_audio_buffer.cleared"
155
+ ) -> void
156
+
157
+ def to_hash: -> {
158
+ event_id: String,
159
+ response_id: String,
160
+ type: :"output_audio_buffer.cleared"
161
+ }
162
+ end
163
+
164
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::realtime_server_event]
165
+ end
166
+ end
167
+ end
168
+ end