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
@@ -37,6 +37,13 @@ module OpenAI
37
37
  sig { returns(Symbol) }
38
38
  attr_accessor :type
39
39
 
40
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :obfuscation
43
+
44
+ sig { params(obfuscation: String).void }
45
+ attr_writer :obfuscation
46
+
40
47
  # Emitted while a session environment is being prepared.
41
48
  sig do
42
49
  params(
@@ -49,6 +56,8 @@ module OpenAI
49
56
 
50
57
  turn_id: T.nilable(String),
51
58
 
59
+ obfuscation: String,
60
+
52
61
  type: Symbol
53
62
  )
54
63
  .returns(T.attached_class)
@@ -67,6 +76,9 @@ module OpenAI
67
76
  # The ID of the turn associated with the event, when applicable.
68
77
  turn_id:,
69
78
 
79
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
80
+ obfuscation: nil,
81
+
70
82
  # The type of the object. Always `agent.session.environment.pending`.
71
83
 
72
84
  type: :"agent.session.environment.pending"
@@ -80,7 +92,8 @@ module OpenAI
80
92
  event_id: String,
81
93
  session_id: String,
82
94
  turn_id: T.nilable(String),
83
- type: Symbol
95
+ type: Symbol,
96
+ obfuscation: String
84
97
  }
85
98
  )
86
99
  end
@@ -37,6 +37,13 @@ module OpenAI
37
37
  sig { returns(Symbol) }
38
38
  attr_accessor :type
39
39
 
40
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :obfuscation
43
+
44
+ sig { params(obfuscation: String).void }
45
+ attr_writer :obfuscation
46
+
40
47
  # Emitted when a hosted session environment is ready to connect.
41
48
  sig do
42
49
  params(
@@ -49,6 +56,8 @@ module OpenAI
49
56
 
50
57
  turn_id: T.nilable(String),
51
58
 
59
+ obfuscation: String,
60
+
52
61
  type: Symbol
53
62
  )
54
63
  .returns(T.attached_class)
@@ -67,6 +76,9 @@ module OpenAI
67
76
  # The ID of the turn associated with the event, when applicable.
68
77
  turn_id:,
69
78
 
79
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
80
+ obfuscation: nil,
81
+
70
82
  # The type of the object. Always `agent.session.environment.ready`.
71
83
 
72
84
  type: :"agent.session.environment.ready"
@@ -80,7 +92,8 @@ module OpenAI
80
92
  event_id: String,
81
93
  session_id: String,
82
94
  turn_id: T.nilable(String),
83
- type: Symbol
95
+ type: Symbol,
96
+ obfuscation: String
84
97
  }
85
98
  )
86
99
  end
@@ -38,6 +38,13 @@ module OpenAI
38
38
  sig { returns(Symbol) }
39
39
  attr_accessor :type
40
40
 
41
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
42
+ sig { returns(T.nilable(String)) }
43
+ attr_reader :obfuscation
44
+
45
+ sig { params(obfuscation: String).void }
46
+ attr_writer :obfuscation
47
+
41
48
  # Emitted after a hosted sandbox is replaced. Conversation history survives;
42
49
  # changes to the previous sandbox's files and processes do not.
43
50
  sig do
@@ -53,6 +60,8 @@ module OpenAI
53
60
 
54
61
  turn_id: T.nilable(String),
55
62
 
63
+ obfuscation: String,
64
+
56
65
  type: Symbol
57
66
  )
58
67
  .returns(T.attached_class)
@@ -74,6 +83,9 @@ module OpenAI
74
83
  # The associated turn, when applicable.
75
84
  turn_id:,
76
85
 
86
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
87
+ obfuscation: nil,
88
+
77
89
  # The type of the object. Always `agent.session.environment.reset`.
78
90
 
79
91
  type: :"agent.session.environment.reset"
@@ -88,7 +100,8 @@ module OpenAI
88
100
  reset_count: Integer,
89
101
  session_id: String,
90
102
  turn_id: T.nilable(String),
91
- type: Symbol
103
+ type: Symbol,
104
+ obfuscation: String
92
105
  }
93
106
  )
94
107
  end
@@ -37,6 +37,13 @@ module OpenAI
37
37
  sig { returns(Symbol) }
38
38
  attr_accessor :type
39
39
 
40
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
41
+ sig { returns(T.nilable(String)) }
42
+ attr_reader :obfuscation
43
+
44
+ sig { params(obfuscation: String).void }
45
+ attr_writer :obfuscation
46
+
40
47
  # Emitted after an idle hosted session environment is checkpointed and stopped.
41
48
  sig do
42
49
  params(
@@ -49,6 +56,8 @@ module OpenAI
49
56
 
50
57
  turn_id: T.nilable(String),
51
58
 
59
+ obfuscation: String,
60
+
52
61
  type: Symbol
53
62
  )
54
63
  .returns(T.attached_class)
@@ -67,6 +76,9 @@ module OpenAI
67
76
  # The ID of the turn associated with the event, when applicable.
68
77
  turn_id:,
69
78
 
79
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
80
+ obfuscation: nil,
81
+
70
82
  # The type of the object. Always `agent.session.environment.suspended`.
71
83
 
72
84
  type: :"agent.session.environment.suspended"
@@ -80,7 +92,8 @@ module OpenAI
80
92
  event_id: String,
81
93
  session_id: String,
82
94
  turn_id: T.nilable(String),
83
- type: Symbol
95
+ type: Symbol,
96
+ obfuscation: String
84
97
  }
85
98
  )
86
99
  end
@@ -33,6 +33,13 @@ module OpenAI
33
33
  sig { returns(Symbol) }
34
34
  attr_accessor :type
35
35
 
36
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
37
+ sig { returns(T.nilable(String)) }
38
+ attr_reader :obfuscation
39
+
40
+ sig { params(obfuscation: String).void }
41
+ attr_writer :obfuscation
42
+
36
43
  # Emitted when a turn or session fails.
37
44
  sig do
38
45
  params(
@@ -43,6 +50,8 @@ module OpenAI
43
50
 
44
51
  session_id: String,
45
52
 
53
+ obfuscation: String,
54
+
46
55
  type: Symbol
47
56
  )
48
57
  .returns(T.attached_class)
@@ -58,6 +67,9 @@ module OpenAI
58
67
  # The ID of the session associated with the event.
59
68
  session_id:,
60
69
 
70
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
71
+ obfuscation: nil,
72
+
61
73
  # The type of the object. Always `error`.
62
74
 
63
75
  type: :error
@@ -66,7 +78,7 @@ module OpenAI
66
78
 
67
79
  sig do
68
80
  override.returns(
69
- {error: OpenAI::Beta::SessionError, event_id: String, session_id: String, type: Symbol}
81
+ {error: OpenAI::Beta::SessionError, event_id: String, session_id: String, type: Symbol, obfuscation: String}
70
82
  )
71
83
  end
72
84
  def to_hash
@@ -29,6 +29,13 @@ module OpenAI
29
29
  sig { returns(Symbol) }
30
30
  attr_accessor :type
31
31
 
32
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :obfuscation
35
+
36
+ sig { params(obfuscation: String).void }
37
+ attr_writer :obfuscation
38
+
32
39
  # Emitted when a session fails.
33
40
  sig do
34
41
  params(
@@ -37,6 +44,8 @@ module OpenAI
37
44
 
38
45
  session: OpenAI::Beta::AgentSession::OrHash,
39
46
 
47
+ obfuscation: String,
48
+
40
49
  type: Symbol
41
50
  )
42
51
  .returns(T.attached_class)
@@ -49,6 +58,9 @@ module OpenAI
49
58
  # The failed session.
50
59
  session:,
51
60
 
61
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
62
+ obfuscation: nil,
63
+
52
64
  # The type of the object. Always `agent.session.failed`.
53
65
 
54
66
  type: :"agent.session.failed"
@@ -57,7 +69,7 @@ module OpenAI
57
69
 
58
70
  sig do
59
71
  override.returns(
60
- {event_id: String, session: OpenAI::Beta::AgentSession, type: Symbol}
72
+ {event_id: String, session: OpenAI::Beta::AgentSession, type: Symbol, obfuscation: String}
61
73
  )
62
74
  end
63
75
  def to_hash
@@ -29,6 +29,13 @@ module OpenAI
29
29
  sig { returns(Symbol) }
30
30
  attr_accessor :type
31
31
 
32
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :obfuscation
35
+
36
+ sig { params(obfuscation: String).void }
37
+ attr_writer :obfuscation
38
+
32
39
  # Emitted when a session becomes idle.
33
40
  sig do
34
41
  params(
@@ -37,6 +44,8 @@ module OpenAI
37
44
 
38
45
  session: OpenAI::Beta::AgentSession::OrHash,
39
46
 
47
+ obfuscation: String,
48
+
40
49
  type: Symbol
41
50
  )
42
51
  .returns(T.attached_class)
@@ -49,6 +58,9 @@ module OpenAI
49
58
  # The session that became idle.
50
59
  session:,
51
60
 
61
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
62
+ obfuscation: nil,
63
+
52
64
  # The type of the object. Always `agent.session.idle`.
53
65
 
54
66
  type: :"agent.session.idle"
@@ -57,7 +69,7 @@ module OpenAI
57
69
 
58
70
  sig do
59
71
  override.returns(
60
- {event_id: String, session: OpenAI::Beta::AgentSession, type: Symbol}
72
+ {event_id: String, session: OpenAI::Beta::AgentSession, type: Symbol, obfuscation: String}
61
73
  )
62
74
  end
63
75
  def to_hash
@@ -29,6 +29,13 @@ module OpenAI
29
29
  sig { returns(Symbol) }
30
30
  attr_accessor :type
31
31
 
32
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :obfuscation
35
+
36
+ sig { params(obfuscation: String).void }
37
+ attr_writer :obfuscation
38
+
32
39
  # Emitted when a session starts processing a turn.
33
40
  sig do
34
41
  params(
@@ -37,6 +44,8 @@ module OpenAI
37
44
 
38
45
  session: OpenAI::Beta::AgentSession::OrHash,
39
46
 
47
+ obfuscation: String,
48
+
40
49
  type: Symbol
41
50
  )
42
51
  .returns(T.attached_class)
@@ -49,6 +58,9 @@ module OpenAI
49
58
  # The session that started processing.
50
59
  session:,
51
60
 
61
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
62
+ obfuscation: nil,
63
+
52
64
  # The type of the object. Always `agent.session.in_progress`.
53
65
 
54
66
  type: :"agent.session.in_progress"
@@ -57,7 +69,7 @@ module OpenAI
57
69
 
58
70
  sig do
59
71
  override.returns(
60
- {event_id: String, session: OpenAI::Beta::AgentSession, type: Symbol}
72
+ {event_id: String, session: OpenAI::Beta::AgentSession, type: Symbol, obfuscation: String}
61
73
  )
62
74
  end
63
75
  def to_hash
@@ -11,6 +11,7 @@ module OpenAI
11
11
 
12
12
  Variants = T.type_alias do
13
13
  T.any(
14
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult,
14
15
  OpenAI::Beta::AgentSessionInputParam::AgentSessionInputComputerUseApprovalRequestResult,
15
16
  OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMessage,
16
17
  OpenAI::Beta::AgentSessionInputParam::AgentSessionInputCancel,
@@ -18,6 +19,164 @@ module OpenAI
18
19
  )
19
20
  end
20
21
 
22
+ class AgentSessionInputMcpApprovalRequestResult < OpenAI::Internal::Type::BaseModel
23
+ OrHash = T.type_alias do
24
+ T.any(
25
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult,
26
+ OpenAI::Internal::AnyHash
27
+ )
28
+ end
29
+
30
+ # The opaque approval ID from the required action.
31
+ sig { returns(String) }
32
+ attr_accessor :request_id
33
+
34
+ # The user's decision for a pending MCP tool call.
35
+ sig { returns(OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response) }
36
+ attr_reader :response
37
+
38
+ sig {
39
+ params(
40
+ response: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::OrHash
41
+ )
42
+ .void
43
+ }
44
+ attr_writer :response
45
+
46
+ # The type of the object. Always
47
+ # `agent.session.input.mcp_approval_request_result`.
48
+ sig { returns(Symbol) }
49
+ attr_accessor :type
50
+
51
+ # Responds to a pending MCP tool-call approval request.
52
+ sig do
53
+ params(
54
+
55
+ request_id: String,
56
+
57
+ response: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::OrHash,
58
+
59
+ type: Symbol
60
+ )
61
+ .returns(T.attached_class)
62
+ end
63
+ def self.new(
64
+
65
+ # The opaque approval ID from the required action.
66
+ request_id:,
67
+
68
+ # The user's decision for a pending MCP tool call.
69
+ response:,
70
+
71
+ # The type of the object. Always
72
+ # `agent.session.input.mcp_approval_request_result`.
73
+
74
+ type: :"agent.session.input.mcp_approval_request_result"
75
+ )
76
+ end
77
+
78
+ sig do
79
+ override.returns(
80
+ {
81
+ request_id: String,
82
+ response: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response,
83
+ type: Symbol
84
+ }
85
+ )
86
+ end
87
+ def to_hash
88
+ end
89
+
90
+ class Response < OpenAI::Internal::Type::BaseModel
91
+ OrHash = T.type_alias do
92
+ T.any(
93
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response,
94
+ OpenAI::Internal::AnyHash
95
+ )
96
+ end
97
+
98
+ # Cancel dismisses this request without cancelling the session or turn.
99
+ sig {
100
+ returns(
101
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::Decision::OrSymbol
102
+ )
103
+ }
104
+ attr_accessor :decision
105
+
106
+ # The type of the object. Always `mcp_tool_call`.
107
+ sig { returns(Symbol) }
108
+ attr_accessor :type
109
+
110
+ # The user's decision for a pending MCP tool call.
111
+ sig do
112
+ params(
113
+
114
+ decision: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::Decision::OrSymbol,
115
+
116
+ type: Symbol
117
+ )
118
+ .returns(T.attached_class)
119
+ end
120
+ def self.new(
121
+
122
+ # Cancel dismisses this request without cancelling the session or turn.
123
+ decision:,
124
+
125
+ # The type of the object. Always `mcp_tool_call`.
126
+
127
+ type: :mcp_tool_call
128
+ )
129
+ end
130
+
131
+ sig do
132
+ override.returns(
133
+ {
134
+ decision: OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::Decision::OrSymbol,
135
+ type: Symbol
136
+ }
137
+ )
138
+ end
139
+ def to_hash
140
+ end
141
+
142
+ # Cancel dismisses this request without cancelling the session or turn.
143
+ module Decision
144
+ extend OpenAI::Internal::Type::Enum
145
+
146
+ TaggedSymbol = T.type_alias {
147
+ T.all(
148
+ Symbol,
149
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::Decision
150
+ )
151
+ }
152
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
153
+
154
+ APPROVE = T.let(
155
+ :approve,
156
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::Decision::TaggedSymbol
157
+ )
158
+ DENY = T.let(
159
+ :deny,
160
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::Decision::TaggedSymbol
161
+ )
162
+ CANCEL = T.let(
163
+ :cancel,
164
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::Decision::TaggedSymbol
165
+ )
166
+
167
+ sig {
168
+ override.returns(
169
+ T::Array[
170
+ OpenAI::Beta::AgentSessionInputParam::AgentSessionInputMcpApprovalRequestResult::Response::Decision::TaggedSymbol
171
+ ]
172
+ )
173
+ }
174
+ def self.values
175
+ end
176
+ end
177
+ end
178
+ end
179
+
21
180
  class AgentSessionInputComputerUseApprovalRequestResult < OpenAI::Internal::Type::BaseModel
22
181
  OrHash = T.type_alias do
23
182
  T.any(
@@ -29,6 +29,13 @@ module OpenAI
29
29
  sig { returns(Symbol) }
30
30
  attr_accessor :type
31
31
 
32
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :obfuscation
35
+
36
+ sig { params(obfuscation: String).void }
37
+ attr_writer :obfuscation
38
+
32
39
  # Emitted when a session is waiting for one or more required actions.
33
40
  sig do
34
41
  params(
@@ -37,6 +44,8 @@ module OpenAI
37
44
 
38
45
  session: OpenAI::Beta::AgentSession::OrHash,
39
46
 
47
+ obfuscation: String,
48
+
40
49
  type: Symbol
41
50
  )
42
51
  .returns(T.attached_class)
@@ -49,6 +58,9 @@ module OpenAI
49
58
  # The session and its current required actions.
50
59
  session:,
51
60
 
61
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
62
+ obfuscation: nil,
63
+
52
64
  # The type of the object. Always `agent.session.requires_action`.
53
65
 
54
66
  type: :"agent.session.requires_action"
@@ -57,7 +69,7 @@ module OpenAI
57
69
 
58
70
  sig do
59
71
  override.returns(
60
- {event_id: String, session: OpenAI::Beta::AgentSession, type: Symbol}
72
+ {event_id: String, session: OpenAI::Beta::AgentSession, type: Symbol, obfuscation: String}
61
73
  )
62
74
  end
63
75
  def to_hash
@@ -29,6 +29,13 @@ module OpenAI
29
29
  sig { returns(Symbol) }
30
30
  attr_accessor :type
31
31
 
32
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :obfuscation
35
+
36
+ sig { params(obfuscation: String).void }
37
+ attr_writer :obfuscation
38
+
32
39
  # Emitted when a closed subagent successfully resumes.
33
40
  sig do
34
41
  params(
@@ -37,6 +44,8 @@ module OpenAI
37
44
 
38
45
  subagent: OpenAI::Beta::Subagent::OrHash,
39
46
 
47
+ obfuscation: String,
48
+
40
49
  type: Symbol
41
50
  )
42
51
  .returns(T.attached_class)
@@ -49,6 +58,9 @@ module OpenAI
49
58
  # The subagent that resumed.
50
59
  subagent:,
51
60
 
61
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
62
+ obfuscation: nil,
63
+
52
64
  # The type of the object. Always `agent.session.subagent.active`.
53
65
 
54
66
  type: :"agent.session.subagent.active"
@@ -57,7 +69,7 @@ module OpenAI
57
69
 
58
70
  sig do
59
71
  override.returns(
60
- {event_id: String, subagent: OpenAI::Beta::Subagent, type: Symbol}
72
+ {event_id: String, subagent: OpenAI::Beta::Subagent, type: Symbol, obfuscation: String}
61
73
  )
62
74
  end
63
75
  def to_hash
@@ -29,6 +29,13 @@ module OpenAI
29
29
  sig { returns(Symbol) }
30
30
  attr_accessor :type
31
31
 
32
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :obfuscation
35
+
36
+ sig { params(obfuscation: String).void }
37
+ attr_writer :obfuscation
38
+
32
39
  # Emitted when a subagent is closed.
33
40
  sig do
34
41
  params(
@@ -37,6 +44,8 @@ module OpenAI
37
44
 
38
45
  subagent: OpenAI::Beta::Subagent::OrHash,
39
46
 
47
+ obfuscation: String,
48
+
40
49
  type: Symbol
41
50
  )
42
51
  .returns(T.attached_class)
@@ -49,6 +58,9 @@ module OpenAI
49
58
  # The subagent that was closed.
50
59
  subagent:,
51
60
 
61
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
62
+ obfuscation: nil,
63
+
52
64
  # The type of the object. Always `agent.session.subagent.closed`.
53
65
 
54
66
  type: :"agent.session.subagent.closed"
@@ -57,7 +69,7 @@ module OpenAI
57
69
 
58
70
  sig do
59
71
  override.returns(
60
- {event_id: String, subagent: OpenAI::Beta::Subagent, type: Symbol}
72
+ {event_id: String, subagent: OpenAI::Beta::Subagent, type: Symbol, obfuscation: String}
61
73
  )
62
74
  end
63
75
  def to_hash
@@ -29,6 +29,13 @@ module OpenAI
29
29
  sig { returns(Symbol) }
30
30
  attr_accessor :type
31
31
 
32
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :obfuscation
35
+
36
+ sig { params(obfuscation: String).void }
37
+ attr_writer :obfuscation
38
+
32
39
  # Emitted when a subagent is created.
33
40
  sig do
34
41
  params(
@@ -37,6 +44,8 @@ module OpenAI
37
44
 
38
45
  subagent: OpenAI::Beta::Subagent::OrHash,
39
46
 
47
+ obfuscation: String,
48
+
40
49
  type: Symbol
41
50
  )
42
51
  .returns(T.attached_class)
@@ -49,6 +58,9 @@ module OpenAI
49
58
  # The subagent that was created.
50
59
  subagent:,
51
60
 
61
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
62
+ obfuscation: nil,
63
+
52
64
  # The type of the object. Always `agent.session.subagent.created`.
53
65
 
54
66
  type: :"agent.session.subagent.created"
@@ -57,7 +69,7 @@ module OpenAI
57
69
 
58
70
  sig do
59
71
  override.returns(
60
- {event_id: String, subagent: OpenAI::Beta::Subagent, type: Symbol}
72
+ {event_id: String, subagent: OpenAI::Beta::Subagent, type: Symbol, obfuscation: String}
61
73
  )
62
74
  end
63
75
  def to_hash