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
@@ -7,7 +7,8 @@ module OpenAI
7
7
  event_id: String,
8
8
  session_id: String,
9
9
  turn_id: String?,
10
- ?type: :"agent.session.environment.failed"
10
+ ?type: :"agent.session.environment.failed",
11
+ ?obfuscation: String
11
12
  }
12
13
 
13
14
  class AgentSessionEnvironmentFailedEvent < OpenAI::Internal::Type::BaseModel
@@ -26,6 +27,12 @@ module OpenAI
26
27
  # The type of the object. Always `agent.session.environment.failed`.
27
28
  attr_accessor type: :"agent.session.environment.failed"
28
29
 
30
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
31
+ attr_reader obfuscation: String?
32
+
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
34
+ def obfuscation=: (String) -> String
35
+
29
36
  # @param environment
30
37
  # The current environment state.
31
38
  # @param event_id
@@ -34,6 +41,8 @@ module OpenAI
34
41
  # The ID of the session associated with the event.
35
42
  # @param turn_id
36
43
  # The ID of the turn associated with the event, when applicable.
44
+ # @param obfuscation
45
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
37
46
  # @param type
38
47
  # The type of the object. Always `agent.session.environment.failed`.
39
48
  def initialize: (
@@ -41,6 +50,7 @@ module OpenAI
41
50
  event_id: String,
42
51
  session_id: String,
43
52
  turn_id: String?,
53
+ ?obfuscation: String,
44
54
  ?type: :"agent.session.environment.failed"
45
55
  ) -> void
46
56
 
@@ -49,7 +59,8 @@ module OpenAI
49
59
  event_id: String,
50
60
  session_id: String,
51
61
  turn_id: String?,
52
- ?type: :"agent.session.environment.failed"
62
+ ?type: :"agent.session.environment.failed",
63
+ ?obfuscation: String
53
64
  }
54
65
  end
55
66
  end
@@ -7,7 +7,8 @@ module OpenAI
7
7
  event_id: String,
8
8
  session_id: String,
9
9
  turn_id: String?,
10
- ?type: :"agent.session.environment.pending"
10
+ ?type: :"agent.session.environment.pending",
11
+ ?obfuscation: String
11
12
  }
12
13
 
13
14
  class AgentSessionEnvironmentPendingEvent < OpenAI::Internal::Type::BaseModel
@@ -26,6 +27,12 @@ module OpenAI
26
27
  # The type of the object. Always `agent.session.environment.pending`.
27
28
  attr_accessor type: :"agent.session.environment.pending"
28
29
 
30
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
31
+ attr_reader obfuscation: String?
32
+
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
34
+ def obfuscation=: (String) -> String
35
+
29
36
  # @param environment
30
37
  # The current environment state.
31
38
  # @param event_id
@@ -34,6 +41,8 @@ module OpenAI
34
41
  # The ID of the session associated with the event.
35
42
  # @param turn_id
36
43
  # The ID of the turn associated with the event, when applicable.
44
+ # @param obfuscation
45
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
37
46
  # @param type
38
47
  # The type of the object. Always `agent.session.environment.pending`.
39
48
  def initialize: (
@@ -41,6 +50,7 @@ module OpenAI
41
50
  event_id: String,
42
51
  session_id: String,
43
52
  turn_id: String?,
53
+ ?obfuscation: String,
44
54
  ?type: :"agent.session.environment.pending"
45
55
  ) -> void
46
56
 
@@ -49,7 +59,8 @@ module OpenAI
49
59
  event_id: String,
50
60
  session_id: String,
51
61
  turn_id: String?,
52
- ?type: :"agent.session.environment.pending"
62
+ ?type: :"agent.session.environment.pending",
63
+ ?obfuscation: String
53
64
  }
54
65
  end
55
66
  end
@@ -7,7 +7,8 @@ module OpenAI
7
7
  event_id: String,
8
8
  session_id: String,
9
9
  turn_id: String?,
10
- ?type: :"agent.session.environment.ready"
10
+ ?type: :"agent.session.environment.ready",
11
+ ?obfuscation: String
11
12
  }
12
13
 
13
14
  class AgentSessionEnvironmentReadyEvent < OpenAI::Internal::Type::BaseModel
@@ -26,6 +27,12 @@ module OpenAI
26
27
  # The type of the object. Always `agent.session.environment.ready`.
27
28
  attr_accessor type: :"agent.session.environment.ready"
28
29
 
30
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
31
+ attr_reader obfuscation: String?
32
+
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
34
+ def obfuscation=: (String) -> String
35
+
29
36
  # @param environment
30
37
  # The current environment state.
31
38
  # @param event_id
@@ -34,6 +41,8 @@ module OpenAI
34
41
  # The ID of the session associated with the event.
35
42
  # @param turn_id
36
43
  # The ID of the turn associated with the event, when applicable.
44
+ # @param obfuscation
45
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
37
46
  # @param type
38
47
  # The type of the object. Always `agent.session.environment.ready`.
39
48
  def initialize: (
@@ -41,6 +50,7 @@ module OpenAI
41
50
  event_id: String,
42
51
  session_id: String,
43
52
  turn_id: String?,
53
+ ?obfuscation: String,
44
54
  ?type: :"agent.session.environment.ready"
45
55
  ) -> void
46
56
 
@@ -49,7 +59,8 @@ module OpenAI
49
59
  event_id: String,
50
60
  session_id: String,
51
61
  turn_id: String?,
52
- ?type: :"agent.session.environment.ready"
62
+ ?type: :"agent.session.environment.ready",
63
+ ?obfuscation: String
53
64
  }
54
65
  end
55
66
  end
@@ -8,7 +8,8 @@ module OpenAI
8
8
  reset_count: Integer,
9
9
  session_id: String,
10
10
  turn_id: String?,
11
- ?type: :"agent.session.environment.reset"
11
+ ?type: :"agent.session.environment.reset",
12
+ ?obfuscation: String
12
13
  }
13
14
 
14
15
  class AgentSessionEnvironmentResetEvent < OpenAI::Internal::Type::BaseModel
@@ -30,6 +31,12 @@ module OpenAI
30
31
  # The type of the object. Always `agent.session.environment.reset`.
31
32
  attr_accessor type: :"agent.session.environment.reset"
32
33
 
34
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
35
+ attr_reader obfuscation: String?
36
+
37
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
38
+ def obfuscation=: (String) -> String
39
+
33
40
  # @param environment_id
34
41
  # The stable environment ID, retained across sandbox replacements.
35
42
  # @param event_id
@@ -40,6 +47,8 @@ module OpenAI
40
47
  # The ID of the session associated with the event.
41
48
  # @param turn_id
42
49
  # The associated turn, when applicable.
50
+ # @param obfuscation
51
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
43
52
  # @param type
44
53
  # The type of the object. Always `agent.session.environment.reset`.
45
54
  def initialize: (
@@ -48,6 +57,7 @@ module OpenAI
48
57
  reset_count: Integer,
49
58
  session_id: String,
50
59
  turn_id: String?,
60
+ ?obfuscation: String,
51
61
  ?type: :"agent.session.environment.reset"
52
62
  ) -> void
53
63
 
@@ -57,7 +67,8 @@ module OpenAI
57
67
  reset_count: Integer,
58
68
  session_id: String,
59
69
  turn_id: String?,
60
- ?type: :"agent.session.environment.reset"
70
+ ?type: :"agent.session.environment.reset",
71
+ ?obfuscation: String
61
72
  }
62
73
  end
63
74
  end
@@ -7,7 +7,8 @@ module OpenAI
7
7
  event_id: String,
8
8
  session_id: String,
9
9
  turn_id: String?,
10
- ?type: :"agent.session.environment.suspended"
10
+ ?type: :"agent.session.environment.suspended",
11
+ ?obfuscation: String
11
12
  }
12
13
 
13
14
  class AgentSessionEnvironmentSuspendedEvent < OpenAI::Internal::Type::BaseModel
@@ -26,6 +27,12 @@ module OpenAI
26
27
  # The type of the object. Always `agent.session.environment.suspended`.
27
28
  attr_accessor type: :"agent.session.environment.suspended"
28
29
 
30
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
31
+ attr_reader obfuscation: String?
32
+
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
34
+ def obfuscation=: (String) -> String
35
+
29
36
  # @param environment
30
37
  # The current environment state.
31
38
  # @param event_id
@@ -34,6 +41,8 @@ module OpenAI
34
41
  # The ID of the session associated with the event.
35
42
  # @param turn_id
36
43
  # The ID of the turn associated with the event, when applicable.
44
+ # @param obfuscation
45
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
37
46
  # @param type
38
47
  # The type of the object. Always `agent.session.environment.suspended`.
39
48
  def initialize: (
@@ -41,6 +50,7 @@ module OpenAI
41
50
  event_id: String,
42
51
  session_id: String,
43
52
  turn_id: String?,
53
+ ?obfuscation: String,
44
54
  ?type: :"agent.session.environment.suspended"
45
55
  ) -> void
46
56
 
@@ -49,7 +59,8 @@ module OpenAI
49
59
  event_id: String,
50
60
  session_id: String,
51
61
  turn_id: String?,
52
- ?type: :"agent.session.environment.suspended"
62
+ ?type: :"agent.session.environment.suspended",
63
+ ?obfuscation: String
53
64
  }
54
65
  end
55
66
  end
@@ -6,7 +6,8 @@ module OpenAI
6
6
  error: OpenAI::Beta::SessionError,
7
7
  event_id: String,
8
8
  session_id: String,
9
- ?type: :error
9
+ ?type: :error,
10
+ ?obfuscation: String
10
11
  }
11
12
 
12
13
  class AgentSessionErrorEvent < OpenAI::Internal::Type::BaseModel
@@ -22,18 +23,27 @@ module OpenAI
22
23
  # The type of the object. Always `error`.
23
24
  attr_accessor type: :error
24
25
 
26
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
27
+ attr_reader obfuscation: String?
28
+
29
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
30
+ def obfuscation=: (String) -> String
31
+
25
32
  # @param error
26
33
  # The error that occurred.
27
34
  # @param event_id
28
35
  # The unique ID of the event.
29
36
  # @param session_id
30
37
  # The ID of the session associated with the event.
38
+ # @param obfuscation
39
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
31
40
  # @param type
32
41
  # The type of the object. Always `error`.
33
42
  def initialize: (
34
43
  error: OpenAI::Beta::SessionError,
35
44
  event_id: String,
36
45
  session_id: String,
46
+ ?obfuscation: String,
37
47
  ?type: :error
38
48
  ) -> void
39
49
 
@@ -41,7 +51,8 @@ module OpenAI
41
51
  error: OpenAI::Beta::SessionError,
42
52
  event_id: String,
43
53
  session_id: String,
44
- ?type: :error
54
+ ?type: :error,
55
+ ?obfuscation: String
45
56
  }
46
57
  end
47
58
  end
@@ -5,7 +5,8 @@ module OpenAI
5
5
  {
6
6
  event_id: String,
7
7
  session: OpenAI::Beta::AgentSession,
8
- ?type: :"agent.session.failed"
8
+ ?type: :"agent.session.failed",
9
+ ?obfuscation: String
9
10
  }
10
11
 
11
12
  class AgentSessionFailedEvent < OpenAI::Internal::Type::BaseModel
@@ -18,22 +19,32 @@ module OpenAI
18
19
  # The type of the object. Always `agent.session.failed`.
19
20
  attr_accessor type: :"agent.session.failed"
20
21
 
22
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
23
+ attr_reader obfuscation: String?
24
+
25
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
26
+ def obfuscation=: (String) -> String
27
+
21
28
  # @param event_id
22
29
  # The unique ID of the event.
23
30
  # @param session
24
31
  # The failed session.
32
+ # @param obfuscation
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
25
34
  # @param type
26
35
  # The type of the object. Always `agent.session.failed`.
27
36
  def initialize: (
28
37
  event_id: String,
29
38
  session: OpenAI::Beta::AgentSession,
39
+ ?obfuscation: String,
30
40
  ?type: :"agent.session.failed"
31
41
  ) -> void
32
42
 
33
43
  def to_hash: -> {
34
44
  event_id: String,
35
45
  session: OpenAI::Beta::AgentSession,
36
- ?type: :"agent.session.failed"
46
+ ?type: :"agent.session.failed",
47
+ ?obfuscation: String
37
48
  }
38
49
  end
39
50
  end
@@ -5,7 +5,8 @@ module OpenAI
5
5
  {
6
6
  event_id: String,
7
7
  session: OpenAI::Beta::AgentSession,
8
- ?type: :"agent.session.idle"
8
+ ?type: :"agent.session.idle",
9
+ ?obfuscation: String
9
10
  }
10
11
 
11
12
  class AgentSessionIdleEvent < OpenAI::Internal::Type::BaseModel
@@ -18,22 +19,32 @@ module OpenAI
18
19
  # The type of the object. Always `agent.session.idle`.
19
20
  attr_accessor type: :"agent.session.idle"
20
21
 
22
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
23
+ attr_reader obfuscation: String?
24
+
25
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
26
+ def obfuscation=: (String) -> String
27
+
21
28
  # @param event_id
22
29
  # The unique ID of the event.
23
30
  # @param session
24
31
  # The session that became idle.
32
+ # @param obfuscation
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
25
34
  # @param type
26
35
  # The type of the object. Always `agent.session.idle`.
27
36
  def initialize: (
28
37
  event_id: String,
29
38
  session: OpenAI::Beta::AgentSession,
39
+ ?obfuscation: String,
30
40
  ?type: :"agent.session.idle"
31
41
  ) -> void
32
42
 
33
43
  def to_hash: -> {
34
44
  event_id: String,
35
45
  session: OpenAI::Beta::AgentSession,
36
- ?type: :"agent.session.idle"
46
+ ?type: :"agent.session.idle",
47
+ ?obfuscation: String
37
48
  }
38
49
  end
39
50
  end
@@ -5,7 +5,8 @@ module OpenAI
5
5
  {
6
6
  event_id: String,
7
7
  session: OpenAI::Beta::AgentSession,
8
- ?type: :"agent.session.in_progress"
8
+ ?type: :"agent.session.in_progress",
9
+ ?obfuscation: String
9
10
  }
10
11
 
11
12
  class AgentSessionInProgressEvent < OpenAI::Internal::Type::BaseModel
@@ -18,22 +19,32 @@ module OpenAI
18
19
  # The type of the object. Always `agent.session.in_progress`.
19
20
  attr_accessor type: :"agent.session.in_progress"
20
21
 
22
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
23
+ attr_reader obfuscation: String?
24
+
25
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
26
+ def obfuscation=: (String) -> String
27
+
21
28
  # @param event_id
22
29
  # The unique ID of the event.
23
30
  # @param session
24
31
  # The session that started processing.
32
+ # @param obfuscation
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
25
34
  # @param type
26
35
  # The type of the object. Always `agent.session.in_progress`.
27
36
  def initialize: (
28
37
  event_id: String,
29
38
  session: OpenAI::Beta::AgentSession,
39
+ ?obfuscation: String,
30
40
  ?type: :"agent.session.in_progress"
31
41
  ) -> void
32
42
 
33
43
  def to_hash: -> {
34
44
  event_id: String,
35
45
  session: OpenAI::Beta::AgentSession,
36
- ?type: :"agent.session.in_progress"
46
+ ?type: :"agent.session.in_progress",
47
+ ?obfuscation: String
37
48
  }
38
49
  end
39
50
  end
@@ -2,7 +2,8 @@ module OpenAI
2
2
  module Models
3
3
  module Beta
4
4
  type agent_session_input_param =
5
- OpenAI::Beta::AgentSessionInputParam::AgentSessionInputComputerUseApprovalRequestResult
5
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult
6
+ | OpenAI::Beta::AgentSessionInputParam::AgentSessionInputComputerUseApprovalRequestResult
6
7
  | OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMessage
7
8
  | OpenAI::Beta::AgentSessionInputParam::AgentSessionInputCancel
8
9
  | OpenAI::Beta::AgentSessionInputParam::AgentSessionInputToolResult
@@ -10,6 +11,84 @@ module OpenAI
10
11
  module AgentSessionInputParam
11
12
  extend OpenAI::Internal::Type::Union
12
13
 
14
+ type agent_session_input_mcp_approval_request_result =
15
+ {
16
+ request_id: String,
17
+ response: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response,
18
+ ?type: :"agent.session.input.mcp_approval_request_result"
19
+ }
20
+
21
+ class AgentSessionInputMcpApprovalRequestResult < OpenAI::Internal::Type::BaseModel
22
+ # The opaque approval ID from the required action.
23
+ attr_accessor request_id: String
24
+
25
+ # The user's decision for a pending MCP tool call.
26
+ attr_accessor response: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response
27
+
28
+ # The type of the object. Always
29
+ # `agent.session.input.mcp_approval_request_result`.
30
+ attr_accessor type: :"agent.session.input.mcp_approval_request_result"
31
+
32
+ # @param request_id
33
+ # The opaque approval ID from the required action.
34
+ # @param response
35
+ # The user's decision for a pending MCP tool call.
36
+ # @param type
37
+ # The type of the object. Always
38
+ # `agent.session.input.mcp_approval_request_result`.
39
+ def initialize: (
40
+ request_id: String,
41
+ response: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response,
42
+ ?type: :"agent.session.input.mcp_approval_request_result"
43
+ ) -> void
44
+
45
+ def to_hash: -> {
46
+ request_id: String,
47
+ response: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response,
48
+ ?type: :"agent.session.input.mcp_approval_request_result"
49
+ }
50
+
51
+ type response =
52
+ {
53
+ decision: OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::decision,
54
+ ?type: :mcp_tool_call
55
+ }
56
+
57
+ class Response < OpenAI::Internal::Type::BaseModel
58
+ # Cancel dismisses this request without cancelling the session or turn.
59
+ attr_accessor decision: OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::decision
60
+
61
+ # The type of the object. Always `mcp_tool_call`.
62
+ attr_accessor type: :mcp_tool_call
63
+
64
+ # @param decision
65
+ # Cancel dismisses this request without cancelling the session or turn.
66
+ # @param type
67
+ # The type of the object. Always `mcp_tool_call`.
68
+ def initialize: (
69
+ decision: OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::decision,
70
+ ?type: :mcp_tool_call
71
+ ) -> void
72
+
73
+ def to_hash: -> {
74
+ decision: OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::decision,
75
+ ?type: :mcp_tool_call
76
+ }
77
+
78
+ type decision = :approve | :deny | :cancel
79
+
80
+ module Decision
81
+ extend OpenAI::Internal::Type::Enum
82
+
83
+ APPROVE: :approve
84
+ DENY: :deny
85
+ CANCEL: :cancel
86
+
87
+ def self?.values: -> ::Array[OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::decision]
88
+ end
89
+ end
90
+ end
91
+
13
92
  type agent_session_input_computer_use_approval_request_result =
14
93
  {
15
94
  request_id: String,
@@ -5,7 +5,8 @@ module OpenAI
5
5
  {
6
6
  event_id: String,
7
7
  session: OpenAI::Beta::AgentSession,
8
- ?type: :"agent.session.requires_action"
8
+ ?type: :"agent.session.requires_action",
9
+ ?obfuscation: String
9
10
  }
10
11
 
11
12
  class AgentSessionRequiresActionEvent < OpenAI::Internal::Type::BaseModel
@@ -18,22 +19,32 @@ module OpenAI
18
19
  # The type of the object. Always `agent.session.requires_action`.
19
20
  attr_accessor type: :"agent.session.requires_action"
20
21
 
22
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
23
+ attr_reader obfuscation: String?
24
+
25
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
26
+ def obfuscation=: (String) -> String
27
+
21
28
  # @param event_id
22
29
  # The unique ID of the event.
23
30
  # @param session
24
31
  # The session and its current required actions.
32
+ # @param obfuscation
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
25
34
  # @param type
26
35
  # The type of the object. Always `agent.session.requires_action`.
27
36
  def initialize: (
28
37
  event_id: String,
29
38
  session: OpenAI::Beta::AgentSession,
39
+ ?obfuscation: String,
30
40
  ?type: :"agent.session.requires_action"
31
41
  ) -> void
32
42
 
33
43
  def to_hash: -> {
34
44
  event_id: String,
35
45
  session: OpenAI::Beta::AgentSession,
36
- ?type: :"agent.session.requires_action"
46
+ ?type: :"agent.session.requires_action",
47
+ ?obfuscation: String
37
48
  }
38
49
  end
39
50
  end
@@ -5,7 +5,8 @@ module OpenAI
5
5
  {
6
6
  event_id: String,
7
7
  subagent: OpenAI::Beta::Subagent,
8
- ?type: :"agent.session.subagent.active"
8
+ ?type: :"agent.session.subagent.active",
9
+ ?obfuscation: String
9
10
  }
10
11
 
11
12
  class AgentSessionSubagentActiveEvent < OpenAI::Internal::Type::BaseModel
@@ -18,22 +19,32 @@ module OpenAI
18
19
  # The type of the object. Always `agent.session.subagent.active`.
19
20
  attr_accessor type: :"agent.session.subagent.active"
20
21
 
22
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
23
+ attr_reader obfuscation: String?
24
+
25
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
26
+ def obfuscation=: (String) -> String
27
+
21
28
  # @param event_id
22
29
  # The unique ID of the event.
23
30
  # @param subagent
24
31
  # The subagent that resumed.
32
+ # @param obfuscation
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
25
34
  # @param type
26
35
  # The type of the object. Always `agent.session.subagent.active`.
27
36
  def initialize: (
28
37
  event_id: String,
29
38
  subagent: OpenAI::Beta::Subagent,
39
+ ?obfuscation: String,
30
40
  ?type: :"agent.session.subagent.active"
31
41
  ) -> void
32
42
 
33
43
  def to_hash: -> {
34
44
  event_id: String,
35
45
  subagent: OpenAI::Beta::Subagent,
36
- ?type: :"agent.session.subagent.active"
46
+ ?type: :"agent.session.subagent.active",
47
+ ?obfuscation: String
37
48
  }
38
49
  end
39
50
  end
@@ -5,7 +5,8 @@ module OpenAI
5
5
  {
6
6
  event_id: String,
7
7
  subagent: OpenAI::Beta::Subagent,
8
- ?type: :"agent.session.subagent.closed"
8
+ ?type: :"agent.session.subagent.closed",
9
+ ?obfuscation: String
9
10
  }
10
11
 
11
12
  class AgentSessionSubagentClosedEvent < OpenAI::Internal::Type::BaseModel
@@ -18,22 +19,32 @@ module OpenAI
18
19
  # The type of the object. Always `agent.session.subagent.closed`.
19
20
  attr_accessor type: :"agent.session.subagent.closed"
20
21
 
22
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
23
+ attr_reader obfuscation: String?
24
+
25
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
26
+ def obfuscation=: (String) -> String
27
+
21
28
  # @param event_id
22
29
  # The unique ID of the event.
23
30
  # @param subagent
24
31
  # The subagent that was closed.
32
+ # @param obfuscation
33
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
25
34
  # @param type
26
35
  # The type of the object. Always `agent.session.subagent.closed`.
27
36
  def initialize: (
28
37
  event_id: String,
29
38
  subagent: OpenAI::Beta::Subagent,
39
+ ?obfuscation: String,
30
40
  ?type: :"agent.session.subagent.closed"
31
41
  ) -> void
32
42
 
33
43
  def to_hash: -> {
34
44
  event_id: String,
35
45
  subagent: OpenAI::Beta::Subagent,
36
- ?type: :"agent.session.subagent.closed"
46
+ ?type: :"agent.session.subagent.closed",
47
+ ?obfuscation: String
37
48
  }
38
49
  end
39
50
  end