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,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class ResponseTextDoneEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute content_index
8
+ # The index of the content part in the item's content array.
9
+ #
10
+ # @return [Integer]
11
+ required :content_index, Integer
12
+
13
+ # @!attribute event_id
14
+ # The unique ID of the server event.
15
+ #
16
+ # @return [String]
17
+ required :event_id, String
18
+
19
+ # @!attribute item_id
20
+ # The ID of the item.
21
+ #
22
+ # @return [String]
23
+ required :item_id, String
24
+
25
+ # @!attribute output_index
26
+ # The index of the output item in the response.
27
+ #
28
+ # @return [Integer]
29
+ required :output_index, Integer
30
+
31
+ # @!attribute response_id
32
+ # The ID of the response.
33
+ #
34
+ # @return [String]
35
+ required :response_id, String
36
+
37
+ # @!attribute text
38
+ # The final text content.
39
+ #
40
+ # @return [String]
41
+ required :text, String
42
+
43
+ # @!attribute type
44
+ # The event type, must be `response.output_text.done`.
45
+ #
46
+ # @return [Symbol, :"response.output_text.done"]
47
+ required :type, const: :"response.output_text.done"
48
+
49
+ # @!method initialize(content_index:, event_id:, item_id:, output_index:, response_id:, text:, type: :"response.output_text.done")
50
+ # Returned when the text value of an "output_text" content part is done streaming.
51
+ # Also emitted when a Response is interrupted, incomplete, or cancelled.
52
+ #
53
+ # @param content_index [Integer] The index of the content part in the item's content array.
54
+ #
55
+ # @param event_id [String] The unique ID of the server event.
56
+ #
57
+ # @param item_id [String] The ID of the item.
58
+ #
59
+ # @param output_index [Integer] The index of the output item in the response.
60
+ #
61
+ # @param response_id [String] The ID of the response.
62
+ #
63
+ # @param text [String] The final text content.
64
+ #
65
+ # @param type [Symbol, :"response.output_text.done"] The event type, must be `response.output_text.done`.
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,38 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class SessionCreatedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute event_id
8
+ # The unique ID of the server event.
9
+ #
10
+ # @return [String]
11
+ required :event_id, String
12
+
13
+ # @!attribute session
14
+ # Realtime session object.
15
+ #
16
+ # @return [OpenAI::Models::Realtime::RealtimeSession]
17
+ required :session, -> { OpenAI::Realtime::RealtimeSession }
18
+
19
+ # @!attribute type
20
+ # The event type, must be `session.created`.
21
+ #
22
+ # @return [Symbol, :"session.created"]
23
+ required :type, const: :"session.created"
24
+
25
+ # @!method initialize(event_id:, session:, type: :"session.created")
26
+ # Returned when a Session is created. Emitted automatically when a new connection
27
+ # is established as the first server event. This event will contain the default
28
+ # Session configuration.
29
+ #
30
+ # @param event_id [String] The unique ID of the server event.
31
+ #
32
+ # @param session [OpenAI::Models::Realtime::RealtimeSession] Realtime session object.
33
+ #
34
+ # @param type [Symbol, :"session.created"] The event type, must be `session.created`.
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,44 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class SessionUpdateEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute session
8
+ # Realtime session object configuration.
9
+ #
10
+ # @return [OpenAI::Models::Realtime::RealtimeSessionCreateRequest]
11
+ required :session, -> { OpenAI::Realtime::RealtimeSessionCreateRequest }
12
+
13
+ # @!attribute type
14
+ # The event type, must be `session.update`.
15
+ #
16
+ # @return [Symbol, :"session.update"]
17
+ required :type, const: :"session.update"
18
+
19
+ # @!attribute event_id
20
+ # Optional client-generated ID used to identify this event.
21
+ #
22
+ # @return [String, nil]
23
+ optional :event_id, String
24
+
25
+ # @!method initialize(session:, event_id: nil, type: :"session.update")
26
+ # Send this event to update the session’s default configuration. The client may
27
+ # send this event at any time to update any field, except for `voice`. However,
28
+ # note that once a session has been initialized with a particular `model`, it
29
+ # can’t be changed to another model using `session.update`.
30
+ #
31
+ # When the server receives a `session.update`, it will respond with a
32
+ # `session.updated` event showing the full, effective configuration. Only the
33
+ # fields that are present are updated. To clear a field like `instructions`, pass
34
+ # an empty string.
35
+ #
36
+ # @param session [OpenAI::Models::Realtime::RealtimeSessionCreateRequest] Realtime session object configuration.
37
+ #
38
+ # @param event_id [String] Optional client-generated ID used to identify this event.
39
+ #
40
+ # @param type [Symbol, :"session.update"] The event type, must be `session.update`.
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,37 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class SessionUpdatedEvent < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute event_id
8
+ # The unique ID of the server event.
9
+ #
10
+ # @return [String]
11
+ required :event_id, String
12
+
13
+ # @!attribute session
14
+ # Realtime session object.
15
+ #
16
+ # @return [OpenAI::Models::Realtime::RealtimeSession]
17
+ required :session, -> { OpenAI::Realtime::RealtimeSession }
18
+
19
+ # @!attribute type
20
+ # The event type, must be `session.updated`.
21
+ #
22
+ # @return [Symbol, :"session.updated"]
23
+ required :type, const: :"session.updated"
24
+
25
+ # @!method initialize(event_id:, session:, type: :"session.updated")
26
+ # Returned when a session is updated with a `session.update` event, unless there
27
+ # is an error.
28
+ #
29
+ # @param event_id [String] The unique ID of the server event.
30
+ #
31
+ # @param session [OpenAI::Models::Realtime::RealtimeSession] Realtime session object.
32
+ #
33
+ # @param type [Symbol, :"session.updated"] The event type, must be `session.updated`.
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,278 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class TranscriptionSessionCreated < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute event_id
8
+ # The unique ID of the server event.
9
+ #
10
+ # @return [String]
11
+ required :event_id, String
12
+
13
+ # @!attribute session
14
+ # A Realtime transcription session configuration object.
15
+ #
16
+ # @return [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session]
17
+ required :session, -> { OpenAI::Realtime::TranscriptionSessionCreated::Session }
18
+
19
+ # @!attribute type
20
+ # The event type, must be `transcription_session.created`.
21
+ #
22
+ # @return [Symbol, :"transcription_session.created"]
23
+ required :type, const: :"transcription_session.created"
24
+
25
+ # @!method initialize(event_id:, session:, type: :"transcription_session.created")
26
+ # Some parameter documentations has been truncated, see
27
+ # {OpenAI::Models::Realtime::TranscriptionSessionCreated} for more details.
28
+ #
29
+ # Returned when a transcription session is created.
30
+ #
31
+ # @param event_id [String] The unique ID of the server event.
32
+ #
33
+ # @param session [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session] A Realtime transcription session configuration object.
34
+ #
35
+ # @param type [Symbol, :"transcription_session.created"] The event type, must be `transcription_session.created`.
36
+
37
+ # @see OpenAI::Models::Realtime::TranscriptionSessionCreated#session
38
+ class Session < OpenAI::Internal::Type::BaseModel
39
+ # @!attribute id
40
+ # Unique identifier for the session that looks like `sess_1234567890abcdef`.
41
+ #
42
+ # @return [String, nil]
43
+ optional :id, String
44
+
45
+ # @!attribute audio
46
+ # Configuration for input audio for the session.
47
+ #
48
+ # @return [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio, nil]
49
+ optional :audio, -> { OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio }
50
+
51
+ # @!attribute expires_at
52
+ # Expiration timestamp for the session, in seconds since epoch.
53
+ #
54
+ # @return [Integer, nil]
55
+ optional :expires_at, Integer
56
+
57
+ # @!attribute include
58
+ # Additional fields to include in server outputs.
59
+ #
60
+ # - `item.input_audio_transcription.logprobs`: Include logprobs for input audio
61
+ # transcription.
62
+ #
63
+ # @return [Array<Symbol, OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Include>, nil]
64
+ optional :include,
65
+ -> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Realtime::TranscriptionSessionCreated::Session::Include] }
66
+
67
+ # @!attribute object
68
+ # The object type. Always `realtime.transcription_session`.
69
+ #
70
+ # @return [String, nil]
71
+ optional :object, String
72
+
73
+ # @!method initialize(id: nil, audio: nil, expires_at: nil, include: nil, object: nil)
74
+ # Some parameter documentations has been truncated, see
75
+ # {OpenAI::Models::Realtime::TranscriptionSessionCreated::Session} for more
76
+ # details.
77
+ #
78
+ # A Realtime transcription session configuration object.
79
+ #
80
+ # @param id [String] Unique identifier for the session that looks like `sess_1234567890abcdef`.
81
+ #
82
+ # @param audio [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio] Configuration for input audio for the session.
83
+ #
84
+ # @param expires_at [Integer] Expiration timestamp for the session, in seconds since epoch.
85
+ #
86
+ # @param include [Array<Symbol, OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Include>] Additional fields to include in server outputs.
87
+ #
88
+ # @param object [String] The object type. Always `realtime.transcription_session`.
89
+
90
+ # @see OpenAI::Models::Realtime::TranscriptionSessionCreated::Session#audio
91
+ class Audio < OpenAI::Internal::Type::BaseModel
92
+ # @!attribute input
93
+ #
94
+ # @return [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input, nil]
95
+ optional :input, -> { OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input }
96
+
97
+ # @!method initialize(input: nil)
98
+ # Configuration for input audio for the session.
99
+ #
100
+ # @param input [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input]
101
+
102
+ # @see OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio#input
103
+ class Input < OpenAI::Internal::Type::BaseModel
104
+ # @!attribute format_
105
+ # The format of input audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`.
106
+ #
107
+ # @return [String, nil]
108
+ optional :format_, String, api_name: :format
109
+
110
+ # @!attribute noise_reduction
111
+ # Configuration for input audio noise reduction.
112
+ #
113
+ # @return [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction, nil]
114
+ optional :noise_reduction,
115
+ -> { OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction }
116
+
117
+ # @!attribute transcription
118
+ # Configuration of the transcription model.
119
+ #
120
+ # @return [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription, nil]
121
+ optional :transcription,
122
+ -> { OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription }
123
+
124
+ # @!attribute turn_detection
125
+ # Configuration for turn detection.
126
+ #
127
+ # @return [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection, nil]
128
+ optional :turn_detection,
129
+ -> { OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection }
130
+
131
+ # @!method initialize(format_: nil, noise_reduction: nil, transcription: nil, turn_detection: nil)
132
+ # Some parameter documentations has been truncated, see
133
+ # {OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input}
134
+ # for more details.
135
+ #
136
+ # @param format_ [String] The format of input audio. Options are `pcm16`, `g711_ulaw`, or `g711_alaw`.
137
+ #
138
+ # @param noise_reduction [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction] Configuration for input audio noise reduction.
139
+ #
140
+ # @param transcription [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription] Configuration of the transcription model.
141
+ #
142
+ # @param turn_detection [OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection] Configuration for turn detection.
143
+
144
+ # @see OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input#noise_reduction
145
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
146
+ # @!attribute type
147
+ #
148
+ # @return [Symbol, OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::Type, nil]
149
+ optional :type,
150
+ enum: -> { OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::Type }
151
+
152
+ # @!method initialize(type: nil)
153
+ # Configuration for input audio noise reduction.
154
+ #
155
+ # @param type [Symbol, OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction::Type]
156
+
157
+ # @see OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::NoiseReduction#type
158
+ module Type
159
+ extend OpenAI::Internal::Type::Enum
160
+
161
+ NEAR_FIELD = :near_field
162
+ FAR_FIELD = :far_field
163
+
164
+ # @!method self.values
165
+ # @return [Array<Symbol>]
166
+ end
167
+ end
168
+
169
+ # @see OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input#transcription
170
+ class Transcription < OpenAI::Internal::Type::BaseModel
171
+ # @!attribute language
172
+ # The language of the input audio. Supplying the input language in
173
+ # [ISO-639-1](https://en.wikipedia.org/wiki/List_of_ISO_639-1_codes) (e.g. `en`)
174
+ # format will improve accuracy and latency.
175
+ #
176
+ # @return [String, nil]
177
+ optional :language, String
178
+
179
+ # @!attribute model
180
+ # The model to use for transcription. Can be `gpt-4o-transcribe`,
181
+ # `gpt-4o-mini-transcribe`, or `whisper-1`.
182
+ #
183
+ # @return [Symbol, OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::Model, nil]
184
+ optional :model,
185
+ enum: -> { OpenAI::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::Model }
186
+
187
+ # @!attribute prompt
188
+ # An optional text to guide the model's style or continue a previous audio
189
+ # segment. The
190
+ # [prompt](https://platform.openai.com/docs/guides/speech-to-text#prompting)
191
+ # should match the audio language.
192
+ #
193
+ # @return [String, nil]
194
+ optional :prompt, String
195
+
196
+ # @!method initialize(language: nil, model: nil, prompt: nil)
197
+ # Some parameter documentations has been truncated, see
198
+ # {OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription}
199
+ # for more details.
200
+ #
201
+ # Configuration of the transcription model.
202
+ #
203
+ # @param language [String] The language of the input audio. Supplying the input language in
204
+ #
205
+ # @param model [Symbol, OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription::Model] The model to use for transcription. Can be `gpt-4o-transcribe`, `gpt-4o-mini-tra
206
+ #
207
+ # @param prompt [String] An optional text to guide the model's style or continue a previous audio segment
208
+
209
+ # The model to use for transcription. Can be `gpt-4o-transcribe`,
210
+ # `gpt-4o-mini-transcribe`, or `whisper-1`.
211
+ #
212
+ # @see OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::Transcription#model
213
+ module Model
214
+ extend OpenAI::Internal::Type::Enum
215
+
216
+ GPT_4O_TRANSCRIBE = :"gpt-4o-transcribe"
217
+ GPT_4O_MINI_TRANSCRIBE = :"gpt-4o-mini-transcribe"
218
+ WHISPER_1 = :"whisper-1"
219
+
220
+ # @!method self.values
221
+ # @return [Array<Symbol>]
222
+ end
223
+ end
224
+
225
+ # @see OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input#turn_detection
226
+ class TurnDetection < OpenAI::Internal::Type::BaseModel
227
+ # @!attribute prefix_padding_ms
228
+ #
229
+ # @return [Integer, nil]
230
+ optional :prefix_padding_ms, Integer
231
+
232
+ # @!attribute silence_duration_ms
233
+ #
234
+ # @return [Integer, nil]
235
+ optional :silence_duration_ms, Integer
236
+
237
+ # @!attribute threshold
238
+ #
239
+ # @return [Float, nil]
240
+ optional :threshold, Float
241
+
242
+ # @!attribute type
243
+ # Type of turn detection, only `server_vad` is currently supported.
244
+ #
245
+ # @return [String, nil]
246
+ optional :type, String
247
+
248
+ # @!method initialize(prefix_padding_ms: nil, silence_duration_ms: nil, threshold: nil, type: nil)
249
+ # Some parameter documentations has been truncated, see
250
+ # {OpenAI::Models::Realtime::TranscriptionSessionCreated::Session::Audio::Input::TurnDetection}
251
+ # for more details.
252
+ #
253
+ # Configuration for turn detection.
254
+ #
255
+ # @param prefix_padding_ms [Integer]
256
+ #
257
+ # @param silence_duration_ms [Integer]
258
+ #
259
+ # @param threshold [Float]
260
+ #
261
+ # @param type [String] Type of turn detection, only `server_vad` is currently supported.
262
+ end
263
+ end
264
+ end
265
+
266
+ module Include
267
+ extend OpenAI::Internal::Type::Enum
268
+
269
+ ITEM_INPUT_AUDIO_TRANSCRIPTION_LOGPROBS = :"item.input_audio_transcription.logprobs"
270
+
271
+ # @!method self.values
272
+ # @return [Array<Symbol>]
273
+ end
274
+ end
275
+ end
276
+ end
277
+ end
278
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class TranscriptionSessionUpdate < OpenAI::Internal::Type::BaseModel
7
+ # @!attribute session
8
+ # Realtime transcription session object configuration.
9
+ #
10
+ # @return [OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest]
11
+ required :session, -> { OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest }
12
+
13
+ # @!attribute type
14
+ # The event type, must be `transcription_session.update`.
15
+ #
16
+ # @return [Symbol, :"transcription_session.update"]
17
+ required :type, const: :"transcription_session.update"
18
+
19
+ # @!attribute event_id
20
+ # Optional client-generated ID used to identify this event.
21
+ #
22
+ # @return [String, nil]
23
+ optional :event_id, String
24
+
25
+ # @!method initialize(session:, event_id: nil, type: :"transcription_session.update")
26
+ # Send this event to update a transcription session.
27
+ #
28
+ # @param session [OpenAI::Models::Realtime::RealtimeTranscriptionSessionCreateRequest] Realtime transcription session object configuration.
29
+ #
30
+ # @param event_id [String] Optional client-generated ID used to identify this event.
31
+ #
32
+ # @param type [Symbol, :"transcription_session.update"] The event type, must be `transcription_session.update`.
33
+ end
34
+ end
35
+ end
36
+ end