openai 0.110.0 → 0.112.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 (255) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +20 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/beta/agent.rb +2 -2
  5. data/lib/openai/models/beta/agent_create_params.rb +2 -2
  6. data/lib/openai/models/beta/agent_session.rb +2 -2
  7. data/lib/openai/models/beta/agent_tool.rb +18 -1
  8. data/lib/openai/models/beta/agent_tool_param.rb +18 -1
  9. data/lib/openai/models/beta/agent_update_params.rb +2 -2
  10. data/lib/openai/models/beta/agents/session_create_params.rb +2 -2
  11. data/lib/openai/models/beta/beta_response_input_file.rb +23 -1
  12. data/lib/openai/models/beta/beta_response_input_file_content.rb +23 -1
  13. data/lib/openai/models/beta/beta_response_input_image.rb +23 -1
  14. data/lib/openai/models/beta/beta_response_input_image_content.rb +23 -1
  15. data/lib/openai/models/beta/beta_response_input_text.rb +23 -1
  16. data/lib/openai/models/beta/beta_response_input_text_content.rb +23 -1
  17. data/lib/openai/models/beta/beta_response_item.rb +28 -1
  18. data/lib/openai/models/beta/beta_response_output_item.rb +28 -1
  19. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +26 -15
  20. data/lib/openai/models/beta/beta_tool.rb +26 -15
  21. data/lib/openai/models/beta/persisted_agent_tool.rb +18 -1
  22. data/lib/openai/models/beta/persisted_agent_tool_param.rb +18 -1
  23. data/lib/openai/models/chat/chat_completion_content_part.rb +23 -1
  24. data/lib/openai/models/chat/chat_completion_content_part_image.rb +23 -1
  25. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +23 -1
  26. data/lib/openai/models/chat/chat_completion_content_part_text.rb +23 -1
  27. data/lib/openai/models/conversations/computer_screenshot_content.rb +23 -1
  28. data/lib/openai/models/decision_create_params.rb +802 -28
  29. data/lib/openai/models/decision_input_json.rb +45 -0
  30. data/lib/openai/models/decision_input_message.rb +304 -48
  31. data/lib/openai/models/decision_input_part.rb +4 -1
  32. data/lib/openai/models/decision_question_input_image.rb +54 -0
  33. data/lib/openai/models/decision_question_input_part.rb +23 -0
  34. data/lib/openai/models/decision_question_input_text.rb +21 -0
  35. data/lib/openai/models/image_edit_params.rb +20 -4
  36. data/lib/openai/models/image_generate_params.rb +23 -7
  37. data/lib/openai/models/image_model.rb +2 -0
  38. data/lib/openai/models/live/client_delegation.rb +20 -1
  39. data/lib/openai/models/live/client_event.rb +4 -4
  40. data/lib/openai/models/live/commentary_append_event.rb +1 -1
  41. data/lib/openai/models/live/decision_assistant_message.rb +154 -0
  42. data/lib/openai/models/live/decision_choice_option.rb +35 -0
  43. data/lib/openai/models/live/decision_developer_message.rb +70 -0
  44. data/lib/openai/models/live/decision_input_text.rb +26 -0
  45. data/lib/openai/models/live/decision_item_create_event.rb +490 -131
  46. data/lib/openai/models/live/decision_item_created_event.rb +486 -131
  47. data/lib/openai/models/live/decision_json_object.rb +10 -0
  48. data/lib/openai/models/live/decision_question.rb +172 -0
  49. data/lib/openai/models/live/decision_stored_assistant_message.rb +152 -0
  50. data/lib/openai/models/live/decision_stored_developer_message.rb +68 -0
  51. data/lib/openai/models/live/decision_stored_system_message.rb +68 -0
  52. data/lib/openai/models/live/decision_stored_user_message.rb +195 -0
  53. data/lib/openai/models/live/decision_system_message.rb +70 -0
  54. data/lib/openai/models/live/decision_trigger.rb +6 -185
  55. data/lib/openai/models/live/decision_user_message.rb +193 -0
  56. data/lib/openai/models/live/decisions_delegation_config.rb +5 -177
  57. data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -184
  58. data/lib/openai/models/live/fork_client_event.rb +4 -4
  59. data/lib/openai/models/live/fork_server_event.rb +2 -2
  60. data/lib/openai/models/live/fork_session_config.rb +20 -1
  61. data/lib/openai/models/live/input_audio_muted_event.rb +3 -2
  62. data/lib/openai/models/live/input_audio_unmute_event.rb +2 -1
  63. data/lib/openai/models/live/input_audio_unmuted_event.rb +3 -2
  64. data/lib/openai/models/live/instructions_append_event.rb +5 -2
  65. data/lib/openai/models/live/media_session_config.rb +39 -2
  66. data/lib/openai/models/live/media_session_fork_config.rb +20 -1
  67. data/lib/openai/models/live/server_event.rb +2 -2
  68. data/lib/openai/models/live/session_accept_params.rb +39 -2
  69. data/lib/openai/models/live/session_config.rb +39 -2
  70. data/lib/openai/models/live/session_resource.rb +39 -2
  71. data/lib/openai/models/live/session_update_config.rb +41 -2
  72. data/lib/openai/models/live/sideband_client_event.rb +4 -4
  73. data/lib/openai/models/live/sideband_server_event.rb +2 -2
  74. data/lib/openai/models/live/thinking_append_event.rb +1 -1
  75. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +10 -12
  76. data/lib/openai/models/realtime/realtime_error_event.rb +1 -1
  77. data/lib/openai/models/realtime/realtime_server_event.rb +1 -1
  78. data/lib/openai/models/realtime/realtime_translation_server_event.rb +1 -1
  79. data/lib/openai/models/responses/response_input_file.rb +23 -1
  80. data/lib/openai/models/responses/response_input_file_content.rb +23 -1
  81. data/lib/openai/models/responses/response_input_image.rb +23 -1
  82. data/lib/openai/models/responses/response_input_image_content.rb +23 -1
  83. data/lib/openai/models/responses/response_input_text.rb +23 -1
  84. data/lib/openai/models/responses/response_input_text_content.rb +23 -1
  85. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +26 -15
  86. data/lib/openai/models/responses/tool.rb +26 -15
  87. data/lib/openai/models.rb +8 -0
  88. data/lib/openai/resources/beta/agents.rb +2 -2
  89. data/lib/openai/resources/beta/responses.rb +2 -2
  90. data/lib/openai/resources/decisions.rb +5 -6
  91. data/lib/openai/resources/images.rb +18 -6
  92. data/lib/openai/resources/live/forks.rb +2 -2
  93. data/lib/openai/resources/live/sideband.rb +2 -2
  94. data/lib/openai/resources/live.rb +2 -2
  95. data/lib/openai/resources/realtime/translations.rb +2 -2
  96. data/lib/openai/resources/realtime.rb +2 -2
  97. data/lib/openai/resources/responses.rb +2 -2
  98. data/lib/openai/version.rb +1 -1
  99. data/lib/openai.rb +16 -0
  100. data/rbi/openai/models/beta/agent.rbi +2 -1
  101. data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
  102. data/rbi/openai/models/beta/agent_session.rbi +2 -1
  103. data/rbi/openai/models/beta/agent_tool.rbi +40 -1
  104. data/rbi/openai/models/beta/agent_tool_param.rbi +40 -1
  105. data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
  106. data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
  107. data/rbi/openai/models/beta/beta_response_input_file.rbi +31 -1
  108. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +39 -1
  109. data/rbi/openai/models/beta/beta_response_input_image.rbi +31 -1
  110. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +39 -1
  111. data/rbi/openai/models/beta/beta_response_input_text.rbi +31 -1
  112. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +39 -1
  113. data/rbi/openai/models/beta/beta_response_item.rbi +58 -1
  114. data/rbi/openai/models/beta/beta_response_output_item.rbi +58 -1
  115. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +24 -15
  116. data/rbi/openai/models/beta/beta_tool.rbi +24 -15
  117. data/rbi/openai/models/beta/persisted_agent_tool.rbi +40 -1
  118. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +40 -1
  119. data/rbi/openai/models/chat/chat_completion_content_part.rbi +43 -1
  120. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +41 -1
  121. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +46 -1
  122. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +39 -1
  123. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +48 -1
  124. data/rbi/openai/models/decision_create_params.rbi +1273 -26
  125. data/rbi/openai/models/decision_input_json.rbi +75 -0
  126. data/rbi/openai/models/decision_input_message.rbi +455 -52
  127. data/rbi/openai/models/decision_input_part.rbi +2 -1
  128. data/rbi/openai/models/decision_question_input_image.rbi +82 -0
  129. data/rbi/openai/models/decision_question_input_part.rbi +25 -0
  130. data/rbi/openai/models/decision_question_input_text.rbi +49 -0
  131. data/rbi/openai/models/image_edit_params.rbi +12 -3
  132. data/rbi/openai/models/image_generate_params.rbi +15 -6
  133. data/rbi/openai/models/live/client_delegation.rbi +23 -1
  134. data/rbi/openai/models/live/commentary_append_event.rbi +1 -1
  135. data/rbi/openai/models/live/decision_assistant_message.rbi +247 -0
  136. data/rbi/openai/models/live/decision_choice_option.rbi +67 -0
  137. data/rbi/openai/models/live/decision_developer_message.rbi +109 -0
  138. data/rbi/openai/models/live/decision_input_text.rbi +55 -0
  139. data/rbi/openai/models/live/decision_item_create_event.rbi +765 -184
  140. data/rbi/openai/models/live/decision_item_created_event.rbi +737 -184
  141. data/rbi/openai/models/live/decision_json_object.rbi +16 -0
  142. data/rbi/openai/models/live/decision_question.rbi +300 -0
  143. data/rbi/openai/models/live/decision_stored_assistant_message.rbi +245 -0
  144. data/rbi/openai/models/live/decision_stored_developer_message.rbi +107 -0
  145. data/rbi/openai/models/live/decision_stored_system_message.rbi +107 -0
  146. data/rbi/openai/models/live/decision_stored_user_message.rbi +333 -0
  147. data/rbi/openai/models/live/decision_system_message.rbi +109 -0
  148. data/rbi/openai/models/live/decision_trigger.rbi +11 -320
  149. data/rbi/openai/models/live/decision_user_message.rbi +320 -0
  150. data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -321
  151. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -324
  152. data/rbi/openai/models/live/fork_session_config.rbi +27 -1
  153. data/rbi/openai/models/live/input_audio_muted_event.rbi +3 -2
  154. data/rbi/openai/models/live/input_audio_unmute_event.rbi +2 -1
  155. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +3 -2
  156. data/rbi/openai/models/live/instructions_append_event.rbi +5 -2
  157. data/rbi/openai/models/live/media_session_config.rbi +44 -2
  158. data/rbi/openai/models/live/media_session_fork_config.rbi +27 -1
  159. data/rbi/openai/models/live/session_accept_params.rbi +44 -2
  160. data/rbi/openai/models/live/session_config.rbi +44 -2
  161. data/rbi/openai/models/live/session_resource.rbi +44 -2
  162. data/rbi/openai/models/live/session_update_config.rbi +54 -2
  163. data/rbi/openai/models/live/thinking_append_event.rbi +1 -1
  164. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +10 -12
  165. data/rbi/openai/models/realtime/realtime_error_event.rbi +1 -1
  166. data/rbi/openai/models/responses/response_input_file.rbi +31 -1
  167. data/rbi/openai/models/responses/response_input_file_content.rbi +39 -1
  168. data/rbi/openai/models/responses/response_input_image.rbi +33 -1
  169. data/rbi/openai/models/responses/response_input_image_content.rbi +41 -1
  170. data/rbi/openai/models/responses/response_input_text.rbi +31 -1
  171. data/rbi/openai/models/responses/response_input_text_content.rbi +39 -1
  172. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +24 -15
  173. data/rbi/openai/models/responses/tool.rbi +24 -15
  174. data/rbi/openai/models.rbi +8 -0
  175. data/rbi/openai/resources/beta/agents.rbi +4 -2
  176. data/rbi/openai/resources/beta/responses.rbi +8 -1
  177. data/rbi/openai/resources/decisions.rbi +4 -5
  178. data/rbi/openai/resources/images.rbi +18 -6
  179. data/rbi/openai/resources/live/forks.rbi +8 -1
  180. data/rbi/openai/resources/live/sideband.rbi +8 -1
  181. data/rbi/openai/resources/live.rbi +8 -1
  182. data/rbi/openai/resources/realtime/translations.rbi +8 -1
  183. data/rbi/openai/resources/realtime.rbi +8 -1
  184. data/rbi/openai/resources/responses.rbi +8 -1
  185. data/sig/openai/models/beta/agent_tool.rbs +14 -0
  186. data/sig/openai/models/beta/agent_tool_param.rbs +14 -0
  187. data/sig/openai/models/beta/beta_response_input_file.rbs +34 -3
  188. data/sig/openai/models/beta/beta_response_input_file_content.rbs +34 -3
  189. data/sig/openai/models/beta/beta_response_input_image.rbs +34 -3
  190. data/sig/openai/models/beta/beta_response_input_image_content.rbs +34 -3
  191. data/sig/openai/models/beta/beta_response_input_text.rbs +34 -3
  192. data/sig/openai/models/beta/beta_response_input_text_content.rbs +34 -3
  193. data/sig/openai/models/beta/beta_response_item.rbs +34 -3
  194. data/sig/openai/models/beta/beta_response_output_item.rbs +34 -3
  195. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +24 -15
  196. data/sig/openai/models/beta/beta_tool.rbs +24 -15
  197. data/sig/openai/models/beta/persisted_agent_tool.rbs +14 -0
  198. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +14 -0
  199. data/sig/openai/models/chat/chat_completion_content_part.rbs +34 -3
  200. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +34 -3
  201. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +34 -3
  202. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +34 -3
  203. data/sig/openai/models/conversations/computer_screenshot_content.rbs +34 -3
  204. data/sig/openai/models/decision_create_params.rbs +610 -24
  205. data/sig/openai/models/decision_input_json.rbs +34 -0
  206. data/sig/openai/models/decision_input_message.rbs +264 -35
  207. data/sig/openai/models/decision_input_part.rbs +3 -1
  208. data/sig/openai/models/decision_question_input_image.rbs +51 -0
  209. data/sig/openai/models/decision_question_input_part.rbs +14 -0
  210. data/sig/openai/models/decision_question_input_text.rbs +15 -0
  211. data/sig/openai/models/image_edit_params.rbs +8 -2
  212. data/sig/openai/models/image_generate_params.rbs +10 -4
  213. data/sig/openai/models/live/client_delegation.rbs +30 -3
  214. data/sig/openai/models/live/decision_assistant_message.rbs +134 -0
  215. data/sig/openai/models/live/decision_choice_option.rbs +37 -0
  216. data/sig/openai/models/live/decision_developer_message.rbs +67 -0
  217. data/sig/openai/models/live/decision_input_text.rbs +20 -0
  218. data/sig/openai/models/live/decision_item_create_event.rbs +413 -131
  219. data/sig/openai/models/live/decision_item_created_event.rbs +401 -131
  220. data/sig/openai/models/live/decision_json_object.rbs +9 -0
  221. data/sig/openai/models/live/decision_question.rbs +164 -0
  222. data/sig/openai/models/live/decision_stored_assistant_message.rbs +131 -0
  223. data/sig/openai/models/live/decision_stored_developer_message.rbs +64 -0
  224. data/sig/openai/models/live/decision_stored_system_message.rbs +64 -0
  225. data/sig/openai/models/live/decision_stored_user_message.rbs +177 -0
  226. data/sig/openai/models/live/decision_system_message.rbs +67 -0
  227. data/sig/openai/models/live/decision_trigger.rbs +8 -171
  228. data/sig/openai/models/live/decision_user_message.rbs +180 -0
  229. data/sig/openai/models/live/decisions_delegation_config.rbs +6 -167
  230. data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -169
  231. data/sig/openai/models/live/fork_session_config.rbs +26 -0
  232. data/sig/openai/models/live/media_session_config.rbs +53 -4
  233. data/sig/openai/models/live/media_session_fork_config.rbs +26 -0
  234. data/sig/openai/models/live/session_accept_params.rbs +53 -4
  235. data/sig/openai/models/live/session_config.rbs +53 -4
  236. data/sig/openai/models/live/session_resource.rbs +53 -4
  237. data/sig/openai/models/live/session_update_config.rbs +52 -0
  238. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +10 -12
  239. data/sig/openai/models/responses/response_input_file.rbs +34 -3
  240. data/sig/openai/models/responses/response_input_file_content.rbs +34 -3
  241. data/sig/openai/models/responses/response_input_image.rbs +34 -3
  242. data/sig/openai/models/responses/response_input_image_content.rbs +34 -3
  243. data/sig/openai/models/responses/response_input_text.rbs +34 -3
  244. data/sig/openai/models/responses/response_input_text_content.rbs +34 -3
  245. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +24 -15
  246. data/sig/openai/models/responses/tool.rbs +24 -15
  247. data/sig/openai/models.rbs +9 -1
  248. data/sig/openai/resources/beta/responses.rbs +2 -1
  249. data/sig/openai/resources/live/forks.rbs +2 -1
  250. data/sig/openai/resources/live/sideband.rbs +2 -1
  251. data/sig/openai/resources/live.rbs +2 -1
  252. data/sig/openai/resources/realtime/translations.rbs +2 -1
  253. data/sig/openai/resources/realtime.rbs +2 -1
  254. data/sig/openai/resources/responses.rbs +2 -1
  255. metadata +49 -1
@@ -119,17 +119,48 @@ module OpenAI
119
119
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputFile::detail]
120
120
  end
121
121
 
122
- type prompt_cache_breakpoint = { ?mode: :explicit }
122
+ type prompt_cache_breakpoint =
123
+ {
124
+ ?mode: :explicit,
125
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputFile::PromptCacheBreakpoint::ttl
126
+ }
123
127
 
124
128
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
125
129
  # The breakpoint mode. Always `explicit`.
126
130
  attr_accessor mode: :explicit
127
131
 
132
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
133
+ attr_reader ttl: OpenAI::Models::Beta::BetaResponseInputFile::PromptCacheBreakpoint::ttl?
134
+
135
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
136
+ def ttl=: (
137
+ OpenAI::Models::Beta::BetaResponseInputFile::PromptCacheBreakpoint::ttl
138
+ ) -> OpenAI::Models::Beta::BetaResponseInputFile::PromptCacheBreakpoint::ttl
139
+
140
+ # @param ttl
141
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
128
142
  # @param mode
129
143
  # The breakpoint mode. Always `explicit`.
130
- def initialize: (?mode: :explicit) -> void
144
+ def initialize: (
145
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputFile::PromptCacheBreakpoint::ttl,
146
+ ?mode: :explicit
147
+ ) -> void
148
+
149
+ def to_hash: -> {
150
+ ?mode: :explicit,
151
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputFile::PromptCacheBreakpoint::ttl
152
+ }
153
+
154
+ type ttl = :"30m" | :"12h"
155
+
156
+ module Ttl
157
+ extend OpenAI::Internal::Type::Enum
158
+
159
+ TTL_30M: :"30m"
160
+ TTL_12H: :"12h"
131
161
 
132
- def to_hash: -> { ?mode: :explicit }
162
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputFile::PromptCacheBreakpoint::ttl]
163
+ end
133
164
  end
134
165
  end
135
166
  end
@@ -103,17 +103,48 @@ module OpenAI
103
103
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputFileContent::detail]
104
104
  end
105
105
 
106
- type prompt_cache_breakpoint = { ?mode: :explicit }
106
+ type prompt_cache_breakpoint =
107
+ {
108
+ ?mode: :explicit,
109
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::ttl
110
+ }
107
111
 
108
112
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
109
113
  # The breakpoint mode. Always `explicit`.
110
114
  attr_accessor mode: :explicit
111
115
 
116
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
117
+ attr_reader ttl: OpenAI::Models::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::ttl?
118
+
119
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
120
+ def ttl=: (
121
+ OpenAI::Models::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::ttl
122
+ ) -> OpenAI::Models::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::ttl
123
+
124
+ # @param ttl
125
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
112
126
  # @param mode
113
127
  # The breakpoint mode. Always `explicit`.
114
- def initialize: (?mode: :explicit) -> void
128
+ def initialize: (
129
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::ttl,
130
+ ?mode: :explicit
131
+ ) -> void
132
+
133
+ def to_hash: -> {
134
+ ?mode: :explicit,
135
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::ttl
136
+ }
137
+
138
+ type ttl = :"30m" | :"12h"
139
+
140
+ module Ttl
141
+ extend OpenAI::Internal::Type::Enum
142
+
143
+ TTL_30M: :"30m"
144
+ TTL_12H: :"12h"
115
145
 
116
- def to_hash: -> { ?mode: :explicit }
146
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::ttl]
147
+ end
117
148
  end
118
149
  end
119
150
  end
@@ -82,17 +82,48 @@ module OpenAI
82
82
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputImage::detail]
83
83
  end
84
84
 
85
- type prompt_cache_breakpoint = { ?mode: :explicit }
85
+ type prompt_cache_breakpoint =
86
+ {
87
+ ?mode: :explicit,
88
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputImage::PromptCacheBreakpoint::ttl
89
+ }
86
90
 
87
91
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
88
92
  # The breakpoint mode. Always `explicit`.
89
93
  attr_accessor mode: :explicit
90
94
 
95
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
96
+ attr_reader ttl: OpenAI::Models::Beta::BetaResponseInputImage::PromptCacheBreakpoint::ttl?
97
+
98
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
99
+ def ttl=: (
100
+ OpenAI::Models::Beta::BetaResponseInputImage::PromptCacheBreakpoint::ttl
101
+ ) -> OpenAI::Models::Beta::BetaResponseInputImage::PromptCacheBreakpoint::ttl
102
+
103
+ # @param ttl
104
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
91
105
  # @param mode
92
106
  # The breakpoint mode. Always `explicit`.
93
- def initialize: (?mode: :explicit) -> void
107
+ def initialize: (
108
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputImage::PromptCacheBreakpoint::ttl,
109
+ ?mode: :explicit
110
+ ) -> void
111
+
112
+ def to_hash: -> {
113
+ ?mode: :explicit,
114
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputImage::PromptCacheBreakpoint::ttl
115
+ }
116
+
117
+ type ttl = :"30m" | :"12h"
118
+
119
+ module Ttl
120
+ extend OpenAI::Internal::Type::Enum
121
+
122
+ TTL_30M: :"30m"
123
+ TTL_12H: :"12h"
94
124
 
95
- def to_hash: -> { ?mode: :explicit }
125
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputImage::PromptCacheBreakpoint::ttl]
126
+ end
96
127
  end
97
128
  end
98
129
  end
@@ -75,17 +75,48 @@ module OpenAI
75
75
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputImageContent::detail]
76
76
  end
77
77
 
78
- type prompt_cache_breakpoint = { ?mode: :explicit }
78
+ type prompt_cache_breakpoint =
79
+ {
80
+ ?mode: :explicit,
81
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::ttl
82
+ }
79
83
 
80
84
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
81
85
  # The breakpoint mode. Always `explicit`.
82
86
  attr_accessor mode: :explicit
83
87
 
88
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
89
+ attr_reader ttl: OpenAI::Models::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::ttl?
90
+
91
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
92
+ def ttl=: (
93
+ OpenAI::Models::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::ttl
94
+ ) -> OpenAI::Models::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::ttl
95
+
96
+ # @param ttl
97
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
84
98
  # @param mode
85
99
  # The breakpoint mode. Always `explicit`.
86
- def initialize: (?mode: :explicit) -> void
100
+ def initialize: (
101
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::ttl,
102
+ ?mode: :explicit
103
+ ) -> void
104
+
105
+ def to_hash: -> {
106
+ ?mode: :explicit,
107
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::ttl
108
+ }
109
+
110
+ type ttl = :"30m" | :"12h"
111
+
112
+ module Ttl
113
+ extend OpenAI::Internal::Type::Enum
114
+
115
+ TTL_30M: :"30m"
116
+ TTL_12H: :"12h"
87
117
 
88
- def to_hash: -> { ?mode: :explicit }
118
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::ttl]
119
+ end
89
120
  end
90
121
  end
91
122
  end
@@ -49,17 +49,48 @@ module OpenAI
49
49
  ?prompt_cache_breakpoint: OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint
50
50
  }
51
51
 
52
- type prompt_cache_breakpoint = { ?mode: :explicit }
52
+ type prompt_cache_breakpoint =
53
+ {
54
+ ?mode: :explicit,
55
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputText::PromptCacheBreakpoint::ttl
56
+ }
53
57
 
54
58
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
55
59
  # The breakpoint mode. Always `explicit`.
56
60
  attr_accessor mode: :explicit
57
61
 
62
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
63
+ attr_reader ttl: OpenAI::Models::Beta::BetaResponseInputText::PromptCacheBreakpoint::ttl?
64
+
65
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
66
+ def ttl=: (
67
+ OpenAI::Models::Beta::BetaResponseInputText::PromptCacheBreakpoint::ttl
68
+ ) -> OpenAI::Models::Beta::BetaResponseInputText::PromptCacheBreakpoint::ttl
69
+
70
+ # @param ttl
71
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
58
72
  # @param mode
59
73
  # The breakpoint mode. Always `explicit`.
60
- def initialize: (?mode: :explicit) -> void
74
+ def initialize: (
75
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputText::PromptCacheBreakpoint::ttl,
76
+ ?mode: :explicit
77
+ ) -> void
78
+
79
+ def to_hash: -> {
80
+ ?mode: :explicit,
81
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputText::PromptCacheBreakpoint::ttl
82
+ }
83
+
84
+ type ttl = :"30m" | :"12h"
85
+
86
+ module Ttl
87
+ extend OpenAI::Internal::Type::Enum
88
+
89
+ TTL_30M: :"30m"
90
+ TTL_12H: :"12h"
61
91
 
62
- def to_hash: -> { ?mode: :explicit }
92
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputText::PromptCacheBreakpoint::ttl]
93
+ end
63
94
  end
64
95
  end
65
96
  end
@@ -42,17 +42,48 @@ module OpenAI
42
42
  ?prompt_cache_breakpoint: OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint?
43
43
  }
44
44
 
45
- type prompt_cache_breakpoint = { ?mode: :explicit }
45
+ type prompt_cache_breakpoint =
46
+ {
47
+ ?mode: :explicit,
48
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::ttl
49
+ }
46
50
 
47
51
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
48
52
  # The breakpoint mode. Always `explicit`.
49
53
  attr_accessor mode: :explicit
50
54
 
55
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
56
+ attr_reader ttl: OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::ttl?
57
+
58
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
59
+ def ttl=: (
60
+ OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::ttl
61
+ ) -> OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::ttl
62
+
63
+ # @param ttl
64
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
51
65
  # @param mode
52
66
  # The breakpoint mode. Always `explicit`.
53
- def initialize: (?mode: :explicit) -> void
67
+ def initialize: (
68
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::ttl,
69
+ ?mode: :explicit
70
+ ) -> void
71
+
72
+ def to_hash: -> {
73
+ ?mode: :explicit,
74
+ ?ttl: OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::ttl
75
+ }
76
+
77
+ type ttl = :"30m" | :"12h"
78
+
79
+ module Ttl
80
+ extend OpenAI::Internal::Type::Enum
81
+
82
+ TTL_30M: :"30m"
83
+ TTL_12H: :"12h"
54
84
 
55
- def to_hash: -> { ?mode: :explicit }
85
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::ttl]
86
+ end
56
87
  end
57
88
  end
58
89
  end
@@ -247,17 +247,48 @@ module OpenAI
247
247
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::detail]
248
248
  end
249
249
 
250
- type prompt_cache_breakpoint = { ?mode: :explicit }
250
+ type prompt_cache_breakpoint =
251
+ {
252
+ ?mode: :explicit,
253
+ ?ttl: OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl
254
+ }
251
255
 
252
256
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
253
257
  # The breakpoint mode. Always `explicit`.
254
258
  attr_accessor mode: :explicit
255
259
 
260
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
261
+ attr_reader ttl: OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl?
262
+
263
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
264
+ def ttl=: (
265
+ OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl
266
+ ) -> OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl
267
+
268
+ # @param ttl
269
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
256
270
  # @param mode
257
271
  # The breakpoint mode. Always `explicit`.
258
- def initialize: (?mode: :explicit) -> void
272
+ def initialize: (
273
+ ?ttl: OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl,
274
+ ?mode: :explicit
275
+ ) -> void
276
+
277
+ def to_hash: -> {
278
+ ?mode: :explicit,
279
+ ?ttl: OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl
280
+ }
281
+
282
+ type ttl = :"30m" | :"12h"
283
+
284
+ module Ttl
285
+ extend OpenAI::Internal::Type::Enum
286
+
287
+ TTL_30M: :"30m"
288
+ TTL_12H: :"12h"
259
289
 
260
- def to_hash: -> { ?mode: :explicit }
290
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl]
291
+ end
261
292
  end
262
293
  end
263
294
 
@@ -245,17 +245,48 @@ module OpenAI
245
245
  def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::detail]
246
246
  end
247
247
 
248
- type prompt_cache_breakpoint = { ?mode: :explicit }
248
+ type prompt_cache_breakpoint =
249
+ {
250
+ ?mode: :explicit,
251
+ ?ttl: OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl
252
+ }
249
253
 
250
254
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
251
255
  # The breakpoint mode. Always `explicit`.
252
256
  attr_accessor mode: :explicit
253
257
 
258
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
259
+ attr_reader ttl: OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl?
260
+
261
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
262
+ def ttl=: (
263
+ OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl
264
+ ) -> OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl
265
+
266
+ # @param ttl
267
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
254
268
  # @param mode
255
269
  # The breakpoint mode. Always `explicit`.
256
- def initialize: (?mode: :explicit) -> void
270
+ def initialize: (
271
+ ?ttl: OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl,
272
+ ?mode: :explicit
273
+ ) -> void
274
+
275
+ def to_hash: -> {
276
+ ?mode: :explicit,
277
+ ?ttl: OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl
278
+ }
279
+
280
+ type ttl = :"30m" | :"12h"
281
+
282
+ module Ttl
283
+ extend OpenAI::Internal::Type::Enum
284
+
285
+ TTL_30M: :"30m"
286
+ TTL_12H: :"12h"
257
287
 
258
- def to_hash: -> { ?mode: :explicit }
288
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::ttl]
289
+ end
259
290
  end
260
291
  end
261
292
 
@@ -734,18 +734,24 @@ module OpenAI
734
734
  OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputImageMask
735
735
  ) -> OpenAI::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::InputImageMask
736
736
 
737
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
738
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
739
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
740
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
741
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
737
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
738
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
739
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
740
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
741
+ # `gpt-image-2`.
742
+ #
743
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
744
+ # `gpt-image-2.5-flare` instead.
742
745
  attr_reader model: OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::model?
743
746
 
744
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
745
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
746
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
747
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
748
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
747
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
748
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
749
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
750
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
751
+ # `gpt-image-2`.
752
+ #
753
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
754
+ # `gpt-image-2.5-flare` instead.
749
755
  def model=: (
750
756
  OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::model
751
757
  ) -> OpenAI::Models::Beta::BetaResponseToolSearchOutputItemParam::Tool::ImageGeneration::model
@@ -843,11 +849,14 @@ module OpenAI
843
849
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
844
850
  # `file_id` (string, optional).
845
851
  # @param model
846
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
847
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
848
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
849
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
850
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
852
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
853
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
854
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
855
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
856
+ # `gpt-image-2`.
857
+ #
858
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
859
+ # `gpt-image-2.5-flare` instead.
851
860
  # @param moderation
852
861
  # Moderation level for the generated image. Default: `auto`.
853
862
  # @param output_compression
@@ -659,18 +659,24 @@ module OpenAI
659
659
  OpenAI::Beta::BetaTool::ImageGeneration::InputImageMask
660
660
  ) -> OpenAI::Beta::BetaTool::ImageGeneration::InputImageMask
661
661
 
662
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
663
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
664
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
665
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
666
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
662
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
663
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
664
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
665
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
666
+ # `gpt-image-2`.
667
+ #
668
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
669
+ # `gpt-image-2.5-flare` instead.
667
670
  attr_reader model: OpenAI::Models::Beta::BetaTool::ImageGeneration::model?
668
671
 
669
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
670
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
671
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
672
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
673
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
672
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
673
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
674
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
675
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
676
+ # `gpt-image-2`.
677
+ #
678
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
679
+ # `gpt-image-2.5-flare` instead.
674
680
  def model=: (
675
681
  OpenAI::Models::Beta::BetaTool::ImageGeneration::model
676
682
  ) -> OpenAI::Models::Beta::BetaTool::ImageGeneration::model
@@ -768,11 +774,14 @@ module OpenAI
768
774
  # Optional mask for inpainting. Contains `image_url` (string, optional) and
769
775
  # `file_id` (string, optional).
770
776
  # @param model
771
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
772
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
773
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
774
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
775
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
777
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
778
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
779
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
780
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
781
+ # `gpt-image-2`.
782
+ #
783
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
784
+ # `gpt-image-2.5-flare` instead.
776
785
  # @param moderation
777
786
  # Moderation level for the generated image. Default: `auto`.
778
787
  # @param output_compression
@@ -8,6 +8,7 @@ module OpenAI
8
8
  | OpenAI::Beta::PersistedAgentTool::Mcp
9
9
  | OpenAI::Beta::PersistedAgentTool::WebSearch
10
10
  | OpenAI::Beta::PersistedAgentTool::ComputerUse
11
+ | OpenAI::Beta::PersistedAgentTool::Automations
11
12
 
12
13
  module PersistedAgentTool
13
14
  extend OpenAI::Internal::Type::Union
@@ -327,6 +328,19 @@ module OpenAI
327
328
  def to_hash: -> { include_screenshots: bool, ?type: :computer_use }
328
329
  end
329
330
 
331
+ type automations = { ?type: :automations }
332
+
333
+ class Automations < OpenAI::Internal::Type::BaseModel
334
+ # The type of the object. Always `automations`.
335
+ attr_accessor type: :automations
336
+
337
+ # @param type
338
+ # The type of the object. Always `automations`.
339
+ def initialize: (?type: :automations) -> void
340
+
341
+ def to_hash: -> { ?type: :automations }
342
+ end
343
+
330
344
  def self?.variants: -> ::Array[OpenAI::Models::Beta::persisted_agent_tool]
331
345
  end
332
346
  end
@@ -8,6 +8,7 @@ module OpenAI
8
8
  | OpenAI::Beta::PersistedAgentToolParam::Mcp
9
9
  | OpenAI::Beta::PersistedAgentToolParam::WebSearch
10
10
  | OpenAI::Beta::PersistedAgentToolParam::ComputerUse
11
+ | OpenAI::Beta::PersistedAgentToolParam::Automations
11
12
 
12
13
  module PersistedAgentToolParam
13
14
  extend OpenAI::Internal::Type::Union
@@ -355,6 +356,19 @@ module OpenAI
355
356
  def to_hash: -> { ?type: :computer_use, ?include_screenshots: bool }
356
357
  end
357
358
 
359
+ type automations = { ?type: :automations }
360
+
361
+ class Automations < OpenAI::Internal::Type::BaseModel
362
+ # The type of the object. Always `automations`.
363
+ attr_accessor type: :automations
364
+
365
+ # @param type
366
+ # The type of the object. Always `automations`.
367
+ def initialize: (?type: :automations) -> void
368
+
369
+ def to_hash: -> { ?type: :automations }
370
+ end
371
+
358
372
  def self?.variants: -> ::Array[OpenAI::Models::Beta::persisted_agent_tool_param]
359
373
  end
360
374
  end
@@ -99,17 +99,48 @@ module OpenAI
99
99
  }
100
100
  end
101
101
 
102
- type prompt_cache_breakpoint = { ?mode: :explicit }
102
+ type prompt_cache_breakpoint =
103
+ {
104
+ ?mode: :explicit,
105
+ ?ttl: OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::ttl
106
+ }
103
107
 
104
108
  class PromptCacheBreakpoint < OpenAI::Internal::Type::BaseModel
105
109
  # The breakpoint mode. Always `explicit`.
106
110
  attr_accessor mode: :explicit
107
111
 
112
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
113
+ attr_reader ttl: OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::ttl?
114
+
115
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
116
+ def ttl=: (
117
+ OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::ttl
118
+ ) -> OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::ttl
119
+
120
+ # @param ttl
121
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
108
122
  # @param mode
109
123
  # The breakpoint mode. Always `explicit`.
110
- def initialize: (?mode: :explicit) -> void
124
+ def initialize: (
125
+ ?ttl: OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::ttl,
126
+ ?mode: :explicit
127
+ ) -> void
128
+
129
+ def to_hash: -> {
130
+ ?mode: :explicit,
131
+ ?ttl: OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::ttl
132
+ }
133
+
134
+ type ttl = :"30m" | :"12h"
135
+
136
+ module Ttl
137
+ extend OpenAI::Internal::Type::Enum
138
+
139
+ TTL_30M: :"30m"
140
+ TTL_12H: :"12h"
111
141
 
112
- def to_hash: -> { ?mode: :explicit }
142
+ def self?.values: -> ::Array[OpenAI::Models::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::ttl]
143
+ end
113
144
  end
114
145
  end
115
146