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
@@ -6,6 +6,7 @@ module OpenAI
6
6
  | OpenAI::Beta::AgentTool::ProgrammaticToolCalling
7
7
  | OpenAI::Beta::AgentTool::Mcp
8
8
  | OpenAI::Beta::AgentTool::WebSearch
9
+ | OpenAI::Beta::AgentTool::ComputerUse
9
10
 
10
11
  module AgentTool
11
12
  extend OpenAI::Internal::Type::Union
@@ -293,6 +294,27 @@ module OpenAI
293
294
  end
294
295
  end
295
296
 
297
+ type computer_use = { include_screenshots: bool, ?type: :computer_use }
298
+
299
+ class ComputerUse < OpenAI::Internal::Type::BaseModel
300
+ # Whether computer tool outputs include screenshots.
301
+ attr_accessor include_screenshots: bool
302
+
303
+ # The type of the object. Always `computer_use`.
304
+ attr_accessor type: :computer_use
305
+
306
+ # @param include_screenshots
307
+ # Whether computer tool outputs include screenshots.
308
+ # @param type
309
+ # The type of the object. Always `computer_use`.
310
+ def initialize: (
311
+ include_screenshots: bool,
312
+ ?type: :computer_use
313
+ ) -> void
314
+
315
+ def to_hash: -> { include_screenshots: bool, ?type: :computer_use }
316
+ end
317
+
296
318
  def self?.variants: -> ::Array[OpenAI::Models::Beta::agent_tool]
297
319
  end
298
320
  end
@@ -7,6 +7,7 @@ module OpenAI
7
7
  | OpenAI::Beta::AgentToolParam::ProgrammaticToolCalling
8
8
  | OpenAI::Beta::AgentToolParam::Mcp
9
9
  | OpenAI::Beta::AgentToolParam::WebSearch
10
+ | OpenAI::Beta::AgentToolParam::ComputerUse
10
11
 
11
12
  module AgentToolParam
12
13
  extend OpenAI::Internal::Type::Union
@@ -334,6 +335,30 @@ module OpenAI
334
335
  end
335
336
  end
336
337
 
338
+ type computer_use = { ?type: :computer_use, ?include_screenshots: bool }
339
+
340
+ class ComputerUse < OpenAI::Internal::Type::BaseModel
341
+ # The type of the object. Always `computer_use`.
342
+ attr_accessor type: :computer_use
343
+
344
+ # Whether computer tool outputs include screenshots. Defaults to `false`.
345
+ attr_reader include_screenshots: bool?
346
+
347
+ # Whether computer tool outputs include screenshots. Defaults to `false`.
348
+ def include_screenshots=: (bool) -> bool
349
+
350
+ # @param include_screenshots
351
+ # Whether computer tool outputs include screenshots. Defaults to `false`.
352
+ # @param type
353
+ # The type of the object. Always `computer_use`.
354
+ def initialize: (
355
+ ?include_screenshots: bool,
356
+ ?type: :computer_use
357
+ ) -> void
358
+
359
+ def to_hash: -> { ?type: :computer_use, ?include_screenshots: bool }
360
+ end
361
+
337
362
  def self?.variants: -> ::Array[OpenAI::Models::Beta::agent_tool_param]
338
363
  end
339
364
  end
@@ -17,7 +17,8 @@ module OpenAI
17
17
  packages: OpenAI::Beta::Agents::Environments::EnvironmentTemplate::Packages,
18
18
  plugins: ::Array[OpenAI::Beta::HostedPlugin],
19
19
  skills: ::Array[OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate::skill],
20
- updated_at: Integer
20
+ updated_at: Integer,
21
+ ?desktop: OpenAI::Beta::Agents::Environments::EnvironmentTemplate::Desktop
21
22
  }
22
23
 
23
24
  class EnvironmentTemplate < OpenAI::Internal::Type::BaseModel
@@ -54,6 +55,14 @@ module OpenAI
54
55
  # The Unix timestamp, in seconds, when the template was last updated.
55
56
  attr_accessor updated_at: Integer
56
57
 
58
+ # Desktop configuration for each OpenAI-hosted environment.
59
+ attr_reader desktop: OpenAI::Beta::Agents::Environments::EnvironmentTemplate::Desktop?
60
+
61
+ # Desktop configuration for each OpenAI-hosted environment.
62
+ def desktop=: (
63
+ OpenAI::Beta::Agents::Environments::EnvironmentTemplate::Desktop
64
+ ) -> OpenAI::Beta::Agents::Environments::EnvironmentTemplate::Desktop
65
+
57
66
  # @param id
58
67
  # The ID of the reusable environment template.
59
68
  # @param capability_directories
@@ -74,6 +83,8 @@ module OpenAI
74
83
  # Safe skill metadata, preserving unresolved version selectors.
75
84
  # @param updated_at
76
85
  # The Unix timestamp, in seconds, when the template was last updated.
86
+ # @param desktop
87
+ # Desktop configuration for each OpenAI-hosted environment.
77
88
  # @param object
78
89
  # The object type. Always `agent.environment.template`.
79
90
  def initialize: (
@@ -87,6 +98,7 @@ module OpenAI
87
98
  plugins: ::Array[OpenAI::Beta::HostedPlugin],
88
99
  skills: ::Array[OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate::skill],
89
100
  updated_at: Integer,
101
+ ?desktop: OpenAI::Beta::Agents::Environments::EnvironmentTemplate::Desktop,
90
102
  ?object: :"agent.environment.template"
91
103
  ) -> void
92
104
 
@@ -101,7 +113,8 @@ module OpenAI
101
113
  packages: OpenAI::Beta::Agents::Environments::EnvironmentTemplate::Packages,
102
114
  plugins: ::Array[OpenAI::Beta::HostedPlugin],
103
115
  skills: ::Array[OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate::skill],
104
- updated_at: Integer
116
+ updated_at: Integer,
117
+ ?desktop: OpenAI::Beta::Agents::Environments::EnvironmentTemplate::Desktop
105
118
  }
106
119
 
107
120
  type file =
@@ -215,7 +228,7 @@ module OpenAI
215
228
  # Disables network access.
216
229
  DISABLED: :disabled
217
230
 
218
- # Allows access only to configured domains.
231
+ # Applies the configured domain restrictions.
219
232
  RESTRICTED: :restricted
220
233
 
221
234
  def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate::Network::access]
@@ -331,6 +344,19 @@ module OpenAI
331
344
 
332
345
  def self?.variants: -> ::Array[OpenAI::Models::Beta::Agents::Environments::EnvironmentTemplate::skill]
333
346
  end
347
+
348
+ type desktop = { enabled: bool }
349
+
350
+ class Desktop < OpenAI::Internal::Type::BaseModel
351
+ # Whether the environment provisions a desktop and browser proxy.
352
+ attr_accessor enabled: bool
353
+
354
+ # @param enabled
355
+ # Whether the environment provisions a desktop and browser proxy.
356
+ def initialize: (enabled: bool) -> void
357
+
358
+ def to_hash: -> { enabled: bool }
359
+ end
334
360
  end
335
361
  end
336
362
  end
@@ -6,6 +6,7 @@ module OpenAI
6
6
  type template_create_params =
7
7
  {
8
8
  ?capability_directories: ::Array[String]?,
9
+ ?desktop: OpenAI::Beta::Agents::Environments::TemplateCreateParams::Desktop?,
9
10
  ?env: ::Hash[Symbol, String]?,
10
11
  ?files: ::Array[OpenAI::Models::Beta::hosted_environment_file_param]?,
11
12
  ?name: String?,
@@ -25,6 +26,10 @@ module OpenAI
25
26
  # list.
26
27
  attr_accessor capability_directories: ::Array[String]?
27
28
 
29
+ # Desktop provisioning. Omission or null inherits the template setting, or
30
+ # defaults to disabled.
31
+ attr_accessor desktop: OpenAI::Beta::Agents::Environments::TemplateCreateParams::Desktop?
32
+
28
33
  # Environment variables made available to the agent.
29
34
  attr_accessor env: ::Hash[Symbol, String]?
30
35
 
@@ -54,6 +59,9 @@ module OpenAI
54
59
  # @param capability_directories
55
60
  # Directories that contain capabilities exposed to the agent. Defaults to an empty
56
61
  # list.
62
+ # @param desktop
63
+ # Desktop provisioning. Omission or null inherits the template setting, or
64
+ # defaults to disabled.
57
65
  # @param env
58
66
  # Environment variables made available to the agent.
59
67
  # @param files
@@ -74,6 +82,7 @@ module OpenAI
74
82
  # list.
75
83
  def initialize: (
76
84
  ?capability_directories: ::Array[String]?,
85
+ ?desktop: OpenAI::Beta::Agents::Environments::TemplateCreateParams::Desktop?,
77
86
  ?env: ::Hash[Symbol, String]?,
78
87
  ?files: ::Array[OpenAI::Models::Beta::hosted_environment_file_param]?,
79
88
  ?name: String?,
@@ -87,6 +96,7 @@ module OpenAI
87
96
 
88
97
  def to_hash: -> {
89
98
  ?capability_directories: ::Array[String]?,
99
+ ?desktop: OpenAI::Beta::Agents::Environments::TemplateCreateParams::Desktop?,
90
100
  ?env: ::Hash[Symbol, String]?,
91
101
  ?files: ::Array[OpenAI::Models::Beta::hosted_environment_file_param]?,
92
102
  ?name: String?,
@@ -98,10 +108,24 @@ module OpenAI
98
108
  ?request_options: OpenAI::RequestOptions
99
109
  }
100
110
 
111
+ type desktop = { enabled: bool }
112
+
113
+ class Desktop < OpenAI::Internal::Type::BaseModel
114
+ # Whether to provision the desktop and its browser proxy.
115
+ attr_accessor enabled: bool
116
+
117
+ # @param enabled
118
+ # Whether to provision the desktop and its browser proxy.
119
+ def initialize: (enabled: bool) -> void
120
+
121
+ def to_hash: -> { enabled: bool }
122
+ end
123
+
101
124
  type network =
102
125
  {
103
126
  access: OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network::access,
104
- ?allowed_domains: ::Array[String]?
127
+ ?allowed_domains: ::Array[String]?,
128
+ ?blocked_domains: ::Array[String]?
105
129
  }
106
130
 
107
131
  class Network < OpenAI::Internal::Type::BaseModel
@@ -111,18 +135,29 @@ module OpenAI
111
135
  # Domains the environment may access when network access is restricted.
112
136
  attr_accessor allowed_domains: ::Array[String]?
113
137
 
138
+ # Domains blocked for both executor and browser when access is restricted. A
139
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
140
+ # `allowed_domains`. Wildcard domains are not supported.
141
+ attr_accessor blocked_domains: ::Array[String]?
142
+
114
143
  # @param access
115
144
  # The environment's network access mode.
116
145
  # @param allowed_domains
117
146
  # Domains the environment may access when network access is restricted.
147
+ # @param blocked_domains
148
+ # Domains blocked for both executor and browser when access is restricted. A
149
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
150
+ # `allowed_domains`. Wildcard domains are not supported.
118
151
  def initialize: (
119
152
  access: OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network::access,
120
- ?allowed_domains: ::Array[String]?
153
+ ?allowed_domains: ::Array[String]?,
154
+ ?blocked_domains: ::Array[String]?
121
155
  ) -> void
122
156
 
123
157
  def to_hash: -> {
124
158
  access: OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network::access,
125
- ?allowed_domains: ::Array[String]?
159
+ ?allowed_domains: ::Array[String]?,
160
+ ?blocked_domains: ::Array[String]?
126
161
  }
127
162
 
128
163
  type access = :enabled | :disabled | :restricted
@@ -136,7 +171,7 @@ module OpenAI
136
171
  # Disables network access.
137
172
  DISABLED: :disabled
138
173
 
139
- # Allows access only to configured domains.
174
+ # Applies the configured domain restrictions.
140
175
  RESTRICTED: :restricted
141
176
 
142
177
  def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::Environments::TemplateCreateParams::Network::access]
@@ -7,6 +7,7 @@ module OpenAI
7
7
  {
8
8
  environment_template_id: String,
9
9
  ?capability_directories: ::Array[String]?,
10
+ ?desktop: OpenAI::Beta::Agents::Environments::TemplateUpdateParams::Desktop?,
10
11
  ?env: ::Hash[Symbol, String]?,
11
12
  ?files: ::Array[OpenAI::Models::Beta::hosted_environment_file_param]?,
12
13
  ?name: String?,
@@ -27,6 +28,9 @@ module OpenAI
27
28
  # Directories that expose capabilities to the agent.
28
29
  attr_accessor capability_directories: ::Array[String]?
29
30
 
31
+ # Replacement desktop configuration, or null to disable the desktop.
32
+ attr_accessor desktop: OpenAI::Beta::Agents::Environments::TemplateUpdateParams::Desktop?
33
+
30
34
  # Replacement confidential environment values.
31
35
  attr_accessor env: ::Hash[Symbol, String]?
32
36
 
@@ -55,6 +59,8 @@ module OpenAI
55
59
 
56
60
  # @param capability_directories
57
61
  # Directories that expose capabilities to the agent.
62
+ # @param desktop
63
+ # Replacement desktop configuration, or null to disable the desktop.
58
64
  # @param env
59
65
  # Replacement confidential environment values.
60
66
  # @param files
@@ -76,6 +82,7 @@ module OpenAI
76
82
  def initialize: (
77
83
  environment_template_id: String,
78
84
  ?capability_directories: ::Array[String]?,
85
+ ?desktop: OpenAI::Beta::Agents::Environments::TemplateUpdateParams::Desktop?,
79
86
  ?env: ::Hash[Symbol, String]?,
80
87
  ?files: ::Array[OpenAI::Models::Beta::hosted_environment_file_param]?,
81
88
  ?name: String?,
@@ -90,6 +97,7 @@ module OpenAI
90
97
  def to_hash: -> {
91
98
  environment_template_id: String,
92
99
  ?capability_directories: ::Array[String]?,
100
+ ?desktop: OpenAI::Beta::Agents::Environments::TemplateUpdateParams::Desktop?,
93
101
  ?env: ::Hash[Symbol, String]?,
94
102
  ?files: ::Array[OpenAI::Models::Beta::hosted_environment_file_param]?,
95
103
  ?name: String?,
@@ -101,10 +109,24 @@ module OpenAI
101
109
  ?request_options: OpenAI::RequestOptions
102
110
  }
103
111
 
112
+ type desktop = { enabled: bool }
113
+
114
+ class Desktop < OpenAI::Internal::Type::BaseModel
115
+ # Whether to provision the desktop and its browser proxy.
116
+ attr_accessor enabled: bool
117
+
118
+ # @param enabled
119
+ # Whether to provision the desktop and its browser proxy.
120
+ def initialize: (enabled: bool) -> void
121
+
122
+ def to_hash: -> { enabled: bool }
123
+ end
124
+
104
125
  type network =
105
126
  {
106
127
  access: OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network::access,
107
- ?allowed_domains: ::Array[String]?
128
+ ?allowed_domains: ::Array[String]?,
129
+ ?blocked_domains: ::Array[String]?
108
130
  }
109
131
 
110
132
  class Network < OpenAI::Internal::Type::BaseModel
@@ -114,18 +136,29 @@ module OpenAI
114
136
  # Domains the environment may access when network access is restricted.
115
137
  attr_accessor allowed_domains: ::Array[String]?
116
138
 
139
+ # Domains blocked for both executor and browser when access is restricted. A
140
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
141
+ # `allowed_domains`. Wildcard domains are not supported.
142
+ attr_accessor blocked_domains: ::Array[String]?
143
+
117
144
  # @param access
118
145
  # The environment's network access mode.
119
146
  # @param allowed_domains
120
147
  # Domains the environment may access when network access is restricted.
148
+ # @param blocked_domains
149
+ # Domains blocked for both executor and browser when access is restricted. A
150
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
151
+ # `allowed_domains`. Wildcard domains are not supported.
121
152
  def initialize: (
122
153
  access: OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network::access,
123
- ?allowed_domains: ::Array[String]?
154
+ ?allowed_domains: ::Array[String]?,
155
+ ?blocked_domains: ::Array[String]?
124
156
  ) -> void
125
157
 
126
158
  def to_hash: -> {
127
159
  access: OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network::access,
128
- ?allowed_domains: ::Array[String]?
160
+ ?allowed_domains: ::Array[String]?,
161
+ ?blocked_domains: ::Array[String]?
129
162
  }
130
163
 
131
164
  type access = :enabled | :disabled | :restricted
@@ -139,7 +172,7 @@ module OpenAI
139
172
  # Disables network access.
140
173
  DISABLED: :disabled
141
174
 
142
- # Allows access only to configured domains.
175
+ # Applies the configured domain restrictions.
143
176
  RESTRICTED: :restricted
144
177
 
145
178
  def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::Environments::TemplateUpdateParams::Network::access]
@@ -0,0 +1,65 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ module Agents
5
+ class SessionTrace = Sessions::SessionTrace
6
+
7
+ module Sessions
8
+ type session_trace =
9
+ {
10
+ id: String,
11
+ created_at: Integer,
12
+ ?object: :"agent.session.trace",
13
+ otlp: ::Hash[Symbol, top],
14
+ session_id: String
15
+ }
16
+
17
+ class SessionTrace < OpenAI::Internal::Type::BaseModel
18
+ # The root turn ID. Use this ID as the pagination anchor.
19
+ attr_accessor id: String
20
+
21
+ # The Unix timestamp in seconds when the root turn was created.
22
+ attr_accessor created_at: Integer
23
+
24
+ # The object type, which is always `agent.session.trace`.
25
+ attr_accessor object: :"agent.session.trace"
26
+
27
+ # An OTLP JSON ExportTraceServiceRequest containing resourceSpans. Only currently
28
+ # published data is returned; later trace updates are not awaited.
29
+ attr_accessor otlp: ::Hash[Symbol, top]
30
+
31
+ # The session that owns this trace.
32
+ attr_accessor session_id: String
33
+
34
+ # @param id
35
+ # The root turn ID. Use this ID as the pagination anchor.
36
+ # @param created_at
37
+ # The Unix timestamp in seconds when the root turn was created.
38
+ # @param otlp
39
+ # An OTLP JSON ExportTraceServiceRequest containing resourceSpans. Only currently
40
+ # published data is returned; later trace updates are not awaited.
41
+ # @param session_id
42
+ # The session that owns this trace.
43
+ # @param object
44
+ # The object type, which is always `agent.session.trace`.
45
+ def initialize: (
46
+ id: String,
47
+ created_at: Integer,
48
+ otlp: ::Hash[Symbol, top],
49
+ session_id: String,
50
+ ?object: :"agent.session.trace"
51
+ ) -> void
52
+
53
+ def to_hash: -> {
54
+ id: String,
55
+ created_at: Integer,
56
+ ?object: :"agent.session.trace",
57
+ otlp: ::Hash[Symbol, top],
58
+ session_id: String
59
+ }
60
+ end
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,81 @@
1
+ module OpenAI
2
+ module Models
3
+ module Beta
4
+ module Agents
5
+ module Sessions
6
+ type trace_list_params =
7
+ {
8
+ session_id: String,
9
+ ?after: String,
10
+ ?limit: Integer,
11
+ ?order: OpenAI::Models::Beta::Agents::Sessions::TraceListParams::order,
12
+ ?request_options: OpenAI::request_opts
13
+ }
14
+
15
+ class TraceListParams < OpenAI::Internal::Type::BaseModel
16
+ extend OpenAI::Internal::Type::RequestParameters::Converter
17
+ include OpenAI::Internal::Type::RequestParameters
18
+
19
+ attr_accessor session_id: String
20
+
21
+ # Return resources after this resource ID in the selected order.
22
+ attr_reader after: String?
23
+
24
+ # Return resources after this resource ID in the selected order.
25
+ def after=: (String) -> String
26
+
27
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
28
+ attr_reader limit: Integer?
29
+
30
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
31
+ def limit=: (Integer) -> Integer
32
+
33
+ # The order in which resources are returned. Defaults to `desc`.
34
+ attr_reader order: OpenAI::Models::Beta::Agents::Sessions::TraceListParams::order?
35
+
36
+ # The order in which resources are returned. Defaults to `desc`.
37
+ def order=: (
38
+ OpenAI::Models::Beta::Agents::Sessions::TraceListParams::order
39
+ ) -> OpenAI::Models::Beta::Agents::Sessions::TraceListParams::order
40
+
41
+ # @param after
42
+ # Return resources after this resource ID in the selected order.
43
+ # @param limit
44
+ # The maximum number of resources to return, between 1 and 100. Defaults to 20.
45
+ # @param order
46
+ # The order in which resources are returned. Defaults to `desc`.
47
+ def initialize: (
48
+ session_id: String,
49
+ ?after: String,
50
+ ?limit: Integer,
51
+ ?order: OpenAI::Models::Beta::Agents::Sessions::TraceListParams::order,
52
+ ?request_options: OpenAI::request_opts
53
+ ) -> void
54
+
55
+ def to_hash: -> {
56
+ session_id: String,
57
+ ?after: String,
58
+ ?limit: Integer,
59
+ ?order: OpenAI::Models::Beta::Agents::Sessions::TraceListParams::order,
60
+ ?request_options: OpenAI::RequestOptions
61
+ }
62
+
63
+ type order = :asc | :desc
64
+
65
+ module Order
66
+ extend OpenAI::Internal::Type::Enum
67
+
68
+ # Returns resources in ascending order.
69
+ ASC: :asc
70
+
71
+ # Returns resources in descending order.
72
+ DESC: :desc
73
+
74
+ def self?.values: -> ::Array[OpenAI::Models::Beta::Agents::Sessions::TraceListParams::order]
75
+ end
76
+ end
77
+ end
78
+ end
79
+ end
80
+ end
81
+ end
@@ -8,7 +8,7 @@ module OpenAI
8
8
  id: String,
9
9
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth,
10
10
  created_at: Integer,
11
- metadata: ::Hash[Symbol, String],
11
+ ?metadata: ::Hash[Symbol, String],
12
12
  name: String,
13
13
  ?object: :"vault.credential",
14
14
  updated_at: Integer,
@@ -46,24 +46,24 @@ module OpenAI
46
46
  # The authentication method and non-secret configuration of the credential.
47
47
  # @param created_at
48
48
  # The Unix timestamp, in seconds, when the credential was created.
49
- # @param metadata
50
- # Application-defined key-value pairs associated with this credential.
51
49
  # @param name
52
50
  # The human-readable name of the credential.
53
51
  # @param updated_at
54
52
  # The Unix timestamp, in seconds, when the credential was last updated.
55
53
  # @param vault_id
56
54
  # The ID of the vault containing this credential.
55
+ # @param metadata
56
+ # Application-defined key-value pairs associated with this credential.
57
57
  # @param object
58
58
  # The object type. Always `vault.credential`.
59
59
  def initialize: (
60
60
  id: String,
61
61
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth,
62
62
  created_at: Integer,
63
- metadata: ::Hash[Symbol, String],
64
63
  name: String,
65
64
  updated_at: Integer,
66
65
  vault_id: String,
66
+ ?metadata: ::Hash[Symbol, String],
67
67
  ?object: :"vault.credential"
68
68
  ) -> void
69
69
 
@@ -71,7 +71,7 @@ module OpenAI
71
71
  id: String,
72
72
  auth: OpenAI::Models::Beta::Agents::Vaults::credential_auth,
73
73
  created_at: Integer,
74
- metadata: ::Hash[Symbol, String],
74
+ ?metadata: ::Hash[Symbol, String],
75
75
  name: String,
76
76
  ?object: :"vault.credential",
77
77
  updated_at: Integer,
@@ -71,7 +71,7 @@ module OpenAI
71
71
  # The filename of the file cited.
72
72
  attr_accessor filename: String
73
73
 
74
- # The index of the file in the list of files.
74
+ # The index in the output text at which to insert the file citation.
75
75
  attr_accessor index: Integer
76
76
 
77
77
  # The type of the file citation. Always `file_citation`.
@@ -82,7 +82,7 @@ module OpenAI
82
82
  # @param filename
83
83
  # The filename of the file cited.
84
84
  # @param index
85
- # The index of the file in the list of files.
85
+ # The index in the output text at which to insert the file citation.
86
86
  # @param type
87
87
  # The type of the file citation. Always `file_citation`.
88
88
  def initialize: (
@@ -102,7 +102,7 @@ module OpenAI
102
102
  # The filename of the file cited.
103
103
  attr_accessor filename: String
104
104
 
105
- # The index of the file in the list of files.
105
+ # The index in the output text at which to insert the file citation.
106
106
  attr_accessor index: Integer
107
107
 
108
108
  # The type of the file citation. Always `file_citation`.
@@ -113,7 +113,7 @@ module OpenAI
113
113
  # @param filename
114
114
  # The filename of the file cited.
115
115
  # @param index
116
- # The index of the file in the list of files.
116
+ # The index in the output text at which to insert the file citation.
117
117
  # @param type
118
118
  # The type of the file citation. Always `file_citation`.
119
119
  def initialize: (