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,37 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_done =
5
+ {
6
+ event_id: String,
7
+ item: OpenAI::Models::Realtime::conversation_item,
8
+ type: :"conversation.item.done",
9
+ previous_item_id: String?
10
+ }
11
+
12
+ class ConversationItemDone < OpenAI::Internal::Type::BaseModel
13
+ attr_accessor event_id: String
14
+
15
+ attr_accessor item: OpenAI::Models::Realtime::conversation_item
16
+
17
+ attr_accessor type: :"conversation.item.done"
18
+
19
+ attr_accessor previous_item_id: String?
20
+
21
+ def initialize: (
22
+ event_id: String,
23
+ item: OpenAI::Models::Realtime::conversation_item,
24
+ ?previous_item_id: String?,
25
+ ?type: :"conversation.item.done"
26
+ ) -> void
27
+
28
+ def to_hash: -> {
29
+ event_id: String,
30
+ item: OpenAI::Models::Realtime::conversation_item,
31
+ type: :"conversation.item.done",
32
+ previous_item_id: String?
33
+ }
34
+ end
35
+ end
36
+ end
37
+ end
@@ -0,0 +1,136 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_input_audio_transcription_completed_event =
5
+ {
6
+ content_index: Integer,
7
+ event_id: String,
8
+ item_id: String,
9
+ transcript: String,
10
+ type: :"conversation.item.input_audio_transcription.completed",
11
+ usage: OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::usage,
12
+ logprobs: ::Array[OpenAI::Realtime::LogProbProperties]?
13
+ }
14
+
15
+ class ConversationItemInputAudioTranscriptionCompletedEvent < OpenAI::Internal::Type::BaseModel
16
+ attr_accessor content_index: Integer
17
+
18
+ attr_accessor event_id: String
19
+
20
+ attr_accessor item_id: String
21
+
22
+ attr_accessor transcript: String
23
+
24
+ attr_accessor type: :"conversation.item.input_audio_transcription.completed"
25
+
26
+ attr_accessor usage: OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::usage
27
+
28
+ attr_accessor logprobs: ::Array[OpenAI::Realtime::LogProbProperties]?
29
+
30
+ def initialize: (
31
+ content_index: Integer,
32
+ event_id: String,
33
+ item_id: String,
34
+ transcript: String,
35
+ usage: OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::usage,
36
+ ?logprobs: ::Array[OpenAI::Realtime::LogProbProperties]?,
37
+ ?type: :"conversation.item.input_audio_transcription.completed"
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ content_index: Integer,
42
+ event_id: String,
43
+ item_id: String,
44
+ transcript: String,
45
+ type: :"conversation.item.input_audio_transcription.completed",
46
+ usage: OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::usage,
47
+ logprobs: ::Array[OpenAI::Realtime::LogProbProperties]?
48
+ }
49
+
50
+ type usage =
51
+ OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens
52
+ | OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageDuration
53
+
54
+ module Usage
55
+ extend OpenAI::Internal::Type::Union
56
+
57
+ type transcript_text_usage_tokens =
58
+ {
59
+ input_tokens: Integer,
60
+ output_tokens: Integer,
61
+ total_tokens: Integer,
62
+ type: :tokens,
63
+ input_token_details: OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails
64
+ }
65
+
66
+ class TranscriptTextUsageTokens < OpenAI::Internal::Type::BaseModel
67
+ attr_accessor input_tokens: Integer
68
+
69
+ attr_accessor output_tokens: Integer
70
+
71
+ attr_accessor total_tokens: Integer
72
+
73
+ attr_accessor type: :tokens
74
+
75
+ attr_reader input_token_details: OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails?
76
+
77
+ def input_token_details=: (
78
+ OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails
79
+ ) -> OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails
80
+
81
+ def initialize: (
82
+ input_tokens: Integer,
83
+ output_tokens: Integer,
84
+ total_tokens: Integer,
85
+ ?input_token_details: OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails,
86
+ ?type: :tokens
87
+ ) -> void
88
+
89
+ def to_hash: -> {
90
+ input_tokens: Integer,
91
+ output_tokens: Integer,
92
+ total_tokens: Integer,
93
+ type: :tokens,
94
+ input_token_details: OpenAI::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::Usage::TranscriptTextUsageTokens::InputTokenDetails
95
+ }
96
+
97
+ type input_token_details =
98
+ { audio_tokens: Integer, text_tokens: Integer }
99
+
100
+ class InputTokenDetails < OpenAI::Internal::Type::BaseModel
101
+ attr_reader audio_tokens: Integer?
102
+
103
+ def audio_tokens=: (Integer) -> Integer
104
+
105
+ attr_reader text_tokens: Integer?
106
+
107
+ def text_tokens=: (Integer) -> Integer
108
+
109
+ def initialize: (
110
+ ?audio_tokens: Integer,
111
+ ?text_tokens: Integer
112
+ ) -> void
113
+
114
+ def to_hash: -> { audio_tokens: Integer, text_tokens: Integer }
115
+ end
116
+ end
117
+
118
+ type transcript_text_usage_duration =
119
+ { seconds: Float, type: :duration }
120
+
121
+ class TranscriptTextUsageDuration < OpenAI::Internal::Type::BaseModel
122
+ attr_accessor seconds: Float
123
+
124
+ attr_accessor type: :duration
125
+
126
+ def initialize: (seconds: Float, ?type: :duration) -> void
127
+
128
+ def to_hash: -> { seconds: Float, type: :duration }
129
+ end
130
+
131
+ def self?.variants: -> ::Array[OpenAI::Models::Realtime::ConversationItemInputAudioTranscriptionCompletedEvent::usage]
132
+ end
133
+ end
134
+ end
135
+ end
136
+ end
@@ -0,0 +1,51 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_input_audio_transcription_delta_event =
5
+ {
6
+ event_id: String,
7
+ item_id: String,
8
+ type: :"conversation.item.input_audio_transcription.delta",
9
+ content_index: Integer,
10
+ delta: String,
11
+ logprobs: ::Array[OpenAI::Realtime::LogProbProperties]?
12
+ }
13
+
14
+ class ConversationItemInputAudioTranscriptionDeltaEvent < OpenAI::Internal::Type::BaseModel
15
+ attr_accessor event_id: String
16
+
17
+ attr_accessor item_id: String
18
+
19
+ attr_accessor type: :"conversation.item.input_audio_transcription.delta"
20
+
21
+ attr_reader content_index: Integer?
22
+
23
+ def content_index=: (Integer) -> Integer
24
+
25
+ attr_reader delta: String?
26
+
27
+ def delta=: (String) -> String
28
+
29
+ attr_accessor logprobs: ::Array[OpenAI::Realtime::LogProbProperties]?
30
+
31
+ def initialize: (
32
+ event_id: String,
33
+ item_id: String,
34
+ ?content_index: Integer,
35
+ ?delta: String,
36
+ ?logprobs: ::Array[OpenAI::Realtime::LogProbProperties]?,
37
+ ?type: :"conversation.item.input_audio_transcription.delta"
38
+ ) -> void
39
+
40
+ def to_hash: -> {
41
+ event_id: String,
42
+ item_id: String,
43
+ type: :"conversation.item.input_audio_transcription.delta",
44
+ content_index: Integer,
45
+ delta: String,
46
+ logprobs: ::Array[OpenAI::Realtime::LogProbProperties]?
47
+ }
48
+ end
49
+ end
50
+ end
51
+ end
@@ -0,0 +1,77 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_input_audio_transcription_failed_event =
5
+ {
6
+ content_index: Integer,
7
+ error: OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error,
8
+ event_id: String,
9
+ item_id: String,
10
+ type: :"conversation.item.input_audio_transcription.failed"
11
+ }
12
+
13
+ class ConversationItemInputAudioTranscriptionFailedEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor content_index: Integer
15
+
16
+ attr_accessor error: OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error
17
+
18
+ attr_accessor event_id: String
19
+
20
+ attr_accessor item_id: String
21
+
22
+ attr_accessor type: :"conversation.item.input_audio_transcription.failed"
23
+
24
+ def initialize: (
25
+ content_index: Integer,
26
+ error: OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error,
27
+ event_id: String,
28
+ item_id: String,
29
+ ?type: :"conversation.item.input_audio_transcription.failed"
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ content_index: Integer,
34
+ error: OpenAI::Realtime::ConversationItemInputAudioTranscriptionFailedEvent::Error,
35
+ event_id: String,
36
+ item_id: String,
37
+ type: :"conversation.item.input_audio_transcription.failed"
38
+ }
39
+
40
+ type error =
41
+ { code: String, message: String, param: String, type: String }
42
+
43
+ class Error < OpenAI::Internal::Type::BaseModel
44
+ attr_reader code: String?
45
+
46
+ def code=: (String) -> String
47
+
48
+ attr_reader message: String?
49
+
50
+ def message=: (String) -> String
51
+
52
+ attr_reader param: String?
53
+
54
+ def param=: (String) -> String
55
+
56
+ attr_reader type: String?
57
+
58
+ def type=: (String) -> String
59
+
60
+ def initialize: (
61
+ ?code: String,
62
+ ?message: String,
63
+ ?param: String,
64
+ ?type: String
65
+ ) -> void
66
+
67
+ def to_hash: -> {
68
+ code: String,
69
+ message: String,
70
+ param: String,
71
+ type: String
72
+ }
73
+ end
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,62 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_input_audio_transcription_segment =
5
+ {
6
+ id: String,
7
+ content_index: Integer,
8
+ end_: Float,
9
+ event_id: String,
10
+ item_id: String,
11
+ speaker: String,
12
+ start: Float,
13
+ text: String,
14
+ type: :"conversation.item.input_audio_transcription.segment"
15
+ }
16
+
17
+ class ConversationItemInputAudioTranscriptionSegment < OpenAI::Internal::Type::BaseModel
18
+ attr_accessor id: String
19
+
20
+ attr_accessor content_index: Integer
21
+
22
+ attr_accessor end_: Float
23
+
24
+ attr_accessor event_id: String
25
+
26
+ attr_accessor item_id: String
27
+
28
+ attr_accessor speaker: String
29
+
30
+ attr_accessor start: Float
31
+
32
+ attr_accessor text: String
33
+
34
+ attr_accessor type: :"conversation.item.input_audio_transcription.segment"
35
+
36
+ def initialize: (
37
+ id: String,
38
+ content_index: Integer,
39
+ end_: Float,
40
+ event_id: String,
41
+ item_id: String,
42
+ speaker: String,
43
+ start: Float,
44
+ text: String,
45
+ ?type: :"conversation.item.input_audio_transcription.segment"
46
+ ) -> void
47
+
48
+ def to_hash: -> {
49
+ id: String,
50
+ content_index: Integer,
51
+ end_: Float,
52
+ event_id: String,
53
+ item_id: String,
54
+ speaker: String,
55
+ start: Float,
56
+ text: String,
57
+ type: :"conversation.item.input_audio_transcription.segment"
58
+ }
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,34 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_retrieve_event =
5
+ {
6
+ item_id: String,
7
+ type: :"conversation.item.retrieve",
8
+ event_id: String
9
+ }
10
+
11
+ class ConversationItemRetrieveEvent < OpenAI::Internal::Type::BaseModel
12
+ attr_accessor item_id: String
13
+
14
+ attr_accessor type: :"conversation.item.retrieve"
15
+
16
+ attr_reader event_id: String?
17
+
18
+ def event_id=: (String) -> String
19
+
20
+ def initialize: (
21
+ item_id: String,
22
+ ?event_id: String,
23
+ ?type: :"conversation.item.retrieve"
24
+ ) -> void
25
+
26
+ def to_hash: -> {
27
+ item_id: String,
28
+ type: :"conversation.item.retrieve",
29
+ event_id: String
30
+ }
31
+ end
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,44 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_truncate_event =
5
+ {
6
+ audio_end_ms: Integer,
7
+ content_index: Integer,
8
+ item_id: String,
9
+ type: :"conversation.item.truncate",
10
+ event_id: String
11
+ }
12
+
13
+ class ConversationItemTruncateEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor audio_end_ms: Integer
15
+
16
+ attr_accessor content_index: Integer
17
+
18
+ attr_accessor item_id: String
19
+
20
+ attr_accessor type: :"conversation.item.truncate"
21
+
22
+ attr_reader event_id: String?
23
+
24
+ def event_id=: (String) -> String
25
+
26
+ def initialize: (
27
+ audio_end_ms: Integer,
28
+ content_index: Integer,
29
+ item_id: String,
30
+ ?event_id: String,
31
+ ?type: :"conversation.item.truncate"
32
+ ) -> void
33
+
34
+ def to_hash: -> {
35
+ audio_end_ms: Integer,
36
+ content_index: Integer,
37
+ item_id: String,
38
+ type: :"conversation.item.truncate",
39
+ event_id: String
40
+ }
41
+ end
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,42 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_truncated_event =
5
+ {
6
+ audio_end_ms: Integer,
7
+ content_index: Integer,
8
+ event_id: String,
9
+ item_id: String,
10
+ type: :"conversation.item.truncated"
11
+ }
12
+
13
+ class ConversationItemTruncatedEvent < OpenAI::Internal::Type::BaseModel
14
+ attr_accessor audio_end_ms: Integer
15
+
16
+ attr_accessor content_index: Integer
17
+
18
+ attr_accessor event_id: String
19
+
20
+ attr_accessor item_id: String
21
+
22
+ attr_accessor type: :"conversation.item.truncated"
23
+
24
+ def initialize: (
25
+ audio_end_ms: Integer,
26
+ content_index: Integer,
27
+ event_id: String,
28
+ item_id: String,
29
+ ?type: :"conversation.item.truncated"
30
+ ) -> void
31
+
32
+ def to_hash: -> {
33
+ audio_end_ms: Integer,
34
+ content_index: Integer,
35
+ event_id: String,
36
+ item_id: String,
37
+ type: :"conversation.item.truncated"
38
+ }
39
+ end
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,207 @@
1
+ module OpenAI
2
+ module Models
3
+ module Realtime
4
+ type conversation_item_with_reference =
5
+ {
6
+ id: String,
7
+ arguments: String,
8
+ call_id: String,
9
+ content: ::Array[OpenAI::Realtime::ConversationItemWithReference::Content],
10
+ name: String,
11
+ object: OpenAI::Models::Realtime::ConversationItemWithReference::object,
12
+ output: String,
13
+ role: OpenAI::Models::Realtime::ConversationItemWithReference::role,
14
+ status: OpenAI::Models::Realtime::ConversationItemWithReference::status,
15
+ type: OpenAI::Models::Realtime::ConversationItemWithReference::type_
16
+ }
17
+
18
+ class ConversationItemWithReference < OpenAI::Internal::Type::BaseModel
19
+ attr_reader id: String?
20
+
21
+ def id=: (String) -> String
22
+
23
+ attr_reader arguments: String?
24
+
25
+ def arguments=: (String) -> String
26
+
27
+ attr_reader call_id: String?
28
+
29
+ def call_id=: (String) -> String
30
+
31
+ attr_reader content: ::Array[OpenAI::Realtime::ConversationItemWithReference::Content]?
32
+
33
+ def content=: (
34
+ ::Array[OpenAI::Realtime::ConversationItemWithReference::Content]
35
+ ) -> ::Array[OpenAI::Realtime::ConversationItemWithReference::Content]
36
+
37
+ attr_reader name: String?
38
+
39
+ def name=: (String) -> String
40
+
41
+ attr_reader object: OpenAI::Models::Realtime::ConversationItemWithReference::object?
42
+
43
+ def object=: (
44
+ OpenAI::Models::Realtime::ConversationItemWithReference::object
45
+ ) -> OpenAI::Models::Realtime::ConversationItemWithReference::object
46
+
47
+ attr_reader output: String?
48
+
49
+ def output=: (String) -> String
50
+
51
+ attr_reader role: OpenAI::Models::Realtime::ConversationItemWithReference::role?
52
+
53
+ def role=: (
54
+ OpenAI::Models::Realtime::ConversationItemWithReference::role
55
+ ) -> OpenAI::Models::Realtime::ConversationItemWithReference::role
56
+
57
+ attr_reader status: OpenAI::Models::Realtime::ConversationItemWithReference::status?
58
+
59
+ def status=: (
60
+ OpenAI::Models::Realtime::ConversationItemWithReference::status
61
+ ) -> OpenAI::Models::Realtime::ConversationItemWithReference::status
62
+
63
+ attr_reader type: OpenAI::Models::Realtime::ConversationItemWithReference::type_?
64
+
65
+ def type=: (
66
+ OpenAI::Models::Realtime::ConversationItemWithReference::type_
67
+ ) -> OpenAI::Models::Realtime::ConversationItemWithReference::type_
68
+
69
+ def initialize: (
70
+ ?id: String,
71
+ ?arguments: String,
72
+ ?call_id: String,
73
+ ?content: ::Array[OpenAI::Realtime::ConversationItemWithReference::Content],
74
+ ?name: String,
75
+ ?object: OpenAI::Models::Realtime::ConversationItemWithReference::object,
76
+ ?output: String,
77
+ ?role: OpenAI::Models::Realtime::ConversationItemWithReference::role,
78
+ ?status: OpenAI::Models::Realtime::ConversationItemWithReference::status,
79
+ ?type: OpenAI::Models::Realtime::ConversationItemWithReference::type_
80
+ ) -> void
81
+
82
+ def to_hash: -> {
83
+ id: String,
84
+ arguments: String,
85
+ call_id: String,
86
+ content: ::Array[OpenAI::Realtime::ConversationItemWithReference::Content],
87
+ name: String,
88
+ object: OpenAI::Models::Realtime::ConversationItemWithReference::object,
89
+ output: String,
90
+ role: OpenAI::Models::Realtime::ConversationItemWithReference::role,
91
+ status: OpenAI::Models::Realtime::ConversationItemWithReference::status,
92
+ type: OpenAI::Models::Realtime::ConversationItemWithReference::type_
93
+ }
94
+
95
+ type content =
96
+ {
97
+ id: String,
98
+ audio: String,
99
+ text: String,
100
+ transcript: String,
101
+ type: OpenAI::Models::Realtime::ConversationItemWithReference::Content::type_
102
+ }
103
+
104
+ class Content < OpenAI::Internal::Type::BaseModel
105
+ attr_reader id: String?
106
+
107
+ def id=: (String) -> String
108
+
109
+ attr_reader audio: String?
110
+
111
+ def audio=: (String) -> String
112
+
113
+ attr_reader text: String?
114
+
115
+ def text=: (String) -> String
116
+
117
+ attr_reader transcript: String?
118
+
119
+ def transcript=: (String) -> String
120
+
121
+ attr_reader type: OpenAI::Models::Realtime::ConversationItemWithReference::Content::type_?
122
+
123
+ def type=: (
124
+ OpenAI::Models::Realtime::ConversationItemWithReference::Content::type_
125
+ ) -> OpenAI::Models::Realtime::ConversationItemWithReference::Content::type_
126
+
127
+ def initialize: (
128
+ ?id: String,
129
+ ?audio: String,
130
+ ?text: String,
131
+ ?transcript: String,
132
+ ?type: OpenAI::Models::Realtime::ConversationItemWithReference::Content::type_
133
+ ) -> void
134
+
135
+ def to_hash: -> {
136
+ id: String,
137
+ audio: String,
138
+ text: String,
139
+ transcript: String,
140
+ type: OpenAI::Models::Realtime::ConversationItemWithReference::Content::type_
141
+ }
142
+
143
+ type type_ = :input_text | :input_audio | :item_reference | :text
144
+
145
+ module Type
146
+ extend OpenAI::Internal::Type::Enum
147
+
148
+ INPUT_TEXT: :input_text
149
+ INPUT_AUDIO: :input_audio
150
+ ITEM_REFERENCE: :item_reference
151
+ TEXT: :text
152
+
153
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::ConversationItemWithReference::Content::type_]
154
+ end
155
+ end
156
+
157
+ type object = :"realtime.item"
158
+
159
+ module Object
160
+ extend OpenAI::Internal::Type::Enum
161
+
162
+ REALTIME_ITEM: :"realtime.item"
163
+
164
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::ConversationItemWithReference::object]
165
+ end
166
+
167
+ type role = :user | :assistant | :system
168
+
169
+ module Role
170
+ extend OpenAI::Internal::Type::Enum
171
+
172
+ USER: :user
173
+ ASSISTANT: :assistant
174
+ SYSTEM: :system
175
+
176
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::ConversationItemWithReference::role]
177
+ end
178
+
179
+ type status = :completed | :incomplete | :in_progress
180
+
181
+ module Status
182
+ extend OpenAI::Internal::Type::Enum
183
+
184
+ COMPLETED: :completed
185
+ INCOMPLETE: :incomplete
186
+ IN_PROGRESS: :in_progress
187
+
188
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::ConversationItemWithReference::status]
189
+ end
190
+
191
+ type type_ =
192
+ :message | :function_call | :function_call_output | :item_reference
193
+
194
+ module Type
195
+ extend OpenAI::Internal::Type::Enum
196
+
197
+ MESSAGE: :message
198
+ FUNCTION_CALL: :function_call
199
+ FUNCTION_CALL_OUTPUT: :function_call_output
200
+ ITEM_REFERENCE: :item_reference
201
+
202
+ def self?.values: -> ::Array[OpenAI::Models::Realtime::ConversationItemWithReference::type_]
203
+ end
204
+ end
205
+ end
206
+ end
207
+ end