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
@@ -27,7 +27,9 @@ module OpenAI
27
27
  optional :search_context_size, enum: -> { OpenAI::Beta::BetaWebSearchPreviewTool::SearchContextSize }
28
28
 
29
29
  # @!attribute user_location
30
- # The user's location.
30
+ # The approximate location of the user. If omitted or null, defaults to the United
31
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
32
+ # fields. To localize results, provide the relevant location fields.
31
33
  #
32
34
  # @return [OpenAI::Models::Beta::BetaWebSearchPreviewTool::UserLocation, nil]
33
35
  optional :user_location, -> { OpenAI::Beta::BetaWebSearchPreviewTool::UserLocation }, nil?: true
@@ -48,7 +50,9 @@ module OpenAI
48
50
  # search. One of `low`, `medium`, or `high`. `medium` is the default.
49
51
  #
50
52
  # @param user_location [OpenAI::Models::Beta::BetaWebSearchPreviewTool::UserLocation, nil]
51
- # The user's location.
53
+ # The approximate location of the user. If omitted or null, defaults to the United
54
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
55
+ # fields. To localize results, provide the relevant location fields.
52
56
 
53
57
  # The type of the web search tool. One of `web_search_preview` or
54
58
  # `web_search_preview_2025_03_11`.
@@ -124,7 +128,9 @@ module OpenAI
124
128
  optional :timezone, String, nil?: true
125
129
 
126
130
  # @!method initialize(city: nil, country: nil, region: nil, timezone: nil, type: :approximate)
127
- # The user's location.
131
+ # The approximate location of the user. If omitted or null, defaults to the United
132
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
133
+ # fields. To localize results, provide the relevant location fields.
128
134
  #
129
135
  # @param city [String, nil]
130
136
  # Free text input for the city of the user, e.g. `San Francisco`.
@@ -32,7 +32,9 @@ module OpenAI
32
32
  optional :search_context_size, enum: -> { OpenAI::Beta::BetaWebSearchTool::SearchContextSize }
33
33
 
34
34
  # @!attribute user_location
35
- # The approximate location of the user.
35
+ # The approximate location of the user. If omitted or null, defaults to the United
36
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
37
+ # fields. To localize results, provide the relevant location fields.
36
38
  #
37
39
  # @return [OpenAI::Models::Beta::BetaWebSearchTool::UserLocation, nil]
38
40
  optional :user_location, -> { OpenAI::Beta::BetaWebSearchTool::UserLocation }, nil?: true
@@ -57,7 +59,9 @@ module OpenAI
57
59
  # search. One of `low`, `medium`, or `high`. `medium` is the default.
58
60
  #
59
61
  # @param user_location [OpenAI::Models::Beta::BetaWebSearchTool::UserLocation, nil]
60
- # The approximate location of the user.
62
+ # The approximate location of the user. If omitted or null, defaults to the United
63
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
64
+ # fields. To localize results, provide the relevant location fields.
61
65
 
62
66
  # The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
63
67
  #
@@ -143,7 +147,9 @@ module OpenAI
143
147
  optional :type, enum: -> { OpenAI::Beta::BetaWebSearchTool::UserLocation::Type }
144
148
 
145
149
  # @!method initialize(city: nil, country: nil, region: nil, timezone: nil, type: nil)
146
- # The approximate location of the user.
150
+ # The approximate location of the user. If omitted or null, defaults to the United
151
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
152
+ # fields. To localize results, provide the relevant location fields.
147
153
  #
148
154
  # @param city [String, nil]
149
155
  # Free text input for the city of the user, e.g. `San Francisco`.
@@ -12,7 +12,7 @@ module OpenAI
12
12
  # Runs the agent without an execution environment.
13
13
  variant :none, -> { OpenAI::Beta::EnvironmentParam::None }
14
14
 
15
- # An OpenAI-hosted environment, optionally based on a reusable template.
15
+ # An existing OpenAI-hosted environment or new inline/template-based hosted configuration.
16
16
  variant :openai_hosted, -> { OpenAI::Beta::EnvironmentParam::OpenAIHosted }
17
17
 
18
18
  # An application-hosted environment configured inline.
@@ -71,7 +71,7 @@ module OpenAI
71
71
 
72
72
  # @!attribute network
73
73
  # Network access policy for the environment. Defaults to disabled for GA requests
74
- # and enabled for alpha/beta requests.
74
+ # and enabled for beta requests.
75
75
  #
76
76
  # @return [OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted::Network, nil]
77
77
  optional :network, -> { OpenAI::Beta::EnvironmentParam::OpenAIHosted::Network }, nil?: true
@@ -116,7 +116,8 @@ module OpenAI
116
116
  )
117
117
 
118
118
  # @!method initialize(capability_directories: nil, env: nil, environment_template_id: nil, files: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, type: :openai_hosted)
119
- # An OpenAI-hosted environment, optionally based on a reusable template.
119
+ # An existing OpenAI-hosted environment or new inline/template-based hosted
120
+ # configuration.
120
121
  #
121
122
  # @param capability_directories [Array<String>, nil]
122
123
  # Directories that contain capabilities exposed to the agent. Defaults to an empty
@@ -134,7 +135,7 @@ module OpenAI
134
135
  #
135
136
  # @param network [OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted::Network, nil]
136
137
  # Network access policy for the environment. Defaults to disabled for GA requests
137
- # and enabled for alpha/beta requests.
138
+ # and enabled for beta requests.
138
139
  #
139
140
  # @param packages [OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted::Packages, nil]
140
141
  # Packages to install in the environment. Defaults to empty package lists.
@@ -168,7 +169,7 @@ module OpenAI
168
169
 
169
170
  # @!method initialize(access:, allowed_domains: nil)
170
171
  # Network access policy for the environment. Defaults to disabled for GA requests
171
- # and enabled for alpha/beta requests.
172
+ # and enabled for beta requests.
172
173
  #
173
174
  # @param access [Symbol, OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted::Network::Access]
174
175
  # The environment's network access mode.
@@ -178,6 +178,8 @@ module OpenAI
178
178
 
179
179
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_6_ASTRA }
180
180
 
181
+ variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_6_1_SOL }
182
+
181
183
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_6_SOL }
182
184
 
183
185
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_6_LUNA }
@@ -394,6 +396,8 @@ module OpenAI
394
396
 
395
397
  variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_5_6_CYBER }
396
398
 
399
+ variant const: -> { OpenAI::Models::Beta::ResponseCompactParams::Model::GPT_ROSALIND_RESEARCH }
400
+
397
401
  variant String
398
402
 
399
403
  # @!method self.variants
@@ -406,6 +410,7 @@ module OpenAI
406
410
  # @!group
407
411
 
408
412
  GPT_6_ASTRA = :"gpt-6-astra"
413
+ GPT_6_1_SOL = :"gpt-6.1-sol"
409
414
  GPT_6_SOL = :"gpt-6-sol"
410
415
  GPT_6_LUNA = :"gpt-6-luna"
411
416
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -512,6 +517,7 @@ module OpenAI
512
517
  GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
513
518
  GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
514
519
  GPT_5_6_CYBER = :"gpt-5.6-cyber"
520
+ GPT_ROSALIND_RESEARCH = :"gpt-rosalind-research"
515
521
 
516
522
  # @!endgroup
517
523
  end
@@ -10,6 +10,12 @@ module OpenAI
10
10
  extend OpenAI::Internal::Type::RequestParameters::Converter
11
11
  include OpenAI::Internal::Type::RequestParameters
12
12
 
13
+ # @!attribute access_programs
14
+ # Domain-specific access programs to use for this request.
15
+ #
16
+ # @return [OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms, nil]
17
+ optional :access_programs, -> { OpenAI::Beta::ResponseCreateParams::AccessPrograms }
18
+
13
19
  # @!attribute background
14
20
  # Whether to run the model response in the background.
15
21
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -376,7 +382,10 @@ module OpenAI
376
382
  # @return [Array<Symbol, OpenAI::Models::Beta::ResponseCreateParams::Beta>, nil]
377
383
  optional :betas, -> { OpenAI::Internal::Type::ArrayOf[enum: OpenAI::Beta::ResponseCreateParams::Beta] }
378
384
 
379
- # @!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_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, betas: nil, request_options: {})
385
+ # @!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_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, betas: nil, request_options: {})
386
+ # @param access_programs [OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms]
387
+ # Domain-specific access programs to use for this request.
388
+ #
380
389
  # @param background [Boolean, nil]
381
390
  # Whether to run the model response in the background.
382
391
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -629,6 +638,61 @@ module OpenAI
629
638
  #
630
639
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
631
640
 
641
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
642
+ # @!attribute cyber
643
+ # The Cyber access program to use for this request. Supported values are
644
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
645
+ # the program from the model's Cyber tier and your organization and project
646
+ # access, subject to model-specific eligibility restrictions. By default, models
647
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
648
+ # authorized; otherwise they fall back to Standard unless the model requires
649
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
650
+ # Requests that require unavailable Daybreak access return 403. An implicit
651
+ # Standard fallback is represented by null in the response's access_programs
652
+ # field, rather than an explicit Standard selection.
653
+ #
654
+ # @return [Symbol, OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::Cyber, nil]
655
+ optional :cyber, enum: -> { OpenAI::Beta::ResponseCreateParams::AccessPrograms::Cyber }
656
+
657
+ # @!method initialize(cyber: nil)
658
+ # Domain-specific access programs to use for this request.
659
+ #
660
+ # @param cyber [Symbol, OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms::Cyber]
661
+ # The Cyber access program to use for this request. Supported values are
662
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
663
+ # the program from the model's Cyber tier and your organization and project
664
+ # access, subject to model-specific eligibility restrictions. By default, models
665
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
666
+ # authorized; otherwise they fall back to Standard unless the model requires
667
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
668
+ # Requests that require unavailable Daybreak access return 403. An implicit
669
+ # Standard fallback is represented by null in the response's access_programs
670
+ # field, rather than an explicit Standard selection.
671
+
672
+ # The Cyber access program to use for this request. Supported values are
673
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
674
+ # the program from the model's Cyber tier and your organization and project
675
+ # access, subject to model-specific eligibility restrictions. By default, models
676
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
677
+ # authorized; otherwise they fall back to Standard unless the model requires
678
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
679
+ # Requests that require unavailable Daybreak access return 403. An implicit
680
+ # Standard fallback is represented by null in the response's access_programs
681
+ # field, rather than an explicit Standard selection.
682
+ #
683
+ # @see OpenAI::Models::Beta::ResponseCreateParams::AccessPrograms#cyber
684
+ module Cyber
685
+ extend OpenAI::Internal::Type::Enum
686
+
687
+ STANDARD = :standard
688
+ DAYBREAK_BLUE = :daybreak_blue
689
+ DAYBREAK_RED = :daybreak_red
690
+
691
+ # @!method self.values
692
+ # @return [Array<Symbol>]
693
+ end
694
+ end
695
+
632
696
  class ContextManagement < OpenAI::Internal::Type::BaseModel
633
697
  # @!attribute type
634
698
  # The context management entry type. Currently only 'compaction' is supported.
@@ -701,6 +765,8 @@ module OpenAI
701
765
 
702
766
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_6_ASTRA }
703
767
 
768
+ variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_6_1_SOL }
769
+
704
770
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_6_SOL }
705
771
 
706
772
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_6_LUNA }
@@ -915,6 +981,8 @@ module OpenAI
915
981
 
916
982
  variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_5_6_CYBER }
917
983
 
984
+ variant const: -> { OpenAI::Models::Beta::ResponseCreateParams::Model::GPT_ROSALIND_RESEARCH }
985
+
918
986
  variant String
919
987
 
920
988
  # @!method self.variants
@@ -927,6 +995,7 @@ module OpenAI
927
995
  # @!group
928
996
 
929
997
  GPT_6_ASTRA = :"gpt-6-astra"
998
+ GPT_6_1_SOL = :"gpt-6.1-sol"
930
999
  GPT_6_SOL = :"gpt-6-sol"
931
1000
  GPT_6_LUNA = :"gpt-6-luna"
932
1001
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -1033,6 +1102,7 @@ module OpenAI
1033
1102
  GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
1034
1103
  GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
1035
1104
  GPT_5_6_CYBER = :"gpt-5.6-cyber"
1105
+ GPT_ROSALIND_RESEARCH = :"gpt-rosalind-research"
1036
1106
 
1037
1107
  # @!endgroup
1038
1108
  end
@@ -52,6 +52,9 @@ module OpenAI
52
52
  # The request was rejected by a safety policy.
53
53
  CYBER_POLICY = :cyber_policy
54
54
 
55
+ # The request was blocked by the safety systems.
56
+ MISALIGNMENT_POLICY_VIOLATION = :misalignment_policy_violation
57
+
55
58
  # The request could not connect to the model service.
56
59
  CONNECTION_FAILED = :connection_failed
57
60
 
@@ -6,6 +6,7 @@ module OpenAI
6
6
  extend OpenAI::Internal::Type::Enum
7
7
 
8
8
  GPT_6_ASTRA = :"gpt-6-astra"
9
+ GPT_6_1_SOL = :"gpt-6.1-sol"
9
10
  GPT_6_SOL = :"gpt-6-sol"
10
11
  GPT_6_LUNA = :"gpt-6-luna"
11
12
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -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::Responses::Response::AccessPrograms, nil]
19
+ required :access_programs, -> { OpenAI::Responses::Response::AccessPrograms }, nil?: true
20
+
16
21
  # @!attribute created_at
17
22
  # Unix timestamp (in seconds) of when this Response was created.
18
23
  #
@@ -374,10 +379,12 @@ module OpenAI
374
379
  texts.join
375
380
  end
376
381
 
377
- # @!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)
382
+ # @!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)
378
383
  # @param id [String]
379
384
  # Unique identifier for this Response.
380
385
  #
386
+ # @param access_programs [OpenAI::Models::Responses::Response::AccessPrograms, nil]
387
+ #
381
388
  # @param created_at [Float]
382
389
  # Unix timestamp (in seconds) of when this Response was created.
383
390
  #
@@ -608,6 +615,33 @@ module OpenAI
608
615
  # @param object [Symbol, :response]
609
616
  # The object type of this resource - always set to `response`.
610
617
 
618
+ # @see OpenAI::Models::Responses::Response#access_programs
619
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
620
+ # @!attribute cyber
621
+ # The effective Cyber access program used for this response.
622
+ #
623
+ # @return [Symbol, OpenAI::Models::Responses::Response::AccessPrograms::Cyber]
624
+ required :cyber, enum: -> { OpenAI::Responses::Response::AccessPrograms::Cyber }
625
+
626
+ # @!method initialize(cyber:)
627
+ # @param cyber [Symbol, OpenAI::Models::Responses::Response::AccessPrograms::Cyber]
628
+ # The effective Cyber access program used for this response.
629
+
630
+ # The effective Cyber access program used for this response.
631
+ #
632
+ # @see OpenAI::Models::Responses::Response::AccessPrograms#cyber
633
+ module Cyber
634
+ extend OpenAI::Internal::Type::Enum
635
+
636
+ STANDARD = :standard
637
+ DAYBREAK_BLUE = :daybreak_blue
638
+ DAYBREAK_RED = :daybreak_red
639
+
640
+ # @!method self.values
641
+ # @return [Array<Symbol>]
642
+ end
643
+ end
644
+
611
645
  # @see OpenAI::Models::Responses::Response#incomplete_details
612
646
  class IncompleteDetails < OpenAI::Internal::Type::BaseModel
613
647
  # @!attribute reason
@@ -169,6 +169,8 @@ module OpenAI
169
169
 
170
170
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_6_ASTRA }
171
171
 
172
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_6_1_SOL }
173
+
172
174
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_6_SOL }
173
175
 
174
176
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_6_LUNA }
@@ -399,6 +401,8 @@ module OpenAI
399
401
 
400
402
  variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_5_6_CYBER }
401
403
 
404
+ variant const: -> { OpenAI::Models::Responses::ResponseCompactParams::Model::GPT_ROSALIND_RESEARCH }
405
+
402
406
  variant String
403
407
 
404
408
  # @!method self.variants
@@ -411,6 +415,7 @@ module OpenAI
411
415
  # @!group
412
416
 
413
417
  GPT_6_ASTRA = :"gpt-6-astra"
418
+ GPT_6_1_SOL = :"gpt-6.1-sol"
414
419
  GPT_6_SOL = :"gpt-6-sol"
415
420
  GPT_6_LUNA = :"gpt-6-luna"
416
421
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -517,6 +522,7 @@ module OpenAI
517
522
  GPT_DAYBREAK_BLUE_LATEST = :"gpt-daybreak-blue-latest"
518
523
  GPT_DAYBREAK_RED_LATEST = :"gpt-daybreak-red-latest"
519
524
  GPT_5_6_CYBER = :"gpt-5.6-cyber"
525
+ GPT_ROSALIND_RESEARCH = :"gpt-rosalind-research"
520
526
 
521
527
  # @!endgroup
522
528
  end
@@ -10,6 +10,12 @@ module OpenAI
10
10
  extend OpenAI::Internal::Type::RequestParameters::Converter
11
11
  include OpenAI::Internal::Type::RequestParameters
12
12
 
13
+ # @!attribute access_programs
14
+ # Domain-specific access programs to use for this request.
15
+ #
16
+ # @return [OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms, nil]
17
+ optional :access_programs, -> { OpenAI::Responses::ResponseCreateParams::AccessPrograms }
18
+
13
19
  # @!attribute background
14
20
  # Whether to run the model response in the background.
15
21
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -379,7 +385,10 @@ module OpenAI
379
385
  # @return [String, nil]
380
386
  optional :user, String
381
387
 
382
- # @!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, 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_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, request_options: {})
388
+ # @!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, 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_options: nil, temperature: nil, text: nil, tool_choice: nil, tools: nil, top_logprobs: nil, top_p: nil, truncation: nil, user: nil, request_options: {})
389
+ # @param access_programs [OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms]
390
+ # Domain-specific access programs to use for this request.
391
+ #
383
392
  # @param background [Boolean, nil]
384
393
  # Whether to run the model response in the background.
385
394
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -627,6 +636,61 @@ module OpenAI
627
636
  #
628
637
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
629
638
 
639
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
640
+ # @!attribute cyber
641
+ # The Cyber access program to use for this request. Supported values are
642
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
643
+ # the program from the model's Cyber tier and your organization and project
644
+ # access, subject to model-specific eligibility restrictions. By default, models
645
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
646
+ # authorized; otherwise they fall back to Standard unless the model requires
647
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
648
+ # Requests that require unavailable Daybreak access return 403. An implicit
649
+ # Standard fallback is represented by null in the response's access_programs
650
+ # field, rather than an explicit Standard selection.
651
+ #
652
+ # @return [Symbol, OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::Cyber, nil]
653
+ optional :cyber, enum: -> { OpenAI::Responses::ResponseCreateParams::AccessPrograms::Cyber }
654
+
655
+ # @!method initialize(cyber: nil)
656
+ # Domain-specific access programs to use for this request.
657
+ #
658
+ # @param cyber [Symbol, OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms::Cyber]
659
+ # The Cyber access program to use for this request. Supported values are
660
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
661
+ # the program from the model's Cyber tier and your organization and project
662
+ # access, subject to model-specific eligibility restrictions. By default, models
663
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
664
+ # authorized; otherwise they fall back to Standard unless the model requires
665
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
666
+ # Requests that require unavailable Daybreak access return 403. An implicit
667
+ # Standard fallback is represented by null in the response's access_programs
668
+ # field, rather than an explicit Standard selection.
669
+
670
+ # The Cyber access program to use for this request. Supported values are
671
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
672
+ # the program from the model's Cyber tier and your organization and project
673
+ # access, subject to model-specific eligibility restrictions. By default, models
674
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
675
+ # authorized; otherwise they fall back to Standard unless the model requires
676
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
677
+ # Requests that require unavailable Daybreak access return 403. An implicit
678
+ # Standard fallback is represented by null in the response's access_programs
679
+ # field, rather than an explicit Standard selection.
680
+ #
681
+ # @see OpenAI::Models::Responses::ResponseCreateParams::AccessPrograms#cyber
682
+ module Cyber
683
+ extend OpenAI::Internal::Type::Enum
684
+
685
+ STANDARD = :standard
686
+ DAYBREAK_BLUE = :daybreak_blue
687
+ DAYBREAK_RED = :daybreak_red
688
+
689
+ # @!method self.values
690
+ # @return [Array<Symbol>]
691
+ end
692
+ end
693
+
630
694
  class ContextManagement < OpenAI::Internal::Type::BaseModel
631
695
  # @!attribute type
632
696
  # The context management entry type. Currently only 'compaction' is supported.
@@ -56,6 +56,12 @@ module OpenAI
56
56
  # @return [Symbol, :"response.create"]
57
57
  required :type, const: :"response.create"
58
58
 
59
+ # @!attribute access_programs
60
+ # Domain-specific access programs to use for this request.
61
+ #
62
+ # @return [OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::AccessPrograms, nil]
63
+ optional :access_programs, -> { OpenAI::Responses::ResponsesClientEvent::ResponseCreate::AccessPrograms }
64
+
59
65
  # @!attribute background
60
66
  # Whether to run the model response in the background.
61
67
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -457,7 +463,7 @@ module OpenAI
457
463
  # @return [String, nil]
458
464
  optional :user, String
459
465
 
460
- # @!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, 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")
466
+ # @!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, 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")
461
467
  # Client event for creating a response over a persistent WebSocket connection.
462
468
  # This payload uses the same top-level fields as `POST /v1/responses`, plus
463
469
  # WebSocket-only envelope metadata.
@@ -468,6 +474,9 @@ module OpenAI
468
474
  # - `background` is not supported over WebSocket.
469
475
  # - `stream_id` is WebSocket-only and is not part of `POST /v1/responses`.
470
476
  #
477
+ # @param access_programs [OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::AccessPrograms]
478
+ # Domain-specific access programs to use for this request.
479
+ #
471
480
  # @param background [Boolean, nil]
472
481
  # Whether to run the model response in the background.
473
482
  # [Learn more](https://developers.openai.com/api/docs/guides/background).
@@ -730,6 +739,66 @@ module OpenAI
730
739
  #
731
740
  # @param type [Symbol, :"response.create"]
732
741
  # The type of the client event. Always `response.create`.
742
+
743
+ # @see OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate#access_programs
744
+ class AccessPrograms < OpenAI::Internal::Type::BaseModel
745
+ # @!attribute cyber
746
+ # The Cyber access program to use for this request. Supported values are
747
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
748
+ # the program from the model's Cyber tier and your organization and project
749
+ # access, subject to model-specific eligibility restrictions. By default, models
750
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
751
+ # authorized; otherwise they fall back to Standard unless the model requires
752
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
753
+ # Requests that require unavailable Daybreak access return 403. An implicit
754
+ # Standard fallback is represented by null in the response's access_programs
755
+ # field, rather than an explicit Standard selection.
756
+ #
757
+ # @return [Symbol, OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::AccessPrograms::Cyber, nil]
758
+ optional(
759
+ :cyber,
760
+ enum: -> { OpenAI::Responses::ResponsesClientEvent::ResponseCreate::AccessPrograms::Cyber }
761
+ )
762
+
763
+ # @!method initialize(cyber: nil)
764
+ # Domain-specific access programs to use for this request.
765
+ #
766
+ # @param cyber [Symbol, OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::AccessPrograms::Cyber]
767
+ # The Cyber access program to use for this request. Supported values are
768
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
769
+ # the program from the model's Cyber tier and your organization and project
770
+ # access, subject to model-specific eligibility restrictions. By default, models
771
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
772
+ # authorized; otherwise they fall back to Standard unless the model requires
773
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
774
+ # Requests that require unavailable Daybreak access return 403. An implicit
775
+ # Standard fallback is represented by null in the response's access_programs
776
+ # field, rather than an explicit Standard selection.
777
+
778
+ # The Cyber access program to use for this request. Supported values are
779
+ # `standard`, `daybreak_blue`, and `daybreak_red`. If omitted, the API resolves
780
+ # the program from the model's Cyber tier and your organization and project
781
+ # access, subject to model-specific eligibility restrictions. By default, models
782
+ # without a Cyber tier use Standard. Blue-tier models use Daybreak Blue when
783
+ # authorized; otherwise they fall back to Standard unless the model requires
784
+ # Daybreak access. Red-tier models use Daybreak Red and require authorization.
785
+ # Requests that require unavailable Daybreak access return 403. An implicit
786
+ # Standard fallback is represented by null in the response's access_programs
787
+ # field, rather than an explicit Standard selection.
788
+ #
789
+ # @see OpenAI::Models::Responses::ResponsesClientEvent::ResponseCreate::AccessPrograms#cyber
790
+ module Cyber
791
+ extend OpenAI::Internal::Type::Enum
792
+
793
+ STANDARD = :standard
794
+ DAYBREAK_BLUE = :daybreak_blue
795
+ DAYBREAK_RED = :daybreak_red
796
+
797
+ # @!method self.values
798
+ # @return [Array<Symbol>]
799
+ end
800
+ end
801
+
733
802
  class ContextManagement < OpenAI::Internal::Type::BaseModel
734
803
  # @!attribute type
735
804
  # The context management entry type. Currently only 'compaction' is supported.
@@ -27,7 +27,9 @@ module OpenAI
27
27
  optional :search_context_size, enum: -> { OpenAI::Responses::WebSearchPreviewTool::SearchContextSize }
28
28
 
29
29
  # @!attribute user_location
30
- # The user's location.
30
+ # The approximate location of the user. If omitted or null, defaults to the United
31
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
32
+ # fields. To localize results, provide the relevant location fields.
31
33
  #
32
34
  # @return [OpenAI::Models::Responses::WebSearchPreviewTool::UserLocation, nil]
33
35
  optional :user_location, -> { OpenAI::Responses::WebSearchPreviewTool::UserLocation }, nil?: true
@@ -48,7 +50,9 @@ module OpenAI
48
50
  # search. One of `low`, `medium`, or `high`. `medium` is the default.
49
51
  #
50
52
  # @param user_location [OpenAI::Models::Responses::WebSearchPreviewTool::UserLocation, nil]
51
- # The user's location.
53
+ # The approximate location of the user. If omitted or null, defaults to the United
54
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
55
+ # fields. To localize results, provide the relevant location fields.
52
56
 
53
57
  # The type of the web search tool. One of `web_search_preview` or
54
58
  # `web_search_preview_2025_03_11`.
@@ -124,7 +128,9 @@ module OpenAI
124
128
  optional :timezone, String, nil?: true
125
129
 
126
130
  # @!method initialize(city: nil, country: nil, region: nil, timezone: nil, type: :approximate)
127
- # The user's location.
131
+ # The approximate location of the user. If omitted or null, defaults to the United
132
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
133
+ # fields. To localize results, provide the relevant location fields.
128
134
  #
129
135
  # @param city [String, nil]
130
136
  # Free text input for the city of the user, e.g. `San Francisco`.
@@ -32,7 +32,9 @@ module OpenAI
32
32
  optional :search_context_size, enum: -> { OpenAI::Responses::WebSearchTool::SearchContextSize }
33
33
 
34
34
  # @!attribute user_location
35
- # The approximate location of the user.
35
+ # The approximate location of the user. If omitted or null, defaults to the United
36
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
37
+ # fields. To localize results, provide the relevant location fields.
36
38
  #
37
39
  # @return [OpenAI::Models::Responses::WebSearchTool::UserLocation, nil]
38
40
  optional :user_location, -> { OpenAI::Responses::WebSearchTool::UserLocation }, nil?: true
@@ -57,7 +59,9 @@ module OpenAI
57
59
  # search. One of `low`, `medium`, or `high`. `medium` is the default.
58
60
  #
59
61
  # @param user_location [OpenAI::Models::Responses::WebSearchTool::UserLocation, nil]
60
- # The approximate location of the user.
62
+ # The approximate location of the user. If omitted or null, defaults to the United
63
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
64
+ # fields. To localize results, provide the relevant location fields.
61
65
 
62
66
  # The type of the web search tool. One of `web_search` or `web_search_2025_08_26`.
63
67
  #
@@ -143,7 +147,9 @@ module OpenAI
143
147
  optional :type, enum: -> { OpenAI::Responses::WebSearchTool::UserLocation::Type }
144
148
 
145
149
  # @!method initialize(city: nil, country: nil, region: nil, timezone: nil, type: nil)
146
- # The approximate location of the user.
150
+ # The approximate location of the user. If omitted or null, defaults to the United
151
+ # States. To avoid this fallback, pass `{"type": "approximate"}` without location
152
+ # fields. To localize results, provide the relevant location fields.
147
153
  #
148
154
  # @param city [String, nil]
149
155
  # Free text input for the city of the user, e.g. `San Francisco`.
@@ -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>]