openai 0.114.0 → 0.115.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 (226) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +36 -0
  3. data/README.md +17 -2
  4. data/docs/architecture/security-model.md +11 -16
  5. data/examples/responses/websocket_workflows.rb +78 -3
  6. data/lib/openai/helpers/chat/tool_runner.rb +1 -1
  7. data/lib/openai/helpers/live/websocket.rb +31 -0
  8. data/lib/openai/helpers/realtime/connection.rb +33 -0
  9. data/lib/openai/helpers/realtime/connection_manager.rb +1 -0
  10. data/lib/openai/helpers/realtime/conversation_item_variant_resolver.rb +5 -0
  11. data/lib/openai/helpers/realtime/recovery.rb +5 -1
  12. data/lib/openai/helpers/realtime/translation.rb +5 -0
  13. data/lib/openai/helpers/realtime/transports/async_websocket.rb +19 -0
  14. data/lib/openai/helpers/responses_websocket/connection.rb +53 -15
  15. data/lib/openai/helpers/responses_websocket/connection_manager.rb +1 -0
  16. data/lib/openai/helpers/responses_websocket/connection_resources.rb +1 -1
  17. data/lib/openai/helpers/structured_output/response_parser.rb +1 -0
  18. data/lib/openai/helpers/structured_output.rb +58 -0
  19. data/lib/openai/helpers/websocket/connection_manager.rb +11 -0
  20. data/lib/openai/helpers/websocket/resource.rb +1 -0
  21. data/lib/openai/helpers/websocket/typed_connection.rb +1 -0
  22. data/lib/openai/internal/type/array_of.rb +1 -1
  23. data/lib/openai/internal/type/hash_of.rb +1 -1
  24. data/lib/openai/internal/type/request_parameters.rb +2 -1
  25. data/lib/openai/internal/type/union.rb +18 -6
  26. data/lib/openai/models/admin/organization/external_key.rb +169 -0
  27. data/lib/openai/models/admin/organization/external_key_create_params.rb +311 -0
  28. data/lib/openai/models/admin/organization/external_key_delete_params.rb +24 -0
  29. data/lib/openai/models/admin/organization/external_key_list_params.rb +69 -0
  30. data/lib/openai/models/admin/organization/external_key_retrieve_params.rb +24 -0
  31. data/lib/openai/models/admin/organization/external_key_validate_params.rb +24 -0
  32. data/lib/openai/models/admin/organization/external_key_validate_response.rb +20 -0
  33. data/lib/openai/models/audio/speech_model.rb +12 -0
  34. data/lib/openai/models/audio_model.rb +15 -0
  35. data/lib/openai/models/beta/agent.rb +49 -1
  36. data/lib/openai/models/beta/agent_create_params.rb +51 -1
  37. data/lib/openai/models/beta/agent_session.rb +75 -2
  38. data/lib/openai/models/beta/agent_update_params.rb +62 -1
  39. data/lib/openai/models/beta/agents/session_create_params.rb +94 -2
  40. data/lib/openai/models/beta/agents/session_list_params.rb +16 -1
  41. data/lib/openai/models/beta/agents/session_update_params.rb +50 -5
  42. data/lib/openai/models/beta/assistant_update_params.rb +18 -0
  43. data/lib/openai/models/beta/beta_response.rb +224 -1
  44. data/lib/openai/models/beta/beta_response_configuration_update_item.rb +64 -3
  45. data/lib/openai/models/beta/beta_response_configuration_update_item_param.rb +64 -4
  46. data/lib/openai/models/beta/beta_response_input_item.rb +2 -3
  47. data/lib/openai/models/beta/beta_response_item.rb +2 -2
  48. data/lib/openai/models/beta/beta_response_tool_search_output_item_param.rb +6 -6
  49. data/lib/openai/models/beta/beta_responses_client_event.rb +20 -1
  50. data/lib/openai/models/beta/beta_tool.rb +6 -6
  51. data/lib/openai/models/beta/response_compact_params.rb +6 -0
  52. data/lib/openai/models/beta/response_create_params.rb +6 -0
  53. data/lib/openai/models/chat_model.rb +6 -0
  54. data/lib/openai/models/conversations/conversation_item.rb +2 -2
  55. data/lib/openai/models/image_edit_params.rb +46 -25
  56. data/lib/openai/models/live/fork_server_event.rb +43 -3
  57. data/lib/openai/models/live/server_event.rb +43 -3
  58. data/lib/openai/models/live/sideband_client_event.rb +40 -1
  59. data/lib/openai/models/live/sideband_server_event.rb +43 -3
  60. data/lib/openai/models/realtime/audio_transcription.rb +15 -0
  61. data/lib/openai/models/realtime/conversation_item_added.rb +2 -2
  62. data/lib/openai/models/realtime/conversation_item_create_event.rb +2 -2
  63. data/lib/openai/models/realtime/conversation_item_created_event.rb +2 -2
  64. data/lib/openai/models/realtime/conversation_item_done.rb +2 -2
  65. data/lib/openai/models/realtime/realtime_response.rb +2 -2
  66. data/lib/openai/models/realtime/realtime_response_create_params.rb +2 -2
  67. data/lib/openai/models/realtime/realtime_server_event.rb +2 -2
  68. data/lib/openai/models/realtime/realtime_session.rb +18 -0
  69. data/lib/openai/models/realtime/realtime_session_create_request.rb +18 -0
  70. data/lib/openai/models/realtime/realtime_session_create_response.rb +18 -0
  71. data/lib/openai/models/realtime/response_output_item_added_event.rb +2 -2
  72. data/lib/openai/models/realtime/response_output_item_done_event.rb +2 -2
  73. data/lib/openai/models/responses/response.rb +221 -1
  74. data/lib/openai/models/responses/response_compact_params.rb +6 -0
  75. data/lib/openai/models/responses/response_configuration_update_item.rb +50 -3
  76. data/lib/openai/models/responses/response_configuration_update_item_param.rb +50 -4
  77. data/lib/openai/models/responses/response_input_item.rb +2 -3
  78. data/lib/openai/models/responses/response_item.rb +2 -2
  79. data/lib/openai/models/responses/response_tool_search_output_item_param.rb +6 -6
  80. data/lib/openai/models/responses/responses_client_event.rb +14 -1
  81. data/lib/openai/models/responses/tool.rb +6 -6
  82. data/lib/openai/net_http_client.rb +6 -0
  83. data/lib/openai/providers/vertex.rb +0 -10
  84. data/lib/openai/resources/admin/organization/external_keys.rb +132 -0
  85. data/lib/openai/resources/admin/organization.rb +4 -0
  86. data/lib/openai/resources/audio/speech.rb +8 -0
  87. data/lib/openai/resources/audio/translations.rb +8 -0
  88. data/lib/openai/resources/beta/agents/sessions.rb +22 -6
  89. data/lib/openai/resources/beta/agents.rb +17 -2
  90. data/lib/openai/resources/images.rb +36 -18
  91. data/lib/openai/version.rb +1 -1
  92. data/lib/openai.rb +8 -0
  93. data/rbi/openai/helpers/live/websocket.rbi +1 -12
  94. data/rbi/openai/helpers/realtime/connection.rbi +5 -0
  95. data/rbi/openai/helpers/realtime/transports/async_websocket.rbi +5 -0
  96. data/rbi/openai/helpers/responses_websocket/connection.rbi +7 -2
  97. data/rbi/openai/helpers/structured_output.rbi +10 -0
  98. data/rbi/openai/internal/type/array_of.rbi +1 -1
  99. data/rbi/openai/internal/type/hash_of.rbi +1 -1
  100. data/rbi/openai/internal/type/union.rbi +5 -0
  101. data/rbi/openai/models/admin/organization/external_key.rbi +301 -0
  102. data/rbi/openai/models/admin/organization/external_key_create_params.rbi +532 -0
  103. data/rbi/openai/models/admin/organization/external_key_delete_params.rbi +57 -0
  104. data/rbi/openai/models/admin/organization/external_key_list_params.rbi +129 -0
  105. data/rbi/openai/models/admin/organization/external_key_retrieve_params.rbi +57 -0
  106. data/rbi/openai/models/admin/organization/external_key_validate_params.rbi +57 -0
  107. data/rbi/openai/models/admin/organization/external_key_validate_response.rbi +50 -0
  108. data/rbi/openai/models/beta/agent.rbi +103 -1
  109. data/rbi/openai/models/beta/agent_create_params.rbi +109 -0
  110. data/rbi/openai/models/beta/agent_session.rbi +136 -3
  111. data/rbi/openai/models/beta/agent_update_params.rbi +120 -0
  112. data/rbi/openai/models/beta/agents/session_create_params.rbi +153 -0
  113. data/rbi/openai/models/beta/agents/session_list_params.rbi +19 -0
  114. data/rbi/openai/models/beta/agents/session_update_params.rbi +94 -6
  115. data/rbi/openai/models/beta/beta_response.rbi +394 -0
  116. data/rbi/openai/models/beta/beta_response_configuration_update_item.rbi +113 -3
  117. data/rbi/openai/models/beta/beta_response_configuration_update_item_param.rbi +125 -4
  118. data/rbi/openai/models/beta/beta_response_tool_search_output_item_param.rbi +6 -6
  119. data/rbi/openai/models/beta/beta_responses_client_event.rbi +17 -0
  120. data/rbi/openai/models/beta/beta_tool.rbi +6 -6
  121. data/rbi/openai/models/decision_create_params.rbi +4 -1
  122. data/rbi/openai/models/image_edit_params.rbi +49 -24
  123. data/rbi/openai/models/live/fork_server_event.rbi +65 -1
  124. data/rbi/openai/models/live/server_event.rbi +65 -1
  125. data/rbi/openai/models/live/sideband_client_event.rbi +60 -0
  126. data/rbi/openai/models/live/sideband_server_event.rbi +65 -1
  127. data/rbi/openai/models/realtime/conversation_item_added.rbi +6 -3
  128. data/rbi/openai/models/realtime/conversation_item_create_event.rbi +6 -3
  129. data/rbi/openai/models/realtime/conversation_item_created_event.rbi +6 -3
  130. data/rbi/openai/models/realtime/conversation_item_done.rbi +6 -3
  131. data/rbi/openai/models/realtime/realtime_response.rbi +8 -4
  132. data/rbi/openai/models/realtime/realtime_response_create_params.rbi +8 -4
  133. data/rbi/openai/models/realtime/realtime_server_event.rbi +6 -3
  134. data/rbi/openai/models/realtime/response_output_item_added_event.rbi +6 -3
  135. data/rbi/openai/models/realtime/response_output_item_done_event.rbi +6 -3
  136. data/rbi/openai/models/responses/response.rbi +394 -0
  137. data/rbi/openai/models/responses/response_configuration_update_item.rbi +76 -3
  138. data/rbi/openai/models/responses/response_configuration_update_item_param.rbi +74 -4
  139. data/rbi/openai/models/responses/response_tool_search_output_item_param.rbi +6 -6
  140. data/rbi/openai/models/responses/responses_client_event.rbi +17 -0
  141. data/rbi/openai/models/responses/tool.rbi +6 -6
  142. data/rbi/openai/net_http_client.rbi +5 -0
  143. data/rbi/openai/resources/admin/organization/external_keys.rbi +86 -0
  144. data/rbi/openai/resources/admin/organization.rbi +3 -0
  145. data/rbi/openai/resources/audio/speech.rbi +8 -0
  146. data/rbi/openai/resources/audio/translations.rbi +6 -0
  147. data/rbi/openai/resources/beta/agents/sessions.rbi +18 -2
  148. data/rbi/openai/resources/beta/agents.rbi +15 -0
  149. data/rbi/openai/resources/images.rbi +34 -16
  150. data/rbi/openai/resources/responses.rbi +2 -0
  151. data/realtime.md +6 -0
  152. data/responses-websocket.md +53 -0
  153. data/sig/openai/helpers/live/websocket.rbs +1 -9
  154. data/sig/openai/helpers/realtime/connection.rbs +3 -0
  155. data/sig/openai/helpers/realtime/transports/async_websocket.rbs +3 -0
  156. data/sig/openai/helpers/responses_websocket/connection.rbs +7 -1
  157. data/sig/openai/helpers/structured_output.rbs +9 -0
  158. data/sig/openai/internal/type/union.rbs +4 -0
  159. data/sig/openai/models/admin/organization/external_key.rbs +186 -0
  160. data/sig/openai/models/admin/organization/external_key_create_params.rbs +423 -0
  161. data/sig/openai/models/admin/organization/external_key_delete_params.rbs +27 -0
  162. data/sig/openai/models/admin/organization/external_key_list_params.rbs +81 -0
  163. data/sig/openai/models/admin/organization/external_key_retrieve_params.rbs +27 -0
  164. data/sig/openai/models/admin/organization/external_key_validate_params.rbs +27 -0
  165. data/sig/openai/models/admin/organization/external_key_validate_response.rbs +17 -0
  166. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +72 -2
  167. data/sig/openai/models/audio/speech_create_params.rbs +15 -2
  168. data/sig/openai/models/audio/transcription_create_params.rbs +30 -2
  169. data/sig/openai/models/audio/voice_create_params.rbs +47 -2
  170. data/sig/openai/models/beta/agent.rbs +54 -2
  171. data/sig/openai/models/beta/agent_create_params.rbs +54 -0
  172. data/sig/openai/models/beta/agent_session.rbs +82 -3
  173. data/sig/openai/models/beta/agent_update_params.rbs +64 -0
  174. data/sig/openai/models/beta/agents/session_create_params.rbs +91 -0
  175. data/sig/openai/models/beta/agents/session_list_params.rbs +20 -0
  176. data/sig/openai/models/beta/agents/session_update_params.rbs +48 -6
  177. data/sig/openai/models/beta/assistant_create_params.rbs +5 -2
  178. data/sig/openai/models/beta/beta_response.rbs +223 -0
  179. data/sig/openai/models/beta/beta_response_configuration_update_item.rbs +58 -2
  180. data/sig/openai/models/beta/beta_response_configuration_update_item_param.rbs +58 -2
  181. data/sig/openai/models/beta/beta_response_tool_search_output_item_param.rbs +4 -4
  182. data/sig/openai/models/beta/beta_responses_client_event.rbs +17 -0
  183. data/sig/openai/models/beta/beta_tool.rbs +4 -4
  184. data/sig/openai/models/beta/response_create_params.rbs +5 -2
  185. data/sig/openai/models/beta/responses/input_token_count_params.rbs +10 -2
  186. data/sig/openai/models/beta/thread_create_and_run_params.rbs +11 -5
  187. data/sig/openai/models/beta/thread_create_params.rbs +11 -5
  188. data/sig/openai/models/beta/threads/message_create_params.rbs +6 -3
  189. data/sig/openai/models/beta/threads/run_create_params.rbs +6 -3
  190. data/sig/openai/models/decision_create_params.rbs +27 -2
  191. data/sig/openai/models/eval_create_params.rbs +25 -4
  192. data/sig/openai/models/evals/run_create_params.rbs +52 -8
  193. data/sig/openai/models/image_edit_params.rbs +47 -16
  194. data/sig/openai/models/live/fork_server_event.rbs +39 -0
  195. data/sig/openai/models/live/server_event.rbs +39 -0
  196. data/sig/openai/models/live/session_accept_params.rbs +39 -2
  197. data/sig/openai/models/live/sideband_client_event.rbs +32 -0
  198. data/sig/openai/models/live/sideband_server_event.rbs +39 -0
  199. data/sig/openai/models/realtime/conversation_item.rbs +1 -0
  200. data/sig/openai/models/responses/input_token_count_params.rbs +10 -2
  201. data/sig/openai/models/responses/response.rbs +223 -0
  202. data/sig/openai/models/responses/response_configuration_update_item.rbs +45 -2
  203. data/sig/openai/models/responses/response_configuration_update_item_param.rbs +45 -2
  204. data/sig/openai/models/responses/response_create_params.rbs +5 -2
  205. data/sig/openai/models/responses/response_tool_search_output_item_param.rbs +4 -4
  206. data/sig/openai/models/responses/responses_client_event.rbs +17 -0
  207. data/sig/openai/models/responses/tool.rbs +4 -4
  208. data/sig/openai/models/video_edit_params.rbs +11 -2
  209. data/sig/openai/models/video_extend_params.rbs +11 -2
  210. data/sig/openai/net_http_client.rbs +3 -0
  211. data/sig/openai/resources/admin/organization/external_keys.rbs +70 -0
  212. data/sig/openai/resources/admin/organization/external_storage.rbs +23 -1
  213. data/sig/openai/resources/admin/organization.rbs +2 -0
  214. data/sig/openai/resources/audio/speech.rbs +2 -1
  215. data/sig/openai/resources/audio/transcriptions.rbs +14 -2
  216. data/sig/openai/resources/audio/voices.rbs +14 -1
  217. data/sig/openai/resources/beta/agents/sessions.rbs +4 -0
  218. data/sig/openai/resources/beta/agents.rbs +4 -0
  219. data/sig/openai/resources/beta/responses/input_tokens.rbs +2 -1
  220. data/sig/openai/resources/beta/responses.rbs +4 -2
  221. data/sig/openai/resources/decisions.rbs +7 -1
  222. data/sig/openai/resources/images.rbs +2 -0
  223. data/sig/openai/resources/responses/input_tokens.rbs +2 -1
  224. data/sig/openai/resources/responses.rbs +5 -2
  225. data/sig/openai/resources/videos.rbs +2 -2
  226. metadata +25 -1
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::ExternalKeys#delete
8
+ class ExternalKeyDeleteParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ # @!attribute external_key_id
13
+ #
14
+ # @return [String]
15
+ required :external_key_id, String
16
+
17
+ # @!method initialize(external_key_id:, request_options: {})
18
+ # @param external_key_id [String]
19
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,69 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::ExternalKeys#list
8
+ class ExternalKeyListParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ # @!attribute after
13
+ #
14
+ # @return [String, nil]
15
+ optional :after, String, nil?: true
16
+
17
+ # @!attribute limit
18
+ #
19
+ # @return [Integer, nil]
20
+ optional :limit, Integer
21
+
22
+ # @!attribute order
23
+ #
24
+ # @return [Symbol, OpenAI::Models::Admin::Organization::ExternalKeyListParams::Order, nil]
25
+ optional :order, enum: -> { OpenAI::Admin::Organization::ExternalKeyListParams::Order }
26
+
27
+ # @!attribute purpose
28
+ # Filter by key purpose. When omitted, returns keys of all purposes.
29
+ #
30
+ # @return [Symbol, OpenAI::Models::Admin::Organization::ExternalKeyListParams::Purpose, nil]
31
+ optional :purpose, enum: -> { OpenAI::Admin::Organization::ExternalKeyListParams::Purpose }
32
+
33
+ # @!method initialize(after: nil, limit: nil, order: nil, purpose: nil, request_options: {})
34
+ # @param after [String, nil]
35
+ #
36
+ # @param limit [Integer]
37
+ #
38
+ # @param order [Symbol, OpenAI::Models::Admin::Organization::ExternalKeyListParams::Order]
39
+ #
40
+ # @param purpose [Symbol, OpenAI::Models::Admin::Organization::ExternalKeyListParams::Purpose]
41
+ # Filter by key purpose. When omitted, returns keys of all purposes.
42
+ #
43
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
44
+
45
+ module Order
46
+ extend OpenAI::Internal::Type::Enum
47
+
48
+ ASC = :asc
49
+ DESC = :desc
50
+
51
+ # @!method self.values
52
+ # @return [Array<Symbol>]
53
+ end
54
+
55
+ # Filter by key purpose. When omitted, returns keys of all purposes.
56
+ module Purpose
57
+ extend OpenAI::Internal::Type::Enum
58
+
59
+ EKM = :ekm
60
+ PSP_DECRYPTION = :psp_decryption
61
+
62
+ # @!method self.values
63
+ # @return [Array<Symbol>]
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::ExternalKeys#retrieve
8
+ class ExternalKeyRetrieveParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ # @!attribute external_key_id
13
+ #
14
+ # @return [String]
15
+ required :external_key_id, String
16
+
17
+ # @!method initialize(external_key_id:, request_options: {})
18
+ # @param external_key_id [String]
19
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,24 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::ExternalKeys#validate
8
+ class ExternalKeyValidateParams < OpenAI::Internal::Type::BaseModel
9
+ extend OpenAI::Internal::Type::RequestParameters::Converter
10
+ include OpenAI::Internal::Type::RequestParameters
11
+
12
+ # @!attribute external_key_id
13
+ #
14
+ # @return [String]
15
+ required :external_key_id, String
16
+
17
+ # @!method initialize(external_key_id:, request_options: {})
18
+ # @param external_key_id [String]
19
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
20
+ end
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ # @see OpenAI::Resources::Admin::Organization::ExternalKeys#validate
8
+ class ExternalKeyValidateResponse < OpenAI::Internal::Type::BaseModel
9
+ # @!attribute status
10
+ #
11
+ # @return [String]
12
+ required :status, String
13
+
14
+ # @!method initialize(status:)
15
+ # @param status [String]
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -6,9 +6,21 @@ module OpenAI
6
6
  module SpeechModel
7
7
  extend OpenAI::Internal::Type::Enum
8
8
 
9
+ # @deprecated Announced shutdown date: 2027-01-06. See
10
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
11
+ # replacements.
9
12
  TTS_1 = :"tts-1"
13
+ # @deprecated Announced shutdown date: 2027-01-06. See
14
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
15
+ # replacements.
10
16
  TTS_1_HD = :"tts-1-hd"
17
+ # @deprecated Announced shutdown date: 2027-01-06. See
18
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
19
+ # replacements.
11
20
  GPT_4O_MINI_TTS = :"gpt-4o-mini-tts"
21
+ # @deprecated Announced shutdown date: 2027-01-06. See
22
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
23
+ # replacements.
12
24
  GPT_4O_MINI_TTS_2025_12_15 = :"gpt-4o-mini-tts-2025-12-15"
13
25
 
14
26
  # @!method self.values
@@ -5,11 +5,26 @@ module OpenAI
5
5
  module AudioModel
6
6
  extend OpenAI::Internal::Type::Enum
7
7
 
8
+ # @deprecated Announced shutdown date: 2027-02-26. See
9
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
10
+ # replacements.
8
11
  WHISPER_1 = :"whisper-1"
9
12
  GPT_TRANSCRIBE = :"gpt-transcribe"
13
+ # @deprecated Announced shutdown date: 2027-02-26. See
14
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
15
+ # replacements.
10
16
  GPT_4O_TRANSCRIBE = :"gpt-4o-transcribe"
17
+ # @deprecated Announced shutdown date: 2027-02-26. See
18
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
19
+ # replacements.
11
20
  GPT_4O_MINI_TRANSCRIBE = :"gpt-4o-mini-transcribe"
21
+ # @deprecated Announced shutdown date: 2027-02-26. See
22
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
23
+ # replacements.
12
24
  GPT_4O_MINI_TRANSCRIBE_2025_12_15 = :"gpt-4o-mini-transcribe-2025-12-15"
25
+ # @deprecated Announced shutdown date: 2027-02-26. See
26
+ # https://developers.openai.com/api/docs/deprecations for details and recommended
27
+ # replacements.
13
28
  GPT_4O_TRANSCRIBE_DIARIZE = :"gpt-4o-transcribe-diarize"
14
29
 
15
30
  # @!method self.values
@@ -84,7 +84,19 @@ module OpenAI
84
84
  # @return [Integer]
85
85
  required :updated_at, Integer
86
86
 
87
- # @!method initialize(id:, created_at:, instructions:, metadata:, model:, multi_agent:, name:, reasoning:, service_tier:, text:, tools:, updated_at:, object: :agent)
87
+ # @!attribute compaction
88
+ # The effective context compaction settings.
89
+ #
90
+ # @return [OpenAI::Models::Beta::Agent::Compaction, nil]
91
+ optional :compaction, -> { OpenAI::Beta::Agent::Compaction }
92
+
93
+ # @!attribute experimental
94
+ # The effective experimental settings for the agent.
95
+ #
96
+ # @return [OpenAI::Models::Beta::Agent::Experimental, nil]
97
+ optional :experimental, -> { OpenAI::Beta::Agent::Experimental }
98
+
99
+ # @!method initialize(id:, created_at:, instructions:, metadata:, model:, multi_agent:, name:, reasoning:, service_tier:, text:, tools:, updated_at:, compaction: nil, experimental: nil, object: :agent)
88
100
  # A reusable agent scoped to the caller's project.
89
101
  #
90
102
  # @param id [String]
@@ -124,6 +136,12 @@ module OpenAI
124
136
  # @param updated_at [Integer]
125
137
  # The Unix timestamp, in seconds, when the agent was last updated.
126
138
  #
139
+ # @param compaction [OpenAI::Models::Beta::Agent::Compaction]
140
+ # The effective context compaction settings.
141
+ #
142
+ # @param experimental [OpenAI::Models::Beta::Agent::Experimental]
143
+ # The effective experimental settings for the agent.
144
+ #
127
145
  # @param object [Symbol, :agent]
128
146
  # The object type. Always `agent`.
129
147
 
@@ -143,6 +161,36 @@ module OpenAI
143
161
  # @!method self.values
144
162
  # @return [Array<Symbol>]
145
163
  end
164
+
165
+ # @see OpenAI::Models::Beta::Agent#compaction
166
+ class Compaction < OpenAI::Internal::Type::BaseModel
167
+ # @!attribute async
168
+ # Whether context is compacted in the background. Defaults to true.
169
+ #
170
+ # @return [Boolean]
171
+ required :async, OpenAI::Internal::Type::Boolean
172
+
173
+ # @!method initialize(async:)
174
+ # The effective context compaction settings.
175
+ #
176
+ # @param async [Boolean]
177
+ # Whether context is compacted in the background. Defaults to true.
178
+ end
179
+
180
+ # @see OpenAI::Models::Beta::Agent#experimental
181
+ class Experimental < OpenAI::Internal::Type::BaseModel
182
+ # @!attribute time_awareness
183
+ # Whether the model receives periodic current-time reminders.
184
+ #
185
+ # @return [Boolean]
186
+ required :time_awareness, OpenAI::Internal::Type::Boolean
187
+
188
+ # @!method initialize(time_awareness:)
189
+ # The effective experimental settings for the agent.
190
+ #
191
+ # @param time_awareness [Boolean]
192
+ # Whether the model receives periodic current-time reminders.
193
+ end
146
194
  end
147
195
  end
148
196
  end
@@ -14,6 +14,18 @@ module OpenAI
14
14
  # @return [String]
15
15
  required :model, String
16
16
 
17
+ # @!attribute compaction
18
+ # Context compaction settings. Omission or null enables background compaction.
19
+ #
20
+ # @return [OpenAI::Models::Beta::AgentCreateParams::Compaction, nil]
21
+ optional :compaction, -> { OpenAI::Beta::AgentCreateParams::Compaction }, nil?: true
22
+
23
+ # @!attribute experimental
24
+ # Experimental agent settings. All experimental features default to disabled.
25
+ #
26
+ # @return [OpenAI::Models::Beta::AgentCreateParams::Experimental, nil]
27
+ optional :experimental, -> { OpenAI::Beta::AgentCreateParams::Experimental }
28
+
17
29
  # @!attribute instructions
18
30
  # Additional instructions appended to the agent's default base instructions. Omit
19
31
  # or set to null to add no custom instructions.
@@ -71,10 +83,16 @@ module OpenAI
71
83
  nil?: true
72
84
  )
73
85
 
74
- # @!method initialize(model:, instructions: nil, metadata: nil, multi_agent: nil, name: nil, reasoning: nil, service_tier: nil, text: nil, tools: nil, request_options: {})
86
+ # @!method initialize(model:, compaction: nil, experimental: nil, instructions: nil, metadata: nil, multi_agent: nil, name: nil, reasoning: nil, service_tier: nil, text: nil, tools: nil, request_options: {})
75
87
  # @param model [String]
76
88
  # The model to use for the agent. The requested model name is preserved.
77
89
  #
90
+ # @param compaction [OpenAI::Models::Beta::AgentCreateParams::Compaction, nil]
91
+ # Context compaction settings. Omission or null enables background compaction.
92
+ #
93
+ # @param experimental [OpenAI::Models::Beta::AgentCreateParams::Experimental]
94
+ # Experimental agent settings. All experimental features default to disabled.
95
+ #
78
96
  # @param instructions [String, nil]
79
97
  # Additional instructions appended to the agent's default base instructions. Omit
80
98
  # or set to null to add no custom instructions.
@@ -106,6 +124,38 @@ module OpenAI
106
124
  #
107
125
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
108
126
 
127
+ class Compaction < OpenAI::Internal::Type::BaseModel
128
+ # @!attribute async
129
+ # Whether to compact context in the background. Omission or null defaults to true.
130
+ # Set to false to use blocking compaction. Background compaction may increase
131
+ # token usage.
132
+ #
133
+ # @return [Boolean, nil]
134
+ optional :async, OpenAI::Internal::Type::Boolean, nil?: true
135
+
136
+ # @!method initialize(async: nil)
137
+ # Context compaction settings. Omission or null enables background compaction.
138
+ #
139
+ # @param async [Boolean, nil]
140
+ # Whether to compact context in the background. Omission or null defaults to true.
141
+ # Set to false to use blocking compaction. Background compaction may increase
142
+ # token usage.
143
+ end
144
+
145
+ class Experimental < OpenAI::Internal::Type::BaseModel
146
+ # @!attribute time_awareness
147
+ # Whether to give the model periodic current-time reminders. Defaults to false.
148
+ #
149
+ # @return [Boolean, nil]
150
+ optional :time_awareness, OpenAI::Internal::Type::Boolean
151
+
152
+ # @!method initialize(time_awareness: nil)
153
+ # Experimental agent settings. All experimental features default to disabled.
154
+ #
155
+ # @param time_awareness [Boolean]
156
+ # Whether to give the model periodic current-time reminders. Defaults to false.
157
+ end
158
+
109
159
  # The service tier used for model requests. Defaults to `auto`.
110
160
  module ServiceTier
111
161
  extend OpenAI::Internal::Type::Enum
@@ -80,6 +80,13 @@ module OpenAI
80
80
  # @return [Array<String>]
81
81
  required :vault_ids, OpenAI::Internal::Type::ArrayOf[String]
82
82
 
83
+ # @!attribute review
84
+ # Review applied to eligible actions in this session. Omitted when review is none
85
+ # and automatic review is not enabled. Omission means none.
86
+ #
87
+ # @return [Symbol, OpenAI::Models::Beta::AgentSession::Review, nil]
88
+ optional :review, enum: -> { OpenAI::Beta::AgentSession::Review }
89
+
83
90
  # @!attribute spend_control
84
91
  # Configured spending limit and best-effort consumption, in USD cents. Unlimited
85
92
  # sessions omit this object.
@@ -87,7 +94,7 @@ module OpenAI
87
94
  # @return [OpenAI::Models::Beta::AgentSession::SpendControl, nil]
88
95
  optional :spend_control, -> { OpenAI::Beta::AgentSession::SpendControl }
89
96
 
90
- # @!method initialize(id:, agent:, created_at:, environment:, error:, last_active_at:, metadata:, required_actions:, status:, usage:, vault_ids:, spend_control: nil, object: :"agent.session")
97
+ # @!method initialize(id:, agent:, created_at:, environment:, error:, last_active_at:, metadata:, required_actions:, status:, usage:, vault_ids:, review: nil, spend_control: nil, object: :"agent.session")
91
98
  # A Managed Agents session.
92
99
  #
93
100
  # @param id [String]
@@ -124,6 +131,10 @@ module OpenAI
124
131
  # @param vault_ids [Array<String>]
125
132
  # The IDs of vaults made available to the session.
126
133
  #
134
+ # @param review [Symbol, OpenAI::Models::Beta::AgentSession::Review]
135
+ # Review applied to eligible actions in this session. Omitted when review is none
136
+ # and automatic review is not enabled. Omission means none.
137
+ #
127
138
  # @param spend_control [OpenAI::Models::Beta::AgentSession::SpendControl]
128
139
  # Configured spending limit and best-effort consumption, in USD cents. Unlimited
129
140
  # sessions omit this object.
@@ -188,7 +199,19 @@ module OpenAI
188
199
  # @return [Array<OpenAI::Models::Beta::AgentTool::Function, OpenAI::Models::Beta::AgentTool::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentTool::Mcp, OpenAI::Models::Beta::AgentTool::WebSearch, OpenAI::Models::Beta::AgentTool::ComputerUse, OpenAI::Models::Beta::AgentTool::Automations>]
189
200
  required :tools, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::AgentTool] }
190
201
 
191
- # @!method initialize(id:, instructions:, model:, multi_agent:, name:, reasoning:, service_tier:, text:, tools:)
202
+ # @!attribute compaction
203
+ # The effective context compaction settings.
204
+ #
205
+ # @return [OpenAI::Models::Beta::AgentSession::Agent::Compaction, nil]
206
+ optional :compaction, -> { OpenAI::Beta::AgentSession::Agent::Compaction }
207
+
208
+ # @!attribute experimental
209
+ # The effective experimental settings for the agent.
210
+ #
211
+ # @return [OpenAI::Models::Beta::AgentSession::Agent::Experimental, nil]
212
+ optional :experimental, -> { OpenAI::Beta::AgentSession::Agent::Experimental }
213
+
214
+ # @!method initialize(id:, instructions:, model:, multi_agent:, name:, reasoning:, service_tier:, text:, tools:, compaction: nil, experimental: nil)
192
215
  # The agent running in the session.
193
216
  #
194
217
  # @param id [String]
@@ -218,6 +241,12 @@ module OpenAI
218
241
  #
219
242
  # @param tools [Array<OpenAI::Models::Beta::AgentTool::Function, OpenAI::Models::Beta::AgentTool::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentTool::Mcp, OpenAI::Models::Beta::AgentTool::WebSearch, OpenAI::Models::Beta::AgentTool::ComputerUse, OpenAI::Models::Beta::AgentTool::Automations>]
220
243
  # Tools available to the agent.
244
+ #
245
+ # @param compaction [OpenAI::Models::Beta::AgentSession::Agent::Compaction]
246
+ # The effective context compaction settings.
247
+ #
248
+ # @param experimental [OpenAI::Models::Beta::AgentSession::Agent::Experimental]
249
+ # The effective experimental settings for the agent.
221
250
 
222
251
  # The effective service-tier policy for model requests. Defaults to `auto`.
223
252
  #
@@ -235,6 +264,36 @@ module OpenAI
235
264
  # @!method self.values
236
265
  # @return [Array<Symbol>]
237
266
  end
267
+
268
+ # @see OpenAI::Models::Beta::AgentSession::Agent#compaction
269
+ class Compaction < OpenAI::Internal::Type::BaseModel
270
+ # @!attribute async
271
+ # Whether context is compacted in the background. Defaults to true.
272
+ #
273
+ # @return [Boolean]
274
+ required :async, OpenAI::Internal::Type::Boolean
275
+
276
+ # @!method initialize(async:)
277
+ # The effective context compaction settings.
278
+ #
279
+ # @param async [Boolean]
280
+ # Whether context is compacted in the background. Defaults to true.
281
+ end
282
+
283
+ # @see OpenAI::Models::Beta::AgentSession::Agent#experimental
284
+ class Experimental < OpenAI::Internal::Type::BaseModel
285
+ # @!attribute time_awareness
286
+ # Whether the model receives periodic current-time reminders.
287
+ #
288
+ # @return [Boolean]
289
+ required :time_awareness, OpenAI::Internal::Type::Boolean
290
+
291
+ # @!method initialize(time_awareness:)
292
+ # The effective experimental settings for the agent.
293
+ #
294
+ # @param time_awareness [Boolean]
295
+ # Whether the model receives periodic current-time reminders.
296
+ end
238
297
  end
239
298
 
240
299
  # An action that must be completed before a session can continue.
@@ -594,6 +653,20 @@ module OpenAI
594
653
  # @return [Array<Symbol>]
595
654
  end
596
655
 
656
+ # Review applied to eligible actions in this session. Omitted when review is none
657
+ # and automatic review is not enabled. Omission means none.
658
+ #
659
+ # @see OpenAI::Models::Beta::AgentSession#review
660
+ module Review
661
+ extend OpenAI::Internal::Type::Enum
662
+
663
+ NONE = :none
664
+ AUTO_REVIEW = :auto_review
665
+
666
+ # @!method self.values
667
+ # @return [Array<Symbol>]
668
+ end
669
+
597
670
  # @see OpenAI::Models::Beta::AgentSession#spend_control
598
671
  class SpendControl < OpenAI::Internal::Type::BaseModel
599
672
  # @!attribute consumed
@@ -13,6 +13,21 @@ module OpenAI
13
13
  # @return [String]
14
14
  required :agent_id, String
15
15
 
16
+ # @!attribute compaction
17
+ # Context compaction settings. Omit to keep the current settings. A supplied
18
+ # object replaces the settings; null or an empty object enables background
19
+ # compaction.
20
+ #
21
+ # @return [OpenAI::Models::Beta::AgentUpdateParams::Compaction, nil]
22
+ optional :compaction, -> { OpenAI::Beta::AgentUpdateParams::Compaction }, nil?: true
23
+
24
+ # @!attribute experimental
25
+ # Experimental settings to merge by key. Omitted settings keep their current
26
+ # values.
27
+ #
28
+ # @return [OpenAI::Models::Beta::AgentUpdateParams::Experimental, nil]
29
+ optional :experimental, -> { OpenAI::Beta::AgentUpdateParams::Experimental }
30
+
16
31
  # @!attribute instructions
17
32
  # Additional instructions appended to the agent's default base instructions. Omit
18
33
  # to leave unchanged.
@@ -76,9 +91,18 @@ module OpenAI
76
91
  nil?: true
77
92
  )
78
93
 
79
- # @!method initialize(agent_id:, instructions: nil, metadata: nil, model: nil, multi_agent: nil, name: nil, reasoning: nil, service_tier: nil, text: nil, tools: nil, request_options: {})
94
+ # @!method initialize(agent_id:, compaction: nil, experimental: nil, instructions: nil, metadata: nil, model: nil, multi_agent: nil, name: nil, reasoning: nil, service_tier: nil, text: nil, tools: nil, request_options: {})
80
95
  # @param agent_id [String]
81
96
  #
97
+ # @param compaction [OpenAI::Models::Beta::AgentUpdateParams::Compaction, nil]
98
+ # Context compaction settings. Omit to keep the current settings. A supplied
99
+ # object replaces the settings; null or an empty object enables background
100
+ # compaction.
101
+ #
102
+ # @param experimental [OpenAI::Models::Beta::AgentUpdateParams::Experimental]
103
+ # Experimental settings to merge by key. Omitted settings keep their current
104
+ # values.
105
+ #
82
106
  # @param instructions [String, nil]
83
107
  # Additional instructions appended to the agent's default base instructions. Omit
84
108
  # to leave unchanged.
@@ -113,6 +137,43 @@ module OpenAI
113
137
  #
114
138
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
115
139
 
140
+ class Compaction < OpenAI::Internal::Type::BaseModel
141
+ # @!attribute async
142
+ # Whether to compact context in the background. Omission or null defaults to true.
143
+ # Set to false to use blocking compaction. Background compaction may increase
144
+ # token usage.
145
+ #
146
+ # @return [Boolean, nil]
147
+ optional :async, OpenAI::Internal::Type::Boolean, nil?: true
148
+
149
+ # @!method initialize(async: nil)
150
+ # Context compaction settings. Omit to keep the current settings. A supplied
151
+ # object replaces the settings; null or an empty object enables background
152
+ # compaction.
153
+ #
154
+ # @param async [Boolean, nil]
155
+ # Whether to compact context in the background. Omission or null defaults to true.
156
+ # Set to false to use blocking compaction. Background compaction may increase
157
+ # token usage.
158
+ end
159
+
160
+ class Experimental < OpenAI::Internal::Type::BaseModel
161
+ # @!attribute time_awareness
162
+ # Whether to give the model periodic current-time reminders. Omit to keep the
163
+ # current setting.
164
+ #
165
+ # @return [Boolean, nil]
166
+ optional :time_awareness, OpenAI::Internal::Type::Boolean
167
+
168
+ # @!method initialize(time_awareness: nil)
169
+ # Experimental settings to merge by key. Omitted settings keep their current
170
+ # values.
171
+ #
172
+ # @param time_awareness [Boolean]
173
+ # Whether to give the model periodic current-time reminders. Omit to keep the
174
+ # current setting.
175
+ end
176
+
116
177
  # The service tier used for model requests.
117
178
  module ServiceTier
118
179
  extend OpenAI::Internal::Type::Enum