openai 0.96.0 → 0.98.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 (176) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +31 -0
  3. data/README.md +76 -1
  4. data/lib/openai/helpers/agents/session_stream.rb +60 -3
  5. data/lib/openai/helpers/beta/agents/artifacts.rb +72 -0
  6. data/lib/openai/helpers/beta/agents/creation_stream.rb +69 -0
  7. data/lib/openai/helpers/beta/agents/files.rb +236 -0
  8. data/lib/openai/helpers/beta/agents/function_tool.rb +65 -0
  9. data/lib/openai/helpers/beta/agents/model_adapter.rb +27 -0
  10. data/lib/openai/helpers/beta/agents/result.rb +170 -0
  11. data/lib/openai/helpers/beta/agents/typed_output.rb +191 -0
  12. data/lib/openai/helpers/live/websocket.rb +7 -1
  13. data/lib/openai/helpers/realtime/conversation_item_variant_resolver.rb +1 -1
  14. data/lib/openai/helpers/responses_websocket/connection.rb +7 -1
  15. data/lib/openai/helpers/responses_websocket/session.rb +5 -1
  16. data/lib/openai/helpers/responses_websocket/transports/async_websocket.rb +12 -2
  17. data/lib/openai/internal/transport/base_client.rb +18 -0
  18. data/lib/openai/internal/type/array_of.rb +1 -1
  19. data/lib/openai/internal/type/base_model.rb +6 -3
  20. data/lib/openai/internal/type/converter.rb +50 -3
  21. data/lib/openai/internal/type/hash_of.rb +1 -1
  22. data/lib/openai/internal/type/union.rb +6 -6
  23. data/lib/openai/models/beta/agent.rb +2 -2
  24. data/lib/openai/models/beta/agent_browser_authentication_cancel_param.rb +23 -0
  25. data/lib/openai/models/beta/agent_browser_authentication_submit_param.rb +70 -0
  26. data/lib/openai/models/beta/agent_browser_origin_access_param.rb +45 -0
  27. data/lib/openai/models/beta/agent_create_params.rb +2 -2
  28. data/lib/openai/models/beta/agent_output_item.rb +276 -1
  29. data/lib/openai/models/beta/agent_session.rb +251 -5
  30. data/lib/openai/models/beta/agent_session_input_param.rb +64 -1
  31. data/lib/openai/models/beta/agent_session_item.rb +391 -1
  32. data/lib/openai/models/beta/agent_session_turn_item_added_event.rb +2 -2
  33. data/lib/openai/models/beta/agent_session_turn_item_done_event.rb +2 -2
  34. data/lib/openai/models/beta/agent_tool.rb +27 -1
  35. data/lib/openai/models/beta/agent_tool_param.rb +27 -1
  36. data/lib/openai/models/beta/agent_update_params.rb +2 -2
  37. data/lib/openai/models/beta/agents/environments/environment_template.rb +26 -2
  38. data/lib/openai/models/beta/agents/environments/template_create_params.rb +48 -3
  39. data/lib/openai/models/beta/agents/environments/template_update_params.rb +45 -3
  40. data/lib/openai/models/beta/agents/session_create_params.rb +2 -2
  41. data/lib/openai/models/beta/agents/sessions/event_create_params.rb +2 -2
  42. data/lib/openai/models/beta/agents/sessions/session_trace.rb +64 -0
  43. data/lib/openai/models/beta/agents/sessions/trace_list_params.rb +68 -0
  44. data/lib/openai/models/beta/agents/vaults/credential.rb +8 -4
  45. data/lib/openai/models/beta/beta_response_output_text.rb +2 -2
  46. data/lib/openai/models/beta/beta_response_output_text_annotation_added_event.rb +2 -2
  47. data/lib/openai/models/beta/environment.rb +58 -2
  48. data/lib/openai/models/beta/environment_param.rb +66 -3
  49. data/lib/openai/models/beta/persisted_agent_tool.rb +27 -1
  50. data/lib/openai/models/beta/persisted_agent_tool_param.rb +27 -1
  51. data/lib/openai/models/beta/session_turn_error.rb +3 -0
  52. data/lib/openai/models/chat/chat_completion_content_part_image.rb +1 -0
  53. data/lib/openai/models/live/fork_server_event.rb +14 -3
  54. data/lib/openai/models/live/server_event.rb +14 -3
  55. data/lib/openai/models/realtime/translations/client_secret_create_params.rb +28 -0
  56. data/lib/openai/models/responses/response_output_text.rb +2 -2
  57. data/lib/openai/models/responses/response_output_text_annotation_added_event.rb +2 -2
  58. data/lib/openai/resources/beta/agents/environments/files.rb +31 -0
  59. data/lib/openai/resources/beta/agents/environments/templates.rb +9 -2
  60. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +8 -0
  61. data/lib/openai/resources/beta/agents/sessions/events.rb +7 -6
  62. data/lib/openai/resources/beta/agents/sessions/items.rb +1 -1
  63. data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +1 -1
  64. data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +1 -1
  65. data/lib/openai/resources/beta/agents/sessions/traces.rb +58 -0
  66. data/lib/openai/resources/beta/agents/sessions.rb +18 -5
  67. data/lib/openai/resources/beta/agents.rb +2 -2
  68. data/lib/openai/resources/evals/runs.rb +1 -1
  69. data/lib/openai/resources/realtime/translations/client_secrets.rb +58 -0
  70. data/lib/openai/resources/realtime/translations.rb +20 -0
  71. data/lib/openai/resources/realtime.rb +4 -0
  72. data/lib/openai/version.rb +1 -1
  73. data/lib/openai.rb +12 -1
  74. data/rbi/openai/helpers/agents.rbi +20 -1
  75. data/rbi/openai/helpers/beta/agents/artifacts.rbi +29 -0
  76. data/rbi/openai/helpers/beta/agents/files.rbi +65 -0
  77. data/rbi/openai/helpers/beta/agents/function_tool.rbi +40 -0
  78. data/rbi/openai/helpers/beta/agents/model_adapter.rbi +22 -0
  79. data/rbi/openai/helpers/beta/agents.rbi +146 -0
  80. data/rbi/openai/internal/transport/base_client.rbi +12 -0
  81. data/rbi/openai/internal/type/base_model.rbi +2 -2
  82. data/rbi/openai/internal/type/converter.rbi +21 -3
  83. data/rbi/openai/internal/type/union.rbi +6 -2
  84. data/rbi/openai/models/beta/agent.rbi +2 -1
  85. data/rbi/openai/models/beta/agent_browser_authentication_cancel_param.rbi +53 -0
  86. data/rbi/openai/models/beta/agent_browser_authentication_submit_param.rbi +125 -0
  87. data/rbi/openai/models/beta/agent_browser_origin_access_param.rbi +76 -0
  88. data/rbi/openai/models/beta/agent_create_params.rbi +6 -3
  89. data/rbi/openai/models/beta/agent_output_item.rbi +422 -0
  90. data/rbi/openai/models/beta/agent_session.rbi +373 -1
  91. data/rbi/openai/models/beta/agent_session_input_param.rbi +102 -0
  92. data/rbi/openai/models/beta/agent_session_item.rbi +614 -0
  93. data/rbi/openai/models/beta/agent_session_turn_item_added_event.rbi +3 -0
  94. data/rbi/openai/models/beta/agent_session_turn_item_done_event.rbi +2 -0
  95. data/rbi/openai/models/beta/agent_tool.rbi +49 -1
  96. data/rbi/openai/models/beta/agent_tool_param.rbi +52 -1
  97. data/rbi/openai/models/beta/agent_update_params.rbi +6 -3
  98. data/rbi/openai/models/beta/agents/environments/environment_template.rbi +53 -2
  99. data/rbi/openai/models/beta/agents/environments/template_create_params.rbi +74 -4
  100. data/rbi/openai/models/beta/agents/environments/template_update_params.rbi +71 -4
  101. data/rbi/openai/models/beta/agents/session_create_params.rbi +6 -3
  102. data/rbi/openai/models/beta/agents/sessions/event_create_params.rbi +3 -0
  103. data/rbi/openai/models/beta/agents/sessions/session_trace.rbi +97 -0
  104. data/rbi/openai/models/beta/agents/sessions/trace_list_params.rbi +121 -0
  105. data/rbi/openai/models/beta/agents/vaults/credential.rbi +5 -5
  106. data/rbi/openai/models/beta/beta_response_output_text.rbi +2 -2
  107. data/rbi/openai/models/beta/beta_response_output_text_annotation_added_event.rbi +2 -2
  108. data/rbi/openai/models/beta/environment.rbi +82 -2
  109. data/rbi/openai/models/beta/environment_param.rbi +103 -4
  110. data/rbi/openai/models/beta/persisted_agent_tool.rbi +49 -1
  111. data/rbi/openai/models/beta/persisted_agent_tool_param.rbi +52 -1
  112. data/rbi/openai/models/beta/session_turn_error.rbi +3 -0
  113. data/rbi/openai/models/chat/chat_completion_content_part_image.rbi +1 -0
  114. data/rbi/openai/models/live/fork_server_event.rbi +14 -2
  115. data/rbi/openai/models/live/server_event.rbi +14 -2
  116. data/rbi/openai/models/realtime/translations/client_secret_create_params.rbi +68 -0
  117. data/rbi/openai/models/responses/response_output_text.rbi +2 -2
  118. data/rbi/openai/models/responses/response_output_text_annotation_added_event.rbi +2 -2
  119. data/rbi/openai/resources/beta/agents/environments/files.rbi +31 -0
  120. data/rbi/openai/resources/beta/agents/environments/templates.rbi +7 -0
  121. data/rbi/openai/resources/beta/agents/sessions/artifacts.rbi +8 -0
  122. data/rbi/openai/resources/beta/agents/sessions/events.rbi +7 -5
  123. data/rbi/openai/resources/beta/agents/sessions/traces.rbi +54 -0
  124. data/rbi/openai/resources/beta/agents/sessions.rbi +6 -1
  125. data/rbi/openai/resources/beta/agents.rbi +4 -2
  126. data/rbi/openai/resources/realtime/translations/client_secrets.rbi +54 -0
  127. data/rbi/openai/resources/realtime/translations.rbi +22 -0
  128. data/rbi/openai/resources/realtime.rbi +3 -0
  129. data/sig/openai/helpers/agents.rbs +7 -0
  130. data/sig/openai/helpers/beta/agents/artifacts.rbs +20 -0
  131. data/sig/openai/helpers/beta/agents/files.rbs +41 -0
  132. data/sig/openai/helpers/beta/agents/function_tool.rbs +24 -0
  133. data/sig/openai/helpers/beta/agents/model_adapter.rbs +16 -0
  134. data/sig/openai/helpers/beta/agents.rbs +71 -0
  135. data/sig/openai/helpers/structured_output.rbs +12 -0
  136. data/sig/openai/internal/transport/base_client.rbs +8 -0
  137. data/sig/openai/internal/type/base_model.rbs +3 -1
  138. data/sig/openai/internal/type/converter.rbs +16 -2
  139. data/sig/openai/internal/type/union.rbs +2 -1
  140. data/sig/openai/models/beta/agent_browser_authentication_cancel_param.rbs +21 -0
  141. data/sig/openai/models/beta/agent_browser_authentication_submit_param.rbs +63 -0
  142. data/sig/openai/models/beta/agent_browser_origin_access_param.rbs +47 -0
  143. data/sig/openai/models/beta/agent_output_item.rbs +254 -0
  144. data/sig/openai/models/beta/agent_session.rbs +215 -1
  145. data/sig/openai/models/beta/agent_session_input_param.rbs +51 -1
  146. data/sig/openai/models/beta/agent_session_item.rbs +362 -0
  147. data/sig/openai/models/beta/agent_tool.rbs +22 -0
  148. data/sig/openai/models/beta/agent_tool_param.rbs +25 -0
  149. data/sig/openai/models/beta/agents/environments/environment_template.rbs +29 -3
  150. data/sig/openai/models/beta/agents/environments/template_create_params.rbs +39 -4
  151. data/sig/openai/models/beta/agents/environments/template_update_params.rbs +37 -4
  152. data/sig/openai/models/beta/agents/sessions/session_trace.rbs +65 -0
  153. data/sig/openai/models/beta/agents/sessions/trace_list_params.rbs +81 -0
  154. data/sig/openai/models/beta/agents/vaults/credential.rbs +5 -5
  155. data/sig/openai/models/beta/beta_response_output_text.rbs +2 -2
  156. data/sig/openai/models/beta/beta_response_output_text_annotation_added_event.rbs +2 -2
  157. data/sig/openai/models/beta/environment.rbs +51 -3
  158. data/sig/openai/models/beta/environment_param.rbs +64 -4
  159. data/sig/openai/models/beta/persisted_agent_tool.rbs +22 -0
  160. data/sig/openai/models/beta/persisted_agent_tool_param.rbs +25 -0
  161. data/sig/openai/models/beta/session_turn_error.rbs +4 -0
  162. data/sig/openai/models/chat/chat_completion_content_part_image.rbs +2 -1
  163. data/sig/openai/models/live/fork_server_event.rbs +17 -2
  164. data/sig/openai/models/live/server_event.rbs +17 -2
  165. data/sig/openai/models/realtime/translations/client_secret_create_params.rbs +39 -0
  166. data/sig/openai/models/responses/response_output_text.rbs +2 -2
  167. data/sig/openai/models/responses/response_output_text_annotation_added_event.rbs +2 -2
  168. data/sig/openai/resources/beta/agents/environments/files.rbs +17 -0
  169. data/sig/openai/resources/beta/agents/environments/templates.rbs +2 -0
  170. data/sig/openai/resources/beta/agents/sessions/artifacts.rbs +4 -0
  171. data/sig/openai/resources/beta/agents/sessions/traces.rbs +21 -0
  172. data/sig/openai/resources/beta/agents/sessions.rbs +4 -1
  173. data/sig/openai/resources/realtime/translations/client_secrets.rbs +17 -0
  174. data/sig/openai/resources/realtime/translations.rbs +11 -0
  175. data/sig/openai/resources/realtime.rbs +2 -0
  176. metadata +46 -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
  #
@@ -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
  #
@@ -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,7 +175,15 @@ 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
188
  # and enabled for beta requests.
149
189
  #
@@ -152,6 +192,11 @@ module OpenAI
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
  #
@@ -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
  #
@@ -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,7 +177,15 @@ 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
190
  # policy, or pass `null` to reset to disabled for GA requests or enabled for beta
154
191
  # requests.
@@ -158,6 +195,11 @@ module OpenAI
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.
@@ -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]
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module Agents
7
+ module Sessions
8
+ # @see OpenAI::Resources::Beta::Agents::Sessions::Traces#list
9
+ class SessionTrace < OpenAI::Internal::Type::BaseModel
10
+ # @!attribute id
11
+ # The root turn ID. Use this ID as the pagination anchor.
12
+ #
13
+ # @return [String]
14
+ required :id, String
15
+
16
+ # @!attribute created_at
17
+ # The Unix timestamp in seconds when the root turn was created.
18
+ #
19
+ # @return [Integer]
20
+ required :created_at, Integer
21
+
22
+ # @!attribute object
23
+ # The object type, which is always `agent.session.trace`.
24
+ #
25
+ # @return [Symbol, :"agent.session.trace"]
26
+ required :object, const: :"agent.session.trace"
27
+
28
+ # @!attribute otlp
29
+ # An OTLP JSON ExportTraceServiceRequest containing resourceSpans. Only currently
30
+ # published data is returned; later trace updates are not awaited.
31
+ #
32
+ # @return [Hash{Symbol=>Object}]
33
+ required :otlp, OpenAI::Internal::Type::HashOf[OpenAI::Internal::Type::Unknown]
34
+
35
+ # @!attribute session_id
36
+ # The session that owns this trace.
37
+ #
38
+ # @return [String]
39
+ required :session_id, String
40
+
41
+ # @!method initialize(id:, created_at:, otlp:, session_id:, object: :"agent.session.trace")
42
+ # @param id [String]
43
+ # The root turn ID. Use this ID as the pagination anchor.
44
+ #
45
+ # @param created_at [Integer]
46
+ # The Unix timestamp in seconds when the root turn was created.
47
+ #
48
+ # @param otlp [Hash{Symbol=>Object}]
49
+ # An OTLP JSON ExportTraceServiceRequest containing resourceSpans. Only currently
50
+ # published data is returned; later trace updates are not awaited.
51
+ #
52
+ # @param session_id [String]
53
+ # The session that owns this trace.
54
+ #
55
+ # @param object [Symbol, :"agent.session.trace"]
56
+ # The object type, which is always `agent.session.trace`.
57
+ end
58
+ end
59
+
60
+ SessionTrace = Sessions::SessionTrace
61
+ end
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,68 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OpenAI
4
+ module Models
5
+ module Beta
6
+ module Agents
7
+ module Sessions
8
+ # @see OpenAI::Resources::Beta::Agents::Sessions::Traces#list
9
+ class TraceListParams < OpenAI::Internal::Type::BaseModel
10
+ extend OpenAI::Internal::Type::RequestParameters::Converter
11
+ include OpenAI::Internal::Type::RequestParameters
12
+
13
+ # @!attribute session_id
14
+ #
15
+ # @return [String]
16
+ required :session_id, String
17
+
18
+ # @!attribute after
19
+ # Return resources after this resource ID in the selected order.
20
+ #
21
+ # @return [String, nil]
22
+ optional :after, String
23
+
24
+ # @!attribute limit
25
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
26
+ #
27
+ # @return [Integer, nil]
28
+ optional :limit, Integer
29
+
30
+ # @!attribute order
31
+ # The order in which resources are returned. Defaults to `desc`.
32
+ #
33
+ # @return [Symbol, OpenAI::Models::Beta::Agents::Sessions::TraceListParams::Order, nil]
34
+ optional :order, enum: -> { OpenAI::Beta::Agents::Sessions::TraceListParams::Order }
35
+
36
+ # @!method initialize(session_id:, after: nil, limit: nil, order: nil, request_options: {})
37
+ # @param session_id [String]
38
+ #
39
+ # @param after [String]
40
+ # Return resources after this resource ID in the selected order.
41
+ #
42
+ # @param limit [Integer]
43
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
44
+ #
45
+ # @param order [Symbol, OpenAI::Models::Beta::Agents::Sessions::TraceListParams::Order]
46
+ # The order in which resources are returned. Defaults to `desc`.
47
+ #
48
+ # @param request_options [OpenAI::RequestOptions, Hash{Symbol=>Object}]
49
+
50
+ # The order in which resources are returned. Defaults to `desc`.
51
+ module Order
52
+ extend OpenAI::Internal::Type::Enum
53
+
54
+ # Returns resources in ascending order.
55
+ ASC = :asc
56
+
57
+ # Returns resources in descending order.
58
+ DESC = :desc
59
+
60
+ # @!method self.values
61
+ # @return [Array<Symbol>]
62
+ end
63
+ end
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end
@@ -55,7 +55,11 @@ module OpenAI
55
55
  # @return [String]
56
56
  required :vault_id, String
57
57
 
58
- # @!method initialize(id:, auth:, created_at:, metadata:, name:, updated_at:, vault_id:, object: :"vault.credential")
58
+ def initialize(data = {})
59
+ super({metadata: {}, **data})
60
+ end
61
+
62
+ # @!method initialize(id:, auth:, created_at:, name:, updated_at:, vault_id:, metadata: {}, object: :"vault.credential")
59
63
  # Metadata for a stored credential. Secret values are never returned.
60
64
  #
61
65
  # @param id [String]
@@ -67,9 +71,6 @@ module OpenAI
67
71
  # @param created_at [Integer]
68
72
  # The Unix timestamp, in seconds, when the credential was created.
69
73
  #
70
- # @param metadata [Hash{Symbol=>String}]
71
- # Application-defined key-value pairs associated with this credential.
72
- #
73
74
  # @param name [String]
74
75
  # The human-readable name of the credential.
75
76
  #
@@ -79,6 +80,9 @@ module OpenAI
79
80
  # @param vault_id [String]
80
81
  # The ID of the vault containing this credential.
81
82
  #
83
+ # @param metadata [Hash{Symbol=>String}]
84
+ # Application-defined key-value pairs associated with this credential.
85
+ #
82
86
  # @param object [Symbol, :"vault.credential"]
83
87
  # The object type. Always `vault.credential`.
84
88
  end
@@ -79,7 +79,7 @@ module OpenAI
79
79
  required :filename, String
80
80
 
81
81
  # @!attribute index
82
- # The index of the file in the list of files.
82
+ # The index in the output text at which to insert the file citation.
83
83
  #
84
84
  # @return [Integer]
85
85
  required :index, Integer
@@ -100,7 +100,7 @@ module OpenAI
100
100
  # The filename of the file cited.
101
101
  #
102
102
  # @param index [Integer]
103
- # The index of the file in the list of files.
103
+ # The index in the output text at which to insert the file citation.
104
104
  #
105
105
  # @param type [Symbol, :file_citation]
106
106
  # The type of the file citation. Always `file_citation`.
@@ -126,7 +126,7 @@ module OpenAI
126
126
  required :filename, String
127
127
 
128
128
  # @!attribute index
129
- # The index of the file in the list of files.
129
+ # The index in the output text at which to insert the file citation.
130
130
  #
131
131
  # @return [Integer]
132
132
  required :index, Integer
@@ -147,7 +147,7 @@ module OpenAI
147
147
  # The filename of the file cited.
148
148
  #
149
149
  # @param index [Integer]
150
- # The index of the file in the list of files.
150
+ # The index in the output text at which to insert the file citation.
151
151
  #
152
152
  # @param type [Symbol, :file_citation]
153
153
  # The type of the file citation. Always `file_citation`.
@@ -82,7 +82,26 @@ module OpenAI
82
82
  # @return [Symbol, :openai_hosted]
83
83
  required :type, const: :openai_hosted
84
84
 
85
- # @!method initialize(id:, capability_directories:, files:, network:, packages:, plugins:, skills:, type: :openai_hosted)
85
+ # @!attribute container_size
86
+ # The effective CPU and memory tier, or null when unknown or outside the public
87
+ # tiers.
88
+ #
89
+ # @return [Symbol, OpenAI::Models::Beta::Environment::OpenAIHosted::ContainerSize, nil]
90
+ optional(
91
+ :container_size,
92
+ enum: -> {
93
+ OpenAI::Beta::Environment::OpenAIHosted::ContainerSize
94
+ },
95
+ nil?: true
96
+ )
97
+
98
+ # @!attribute desktop
99
+ # The effective desktop configuration.
100
+ #
101
+ # @return [OpenAI::Models::Beta::Environment::OpenAIHosted::Desktop, nil]
102
+ optional :desktop, -> { OpenAI::Beta::Environment::OpenAIHosted::Desktop }
103
+
104
+ # @!method initialize(id:, capability_directories:, files:, network:, packages:, plugins:, skills:, container_size: nil, desktop: nil, type: :openai_hosted)
86
105
  # An environment hosted by OpenAI.
87
106
  #
88
107
  # @param id [String]
@@ -106,6 +125,13 @@ module OpenAI
106
125
  # @param skills [Array<OpenAI::Models::Beta::HostedSkillReference, OpenAI::Models::Beta::HostedSkill::Inline>]
107
126
  # Skills installed in the environment, excluding their archive contents.
108
127
  #
128
+ # @param container_size [Symbol, OpenAI::Models::Beta::Environment::OpenAIHosted::ContainerSize, nil]
129
+ # The effective CPU and memory tier, or null when unknown or outside the public
130
+ # tiers.
131
+ #
132
+ # @param desktop [OpenAI::Models::Beta::Environment::OpenAIHosted::Desktop]
133
+ # The effective desktop configuration.
134
+ #
109
135
  # @param type [Symbol, :openai_hosted]
110
136
  # The type of the object. Always `openai_hosted`.
111
137
 
@@ -144,7 +170,7 @@ module OpenAI
144
170
  # Disables network access.
145
171
  DISABLED = :disabled
146
172
 
147
- # Allows access only to configured domains.
173
+ # Applies the configured domain restrictions.
148
174
  RESTRICTED = :restricted
149
175
 
150
176
  # @!method self.values
@@ -184,6 +210,36 @@ module OpenAI
184
210
  # @param system_ [Array<String>]
185
211
  # System packages installed in the environment.
186
212
  end
213
+
214
+ # The effective CPU and memory tier, or null when unknown or outside the public
215
+ # tiers.
216
+ #
217
+ # @see OpenAI::Models::Beta::Environment::OpenAIHosted#container_size
218
+ module ContainerSize
219
+ extend OpenAI::Internal::Type::Enum
220
+
221
+ SMALL = :small
222
+ MEDIUM = :medium
223
+ LARGE = :large
224
+
225
+ # @!method self.values
226
+ # @return [Array<Symbol>]
227
+ end
228
+
229
+ # @see OpenAI::Models::Beta::Environment::OpenAIHosted#desktop
230
+ class Desktop < OpenAI::Internal::Type::BaseModel
231
+ # @!attribute enabled
232
+ # Whether the environment provisions a desktop and browser proxy.
233
+ #
234
+ # @return [Boolean]
235
+ required :enabled, OpenAI::Internal::Type::Boolean
236
+
237
+ # @!method initialize(enabled:)
238
+ # The effective desktop configuration.
239
+ #
240
+ # @param enabled [Boolean]
241
+ # Whether the environment provisions a desktop and browser proxy.
242
+ end
187
243
  end
188
244
 
189
245
  class SelfHosted < OpenAI::Internal::Type::BaseModel
@@ -46,6 +46,19 @@ module OpenAI
46
46
  # @return [Array<String>, nil]
47
47
  optional :capability_directories, OpenAI::Internal::Type::ArrayOf[String], nil?: true
48
48
 
49
+ # @!attribute container_size
50
+ # The hosted container size. Omission selects the medium tier.
51
+ #
52
+ # @return [Symbol, OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted::ContainerSize, nil]
53
+ optional :container_size, enum: -> { OpenAI::Beta::EnvironmentParam::OpenAIHosted::ContainerSize }
54
+
55
+ # @!attribute desktop
56
+ # Desktop provisioning. Omission or null inherits the template setting, or
57
+ # defaults to disabled.
58
+ #
59
+ # @return [OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted::Desktop, nil]
60
+ optional :desktop, -> { OpenAI::Beta::EnvironmentParam::OpenAIHosted::Desktop }, nil?: true
61
+
49
62
  # @!attribute env
50
63
  # Environment variables made available to the agent.
51
64
  #
@@ -115,7 +128,7 @@ module OpenAI
115
128
  nil?: true
116
129
  )
117
130
 
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)
131
+ # @!method initialize(capability_directories: nil, container_size: nil, desktop: nil, env: nil, environment_template_id: nil, files: nil, network: nil, packages: nil, plugins: nil, setup_commands: nil, skills: nil, type: :openai_hosted)
119
132
  # An existing OpenAI-hosted environment or new inline/template-based hosted
120
133
  # configuration.
121
134
  #
@@ -123,6 +136,13 @@ module OpenAI
123
136
  # Directories that contain capabilities exposed to the agent. Defaults to an empty
124
137
  # list.
125
138
  #
139
+ # @param container_size [Symbol, OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted::ContainerSize]
140
+ # The hosted container size. Omission selects the medium tier.
141
+ #
142
+ # @param desktop [OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted::Desktop, nil]
143
+ # Desktop provisioning. Omission or null inherits the template setting, or
144
+ # defaults to disabled.
145
+ #
126
146
  # @param env [Hash{Symbol=>String}, nil]
127
147
  # Environment variables made available to the agent.
128
148
  #
@@ -153,6 +173,36 @@ module OpenAI
153
173
  # @param type [Symbol, :openai_hosted]
154
174
  # The type of the object. Always `openai_hosted`.
155
175
 
176
+ # The hosted container size. Omission selects the medium tier.
177
+ #
178
+ # @see OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted#container_size
179
+ module ContainerSize
180
+ extend OpenAI::Internal::Type::Enum
181
+
182
+ SMALL = :small
183
+ MEDIUM = :medium
184
+ LARGE = :large
185
+
186
+ # @!method self.values
187
+ # @return [Array<Symbol>]
188
+ end
189
+
190
+ # @see OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted#desktop
191
+ class Desktop < OpenAI::Internal::Type::BaseModel
192
+ # @!attribute enabled
193
+ # Whether to provision the desktop and its browser proxy.
194
+ #
195
+ # @return [Boolean]
196
+ required :enabled, OpenAI::Internal::Type::Boolean
197
+
198
+ # @!method initialize(enabled:)
199
+ # Desktop provisioning. Omission or null inherits the template setting, or
200
+ # defaults to disabled.
201
+ #
202
+ # @param enabled [Boolean]
203
+ # Whether to provision the desktop and its browser proxy.
204
+ end
205
+
156
206
  # @see OpenAI::Models::Beta::EnvironmentParam::OpenAIHosted#network
157
207
  class Network < OpenAI::Internal::Type::BaseModel
158
208
  # @!attribute access
@@ -167,7 +217,15 @@ module OpenAI
167
217
  # @return [Array<String>, nil]
168
218
  optional :allowed_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
169
219
 
170
- # @!method initialize(access:, allowed_domains: nil)
220
+ # @!attribute blocked_domains
221
+ # Domains blocked for both executor and browser when access is restricted. A
222
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
223
+ # `allowed_domains`. Wildcard domains are not supported.
224
+ #
225
+ # @return [Array<String>, nil]
226
+ optional :blocked_domains, OpenAI::Internal::Type::ArrayOf[String], nil?: true
227
+
228
+ # @!method initialize(access:, allowed_domains: nil, blocked_domains: nil)
171
229
  # Network access policy for the environment. Defaults to disabled for GA requests
172
230
  # and enabled for beta requests.
173
231
  #
@@ -176,6 +234,11 @@ module OpenAI
176
234
  #
177
235
  # @param allowed_domains [Array<String>, nil]
178
236
  # Domains the environment may access when network access is restricted.
237
+ #
238
+ # @param blocked_domains [Array<String>, nil]
239
+ # Domains blocked for both executor and browser when access is restricted. A
240
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
241
+ # `allowed_domains`. Wildcard domains are not supported.
179
242
 
180
243
  # The environment's network access mode.
181
244
  #
@@ -189,7 +252,7 @@ module OpenAI
189
252
  # Disables network access.
190
253
  DISABLED = :disabled
191
254
 
192
- # Allows access only to configured domains.
255
+ # Applies the configured domain restrictions.
193
256
  RESTRICTED = :restricted
194
257
 
195
258
  # @!method self.values