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
@@ -24,7 +24,8 @@ module OpenAI
24
24
  T.any(
25
25
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Aws,
26
26
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Gcp,
27
- OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure
27
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure,
28
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci
28
29
  )
29
30
  )
30
31
  }
@@ -36,7 +37,8 @@ module OpenAI
36
37
  body: T.any(
37
38
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Aws::OrHash,
38
39
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Gcp::OrHash,
39
- OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure::OrHash
40
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure::OrHash,
41
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::OrHash
40
42
  ),
41
43
 
42
44
  request_options: OpenAI::RequestOptions::OrHash
@@ -57,7 +59,8 @@ module OpenAI
57
59
  body: T.any(
58
60
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Aws,
59
61
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Gcp,
60
- OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure
62
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure,
63
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci
61
64
  ),
62
65
  request_options: OpenAI::RequestOptions
63
66
  }
@@ -73,7 +76,8 @@ module OpenAI
73
76
  T.any(
74
77
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Aws,
75
78
  OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Gcp,
76
- OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure
79
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Azure,
80
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci
77
81
  )
78
82
  }
79
83
 
@@ -516,6 +520,135 @@ module OpenAI
516
520
  end
517
521
  end
518
522
 
523
+ class Oci < OpenAI::Internal::Type::BaseModel
524
+ OrHash = T.type_alias do
525
+ T.any(
526
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci,
527
+ OpenAI::Internal::AnyHash
528
+ )
529
+ end
530
+
531
+ # The OCI Vault key OCID
532
+ sig { returns(String) }
533
+ attr_accessor :key_ocid
534
+
535
+ # A friendly name to identify this config
536
+ sig { returns(String) }
537
+ attr_accessor :name
538
+
539
+ # The OCI region containing the vault
540
+ sig { returns(String) }
541
+ attr_accessor :region
542
+
543
+ sig { returns(Symbol) }
544
+ attr_accessor :type
545
+
546
+ # The customer OCI Vault OCID
547
+ sig { returns(String) }
548
+ attr_accessor :vault_ocid
549
+
550
+ # The exact OCI key version OCID for PSP decryption.
551
+ sig { returns(T.nilable(String)) }
552
+ attr_reader :key_version_ocid
553
+
554
+ sig { params(key_version_ocid: String).void }
555
+ attr_writer :key_version_ocid
556
+
557
+ sig {
558
+ returns(T.nilable(OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::Purpose::OrSymbol))
559
+ }
560
+ attr_reader :purpose
561
+
562
+ sig {
563
+ params(purpose: OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::Purpose::OrSymbol).void
564
+ }
565
+ attr_writer :purpose
566
+
567
+ sig do
568
+ params(
569
+
570
+ key_ocid: String,
571
+
572
+ name: String,
573
+
574
+ region: String,
575
+
576
+ vault_ocid: String,
577
+
578
+ key_version_ocid: String,
579
+
580
+ purpose: OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::Purpose::OrSymbol,
581
+
582
+ type: Symbol
583
+ )
584
+ .returns(T.attached_class)
585
+ end
586
+ def self.new(
587
+
588
+ # The OCI Vault key OCID
589
+ key_ocid:,
590
+
591
+ # A friendly name to identify this config
592
+ name:,
593
+
594
+ # The OCI region containing the vault
595
+ region:,
596
+
597
+ # The customer OCI Vault OCID
598
+ vault_ocid:,
599
+
600
+ # The exact OCI key version OCID for PSP decryption.
601
+ key_version_ocid: nil,
602
+
603
+ purpose: nil,
604
+
605
+ type: :oci
606
+ )
607
+ end
608
+
609
+ sig do
610
+ override.returns(
611
+ {
612
+ key_ocid: String,
613
+ name: String,
614
+ region: String,
615
+ type: Symbol,
616
+ vault_ocid: String,
617
+ key_version_ocid: String,
618
+ purpose: OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::Purpose::OrSymbol
619
+ }
620
+ )
621
+ end
622
+ def to_hash
623
+ end
624
+
625
+ module Purpose
626
+ extend OpenAI::Internal::Type::Enum
627
+
628
+ TaggedSymbol = T.type_alias {
629
+ T.all(Symbol, OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::Purpose)
630
+ }
631
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
632
+
633
+ EKM = T.let(
634
+ :ekm,
635
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::Purpose::TaggedSymbol
636
+ )
637
+ PSP_DECRYPTION = T.let(
638
+ :psp_decryption,
639
+ OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::Purpose::TaggedSymbol
640
+ )
641
+
642
+ sig {
643
+ override.returns(
644
+ T::Array[OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Oci::Purpose::TaggedSymbol]
645
+ )
646
+ }
647
+ def self.values
648
+ end
649
+ end
650
+ end
651
+
519
652
  sig { override.returns(T::Array[OpenAI::Admin::Organization::ExternalKeyCreateParams::Body::Variants]) }
520
653
  def self.variants
521
654
  end
@@ -42,6 +42,13 @@ module OpenAI
42
42
  sig { returns(Symbol) }
43
43
  attr_accessor :type
44
44
 
45
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
46
+ sig { returns(T.nilable(String)) }
47
+ attr_reader :obfuscation
48
+
49
+ sig { params(obfuscation: String).void }
50
+ attr_writer :obfuscation
51
+
45
52
  # Emitted when command execution produces an output delta.
46
53
  sig do
47
54
  params(
@@ -58,6 +65,8 @@ module OpenAI
58
65
 
59
66
  turn_id: T.nilable(String),
60
67
 
68
+ obfuscation: String,
69
+
61
70
  type: Symbol
62
71
  )
63
72
  .returns(T.attached_class)
@@ -82,6 +91,9 @@ module OpenAI
82
91
  # The ID of the turn associated with the event, when applicable.
83
92
  turn_id:,
84
93
 
94
+ # Random alphanumeric padding. Present when stream obfuscation is enabled.
95
+ obfuscation: nil,
96
+
85
97
  # The type of the object. Always `agent.output.command_execution_output.delta`.
86
98
 
87
99
  type: :"agent.output.command_execution_output.delta"
@@ -97,7 +109,8 @@ module OpenAI
97
109
  output_index: Integer,
98
110
  session_id: String,
99
111
  turn_id: T.nilable(String),
100
- type: Symbol
112
+ type: Symbol,
113
+ obfuscation: String
101
114
  }
102
115
  )
103
116
  end
@@ -69,6 +69,13 @@ module OpenAI
69
69
  sig { returns(T::Array[String]) }
70
70
  attr_accessor :vault_ids
71
71
 
72
+ # Default prompt cache lifetime for turns in this session, when configured.
73
+ sig { returns(T.nilable(OpenAI::Beta::AgentSession::PromptCacheOptions)) }
74
+ attr_reader :prompt_cache_options
75
+
76
+ sig { params(prompt_cache_options: T.nilable(OpenAI::Beta::AgentSession::PromptCacheOptions::OrHash)).void }
77
+ attr_writer :prompt_cache_options
78
+
72
79
  # Review applied to eligible actions in this session. Omitted when review is none
73
80
  # and automatic review is not enabled. Omission means none.
74
81
  sig { returns(T.nilable(OpenAI::Beta::AgentSession::Review::TaggedSymbol)) }
@@ -109,6 +116,7 @@ module OpenAI
109
116
 
110
117
  required_actions: T::Array[
111
118
  T.any(
119
+ OpenAI::Beta::AgentSession::RequiredAction::McpApprovalRequest::OrHash,
112
120
  OpenAI::Beta::AgentSession::RequiredAction::ComputerUseApprovalRequest::OrHash,
113
121
  OpenAI::Beta::AgentSession::RequiredAction::FunctionCall::OrHash,
114
122
  OpenAI::Beta::AgentSession::RequiredAction::EnvironmentConnection::OrHash
@@ -121,6 +129,8 @@ module OpenAI
121
129
 
122
130
  vault_ids: T::Array[String],
123
131
 
132
+ prompt_cache_options: T.nilable(OpenAI::Beta::AgentSession::PromptCacheOptions::OrHash),
133
+
124
134
  review: OpenAI::Beta::AgentSession::Review::OrSymbol,
125
135
 
126
136
  spend_control: OpenAI::Beta::AgentSession::SpendControl::OrHash,
@@ -165,6 +175,9 @@ module OpenAI
165
175
  # The IDs of vaults made available to the session.
166
176
  vault_ids:,
167
177
 
178
+ # Default prompt cache lifetime for turns in this session, when configured.
179
+ prompt_cache_options: nil,
180
+
168
181
  # Review applied to eligible actions in this session. Omitted when review is none
169
182
  # and automatic review is not enabled. Omission means none.
170
183
  review: nil,
@@ -194,6 +207,7 @@ module OpenAI
194
207
  status: OpenAI::Beta::AgentSession::Status::TaggedSymbol,
195
208
  usage: T.nilable(OpenAI::Beta::TokenUsage),
196
209
  vault_ids: T::Array[String],
210
+ prompt_cache_options: T.nilable(OpenAI::Beta::AgentSession::PromptCacheOptions),
197
211
  review: OpenAI::Beta::AgentSession::Review::TaggedSymbol,
198
212
  spend_control: OpenAI::Beta::AgentSession::SpendControl
199
213
  }
@@ -468,12 +482,157 @@ module OpenAI
468
482
 
469
483
  Variants = T.type_alias {
470
484
  T.any(
485
+ OpenAI::Beta::AgentSession::RequiredAction::McpApprovalRequest,
471
486
  OpenAI::Beta::AgentSession::RequiredAction::ComputerUseApprovalRequest,
472
487
  OpenAI::Beta::AgentSession::RequiredAction::FunctionCall,
473
488
  OpenAI::Beta::AgentSession::RequiredAction::EnvironmentConnection
474
489
  )
475
490
  }
476
491
 
492
+ class McpApprovalRequest < OpenAI::Internal::Type::BaseModel
493
+ OrHash = T.type_alias do
494
+ T.any(
495
+ OpenAI::Beta::AgentSession::RequiredAction::McpApprovalRequest,
496
+ OpenAI::Internal::AnyHash
497
+ )
498
+ end
499
+
500
+ # Information for presenting an MCP approval.
501
+ sig { returns(OpenAI::Beta::AgentSession::RequiredAction::McpApprovalRequest::Request) }
502
+ attr_reader :request
503
+
504
+ sig {
505
+ params(request: OpenAI::Beta::AgentSession::RequiredAction::McpApprovalRequest::Request::OrHash).void
506
+ }
507
+ attr_writer :request
508
+
509
+ # The opaque approval ID to echo when responding.
510
+ sig { returns(String) }
511
+ attr_accessor :request_id
512
+
513
+ # The turn that requested approval.
514
+ sig { returns(String) }
515
+ attr_accessor :turn_id
516
+
517
+ # The type of the object. Always `mcp_approval_request`.
518
+ sig { returns(Symbol) }
519
+ attr_accessor :type
520
+
521
+ # Respond to an MCP tool-call approval request.
522
+ sig do
523
+ params(
524
+
525
+ request: OpenAI::Beta::AgentSession::RequiredAction::McpApprovalRequest::Request::OrHash,
526
+
527
+ request_id: String,
528
+
529
+ turn_id: String,
530
+
531
+ type: Symbol
532
+ )
533
+ .returns(T.attached_class)
534
+ end
535
+ def self.new(
536
+
537
+ # Information for presenting an MCP approval.
538
+ request:,
539
+
540
+ # The opaque approval ID to echo when responding.
541
+ request_id:,
542
+
543
+ # The turn that requested approval.
544
+ turn_id:,
545
+
546
+ # The type of the object. Always `mcp_approval_request`.
547
+
548
+ type: :mcp_approval_request
549
+ )
550
+ end
551
+
552
+ sig do
553
+ override.returns(
554
+ {
555
+ request: OpenAI::Beta::AgentSession::RequiredAction::McpApprovalRequest::Request,
556
+ request_id: String,
557
+ turn_id: String,
558
+ type: Symbol
559
+ }
560
+ )
561
+ end
562
+ def to_hash
563
+ end
564
+
565
+ class Request < OpenAI::Internal::Type::BaseModel
566
+ OrHash = T.type_alias do
567
+ T.any(
568
+ OpenAI::Beta::AgentSession::RequiredAction::McpApprovalRequest::Request,
569
+ OpenAI::Internal::AnyHash
570
+ )
571
+ end
572
+
573
+ # The tool arguments as JSON, or null when CCA does not provide them.
574
+ sig { returns(T.anything) }
575
+ attr_accessor :arguments
576
+
577
+ sig { returns(String) }
578
+ attr_accessor :message
579
+
580
+ # The tool name, or null when CCA does not provide it.
581
+ sig { returns(T.nilable(String)) }
582
+ attr_accessor :name
583
+
584
+ sig { returns(String) }
585
+ attr_accessor :server_label
586
+
587
+ # The type of the object. Always `mcp_tool_call`.
588
+ sig { returns(Symbol) }
589
+ attr_accessor :type
590
+
591
+ # Information for presenting an MCP approval.
592
+ sig do
593
+ params(
594
+
595
+ arguments: T.anything,
596
+
597
+ message: String,
598
+
599
+ name: T.nilable(String),
600
+
601
+ server_label: String,
602
+
603
+ type: Symbol
604
+ )
605
+ .returns(T.attached_class)
606
+ end
607
+ def self.new(
608
+
609
+ # The tool arguments as JSON, or null when CCA does not provide them.
610
+ arguments:,
611
+
612
+ message:,
613
+
614
+ # The tool name, or null when CCA does not provide it.
615
+ name:,
616
+
617
+ server_label:,
618
+
619
+ # The type of the object. Always `mcp_tool_call`.
620
+
621
+ type: :mcp_tool_call
622
+ )
623
+ end
624
+
625
+ sig do
626
+ override.returns(
627
+ {arguments: T.anything, message: String, name: T.nilable(String), server_label: String, type: Symbol}
628
+ )
629
+ end
630
+ def to_hash
631
+ end
632
+
633
+ end
634
+ end
635
+
477
636
  class ComputerUseApprovalRequest < OpenAI::Internal::Type::BaseModel
478
637
  OrHash = T.type_alias do
479
638
  T.any(
@@ -994,6 +1153,54 @@ module OpenAI
994
1153
  end
995
1154
  end
996
1155
 
1156
+ class PromptCacheOptions < OpenAI::Internal::Type::BaseModel
1157
+ OrHash = T.type_alias do
1158
+ T.any(
1159
+ OpenAI::Beta::AgentSession::PromptCacheOptions,
1160
+ OpenAI::Internal::AnyHash
1161
+ )
1162
+ end
1163
+
1164
+ sig { returns(OpenAI::Beta::AgentSession::PromptCacheOptions::Ttl::TaggedSymbol) }
1165
+ attr_accessor :ttl
1166
+
1167
+ # Default prompt cache lifetime for turns in this session, when configured.
1168
+ sig do
1169
+ params(
1170
+
1171
+ ttl: OpenAI::Beta::AgentSession::PromptCacheOptions::Ttl::OrSymbol
1172
+ )
1173
+ .returns(T.attached_class)
1174
+ end
1175
+ def self.new(
1176
+
1177
+ ttl:
1178
+ )
1179
+ end
1180
+
1181
+ sig do
1182
+ override.returns(
1183
+ {ttl: OpenAI::Beta::AgentSession::PromptCacheOptions::Ttl::TaggedSymbol}
1184
+ )
1185
+ end
1186
+ def to_hash
1187
+ end
1188
+
1189
+ module Ttl
1190
+ extend OpenAI::Internal::Type::Enum
1191
+
1192
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Beta::AgentSession::PromptCacheOptions::Ttl) }
1193
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
1194
+
1195
+ TTL_30M = T.let(:"30m", OpenAI::Beta::AgentSession::PromptCacheOptions::Ttl::TaggedSymbol)
1196
+ TTL_12H = T.let(:"12h", OpenAI::Beta::AgentSession::PromptCacheOptions::Ttl::TaggedSymbol)
1197
+
1198
+ sig { override.returns(T::Array[OpenAI::Beta::AgentSession::PromptCacheOptions::Ttl::TaggedSymbol]) }
1199
+ def self.values
1200
+ end
1201
+ end
1202
+ end
1203
+
997
1204
  # Review applied to eligible actions in this session. Omitted when review is none
998
1205
  # and automatic review is not enabled. Omission means none.
999
1206
  module Review
@@ -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 created.
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 was created.
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.created`.
53
65
 
54
66
  type: :"agent.session.created"
@@ -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
@@ -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 session environment connects.
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.connected`.
71
83
 
72
84
  type: :"agent.session.environment.connected"
@@ -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 session environment disconnects.
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.disconnected`.
71
83
 
72
84
  type: :"agent.session.environment.disconnected"
@@ -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 after a suspended hosted session environment and its checkpoint expire.
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.expired`.
71
83
 
72
84
  type: :"agent.session.environment.expired"
@@ -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 session environment fails.
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.failed`.
71
83
 
72
84
  type: :"agent.session.environment.failed"
@@ -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