openai 0.119.0 → 0.121.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 (106) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +1 -1
  4. data/lib/openai/models/all_models.rb +1 -0
  5. data/lib/openai/models/beta/agents/automation.rb +27 -0
  6. data/lib/openai/models/beta/agents/automation_agent_config.rb +142 -0
  7. data/lib/openai/models/beta/agents/automation_create_params.rb +27 -0
  8. data/lib/openai/models/beta/agents/automation_created_by.rb +65 -0
  9. data/lib/openai/models/beta/agents/automation_delete_params.rb +24 -0
  10. data/lib/openai/models/beta/agents/automation_deleted.rb +40 -0
  11. data/lib/openai/models/beta/agents/automation_environment.rb +484 -0
  12. data/lib/openai/models/beta/agents/automation_list_params.rb +68 -0
  13. data/lib/openai/models/beta/agents/automation_pause_params.rb +24 -0
  14. data/lib/openai/models/beta/agents/automation_resume_params.rb +24 -0
  15. data/lib/openai/models/beta/agents/automation_retrieve_params.rb +24 -0
  16. data/lib/openai/models/beta/agents/automation_schedule_param.rb +124 -0
  17. data/lib/openai/models/beta/agents/automation_target.rb +153 -0
  18. data/lib/openai/models/beta/agents/automation_target_param.rb +312 -0
  19. data/lib/openai/models/beta/agents/automation_update_params.rb +79 -0
  20. data/lib/openai/models/beta/agents/automations/automation_invocation.rb +148 -0
  21. data/lib/openai/models/beta/agents/automations/automation_invocation_source.rb +59 -0
  22. data/lib/openai/models/beta/agents/automations/invocation_create_params.rb +26 -0
  23. data/lib/openai/models/beta/agents/automations/invocation_list_params.rb +68 -0
  24. data/lib/openai/models/beta/agents/automations/invocation_retrieve_params.rb +32 -0
  25. data/lib/openai/models/beta/agents/environments/file_create_params.rb +11 -1
  26. data/lib/openai/models/beta/agents/one_time_automation.rb +118 -0
  27. data/lib/openai/models/beta/agents/periodic_automation.rb +126 -0
  28. data/lib/openai/models/beta/beta_response.rb +3 -0
  29. data/lib/openai/models/beta/beta_responses_client_event.rb +6 -0
  30. data/lib/openai/models/beta/response_compact_params.rb +6 -0
  31. data/lib/openai/models/beta/response_create_params.rb +6 -0
  32. data/lib/openai/models/responses/response_compact_params.rb +3 -0
  33. data/lib/openai/models/responses_model.rb +1 -0
  34. data/lib/openai/resources/beta/agents/automations/invocations.rb +103 -0
  35. data/lib/openai/resources/beta/agents/automations.rb +211 -0
  36. data/lib/openai/resources/beta/agents.rb +4 -0
  37. data/lib/openai/version.rb +1 -1
  38. data/lib/openai.rb +24 -0
  39. data/rbi/openai/models/all_models.rbi +1 -0
  40. data/rbi/openai/models/beta/agents/automation.rbi +32 -0
  41. data/rbi/openai/models/beta/agents/automation_agent_config.rbi +255 -0
  42. data/rbi/openai/models/beta/agents/automation_create_params.rbi +75 -0
  43. data/rbi/openai/models/beta/agents/automation_created_by.rbi +124 -0
  44. data/rbi/openai/models/beta/agents/automation_delete_params.rbi +57 -0
  45. data/rbi/openai/models/beta/agents/automation_deleted.rbi +71 -0
  46. data/rbi/openai/models/beta/agents/automation_environment.rbi +795 -0
  47. data/rbi/openai/models/beta/agents/automation_list_params.rbi +122 -0
  48. data/rbi/openai/models/beta/agents/automation_pause_params.rbi +57 -0
  49. data/rbi/openai/models/beta/agents/automation_resume_params.rbi +57 -0
  50. data/rbi/openai/models/beta/agents/automation_retrieve_params.rbi +57 -0
  51. data/rbi/openai/models/beta/agents/automation_schedule_param.rbi +228 -0
  52. data/rbi/openai/models/beta/agents/automation_target.rbi +250 -0
  53. data/rbi/openai/models/beta/agents/automation_target_param.rbi +564 -0
  54. data/rbi/openai/models/beta/agents/automation_update_params.rbi +161 -0
  55. data/rbi/openai/models/beta/agents/automations/automation_invocation.rbi +233 -0
  56. data/rbi/openai/models/beta/agents/automations/automation_invocation_source.rbi +123 -0
  57. data/rbi/openai/models/beta/agents/automations/invocation_create_params.rbi +61 -0
  58. data/rbi/openai/models/beta/agents/automations/invocation_list_params.rbi +125 -0
  59. data/rbi/openai/models/beta/agents/automations/invocation_retrieve_params.rbi +68 -0
  60. data/rbi/openai/models/beta/agents/environments/file_create_params.rbi +27 -1
  61. data/rbi/openai/models/beta/agents/one_time_automation.rbi +168 -0
  62. data/rbi/openai/models/beta/agents/periodic_automation.rbi +177 -0
  63. data/rbi/openai/models/beta/beta_response.rbi +1 -0
  64. data/rbi/openai/models/beta/beta_responses_client_event.rbi +8 -0
  65. data/rbi/openai/models/beta/response_compact_params.rbi +2 -0
  66. data/rbi/openai/models/beta/response_create_params.rbi +2 -0
  67. data/rbi/openai/models/responses/response_compact_params.rbi +1 -0
  68. data/rbi/openai/models/responses_model.rbi +1 -0
  69. data/rbi/openai/resources/beta/agents/automations/invocations.rbi +67 -0
  70. data/rbi/openai/resources/beta/agents/automations.rbi +141 -0
  71. data/rbi/openai/resources/beta/agents.rbi +3 -0
  72. data/sig/openai/models/all_models.rbs +2 -0
  73. data/sig/openai/models/beta/agent_session_turn_reasoning_summary_part_done_event.rbs +1 -4
  74. data/sig/openai/models/beta/agents/automation.rbs +17 -0
  75. data/sig/openai/models/beta/agents/automation_agent_config.rbs +143 -0
  76. data/sig/openai/models/beta/agents/automation_create_params.rbs +33 -0
  77. data/sig/openai/models/beta/agents/automation_created_by.rbs +62 -0
  78. data/sig/openai/models/beta/agents/automation_delete_params.rbs +27 -0
  79. data/sig/openai/models/beta/agents/automation_deleted.rbs +39 -0
  80. data/sig/openai/models/beta/agents/automation_environment.rbs +428 -0
  81. data/sig/openai/models/beta/agents/automation_list_params.rbs +85 -0
  82. data/sig/openai/models/beta/agents/automation_pause_params.rbs +27 -0
  83. data/sig/openai/models/beta/agents/automation_resume_params.rbs +27 -0
  84. data/sig/openai/models/beta/agents/automation_retrieve_params.rbs +27 -0
  85. data/sig/openai/models/beta/agents/automation_schedule_param.rbs +127 -0
  86. data/sig/openai/models/beta/agents/automation_target.rbs +157 -0
  87. data/sig/openai/models/beta/agents/automation_target_param.rbs +299 -0
  88. data/sig/openai/models/beta/agents/automation_update_params.rbs +97 -0
  89. data/sig/openai/models/beta/agents/automations/automation_invocation.rbs +134 -0
  90. data/sig/openai/models/beta/agents/automations/automation_invocation_source.rbs +62 -0
  91. data/sig/openai/models/beta/agents/automations/invocation_create_params.rbs +29 -0
  92. data/sig/openai/models/beta/agents/automations/invocation_list_params.rbs +81 -0
  93. data/sig/openai/models/beta/agents/automations/invocation_retrieve_params.rbs +37 -0
  94. data/sig/openai/models/beta/agents/environments/file_create_params.rbs +12 -1
  95. data/sig/openai/models/beta/agents/one_time_automation.rbs +111 -0
  96. data/sig/openai/models/beta/agents/periodic_automation.rbs +118 -0
  97. data/sig/openai/models/beta/beta_response.rbs +2 -0
  98. data/sig/openai/models/beta/beta_responses_client_event.rbs +4 -0
  99. data/sig/openai/models/beta/response_compact_params.rbs +4 -0
  100. data/sig/openai/models/beta/response_create_params.rbs +4 -0
  101. data/sig/openai/models/responses/response_compact_params.rbs +2 -0
  102. data/sig/openai/models/responses_model.rbs +2 -0
  103. data/sig/openai/resources/beta/agents/automations/invocations.rbs +32 -0
  104. data/sig/openai/resources/beta/agents/automations.rbs +57 -0
  105. data/sig/openai/resources/beta/agents.rbs +2 -0
  106. metadata +73 -1
@@ -0,0 +1,795 @@
1
+ # typed: strong
2
+
3
+ module OpenAI
4
+ module Models
5
+
6
+ module Beta
7
+
8
+ module Agents
9
+
10
+ # Environment selection saved before an invocation creates its session.
11
+ module AutomationEnvironment
12
+ extend OpenAI::Internal::Type::Union
13
+
14
+ Variants = T.type_alias do
15
+ T.any(
16
+ OpenAI::Beta::Agents::AutomationEnvironment::None,
17
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted,
18
+ OpenAI::Beta::Agents::AutomationEnvironment::SelfHosted
19
+ )
20
+ end
21
+
22
+ class None < OpenAI::Internal::Type::BaseModel
23
+ OrHash = T.type_alias do
24
+ T.any(
25
+ OpenAI::Beta::Agents::AutomationEnvironment::None,
26
+ OpenAI::Internal::AnyHash
27
+ )
28
+ end
29
+
30
+ # The type of the object. Always `none`.
31
+ sig { returns(Symbol) }
32
+ attr_accessor :type
33
+
34
+ sig do
35
+ params(
36
+
37
+ type: Symbol
38
+ )
39
+ .returns(T.attached_class)
40
+ end
41
+ def self.new(
42
+
43
+ # The type of the object. Always `none`.
44
+
45
+ type: :none
46
+ )
47
+ end
48
+
49
+ sig do
50
+ override.returns(
51
+ {type: Symbol}
52
+ )
53
+ end
54
+ def to_hash
55
+ end
56
+
57
+ end
58
+
59
+ class OpenAIHosted < OpenAI::Internal::Type::BaseModel
60
+ OrHash = T.type_alias do
61
+ T.any(
62
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted,
63
+ OpenAI::Internal::AnyHash
64
+ )
65
+ end
66
+
67
+ # Directory overrides, or null to inherit the template or creation default.
68
+ sig { returns(T.nilable(T::Array[String])) }
69
+ attr_accessor :capability_directories
70
+
71
+ # The configured container size, or null to use the creation default.
72
+ sig {
73
+ returns(T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::ContainerSize::TaggedSymbol))
74
+ }
75
+ attr_accessor :container_size
76
+
77
+ # Desktop overrides, or null to inherit the template or creation default.
78
+ sig { returns(T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Desktop)) }
79
+ attr_reader :desktop
80
+
81
+ sig {
82
+ params(desktop: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Desktop::OrHash))
83
+ .void
84
+ }
85
+ attr_writer :desktop
86
+
87
+ # An existing environment reference, or null when provisioning a new environment.
88
+ sig { returns(T.nilable(String)) }
89
+ attr_accessor :environment_id
90
+
91
+ # A template reference, or null when no template is selected.
92
+ sig { returns(T.nilable(String)) }
93
+ attr_accessor :environment_template_id
94
+
95
+ # File overrides, excluding contents, or null to inherit.
96
+ sig {
97
+ returns(T.nilable(T::Array[OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::Variants]))
98
+ }
99
+ attr_accessor :files
100
+
101
+ # Network overrides, or null to inherit the template or creation default.
102
+ sig { returns(T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network)) }
103
+ attr_reader :network
104
+
105
+ sig {
106
+ params(network: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::OrHash))
107
+ .void
108
+ }
109
+ attr_writer :network
110
+
111
+ # Package overrides, or null to inherit the template or creation default.
112
+ sig { returns(T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Packages)) }
113
+ attr_reader :packages
114
+
115
+ sig {
116
+ params(packages: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Packages::OrHash))
117
+ .void
118
+ }
119
+ attr_writer :packages
120
+
121
+ # Plugin overrides, excluding archive contents, or null to inherit.
122
+ sig { returns(T.nilable(T::Array[OpenAI::Beta::HostedPlugin])) }
123
+ attr_accessor :plugins
124
+
125
+ # Skill overrides, excluding archive contents, or null to inherit.
126
+ sig {
127
+ returns(T.nilable(T::Array[OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::Variants]))
128
+ }
129
+ attr_accessor :skills
130
+
131
+ # The type of the object. Always `openai_hosted`.
132
+ sig { returns(Symbol) }
133
+ attr_accessor :type
134
+
135
+ # Hosted environment selection with confidential setup commands and variables
136
+ # omitted.
137
+ sig do
138
+ params(
139
+
140
+ capability_directories: T.nilable(T::Array[String]),
141
+
142
+ container_size: T.nilable(
143
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::ContainerSize::OrSymbol
144
+ ),
145
+
146
+ desktop: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Desktop::OrHash),
147
+
148
+ environment_id: T.nilable(String),
149
+
150
+ environment_template_id: T.nilable(String),
151
+
152
+ files: T.nilable(
153
+ T::Array[
154
+ T.any(
155
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::FileID::OrHash,
156
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::Inline::OrHash
157
+ )
158
+ ]
159
+ ),
160
+
161
+ network: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::OrHash),
162
+
163
+ packages: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Packages::OrHash),
164
+
165
+ plugins: T.nilable(T::Array[OpenAI::Beta::HostedPlugin::OrHash]),
166
+
167
+ skills: T.nilable(
168
+ T::Array[
169
+ T.any(
170
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::SkillReference::OrHash,
171
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::Inline::OrHash
172
+ )
173
+ ]
174
+ ),
175
+
176
+ type: Symbol
177
+ )
178
+ .returns(T.attached_class)
179
+ end
180
+ def self.new(
181
+
182
+ # Directory overrides, or null to inherit the template or creation default.
183
+ capability_directories:,
184
+
185
+ # The configured container size, or null to use the creation default.
186
+ container_size:,
187
+
188
+ # Desktop overrides, or null to inherit the template or creation default.
189
+ desktop:,
190
+
191
+ # An existing environment reference, or null when provisioning a new environment.
192
+ environment_id:,
193
+
194
+ # A template reference, or null when no template is selected.
195
+ environment_template_id:,
196
+
197
+ # File overrides, excluding contents, or null to inherit.
198
+ files:,
199
+
200
+ # Network overrides, or null to inherit the template or creation default.
201
+ network:,
202
+
203
+ # Package overrides, or null to inherit the template or creation default.
204
+ packages:,
205
+
206
+ # Plugin overrides, excluding archive contents, or null to inherit.
207
+ plugins:,
208
+
209
+ # Skill overrides, excluding archive contents, or null to inherit.
210
+ skills:,
211
+
212
+ # The type of the object. Always `openai_hosted`.
213
+
214
+ type: :openai_hosted
215
+ )
216
+ end
217
+
218
+ sig do
219
+ override.returns(
220
+ {
221
+ capability_directories: T.nilable(T::Array[String]),
222
+ container_size: T.nilable(
223
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::ContainerSize::TaggedSymbol
224
+ ),
225
+ desktop: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Desktop),
226
+ environment_id: T.nilable(String),
227
+ environment_template_id: T.nilable(String),
228
+ files: T.nilable(T::Array[OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::Variants]),
229
+ network: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network),
230
+ packages: T.nilable(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Packages),
231
+ plugins: T.nilable(T::Array[OpenAI::Beta::HostedPlugin]),
232
+ skills: T.nilable(
233
+ T::Array[OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::Variants]
234
+ ),
235
+ type: Symbol
236
+ }
237
+ )
238
+ end
239
+ def to_hash
240
+ end
241
+
242
+ # The configured container size, or null to use the creation default.
243
+ module ContainerSize
244
+ extend OpenAI::Internal::Type::Enum
245
+
246
+ TaggedSymbol = T.type_alias {
247
+ T.all(Symbol, OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::ContainerSize)
248
+ }
249
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
250
+
251
+ SMALL = T.let(
252
+ :small,
253
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::ContainerSize::TaggedSymbol
254
+ )
255
+ MEDIUM = T.let(
256
+ :medium,
257
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::ContainerSize::TaggedSymbol
258
+ )
259
+ LARGE = T.let(
260
+ :large,
261
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::ContainerSize::TaggedSymbol
262
+ )
263
+
264
+ sig {
265
+ override.returns(
266
+ T::Array[OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::ContainerSize::TaggedSymbol]
267
+ )
268
+ }
269
+ def self.values
270
+ end
271
+ end
272
+
273
+ class Desktop < OpenAI::Internal::Type::BaseModel
274
+ OrHash = T.type_alias do
275
+ T.any(
276
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Desktop,
277
+ OpenAI::Internal::AnyHash
278
+ )
279
+ end
280
+
281
+ # Whether the environment provisions a desktop and browser proxy.
282
+ sig { returns(T::Boolean) }
283
+ attr_accessor :enabled
284
+
285
+ # Desktop overrides, or null to inherit the template or creation default.
286
+ sig do
287
+ params(
288
+
289
+ enabled: T::Boolean
290
+ )
291
+ .returns(T.attached_class)
292
+ end
293
+ def self.new(
294
+
295
+ # Whether the environment provisions a desktop and browser proxy.
296
+
297
+ enabled:
298
+ )
299
+ end
300
+
301
+ sig do
302
+ override.returns(
303
+ {enabled: T::Boolean}
304
+ )
305
+ end
306
+ def to_hash
307
+ end
308
+
309
+ end
310
+
311
+ # Safe metadata for a file configured by an environment template.
312
+ module File
313
+ extend OpenAI::Internal::Type::Union
314
+
315
+ Variants = T.type_alias {
316
+ T.any(
317
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::FileID,
318
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::Inline
319
+ )
320
+ }
321
+
322
+ class FileID < OpenAI::Internal::Type::BaseModel
323
+ OrHash = T.type_alias do
324
+ T.any(
325
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::FileID,
326
+ OpenAI::Internal::AnyHash
327
+ )
328
+ end
329
+
330
+ # The ID of the uploaded file.
331
+ sig { returns(String) }
332
+ attr_accessor :file_id
333
+
334
+ # The file's absolute path inside the environment.
335
+ sig { returns(String) }
336
+ attr_accessor :path
337
+
338
+ # The type of the object. Always `file_id`.
339
+ sig { returns(Symbol) }
340
+ attr_accessor :type
341
+
342
+ # A project-scoped Files API reference resolved separately for each session.
343
+ sig do
344
+ params(
345
+
346
+ file_id: String,
347
+
348
+ path: String,
349
+
350
+ type: Symbol
351
+ )
352
+ .returns(T.attached_class)
353
+ end
354
+ def self.new(
355
+
356
+ # The ID of the uploaded file.
357
+ file_id:,
358
+
359
+ # The file's absolute path inside the environment.
360
+ path:,
361
+
362
+ # The type of the object. Always `file_id`.
363
+
364
+ type: :file_id
365
+ )
366
+ end
367
+
368
+ sig do
369
+ override.returns(
370
+ {file_id: String, path: String, type: Symbol}
371
+ )
372
+ end
373
+ def to_hash
374
+ end
375
+
376
+ end
377
+
378
+ class Inline < OpenAI::Internal::Type::BaseModel
379
+ OrHash = T.type_alias do
380
+ T.any(
381
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::Inline,
382
+ OpenAI::Internal::AnyHash
383
+ )
384
+ end
385
+
386
+ # The file's absolute path inside the environment.
387
+ sig { returns(String) }
388
+ attr_accessor :path
389
+
390
+ # The decoded size of the inline file in bytes.
391
+ sig { returns(Integer) }
392
+ attr_accessor :size_bytes
393
+
394
+ # The type of the object. Always `inline`.
395
+ sig { returns(Symbol) }
396
+ attr_accessor :type
397
+
398
+ # Metadata for confidential inline file contents.
399
+ sig do
400
+ params(
401
+
402
+ path: String,
403
+
404
+ size_bytes: Integer,
405
+
406
+ type: Symbol
407
+ )
408
+ .returns(T.attached_class)
409
+ end
410
+ def self.new(
411
+
412
+ # The file's absolute path inside the environment.
413
+ path:,
414
+
415
+ # The decoded size of the inline file in bytes.
416
+ size_bytes:,
417
+
418
+ # The type of the object. Always `inline`.
419
+
420
+ type: :inline
421
+ )
422
+ end
423
+
424
+ sig do
425
+ override.returns(
426
+ {path: String, size_bytes: Integer, type: Symbol}
427
+ )
428
+ end
429
+ def to_hash
430
+ end
431
+
432
+ end
433
+
434
+ sig {
435
+ override.returns(T::Array[OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::File::Variants])
436
+ }
437
+ def self.variants
438
+ end
439
+
440
+ end
441
+
442
+ class Network < OpenAI::Internal::Type::BaseModel
443
+ OrHash = T.type_alias do
444
+ T.any(
445
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network,
446
+ OpenAI::Internal::AnyHash
447
+ )
448
+ end
449
+
450
+ # The environment's network access mode.
451
+ sig { returns(OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::Access::TaggedSymbol) }
452
+ attr_accessor :access
453
+
454
+ # Domains the environment may access when network access is restricted.
455
+ sig { returns(T::Array[String]) }
456
+ attr_accessor :allowed_domains
457
+
458
+ # Network overrides, or null to inherit the template or creation default.
459
+ sig do
460
+ params(
461
+
462
+ access: OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::Access::OrSymbol,
463
+
464
+ allowed_domains: T::Array[String]
465
+ )
466
+ .returns(T.attached_class)
467
+ end
468
+ def self.new(
469
+
470
+ # The environment's network access mode.
471
+ access:,
472
+
473
+ # Domains the environment may access when network access is restricted.
474
+
475
+ allowed_domains:
476
+ )
477
+ end
478
+
479
+ sig do
480
+ override.returns(
481
+ {
482
+ access: OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::Access::TaggedSymbol,
483
+ allowed_domains: T::Array[String]
484
+ }
485
+ )
486
+ end
487
+ def to_hash
488
+ end
489
+
490
+ # The environment's network access mode.
491
+ module Access
492
+ extend OpenAI::Internal::Type::Enum
493
+
494
+ TaggedSymbol = T.type_alias {
495
+ T.all(Symbol, OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::Access)
496
+ }
497
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
498
+
499
+ # Allows unrestricted network access.
500
+ ENABLED = T.let(
501
+ :enabled,
502
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::Access::TaggedSymbol
503
+ )
504
+
505
+ # Disables network access.
506
+ DISABLED = T.let(
507
+ :disabled,
508
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::Access::TaggedSymbol
509
+ )
510
+
511
+ # Applies the configured domain restrictions.
512
+ RESTRICTED = T.let(
513
+ :restricted,
514
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::Access::TaggedSymbol
515
+ )
516
+
517
+ sig {
518
+ override.returns(
519
+ T::Array[OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Network::Access::TaggedSymbol]
520
+ )
521
+ }
522
+ def self.values
523
+ end
524
+ end
525
+ end
526
+
527
+ class Packages < OpenAI::Internal::Type::BaseModel
528
+ OrHash = T.type_alias do
529
+ T.any(
530
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Packages,
531
+ OpenAI::Internal::AnyHash
532
+ )
533
+ end
534
+
535
+ # npm packages installed globally in the environment.
536
+ sig { returns(T::Array[String]) }
537
+ attr_accessor :npm
538
+
539
+ # Python packages installed in the environment.
540
+ sig { returns(T::Array[String]) }
541
+ attr_accessor :python
542
+
543
+ # System packages installed in the environment.
544
+ sig { returns(T::Array[String]) }
545
+ attr_accessor :system_
546
+
547
+ # Package overrides, or null to inherit the template or creation default.
548
+ sig do
549
+ params(
550
+
551
+ npm: T::Array[String],
552
+
553
+ python: T::Array[String],
554
+
555
+ system_: T::Array[String]
556
+ )
557
+ .returns(T.attached_class)
558
+ end
559
+ def self.new(
560
+
561
+ # npm packages installed globally in the environment.
562
+ npm:,
563
+
564
+ # Python packages installed in the environment.
565
+ python:,
566
+
567
+ # System packages installed in the environment.
568
+
569
+ system_:
570
+ )
571
+ end
572
+
573
+ sig do
574
+ override.returns(
575
+ {npm: T::Array[String], python: T::Array[String], system_: T::Array[String]}
576
+ )
577
+ end
578
+ def to_hash
579
+ end
580
+
581
+ end
582
+
583
+ # Safe metadata for a skill configured by an environment template.
584
+ module Skill
585
+ extend OpenAI::Internal::Type::Union
586
+
587
+ Variants = T.type_alias {
588
+ T.any(
589
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::SkillReference,
590
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::Inline
591
+ )
592
+ }
593
+
594
+ class SkillReference < OpenAI::Internal::Type::BaseModel
595
+ OrHash = T.type_alias do
596
+ T.any(
597
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::SkillReference,
598
+ OpenAI::Internal::AnyHash
599
+ )
600
+ end
601
+
602
+ # The referenced skill ID.
603
+ sig { returns(String) }
604
+ attr_accessor :skill_id
605
+
606
+ # The type of the object. Always `skill_reference`.
607
+ sig { returns(Symbol) }
608
+ attr_accessor :type
609
+
610
+ # The requested version selector, including `latest`.
611
+ sig { returns(T.nilable(String)) }
612
+ attr_accessor :version
613
+
614
+ # A skill resolved afresh from the Skills API whenever a session starts.
615
+ sig do
616
+ params(
617
+
618
+ skill_id: String,
619
+
620
+ version: T.nilable(String),
621
+
622
+ type: Symbol
623
+ )
624
+ .returns(T.attached_class)
625
+ end
626
+ def self.new(
627
+
628
+ # The referenced skill ID.
629
+ skill_id:,
630
+
631
+ # The requested version selector, including `latest`.
632
+ version:,
633
+
634
+ # The type of the object. Always `skill_reference`.
635
+
636
+ type: :skill_reference
637
+ )
638
+ end
639
+
640
+ sig do
641
+ override.returns(
642
+ {skill_id: String, type: Symbol, version: T.nilable(String)}
643
+ )
644
+ end
645
+ def to_hash
646
+ end
647
+
648
+ end
649
+
650
+ class Inline < OpenAI::Internal::Type::BaseModel
651
+ OrHash = T.type_alias do
652
+ T.any(
653
+ OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::Inline,
654
+ OpenAI::Internal::AnyHash
655
+ )
656
+ end
657
+
658
+ # The skill description declared in `SKILL.md`.
659
+ sig { returns(String) }
660
+ attr_accessor :description
661
+
662
+ # The skill name declared in `SKILL.md`.
663
+ sig { returns(String) }
664
+ attr_accessor :name
665
+
666
+ # The type of the object. Always `inline`.
667
+ sig { returns(Symbol) }
668
+ attr_accessor :type
669
+
670
+ # Safe metadata for an inline skill archive.
671
+ sig do
672
+ params(
673
+
674
+ description: String,
675
+
676
+ name: String,
677
+
678
+ type: Symbol
679
+ )
680
+ .returns(T.attached_class)
681
+ end
682
+ def self.new(
683
+
684
+ # The skill description declared in `SKILL.md`.
685
+ description:,
686
+
687
+ # The skill name declared in `SKILL.md`.
688
+ name:,
689
+
690
+ # The type of the object. Always `inline`.
691
+
692
+ type: :inline
693
+ )
694
+ end
695
+
696
+ sig do
697
+ override.returns(
698
+ {description: String, name: String, type: Symbol}
699
+ )
700
+ end
701
+ def to_hash
702
+ end
703
+
704
+ end
705
+
706
+ sig {
707
+ override.returns(T::Array[OpenAI::Beta::Agents::AutomationEnvironment::OpenAIHosted::Skill::Variants])
708
+ }
709
+ def self.variants
710
+ end
711
+
712
+ end
713
+ end
714
+
715
+ class SelfHosted < OpenAI::Internal::Type::BaseModel
716
+ OrHash = T.type_alias do
717
+ T.any(
718
+ OpenAI::Beta::Agents::AutomationEnvironment::SelfHosted,
719
+ OpenAI::Internal::AnyHash
720
+ )
721
+ end
722
+
723
+ # Directories that expose capabilities to the agent.
724
+ sig { returns(T::Array[String]) }
725
+ attr_accessor :capability_directories
726
+
727
+ # An existing registration, or null to create a session-owned environment.
728
+ sig { returns(T.nilable(String)) }
729
+ attr_accessor :environment_id
730
+
731
+ # The type of the object. Always `self_hosted`.
732
+ sig { returns(Symbol) }
733
+ attr_accessor :type
734
+
735
+ # The absolute project directory in the environment.
736
+ sig { returns(String) }
737
+ attr_accessor :workspace_directory
738
+
739
+ sig do
740
+ params(
741
+
742
+ capability_directories: T::Array[String],
743
+
744
+ environment_id: T.nilable(String),
745
+
746
+ workspace_directory: String,
747
+
748
+ type: Symbol
749
+ )
750
+ .returns(T.attached_class)
751
+ end
752
+ def self.new(
753
+
754
+ # Directories that expose capabilities to the agent.
755
+ capability_directories:,
756
+
757
+ # An existing registration, or null to create a session-owned environment.
758
+ environment_id:,
759
+
760
+ # The absolute project directory in the environment.
761
+ workspace_directory:,
762
+
763
+ # The type of the object. Always `self_hosted`.
764
+
765
+ type: :self_hosted
766
+ )
767
+ end
768
+
769
+ sig do
770
+ override.returns(
771
+ {
772
+ capability_directories: T::Array[String],
773
+ environment_id: T.nilable(String),
774
+ type: Symbol,
775
+ workspace_directory: String
776
+ }
777
+ )
778
+ end
779
+ def to_hash
780
+ end
781
+
782
+ end
783
+
784
+ sig { override.returns(T::Array[OpenAI::Beta::Agents::AutomationEnvironment::Variants]) }
785
+ def self.variants
786
+ end
787
+
788
+ end
789
+
790
+ end
791
+
792
+ end
793
+
794
+ end
795
+ end