openai 0.113.0 → 0.115.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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -0
  3. data/README.md +17 -2
  4. data/docs/architecture/security-model.md +11 -16
  5. data/examples/responses/websocket_workflows.rb +78 -3
  6. data/lib/openai/auth/subject_token_providers/azure_managed_identity_token_provider.rb +10 -8
  7. data/lib/openai/auth/subject_token_providers/gcp_id_token_provider.rb +8 -7
  8. data/lib/openai/helpers/chat/tool_runner.rb +1 -1
  9. data/lib/openai/helpers/live/websocket.rb +31 -0
  10. data/lib/openai/helpers/realtime/connection.rb +33 -0
  11. data/lib/openai/helpers/realtime/connection_manager.rb +1 -0
  12. data/lib/openai/helpers/realtime/conversation_item_variant_resolver.rb +5 -0
  13. data/lib/openai/helpers/realtime/recovery.rb +5 -1
  14. data/lib/openai/helpers/realtime/translation.rb +5 -0
  15. data/lib/openai/helpers/realtime/transports/async_websocket.rb +19 -0
  16. data/lib/openai/helpers/responses_websocket/connection.rb +53 -15
  17. data/lib/openai/helpers/responses_websocket/connection_manager.rb +1 -0
  18. data/lib/openai/helpers/responses_websocket/connection_resources.rb +1 -1
  19. data/lib/openai/helpers/structured_output/response_parser.rb +1 -0
  20. data/lib/openai/helpers/structured_output.rb +58 -0
  21. data/lib/openai/helpers/websocket/connection_manager.rb +11 -0
  22. data/lib/openai/helpers/websocket/resource.rb +1 -0
  23. data/lib/openai/helpers/websocket/typed_connection.rb +1 -0
  24. data/lib/openai/internal/type/array_of.rb +1 -1
  25. data/lib/openai/internal/type/hash_of.rb +1 -1
  26. data/lib/openai/internal/type/request_parameters.rb +2 -1
  27. data/lib/openai/internal/type/union.rb +18 -6
  28. data/lib/openai/models/admin/organization/external_key.rb +169 -0
  29. data/lib/openai/models/admin/organization/external_key_create_params.rb +311 -0
  30. data/lib/openai/models/admin/organization/external_key_delete_params.rb +24 -0
  31. data/lib/openai/models/admin/organization/external_key_list_params.rb +69 -0
  32. data/lib/openai/models/admin/organization/external_key_retrieve_params.rb +24 -0
  33. data/lib/openai/models/admin/organization/external_key_validate_params.rb +24 -0
  34. data/lib/openai/models/admin/organization/external_key_validate_response.rb +20 -0
  35. data/lib/openai/models/audio/speech_model.rb +12 -0
  36. data/lib/openai/models/audio_model.rb +15 -0
  37. data/lib/openai/models/beta/agent.rb +49 -1
  38. data/lib/openai/models/beta/agent_create_params.rb +51 -1
  39. data/lib/openai/models/beta/agent_session.rb +75 -2
  40. data/lib/openai/models/beta/agent_update_params.rb +62 -1
  41. data/lib/openai/models/beta/agents/session_create_params.rb +94 -2
  42. data/lib/openai/models/beta/agents/session_list_params.rb +16 -1
  43. data/lib/openai/models/beta/agents/session_update_params.rb +50 -5
  44. data/lib/openai/models/beta/assistant_update_params.rb +18 -0
  45. data/lib/openai/models/beta/beta_response.rb +224 -1
  46. data/lib/openai/models/beta/beta_response_configuration_update_item.rb +64 -3
  47. data/lib/openai/models/beta/beta_response_configuration_update_item_param.rb +64 -4
  48. data/lib/openai/models/beta/beta_response_input_file.rb +9 -9
  49. data/lib/openai/models/beta/beta_response_input_file_content.rb +9 -9
  50. data/lib/openai/models/beta/beta_response_input_image.rb +9 -9
  51. data/lib/openai/models/beta/beta_response_input_image_content.rb +9 -9
  52. data/lib/openai/models/beta/beta_response_input_item.rb +2 -3
  53. data/lib/openai/models/beta/beta_response_input_text.rb +9 -9
  54. data/lib/openai/models/beta/beta_response_input_text_content.rb +9 -9
  55. data/lib/openai/models/beta/beta_response_item.rb +11 -11
  56. data/lib/openai/models/beta/beta_response_output_item.rb +9 -9
  57. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +6 -6
  58. data/lib/openai/models/beta/beta_responses_client_event.rb +20 -1
  59. data/lib/openai/models/beta/beta_tool.rb +6 -6
  60. data/lib/openai/models/beta/response_compact_params.rb +6 -0
  61. data/lib/openai/models/beta/response_create_params.rb +6 -0
  62. data/lib/openai/models/chat/chat_completion_content_part.rb +9 -9
  63. data/lib/openai/models/chat/chat_completion_content_part_image.rb +9 -9
  64. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +9 -9
  65. data/lib/openai/models/chat/chat_completion_content_part_text.rb +9 -9
  66. data/lib/openai/models/chat_model.rb +6 -0
  67. data/lib/openai/models/conversations/computer_screenshot_content.rb +9 -9
  68. data/lib/openai/models/conversations/conversation_item.rb +2 -2
  69. data/lib/openai/models/image_edit_params.rb +46 -25
  70. data/lib/openai/models/live/fork_server_event.rb +43 -3
  71. data/lib/openai/models/live/server_event.rb +43 -3
  72. data/lib/openai/models/live/sideband_client_event.rb +40 -1
  73. data/lib/openai/models/live/sideband_server_event.rb +43 -3
  74. data/lib/openai/models/realtime/audio_transcription.rb +15 -0
  75. data/lib/openai/models/realtime/conversation_item_added.rb +2 -2
  76. data/lib/openai/models/realtime/conversation_item_create_event.rb +2 -2
  77. data/lib/openai/models/realtime/conversation_item_created_event.rb +2 -2
  78. data/lib/openai/models/realtime/conversation_item_done.rb +2 -2
  79. data/lib/openai/models/realtime/realtime_response.rb +2 -2
  80. data/lib/openai/models/realtime/realtime_response_create_params.rb +2 -2
  81. data/lib/openai/models/realtime/realtime_server_event.rb +2 -2
  82. data/lib/openai/models/realtime/realtime_session.rb +18 -0
  83. data/lib/openai/models/realtime/realtime_session_create_request.rb +18 -0
  84. data/lib/openai/models/realtime/realtime_session_create_response.rb +18 -0
  85. data/lib/openai/models/realtime/response_output_item_added_event.rb +2 -2
  86. data/lib/openai/models/realtime/response_output_item_done_event.rb +2 -2
  87. data/lib/openai/models/responses/response.rb +221 -1
  88. data/lib/openai/models/responses/response_compact_params.rb +6 -0
  89. data/lib/openai/models/responses/response_configuration_update_item.rb +50 -3
  90. data/lib/openai/models/responses/response_configuration_update_item_param.rb +50 -4
  91. data/lib/openai/models/responses/response_input_file.rb +9 -9
  92. data/lib/openai/models/responses/response_input_file_content.rb +9 -9
  93. data/lib/openai/models/responses/response_input_image.rb +9 -9
  94. data/lib/openai/models/responses/response_input_image_content.rb +9 -9
  95. data/lib/openai/models/responses/response_input_item.rb +2 -3
  96. data/lib/openai/models/responses/response_input_text.rb +9 -9
  97. data/lib/openai/models/responses/response_input_text_content.rb +9 -9
  98. data/lib/openai/models/responses/response_item.rb +2 -2
  99. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +6 -6
  100. data/lib/openai/models/responses/responses_client_event.rb +14 -1
  101. data/lib/openai/models/responses/tool.rb +6 -6
  102. data/lib/openai/net_http_client.rb +6 -0
  103. data/lib/openai/providers/vertex.rb +0 -10
  104. data/lib/openai/resources/admin/organization/external_keys.rb +132 -0
  105. data/lib/openai/resources/admin/organization.rb +4 -0
  106. data/lib/openai/resources/audio/speech.rb +8 -0
  107. data/lib/openai/resources/audio/translations.rb +8 -0
  108. data/lib/openai/resources/beta/agents/sessions.rb +22 -6
  109. data/lib/openai/resources/beta/agents.rb +17 -2
  110. data/lib/openai/resources/images.rb +36 -18
  111. data/lib/openai/version.rb +1 -1
  112. data/lib/openai.rb +8 -0
  113. data/rbi/openai/helpers/live/websocket.rbi +1 -12
  114. data/rbi/openai/helpers/realtime/connection.rbi +5 -0
  115. data/rbi/openai/helpers/realtime/transports/async_websocket.rbi +5 -0
  116. data/rbi/openai/helpers/responses_websocket/connection.rbi +7 -2
  117. data/rbi/openai/helpers/structured_output.rbi +10 -0
  118. data/rbi/openai/internal/type/array_of.rbi +1 -1
  119. data/rbi/openai/internal/type/hash_of.rbi +1 -1
  120. data/rbi/openai/internal/type/union.rbi +5 -0
  121. data/rbi/openai/models/admin/organization/external_key.rbi +301 -0
  122. data/rbi/openai/models/admin/organization/external_key_create_params.rbi +532 -0
  123. data/rbi/openai/models/admin/organization/external_key_delete_params.rbi +57 -0
  124. data/rbi/openai/models/admin/organization/external_key_list_params.rbi +129 -0
  125. data/rbi/openai/models/admin/organization/external_key_retrieve_params.rbi +57 -0
  126. data/rbi/openai/models/admin/organization/external_key_validate_params.rbi +57 -0
  127. data/rbi/openai/models/admin/organization/external_key_validate_response.rbi +50 -0
  128. data/rbi/openai/models/beta/agent.rbi +103 -1
  129. data/rbi/openai/models/beta/agent_create_params.rbi +109 -0
  130. data/rbi/openai/models/beta/agent_session.rbi +136 -3
  131. data/rbi/openai/models/beta/agent_update_params.rbi +120 -0
  132. data/rbi/openai/models/beta/agents/session_create_params.rbi +153 -0
  133. data/rbi/openai/models/beta/agents/session_list_params.rbi +19 -0
  134. data/rbi/openai/models/beta/agents/session_update_params.rbi +94 -6
  135. data/rbi/openai/models/beta/beta_response.rbi +394 -0
  136. data/rbi/openai/models/beta/beta_response_configuration_update_item.rbi +113 -3
  137. data/rbi/openai/models/beta/beta_response_configuration_update_item_param.rbi +125 -4
  138. data/rbi/openai/models/beta/beta_response_input_file.rbi +9 -9
  139. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +9 -9
  140. data/rbi/openai/models/beta/beta_response_input_image.rbi +9 -9
  141. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +9 -9
  142. data/rbi/openai/models/beta/beta_response_input_text.rbi +9 -9
  143. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +9 -9
  144. data/rbi/openai/models/beta/beta_response_item.rbi +9 -9
  145. data/rbi/openai/models/beta/beta_response_output_item.rbi +9 -9
  146. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +6 -6
  147. data/rbi/openai/models/beta/beta_responses_client_event.rbi +17 -0
  148. data/rbi/openai/models/beta/beta_tool.rbi +6 -6
  149. data/rbi/openai/models/chat/chat_completion_content_part.rbi +9 -9
  150. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +9 -9
  151. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +9 -9
  152. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +9 -9
  153. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +9 -9
  154. data/rbi/openai/models/decision_create_params.rbi +4 -1
  155. data/rbi/openai/models/image_edit_params.rbi +49 -24
  156. data/rbi/openai/models/live/fork_server_event.rbi +65 -1
  157. data/rbi/openai/models/live/server_event.rbi +65 -1
  158. data/rbi/openai/models/live/sideband_client_event.rbi +60 -0
  159. data/rbi/openai/models/live/sideband_server_event.rbi +65 -1
  160. data/rbi/openai/models/realtime/conversation_item_added.rbi +6 -3
  161. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +6 -3
  162. data/rbi/openai/models/realtime/conversation_item_created_event.rbi +6 -3
  163. data/rbi/openai/models/realtime/conversation_item_done.rbi +6 -3
  164. data/rbi/openai/models/realtime/realtime_response.rbi +8 -4
  165. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +8 -4
  166. data/rbi/openai/models/realtime/realtime_server_event.rbi +6 -3
  167. data/rbi/openai/models/realtime/response_output_item_added_event.rbi +6 -3
  168. data/rbi/openai/models/realtime/response_output_item_done_event.rbi +6 -3
  169. data/rbi/openai/models/responses/response.rbi +394 -0
  170. data/rbi/openai/models/responses/response_configuration_update_item.rbi +76 -3
  171. data/rbi/openai/models/responses/response_configuration_update_item_param.rbi +74 -4
  172. data/rbi/openai/models/responses/response_input_file.rbi +9 -9
  173. data/rbi/openai/models/responses/response_input_file_content.rbi +9 -9
  174. data/rbi/openai/models/responses/response_input_image.rbi +9 -9
  175. data/rbi/openai/models/responses/response_input_image_content.rbi +9 -9
  176. data/rbi/openai/models/responses/response_input_text.rbi +9 -9
  177. data/rbi/openai/models/responses/response_input_text_content.rbi +9 -9
  178. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +6 -6
  179. data/rbi/openai/models/responses/responses_client_event.rbi +17 -0
  180. data/rbi/openai/models/responses/tool.rbi +6 -6
  181. data/rbi/openai/net_http_client.rbi +5 -0
  182. data/rbi/openai/resources/admin/organization/external_keys.rbi +86 -0
  183. data/rbi/openai/resources/admin/organization.rbi +3 -0
  184. data/rbi/openai/resources/audio/speech.rbi +8 -0
  185. data/rbi/openai/resources/audio/translations.rbi +6 -0
  186. data/rbi/openai/resources/beta/agents/sessions.rbi +18 -2
  187. data/rbi/openai/resources/beta/agents.rbi +15 -0
  188. data/rbi/openai/resources/images.rbi +34 -16
  189. data/rbi/openai/resources/responses.rbi +2 -0
  190. data/realtime.md +6 -0
  191. data/responses-websocket.md +53 -0
  192. data/sig/openai/helpers/live/websocket.rbs +1 -9
  193. data/sig/openai/helpers/realtime/connection.rbs +3 -0
  194. data/sig/openai/helpers/realtime/transports/async_websocket.rbs +3 -0
  195. data/sig/openai/helpers/responses_websocket/connection.rbs +7 -1
  196. data/sig/openai/helpers/structured_output.rbs +9 -0
  197. data/sig/openai/internal/type/union.rbs +4 -0
  198. data/sig/openai/models/admin/organization/external_key.rbs +186 -0
  199. data/sig/openai/models/admin/organization/external_key_create_params.rbs +423 -0
  200. data/sig/openai/models/admin/organization/external_key_delete_params.rbs +27 -0
  201. data/sig/openai/models/admin/organization/external_key_list_params.rbs +81 -0
  202. data/sig/openai/models/admin/organization/external_key_retrieve_params.rbs +27 -0
  203. data/sig/openai/models/admin/organization/external_key_validate_params.rbs +27 -0
  204. data/sig/openai/models/admin/organization/external_key_validate_response.rbs +17 -0
  205. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +72 -2
  206. data/sig/openai/models/audio/speech_create_params.rbs +15 -2
  207. data/sig/openai/models/audio/transcription_create_params.rbs +30 -2
  208. data/sig/openai/models/audio/voice_create_params.rbs +47 -2
  209. data/sig/openai/models/beta/agent.rbs +54 -2
  210. data/sig/openai/models/beta/agent_create_params.rbs +54 -0
  211. data/sig/openai/models/beta/agent_session.rbs +82 -3
  212. data/sig/openai/models/beta/agent_update_params.rbs +64 -0
  213. data/sig/openai/models/beta/agents/session_create_params.rbs +91 -0
  214. data/sig/openai/models/beta/agents/session_list_params.rbs +20 -0
  215. data/sig/openai/models/beta/agents/session_update_params.rbs +48 -6
  216. data/sig/openai/models/beta/assistant_create_params.rbs +5 -2
  217. data/sig/openai/models/beta/beta_response.rbs +223 -0
  218. data/sig/openai/models/beta/beta_response_configuration_update_item.rbs +58 -2
  219. data/sig/openai/models/beta/beta_response_configuration_update_item_param.rbs +58 -2
  220. data/sig/openai/models/beta/beta_response_input_file.rbs +9 -9
  221. data/sig/openai/models/beta/beta_response_input_file_content.rbs +6 -6
  222. data/sig/openai/models/beta/beta_response_input_image.rbs +9 -9
  223. data/sig/openai/models/beta/beta_response_input_image_content.rbs +6 -6
  224. data/sig/openai/models/beta/beta_response_input_text.rbs +9 -9
  225. data/sig/openai/models/beta/beta_response_input_text_content.rbs +6 -6
  226. data/sig/openai/models/beta/beta_response_item.rbs +9 -9
  227. data/sig/openai/models/beta/beta_response_output_item.rbs +9 -9
  228. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +4 -4
  229. data/sig/openai/models/beta/beta_responses_client_event.rbs +17 -0
  230. data/sig/openai/models/beta/beta_tool.rbs +4 -4
  231. data/sig/openai/models/beta/response_create_params.rbs +5 -2
  232. data/sig/openai/models/beta/responses/input_token_count_params.rbs +10 -2
  233. data/sig/openai/models/beta/thread_create_and_run_params.rbs +11 -5
  234. data/sig/openai/models/beta/thread_create_params.rbs +11 -5
  235. data/sig/openai/models/beta/threads/message_create_params.rbs +6 -3
  236. data/sig/openai/models/beta/threads/run_create_params.rbs +6 -3
  237. data/sig/openai/models/chat/chat_completion_content_part.rbs +9 -9
  238. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +9 -9
  239. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +9 -9
  240. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +9 -9
  241. data/sig/openai/models/conversations/computer_screenshot_content.rbs +9 -9
  242. data/sig/openai/models/decision_create_params.rbs +27 -2
  243. data/sig/openai/models/eval_create_params.rbs +25 -4
  244. data/sig/openai/models/evals/run_create_params.rbs +52 -8
  245. data/sig/openai/models/image_edit_params.rbs +47 -16
  246. data/sig/openai/models/live/fork_server_event.rbs +39 -0
  247. data/sig/openai/models/live/server_event.rbs +39 -0
  248. data/sig/openai/models/live/session_accept_params.rbs +39 -2
  249. data/sig/openai/models/live/sideband_client_event.rbs +32 -0
  250. data/sig/openai/models/live/sideband_server_event.rbs +39 -0
  251. data/sig/openai/models/realtime/conversation_item.rbs +1 -0
  252. data/sig/openai/models/responses/input_token_count_params.rbs +10 -2
  253. data/sig/openai/models/responses/response.rbs +223 -0
  254. data/sig/openai/models/responses/response_configuration_update_item.rbs +45 -2
  255. data/sig/openai/models/responses/response_configuration_update_item_param.rbs +45 -2
  256. data/sig/openai/models/responses/response_create_params.rbs +5 -2
  257. data/sig/openai/models/responses/response_input_file.rbs +9 -9
  258. data/sig/openai/models/responses/response_input_file_content.rbs +6 -6
  259. data/sig/openai/models/responses/response_input_image.rbs +9 -9
  260. data/sig/openai/models/responses/response_input_image_content.rbs +6 -6
  261. data/sig/openai/models/responses/response_input_text.rbs +9 -9
  262. data/sig/openai/models/responses/response_input_text_content.rbs +6 -6
  263. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +4 -4
  264. data/sig/openai/models/responses/responses_client_event.rbs +17 -0
  265. data/sig/openai/models/responses/tool.rbs +4 -4
  266. data/sig/openai/models/video_edit_params.rbs +11 -2
  267. data/sig/openai/models/video_extend_params.rbs +11 -2
  268. data/sig/openai/net_http_client.rbs +3 -0
  269. data/sig/openai/resources/admin/organization/external_keys.rbs +70 -0
  270. data/sig/openai/resources/admin/organization/external_storage.rbs +23 -1
  271. data/sig/openai/resources/admin/organization.rbs +2 -0
  272. data/sig/openai/resources/audio/speech.rbs +2 -1
  273. data/sig/openai/resources/audio/transcriptions.rbs +14 -2
  274. data/sig/openai/resources/audio/voices.rbs +14 -1
  275. data/sig/openai/resources/beta/agents/sessions.rbs +4 -0
  276. data/sig/openai/resources/beta/agents.rbs +4 -0
  277. data/sig/openai/resources/beta/responses/input_tokens.rbs +2 -1
  278. data/sig/openai/resources/beta/responses.rbs +4 -2
  279. data/sig/openai/resources/decisions.rbs +7 -1
  280. data/sig/openai/resources/images.rbs +2 -0
  281. data/sig/openai/resources/responses/input_tokens.rbs +2 -1
  282. data/sig/openai/resources/responses.rbs +5 -2
  283. data/sig/openai/resources/videos.rbs +2 -2
  284. metadata +25 -1
@@ -12,12 +12,12 @@ module OpenAI
12
12
  # @!attribute image
13
13
  # The image(s) to edit. Must be a supported image file or an array of images.
14
14
  #
15
- # For the GPT image models (`gpt-image-1`, `gpt-image-1-mini`, `gpt-image-1.5`,
16
- # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
17
- # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
18
- # `gpt-image-2.5-flare-2026-09-08`, and `chatgpt-image-latest`), each image should
19
- # be a `png`, `webp`, or `jpg` file less than 50MB. You can provide up to 16
20
- # images.
15
+ # For the GPT image models (`gpt-image-1-mini`, `gpt-image-1.5`, `gpt-image-2`,
16
+ # `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
17
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and
18
+ # `gpt-image-2.5-flare-2026-09-08`), each image should be a `png`, `webp`, or
19
+ # `jpg` file less than 50MB. You can provide up to 16 images.
20
+ # `chatgpt-image-latest` follows the same input constraints as GPT image models.
21
21
  #
22
22
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
23
23
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -50,12 +50,24 @@ module OpenAI
50
50
  # @!attribute input_fidelity
51
51
  # Control how much effort the model will exert to match the style and features,
52
52
  # especially facial features, of input images. Supports `high` and `low` on
53
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
54
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
53
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
54
+ # this parameter. Defaults to `low` on supported models.
55
55
  #
56
56
  # @return [Symbol, OpenAI::Models::ImageEditParams::InputFidelity, nil]
57
57
  optional :input_fidelity, enum: -> { OpenAI::ImageEditParams::InputFidelity }, nil?: true
58
58
 
59
+ # @!attribute markup
60
+ # A transparent PNG overlaid on the first image to guide the edit. Must match that
61
+ # image's dimensions after orientation and contain transparent pixels. Supports
62
+ # GPT Image 2.5 and 2.6. Cannot be combined with mask.
63
+ #
64
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
65
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
66
+ # content type.
67
+ #
68
+ # @return [Pathname, StringIO, IO, String, OpenAI::FilePart, nil]
69
+ optional :markup, OpenAI::Internal::Type::FileInput
70
+
59
71
  # @!attribute mask
60
72
  # An additional image whose fully transparent areas (e.g. where alpha is zero)
61
73
  # indicate where `image` should be edited. If there are multiple images provided,
@@ -171,16 +183,16 @@ module OpenAI
171
183
  # @return [String, nil]
172
184
  optional :user, String
173
185
 
174
- # @!method initialize(image:, prompt:, background: nil, input_fidelity: nil, mask: nil, model: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, safety_identifier: nil, size: nil, user: nil, request_options: {})
186
+ # @!method initialize(image:, prompt:, background: nil, input_fidelity: nil, markup: nil, mask: nil, model: nil, n: nil, output_compression: nil, output_format: nil, partial_images: nil, quality: nil, response_format: nil, safety_identifier: nil, size: nil, user: nil, request_options: {})
175
187
  # @param image [Pathname, StringIO, IO, String, OpenAI::FilePart, Array<Pathname, StringIO, IO, String, OpenAI::FilePart>]
176
188
  # The image(s) to edit. Must be a supported image file or an array of images.
177
189
  #
178
- # For the GPT image models (`gpt-image-1`, `gpt-image-1-mini`, `gpt-image-1.5`,
179
- # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
180
- # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
181
- # `gpt-image-2.5-flare-2026-09-08`, and `chatgpt-image-latest`), each image should
182
- # be a `png`, `webp`, or `jpg` file less than 50MB. You can provide up to 16
183
- # images.
190
+ # For the GPT image models (`gpt-image-1-mini`, `gpt-image-1.5`, `gpt-image-2`,
191
+ # `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
192
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and
193
+ # `gpt-image-2.5-flare-2026-09-08`), each image should be a `png`, `webp`, or
194
+ # `jpg` file less than 50MB. You can provide up to 16 images.
195
+ # `chatgpt-image-latest` follows the same input constraints as GPT image models.
184
196
  #
185
197
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
186
198
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -204,8 +216,17 @@ module OpenAI
204
216
  # @param input_fidelity [Symbol, OpenAI::Models::ImageEditParams::InputFidelity, nil]
205
217
  # Control how much effort the model will exert to match the style and features,
206
218
  # especially facial features, of input images. Supports `high` and `low` on
207
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
208
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
219
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
220
+ # this parameter. Defaults to `low` on supported models.
221
+ #
222
+ # @param markup [Pathname, StringIO, IO, String, OpenAI::FilePart]
223
+ # A transparent PNG overlaid on the first image to guide the edit. Must match that
224
+ # image's dimensions after orientation and contain transparent pixels. Supports
225
+ # GPT Image 2.5 and 2.6. Cannot be combined with mask.
226
+ #
227
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
228
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
229
+ # content type.
209
230
  #
210
231
  # @param mask [Pathname, StringIO, IO, String, OpenAI::FilePart]
211
232
  # An additional image whose fully transparent areas (e.g. where alpha is zero)
@@ -289,12 +310,12 @@ module OpenAI
289
310
 
290
311
  # The image(s) to edit. Must be a supported image file or an array of images.
291
312
  #
292
- # For the GPT image models (`gpt-image-1`, `gpt-image-1-mini`, `gpt-image-1.5`,
293
- # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
294
- # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
295
- # `gpt-image-2.5-flare-2026-09-08`, and `chatgpt-image-latest`), each image should
296
- # be a `png`, `webp`, or `jpg` file less than 50MB. You can provide up to 16
297
- # images.
313
+ # For the GPT image models (`gpt-image-1-mini`, `gpt-image-1.5`, `gpt-image-2`,
314
+ # `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
315
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`, and
316
+ # `gpt-image-2.5-flare-2026-09-08`), each image should be a `png`, `webp`, or
317
+ # `jpg` file less than 50MB. You can provide up to 16 images.
318
+ # `chatgpt-image-latest` follows the same input constraints as GPT image models.
298
319
  module Image
299
320
  extend OpenAI::Internal::Type::Union
300
321
 
@@ -331,8 +352,8 @@ module OpenAI
331
352
 
332
353
  # Control how much effort the model will exert to match the style and features,
333
354
  # especially facial features, of input images. Supports `high` and `low` on
334
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
335
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
355
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
356
+ # this parameter. Defaults to `low` on supported models.
336
357
  module InputFidelity
337
358
  extend OpenAI::Internal::Type::Enum
338
359
 
@@ -82,9 +82,12 @@ module OpenAI
82
82
  # A SIP DTMF keypress received from the caller. Delivered only to sideband observers.
83
83
  variant :"transport.dtmf.received", -> { OpenAI::Live::ForkServerEvent::TransportDtmfReceived }
84
84
 
85
- # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to sideband observers; this is not a client command.
85
+ # Legacy SIP DTMF delivery notification retained for SDK compatibility and saved events. Current servers confirm delivery with transport.dtmf.sent; transport.dtmf.send is now the client command.
86
86
  variant :"transport.dtmf.send", -> { OpenAI::Live::ForkServerEvent::TransportDtmfSend }
87
87
 
88
+ # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to sideband observers; this is not a client command.
89
+ variant :"transport.dtmf.sent", -> { OpenAI::Live::ForkServerEvent::TransportDtmfSent }
90
+
88
91
  # The outbound SIP provider leg is ringing or providing early media. Delivered only to sideband observers.
89
92
  variant :"transport.ringing", -> { OpenAI::Live::ForkServerEvent::TransportRinging }
90
93
 
@@ -170,6 +173,43 @@ module OpenAI
170
173
  optional :client_event_id, String
171
174
 
172
175
  # @!method initialize(event:, event_id:, client_event_id: nil, type: :"transport.dtmf.send")
176
+ # Legacy SIP DTMF delivery notification retained for SDK compatibility and saved
177
+ # events. Current servers confirm delivery with transport.dtmf.sent;
178
+ # transport.dtmf.send is now the client command.
179
+ #
180
+ # @param event [String]
181
+ #
182
+ # @param event_id [String]
183
+ #
184
+ # @param client_event_id [String]
185
+ # The event_id of the client command, when supplied.
186
+ #
187
+ # @param type [Symbol, :"transport.dtmf.send"]
188
+ end
189
+
190
+ class TransportDtmfSent < OpenAI::Internal::Type::BaseModel
191
+ # @!attribute event
192
+ #
193
+ # @return [String]
194
+ required :event, String
195
+
196
+ # @!attribute event_id
197
+ #
198
+ # @return [String]
199
+ required :event_id, String
200
+
201
+ # @!attribute type
202
+ #
203
+ # @return [Symbol, :"transport.dtmf.sent"]
204
+ required :type, const: :"transport.dtmf.sent"
205
+
206
+ # @!attribute client_event_id
207
+ # The event_id of the client command, when supplied.
208
+ #
209
+ # @return [String, nil]
210
+ optional :client_event_id, String
211
+
212
+ # @!method initialize(event:, event_id:, client_event_id: nil, type: :"transport.dtmf.sent")
173
213
  # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to
174
214
  # sideband observers; this is not a client command.
175
215
  #
@@ -180,7 +220,7 @@ module OpenAI
180
220
  # @param client_event_id [String]
181
221
  # The event_id of the client command, when supplied.
182
222
  #
183
- # @param type [Symbol, :"transport.dtmf.send"]
223
+ # @param type [Symbol, :"transport.dtmf.sent"]
184
224
  end
185
225
 
186
226
  class TransportRinging < OpenAI::Internal::Type::BaseModel
@@ -314,7 +354,7 @@ module OpenAI
314
354
  end
315
355
 
316
356
  # @!method self.variants
317
- # @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::OutputAudioFixturePlayingEvent, OpenAI::Models::Live::OutputAudioFixturePlayedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ForkServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::DecisionEvent, OpenAI::Models::Live::DecisionItemCreatedEvent, OpenAI::Models::Live::DecisionItemDeletedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ForkServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ForkServerEvent::TransportDtmfSend, OpenAI::Models::Live::ForkServerEvent::TransportRinging, OpenAI::Models::Live::ForkServerEvent::TransportAnswered, OpenAI::Models::Live::ForkServerEvent::TransportFailed)]
357
+ # @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::OutputAudioFixturePlayingEvent, OpenAI::Models::Live::OutputAudioFixturePlayedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ForkServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::DecisionEvent, OpenAI::Models::Live::DecisionItemCreatedEvent, OpenAI::Models::Live::DecisionItemDeletedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ForkServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ForkServerEvent::TransportDtmfSend, OpenAI::Models::Live::ForkServerEvent::TransportDtmfSent, OpenAI::Models::Live::ForkServerEvent::TransportRinging, OpenAI::Models::Live::ForkServerEvent::TransportAnswered, OpenAI::Models::Live::ForkServerEvent::TransportFailed)]
318
358
  end
319
359
  end
320
360
  end
@@ -82,9 +82,12 @@ module OpenAI
82
82
  # A SIP DTMF keypress received from the caller. Delivered only to sideband observers.
83
83
  variant :"transport.dtmf.received", -> { OpenAI::Live::ServerEvent::TransportDtmfReceived }
84
84
 
85
- # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to sideband observers; this is not a client command.
85
+ # Legacy SIP DTMF delivery notification retained for SDK compatibility and saved events. Current servers confirm delivery with transport.dtmf.sent; transport.dtmf.send is now the client command.
86
86
  variant :"transport.dtmf.send", -> { OpenAI::Live::ServerEvent::TransportDtmfSend }
87
87
 
88
+ # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to sideband observers; this is not a client command.
89
+ variant :"transport.dtmf.sent", -> { OpenAI::Live::ServerEvent::TransportDtmfSent }
90
+
88
91
  # The outbound SIP provider leg is ringing or providing early media. Delivered only to sideband observers.
89
92
  variant :"transport.ringing", -> { OpenAI::Live::ServerEvent::TransportRinging }
90
93
 
@@ -170,6 +173,43 @@ module OpenAI
170
173
  optional :client_event_id, String
171
174
 
172
175
  # @!method initialize(event:, event_id:, client_event_id: nil, type: :"transport.dtmf.send")
176
+ # Legacy SIP DTMF delivery notification retained for SDK compatibility and saved
177
+ # events. Current servers confirm delivery with transport.dtmf.sent;
178
+ # transport.dtmf.send is now the client command.
179
+ #
180
+ # @param event [String]
181
+ #
182
+ # @param event_id [String]
183
+ #
184
+ # @param client_event_id [String]
185
+ # The event_id of the client command, when supplied.
186
+ #
187
+ # @param type [Symbol, :"transport.dtmf.send"]
188
+ end
189
+
190
+ class TransportDtmfSent < OpenAI::Internal::Type::BaseModel
191
+ # @!attribute event
192
+ #
193
+ # @return [String]
194
+ required :event, String
195
+
196
+ # @!attribute event_id
197
+ #
198
+ # @return [String]
199
+ required :event_id, String
200
+
201
+ # @!attribute type
202
+ #
203
+ # @return [Symbol, :"transport.dtmf.sent"]
204
+ required :type, const: :"transport.dtmf.sent"
205
+
206
+ # @!attribute client_event_id
207
+ # The event_id of the client command, when supplied.
208
+ #
209
+ # @return [String, nil]
210
+ optional :client_event_id, String
211
+
212
+ # @!method initialize(event:, event_id:, client_event_id: nil, type: :"transport.dtmf.sent")
173
213
  # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to
174
214
  # sideband observers; this is not a client command.
175
215
  #
@@ -180,7 +220,7 @@ module OpenAI
180
220
  # @param client_event_id [String]
181
221
  # The event_id of the client command, when supplied.
182
222
  #
183
- # @param type [Symbol, :"transport.dtmf.send"]
223
+ # @param type [Symbol, :"transport.dtmf.sent"]
184
224
  end
185
225
 
186
226
  class TransportRinging < OpenAI::Internal::Type::BaseModel
@@ -314,7 +354,7 @@ module OpenAI
314
354
  end
315
355
 
316
356
  # @!method self.variants
317
- # @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::OutputAudioFixturePlayingEvent, OpenAI::Models::Live::OutputAudioFixturePlayedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::DecisionEvent, OpenAI::Models::Live::DecisionItemCreatedEvent, OpenAI::Models::Live::DecisionItemDeletedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ServerEvent::TransportDtmfSend, OpenAI::Models::Live::ServerEvent::TransportRinging, OpenAI::Models::Live::ServerEvent::TransportAnswered, OpenAI::Models::Live::ServerEvent::TransportFailed)]
357
+ # @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::OutputAudioFixturePlayingEvent, OpenAI::Models::Live::OutputAudioFixturePlayedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::ServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::DecisionEvent, OpenAI::Models::Live::DecisionItemCreatedEvent, OpenAI::Models::Live::DecisionItemDeletedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::ServerEvent::TransportDtmfReceived, OpenAI::Models::Live::ServerEvent::TransportDtmfSend, OpenAI::Models::Live::ServerEvent::TransportDtmfSent, OpenAI::Models::Live::ServerEvent::TransportRinging, OpenAI::Models::Live::ServerEvent::TransportAnswered, OpenAI::Models::Live::ServerEvent::TransportFailed)]
318
358
  end
319
359
  end
320
360
  end
@@ -22,6 +22,9 @@ module OpenAI
22
22
  # Play one complete audio fixture through the session output. Send this event over the primary WebSocket or a server sideband. Audio must be raw mono PCM16 little-endian at 24 kHz, regardless of the session audio format, and at most 30 seconds. The entire payload is validated before model speech is interrupted and input is muted. Only one fixture can be active. fixture.playing acknowledges acceptance and fixture.played reports server mixer drain. These notifications are not exact transport-media boundaries. Input arriving during playback is dropped and not replayed.
23
23
  variant :"session.output_audio.fixture.play", -> { OpenAI::Live::OutputAudioFixturePlayEvent }
24
24
 
25
+ # Send one DTMF keypress to the SIP trunk through a Live sideband connection. This command is supported only for SIP calls. A successful send emits `transport.dtmf.sent` on sideband. If you provide `event_id`, the success notification includes it as `client_event_id`; a failure includes it as `error.client_event_id`. Send separate events for multiple keypresses.
26
+ variant :"transport.dtmf.send", -> { OpenAI::Live::SidebandClientEvent::TransportDtmfSend }
27
+
25
28
  # Append developer instructions to the Live conversation while it is running, optionally associating them with an existing client delegation. Rejected while an audio fixture is active. These instructions remain in conversation history through compaction and are included in future backend delegations. For external audio, describe content already delivered so the assistant does not repeat it.
26
29
  variant :"session.instructions.append", -> { OpenAI::Live::InstructionsAppendEvent }
27
30
 
@@ -49,8 +52,44 @@ module OpenAI
49
52
  # Request that the Live session close. The terminal `session.closed` event contains the close reason and final usage.
50
53
  variant :"session.close", -> { OpenAI::Live::SessionCloseEvent }
51
54
 
55
+ class TransportDtmfSend < OpenAI::Internal::Type::BaseModel
56
+ # @!attribute event
57
+ # The DTMF key to send: one of `0`–`9`, `A`–`D`, `*`, or `#`.
58
+ #
59
+ # @return [String]
60
+ required :event, String
61
+
62
+ # @!attribute type
63
+ #
64
+ # @return [Symbol, :"transport.dtmf.send"]
65
+ required :type, const: :"transport.dtmf.send"
66
+
67
+ # @!attribute event_id
68
+ # Optional client identifier for correlating this command with a server event's
69
+ # client_event_id or error.client_event_id.
70
+ #
71
+ # @return [String, nil]
72
+ optional :event_id, String, nil?: true
73
+
74
+ # @!method initialize(event:, event_id: nil, type: :"transport.dtmf.send")
75
+ # Send one DTMF keypress to the SIP trunk through a Live sideband connection. This
76
+ # command is supported only for SIP calls. A successful send emits
77
+ # `transport.dtmf.sent` on sideband. If you provide `event_id`, the success
78
+ # notification includes it as `client_event_id`; a failure includes it as
79
+ # `error.client_event_id`. Send separate events for multiple keypresses.
80
+ #
81
+ # @param event [String]
82
+ # The DTMF key to send: one of `0`–`9`, `A`–`D`, `*`, or `#`.
83
+ #
84
+ # @param event_id [String, nil]
85
+ # Optional client identifier for correlating this command with a server event's
86
+ # client_event_id or error.client_event_id.
87
+ #
88
+ # @param type [Symbol, :"transport.dtmf.send"]
89
+ end
90
+
52
91
  # @!method self.variants
53
- # @return [Array(OpenAI::Models::Live::SessionUpdateEvent, OpenAI::Models::Live::InputAudioMuteEvent, OpenAI::Models::Live::InputAudioUnmuteEvent, OpenAI::Models::Live::OutputAudioFixturePlayEvent, OpenAI::Models::Live::InstructionsAppendEvent, OpenAI::Models::Live::ThinkingAppendEvent, OpenAI::Models::Live::CommentaryAppendEvent, OpenAI::Models::Live::DecisionCreateEvent, OpenAI::Models::Live::DecisionItemCreateEvent, OpenAI::Models::Live::DecisionItemDeleteEvent, OpenAI::Models::Live::ResponseItemCreateEvent, OpenAI::Models::Live::ResponseCreateEvent, OpenAI::Models::Live::SessionCloseEvent)]
92
+ # @return [Array(OpenAI::Models::Live::SessionUpdateEvent, OpenAI::Models::Live::InputAudioMuteEvent, OpenAI::Models::Live::InputAudioUnmuteEvent, OpenAI::Models::Live::OutputAudioFixturePlayEvent, OpenAI::Models::Live::SidebandClientEvent::TransportDtmfSend, OpenAI::Models::Live::InstructionsAppendEvent, OpenAI::Models::Live::ThinkingAppendEvent, OpenAI::Models::Live::CommentaryAppendEvent, OpenAI::Models::Live::DecisionCreateEvent, OpenAI::Models::Live::DecisionItemCreateEvent, OpenAI::Models::Live::DecisionItemDeleteEvent, OpenAI::Models::Live::ResponseItemCreateEvent, OpenAI::Models::Live::ResponseCreateEvent, OpenAI::Models::Live::SessionCloseEvent)]
54
93
  end
55
94
  end
56
95
  end
@@ -79,9 +79,12 @@ module OpenAI
79
79
  # A SIP DTMF keypress received from the caller. Delivered only to sideband observers.
80
80
  variant :"transport.dtmf.received", -> { OpenAI::Live::SidebandServerEvent::TransportDtmfReceived }
81
81
 
82
- # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to sideband observers; this is not a client command.
82
+ # Legacy SIP DTMF delivery notification retained for SDK compatibility and saved events. Current servers confirm delivery with transport.dtmf.sent; transport.dtmf.send is now the client command.
83
83
  variant :"transport.dtmf.send", -> { OpenAI::Live::SidebandServerEvent::TransportDtmfSend }
84
84
 
85
+ # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to sideband observers; this is not a client command.
86
+ variant :"transport.dtmf.sent", -> { OpenAI::Live::SidebandServerEvent::TransportDtmfSent }
87
+
85
88
  # The outbound SIP provider leg is ringing or providing early media. Delivered only to sideband observers.
86
89
  variant :"transport.ringing", -> { OpenAI::Live::SidebandServerEvent::TransportRinging }
87
90
 
@@ -167,6 +170,43 @@ module OpenAI
167
170
  optional :client_event_id, String
168
171
 
169
172
  # @!method initialize(event:, event_id:, client_event_id: nil, type: :"transport.dtmf.send")
173
+ # Legacy SIP DTMF delivery notification retained for SDK compatibility and saved
174
+ # events. Current servers confirm delivery with transport.dtmf.sent;
175
+ # transport.dtmf.send is now the client command.
176
+ #
177
+ # @param event [String]
178
+ #
179
+ # @param event_id [String]
180
+ #
181
+ # @param client_event_id [String]
182
+ # The event_id of the client command, when supplied.
183
+ #
184
+ # @param type [Symbol, :"transport.dtmf.send"]
185
+ end
186
+
187
+ class TransportDtmfSent < OpenAI::Internal::Type::BaseModel
188
+ # @!attribute event
189
+ #
190
+ # @return [String]
191
+ required :event, String
192
+
193
+ # @!attribute event_id
194
+ #
195
+ # @return [String]
196
+ required :event_id, String
197
+
198
+ # @!attribute type
199
+ #
200
+ # @return [Symbol, :"transport.dtmf.sent"]
201
+ required :type, const: :"transport.dtmf.sent"
202
+
203
+ # @!attribute client_event_id
204
+ # The event_id of the client command, when supplied.
205
+ #
206
+ # @return [String, nil]
207
+ optional :client_event_id, String
208
+
209
+ # @!method initialize(event:, event_id:, client_event_id: nil, type: :"transport.dtmf.sent")
170
210
  # A SIP DTMF keypress successfully sent to the SIP trunk. Delivered only to
171
211
  # sideband observers; this is not a client command.
172
212
  #
@@ -177,7 +217,7 @@ module OpenAI
177
217
  # @param client_event_id [String]
178
218
  # The event_id of the client command, when supplied.
179
219
  #
180
- # @param type [Symbol, :"transport.dtmf.send"]
220
+ # @param type [Symbol, :"transport.dtmf.sent"]
181
221
  end
182
222
 
183
223
  class TransportRinging < OpenAI::Internal::Type::BaseModel
@@ -311,7 +351,7 @@ module OpenAI
311
351
  end
312
352
 
313
353
  # @!method self.variants
314
- # @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::OutputAudioFixturePlayingEvent, OpenAI::Models::Live::OutputAudioFixturePlayedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::DecisionEvent, OpenAI::Models::Live::DecisionItemCreatedEvent, OpenAI::Models::Live::DecisionItemDeletedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::SidebandServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::SidebandServerEvent::TransportDtmfReceived, OpenAI::Models::Live::SidebandServerEvent::TransportDtmfSend, OpenAI::Models::Live::SidebandServerEvent::TransportRinging, OpenAI::Models::Live::SidebandServerEvent::TransportAnswered, OpenAI::Models::Live::SidebandServerEvent::TransportFailed)]
354
+ # @return [Array(OpenAI::Models::Live::SessionStartedEvent, OpenAI::Models::Live::SessionUpdatedEvent, OpenAI::Models::Live::InputAudioMutedEvent, OpenAI::Models::Live::InputAudioUnmutedEvent, OpenAI::Models::Live::OutputAudioFixturePlayingEvent, OpenAI::Models::Live::OutputAudioFixturePlayedEvent, OpenAI::Models::Live::InstructionsAppendedEvent, OpenAI::Models::Live::ThinkingAppendedEvent, OpenAI::Models::Live::CommentaryAppendedEvent, OpenAI::Models::Live::InputTranscriptDeltaEvent, OpenAI::Models::Live::OutputTranscriptDeltaEvent, OpenAI::Models::Live::DelegationCreatedEvent, OpenAI::Models::Live::DecisionEvent, OpenAI::Models::Live::DecisionItemCreatedEvent, OpenAI::Models::Live::DecisionItemDeletedEvent, OpenAI::Models::Live::ResponseEvent, OpenAI::Models::Live::SessionUsageUpdatedEvent, OpenAI::Models::Live::SessionClosedEvent, OpenAI::Models::Live::ErrorEvent, OpenAI::Models::Live::InfoEvent, OpenAI::Models::Live::SidebandServerEvent::SessionInputAudioAppend, OpenAI::Models::Live::OutputAudioDeltaEvent, OpenAI::Models::Live::SidebandServerEvent::TransportDtmfReceived, OpenAI::Models::Live::SidebandServerEvent::TransportDtmfSend, OpenAI::Models::Live::SidebandServerEvent::TransportDtmfSent, OpenAI::Models::Live::SidebandServerEvent::TransportRinging, OpenAI::Models::Live::SidebandServerEvent::TransportAnswered, OpenAI::Models::Live::SidebandServerEvent::TransportFailed)]
315
355
  end
316
356
  end
317
357
  end
@@ -146,12 +146,27 @@ module OpenAI
146
146
 
147
147
  # @!group
148
148
 
149
+ # @deprecated Announced shutdown date: 2027-02-26. See
150
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
151
+ # replacements.
149
152
  WHISPER_1 = :"whisper-1"
150
153
  GPT_TRANSCRIBE = :"gpt-transcribe"
151
154
  GPT_LIVE_TRANSCRIBE = :"gpt-live-transcribe"
155
+ # @deprecated Announced shutdown date: 2027-02-26. See
156
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
157
+ # replacements.
152
158
  GPT_4O_MINI_TRANSCRIBE = :"gpt-4o-mini-transcribe"
159
+ # @deprecated Announced shutdown date: 2027-02-26. See
160
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
161
+ # replacements.
153
162
  GPT_4O_MINI_TRANSCRIBE_2025_12_15 = :"gpt-4o-mini-transcribe-2025-12-15"
163
+ # @deprecated Announced shutdown date: 2027-02-26. See
164
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
165
+ # replacements.
154
166
  GPT_4O_TRANSCRIBE = :"gpt-4o-transcribe"
167
+ # @deprecated Announced shutdown date: 2027-02-26. See
168
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
169
+ # replacements.
155
170
  GPT_4O_TRANSCRIBE_DIARIZE = :"gpt-4o-transcribe-diarize"
156
171
  GPT_REALTIME_WHISPER = :"gpt-realtime-whisper"
157
172
 
@@ -13,7 +13,7 @@ module OpenAI
13
13
  # @!attribute item
14
14
  # A single item within a Realtime conversation.
15
15
  #
16
- # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
16
+ # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
17
17
  required :item, union: -> { OpenAI::Realtime::ConversationItem }
18
18
 
19
19
  # @!attribute type
@@ -48,7 +48,7 @@ module OpenAI
48
48
  # @param event_id [String]
49
49
  # The unique ID of the server event.
50
50
  #
51
- # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
51
+ # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
52
52
  # A single item within a Realtime conversation.
53
53
  #
54
54
  # @param previous_item_id [String, nil]
@@ -7,7 +7,7 @@ module OpenAI
7
7
  # @!attribute item
8
8
  # A single item within a Realtime conversation.
9
9
  #
10
- # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
10
+ # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
11
11
  required :item, union: -> { OpenAI::Realtime::ConversationItem }
12
12
 
13
13
  # @!attribute type
@@ -46,7 +46,7 @@ module OpenAI
46
46
  # the item is finalized, a `conversation.item.done` event. Otherwise, an `error`
47
47
  # event will be sent.
48
48
  #
49
- # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
49
+ # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
50
50
  # A single item within a Realtime conversation.
51
51
  #
52
52
  # @param event_id [String]
@@ -13,7 +13,7 @@ module OpenAI
13
13
  # @!attribute item
14
14
  # A single item within a Realtime conversation.
15
15
  #
16
- # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
16
+ # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
17
17
  required :item, union: -> { OpenAI::Realtime::ConversationItem }
18
18
 
19
19
  # @!attribute type
@@ -46,7 +46,7 @@ module OpenAI
46
46
  # @param event_id [String]
47
47
  # The unique ID of the server event.
48
48
  #
49
- # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
49
+ # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
50
50
  # A single item within a Realtime conversation.
51
51
  #
52
52
  # @param previous_item_id [String, nil]
@@ -13,7 +13,7 @@ module OpenAI
13
13
  # @!attribute item
14
14
  # A single item within a Realtime conversation.
15
15
  #
16
- # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
16
+ # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
17
17
  required :item, union: -> { OpenAI::Realtime::ConversationItem }
18
18
 
19
19
  # @!attribute type
@@ -38,7 +38,7 @@ module OpenAI
38
38
  # @param event_id [String]
39
39
  # The unique ID of the server event.
40
40
  #
41
- # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
41
+ # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
42
42
  # A single item within a Realtime conversation.
43
43
  #
44
44
  # @param previous_item_id [String, nil]
@@ -54,7 +54,7 @@ module OpenAI
54
54
  # @!attribute output
55
55
  # The list of output items generated by the response.
56
56
  #
57
- # @return [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest>, nil]
57
+ # @return [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference>, nil]
58
58
  optional :output, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Realtime::ConversationItem] }
59
59
 
60
60
  # @!attribute output_modalities
@@ -123,7 +123,7 @@ module OpenAI
123
123
  # @param object [Symbol, OpenAI::Models::Realtime::RealtimeResponse::Object]
124
124
  # The object type, must be `realtime.response`.
125
125
  #
126
- # @param output [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest>]
126
+ # @param output [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference>]
127
127
  # The list of output items generated by the response.
128
128
  #
129
129
  # @param output_modalities [Array<Symbol, OpenAI::Models::Realtime::RealtimeResponse::OutputModality>]
@@ -27,7 +27,7 @@ module OpenAI
27
27
  # include references to items that previously appeared in the session using their
28
28
  # id.
29
29
  #
30
- # @return [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest>, nil]
30
+ # @return [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference>, nil]
31
31
  optional :input, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Realtime::ConversationItem] }
32
32
 
33
33
  # @!attribute instructions
@@ -124,7 +124,7 @@ module OpenAI
124
124
  # `none` to create an out-of-band response which will not add items to default
125
125
  # conversation.
126
126
  #
127
- # @param input [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest>]
127
+ # @param input [Array<OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference>]
128
128
  # Input items to include in the prompt for the model. Using this field creates a
129
129
  # new context for this Response instead of using the default conversation. An
130
130
  # empty array `[]` will clear the context for this Response. Note that this can
@@ -294,7 +294,7 @@ module OpenAI
294
294
  # @!attribute item
295
295
  # A single item within a Realtime conversation.
296
296
  #
297
- # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
297
+ # @return [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
298
298
  required :item, union: -> { OpenAI::Realtime::ConversationItem }
299
299
 
300
300
  # @!attribute type
@@ -313,7 +313,7 @@ module OpenAI
313
313
  # @param event_id [String]
314
314
  # The unique ID of the server event.
315
315
  #
316
- # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest]
316
+ # @param item [OpenAI::Models::Realtime::RealtimeConversationItemSystemMessage, OpenAI::Models::Realtime::RealtimeConversationItemUserMessage, OpenAI::Models::Realtime::RealtimeConversationItemAssistantMessage, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCall, OpenAI::Models::Realtime::RealtimeConversationItemFunctionCallOutput, OpenAI::Models::Realtime::RealtimeMcpApprovalResponse, OpenAI::Models::Realtime::RealtimeMcpListTools, OpenAI::Models::Realtime::RealtimeMcpToolCall, OpenAI::Models::Realtime::RealtimeMcpApprovalRequest, OpenAI::Realtime::ConversationItemWithReference]
317
317
  # A single item within a Realtime conversation.
318
318
  #
319
319
  # @param type [Symbol, :"conversation.item.retrieved"]