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
@@ -33,8 +33,11 @@ module OpenAI
33
33
  optional :event_id, String, nil?: true
34
34
 
35
35
  # @!method initialize(content:, delegation_id:, event_id: nil, type: :"session.instructions.append")
36
- # Append instructions to the Live conversation while it is running, optionally
37
- # associating them with an existing client delegation.
36
+ # Append developer instructions to the Live conversation while it is running,
37
+ # optionally associating them with an existing client delegation. Rejected while
38
+ # an audio fixture is active. These instructions remain in conversation history
39
+ # through compaction and are included in future backend delegations. For external
40
+ # audio, describe content already delivered so the assistant does not repeat it.
38
41
  #
39
42
  # @param content [String]
40
43
  # Instruction text to append, limited to 500 tokens. This is a plain string, not
@@ -227,13 +227,32 @@ module OpenAI
227
227
  # @return [Symbol, :responses]
228
228
  required :type, const: :responses
229
229
 
230
- # @!method initialize(responses:, type: :responses)
230
+ # @!attribute acknowledgement_delay_ms
231
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
232
+ # delegation. The model may still speak before this delay. Any commentary or
233
+ # thinking appended to the session cancels all pending acknowledgements, including
234
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
235
+ # (request immediately) for other sessions. Omission in a session update preserves
236
+ # the current value. Updates apply to subsequent delegations.
237
+ #
238
+ # @return [Integer, nil]
239
+ optional :acknowledgement_delay_ms, Integer
240
+
241
+ # @!method initialize(responses:, acknowledgement_delay_ms: nil, type: :responses)
231
242
  # Delegate tasks to a Responses model managed by the Live session.
232
243
  #
233
244
  # @param responses [OpenAI::Models::Live::ResponsesDelegationConfig]
234
245
  # Backend model, prompt, and tools used when the Live session delegates a task to
235
246
  # Responses.
236
247
  #
248
+ # @param acknowledgement_delay_ms [Integer]
249
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
250
+ # delegation. The model may still speak before this delay. Any commentary or
251
+ # thinking appended to the session cancels all pending acknowledgements, including
252
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
253
+ # (request immediately) for other sessions. Omission in a session update preserves
254
+ # the current value. Updates apply to subsequent delegations.
255
+ #
237
256
  # @param type [Symbol, :responses]
238
257
  # The delegation owner. Always `responses` for tasks handled by the Responses API.
239
258
  end
@@ -249,8 +268,26 @@ module OpenAI
249
268
  # @return [Symbol, :decisions]
250
269
  required :type, const: :decisions
251
270
 
252
- # @!method initialize(decisions:, type: :decisions)
271
+ # @!attribute acknowledgement_delay_ms
272
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
273
+ # delegation. The model may still speak before this delay. Any commentary or
274
+ # thinking appended to the session cancels all pending acknowledgements, including
275
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
276
+ # delegations.
277
+ #
278
+ # @return [Integer, nil]
279
+ optional :acknowledgement_delay_ms, Integer
280
+
281
+ # @!method initialize(decisions:, acknowledgement_delay_ms: nil, type: :decisions)
253
282
  # @param decisions [OpenAI::Models::Live::DecisionsDelegationConfig]
283
+ #
284
+ # @param acknowledgement_delay_ms [Integer]
285
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
286
+ # delegation. The model may still speak before this delay. Any commentary or
287
+ # thinking appended to the session cancels all pending acknowledgements, including
288
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
289
+ # delegations.
290
+ #
254
291
  # @param type [Symbol, :decisions]
255
292
  end
256
293
 
@@ -51,6 +51,17 @@ module OpenAI
51
51
  # @return [Symbol, :responses]
52
52
  required :type, const: :responses
53
53
 
54
+ # @!attribute acknowledgement_delay_ms
55
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
56
+ # delegation. The model may still speak before this delay. Any commentary or
57
+ # thinking appended to the session cancels all pending acknowledgements, including
58
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
59
+ # (request immediately) for other sessions. Omission in a session update preserves
60
+ # the current value. Updates apply to subsequent delegations.
61
+ #
62
+ # @return [Integer, nil]
63
+ optional :acknowledgement_delay_ms, Integer
64
+
54
65
  # @!attribute responses
55
66
  # Responses backend settings to update. Omitted settings keep their existing
56
67
  # values.
@@ -58,10 +69,18 @@ module OpenAI
58
69
  # @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig, nil]
59
70
  optional :responses, -> { OpenAI::Live::ResponsesDelegationUpdateConfig }
60
71
 
61
- # @!method initialize(responses: nil, type: :responses)
72
+ # @!method initialize(acknowledgement_delay_ms: nil, responses: nil, type: :responses)
62
73
  # Update the Responses backend for an existing Live session without changing
63
74
  # delegation ownership.
64
75
  #
76
+ # @param acknowledgement_delay_ms [Integer]
77
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
78
+ # delegation. The model may still speak before this delay. Any commentary or
79
+ # thinking appended to the session cancels all pending acknowledgements, including
80
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
81
+ # (request immediately) for other sessions. Omission in a session update preserves
82
+ # the current value. Updates apply to subsequent delegations.
83
+ #
65
84
  # @param responses [OpenAI::Models::Live::ResponsesDelegationUpdateConfig]
66
85
  # Responses backend settings to update. Omitted settings keep their existing
67
86
  # values.
@@ -19,10 +19,10 @@ module OpenAI
19
19
  # Returned when a Live session update is accepted. Contains the resolved session configuration after the update.
20
20
  variant :"session.updated", -> { OpenAI::Live::SessionUpdatedEvent }
21
21
 
22
- # Returned when a session.input_audio.mute command is accepted. Input audio is no longer sent to the model; sideband audio reflection continues.
22
+ # Acknowledges a session.input_audio.mute command. An independent input mute sends silence to the model and preserves sideband audio reflection. Fixture playback does not emit this event.
23
23
  variant :"session.input_audio.muted", -> { OpenAI::Live::InputAudioMutedEvent }
24
24
 
25
- # Returned when a session.input_audio.unmute command is accepted. Input audio is sent to the model again.
25
+ # Acknowledges a session.input_audio.unmute command, removing the independent input mute. An active audio fixture still pauses inference until playback finishes. Fixture playback does not emit this event.
26
26
  variant :"session.input_audio.unmuted", -> { OpenAI::Live::InputAudioUnmutedEvent }
27
27
 
28
28
  # The existing playback path has accepted the validated audio fixture. This acknowledgment does not identify when the listener receives the first sample. The optional client_event_id echoes the play command.
@@ -256,13 +256,32 @@ module OpenAI
256
256
  # @return [Symbol, :responses]
257
257
  required :type, const: :responses
258
258
 
259
- # @!method initialize(responses:, type: :responses)
259
+ # @!attribute acknowledgement_delay_ms
260
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
261
+ # delegation. The model may still speak before this delay. Any commentary or
262
+ # thinking appended to the session cancels all pending acknowledgements, including
263
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
264
+ # (request immediately) for other sessions. Omission in a session update preserves
265
+ # the current value. Updates apply to subsequent delegations.
266
+ #
267
+ # @return [Integer, nil]
268
+ optional :acknowledgement_delay_ms, Integer
269
+
270
+ # @!method initialize(responses:, acknowledgement_delay_ms: nil, type: :responses)
260
271
  # Delegate tasks to a Responses model managed by the Live session.
261
272
  #
262
273
  # @param responses [OpenAI::Models::Live::ResponsesDelegationConfig]
263
274
  # Backend model, prompt, and tools used when the Live session delegates a task to
264
275
  # Responses.
265
276
  #
277
+ # @param acknowledgement_delay_ms [Integer]
278
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
279
+ # delegation. The model may still speak before this delay. Any commentary or
280
+ # thinking appended to the session cancels all pending acknowledgements, including
281
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
282
+ # (request immediately) for other sessions. Omission in a session update preserves
283
+ # the current value. Updates apply to subsequent delegations.
284
+ #
266
285
  # @param type [Symbol, :responses]
267
286
  # The delegation owner. Always `responses` for tasks handled by the Responses API.
268
287
  end
@@ -278,8 +297,26 @@ module OpenAI
278
297
  # @return [Symbol, :decisions]
279
298
  required :type, const: :decisions
280
299
 
281
- # @!method initialize(decisions:, type: :decisions)
300
+ # @!attribute acknowledgement_delay_ms
301
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
302
+ # delegation. The model may still speak before this delay. Any commentary or
303
+ # thinking appended to the session cancels all pending acknowledgements, including
304
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
305
+ # delegations.
306
+ #
307
+ # @return [Integer, nil]
308
+ optional :acknowledgement_delay_ms, Integer
309
+
310
+ # @!method initialize(decisions:, acknowledgement_delay_ms: nil, type: :decisions)
282
311
  # @param decisions [OpenAI::Models::Live::DecisionsDelegationConfig]
312
+ #
313
+ # @param acknowledgement_delay_ms [Integer]
314
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
315
+ # delegation. The model may still speak before this delay. Any commentary or
316
+ # thinking appended to the session cancels all pending acknowledgements, including
317
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
318
+ # delegations.
319
+ #
283
320
  # @param type [Symbol, :decisions]
284
321
  end
285
322
 
@@ -236,13 +236,32 @@ module OpenAI
236
236
  # @return [Symbol, :responses]
237
237
  required :type, const: :responses
238
238
 
239
- # @!method initialize(responses:, type: :responses)
239
+ # @!attribute acknowledgement_delay_ms
240
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
241
+ # delegation. The model may still speak before this delay. Any commentary or
242
+ # thinking appended to the session cancels all pending acknowledgements, including
243
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
244
+ # (request immediately) for other sessions. Omission in a session update preserves
245
+ # the current value. Updates apply to subsequent delegations.
246
+ #
247
+ # @return [Integer, nil]
248
+ optional :acknowledgement_delay_ms, Integer
249
+
250
+ # @!method initialize(responses:, acknowledgement_delay_ms: nil, type: :responses)
240
251
  # Delegate tasks to a Responses model managed by the Live session.
241
252
  #
242
253
  # @param responses [OpenAI::Models::Live::ResponsesDelegationConfig]
243
254
  # Backend model, prompt, and tools used when the Live session delegates a task to
244
255
  # Responses.
245
256
  #
257
+ # @param acknowledgement_delay_ms [Integer]
258
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
259
+ # delegation. The model may still speak before this delay. Any commentary or
260
+ # thinking appended to the session cancels all pending acknowledgements, including
261
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
262
+ # (request immediately) for other sessions. Omission in a session update preserves
263
+ # the current value. Updates apply to subsequent delegations.
264
+ #
246
265
  # @param type [Symbol, :responses]
247
266
  # The delegation owner. Always `responses` for tasks handled by the Responses API.
248
267
  end
@@ -258,8 +277,26 @@ module OpenAI
258
277
  # @return [Symbol, :decisions]
259
278
  required :type, const: :decisions
260
279
 
261
- # @!method initialize(decisions:, type: :decisions)
280
+ # @!attribute acknowledgement_delay_ms
281
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
282
+ # delegation. The model may still speak before this delay. Any commentary or
283
+ # thinking appended to the session cancels all pending acknowledgements, including
284
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
285
+ # delegations.
286
+ #
287
+ # @return [Integer, nil]
288
+ optional :acknowledgement_delay_ms, Integer
289
+
290
+ # @!method initialize(decisions:, acknowledgement_delay_ms: nil, type: :decisions)
262
291
  # @param decisions [OpenAI::Models::Live::DecisionsDelegationConfig]
292
+ #
293
+ # @param acknowledgement_delay_ms [Integer]
294
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
295
+ # delegation. The model may still speak before this delay. Any commentary or
296
+ # thinking appended to the session cancels all pending acknowledgements, including
297
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
298
+ # delegations.
299
+ #
263
300
  # @param type [Symbol, :decisions]
264
301
  end
265
302
 
@@ -268,13 +268,32 @@ module OpenAI
268
268
  # @return [Symbol, :responses]
269
269
  required :type, const: :responses
270
270
 
271
- # @!method initialize(responses:, type: :responses)
271
+ # @!attribute acknowledgement_delay_ms
272
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
273
+ # delegation. The model may still speak before this delay. Any commentary or
274
+ # thinking appended to the session cancels all pending acknowledgements, including
275
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
276
+ # (request immediately) for other sessions. Omission in a session update preserves
277
+ # the current value. Updates apply to subsequent delegations.
278
+ #
279
+ # @return [Integer, nil]
280
+ optional :acknowledgement_delay_ms, Integer
281
+
282
+ # @!method initialize(responses:, acknowledgement_delay_ms: nil, type: :responses)
272
283
  # Delegate tasks to a Responses model managed by the Live session.
273
284
  #
274
285
  # @param responses [OpenAI::Models::Live::ResponsesDelegationConfig]
275
286
  # Backend model, prompt, and tools used when the Live session delegates a task to
276
287
  # Responses.
277
288
  #
289
+ # @param acknowledgement_delay_ms [Integer]
290
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
291
+ # delegation. The model may still speak before this delay. Any commentary or
292
+ # thinking appended to the session cancels all pending acknowledgements, including
293
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
294
+ # (request immediately) for other sessions. Omission in a session update preserves
295
+ # the current value. Updates apply to subsequent delegations.
296
+ #
278
297
  # @param type [Symbol, :responses]
279
298
  # The delegation owner. Always `responses` for tasks handled by the Responses API.
280
299
  end
@@ -290,8 +309,26 @@ module OpenAI
290
309
  # @return [Symbol, :decisions]
291
310
  required :type, const: :decisions
292
311
 
293
- # @!method initialize(decisions:, type: :decisions)
312
+ # @!attribute acknowledgement_delay_ms
313
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
314
+ # delegation. The model may still speak before this delay. Any commentary or
315
+ # thinking appended to the session cancels all pending acknowledgements, including
316
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
317
+ # delegations.
318
+ #
319
+ # @return [Integer, nil]
320
+ optional :acknowledgement_delay_ms, Integer
321
+
322
+ # @!method initialize(decisions:, acknowledgement_delay_ms: nil, type: :decisions)
294
323
  # @param decisions [OpenAI::Models::Live::DecisionsDelegationConfig]
324
+ #
325
+ # @param acknowledgement_delay_ms [Integer]
326
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
327
+ # delegation. The model may still speak before this delay. Any commentary or
328
+ # thinking appended to the session cancels all pending acknowledgements, including
329
+ # those for other delegations. Defaults to 400. Updates apply to subsequent
330
+ # delegations.
331
+ #
295
332
  # @param type [Symbol, :decisions]
296
333
  end
297
334
 
@@ -57,6 +57,17 @@ module OpenAI
57
57
  # @return [Symbol, :responses]
58
58
  required :type, const: :responses
59
59
 
60
+ # @!attribute acknowledgement_delay_ms
61
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
62
+ # delegation. The model may still speak before this delay. Any commentary or
63
+ # thinking appended to the session cancels all pending acknowledgements, including
64
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
65
+ # (request immediately) for other sessions. Omission in a session update preserves
66
+ # the current value. Updates apply to subsequent delegations.
67
+ #
68
+ # @return [Integer, nil]
69
+ optional :acknowledgement_delay_ms, Integer
70
+
60
71
  # @!attribute responses
61
72
  # Responses backend settings to update. Omitted settings keep their existing
62
73
  # values.
@@ -64,10 +75,18 @@ module OpenAI
64
75
  # @return [OpenAI::Models::Live::ResponsesDelegationUpdateConfig, nil]
65
76
  optional :responses, -> { OpenAI::Live::ResponsesDelegationUpdateConfig }
66
77
 
67
- # @!method initialize(responses: nil, type: :responses)
78
+ # @!method initialize(acknowledgement_delay_ms: nil, responses: nil, type: :responses)
68
79
  # Update the Responses backend for an existing Live session without changing
69
80
  # delegation ownership.
70
81
  #
82
+ # @param acknowledgement_delay_ms [Integer]
83
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
84
+ # delegation. The model may still speak before this delay. Any commentary or
85
+ # thinking appended to the session cancels all pending acknowledgements, including
86
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
87
+ # (request immediately) for other sessions. Omission in a session update preserves
88
+ # the current value. Updates apply to subsequent delegations.
89
+ #
71
90
  # @param responses [OpenAI::Models::Live::ResponsesDelegationUpdateConfig]
72
91
  # Responses backend settings to update. Omitted settings keep their existing
73
92
  # values.
@@ -82,13 +101,33 @@ module OpenAI
82
101
  # @return [Symbol, :decisions]
83
102
  required :type, const: :decisions
84
103
 
104
+ # @!attribute acknowledgement_delay_ms
105
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
106
+ # delegation. The model may still speak before this delay. Any commentary or
107
+ # thinking appended to the session cancels all pending acknowledgements, including
108
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
109
+ # (request immediately) for other sessions. Omission in a session update preserves
110
+ # the current value. Updates apply to subsequent delegations.
111
+ #
112
+ # @return [Integer, nil]
113
+ optional :acknowledgement_delay_ms, Integer
114
+
85
115
  # @!attribute decisions
86
116
  #
87
117
  # @return [OpenAI::Models::Live::DecisionsDelegationUpdateConfig, nil]
88
118
  optional :decisions, -> { OpenAI::Live::DecisionsDelegationUpdateConfig }
89
119
 
90
- # @!method initialize(decisions: nil, type: :decisions)
120
+ # @!method initialize(acknowledgement_delay_ms: nil, decisions: nil, type: :decisions)
121
+ # @param acknowledgement_delay_ms [Integer]
122
+ # Milliseconds to wait before requesting an automatic spoken acknowledgement for a
123
+ # delegation. The model may still speak before this delay. Any commentary or
124
+ # thinking appended to the session cancels all pending acknowledgements, including
125
+ # those for other delegations. Defaults to 400 for Decisions sessions and 0
126
+ # (request immediately) for other sessions. Omission in a session update preserves
127
+ # the current value. Updates apply to subsequent delegations.
128
+ #
91
129
  # @param decisions [OpenAI::Models::Live::DecisionsDelegationUpdateConfig]
130
+ #
92
131
  # @param type [Symbol, :decisions]
93
132
  end
94
133
 
@@ -16,19 +16,19 @@ module OpenAI
16
16
  # Mute audio input to the Live model without closing the session. The server acknowledges with `session.input_audio.muted`.
17
17
  variant :"session.input_audio.mute", -> { OpenAI::Live::InputAudioMuteEvent }
18
18
 
19
- # Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`.
19
+ # Resume audio input to a Live model after muting it. The server acknowledges with `session.input_audio.unmuted`. An active audio fixture still pauses inference until playback finishes.
20
20
  variant :"session.input_audio.unmute", -> { OpenAI::Live::InputAudioUnmuteEvent }
21
21
 
22
22
  # Play one complete audio fixture through the session output. Send this event over the primary WebSocket or a server sideband. Audio must be raw mono PCM16 little-endian at 24 kHz, regardless of the session audio format, and at most 30 seconds. The entire payload is validated before model speech is interrupted and input is muted. Only one fixture can be active. fixture.playing acknowledges acceptance and fixture.played reports server mixer drain. These notifications are not exact transport-media boundaries. Input arriving during playback is dropped and not replayed.
23
23
  variant :"session.output_audio.fixture.play", -> { OpenAI::Live::OutputAudioFixturePlayEvent }
24
24
 
25
- # Append instructions to the Live conversation while it is running, optionally associating them with an existing client delegation.
25
+ # Append developer instructions to the Live conversation while it is running, optionally associating them with an existing client delegation. Rejected while an audio fixture is active. These instructions remain in conversation history through compaction and are included in future backend delegations. For external audio, describe content already delivered so the assistant does not repeat it.
26
26
  variant :"session.instructions.append", -> { OpenAI::Live::InstructionsAppendEvent }
27
27
 
28
- # Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation.
28
+ # Provide silent reasoning or progress context to the Live model, optionally for an existing client delegation. Rejected while an audio fixture is active.
29
29
  variant :"session.thinking.append", -> { OpenAI::Live::ThinkingAppendEvent }
30
30
 
31
- # Provide context the Live model can communicate to the user, optionally for an existing client delegation.
31
+ # Provide context the Live model can communicate to the user, optionally for an existing client delegation. Rejected while an audio fixture is active.
32
32
  variant :"session.commentary.append", -> { OpenAI::Live::CommentaryAppendEvent }
33
33
 
34
34
  # Evaluate the configured questions using the current conversation and Decision inputs. Reusing an event_id is rejected for the lifetime of the session.
@@ -16,10 +16,10 @@ module OpenAI
16
16
  # Returned when a Live session update is accepted. Contains the resolved session configuration after the update.
17
17
  variant :"session.updated", -> { OpenAI::Live::SessionUpdatedEvent }
18
18
 
19
- # Returned when a session.input_audio.mute command is accepted. Input audio is no longer sent to the model; sideband audio reflection continues.
19
+ # Acknowledges a session.input_audio.mute command. An independent input mute sends silence to the model and preserves sideband audio reflection. Fixture playback does not emit this event.
20
20
  variant :"session.input_audio.muted", -> { OpenAI::Live::InputAudioMutedEvent }
21
21
 
22
- # Returned when a session.input_audio.unmute command is accepted. Input audio is sent to the model again.
22
+ # Acknowledges a session.input_audio.unmute command, removing the independent input mute. An active audio fixture still pauses inference until playback finishes. Fixture playback does not emit this event.
23
23
  variant :"session.input_audio.unmuted", -> { OpenAI::Live::InputAudioUnmutedEvent }
24
24
 
25
25
  # The existing playback path has accepted the validated audio fixture. This acknowledgment does not identify when the listener receives the first sample. The optional client_event_id echoes the play command.
@@ -35,7 +35,7 @@ module OpenAI
35
35
 
36
36
  # @!method initialize(content:, delegation_id:, event_id: nil, type: :"session.thinking.append")
37
37
  # Provide silent reasoning or progress context to the Live model, optionally for
38
- # an existing client delegation.
38
+ # an existing client delegation. Rejected while an audio fixture is active.
39
39
  #
40
40
  # @param content [String]
41
41
  # Silent reasoning or progress context, limited to 500 tokens. It does not
@@ -35,12 +35,11 @@ module OpenAI
35
35
  optional :delta, String
36
36
 
37
37
  # @!attribute logprobs
38
- # The log probabilities of the transcription. These can be enabled by
39
- # configurating the session with
40
- # `"include": ["item.input_audio_transcription.logprobs"]`. Each entry in the
41
- # array corresponds a log probability of which token would be selected for this
42
- # chunk of transcription. This can help to identify if it was possible there were
43
- # multiple valid options for a given chunk of transcription.
38
+ # The log probabilities of the transcription. These can be enabled by configuring
39
+ # the session with `"include": ["item.input_audio_transcription.logprobs"]`. Each
40
+ # entry in the array corresponds a log probability of which token would be
41
+ # selected for this chunk of transcription. This can help to identify if it was
42
+ # possible there were multiple valid options for a given chunk of transcription.
44
43
  #
45
44
  # @return [Array<OpenAI::Models::Realtime::LogProbProperties>, nil]
46
45
  optional(
@@ -66,12 +65,11 @@ module OpenAI
66
65
  # The text delta.
67
66
  #
68
67
  # @param logprobs [Array<OpenAI::Models::Realtime::LogProbProperties>, nil]
69
- # The log probabilities of the transcription. These can be enabled by
70
- # configurating the session with
71
- # `"include": ["item.input_audio_transcription.logprobs"]`. Each entry in the
72
- # array corresponds a log probability of which token would be selected for this
73
- # chunk of transcription. This can help to identify if it was possible there were
74
- # multiple valid options for a given chunk of transcription.
68
+ # The log probabilities of the transcription. These can be enabled by configuring
69
+ # the session with `"include": ["item.input_audio_transcription.logprobs"]`. Each
70
+ # entry in the array corresponds a log probability of which token would be
71
+ # selected for this chunk of transcription. This can help to identify if it was
72
+ # possible there were multiple valid options for a given chunk of transcription.
75
73
  #
76
74
  # @param type [Symbol, :"conversation.item.input_audio_transcription.delta"]
77
75
  # The event type, must be `conversation.item.input_audio_transcription.delta`.
@@ -25,7 +25,7 @@ module OpenAI
25
25
  # @!method initialize(error:, event_id:, type: :error)
26
26
  # Returned when an error occurs, which could be a client problem or a server
27
27
  # problem. Most errors are recoverable and the session will stay open, we
28
- # recommend to implementors to monitor and log error messages by default.
28
+ # recommend to implementers to monitor and log error messages by default.
29
29
  #
30
30
  # @param error [OpenAI::Models::Realtime::RealtimeError]
31
31
  # Details of the error.
@@ -73,7 +73,7 @@ module OpenAI
73
73
 
74
74
  # Returned when an error occurs, which could be a client problem or a server
75
75
  # problem. Most errors are recoverable and the session will stay open, we
76
- # recommend to implementors to monitor and log error messages by default.
76
+ # recommend to implementers to monitor and log error messages by default.
77
77
  variant :error, -> { OpenAI::Realtime::RealtimeErrorEvent }
78
78
 
79
79
  # Returned when the input audio buffer is cleared by the client with a
@@ -11,7 +11,7 @@ module OpenAI
11
11
 
12
12
  # Returned when an error occurs, which could be a client problem or a server
13
13
  # problem. Most errors are recoverable and the session will stay open, we
14
- # recommend to implementors to monitor and log error messages by default.
14
+ # recommend to implementers to monitor and log error messages by default.
15
15
  variant :error, -> { OpenAI::Realtime::RealtimeErrorEvent }
16
16
 
17
17
  # Returned when a translation session is created. Emitted automatically when a
@@ -171,6 +171,8 @@ module OpenAI
171
171
 
172
172
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_6_1_SOL }
173
173
 
174
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_6_1_TERRA }
175
+
174
176
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_6_SOL }
175
177
 
176
178
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_6_LUNA }
@@ -416,6 +418,7 @@ module OpenAI
416
418
 
417
419
  GPT_6_ASTRA = :"gpt-6-astra"
418
420
  GPT_6_1_SOL = :"gpt-6.1-sol"
421
+ GPT_6_1_TERRA = :"gpt-6.1-terra"
419
422
  GPT_6_SOL = :"gpt-6-sol"
420
423
  GPT_6_LUNA = :"gpt-6-luna"
421
424
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -108,13 +108,35 @@ module OpenAI
108
108
  # @return [Symbol, :explicit]
109
109
  required :mode, const: :explicit
110
110
 
111
- # @!method initialize(mode: :explicit)
111
+ # @!attribute ttl
112
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
113
+ #
114
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputFile::PromptCacheBreakpoint::Ttl, nil]
115
+ optional :ttl, enum: -> { OpenAI::Responses::ResponseInputFile::PromptCacheBreakpoint::Ttl }
116
+
117
+ # @!method initialize(ttl: nil, mode: :explicit)
112
118
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
113
119
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
114
120
  # token block.
115
121
  #
122
+ # @param ttl [Symbol, OpenAI::Models::Responses::ResponseInputFile::PromptCacheBreakpoint::Ttl]
123
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
124
+ #
116
125
  # @param mode [Symbol, :explicit]
117
126
  # The breakpoint mode. Always `explicit`.
127
+
128
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
129
+ #
130
+ # @see OpenAI::Models::Responses::ResponseInputFile::PromptCacheBreakpoint#ttl
131
+ module Ttl
132
+ extend OpenAI::Internal::Type::Enum
133
+
134
+ TTL_30M = :"30m"
135
+ TTL_12H = :"12h"
136
+
137
+ # @!method self.values
138
+ # @return [Array<Symbol>]
139
+ end
118
140
  end
119
141
  end
120
142
  end
@@ -112,13 +112,35 @@ module OpenAI
112
112
  # @return [Symbol, :explicit]
113
113
  required :mode, const: :explicit
114
114
 
115
- # @!method initialize(mode: :explicit)
115
+ # @!attribute ttl
116
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
117
+ #
118
+ # @return [Symbol, OpenAI::Models::Responses::ResponseInputFileContent::PromptCacheBreakpoint::Ttl, nil]
119
+ optional :ttl, enum: -> { OpenAI::Responses::ResponseInputFileContent::PromptCacheBreakpoint::Ttl }
120
+
121
+ # @!method initialize(ttl: nil, mode: :explicit)
116
122
  # Marks the exact end of a reusable prompt prefix. The breakpoint inherits its TTL
117
123
  # from the request's `prompt_cache_options.ttl`; the boundary is not rounded to a
118
124
  # token block.
119
125
  #
126
+ # @param ttl [Symbol, OpenAI::Models::Responses::ResponseInputFileContent::PromptCacheBreakpoint::Ttl]
127
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
128
+ #
120
129
  # @param mode [Symbol, :explicit]
121
130
  # The breakpoint mode. Always `explicit`.
131
+
132
+ # The minimum lifetime of this cache breakpoint. Defaults to the request TTL.
133
+ #
134
+ # @see OpenAI::Models::Responses::ResponseInputFileContent::PromptCacheBreakpoint#ttl
135
+ module Ttl
136
+ extend OpenAI::Internal::Type::Enum
137
+
138
+ TTL_30M = :"30m"
139
+ TTL_12H = :"12h"
140
+
141
+ # @!method self.values
142
+ # @return [Array<Symbol>]
143
+ end
122
144
  end
123
145
  end
124
146
  end