openai 0.94.0 → 0.96.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 (170) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +57 -0
  3. data/README.md +5 -2
  4. data/docs/architecture/security-model.md +2 -2
  5. data/examples/audio/record_and_play.rb +1 -1
  6. data/lib/openai/helpers/live/transcript_grouper.rb +264 -0
  7. data/lib/openai/helpers/live/transcript_grouping.rb +309 -0
  8. data/lib/openai/helpers/live/websocket.rb +454 -0
  9. data/lib/openai/helpers/realtime/translation.rb +440 -0
  10. data/lib/openai/helpers/realtime.rb +1 -0
  11. data/lib/openai/helpers/responses_websocket/incremental.rb +246 -0
  12. data/lib/openai/helpers/responses_websocket/transports/async_websocket.rb +183 -0
  13. data/lib/openai/helpers/responses_websocket.rb +1 -0
  14. data/lib/openai/helpers/streaming/response_stream.rb +19 -11
  15. data/lib/openai/helpers/structured_output/chat_completion_parser.rb +0 -2
  16. data/lib/openai/helpers/structured_output/response_parser.rb +1 -2
  17. data/lib/openai/helpers/structured_output/union_of.rb +0 -2
  18. data/lib/openai/helpers/websocket/async_websocket_transport.rb +11 -6
  19. data/lib/openai/helpers/websocket/connection_manager.rb +9 -0
  20. data/lib/openai/internal/read_io_adapter.rb +0 -2
  21. data/lib/openai/internal/stream.rb +0 -2
  22. data/lib/openai/internal/type/base_model.rb +4 -6
  23. data/lib/openai/internal/type/converter.rb +5 -3
  24. data/lib/openai/internal/type/enum.rb +0 -2
  25. data/lib/openai/internal/type/union.rb +0 -6
  26. data/lib/openai/internal/type/unknown.rb +34 -6
  27. data/lib/openai/internal/util.rb +0 -4
  28. data/lib/openai/models/admin/organization/audit_log_list_response.rb +5 -3
  29. data/lib/openai/models/admin/organization/external_storage_configuration.rb +5 -3
  30. data/lib/openai/models/admin/organization/external_storage_create_params.rb +39 -3
  31. data/lib/openai/models/admin/organization/gcp_external_storage_provider.rb +55 -0
  32. data/lib/openai/models/all_models.rb +1 -0
  33. data/lib/openai/models/audio/speech_create_params.rb +9 -0
  34. data/lib/openai/models/audio/transcription_create_response.rb +4 -1
  35. data/lib/openai/models/audio/translation_create_response.rb +4 -1
  36. data/lib/openai/models/beta/agent.rb +1 -0
  37. data/lib/openai/models/beta/agent_create_params.rb +3 -0
  38. data/lib/openai/models/beta/agent_session.rb +1 -0
  39. data/lib/openai/models/beta/agent_update_params.rb +3 -0
  40. data/lib/openai/models/beta/agents/environments/template_create_params.rb +3 -3
  41. data/lib/openai/models/beta/agents/environments/template_update_params.rb +6 -6
  42. data/lib/openai/models/beta/agents/session_create_params.rb +3 -0
  43. data/lib/openai/models/beta/agents/session_update_params.rb +3 -0
  44. data/lib/openai/models/beta/agents/vaults/credential.rb +10 -1
  45. data/lib/openai/models/beta/agents/vaults/credential_create_params.rb +12 -1
  46. data/lib/openai/models/beta/agents/vaults/credential_update_params.rb +14 -3
  47. data/lib/openai/models/beta/beta_response.rb +41 -1
  48. data/lib/openai/models/beta/beta_responses_client_event.rb +80 -1
  49. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +9 -3
  50. data/lib/openai/models/beta/beta_web_search_tool.rb +9 -3
  51. data/lib/openai/models/beta/environment_param.rb +6 -5
  52. data/lib/openai/models/beta/response_compact_params.rb +6 -0
  53. data/lib/openai/models/beta/response_create_params.rb +71 -1
  54. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  55. data/lib/openai/models/chat_model.rb +1 -0
  56. data/lib/openai/models/responses/response.rb +35 -1
  57. data/lib/openai/models/responses/response_compact_params.rb +6 -0
  58. data/lib/openai/models/responses/response_create_params.rb +65 -1
  59. data/lib/openai/models/responses/responses_client_event.rb +70 -1
  60. data/lib/openai/models/responses/web_search_preview_tool.rb +9 -3
  61. data/lib/openai/models/responses/web_search_tool.rb +9 -3
  62. data/lib/openai/models/responses_model.rb +1 -0
  63. data/lib/openai/models/video_create_error.rb +12 -1
  64. data/lib/openai/net_http_client.rb +0 -2
  65. data/lib/openai/resources/admin/organization/external_storage.rb +1 -1
  66. data/lib/openai/resources/audio/transcriptions.rb +5 -3
  67. data/lib/openai/resources/audio/translations.rb +1 -1
  68. data/lib/openai/resources/beta/agents/environments/templates.rb +3 -3
  69. data/lib/openai/resources/beta/agents/vaults/credentials.rb +12 -4
  70. data/lib/openai/resources/beta/responses.rb +8 -2
  71. data/lib/openai/resources/responses.rb +8 -1
  72. data/lib/openai/version.rb +1 -1
  73. data/lib/openai.rb +2 -0
  74. data/rbi/openai/helpers/live/transcript_grouper.rbi +67 -0
  75. data/rbi/openai/helpers/live/websocket.rbi +299 -0
  76. data/rbi/openai/helpers/realtime/translation.rbi +137 -0
  77. data/rbi/openai/helpers/responses_websocket/incremental.rbi +32 -0
  78. data/rbi/openai/helpers/responses_websocket/transports/async_websocket.rbi +24 -0
  79. data/rbi/openai/helpers/streaming/response_stream.rbi +5 -0
  80. data/rbi/openai/internal/type/converter.rbi +3 -2
  81. data/rbi/openai/models/admin/organization/audit_log_list_response.rbi +6 -3
  82. data/rbi/openai/models/admin/organization/external_storage_configuration.rbi +4 -2
  83. data/rbi/openai/models/admin/organization/external_storage_create_params.rbi +76 -4
  84. data/rbi/openai/models/admin/organization/gcp_external_storage_provider.rbi +100 -0
  85. data/rbi/openai/models/all_models.rbi +1 -0
  86. data/rbi/openai/models/audio/speech_create_params.rbi +3 -0
  87. data/rbi/openai/models/audio/transcription_create_response.rbi +2 -1
  88. data/rbi/openai/models/audio/translation_create_response.rbi +2 -1
  89. data/rbi/openai/models/beta/agent.rbi +1 -0
  90. data/rbi/openai/models/beta/agent_create_params.rbi +3 -0
  91. data/rbi/openai/models/beta/agent_session.rbi +1 -0
  92. data/rbi/openai/models/beta/agent_update_params.rbi +3 -0
  93. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +3 -3
  94. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +6 -6
  95. data/rbi/openai/models/beta/agents/session_create_params.rbi +3 -0
  96. data/rbi/openai/models/beta/agents/session_update_params.rbi +3 -0
  97. data/rbi/openai/models/beta/agents/vaults/credential.rbi +10 -0
  98. data/rbi/openai/models/beta/agents/vaults/credential_create_params.rbi +15 -0
  99. data/rbi/openai/models/beta/agents/vaults/credential_update_params.rbi +35 -6
  100. data/rbi/openai/models/beta/beta_response.rbi +65 -0
  101. data/rbi/openai/models/beta/beta_responses_client_event.rbi +132 -0
  102. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +9 -3
  103. data/rbi/openai/models/beta/beta_web_search_tool.rbi +9 -3
  104. data/rbi/openai/models/beta/environment_param.rbi +5 -4
  105. data/rbi/openai/models/beta/response_compact_params.rbi +5 -0
  106. data/rbi/openai/models/beta/response_create_params.rbi +104 -0
  107. data/rbi/openai/models/beta/session_turn_error.rbi +6 -0
  108. data/rbi/openai/models/chat_model.rbi +1 -0
  109. data/rbi/openai/models/responses/response.rbi +63 -0
  110. data/rbi/openai/models/responses/response_compact_params.rbi +5 -0
  111. data/rbi/openai/models/responses/response_create_params.rbi +106 -0
  112. data/rbi/openai/models/responses/responses_client_event.rbi +125 -0
  113. data/rbi/openai/models/responses/web_search_preview_tool.rbi +9 -3
  114. data/rbi/openai/models/responses/web_search_tool.rbi +9 -3
  115. data/rbi/openai/models/responses_model.rbi +4 -0
  116. data/rbi/openai/models/video_create_error.rbi +20 -1
  117. data/rbi/openai/resources/admin/organization/external_storage.rbi +2 -1
  118. data/rbi/openai/resources/audio/transcriptions.rbi +4 -2
  119. data/rbi/openai/resources/beta/agents/environments/templates.rbi +3 -3
  120. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +11 -3
  121. data/rbi/openai/resources/beta/responses.rbi +6 -0
  122. data/rbi/openai/resources/responses.rbi +11 -0
  123. data/responses-websocket.md +55 -0
  124. data/sig/openai/helpers/live/transcript_grouper.rbs +42 -0
  125. data/sig/openai/helpers/live/websocket.rbs +152 -0
  126. data/sig/openai/helpers/realtime/translation.rbs +81 -0
  127. data/sig/openai/helpers/responses_websocket/incremental.rbs +14 -0
  128. data/sig/openai/helpers/responses_websocket/transports/async_websocket.rbs +21 -0
  129. data/sig/openai/helpers/streaming/response_stream.rbs +9 -0
  130. data/sig/openai/internal/type/converter.rbs +3 -1
  131. data/sig/openai/models/admin/organization/audit_log_list_response.rbs +1 -0
  132. data/sig/openai/models/admin/organization/external_storage_configuration.rbs +1 -0
  133. data/sig/openai/models/admin/organization/external_storage_create_params.rbs +38 -0
  134. data/sig/openai/models/admin/organization/gcp_external_storage_provider.rbs +54 -0
  135. data/sig/openai/models/all_models.rbs +2 -0
  136. data/sig/openai/models/audio/speech_create_params.rbs +6 -0
  137. data/sig/openai/models/audio/transcription_create_response.rbs +1 -0
  138. data/sig/openai/models/audio/translation_create_response.rbs +3 -1
  139. data/sig/openai/models/beta/agent.rbs +3 -1
  140. data/sig/openai/models/beta/agent_create_params.rbs +5 -1
  141. data/sig/openai/models/beta/agent_session.rbs +3 -1
  142. data/sig/openai/models/beta/agent_update_params.rbs +5 -1
  143. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +2 -2
  144. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +4 -4
  145. data/sig/openai/models/beta/agents/session_create_params.rbs +5 -1
  146. data/sig/openai/models/beta/agents/session_update_params.rbs +5 -1
  147. data/sig/openai/models/beta/agents/vaults/credential.rbs +8 -0
  148. data/sig/openai/models/beta/agents/vaults/credential_create_params.rbs +14 -0
  149. data/sig/openai/models/beta/agents/vaults/credential_update_params.rbs +23 -4
  150. data/sig/openai/models/beta/beta_response.rbs +39 -0
  151. data/sig/openai/models/beta/beta_responses_client_event.rbs +81 -0
  152. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +6 -2
  153. data/sig/openai/models/beta/beta_web_search_tool.rbs +6 -2
  154. data/sig/openai/models/beta/environment_param.rbs +2 -2
  155. data/sig/openai/models/beta/response_compact_params.rbs +4 -0
  156. data/sig/openai/models/beta/response_create_params.rbs +81 -0
  157. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  158. data/sig/openai/models/chat_model.rbs +2 -0
  159. data/sig/openai/models/responses/response.rbs +35 -0
  160. data/sig/openai/models/responses/response_compact_params.rbs +4 -0
  161. data/sig/openai/models/responses/response_create_params.rbs +77 -0
  162. data/sig/openai/models/responses/responses_client_event.rbs +77 -0
  163. data/sig/openai/models/responses/web_search_preview_tool.rbs +6 -2
  164. data/sig/openai/models/responses/web_search_tool.rbs +6 -2
  165. data/sig/openai/models/responses_model.rbs +2 -0
  166. data/sig/openai/models/video_create_error.rbs +14 -0
  167. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +3 -1
  168. data/sig/openai/resources/beta/responses.rbs +2 -0
  169. data/sig/openai/resources/responses.rbs +4 -0
  170. metadata +17 -1
@@ -32,6 +32,7 @@ module OpenAI
32
32
  type provider =
33
33
  OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Aws
34
34
  | OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Azure
35
+ | OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp
35
36
 
36
37
  module Provider
37
38
  extend OpenAI::Internal::Type::Union
@@ -96,6 +97,43 @@ module OpenAI
96
97
  }
97
98
  end
98
99
 
100
+ type gcp =
101
+ {
102
+ bucket: String,
103
+ ?type: :gcp,
104
+ workload_identity_pool_id: String,
105
+ workload_identity_project_number: String,
106
+ workload_identity_provider_id: String
107
+ }
108
+
109
+ class Gcp < OpenAI::Internal::Type::BaseModel
110
+ attr_accessor bucket: String
111
+
112
+ attr_accessor type: :gcp
113
+
114
+ attr_accessor workload_identity_pool_id: String
115
+
116
+ attr_accessor workload_identity_project_number: String
117
+
118
+ attr_accessor workload_identity_provider_id: String
119
+
120
+ def initialize: (
121
+ bucket: String,
122
+ workload_identity_pool_id: String,
123
+ workload_identity_project_number: String,
124
+ workload_identity_provider_id: String,
125
+ ?type: :gcp
126
+ ) -> void
127
+
128
+ def to_hash: -> {
129
+ bucket: String,
130
+ ?type: :gcp,
131
+ workload_identity_pool_id: String,
132
+ workload_identity_project_number: String,
133
+ workload_identity_provider_id: String
134
+ }
135
+ end
136
+
99
137
  def self?.variants: -> ::Array[OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::provider]
100
138
  end
101
139
  end
@@ -0,0 +1,54 @@
1
+ module OpenAI
2
+ module Models
3
+ module Admin
4
+ module Organization
5
+ type gcp_external_storage_provider =
6
+ {
7
+ audience: String,
8
+ bucket: String,
9
+ region: String,
10
+ ?type: :gcp,
11
+ workload_identity_pool_id: String,
12
+ workload_identity_project_number: String,
13
+ workload_identity_provider_id: String
14
+ }
15
+
16
+ class GcpExternalStorageProvider < OpenAI::Internal::Type::BaseModel
17
+ attr_accessor audience: String
18
+
19
+ attr_accessor bucket: String
20
+
21
+ attr_accessor region: String
22
+
23
+ attr_accessor type: :gcp
24
+
25
+ attr_accessor workload_identity_pool_id: String
26
+
27
+ attr_accessor workload_identity_project_number: String
28
+
29
+ attr_accessor workload_identity_provider_id: String
30
+
31
+ def initialize: (
32
+ audience: String,
33
+ bucket: String,
34
+ region: String,
35
+ workload_identity_pool_id: String,
36
+ workload_identity_project_number: String,
37
+ workload_identity_provider_id: String,
38
+ ?type: :gcp
39
+ ) -> void
40
+
41
+ def to_hash: -> {
42
+ audience: String,
43
+ bucket: String,
44
+ region: String,
45
+ ?type: :gcp,
46
+ workload_identity_pool_id: String,
47
+ workload_identity_project_number: String,
48
+ workload_identity_provider_id: String
49
+ }
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
@@ -28,6 +28,7 @@ module OpenAI
28
28
  | :"gpt-daybreak-blue-latest"
29
29
  | :"gpt-daybreak-red-latest"
30
30
  | :"gpt-5.6-cyber"
31
+ | :"gpt-rosalind-research"
31
32
 
32
33
  module ResponsesOnlyModel
33
34
  extend OpenAI::Internal::Type::Enum
@@ -51,6 +52,7 @@ module OpenAI
51
52
  GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
52
53
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
53
54
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
55
+ GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
54
56
 
55
57
  def self?.values: -> ::Array[OpenAI::Models::AllModels::responses_only_model]
56
58
  end
@@ -136,6 +136,9 @@ module OpenAI
136
136
  | :verse
137
137
  | :marin
138
138
  | :cedar
139
+ | :fable
140
+ | :onyx
141
+ | :nova
139
142
  | OpenAI::Audio::SpeechCreateParams::Voice::ID
140
143
 
141
144
  module Voice
@@ -166,6 +169,9 @@ module OpenAI
166
169
  VERSE: :verse
167
170
  MARIN: :marin
168
171
  CEDAR: :cedar
172
+ FABLE: :fable
173
+ ONYX: :onyx
174
+ NOVA: :nova
169
175
  end
170
176
 
171
177
  type response_format = :mp3 | :opus | :aac | :flac | :wav | :pcm
@@ -5,6 +5,7 @@ module OpenAI
5
5
  OpenAI::Audio::Transcription
6
6
  | OpenAI::Audio::TranscriptionDiarized
7
7
  | OpenAI::Audio::TranscriptionVerbose
8
+ | StringIO
8
9
 
9
10
  module TranscriptionCreateResponse
10
11
  extend OpenAI::Internal::Type::Union
@@ -2,7 +2,9 @@ module OpenAI
2
2
  module Models
3
3
  module Audio
4
4
  type translation_create_response =
5
- OpenAI::Audio::Translation | OpenAI::Audio::TranslationVerbose
5
+ OpenAI::Audio::Translation
6
+ | OpenAI::Audio::TranslationVerbose
7
+ | StringIO
6
8
 
7
9
  module TranslationCreateResponse
8
10
  extend OpenAI::Internal::Type::Union
@@ -118,7 +118,8 @@ module OpenAI
118
118
  updated_at: Integer
119
119
  }
120
120
 
121
- type service_tier = :auto | :default | :flex | :priority | :fast
121
+ type service_tier =
122
+ :auto | :default | :flex | :priority | :fast | :ultrafast
122
123
 
123
124
  module ServiceTier
124
125
  extend OpenAI::Internal::Type::Enum
@@ -128,6 +129,7 @@ module OpenAI
128
129
  FLEX: :flex
129
130
  PRIORITY: :priority
130
131
  FAST: :fast
132
+ ULTRAFAST: :ultrafast
131
133
 
132
134
  def self?.values: -> ::Array[OpenAI::Models::Beta::Agent::service_tier]
133
135
  end
@@ -98,7 +98,8 @@ module OpenAI
98
98
  ?request_options: OpenAI::RequestOptions
99
99
  }
100
100
 
101
- type service_tier = :auto | :default | :flex | :priority | :fast
101
+ type service_tier =
102
+ :auto | :default | :flex | :priority | :fast | :ultrafast
102
103
 
103
104
  module ServiceTier
104
105
  extend OpenAI::Internal::Type::Enum
@@ -118,6 +119,9 @@ module OpenAI
118
119
  # Uses the fast service tier.
119
120
  FAST: :fast
120
121
 
122
+ # Uses the ultrafast service tier.
123
+ ULTRAFAST: :ultrafast
124
+
121
125
  def self?.values: -> ::Array[OpenAI::Models::Beta::AgentCreateParams::service_tier]
122
126
  end
123
127
  end
@@ -195,7 +195,8 @@ module OpenAI
195
195
  tools: ::Array[OpenAI::Models::Beta::agent_tool]
196
196
  }
197
197
 
198
- type service_tier = :auto | :default | :flex | :priority | :fast
198
+ type service_tier =
199
+ :auto | :default | :flex | :priority | :fast | :ultrafast
199
200
 
200
201
  module ServiceTier
201
202
  extend OpenAI::Internal::Type::Enum
@@ -205,6 +206,7 @@ module OpenAI
205
206
  FLEX: :flex
206
207
  PRIORITY: :priority
207
208
  FAST: :fast
209
+ ULTRAFAST: :ultrafast
208
210
 
209
211
  def self?.values: -> ::Array[OpenAI::Models::Beta::AgentSession::Agent::service_tier]
210
212
  end
@@ -106,7 +106,8 @@ module OpenAI
106
106
  ?request_options: OpenAI::RequestOptions
107
107
  }
108
108
 
109
- type service_tier = :auto | :default | :flex | :priority | :fast
109
+ type service_tier =
110
+ :auto | :default | :flex | :priority | :fast | :ultrafast
110
111
 
111
112
  module ServiceTier
112
113
  extend OpenAI::Internal::Type::Enum
@@ -126,6 +127,9 @@ module OpenAI
126
127
  # Uses the fast service tier.
127
128
  FAST: :fast
128
129
 
130
+ # Uses the ultrafast service tier.
131
+ ULTRAFAST: :ultrafast
132
+
129
133
  def self?.values: -> ::Array[OpenAI::Models::Beta::AgentUpdateParams::service_tier]
130
134
  end
131
135
  end
@@ -35,7 +35,7 @@ module OpenAI
35
35
  attr_accessor name: String?
36
36
 
37
37
  # Network access policy for the environment. Defaults to disabled for GA requests
38
- # and enabled for alpha/beta requests.
38
+ # and enabled for beta requests.
39
39
  attr_accessor network: OpenAI::Beta::Agents::Environments::TemplateCreateParams::Network?
40
40
 
41
41
  # Packages to install in the environment. Defaults to empty package lists.
@@ -62,7 +62,7 @@ module OpenAI
62
62
  # An optional human-readable display name for the template.
63
63
  # @param network
64
64
  # Network access policy for the environment. Defaults to disabled for GA requests
65
- # and enabled for alpha/beta requests.
65
+ # and enabled for beta requests.
66
66
  # @param packages
67
67
  # Packages to install in the environment. Defaults to empty package lists.
68
68
  # @param plugins
@@ -37,8 +37,8 @@ module OpenAI
37
37
  attr_accessor name: String?
38
38
 
39
39
  # Network access available after setup completes. Omit to preserve the current
40
- # policy, or pass `null` to reset to disabled for GA requests or enabled for
41
- # alpha/beta requests.
40
+ # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
41
+ # requests.
42
42
  attr_accessor network: OpenAI::Beta::Agents::Environments::TemplateUpdateParams::Network?
43
43
 
44
44
  # Packages installed before the runtime network policy applies.
@@ -63,8 +63,8 @@ module OpenAI
63
63
  # A replacement human-readable display name, or `null` to clear the name.
64
64
  # @param network
65
65
  # Network access available after setup completes. Omit to preserve the current
66
- # policy, or pass `null` to reset to disabled for GA requests or enabled for
67
- # alpha/beta requests.
66
+ # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
67
+ # requests.
68
68
  # @param packages
69
69
  # Packages installed before the runtime network policy applies.
70
70
  # @param plugins
@@ -163,7 +163,8 @@ module OpenAI
163
163
  ?tools: ::Array[OpenAI::Models::Beta::agent_tool_param]?
164
164
  }
165
165
 
166
- type service_tier = :auto | :default | :flex | :priority | :fast
166
+ type service_tier =
167
+ :auto | :default | :flex | :priority | :fast | :ultrafast
167
168
 
168
169
  module ServiceTier
169
170
  extend OpenAI::Internal::Type::Enum
@@ -183,6 +184,9 @@ module OpenAI
183
184
  # Uses the fast service tier.
184
185
  FAST: :fast
185
186
 
187
+ # Uses the ultrafast service tier.
188
+ ULTRAFAST: :ultrafast
189
+
186
190
  def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::SessionCreateParams::Agent::service_tier]
187
191
  end
188
192
  end
@@ -129,7 +129,8 @@ module OpenAI
129
129
  end
130
130
  end
131
131
 
132
- type service_tier = :auto | :default | :flex | :priority | :fast
132
+ type service_tier =
133
+ :auto | :default | :flex | :priority | :fast | :ultrafast
133
134
 
134
135
  module ServiceTier
135
136
  extend OpenAI::Internal::Type::Enum
@@ -149,6 +150,9 @@ module OpenAI
149
150
  # Uses the fast service tier.
150
151
  FAST: :fast
151
152
 
153
+ # Uses the ultrafast service tier.
154
+ ULTRAFAST: :ultrafast
155
+
152
156
  def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::SessionUpdateParams::Agent::service_tier]
153
157
  end
154
158
  end
@@ -8,6 +8,7 @@ module OpenAI
8
8
  id: String,
9
9
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth,
10
10
  created_at: Integer,
11
+ metadata: ::Hash[Symbol, String],
11
12
  name: String,
12
13
  ?object: :"vault.credential",
13
14
  updated_at: Integer,
@@ -24,6 +25,9 @@ module OpenAI
24
25
  # The Unix timestamp, in seconds, when the credential was created.
25
26
  attr_accessor created_at: Integer
26
27
 
28
+ # Application-defined key-value pairs associated with this credential.
29
+ attr_accessor metadata: ::Hash[Symbol, String]
30
+
27
31
  # The human-readable name of the credential.
28
32
  attr_accessor name: String
29
33
 
@@ -42,6 +46,8 @@ module OpenAI
42
46
  # The authentication method and non-secret configuration of the credential.
43
47
  # @param created_at
44
48
  # The Unix timestamp, in seconds, when the credential was created.
49
+ # @param metadata
50
+ # Application-defined key-value pairs associated with this credential.
45
51
  # @param name
46
52
  # The human-readable name of the credential.
47
53
  # @param updated_at
@@ -54,6 +60,7 @@ module OpenAI
54
60
  id: String,
55
61
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth,
56
62
  created_at: Integer,
63
+ metadata: ::Hash[Symbol, String],
57
64
  name: String,
58
65
  updated_at: Integer,
59
66
  vault_id: String,
@@ -64,6 +71,7 @@ module OpenAI
64
71
  id: String,
65
72
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth,
66
73
  created_at: Integer,
74
+ metadata: ::Hash[Symbol, String],
67
75
  name: String,
68
76
  ?object: :"vault.credential",
69
77
  updated_at: Integer,
@@ -8,6 +8,7 @@ module OpenAI
8
8
  vault_id: String,
9
9
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_create_param,
10
10
  name: String,
11
+ ?metadata: ::Hash[Symbol, String],
11
12
  ?request_options: OpenAI::request_opts
12
13
  }
13
14
 
@@ -24,15 +25,27 @@ module OpenAI
24
25
  # trimming.
25
26
  attr_accessor name: String
26
27
 
28
+ # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
29
+ # characters. Defaults to an empty map.
30
+ attr_reader metadata: ::Hash[Symbol, String]?
31
+
32
+ # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
33
+ # characters. Defaults to an empty map.
34
+ def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
35
+
27
36
  # @param auth
28
37
  # The authentication method and write-only secret values to store.
29
38
  # @param name
30
39
  # The name is trimmed before storage. It must contain 1 to 256 UTF-8 bytes after
31
40
  # trimming.
41
+ # @param metadata
42
+ # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
43
+ # characters. Defaults to an empty map.
32
44
  def initialize: (
33
45
  vault_id: String,
34
46
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_create_param,
35
47
  name: String,
48
+ ?metadata: ::Hash[Symbol, String],
36
49
  ?request_options: OpenAI::request_opts
37
50
  ) -> void
38
51
 
@@ -40,6 +53,7 @@ module OpenAI
40
53
  vault_id: String,
41
54
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_create_param,
42
55
  name: String,
56
+ ?metadata: ::Hash[Symbol, String],
43
57
  ?request_options: OpenAI::RequestOptions
44
58
  }
45
59
  end
@@ -7,7 +7,8 @@ module OpenAI
7
7
  {
8
8
  vault_id: String,
9
9
  credential_id: String,
10
- auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param,
10
+ ?auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param,
11
+ ?metadata: ::Hash[Symbol, String],
11
12
  ?request_options: OpenAI::request_opts
12
13
  }
13
14
 
@@ -20,21 +21,39 @@ module OpenAI
20
21
  attr_accessor credential_id: String
21
22
 
22
23
  # Replacement values for the credential's existing authentication method.
23
- attr_accessor auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param
24
+ attr_reader auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param?
25
+
26
+ # Replacement values for the credential's existing authentication method.
27
+ def auth=: (
28
+ OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param
29
+ ) -> OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param
30
+
31
+ # Replaces all metadata. Omit to preserve it, or pass {} to clear it. Up to 16
32
+ # string key-value pairs, with keys up to 64 and values up to 512 characters.
33
+ attr_reader metadata: ::Hash[Symbol, String]?
34
+
35
+ # Replaces all metadata. Omit to preserve it, or pass {} to clear it. Up to 16
36
+ # string key-value pairs, with keys up to 64 and values up to 512 characters.
37
+ def metadata=: (::Hash[Symbol, String]) -> ::Hash[Symbol, String]
24
38
 
25
39
  # @param auth
26
40
  # Replacement values for the credential's existing authentication method.
41
+ # @param metadata
42
+ # Replaces all metadata. Omit to preserve it, or pass {} to clear it. Up to 16
43
+ # string key-value pairs, with keys up to 64 and values up to 512 characters.
27
44
  def initialize: (
28
45
  vault_id: String,
29
46
  credential_id: String,
30
- auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param,
47
+ ?auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param,
48
+ ?metadata: ::Hash[Symbol, String],
31
49
  ?request_options: OpenAI::request_opts
32
50
  ) -> void
33
51
 
34
52
  def to_hash: -> {
35
53
  vault_id: String,
36
54
  credential_id: String,
37
- auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param,
55
+ ?auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth_rotate_param,
56
+ ?metadata: ::Hash[Symbol, String],
38
57
  ?request_options: OpenAI::RequestOptions
39
58
  }
40
59
  end
@@ -6,6 +6,7 @@ module OpenAI
6
6
  type beta_response =
7
7
  {
8
8
  id: String,
9
+ access_programs: OpenAI::Beta::BetaResponse::AccessPrograms?,
9
10
  created_at: Float,
10
11
  error: OpenAI::Beta::BetaResponseError?,
11
12
  incomplete_details: OpenAI::Beta::BetaResponse::IncompleteDetails?,
@@ -46,6 +47,8 @@ module OpenAI
46
47
  # Unique identifier for this Response.
47
48
  attr_accessor id: String
48
49
 
50
+ attr_accessor access_programs: OpenAI::Beta::BetaResponse::AccessPrograms?
51
+
49
52
  # Unix timestamp (in seconds) of when this Response was created.
50
53
  attr_accessor created_at: Float
51
54
 
@@ -515,6 +518,7 @@ module OpenAI
515
518
  # The object type of this resource - always set to `response`.
516
519
  def initialize: (
517
520
  id: String,
521
+ access_programs: OpenAI::Beta::BetaResponse::AccessPrograms?,
518
522
  created_at: Float,
519
523
  error: OpenAI::Beta::BetaResponseError?,
520
524
  incomplete_details: OpenAI::Beta::BetaResponse::IncompleteDetails?,
@@ -553,6 +557,7 @@ module OpenAI
553
557
 
554
558
  def to_hash: -> {
555
559
  id: String,
560
+ access_programs: OpenAI::Beta::BetaResponse::AccessPrograms?,
556
561
  created_at: Float,
557
562
  error: OpenAI::Beta::BetaResponseError?,
558
563
  incomplete_details: OpenAI::Beta::BetaResponse::IncompleteDetails?,
@@ -589,6 +594,36 @@ module OpenAI
589
594
  ?user: String
590
595
  }
591
596
 
597
+ type access_programs =
598
+ { cyber: OpenAI::Models::Beta::BetaResponse::AccessPrograms::cyber }
599
+
600
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
601
+ # The effective Cyber access program used for this response.
602
+ attr_accessor cyber: OpenAI::Models::Beta::BetaResponse::AccessPrograms::cyber
603
+
604
+ # @param cyber
605
+ # The effective Cyber access program used for this response.
606
+ def initialize: (
607
+ cyber: OpenAI::Models::Beta::BetaResponse::AccessPrograms::cyber
608
+ ) -> void
609
+
610
+ def to_hash: -> {
611
+ cyber: OpenAI::Models::Beta::BetaResponse::AccessPrograms::cyber
612
+ }
613
+
614
+ type cyber = :standard | :daybreak_blue | :daybreak_red
615
+
616
+ module Cyber
617
+ extend OpenAI::Internal::Type::Enum
618
+
619
+ STANDARD: :standard
620
+ DAYBREAK_BLUE: :daybreak_blue
621
+ DAYBREAK_RED: :daybreak_red
622
+
623
+ def self?.values: -> ::Array[OpenAI::Models::Beta::BetaResponse::AccessPrograms::cyber]
624
+ end
625
+ end
626
+
592
627
  type incomplete_details =
593
628
  {
594
629
  ?reason: OpenAI::Models::Beta::BetaResponse::IncompleteDetails::reason
@@ -647,6 +682,7 @@ module OpenAI
647
682
 
648
683
  type model =
649
684
  :"gpt-6-astra"
685
+ | :"gpt-6.1-sol"
650
686
  | :"gpt-6-sol"
651
687
  | :"gpt-6-luna"
652
688
  | :"gpt-5.6-sol"
@@ -753,6 +789,7 @@ module OpenAI
753
789
  | :"gpt-daybreak-blue-latest"
754
790
  | :"gpt-daybreak-red-latest"
755
791
  | :"gpt-5.6-cyber"
792
+ | :"gpt-rosalind-research"
756
793
  | String
757
794
 
758
795
  module Model
@@ -761,6 +798,7 @@ module OpenAI
761
798
  def self?.variants: -> ::Array[OpenAI::Models::Beta::BetaResponse::model]
762
799
 
763
800
  GPT_6_ASTRA: :"gpt-6-astra"
801
+ GPT_6_1_SOL: :"gpt-6.1-sol"
764
802
  GPT_6_SOL: :"gpt-6-sol"
765
803
  GPT_6_LUNA: :"gpt-6-luna"
766
804
  GPT_5_6_SOL: :"gpt-5.6-sol"
@@ -867,6 +905,7 @@ module OpenAI
867
905
  GPT_DAYBREAK_BLUE_LATEST: :"gpt-daybreak-blue-latest"
868
906
  GPT_DAYBREAK_RED_LATEST: :"gpt-daybreak-red-latest"
869
907
  GPT_5_6_CYBER: :"gpt-5.6-cyber"
908
+ GPT_ROSALIND_RESEARCH: :"gpt-rosalind-research"
870
909
  end
871
910
 
872
911
  type tool_choice =