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,222 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Webhooks
6
+ class RealtimeCallIncomingWebhookEvent < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The unique ID of the event.
16
+ sig { returns(String) }
17
+ attr_accessor :id
18
+
19
+ # The Unix timestamp (in seconds) of when the model response was completed.
20
+ sig { returns(Integer) }
21
+ attr_accessor :created_at
22
+
23
+ # Event data payload.
24
+ sig do
25
+ returns(OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data)
26
+ end
27
+ attr_reader :data
28
+
29
+ sig do
30
+ params(
31
+ data:
32
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::OrHash
33
+ ).void
34
+ end
35
+ attr_writer :data
36
+
37
+ # The type of the event. Always `realtime.call.incoming`.
38
+ sig { returns(Symbol) }
39
+ attr_accessor :type
40
+
41
+ # The object of the event. Always `event`.
42
+ sig do
43
+ returns(
44
+ T.nilable(
45
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::TaggedSymbol
46
+ )
47
+ )
48
+ end
49
+ attr_reader :object
50
+
51
+ sig do
52
+ params(
53
+ object:
54
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::OrSymbol
55
+ ).void
56
+ end
57
+ attr_writer :object
58
+
59
+ # Sent when Realtime API Receives a incoming SIP call.
60
+ sig do
61
+ params(
62
+ id: String,
63
+ created_at: Integer,
64
+ data:
65
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::OrHash,
66
+ object:
67
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::OrSymbol,
68
+ type: Symbol
69
+ ).returns(T.attached_class)
70
+ end
71
+ def self.new(
72
+ # The unique ID of the event.
73
+ id:,
74
+ # The Unix timestamp (in seconds) of when the model response was completed.
75
+ created_at:,
76
+ # Event data payload.
77
+ data:,
78
+ # The object of the event. Always `event`.
79
+ object: nil,
80
+ # The type of the event. Always `realtime.call.incoming`.
81
+ type: :"realtime.call.incoming"
82
+ )
83
+ end
84
+
85
+ sig do
86
+ override.returns(
87
+ {
88
+ id: String,
89
+ created_at: Integer,
90
+ data: OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data,
91
+ type: Symbol,
92
+ object:
93
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::TaggedSymbol
94
+ }
95
+ )
96
+ end
97
+ def to_hash
98
+ end
99
+
100
+ class Data < OpenAI::Internal::Type::BaseModel
101
+ OrHash =
102
+ T.type_alias do
103
+ T.any(
104
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data,
105
+ OpenAI::Internal::AnyHash
106
+ )
107
+ end
108
+
109
+ # The unique ID of this call.
110
+ sig { returns(String) }
111
+ attr_accessor :call_id
112
+
113
+ # Headers from the SIP Invite.
114
+ sig do
115
+ returns(
116
+ T::Array[
117
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader
118
+ ]
119
+ )
120
+ end
121
+ attr_accessor :sip_headers
122
+
123
+ # Event data payload.
124
+ sig do
125
+ params(
126
+ call_id: String,
127
+ sip_headers:
128
+ T::Array[
129
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader::OrHash
130
+ ]
131
+ ).returns(T.attached_class)
132
+ end
133
+ def self.new(
134
+ # The unique ID of this call.
135
+ call_id:,
136
+ # Headers from the SIP Invite.
137
+ sip_headers:
138
+ )
139
+ end
140
+
141
+ sig do
142
+ override.returns(
143
+ {
144
+ call_id: String,
145
+ sip_headers:
146
+ T::Array[
147
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader
148
+ ]
149
+ }
150
+ )
151
+ end
152
+ def to_hash
153
+ end
154
+
155
+ class SipHeader < OpenAI::Internal::Type::BaseModel
156
+ OrHash =
157
+ T.type_alias do
158
+ T.any(
159
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Data::SipHeader,
160
+ OpenAI::Internal::AnyHash
161
+ )
162
+ end
163
+
164
+ # Name of the SIP Header.
165
+ sig { returns(String) }
166
+ attr_accessor :name
167
+
168
+ # Value of the SIP Header.
169
+ sig { returns(String) }
170
+ attr_accessor :value
171
+
172
+ # A header from the SIP Invite.
173
+ sig do
174
+ params(name: String, value: String).returns(T.attached_class)
175
+ end
176
+ def self.new(
177
+ # Name of the SIP Header.
178
+ name:,
179
+ # Value of the SIP Header.
180
+ value:
181
+ )
182
+ end
183
+
184
+ sig { override.returns({ name: String, value: String }) }
185
+ def to_hash
186
+ end
187
+ end
188
+ end
189
+
190
+ # The object of the event. Always `event`.
191
+ module Object
192
+ extend OpenAI::Internal::Type::Enum
193
+
194
+ TaggedSymbol =
195
+ T.type_alias do
196
+ T.all(
197
+ Symbol,
198
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object
199
+ )
200
+ end
201
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
202
+
203
+ EVENT =
204
+ T.let(
205
+ :event,
206
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::TaggedSymbol
207
+ )
208
+
209
+ sig do
210
+ override.returns(
211
+ T::Array[
212
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent::Object::TaggedSymbol
213
+ ]
214
+ )
215
+ end
216
+ def self.values
217
+ end
218
+ end
219
+ end
220
+ end
221
+ end
222
+ end
@@ -20,6 +20,7 @@ module OpenAI
20
20
  OpenAI::Webhooks::FineTuningJobCancelledWebhookEvent,
21
21
  OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
22
22
  OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
23
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
23
24
  OpenAI::Webhooks::ResponseCancelledWebhookEvent,
24
25
  OpenAI::Webhooks::ResponseCompletedWebhookEvent,
25
26
  OpenAI::Webhooks::ResponseFailedWebhookEvent,
@@ -166,6 +166,8 @@ module OpenAI
166
166
  OtherFileChunkingStrategyObject =
167
167
  OpenAI::Models::OtherFileChunkingStrategyObject
168
168
 
169
+ Realtime = OpenAI::Models::Realtime
170
+
169
171
  Reasoning = OpenAI::Models::Reasoning
170
172
 
171
173
  ReasoningEffort = OpenAI::Models::ReasoningEffort
@@ -0,0 +1,38 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Realtime
6
+ class ClientSecrets
7
+ # Create a Realtime session and client secret for either realtime or
8
+ # transcription.
9
+ sig do
10
+ params(
11
+ expires_after:
12
+ OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter::OrHash,
13
+ session:
14
+ T.any(
15
+ OpenAI::Realtime::RealtimeSessionCreateRequest::OrHash,
16
+ OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest::OrHash
17
+ ),
18
+ request_options: OpenAI::RequestOptions::OrHash
19
+ ).returns(OpenAI::Models::Realtime::ClientSecretCreateResponse)
20
+ end
21
+ def create(
22
+ # Configuration for the ephemeral token expiration.
23
+ expires_after: nil,
24
+ # Session configuration to use for the client secret. Choose either a realtime
25
+ # session or a transcription session.
26
+ session: nil,
27
+ request_options: {}
28
+ )
29
+ end
30
+
31
+ # @api private
32
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
33
+ def self.new(client:)
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,15 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Resources
5
+ class Realtime
6
+ sig { returns(OpenAI::Resources::Realtime::ClientSecrets) }
7
+ attr_reader :client_secrets
8
+
9
+ # @api private
10
+ sig { params(client: OpenAI::Client).returns(T.attached_class) }
11
+ def self.new(client:)
12
+ end
13
+ end
14
+ end
15
+ end
@@ -85,8 +85,8 @@ module OpenAI
85
85
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
86
86
  OpenAI::Responses::Tool::LocalShell::OrHash,
87
87
  OpenAI::Responses::CustomTool::OrHash,
88
- OpenAI::Responses::Tool::WebSearchTool::OrHash,
89
- OpenAI::Responses::WebSearchTool::OrHash
88
+ OpenAI::Responses::WebSearchTool::OrHash,
89
+ OpenAI::Responses::WebSearchPreviewTool::OrHash
90
90
  )
91
91
  ],
92
92
  top_logprobs: T.nilable(Integer),
@@ -230,7 +230,7 @@ module OpenAI
230
230
  # An array of tools the model may call while generating a response. You can
231
231
  # specify which tool to use by setting the `tool_choice` parameter.
232
232
  #
233
- # The two categories of tools you can provide the model are:
233
+ # We support the following categories of tools:
234
234
  #
235
235
  # - **Built-in tools**: Tools that are provided by OpenAI that extend the model's
236
236
  # capabilities, like
@@ -238,6 +238,9 @@ module OpenAI
238
238
  # [file search](https://platform.openai.com/docs/guides/tools-file-search).
239
239
  # Learn more about
240
240
  # [built-in tools](https://platform.openai.com/docs/guides/tools).
241
+ # - **MCP Tools**: Integrations with third-party systems via custom MCP servers or
242
+ # predefined connectors such as Google Drive and SharePoint. Learn more about
243
+ # [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp).
241
244
  # - **Function calls (custom tools)**: Functions that are defined by you, enabling
242
245
  # the model to call your own code with strongly typed arguments and outputs.
243
246
  # Learn more about
@@ -355,8 +358,8 @@ module OpenAI
355
358
  OpenAI::Responses::Tool::ImageGeneration::OrHash,
356
359
  OpenAI::Responses::Tool::LocalShell::OrHash,
357
360
  OpenAI::Responses::CustomTool::OrHash,
358
- OpenAI::Responses::Tool::WebSearchTool::OrHash,
359
- OpenAI::Responses::WebSearchTool::OrHash
361
+ OpenAI::Responses::WebSearchTool::OrHash,
362
+ OpenAI::Responses::WebSearchPreviewTool::OrHash
360
363
  )
361
364
  ],
362
365
  top_logprobs: T.nilable(Integer),
@@ -504,7 +507,7 @@ module OpenAI
504
507
  # An array of tools the model may call while generating a response. You can
505
508
  # specify which tool to use by setting the `tool_choice` parameter.
506
509
  #
507
- # The two categories of tools you can provide the model are:
510
+ # We support the following categories of tools:
508
511
  #
509
512
  # - **Built-in tools**: Tools that are provided by OpenAI that extend the model's
510
513
  # capabilities, like
@@ -512,6 +515,9 @@ module OpenAI
512
515
  # [file search](https://platform.openai.com/docs/guides/tools-file-search).
513
516
  # Learn more about
514
517
  # [built-in tools](https://platform.openai.com/docs/guides/tools).
518
+ # - **MCP Tools**: Integrations with third-party systems via custom MCP servers or
519
+ # predefined connectors such as Google Drive and SharePoint. Learn more about
520
+ # [MCP Tools](https://platform.openai.com/docs/guides/tools-connectors-mcp).
515
521
  # - **Function calls (custom tools)**: Functions that are defined by you, enabling
516
522
  # the model to call your own code with strongly typed arguments and outputs.
517
523
  # Learn more about
@@ -21,6 +21,7 @@ module OpenAI
21
21
  OpenAI::Webhooks::FineTuningJobCancelledWebhookEvent,
22
22
  OpenAI::Webhooks::FineTuningJobFailedWebhookEvent,
23
23
  OpenAI::Webhooks::FineTuningJobSucceededWebhookEvent,
24
+ OpenAI::Webhooks::RealtimeCallIncomingWebhookEvent,
24
25
  OpenAI::Webhooks::ResponseCancelledWebhookEvent,
25
26
  OpenAI::Webhooks::ResponseCompletedWebhookEvent,
26
27
  OpenAI::Webhooks::ResponseFailedWebhookEvent,
@@ -46,6 +46,8 @@ module OpenAI
46
46
 
47
47
  attr_reader responses: OpenAI::Resources::Responses
48
48
 
49
+ attr_reader realtime: OpenAI::Resources::Realtime
50
+
49
51
  attr_reader conversations: OpenAI::Resources::Conversations
50
52
 
51
53
  attr_reader evals: OpenAI::Resources::Evals
@@ -83,6 +83,8 @@ module OpenAI
83
83
  | :sage
84
84
  | :shimmer
85
85
  | :verse
86
+ | :marin
87
+ | :cedar
86
88
 
87
89
  module Voice
88
90
  extend OpenAI::Internal::Type::Union
@@ -97,6 +99,8 @@ module OpenAI
97
99
  SAGE: :sage
98
100
  SHIMMER: :shimmer
99
101
  VERSE: :verse
102
+ MARIN: :marin
103
+ CEDAR: :cedar
100
104
  end
101
105
 
102
106
  type response_format = :mp3 | :opus | :aac | :flac | :wav | :pcm
@@ -49,6 +49,8 @@ module OpenAI
49
49
  | :sage
50
50
  | :shimmer
51
51
  | :verse
52
+ | :marin
53
+ | :cedar
52
54
 
53
55
  module Voice
54
56
  extend OpenAI::Internal::Type::Union
@@ -63,6 +65,8 @@ module OpenAI
63
65
  SAGE: :sage
64
66
  SHIMMER: :shimmer
65
67
  VERSE: :verse
68
+ MARIN: :marin
69
+ CEDAR: :cedar
66
70
  end
67
71
  end
68
72
  end
@@ -219,6 +219,7 @@ module OpenAI
219
219
  | OpenAI::Responses::ResponseInputText
220
220
  | OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::OutputText
221
221
  | OpenAI::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::Content::InputImage
222
+ | OpenAI::Responses::ResponseInputAudio
222
223
  | ::Array[top]
223
224
 
224
225
  module Content
@@ -263,7 +264,7 @@ module OpenAI
263
264
 
264
265
  def self?.variants: -> ::Array[OpenAI::Models::EvalCreateParams::TestingCriterion::LabelModel::Input::EvalItem::content]
265
266
 
266
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
267
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
267
268
  end
268
269
 
269
270
  type role = :user | :assistant | :system | :developer
@@ -235,6 +235,7 @@ module OpenAI
235
235
  | OpenAI::Responses::ResponseInputText
236
236
  | OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText
237
237
  | OpenAI::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage
238
+ | OpenAI::Responses::ResponseInputAudio
238
239
  | ::Array[top]
239
240
 
240
241
  module Content
@@ -279,7 +280,7 @@ module OpenAI
279
280
 
280
281
  def self?.variants: -> ::Array[OpenAI::Models::Evals::CreateEvalCompletionsRunDataSource::InputMessages::Template::Template::EvalItem::content]
281
282
 
282
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
283
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
283
284
  end
284
285
 
285
286
  type role = :user | :assistant | :system | :developer
@@ -351,6 +351,7 @@ module OpenAI
351
351
  | OpenAI::Responses::ResponseInputText
352
352
  | OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText
353
353
  | OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage
354
+ | OpenAI::Responses::ResponseInputAudio
354
355
  | ::Array[top]
355
356
 
356
357
  module Content
@@ -402,7 +403,7 @@ module OpenAI
402
403
 
403
404
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunCancelResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::content]
404
405
 
405
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
406
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
406
407
  end
407
408
 
408
409
  type role = :user | :assistant | :system | :developer
@@ -314,6 +314,7 @@ module OpenAI
314
314
  | OpenAI::Responses::ResponseInputText
315
315
  | OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::OutputText
316
316
  | OpenAI::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::Content::InputImage
317
+ | OpenAI::Responses::ResponseInputAudio
317
318
  | ::Array[top]
318
319
 
319
320
  module Content
@@ -365,7 +366,7 @@ module OpenAI
365
366
 
366
367
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunCreateParams::DataSource::CreateEvalResponsesRunDataSource::InputMessages::Template::Template::EvalItem::content]
367
368
 
368
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
369
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
369
370
  end
370
371
 
371
372
  type role = :user | :assistant | :system | :developer
@@ -351,6 +351,7 @@ module OpenAI
351
351
  | OpenAI::Responses::ResponseInputText
352
352
  | OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText
353
353
  | OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage
354
+ | OpenAI::Responses::ResponseInputAudio
354
355
  | ::Array[top]
355
356
 
356
357
  module Content
@@ -402,7 +403,7 @@ module OpenAI
402
403
 
403
404
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunCreateResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::content]
404
405
 
405
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
406
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
406
407
  end
407
408
 
408
409
  type role = :user | :assistant | :system | :developer
@@ -351,6 +351,7 @@ module OpenAI
351
351
  | OpenAI::Responses::ResponseInputText
352
352
  | OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText
353
353
  | OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage
354
+ | OpenAI::Responses::ResponseInputAudio
354
355
  | ::Array[top]
355
356
 
356
357
  module Content
@@ -402,7 +403,7 @@ module OpenAI
402
403
 
403
404
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunListResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::content]
404
405
 
405
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
406
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
406
407
  end
407
408
 
408
409
  type role = :user | :assistant | :system | :developer
@@ -351,6 +351,7 @@ module OpenAI
351
351
  | OpenAI::Responses::ResponseInputText
352
352
  | OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::OutputText
353
353
  | OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::Content::InputImage
354
+ | OpenAI::Responses::ResponseInputAudio
354
355
  | ::Array[top]
355
356
 
356
357
  module Content
@@ -402,7 +403,7 @@ module OpenAI
402
403
 
403
404
  def self?.variants: -> ::Array[OpenAI::Models::Evals::RunRetrieveResponse::DataSource::Responses::InputMessages::Template::Template::EvalItem::content]
404
405
 
405
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
406
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
406
407
  end
407
408
 
408
409
  type role = :user | :assistant | :system | :developer
@@ -79,6 +79,7 @@ module OpenAI
79
79
  | OpenAI::Responses::ResponseInputText
80
80
  | OpenAI::Graders::LabelModelGrader::Input::Content::OutputText
81
81
  | OpenAI::Graders::LabelModelGrader::Input::Content::InputImage
82
+ | OpenAI::Responses::ResponseInputAudio
82
83
  | ::Array[top]
83
84
 
84
85
  module Content
@@ -123,7 +124,7 @@ module OpenAI
123
124
 
124
125
  def self?.variants: -> ::Array[OpenAI::Models::Graders::LabelModelGrader::Input::content]
125
126
 
126
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
127
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
127
128
  end
128
129
 
129
130
  type role = :user | :assistant | :system | :developer
@@ -83,6 +83,7 @@ module OpenAI
83
83
  | OpenAI::Responses::ResponseInputText
84
84
  | OpenAI::Graders::ScoreModelGrader::Input::Content::OutputText
85
85
  | OpenAI::Graders::ScoreModelGrader::Input::Content::InputImage
86
+ | OpenAI::Responses::ResponseInputAudio
86
87
  | ::Array[top]
87
88
 
88
89
  module Content
@@ -127,7 +128,7 @@ module OpenAI
127
128
 
128
129
  def self?.variants: -> ::Array[OpenAI::Models::Graders::ScoreModelGrader::Input::content]
129
130
 
130
- AnArrayOfInputTextAndInputImageArray: OpenAI::Internal::Type::Converter
131
+ AnArrayOfInputTextInputImageAndInputAudioArray: OpenAI::Internal::Type::Converter
131
132
  end
132
133
 
133
134
  type role = :user | :assistant | :system | :developer
@@ -0,0 +1,89 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type client_secret_create_params =
5
+ {
6
+ expires_after: OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter,
7
+ session: OpenAI::Models::Realtime::ClientSecretCreateParams::session
8
+ }
9
+ & OpenAI::Internal::Type::request_parameters
10
+
11
+ class ClientSecretCreateParams < OpenAI::Internal::Type::BaseModel
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ attr_reader expires_after: OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter?
16
+
17
+ def expires_after=: (
18
+ OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter
19
+ ) -> OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter
20
+
21
+ attr_reader session: OpenAI::Models::Realtime::ClientSecretCreateParams::session?
22
+
23
+ def session=: (
24
+ OpenAI::Models::Realtime::ClientSecretCreateParams::session
25
+ ) -> OpenAI::Models::Realtime::ClientSecretCreateParams::session
26
+
27
+ def initialize: (
28
+ ?expires_after: OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter,
29
+ ?session: OpenAI::Models::Realtime::ClientSecretCreateParams::session,
30
+ ?request_options: OpenAI::request_opts
31
+ ) -> void
32
+
33
+ def to_hash: -> {
34
+ expires_after: OpenAI::Realtime::ClientSecretCreateParams::ExpiresAfter,
35
+ session: OpenAI::Models::Realtime::ClientSecretCreateParams::session,
36
+ request_options: OpenAI::RequestOptions
37
+ }
38
+
39
+ type expires_after =
40
+ {
41
+ anchor: OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::anchor,
42
+ seconds: Integer
43
+ }
44
+
45
+ class ExpiresAfter < OpenAI::Internal::Type::BaseModel
46
+ attr_reader anchor: OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::anchor?
47
+
48
+ def anchor=: (
49
+ OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::anchor
50
+ ) -> OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::anchor
51
+
52
+ attr_reader seconds: Integer?
53
+
54
+ def seconds=: (Integer) -> Integer
55
+
56
+ def initialize: (
57
+ ?anchor: OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::anchor,
58
+ ?seconds: Integer
59
+ ) -> void
60
+
61
+ def to_hash: -> {
62
+ anchor: OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::anchor,
63
+ seconds: Integer
64
+ }
65
+
66
+ type anchor = :created_at
67
+
68
+ module Anchor
69
+ extend OpenAI::Internal::Type::Enum
70
+
71
+ CREATED_AT: :created_at
72
+
73
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::ClientSecretCreateParams::ExpiresAfter::anchor]
74
+ end
75
+ end
76
+
77
+ type session =
78
+ OpenAI::Realtime::RealtimeSessionCreateRequest
79
+ | OpenAI::Realtime::RealtimeTranscriptionSessionCreateRequest
80
+
81
+ module Session
82
+ extend OpenAI::Internal::Type::Union
83
+
84
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::ClientSecretCreateParams::session]
85
+ end
86
+ end
87
+ end
88
+ end
89
+ end