openai 0.114.0 → 0.115.1

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 +43 -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 +43 -1
@@ -24,7 +24,16 @@ module OpenAI
24
24
  # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
25
25
  # metadata. Use `OpenAI::FilePart` when you need to override the filename or
26
26
  # content type.
27
- attr_accessor video: OpenAI::Models::VideoExtendParams::video
27
+ attr_reader video: OpenAI::Models::VideoExtendParams::video
28
+
29
+ # Reference to the completed video to extend.
30
+ #
31
+ # `String`, `StringIO`, and pathless `IO` inputs are sent with generic upload
32
+ # metadata. Use `OpenAI::FilePart` when you need to override the filename or
33
+ # content type.
34
+ def video=: (
35
+ OpenAI::Models::VideoExtendParams::video | { id: String }
36
+ ) -> (OpenAI::Models::VideoExtendParams::video | { id: String })
28
37
 
29
38
  # @param prompt
30
39
  # Updated text prompt that directs the extension generation.
@@ -40,7 +49,7 @@ module OpenAI
40
49
  def initialize: (
41
50
  prompt: String,
42
51
  seconds: OpenAI::Models::video_seconds,
43
- video: OpenAI::Models::VideoExtendParams::video,
52
+ video: OpenAI::Models::VideoExtendParams::video | { id: String },
44
53
  ?request_options: OpenAI::request_opts
45
54
  ) -> void
46
55
 
@@ -1,5 +1,8 @@
1
1
  module OpenAI
2
2
  class NetHTTPClient < OpenAI::HTTPClient
3
+ # @api private
4
+ def default_configuration?: -> bool
5
+
3
6
  KEEP_ALIVE_TIMEOUT: 30
4
7
 
5
8
  DEFAULT_MAX_CONNECTIONS: Integer
@@ -0,0 +1,70 @@
1
+ module OpenAI
2
+ module Resources
3
+ class Admin
4
+ class Organization
5
+ class ExternalKeys
6
+ def create: (
7
+ body: OpenAI::Models::Admin::Organization::ExternalKeyCreateParams::body
8
+ | {
9
+ external_id: String,
10
+ kms_arn: String,
11
+ name: String,
12
+ role_arn: String,
13
+ type: :aws,
14
+ ?purpose: :ekm | :psp_decryption
15
+ }
16
+ | {
17
+ audience: String,
18
+ kms_key_location: String,
19
+ kms_key_name: String,
20
+ kms_key_ring_name: String,
21
+ kms_project_id: String,
22
+ name: String,
23
+ type: :gcp,
24
+ workload_identity_pool_id: String,
25
+ workload_identity_project_number: String,
26
+ workload_identity_provider_id: String,
27
+ ?kms_key_version: String,
28
+ ?purpose: :ekm | :psp_decryption
29
+ }
30
+ | {
31
+ key_name: String,
32
+ name: String,
33
+ tenant_id: String,
34
+ type: :azure,
35
+ vault_uri: String,
36
+ ?key_version: String,
37
+ ?purpose: :ekm | :psp_decryption
38
+ },
39
+ ?request_options: OpenAI::request_opts
40
+ ) -> OpenAI::Admin::Organization::ExternalKey
41
+
42
+ def retrieve: (
43
+ String external_key_id,
44
+ ?request_options: OpenAI::request_opts
45
+ ) -> OpenAI::Admin::Organization::ExternalKey
46
+
47
+ def list: (
48
+ ?after: String?,
49
+ ?limit: Integer,
50
+ ?order: OpenAI::Models::Admin::Organization::ExternalKeyListParams::order,
51
+ ?purpose: OpenAI::Models::Admin::Organization::ExternalKeyListParams::purpose,
52
+ ?request_options: OpenAI::request_opts
53
+ ) -> OpenAI::Internal::CursorPage[OpenAI::Admin::Organization::ExternalKey]
54
+
55
+ def delete: (
56
+ String external_key_id,
57
+ ?request_options: OpenAI::request_opts
58
+ ) -> OpenAI::Admin::Organization::ExternalKey
59
+
60
+ def validate: (
61
+ String external_key_id,
62
+ ?request_options: OpenAI::request_opts
63
+ ) -> OpenAI::Models::Admin::Organization::ExternalKeyValidateResponse
64
+
65
+ def initialize: (client: OpenAI::Client) -> void
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end
@@ -5,7 +5,29 @@ module OpenAI
5
5
  class ExternalStorage
6
6
  def create: (
7
7
  project_id: String,
8
- provider: OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::provider,
8
+ provider: OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::provider
9
+ | { bucket: String, role_arn: String, type: :aws }
10
+ | {
11
+ account_name: String,
12
+ container: String,
13
+ resource_group: String,
14
+ subscription_id: String,
15
+ tenant_id: String,
16
+ type: :azure
17
+ }
18
+ | {
19
+ bucket: String,
20
+ type: :gcp,
21
+ workload_identity_pool_id: String,
22
+ workload_identity_project_number: String,
23
+ workload_identity_provider_id: String
24
+ }
25
+ | {
26
+ bucket: String,
27
+ region: String,
28
+ tenancy_ocid: String,
29
+ type: :oci
30
+ },
9
31
  ?request_options: OpenAI::request_opts
10
32
  ) -> OpenAI::Admin::Organization::ExternalStorageConfiguration
11
33
 
@@ -18,6 +18,8 @@ module OpenAI
18
18
 
19
19
  attr_reader data_retention: OpenAI::Resources::Admin::Organization::DataRetention
20
20
 
21
+ attr_reader external_keys: OpenAI::Resources::Admin::Organization::ExternalKeys
22
+
21
23
  attr_reader external_storage: OpenAI::Resources::Admin::Organization::ExternalStorage
22
24
 
23
25
  attr_reader spend_limit: OpenAI::Resources::Admin::Organization::SpendLimit
@@ -5,7 +5,8 @@ module OpenAI
5
5
  def create: (
6
6
  input: String,
7
7
  model: OpenAI::Models::Audio::SpeechCreateParams::model,
8
- voice: OpenAI::Models::Audio::SpeechCreateParams::voice,
8
+ voice: OpenAI::Models::Audio::SpeechCreateParams::voice
9
+ | { id: String },
9
10
  ?instructions: String,
10
11
  ?response_format: OpenAI::Models::Audio::SpeechCreateParams::response_format,
11
12
  ?speed: Float,
@@ -5,7 +5,13 @@ module OpenAI
5
5
  def create: (
6
6
  file: OpenAI::Internal::file_input,
7
7
  model: OpenAI::Models::Audio::TranscriptionCreateParams::model,
8
- ?chunking_strategy: OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy?,
8
+ ?chunking_strategy: (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
9
+ | {
10
+ type: :server_vad,
11
+ ?prefix_padding_ms: Integer,
12
+ ?silence_duration_ms: Integer,
13
+ ?threshold: Float
14
+ })?,
9
15
  ?include: ::Array[OpenAI::Models::Audio::transcription_include],
10
16
  ?keywords: ::Array[String],
11
17
  ?known_speaker_names: ::Array[String],
@@ -22,7 +28,13 @@ module OpenAI
22
28
  def create_streaming: (
23
29
  file: OpenAI::Internal::file_input,
24
30
  model: OpenAI::Models::Audio::TranscriptionCreateParams::model,
25
- ?chunking_strategy: OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy?,
31
+ ?chunking_strategy: (OpenAI::Models::Audio::TranscriptionCreateParams::chunking_strategy
32
+ | {
33
+ type: :server_vad,
34
+ ?prefix_padding_ms: Integer,
35
+ ?silence_duration_ms: Integer,
36
+ ?threshold: Float
37
+ })?,
26
38
  ?include: ::Array[OpenAI::Models::Audio::transcription_include],
27
39
  ?keywords: ::Array[String],
28
40
  ?known_speaker_names: ::Array[String],
@@ -3,7 +3,20 @@ module OpenAI
3
3
  class Audio
4
4
  class Voices
5
5
  def create: (
6
- body: OpenAI::Models::Audio::VoiceCreateParams::body,
6
+ body: OpenAI::Models::Audio::VoiceCreateParams::body
7
+ | {
8
+ audio_sample: OpenAI::Internal::file_input,
9
+ consent: String,
10
+ name: String,
11
+ ?type: :audio_sample
12
+ }
13
+ | {
14
+ name: String,
15
+ prompt: String,
16
+ type: :prompt,
17
+ ?model: String | :auto | :"2026-10-08",
18
+ ?script_hint: String
19
+ },
7
20
  ?request_options: OpenAI::request_opts
8
21
  ) -> OpenAI::Audio::Voice
9
22
 
@@ -21,6 +21,7 @@ module OpenAI
21
21
  ?agent_id: String,
22
22
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
23
23
  ?metadata: ::Hash[Symbol, String]?,
24
+ ?review: OpenAI::Models::Beta::Agents::SessionCreateParams::review,
24
25
  ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
25
26
  ?vault_ids: ::Array[String]?,
26
27
  ?request_options: OpenAI::request_opts
@@ -34,6 +35,7 @@ module OpenAI
34
35
  ?output_type: singleton(OpenAI::Helpers::StructuredOutput::BaseModel)?,
35
36
  ?input: OpenAI::Models::Beta::Agents::SessionCreateParams::input?,
36
37
  ?metadata: ::Hash[Symbol, String]?,
38
+ ?review: OpenAI::Models::Beta::Agents::SessionCreateParams::review,
37
39
  ?spend_control: OpenAI::Beta::Agents::SessionCreateParams::SpendControl?,
38
40
  ?vault_ids: ::Array[String]?,
39
41
  ?request_options: OpenAI::request_opts
@@ -48,6 +50,7 @@ module OpenAI
48
50
  String session_id,
49
51
  ?agent: OpenAI::Beta::Agents::SessionUpdateParams::Agent,
50
52
  ?metadata: ::Hash[Symbol, String]?,
53
+ ?review: OpenAI::Models::Beta::Agents::SessionUpdateParams::review,
51
54
  ?spend_control: OpenAI::Beta::Agents::SessionUpdateParams::SpendControl?,
52
55
  ?request_options: OpenAI::request_opts
53
56
  ) -> OpenAI::Beta::AgentSession
@@ -56,6 +59,7 @@ module OpenAI
56
59
  ?after: String,
57
60
  ?agent_id: String,
58
61
  ?limit: Integer,
62
+ ?metadata: ::Hash[Symbol, String],
59
63
  ?order: OpenAI::Models::Beta::Agents::SessionListParams::order,
60
64
  ?request_options: OpenAI::request_opts
61
65
  ) -> OpenAI::Internal::CursorPage[OpenAI::Beta::AgentSession]
@@ -10,6 +10,8 @@ module OpenAI
10
10
 
11
11
  def create: (
12
12
  model: String,
13
+ ?compaction: OpenAI::Beta::AgentCreateParams::Compaction?,
14
+ ?experimental: OpenAI::Beta::AgentCreateParams::Experimental,
13
15
  ?instructions: String?,
14
16
  ?metadata: ::Hash[Symbol, String]?,
15
17
  ?multi_agent: OpenAI::Beta::MultiAgentConfigParam?,
@@ -28,6 +30,8 @@ module OpenAI
28
30
 
29
31
  def update: (
30
32
  String agent_id,
33
+ ?compaction: OpenAI::Beta::AgentUpdateParams::Compaction?,
34
+ ?experimental: OpenAI::Beta::AgentUpdateParams::Experimental,
31
35
  ?instructions: String?,
32
36
  ?metadata: ::Hash[Symbol, String]?,
33
37
  ?model: String,
@@ -13,7 +13,8 @@ module OpenAI
13
13
  ?previous_response_id: String?,
14
14
  ?reasoning: OpenAI::Beta::Responses::InputTokenCountParams::Reasoning?,
15
15
  ?text: OpenAI::Beta::Responses::InputTokenCountParams::Text?,
16
- ?tool_choice: OpenAI::Models::Beta::Responses::InputTokenCountParams::tool_choice?,
16
+ ?tool_choice: (OpenAI::Models::Beta::Responses::InputTokenCountParams::tool_choice
17
+ | { type: :programmatic_tool_calling })?,
17
18
  ?tools: ::Array[OpenAI::Models::Beta::beta_tool]?,
18
19
  ?truncation: OpenAI::Models::Beta::Responses::InputTokenCountParams::truncation,
19
20
  ?betas: ::Array[OpenAI::Models::Beta::Responses::InputTokenCountParams::beta],
@@ -41,7 +41,8 @@ module OpenAI
41
41
  ?stream_options: OpenAI::Beta::ResponseCreateParams::StreamOptions?,
42
42
  ?temperature: Float?,
43
43
  ?text: OpenAI::Beta::BetaResponseTextConfig,
44
- ?tool_choice: OpenAI::Models::Beta::ResponseCreateParams::tool_choice,
44
+ ?tool_choice: OpenAI::Models::Beta::ResponseCreateParams::tool_choice
45
+ | { type: :programmatic_tool_calling },
45
46
  ?tools: ::Array[OpenAI::Models::Beta::beta_tool],
46
47
  ?top_logprobs: Integer?,
47
48
  ?top_p: Float?,
@@ -78,7 +79,8 @@ module OpenAI
78
79
  ?stream_options: OpenAI::Beta::ResponseCreateParams::StreamOptions?,
79
80
  ?temperature: Float?,
80
81
  ?text: OpenAI::Beta::BetaResponseTextConfig,
81
- ?tool_choice: OpenAI::Models::Beta::ResponseCreateParams::tool_choice,
82
+ ?tool_choice: OpenAI::Models::Beta::ResponseCreateParams::tool_choice
83
+ | { type: :programmatic_tool_calling },
82
84
  ?tools: ::Array[OpenAI::Models::Beta::beta_tool],
83
85
  ?top_logprobs: Integer?,
84
86
  ?top_p: Float?,
@@ -4,7 +4,13 @@ module OpenAI
4
4
  def create: (
5
5
  input: OpenAI::Models::DecisionCreateParams::input,
6
6
  model: String,
7
- questions: ::Array[OpenAI::Models::DecisionCreateParams::question],
7
+ questions: ::Array[OpenAI::Models::DecisionCreateParams::question
8
+ | {
9
+ instructions: String
10
+ | ::Array[OpenAI::Models::decision_question_input_part],
11
+ type: :predicate,
12
+ ?name: String
13
+ }],
8
14
  ?prompt_cache_key: String?,
9
15
  ?prompt_cache_options: (OpenAI::DecisionCreateParams::PromptCacheOptions
10
16
  | OpenAI::Models::DecisionCreateParams::prompt_cache_options)?,
@@ -16,6 +16,7 @@ module OpenAI
16
16
  prompt: String,
17
17
  ?background: OpenAI::Models::ImageEditParams::background?,
18
18
  ?input_fidelity: OpenAI::Models::ImageEditParams::input_fidelity?,
19
+ ?markup: OpenAI::Internal::file_input,
19
20
  ?mask: OpenAI::Internal::file_input,
20
21
  ?model: OpenAI::Models::ImageEditParams::model?,
21
22
  ?n: Integer?,
@@ -35,6 +36,7 @@ module OpenAI
35
36
  prompt: String,
36
37
  ?background: OpenAI::Models::ImageEditParams::background?,
37
38
  ?input_fidelity: OpenAI::Models::ImageEditParams::input_fidelity?,
39
+ ?markup: OpenAI::Internal::file_input,
38
40
  ?mask: OpenAI::Internal::file_input,
39
41
  ?model: OpenAI::Models::ImageEditParams::model?,
40
42
  ?n: Integer?,
@@ -12,7 +12,8 @@ module OpenAI
12
12
  ?previous_response_id: String?,
13
13
  ?reasoning: OpenAI::Reasoning?,
14
14
  ?text: OpenAI::Responses::InputTokenCountParams::Text?,
15
- ?tool_choice: OpenAI::Models::Responses::InputTokenCountParams::tool_choice?,
15
+ ?tool_choice: (OpenAI::Models::Responses::InputTokenCountParams::tool_choice
16
+ | { type: :programmatic_tool_calling })?,
16
17
  ?tools: ::Array[OpenAI::Models::Responses::tool]?,
17
18
  ?truncation: OpenAI::Models::Responses::InputTokenCountParams::truncation,
18
19
  ?request_options: OpenAI::request_opts
@@ -39,7 +39,8 @@ module OpenAI
39
39
  ?stream_options: OpenAI::Responses::ResponseCreateParams::StreamOptions?,
40
40
  ?temperature: Float?,
41
41
  ?text: OpenAI::Responses::ResponseTextConfig,
42
- ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice,
42
+ ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice
43
+ | { type: :programmatic_tool_calling },
43
44
  ?tools: ::Array[OpenAI::Models::Responses::tool],
44
45
  ?top_logprobs: Integer?,
45
46
  ?top_p: Float?,
@@ -74,7 +75,8 @@ module OpenAI
74
75
  ?stream_options: OpenAI::Responses::ResponseCreateParams::StreamOptions?,
75
76
  ?temperature: Float?,
76
77
  ?text: OpenAI::Responses::ResponseTextConfig,
77
- ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice,
78
+ ?tool_choice: OpenAI::Models::Responses::ResponseCreateParams::tool_choice
79
+ | { type: :programmatic_tool_calling },
78
80
  ?tools: ::Array[OpenAI::Models::Responses::tool],
79
81
  ?top_logprobs: Integer?,
80
82
  ?top_p: Float?,
@@ -140,6 +142,7 @@ module OpenAI
140
142
  ?background: bool?,
141
143
  ?context_management: ::Array[OpenAI::Responses::ResponsesClientEvent::ResponseCreate::ContextManagement]?,
142
144
  ?conversation: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::conversation?,
145
+ ?generate: bool,
143
146
  ?include: ::Array[OpenAI::Models::Responses::response_includable]?,
144
147
  ?input: OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::input,
145
148
  ?instructions: String?,
@@ -41,14 +41,14 @@ module OpenAI
41
41
 
42
42
  def edit: (
43
43
  prompt: String,
44
- video: OpenAI::Models::VideoEditParams::video,
44
+ video: OpenAI::Models::VideoEditParams::video | { id: String },
45
45
  ?request_options: OpenAI::request_opts
46
46
  ) -> OpenAI::Video
47
47
 
48
48
  def extend_: (
49
49
  prompt: String,
50
50
  seconds: OpenAI::Models::video_seconds,
51
- video: OpenAI::Models::VideoExtendParams::video,
51
+ video: OpenAI::Models::VideoExtendParams::video | { id: String },
52
52
  ?request_options: OpenAI::request_opts
53
53
  ) -> OpenAI::Video
54
54
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: openai
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.114.0
4
+ version: 0.115.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - OpenAI
@@ -16,6 +16,15 @@ dependencies:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
18
  version: 2.2.3
19
+ - - "!="
20
+ - !ruby/object:Gem::Version
21
+ version: 3.0.0
22
+ - - "!="
23
+ - !ruby/object:Gem::Version
24
+ version: 3.0.1
25
+ - - "!="
26
+ - !ruby/object:Gem::Version
27
+ version: 3.0.2
19
28
  type: :runtime
20
29
  prerelease: false
21
30
  version_requirements: !ruby/object:Gem::Requirement
@@ -23,6 +32,15 @@ dependencies:
23
32
  - - ">="
24
33
  - !ruby/object:Gem::Version
25
34
  version: 2.2.3
35
+ - - "!="
36
+ - !ruby/object:Gem::Version
37
+ version: 3.0.0
38
+ - - "!="
39
+ - !ruby/object:Gem::Version
40
+ version: 3.0.1
41
+ - - "!="
42
+ - !ruby/object:Gem::Version
43
+ version: 3.0.2
26
44
  - !ruby/object:Gem::Dependency
27
45
  name: logger
28
46
  requirement: !ruby/object:Gem::Requirement
@@ -235,6 +253,13 @@ files:
235
253
  - lib/openai/models/admin/organization/cost_quantity_unit.rb
236
254
  - lib/openai/models/admin/organization/data_retention_retrieve_params.rb
237
255
  - lib/openai/models/admin/organization/data_retention_update_params.rb
256
+ - lib/openai/models/admin/organization/external_key.rb
257
+ - lib/openai/models/admin/organization/external_key_create_params.rb
258
+ - lib/openai/models/admin/organization/external_key_delete_params.rb
259
+ - lib/openai/models/admin/organization/external_key_list_params.rb
260
+ - lib/openai/models/admin/organization/external_key_retrieve_params.rb
261
+ - lib/openai/models/admin/organization/external_key_validate_params.rb
262
+ - lib/openai/models/admin/organization/external_key_validate_response.rb
238
263
  - lib/openai/models/admin/organization/external_storage_configuration.rb
239
264
  - lib/openai/models/admin/organization/external_storage_create_params.rb
240
265
  - lib/openai/models/admin/organization/external_storage_delete_params.rb
@@ -1675,6 +1700,7 @@ files:
1675
1700
  - lib/openai/resources/admin/organization/audit_logs.rb
1676
1701
  - lib/openai/resources/admin/organization/certificates.rb
1677
1702
  - lib/openai/resources/admin/organization/data_retention.rb
1703
+ - lib/openai/resources/admin/organization/external_keys.rb
1678
1704
  - lib/openai/resources/admin/organization/external_storage.rb
1679
1705
  - lib/openai/resources/admin/organization/groups.rb
1680
1706
  - lib/openai/resources/admin/organization/groups/roles.rb
@@ -1919,6 +1945,13 @@ files:
1919
1945
  - rbi/openai/models/admin/organization/cost_quantity_unit.rbi
1920
1946
  - rbi/openai/models/admin/organization/data_retention_retrieve_params.rbi
1921
1947
  - rbi/openai/models/admin/organization/data_retention_update_params.rbi
1948
+ - rbi/openai/models/admin/organization/external_key.rbi
1949
+ - rbi/openai/models/admin/organization/external_key_create_params.rbi
1950
+ - rbi/openai/models/admin/organization/external_key_delete_params.rbi
1951
+ - rbi/openai/models/admin/organization/external_key_list_params.rbi
1952
+ - rbi/openai/models/admin/organization/external_key_retrieve_params.rbi
1953
+ - rbi/openai/models/admin/organization/external_key_validate_params.rbi
1954
+ - rbi/openai/models/admin/organization/external_key_validate_response.rbi
1922
1955
  - rbi/openai/models/admin/organization/external_storage_configuration.rbi
1923
1956
  - rbi/openai/models/admin/organization/external_storage_create_params.rbi
1924
1957
  - rbi/openai/models/admin/organization/external_storage_delete_params.rbi
@@ -3356,6 +3389,7 @@ files:
3356
3389
  - rbi/openai/resources/admin/organization/audit_logs.rbi
3357
3390
  - rbi/openai/resources/admin/organization/certificates.rbi
3358
3391
  - rbi/openai/resources/admin/organization/data_retention.rbi
3392
+ - rbi/openai/resources/admin/organization/external_keys.rbi
3359
3393
  - rbi/openai/resources/admin/organization/external_storage.rbi
3360
3394
  - rbi/openai/resources/admin/organization/groups.rbi
3361
3395
  - rbi/openai/resources/admin/organization/groups/roles.rbi
@@ -3590,6 +3624,13 @@ files:
3590
3624
  - sig/openai/models/admin/organization/cost_quantity_unit.rbs
3591
3625
  - sig/openai/models/admin/organization/data_retention_retrieve_params.rbs
3592
3626
  - sig/openai/models/admin/organization/data_retention_update_params.rbs
3627
+ - sig/openai/models/admin/organization/external_key.rbs
3628
+ - sig/openai/models/admin/organization/external_key_create_params.rbs
3629
+ - sig/openai/models/admin/organization/external_key_delete_params.rbs
3630
+ - sig/openai/models/admin/organization/external_key_list_params.rbs
3631
+ - sig/openai/models/admin/organization/external_key_retrieve_params.rbs
3632
+ - sig/openai/models/admin/organization/external_key_validate_params.rbs
3633
+ - sig/openai/models/admin/organization/external_key_validate_response.rbs
3593
3634
  - sig/openai/models/admin/organization/external_storage_configuration.rbs
3594
3635
  - sig/openai/models/admin/organization/external_storage_create_params.rbs
3595
3636
  - sig/openai/models/admin/organization/external_storage_delete_params.rbs
@@ -5027,6 +5068,7 @@ files:
5027
5068
  - sig/openai/resources/admin/organization/audit_logs.rbs
5028
5069
  - sig/openai/resources/admin/organization/certificates.rbs
5029
5070
  - sig/openai/resources/admin/organization/data_retention.rbs
5071
+ - sig/openai/resources/admin/organization/external_keys.rbs
5030
5072
  - sig/openai/resources/admin/organization/external_storage.rbs
5031
5073
  - sig/openai/resources/admin/organization/groups.rbs
5032
5074
  - sig/openai/resources/admin/organization/groups/roles.rbs