openai 0.111.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 (230) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -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 +8 -4
  29. data/lib/openai/models/image_edit_params.rb +20 -4
  30. data/lib/openai/models/image_generate_params.rb +23 -7
  31. data/lib/openai/models/image_model.rb +2 -0
  32. data/lib/openai/models/live/client_delegation.rb +20 -1
  33. data/lib/openai/models/live/client_event.rb +4 -4
  34. data/lib/openai/models/live/commentary_append_event.rb +1 -1
  35. data/lib/openai/models/live/decision_assistant_message.rb +154 -0
  36. data/lib/openai/models/live/decision_choice_option.rb +35 -0
  37. data/lib/openai/models/live/decision_developer_message.rb +70 -0
  38. data/lib/openai/models/live/decision_input_text.rb +26 -0
  39. data/lib/openai/models/live/decision_item_create_event.rb +490 -131
  40. data/lib/openai/models/live/decision_item_created_event.rb +486 -131
  41. data/lib/openai/models/live/decision_json_object.rb +10 -0
  42. data/lib/openai/models/live/decision_question.rb +172 -0
  43. data/lib/openai/models/live/decision_stored_assistant_message.rb +152 -0
  44. data/lib/openai/models/live/decision_stored_developer_message.rb +68 -0
  45. data/lib/openai/models/live/decision_stored_system_message.rb +68 -0
  46. data/lib/openai/models/live/decision_stored_user_message.rb +195 -0
  47. data/lib/openai/models/live/decision_system_message.rb +70 -0
  48. data/lib/openai/models/live/decision_trigger.rb +6 -258
  49. data/lib/openai/models/live/decision_user_message.rb +193 -0
  50. data/lib/openai/models/live/decisions_delegation_config.rb +5 -250
  51. data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -257
  52. data/lib/openai/models/live/fork_client_event.rb +4 -4
  53. data/lib/openai/models/live/fork_server_event.rb +2 -2
  54. data/lib/openai/models/live/fork_session_config.rb +20 -1
  55. data/lib/openai/models/live/input_audio_muted_event.rb +3 -2
  56. data/lib/openai/models/live/input_audio_unmute_event.rb +2 -1
  57. data/lib/openai/models/live/input_audio_unmuted_event.rb +3 -2
  58. data/lib/openai/models/live/instructions_append_event.rb +5 -2
  59. data/lib/openai/models/live/media_session_config.rb +39 -2
  60. data/lib/openai/models/live/media_session_fork_config.rb +20 -1
  61. data/lib/openai/models/live/server_event.rb +2 -2
  62. data/lib/openai/models/live/session_accept_params.rb +39 -2
  63. data/lib/openai/models/live/session_config.rb +39 -2
  64. data/lib/openai/models/live/session_resource.rb +39 -2
  65. data/lib/openai/models/live/session_update_config.rb +41 -2
  66. data/lib/openai/models/live/sideband_client_event.rb +4 -4
  67. data/lib/openai/models/live/sideband_server_event.rb +2 -2
  68. data/lib/openai/models/live/thinking_append_event.rb +1 -1
  69. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +10 -12
  70. data/lib/openai/models/realtime/realtime_error_event.rb +1 -1
  71. data/lib/openai/models/realtime/realtime_server_event.rb +1 -1
  72. data/lib/openai/models/realtime/realtime_translation_server_event.rb +1 -1
  73. data/lib/openai/models/responses/response_input_file.rb +23 -1
  74. data/lib/openai/models/responses/response_input_file_content.rb +23 -1
  75. data/lib/openai/models/responses/response_input_image.rb +23 -1
  76. data/lib/openai/models/responses/response_input_image_content.rb +23 -1
  77. data/lib/openai/models/responses/response_input_text.rb +23 -1
  78. data/lib/openai/models/responses/response_input_text_content.rb +23 -1
  79. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +26 -15
  80. data/lib/openai/models/responses/tool.rb +26 -15
  81. data/lib/openai/resources/beta/agents.rb +2 -2
  82. data/lib/openai/resources/beta/responses.rb +2 -2
  83. data/lib/openai/resources/images.rb +18 -6
  84. data/lib/openai/resources/live/forks.rb +2 -2
  85. data/lib/openai/resources/live/sideband.rb +2 -2
  86. data/lib/openai/resources/live.rb +2 -2
  87. data/lib/openai/resources/realtime/translations.rb +2 -2
  88. data/lib/openai/resources/realtime.rb +2 -2
  89. data/lib/openai/resources/responses.rb +2 -2
  90. data/lib/openai/version.rb +1 -1
  91. data/lib/openai.rb +12 -0
  92. data/rbi/openai/models/beta/agent.rbi +2 -1
  93. data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
  94. data/rbi/openai/models/beta/agent_session.rbi +2 -1
  95. data/rbi/openai/models/beta/agent_tool.rbi +40 -1
  96. data/rbi/openai/models/beta/agent_tool_param.rbi +40 -1
  97. data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
  98. data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
  99. data/rbi/openai/models/beta/beta_response_input_file.rbi +31 -1
  100. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +39 -1
  101. data/rbi/openai/models/beta/beta_response_input_image.rbi +31 -1
  102. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +39 -1
  103. data/rbi/openai/models/beta/beta_response_input_text.rbi +31 -1
  104. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +39 -1
  105. data/rbi/openai/models/beta/beta_response_item.rbi +58 -1
  106. data/rbi/openai/models/beta/beta_response_output_item.rbi +58 -1
  107. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +24 -15
  108. data/rbi/openai/models/beta/beta_tool.rbi +24 -15
  109. data/rbi/openai/models/beta/persisted_agent_tool.rbi +40 -1
  110. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +40 -1
  111. data/rbi/openai/models/chat/chat_completion_content_part.rbi +43 -1
  112. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +41 -1
  113. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +46 -1
  114. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +39 -1
  115. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +48 -1
  116. data/rbi/openai/models/image_edit_params.rbi +12 -3
  117. data/rbi/openai/models/image_generate_params.rbi +15 -6
  118. data/rbi/openai/models/live/client_delegation.rbi +23 -1
  119. data/rbi/openai/models/live/commentary_append_event.rbi +1 -1
  120. data/rbi/openai/models/live/decision_assistant_message.rbi +247 -0
  121. data/rbi/openai/models/live/decision_choice_option.rbi +67 -0
  122. data/rbi/openai/models/live/decision_developer_message.rbi +109 -0
  123. data/rbi/openai/models/live/decision_input_text.rbi +55 -0
  124. data/rbi/openai/models/live/decision_item_create_event.rbi +765 -184
  125. data/rbi/openai/models/live/decision_item_created_event.rbi +737 -184
  126. data/rbi/openai/models/live/decision_json_object.rbi +16 -0
  127. data/rbi/openai/models/live/decision_question.rbi +300 -0
  128. data/rbi/openai/models/live/decision_stored_assistant_message.rbi +245 -0
  129. data/rbi/openai/models/live/decision_stored_developer_message.rbi +107 -0
  130. data/rbi/openai/models/live/decision_stored_system_message.rbi +107 -0
  131. data/rbi/openai/models/live/decision_stored_user_message.rbi +333 -0
  132. data/rbi/openai/models/live/decision_system_message.rbi +109 -0
  133. data/rbi/openai/models/live/decision_trigger.rbi +11 -383
  134. data/rbi/openai/models/live/decision_user_message.rbi +320 -0
  135. data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -384
  136. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -387
  137. data/rbi/openai/models/live/fork_session_config.rbi +27 -1
  138. data/rbi/openai/models/live/input_audio_muted_event.rbi +3 -2
  139. data/rbi/openai/models/live/input_audio_unmute_event.rbi +2 -1
  140. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +3 -2
  141. data/rbi/openai/models/live/instructions_append_event.rbi +5 -2
  142. data/rbi/openai/models/live/media_session_config.rbi +44 -2
  143. data/rbi/openai/models/live/media_session_fork_config.rbi +27 -1
  144. data/rbi/openai/models/live/session_accept_params.rbi +44 -2
  145. data/rbi/openai/models/live/session_config.rbi +44 -2
  146. data/rbi/openai/models/live/session_resource.rbi +44 -2
  147. data/rbi/openai/models/live/session_update_config.rbi +54 -2
  148. data/rbi/openai/models/live/thinking_append_event.rbi +1 -1
  149. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +10 -12
  150. data/rbi/openai/models/realtime/realtime_error_event.rbi +1 -1
  151. data/rbi/openai/models/responses/response_input_file.rbi +31 -1
  152. data/rbi/openai/models/responses/response_input_file_content.rbi +39 -1
  153. data/rbi/openai/models/responses/response_input_image.rbi +33 -1
  154. data/rbi/openai/models/responses/response_input_image_content.rbi +41 -1
  155. data/rbi/openai/models/responses/response_input_text.rbi +31 -1
  156. data/rbi/openai/models/responses/response_input_text_content.rbi +39 -1
  157. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +24 -15
  158. data/rbi/openai/models/responses/tool.rbi +24 -15
  159. data/rbi/openai/resources/beta/agents.rbi +4 -2
  160. data/rbi/openai/resources/beta/responses.rbi +8 -1
  161. data/rbi/openai/resources/images.rbi +18 -6
  162. data/rbi/openai/resources/live/forks.rbi +8 -1
  163. data/rbi/openai/resources/live/sideband.rbi +8 -1
  164. data/rbi/openai/resources/live.rbi +8 -1
  165. data/rbi/openai/resources/realtime/translations.rbi +8 -1
  166. data/rbi/openai/resources/realtime.rbi +8 -1
  167. data/rbi/openai/resources/responses.rbi +8 -1
  168. data/sig/openai/models/beta/agent_tool.rbs +14 -0
  169. data/sig/openai/models/beta/agent_tool_param.rbs +14 -0
  170. data/sig/openai/models/beta/beta_response_input_file.rbs +34 -3
  171. data/sig/openai/models/beta/beta_response_input_file_content.rbs +34 -3
  172. data/sig/openai/models/beta/beta_response_input_image.rbs +34 -3
  173. data/sig/openai/models/beta/beta_response_input_image_content.rbs +34 -3
  174. data/sig/openai/models/beta/beta_response_input_text.rbs +34 -3
  175. data/sig/openai/models/beta/beta_response_input_text_content.rbs +34 -3
  176. data/sig/openai/models/beta/beta_response_item.rbs +34 -3
  177. data/sig/openai/models/beta/beta_response_output_item.rbs +34 -3
  178. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +24 -15
  179. data/sig/openai/models/beta/beta_tool.rbs +24 -15
  180. data/sig/openai/models/beta/persisted_agent_tool.rbs +14 -0
  181. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +14 -0
  182. data/sig/openai/models/chat/chat_completion_content_part.rbs +34 -3
  183. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +34 -3
  184. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +34 -3
  185. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +34 -3
  186. data/sig/openai/models/conversations/computer_screenshot_content.rbs +34 -3
  187. data/sig/openai/models/image_edit_params.rbs +8 -2
  188. data/sig/openai/models/image_generate_params.rbs +10 -4
  189. data/sig/openai/models/live/client_delegation.rbs +30 -3
  190. data/sig/openai/models/live/decision_assistant_message.rbs +134 -0
  191. data/sig/openai/models/live/decision_choice_option.rbs +37 -0
  192. data/sig/openai/models/live/decision_developer_message.rbs +67 -0
  193. data/sig/openai/models/live/decision_input_text.rbs +20 -0
  194. data/sig/openai/models/live/decision_item_create_event.rbs +413 -131
  195. data/sig/openai/models/live/decision_item_created_event.rbs +401 -131
  196. data/sig/openai/models/live/decision_json_object.rbs +9 -0
  197. data/sig/openai/models/live/decision_question.rbs +164 -0
  198. data/sig/openai/models/live/decision_stored_assistant_message.rbs +131 -0
  199. data/sig/openai/models/live/decision_stored_developer_message.rbs +64 -0
  200. data/sig/openai/models/live/decision_stored_system_message.rbs +64 -0
  201. data/sig/openai/models/live/decision_stored_user_message.rbs +177 -0
  202. data/sig/openai/models/live/decision_system_message.rbs +67 -0
  203. data/sig/openai/models/live/decision_trigger.rbs +8 -208
  204. data/sig/openai/models/live/decision_user_message.rbs +180 -0
  205. data/sig/openai/models/live/decisions_delegation_config.rbs +6 -204
  206. data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -206
  207. data/sig/openai/models/live/fork_session_config.rbs +26 -0
  208. data/sig/openai/models/live/media_session_config.rbs +53 -4
  209. data/sig/openai/models/live/media_session_fork_config.rbs +26 -0
  210. data/sig/openai/models/live/session_accept_params.rbs +53 -4
  211. data/sig/openai/models/live/session_config.rbs +53 -4
  212. data/sig/openai/models/live/session_resource.rbs +53 -4
  213. data/sig/openai/models/live/session_update_config.rbs +52 -0
  214. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +10 -12
  215. data/sig/openai/models/responses/response_input_file.rbs +34 -3
  216. data/sig/openai/models/responses/response_input_file_content.rbs +34 -3
  217. data/sig/openai/models/responses/response_input_image.rbs +34 -3
  218. data/sig/openai/models/responses/response_input_image_content.rbs +34 -3
  219. data/sig/openai/models/responses/response_input_text.rbs +34 -3
  220. data/sig/openai/models/responses/response_input_text_content.rbs +34 -3
  221. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +24 -15
  222. data/sig/openai/models/responses/tool.rbs +24 -15
  223. data/sig/openai/resources/beta/responses.rbs +2 -1
  224. data/sig/openai/resources/live/forks.rbs +2 -1
  225. data/sig/openai/resources/live/sideband.rbs +2 -1
  226. data/sig/openai/resources/live.rbs +2 -1
  227. data/sig/openai/resources/realtime/translations.rbs +2 -1
  228. data/sig/openai/resources/realtime.rbs +2 -1
  229. data/sig/openai/resources/responses.rbs +2 -1
  230. metadata +37 -1
@@ -80,7 +80,8 @@ module OpenAI
80
80
  OpenAI::Beta::PersistedAgentToolParam::ProgrammaticToolCalling,
81
81
  OpenAI::Beta::PersistedAgentToolParam::Mcp,
82
82
  OpenAI::Beta::PersistedAgentToolParam::WebSearch,
83
- OpenAI::Beta::PersistedAgentToolParam::ComputerUse
83
+ OpenAI::Beta::PersistedAgentToolParam::ComputerUse,
84
+ OpenAI::Beta::PersistedAgentToolParam::Automations
84
85
  )
85
86
  ]
86
87
  )
@@ -117,7 +118,8 @@ module OpenAI
117
118
  OpenAI::Beta::PersistedAgentToolParam::ProgrammaticToolCalling::OrHash,
118
119
  OpenAI::Beta::PersistedAgentToolParam::Mcp::OrHash,
119
120
  OpenAI::Beta::PersistedAgentToolParam::WebSearch::OrHash,
120
- OpenAI::Beta::PersistedAgentToolParam::ComputerUse::OrHash
121
+ OpenAI::Beta::PersistedAgentToolParam::ComputerUse::OrHash,
122
+ OpenAI::Beta::PersistedAgentToolParam::Automations::OrHash
121
123
  )
122
124
  ]
123
125
  ),
@@ -186,7 +188,8 @@ module OpenAI
186
188
  OpenAI::Beta::PersistedAgentToolParam::ProgrammaticToolCalling,
187
189
  OpenAI::Beta::PersistedAgentToolParam::Mcp,
188
190
  OpenAI::Beta::PersistedAgentToolParam::WebSearch,
189
- OpenAI::Beta::PersistedAgentToolParam::ComputerUse
191
+ OpenAI::Beta::PersistedAgentToolParam::ComputerUse,
192
+ OpenAI::Beta::PersistedAgentToolParam::Automations
190
193
  )
191
194
  ]
192
195
  ),
@@ -212,7 +212,8 @@ module OpenAI
212
212
  OpenAI::Beta::AgentToolParam::ProgrammaticToolCalling,
213
213
  OpenAI::Beta::AgentToolParam::Mcp,
214
214
  OpenAI::Beta::AgentToolParam::WebSearch,
215
- OpenAI::Beta::AgentToolParam::ComputerUse
215
+ OpenAI::Beta::AgentToolParam::ComputerUse,
216
+ OpenAI::Beta::AgentToolParam::Automations
216
217
  )
217
218
  ]
218
219
  )
@@ -245,7 +246,8 @@ module OpenAI
245
246
  OpenAI::Beta::AgentToolParam::ProgrammaticToolCalling::OrHash,
246
247
  OpenAI::Beta::AgentToolParam::Mcp::OrHash,
247
248
  OpenAI::Beta::AgentToolParam::WebSearch::OrHash,
248
- OpenAI::Beta::AgentToolParam::ComputerUse::OrHash
249
+ OpenAI::Beta::AgentToolParam::ComputerUse::OrHash,
250
+ OpenAI::Beta::AgentToolParam::Automations::OrHash
249
251
  )
250
252
  ]
251
253
  )
@@ -299,7 +301,8 @@ module OpenAI
299
301
  OpenAI::Beta::AgentToolParam::ProgrammaticToolCalling,
300
302
  OpenAI::Beta::AgentToolParam::Mcp,
301
303
  OpenAI::Beta::AgentToolParam::WebSearch,
302
- OpenAI::Beta::AgentToolParam::ComputerUse
304
+ OpenAI::Beta::AgentToolParam::ComputerUse,
305
+ OpenAI::Beta::AgentToolParam::Automations
303
306
  )
304
307
  ]
305
308
  )
@@ -167,18 +167,30 @@ module OpenAI
167
167
  sig { returns(Symbol) }
168
168
  attr_accessor :mode
169
169
 
170
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
171
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputFile::PromptCacheBreakpoint::Ttl::OrSymbol)) }
172
+ attr_reader :ttl
173
+
174
+ sig { params(ttl: OpenAI::Beta::BetaResponseInputFile::PromptCacheBreakpoint::Ttl::OrSymbol).void }
175
+ attr_writer :ttl
176
+
170
177
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
171
178
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
172
179
  # token block.
173
180
  sig do
174
181
  params(
175
182
 
183
+ ttl: OpenAI::Beta::BetaResponseInputFile::PromptCacheBreakpoint::Ttl::OrSymbol,
184
+
176
185
  mode: Symbol
177
186
  )
178
187
  .returns(T.attached_class)
179
188
  end
180
189
  def self.new(
181
190
 
191
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
192
+ ttl: nil,
193
+
182
194
  # The breakpoint mode. Always `explicit`.
183
195
 
184
196
  mode: :explicit
@@ -187,12 +199,30 @@ module OpenAI
187
199
 
188
200
  sig do
189
201
  override.returns(
190
- {mode: Symbol}
202
+ {mode: Symbol, ttl: OpenAI::Beta::BetaResponseInputFile::PromptCacheBreakpoint::Ttl::OrSymbol}
191
203
  )
192
204
  end
193
205
  def to_hash
194
206
  end
195
207
 
208
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
209
+ module Ttl
210
+ extend OpenAI::Internal::Type::Enum
211
+
212
+ TaggedSymbol = T.type_alias {
213
+ T.all(Symbol, OpenAI::Beta::BetaResponseInputFile::PromptCacheBreakpoint::Ttl)
214
+ }
215
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
216
+
217
+ TTL_30M = T.let(:"30m", OpenAI::Beta::BetaResponseInputFile::PromptCacheBreakpoint::Ttl::TaggedSymbol)
218
+ TTL_12H = T.let(:"12h", OpenAI::Beta::BetaResponseInputFile::PromptCacheBreakpoint::Ttl::TaggedSymbol)
219
+
220
+ sig {
221
+ override.returns(T::Array[OpenAI::Beta::BetaResponseInputFile::PromptCacheBreakpoint::Ttl::TaggedSymbol])
222
+ }
223
+ def self.values
224
+ end
225
+ end
196
226
  end
197
227
 
198
228
  end
@@ -165,18 +165,30 @@ module OpenAI
165
165
  sig { returns(Symbol) }
166
166
  attr_accessor :mode
167
167
 
168
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
169
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::Ttl::OrSymbol)) }
170
+ attr_reader :ttl
171
+
172
+ sig { params(ttl: OpenAI::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::Ttl::OrSymbol).void }
173
+ attr_writer :ttl
174
+
168
175
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
169
176
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
170
177
  # token block.
171
178
  sig do
172
179
  params(
173
180
 
181
+ ttl: OpenAI::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::Ttl::OrSymbol,
182
+
174
183
  mode: Symbol
175
184
  )
176
185
  .returns(T.attached_class)
177
186
  end
178
187
  def self.new(
179
188
 
189
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
190
+ ttl: nil,
191
+
180
192
  # The breakpoint mode. Always `explicit`.
181
193
 
182
194
  mode: :explicit
@@ -185,12 +197,38 @@ module OpenAI
185
197
 
186
198
  sig do
187
199
  override.returns(
188
- {mode: Symbol}
200
+ {mode: Symbol, ttl: OpenAI::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::Ttl::OrSymbol}
189
201
  )
190
202
  end
191
203
  def to_hash
192
204
  end
193
205
 
206
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
207
+ module Ttl
208
+ extend OpenAI::Internal::Type::Enum
209
+
210
+ TaggedSymbol = T.type_alias {
211
+ T.all(Symbol, OpenAI::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::Ttl)
212
+ }
213
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
214
+
215
+ TTL_30M = T.let(
216
+ :"30m",
217
+ OpenAI::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
218
+ )
219
+ TTL_12H = T.let(
220
+ :"12h",
221
+ OpenAI::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
222
+ )
223
+
224
+ sig {
225
+ override.returns(
226
+ T::Array[OpenAI::Beta::BetaResponseInputFileContent::PromptCacheBreakpoint::Ttl::TaggedSymbol]
227
+ )
228
+ }
229
+ def self.values
230
+ end
231
+ end
194
232
  end
195
233
 
196
234
  end
@@ -130,18 +130,30 @@ module OpenAI
130
130
  sig { returns(Symbol) }
131
131
  attr_accessor :mode
132
132
 
133
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
134
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputImage::PromptCacheBreakpoint::Ttl::OrSymbol)) }
135
+ attr_reader :ttl
136
+
137
+ sig { params(ttl: OpenAI::Beta::BetaResponseInputImage::PromptCacheBreakpoint::Ttl::OrSymbol).void }
138
+ attr_writer :ttl
139
+
133
140
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
134
141
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
135
142
  # token block.
136
143
  sig do
137
144
  params(
138
145
 
146
+ ttl: OpenAI::Beta::BetaResponseInputImage::PromptCacheBreakpoint::Ttl::OrSymbol,
147
+
139
148
  mode: Symbol
140
149
  )
141
150
  .returns(T.attached_class)
142
151
  end
143
152
  def self.new(
144
153
 
154
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
155
+ ttl: nil,
156
+
145
157
  # The breakpoint mode. Always `explicit`.
146
158
 
147
159
  mode: :explicit
@@ -150,12 +162,30 @@ module OpenAI
150
162
 
151
163
  sig do
152
164
  override.returns(
153
- {mode: Symbol}
165
+ {mode: Symbol, ttl: OpenAI::Beta::BetaResponseInputImage::PromptCacheBreakpoint::Ttl::OrSymbol}
154
166
  )
155
167
  end
156
168
  def to_hash
157
169
  end
158
170
 
171
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
172
+ module Ttl
173
+ extend OpenAI::Internal::Type::Enum
174
+
175
+ TaggedSymbol = T.type_alias {
176
+ T.all(Symbol, OpenAI::Beta::BetaResponseInputImage::PromptCacheBreakpoint::Ttl)
177
+ }
178
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
179
+
180
+ TTL_30M = T.let(:"30m", OpenAI::Beta::BetaResponseInputImage::PromptCacheBreakpoint::Ttl::TaggedSymbol)
181
+ TTL_12H = T.let(:"12h", OpenAI::Beta::BetaResponseInputImage::PromptCacheBreakpoint::Ttl::TaggedSymbol)
182
+
183
+ sig {
184
+ override.returns(T::Array[OpenAI::Beta::BetaResponseInputImage::PromptCacheBreakpoint::Ttl::TaggedSymbol])
185
+ }
186
+ def self.values
187
+ end
188
+ end
159
189
  end
160
190
 
161
191
  end
@@ -137,18 +137,30 @@ module OpenAI
137
137
  sig { returns(Symbol) }
138
138
  attr_accessor :mode
139
139
 
140
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
141
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::Ttl::OrSymbol)) }
142
+ attr_reader :ttl
143
+
144
+ sig { params(ttl: OpenAI::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::Ttl::OrSymbol).void }
145
+ attr_writer :ttl
146
+
140
147
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
141
148
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
142
149
  # token block.
143
150
  sig do
144
151
  params(
145
152
 
153
+ ttl: OpenAI::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::Ttl::OrSymbol,
154
+
146
155
  mode: Symbol
147
156
  )
148
157
  .returns(T.attached_class)
149
158
  end
150
159
  def self.new(
151
160
 
161
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
162
+ ttl: nil,
163
+
152
164
  # The breakpoint mode. Always `explicit`.
153
165
 
154
166
  mode: :explicit
@@ -157,12 +169,38 @@ module OpenAI
157
169
 
158
170
  sig do
159
171
  override.returns(
160
- {mode: Symbol}
172
+ {mode: Symbol, ttl: OpenAI::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::Ttl::OrSymbol}
161
173
  )
162
174
  end
163
175
  def to_hash
164
176
  end
165
177
 
178
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
179
+ module Ttl
180
+ extend OpenAI::Internal::Type::Enum
181
+
182
+ TaggedSymbol = T.type_alias {
183
+ T.all(Symbol, OpenAI::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::Ttl)
184
+ }
185
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
186
+
187
+ TTL_30M = T.let(
188
+ :"30m",
189
+ OpenAI::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
190
+ )
191
+ TTL_12H = T.let(
192
+ :"12h",
193
+ OpenAI::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
194
+ )
195
+
196
+ sig {
197
+ override.returns(
198
+ T::Array[OpenAI::Beta::BetaResponseInputImageContent::PromptCacheBreakpoint::Ttl::TaggedSymbol]
199
+ )
200
+ }
201
+ def self.values
202
+ end
203
+ end
166
204
  end
167
205
 
168
206
  end
@@ -87,18 +87,30 @@ module OpenAI
87
87
  sig { returns(Symbol) }
88
88
  attr_accessor :mode
89
89
 
90
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
91
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint::Ttl::OrSymbol)) }
92
+ attr_reader :ttl
93
+
94
+ sig { params(ttl: OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint::Ttl::OrSymbol).void }
95
+ attr_writer :ttl
96
+
90
97
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
91
98
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
92
99
  # token block.
93
100
  sig do
94
101
  params(
95
102
 
103
+ ttl: OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint::Ttl::OrSymbol,
104
+
96
105
  mode: Symbol
97
106
  )
98
107
  .returns(T.attached_class)
99
108
  end
100
109
  def self.new(
101
110
 
111
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
112
+ ttl: nil,
113
+
102
114
  # The breakpoint mode. Always `explicit`.
103
115
 
104
116
  mode: :explicit
@@ -107,12 +119,30 @@ module OpenAI
107
119
 
108
120
  sig do
109
121
  override.returns(
110
- {mode: Symbol}
122
+ {mode: Symbol, ttl: OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint::Ttl::OrSymbol}
111
123
  )
112
124
  end
113
125
  def to_hash
114
126
  end
115
127
 
128
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
129
+ module Ttl
130
+ extend OpenAI::Internal::Type::Enum
131
+
132
+ TaggedSymbol = T.type_alias {
133
+ T.all(Symbol, OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint::Ttl)
134
+ }
135
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
136
+
137
+ TTL_30M = T.let(:"30m", OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint::Ttl::TaggedSymbol)
138
+ TTL_12H = T.let(:"12h", OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint::Ttl::TaggedSymbol)
139
+
140
+ sig {
141
+ override.returns(T::Array[OpenAI::Beta::BetaResponseInputText::PromptCacheBreakpoint::Ttl::TaggedSymbol])
142
+ }
143
+ def self.values
144
+ end
145
+ end
116
146
  end
117
147
 
118
148
  end
@@ -94,18 +94,30 @@ module OpenAI
94
94
  sig { returns(Symbol) }
95
95
  attr_accessor :mode
96
96
 
97
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
98
+ sig { returns(T.nilable(OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl::OrSymbol)) }
99
+ attr_reader :ttl
100
+
101
+ sig { params(ttl: OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl::OrSymbol).void }
102
+ attr_writer :ttl
103
+
97
104
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
98
105
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
99
106
  # token block.
100
107
  sig do
101
108
  params(
102
109
 
110
+ ttl: OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl::OrSymbol,
111
+
103
112
  mode: Symbol
104
113
  )
105
114
  .returns(T.attached_class)
106
115
  end
107
116
  def self.new(
108
117
 
118
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
119
+ ttl: nil,
120
+
109
121
  # The breakpoint mode. Always `explicit`.
110
122
 
111
123
  mode: :explicit
@@ -114,12 +126,38 @@ module OpenAI
114
126
 
115
127
  sig do
116
128
  override.returns(
117
- {mode: Symbol}
129
+ {mode: Symbol, ttl: OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl::OrSymbol}
118
130
  )
119
131
  end
120
132
  def to_hash
121
133
  end
122
134
 
135
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
136
+ module Ttl
137
+ extend OpenAI::Internal::Type::Enum
138
+
139
+ TaggedSymbol = T.type_alias {
140
+ T.all(Symbol, OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl)
141
+ }
142
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
143
+
144
+ TTL_30M = T.let(
145
+ :"30m",
146
+ OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
147
+ )
148
+ TTL_12H = T.let(
149
+ :"12h",
150
+ OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl::TaggedSymbol
151
+ )
152
+
153
+ sig {
154
+ override.returns(
155
+ T::Array[OpenAI::Beta::BetaResponseInputTextContent::PromptCacheBreakpoint::Ttl::TaggedSymbol]
156
+ )
157
+ }
158
+ def self.values
159
+ end
160
+ end
123
161
  end
124
162
 
125
163
  end
@@ -459,18 +459,41 @@ module OpenAI
459
459
  sig { returns(Symbol) }
460
460
  attr_accessor :mode
461
461
 
462
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
463
+ sig {
464
+ returns(
465
+ T.nilable(
466
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
467
+ )
468
+ )
469
+ }
470
+ attr_reader :ttl
471
+
472
+ sig {
473
+ params(
474
+ ttl: OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::OrSymbol
475
+ )
476
+ .void
477
+ }
478
+ attr_writer :ttl
479
+
462
480
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
463
481
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
464
482
  # token block.
465
483
  sig do
466
484
  params(
467
485
 
486
+ ttl: OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::OrSymbol,
487
+
468
488
  mode: Symbol
469
489
  )
470
490
  .returns(T.attached_class)
471
491
  end
472
492
  def self.new(
473
493
 
494
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
495
+ ttl: nil,
496
+
474
497
  # The breakpoint mode. Always `explicit`.
475
498
 
476
499
  mode: :explicit
@@ -479,12 +502,46 @@ module OpenAI
479
502
 
480
503
  sig do
481
504
  override.returns(
482
- {mode: Symbol}
505
+ {
506
+ mode: Symbol,
507
+ ttl: OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
508
+ }
483
509
  )
484
510
  end
485
511
  def to_hash
486
512
  end
487
513
 
514
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
515
+ module Ttl
516
+ extend OpenAI::Internal::Type::Enum
517
+
518
+ TaggedSymbol = T.type_alias {
519
+ T.all(
520
+ Symbol,
521
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl
522
+ )
523
+ }
524
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
525
+
526
+ TTL_30M = T.let(
527
+ :"30m",
528
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
529
+ )
530
+ TTL_12H = T.let(
531
+ :"12h",
532
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
533
+ )
534
+
535
+ sig {
536
+ override.returns(
537
+ T::Array[
538
+ OpenAI::Beta::BetaResponseItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
539
+ ]
540
+ )
541
+ }
542
+ def self.values
543
+ end
544
+ end
488
545
  end
489
546
  end
490
547
 
@@ -459,18 +459,41 @@ module OpenAI
459
459
  sig { returns(Symbol) }
460
460
  attr_accessor :mode
461
461
 
462
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
463
+ sig {
464
+ returns(
465
+ T.nilable(
466
+ OpenAI::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
467
+ )
468
+ )
469
+ }
470
+ attr_reader :ttl
471
+
472
+ sig {
473
+ params(
474
+ ttl: OpenAI::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::OrSymbol
475
+ )
476
+ .void
477
+ }
478
+ attr_writer :ttl
479
+
462
480
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
463
481
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
464
482
  # token block.
465
483
  sig do
466
484
  params(
467
485
 
486
+ ttl: OpenAI::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::OrSymbol,
487
+
468
488
  mode: Symbol
469
489
  )
470
490
  .returns(T.attached_class)
471
491
  end
472
492
  def self.new(
473
493
 
494
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
495
+ ttl: nil,
496
+
474
497
  # The breakpoint mode. Always `explicit`.
475
498
 
476
499
  mode: :explicit
@@ -479,12 +502,46 @@ module OpenAI
479
502
 
480
503
  sig do
481
504
  override.returns(
482
- {mode: Symbol}
505
+ {
506
+ mode: Symbol,
507
+ ttl: OpenAI::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
508
+ }
483
509
  )
484
510
  end
485
511
  def to_hash
486
512
  end
487
513
 
514
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
515
+ module Ttl
516
+ extend OpenAI::Internal::Type::Enum
517
+
518
+ TaggedSymbol = T.type_alias {
519
+ T.all(
520
+ Symbol,
521
+ OpenAI::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl
522
+ )
523
+ }
524
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
525
+
526
+ TTL_30M = T.let(
527
+ :"30m",
528
+ OpenAI::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
529
+ )
530
+ TTL_12H = T.let(
531
+ :"12h",
532
+ OpenAI::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
533
+ )
534
+
535
+ sig {
536
+ override.returns(
537
+ T::Array[
538
+ OpenAI::Beta::BetaResponseOutputItem::AgentMessage::Content::ComputerScreenshot::PromptCacheBreakpoint::Ttl::TaggedSymbol
539
+ ]
540
+ )
541
+ }
542
+ def self.values
543
+ end
544
+ end
488
545
  end
489
546
  end
490
547