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
@@ -33,7 +33,7 @@ module OpenAI
33
33
 
34
34
  # @!attribute provider
35
35
  #
36
- # @return [OpenAI::Models::Admin::Organization::AwsExternalStorageProvider, OpenAI::Models::Admin::Organization::AzureExternalStorageProvider]
36
+ # @return [OpenAI::Models::Admin::Organization::AwsExternalStorageProvider, OpenAI::Models::Admin::Organization::AzureExternalStorageProvider, OpenAI::Models::Admin::Organization::GcpExternalStorageProvider]
37
37
  required :provider, union: -> { OpenAI::Admin::Organization::ExternalStorageConfiguration::Provider }
38
38
 
39
39
  # @!attribute status
@@ -46,7 +46,7 @@ module OpenAI
46
46
  # @param created_at [Integer]
47
47
  # @param geography [String]
48
48
  # @param project_id [String]
49
- # @param provider [OpenAI::Models::Admin::Organization::AwsExternalStorageProvider, OpenAI::Models::Admin::Organization::AzureExternalStorageProvider]
49
+ # @param provider [OpenAI::Models::Admin::Organization::AwsExternalStorageProvider, OpenAI::Models::Admin::Organization::AzureExternalStorageProvider, OpenAI::Models::Admin::Organization::GcpExternalStorageProvider]
50
50
  # @param status [Symbol, OpenAI::Models::Admin::Organization::ExternalStorageConfiguration::Status]
51
51
  # @param object [Symbol, :"organization.external_storage"]
52
52
 
@@ -60,8 +60,10 @@ module OpenAI
60
60
 
61
61
  variant :azure, -> { OpenAI::Admin::Organization::AzureExternalStorageProvider }
62
62
 
63
+ variant :gcp, -> { OpenAI::Admin::Organization::GcpExternalStorageProvider }
64
+
63
65
  # @!method self.variants
64
- # @return [Array(OpenAI::Models::Admin::Organization::AwsExternalStorageProvider, OpenAI::Models::Admin::Organization::AzureExternalStorageProvider)]
66
+ # @return [Array(OpenAI::Models::Admin::Organization::AwsExternalStorageProvider, OpenAI::Models::Admin::Organization::AzureExternalStorageProvider, OpenAI::Models::Admin::Organization::GcpExternalStorageProvider)]
65
67
  end
66
68
 
67
69
  # @see OpenAI::Models::Admin::Organization::ExternalStorageConfiguration#status
@@ -16,12 +16,12 @@ module OpenAI
16
16
 
17
17
  # @!attribute provider
18
18
  #
19
- # @return [OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Aws, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Azure]
19
+ # @return [OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Aws, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Azure, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp]
20
20
  required :provider, union: -> { OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider }
21
21
 
22
22
  # @!method initialize(project_id:, provider:, request_options: {})
23
23
  # @param project_id [String]
24
- # @param provider [OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Aws, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Azure]
24
+ # @param provider [OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Aws, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Azure, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp]
25
25
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
26
26
 
27
27
  module Provider
@@ -33,6 +33,8 @@ module OpenAI
33
33
 
34
34
  variant :azure, -> { OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Azure }
35
35
 
36
+ variant :gcp, -> { OpenAI::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp }
37
+
36
38
  class Aws < OpenAI::Internal::Type::BaseModel
37
39
  # @!attribute bucket
38
40
  #
@@ -95,8 +97,42 @@ module OpenAI
95
97
  # @param type [Symbol, :azure]
96
98
  end
97
99
 
100
+ class Gcp < OpenAI::Internal::Type::BaseModel
101
+ # @!attribute bucket
102
+ #
103
+ # @return [String]
104
+ required :bucket, String
105
+
106
+ # @!attribute type
107
+ #
108
+ # @return [Symbol, :gcp]
109
+ required :type, const: :gcp
110
+
111
+ # @!attribute workload_identity_pool_id
112
+ #
113
+ # @return [String]
114
+ required :workload_identity_pool_id, String
115
+
116
+ # @!attribute workload_identity_project_number
117
+ #
118
+ # @return [String]
119
+ required :workload_identity_project_number, String
120
+
121
+ # @!attribute workload_identity_provider_id
122
+ #
123
+ # @return [String]
124
+ required :workload_identity_provider_id, String
125
+
126
+ # @!method initialize(bucket:, workload_identity_pool_id:, workload_identity_project_number:, workload_identity_provider_id:, type: :gcp)
127
+ # @param bucket [String]
128
+ # @param workload_identity_pool_id [String]
129
+ # @param workload_identity_project_number [String]
130
+ # @param workload_identity_provider_id [String]
131
+ # @param type [Symbol, :gcp]
132
+ end
133
+
98
134
  # @!method self.variants
99
- # @return [Array(OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Aws, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Azure)]
135
+ # @return [Array(OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Aws, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Azure, OpenAI::Models::Admin::Organization::ExternalStorageCreateParams::Provider::Gcp)]
100
136
  end
101
137
  end
102
138
  end
@@ -0,0 +1,55 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Admin
6
+ module Organization
7
+ class GcpExternalStorageProvider < OpenAI::Internal::Type::BaseModel
8
+ # @!attribute audience
9
+ #
10
+ # @return [String]
11
+ required :audience, String
12
+
13
+ # @!attribute bucket
14
+ #
15
+ # @return [String]
16
+ required :bucket, String
17
+
18
+ # @!attribute region
19
+ #
20
+ # @return [String]
21
+ required :region, String
22
+
23
+ # @!attribute type
24
+ #
25
+ # @return [Symbol, :gcp]
26
+ required :type, const: :gcp
27
+
28
+ # @!attribute workload_identity_pool_id
29
+ #
30
+ # @return [String]
31
+ required :workload_identity_pool_id, String
32
+
33
+ # @!attribute workload_identity_project_number
34
+ #
35
+ # @return [String]
36
+ required :workload_identity_project_number, String
37
+
38
+ # @!attribute workload_identity_provider_id
39
+ #
40
+ # @return [String]
41
+ required :workload_identity_provider_id, String
42
+
43
+ # @!method initialize(audience:, bucket:, region:, workload_identity_pool_id:, workload_identity_project_number:, workload_identity_provider_id:, type: :gcp)
44
+ # @param audience [String]
45
+ # @param bucket [String]
46
+ # @param region [String]
47
+ # @param workload_identity_pool_id [String]
48
+ # @param workload_identity_project_number [String]
49
+ # @param workload_identity_provider_id [String]
50
+ # @param type [Symbol, :gcp]
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -33,6 +33,7 @@ module OpenAI
33
33
  GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
34
34
  GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
35
35
  GPT_5_6_CYBER = :"gpt-5.6-cyber"
36
+ GPT_ROSALIND_RESEARCH = :"gpt-rosalind-research"
36
37
 
37
38
  # @!method self.values
38
39
  # @return [Array<Symbol>]
@@ -142,6 +142,12 @@ module OpenAI
142
142
 
143
143
  variant const: -> { OpenAI::Models::Audio::SpeechCreateParams::Voice::CEDAR }
144
144
 
145
+ variant const: -> { OpenAI::Models::Audio::SpeechCreateParams::Voice::FABLE }
146
+
147
+ variant const: -> { OpenAI::Models::Audio::SpeechCreateParams::Voice::ONYX }
148
+
149
+ variant const: -> { OpenAI::Models::Audio::SpeechCreateParams::Voice::NOVA }
150
+
145
151
  # Custom voice reference.
146
152
  variant -> { OpenAI::Audio::SpeechCreateParams::Voice::ID }
147
153
 
@@ -184,6 +190,9 @@ module OpenAI
184
190
  VERSE = :verse
185
191
  MARIN = :marin
186
192
  CEDAR = :cedar
193
+ FABLE = :fable
194
+ ONYX = :onyx
195
+ NOVA = :nova
187
196
 
188
197
  # @!endgroup
189
198
  end
@@ -21,8 +21,11 @@ module OpenAI
21
21
  # Represents a transcription response returned by model, based on the provided input.
22
22
  variant -> { OpenAI::Audio::Transcription }
23
23
 
24
+ # Text, SRT, and VTT responses retain the SDK's readable IO return value.
25
+ variant StringIO
26
+
24
27
  # @!method self.variants
25
- # @return [Array(OpenAI::Models::Audio::TranscriptionVerbose, OpenAI::Models::Audio::TranscriptionDiarized, OpenAI::Models::Audio::Transcription)]
28
+ # @return [Array(OpenAI::Models::Audio::TranscriptionVerbose, OpenAI::Models::Audio::TranscriptionDiarized, OpenAI::Models::Audio::Transcription, StringIO)]
26
29
  end
27
30
  end
28
31
  end
@@ -11,8 +11,11 @@ module OpenAI
11
11
 
12
12
  variant -> { OpenAI::Audio::TranslationVerbose }
13
13
 
14
+ # Text, SRT, and VTT responses retain the SDK's readable IO return value.
15
+ variant StringIO
16
+
14
17
  # @!method self.variants
15
- # @return [Array(OpenAI::Models::Audio::Translation, OpenAI::Models::Audio::TranslationVerbose)]
18
+ # @return [Array(OpenAI::Models::Audio::Translation, OpenAI::Models::Audio::TranslationVerbose, StringIO)]
16
19
  end
17
20
  end
18
21
  end
@@ -138,6 +138,7 @@ module OpenAI
138
138
  FLEX = :flex
139
139
  PRIORITY = :priority
140
140
  FAST = :fast
141
+ ULTRAFAST = :ultrafast
141
142
 
142
143
  # @!method self.values
143
144
  # @return [Array<Symbol>]
@@ -123,6 +123,9 @@ module OpenAI
123
123
  # Uses the fast service tier.
124
124
  FAST = :fast
125
125
 
126
+ # Uses the ultrafast service tier.
127
+ ULTRAFAST = :ultrafast
128
+
126
129
  # @!method self.values
127
130
  # @return [Array<Symbol>]
128
131
  end
@@ -219,6 +219,7 @@ module OpenAI
219
219
  FLEX = :flex
220
220
  PRIORITY = :priority
221
221
  FAST = :fast
222
+ ULTRAFAST = :ultrafast
222
223
 
223
224
  # @!method self.values
224
225
  # @return [Array<Symbol>]
@@ -130,6 +130,9 @@ module OpenAI
130
130
  # Uses the fast service tier.
131
131
  FAST = :fast
132
132
 
133
+ # Uses the ultrafast service tier.
134
+ ULTRAFAST = :ultrafast
135
+
133
136
  # @!method self.values
134
137
  # @return [Array<Symbol>]
135
138
  end
@@ -41,7 +41,7 @@ module OpenAI
41
41
 
42
42
  # @!attribute network
43
43
  # Network access policy for the environment. Defaults to disabled for GA requests
44
- # and enabled for alpha/beta requests.
44
+ # and enabled for beta requests.
45
45
  #
46
46
  # @return [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network, nil]
47
47
  optional(
@@ -113,7 +113,7 @@ module OpenAI
113
113
  #
114
114
  # @param network [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network, nil]
115
115
  # Network access policy for the environment. Defaults to disabled for GA requests
116
- # and enabled for alpha/beta requests.
116
+ # and enabled for beta requests.
117
117
  #
118
118
  # @param packages [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Packages, nil]
119
119
  # Packages to install in the environment. Defaults to empty package lists.
@@ -145,7 +145,7 @@ module OpenAI
145
145
 
146
146
  # @!method initialize(access:, allowed_domains: nil)
147
147
  # Network access policy for the environment. Defaults to disabled for GA requests
148
- # and enabled for alpha/beta requests.
148
+ # and enabled for beta requests.
149
149
  #
150
150
  # @param access [Symbol, OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network::Access]
151
151
  # The environment's network access mode.
@@ -45,8 +45,8 @@ module OpenAI
45
45
 
46
46
  # @!attribute network
47
47
  # Network access available after setup completes. Omit to preserve the current
48
- # policy, or pass `null` to reset to disabled for GA requests or enabled for
49
- # alpha/beta requests.
48
+ # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
49
+ # requests.
50
50
  #
51
51
  # @return [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network, nil]
52
52
  optional(
@@ -118,8 +118,8 @@ module OpenAI
118
118
  #
119
119
  # @param network [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network, nil]
120
120
  # Network access available after setup completes. Omit to preserve the current
121
- # policy, or pass `null` to reset to disabled for GA requests or enabled for
122
- # alpha/beta requests.
121
+ # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
122
+ # requests.
123
123
  #
124
124
  # @param packages [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Packages, nil]
125
125
  # Packages installed before the runtime network policy applies.
@@ -150,8 +150,8 @@ module OpenAI
150
150
 
151
151
  # @!method initialize(access:, allowed_domains: nil)
152
152
  # Network access available after setup completes. Omit to preserve the current
153
- # policy, or pass `null` to reset to disabled for GA requests or enabled for
154
- # alpha/beta requests.
153
+ # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
154
+ # requests.
155
155
  #
156
156
  # @param access [Symbol, OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network::Access]
157
157
  # The environment's network access mode.
@@ -183,6 +183,9 @@ module OpenAI
183
183
  # Uses the fast service tier.
184
184
  FAST = :fast
185
185
 
186
+ # Uses the ultrafast service tier.
187
+ ULTRAFAST = :ultrafast
188
+
186
189
  # @!method self.values
187
190
  # @return [Array<Symbol>]
188
191
  end
@@ -134,6 +134,9 @@ module OpenAI
134
134
  # Uses the fast service tier.
135
135
  FAST = :fast
136
136
 
137
+ # Uses the ultrafast service tier.
138
+ ULTRAFAST = :ultrafast
139
+
137
140
  # @!method self.values
138
141
  # @return [Array<Symbol>]
139
142
  end
@@ -25,6 +25,12 @@ module OpenAI
25
25
  # @return [Integer]
26
26
  required :created_at, Integer
27
27
 
28
+ # @!attribute metadata
29
+ # Application-defined key-value pairs associated with this credential.
30
+ #
31
+ # @return [Hash{Symbol=>String}]
32
+ required :metadata, OpenAI::Internal::Type::HashOf[String]
33
+
28
34
  # @!attribute name
29
35
  # The human-readable name of the credential.
30
36
  #
@@ -49,7 +55,7 @@ module OpenAI
49
55
  # @return [String]
50
56
  required :vault_id, String
51
57
 
52
- # @!method initialize(id:, auth:, created_at:, name:, updated_at:, vault_id:, object: :"vault.credential")
58
+ # @!method initialize(id:, auth:, created_at:, metadata:, name:, updated_at:, vault_id:, object: :"vault.credential")
53
59
  # Metadata for a stored credential. Secret values are never returned.
54
60
  #
55
61
  # @param id [String]
@@ -61,6 +67,9 @@ module OpenAI
61
67
  # @param created_at [Integer]
62
68
  # The Unix timestamp, in seconds, when the credential was created.
63
69
  #
70
+ # @param metadata [Hash{Symbol=>String}]
71
+ # Application-defined key-value pairs associated with this credential.
72
+ #
64
73
  # @param name [String]
65
74
  # The human-readable name of the credential.
66
75
  #
@@ -28,7 +28,14 @@ module OpenAI
28
28
  # @return [String]
29
29
  required :name, String
30
30
 
31
- # @!method initialize(vault_id:, auth:, name:, request_options: {})
31
+ # @!attribute metadata
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
+ #
35
+ # @return [Hash{Symbol=>String}, nil]
36
+ optional :metadata, OpenAI::Internal::Type::HashOf[String]
37
+
38
+ # @!method initialize(vault_id:, auth:, name:, metadata: nil, request_options: {})
32
39
  # @param vault_id [String]
33
40
  #
34
41
  # @param auth [OpenAI::Models::Beta::Agents::Vaults::CredentialAuthCreateParam::McpOauth, OpenAI::Models::Beta::Agents::Vaults::CredentialAuthCreateParam::StaticBearer, OpenAI::Models::Beta::Agents::Vaults::CredentialAuthCreateParam::EnvironmentVariable]
@@ -38,6 +45,10 @@ module OpenAI
38
45
  # The name is trimmed before storage. It must contain 1 to 256 UTF-8 bytes after
39
46
  # trimming.
40
47
  #
48
+ # @param metadata [Hash{Symbol=>String}]
49
+ # Up to 16 string key-value pairs, with keys up to 64 and values up to 512
50
+ # characters. Defaults to an empty map.
51
+ #
41
52
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
42
53
  end
43
54
  end
@@ -23,10 +23,17 @@ module OpenAI
23
23
  # @!attribute auth
24
24
  # Replacement values for the credential's existing authentication method.
25
25
  #
26
- # @return [OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::McpOauth, OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::StaticBearer, OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::EnvironmentVariable]
27
- required :auth, union: -> { OpenAI::Beta::Agents::Vaults::CredentialAuthRotateParam }
26
+ # @return [OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::McpOauth, OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::StaticBearer, OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::EnvironmentVariable, nil]
27
+ optional :auth, union: -> { OpenAI::Beta::Agents::Vaults::CredentialAuthRotateParam }
28
28
 
29
- # @!method initialize(vault_id:, credential_id:, auth:, request_options: {})
29
+ # @!attribute metadata
30
+ # Replaces all metadata. Omit to preserve it, or pass {} to clear it. Up to 16
31
+ # string key-value pairs, with keys up to 64 and values up to 512 characters.
32
+ #
33
+ # @return [Hash{Symbol=>String}, nil]
34
+ optional :metadata, OpenAI::Internal::Type::HashOf[String]
35
+
36
+ # @!method initialize(vault_id:, credential_id:, auth: nil, metadata: nil, request_options: {})
30
37
  # @param vault_id [String]
31
38
  #
32
39
  # @param credential_id [String]
@@ -34,6 +41,10 @@ module OpenAI
34
41
  # @param auth [OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::McpOauth, OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::StaticBearer, OpenAI::Models::Beta::Agents::Vaults::CredentialAuthRotateParam::EnvironmentVariable]
35
42
  # Replacement values for the credential's existing authentication method.
36
43
  #
44
+ # @param metadata [Hash{Symbol=>String}]
45
+ # Replaces all metadata. Omit to preserve it, or pass {} to clear it. Up to 16
46
+ # string key-value pairs, with keys up to 64 and values up to 512 characters.
47
+ #
37
48
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
38
49
  end
39
50
  end
@@ -13,6 +13,11 @@ module OpenAI
13
13
  # @return [String]
14
14
  required :id, String
15
15
 
16
+ # @!attribute access_programs
17
+ #
18
+ # @return [OpenAI::Models::Beta::BetaResponse::AccessPrograms, nil]
19
+ required :access_programs, -> { OpenAI::Beta::BetaResponse::AccessPrograms }, nil?: true
20
+
16
21
  # @!attribute created_at
17
22
  # Unix timestamp (in seconds) of when this Response was created.
18
23
  #
@@ -353,10 +358,12 @@ module OpenAI
353
358
  # @return [String, nil]
354
359
  optional :user, String
355
360
 
356
- # @!method initialize(id:, created_at:, error:, incomplete_details:, instructions:, metadata:, model:, output:, parallel_tool_calls:, temperature:, tool_choice:, tools:, top_p:, background: nil, completed_at: nil, conversation: nil, max_output_tokens: nil, max_tool_calls: nil, moderation: nil, previous_response_id: nil, prompt: nil, prompt_cache_diagnostics: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, status: nil, text: nil, top_logprobs: nil, truncation: nil, usage: nil, user: nil, object: :response)
361
+ # @!method initialize(id:, access_programs:, created_at:, error:, incomplete_details:, instructions:, metadata:, model:, output:, parallel_tool_calls:, temperature:, tool_choice:, tools:, top_p:, background: nil, completed_at: nil, conversation: nil, max_output_tokens: nil, max_tool_calls: nil, moderation: nil, previous_response_id: nil, prompt: nil, prompt_cache_diagnostics: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, status: nil, text: nil, top_logprobs: nil, truncation: nil, usage: nil, user: nil, object: :response)
357
362
  # @param id [String]
358
363
  # Unique identifier for this Response.
359
364
  #
365
+ # @param access_programs [OpenAI::Models::Beta::BetaResponse::AccessPrograms, nil]
366
+ #
360
367
  # @param created_at [Float]
361
368
  # Unix timestamp (in seconds) of when this Response was created.
362
369
  #
@@ -587,6 +594,33 @@ module OpenAI
587
594
  # @param object [Symbol, :response]
588
595
  # The object type of this resource - always set to `response`.
589
596
 
597
+ # @see OpenAI::Models::Beta::BetaResponse#access_programs
598
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
599
+ # @!attribute cyber
600
+ # The effective Cyber access program used for this response.
601
+ #
602
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponse::AccessPrograms::Cyber]
603
+ required :cyber, enum: -> { OpenAI::Beta::BetaResponse::AccessPrograms::Cyber }
604
+
605
+ # @!method initialize(cyber:)
606
+ # @param cyber [Symbol, OpenAI::Models::Beta::BetaResponse::AccessPrograms::Cyber]
607
+ # The effective Cyber access program used for this response.
608
+
609
+ # The effective Cyber access program used for this response.
610
+ #
611
+ # @see OpenAI::Models::Beta::BetaResponse::AccessPrograms#cyber
612
+ module Cyber
613
+ extend OpenAI::Internal::Type::Enum
614
+
615
+ STANDARD = :standard
616
+ DAYBREAK_BLUE = :daybreak_blue
617
+ DAYBREAK_RED = :daybreak_red
618
+
619
+ # @!method self.values
620
+ # @return [Array<Symbol>]
621
+ end
622
+ end
623
+
590
624
  # @see OpenAI::Models::Beta::BetaResponse#incomplete_details
591
625
  class IncompleteDetails < OpenAI::Internal::Type::BaseModel
592
626
  # @!attribute reason
@@ -662,6 +696,8 @@ module OpenAI
662
696
 
663
697
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_6_ASTRA }
664
698
 
699
+ variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_6_1_SOL }
700
+
665
701
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_6_SOL }
666
702
 
667
703
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_6_LUNA }
@@ -874,6 +910,8 @@ module OpenAI
874
910
 
875
911
  variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_5_6_CYBER }
876
912
 
913
+ variant const: -> { OpenAI::Models::Beta::BetaResponse::Model::GPT_ROSALIND_RESEARCH }
914
+
877
915
  variant String
878
916
 
879
917
  # @!method self.variants
@@ -886,6 +924,7 @@ module OpenAI
886
924
  # @!group
887
925
 
888
926
  GPT_6_ASTRA = :"gpt-6-astra"
927
+ GPT_6_1_SOL = :"gpt-6.1-sol"
889
928
  GPT_6_SOL = :"gpt-6-sol"
890
929
  GPT_6_LUNA = :"gpt-6-luna"
891
930
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -992,6 +1031,7 @@ module OpenAI
992
1031
  GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
993
1032
  GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
994
1033
  GPT_5_6_CYBER = :"gpt-5.6-cyber"
1034
+ GPT_ROSALIND_RESEARCH = :"gpt-rosalind-research"
995
1035
 
996
1036
  # @!endgroup
997
1037
  end
@@ -61,6 +61,12 @@ module OpenAI
61
61
  # @return [Symbol, :"response.create"]
62
62
  required :type, const: :"response.create"
63
63
 
64
+ # @!attribute access_programs
65
+ # Domain-specific access programs to use for this request.
66
+ #
67
+ # @return [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms, nil]
68
+ optional :access_programs, -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms }
69
+
64
70
  # @!attribute background
65
71
  # Whether to run the model response in the background.
66
72
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -476,7 +482,7 @@ module OpenAI
476
482
  # @return [String, nil]
477
483
  optional :user, String
478
484
 
479
- # @!method initialize(background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_id: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
485
+ # @!method initialize(access_programs: nil, background: nil, context_management: nil, conversation: nil, include: nil, input: nil, instructions: nil, max_output_tokens: nil, max_tool_calls: nil, metadata: nil, model: nil, moderation: nil, multi_agent: nil, parallel_tool_calls: nil, previous_response_id: nil, prompt: nil, prompt_cache_key: nil, prompt_cache_options: nil, prompt_cache_retention: nil, reasoning: nil, safety_identifier: nil, service_tier: nil, store: nil, stream: nil, stream_id: nil, stream_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, type: :"response.create")
480
486
  # Client event for creating a response over a persistent WebSocket connection.
481
487
  # This payload uses the same top-level fields as `POST /v1/responses`, plus
482
488
  # WebSocket-only envelope metadata.
@@ -487,6 +493,9 @@ module OpenAI
487
493
  # - `background` is not supported over WebSocket.
488
494
  # - `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
489
495
  #
496
+ # @param access_programs [OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms]
497
+ # Domain-specific access programs to use for this request.
498
+ #
490
499
  # @param background [Boolean, nil]
491
500
  # Whether to run the model response in the background.
492
501
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -752,6 +761,66 @@ module OpenAI
752
761
  #
753
762
  # @param type [Symbol, :"response.create"]
754
763
  # The type of the client event. Always `response.create`.
764
+
765
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate#access_programs
766
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
767
+ # @!attribute cyber
768
+ # The Cyber access program to use for this request. Supported values are
769
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
770
+ # the program from the model's Cyber tier and your organization and project
771
+ # access, subject to model-specific eligibility restrictions. By default, models
772
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
773
+ # authorized; otherwise they fall back to Standard unless the model requires
774
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
775
+ # Requests that require unavailable Daybreak access return 403. An implicit
776
+ # Standard fallback is represented by null in the response's access_programs
777
+ # field, rather than an explicit Standard selection.
778
+ #
779
+ # @return [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::Cyber, nil]
780
+ optional(
781
+ :cyber,
782
+ enum: -> { OpenAI::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::Cyber }
783
+ )
784
+
785
+ # @!method initialize(cyber: nil)
786
+ # Domain-specific access programs to use for this request.
787
+ #
788
+ # @param cyber [Symbol, OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms::Cyber]
789
+ # The Cyber access program to use for this request. Supported values are
790
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
791
+ # the program from the model's Cyber tier and your organization and project
792
+ # access, subject to model-specific eligibility restrictions. By default, models
793
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
794
+ # authorized; otherwise they fall back to Standard unless the model requires
795
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
796
+ # Requests that require unavailable Daybreak access return 403. An implicit
797
+ # Standard fallback is represented by null in the response's access_programs
798
+ # field, rather than an explicit Standard selection.
799
+
800
+ # The Cyber access program to use for this request. Supported values are
801
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
802
+ # the program from the model's Cyber tier and your organization and project
803
+ # access, subject to model-specific eligibility restrictions. By default, models
804
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
805
+ # authorized; otherwise they fall back to Standard unless the model requires
806
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
807
+ # Requests that require unavailable Daybreak access return 403. An implicit
808
+ # Standard fallback is represented by null in the response's access_programs
809
+ # field, rather than an explicit Standard selection.
810
+ #
811
+ # @see OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::AccessPrograms#cyber
812
+ module Cyber
813
+ extend OpenAI::Internal::Type::Enum
814
+
815
+ STANDARD = :standard
816
+ DAYBREAK_BLUE = :daybreak_blue
817
+ DAYBREAK_RED = :daybreak_red
818
+
819
+ # @!method self.values
820
+ # @return [Array<Symbol>]
821
+ end
822
+ end
823
+
755
824
  class ContextManagement < OpenAI::Internal::Type::BaseModel
756
825
  # @!attribute type
757
826
  # The context management entry type. Currently only 'compaction' is supported.
@@ -830,6 +899,8 @@ module OpenAI
830
899
 
831
900
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_6_ASTRA }
832
901
 
902
+ variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_6_1_SOL }
903
+
833
904
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_6_SOL }
834
905
 
835
906
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_6_LUNA }
@@ -1220,6 +1291,12 @@ module OpenAI
1220
1291
 
1221
1292
  variant const: -> { OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_5_6_CYBER }
1222
1293
 
1294
+ variant(
1295
+ const: -> {
1296
+ OpenAI::Models::Beta::BetaResponsesClientEvent::ResponseCreate::Model::GPT_ROSALIND_RESEARCH
1297
+ }
1298
+ )
1299
+
1223
1300
  variant String
1224
1301
 
1225
1302
  # @!method self.variants
@@ -1234,6 +1311,7 @@ module OpenAI
1234
1311
  # @!group
1235
1312
 
1236
1313
  GPT_6_ASTRA = :"gpt-6-astra"
1314
+ GPT_6_1_SOL = :"gpt-6.1-sol"
1237
1315
  GPT_6_SOL = :"gpt-6-sol"
1238
1316
  GPT_6_LUNA = :"gpt-6-luna"
1239
1317
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -1340,6 +1418,7 @@ module OpenAI
1340
1418
  GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
1341
1419
  GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
1342
1420
  GPT_5_6_CYBER = :"gpt-5.6-cyber"
1421
+ GPT_ROSALIND_RESEARCH = :"gpt-rosalind-research"
1343
1422
 
1344
1423
  # @!endgroup
1345
1424
  end