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,354 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_audio_config =
5
+ {
6
+ input: OpenAI::Realtime::RealtimeAudioConfig::Input,
7
+ output: OpenAI::Realtime::RealtimeAudioConfig::Output
8
+ }
9
+
10
+ class RealtimeAudioConfig < OpenAI::Internal::Type::BaseModel
11
+ attr_reader input: OpenAI::Realtime::RealtimeAudioConfig::Input?
12
+
13
+ def input=: (
14
+ OpenAI::Realtime::RealtimeAudioConfig::Input
15
+ ) -> OpenAI::Realtime::RealtimeAudioConfig::Input
16
+
17
+ attr_reader output: OpenAI::Realtime::RealtimeAudioConfig::Output?
18
+
19
+ def output=: (
20
+ OpenAI::Realtime::RealtimeAudioConfig::Output
21
+ ) -> OpenAI::Realtime::RealtimeAudioConfig::Output
22
+
23
+ def initialize: (
24
+ ?input: OpenAI::Realtime::RealtimeAudioConfig::Input,
25
+ ?output: OpenAI::Realtime::RealtimeAudioConfig::Output
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ input: OpenAI::Realtime::RealtimeAudioConfig::Input,
30
+ output: OpenAI::Realtime::RealtimeAudioConfig::Output
31
+ }
32
+
33
+ type input =
34
+ {
35
+ format_: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::format_,
36
+ noise_reduction: OpenAI::Realtime::RealtimeAudioConfig::Input::NoiseReduction,
37
+ transcription: OpenAI::Realtime::RealtimeAudioConfig::Input::Transcription,
38
+ turn_detection: OpenAI::Realtime::RealtimeAudioConfig::Input::TurnDetection
39
+ }
40
+
41
+ class Input < OpenAI::Internal::Type::BaseModel
42
+ attr_reader format_: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::format_?
43
+
44
+ def format_=: (
45
+ OpenAI::Models::Realtime::RealtimeAudioConfig::Input::format_
46
+ ) -> OpenAI::Models::Realtime::RealtimeAudioConfig::Input::format_
47
+
48
+ attr_reader noise_reduction: OpenAI::Realtime::RealtimeAudioConfig::Input::NoiseReduction?
49
+
50
+ def noise_reduction=: (
51
+ OpenAI::Realtime::RealtimeAudioConfig::Input::NoiseReduction
52
+ ) -> OpenAI::Realtime::RealtimeAudioConfig::Input::NoiseReduction
53
+
54
+ attr_reader transcription: OpenAI::Realtime::RealtimeAudioConfig::Input::Transcription?
55
+
56
+ def transcription=: (
57
+ OpenAI::Realtime::RealtimeAudioConfig::Input::Transcription
58
+ ) -> OpenAI::Realtime::RealtimeAudioConfig::Input::Transcription
59
+
60
+ attr_reader turn_detection: OpenAI::Realtime::RealtimeAudioConfig::Input::TurnDetection?
61
+
62
+ def turn_detection=: (
63
+ OpenAI::Realtime::RealtimeAudioConfig::Input::TurnDetection
64
+ ) -> OpenAI::Realtime::RealtimeAudioConfig::Input::TurnDetection
65
+
66
+ def initialize: (
67
+ ?format_: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::format_,
68
+ ?noise_reduction: OpenAI::Realtime::RealtimeAudioConfig::Input::NoiseReduction,
69
+ ?transcription: OpenAI::Realtime::RealtimeAudioConfig::Input::Transcription,
70
+ ?turn_detection: OpenAI::Realtime::RealtimeAudioConfig::Input::TurnDetection
71
+ ) -> void
72
+
73
+ def to_hash: -> {
74
+ format_: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::format_,
75
+ noise_reduction: OpenAI::Realtime::RealtimeAudioConfig::Input::NoiseReduction,
76
+ transcription: OpenAI::Realtime::RealtimeAudioConfig::Input::Transcription,
77
+ turn_detection: OpenAI::Realtime::RealtimeAudioConfig::Input::TurnDetection
78
+ }
79
+
80
+ type format_ = :pcm16 | :g711_ulaw | :g711_alaw
81
+
82
+ module Format
83
+ extend OpenAI::Internal::Type::Enum
84
+
85
+ PCM16: :pcm16
86
+ G711_ULAW: :g711_ulaw
87
+ G711_ALAW: :g711_alaw
88
+
89
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeAudioConfig::Input::format_]
90
+ end
91
+
92
+ type noise_reduction =
93
+ {
94
+ type: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::NoiseReduction::type_
95
+ }
96
+
97
+ class NoiseReduction < OpenAI::Internal::Type::BaseModel
98
+ attr_reader type: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::NoiseReduction::type_?
99
+
100
+ def type=: (
101
+ OpenAI::Models::Realtime::RealtimeAudioConfig::Input::NoiseReduction::type_
102
+ ) -> OpenAI::Models::Realtime::RealtimeAudioConfig::Input::NoiseReduction::type_
103
+
104
+ def initialize: (
105
+ ?type: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::NoiseReduction::type_
106
+ ) -> void
107
+
108
+ def to_hash: -> {
109
+ type: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::NoiseReduction::type_
110
+ }
111
+
112
+ type type_ = :near_field | :far_field
113
+
114
+ module Type
115
+ extend OpenAI::Internal::Type::Enum
116
+
117
+ NEAR_FIELD: :near_field
118
+ FAR_FIELD: :far_field
119
+
120
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeAudioConfig::Input::NoiseReduction::type_]
121
+ end
122
+ end
123
+
124
+ type transcription =
125
+ {
126
+ language: String,
127
+ model: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::Transcription::model,
128
+ prompt: String
129
+ }
130
+
131
+ class Transcription < OpenAI::Internal::Type::BaseModel
132
+ attr_reader language: String?
133
+
134
+ def language=: (String) -> String
135
+
136
+ attr_reader model: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::Transcription::model?
137
+
138
+ def model=: (
139
+ OpenAI::Models::Realtime::RealtimeAudioConfig::Input::Transcription::model
140
+ ) -> OpenAI::Models::Realtime::RealtimeAudioConfig::Input::Transcription::model
141
+
142
+ attr_reader prompt: String?
143
+
144
+ def prompt=: (String) -> String
145
+
146
+ def initialize: (
147
+ ?language: String,
148
+ ?model: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::Transcription::model,
149
+ ?prompt: String
150
+ ) -> void
151
+
152
+ def to_hash: -> {
153
+ language: String,
154
+ model: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::Transcription::model,
155
+ prompt: String
156
+ }
157
+
158
+ type model =
159
+ :"whisper-1"
160
+ | :"gpt-4o-transcribe-latest"
161
+ | :"gpt-4o-mini-transcribe"
162
+ | :"gpt-4o-transcribe"
163
+ | :"gpt-4o-transcribe-diarize"
164
+
165
+ module Model
166
+ extend OpenAI::Internal::Type::Enum
167
+
168
+ WHISPER_1: :"whisper-1"
169
+ GPT_4O_TRANSCRIBE_LATEST: :"gpt-4o-transcribe-latest"
170
+ GPT_4O_MINI_TRANSCRIBE: :"gpt-4o-mini-transcribe"
171
+ GPT_4O_TRANSCRIBE: :"gpt-4o-transcribe"
172
+ GPT_4O_TRANSCRIBE_DIARIZE: :"gpt-4o-transcribe-diarize"
173
+
174
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeAudioConfig::Input::Transcription::model]
175
+ end
176
+ end
177
+
178
+ type turn_detection =
179
+ {
180
+ create_response: bool,
181
+ eagerness: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::eagerness,
182
+ idle_timeout_ms: Integer?,
183
+ interrupt_response: bool,
184
+ prefix_padding_ms: Integer,
185
+ silence_duration_ms: Integer,
186
+ threshold: Float,
187
+ type: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::type_
188
+ }
189
+
190
+ class TurnDetection < OpenAI::Internal::Type::BaseModel
191
+ attr_reader create_response: bool?
192
+
193
+ def create_response=: (bool) -> bool
194
+
195
+ attr_reader eagerness: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::eagerness?
196
+
197
+ def eagerness=: (
198
+ OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::eagerness
199
+ ) -> OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::eagerness
200
+
201
+ attr_accessor idle_timeout_ms: Integer?
202
+
203
+ attr_reader interrupt_response: bool?
204
+
205
+ def interrupt_response=: (bool) -> bool
206
+
207
+ attr_reader prefix_padding_ms: Integer?
208
+
209
+ def prefix_padding_ms=: (Integer) -> Integer
210
+
211
+ attr_reader silence_duration_ms: Integer?
212
+
213
+ def silence_duration_ms=: (Integer) -> Integer
214
+
215
+ attr_reader threshold: Float?
216
+
217
+ def threshold=: (Float) -> Float
218
+
219
+ attr_reader type: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::type_?
220
+
221
+ def type=: (
222
+ OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::type_
223
+ ) -> OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::type_
224
+
225
+ def initialize: (
226
+ ?create_response: bool,
227
+ ?eagerness: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::eagerness,
228
+ ?idle_timeout_ms: Integer?,
229
+ ?interrupt_response: bool,
230
+ ?prefix_padding_ms: Integer,
231
+ ?silence_duration_ms: Integer,
232
+ ?threshold: Float,
233
+ ?type: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::type_
234
+ ) -> void
235
+
236
+ def to_hash: -> {
237
+ create_response: bool,
238
+ eagerness: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::eagerness,
239
+ idle_timeout_ms: Integer?,
240
+ interrupt_response: bool,
241
+ prefix_padding_ms: Integer,
242
+ silence_duration_ms: Integer,
243
+ threshold: Float,
244
+ type: OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::type_
245
+ }
246
+
247
+ type eagerness = :low | :medium | :high | :auto
248
+
249
+ module Eagerness
250
+ extend OpenAI::Internal::Type::Enum
251
+
252
+ LOW: :low
253
+ MEDIUM: :medium
254
+ HIGH: :high
255
+ AUTO: :auto
256
+
257
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::eagerness]
258
+ end
259
+
260
+ type type_ = :server_vad | :semantic_vad
261
+
262
+ module Type
263
+ extend OpenAI::Internal::Type::Enum
264
+
265
+ SERVER_VAD: :server_vad
266
+ SEMANTIC_VAD: :semantic_vad
267
+
268
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeAudioConfig::Input::TurnDetection::type_]
269
+ end
270
+ end
271
+ end
272
+
273
+ type output =
274
+ {
275
+ format_: OpenAI::Models::Realtime::RealtimeAudioConfig::Output::format_,
276
+ speed: Float,
277
+ voice: OpenAI::Models::Realtime::RealtimeAudioConfig::Output::voice
278
+ }
279
+
280
+ class Output < OpenAI::Internal::Type::BaseModel
281
+ attr_reader format_: OpenAI::Models::Realtime::RealtimeAudioConfig::Output::format_?
282
+
283
+ def format_=: (
284
+ OpenAI::Models::Realtime::RealtimeAudioConfig::Output::format_
285
+ ) -> OpenAI::Models::Realtime::RealtimeAudioConfig::Output::format_
286
+
287
+ attr_reader speed: Float?
288
+
289
+ def speed=: (Float) -> Float
290
+
291
+ attr_reader voice: OpenAI::Models::Realtime::RealtimeAudioConfig::Output::voice?
292
+
293
+ def voice=: (
294
+ OpenAI::Models::Realtime::RealtimeAudioConfig::Output::voice
295
+ ) -> OpenAI::Models::Realtime::RealtimeAudioConfig::Output::voice
296
+
297
+ def initialize: (
298
+ ?format_: OpenAI::Models::Realtime::RealtimeAudioConfig::Output::format_,
299
+ ?speed: Float,
300
+ ?voice: OpenAI::Models::Realtime::RealtimeAudioConfig::Output::voice
301
+ ) -> void
302
+
303
+ def to_hash: -> {
304
+ format_: OpenAI::Models::Realtime::RealtimeAudioConfig::Output::format_,
305
+ speed: Float,
306
+ voice: OpenAI::Models::Realtime::RealtimeAudioConfig::Output::voice
307
+ }
308
+
309
+ type format_ = :pcm16 | :g711_ulaw | :g711_alaw
310
+
311
+ module Format
312
+ extend OpenAI::Internal::Type::Enum
313
+
314
+ PCM16: :pcm16
315
+ G711_ULAW: :g711_ulaw
316
+ G711_ALAW: :g711_alaw
317
+
318
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeAudioConfig::Output::format_]
319
+ end
320
+
321
+ type voice =
322
+ String
323
+ | :alloy
324
+ | :ash
325
+ | :ballad
326
+ | :coral
327
+ | :echo
328
+ | :sage
329
+ | :shimmer
330
+ | :verse
331
+ | :marin
332
+ | :cedar
333
+
334
+ module Voice
335
+ extend OpenAI::Internal::Type::Union
336
+
337
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::RealtimeAudioConfig::Output::voice]
338
+
339
+ ALLOY: :alloy
340
+ ASH: :ash
341
+ BALLAD: :ballad
342
+ CORAL: :coral
343
+ ECHO: :echo
344
+ SAGE: :sage
345
+ SHIMMER: :shimmer
346
+ VERSE: :verse
347
+ MARIN: :marin
348
+ CEDAR: :cedar
349
+ end
350
+ end
351
+ end
352
+ end
353
+ end
354
+ end
@@ -0,0 +1,25 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_client_event =
5
+ OpenAI::Realtime::ConversationItemCreateEvent
6
+ | OpenAI::Realtime::ConversationItemDeleteEvent
7
+ | OpenAI::Realtime::ConversationItemRetrieveEvent
8
+ | OpenAI::Realtime::ConversationItemTruncateEvent
9
+ | OpenAI::Realtime::InputAudioBufferAppendEvent
10
+ | OpenAI::Realtime::InputAudioBufferClearEvent
11
+ | OpenAI::Realtime::OutputAudioBufferClearEvent
12
+ | OpenAI::Realtime::InputAudioBufferCommitEvent
13
+ | OpenAI::Realtime::ResponseCancelEvent
14
+ | OpenAI::Realtime::ResponseCreateEvent
15
+ | OpenAI::Realtime::SessionUpdateEvent
16
+ | OpenAI::Realtime::TranscriptionSessionUpdate
17
+
18
+ module RealtimeClientEvent
19
+ extend OpenAI::Internal::Type::Union
20
+
21
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::realtime_client_event]
22
+ end
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,60 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_client_secret_config =
5
+ {
6
+ expires_after: OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter
7
+ }
8
+
9
+ class RealtimeClientSecretConfig < OpenAI::Internal::Type::BaseModel
10
+ attr_reader expires_after: OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter?
11
+
12
+ def expires_after=: (
13
+ OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter
14
+ ) -> OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter
15
+
16
+ def initialize: (
17
+ ?expires_after: OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter
18
+ ) -> void
19
+
20
+ def to_hash: -> {
21
+ expires_after: OpenAI::Realtime::RealtimeClientSecretConfig::ExpiresAfter
22
+ }
23
+
24
+ type expires_after =
25
+ {
26
+ anchor: OpenAI::Models::Realtime::RealtimeClientSecretConfig::ExpiresAfter::anchor,
27
+ seconds: Integer
28
+ }
29
+
30
+ class ExpiresAfter < OpenAI::Internal::Type::BaseModel
31
+ attr_accessor anchor: OpenAI::Models::Realtime::RealtimeClientSecretConfig::ExpiresAfter::anchor
32
+
33
+ attr_reader seconds: Integer?
34
+
35
+ def seconds=: (Integer) -> Integer
36
+
37
+ def initialize: (
38
+ anchor: OpenAI::Models::Realtime::RealtimeClientSecretConfig::ExpiresAfter::anchor,
39
+ ?seconds: Integer
40
+ ) -> void
41
+
42
+ def to_hash: -> {
43
+ anchor: OpenAI::Models::Realtime::RealtimeClientSecretConfig::ExpiresAfter::anchor,
44
+ seconds: Integer
45
+ }
46
+
47
+ type anchor = :created_at
48
+
49
+ module Anchor
50
+ extend OpenAI::Internal::Type::Enum
51
+
52
+ CREATED_AT: :created_at
53
+
54
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeClientSecretConfig::ExpiresAfter::anchor]
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
60
+ end
@@ -0,0 +1,117 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_conversation_item_assistant_message =
5
+ {
6
+ content: ::Array[OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content],
7
+ role: :assistant,
8
+ type: :message,
9
+ id: String,
10
+ object: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::object,
11
+ status: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::status
12
+ }
13
+
14
+ class RealtimeConversationItemAssistantMessage < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor content: ::Array[OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content]
16
+
17
+ attr_accessor role: :assistant
18
+
19
+ attr_accessor type: :message
20
+
21
+ attr_reader id: String?
22
+
23
+ def id=: (String) -> String
24
+
25
+ attr_reader object: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::object?
26
+
27
+ def object=: (
28
+ OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::object
29
+ ) -> OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::object
30
+
31
+ attr_reader status: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::status?
32
+
33
+ def status=: (
34
+ OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::status
35
+ ) -> OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::status
36
+
37
+ def initialize: (
38
+ content: ::Array[OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content],
39
+ ?id: String,
40
+ ?object: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::object,
41
+ ?status: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::status,
42
+ ?role: :assistant,
43
+ ?type: :message
44
+ ) -> void
45
+
46
+ def to_hash: -> {
47
+ content: ::Array[OpenAI::Realtime::RealtimeConversationItemAssistantMessage::Content],
48
+ role: :assistant,
49
+ type: :message,
50
+ id: String,
51
+ object: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::object,
52
+ status: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::status
53
+ }
54
+
55
+ type content =
56
+ {
57
+ text: String,
58
+ type: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::Content::type_
59
+ }
60
+
61
+ class Content < OpenAI::Internal::Type::BaseModel
62
+ attr_reader text: String?
63
+
64
+ def text=: (String) -> String
65
+
66
+ attr_reader type: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::Content::type_?
67
+
68
+ def type=: (
69
+ OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::Content::type_
70
+ ) -> OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::Content::type_
71
+
72
+ def initialize: (
73
+ ?text: String,
74
+ ?type: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::Content::type_
75
+ ) -> void
76
+
77
+ def to_hash: -> {
78
+ text: String,
79
+ type: OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::Content::type_
80
+ }
81
+
82
+ type type_ = :text
83
+
84
+ module Type
85
+ extend OpenAI::Internal::Type::Enum
86
+
87
+ TEXT: :text
88
+
89
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::Content::type_]
90
+ end
91
+ end
92
+
93
+ type object = :"realtime.item"
94
+
95
+ module Object
96
+ extend OpenAI::Internal::Type::Enum
97
+
98
+ REALTIME_ITEM: :"realtime.item"
99
+
100
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::object]
101
+ end
102
+
103
+ type status = :completed | :incomplete | :in_progress
104
+
105
+ module Status
106
+ extend OpenAI::Internal::Type::Enum
107
+
108
+ COMPLETED: :completed
109
+ INCOMPLETE: :incomplete
110
+ IN_PROGRESS: :in_progress
111
+
112
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage::status]
113
+ end
114
+ end
115
+ end
116
+ end
117
+ end
@@ -0,0 +1,86 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type realtime_conversation_item_function_call =
5
+ {
6
+ arguments: String,
7
+ name: String,
8
+ type: :function_call,
9
+ id: String,
10
+ call_id: String,
11
+ object: OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::object,
12
+ status: OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::status
13
+ }
14
+
15
+ class RealtimeConversationItemFunctionCall < OpenAI::Internal::Type::BaseModel
16
+ attr_accessor arguments: String
17
+
18
+ attr_accessor name: String
19
+
20
+ attr_accessor type: :function_call
21
+
22
+ attr_reader id: String?
23
+
24
+ def id=: (String) -> String
25
+
26
+ attr_reader call_id: String?
27
+
28
+ def call_id=: (String) -> String
29
+
30
+ attr_reader object: OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::object?
31
+
32
+ def object=: (
33
+ OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::object
34
+ ) -> OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::object
35
+
36
+ attr_reader status: OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::status?
37
+
38
+ def status=: (
39
+ OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::status
40
+ ) -> OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::status
41
+
42
+ def initialize: (
43
+ arguments: String,
44
+ name: String,
45
+ ?id: String,
46
+ ?call_id: String,
47
+ ?object: OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::object,
48
+ ?status: OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::status,
49
+ ?type: :function_call
50
+ ) -> void
51
+
52
+ def to_hash: -> {
53
+ arguments: String,
54
+ name: String,
55
+ type: :function_call,
56
+ id: String,
57
+ call_id: String,
58
+ object: OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::object,
59
+ status: OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::status
60
+ }
61
+
62
+ type object = :"realtime.item"
63
+
64
+ module Object
65
+ extend OpenAI::Internal::Type::Enum
66
+
67
+ REALTIME_ITEM: :"realtime.item"
68
+
69
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::object]
70
+ end
71
+
72
+ type status = :completed | :incomplete | :in_progress
73
+
74
+ module Status
75
+ extend OpenAI::Internal::Type::Enum
76
+
77
+ COMPLETED: :completed
78
+ INCOMPLETE: :incomplete
79
+ IN_PROGRESS: :in_progress
80
+
81
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall::status]
82
+ end
83
+ end
84
+ end
85
+ end
86
+ end