openai 0.19.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 (346) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +28 -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/chat/chat_completion_message.rb +7 -5
  9. data/lib/openai/models/chat/chat_completion_message_function_tool_call.rb +7 -5
  10. data/lib/openai/models/conversations/item_list_params.rb +2 -0
  11. data/lib/openai/models/evals/run_cancel_response.rb +2 -2
  12. data/lib/openai/models/evals/run_create_params.rb +2 -2
  13. data/lib/openai/models/evals/run_create_response.rb +2 -2
  14. data/lib/openai/models/evals/run_list_response.rb +2 -2
  15. data/lib/openai/models/evals/run_retrieve_response.rb +2 -2
  16. data/lib/openai/models/realtime/client_secret_create_params.rb +93 -0
  17. data/lib/openai/models/realtime/client_secret_create_response.rb +300 -0
  18. data/lib/openai/models/realtime/conversation_created_event.rb +70 -0
  19. data/lib/openai/models/realtime/conversation_item.rb +44 -0
  20. data/lib/openai/models/realtime/conversation_item_added.rb +48 -0
  21. data/lib/openai/models/realtime/conversation_item_create_event.rb +57 -0
  22. data/lib/openai/models/realtime/conversation_item_created_event.rb +59 -0
  23. data/lib/openai/models/realtime/conversation_item_delete_event.rb +39 -0
  24. data/lib/openai/models/realtime/conversation_item_deleted_event.rb +38 -0
  25. data/lib/openai/models/realtime/conversation_item_done.rb +48 -0
  26. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +189 -0
  27. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +63 -0
  28. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rb +96 -0
  29. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_segment.rb +84 -0
  30. data/lib/openai/models/realtime/conversation_item_retrieve_event.rb +40 -0
  31. data/lib/openai/models/realtime/conversation_item_truncate_event.rb +68 -0
  32. data/lib/openai/models/realtime/conversation_item_truncated_event.rb +60 -0
  33. data/lib/openai/models/realtime/conversation_item_with_reference.rb +235 -0
  34. data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +49 -0
  35. data/lib/openai/models/realtime/input_audio_buffer_clear_event.rb +29 -0
  36. data/lib/openai/models/realtime/input_audio_buffer_cleared_event.rb +29 -0
  37. data/lib/openai/models/realtime/input_audio_buffer_commit_event.rb +35 -0
  38. data/lib/openai/models/realtime/input_audio_buffer_committed_event.rb +51 -0
  39. data/lib/openai/models/realtime/input_audio_buffer_speech_started_event.rb +59 -0
  40. data/lib/openai/models/realtime/input_audio_buffer_speech_stopped_event.rb +51 -0
  41. data/lib/openai/models/realtime/input_audio_buffer_timeout_triggered.rb +52 -0
  42. data/lib/openai/models/realtime/log_prob_properties.rb +39 -0
  43. data/lib/openai/models/realtime/mcp_list_tools_completed.rb +36 -0
  44. data/lib/openai/models/realtime/mcp_list_tools_failed.rb +36 -0
  45. data/lib/openai/models/realtime/mcp_list_tools_in_progress.rb +36 -0
  46. data/lib/openai/models/realtime/output_audio_buffer_clear_event.rb +32 -0
  47. data/lib/openai/models/realtime/rate_limits_updated_event.rb +91 -0
  48. data/lib/openai/models/realtime/realtime_audio_config.rb +446 -0
  49. data/lib/openai/models/realtime/realtime_client_event.rb +123 -0
  50. data/lib/openai/models/realtime/realtime_client_secret_config.rb +64 -0
  51. data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +118 -0
  52. data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +94 -0
  53. data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +86 -0
  54. data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +118 -0
  55. data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +135 -0
  56. data/lib/openai/models/realtime/realtime_error.rb +55 -0
  57. data/lib/openai/models/realtime/realtime_error_event.rb +38 -0
  58. data/lib/openai/models/realtime/realtime_mcp_approval_request.rb +52 -0
  59. data/lib/openai/models/realtime/realtime_mcp_approval_response.rb +52 -0
  60. data/lib/openai/models/realtime/realtime_mcp_list_tools.rb +84 -0
  61. data/lib/openai/models/realtime/realtime_mcp_protocol_error.rb +29 -0
  62. data/lib/openai/models/realtime/realtime_mcp_tool_call.rb +94 -0
  63. data/lib/openai/models/realtime/realtime_mcp_tool_execution_error.rb +23 -0
  64. data/lib/openai/models/realtime/realtime_mcphttp_error.rb +29 -0
  65. data/lib/openai/models/realtime/realtime_response.rb +259 -0
  66. data/lib/openai/models/realtime/realtime_response_status.rb +103 -0
  67. data/lib/openai/models/realtime/realtime_response_usage.rb +61 -0
  68. data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +36 -0
  69. data/lib/openai/models/realtime/realtime_response_usage_output_token_details.rb +28 -0
  70. data/lib/openai/models/realtime/realtime_server_event.rb +369 -0
  71. data/lib/openai/models/realtime/realtime_session.rb +696 -0
  72. data/lib/openai/models/realtime/realtime_session_create_request.rb +234 -0
  73. data/lib/openai/models/realtime/realtime_session_create_response.rb +579 -0
  74. data/lib/openai/models/realtime/realtime_tool_choice_config.rb +32 -0
  75. data/lib/openai/models/realtime/realtime_tools_config.rb +11 -0
  76. data/lib/openai/models/realtime/realtime_tools_config_union.rb +379 -0
  77. data/lib/openai/models/realtime/realtime_tracing_config.rb +61 -0
  78. data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +312 -0
  79. data/lib/openai/models/realtime/realtime_truncation.rb +67 -0
  80. data/lib/openai/models/realtime/response_audio_delta_event.rb +68 -0
  81. data/lib/openai/models/realtime/response_audio_done_event.rb +61 -0
  82. data/lib/openai/models/realtime/response_audio_transcript_delta_event.rb +68 -0
  83. data/lib/openai/models/realtime/response_audio_transcript_done_event.rb +70 -0
  84. data/lib/openai/models/realtime/response_cancel_event.rb +42 -0
  85. data/lib/openai/models/realtime/response_content_part_added_event.rb +120 -0
  86. data/lib/openai/models/realtime/response_content_part_done_event.rb +120 -0
  87. data/lib/openai/models/realtime/response_create_event.rb +391 -0
  88. data/lib/openai/models/realtime/response_created_event.rb +37 -0
  89. data/lib/openai/models/realtime/response_done_event.rb +38 -0
  90. data/lib/openai/models/realtime/response_function_call_arguments_delta_event.rb +72 -0
  91. data/lib/openai/models/realtime/response_function_call_arguments_done_event.rb +73 -0
  92. data/lib/openai/models/realtime/response_mcp_call_arguments_delta.rb +68 -0
  93. data/lib/openai/models/realtime/response_mcp_call_arguments_done.rb +60 -0
  94. data/lib/openai/models/realtime/response_mcp_call_completed.rb +44 -0
  95. data/lib/openai/models/realtime/response_mcp_call_failed.rb +44 -0
  96. data/lib/openai/models/realtime/response_mcp_call_in_progress.rb +44 -0
  97. data/lib/openai/models/realtime/response_output_item_added_event.rb +52 -0
  98. data/lib/openai/models/realtime/response_output_item_done_event.rb +53 -0
  99. data/lib/openai/models/realtime/response_text_delta_event.rb +68 -0
  100. data/lib/openai/models/realtime/response_text_done_event.rb +69 -0
  101. data/lib/openai/models/realtime/session_created_event.rb +38 -0
  102. data/lib/openai/models/realtime/session_update_event.rb +44 -0
  103. data/lib/openai/models/realtime/session_updated_event.rb +37 -0
  104. data/lib/openai/models/realtime/transcription_session_created.rb +278 -0
  105. data/lib/openai/models/realtime/transcription_session_update.rb +36 -0
  106. data/lib/openai/models/realtime/transcription_session_updated_event.rb +279 -0
  107. data/lib/openai/models/responses/response.rb +6 -3
  108. data/lib/openai/models/responses/response_create_params.rb +8 -3
  109. data/lib/openai/models/responses/response_function_tool_call.rb +7 -5
  110. data/lib/openai/models/responses/response_function_web_search.rb +35 -1
  111. data/lib/openai/models/responses/response_includable.rb +2 -0
  112. data/lib/openai/models/responses/response_output_text.rb +7 -5
  113. data/lib/openai/models/responses/tool.rb +6 -2
  114. data/lib/openai/models/responses/web_search_preview_tool.rb +124 -0
  115. data/lib/openai/models/responses/web_search_tool.rb +58 -21
  116. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +119 -0
  117. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  118. data/lib/openai/models.rb +2 -0
  119. data/lib/openai/resources/conversations.rb +1 -1
  120. data/lib/openai/resources/realtime/client_secrets.rb +44 -0
  121. data/lib/openai/resources/realtime.rb +18 -0
  122. data/lib/openai/resources/responses.rb +2 -2
  123. data/lib/openai/resources/webhooks.rb +1 -1
  124. data/lib/openai/version.rb +1 -1
  125. data/lib/openai.rb +95 -0
  126. data/rbi/openai/client.rbi +3 -0
  127. data/rbi/openai/models/audio/speech_create_params.rbi +10 -0
  128. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +10 -0
  129. data/rbi/openai/models/conversations/item_list_params.rbi +4 -0
  130. data/rbi/openai/models/evals/run_cancel_response.rbi +4 -2
  131. data/rbi/openai/models/evals/run_create_params.rbi +8 -4
  132. data/rbi/openai/models/evals/run_create_response.rbi +4 -2
  133. data/rbi/openai/models/evals/run_list_response.rbi +4 -2
  134. data/rbi/openai/models/evals/run_retrieve_response.rbi +4 -2
  135. data/rbi/openai/models/realtime/client_secret_create_params.rbi +222 -0
  136. data/rbi/openai/models/realtime/client_secret_create_response.rbi +676 -0
  137. data/rbi/openai/models/realtime/conversation_created_event.rbi +164 -0
  138. data/rbi/openai/models/realtime/conversation_item.rbi +35 -0
  139. data/rbi/openai/models/realtime/conversation_item_added.rbi +105 -0
  140. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +123 -0
  141. data/rbi/openai/models/realtime/conversation_item_created_event.rbi +117 -0
  142. data/rbi/openai/models/realtime/conversation_item_delete_event.rbi +57 -0
  143. data/rbi/openai/models/realtime/conversation_item_deleted_event.rbi +53 -0
  144. data/rbi/openai/models/realtime/conversation_item_done.rbi +105 -0
  145. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +305 -0
  146. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +93 -0
  147. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbi +158 -0
  148. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbi +107 -0
  149. data/rbi/openai/models/realtime/conversation_item_retrieve_event.rbi +58 -0
  150. data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +94 -0
  151. data/rbi/openai/models/realtime/conversation_item_truncated_event.rbi +80 -0
  152. data/rbi/openai/models/realtime/conversation_item_with_reference.rbi +549 -0
  153. data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +65 -0
  154. data/rbi/openai/models/realtime/input_audio_buffer_clear_event.rbi +43 -0
  155. data/rbi/openai/models/realtime/input_audio_buffer_cleared_event.rbi +40 -0
  156. data/rbi/openai/models/realtime/input_audio_buffer_commit_event.rbi +49 -0
  157. data/rbi/openai/models/realtime/input_audio_buffer_committed_event.rbi +72 -0
  158. data/rbi/openai/models/realtime/input_audio_buffer_speech_started_event.rbi +82 -0
  159. data/rbi/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbi +73 -0
  160. data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +75 -0
  161. data/rbi/openai/models/realtime/log_prob_properties.rbi +55 -0
  162. data/rbi/openai/models/realtime/mcp_list_tools_completed.rbi +51 -0
  163. data/rbi/openai/models/realtime/mcp_list_tools_failed.rbi +51 -0
  164. data/rbi/openai/models/realtime/mcp_list_tools_in_progress.rbi +51 -0
  165. data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +46 -0
  166. data/rbi/openai/models/realtime/rate_limits_updated_event.rbi +187 -0
  167. data/rbi/openai/models/realtime/realtime_audio_config.rbi +1004 -0
  168. data/rbi/openai/models/realtime/realtime_client_event.rbi +38 -0
  169. data/rbi/openai/models/realtime/realtime_client_secret_config.rbi +147 -0
  170. data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +292 -0
  171. data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +199 -0
  172. data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +188 -0
  173. data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +292 -0
  174. data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +319 -0
  175. data/rbi/openai/models/realtime/realtime_error.rbi +72 -0
  176. data/rbi/openai/models/realtime/realtime_error_event.rbi +64 -0
  177. data/rbi/openai/models/realtime/realtime_mcp_approval_request.rbi +75 -0
  178. data/rbi/openai/models/realtime/realtime_mcp_approval_response.rbi +75 -0
  179. data/rbi/openai/models/realtime/realtime_mcp_list_tools.rbi +131 -0
  180. data/rbi/openai/models/realtime/realtime_mcp_protocol_error.rbi +40 -0
  181. data/rbi/openai/models/realtime/realtime_mcp_tool_call.rbi +145 -0
  182. data/rbi/openai/models/realtime/realtime_mcp_tool_execution_error.rbi +31 -0
  183. data/rbi/openai/models/realtime/realtime_mcphttp_error.rbi +40 -0
  184. data/rbi/openai/models/realtime/realtime_response.rbi +573 -0
  185. data/rbi/openai/models/realtime/realtime_response_status.rbi +233 -0
  186. data/rbi/openai/models/realtime/realtime_response_usage.rbi +121 -0
  187. data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +68 -0
  188. data/rbi/openai/models/realtime/realtime_response_usage_output_token_details.rbi +51 -0
  189. data/rbi/openai/models/realtime/realtime_server_event.rbi +311 -0
  190. data/rbi/openai/models/realtime/realtime_session.rbi +1426 -0
  191. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +560 -0
  192. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +1249 -0
  193. data/rbi/openai/models/realtime/realtime_tool_choice_config.rbi +30 -0
  194. data/rbi/openai/models/realtime/realtime_tools_config.rbi +15 -0
  195. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +755 -0
  196. data/rbi/openai/models/realtime/realtime_tracing_config.rbi +95 -0
  197. data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +703 -0
  198. data/rbi/openai/models/realtime/realtime_truncation.rbi +117 -0
  199. data/rbi/openai/models/realtime/response_audio_delta_event.rbi +91 -0
  200. data/rbi/openai/models/realtime/response_audio_done_event.rbi +84 -0
  201. data/rbi/openai/models/realtime/response_audio_transcript_delta_event.rbi +91 -0
  202. data/rbi/openai/models/realtime/response_audio_transcript_done_event.rbi +93 -0
  203. data/rbi/openai/models/realtime/response_cancel_event.rbi +63 -0
  204. data/rbi/openai/models/realtime/response_content_part_added_event.rbi +219 -0
  205. data/rbi/openai/models/realtime/response_content_part_done_event.rbi +219 -0
  206. data/rbi/openai/models/realtime/response_create_event.rbi +863 -0
  207. data/rbi/openai/models/realtime/response_created_event.rbi +65 -0
  208. data/rbi/openai/models/realtime/response_done_event.rbi +66 -0
  209. data/rbi/openai/models/realtime/response_function_call_arguments_delta_event.rbi +91 -0
  210. data/rbi/openai/models/realtime/response_function_call_arguments_done_event.rbi +92 -0
  211. data/rbi/openai/models/realtime/response_mcp_call_arguments_delta.rbi +91 -0
  212. data/rbi/openai/models/realtime/response_mcp_call_arguments_done.rbi +83 -0
  213. data/rbi/openai/models/realtime/response_mcp_call_completed.rbi +67 -0
  214. data/rbi/openai/models/realtime/response_mcp_call_failed.rbi +67 -0
  215. data/rbi/openai/models/realtime/response_mcp_call_in_progress.rbi +67 -0
  216. data/rbi/openai/models/realtime/response_output_item_added_event.rbi +111 -0
  217. data/rbi/openai/models/realtime/response_output_item_done_event.rbi +112 -0
  218. data/rbi/openai/models/realtime/response_text_delta_event.rbi +91 -0
  219. data/rbi/openai/models/realtime/response_text_done_event.rbi +92 -0
  220. data/rbi/openai/models/realtime/session_created_event.rbi +64 -0
  221. data/rbi/openai/models/realtime/session_update_event.rbi +77 -0
  222. data/rbi/openai/models/realtime/session_updated_event.rbi +63 -0
  223. data/rbi/openai/models/realtime/transcription_session_created.rbi +653 -0
  224. data/rbi/openai/models/realtime/transcription_session_update.rbi +74 -0
  225. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +657 -0
  226. data/rbi/openai/models/responses/response.rbi +10 -3
  227. data/rbi/openai/models/responses/response_create_params.rbi +20 -6
  228. data/rbi/openai/models/responses/response_function_web_search.rbi +78 -2
  229. data/rbi/openai/models/responses/response_includable.rbi +2 -0
  230. data/rbi/openai/models/responses/tool.rbi +2 -1
  231. data/rbi/openai/models/responses/web_search_preview_tool.rbi +245 -0
  232. data/rbi/openai/models/responses/web_search_tool.rbi +120 -23
  233. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +222 -0
  234. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  235. data/rbi/openai/models.rbi +2 -0
  236. data/rbi/openai/resources/conversations/items.rbi +2 -0
  237. data/rbi/openai/resources/conversations.rbi +1 -1
  238. data/rbi/openai/resources/realtime/client_secrets.rbi +38 -0
  239. data/rbi/openai/resources/realtime.rbi +15 -0
  240. data/rbi/openai/resources/responses.rbi +16 -4
  241. data/rbi/openai/resources/webhooks.rbi +1 -0
  242. data/sig/openai/client.rbs +2 -0
  243. data/sig/openai/models/audio/speech_create_params.rbs +4 -0
  244. data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -0
  245. data/sig/openai/models/realtime/client_secret_create_params.rbs +89 -0
  246. data/sig/openai/models/realtime/client_secret_create_response.rbs +292 -0
  247. data/sig/openai/models/realtime/conversation_created_event.rbs +70 -0
  248. data/sig/openai/models/realtime/conversation_item.rbs +22 -0
  249. data/sig/openai/models/realtime/conversation_item_added.rbs +37 -0
  250. data/sig/openai/models/realtime/conversation_item_create_event.rbs +41 -0
  251. data/sig/openai/models/realtime/conversation_item_created_event.rbs +37 -0
  252. data/sig/openai/models/realtime/conversation_item_delete_event.rbs +30 -0
  253. data/sig/openai/models/realtime/conversation_item_deleted_event.rbs +32 -0
  254. data/sig/openai/models/realtime/conversation_item_done.rbs +37 -0
  255. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +136 -0
  256. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +51 -0
  257. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbs +77 -0
  258. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbs +62 -0
  259. data/sig/openai/models/realtime/conversation_item_retrieve_event.rbs +34 -0
  260. data/sig/openai/models/realtime/conversation_item_truncate_event.rbs +44 -0
  261. data/sig/openai/models/realtime/conversation_item_truncated_event.rbs +42 -0
  262. data/sig/openai/models/realtime/conversation_item_with_reference.rbs +207 -0
  263. data/sig/openai/models/realtime/input_audio_buffer_append_event.rbs +30 -0
  264. data/sig/openai/models/realtime/input_audio_buffer_clear_event.rbs +23 -0
  265. data/sig/openai/models/realtime/input_audio_buffer_cleared_event.rbs +24 -0
  266. data/sig/openai/models/realtime/input_audio_buffer_commit_event.rbs +23 -0
  267. data/sig/openai/models/realtime/input_audio_buffer_committed_event.rbs +37 -0
  268. data/sig/openai/models/realtime/input_audio_buffer_speech_started_event.rbs +37 -0
  269. data/sig/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbs +37 -0
  270. data/sig/openai/models/realtime/input_audio_buffer_timeout_triggered.rbs +42 -0
  271. data/sig/openai/models/realtime/log_prob_properties.rbs +28 -0
  272. data/sig/openai/models/realtime/mcp_list_tools_completed.rbs +28 -0
  273. data/sig/openai/models/realtime/mcp_list_tools_failed.rbs +28 -0
  274. data/sig/openai/models/realtime/mcp_list_tools_in_progress.rbs +32 -0
  275. data/sig/openai/models/realtime/output_audio_buffer_clear_event.rbs +23 -0
  276. data/sig/openai/models/realtime/rate_limits_updated_event.rbs +85 -0
  277. data/sig/openai/models/realtime/realtime_audio_config.rbs +354 -0
  278. data/sig/openai/models/realtime/realtime_client_event.rbs +25 -0
  279. data/sig/openai/models/realtime/realtime_client_secret_config.rbs +60 -0
  280. data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +117 -0
  281. data/sig/openai/models/realtime/realtime_conversation_item_function_call.rbs +86 -0
  282. data/sig/openai/models/realtime/realtime_conversation_item_function_call_output.rbs +79 -0
  283. data/sig/openai/models/realtime/realtime_conversation_item_system_message.rbs +117 -0
  284. data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +132 -0
  285. data/sig/openai/models/realtime/realtime_error.rbs +42 -0
  286. data/sig/openai/models/realtime/realtime_error_event.rbs +32 -0
  287. data/sig/openai/models/realtime/realtime_mcp_approval_request.rbs +42 -0
  288. data/sig/openai/models/realtime/realtime_mcp_approval_response.rbs +42 -0
  289. data/sig/openai/models/realtime/realtime_mcp_list_tools.rbs +71 -0
  290. data/sig/openai/models/realtime/realtime_mcp_protocol_error.rbs +28 -0
  291. data/sig/openai/models/realtime/realtime_mcp_tool_call.rbs +68 -0
  292. data/sig/openai/models/realtime/realtime_mcp_tool_execution_error.rbs +18 -0
  293. data/sig/openai/models/realtime/realtime_mcphttp_error.rbs +24 -0
  294. data/sig/openai/models/realtime/realtime_response.rbs +210 -0
  295. data/sig/openai/models/realtime/realtime_response_status.rbs +90 -0
  296. data/sig/openai/models/realtime/realtime_response_usage.rbs +56 -0
  297. data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +34 -0
  298. data/sig/openai/models/realtime/realtime_response_usage_output_token_details.rbs +22 -0
  299. data/sig/openai/models/realtime/realtime_server_event.rbs +168 -0
  300. data/sig/openai/models/realtime/realtime_session.rbs +521 -0
  301. data/sig/openai/models/realtime/realtime_session_create_request.rbs +178 -0
  302. data/sig/openai/models/realtime/realtime_session_create_response.rbs +526 -0
  303. data/sig/openai/models/realtime/realtime_tool_choice_config.rbs +16 -0
  304. data/sig/openai/models/realtime/realtime_tools_config.rbs +10 -0
  305. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +280 -0
  306. data/sig/openai/models/realtime/realtime_tracing_config.rbs +43 -0
  307. data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +242 -0
  308. data/sig/openai/models/realtime/realtime_truncation.rbs +53 -0
  309. data/sig/openai/models/realtime/response_audio_delta_event.rbs +52 -0
  310. data/sig/openai/models/realtime/response_audio_done_event.rbs +47 -0
  311. data/sig/openai/models/realtime/response_audio_transcript_delta_event.rbs +52 -0
  312. data/sig/openai/models/realtime/response_audio_transcript_done_event.rbs +52 -0
  313. data/sig/openai/models/realtime/response_cancel_event.rbs +32 -0
  314. data/sig/openai/models/realtime/response_content_part_added_event.rbs +105 -0
  315. data/sig/openai/models/realtime/response_content_part_done_event.rbs +105 -0
  316. data/sig/openai/models/realtime/response_create_event.rbs +281 -0
  317. data/sig/openai/models/realtime/response_created_event.rbs +32 -0
  318. data/sig/openai/models/realtime/response_done_event.rbs +32 -0
  319. data/sig/openai/models/realtime/response_function_call_arguments_delta_event.rbs +52 -0
  320. data/sig/openai/models/realtime/response_function_call_arguments_done_event.rbs +52 -0
  321. data/sig/openai/models/realtime/response_mcp_call_arguments_delta.rbs +52 -0
  322. data/sig/openai/models/realtime/response_mcp_call_arguments_done.rbs +47 -0
  323. data/sig/openai/models/realtime/response_mcp_call_completed.rbs +37 -0
  324. data/sig/openai/models/realtime/response_mcp_call_failed.rbs +37 -0
  325. data/sig/openai/models/realtime/response_mcp_call_in_progress.rbs +37 -0
  326. data/sig/openai/models/realtime/response_output_item_added_event.rbs +42 -0
  327. data/sig/openai/models/realtime/response_output_item_done_event.rbs +42 -0
  328. data/sig/openai/models/realtime/response_text_delta_event.rbs +52 -0
  329. data/sig/openai/models/realtime/response_text_done_event.rbs +52 -0
  330. data/sig/openai/models/realtime/session_created_event.rbs +32 -0
  331. data/sig/openai/models/realtime/session_update_event.rbs +34 -0
  332. data/sig/openai/models/realtime/session_updated_event.rbs +32 -0
  333. data/sig/openai/models/realtime/transcription_session_created.rbs +282 -0
  334. data/sig/openai/models/realtime/transcription_session_update.rbs +34 -0
  335. data/sig/openai/models/realtime/transcription_session_updated_event.rbs +282 -0
  336. data/sig/openai/models/responses/response_function_web_search.rbs +34 -3
  337. data/sig/openai/models/responses/tool.rbs +1 -0
  338. data/sig/openai/models/responses/web_search_preview_tool.rbs +96 -0
  339. data/sig/openai/models/responses/web_search_tool.rbs +39 -10
  340. data/sig/openai/models/webhooks/realtime_call_incoming_webhook_event.rbs +90 -0
  341. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  342. data/sig/openai/models.rbs +2 -0
  343. data/sig/openai/resources/realtime/client_secrets.rbs +15 -0
  344. data/sig/openai/resources/realtime.rbs +9 -0
  345. data/sig/openai/resources/webhooks.rbs +1 -0
  346. 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
@@ -40,16 +40,47 @@ module OpenAI
40
40
  module Action
41
41
  extend OpenAI::Internal::Type::Union
42
42
 
43
- type search = { query: String, type: :search }
43
+ type search =
44
+ {
45
+ query: String,
46
+ type: :search,
47
+ sources: ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source]
48
+ }
44
49
 
45
50
  class Search < OpenAI::Internal::Type::BaseModel
46
51
  attr_accessor query: String
47
52
 
48
53
  attr_accessor type: :search
49
54
 
50
- def initialize: (query: String, ?type: :search) -> void
55
+ attr_reader sources: ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source]?
51
56
 
52
- def to_hash: -> { query: String, type: :search }
57
+ def sources=: (
58
+ ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source]
59
+ ) -> ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source]
60
+
61
+ def initialize: (
62
+ query: String,
63
+ ?sources: ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source],
64
+ ?type: :search
65
+ ) -> void
66
+
67
+ def to_hash: -> {
68
+ query: String,
69
+ type: :search,
70
+ sources: ::Array[OpenAI::Responses::ResponseFunctionWebSearch::Action::Search::Source]
71
+ }
72
+
73
+ type source = { type: :url, url: String }
74
+
75
+ class Source < OpenAI::Internal::Type::BaseModel
76
+ attr_accessor type: :url
77
+
78
+ attr_accessor url: String
79
+
80
+ def initialize: (url: String, ?type: :url) -> void
81
+
82
+ def to_hash: -> { type: :url, url: String }
83
+ end
53
84
  end
54
85
 
55
86
  type open_page = { type: :open_page, url: String }
@@ -11,6 +11,7 @@ module OpenAI
11
11
  | OpenAI::Responses::Tool::LocalShell
12
12
  | OpenAI::Responses::CustomTool
13
13
  | OpenAI::Responses::WebSearchTool
14
+ | OpenAI::Responses::WebSearchPreviewTool
14
15
 
15
16
  module Tool
16
17
  extend OpenAI::Internal::Type::Union