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,379 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ # Give the model access to additional tools via remote Model Context Protocol
7
+ # (MCP) servers.
8
+ # [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).
9
+ module RealtimeToolsConfigUnion
10
+ extend OpenAI::Internal::Type::Union
11
+
12
+ discriminator :type
13
+
14
+ variant :function, -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Function }
15
+
16
+ # Give the model access to additional tools via remote Model Context Protocol
17
+ # (MCP) servers. [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).
18
+ variant :mcp, -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp }
19
+
20
+ class Function < OpenAI::Internal::Type::BaseModel
21
+ # @!attribute description
22
+ # The description of the function, including guidance on when and how to call it,
23
+ # and guidance about what to tell the user when calling (if anything).
24
+ #
25
+ # @return [String, nil]
26
+ optional :description, String
27
+
28
+ # @!attribute name
29
+ # The name of the function.
30
+ #
31
+ # @return [String, nil]
32
+ optional :name, String
33
+
34
+ # @!attribute parameters
35
+ # Parameters of the function in JSON Schema.
36
+ #
37
+ # @return [Object, nil]
38
+ optional :parameters, OpenAI::Internal::Type::Unknown
39
+
40
+ # @!attribute type
41
+ # The type of the tool, i.e. `function`.
42
+ #
43
+ # @return [Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::Type, nil]
44
+ optional :type, enum: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Function::Type }
45
+
46
+ # @!method initialize(description: nil, name: nil, parameters: nil, type: nil)
47
+ # Some parameter documentations has been truncated, see
48
+ # {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function} for more details.
49
+ #
50
+ # @param description [String] The description of the function, including guidance on when and how
51
+ #
52
+ # @param name [String] The name of the function.
53
+ #
54
+ # @param parameters [Object] Parameters of the function in JSON Schema.
55
+ #
56
+ # @param type [Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function::Type] The type of the tool, i.e. `function`.
57
+
58
+ # The type of the tool, i.e. `function`.
59
+ #
60
+ # @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function#type
61
+ module Type
62
+ extend OpenAI::Internal::Type::Enum
63
+
64
+ FUNCTION = :function
65
+
66
+ # @!method self.values
67
+ # @return [Array<Symbol>]
68
+ end
69
+ end
70
+
71
+ class Mcp < OpenAI::Internal::Type::BaseModel
72
+ # @!attribute server_label
73
+ # A label for this MCP server, used to identify it in tool calls.
74
+ #
75
+ # @return [String]
76
+ required :server_label, String
77
+
78
+ # @!attribute type
79
+ # The type of the MCP tool. Always `mcp`.
80
+ #
81
+ # @return [Symbol, :mcp]
82
+ required :type, const: :mcp
83
+
84
+ # @!attribute allowed_tools
85
+ # List of allowed tool names or a filter object.
86
+ #
87
+ # @return [Array<String>, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter, nil]
88
+ optional :allowed_tools,
89
+ union: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools },
90
+ nil?: true
91
+
92
+ # @!attribute authorization
93
+ # An OAuth access token that can be used with a remote MCP server, either with a
94
+ # custom MCP server URL or a service connector. Your application must handle the
95
+ # OAuth authorization flow and provide the token here.
96
+ #
97
+ # @return [String, nil]
98
+ optional :authorization, String
99
+
100
+ # @!attribute connector_id
101
+ # Identifier for service connectors, like those available in ChatGPT. One of
102
+ # `server_url` or `connector_id` must be provided. Learn more about service
103
+ # connectors
104
+ # [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).
105
+ #
106
+ # Currently supported `connector_id` values are:
107
+ #
108
+ # - Dropbox: `connector_dropbox`
109
+ # - Gmail: `connector_gmail`
110
+ # - Google Calendar: `connector_googlecalendar`
111
+ # - Google Drive: `connector_googledrive`
112
+ # - Microsoft Teams: `connector_microsoftteams`
113
+ # - Outlook Calendar: `connector_outlookcalendar`
114
+ # - Outlook Email: `connector_outlookemail`
115
+ # - SharePoint: `connector_sharepoint`
116
+ #
117
+ # @return [Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::ConnectorID, nil]
118
+ optional :connector_id, enum: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::ConnectorID }
119
+
120
+ # @!attribute headers
121
+ # Optional HTTP headers to send to the MCP server. Use for authentication or other
122
+ # purposes.
123
+ #
124
+ # @return [Hash{Symbol=>String}, nil]
125
+ optional :headers, OpenAI::Internal::Type::HashOf[String], nil?: true
126
+
127
+ # @!attribute require_approval
128
+ # Specify which of the MCP server's tools require approval.
129
+ #
130
+ # @return [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting, nil]
131
+ optional :require_approval,
132
+ union: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval },
133
+ nil?: true
134
+
135
+ # @!attribute server_description
136
+ # Optional description of the MCP server, used to provide more context.
137
+ #
138
+ # @return [String, nil]
139
+ optional :server_description, String
140
+
141
+ # @!attribute server_url
142
+ # The URL for the MCP server. One of `server_url` or `connector_id` must be
143
+ # provided.
144
+ #
145
+ # @return [String, nil]
146
+ optional :server_url, String
147
+
148
+ # @!method initialize(server_label:, allowed_tools: nil, authorization: nil, connector_id: nil, headers: nil, require_approval: nil, server_description: nil, server_url: nil, type: :mcp)
149
+ # Some parameter documentations has been truncated, see
150
+ # {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp} for more details.
151
+ #
152
+ # Give the model access to additional tools via remote Model Context Protocol
153
+ # (MCP) servers.
154
+ # [Learn more about MCP](https://platform.openai.com/docs/guides/tools-remote-mcp).
155
+ #
156
+ # @param server_label [String] A label for this MCP server, used to identify it in tool calls.
157
+ #
158
+ # @param allowed_tools [Array<String>, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter, nil] List of allowed tool names or a filter object.
159
+ #
160
+ # @param authorization [String] An OAuth access token that can be used with a remote MCP server, either
161
+ #
162
+ # @param connector_id [Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::ConnectorID] Identifier for service connectors, like those available in ChatGPT. One of
163
+ #
164
+ # @param headers [Hash{Symbol=>String}, nil] Optional HTTP headers to send to the MCP server. Use for authentication
165
+ #
166
+ # @param require_approval [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting, nil] Specify which of the MCP server's tools require approval.
167
+ #
168
+ # @param server_description [String] Optional description of the MCP server, used to provide more context.
169
+ #
170
+ # @param server_url [String] The URL for the MCP server. One of `server_url` or `connector_id` must be
171
+ #
172
+ # @param type [Symbol, :mcp] The type of the MCP tool. Always `mcp`.
173
+
174
+ # List of allowed tool names or a filter object.
175
+ #
176
+ # @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp#allowed_tools
177
+ module AllowedTools
178
+ extend OpenAI::Internal::Type::Union
179
+
180
+ # A string array of allowed tool names
181
+ variant -> { OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::StringArray }
182
+
183
+ # A filter object to specify which tools are allowed.
184
+ variant -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter }
185
+
186
+ class McpToolFilter < OpenAI::Internal::Type::BaseModel
187
+ # @!attribute read_only
188
+ # Indicates whether or not a tool modifies data or is read-only. If an MCP server
189
+ # is
190
+ # [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
191
+ # it will match this filter.
192
+ #
193
+ # @return [Boolean, nil]
194
+ optional :read_only, OpenAI::Internal::Type::Boolean
195
+
196
+ # @!attribute tool_names
197
+ # List of allowed tool names.
198
+ #
199
+ # @return [Array<String>, nil]
200
+ optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
201
+
202
+ # @!method initialize(read_only: nil, tool_names: nil)
203
+ # Some parameter documentations has been truncated, see
204
+ # {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter}
205
+ # for more details.
206
+ #
207
+ # A filter object to specify which tools are allowed.
208
+ #
209
+ # @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
210
+ #
211
+ # @param tool_names [Array<String>] List of allowed tool names.
212
+ end
213
+
214
+ # @!method self.variants
215
+ # @return [Array(Array<String>, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::AllowedTools::McpToolFilter)]
216
+
217
+ # @type [OpenAI::Internal::Type::Converter]
218
+ StringArray = OpenAI::Internal::Type::ArrayOf[String]
219
+ end
220
+
221
+ # Identifier for service connectors, like those available in ChatGPT. One of
222
+ # `server_url` or `connector_id` must be provided. Learn more about service
223
+ # connectors
224
+ # [here](https://platform.openai.com/docs/guides/tools-remote-mcp#connectors).
225
+ #
226
+ # Currently supported `connector_id` values are:
227
+ #
228
+ # - Dropbox: `connector_dropbox`
229
+ # - Gmail: `connector_gmail`
230
+ # - Google Calendar: `connector_googlecalendar`
231
+ # - Google Drive: `connector_googledrive`
232
+ # - Microsoft Teams: `connector_microsoftteams`
233
+ # - Outlook Calendar: `connector_outlookcalendar`
234
+ # - Outlook Email: `connector_outlookemail`
235
+ # - SharePoint: `connector_sharepoint`
236
+ #
237
+ # @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp#connector_id
238
+ module ConnectorID
239
+ extend OpenAI::Internal::Type::Enum
240
+
241
+ CONNECTOR_DROPBOX = :connector_dropbox
242
+ CONNECTOR_GMAIL = :connector_gmail
243
+ CONNECTOR_GOOGLECALENDAR = :connector_googlecalendar
244
+ CONNECTOR_GOOGLEDRIVE = :connector_googledrive
245
+ CONNECTOR_MICROSOFTTEAMS = :connector_microsoftteams
246
+ CONNECTOR_OUTLOOKCALENDAR = :connector_outlookcalendar
247
+ CONNECTOR_OUTLOOKEMAIL = :connector_outlookemail
248
+ CONNECTOR_SHAREPOINT = :connector_sharepoint
249
+
250
+ # @!method self.values
251
+ # @return [Array<Symbol>]
252
+ end
253
+
254
+ # Specify which of the MCP server's tools require approval.
255
+ #
256
+ # @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp#require_approval
257
+ module RequireApproval
258
+ extend OpenAI::Internal::Type::Union
259
+
260
+ # Specify which of the MCP server's tools require approval. Can be
261
+ # `always`, `never`, or a filter object associated with tools
262
+ # that require approval.
263
+ variant -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter }
264
+
265
+ # Specify a single approval policy for all tools. One of `always` or
266
+ # `never`. When set to `always`, all tools will require approval. When
267
+ # set to `never`, all tools will not require approval.
268
+ variant enum: -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting }
269
+
270
+ class McpToolApprovalFilter < OpenAI::Internal::Type::BaseModel
271
+ # @!attribute always
272
+ # A filter object to specify which tools are allowed.
273
+ #
274
+ # @return [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Always, nil]
275
+ optional :always,
276
+ -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Always }
277
+
278
+ # @!attribute never
279
+ # A filter object to specify which tools are allowed.
280
+ #
281
+ # @return [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Never, nil]
282
+ optional :never,
283
+ -> { OpenAI::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Never }
284
+
285
+ # @!method initialize(always: nil, never: nil)
286
+ # Some parameter documentations has been truncated, see
287
+ # {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter}
288
+ # for more details.
289
+ #
290
+ # Specify which of the MCP server's tools require approval. Can be `always`,
291
+ # `never`, or a filter object associated with tools that require approval.
292
+ #
293
+ # @param always [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Always] A filter object to specify which tools are allowed.
294
+ #
295
+ # @param never [OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Never] A filter object to specify which tools are allowed.
296
+
297
+ # @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter#always
298
+ class Always < OpenAI::Internal::Type::BaseModel
299
+ # @!attribute read_only
300
+ # Indicates whether or not a tool modifies data or is read-only. If an MCP server
301
+ # is
302
+ # [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
303
+ # it will match this filter.
304
+ #
305
+ # @return [Boolean, nil]
306
+ optional :read_only, OpenAI::Internal::Type::Boolean
307
+
308
+ # @!attribute tool_names
309
+ # List of allowed tool names.
310
+ #
311
+ # @return [Array<String>, nil]
312
+ optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
313
+
314
+ # @!method initialize(read_only: nil, tool_names: nil)
315
+ # Some parameter documentations has been truncated, see
316
+ # {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Always}
317
+ # for more details.
318
+ #
319
+ # A filter object to specify which tools are allowed.
320
+ #
321
+ # @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
322
+ #
323
+ # @param tool_names [Array<String>] List of allowed tool names.
324
+ end
325
+
326
+ # @see OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter#never
327
+ class Never < OpenAI::Internal::Type::BaseModel
328
+ # @!attribute read_only
329
+ # Indicates whether or not a tool modifies data or is read-only. If an MCP server
330
+ # is
331
+ # [annotated with `readOnlyHint`](https://modelcontextprotocol.io/specification/2025-06-18/schema#toolannotations-readonlyhint),
332
+ # it will match this filter.
333
+ #
334
+ # @return [Boolean, nil]
335
+ optional :read_only, OpenAI::Internal::Type::Boolean
336
+
337
+ # @!attribute tool_names
338
+ # List of allowed tool names.
339
+ #
340
+ # @return [Array<String>, nil]
341
+ optional :tool_names, OpenAI::Internal::Type::ArrayOf[String]
342
+
343
+ # @!method initialize(read_only: nil, tool_names: nil)
344
+ # Some parameter documentations has been truncated, see
345
+ # {OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter::Never}
346
+ # for more details.
347
+ #
348
+ # A filter object to specify which tools are allowed.
349
+ #
350
+ # @param read_only [Boolean] Indicates whether or not a tool modifies data or is read-only. If an
351
+ #
352
+ # @param tool_names [Array<String>] List of allowed tool names.
353
+ end
354
+ end
355
+
356
+ # Specify a single approval policy for all tools. One of `always` or `never`. When
357
+ # set to `always`, all tools will require approval. When set to `never`, all tools
358
+ # will not require approval.
359
+ module McpToolApprovalSetting
360
+ extend OpenAI::Internal::Type::Enum
361
+
362
+ ALWAYS = :always
363
+ NEVER = :never
364
+
365
+ # @!method self.values
366
+ # @return [Array<Symbol>]
367
+ end
368
+
369
+ # @!method self.variants
370
+ # @return [Array(OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalFilter, Symbol, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp::RequireApproval::McpToolApprovalSetting)]
371
+ end
372
+ end
373
+
374
+ # @!method self.variants
375
+ # @return [Array(OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Function, OpenAI::Models::Realtime::RealtimeToolsConfigUnion::Mcp)]
376
+ end
377
+ end
378
+ end
379
+ end
@@ -0,0 +1,61 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Realtime
6
+ # Configuration options for tracing. Set to null to disable tracing. Once tracing
7
+ # is enabled for a session, the configuration cannot be modified.
8
+ #
9
+ # `auto` will create a trace for the session with default values for the workflow
10
+ # name, group id, and metadata.
11
+ module RealtimeTracingConfig
12
+ extend OpenAI::Internal::Type::Union
13
+
14
+ # Default tracing mode for the session.
15
+ variant const: :auto
16
+
17
+ # Granular configuration for tracing.
18
+ variant -> { OpenAI::Realtime::RealtimeTracingConfig::TracingConfiguration }
19
+
20
+ class TracingConfiguration < OpenAI::Internal::Type::BaseModel
21
+ # @!attribute group_id
22
+ # The group id to attach to this trace to enable filtering and grouping in the
23
+ # traces dashboard.
24
+ #
25
+ # @return [String, nil]
26
+ optional :group_id, String
27
+
28
+ # @!attribute metadata
29
+ # The arbitrary metadata to attach to this trace to enable filtering in the traces
30
+ # dashboard.
31
+ #
32
+ # @return [Object, nil]
33
+ optional :metadata, OpenAI::Internal::Type::Unknown
34
+
35
+ # @!attribute workflow_name
36
+ # The name of the workflow to attach to this trace. This is used to name the trace
37
+ # in the traces dashboard.
38
+ #
39
+ # @return [String, nil]
40
+ optional :workflow_name, String
41
+
42
+ # @!method initialize(group_id: nil, metadata: nil, workflow_name: nil)
43
+ # Some parameter documentations has been truncated, see
44
+ # {OpenAI::Models::Realtime::RealtimeTracingConfig::TracingConfiguration} for more
45
+ # details.
46
+ #
47
+ # Granular configuration for tracing.
48
+ #
49
+ # @param group_id [String] The group id to attach to this trace to enable filtering and
50
+ #
51
+ # @param metadata [Object] The arbitrary metadata to attach to this trace to enable
52
+ #
53
+ # @param workflow_name [String] The name of the workflow to attach to this trace. This is used to
54
+ end
55
+
56
+ # @!method self.variants
57
+ # @return [Array(Symbol, :auto, OpenAI::Models::Realtime::RealtimeTracingConfig::TracingConfiguration)]
58
+ end
59
+ end
60
+ end
61
+ end