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,38 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ # A realtime client event.
7
+ module RealtimeClientEvent
8
+ extend OpenAI::Internal::Type::Union
9
+
10
+ Variants =
11
+ T.type_alias do
12
+ T.any(
13
+ OpenAI::Realtime::ConversationItemCreateEvent,
14
+ OpenAI::Realtime::ConversationItemDeleteEvent,
15
+ OpenAI::Realtime::ConversationItemRetrieveEvent,
16
+ OpenAI::Realtime::ConversationItemTruncateEvent,
17
+ OpenAI::Realtime::InputAudioBufferAppendEvent,
18
+ OpenAI::Realtime::InputAudioBufferClearEvent,
19
+ OpenAI::Realtime::OutputAudioBufferClearEvent,
20
+ OpenAI::Realtime::InputAudioBufferCommitEvent,
21
+ OpenAI::Realtime::ResponseCancelEvent,
22
+ OpenAI::Realtime::ResponseCreateEvent,
23
+ OpenAI::Realtime::SessionUpdateEvent,
24
+ OpenAI::Realtime::TranscriptionSessionUpdate
25
+ )
26
+ end
27
+
28
+ sig do
29
+ override.returns(
30
+ T::Array[OpenAI::Realtime::RealtimeClientEvent::Variants]
31
+ )
32
+ end
33
+ def self.variants
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -0,0 +1,147 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class RealtimeClientSecretConfig < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Realtime::RealtimeClientSecretConfig,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # Configuration for the ephemeral token expiration.
16
+ sig do
17
+ returns(
18
+ T.nilable(
19
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter
20
+ )
21
+ )
22
+ end
23
+ attr_reader :expires_after
24
+
25
+ sig do
26
+ params(
27
+ expires_after:
28
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter::OrHash
29
+ ).void
30
+ end
31
+ attr_writer :expires_after
32
+
33
+ # Configuration options for the generated client secret.
34
+ sig do
35
+ params(
36
+ expires_after:
37
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # Configuration for the ephemeral token expiration.
42
+ expires_after: nil
43
+ )
44
+ end
45
+
46
+ sig do
47
+ override.returns(
48
+ {
49
+ expires_after:
50
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter
51
+ }
52
+ )
53
+ end
54
+ def to_hash
55
+ end
56
+
57
+ class ExpiresAfter < OpenAI::Internal::Type::BaseModel
58
+ OrHash =
59
+ T.type_alias do
60
+ T.any(
61
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter,
62
+ OpenAI::Internal::AnyHash
63
+ )
64
+ end
65
+
66
+ # The anchor point for the ephemeral token expiration. Only `created_at` is
67
+ # currently supported.
68
+ sig do
69
+ returns(
70
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter::Anchor::OrSymbol
71
+ )
72
+ end
73
+ attr_accessor :anchor
74
+
75
+ # The number of seconds from the anchor point to the expiration. Select a value
76
+ # between `10` and `7200`.
77
+ sig { returns(T.nilable(Integer)) }
78
+ attr_reader :seconds
79
+
80
+ sig { params(seconds: Integer).void }
81
+ attr_writer :seconds
82
+
83
+ # Configuration for the ephemeral token expiration.
84
+ sig do
85
+ params(
86
+ anchor:
87
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter::Anchor::OrSymbol,
88
+ seconds: Integer
89
+ ).returns(T.attached_class)
90
+ end
91
+ def self.new(
92
+ # The anchor point for the ephemeral token expiration. Only `created_at` is
93
+ # currently supported.
94
+ anchor:,
95
+ # The number of seconds from the anchor point to the expiration. Select a value
96
+ # between `10` and `7200`.
97
+ seconds: nil
98
+ )
99
+ end
100
+
101
+ sig do
102
+ override.returns(
103
+ {
104
+ anchor:
105
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter::Anchor::OrSymbol,
106
+ seconds: Integer
107
+ }
108
+ )
109
+ end
110
+ def to_hash
111
+ end
112
+
113
+ # The anchor point for the ephemeral token expiration. Only `created_at` is
114
+ # currently supported.
115
+ module Anchor
116
+ extend OpenAI::Internal::Type::Enum
117
+
118
+ TaggedSymbol =
119
+ T.type_alias do
120
+ T.all(
121
+ Symbol,
122
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter::Anchor
123
+ )
124
+ end
125
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
126
+
127
+ CREATED_AT =
128
+ T.let(
129
+ :created_at,
130
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter::Anchor::TaggedSymbol
131
+ )
132
+
133
+ sig do
134
+ override.returns(
135
+ T::Array[
136
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter::Anchor::TaggedSymbol
137
+ ]
138
+ )
139
+ end
140
+ def self.values
141
+ end
142
+ end
143
+ end
144
+ end
145
+ end
146
+ end
147
+ end
@@ -0,0 +1,292 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class RealtimeConversationItemAssistantMessage < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The content of the message.
16
+ sig do
17
+ returns(
18
+ T::Array[
19
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content
20
+ ]
21
+ )
22
+ end
23
+ attr_accessor :content
24
+
25
+ # The role of the message sender. Always `assistant`.
26
+ sig { returns(Symbol) }
27
+ attr_accessor :role
28
+
29
+ # The type of the item. Always `message`.
30
+ sig { returns(Symbol) }
31
+ attr_accessor :type
32
+
33
+ # The unique ID of the item.
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :id
36
+
37
+ sig { params(id: String).void }
38
+ attr_writer :id
39
+
40
+ # Identifier for the API object being returned - always `realtime.item`.
41
+ sig do
42
+ returns(
43
+ T.nilable(
44
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Object::OrSymbol
45
+ )
46
+ )
47
+ end
48
+ attr_reader :object
49
+
50
+ sig do
51
+ params(
52
+ object:
53
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Object::OrSymbol
54
+ ).void
55
+ end
56
+ attr_writer :object
57
+
58
+ # The status of the item. Has no effect on the conversation.
59
+ sig do
60
+ returns(
61
+ T.nilable(
62
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status::OrSymbol
63
+ )
64
+ )
65
+ end
66
+ attr_reader :status
67
+
68
+ sig do
69
+ params(
70
+ status:
71
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status::OrSymbol
72
+ ).void
73
+ end
74
+ attr_writer :status
75
+
76
+ # An assistant message item in a Realtime conversation.
77
+ sig do
78
+ params(
79
+ content:
80
+ T::Array[
81
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content::OrHash
82
+ ],
83
+ id: String,
84
+ object:
85
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Object::OrSymbol,
86
+ status:
87
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status::OrSymbol,
88
+ role: Symbol,
89
+ type: Symbol
90
+ ).returns(T.attached_class)
91
+ end
92
+ def self.new(
93
+ # The content of the message.
94
+ content:,
95
+ # The unique ID of the item.
96
+ id: nil,
97
+ # Identifier for the API object being returned - always `realtime.item`.
98
+ object: nil,
99
+ # The status of the item. Has no effect on the conversation.
100
+ status: nil,
101
+ # The role of the message sender. Always `assistant`.
102
+ role: :assistant,
103
+ # The type of the item. Always `message`.
104
+ type: :message
105
+ )
106
+ end
107
+
108
+ sig do
109
+ override.returns(
110
+ {
111
+ content:
112
+ T::Array[
113
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content
114
+ ],
115
+ role: Symbol,
116
+ type: Symbol,
117
+ id: String,
118
+ object:
119
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Object::OrSymbol,
120
+ status:
121
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status::OrSymbol
122
+ }
123
+ )
124
+ end
125
+ def to_hash
126
+ end
127
+
128
+ class Content < OpenAI::Internal::Type::BaseModel
129
+ OrHash =
130
+ T.type_alias do
131
+ T.any(
132
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content,
133
+ OpenAI::Internal::AnyHash
134
+ )
135
+ end
136
+
137
+ # The text content.
138
+ sig { returns(T.nilable(String)) }
139
+ attr_reader :text
140
+
141
+ sig { params(text: String).void }
142
+ attr_writer :text
143
+
144
+ # The content type. Always `text` for assistant messages.
145
+ sig do
146
+ returns(
147
+ T.nilable(
148
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content::Type::OrSymbol
149
+ )
150
+ )
151
+ end
152
+ attr_reader :type
153
+
154
+ sig do
155
+ params(
156
+ type:
157
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content::Type::OrSymbol
158
+ ).void
159
+ end
160
+ attr_writer :type
161
+
162
+ sig do
163
+ params(
164
+ text: String,
165
+ type:
166
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content::Type::OrSymbol
167
+ ).returns(T.attached_class)
168
+ end
169
+ def self.new(
170
+ # The text content.
171
+ text: nil,
172
+ # The content type. Always `text` for assistant messages.
173
+ type: nil
174
+ )
175
+ end
176
+
177
+ sig do
178
+ override.returns(
179
+ {
180
+ text: String,
181
+ type:
182
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content::Type::OrSymbol
183
+ }
184
+ )
185
+ end
186
+ def to_hash
187
+ end
188
+
189
+ # The content type. Always `text` for assistant messages.
190
+ module Type
191
+ extend OpenAI::Internal::Type::Enum
192
+
193
+ TaggedSymbol =
194
+ T.type_alias do
195
+ T.all(
196
+ Symbol,
197
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content::Type
198
+ )
199
+ end
200
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
201
+
202
+ TEXT =
203
+ T.let(
204
+ :text,
205
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content::Type::TaggedSymbol
206
+ )
207
+
208
+ sig do
209
+ override.returns(
210
+ T::Array[
211
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content::Type::TaggedSymbol
212
+ ]
213
+ )
214
+ end
215
+ def self.values
216
+ end
217
+ end
218
+ end
219
+
220
+ # Identifier for the API object being returned - always `realtime.item`.
221
+ module Object
222
+ extend OpenAI::Internal::Type::Enum
223
+
224
+ TaggedSymbol =
225
+ T.type_alias do
226
+ T.all(
227
+ Symbol,
228
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Object
229
+ )
230
+ end
231
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
232
+
233
+ REALTIME_ITEM =
234
+ T.let(
235
+ :"realtime.item",
236
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Object::TaggedSymbol
237
+ )
238
+
239
+ sig do
240
+ override.returns(
241
+ T::Array[
242
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Object::TaggedSymbol
243
+ ]
244
+ )
245
+ end
246
+ def self.values
247
+ end
248
+ end
249
+
250
+ # The status of the item. Has no effect on the conversation.
251
+ module Status
252
+ extend OpenAI::Internal::Type::Enum
253
+
254
+ TaggedSymbol =
255
+ T.type_alias do
256
+ T.all(
257
+ Symbol,
258
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status
259
+ )
260
+ end
261
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
262
+
263
+ COMPLETED =
264
+ T.let(
265
+ :completed,
266
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status::TaggedSymbol
267
+ )
268
+ INCOMPLETE =
269
+ T.let(
270
+ :incomplete,
271
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status::TaggedSymbol
272
+ )
273
+ IN_PROGRESS =
274
+ T.let(
275
+ :in_progress,
276
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status::TaggedSymbol
277
+ )
278
+
279
+ sig do
280
+ override.returns(
281
+ T::Array[
282
+ OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Status::TaggedSymbol
283
+ ]
284
+ )
285
+ end
286
+ def self.values
287
+ end
288
+ end
289
+ end
290
+ end
291
+ end
292
+ end
@@ -0,0 +1,199 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ class RealtimeConversationItemFunctionCall < OpenAI::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall,
11
+ OpenAI::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The arguments of the function call.
16
+ sig { returns(String) }
17
+ attr_accessor :arguments
18
+
19
+ # The name of the function being called.
20
+ sig { returns(String) }
21
+ attr_accessor :name
22
+
23
+ # The type of the item. Always `function_call`.
24
+ sig { returns(Symbol) }
25
+ attr_accessor :type
26
+
27
+ # The unique ID of the item.
28
+ sig { returns(T.nilable(String)) }
29
+ attr_reader :id
30
+
31
+ sig { params(id: String).void }
32
+ attr_writer :id
33
+
34
+ # The ID of the function call.
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :call_id
37
+
38
+ sig { params(call_id: String).void }
39
+ attr_writer :call_id
40
+
41
+ # Identifier for the API object being returned - always `realtime.item`.
42
+ sig do
43
+ returns(
44
+ T.nilable(
45
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Object::OrSymbol
46
+ )
47
+ )
48
+ end
49
+ attr_reader :object
50
+
51
+ sig do
52
+ params(
53
+ object:
54
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Object::OrSymbol
55
+ ).void
56
+ end
57
+ attr_writer :object
58
+
59
+ # The status of the item. Has no effect on the conversation.
60
+ sig do
61
+ returns(
62
+ T.nilable(
63
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status::OrSymbol
64
+ )
65
+ )
66
+ end
67
+ attr_reader :status
68
+
69
+ sig do
70
+ params(
71
+ status:
72
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status::OrSymbol
73
+ ).void
74
+ end
75
+ attr_writer :status
76
+
77
+ # A function call item in a Realtime conversation.
78
+ sig do
79
+ params(
80
+ arguments: String,
81
+ name: String,
82
+ id: String,
83
+ call_id: String,
84
+ object:
85
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Object::OrSymbol,
86
+ status:
87
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status::OrSymbol,
88
+ type: Symbol
89
+ ).returns(T.attached_class)
90
+ end
91
+ def self.new(
92
+ # The arguments of the function call.
93
+ arguments:,
94
+ # The name of the function being called.
95
+ name:,
96
+ # The unique ID of the item.
97
+ id: nil,
98
+ # The ID of the function call.
99
+ call_id: nil,
100
+ # Identifier for the API object being returned - always `realtime.item`.
101
+ object: nil,
102
+ # The status of the item. Has no effect on the conversation.
103
+ status: nil,
104
+ # The type of the item. Always `function_call`.
105
+ type: :function_call
106
+ )
107
+ end
108
+
109
+ sig do
110
+ override.returns(
111
+ {
112
+ arguments: String,
113
+ name: String,
114
+ type: Symbol,
115
+ id: String,
116
+ call_id: String,
117
+ object:
118
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Object::OrSymbol,
119
+ status:
120
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status::OrSymbol
121
+ }
122
+ )
123
+ end
124
+ def to_hash
125
+ end
126
+
127
+ # Identifier for the API object being returned - always `realtime.item`.
128
+ module Object
129
+ extend OpenAI::Internal::Type::Enum
130
+
131
+ TaggedSymbol =
132
+ T.type_alias do
133
+ T.all(
134
+ Symbol,
135
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Object
136
+ )
137
+ end
138
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
139
+
140
+ REALTIME_ITEM =
141
+ T.let(
142
+ :"realtime.item",
143
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Object::TaggedSymbol
144
+ )
145
+
146
+ sig do
147
+ override.returns(
148
+ T::Array[
149
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Object::TaggedSymbol
150
+ ]
151
+ )
152
+ end
153
+ def self.values
154
+ end
155
+ end
156
+
157
+ # The status of the item. Has no effect on the conversation.
158
+ module Status
159
+ extend OpenAI::Internal::Type::Enum
160
+
161
+ TaggedSymbol =
162
+ T.type_alias do
163
+ T.all(
164
+ Symbol,
165
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status
166
+ )
167
+ end
168
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
169
+
170
+ COMPLETED =
171
+ T.let(
172
+ :completed,
173
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status::TaggedSymbol
174
+ )
175
+ INCOMPLETE =
176
+ T.let(
177
+ :incomplete,
178
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status::TaggedSymbol
179
+ )
180
+ IN_PROGRESS =
181
+ T.let(
182
+ :in_progress,
183
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status::TaggedSymbol
184
+ )
185
+
186
+ sig do
187
+ override.returns(
188
+ T::Array[
189
+ OpenAI::Realtime::RealtimeConversationItemFunctionCall::Status::TaggedSymbol
190
+ ]
191
+ )
192
+ end
193
+ def self.values
194
+ end
195
+ end
196
+ end
197
+ end
198
+ end
199
+ end