openai 0.95.0 → 0.97.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 (197) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +51 -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/audio/speech_create_params.rb +9 -0
  29. data/lib/openai/models/audio/transcription_create_response.rb +4 -1
  30. data/lib/openai/models/audio/translation_create_response.rb +4 -1
  31. data/lib/openai/models/beta/agent.rb +3 -2
  32. data/lib/openai/models/beta/agent_browser_authentication_cancel_param.rb +23 -0
  33. data/lib/openai/models/beta/agent_browser_authentication_submit_param.rb +70 -0
  34. data/lib/openai/models/beta/agent_browser_origin_access_param.rb +45 -0
  35. data/lib/openai/models/beta/agent_create_params.rb +5 -2
  36. data/lib/openai/models/beta/agent_output_item.rb +276 -1
  37. data/lib/openai/models/beta/agent_session.rb +252 -5
  38. data/lib/openai/models/beta/agent_session_input_param.rb +64 -1
  39. data/lib/openai/models/beta/agent_session_item.rb +391 -1
  40. data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +2 -2
  41. data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +2 -2
  42. data/lib/openai/models/beta/agent_tool.rb +27 -1
  43. data/lib/openai/models/beta/agent_tool_param.rb +27 -1
  44. data/lib/openai/models/beta/agent_update_params.rb +5 -2
  45. data/lib/openai/models/beta/agents/environments/environment_template.rb +26 -2
  46. data/lib/openai/models/beta/agents/environments/template_create_params.rb +51 -6
  47. data/lib/openai/models/beta/agents/environments/template_update_params.rb +51 -9
  48. data/lib/openai/models/beta/agents/session_create_params.rb +5 -2
  49. data/lib/openai/models/beta/agents/session_update_params.rb +3 -0
  50. data/lib/openai/models/beta/agents/sessions/event_create_params.rb +2 -2
  51. data/lib/openai/models/beta/agents/vaults/credential.rb +10 -1
  52. data/lib/openai/models/beta/agents/vaults/credential_create_params.rb +12 -1
  53. data/lib/openai/models/beta/agents/vaults/credential_update_params.rb +14 -3
  54. data/lib/openai/models/beta/beta_response.rb +38 -1
  55. data/lib/openai/models/beta/beta_responses_client_event.rb +73 -1
  56. data/lib/openai/models/beta/beta_web_search_preview_tool.rb +9 -3
  57. data/lib/openai/models/beta/beta_web_search_tool.rb +9 -3
  58. data/lib/openai/models/beta/environment.rb +26 -2
  59. data/lib/openai/models/beta/environment_param.rb +46 -6
  60. data/lib/openai/models/beta/persisted_agent_tool.rb +27 -1
  61. data/lib/openai/models/beta/persisted_agent_tool_param.rb +27 -1
  62. data/lib/openai/models/beta/response_compact_params.rb +3 -0
  63. data/lib/openai/models/beta/response_create_params.rb +68 -1
  64. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  65. data/lib/openai/models/chat_model.rb +1 -0
  66. data/lib/openai/models/responses/response.rb +35 -1
  67. data/lib/openai/models/responses/response_compact_params.rb +3 -0
  68. data/lib/openai/models/responses/response_create_params.rb +65 -1
  69. data/lib/openai/models/responses/responses_client_event.rb +70 -1
  70. data/lib/openai/models/responses/web_search_preview_tool.rb +9 -3
  71. data/lib/openai/models/responses/web_search_tool.rb +9 -3
  72. data/lib/openai/net_http_client.rb +0 -2
  73. data/lib/openai/resources/audio/transcriptions.rb +5 -3
  74. data/lib/openai/resources/audio/translations.rb +1 -1
  75. data/lib/openai/resources/beta/agents/environments/templates.rb +12 -5
  76. data/lib/openai/resources/beta/agents/sessions/events.rb +1 -1
  77. data/lib/openai/resources/beta/agents/sessions/items.rb +1 -1
  78. data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +1 -1
  79. data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +1 -1
  80. data/lib/openai/resources/beta/agents/vaults/credentials.rb +12 -4
  81. data/lib/openai/resources/beta/agents.rb +2 -2
  82. data/lib/openai/resources/beta/responses.rb +8 -2
  83. data/lib/openai/resources/responses.rb +8 -1
  84. data/lib/openai/version.rb +1 -1
  85. data/lib/openai.rb +4 -0
  86. data/rbi/openai/helpers/live/transcript_grouper.rbi +67 -0
  87. data/rbi/openai/helpers/live/websocket.rbi +299 -0
  88. data/rbi/openai/helpers/realtime/translation.rbi +137 -0
  89. data/rbi/openai/helpers/responses_websocket/incremental.rbi +32 -0
  90. data/rbi/openai/helpers/responses_websocket/transports/async_websocket.rbi +24 -0
  91. data/rbi/openai/helpers/streaming/response_stream.rbi +5 -0
  92. data/rbi/openai/internal/type/converter.rbi +3 -2
  93. data/rbi/openai/models/audio/speech_create_params.rbi +3 -0
  94. data/rbi/openai/models/audio/transcription_create_response.rbi +2 -1
  95. data/rbi/openai/models/audio/translation_create_response.rbi +2 -1
  96. data/rbi/openai/models/beta/agent.rbi +3 -1
  97. data/rbi/openai/models/beta/agent_browser_authentication_cancel_param.rbi +53 -0
  98. data/rbi/openai/models/beta/agent_browser_authentication_submit_param.rbi +125 -0
  99. data/rbi/openai/models/beta/agent_browser_origin_access_param.rbi +76 -0
  100. data/rbi/openai/models/beta/agent_create_params.rbi +9 -3
  101. data/rbi/openai/models/beta/agent_output_item.rbi +422 -0
  102. data/rbi/openai/models/beta/agent_session.rbi +374 -1
  103. data/rbi/openai/models/beta/agent_session_input_param.rbi +102 -0
  104. data/rbi/openai/models/beta/agent_session_item.rbi +614 -0
  105. data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +3 -0
  106. data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +2 -0
  107. data/rbi/openai/models/beta/agent_tool.rbi +49 -1
  108. data/rbi/openai/models/beta/agent_tool_param.rbi +52 -1
  109. data/rbi/openai/models/beta/agent_update_params.rbi +9 -3
  110. data/rbi/openai/models/beta/agents/environments/environment_template.rbi +53 -2
  111. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +77 -7
  112. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +77 -10
  113. data/rbi/openai/models/beta/agents/session_create_params.rbi +9 -3
  114. data/rbi/openai/models/beta/agents/session_update_params.rbi +3 -0
  115. data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +3 -0
  116. data/rbi/openai/models/beta/agents/vaults/credential.rbi +10 -0
  117. data/rbi/openai/models/beta/agents/vaults/credential_create_params.rbi +15 -0
  118. data/rbi/openai/models/beta/agents/vaults/credential_update_params.rbi +35 -6
  119. data/rbi/openai/models/beta/beta_response.rbi +64 -0
  120. data/rbi/openai/models/beta/beta_responses_client_event.rbi +128 -0
  121. data/rbi/openai/models/beta/beta_web_search_preview_tool.rbi +9 -3
  122. data/rbi/openai/models/beta/beta_web_search_tool.rbi +9 -3
  123. data/rbi/openai/models/beta/environment.rbi +53 -2
  124. data/rbi/openai/models/beta/environment_param.rbi +75 -7
  125. data/rbi/openai/models/beta/persisted_agent_tool.rbi +49 -1
  126. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +52 -1
  127. data/rbi/openai/models/beta/response_compact_params.rbi +1 -0
  128. data/rbi/openai/models/beta/response_create_params.rbi +100 -0
  129. data/rbi/openai/models/beta/session_turn_error.rbi +6 -0
  130. data/rbi/openai/models/chat_model.rbi +1 -0
  131. data/rbi/openai/models/responses/response.rbi +63 -0
  132. data/rbi/openai/models/responses/response_compact_params.rbi +1 -0
  133. data/rbi/openai/models/responses/response_create_params.rbi +106 -0
  134. data/rbi/openai/models/responses/responses_client_event.rbi +125 -0
  135. data/rbi/openai/models/responses/web_search_preview_tool.rbi +9 -3
  136. data/rbi/openai/models/responses/web_search_tool.rbi +9 -3
  137. data/rbi/openai/resources/audio/transcriptions.rbi +4 -2
  138. data/rbi/openai/resources/beta/agents/environments/templates.rbi +10 -3
  139. data/rbi/openai/resources/beta/agents/sessions/events.rbi +1 -0
  140. data/rbi/openai/resources/beta/agents/vaults/credentials.rbi +11 -3
  141. data/rbi/openai/resources/beta/agents.rbi +4 -2
  142. data/rbi/openai/resources/beta/responses.rbi +6 -0
  143. data/rbi/openai/resources/responses.rbi +11 -0
  144. data/responses-websocket.md +55 -0
  145. data/sig/openai/helpers/live/transcript_grouper.rbs +42 -0
  146. data/sig/openai/helpers/live/websocket.rbs +152 -0
  147. data/sig/openai/helpers/realtime/translation.rbs +81 -0
  148. data/sig/openai/helpers/responses_websocket/incremental.rbs +14 -0
  149. data/sig/openai/helpers/responses_websocket/transports/async_websocket.rbs +21 -0
  150. data/sig/openai/helpers/streaming/response_stream.rbs +9 -0
  151. data/sig/openai/internal/type/converter.rbs +3 -1
  152. data/sig/openai/models/audio/speech_create_params.rbs +6 -0
  153. data/sig/openai/models/audio/transcription_create_response.rbs +1 -0
  154. data/sig/openai/models/audio/translation_create_response.rbs +3 -1
  155. data/sig/openai/models/beta/agent.rbs +3 -1
  156. data/sig/openai/models/beta/agent_browser_authentication_cancel_param.rbs +21 -0
  157. data/sig/openai/models/beta/agent_browser_authentication_submit_param.rbs +63 -0
  158. data/sig/openai/models/beta/agent_browser_origin_access_param.rbs +47 -0
  159. data/sig/openai/models/beta/agent_create_params.rbs +5 -1
  160. data/sig/openai/models/beta/agent_output_item.rbs +254 -0
  161. data/sig/openai/models/beta/agent_session.rbs +218 -2
  162. data/sig/openai/models/beta/agent_session_input_param.rbs +51 -1
  163. data/sig/openai/models/beta/agent_session_item.rbs +362 -0
  164. data/sig/openai/models/beta/agent_tool.rbs +22 -0
  165. data/sig/openai/models/beta/agent_tool_param.rbs +25 -0
  166. data/sig/openai/models/beta/agent_update_params.rbs +5 -1
  167. data/sig/openai/models/beta/agents/environments/environment_template.rbs +29 -3
  168. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +41 -6
  169. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +41 -8
  170. data/sig/openai/models/beta/agents/session_create_params.rbs +5 -1
  171. data/sig/openai/models/beta/agents/session_update_params.rbs +5 -1
  172. data/sig/openai/models/beta/agents/vaults/credential.rbs +8 -0
  173. data/sig/openai/models/beta/agents/vaults/credential_create_params.rbs +14 -0
  174. data/sig/openai/models/beta/agents/vaults/credential_update_params.rbs +23 -4
  175. data/sig/openai/models/beta/beta_response.rbs +37 -0
  176. data/sig/openai/models/beta/beta_responses_client_event.rbs +79 -0
  177. data/sig/openai/models/beta/beta_web_search_preview_tool.rbs +6 -2
  178. data/sig/openai/models/beta/beta_web_search_tool.rbs +6 -2
  179. data/sig/openai/models/beta/environment.rbs +29 -3
  180. data/sig/openai/models/beta/environment_param.rbs +41 -6
  181. data/sig/openai/models/beta/persisted_agent_tool.rbs +22 -0
  182. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +25 -0
  183. data/sig/openai/models/beta/response_compact_params.rbs +2 -0
  184. data/sig/openai/models/beta/response_create_params.rbs +79 -0
  185. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  186. data/sig/openai/models/chat_model.rbs +2 -0
  187. data/sig/openai/models/responses/response.rbs +35 -0
  188. data/sig/openai/models/responses/response_compact_params.rbs +2 -0
  189. data/sig/openai/models/responses/response_create_params.rbs +77 -0
  190. data/sig/openai/models/responses/responses_client_event.rbs +77 -0
  191. data/sig/openai/models/responses/web_search_preview_tool.rbs +6 -2
  192. data/sig/openai/models/responses/web_search_tool.rbs +6 -2
  193. data/sig/openai/resources/beta/agents/environments/templates.rbs +2 -0
  194. data/sig/openai/resources/beta/agents/vaults/credentials.rbs +3 -1
  195. data/sig/openai/resources/beta/responses.rbs +2 -0
  196. data/sig/openai/resources/responses.rbs +4 -0
  197. metadata +23 -1
@@ -17,6 +17,19 @@ module OpenAI
17
17
  # @return [Array<String>, nil]
18
18
  optional :capability_directories, OpenAI::Internal::Type::ArrayOf[String], nil?: true
19
19
 
20
+ # @!attribute desktop
21
+ # Desktop provisioning. Omission or null inherits the template setting, or
22
+ # defaults to disabled.
23
+ #
24
+ # @return [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Desktop, nil]
25
+ optional(
26
+ :desktop,
27
+ -> {
28
+ OpenAI::Beta::Agents::Environments::TemplateCreateParams::Desktop
29
+ },
30
+ nil?: true
31
+ )
32
+
20
33
  # @!attribute env
21
34
  # Environment variables made available to the agent.
22
35
  #
@@ -41,7 +54,7 @@ module OpenAI
41
54
 
42
55
  # @!attribute network
43
56
  # Network access policy for the environment. Defaults to disabled for GA requests
44
- # and enabled for alpha/beta requests.
57
+ # and enabled for beta requests.
45
58
  #
46
59
  # @return [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network, nil]
47
60
  optional(
@@ -97,11 +110,15 @@ module OpenAI
97
110
  nil?: true
98
111
  )
99
112
 
100
- # @!method initialize(capability_directories: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
113
+ # @!method initialize(capability_directories: nil, desktop: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
101
114
  # @param capability_directories [Array<String>, nil]
102
115
  # Directories that contain capabilities exposed to the agent. Defaults to an empty
103
116
  # list.
104
117
  #
118
+ # @param desktop [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Desktop, nil]
119
+ # Desktop provisioning. Omission or null inherits the template setting, or
120
+ # defaults to disabled.
121
+ #
105
122
  # @param env [Hash{Symbol=>String}, nil]
106
123
  # Environment variables made available to the agent.
107
124
  #
@@ -113,7 +130,7 @@ module OpenAI
113
130
  #
114
131
  # @param network [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network, nil]
115
132
  # Network access policy for the environment. Defaults to disabled for GA requests
116
- # and enabled for alpha/beta requests.
133
+ # and enabled for beta requests.
117
134
  #
118
135
  # @param packages [OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Packages, nil]
119
136
  # Packages to install in the environment. Defaults to empty package lists.
@@ -130,6 +147,21 @@ module OpenAI
130
147
  #
131
148
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
132
149
 
150
+ class Desktop < OpenAI::Internal::Type::BaseModel
151
+ # @!attribute enabled
152
+ # Whether to provision the desktop and its browser proxy.
153
+ #
154
+ # @return [Boolean]
155
+ required :enabled, OpenAI::Internal::Type::Boolean
156
+
157
+ # @!method initialize(enabled:)
158
+ # Desktop provisioning. Omission or null inherits the template setting, or
159
+ # defaults to disabled.
160
+ #
161
+ # @param enabled [Boolean]
162
+ # Whether to provision the desktop and its browser proxy.
163
+ end
164
+
133
165
  class Network < OpenAI::Internal::Type::BaseModel
134
166
  # @!attribute access
135
167
  # The environment's network access mode.
@@ -143,15 +175,28 @@ module OpenAI
143
175
  # @return [Array<String>, nil]
144
176
  optional :allowed_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
145
177
 
146
- # @!method initialize(access:, allowed_domains: nil)
178
+ # @!attribute blocked_domains
179
+ # Domains blocked for both executor and browser when access is restricted. A
180
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
181
+ # `allowed_domains`. Wildcard domains are not supported.
182
+ #
183
+ # @return [Array<String>, nil]
184
+ optional :blocked_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
185
+
186
+ # @!method initialize(access:, allowed_domains: nil, blocked_domains: nil)
147
187
  # Network access policy for the environment. Defaults to disabled for GA requests
148
- # and enabled for alpha/beta requests.
188
+ # and enabled for beta requests.
149
189
  #
150
190
  # @param access [Symbol, OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network::Access]
151
191
  # The environment's network access mode.
152
192
  #
153
193
  # @param allowed_domains [Array<String>, nil]
154
194
  # Domains the environment may access when network access is restricted.
195
+ #
196
+ # @param blocked_domains [Array<String>, nil]
197
+ # Domains blocked for both executor and browser when access is restricted. A
198
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
199
+ # `allowed_domains`. Wildcard domains are not supported.
155
200
 
156
201
  # The environment's network access mode.
157
202
  #
@@ -165,7 +210,7 @@ module OpenAI
165
210
  # Disables network access.
166
211
  DISABLED = :disabled
167
212
 
168
- # Allows access only to configured domains.
213
+ # Applies the configured domain restrictions.
169
214
  RESTRICTED = :restricted
170
215
 
171
216
  # @!method self.values
@@ -21,6 +21,18 @@ module OpenAI
21
21
  # @return [Array<String>, nil]
22
22
  optional :capability_directories, OpenAI::Internal::Type::ArrayOf[String], nil?: true
23
23
 
24
+ # @!attribute desktop
25
+ # Replacement desktop configuration, or null to disable the desktop.
26
+ #
27
+ # @return [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Desktop, nil]
28
+ optional(
29
+ :desktop,
30
+ -> {
31
+ OpenAI::Beta::Agents::Environments::TemplateUpdateParams::Desktop
32
+ },
33
+ nil?: true
34
+ )
35
+
24
36
  # @!attribute env
25
37
  # Replacement confidential environment values.
26
38
  #
@@ -45,8 +57,8 @@ module OpenAI
45
57
 
46
58
  # @!attribute network
47
59
  # 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.
60
+ # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
61
+ # requests.
50
62
  #
51
63
  # @return [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network, nil]
52
64
  optional(
@@ -101,12 +113,15 @@ module OpenAI
101
113
  nil?: true
102
114
  )
103
115
 
104
- # @!method initialize(environment_template_id:, capability_directories: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
116
+ # @!method initialize(environment_template_id:, capability_directories: nil, desktop: nil, env: nil, files: nil, name: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, request_options: {})
105
117
  # @param environment_template_id [String]
106
118
  #
107
119
  # @param capability_directories [Array<String>, nil]
108
120
  # Directories that expose capabilities to the agent.
109
121
  #
122
+ # @param desktop [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Desktop, nil]
123
+ # Replacement desktop configuration, or null to disable the desktop.
124
+ #
110
125
  # @param env [Hash{Symbol=>String}, nil]
111
126
  # Replacement confidential environment values.
112
127
  #
@@ -118,8 +133,8 @@ module OpenAI
118
133
  #
119
134
  # @param network [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network, nil]
120
135
  # 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.
136
+ # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
137
+ # requests.
123
138
  #
124
139
  # @param packages [OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Packages, nil]
125
140
  # Packages installed before the runtime network policy applies.
@@ -135,6 +150,20 @@ module OpenAI
135
150
  #
136
151
  # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
137
152
 
153
+ class Desktop < OpenAI::Internal::Type::BaseModel
154
+ # @!attribute enabled
155
+ # Whether to provision the desktop and its browser proxy.
156
+ #
157
+ # @return [Boolean]
158
+ required :enabled, OpenAI::Internal::Type::Boolean
159
+
160
+ # @!method initialize(enabled:)
161
+ # Replacement desktop configuration, or null to disable the desktop.
162
+ #
163
+ # @param enabled [Boolean]
164
+ # Whether to provision the desktop and its browser proxy.
165
+ end
166
+
138
167
  class Network < OpenAI::Internal::Type::BaseModel
139
168
  # @!attribute access
140
169
  # The environment's network access mode.
@@ -148,16 +177,29 @@ module OpenAI
148
177
  # @return [Array<String>, nil]
149
178
  optional :allowed_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
150
179
 
151
- # @!method initialize(access:, allowed_domains: nil)
180
+ # @!attribute blocked_domains
181
+ # Domains blocked for both executor and browser when access is restricted. A
182
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
183
+ # `allowed_domains`. Wildcard domains are not supported.
184
+ #
185
+ # @return [Array<String>, nil]
186
+ optional :blocked_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
187
+
188
+ # @!method initialize(access:, allowed_domains: nil, blocked_domains: nil)
152
189
  # 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.
190
+ # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
191
+ # requests.
155
192
  #
156
193
  # @param access [Symbol, OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network::Access]
157
194
  # The environment's network access mode.
158
195
  #
159
196
  # @param allowed_domains [Array<String>, nil]
160
197
  # Domains the environment may access when network access is restricted.
198
+ #
199
+ # @param blocked_domains [Array<String>, nil]
200
+ # Domains blocked for both executor and browser when access is restricted. A
201
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
202
+ # `allowed_domains`. Wildcard domains are not supported.
161
203
 
162
204
  # The environment's network access mode.
163
205
  #
@@ -171,7 +213,7 @@ module OpenAI
171
213
  # Disables network access.
172
214
  DISABLED = :disabled
173
215
 
174
- # Allows access only to configured domains.
216
+ # Applies the configured domain restrictions.
175
217
  RESTRICTED = :restricted
176
218
 
177
219
  # @!method self.values
@@ -126,7 +126,7 @@ module OpenAI
126
126
  # @!attribute tools
127
127
  # Tools available to the agent. Omit to inherit, or pass null to clear them.
128
128
  #
129
- # @return [Array<OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch>, nil]
129
+ # @return [Array<OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch, OpenAI::Models::Beta::AgentToolParam::ComputerUse>, nil]
130
130
  optional(
131
131
  :tools,
132
132
  -> {
@@ -159,7 +159,7 @@ module OpenAI
159
159
  # @param text [OpenAI::Models::Beta::AgentTextParam, nil]
160
160
  # Configuration for text generated by the agent.
161
161
  #
162
- # @param tools [Array<OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch>, nil]
162
+ # @param tools [Array<OpenAI::Models::Beta::AgentToolParam::Function, OpenAI::Models::Beta::AgentToolParam::ToolSearch, OpenAI::Models::Beta::AgentToolParam::ProgrammaticToolCalling, OpenAI::Models::Beta::AgentToolParam::Mcp, OpenAI::Models::Beta::AgentToolParam::WebSearch, OpenAI::Models::Beta::AgentToolParam::ComputerUse>, nil]
163
163
  # Tools available to the agent. Omit to inherit, or pass null to clear them.
164
164
 
165
165
  # The service tier used for model requests.
@@ -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
@@ -18,7 +18,7 @@ module OpenAI
18
18
  # @!attribute events
19
19
  # The input events to submit to the session.
20
20
  #
21
- # @return [Array<OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMessage, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputCancel, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputToolResult>]
21
+ # @return [Array<OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputComputerUseApprovalRequestResult, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMessage, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputCancel, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputToolResult>]
22
22
  required :events, -> { OpenAI::Internal::Type::ArrayOf[union: OpenAI::Beta::AgentSessionInputParam] }
23
23
 
24
24
  # @!attribute idempotency_key
@@ -29,7 +29,7 @@ module OpenAI
29
29
  # @!method initialize(session_id:, events:, idempotency_key: nil, request_options: {})
30
30
  # @param session_id [String]
31
31
  #
32
- # @param events [Array<OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMessage, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputCancel, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputToolResult>]
32
+ # @param events [Array<OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputComputerUseApprovalRequestResult, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputMessage, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputCancel, OpenAI::Models::Beta::AgentSessionInputParam::AgentSessionInputToolResult>]
33
33
  # The input events to submit to the session.
34
34
  #
35
35
  # @param idempotency_key [String]
@@ -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 }
@@ -888,6 +924,7 @@ module OpenAI
888
924
  # @!group
889
925
 
890
926
  GPT_6_ASTRA = :"gpt-6-astra"
927
+ GPT_6_1_SOL = :"gpt-6.1-sol"
891
928
  GPT_6_SOL = :"gpt-6-sol"
892
929
  GPT_6_LUNA = :"gpt-6-luna"
893
930
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -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 }
@@ -1240,6 +1311,7 @@ module OpenAI
1240
1311
  # @!group
1241
1312
 
1242
1313
  GPT_6_ASTRA = :"gpt-6-astra"
1314
+ GPT_6_1_SOL = :"gpt-6.1-sol"
1243
1315
  GPT_6_SOL = :"gpt-6-sol"
1244
1316
  GPT_6_LUNA = :"gpt-6-luna"
1245
1317
  GPT_5_6_SOL = :"gpt-5.6-sol"
@@ -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`.