openai 0.111.0 → 0.113.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 (248) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +15 -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.rb +3 -0
  12. data/lib/openai/models/beta/beta_response_input_file.rb +23 -1
  13. data/lib/openai/models/beta/beta_response_input_file_content.rb +23 -1
  14. data/lib/openai/models/beta/beta_response_input_image.rb +23 -1
  15. data/lib/openai/models/beta/beta_response_input_image_content.rb +23 -1
  16. data/lib/openai/models/beta/beta_response_input_text.rb +23 -1
  17. data/lib/openai/models/beta/beta_response_input_text_content.rb +23 -1
  18. data/lib/openai/models/beta/beta_response_item.rb +28 -1
  19. data/lib/openai/models/beta/beta_response_output_item.rb +28 -1
  20. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +26 -15
  21. data/lib/openai/models/beta/beta_responses_client_event.rb +3 -0
  22. data/lib/openai/models/beta/beta_tool.rb +26 -15
  23. data/lib/openai/models/beta/persisted_agent_tool.rb +18 -1
  24. data/lib/openai/models/beta/persisted_agent_tool_param.rb +18 -1
  25. data/lib/openai/models/beta/response_compact_params.rb +3 -0
  26. data/lib/openai/models/beta/response_create_params.rb +3 -0
  27. data/lib/openai/models/chat/chat_completion_content_part.rb +23 -1
  28. data/lib/openai/models/chat/chat_completion_content_part_image.rb +23 -1
  29. data/lib/openai/models/chat/chat_completion_content_part_input_audio.rb +23 -1
  30. data/lib/openai/models/chat/chat_completion_content_part_text.rb +23 -1
  31. data/lib/openai/models/chat_model.rb +1 -0
  32. data/lib/openai/models/conversations/computer_screenshot_content.rb +23 -1
  33. data/lib/openai/models/decision_create_params.rb +8 -4
  34. data/lib/openai/models/image_edit_params.rb +20 -4
  35. data/lib/openai/models/image_generate_params.rb +23 -7
  36. data/lib/openai/models/image_model.rb +2 -0
  37. data/lib/openai/models/live/client_delegation.rb +20 -1
  38. data/lib/openai/models/live/client_event.rb +4 -4
  39. data/lib/openai/models/live/commentary_append_event.rb +1 -1
  40. data/lib/openai/models/live/decision_assistant_message.rb +154 -0
  41. data/lib/openai/models/live/decision_choice_option.rb +35 -0
  42. data/lib/openai/models/live/decision_developer_message.rb +70 -0
  43. data/lib/openai/models/live/decision_input_text.rb +26 -0
  44. data/lib/openai/models/live/decision_item_create_event.rb +490 -131
  45. data/lib/openai/models/live/decision_item_created_event.rb +486 -131
  46. data/lib/openai/models/live/decision_json_object.rb +10 -0
  47. data/lib/openai/models/live/decision_question.rb +172 -0
  48. data/lib/openai/models/live/decision_stored_assistant_message.rb +152 -0
  49. data/lib/openai/models/live/decision_stored_developer_message.rb +68 -0
  50. data/lib/openai/models/live/decision_stored_system_message.rb +68 -0
  51. data/lib/openai/models/live/decision_stored_user_message.rb +195 -0
  52. data/lib/openai/models/live/decision_system_message.rb +70 -0
  53. data/lib/openai/models/live/decision_trigger.rb +6 -258
  54. data/lib/openai/models/live/decision_user_message.rb +193 -0
  55. data/lib/openai/models/live/decisions_delegation_config.rb +5 -250
  56. data/lib/openai/models/live/decisions_delegation_update_config.rb +5 -257
  57. data/lib/openai/models/live/fork_client_event.rb +4 -4
  58. data/lib/openai/models/live/fork_server_event.rb +2 -2
  59. data/lib/openai/models/live/fork_session_config.rb +20 -1
  60. data/lib/openai/models/live/input_audio_muted_event.rb +3 -2
  61. data/lib/openai/models/live/input_audio_unmute_event.rb +2 -1
  62. data/lib/openai/models/live/input_audio_unmuted_event.rb +3 -2
  63. data/lib/openai/models/live/instructions_append_event.rb +5 -2
  64. data/lib/openai/models/live/media_session_config.rb +39 -2
  65. data/lib/openai/models/live/media_session_fork_config.rb +20 -1
  66. data/lib/openai/models/live/server_event.rb +2 -2
  67. data/lib/openai/models/live/session_accept_params.rb +39 -2
  68. data/lib/openai/models/live/session_config.rb +39 -2
  69. data/lib/openai/models/live/session_resource.rb +39 -2
  70. data/lib/openai/models/live/session_update_config.rb +41 -2
  71. data/lib/openai/models/live/sideband_client_event.rb +4 -4
  72. data/lib/openai/models/live/sideband_server_event.rb +2 -2
  73. data/lib/openai/models/live/thinking_append_event.rb +1 -1
  74. data/lib/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rb +10 -12
  75. data/lib/openai/models/realtime/realtime_error_event.rb +1 -1
  76. data/lib/openai/models/realtime/realtime_server_event.rb +1 -1
  77. data/lib/openai/models/realtime/realtime_translation_server_event.rb +1 -1
  78. data/lib/openai/models/responses/response_compact_params.rb +3 -0
  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/resources/beta/agents.rb +2 -2
  88. data/lib/openai/resources/beta/responses.rb +2 -2
  89. data/lib/openai/resources/images.rb +18 -6
  90. data/lib/openai/resources/live/forks.rb +2 -2
  91. data/lib/openai/resources/live/sideband.rb +2 -2
  92. data/lib/openai/resources/live.rb +2 -2
  93. data/lib/openai/resources/realtime/translations.rb +2 -2
  94. data/lib/openai/resources/realtime.rb +2 -2
  95. data/lib/openai/resources/responses.rb +2 -2
  96. data/lib/openai/version.rb +1 -1
  97. data/lib/openai.rb +12 -0
  98. data/rbi/openai/models/beta/agent.rbi +2 -1
  99. data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
  100. data/rbi/openai/models/beta/agent_session.rbi +2 -1
  101. data/rbi/openai/models/beta/agent_tool.rbi +40 -1
  102. data/rbi/openai/models/beta/agent_tool_param.rbi +40 -1
  103. data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
  104. data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
  105. data/rbi/openai/models/beta/beta_response.rbi +1 -0
  106. data/rbi/openai/models/beta/beta_response_input_file.rbi +31 -1
  107. data/rbi/openai/models/beta/beta_response_input_file_content.rbi +39 -1
  108. data/rbi/openai/models/beta/beta_response_input_image.rbi +31 -1
  109. data/rbi/openai/models/beta/beta_response_input_image_content.rbi +39 -1
  110. data/rbi/openai/models/beta/beta_response_input_text.rbi +31 -1
  111. data/rbi/openai/models/beta/beta_response_input_text_content.rbi +39 -1
  112. data/rbi/openai/models/beta/beta_response_item.rbi +58 -1
  113. data/rbi/openai/models/beta/beta_response_output_item.rbi +58 -1
  114. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +24 -15
  115. data/rbi/openai/models/beta/beta_responses_client_event.rbi +4 -0
  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/beta/response_compact_params.rbi +1 -0
  120. data/rbi/openai/models/beta/response_create_params.rbi +1 -0
  121. data/rbi/openai/models/chat/chat_completion_content_part.rbi +43 -1
  122. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +41 -1
  123. data/rbi/openai/models/chat/chat_completion_content_part_input_audio.rbi +46 -1
  124. data/rbi/openai/models/chat/chat_completion_content_part_text.rbi +39 -1
  125. data/rbi/openai/models/chat_model.rbi +1 -0
  126. data/rbi/openai/models/conversations/computer_screenshot_content.rbi +48 -1
  127. data/rbi/openai/models/image_edit_params.rbi +12 -3
  128. data/rbi/openai/models/image_generate_params.rbi +15 -6
  129. data/rbi/openai/models/live/client_delegation.rbi +23 -1
  130. data/rbi/openai/models/live/commentary_append_event.rbi +1 -1
  131. data/rbi/openai/models/live/decision_assistant_message.rbi +247 -0
  132. data/rbi/openai/models/live/decision_choice_option.rbi +67 -0
  133. data/rbi/openai/models/live/decision_developer_message.rbi +109 -0
  134. data/rbi/openai/models/live/decision_input_text.rbi +55 -0
  135. data/rbi/openai/models/live/decision_item_create_event.rbi +765 -184
  136. data/rbi/openai/models/live/decision_item_created_event.rbi +737 -184
  137. data/rbi/openai/models/live/decision_json_object.rbi +16 -0
  138. data/rbi/openai/models/live/decision_question.rbi +300 -0
  139. data/rbi/openai/models/live/decision_stored_assistant_message.rbi +245 -0
  140. data/rbi/openai/models/live/decision_stored_developer_message.rbi +107 -0
  141. data/rbi/openai/models/live/decision_stored_system_message.rbi +107 -0
  142. data/rbi/openai/models/live/decision_stored_user_message.rbi +333 -0
  143. data/rbi/openai/models/live/decision_system_message.rbi +109 -0
  144. data/rbi/openai/models/live/decision_trigger.rbi +11 -383
  145. data/rbi/openai/models/live/decision_user_message.rbi +320 -0
  146. data/rbi/openai/models/live/decisions_delegation_config.rbi +10 -384
  147. data/rbi/openai/models/live/decisions_delegation_update_config.rbi +13 -387
  148. data/rbi/openai/models/live/fork_session_config.rbi +27 -1
  149. data/rbi/openai/models/live/input_audio_muted_event.rbi +3 -2
  150. data/rbi/openai/models/live/input_audio_unmute_event.rbi +2 -1
  151. data/rbi/openai/models/live/input_audio_unmuted_event.rbi +3 -2
  152. data/rbi/openai/models/live/instructions_append_event.rbi +5 -2
  153. data/rbi/openai/models/live/media_session_config.rbi +44 -2
  154. data/rbi/openai/models/live/media_session_fork_config.rbi +27 -1
  155. data/rbi/openai/models/live/session_accept_params.rbi +44 -2
  156. data/rbi/openai/models/live/session_config.rbi +44 -2
  157. data/rbi/openai/models/live/session_resource.rbi +44 -2
  158. data/rbi/openai/models/live/session_update_config.rbi +54 -2
  159. data/rbi/openai/models/live/thinking_append_event.rbi +1 -1
  160. data/rbi/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbi +10 -12
  161. data/rbi/openai/models/realtime/realtime_error_event.rbi +1 -1
  162. data/rbi/openai/models/responses/response_compact_params.rbi +1 -0
  163. data/rbi/openai/models/responses/response_input_file.rbi +31 -1
  164. data/rbi/openai/models/responses/response_input_file_content.rbi +39 -1
  165. data/rbi/openai/models/responses/response_input_image.rbi +33 -1
  166. data/rbi/openai/models/responses/response_input_image_content.rbi +41 -1
  167. data/rbi/openai/models/responses/response_input_text.rbi +31 -1
  168. data/rbi/openai/models/responses/response_input_text_content.rbi +39 -1
  169. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +24 -15
  170. data/rbi/openai/models/responses/tool.rbi +24 -15
  171. data/rbi/openai/resources/beta/agents.rbi +4 -2
  172. data/rbi/openai/resources/beta/responses.rbi +8 -1
  173. data/rbi/openai/resources/images.rbi +18 -6
  174. data/rbi/openai/resources/live/forks.rbi +8 -1
  175. data/rbi/openai/resources/live/sideband.rbi +8 -1
  176. data/rbi/openai/resources/live.rbi +8 -1
  177. data/rbi/openai/resources/realtime/translations.rbi +8 -1
  178. data/rbi/openai/resources/realtime.rbi +8 -1
  179. data/rbi/openai/resources/responses.rbi +8 -1
  180. data/sig/openai/models/beta/agent_tool.rbs +14 -0
  181. data/sig/openai/models/beta/agent_tool_param.rbs +14 -0
  182. data/sig/openai/models/beta/beta_response.rbs +2 -0
  183. data/sig/openai/models/beta/beta_response_input_file.rbs +34 -3
  184. data/sig/openai/models/beta/beta_response_input_file_content.rbs +34 -3
  185. data/sig/openai/models/beta/beta_response_input_image.rbs +34 -3
  186. data/sig/openai/models/beta/beta_response_input_image_content.rbs +34 -3
  187. data/sig/openai/models/beta/beta_response_input_text.rbs +34 -3
  188. data/sig/openai/models/beta/beta_response_input_text_content.rbs +34 -3
  189. data/sig/openai/models/beta/beta_response_item.rbs +34 -3
  190. data/sig/openai/models/beta/beta_response_output_item.rbs +34 -3
  191. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +24 -15
  192. data/sig/openai/models/beta/beta_responses_client_event.rbs +2 -0
  193. data/sig/openai/models/beta/beta_tool.rbs +24 -15
  194. data/sig/openai/models/beta/persisted_agent_tool.rbs +14 -0
  195. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +14 -0
  196. data/sig/openai/models/beta/response_compact_params.rbs +2 -0
  197. data/sig/openai/models/beta/response_create_params.rbs +2 -0
  198. data/sig/openai/models/chat/chat_completion_content_part.rbs +34 -3
  199. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +34 -3
  200. data/sig/openai/models/chat/chat_completion_content_part_input_audio.rbs +34 -3
  201. data/sig/openai/models/chat/chat_completion_content_part_text.rbs +34 -3
  202. data/sig/openai/models/chat_model.rbs +2 -0
  203. data/sig/openai/models/conversations/computer_screenshot_content.rbs +34 -3
  204. data/sig/openai/models/image_edit_params.rbs +8 -2
  205. data/sig/openai/models/image_generate_params.rbs +10 -4
  206. data/sig/openai/models/live/client_delegation.rbs +30 -3
  207. data/sig/openai/models/live/decision_assistant_message.rbs +134 -0
  208. data/sig/openai/models/live/decision_choice_option.rbs +37 -0
  209. data/sig/openai/models/live/decision_developer_message.rbs +67 -0
  210. data/sig/openai/models/live/decision_input_text.rbs +20 -0
  211. data/sig/openai/models/live/decision_item_create_event.rbs +413 -131
  212. data/sig/openai/models/live/decision_item_created_event.rbs +401 -131
  213. data/sig/openai/models/live/decision_json_object.rbs +9 -0
  214. data/sig/openai/models/live/decision_question.rbs +164 -0
  215. data/sig/openai/models/live/decision_stored_assistant_message.rbs +131 -0
  216. data/sig/openai/models/live/decision_stored_developer_message.rbs +64 -0
  217. data/sig/openai/models/live/decision_stored_system_message.rbs +64 -0
  218. data/sig/openai/models/live/decision_stored_user_message.rbs +177 -0
  219. data/sig/openai/models/live/decision_system_message.rbs +67 -0
  220. data/sig/openai/models/live/decision_trigger.rbs +8 -208
  221. data/sig/openai/models/live/decision_user_message.rbs +180 -0
  222. data/sig/openai/models/live/decisions_delegation_config.rbs +6 -204
  223. data/sig/openai/models/live/decisions_delegation_update_config.rbs +8 -206
  224. data/sig/openai/models/live/fork_session_config.rbs +26 -0
  225. data/sig/openai/models/live/media_session_config.rbs +53 -4
  226. data/sig/openai/models/live/media_session_fork_config.rbs +26 -0
  227. data/sig/openai/models/live/session_accept_params.rbs +53 -4
  228. data/sig/openai/models/live/session_config.rbs +53 -4
  229. data/sig/openai/models/live/session_resource.rbs +53 -4
  230. data/sig/openai/models/live/session_update_config.rbs +52 -0
  231. data/sig/openai/models/realtime/conversation_item_input_audio_transcription_delta_event.rbs +10 -12
  232. data/sig/openai/models/responses/response_compact_params.rbs +2 -0
  233. data/sig/openai/models/responses/response_input_file.rbs +34 -3
  234. data/sig/openai/models/responses/response_input_file_content.rbs +34 -3
  235. data/sig/openai/models/responses/response_input_image.rbs +34 -3
  236. data/sig/openai/models/responses/response_input_image_content.rbs +34 -3
  237. data/sig/openai/models/responses/response_input_text.rbs +34 -3
  238. data/sig/openai/models/responses/response_input_text_content.rbs +34 -3
  239. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +24 -15
  240. data/sig/openai/models/responses/tool.rbs +24 -15
  241. data/sig/openai/resources/beta/responses.rbs +2 -1
  242. data/sig/openai/resources/live/forks.rbs +2 -1
  243. data/sig/openai/resources/live/sideband.rbs +2 -1
  244. data/sig/openai/resources/live.rbs +2 -1
  245. data/sig/openai/resources/realtime/translations.rbs +2 -1
  246. data/sig/openai/resources/realtime.rbs +2 -1
  247. data/sig/openai/resources/responses.rbs +2 -1
  248. metadata +37 -1
@@ -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
 
@@ -1336,11 +1336,14 @@ module OpenAI
1336
1336
  }
1337
1337
  attr_writer :input_image_mask
1338
1338
 
1339
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
1340
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
1341
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
1342
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
1343
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
1339
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
1340
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1341
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1342
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
1343
+ # `gpt-image-2`.
1344
+ #
1345
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1346
+ # `gpt-image-2.5-flare` instead.
1344
1347
  sig {
1345
1348
  returns(
1346
1349
  T.nilable(
@@ -1532,11 +1535,14 @@ module OpenAI
1532
1535
  # `file_id` (string, optional).
1533
1536
  input_image_mask: nil,
1534
1537
 
1535
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
1536
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
1537
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
1538
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
1539
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
1538
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
1539
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1540
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1541
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
1542
+ # `gpt-image-2`.
1543
+ #
1544
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1545
+ # `gpt-image-2.5-flare` instead.
1540
1546
  model: nil,
1541
1547
 
1542
1548
  # Moderation level for the generated image. Default: `auto`.
@@ -1766,11 +1772,14 @@ module OpenAI
1766
1772
 
1767
1773
  end
1768
1774
 
1769
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
1770
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
1771
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
1772
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
1773
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
1775
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
1776
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1777
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1778
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
1779
+ # `gpt-image-2`.
1780
+ #
1781
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1782
+ # `gpt-image-2.5-flare` instead.
1774
1783
  module Model
1775
1784
  extend OpenAI::Internal::Type::Union
1776
1785
 
@@ -1177,6 +1177,10 @@ module OpenAI
1177
1177
  :"gpt-6.1-sol",
1178
1178
  OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
1179
1179
  )
1180
+ GPT_6_1_TERRA = T.let(
1181
+ :"gpt-6.1-terra",
1182
+ OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol
1183
+ )
1180
1184
  GPT_6_SOL = T.let(:"gpt-6-sol", OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::Model::TaggedSymbol)
1181
1185
  GPT_6_LUNA = T.let(
1182
1186
  :"gpt-6-luna",
@@ -991,11 +991,14 @@ module OpenAI
991
991
  sig { params(input_image_mask: OpenAI::Beta::BetaTool::ImageGeneration::InputImageMask::OrHash).void }
992
992
  attr_writer :input_image_mask
993
993
 
994
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
995
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
996
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
997
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
998
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
994
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
995
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
996
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
997
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
998
+ # `gpt-image-2`.
999
+ #
1000
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1001
+ # `gpt-image-2.5-flare` instead.
999
1002
  sig { returns(T.nilable(T.any(String, OpenAI::Beta::BetaTool::ImageGeneration::Model::OrSymbol))) }
1000
1003
  attr_reader :model
1001
1004
 
@@ -1114,11 +1117,14 @@ module OpenAI
1114
1117
  # `file_id` (string, optional).
1115
1118
  input_image_mask: nil,
1116
1119
 
1117
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
1118
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
1119
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
1120
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
1121
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
1120
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
1121
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1122
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1123
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
1124
+ # `gpt-image-2`.
1125
+ #
1126
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1127
+ # `gpt-image-2.5-flare` instead.
1122
1128
  model: nil,
1123
1129
 
1124
1130
  # Moderation level for the generated image. Default: `auto`.
@@ -1292,11 +1298,14 @@ module OpenAI
1292
1298
 
1293
1299
  end
1294
1300
 
1295
- # The image generation model to use. One of `gpt-image-1`, `gpt-image-1-mini`,
1296
- # `gpt-image-1.5`, `gpt-image-2`, `gpt-image-2-2026-04-21`,
1297
- # `gpt-image-2.5-sunburst`, `gpt-image-2.5-sunburst-2026-09-08`,
1298
- # `gpt-image-2.5-flare`, `gpt-image-2.5-flare-2026-09-08`, or
1299
- # `chatgpt-image-latest`. Default: `gpt-image-1`.
1301
+ # The image generation model to use. One of `gpt-image-1-mini`, `gpt-image-1.5`,
1302
+ # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
1303
+ # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
1304
+ # `gpt-image-2.5-flare-2026-09-08`, or `chatgpt-image-latest`. Default:
1305
+ # `gpt-image-2`.
1306
+ #
1307
+ # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
1308
+ # `gpt-image-2.5-flare` instead.
1300
1309
  module Model
1301
1310
  extend OpenAI::Internal::Type::Union
1302
1311
 
@@ -16,7 +16,8 @@ module OpenAI
16
16
  OpenAI::Beta::PersistedAgentTool::ProgrammaticToolCalling,
17
17
  OpenAI::Beta::PersistedAgentTool::Mcp,
18
18
  OpenAI::Beta::PersistedAgentTool::WebSearch,
19
- OpenAI::Beta::PersistedAgentTool::ComputerUse
19
+ OpenAI::Beta::PersistedAgentTool::ComputerUse,
20
+ OpenAI::Beta::PersistedAgentTool::Automations
20
21
  )
21
22
  end
22
23
 
@@ -543,6 +544,44 @@ module OpenAI
543
544
 
544
545
  end
545
546
 
547
+ class Automations < OpenAI::Internal::Type::BaseModel
548
+ OrHash = T.type_alias do
549
+ T.any(
550
+ OpenAI::Beta::PersistedAgentTool::Automations,
551
+ OpenAI::Internal::AnyHash
552
+ )
553
+ end
554
+
555
+ # The type of the object. Always `automations`.
556
+ sig { returns(Symbol) }
557
+ attr_accessor :type
558
+
559
+ # Lets the agent manage its own scheduled wakeups.
560
+ sig do
561
+ params(
562
+
563
+ type: Symbol
564
+ )
565
+ .returns(T.attached_class)
566
+ end
567
+ def self.new(
568
+
569
+ # The type of the object. Always `automations`.
570
+
571
+ type: :automations
572
+ )
573
+ end
574
+
575
+ sig do
576
+ override.returns(
577
+ {type: Symbol}
578
+ )
579
+ end
580
+ def to_hash
581
+ end
582
+
583
+ end
584
+
546
585
  sig { override.returns(T::Array[OpenAI::Beta::PersistedAgentTool::Variants]) }
547
586
  def self.variants
548
587
  end
@@ -16,7 +16,8 @@ module OpenAI
16
16
  OpenAI::Beta::PersistedAgentToolParam::ProgrammaticToolCalling,
17
17
  OpenAI::Beta::PersistedAgentToolParam::Mcp,
18
18
  OpenAI::Beta::PersistedAgentToolParam::WebSearch,
19
- OpenAI::Beta::PersistedAgentToolParam::ComputerUse
19
+ OpenAI::Beta::PersistedAgentToolParam::ComputerUse,
20
+ OpenAI::Beta::PersistedAgentToolParam::Automations
20
21
  )
21
22
  end
22
23
 
@@ -585,6 +586,44 @@ module OpenAI
585
586
 
586
587
  end
587
588
 
589
+ class Automations < OpenAI::Internal::Type::BaseModel
590
+ OrHash = T.type_alias do
591
+ T.any(
592
+ OpenAI::Beta::PersistedAgentToolParam::Automations,
593
+ OpenAI::Internal::AnyHash
594
+ )
595
+ end
596
+
597
+ # The type of the object. Always `automations`.
598
+ sig { returns(Symbol) }
599
+ attr_accessor :type
600
+
601
+ # Lets the agent manage its own scheduled wakeups.
602
+ sig do
603
+ params(
604
+
605
+ type: Symbol
606
+ )
607
+ .returns(T.attached_class)
608
+ end
609
+ def self.new(
610
+
611
+ # The type of the object. Always `automations`.
612
+
613
+ type: :automations
614
+ )
615
+ end
616
+
617
+ sig do
618
+ override.returns(
619
+ {type: Symbol}
620
+ )
621
+ end
622
+ def to_hash
623
+ end
624
+
625
+ end
626
+
588
627
  sig { override.returns(T::Array[OpenAI::Beta::PersistedAgentToolParam::Variants]) }
589
628
  def self.variants
590
629
  end
@@ -224,6 +224,7 @@ module OpenAI
224
224
 
225
225
  GPT_6_ASTRA = T.let(:"gpt-6-astra", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
226
226
  GPT_6_1_SOL = T.let(:"gpt-6.1-sol", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
227
+ GPT_6_1_TERRA = T.let(:"gpt-6.1-terra", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
227
228
  GPT_6_SOL = T.let(:"gpt-6-sol", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
228
229
  GPT_6_LUNA = T.let(:"gpt-6-luna", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
229
230
  GPT_5_6_SOL = T.let(:"gpt-5.6-sol", OpenAI::Beta::ResponseCompactParams::Model::TaggedSymbol)
@@ -1047,6 +1047,7 @@ module OpenAI
1047
1047
 
1048
1048
  GPT_6_ASTRA = T.let(:"gpt-6-astra", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
1049
1049
  GPT_6_1_SOL = T.let(:"gpt-6.1-sol", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
1050
+ GPT_6_1_TERRA = T.let(:"gpt-6.1-terra", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
1050
1051
  GPT_6_SOL = T.let(:"gpt-6-sol", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
1051
1052
  GPT_6_LUNA = T.let(:"gpt-6-luna", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
1052
1053
  GPT_5_6_SOL = T.let(:"gpt-5.6-sol", OpenAI::Beta::ResponseCreateParams::Model::TaggedSymbol)
@@ -170,18 +170,34 @@ module OpenAI
170
170
  sig { returns(Symbol) }
171
171
  attr_accessor :mode
172
172
 
173
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
174
+ sig {
175
+ returns(T.nilable(OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl::OrSymbol))
176
+ }
177
+ attr_reader :ttl
178
+
179
+ sig {
180
+ params(ttl: OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl::OrSymbol).void
181
+ }
182
+ attr_writer :ttl
183
+
173
184
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
174
185
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
175
186
  # token block.
176
187
  sig do
177
188
  params(
178
189
 
190
+ ttl: OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl::OrSymbol,
191
+
179
192
  mode: Symbol
180
193
  )
181
194
  .returns(T.attached_class)
182
195
  end
183
196
  def self.new(
184
197
 
198
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
199
+ ttl: nil,
200
+
185
201
  # The breakpoint mode. Always `explicit`.
186
202
 
187
203
  mode: :explicit
@@ -190,12 +206,38 @@ module OpenAI
190
206
 
191
207
  sig do
192
208
  override.returns(
193
- {mode: Symbol}
209
+ {mode: Symbol, ttl: OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl::OrSymbol}
194
210
  )
195
211
  end
196
212
  def to_hash
197
213
  end
198
214
 
215
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
216
+ module Ttl
217
+ extend OpenAI::Internal::Type::Enum
218
+
219
+ TaggedSymbol = T.type_alias {
220
+ T.all(Symbol, OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl)
221
+ }
222
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
223
+
224
+ TTL_30M = T.let(
225
+ :"30m",
226
+ OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl::TaggedSymbol
227
+ )
228
+ TTL_12H = T.let(
229
+ :"12h",
230
+ OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl::TaggedSymbol
231
+ )
232
+
233
+ sig {
234
+ override.returns(
235
+ T::Array[OpenAI::Chat::ChatCompletionContentPart::File::PromptCacheBreakpoint::Ttl::TaggedSymbol]
236
+ )
237
+ }
238
+ def self.values
239
+ end
240
+ end
199
241
  end
200
242
  end
201
243
 
@@ -162,18 +162,32 @@ module OpenAI
162
162
  sig { returns(Symbol) }
163
163
  attr_accessor :mode
164
164
 
165
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
166
+ sig {
167
+ returns(T.nilable(OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl::OrSymbol))
168
+ }
169
+ attr_reader :ttl
170
+
171
+ sig { params(ttl: OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl::OrSymbol).void }
172
+ attr_writer :ttl
173
+
165
174
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
166
175
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
167
176
  # token block.
168
177
  sig do
169
178
  params(
170
179
 
180
+ ttl: OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl::OrSymbol,
181
+
171
182
  mode: Symbol
172
183
  )
173
184
  .returns(T.attached_class)
174
185
  end
175
186
  def self.new(
176
187
 
188
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
189
+ ttl: nil,
190
+
177
191
  # The breakpoint mode. Always `explicit`.
178
192
 
179
193
  mode: :explicit
@@ -182,12 +196,38 @@ module OpenAI
182
196
 
183
197
  sig do
184
198
  override.returns(
185
- {mode: Symbol}
199
+ {mode: Symbol, ttl: OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl::OrSymbol}
186
200
  )
187
201
  end
188
202
  def to_hash
189
203
  end
190
204
 
205
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
206
+ module Ttl
207
+ extend OpenAI::Internal::Type::Enum
208
+
209
+ TaggedSymbol = T.type_alias {
210
+ T.all(Symbol, OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl)
211
+ }
212
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
213
+
214
+ TTL_30M = T.let(
215
+ :"30m",
216
+ OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl::TaggedSymbol
217
+ )
218
+ TTL_12H = T.let(
219
+ :"12h",
220
+ OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl::TaggedSymbol
221
+ )
222
+
223
+ sig {
224
+ override.returns(
225
+ T::Array[OpenAI::Chat::ChatCompletionContentPartImage::PromptCacheBreakpoint::Ttl::TaggedSymbol]
226
+ )
227
+ }
228
+ def self.values
229
+ end
230
+ end
191
231
  end
192
232
 
193
233
  end
@@ -157,18 +157,34 @@ module OpenAI
157
157
  sig { returns(Symbol) }
158
158
  attr_accessor :mode
159
159
 
160
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
161
+ sig {
162
+ returns(T.nilable(OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl::OrSymbol))
163
+ }
164
+ attr_reader :ttl
165
+
166
+ sig {
167
+ params(ttl: OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl::OrSymbol).void
168
+ }
169
+ attr_writer :ttl
170
+
160
171
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
161
172
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
162
173
  # token block.
163
174
  sig do
164
175
  params(
165
176
 
177
+ ttl: OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl::OrSymbol,
178
+
166
179
  mode: Symbol
167
180
  )
168
181
  .returns(T.attached_class)
169
182
  end
170
183
  def self.new(
171
184
 
185
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
186
+ ttl: nil,
187
+
172
188
  # The breakpoint mode. Always `explicit`.
173
189
 
174
190
  mode: :explicit
@@ -177,12 +193,41 @@ module OpenAI
177
193
 
178
194
  sig do
179
195
  override.returns(
180
- {mode: Symbol}
196
+ {
197
+ mode: Symbol,
198
+ ttl: OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl::OrSymbol
199
+ }
181
200
  )
182
201
  end
183
202
  def to_hash
184
203
  end
185
204
 
205
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
206
+ module Ttl
207
+ extend OpenAI::Internal::Type::Enum
208
+
209
+ TaggedSymbol = T.type_alias {
210
+ T.all(Symbol, OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl)
211
+ }
212
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
213
+
214
+ TTL_30M = T.let(
215
+ :"30m",
216
+ OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl::TaggedSymbol
217
+ )
218
+ TTL_12H = T.let(
219
+ :"12h",
220
+ OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl::TaggedSymbol
221
+ )
222
+
223
+ sig {
224
+ override.returns(
225
+ T::Array[OpenAI::Chat::ChatCompletionContentPartInputAudio::PromptCacheBreakpoint::Ttl::TaggedSymbol]
226
+ )
227
+ }
228
+ def self.values
229
+ end
230
+ end
186
231
  end
187
232
 
188
233
  end
@@ -88,18 +88,30 @@ module OpenAI
88
88
  sig { returns(Symbol) }
89
89
  attr_accessor :mode
90
90
 
91
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
92
+ sig { returns(T.nilable(OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl::OrSymbol)) }
93
+ attr_reader :ttl
94
+
95
+ sig { params(ttl: OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl::OrSymbol).void }
96
+ attr_writer :ttl
97
+
91
98
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
92
99
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
93
100
  # token block.
94
101
  sig do
95
102
  params(
96
103
 
104
+ ttl: OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl::OrSymbol,
105
+
97
106
  mode: Symbol
98
107
  )
99
108
  .returns(T.attached_class)
100
109
  end
101
110
  def self.new(
102
111
 
112
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
113
+ ttl: nil,
114
+
103
115
  # The breakpoint mode. Always `explicit`.
104
116
 
105
117
  mode: :explicit
@@ -108,12 +120,38 @@ module OpenAI
108
120
 
109
121
  sig do
110
122
  override.returns(
111
- {mode: Symbol}
123
+ {mode: Symbol, ttl: OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl::OrSymbol}
112
124
  )
113
125
  end
114
126
  def to_hash
115
127
  end
116
128
 
129
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
130
+ module Ttl
131
+ extend OpenAI::Internal::Type::Enum
132
+
133
+ TaggedSymbol = T.type_alias {
134
+ T.all(Symbol, OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl)
135
+ }
136
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
137
+
138
+ TTL_30M = T.let(
139
+ :"30m",
140
+ OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl::TaggedSymbol
141
+ )
142
+ TTL_12H = T.let(
143
+ :"12h",
144
+ OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl::TaggedSymbol
145
+ )
146
+
147
+ sig {
148
+ override.returns(
149
+ T::Array[OpenAI::Chat::ChatCompletionContentPartText::PromptCacheBreakpoint::Ttl::TaggedSymbol]
150
+ )
151
+ }
152
+ def self.values
153
+ end
154
+ end
117
155
  end
118
156
 
119
157
  end
@@ -11,6 +11,7 @@ module OpenAI
11
11
 
12
12
  GPT_6_ASTRA = T.let(:"gpt-6-astra", OpenAI::ChatModel::TaggedSymbol)
13
13
  GPT_6_1_SOL = T.let(:"gpt-6.1-sol", OpenAI::ChatModel::TaggedSymbol)
14
+ GPT_6_1_TERRA = T.let(:"gpt-6.1-terra", OpenAI::ChatModel::TaggedSymbol)
14
15
  GPT_6_SOL = T.let(:"gpt-6-sol", OpenAI::ChatModel::TaggedSymbol)
15
16
  GPT_6_LUNA = T.let(:"gpt-6-luna", OpenAI::ChatModel::TaggedSymbol)
16
17
  GPT_5_6_SOL = T.let(:"gpt-5.6-sol", OpenAI::ChatModel::TaggedSymbol)