openai 0.123.0 → 0.124.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 (227) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +7 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/admin/organization/audit_log_list_response.rb +10 -1
  5. data/lib/openai/models/admin/organization/external_key.rb +25 -1
  6. data/lib/openai/models/admin/organization/external_key_create_params.rb +78 -3
  7. data/lib/openai/models/beta/agent_output_command_execution_output_delta_event.rb +10 -1
  8. data/lib/openai/models/beta/agent_session.rb +128 -4
  9. data/lib/openai/models/beta/agent_session_created_event.rb +10 -1
  10. data/lib/openai/models/beta/agent_session_environment_connected_event.rb +10 -1
  11. data/lib/openai/models/beta/agent_session_environment_disconnected_event.rb +10 -1
  12. data/lib/openai/models/beta/agent_session_environment_expired_event.rb +10 -1
  13. data/lib/openai/models/beta/agent_session_environment_failed_event.rb +10 -1
  14. data/lib/openai/models/beta/agent_session_environment_pending_event.rb +10 -1
  15. data/lib/openai/models/beta/agent_session_environment_ready_event.rb +10 -1
  16. data/lib/openai/models/beta/agent_session_environment_reset_event.rb +10 -1
  17. data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +10 -1
  18. data/lib/openai/models/beta/agent_session_error_event.rb +10 -1
  19. data/lib/openai/models/beta/agent_session_failed_event.rb +10 -1
  20. data/lib/openai/models/beta/agent_session_idle_event.rb +10 -1
  21. data/lib/openai/models/beta/agent_session_in_progress_event.rb +10 -1
  22. data/lib/openai/models/beta/agent_session_input_param.rb +87 -1
  23. data/lib/openai/models/beta/agent_session_requires_action_event.rb +10 -1
  24. data/lib/openai/models/beta/agent_session_subagent_active_event.rb +10 -1
  25. data/lib/openai/models/beta/agent_session_subagent_closed_event.rb +10 -1
  26. data/lib/openai/models/beta/agent_session_subagent_created_event.rb +10 -1
  27. data/lib/openai/models/beta/agent_session_turn_cancelled_event.rb +10 -1
  28. data/lib/openai/models/beta/agent_session_turn_completed_event.rb +10 -1
  29. data/lib/openai/models/beta/agent_session_turn_content_part_added_event.rb +10 -1
  30. data/lib/openai/models/beta/agent_session_turn_content_part_done_event.rb +10 -1
  31. data/lib/openai/models/beta/agent_session_turn_created_event.rb +10 -1
  32. data/lib/openai/models/beta/agent_session_turn_failed_event.rb +10 -1
  33. data/lib/openai/models/beta/agent_session_turn_in_progress_event.rb +10 -1
  34. data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +10 -1
  35. data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +10 -1
  36. data/lib/openai/models/beta/agent_session_turn_output_text_delta_event.rb +10 -1
  37. data/lib/openai/models/beta/agent_session_turn_output_text_done_event.rb +10 -1
  38. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rb +10 -1
  39. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rb +10 -1
  40. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rb +10 -1
  41. data/lib/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rb +10 -1
  42. data/lib/openai/models/beta/agents/session_create_params.rb +69 -1
  43. data/lib/openai/models/beta/agents/session_update_params.rb +44 -1
  44. data/lib/openai/models/beta/agents/sessions/event_create_params.rb +2 -2
  45. data/lib/openai/models/beta/agents/sessions/event_stream_params.rb +13 -1
  46. data/lib/openai/models/beta/agents/sessions/turn.rb +41 -1
  47. data/lib/openai/models/beta/beta_response.rb +9 -3
  48. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +6 -3
  49. data/lib/openai/models/beta/beta_responses_client_event.rb +9 -3
  50. data/lib/openai/models/beta/beta_tool.rb +6 -3
  51. data/lib/openai/models/beta/response_compact_params.rb +2 -0
  52. data/lib/openai/models/beta/response_create_params.rb +9 -3
  53. data/lib/openai/models/beta/responses/input_token_count_params.rb +27 -15
  54. data/lib/openai/models/content_provenance_check_create_params.rb +2 -0
  55. data/lib/openai/models/image_edit_params.rb +84 -5
  56. data/lib/openai/models/image_generate_params.rb +4 -4
  57. data/lib/openai/models/images_response.rb +9 -12
  58. data/lib/openai/models/live/media_session_config.rb +12 -1
  59. data/lib/openai/models/live/session_accept_params.rb +12 -1
  60. data/lib/openai/models/responses/input_token_count_params.rb +27 -15
  61. data/lib/openai/models/responses/response.rb +9 -3
  62. data/lib/openai/models/responses/response_compact_params.rb +2 -0
  63. data/lib/openai/models/responses/response_create_params.rb +9 -3
  64. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +6 -3
  65. data/lib/openai/models/responses/responses_client_event.rb +9 -3
  66. data/lib/openai/models/responses/tool.rb +6 -3
  67. data/lib/openai/models/video_create_error.rb +6 -4
  68. data/lib/openai/models/webhooks/agent_session_action_required_webhook_event.rb +1 -0
  69. data/lib/openai/models/webhooks/live_transport_connected_webhook_event.rb +74 -0
  70. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +4 -1
  71. data/lib/openai/resources/admin/organization/external_keys.rb +1 -1
  72. data/lib/openai/resources/beta/agents/sessions/events.rb +10 -3
  73. data/lib/openai/resources/beta/agents/sessions.rb +24 -5
  74. data/lib/openai/resources/beta/responses/input_tokens.rb +9 -6
  75. data/lib/openai/resources/beta/responses.rb +6 -2
  76. data/lib/openai/resources/content_provenance_checks.rb +1 -0
  77. data/lib/openai/resources/images.rb +20 -6
  78. data/lib/openai/resources/responses/input_tokens.rb +9 -5
  79. data/lib/openai/resources/responses.rb +6 -2
  80. data/lib/openai/resources/webhooks.rb +1 -1
  81. data/lib/openai/version.rb +1 -1
  82. data/lib/openai.rb +1 -0
  83. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +13 -1
  84. data/rbi/openai/models/admin/organization/external_key.rbi +44 -0
  85. data/rbi/openai/models/admin/organization/external_key_create_params.rbi +137 -4
  86. data/rbi/openai/models/beta/agent_output_command_execution_output_delta_event.rbi +14 -1
  87. data/rbi/openai/models/beta/agent_session.rbi +207 -0
  88. data/rbi/openai/models/beta/agent_session_created_event.rbi +13 -1
  89. data/rbi/openai/models/beta/agent_session_environment_connected_event.rbi +14 -1
  90. data/rbi/openai/models/beta/agent_session_environment_disconnected_event.rbi +14 -1
  91. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +14 -1
  92. data/rbi/openai/models/beta/agent_session_environment_failed_event.rbi +14 -1
  93. data/rbi/openai/models/beta/agent_session_environment_pending_event.rbi +14 -1
  94. data/rbi/openai/models/beta/agent_session_environment_ready_event.rbi +14 -1
  95. data/rbi/openai/models/beta/agent_session_environment_reset_event.rbi +14 -1
  96. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +14 -1
  97. data/rbi/openai/models/beta/agent_session_error_event.rbi +13 -1
  98. data/rbi/openai/models/beta/agent_session_failed_event.rbi +13 -1
  99. data/rbi/openai/models/beta/agent_session_idle_event.rbi +13 -1
  100. data/rbi/openai/models/beta/agent_session_in_progress_event.rbi +13 -1
  101. data/rbi/openai/models/beta/agent_session_input_param.rbi +159 -0
  102. data/rbi/openai/models/beta/agent_session_requires_action_event.rbi +13 -1
  103. data/rbi/openai/models/beta/agent_session_subagent_active_event.rbi +13 -1
  104. data/rbi/openai/models/beta/agent_session_subagent_closed_event.rbi +13 -1
  105. data/rbi/openai/models/beta/agent_session_subagent_created_event.rbi +13 -1
  106. data/rbi/openai/models/beta/agent_session_turn_cancelled_event.rbi +14 -1
  107. data/rbi/openai/models/beta/agent_session_turn_completed_event.rbi +14 -1
  108. data/rbi/openai/models/beta/agent_session_turn_content_part_added_event.rbi +14 -1
  109. data/rbi/openai/models/beta/agent_session_turn_content_part_done_event.rbi +14 -1
  110. data/rbi/openai/models/beta/agent_session_turn_created_event.rbi +14 -1
  111. data/rbi/openai/models/beta/agent_session_turn_failed_event.rbi +14 -1
  112. data/rbi/openai/models/beta/agent_session_turn_in_progress_event.rbi +14 -1
  113. data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +14 -1
  114. data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +14 -1
  115. data/rbi/openai/models/beta/agent_session_turn_output_text_delta_event.rbi +14 -1
  116. data/rbi/openai/models/beta/agent_session_turn_output_text_done_event.rbi +14 -1
  117. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbi +14 -1
  118. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbi +14 -1
  119. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbi +14 -1
  120. data/rbi/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbi +14 -1
  121. data/rbi/openai/models/beta/agents/session_create_params.rbi +138 -0
  122. data/rbi/openai/models/beta/agents/session_update_params.rbi +82 -0
  123. data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +3 -0
  124. data/rbi/openai/models/beta/agents/sessions/event_stream_params.rbi +15 -1
  125. data/rbi/openai/models/beta/agents/sessions/turn.rbi +74 -1
  126. data/rbi/openai/models/beta/beta_response.rbi +9 -3
  127. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +6 -3
  128. data/rbi/openai/models/beta/beta_responses_client_event.rbi +9 -3
  129. data/rbi/openai/models/beta/beta_tool.rbi +6 -3
  130. data/rbi/openai/models/beta/response_create_params.rbi +9 -3
  131. data/rbi/openai/models/beta/responses/input_token_count_params.rbi +27 -15
  132. data/rbi/openai/models/content_provenance_check_create_params.rbi +2 -0
  133. data/rbi/openai/models/image_edit_params.rbi +143 -4
  134. data/rbi/openai/models/image_generate_params.rbi +4 -4
  135. data/rbi/openai/models/images_response.rbi +9 -12
  136. data/rbi/openai/models/live/media_session_config.rbi +12 -0
  137. data/rbi/openai/models/live/session_accept_params.rbi +12 -0
  138. data/rbi/openai/models/responses/input_token_count_params.rbi +27 -15
  139. data/rbi/openai/models/responses/response.rbi +9 -3
  140. data/rbi/openai/models/responses/response_create_params.rbi +9 -3
  141. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +6 -3
  142. data/rbi/openai/models/responses/responses_client_event.rbi +9 -3
  143. data/rbi/openai/models/responses/tool.rbi +6 -3
  144. data/rbi/openai/models/video_create_error.rbi +6 -4
  145. data/rbi/openai/models/webhooks/agent_session_action_required_webhook_event.rbi +4 -0
  146. data/rbi/openai/models/webhooks/live_transport_connected_webhook_event.rbi +135 -0
  147. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +1 -0
  148. data/rbi/openai/resources/admin/organization/external_keys.rbi +2 -1
  149. data/rbi/openai/resources/beta/agents/sessions/events.rbi +9 -2
  150. data/rbi/openai/resources/beta/agents/sessions.rbi +21 -2
  151. data/rbi/openai/resources/beta/responses/input_tokens.rbi +9 -6
  152. data/rbi/openai/resources/beta/responses.rbi +6 -2
  153. data/rbi/openai/resources/content_provenance_checks.rbi +1 -0
  154. data/rbi/openai/resources/images.rbi +18 -4
  155. data/rbi/openai/resources/responses/input_tokens.rbi +9 -5
  156. data/rbi/openai/resources/responses.rbi +6 -2
  157. data/rbi/openai/resources/webhooks.rbi +1 -0
  158. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +18 -3
  159. data/sig/openai/models/admin/organization/external_key.rbs +28 -0
  160. data/sig/openai/models/admin/organization/external_key_create_params.rbs +108 -0
  161. data/sig/openai/models/beta/agent_output_command_execution_output_delta_event.rbs +13 -2
  162. data/sig/openai/models/beta/agent_session.rbs +126 -1
  163. data/sig/openai/models/beta/agent_session_created_event.rbs +13 -2
  164. data/sig/openai/models/beta/agent_session_environment_connected_event.rbs +13 -2
  165. data/sig/openai/models/beta/agent_session_environment_disconnected_event.rbs +13 -2
  166. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +13 -2
  167. data/sig/openai/models/beta/agent_session_environment_failed_event.rbs +13 -2
  168. data/sig/openai/models/beta/agent_session_environment_pending_event.rbs +13 -2
  169. data/sig/openai/models/beta/agent_session_environment_ready_event.rbs +13 -2
  170. data/sig/openai/models/beta/agent_session_environment_reset_event.rbs +13 -2
  171. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +13 -2
  172. data/sig/openai/models/beta/agent_session_error_event.rbs +13 -2
  173. data/sig/openai/models/beta/agent_session_failed_event.rbs +13 -2
  174. data/sig/openai/models/beta/agent_session_idle_event.rbs +13 -2
  175. data/sig/openai/models/beta/agent_session_in_progress_event.rbs +13 -2
  176. data/sig/openai/models/beta/agent_session_input_param.rbs +80 -1
  177. data/sig/openai/models/beta/agent_session_requires_action_event.rbs +13 -2
  178. data/sig/openai/models/beta/agent_session_subagent_active_event.rbs +13 -2
  179. data/sig/openai/models/beta/agent_session_subagent_closed_event.rbs +13 -2
  180. data/sig/openai/models/beta/agent_session_subagent_created_event.rbs +13 -2
  181. data/sig/openai/models/beta/agent_session_turn_cancelled_event.rbs +13 -2
  182. data/sig/openai/models/beta/agent_session_turn_completed_event.rbs +13 -2
  183. data/sig/openai/models/beta/agent_session_turn_content_part_added_event.rbs +13 -2
  184. data/sig/openai/models/beta/agent_session_turn_content_part_done_event.rbs +13 -2
  185. data/sig/openai/models/beta/agent_session_turn_created_event.rbs +13 -2
  186. data/sig/openai/models/beta/agent_session_turn_failed_event.rbs +13 -2
  187. data/sig/openai/models/beta/agent_session_turn_in_progress_event.rbs +13 -2
  188. data/sig/openai/models/beta/agent_session_turn_item_added_event.rbs +13 -2
  189. data/sig/openai/models/beta/agent_session_turn_item_done_event.rbs +13 -2
  190. data/sig/openai/models/beta/agent_session_turn_output_text_delta_event.rbs +13 -2
  191. data/sig/openai/models/beta/agent_session_turn_output_text_done_event.rbs +13 -2
  192. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_added_event.rbs +13 -2
  193. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbs +13 -2
  194. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_delta_event.rbs +13 -2
  195. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_text_done_event.rbs +13 -2
  196. data/sig/openai/models/beta/agents/session_create_params.rbs +78 -0
  197. data/sig/openai/models/beta/agents/session_update_params.rbs +46 -0
  198. data/sig/openai/models/beta/agents/sessions/event_stream_params.rbs +18 -1
  199. data/sig/openai/models/beta/agents/sessions/turn.rbs +40 -2
  200. data/sig/openai/models/beta/beta_response.rbs +6 -2
  201. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +6 -3
  202. data/sig/openai/models/beta/beta_responses_client_event.rbs +6 -2
  203. data/sig/openai/models/beta/beta_tool.rbs +6 -3
  204. data/sig/openai/models/beta/response_create_params.rbs +6 -2
  205. data/sig/openai/models/beta/responses/input_token_count_params.rbs +27 -15
  206. data/sig/openai/models/content_provenance_check_create_params.rbs +2 -0
  207. data/sig/openai/models/image_edit_params.rbs +87 -4
  208. data/sig/openai/models/image_generate_params.rbs +4 -4
  209. data/sig/openai/models/images_response.rbs +9 -12
  210. data/sig/openai/models/live/media_session_config.rbs +10 -0
  211. data/sig/openai/models/live/session_accept_params.rbs +10 -0
  212. data/sig/openai/models/responses/input_token_count_params.rbs +27 -15
  213. data/sig/openai/models/responses/response.rbs +6 -2
  214. data/sig/openai/models/responses/response_create_params.rbs +6 -2
  215. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +6 -3
  216. data/sig/openai/models/responses/responses_client_event.rbs +6 -2
  217. data/sig/openai/models/responses/tool.rbs +6 -3
  218. data/sig/openai/models/video_create_error.rbs +9 -6
  219. data/sig/openai/models/webhooks/agent_session_action_required_webhook_event.rbs +2 -0
  220. data/sig/openai/models/webhooks/live_transport_connected_webhook_event.rbs +66 -0
  221. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +1 -0
  222. data/sig/openai/resources/admin/organization/external_keys.rbs +9 -0
  223. data/sig/openai/resources/beta/agents/sessions/events.rbs +1 -0
  224. data/sig/openai/resources/beta/agents/sessions.rbs +5 -0
  225. data/sig/openai/resources/images.rbs +2 -0
  226. data/sig/openai/resources/webhooks.rbs +1 -0
  227. metadata +4 -1
@@ -10,7 +10,8 @@ module OpenAI
10
10
  session_id: String,
11
11
  summary_index: Integer,
12
12
  turn_id: String?,
13
- ?type: :"agent.session.turn.reasoning_summary_text.delta"
13
+ ?type: :"agent.session.turn.reasoning_summary_text.delta",
14
+ ?obfuscation: String
14
15
  }
15
16
 
16
17
  class AgentSessionTurnReasoningSummaryTextDeltaEvent < OpenAI::Internal::Type::BaseModel
@@ -39,6 +40,12 @@ module OpenAI
39
40
  # `agent.session.turn.reasoning_summary_text.delta`.
40
41
  attr_accessor type: :"agent.session.turn.reasoning_summary_text.delta"
41
42
 
43
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
44
+ attr_reader obfuscation: String?
45
+
46
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
47
+ def obfuscation=: (String) -> String
48
+
42
49
  # @param delta
43
50
  # The summary text that was appended.
44
51
  # @param event_id
@@ -53,6 +60,8 @@ module OpenAI
53
60
  # The index of the summary content part.
54
61
  # @param turn_id
55
62
  # The ID of the turn associated with the event, when applicable.
63
+ # @param obfuscation
64
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
56
65
  # @param type
57
66
  # The type of the object. Always
58
67
  # `agent.session.turn.reasoning_summary_text.delta`.
@@ -64,6 +73,7 @@ module OpenAI
64
73
  session_id: String,
65
74
  summary_index: Integer,
66
75
  turn_id: String?,
76
+ ?obfuscation: String,
67
77
  ?type: :"agent.session.turn.reasoning_summary_text.delta"
68
78
  ) -> void
69
79
 
@@ -75,7 +85,8 @@ module OpenAI
75
85
  session_id: String,
76
86
  summary_index: Integer,
77
87
  turn_id: String?,
78
- ?type: :"agent.session.turn.reasoning_summary_text.delta"
88
+ ?type: :"agent.session.turn.reasoning_summary_text.delta",
89
+ ?obfuscation: String
79
90
  }
80
91
  end
81
92
  end
@@ -10,7 +10,8 @@ module OpenAI
10
10
  summary_index: Integer,
11
11
  text: String,
12
12
  turn_id: String?,
13
- ?type: :"agent.session.turn.reasoning_summary_text.done"
13
+ ?type: :"agent.session.turn.reasoning_summary_text.done",
14
+ ?obfuscation: String
14
15
  }
15
16
 
16
17
  class AgentSessionTurnReasoningSummaryTextDoneEvent < OpenAI::Internal::Type::BaseModel
@@ -38,6 +39,12 @@ module OpenAI
38
39
  # The type of the object. Always `agent.session.turn.reasoning_summary_text.done`.
39
40
  attr_accessor type: :"agent.session.turn.reasoning_summary_text.done"
40
41
 
42
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
43
+ attr_reader obfuscation: String?
44
+
45
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
46
+ def obfuscation=: (String) -> String
47
+
41
48
  # @param event_id
42
49
  # The unique ID of the event.
43
50
  # @param item_id
@@ -52,6 +59,8 @@ module OpenAI
52
59
  # The complete reasoning summary text.
53
60
  # @param turn_id
54
61
  # The ID of the turn associated with the event, when applicable.
62
+ # @param obfuscation
63
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
55
64
  # @param type
56
65
  # The type of the object. Always `agent.session.turn.reasoning_summary_text.done`.
57
66
  def initialize: (
@@ -62,6 +71,7 @@ module OpenAI
62
71
  summary_index: Integer,
63
72
  text: String,
64
73
  turn_id: String?,
74
+ ?obfuscation: String,
65
75
  ?type: :"agent.session.turn.reasoning_summary_text.done"
66
76
  ) -> void
67
77
 
@@ -73,7 +83,8 @@ module OpenAI
73
83
  summary_index: Integer,
74
84
  text: String,
75
85
  turn_id: String?,
76
- ?type: :"agent.session.turn.reasoning_summary_text.done"
86
+ ?type: :"agent.session.turn.reasoning_summary_text.done",
87
+ ?obfuscation: String
77
88
  }
78
89
  end
79
90
  end
@@ -9,8 +9,10 @@ module OpenAI
9
9
  ?agent_id: String,
10
10
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
11
11
  ?metadata: ::Hash[Symbol, String]?,
12
+ ?prompt_cache_options: OpenAI::Beta::Agents::SessionCreateParams::PromptCacheOptions?,
12
13
  ?review: OpenAI::Models::Beta::Agents::SessionCreateParams::review,
13
14
  ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
15
+ ?stream_options: OpenAI::Beta::Agents::SessionCreateParams::StreamOptions,
14
16
  ?vault_ids: ::Array[String]?,
15
17
  ?request_options: OpenAI::request_opts
16
18
  }
@@ -50,6 +52,10 @@ module OpenAI
50
52
  # characters. Omission or null defaults to an empty map.
51
53
  attr_accessor metadata: ::Hash[Symbol, String]?
52
54
 
55
+ # Default prompt cache lifetime for turns in this session. Omit to use the model
56
+ # default.
57
+ attr_accessor prompt_cache_options: OpenAI::Beta::Agents::SessionCreateParams::PromptCacheOptions?
58
+
53
59
  # Action review mode. Omit to use none.
54
60
  attr_reader review: OpenAI::Models::Beta::Agents::SessionCreateParams::review?
55
61
 
@@ -62,6 +68,14 @@ module OpenAI
62
68
  # session.
63
69
  attr_accessor spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?
64
70
 
71
+ # Options for the event stream. Only allowed when `stream` is `true`.
72
+ attr_reader stream_options: OpenAI::Beta::Agents::SessionCreateParams::StreamOptions?
73
+
74
+ # Options for the event stream. Only allowed when `stream` is `true`.
75
+ def stream_options=: (
76
+ OpenAI::Beta::Agents::SessionCreateParams::StreamOptions
77
+ ) -> OpenAI::Beta::Agents::SessionCreateParams::StreamOptions
78
+
65
79
  # The IDs of vaults made available to the session.
66
80
  attr_accessor vault_ids: ::Array[String]?
67
81
 
@@ -81,11 +95,16 @@ module OpenAI
81
95
  # @param metadata
82
96
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
83
97
  # characters. Omission or null defaults to an empty map.
98
+ # @param prompt_cache_options
99
+ # Default prompt cache lifetime for turns in this session. Omit to use the model
100
+ # default.
84
101
  # @param review
85
102
  # Action review mode. Omit to use none.
86
103
  # @param spend_control
87
104
  # Optional spending limit in USD cents. Omission or null creates an unlimited
88
105
  # session.
106
+ # @param stream_options
107
+ # Options for the event stream. Only allowed when `stream` is `true`.
89
108
  # @param vault_ids
90
109
  # The IDs of vaults made available to the session.
91
110
  def initialize: (
@@ -94,8 +113,10 @@ module OpenAI
94
113
  ?agent_id: String,
95
114
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
96
115
  ?metadata: ::Hash[Symbol, String]?,
116
+ ?prompt_cache_options: OpenAI::Beta::Agents::SessionCreateParams::PromptCacheOptions?,
97
117
  ?review: OpenAI::Models::Beta::Agents::SessionCreateParams::review,
98
118
  ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
119
+ ?stream_options: OpenAI::Beta::Agents::SessionCreateParams::StreamOptions,
99
120
  ?vault_ids: ::Array[String]?,
100
121
  ?request_options: OpenAI::request_opts
101
122
  ) -> void
@@ -106,8 +127,10 @@ module OpenAI
106
127
  ?agent_id: String,
107
128
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
108
129
  ?metadata: ::Hash[Symbol, String]?,
130
+ ?prompt_cache_options: OpenAI::Beta::Agents::SessionCreateParams::PromptCacheOptions?,
109
131
  ?review: OpenAI::Models::Beta::Agents::SessionCreateParams::review,
110
132
  ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
133
+ ?stream_options: OpenAI::Beta::Agents::SessionCreateParams::StreamOptions,
111
134
  ?vault_ids: ::Array[String]?,
112
135
  ?request_options: OpenAI::RequestOptions
113
136
  }
@@ -293,6 +316,42 @@ module OpenAI
293
316
  AgentSessionInputMessageParamArray: OpenAI::Internal::Type::Converter
294
317
  end
295
318
 
319
+ type prompt_cache_options =
320
+ {
321
+ ?ttl: OpenAI::Models::Beta::Agents::SessionCreateParams::PromptCacheOptions::ttl
322
+ }
323
+
324
+ class PromptCacheOptions < OpenAI::Internal::Type::BaseModel
325
+ # Minimum lifetime for new prompt cache entries. Defaults to 30 minutes.
326
+ attr_reader ttl: OpenAI::Models::Beta::Agents::SessionCreateParams::PromptCacheOptions::ttl?
327
+
328
+ # Minimum lifetime for new prompt cache entries. Defaults to 30 minutes.
329
+ def ttl=: (
330
+ OpenAI::Models::Beta::Agents::SessionCreateParams::PromptCacheOptions::ttl
331
+ ) -> OpenAI::Models::Beta::Agents::SessionCreateParams::PromptCacheOptions::ttl
332
+
333
+ # @param ttl
334
+ # Minimum lifetime for new prompt cache entries. Defaults to 30 minutes.
335
+ def initialize: (
336
+ ?ttl: OpenAI::Models::Beta::Agents::SessionCreateParams::PromptCacheOptions::ttl
337
+ ) -> void
338
+
339
+ def to_hash: -> {
340
+ ?ttl: OpenAI::Models::Beta::Agents::SessionCreateParams::PromptCacheOptions::ttl
341
+ }
342
+
343
+ type ttl = :"30m" | :"12h"
344
+
345
+ module Ttl
346
+ extend OpenAI::Internal::Type::Enum
347
+
348
+ TTL_30M: :"30m"
349
+ TTL_12H: :"12h"
350
+
351
+ def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::SessionCreateParams::PromptCacheOptions::ttl]
352
+ end
353
+ end
354
+
296
355
  type review = :none | :auto_review
297
356
 
298
357
  module Review
@@ -319,6 +378,25 @@ module OpenAI
319
378
 
320
379
  def to_hash: -> { limit: Integer? }
321
380
  end
381
+
382
+ type stream_options = { ?include_obfuscation: bool }
383
+
384
+ class StreamOptions < OpenAI::Internal::Type::BaseModel
385
+ # Whether to include obfuscation padding in events on this connection. Defaults to
386
+ # `true`.
387
+ attr_reader include_obfuscation: bool?
388
+
389
+ # Whether to include obfuscation padding in events on this connection. Defaults to
390
+ # `true`.
391
+ def include_obfuscation=: (bool) -> bool
392
+
393
+ # @param include_obfuscation
394
+ # Whether to include obfuscation padding in events on this connection. Defaults to
395
+ # `true`.
396
+ def initialize: (?include_obfuscation: bool) -> void
397
+
398
+ def to_hash: -> { ?include_obfuscation: bool }
399
+ end
322
400
  end
323
401
  end
324
402
  end
@@ -7,6 +7,7 @@ module OpenAI
7
7
  session_id: String,
8
8
  ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
9
9
  ?metadata: ::Hash[Symbol, String]?,
10
+ ?prompt_cache_options: OpenAI::Beta::Agents::SessionUpdateParams::PromptCacheOptions?,
10
11
  ?review: OpenAI::Models::Beta::Agents::SessionUpdateParams::review,
11
12
  ?spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?,
12
13
  ?request_options: OpenAI::request_opts
@@ -31,6 +32,10 @@ module OpenAI
31
32
  # characters.
32
33
  attr_accessor metadata: ::Hash[Symbol, String]?
33
34
 
35
+ # Default prompt cache lifetime for future turns. Send null to clear the session
36
+ # default.
37
+ attr_accessor prompt_cache_options: OpenAI::Beta::Agents::SessionUpdateParams::PromptCacheOptions?
38
+
34
39
  # Default action review for new root turns. Existing turns and their subagents
35
40
  # keep their review mode.
36
41
  attr_reader review: OpenAI::Models::Beta::Agents::SessionUpdateParams::review?
@@ -51,6 +56,9 @@ module OpenAI
51
56
  # Replaces all metadata. Omit to leave unchanged, or pass null or {} to clear it.
52
57
  # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
53
58
  # characters.
59
+ # @param prompt_cache_options
60
+ # Default prompt cache lifetime for future turns. Send null to clear the session
61
+ # default.
54
62
  # @param review
55
63
  # Default action review for new root turns. Existing turns and their subagents
56
64
  # keep their review mode.
@@ -61,6 +69,7 @@ module OpenAI
61
69
  session_id: String,
62
70
  ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
63
71
  ?metadata: ::Hash[Symbol, String]?,
72
+ ?prompt_cache_options: OpenAI::Beta::Agents::SessionUpdateParams::PromptCacheOptions?,
64
73
  ?review: OpenAI::Models::Beta::Agents::SessionUpdateParams::review,
65
74
  ?spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?,
66
75
  ?request_options: OpenAI::request_opts
@@ -70,6 +79,7 @@ module OpenAI
70
79
  session_id: String,
71
80
  ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
72
81
  ?metadata: ::Hash[Symbol, String]?,
82
+ ?prompt_cache_options: OpenAI::Beta::Agents::SessionUpdateParams::PromptCacheOptions?,
73
83
  ?review: OpenAI::Models::Beta::Agents::SessionUpdateParams::review,
74
84
  ?spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?,
75
85
  ?request_options: OpenAI::RequestOptions
@@ -195,6 +205,42 @@ module OpenAI
195
205
  end
196
206
  end
197
207
 
208
+ type prompt_cache_options =
209
+ {
210
+ ?ttl: OpenAI::Models::Beta::Agents::SessionUpdateParams::PromptCacheOptions::ttl
211
+ }
212
+
213
+ class PromptCacheOptions < OpenAI::Internal::Type::BaseModel
214
+ # Minimum lifetime for new prompt cache entries. Defaults to 30 minutes.
215
+ attr_reader ttl: OpenAI::Models::Beta::Agents::SessionUpdateParams::PromptCacheOptions::ttl?
216
+
217
+ # Minimum lifetime for new prompt cache entries. Defaults to 30 minutes.
218
+ def ttl=: (
219
+ OpenAI::Models::Beta::Agents::SessionUpdateParams::PromptCacheOptions::ttl
220
+ ) -> OpenAI::Models::Beta::Agents::SessionUpdateParams::PromptCacheOptions::ttl
221
+
222
+ # @param ttl
223
+ # Minimum lifetime for new prompt cache entries. Defaults to 30 minutes.
224
+ def initialize: (
225
+ ?ttl: OpenAI::Models::Beta::Agents::SessionUpdateParams::PromptCacheOptions::ttl
226
+ ) -> void
227
+
228
+ def to_hash: -> {
229
+ ?ttl: OpenAI::Models::Beta::Agents::SessionUpdateParams::PromptCacheOptions::ttl
230
+ }
231
+
232
+ type ttl = :"30m" | :"12h"
233
+
234
+ module Ttl
235
+ extend OpenAI::Internal::Type::Enum
236
+
237
+ TTL_30M: :"30m"
238
+ TTL_12H: :"12h"
239
+
240
+ def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::SessionUpdateParams::PromptCacheOptions::ttl]
241
+ end
242
+ end
243
+
198
244
  type review = :none | :auto_review
199
245
 
200
246
  module Review
@@ -4,7 +4,11 @@ module OpenAI
4
4
  module Agents
5
5
  module Sessions
6
6
  type event_stream_params =
7
- { session_id: String, ?request_options: OpenAI::request_opts }
7
+ {
8
+ session_id: String,
9
+ ?include_obfuscation: bool,
10
+ ?request_options: OpenAI::request_opts
11
+ }
8
12
 
9
13
  class EventStreamParams < OpenAI::Internal::Type::BaseModel
10
14
  extend OpenAI::Internal::Type::RequestParameters::Converter
@@ -12,13 +16,26 @@ module OpenAI
12
16
 
13
17
  attr_accessor session_id: String
14
18
 
19
+ # Whether to include obfuscation padding in events on this connection. Defaults to
20
+ # `true`.
21
+ attr_reader include_obfuscation: bool?
22
+
23
+ # Whether to include obfuscation padding in events on this connection. Defaults to
24
+ # `true`.
25
+ def include_obfuscation=: (bool) -> bool
26
+
27
+ # @param include_obfuscation
28
+ # Whether to include obfuscation padding in events on this connection. Defaults to
29
+ # `true`.
15
30
  def initialize: (
16
31
  session_id: String,
32
+ ?include_obfuscation: bool,
17
33
  ?request_options: OpenAI::request_opts
18
34
  ) -> void
19
35
 
20
36
  def to_hash: -> {
21
37
  session_id: String,
38
+ ?include_obfuscation: bool,
22
39
  ?request_options: OpenAI::RequestOptions
23
40
  }
24
41
  end
@@ -15,7 +15,8 @@ module OpenAI
15
15
  started_at: Integer?,
16
16
  status: OpenAI::Models::Beta::Agents::Sessions::Turn::status,
17
17
  subagent_id: String?,
18
- usage: OpenAI::Beta::TokenUsage?
18
+ usage: OpenAI::Beta::TokenUsage?,
19
+ ?prompt_cache_options: OpenAI::Beta::Agents::Sessions::Turn::PromptCacheOptions?
19
20
  }
20
21
 
21
22
  class Turn < OpenAI::Internal::Type::BaseModel
@@ -55,6 +56,10 @@ module OpenAI
55
56
  # change.
56
57
  attr_accessor usage: OpenAI::Beta::TokenUsage?
57
58
 
59
+ # Prompt cache lifetime selected when this turn started, including an inherited
60
+ # session TTL. Null when the turn used the model default or no TTL was recorded.
61
+ attr_accessor prompt_cache_options: OpenAI::Beta::Agents::Sessions::Turn::PromptCacheOptions?
62
+
58
63
  # @param id
59
64
  # The ID of the turn.
60
65
  # @param agent_id
@@ -78,6 +83,9 @@ module OpenAI
78
83
  # @param usage
79
84
  # Best-effort token usage for the turn, or null if unknown. Recorded usage may
80
85
  # change.
86
+ # @param prompt_cache_options
87
+ # Prompt cache lifetime selected when this turn started, including an inherited
88
+ # session TTL. Null when the turn used the model default or no TTL was recorded.
81
89
  # @param object
82
90
  # The object type. Always `agent.session.turn`.
83
91
  def initialize: (
@@ -91,6 +99,7 @@ module OpenAI
91
99
  status: OpenAI::Models::Beta::Agents::Sessions::Turn::status,
92
100
  subagent_id: String?,
93
101
  usage: OpenAI::Beta::TokenUsage?,
102
+ ?prompt_cache_options: OpenAI::Beta::Agents::Sessions::Turn::PromptCacheOptions?,
94
103
  ?object: :"agent.session.turn"
95
104
  ) -> void
96
105
 
@@ -105,7 +114,8 @@ module OpenAI
105
114
  started_at: Integer?,
106
115
  status: OpenAI::Models::Beta::Agents::Sessions::Turn::status,
107
116
  subagent_id: String?,
108
- usage: OpenAI::Beta::TokenUsage?
117
+ usage: OpenAI::Beta::TokenUsage?,
118
+ ?prompt_cache_options: OpenAI::Beta::Agents::Sessions::Turn::PromptCacheOptions?
109
119
  }
110
120
 
111
121
  type status =
@@ -139,6 +149,34 @@ module OpenAI
139
149
 
140
150
  def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::Sessions::Turn::status]
141
151
  end
152
+
153
+ type prompt_cache_options =
154
+ {
155
+ ttl: OpenAI::Models::Beta::Agents::Sessions::Turn::PromptCacheOptions::ttl
156
+ }
157
+
158
+ class PromptCacheOptions < OpenAI::Internal::Type::BaseModel
159
+ attr_accessor ttl: OpenAI::Models::Beta::Agents::Sessions::Turn::PromptCacheOptions::ttl
160
+
161
+ def initialize: (
162
+ ttl: OpenAI::Models::Beta::Agents::Sessions::Turn::PromptCacheOptions::ttl
163
+ ) -> void
164
+
165
+ def to_hash: -> {
166
+ ttl: OpenAI::Models::Beta::Agents::Sessions::Turn::PromptCacheOptions::ttl
167
+ }
168
+
169
+ type ttl = :"30m" | :"12h"
170
+
171
+ module Ttl
172
+ extend OpenAI::Internal::Type::Enum
173
+
174
+ TTL_30M: :"30m"
175
+ TTL_12H: :"12h"
176
+
177
+ def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::Sessions::Turn::PromptCacheOptions::ttl]
178
+ end
179
+ end
142
180
  end
143
181
  end
144
182
  end
@@ -336,7 +336,9 @@ module OpenAI
336
336
  #
337
337
  # - `auto`: If the input to this Response exceeds the model's context window size,
338
338
  # the model will truncate the response to fit the context window by dropping
339
- # items from the beginning of the conversation.
339
+ # items from the beginning of the conversation. On some models, trimming can
340
+ # begin earlier because the API subtracts the model's maximum output allowance
341
+ # from its input limit, even if you set a lower `max_output_tokens`.
340
342
  # - `disabled` (default): If the input size will exceed the context window size
341
343
  # for a model, the request will fail with a 400 error.
342
344
  attr_accessor truncation: OpenAI::Models::Beta::BetaResponse::truncation?
@@ -564,7 +566,9 @@ module OpenAI
564
566
  #
565
567
  # - `auto`: If the input to this Response exceeds the model's context window size,
566
568
  # the model will truncate the response to fit the context window by dropping
567
- # items from the beginning of the conversation.
569
+ # items from the beginning of the conversation. On some models, trimming can
570
+ # begin earlier because the API subtracts the model's maximum output allowance
571
+ # from its input limit, even if you set a lower `max_output_tokens`.
568
572
  # - `disabled` (default): If the input size will exceed the context window size
569
573
  # for a model, the request will fail with a 400 error.
570
574
  # @param usage
@@ -772,7 +772,8 @@ module OpenAI
772
772
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
773
773
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
774
774
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
775
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
775
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
776
+ # `gpt-image-2.6-sunburst`.
776
777
  #
777
778
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
778
779
  # `gpt-image-2.5-flare` instead.
@@ -782,7 +783,8 @@ module OpenAI
782
783
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
783
784
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
784
785
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
785
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
786
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
787
+ # `gpt-image-2.6-sunburst`.
786
788
  #
787
789
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
788
790
  # `gpt-image-2.5-flare` instead.
@@ -920,7 +922,8 @@ module OpenAI
920
922
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
921
923
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
922
924
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
923
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
925
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
926
+ # `gpt-image-2.6-sunburst`.
924
927
  #
925
928
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
926
929
  # `gpt-image-2.5-flare` instead.
@@ -415,7 +415,9 @@ module OpenAI
415
415
  #
416
416
  # - `auto`: If the input to this Response exceeds the model's context window size,
417
417
  # the model will truncate the response to fit the context window by dropping
418
- # items from the beginning of the conversation.
418
+ # items from the beginning of the conversation. On some models, trimming can
419
+ # begin earlier because the API subtracts the model's maximum output allowance
420
+ # from its input limit, even if you set a lower `max_output_tokens`.
419
421
  # - `disabled` (default): If the input size will exceed the context window size
420
422
  # for a model, the request will fail with a 400 error.
421
423
  attr_accessor truncation: OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::truncation?
@@ -663,7 +665,9 @@ module OpenAI
663
665
  #
664
666
  # - `auto`: If the input to this Response exceeds the model's context window size,
665
667
  # the model will truncate the response to fit the context window by dropping
666
- # items from the beginning of the conversation.
668
+ # items from the beginning of the conversation. On some models, trimming can
669
+ # begin earlier because the API subtracts the model's maximum output allowance
670
+ # from its input limit, even if you set a lower `max_output_tokens`.
667
671
  # - `disabled` (default): If the input size will exceed the context window size
668
672
  # for a model, the request will fail with a 400 error.
669
673
  # @param user
@@ -697,7 +697,8 @@ module OpenAI
697
697
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
698
698
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
699
699
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
700
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
700
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
701
+ # `gpt-image-2.6-sunburst`.
701
702
  #
702
703
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
703
704
  # `gpt-image-2.5-flare` instead.
@@ -707,7 +708,8 @@ module OpenAI
707
708
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
708
709
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
709
710
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
710
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
711
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
712
+ # `gpt-image-2.6-sunburst`.
711
713
  #
712
714
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
713
715
  # `gpt-image-2.5-flare` instead.
@@ -845,7 +847,8 @@ module OpenAI
845
847
  # `gpt-image-2`, `gpt-image-2-2026-04-21`, `gpt-image-2.5-sunburst`,
846
848
  # `gpt-image-2.5-sunburst-2026-09-08`, `gpt-image-2.5-flare`,
847
849
  # `gpt-image-2.5-flare-2026-09-08`, `gpt-image-2.6-sunburst`,
848
- # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default: `gpt-image-2`.
850
+ # `gpt-image-2.6-flare`, or `chatgpt-image-latest`. Default:
851
+ # `gpt-image-2.6-sunburst`.
849
852
  #
850
853
  # `gpt-image-1` was shut down on October 23, 2026. Use `gpt-image-2.5-sunburst` or
851
854
  # `gpt-image-2.5-flare` instead.
@@ -373,7 +373,9 @@ module OpenAI
373
373
  #
374
374
  # - `auto`: If the input to this Response exceeds the model's context window size,
375
375
  # the model will truncate the response to fit the context window by dropping
376
- # items from the beginning of the conversation.
376
+ # items from the beginning of the conversation. On some models, trimming can
377
+ # begin earlier because the API subtracts the model's maximum output allowance
378
+ # from its input limit, even if you set a lower `max_output_tokens`.
377
379
  # - `disabled` (default): If the input size will exceed the context window size
378
380
  # for a model, the request will fail with a 400 error.
379
381
  attr_accessor truncation: OpenAI::Models::Beta::ResponseCreateParams::truncation?
@@ -610,7 +612,9 @@ module OpenAI
610
612
  #
611
613
  # - `auto`: If the input to this Response exceeds the model's context window size,
612
614
  # the model will truncate the response to fit the context window by dropping
613
- # items from the beginning of the conversation.
615
+ # items from the beginning of the conversation. On some models, trimming can
616
+ # begin earlier because the API subtracts the model's maximum output allowance
617
+ # from its input limit, even if you set a lower `max_output_tokens`.
614
618
  # - `disabled` (default): If the input size will exceed the context window size
615
619
  # for a model, the request will fail with a 400 error.
616
620
  # @param user
@@ -92,18 +92,26 @@ module OpenAI
92
92
  # specify which tool to use by setting the `tool_choice` parameter.
93
93
  attr_accessor tools: ::Array[OpenAI::Models::Beta::beta_tool]?
94
94
 
95
- # The truncation strategy to use for the model response. - `auto`: If the input to
96
- # this Response exceeds the model's context window size, the model will truncate
97
- # the response to fit the context window by dropping items from the beginning of
98
- # the conversation. - `disabled` (default): If the input size will exceed the
99
- # context window size for a model, the request will fail with a 400 error.
95
+ # The truncation strategy to use for the model response.
96
+ #
97
+ # - `auto`: If the input to this Response exceeds the model's context window size,
98
+ # the model will truncate the response to fit the context window by dropping
99
+ # items from the beginning of the conversation. On some models, trimming can
100
+ # begin earlier because the API subtracts the model's maximum output allowance
101
+ # from its input limit before counting tokens.
102
+ # - `disabled` (default): If the input size will exceed the context window size
103
+ # for a model, the request will fail with a 400 error.
100
104
  attr_reader truncation: OpenAI::Models::Beta::Responses::InputTokenCountParams::truncation?
101
105
 
102
- # The truncation strategy to use for the model response. - `auto`: If the input to
103
- # this Response exceeds the model's context window size, the model will truncate
104
- # the response to fit the context window by dropping items from the beginning of
105
- # the conversation. - `disabled` (default): If the input size will exceed the
106
- # context window size for a model, the request will fail with a 400 error.
106
+ # The truncation strategy to use for the model response.
107
+ #
108
+ # - `auto`: If the input to this Response exceeds the model's context window size,
109
+ # the model will truncate the response to fit the context window by dropping
110
+ # items from the beginning of the conversation. On some models, trimming can
111
+ # begin earlier because the API subtracts the model's maximum output allowance
112
+ # from its input limit before counting tokens.
113
+ # - `disabled` (default): If the input size will exceed the context window size
114
+ # for a model, the request will fail with a 400 error.
107
115
  def truncation=: (
108
116
  OpenAI::Models::Beta::Responses::InputTokenCountParams::truncation
109
117
  ) -> OpenAI::Models::Beta::Responses::InputTokenCountParams::truncation
@@ -158,11 +166,15 @@ module OpenAI
158
166
  # An array of tools the model may call while generating a response. You can
159
167
  # specify which tool to use by setting the `tool_choice` parameter.
160
168
  # @param truncation
161
- # The truncation strategy to use for the model response. - `auto`: If the input to
162
- # this Response exceeds the model's context window size, the model will truncate
163
- # the response to fit the context window by dropping items from the beginning of
164
- # the conversation. - `disabled` (default): If the input size will exceed the
165
- # context window size for a model, the request will fail with a 400 error.
169
+ # The truncation strategy to use for the model response.
170
+ #
171
+ # - `auto`: If the input to this Response exceeds the model's context window size,
172
+ # the model will truncate the response to fit the context window by dropping
173
+ # items from the beginning of the conversation. On some models, trimming can
174
+ # begin earlier because the API subtracts the model's maximum output allowance
175
+ # from its input limit before counting tokens.
176
+ # - `disabled` (default): If the input size will exceed the context window size
177
+ # for a model, the request will fail with a 400 error.
166
178
  def initialize: (
167
179
  ?conversation: OpenAI::Models::Beta::Responses::InputTokenCountParams::conversation?,
168
180
  ?input: OpenAI::Models::Beta::Responses::InputTokenCountParams::input?,
@@ -11,6 +11,7 @@ module OpenAI
11
11
  include OpenAI::Internal::Type::RequestParameters
12
12
 
13
13
  # The image or audio file to check for supported OpenAI provenance signals.
14
+ # Supported image formats are PNG, JPEG, WebP, and GIF (including animated GIFs).
14
15
  #
15
16
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
16
17
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
@@ -19,6 +20,7 @@ module OpenAI
19
20
 
20
21
  # @param file
21
22
  # The image or audio file to check for supported OpenAI provenance signals.
23
+ # Supported image formats are PNG, JPEG, WebP, and GIF (including animated GIFs).
22
24
  #
23
25
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
24
26
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or