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,282 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type transcription_session_created =
5
+ {
6
+ event_id: String,
7
+ session: OpenAI::Realtime::TranscriptionSessionCreated::Session,
8
+ type: :"transcription_session.created"
9
+ }
10
+
11
+ class TranscriptionSessionCreated < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor event_id: String
13
+
14
+ attr_accessor session: OpenAI::Realtime::TranscriptionSessionCreated::Session
15
+
16
+ attr_accessor type: :"transcription_session.created"
17
+
18
+ def initialize: (
19
+ event_id: String,
20
+ session: OpenAI::Realtime::TranscriptionSessionCreated::Session,
21
+ ?type: :"transcription_session.created"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ event_id: String,
26
+ session: OpenAI::Realtime::TranscriptionSessionCreated::Session,
27
+ type: :"transcription_session.created"
28
+ }
29
+
30
+ type session =
31
+ {
32
+ id: String,
33
+ audio: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio,
34
+ expires_at: Integer,
35
+ include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_],
36
+ object: String
37
+ }
38
+
39
+ class Session < OpenAI::Internal::Type::BaseModel
40
+ attr_reader id: String?
41
+
42
+ def id=: (String) -> String
43
+
44
+ attr_reader audio: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio?
45
+
46
+ def audio=: (
47
+ OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio
48
+ ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio
49
+
50
+ attr_reader expires_at: Integer?
51
+
52
+ def expires_at=: (Integer) -> Integer
53
+
54
+ attr_reader include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_]?
55
+
56
+ def include=: (
57
+ ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_]
58
+ ) -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_]
59
+
60
+ attr_reader object: String?
61
+
62
+ def object=: (String) -> String
63
+
64
+ def initialize: (
65
+ ?id: String,
66
+ ?audio: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio,
67
+ ?expires_at: Integer,
68
+ ?include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_],
69
+ ?object: String
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ id: String,
74
+ audio: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio,
75
+ expires_at: Integer,
76
+ include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_],
77
+ object: String
78
+ }
79
+
80
+ type audio =
81
+ {
82
+ input: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
83
+ }
84
+
85
+ class Audio < OpenAI::Internal::Type::BaseModel
86
+ attr_reader input: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input?
87
+
88
+ def input=: (
89
+ OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
90
+ ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
91
+
92
+ def initialize: (
93
+ ?input: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
94
+ ) -> void
95
+
96
+ def to_hash: -> {
97
+ input: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input
98
+ }
99
+
100
+ type input =
101
+ {
102
+ format_: String,
103
+ noise_reduction: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction,
104
+ transcription: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription,
105
+ turn_detection: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
106
+ }
107
+
108
+ class Input < OpenAI::Internal::Type::BaseModel
109
+ attr_reader format_: String?
110
+
111
+ def format_=: (String) -> String
112
+
113
+ attr_reader noise_reduction: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction?
114
+
115
+ def noise_reduction=: (
116
+ OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction
117
+ ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction
118
+
119
+ attr_reader transcription: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription?
120
+
121
+ def transcription=: (
122
+ OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription
123
+ ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription
124
+
125
+ attr_reader turn_detection: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection?
126
+
127
+ def turn_detection=: (
128
+ OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
129
+ ) -> OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
130
+
131
+ def initialize: (
132
+ ?format_: String,
133
+ ?noise_reduction: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction,
134
+ ?transcription: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription,
135
+ ?turn_detection: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
136
+ ) -> void
137
+
138
+ def to_hash: -> {
139
+ format_: String,
140
+ noise_reduction: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction,
141
+ transcription: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription,
142
+ turn_detection: OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection
143
+ }
144
+
145
+ type noise_reduction =
146
+ {
147
+ type: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
148
+ }
149
+
150
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
151
+ attr_reader type: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_?
152
+
153
+ def type=: (
154
+ OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
155
+ ) -> OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
156
+
157
+ def initialize: (
158
+ ?type: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
159
+ ) -> void
160
+
161
+ def to_hash: -> {
162
+ type: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_
163
+ }
164
+
165
+ type type_ = :near_field | :far_field
166
+
167
+ module Type
168
+ extend OpenAI::Internal::Type::Enum
169
+
170
+ NEAR_FIELD: :near_field
171
+ FAR_FIELD: :far_field
172
+
173
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::type_]
174
+ end
175
+ end
176
+
177
+ type transcription =
178
+ {
179
+ language: String,
180
+ model: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model,
181
+ prompt: String
182
+ }
183
+
184
+ class Transcription < OpenAI::Internal::Type::BaseModel
185
+ attr_reader language: String?
186
+
187
+ def language=: (String) -> String
188
+
189
+ attr_reader model: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model?
190
+
191
+ def model=: (
192
+ OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model
193
+ ) -> OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model
194
+
195
+ attr_reader prompt: String?
196
+
197
+ def prompt=: (String) -> String
198
+
199
+ def initialize: (
200
+ ?language: String,
201
+ ?model: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model,
202
+ ?prompt: String
203
+ ) -> void
204
+
205
+ def to_hash: -> {
206
+ language: String,
207
+ model: OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model,
208
+ prompt: String
209
+ }
210
+
211
+ type model =
212
+ :"gpt-4o-transcribe"
213
+ | :"gpt-4o-mini-transcribe"
214
+ | :"whisper-1"
215
+
216
+ module Model
217
+ extend OpenAI::Internal::Type::Enum
218
+
219
+ GPT_4O_TRANSCRIBE: :"gpt-4o-transcribe"
220
+ GPT_4O_MINI_TRANSCRIBE: :"gpt-4o-mini-transcribe"
221
+ WHISPER_1: :"whisper-1"
222
+
223
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::model]
224
+ end
225
+ end
226
+
227
+ type turn_detection =
228
+ {
229
+ prefix_padding_ms: Integer,
230
+ silence_duration_ms: Integer,
231
+ threshold: Float,
232
+ type: String
233
+ }
234
+
235
+ class TurnDetection < OpenAI::Internal::Type::BaseModel
236
+ attr_reader prefix_padding_ms: Integer?
237
+
238
+ def prefix_padding_ms=: (Integer) -> Integer
239
+
240
+ attr_reader silence_duration_ms: Integer?
241
+
242
+ def silence_duration_ms=: (Integer) -> Integer
243
+
244
+ attr_reader threshold: Float?
245
+
246
+ def threshold=: (Float) -> Float
247
+
248
+ attr_reader type: String?
249
+
250
+ def type=: (String) -> String
251
+
252
+ def initialize: (
253
+ ?prefix_padding_ms: Integer,
254
+ ?silence_duration_ms: Integer,
255
+ ?threshold: Float,
256
+ ?type: String
257
+ ) -> void
258
+
259
+ def to_hash: -> {
260
+ prefix_padding_ms: Integer,
261
+ silence_duration_ms: Integer,
262
+ threshold: Float,
263
+ type: String
264
+ }
265
+ end
266
+ end
267
+ end
268
+
269
+ type include_ = :"item.input_audio_transcription.logprobs"
270
+
271
+ module Include
272
+ extend OpenAI::Internal::Type::Enum
273
+
274
+ ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS: :"item.input_audio_transcription.logprobs"
275
+
276
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::include_]
277
+ end
278
+ end
279
+ end
280
+ end
281
+ end
282
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type transcription_session_update =
5
+ {
6
+ session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest,
7
+ type: :"transcription_session.update",
8
+ event_id: String
9
+ }
10
+
11
+ class TranscriptionSessionUpdate < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
13
+
14
+ attr_accessor type: :"transcription_session.update"
15
+
16
+ attr_reader event_id: String?
17
+
18
+ def event_id=: (String) -> String
19
+
20
+ def initialize: (
21
+ session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest,
22
+ ?event_id: String,
23
+ ?type: :"transcription_session.update"
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ session: OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest,
28
+ type: :"transcription_session.update",
29
+ event_id: String
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,282 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type transcription_session_updated_event =
5
+ {
6
+ event_id: String,
7
+ session: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session,
8
+ type: :"transcription_session.updated"
9
+ }
10
+
11
+ class TranscriptionSessionUpdatedEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor event_id: String
13
+
14
+ attr_accessor session: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session
15
+
16
+ attr_accessor type: :"transcription_session.updated"
17
+
18
+ def initialize: (
19
+ event_id: String,
20
+ session: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session,
21
+ ?type: :"transcription_session.updated"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ event_id: String,
26
+ session: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session,
27
+ type: :"transcription_session.updated"
28
+ }
29
+
30
+ type session =
31
+ {
32
+ id: String,
33
+ audio: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio,
34
+ expires_at: Integer,
35
+ include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::include_],
36
+ object: String
37
+ }
38
+
39
+ class Session < OpenAI::Internal::Type::BaseModel
40
+ attr_reader id: String?
41
+
42
+ def id=: (String) -> String
43
+
44
+ attr_reader audio: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio?
45
+
46
+ def audio=: (
47
+ OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio
48
+ ) -> OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio
49
+
50
+ attr_reader expires_at: Integer?
51
+
52
+ def expires_at=: (Integer) -> Integer
53
+
54
+ attr_reader include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::include_]?
55
+
56
+ def include=: (
57
+ ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::include_]
58
+ ) -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::include_]
59
+
60
+ attr_reader object: String?
61
+
62
+ def object=: (String) -> String
63
+
64
+ def initialize: (
65
+ ?id: String,
66
+ ?audio: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio,
67
+ ?expires_at: Integer,
68
+ ?include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::include_],
69
+ ?object: String
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ id: String,
74
+ audio: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio,
75
+ expires_at: Integer,
76
+ include: ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::include_],
77
+ object: String
78
+ }
79
+
80
+ type audio =
81
+ {
82
+ input: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input
83
+ }
84
+
85
+ class Audio < OpenAI::Internal::Type::BaseModel
86
+ attr_reader input: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input?
87
+
88
+ def input=: (
89
+ OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input
90
+ ) -> OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input
91
+
92
+ def initialize: (
93
+ ?input: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input
94
+ ) -> void
95
+
96
+ def to_hash: -> {
97
+ input: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input
98
+ }
99
+
100
+ type input =
101
+ {
102
+ format_: String,
103
+ noise_reduction: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction,
104
+ transcription: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription,
105
+ turn_detection: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::TurnDetection
106
+ }
107
+
108
+ class Input < OpenAI::Internal::Type::BaseModel
109
+ attr_reader format_: String?
110
+
111
+ def format_=: (String) -> String
112
+
113
+ attr_reader noise_reduction: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction?
114
+
115
+ def noise_reduction=: (
116
+ OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction
117
+ ) -> OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction
118
+
119
+ attr_reader transcription: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription?
120
+
121
+ def transcription=: (
122
+ OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription
123
+ ) -> OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription
124
+
125
+ attr_reader turn_detection: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::TurnDetection?
126
+
127
+ def turn_detection=: (
128
+ OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::TurnDetection
129
+ ) -> OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::TurnDetection
130
+
131
+ def initialize: (
132
+ ?format_: String,
133
+ ?noise_reduction: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction,
134
+ ?transcription: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription,
135
+ ?turn_detection: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::TurnDetection
136
+ ) -> void
137
+
138
+ def to_hash: -> {
139
+ format_: String,
140
+ noise_reduction: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction,
141
+ transcription: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription,
142
+ turn_detection: OpenAI::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::TurnDetection
143
+ }
144
+
145
+ type noise_reduction =
146
+ {
147
+ type: OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction::type_
148
+ }
149
+
150
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
151
+ attr_reader type: OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction::type_?
152
+
153
+ def type=: (
154
+ OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction::type_
155
+ ) -> OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction::type_
156
+
157
+ def initialize: (
158
+ ?type: OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction::type_
159
+ ) -> void
160
+
161
+ def to_hash: -> {
162
+ type: OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction::type_
163
+ }
164
+
165
+ type type_ = :near_field | :far_field
166
+
167
+ module Type
168
+ extend OpenAI::Internal::Type::Enum
169
+
170
+ NEAR_FIELD: :near_field
171
+ FAR_FIELD: :far_field
172
+
173
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::NoiseReduction::type_]
174
+ end
175
+ end
176
+
177
+ type transcription =
178
+ {
179
+ language: String,
180
+ model: OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription::model,
181
+ prompt: String
182
+ }
183
+
184
+ class Transcription < OpenAI::Internal::Type::BaseModel
185
+ attr_reader language: String?
186
+
187
+ def language=: (String) -> String
188
+
189
+ attr_reader model: OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription::model?
190
+
191
+ def model=: (
192
+ OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription::model
193
+ ) -> OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription::model
194
+
195
+ attr_reader prompt: String?
196
+
197
+ def prompt=: (String) -> String
198
+
199
+ def initialize: (
200
+ ?language: String,
201
+ ?model: OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription::model,
202
+ ?prompt: String
203
+ ) -> void
204
+
205
+ def to_hash: -> {
206
+ language: String,
207
+ model: OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription::model,
208
+ prompt: String
209
+ }
210
+
211
+ type model =
212
+ :"gpt-4o-transcribe"
213
+ | :"gpt-4o-mini-transcribe"
214
+ | :"whisper-1"
215
+
216
+ module Model
217
+ extend OpenAI::Internal::Type::Enum
218
+
219
+ GPT_4O_TRANSCRIBE: :"gpt-4o-transcribe"
220
+ GPT_4O_MINI_TRANSCRIBE: :"gpt-4o-mini-transcribe"
221
+ WHISPER_1: :"whisper-1"
222
+
223
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::Audio::Input::Transcription::model]
224
+ end
225
+ end
226
+
227
+ type turn_detection =
228
+ {
229
+ prefix_padding_ms: Integer,
230
+ silence_duration_ms: Integer,
231
+ threshold: Float,
232
+ type: String
233
+ }
234
+
235
+ class TurnDetection < OpenAI::Internal::Type::BaseModel
236
+ attr_reader prefix_padding_ms: Integer?
237
+
238
+ def prefix_padding_ms=: (Integer) -> Integer
239
+
240
+ attr_reader silence_duration_ms: Integer?
241
+
242
+ def silence_duration_ms=: (Integer) -> Integer
243
+
244
+ attr_reader threshold: Float?
245
+
246
+ def threshold=: (Float) -> Float
247
+
248
+ attr_reader type: String?
249
+
250
+ def type=: (String) -> String
251
+
252
+ def initialize: (
253
+ ?prefix_padding_ms: Integer,
254
+ ?silence_duration_ms: Integer,
255
+ ?threshold: Float,
256
+ ?type: String
257
+ ) -> void
258
+
259
+ def to_hash: -> {
260
+ prefix_padding_ms: Integer,
261
+ silence_duration_ms: Integer,
262
+ threshold: Float,
263
+ type: String
264
+ }
265
+ end
266
+ end
267
+ end
268
+
269
+ type include_ = :"item.input_audio_transcription.logprobs"
270
+
271
+ module Include
272
+ extend OpenAI::Internal::Type::Enum
273
+
274
+ ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS: :"item.input_audio_transcription.logprobs"
275
+
276
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::TranscriptionSessionUpdatedEvent::Session::include_]
277
+ end
278
+ end
279
+ end
280
+ end
281
+ end
282
+ end