openai 0.101.1 → 0.103.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 (86) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/beta/agent_session_environment_expired_event.rb +57 -0
  5. data/lib/openai/models/beta/agent_session_environment_state.rb +6 -0
  6. data/lib/openai/models/beta/agent_session_environment_suspended_event.rb +57 -0
  7. data/lib/openai/models/beta/agent_session_event.rb +7 -1
  8. data/lib/openai/models/beta/agents/environment_create_params.rb +300 -0
  9. data/lib/openai/models/beta/agents/environment_info.rb +7 -1
  10. data/lib/openai/models/beta/agents/environment_list_params.rb +78 -0
  11. data/lib/openai/models/beta/environment_param.rb +12 -1
  12. data/lib/openai/models/webhooks/agent_environment_expired_webhook_event.rb +72 -0
  13. data/lib/openai/models/webhooks/agent_environment_failed_webhook_event.rb +73 -0
  14. data/lib/openai/models/webhooks/agent_environment_ready_webhook_event.rb +73 -0
  15. data/lib/openai/models/webhooks/agent_environment_suspended_webhook_event.rb +72 -0
  16. data/lib/openai/models/webhooks/unwrap_webhook_event.rb +14 -3
  17. data/lib/openai/models/webhooks/webhook_create_params.rb +4 -0
  18. data/lib/openai/models/webhooks/webhook_test_params.rb +4 -0
  19. data/lib/openai/models/webhooks/webhook_update_params.rb +4 -0
  20. data/lib/openai/resources/beta/agents/environments/files.rb +4 -2
  21. data/lib/openai/resources/beta/agents/environments/templates.rb +10 -5
  22. data/lib/openai/resources/beta/agents/environments.rb +80 -1
  23. data/lib/openai/resources/beta/agents/sessions/artifacts.rb +8 -5
  24. data/lib/openai/resources/beta/agents/sessions/events.rb +11 -5
  25. data/lib/openai/resources/beta/agents/sessions/items.rb +2 -1
  26. data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +2 -1
  27. data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +2 -1
  28. data/lib/openai/resources/beta/agents/sessions/subagents/turns.rb +4 -2
  29. data/lib/openai/resources/beta/agents/sessions/subagents.rb +4 -2
  30. data/lib/openai/resources/beta/agents/sessions/traces.rb +2 -1
  31. data/lib/openai/resources/beta/agents/sessions/turns/items.rb +2 -1
  32. data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -2
  33. data/lib/openai/resources/beta/agents/sessions.rb +16 -7
  34. data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -5
  35. data/lib/openai/resources/beta/agents/vaults.rb +8 -4
  36. data/lib/openai/resources/beta/agents.rb +10 -5
  37. data/lib/openai/resources/beta/assistants.rb +10 -5
  38. data/lib/openai/resources/beta/chatkit/sessions.rb +4 -2
  39. data/lib/openai/resources/beta/chatkit/threads.rb +8 -4
  40. data/lib/openai/resources/beta/threads/messages.rb +10 -5
  41. data/lib/openai/resources/beta/threads/runs/steps.rb +4 -2
  42. data/lib/openai/resources/beta/threads/runs.rb +24 -10
  43. data/lib/openai/resources/beta/threads.rb +16 -7
  44. data/lib/openai/resources/vector_stores/file_batches.rb +8 -10
  45. data/lib/openai/resources/vector_stores/files.rb +12 -12
  46. data/lib/openai/resources/vector_stores.rb +12 -6
  47. data/lib/openai/resources/webhooks.rb +1 -1
  48. data/lib/openai/version.rb +1 -1
  49. data/lib/openai.rb +8 -0
  50. data/rbi/openai/models/beta/agent_session_environment_expired_event.rbi +95 -0
  51. data/rbi/openai/models/beta/agent_session_environment_state.rbi +6 -0
  52. data/rbi/openai/models/beta/agent_session_environment_suspended_event.rbi +95 -0
  53. data/rbi/openai/models/beta/agent_session_event.rbi +2 -0
  54. data/rbi/openai/models/beta/agents/environment_create_params.rbi +499 -0
  55. data/rbi/openai/models/beta/agents/environment_info.rbi +6 -0
  56. data/rbi/openai/models/beta/agents/environment_list_params.rbi +136 -0
  57. data/rbi/openai/models/beta/environment_param.rbi +15 -0
  58. data/rbi/openai/models/webhooks/agent_environment_expired_webhook_event.rbi +133 -0
  59. data/rbi/openai/models/webhooks/agent_environment_failed_webhook_event.rbi +134 -0
  60. data/rbi/openai/models/webhooks/agent_environment_ready_webhook_event.rbi +134 -0
  61. data/rbi/openai/models/webhooks/agent_environment_suspended_webhook_event.rbi +133 -0
  62. data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +5 -2
  63. data/rbi/openai/models/webhooks/webhook_create_params.rbi +16 -0
  64. data/rbi/openai/models/webhooks/webhook_test_params.rbi +16 -0
  65. data/rbi/openai/models/webhooks/webhook_update_params.rbi +16 -0
  66. data/rbi/openai/resources/beta/agents/environments.rbi +53 -0
  67. data/rbi/openai/resources/webhooks.rbi +4 -0
  68. data/sig/openai/models/beta/agent_session_environment_expired_event.rbs +57 -0
  69. data/sig/openai/models/beta/agent_session_environment_state.rbs +14 -1
  70. data/sig/openai/models/beta/agent_session_environment_suspended_event.rbs +57 -0
  71. data/sig/openai/models/beta/agent_session_event.rbs +2 -0
  72. data/sig/openai/models/beta/agents/environment_create_params.rbs +268 -0
  73. data/sig/openai/models/beta/agents/environment_info.rbs +15 -1
  74. data/sig/openai/models/beta/agents/environment_list_params.rbs +97 -0
  75. data/sig/openai/models/beta/environment_param.rbs +14 -0
  76. data/sig/openai/models/webhooks/agent_environment_expired_webhook_event.rbs +70 -0
  77. data/sig/openai/models/webhooks/agent_environment_failed_webhook_event.rbs +70 -0
  78. data/sig/openai/models/webhooks/agent_environment_ready_webhook_event.rbs +70 -0
  79. data/sig/openai/models/webhooks/agent_environment_suspended_webhook_event.rbs +70 -0
  80. data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +5 -1
  81. data/sig/openai/models/webhooks/webhook_create_params.rbs +8 -0
  82. data/sig/openai/models/webhooks/webhook_test_params.rbs +8 -0
  83. data/sig/openai/models/webhooks/webhook_update_params.rbs +8 -0
  84. data/sig/openai/resources/beta/agents/environments.rbs +15 -0
  85. data/sig/openai/resources/webhooks.rbs +5 -1
  86. metadata +25 -1
@@ -0,0 +1,499 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ module Agents
9
+
10
+ class EnvironmentCreateParams < OpenAI::Internal::Type::BaseModel
11
+
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ OrHash = T.type_alias do
16
+ T.any(
17
+ OpenAI::Beta::Agents::EnvironmentCreateParams,
18
+ OpenAI::Internal::AnyHash
19
+ )
20
+ end
21
+
22
+ # The required hosting type and its configuration.
23
+ sig { returns(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment) }
24
+ attr_reader :environment
25
+
26
+ sig { params(environment: OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::OrHash).void }
27
+ attr_writer :environment
28
+
29
+ # The IDs of up to 10 vaults made available to an OpenAI-hosted environment.
30
+ sig { returns(T.nilable(T::Array[String])) }
31
+ attr_accessor :vault_ids
32
+
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :idempotency_key
35
+
36
+ sig { params(idempotency_key: String).void }
37
+ attr_writer :idempotency_key
38
+
39
+ sig do
40
+ params(
41
+
42
+ environment: OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::OrHash,
43
+
44
+ vault_ids: T.nilable(T::Array[String]),
45
+
46
+ idempotency_key: String,
47
+
48
+ request_options: OpenAI::RequestOptions::OrHash
49
+ )
50
+ .returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+
54
+ # The required hosting type and its configuration.
55
+ environment:,
56
+
57
+ # The IDs of up to 10 vaults made available to an OpenAI-hosted environment.
58
+ vault_ids: nil,
59
+
60
+ idempotency_key: nil,
61
+
62
+ request_options: {}
63
+ )
64
+ end
65
+
66
+ sig do
67
+ override.returns(
68
+ {
69
+ environment: OpenAI::Beta::Agents::EnvironmentCreateParams::Environment,
70
+ vault_ids: T.nilable(T::Array[String]),
71
+ idempotency_key: String,
72
+ request_options: OpenAI::RequestOptions
73
+ }
74
+ )
75
+ end
76
+ def to_hash
77
+ end
78
+
79
+ class Environment < OpenAI::Internal::Type::BaseModel
80
+ OrHash = T.type_alias do
81
+ T.any(
82
+ OpenAI::Beta::Agents::EnvironmentCreateParams::Environment,
83
+ OpenAI::Internal::AnyHash
84
+ )
85
+ end
86
+
87
+ # The type of the object. Always `openai_hosted`.
88
+ sig { returns(Symbol) }
89
+ attr_accessor :type
90
+
91
+ # Directories that contain capabilities exposed to the agent. Defaults to an empty
92
+ # list.
93
+ sig { returns(T.nilable(T::Array[String])) }
94
+ attr_accessor :capability_directories
95
+
96
+ # Desktop provisioning. Omission or null inherits the template setting, or
97
+ # defaults to disabled.
98
+ sig { returns(T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Desktop)) }
99
+ attr_reader :desktop
100
+
101
+ sig {
102
+ params(desktop: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Desktop::OrHash))
103
+ .void
104
+ }
105
+ attr_writer :desktop
106
+
107
+ # Environment variables made available to the agent.
108
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
109
+ attr_accessor :env
110
+
111
+ # A reusable hosted template applied before inline configuration. Omitted fields
112
+ # inherit the template; network overrides cannot broaden its policy.
113
+ sig { returns(T.nilable(String)) }
114
+ attr_reader :environment_template_id
115
+
116
+ sig { params(environment_template_id: String).void }
117
+ attr_writer :environment_template_id
118
+
119
+ # Files available before the agent starts. Defaults to an empty list.
120
+ sig {
121
+ returns(
122
+ T.nilable(
123
+ T::Array[
124
+ T.any(
125
+ OpenAI::Beta::HostedEnvironmentFileParam::FileID,
126
+ OpenAI::Beta::HostedEnvironmentFileParam::Inline
127
+ )
128
+ ]
129
+ )
130
+ )
131
+ }
132
+ attr_accessor :files
133
+
134
+ # Network access policy for the environment. If omitted, the API version
135
+ # determines whether network access is enabled or disabled.
136
+ sig { returns(T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network)) }
137
+ attr_reader :network
138
+
139
+ sig {
140
+ params(network: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::OrHash))
141
+ .void
142
+ }
143
+ attr_writer :network
144
+
145
+ # Packages to install in the environment. Defaults to empty package lists.
146
+ sig { returns(T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Packages)) }
147
+ attr_reader :packages
148
+
149
+ sig {
150
+ params(packages: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Packages::OrHash))
151
+ .void
152
+ }
153
+ attr_writer :packages
154
+
155
+ # Plugins provided as inline ZIP archives. Defaults to an empty list.
156
+ sig { returns(T.nilable(T::Array[OpenAI::Beta::HostedPluginParam])) }
157
+ attr_accessor :plugins
158
+
159
+ # Ordered, confidential setup commands. Command bodies are never returned.
160
+ sig { returns(T.nilable(T::Array[OpenAI::Beta::SetupCommandParam])) }
161
+ attr_accessor :setup_commands
162
+
163
+ # Skills referenced by ID or provided as inline ZIP archives. Defaults to an empty
164
+ # list.
165
+ sig {
166
+ returns(
167
+ T.nilable(
168
+ T::Array[
169
+ T.any(OpenAI::Beta::HostedSkillParam::SkillReference, OpenAI::Beta::HostedSkillParam::Inline)
170
+ ]
171
+ )
172
+ )
173
+ }
174
+ attr_accessor :skills
175
+
176
+ # The required hosting type and its configuration.
177
+ sig do
178
+ params(
179
+
180
+ capability_directories: T.nilable(T::Array[String]),
181
+
182
+ desktop: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Desktop::OrHash),
183
+
184
+ env: T.nilable(T::Hash[Symbol, String]),
185
+
186
+ environment_template_id: String,
187
+
188
+ files: T.nilable(
189
+ T::Array[
190
+ T.any(
191
+ OpenAI::Beta::HostedEnvironmentFileParam::FileID::OrHash,
192
+ OpenAI::Beta::HostedEnvironmentFileParam::Inline::OrHash
193
+ )
194
+ ]
195
+ ),
196
+
197
+ network: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::OrHash),
198
+
199
+ packages: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Packages::OrHash),
200
+
201
+ plugins: T.nilable(T::Array[OpenAI::Beta::HostedPluginParam::OrHash]),
202
+
203
+ setup_commands: T.nilable(T::Array[OpenAI::Beta::SetupCommandParam::OrHash]),
204
+
205
+ skills: T.nilable(
206
+ T::Array[
207
+ T.any(
208
+ OpenAI::Beta::HostedSkillParam::SkillReference::OrHash,
209
+ OpenAI::Beta::HostedSkillParam::Inline::OrHash
210
+ )
211
+ ]
212
+ ),
213
+
214
+ type: Symbol
215
+ )
216
+ .returns(T.attached_class)
217
+ end
218
+ def self.new(
219
+
220
+ # Directories that contain capabilities exposed to the agent. Defaults to an empty
221
+ # list.
222
+ capability_directories: nil,
223
+
224
+ # Desktop provisioning. Omission or null inherits the template setting, or
225
+ # defaults to disabled.
226
+ desktop: nil,
227
+
228
+ # Environment variables made available to the agent.
229
+ env: nil,
230
+
231
+ # A reusable hosted template applied before inline configuration. Omitted fields
232
+ # inherit the template; network overrides cannot broaden its policy.
233
+ environment_template_id: nil,
234
+
235
+ # Files available before the agent starts. Defaults to an empty list.
236
+ files: nil,
237
+
238
+ # Network access policy for the environment. If omitted, the API version
239
+ # determines whether network access is enabled or disabled.
240
+ network: nil,
241
+
242
+ # Packages to install in the environment. Defaults to empty package lists.
243
+ packages: nil,
244
+
245
+ # Plugins provided as inline ZIP archives. Defaults to an empty list.
246
+ plugins: nil,
247
+
248
+ # Ordered, confidential setup commands. Command bodies are never returned.
249
+ setup_commands: nil,
250
+
251
+ # Skills referenced by ID or provided as inline ZIP archives. Defaults to an empty
252
+ # list.
253
+ skills: nil,
254
+
255
+ # The type of the object. Always `openai_hosted`.
256
+
257
+ type: :openai_hosted
258
+ )
259
+ end
260
+
261
+ sig do
262
+ override.returns(
263
+ {
264
+ type: Symbol,
265
+ capability_directories: T.nilable(T::Array[String]),
266
+ desktop: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Desktop),
267
+ env: T.nilable(T::Hash[Symbol, String]),
268
+ environment_template_id: String,
269
+ files: T.nilable(
270
+ T::Array[
271
+ T.any(
272
+ OpenAI::Beta::HostedEnvironmentFileParam::FileID,
273
+ OpenAI::Beta::HostedEnvironmentFileParam::Inline
274
+ )
275
+ ]
276
+ ),
277
+ network: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network),
278
+ packages: T.nilable(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Packages),
279
+ plugins: T.nilable(T::Array[OpenAI::Beta::HostedPluginParam]),
280
+ setup_commands: T.nilable(T::Array[OpenAI::Beta::SetupCommandParam]),
281
+ skills: T.nilable(
282
+ T::Array[
283
+ T.any(OpenAI::Beta::HostedSkillParam::SkillReference, OpenAI::Beta::HostedSkillParam::Inline)
284
+ ]
285
+ )
286
+ }
287
+ )
288
+ end
289
+ def to_hash
290
+ end
291
+
292
+ class Desktop < OpenAI::Internal::Type::BaseModel
293
+ OrHash = T.type_alias do
294
+ T.any(
295
+ OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Desktop,
296
+ OpenAI::Internal::AnyHash
297
+ )
298
+ end
299
+
300
+ # Whether to provision the desktop and its browser proxy.
301
+ sig { returns(T::Boolean) }
302
+ attr_accessor :enabled
303
+
304
+ # Desktop provisioning. Omission or null inherits the template setting, or
305
+ # defaults to disabled.
306
+ sig do
307
+ params(
308
+
309
+ enabled: T::Boolean
310
+ )
311
+ .returns(T.attached_class)
312
+ end
313
+ def self.new(
314
+
315
+ # Whether to provision the desktop and its browser proxy.
316
+
317
+ enabled:
318
+ )
319
+ end
320
+
321
+ sig do
322
+ override.returns(
323
+ {enabled: T::Boolean}
324
+ )
325
+ end
326
+ def to_hash
327
+ end
328
+
329
+ end
330
+
331
+ class Network < OpenAI::Internal::Type::BaseModel
332
+ OrHash = T.type_alias do
333
+ T.any(
334
+ OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network,
335
+ OpenAI::Internal::AnyHash
336
+ )
337
+ end
338
+
339
+ # The environment's network access mode.
340
+ sig { returns(OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::Access::OrSymbol) }
341
+ attr_accessor :access
342
+
343
+ # Domains the environment may access when network access is restricted.
344
+ sig { returns(T.nilable(T::Array[String])) }
345
+ attr_accessor :allowed_domains
346
+
347
+ # Domains blocked for both executor and browser when access is restricted. A
348
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
349
+ # `allowed_domains`. Wildcard domains are not supported.
350
+ sig { returns(T.nilable(T::Array[String])) }
351
+ attr_accessor :blocked_domains
352
+
353
+ # Network access policy for the environment. If omitted, the API version
354
+ # determines whether network access is enabled or disabled.
355
+ sig do
356
+ params(
357
+
358
+ access: OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::Access::OrSymbol,
359
+
360
+ allowed_domains: T.nilable(T::Array[String]),
361
+
362
+ blocked_domains: T.nilable(T::Array[String])
363
+ )
364
+ .returns(T.attached_class)
365
+ end
366
+ def self.new(
367
+
368
+ # The environment's network access mode.
369
+ access:,
370
+
371
+ # Domains the environment may access when network access is restricted.
372
+ allowed_domains: nil,
373
+
374
+ # Domains blocked for both executor and browser when access is restricted. A
375
+ # nonempty list requires `access: restricted` and cannot be combined with nonempty
376
+ # `allowed_domains`. Wildcard domains are not supported.
377
+
378
+ blocked_domains: nil
379
+ )
380
+ end
381
+
382
+ sig do
383
+ override.returns(
384
+ {
385
+ access: OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::Access::OrSymbol,
386
+ allowed_domains: T.nilable(T::Array[String]),
387
+ blocked_domains: T.nilable(T::Array[String])
388
+ }
389
+ )
390
+ end
391
+ def to_hash
392
+ end
393
+
394
+ # The environment's network access mode.
395
+ module Access
396
+ extend OpenAI::Internal::Type::Enum
397
+
398
+ TaggedSymbol = T.type_alias {
399
+ T.all(Symbol, OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::Access)
400
+ }
401
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
402
+
403
+ # Allows unrestricted network access.
404
+ ENABLED = T.let(
405
+ :enabled,
406
+ OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::Access::TaggedSymbol
407
+ )
408
+
409
+ # Disables network access.
410
+ DISABLED = T.let(
411
+ :disabled,
412
+ OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::Access::TaggedSymbol
413
+ )
414
+
415
+ # Applies the configured domain restrictions.
416
+ RESTRICTED = T.let(
417
+ :restricted,
418
+ OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::Access::TaggedSymbol
419
+ )
420
+
421
+ sig {
422
+ override.returns(
423
+ T::Array[OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Network::Access::TaggedSymbol]
424
+ )
425
+ }
426
+ def self.values
427
+ end
428
+ end
429
+ end
430
+
431
+ class Packages < OpenAI::Internal::Type::BaseModel
432
+ OrHash = T.type_alias do
433
+ T.any(
434
+ OpenAI::Beta::Agents::EnvironmentCreateParams::Environment::Packages,
435
+ OpenAI::Internal::AnyHash
436
+ )
437
+ end
438
+
439
+ # npm packages to install globally. Defaults to an empty list.
440
+ sig { returns(T.nilable(T::Array[String])) }
441
+ attr_accessor :npm
442
+
443
+ # Python packages to install. Defaults to an empty list.
444
+ sig { returns(T.nilable(T::Array[String])) }
445
+ attr_accessor :python
446
+
447
+ # System packages to install. Defaults to an empty list.
448
+ sig { returns(T.nilable(T::Array[String])) }
449
+ attr_accessor :system_
450
+
451
+ # Packages to install in the environment. Defaults to empty package lists.
452
+ sig do
453
+ params(
454
+
455
+ npm: T.nilable(T::Array[String]),
456
+
457
+ python: T.nilable(T::Array[String]),
458
+
459
+ system_: T.nilable(T::Array[String])
460
+ )
461
+ .returns(T.attached_class)
462
+ end
463
+ def self.new(
464
+
465
+ # npm packages to install globally. Defaults to an empty list.
466
+ npm: nil,
467
+
468
+ # Python packages to install. Defaults to an empty list.
469
+ python: nil,
470
+
471
+ # System packages to install. Defaults to an empty list.
472
+
473
+ system_: nil
474
+ )
475
+ end
476
+
477
+ sig do
478
+ override.returns(
479
+ {
480
+ npm: T.nilable(T::Array[String]),
481
+ python: T.nilable(T::Array[String]),
482
+ system_: T.nilable(T::Array[String])
483
+ }
484
+ )
485
+ end
486
+ def to_hash
487
+ end
488
+
489
+ end
490
+ end
491
+
492
+ end
493
+
494
+ end
495
+
496
+ end
497
+
498
+ end
499
+ end
@@ -121,8 +121,14 @@ module OpenAI
121
121
  OrSymbol = T.type_alias { T.any(Symbol, String) }
122
122
 
123
123
  PENDING = T.let(:pending, OpenAI::Beta::Agents::EnvironmentInfo::Status::TaggedSymbol)
124
+ # Provisioning succeeded and the environment is available for attachment or use.
125
+ READY = T.let(:ready, OpenAI::Beta::Agents::EnvironmentInfo::Status::TaggedSymbol)
126
+
124
127
  CONNECTED = T.let(:connected, OpenAI::Beta::Agents::EnvironmentInfo::Status::TaggedSymbol)
125
128
  DISCONNECTED = T.let(:disconnected, OpenAI::Beta::Agents::EnvironmentInfo::Status::TaggedSymbol)
129
+ # The sandbox is stopped and can be resumed from its private checkpoint.
130
+ SUSPENDED = T.let(:suspended, OpenAI::Beta::Agents::EnvironmentInfo::Status::TaggedSymbol)
131
+
126
132
  EXPIRED = T.let(:expired, OpenAI::Beta::Agents::EnvironmentInfo::Status::TaggedSymbol)
127
133
  FAILED = T.let(:failed, OpenAI::Beta::Agents::EnvironmentInfo::Status::TaggedSymbol)
128
134
 
@@ -0,0 +1,136 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ module Agents
9
+
10
+ class EnvironmentListParams < OpenAI::Internal::Type::BaseModel
11
+
12
+ extend OpenAI::Internal::Type::RequestParameters::Converter
13
+ include OpenAI::Internal::Type::RequestParameters
14
+
15
+ OrHash = T.type_alias do
16
+ T.any(
17
+ OpenAI::Beta::Agents::EnvironmentListParams,
18
+ OpenAI::Internal::AnyHash
19
+ )
20
+ end
21
+
22
+ # Return environments after this environment ID in the selected order.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_reader :after
25
+
26
+ sig { params(after: String).void }
27
+ attr_writer :after
28
+
29
+ # The maximum number of environments to return, between 1 and 100. Defaults to 20.
30
+ sig { returns(T.nilable(Integer)) }
31
+ attr_reader :limit
32
+
33
+ sig { params(limit: Integer).void }
34
+ attr_writer :limit
35
+
36
+ # The order in which environments are returned. Defaults to `desc`.
37
+ sig { returns(T.nilable(OpenAI::Beta::Agents::EnvironmentListParams::Order::OrSymbol)) }
38
+ attr_reader :order
39
+
40
+ sig { params(order: OpenAI::Beta::Agents::EnvironmentListParams::Order::OrSymbol).void }
41
+ attr_writer :order
42
+
43
+ # The hosting type to list. Defaults to `openai_hosted`.
44
+ sig { returns(T.nilable(OpenAI::Beta::Agents::EnvironmentListParams::Type::OrSymbol)) }
45
+ attr_reader :type
46
+
47
+ sig { params(type: OpenAI::Beta::Agents::EnvironmentListParams::Type::OrSymbol).void }
48
+ attr_writer :type
49
+
50
+ sig do
51
+ params(
52
+
53
+ after: String,
54
+
55
+ limit: Integer,
56
+
57
+ order: OpenAI::Beta::Agents::EnvironmentListParams::Order::OrSymbol,
58
+
59
+ type: OpenAI::Beta::Agents::EnvironmentListParams::Type::OrSymbol,
60
+
61
+ request_options: OpenAI::RequestOptions::OrHash
62
+ )
63
+ .returns(T.attached_class)
64
+ end
65
+ def self.new(
66
+
67
+ # Return environments after this environment ID in the selected order.
68
+ after: nil,
69
+
70
+ # The maximum number of environments to return, between 1 and 100. Defaults to 20.
71
+ limit: nil,
72
+
73
+ # The order in which environments are returned. Defaults to `desc`.
74
+ order: nil,
75
+
76
+ # The hosting type to list. Defaults to `openai_hosted`.
77
+ type: nil,
78
+
79
+ request_options: {}
80
+ )
81
+ end
82
+
83
+ sig do
84
+ override.returns(
85
+ {
86
+ after: String,
87
+ limit: Integer,
88
+ order: OpenAI::Beta::Agents::EnvironmentListParams::Order::OrSymbol,
89
+ type: OpenAI::Beta::Agents::EnvironmentListParams::Type::OrSymbol,
90
+ request_options: OpenAI::RequestOptions
91
+ }
92
+ )
93
+ end
94
+ def to_hash
95
+ end
96
+
97
+ # The order in which environments are returned. Defaults to `desc`.
98
+ module Order
99
+ extend OpenAI::Internal::Type::Enum
100
+
101
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Beta::Agents::EnvironmentListParams::Order) }
102
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
103
+
104
+ # Returns resources in ascending order.
105
+ ASC = T.let(:asc, OpenAI::Beta::Agents::EnvironmentListParams::Order::TaggedSymbol)
106
+
107
+ # Returns resources in descending order.
108
+ DESC = T.let(:desc, OpenAI::Beta::Agents::EnvironmentListParams::Order::TaggedSymbol)
109
+
110
+ sig { override.returns(T::Array[OpenAI::Beta::Agents::EnvironmentListParams::Order::TaggedSymbol]) }
111
+ def self.values
112
+ end
113
+ end
114
+
115
+ # The hosting type to list. Defaults to `openai_hosted`.
116
+ module Type
117
+ extend OpenAI::Internal::Type::Enum
118
+
119
+ TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Beta::Agents::EnvironmentListParams::Type) }
120
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
121
+
122
+ OPENAI_HOSTED = T.let(:openai_hosted, OpenAI::Beta::Agents::EnvironmentListParams::Type::TaggedSymbol)
123
+
124
+ sig { override.returns(T::Array[OpenAI::Beta::Agents::EnvironmentListParams::Type::TaggedSymbol]) }
125
+ def self.values
126
+ end
127
+ end
128
+
129
+ end
130
+
131
+ end
132
+
133
+ end
134
+
135
+ end
136
+ end
@@ -91,6 +91,14 @@ module OpenAI
91
91
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
92
92
  attr_accessor :env
93
93
 
94
+ # An existing prewarmed environment. Cannot be combined with a template or inline
95
+ # configuration.
96
+ sig { returns(T.nilable(String)) }
97
+ attr_reader :environment_id
98
+
99
+ sig { params(environment_id: String).void }
100
+ attr_writer :environment_id
101
+
94
102
  # A reusable hosted template applied before inline session configuration. Omitted
95
103
  # fields inherit the template; network overrides cannot broaden its policy.
96
104
  sig { returns(T.nilable(String)) }
@@ -161,6 +169,8 @@ module OpenAI
161
169
 
162
170
  env: T.nilable(T::Hash[Symbol, String]),
163
171
 
172
+ environment_id: String,
173
+
164
174
  environment_template_id: String,
165
175
 
166
176
  files: T.nilable(
@@ -209,6 +219,10 @@ module OpenAI
209
219
  # Environment variables made available to the agent.
210
220
  env: nil,
211
221
 
222
+ # An existing prewarmed environment. Cannot be combined with a template or inline
223
+ # configuration.
224
+ environment_id: nil,
225
+
212
226
  # A reusable hosted template applied before inline session configuration. Omitted
213
227
  # fields inherit the template; network overrides cannot broaden its policy.
214
228
  environment_template_id: nil,
@@ -247,6 +261,7 @@ module OpenAI
247
261
  container_size: OpenAI::Beta::EnvironmentParam::OpenAIHosted::ContainerSize::OrSymbol,
248
262
  desktop: T.nilable(OpenAI::Beta::EnvironmentParam::OpenAIHosted::Desktop),
249
263
  env: T.nilable(T::Hash[Symbol, String]),
264
+ environment_id: String,
250
265
  environment_template_id: String,
251
266
  files: T.nilable(
252
267
  T::Array[