openai 0.20.0 → 0.21.1

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 (363) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -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/eval_create_params.rb +10 -6
  9. data/lib/openai/models/evals/create_eval_completions_run_data_source.rb +10 -6
  10. data/lib/openai/models/evals/run_cancel_response.rb +12 -8
  11. data/lib/openai/models/evals/run_create_params.rb +12 -8
  12. data/lib/openai/models/evals/run_create_response.rb +12 -8
  13. data/lib/openai/models/evals/run_list_response.rb +12 -8
  14. data/lib/openai/models/evals/run_retrieve_response.rb +12 -8
  15. data/lib/openai/models/graders/label_model_grader.rb +10 -6
  16. data/lib/openai/models/graders/score_model_grader.rb +10 -6
  17. data/lib/openai/models/realtime/client_secret_create_params.rb +93 -0
  18. data/lib/openai/models/realtime/client_secret_create_response.rb +300 -0
  19. data/lib/openai/models/realtime/conversation_created_event.rb +70 -0
  20. data/lib/openai/models/realtime/conversation_item.rb +44 -0
  21. data/lib/openai/models/realtime/conversation_item_added.rb +48 -0
  22. data/lib/openai/models/realtime/conversation_item_create_event.rb +57 -0
  23. data/lib/openai/models/realtime/conversation_item_created_event.rb +59 -0
  24. data/lib/openai/models/realtime/conversation_item_delete_event.rb +39 -0
  25. data/lib/openai/models/realtime/conversation_item_deleted_event.rb +38 -0
  26. data/lib/openai/models/realtime/conversation_item_done.rb +48 -0
  27. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rb +189 -0
  28. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +63 -0
  29. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rb +96 -0
  30. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_segment.rb +84 -0
  31. data/lib/openai/models/realtime/conversation_item_retrieve_event.rb +40 -0
  32. data/lib/openai/models/realtime/conversation_item_truncate_event.rb +68 -0
  33. data/lib/openai/models/realtime/conversation_item_truncated_event.rb +60 -0
  34. data/lib/openai/models/realtime/conversation_item_with_reference.rb +235 -0
  35. data/lib/openai/models/realtime/input_audio_buffer_append_event.rb +49 -0
  36. data/lib/openai/models/realtime/input_audio_buffer_clear_event.rb +29 -0
  37. data/lib/openai/models/realtime/input_audio_buffer_cleared_event.rb +29 -0
  38. data/lib/openai/models/realtime/input_audio_buffer_commit_event.rb +35 -0
  39. data/lib/openai/models/realtime/input_audio_buffer_committed_event.rb +51 -0
  40. data/lib/openai/models/realtime/input_audio_buffer_speech_started_event.rb +59 -0
  41. data/lib/openai/models/realtime/input_audio_buffer_speech_stopped_event.rb +51 -0
  42. data/lib/openai/models/realtime/input_audio_buffer_timeout_triggered.rb +52 -0
  43. data/lib/openai/models/realtime/log_prob_properties.rb +39 -0
  44. data/lib/openai/models/realtime/mcp_list_tools_completed.rb +36 -0
  45. data/lib/openai/models/realtime/mcp_list_tools_failed.rb +36 -0
  46. data/lib/openai/models/realtime/mcp_list_tools_in_progress.rb +36 -0
  47. data/lib/openai/models/realtime/output_audio_buffer_clear_event.rb +32 -0
  48. data/lib/openai/models/realtime/rate_limits_updated_event.rb +91 -0
  49. data/lib/openai/models/realtime/realtime_audio_config.rb +446 -0
  50. data/lib/openai/models/realtime/realtime_client_event.rb +123 -0
  51. data/lib/openai/models/realtime/realtime_client_secret_config.rb +64 -0
  52. data/lib/openai/models/realtime/realtime_conversation_item_assistant_message.rb +118 -0
  53. data/lib/openai/models/realtime/realtime_conversation_item_function_call.rb +94 -0
  54. data/lib/openai/models/realtime/realtime_conversation_item_function_call_output.rb +86 -0
  55. data/lib/openai/models/realtime/realtime_conversation_item_system_message.rb +118 -0
  56. data/lib/openai/models/realtime/realtime_conversation_item_user_message.rb +135 -0
  57. data/lib/openai/models/realtime/realtime_error.rb +55 -0
  58. data/lib/openai/models/realtime/realtime_error_event.rb +38 -0
  59. data/lib/openai/models/realtime/realtime_mcp_approval_request.rb +52 -0
  60. data/lib/openai/models/realtime/realtime_mcp_approval_response.rb +52 -0
  61. data/lib/openai/models/realtime/realtime_mcp_list_tools.rb +84 -0
  62. data/lib/openai/models/realtime/realtime_mcp_protocol_error.rb +29 -0
  63. data/lib/openai/models/realtime/realtime_mcp_tool_call.rb +94 -0
  64. data/lib/openai/models/realtime/realtime_mcp_tool_execution_error.rb +23 -0
  65. data/lib/openai/models/realtime/realtime_mcphttp_error.rb +29 -0
  66. data/lib/openai/models/realtime/realtime_response.rb +259 -0
  67. data/lib/openai/models/realtime/realtime_response_status.rb +103 -0
  68. data/lib/openai/models/realtime/realtime_response_usage.rb +61 -0
  69. data/lib/openai/models/realtime/realtime_response_usage_input_token_details.rb +36 -0
  70. data/lib/openai/models/realtime/realtime_response_usage_output_token_details.rb +28 -0
  71. data/lib/openai/models/realtime/realtime_server_event.rb +369 -0
  72. data/lib/openai/models/realtime/realtime_session.rb +696 -0
  73. data/lib/openai/models/realtime/realtime_session_create_request.rb +234 -0
  74. data/lib/openai/models/realtime/realtime_session_create_response.rb +579 -0
  75. data/lib/openai/models/realtime/realtime_tool_choice_config.rb +32 -0
  76. data/lib/openai/models/realtime/realtime_tools_config.rb +11 -0
  77. data/lib/openai/models/realtime/realtime_tools_config_union.rb +379 -0
  78. data/lib/openai/models/realtime/realtime_tracing_config.rb +61 -0
  79. data/lib/openai/models/realtime/realtime_transcription_session_create_request.rb +312 -0
  80. data/lib/openai/models/realtime/realtime_truncation.rb +67 -0
  81. data/lib/openai/models/realtime/response_audio_delta_event.rb +68 -0
  82. data/lib/openai/models/realtime/response_audio_done_event.rb +61 -0
  83. data/lib/openai/models/realtime/response_audio_transcript_delta_event.rb +68 -0
  84. data/lib/openai/models/realtime/response_audio_transcript_done_event.rb +70 -0
  85. data/lib/openai/models/realtime/response_cancel_event.rb +42 -0
  86. data/lib/openai/models/realtime/response_content_part_added_event.rb +120 -0
  87. data/lib/openai/models/realtime/response_content_part_done_event.rb +120 -0
  88. data/lib/openai/models/realtime/response_create_event.rb +391 -0
  89. data/lib/openai/models/realtime/response_created_event.rb +37 -0
  90. data/lib/openai/models/realtime/response_done_event.rb +38 -0
  91. data/lib/openai/models/realtime/response_function_call_arguments_delta_event.rb +72 -0
  92. data/lib/openai/models/realtime/response_function_call_arguments_done_event.rb +73 -0
  93. data/lib/openai/models/realtime/response_mcp_call_arguments_delta.rb +68 -0
  94. data/lib/openai/models/realtime/response_mcp_call_arguments_done.rb +60 -0
  95. data/lib/openai/models/realtime/response_mcp_call_completed.rb +44 -0
  96. data/lib/openai/models/realtime/response_mcp_call_failed.rb +44 -0
  97. data/lib/openai/models/realtime/response_mcp_call_in_progress.rb +44 -0
  98. data/lib/openai/models/realtime/response_output_item_added_event.rb +52 -0
  99. data/lib/openai/models/realtime/response_output_item_done_event.rb +53 -0
  100. data/lib/openai/models/realtime/response_text_delta_event.rb +68 -0
  101. data/lib/openai/models/realtime/response_text_done_event.rb +69 -0
  102. data/lib/openai/models/realtime/session_created_event.rb +38 -0
  103. data/lib/openai/models/realtime/session_update_event.rb +44 -0
  104. data/lib/openai/models/realtime/session_updated_event.rb +37 -0
  105. data/lib/openai/models/realtime/transcription_session_created.rb +278 -0
  106. data/lib/openai/models/realtime/transcription_session_update.rb +36 -0
  107. data/lib/openai/models/realtime/transcription_session_updated_event.rb +279 -0
  108. data/lib/openai/models/responses/easy_input_message.rb +3 -3
  109. data/lib/openai/models/responses/response.rb +6 -3
  110. data/lib/openai/models/responses/response_content.rb +4 -1
  111. data/lib/openai/models/responses/response_create_params.rb +6 -3
  112. data/lib/openai/models/responses/response_input_audio.rb +39 -23
  113. data/lib/openai/models/responses/response_input_content.rb +4 -1
  114. data/lib/openai/models/responses/response_input_item.rb +2 -2
  115. data/lib/openai/models/responses/response_input_message_item.rb +2 -2
  116. data/lib/openai/models/responses/tool.rb +3 -156
  117. data/lib/openai/models/responses/web_search_preview_tool.rb +124 -0
  118. data/lib/openai/models/responses/web_search_tool.rb +58 -21
  119. data/lib/openai/models/webhooks/realtime_call_incoming_webhook_event.rb +119 -0
  120. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  121. data/lib/openai/models.rb +2 -0
  122. data/lib/openai/resources/realtime/client_secrets.rb +44 -0
  123. data/lib/openai/resources/realtime.rb +18 -0
  124. data/lib/openai/resources/responses.rb +2 -2
  125. data/lib/openai/resources/webhooks.rb +1 -1
  126. data/lib/openai/version.rb +1 -1
  127. data/lib/openai.rb +95 -0
  128. data/rbi/openai/client.rbi +3 -0
  129. data/rbi/openai/models/audio/speech_create_params.rbi +10 -0
  130. data/rbi/openai/models/chat/chat_completion_audio_param.rbi +10 -0
  131. data/rbi/openai/models/eval_create_params.rbi +5 -1
  132. data/rbi/openai/models/evals/create_eval_completions_run_data_source.rbi +5 -1
  133. data/rbi/openai/models/evals/run_cancel_response.rbi +7 -5
  134. data/rbi/openai/models/evals/run_create_params.rbi +13 -9
  135. data/rbi/openai/models/evals/run_create_response.rbi +7 -5
  136. data/rbi/openai/models/evals/run_list_response.rbi +7 -5
  137. data/rbi/openai/models/evals/run_retrieve_response.rbi +7 -5
  138. data/rbi/openai/models/graders/label_model_grader.rbi +5 -1
  139. data/rbi/openai/models/graders/score_model_grader.rbi +5 -1
  140. data/rbi/openai/models/realtime/client_secret_create_params.rbi +222 -0
  141. data/rbi/openai/models/realtime/client_secret_create_response.rbi +676 -0
  142. data/rbi/openai/models/realtime/conversation_created_event.rbi +164 -0
  143. data/rbi/openai/models/realtime/conversation_item.rbi +35 -0
  144. data/rbi/openai/models/realtime/conversation_item_added.rbi +105 -0
  145. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +123 -0
  146. data/rbi/openai/models/realtime/conversation_item_created_event.rbi +117 -0
  147. data/rbi/openai/models/realtime/conversation_item_delete_event.rbi +57 -0
  148. data/rbi/openai/models/realtime/conversation_item_deleted_event.rbi +53 -0
  149. data/rbi/openai/models/realtime/conversation_item_done.rbi +105 -0
  150. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbi +305 -0
  151. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +93 -0
  152. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbi +158 -0
  153. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbi +107 -0
  154. data/rbi/openai/models/realtime/conversation_item_retrieve_event.rbi +58 -0
  155. data/rbi/openai/models/realtime/conversation_item_truncate_event.rbi +94 -0
  156. data/rbi/openai/models/realtime/conversation_item_truncated_event.rbi +80 -0
  157. data/rbi/openai/models/realtime/conversation_item_with_reference.rbi +549 -0
  158. data/rbi/openai/models/realtime/input_audio_buffer_append_event.rbi +65 -0
  159. data/rbi/openai/models/realtime/input_audio_buffer_clear_event.rbi +43 -0
  160. data/rbi/openai/models/realtime/input_audio_buffer_cleared_event.rbi +40 -0
  161. data/rbi/openai/models/realtime/input_audio_buffer_commit_event.rbi +49 -0
  162. data/rbi/openai/models/realtime/input_audio_buffer_committed_event.rbi +72 -0
  163. data/rbi/openai/models/realtime/input_audio_buffer_speech_started_event.rbi +82 -0
  164. data/rbi/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbi +73 -0
  165. data/rbi/openai/models/realtime/input_audio_buffer_timeout_triggered.rbi +75 -0
  166. data/rbi/openai/models/realtime/log_prob_properties.rbi +55 -0
  167. data/rbi/openai/models/realtime/mcp_list_tools_completed.rbi +51 -0
  168. data/rbi/openai/models/realtime/mcp_list_tools_failed.rbi +51 -0
  169. data/rbi/openai/models/realtime/mcp_list_tools_in_progress.rbi +51 -0
  170. data/rbi/openai/models/realtime/output_audio_buffer_clear_event.rbi +46 -0
  171. data/rbi/openai/models/realtime/rate_limits_updated_event.rbi +187 -0
  172. data/rbi/openai/models/realtime/realtime_audio_config.rbi +1004 -0
  173. data/rbi/openai/models/realtime/realtime_client_event.rbi +38 -0
  174. data/rbi/openai/models/realtime/realtime_client_secret_config.rbi +147 -0
  175. data/rbi/openai/models/realtime/realtime_conversation_item_assistant_message.rbi +292 -0
  176. data/rbi/openai/models/realtime/realtime_conversation_item_function_call.rbi +199 -0
  177. data/rbi/openai/models/realtime/realtime_conversation_item_function_call_output.rbi +188 -0
  178. data/rbi/openai/models/realtime/realtime_conversation_item_system_message.rbi +292 -0
  179. data/rbi/openai/models/realtime/realtime_conversation_item_user_message.rbi +319 -0
  180. data/rbi/openai/models/realtime/realtime_error.rbi +72 -0
  181. data/rbi/openai/models/realtime/realtime_error_event.rbi +64 -0
  182. data/rbi/openai/models/realtime/realtime_mcp_approval_request.rbi +75 -0
  183. data/rbi/openai/models/realtime/realtime_mcp_approval_response.rbi +75 -0
  184. data/rbi/openai/models/realtime/realtime_mcp_list_tools.rbi +131 -0
  185. data/rbi/openai/models/realtime/realtime_mcp_protocol_error.rbi +40 -0
  186. data/rbi/openai/models/realtime/realtime_mcp_tool_call.rbi +145 -0
  187. data/rbi/openai/models/realtime/realtime_mcp_tool_execution_error.rbi +31 -0
  188. data/rbi/openai/models/realtime/realtime_mcphttp_error.rbi +40 -0
  189. data/rbi/openai/models/realtime/realtime_response.rbi +573 -0
  190. data/rbi/openai/models/realtime/realtime_response_status.rbi +233 -0
  191. data/rbi/openai/models/realtime/realtime_response_usage.rbi +121 -0
  192. data/rbi/openai/models/realtime/realtime_response_usage_input_token_details.rbi +68 -0
  193. data/rbi/openai/models/realtime/realtime_response_usage_output_token_details.rbi +51 -0
  194. data/rbi/openai/models/realtime/realtime_server_event.rbi +311 -0
  195. data/rbi/openai/models/realtime/realtime_session.rbi +1426 -0
  196. data/rbi/openai/models/realtime/realtime_session_create_request.rbi +560 -0
  197. data/rbi/openai/models/realtime/realtime_session_create_response.rbi +1249 -0
  198. data/rbi/openai/models/realtime/realtime_tool_choice_config.rbi +30 -0
  199. data/rbi/openai/models/realtime/realtime_tools_config.rbi +15 -0
  200. data/rbi/openai/models/realtime/realtime_tools_config_union.rbi +755 -0
  201. data/rbi/openai/models/realtime/realtime_tracing_config.rbi +95 -0
  202. data/rbi/openai/models/realtime/realtime_transcription_session_create_request.rbi +703 -0
  203. data/rbi/openai/models/realtime/realtime_truncation.rbi +117 -0
  204. data/rbi/openai/models/realtime/response_audio_delta_event.rbi +91 -0
  205. data/rbi/openai/models/realtime/response_audio_done_event.rbi +84 -0
  206. data/rbi/openai/models/realtime/response_audio_transcript_delta_event.rbi +91 -0
  207. data/rbi/openai/models/realtime/response_audio_transcript_done_event.rbi +93 -0
  208. data/rbi/openai/models/realtime/response_cancel_event.rbi +63 -0
  209. data/rbi/openai/models/realtime/response_content_part_added_event.rbi +219 -0
  210. data/rbi/openai/models/realtime/response_content_part_done_event.rbi +219 -0
  211. data/rbi/openai/models/realtime/response_create_event.rbi +863 -0
  212. data/rbi/openai/models/realtime/response_created_event.rbi +65 -0
  213. data/rbi/openai/models/realtime/response_done_event.rbi +66 -0
  214. data/rbi/openai/models/realtime/response_function_call_arguments_delta_event.rbi +91 -0
  215. data/rbi/openai/models/realtime/response_function_call_arguments_done_event.rbi +92 -0
  216. data/rbi/openai/models/realtime/response_mcp_call_arguments_delta.rbi +91 -0
  217. data/rbi/openai/models/realtime/response_mcp_call_arguments_done.rbi +83 -0
  218. data/rbi/openai/models/realtime/response_mcp_call_completed.rbi +67 -0
  219. data/rbi/openai/models/realtime/response_mcp_call_failed.rbi +67 -0
  220. data/rbi/openai/models/realtime/response_mcp_call_in_progress.rbi +67 -0
  221. data/rbi/openai/models/realtime/response_output_item_added_event.rbi +111 -0
  222. data/rbi/openai/models/realtime/response_output_item_done_event.rbi +112 -0
  223. data/rbi/openai/models/realtime/response_text_delta_event.rbi +91 -0
  224. data/rbi/openai/models/realtime/response_text_done_event.rbi +92 -0
  225. data/rbi/openai/models/realtime/session_created_event.rbi +64 -0
  226. data/rbi/openai/models/realtime/session_update_event.rbi +77 -0
  227. data/rbi/openai/models/realtime/session_updated_event.rbi +63 -0
  228. data/rbi/openai/models/realtime/transcription_session_created.rbi +653 -0
  229. data/rbi/openai/models/realtime/transcription_session_update.rbi +74 -0
  230. data/rbi/openai/models/realtime/transcription_session_updated_event.rbi +657 -0
  231. data/rbi/openai/models/responses/response.rbi +10 -4
  232. data/rbi/openai/models/responses/response_content.rbi +1 -0
  233. data/rbi/openai/models/responses/response_create_params.rbi +16 -10
  234. data/rbi/openai/models/responses/response_input_audio.rbi +85 -34
  235. data/rbi/openai/models/responses/response_input_content.rbi +2 -1
  236. data/rbi/openai/models/responses/response_input_item.rbi +6 -3
  237. data/rbi/openai/models/responses/response_input_message_item.rbi +2 -1
  238. data/rbi/openai/models/responses/tool.rbi +2 -348
  239. data/rbi/openai/models/responses/web_search_preview_tool.rbi +245 -0
  240. data/rbi/openai/models/responses/web_search_tool.rbi +120 -23
  241. data/rbi/openai/models/webhooks/realtime_call_incoming_webhook_event.rbi +222 -0
  242. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  243. data/rbi/openai/models.rbi +2 -0
  244. data/rbi/openai/resources/realtime/client_secrets.rbi +38 -0
  245. data/rbi/openai/resources/realtime.rbi +15 -0
  246. data/rbi/openai/resources/responses.rbi +12 -6
  247. data/rbi/openai/resources/webhooks.rbi +1 -0
  248. data/sig/openai/client.rbs +2 -0
  249. data/sig/openai/models/audio/speech_create_params.rbs +4 -0
  250. data/sig/openai/models/chat/chat_completion_audio_param.rbs +4 -0
  251. data/sig/openai/models/eval_create_params.rbs +2 -1
  252. data/sig/openai/models/evals/create_eval_completions_run_data_source.rbs +2 -1
  253. data/sig/openai/models/evals/run_cancel_response.rbs +2 -1
  254. data/sig/openai/models/evals/run_create_params.rbs +2 -1
  255. data/sig/openai/models/evals/run_create_response.rbs +2 -1
  256. data/sig/openai/models/evals/run_list_response.rbs +2 -1
  257. data/sig/openai/models/evals/run_retrieve_response.rbs +2 -1
  258. data/sig/openai/models/graders/label_model_grader.rbs +2 -1
  259. data/sig/openai/models/graders/score_model_grader.rbs +2 -1
  260. data/sig/openai/models/realtime/client_secret_create_params.rbs +89 -0
  261. data/sig/openai/models/realtime/client_secret_create_response.rbs +292 -0
  262. data/sig/openai/models/realtime/conversation_created_event.rbs +70 -0
  263. data/sig/openai/models/realtime/conversation_item.rbs +22 -0
  264. data/sig/openai/models/realtime/conversation_item_added.rbs +37 -0
  265. data/sig/openai/models/realtime/conversation_item_create_event.rbs +41 -0
  266. data/sig/openai/models/realtime/conversation_item_created_event.rbs +37 -0
  267. data/sig/openai/models/realtime/conversation_item_delete_event.rbs +30 -0
  268. data/sig/openai/models/realtime/conversation_item_deleted_event.rbs +32 -0
  269. data/sig/openai/models/realtime/conversation_item_done.rbs +37 -0
  270. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_completed_event.rbs +136 -0
  271. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +51 -0
  272. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_failed_event.rbs +77 -0
  273. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_segment.rbs +62 -0
  274. data/sig/openai/models/realtime/conversation_item_retrieve_event.rbs +34 -0
  275. data/sig/openai/models/realtime/conversation_item_truncate_event.rbs +44 -0
  276. data/sig/openai/models/realtime/conversation_item_truncated_event.rbs +42 -0
  277. data/sig/openai/models/realtime/conversation_item_with_reference.rbs +207 -0
  278. data/sig/openai/models/realtime/input_audio_buffer_append_event.rbs +30 -0
  279. data/sig/openai/models/realtime/input_audio_buffer_clear_event.rbs +23 -0
  280. data/sig/openai/models/realtime/input_audio_buffer_cleared_event.rbs +24 -0
  281. data/sig/openai/models/realtime/input_audio_buffer_commit_event.rbs +23 -0
  282. data/sig/openai/models/realtime/input_audio_buffer_committed_event.rbs +37 -0
  283. data/sig/openai/models/realtime/input_audio_buffer_speech_started_event.rbs +37 -0
  284. data/sig/openai/models/realtime/input_audio_buffer_speech_stopped_event.rbs +37 -0
  285. data/sig/openai/models/realtime/input_audio_buffer_timeout_triggered.rbs +42 -0
  286. data/sig/openai/models/realtime/log_prob_properties.rbs +28 -0
  287. data/sig/openai/models/realtime/mcp_list_tools_completed.rbs +28 -0
  288. data/sig/openai/models/realtime/mcp_list_tools_failed.rbs +28 -0
  289. data/sig/openai/models/realtime/mcp_list_tools_in_progress.rbs +32 -0
  290. data/sig/openai/models/realtime/output_audio_buffer_clear_event.rbs +23 -0
  291. data/sig/openai/models/realtime/rate_limits_updated_event.rbs +85 -0
  292. data/sig/openai/models/realtime/realtime_audio_config.rbs +354 -0
  293. data/sig/openai/models/realtime/realtime_client_event.rbs +25 -0
  294. data/sig/openai/models/realtime/realtime_client_secret_config.rbs +60 -0
  295. data/sig/openai/models/realtime/realtime_conversation_item_assistant_message.rbs +117 -0
  296. data/sig/openai/models/realtime/realtime_conversation_item_function_call.rbs +86 -0
  297. data/sig/openai/models/realtime/realtime_conversation_item_function_call_output.rbs +79 -0
  298. data/sig/openai/models/realtime/realtime_conversation_item_system_message.rbs +117 -0
  299. data/sig/openai/models/realtime/realtime_conversation_item_user_message.rbs +132 -0
  300. data/sig/openai/models/realtime/realtime_error.rbs +42 -0
  301. data/sig/openai/models/realtime/realtime_error_event.rbs +32 -0
  302. data/sig/openai/models/realtime/realtime_mcp_approval_request.rbs +42 -0
  303. data/sig/openai/models/realtime/realtime_mcp_approval_response.rbs +42 -0
  304. data/sig/openai/models/realtime/realtime_mcp_list_tools.rbs +71 -0
  305. data/sig/openai/models/realtime/realtime_mcp_protocol_error.rbs +28 -0
  306. data/sig/openai/models/realtime/realtime_mcp_tool_call.rbs +68 -0
  307. data/sig/openai/models/realtime/realtime_mcp_tool_execution_error.rbs +18 -0
  308. data/sig/openai/models/realtime/realtime_mcphttp_error.rbs +24 -0
  309. data/sig/openai/models/realtime/realtime_response.rbs +210 -0
  310. data/sig/openai/models/realtime/realtime_response_status.rbs +90 -0
  311. data/sig/openai/models/realtime/realtime_response_usage.rbs +56 -0
  312. data/sig/openai/models/realtime/realtime_response_usage_input_token_details.rbs +34 -0
  313. data/sig/openai/models/realtime/realtime_response_usage_output_token_details.rbs +22 -0
  314. data/sig/openai/models/realtime/realtime_server_event.rbs +168 -0
  315. data/sig/openai/models/realtime/realtime_session.rbs +521 -0
  316. data/sig/openai/models/realtime/realtime_session_create_request.rbs +178 -0
  317. data/sig/openai/models/realtime/realtime_session_create_response.rbs +526 -0
  318. data/sig/openai/models/realtime/realtime_tool_choice_config.rbs +16 -0
  319. data/sig/openai/models/realtime/realtime_tools_config.rbs +10 -0
  320. data/sig/openai/models/realtime/realtime_tools_config_union.rbs +280 -0
  321. data/sig/openai/models/realtime/realtime_tracing_config.rbs +43 -0
  322. data/sig/openai/models/realtime/realtime_transcription_session_create_request.rbs +242 -0
  323. data/sig/openai/models/realtime/realtime_truncation.rbs +53 -0
  324. data/sig/openai/models/realtime/response_audio_delta_event.rbs +52 -0
  325. data/sig/openai/models/realtime/response_audio_done_event.rbs +47 -0
  326. data/sig/openai/models/realtime/response_audio_transcript_delta_event.rbs +52 -0
  327. data/sig/openai/models/realtime/response_audio_transcript_done_event.rbs +52 -0
  328. data/sig/openai/models/realtime/response_cancel_event.rbs +32 -0
  329. data/sig/openai/models/realtime/response_content_part_added_event.rbs +105 -0
  330. data/sig/openai/models/realtime/response_content_part_done_event.rbs +105 -0
  331. data/sig/openai/models/realtime/response_create_event.rbs +281 -0
  332. data/sig/openai/models/realtime/response_created_event.rbs +32 -0
  333. data/sig/openai/models/realtime/response_done_event.rbs +32 -0
  334. data/sig/openai/models/realtime/response_function_call_arguments_delta_event.rbs +52 -0
  335. data/sig/openai/models/realtime/response_function_call_arguments_done_event.rbs +52 -0
  336. data/sig/openai/models/realtime/response_mcp_call_arguments_delta.rbs +52 -0
  337. data/sig/openai/models/realtime/response_mcp_call_arguments_done.rbs +47 -0
  338. data/sig/openai/models/realtime/response_mcp_call_completed.rbs +37 -0
  339. data/sig/openai/models/realtime/response_mcp_call_failed.rbs +37 -0
  340. data/sig/openai/models/realtime/response_mcp_call_in_progress.rbs +37 -0
  341. data/sig/openai/models/realtime/response_output_item_added_event.rbs +42 -0
  342. data/sig/openai/models/realtime/response_output_item_done_event.rbs +42 -0
  343. data/sig/openai/models/realtime/response_text_delta_event.rbs +52 -0
  344. data/sig/openai/models/realtime/response_text_done_event.rbs +52 -0
  345. data/sig/openai/models/realtime/session_created_event.rbs +32 -0
  346. data/sig/openai/models/realtime/session_update_event.rbs +34 -0
  347. data/sig/openai/models/realtime/session_updated_event.rbs +32 -0
  348. data/sig/openai/models/realtime/transcription_session_created.rbs +282 -0
  349. data/sig/openai/models/realtime/transcription_session_update.rbs +34 -0
  350. data/sig/openai/models/realtime/transcription_session_updated_event.rbs +282 -0
  351. data/sig/openai/models/responses/response_content.rbs +1 -0
  352. data/sig/openai/models/responses/response_input_audio.rbs +32 -15
  353. data/sig/openai/models/responses/response_input_content.rbs +1 -0
  354. data/sig/openai/models/responses/tool.rbs +1 -121
  355. data/sig/openai/models/responses/web_search_preview_tool.rbs +96 -0
  356. data/sig/openai/models/responses/web_search_tool.rbs +39 -10
  357. data/sig/openai/models/webhooks/realtime_call_incoming_webhook_event.rbs +90 -0
  358. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  359. data/sig/openai/models.rbs +2 -0
  360. data/sig/openai/resources/realtime/client_secrets.rbs +15 -0
  361. data/sig/openai/resources/realtime.rbs +9 -0
  362. data/sig/openai/resources/webhooks.rbs +1 -0
  363. metadata +287 -2
@@ -0,0 +1,219 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class ResponseContentPartAddedEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Realtime::ResponseContentPartAddedEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The index of the content part in the item's content array.
16
+ sig { returns(Integer) }
17
+ attr_accessor :content_index
18
+
19
+ # The unique ID of the server event.
20
+ sig { returns(String) }
21
+ attr_accessor :event_id
22
+
23
+ # The ID of the item to which the content part was added.
24
+ sig { returns(String) }
25
+ attr_accessor :item_id
26
+
27
+ # The index of the output item in the response.
28
+ sig { returns(Integer) }
29
+ attr_accessor :output_index
30
+
31
+ # The content part that was added.
32
+ sig { returns(OpenAI::Realtime::ResponseContentPartAddedEvent::Part) }
33
+ attr_reader :part
34
+
35
+ sig do
36
+ params(
37
+ part: OpenAI::Realtime::ResponseContentPartAddedEvent::Part::OrHash
38
+ ).void
39
+ end
40
+ attr_writer :part
41
+
42
+ # The ID of the response.
43
+ sig { returns(String) }
44
+ attr_accessor :response_id
45
+
46
+ # The event type, must be `response.content_part.added`.
47
+ sig { returns(Symbol) }
48
+ attr_accessor :type
49
+
50
+ # Returned when a new content part is added to an assistant message item during
51
+ # response generation.
52
+ sig do
53
+ params(
54
+ content_index: Integer,
55
+ event_id: String,
56
+ item_id: String,
57
+ output_index: Integer,
58
+ part: OpenAI::Realtime::ResponseContentPartAddedEvent::Part::OrHash,
59
+ response_id: String,
60
+ type: Symbol
61
+ ).returns(T.attached_class)
62
+ end
63
+ def self.new(
64
+ # The index of the content part in the item's content array.
65
+ content_index:,
66
+ # The unique ID of the server event.
67
+ event_id:,
68
+ # The ID of the item to which the content part was added.
69
+ item_id:,
70
+ # The index of the output item in the response.
71
+ output_index:,
72
+ # The content part that was added.
73
+ part:,
74
+ # The ID of the response.
75
+ response_id:,
76
+ # The event type, must be `response.content_part.added`.
77
+ type: :"response.content_part.added"
78
+ )
79
+ end
80
+
81
+ sig do
82
+ override.returns(
83
+ {
84
+ content_index: Integer,
85
+ event_id: String,
86
+ item_id: String,
87
+ output_index: Integer,
88
+ part: OpenAI::Realtime::ResponseContentPartAddedEvent::Part,
89
+ response_id: String,
90
+ type: Symbol
91
+ }
92
+ )
93
+ end
94
+ def to_hash
95
+ end
96
+
97
+ class Part < OpenAI::Internal::Type::BaseModel
98
+ OrHash =
99
+ T.type_alias do
100
+ T.any(
101
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part,
102
+ OpenAI::Internal::AnyHash
103
+ )
104
+ end
105
+
106
+ # Base64-encoded audio data (if type is "audio").
107
+ sig { returns(T.nilable(String)) }
108
+ attr_reader :audio
109
+
110
+ sig { params(audio: String).void }
111
+ attr_writer :audio
112
+
113
+ # The text content (if type is "text").
114
+ sig { returns(T.nilable(String)) }
115
+ attr_reader :text
116
+
117
+ sig { params(text: String).void }
118
+ attr_writer :text
119
+
120
+ # The transcript of the audio (if type is "audio").
121
+ sig { returns(T.nilable(String)) }
122
+ attr_reader :transcript
123
+
124
+ sig { params(transcript: String).void }
125
+ attr_writer :transcript
126
+
127
+ # The content type ("text", "audio").
128
+ sig do
129
+ returns(
130
+ T.nilable(
131
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part::Type::OrSymbol
132
+ )
133
+ )
134
+ end
135
+ attr_reader :type
136
+
137
+ sig do
138
+ params(
139
+ type:
140
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part::Type::OrSymbol
141
+ ).void
142
+ end
143
+ attr_writer :type
144
+
145
+ # The content part that was added.
146
+ sig do
147
+ params(
148
+ audio: String,
149
+ text: String,
150
+ transcript: String,
151
+ type:
152
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part::Type::OrSymbol
153
+ ).returns(T.attached_class)
154
+ end
155
+ def self.new(
156
+ # Base64-encoded audio data (if type is "audio").
157
+ audio: nil,
158
+ # The text content (if type is "text").
159
+ text: nil,
160
+ # The transcript of the audio (if type is "audio").
161
+ transcript: nil,
162
+ # The content type ("text", "audio").
163
+ type: nil
164
+ )
165
+ end
166
+
167
+ sig do
168
+ override.returns(
169
+ {
170
+ audio: String,
171
+ text: String,
172
+ transcript: String,
173
+ type:
174
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part::Type::OrSymbol
175
+ }
176
+ )
177
+ end
178
+ def to_hash
179
+ end
180
+
181
+ # The content type ("text", "audio").
182
+ module Type
183
+ extend OpenAI::Internal::Type::Enum
184
+
185
+ TaggedSymbol =
186
+ T.type_alias do
187
+ T.all(
188
+ Symbol,
189
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part::Type
190
+ )
191
+ end
192
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
193
+
194
+ TEXT =
195
+ T.let(
196
+ :text,
197
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part::Type::TaggedSymbol
198
+ )
199
+ AUDIO =
200
+ T.let(
201
+ :audio,
202
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part::Type::TaggedSymbol
203
+ )
204
+
205
+ sig do
206
+ override.returns(
207
+ T::Array[
208
+ OpenAI::Realtime::ResponseContentPartAddedEvent::Part::Type::TaggedSymbol
209
+ ]
210
+ )
211
+ end
212
+ def self.values
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end
@@ -0,0 +1,219 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class ResponseContentPartDoneEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Realtime::ResponseContentPartDoneEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The index of the content part in the item's content array.
16
+ sig { returns(Integer) }
17
+ attr_accessor :content_index
18
+
19
+ # The unique ID of the server event.
20
+ sig { returns(String) }
21
+ attr_accessor :event_id
22
+
23
+ # The ID of the item.
24
+ sig { returns(String) }
25
+ attr_accessor :item_id
26
+
27
+ # The index of the output item in the response.
28
+ sig { returns(Integer) }
29
+ attr_accessor :output_index
30
+
31
+ # The content part that is done.
32
+ sig { returns(OpenAI::Realtime::ResponseContentPartDoneEvent::Part) }
33
+ attr_reader :part
34
+
35
+ sig do
36
+ params(
37
+ part: OpenAI::Realtime::ResponseContentPartDoneEvent::Part::OrHash
38
+ ).void
39
+ end
40
+ attr_writer :part
41
+
42
+ # The ID of the response.
43
+ sig { returns(String) }
44
+ attr_accessor :response_id
45
+
46
+ # The event type, must be `response.content_part.done`.
47
+ sig { returns(Symbol) }
48
+ attr_accessor :type
49
+
50
+ # Returned when a content part is done streaming in an assistant message item.
51
+ # Also emitted when a Response is interrupted, incomplete, or cancelled.
52
+ sig do
53
+ params(
54
+ content_index: Integer,
55
+ event_id: String,
56
+ item_id: String,
57
+ output_index: Integer,
58
+ part: OpenAI::Realtime::ResponseContentPartDoneEvent::Part::OrHash,
59
+ response_id: String,
60
+ type: Symbol
61
+ ).returns(T.attached_class)
62
+ end
63
+ def self.new(
64
+ # The index of the content part in the item's content array.
65
+ content_index:,
66
+ # The unique ID of the server event.
67
+ event_id:,
68
+ # The ID of the item.
69
+ item_id:,
70
+ # The index of the output item in the response.
71
+ output_index:,
72
+ # The content part that is done.
73
+ part:,
74
+ # The ID of the response.
75
+ response_id:,
76
+ # The event type, must be `response.content_part.done`.
77
+ type: :"response.content_part.done"
78
+ )
79
+ end
80
+
81
+ sig do
82
+ override.returns(
83
+ {
84
+ content_index: Integer,
85
+ event_id: String,
86
+ item_id: String,
87
+ output_index: Integer,
88
+ part: OpenAI::Realtime::ResponseContentPartDoneEvent::Part,
89
+ response_id: String,
90
+ type: Symbol
91
+ }
92
+ )
93
+ end
94
+ def to_hash
95
+ end
96
+
97
+ class Part < OpenAI::Internal::Type::BaseModel
98
+ OrHash =
99
+ T.type_alias do
100
+ T.any(
101
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part,
102
+ OpenAI::Internal::AnyHash
103
+ )
104
+ end
105
+
106
+ # Base64-encoded audio data (if type is "audio").
107
+ sig { returns(T.nilable(String)) }
108
+ attr_reader :audio
109
+
110
+ sig { params(audio: String).void }
111
+ attr_writer :audio
112
+
113
+ # The text content (if type is "text").
114
+ sig { returns(T.nilable(String)) }
115
+ attr_reader :text
116
+
117
+ sig { params(text: String).void }
118
+ attr_writer :text
119
+
120
+ # The transcript of the audio (if type is "audio").
121
+ sig { returns(T.nilable(String)) }
122
+ attr_reader :transcript
123
+
124
+ sig { params(transcript: String).void }
125
+ attr_writer :transcript
126
+
127
+ # The content type ("text", "audio").
128
+ sig do
129
+ returns(
130
+ T.nilable(
131
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part::Type::OrSymbol
132
+ )
133
+ )
134
+ end
135
+ attr_reader :type
136
+
137
+ sig do
138
+ params(
139
+ type:
140
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part::Type::OrSymbol
141
+ ).void
142
+ end
143
+ attr_writer :type
144
+
145
+ # The content part that is done.
146
+ sig do
147
+ params(
148
+ audio: String,
149
+ text: String,
150
+ transcript: String,
151
+ type:
152
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part::Type::OrSymbol
153
+ ).returns(T.attached_class)
154
+ end
155
+ def self.new(
156
+ # Base64-encoded audio data (if type is "audio").
157
+ audio: nil,
158
+ # The text content (if type is "text").
159
+ text: nil,
160
+ # The transcript of the audio (if type is "audio").
161
+ transcript: nil,
162
+ # The content type ("text", "audio").
163
+ type: nil
164
+ )
165
+ end
166
+
167
+ sig do
168
+ override.returns(
169
+ {
170
+ audio: String,
171
+ text: String,
172
+ transcript: String,
173
+ type:
174
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part::Type::OrSymbol
175
+ }
176
+ )
177
+ end
178
+ def to_hash
179
+ end
180
+
181
+ # The content type ("text", "audio").
182
+ module Type
183
+ extend OpenAI::Internal::Type::Enum
184
+
185
+ TaggedSymbol =
186
+ T.type_alias do
187
+ T.all(
188
+ Symbol,
189
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part::Type
190
+ )
191
+ end
192
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
193
+
194
+ TEXT =
195
+ T.let(
196
+ :text,
197
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part::Type::TaggedSymbol
198
+ )
199
+ AUDIO =
200
+ T.let(
201
+ :audio,
202
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part::Type::TaggedSymbol
203
+ )
204
+
205
+ sig do
206
+ override.returns(
207
+ T::Array[
208
+ OpenAI::Realtime::ResponseContentPartDoneEvent::Part::Type::TaggedSymbol
209
+ ]
210
+ )
211
+ end
212
+ def self.values
213
+ end
214
+ end
215
+ end
216
+ end
217
+ end
218
+ end
219
+ end