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,30 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type input_audio_buffer_append_event =
5
+ { audio: String, type: :"input_audio_buffer.append", event_id: String }
6
+
7
+ class InputAudioBufferAppendEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor audio: String
9
+
10
+ attr_accessor type: :"input_audio_buffer.append"
11
+
12
+ attr_reader event_id: String?
13
+
14
+ def event_id=: (String) -> String
15
+
16
+ def initialize: (
17
+ audio: String,
18
+ ?event_id: String,
19
+ ?type: :"input_audio_buffer.append"
20
+ ) -> void
21
+
22
+ def to_hash: -> {
23
+ audio: String,
24
+ type: :"input_audio_buffer.append",
25
+ event_id: String
26
+ }
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,23 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type input_audio_buffer_clear_event =
5
+ { type: :"input_audio_buffer.clear", event_id: String }
6
+
7
+ class InputAudioBufferClearEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor type: :"input_audio_buffer.clear"
9
+
10
+ attr_reader event_id: String?
11
+
12
+ def event_id=: (String) -> String
13
+
14
+ def initialize: (
15
+ ?event_id: String,
16
+ ?type: :"input_audio_buffer.clear"
17
+ ) -> void
18
+
19
+ def to_hash: -> { type: :"input_audio_buffer.clear", event_id: String }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,24 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type input_audio_buffer_cleared_event =
5
+ { event_id: String, type: :"input_audio_buffer.cleared" }
6
+
7
+ class InputAudioBufferClearedEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor event_id: String
9
+
10
+ attr_accessor type: :"input_audio_buffer.cleared"
11
+
12
+ def initialize: (
13
+ event_id: String,
14
+ ?type: :"input_audio_buffer.cleared"
15
+ ) -> void
16
+
17
+ def to_hash: -> {
18
+ event_id: String,
19
+ type: :"input_audio_buffer.cleared"
20
+ }
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type input_audio_buffer_commit_event =
5
+ { type: :"input_audio_buffer.commit", event_id: String }
6
+
7
+ class InputAudioBufferCommitEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor type: :"input_audio_buffer.commit"
9
+
10
+ attr_reader event_id: String?
11
+
12
+ def event_id=: (String) -> String
13
+
14
+ def initialize: (
15
+ ?event_id: String,
16
+ ?type: :"input_audio_buffer.commit"
17
+ ) -> void
18
+
19
+ def to_hash: -> { type: :"input_audio_buffer.commit", event_id: String }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,37 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type input_audio_buffer_committed_event =
5
+ {
6
+ event_id: String,
7
+ item_id: String,
8
+ type: :"input_audio_buffer.committed",
9
+ previous_item_id: String?
10
+ }
11
+
12
+ class InputAudioBufferCommittedEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor event_id: String
14
+
15
+ attr_accessor item_id: String
16
+
17
+ attr_accessor type: :"input_audio_buffer.committed"
18
+
19
+ attr_accessor previous_item_id: String?
20
+
21
+ def initialize: (
22
+ event_id: String,
23
+ item_id: String,
24
+ ?previous_item_id: String?,
25
+ ?type: :"input_audio_buffer.committed"
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ event_id: String,
30
+ item_id: String,
31
+ type: :"input_audio_buffer.committed",
32
+ previous_item_id: String?
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type input_audio_buffer_speech_started_event =
5
+ {
6
+ audio_start_ms: Integer,
7
+ event_id: String,
8
+ item_id: String,
9
+ type: :"input_audio_buffer.speech_started"
10
+ }
11
+
12
+ class InputAudioBufferSpeechStartedEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor audio_start_ms: Integer
14
+
15
+ attr_accessor event_id: String
16
+
17
+ attr_accessor item_id: String
18
+
19
+ attr_accessor type: :"input_audio_buffer.speech_started"
20
+
21
+ def initialize: (
22
+ audio_start_ms: Integer,
23
+ event_id: String,
24
+ item_id: String,
25
+ ?type: :"input_audio_buffer.speech_started"
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ audio_start_ms: Integer,
30
+ event_id: String,
31
+ item_id: String,
32
+ type: :"input_audio_buffer.speech_started"
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,37 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type input_audio_buffer_speech_stopped_event =
5
+ {
6
+ audio_end_ms: Integer,
7
+ event_id: String,
8
+ item_id: String,
9
+ type: :"input_audio_buffer.speech_stopped"
10
+ }
11
+
12
+ class InputAudioBufferSpeechStoppedEvent < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor audio_end_ms: Integer
14
+
15
+ attr_accessor event_id: String
16
+
17
+ attr_accessor item_id: String
18
+
19
+ attr_accessor type: :"input_audio_buffer.speech_stopped"
20
+
21
+ def initialize: (
22
+ audio_end_ms: Integer,
23
+ event_id: String,
24
+ item_id: String,
25
+ ?type: :"input_audio_buffer.speech_stopped"
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ audio_end_ms: Integer,
30
+ event_id: String,
31
+ item_id: String,
32
+ type: :"input_audio_buffer.speech_stopped"
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,42 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type input_audio_buffer_timeout_triggered =
5
+ {
6
+ audio_end_ms: Integer,
7
+ audio_start_ms: Integer,
8
+ event_id: String,
9
+ item_id: String,
10
+ type: :"input_audio_buffer.timeout_triggered"
11
+ }
12
+
13
+ class InputAudioBufferTimeoutTriggered < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor audio_end_ms: Integer
15
+
16
+ attr_accessor audio_start_ms: Integer
17
+
18
+ attr_accessor event_id: String
19
+
20
+ attr_accessor item_id: String
21
+
22
+ attr_accessor type: :"input_audio_buffer.timeout_triggered"
23
+
24
+ def initialize: (
25
+ audio_end_ms: Integer,
26
+ audio_start_ms: Integer,
27
+ event_id: String,
28
+ item_id: String,
29
+ ?type: :"input_audio_buffer.timeout_triggered"
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ audio_end_ms: Integer,
34
+ audio_start_ms: Integer,
35
+ event_id: String,
36
+ item_id: String,
37
+ type: :"input_audio_buffer.timeout_triggered"
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,28 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type log_prob_properties =
5
+ { token: String, bytes: ::Array[Integer], logprob: Float }
6
+
7
+ class LogProbProperties < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor token: String
9
+
10
+ attr_accessor bytes: ::Array[Integer]
11
+
12
+ attr_accessor logprob: Float
13
+
14
+ def initialize: (
15
+ token: String,
16
+ bytes: ::Array[Integer],
17
+ logprob: Float
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ token: String,
22
+ bytes: ::Array[Integer],
23
+ logprob: Float
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type mcp_list_tools_completed =
5
+ { event_id: String, item_id: String, type: :"mcp_list_tools.completed" }
6
+
7
+ class McpListToolsCompleted < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor event_id: String
9
+
10
+ attr_accessor item_id: String
11
+
12
+ attr_accessor type: :"mcp_list_tools.completed"
13
+
14
+ def initialize: (
15
+ event_id: String,
16
+ item_id: String,
17
+ ?type: :"mcp_list_tools.completed"
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ event_id: String,
22
+ item_id: String,
23
+ type: :"mcp_list_tools.completed"
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,28 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type mcp_list_tools_failed =
5
+ { event_id: String, item_id: String, type: :"mcp_list_tools.failed" }
6
+
7
+ class McpListToolsFailed < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor event_id: String
9
+
10
+ attr_accessor item_id: String
11
+
12
+ attr_accessor type: :"mcp_list_tools.failed"
13
+
14
+ def initialize: (
15
+ event_id: String,
16
+ item_id: String,
17
+ ?type: :"mcp_list_tools.failed"
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ event_id: String,
22
+ item_id: String,
23
+ type: :"mcp_list_tools.failed"
24
+ }
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,32 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type mcp_list_tools_in_progress =
5
+ {
6
+ event_id: String,
7
+ item_id: String,
8
+ type: :"mcp_list_tools.in_progress"
9
+ }
10
+
11
+ class McpListToolsInProgress < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor event_id: String
13
+
14
+ attr_accessor item_id: String
15
+
16
+ attr_accessor type: :"mcp_list_tools.in_progress"
17
+
18
+ def initialize: (
19
+ event_id: String,
20
+ item_id: String,
21
+ ?type: :"mcp_list_tools.in_progress"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ event_id: String,
26
+ item_id: String,
27
+ type: :"mcp_list_tools.in_progress"
28
+ }
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,23 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type output_audio_buffer_clear_event =
5
+ { type: :"output_audio_buffer.clear", event_id: String }
6
+
7
+ class OutputAudioBufferClearEvent < OpenAI::Internal::Type::BaseModel
8
+ attr_accessor type: :"output_audio_buffer.clear"
9
+
10
+ attr_reader event_id: String?
11
+
12
+ def event_id=: (String) -> String
13
+
14
+ def initialize: (
15
+ ?event_id: String,
16
+ ?type: :"output_audio_buffer.clear"
17
+ ) -> void
18
+
19
+ def to_hash: -> { type: :"output_audio_buffer.clear", event_id: String }
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,85 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type rate_limits_updated_event =
5
+ {
6
+ event_id: String,
7
+ rate_limits: ::Array[OpenAI::Realtime::RateLimitsUpdatedEvent::RateLimit],
8
+ type: :"rate_limits.updated"
9
+ }
10
+
11
+ class RateLimitsUpdatedEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor event_id: String
13
+
14
+ attr_accessor rate_limits: ::Array[OpenAI::Realtime::RateLimitsUpdatedEvent::RateLimit]
15
+
16
+ attr_accessor type: :"rate_limits.updated"
17
+
18
+ def initialize: (
19
+ event_id: String,
20
+ rate_limits: ::Array[OpenAI::Realtime::RateLimitsUpdatedEvent::RateLimit],
21
+ ?type: :"rate_limits.updated"
22
+ ) -> void
23
+
24
+ def to_hash: -> {
25
+ event_id: String,
26
+ rate_limits: ::Array[OpenAI::Realtime::RateLimitsUpdatedEvent::RateLimit],
27
+ type: :"rate_limits.updated"
28
+ }
29
+
30
+ type rate_limit =
31
+ {
32
+ limit: Integer,
33
+ name: OpenAI::Models::Realtime::RateLimitsUpdatedEvent::RateLimit::name_,
34
+ remaining: Integer,
35
+ reset_seconds: Float
36
+ }
37
+
38
+ class RateLimit < OpenAI::Internal::Type::BaseModel
39
+ attr_reader limit: Integer?
40
+
41
+ def limit=: (Integer) -> Integer
42
+
43
+ attr_reader name: OpenAI::Models::Realtime::RateLimitsUpdatedEvent::RateLimit::name_?
44
+
45
+ def name=: (
46
+ OpenAI::Models::Realtime::RateLimitsUpdatedEvent::RateLimit::name_
47
+ ) -> OpenAI::Models::Realtime::RateLimitsUpdatedEvent::RateLimit::name_
48
+
49
+ attr_reader remaining: Integer?
50
+
51
+ def remaining=: (Integer) -> Integer
52
+
53
+ attr_reader reset_seconds: Float?
54
+
55
+ def reset_seconds=: (Float) -> Float
56
+
57
+ def initialize: (
58
+ ?limit: Integer,
59
+ ?name: OpenAI::Models::Realtime::RateLimitsUpdatedEvent::RateLimit::name_,
60
+ ?remaining: Integer,
61
+ ?reset_seconds: Float
62
+ ) -> void
63
+
64
+ def to_hash: -> {
65
+ limit: Integer,
66
+ name: OpenAI::Models::Realtime::RateLimitsUpdatedEvent::RateLimit::name_,
67
+ remaining: Integer,
68
+ reset_seconds: Float
69
+ }
70
+
71
+ type name_ = :requests | :tokens
72
+
73
+ module Name
74
+ extend OpenAI::Internal::Type::Enum
75
+
76
+ REQUESTS: :requests
77
+ TOKENS: :tokens
78
+
79
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RateLimitsUpdatedEvent::RateLimit::name_]
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
85
+ end