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
@@ -17,9 +17,9 @@ module OpenAI
17
17
  required :type, const: :input_text
18
18
 
19
19
  # @!attribute prompt_cache_breakpoint
20
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
21
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
22
- # token block.
20
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
21
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
22
+ # not rounded to a token block.
23
23
  #
24
24
  # @return [OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint, nil]
25
25
  optional(
@@ -35,9 +35,9 @@ module OpenAI
35
35
  # The text input to the model.
36
36
  #
37
37
  # @param prompt_cache_breakpoint [OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint, nil]
38
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
39
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
40
- # token block.
38
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
39
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
40
+ # not rounded to a token block.
41
41
  #
42
42
  # @param type [Symbol, :input_text]
43
43
  # The type of the input item. Always `input_text`.
@@ -57,9 +57,9 @@ module OpenAI
57
57
  optional :ttl, enum: -> { OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl }
58
58
 
59
59
  # @!method initialize(ttl: nil, mode: :explicit)
60
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
61
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
62
- # token block.
60
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
61
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
62
+ # not rounded to a token block.
63
63
  #
64
64
  # @param ttl [Symbol, OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl]
65
65
  # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
@@ -46,8 +46,8 @@ module OpenAI
46
46
 
47
47
  variant :additional_tools, -> { OpenAI::Beta::BetaResponseItem::AdditionalTools }
48
48
 
49
- # A configuration update that applies to subsequent responses until it is
50
- # replaced by another configuration update.
49
+ # A configuration update for subsequent responses. Each setting stays in effect
50
+ # until a later update replaces that setting.
51
51
  variant :configuration_update, -> { OpenAI::Beta::BetaResponseConfigurationUpdateItem }
52
52
 
53
53
  # A description of the chain of thought used by a reasoning model while generating
@@ -298,9 +298,9 @@ module OpenAI
298
298
  required :type, const: :computer_screenshot
299
299
 
300
300
  # @!attribute prompt_cache_breakpoint
301
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
302
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
303
- # token block.
301
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
302
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
303
+ # not rounded to a token block.
304
304
  #
305
305
  # @return [OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint, nil]
306
306
  optional(
@@ -322,9 +322,9 @@ module OpenAI
322
322
  # The URL of the screenshot image.
323
323
  #
324
324
  # @param prompt_cache_breakpoint [OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint]
325
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
326
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
327
- # token block.
325
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
326
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
327
+ # not rounded to a token block.
328
328
  #
329
329
  # @param type [Symbol, :computer_screenshot]
330
330
  # Specifies the event type. For a computer screenshot, this property is always set
@@ -366,9 +366,9 @@ module OpenAI
366
366
  )
367
367
 
368
368
  # @!method initialize(ttl: nil, mode: :explicit)
369
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
370
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
371
- # token block.
369
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
370
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
371
+ # not rounded to a token block.
372
372
  #
373
373
  # @param ttl [Symbol, OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl]
374
374
  # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
@@ -295,9 +295,9 @@ module OpenAI
295
295
  required :type, const: :computer_screenshot
296
296
 
297
297
  # @!attribute prompt_cache_breakpoint
298
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
299
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
300
- # token block.
298
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
299
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
300
+ # not rounded to a token block.
301
301
  #
302
302
  # @return [OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint, nil]
303
303
  optional(
@@ -321,9 +321,9 @@ module OpenAI
321
321
  # The URL of the screenshot image.
322
322
  #
323
323
  # @param prompt_cache_breakpoint [OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint]
324
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
325
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
326
- # token block.
324
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
325
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
326
+ # not rounded to a token block.
327
327
  #
328
328
  # @param type [Symbol, :computer_screenshot]
329
329
  # Specifies the event type. For a computer screenshot, this property is always set
@@ -365,9 +365,9 @@ module OpenAI
365
365
  )
366
366
 
367
367
  # @!method initialize(ttl: nil, mode: :explicit)
368
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
369
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
370
- # token block.
368
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
369
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
370
+ # not rounded to a token block.
371
371
  #
372
372
  # @param ttl [Symbol, OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl]
373
373
  # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
@@ -758,8 +758,8 @@ module OpenAI
758
758
  # @!attribute input_fidelity
759
759
  # Control how much effort the model will exert to match the style and features,
760
760
  # especially facial features, of input images. Supports `high` and `low` on
761
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
762
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
761
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
762
+ # this parameter. Defaults to `low` on supported models.
763
763
  #
764
764
  # @return [Symbol, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputFidelity, nil]
765
765
  optional(
@@ -878,8 +878,8 @@ module OpenAI
878
878
  # @param input_fidelity [Symbol, OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputFidelity, nil]
879
879
  # Control how much effort the model will exert to match the style and features,
880
880
  # especially facial features, of input images. Supports `high` and `low` on
881
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
882
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
881
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
882
+ # this parameter. Defaults to `low` on supported models.
883
883
  #
884
884
  # @param input_image_mask [OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputImageMask]
885
885
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
@@ -968,8 +968,8 @@ module OpenAI
968
968
 
969
969
  # Control how much effort the model will exert to match the style and features,
970
970
  # especially facial features, of input images. Supports `high` and `low` on
971
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
972
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
971
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
972
+ # this parameter. Defaults to `low` on supported models.
973
973
  #
974
974
  # @see OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration#input_fidelity
975
975
  module InputFidelity
@@ -99,6 +99,14 @@ module OpenAI
99
99
  nil?: true
100
100
  )
101
101
 
102
+ # @!attribute generate
103
+ # Whether to generate output for this response. Defaults to true when omitted. Set
104
+ # to false to prepare request state without model output; the response ID can be
105
+ # used as previous_response_id on a later turn.
106
+ #
107
+ # @return [Boolean, nil]
108
+ optional :generate, OpenAI::Internal::Type::Boolean
109
+
102
110
  # @!attribute include
103
111
  # Specify additional output data to include in the model response. Currently
104
112
  # supported values are:
@@ -482,7 +490,7 @@ module OpenAI
482
490
  # @return [String, nil]
483
491
  optional :user, String
484
492
 
485
- # @!method initialize(access_programs: nil, background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_id: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
493
+ # @!method initialize(access_programs: nil, background: nil, context_management: nil, conversation: nil, generate: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_id: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
486
494
  # Client event for creating a response over a persistent WebSocket connection.
487
495
  # This payload uses the same top-level fields as `POST /v1/responses`, plus
488
496
  # WebSocket-only envelope metadata.
@@ -509,6 +517,11 @@ module OpenAI
509
517
  # items from this response are automatically added to this conversation after this
510
518
  # response completes.
511
519
  #
520
+ # @param generate [Boolean]
521
+ # Whether to generate output for this response. Defaults to true when omitted. Set
522
+ # to false to prepare request state without model output; the response ID can be
523
+ # used as previous_response_id on a later turn.
524
+ #
512
525
  # @param include [Array<Symbol, OpenAI::Models::Beta::BetaResponseIncludable>, nil]
513
526
  # Specify additional output data to include in the model response. Currently
514
527
  # supported values are:
@@ -1329,6 +1342,9 @@ module OpenAI
1329
1342
  # replacements.
1330
1343
  GPT_5_4_NANO = :"gpt-5.4-nano"
1331
1344
  GPT_5_4_MINI_2026_03_17 = :"gpt-5.4-mini-2026-03-17"
1345
+ # @deprecated Announced shutdown date: 2027-04-01. See
1346
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
1347
+ # replacements.
1332
1348
  GPT_5_4_NANO_2026_03_17 = :"gpt-5.4-nano-2026-03-17"
1333
1349
  # @deprecated Announced shutdown date: 2026-08-10. See
1334
1350
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -1346,6 +1362,9 @@ module OpenAI
1346
1362
  # https://developers.openai.com/api/docs/deprecations for details and recommended
1347
1363
  # replacements.
1348
1364
  GPT_5_1 = :"gpt-5.1"
1365
+ # @deprecated Announced shutdown date: 2027-04-01. See
1366
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
1367
+ # replacements.
1349
1368
  GPT_5_1_2025_11_13 = :"gpt-5.1-2025-11-13"
1350
1369
  # @deprecated Announced shutdown date: 2026-07-23. See
1351
1370
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -634,8 +634,8 @@ module OpenAI
634
634
  # @!attribute input_fidelity
635
635
  # Control how much effort the model will exert to match the style and features,
636
636
  # especially facial features, of input images. Supports `high` and `low` on
637
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
638
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
637
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
638
+ # this parameter. Defaults to `low` on supported models.
639
639
  #
640
640
  # @return [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::InputFidelity, nil]
641
641
  optional(
@@ -736,8 +736,8 @@ module OpenAI
736
736
  # @param input_fidelity [Symbol, OpenAI::Models::Beta::BetaTool::ImageGeneration::InputFidelity, nil]
737
737
  # Control how much effort the model will exert to match the style and features,
738
738
  # especially facial features, of input images. Supports `high` and `low` on
739
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
740
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
739
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
740
+ # this parameter. Defaults to `low` on supported models.
741
741
  #
742
742
  # @param input_image_mask [OpenAI::Models::Beta::BetaTool::ImageGeneration::InputImageMask]
743
743
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
@@ -826,8 +826,8 @@ module OpenAI
826
826
 
827
827
  # Control how much effort the model will exert to match the style and features,
828
828
  # especially facial features, of input images. Supports `high` and `low` on
829
- # `gpt-image-1` and `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For
830
- # `gpt-image-2`, omit this parameter. Defaults to `low` on supported models.
829
+ # `gpt-image-1.5`; `gpt-image-1-mini` supports only `low`. For `gpt-image-2`, omit
830
+ # this parameter. Defaults to `low` on supported models.
831
831
  #
832
832
  # @see OpenAI::Models::Beta::BetaTool::ImageGeneration#input_fidelity
833
833
  module InputFidelity
@@ -428,6 +428,9 @@ module OpenAI
428
428
  # replacements.
429
429
  GPT_5_4_NANO = :"gpt-5.4-nano"
430
430
  GPT_5_4_MINI_2026_03_17 = :"gpt-5.4-mini-2026-03-17"
431
+ # @deprecated Announced shutdown date: 2027-04-01. See
432
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
433
+ # replacements.
431
434
  GPT_5_4_NANO_2026_03_17 = :"gpt-5.4-nano-2026-03-17"
432
435
  # @deprecated Announced shutdown date: 2026-08-10. See
433
436
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -445,6 +448,9 @@ module OpenAI
445
448
  # https://developers.openai.com/api/docs/deprecations for details and recommended
446
449
  # replacements.
447
450
  GPT_5_1 = :"gpt-5.1"
451
+ # @deprecated Announced shutdown date: 2027-04-01. See
452
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
453
+ # replacements.
448
454
  GPT_5_1_2025_11_13 = :"gpt-5.1-2025-11-13"
449
455
  # @deprecated Announced shutdown date: 2026-07-23. See
450
456
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -1013,6 +1013,9 @@ module OpenAI
1013
1013
  # replacements.
1014
1014
  GPT_5_4_NANO = :"gpt-5.4-nano"
1015
1015
  GPT_5_4_MINI_2026_03_17 = :"gpt-5.4-mini-2026-03-17"
1016
+ # @deprecated Announced shutdown date: 2027-04-01. See
1017
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
1018
+ # replacements.
1016
1019
  GPT_5_4_NANO_2026_03_17 = :"gpt-5.4-nano-2026-03-17"
1017
1020
  # @deprecated Announced shutdown date: 2026-08-10. See
1018
1021
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -1030,6 +1033,9 @@ module OpenAI
1030
1033
  # https://developers.openai.com/api/docs/deprecations for details and recommended
1031
1034
  # replacements.
1032
1035
  GPT_5_1 = :"gpt-5.1"
1036
+ # @deprecated Announced shutdown date: 2027-04-01. See
1037
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
1038
+ # replacements.
1033
1039
  GPT_5_1_2025_11_13 = :"gpt-5.1-2025-11-13"
1034
1040
  # @deprecated Announced shutdown date: 2026-07-23. See
1035
1041
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -34,9 +34,9 @@ module OpenAI
34
34
  required :type, const: :file
35
35
 
36
36
  # @!attribute prompt_cache_breakpoint
37
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
38
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
39
- # token block.
37
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
38
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
39
+ # not rounded to a token block.
40
40
  #
41
41
  # @return [OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint, nil]
42
42
  optional(
@@ -51,9 +51,9 @@ module OpenAI
51
51
  # @param file [OpenAI::Models::Chat::ChatCompletionContentPart::File::File]
52
52
  #
53
53
  # @param prompt_cache_breakpoint [OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint]
54
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
55
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
56
- # token block.
54
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
55
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
56
+ # not rounded to a token block.
57
57
  #
58
58
  # @param type [Symbol, :file]
59
59
  # The type of the content part. Always `file`.
@@ -106,9 +106,9 @@ module OpenAI
106
106
  optional :ttl, enum: -> { OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl }
107
107
 
108
108
  # @!method initialize(ttl: nil, mode: :explicit)
109
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
110
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
111
- # token block.
109
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
110
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
111
+ # not rounded to a token block.
112
112
  #
113
113
  # @param ttl [Symbol, OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl]
114
114
  # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
@@ -16,9 +16,9 @@ module OpenAI
16
16
  required :type, const: :image_url
17
17
 
18
18
  # @!attribute prompt_cache_breakpoint
19
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
20
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
21
- # token block.
19
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
20
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
21
+ # not rounded to a token block.
22
22
  #
23
23
  # @return [OpenAI::Models::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint, nil]
24
24
  optional(
@@ -33,9 +33,9 @@ module OpenAI
33
33
  # @param image_url [OpenAI::Models::Chat::ChatCompletionContentPartImage::ImageURL]
34
34
  #
35
35
  # @param prompt_cache_breakpoint [OpenAI::Models::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint]
36
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
37
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
38
- # token block.
36
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
37
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
38
+ # not rounded to a token block.
39
39
  #
40
40
  # @param type [Symbol, :image_url]
41
41
  # The type of the content part.
@@ -95,9 +95,9 @@ module OpenAI
95
95
  optional :ttl, enum: -> { OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl }
96
96
 
97
97
  # @!method initialize(ttl: nil, mode: :explicit)
98
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
99
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
100
- # token block.
98
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
99
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
100
+ # not rounded to a token block.
101
101
  #
102
102
  # @param ttl [Symbol, OpenAI::Models::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl]
103
103
  # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
@@ -16,9 +16,9 @@ module OpenAI
16
16
  required :type, const: :input_audio
17
17
 
18
18
  # @!attribute prompt_cache_breakpoint
19
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
20
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
21
- # token block.
19
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
20
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
21
+ # not rounded to a token block.
22
22
  #
23
23
  # @return [OpenAI::Models::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint, nil]
24
24
  optional(
@@ -32,9 +32,9 @@ module OpenAI
32
32
  # @param input_audio [OpenAI::Models::Chat::ChatCompletionContentPartInputAudio::InputAudio]
33
33
  #
34
34
  # @param prompt_cache_breakpoint [OpenAI::Models::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint]
35
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
36
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
37
- # token block.
35
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
36
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
37
+ # not rounded to a token block.
38
38
  #
39
39
  # @param type [Symbol, :input_audio]
40
40
  # The type of the content part. Always `input_audio`.
@@ -93,9 +93,9 @@ module OpenAI
93
93
  optional :ttl, enum: -> { OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl }
94
94
 
95
95
  # @!method initialize(ttl: nil, mode: :explicit)
96
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
97
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
98
- # token block.
96
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
97
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
98
+ # not rounded to a token block.
99
99
  #
100
100
  # @param ttl [Symbol, OpenAI::Models::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl]
101
101
  # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
@@ -17,9 +17,9 @@ module OpenAI
17
17
  required :type, const: :text
18
18
 
19
19
  # @!attribute prompt_cache_breakpoint
20
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
21
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
22
- # token block.
20
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
21
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
22
+ # not rounded to a token block.
23
23
  #
24
24
  # @return [OpenAI::Models::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint, nil]
25
25
  optional(
@@ -34,9 +34,9 @@ module OpenAI
34
34
  # The text content.
35
35
  #
36
36
  # @param prompt_cache_breakpoint [OpenAI::Models::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint]
37
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
38
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
39
- # token block.
37
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
38
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
39
+ # not rounded to a token block.
40
40
  #
41
41
  # @param type [Symbol, :text]
42
42
  # The type of the content part.
@@ -56,9 +56,9 @@ module OpenAI
56
56
  optional :ttl, enum: -> { OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl }
57
57
 
58
58
  # @!method initialize(ttl: nil, mode: :explicit)
59
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
60
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
61
- # token block.
59
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
60
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
61
+ # not rounded to a token block.
62
62
  #
63
63
  # @param ttl [Symbol, OpenAI::Models::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl]
64
64
  # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
@@ -22,6 +22,9 @@ module OpenAI
22
22
  # replacements.
23
23
  GPT_5_4_NANO = :"gpt-5.4-nano"
24
24
  GPT_5_4_MINI_2026_03_17 = :"gpt-5.4-mini-2026-03-17"
25
+ # @deprecated Announced shutdown date: 2027-04-01. See
26
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
27
+ # replacements.
25
28
  GPT_5_4_NANO_2026_03_17 = :"gpt-5.4-nano-2026-03-17"
26
29
  # @deprecated Announced shutdown date: 2026-08-10. See
27
30
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -39,6 +42,9 @@ module OpenAI
39
42
  # https://developers.openai.com/api/docs/deprecations for details and recommended
40
43
  # replacements.
41
44
  GPT_5_1 = :"gpt-5.1"
45
+ # @deprecated Announced shutdown date: 2027-04-01. See
46
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
47
+ # replacements.
42
48
  GPT_5_1_2025_11_13 = :"gpt-5.1-2025-11-13"
43
49
  # @deprecated Announced shutdown date: 2026-07-23. See
44
50
  # https://developers.openai.com/api/docs/deprecations for details and recommended
@@ -31,9 +31,9 @@ module OpenAI
31
31
  required :type, const: :computer_screenshot
32
32
 
33
33
  # @!attribute prompt_cache_breakpoint
34
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
35
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
36
- # token block.
34
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
35
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
36
+ # not rounded to a token block.
37
37
  #
38
38
  # @return [OpenAI::Models::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint, nil]
39
39
  optional(
@@ -55,9 +55,9 @@ module OpenAI
55
55
  # The URL of the screenshot image.
56
56
  #
57
57
  # @param prompt_cache_breakpoint [OpenAI::Models::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint]
58
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
59
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
60
- # token block.
58
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
59
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
60
+ # not rounded to a token block.
61
61
  #
62
62
  # @param type [Symbol, :computer_screenshot]
63
63
  # Specifies the event type. For a computer screenshot, this property is always set
@@ -94,9 +94,9 @@ module OpenAI
94
94
  optional :ttl, enum: -> { OpenAI::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl }
95
95
 
96
96
  # @!method initialize(ttl: nil, mode: :explicit)
97
- # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
98
- # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
99
- # token block.
97
+ # Marks the exact end of a reusable prompt prefix. When `ttl` is omitted, the
98
+ # breakpoint inherits the request's `prompt_cache_options.ttl`; the boundary is
99
+ # not rounded to a token block.
100
100
  #
101
101
  # @param ttl [Symbol, OpenAI::Models::Conversations::ComputerScreenshotContent::PromptCacheBreakpoint::Ttl]
102
102
  # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
@@ -45,8 +45,8 @@ module OpenAI
45
45
 
46
46
  variant :additional_tools, -> { OpenAI::Conversations::ConversationItem::AdditionalTools }
47
47
 
48
- # A configuration update that applies to subsequent responses until it is
49
- # replaced by another configuration update.
48
+ # A configuration update for subsequent responses. Each setting stays in effect
49
+ # until a later update replaces that setting.
50
50
  variant :configuration_update, -> { OpenAI::Responses::ResponseConfigurationUpdateItem }
51
51
 
52
52
  # A description of the chain of thought used by a reasoning model while generating