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