openai 0.101.0 → 0.102.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +14 -0
- data/README.md +1 -1
- data/lib/openai/models/audio/speech_create_params.rb +3 -6
- data/lib/openai/models/audio/voice.rb +4 -9
- data/lib/openai/models/audio/voice_create_params.rb +3 -100
- data/lib/openai/models/beta/agents/environment_create_params.rb +300 -0
- data/lib/openai/models/beta/agents/environment_info.rb +4 -1
- data/lib/openai/models/beta/agents/environment_list_params.rb +78 -0
- data/lib/openai/models/beta/environment_param.rb +12 -1
- data/lib/openai/models/chat/chat_completion_audio_param.rb +3 -3
- data/lib/openai/models/realtime/realtime_audio_config_output.rb +3 -6
- data/lib/openai/models/realtime/realtime_response_create_audio_output.rb +3 -6
- data/lib/openai/models/webhooks/agent_environment_failed_webhook_event.rb +73 -0
- data/lib/openai/models/webhooks/agent_environment_ready_webhook_event.rb +73 -0
- data/lib/openai/models/webhooks/unwrap_webhook_event.rb +9 -3
- data/lib/openai/models/webhooks/webhook_create_params.rb +2 -0
- data/lib/openai/models/webhooks/webhook_test_params.rb +2 -0
- data/lib/openai/models/webhooks/webhook_update_params.rb +2 -0
- data/lib/openai/resources/audio/speech.rb +1 -2
- data/lib/openai/resources/audio/voices.rb +10 -10
- data/lib/openai/resources/beta/agents/environments/files.rb +4 -2
- data/lib/openai/resources/beta/agents/environments/templates.rb +10 -5
- data/lib/openai/resources/beta/agents/environments.rb +80 -1
- data/lib/openai/resources/beta/agents/sessions/artifacts.rb +8 -5
- data/lib/openai/resources/beta/agents/sessions/events.rb +10 -4
- data/lib/openai/resources/beta/agents/sessions/items.rb +2 -1
- data/lib/openai/resources/beta/agents/sessions/subagents/items.rb +2 -1
- data/lib/openai/resources/beta/agents/sessions/subagents/turns/items.rb +2 -1
- data/lib/openai/resources/beta/agents/sessions/subagents/turns.rb +4 -2
- data/lib/openai/resources/beta/agents/sessions/subagents.rb +4 -2
- data/lib/openai/resources/beta/agents/sessions/traces.rb +2 -1
- data/lib/openai/resources/beta/agents/sessions/turns/items.rb +2 -1
- data/lib/openai/resources/beta/agents/sessions/turns.rb +4 -2
- data/lib/openai/resources/beta/agents/sessions.rb +16 -7
- data/lib/openai/resources/beta/agents/vaults/credentials.rb +10 -5
- data/lib/openai/resources/beta/agents/vaults.rb +8 -4
- data/lib/openai/resources/beta/agents.rb +10 -5
- data/lib/openai/resources/beta/assistants.rb +10 -5
- data/lib/openai/resources/beta/chatkit/sessions.rb +4 -2
- data/lib/openai/resources/beta/chatkit/threads.rb +8 -4
- data/lib/openai/resources/beta/threads/messages.rb +10 -5
- data/lib/openai/resources/beta/threads/runs/steps.rb +4 -2
- data/lib/openai/resources/beta/threads/runs.rb +24 -10
- data/lib/openai/resources/beta/threads.rb +16 -7
- data/lib/openai/resources/vector_stores/file_batches.rb +8 -10
- data/lib/openai/resources/vector_stores/files.rb +12 -12
- data/lib/openai/resources/vector_stores.rb +12 -6
- data/lib/openai/resources/webhooks.rb +1 -1
- data/lib/openai/version.rb +1 -1
- data/lib/openai.rb +4 -0
- data/rbi/openai/models/audio/speech_create_params.rbi +3 -6
- data/rbi/openai/models/audio/voice.rbi +4 -9
- data/rbi/openai/models/audio/voice_create_params.rbi +4 -149
- data/rbi/openai/models/beta/agents/environment_create_params.rbi +499 -0
- data/rbi/openai/models/beta/agents/environment_info.rbi +3 -0
- data/rbi/openai/models/beta/agents/environment_list_params.rbi +136 -0
- data/rbi/openai/models/beta/environment_param.rbi +15 -0
- data/rbi/openai/models/chat/chat_completion_audio_param.rbi +3 -3
- data/rbi/openai/models/realtime/realtime_audio_config_output.rbi +3 -6
- data/rbi/openai/models/realtime/realtime_response_create_audio_output.rbi +3 -6
- data/rbi/openai/models/webhooks/agent_environment_failed_webhook_event.rbi +134 -0
- data/rbi/openai/models/webhooks/agent_environment_ready_webhook_event.rbi +134 -0
- data/rbi/openai/models/webhooks/unwrap_webhook_event.rbi +4 -2
- data/rbi/openai/models/webhooks/webhook_create_params.rbi +8 -0
- data/rbi/openai/models/webhooks/webhook_test_params.rbi +8 -0
- data/rbi/openai/models/webhooks/webhook_update_params.rbi +8 -0
- data/rbi/openai/resources/audio/speech.rbi +1 -2
- data/rbi/openai/resources/audio/voices.rbi +10 -13
- data/rbi/openai/resources/beta/agents/environments.rbi +53 -0
- data/rbi/openai/resources/webhooks.rbi +2 -0
- data/sig/openai/models/audio/speech_create_params.rbs +2 -4
- data/sig/openai/models/audio/voice.rbs +3 -6
- data/sig/openai/models/audio/voice_create_params.rbs +1 -90
- data/sig/openai/models/beta/agents/environment_create_params.rbs +268 -0
- data/sig/openai/models/beta/agents/environment_info.rbs +5 -1
- data/sig/openai/models/beta/agents/environment_list_params.rbs +97 -0
- data/sig/openai/models/beta/environment_param.rbs +14 -0
- data/sig/openai/models/chat/chat_completion_audio_param.rbs +2 -2
- data/sig/openai/models/realtime/realtime_audio_config_output.rbs +3 -6
- data/sig/openai/models/realtime/realtime_response_create_audio_output.rbs +3 -6
- data/sig/openai/models/webhooks/agent_environment_failed_webhook_event.rbs +70 -0
- data/sig/openai/models/webhooks/agent_environment_ready_webhook_event.rbs +70 -0
- data/sig/openai/models/webhooks/unwrap_webhook_event.rbs +3 -1
- data/sig/openai/models/webhooks/webhook_create_params.rbs +4 -0
- data/sig/openai/models/webhooks/webhook_test_params.rbs +4 -0
- data/sig/openai/models/webhooks/webhook_update_params.rbs +4 -0
- data/sig/openai/resources/beta/agents/environments.rbs +15 -0
- data/sig/openai/resources/webhooks.rbs +3 -1
- metadata +13 -1
|
@@ -19,20 +19,13 @@ module OpenAI
|
|
|
19
19
|
|
|
20
20
|
# Creates a voice from a consent recording and an audio sample. Requires
|
|
21
21
|
# multipart/form-data.
|
|
22
|
-
sig {
|
|
23
|
-
returns(
|
|
24
|
-
T.any(OpenAI::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Audio::VoiceCreateParams::Body::Prompt)
|
|
25
|
-
)
|
|
26
|
-
}
|
|
22
|
+
sig { returns(OpenAI::Audio::VoiceCreateParams::Body::AudioSample) }
|
|
27
23
|
attr_accessor :body
|
|
28
24
|
|
|
29
25
|
sig do
|
|
30
26
|
params(
|
|
31
27
|
|
|
32
|
-
body:
|
|
33
|
-
OpenAI::Audio::VoiceCreateParams::Body::AudioSample::OrHash,
|
|
34
|
-
OpenAI::Audio::VoiceCreateParams::Body::Prompt::OrHash
|
|
35
|
-
),
|
|
28
|
+
body: OpenAI::Audio::VoiceCreateParams::Body::AudioSample::OrHash,
|
|
36
29
|
|
|
37
30
|
request_options: OpenAI::RequestOptions::OrHash
|
|
38
31
|
)
|
|
@@ -50,13 +43,7 @@ module OpenAI
|
|
|
50
43
|
|
|
51
44
|
sig do
|
|
52
45
|
override.returns(
|
|
53
|
-
{
|
|
54
|
-
body: T.any(
|
|
55
|
-
OpenAI::Audio::VoiceCreateParams::Body::AudioSample,
|
|
56
|
-
OpenAI::Audio::VoiceCreateParams::Body::Prompt
|
|
57
|
-
),
|
|
58
|
-
request_options: OpenAI::RequestOptions
|
|
59
|
-
}
|
|
46
|
+
{body: OpenAI::Audio::VoiceCreateParams::Body::AudioSample, request_options: OpenAI::RequestOptions}
|
|
60
47
|
)
|
|
61
48
|
end
|
|
62
49
|
def to_hash
|
|
@@ -67,9 +54,7 @@ module OpenAI
|
|
|
67
54
|
module Body
|
|
68
55
|
extend OpenAI::Internal::Type::Union
|
|
69
56
|
|
|
70
|
-
Variants = T.type_alias {
|
|
71
|
-
T.any(OpenAI::Audio::VoiceCreateParams::Body::AudioSample, OpenAI::Audio::VoiceCreateParams::Body::Prompt)
|
|
72
|
-
}
|
|
57
|
+
Variants = T.type_alias { OpenAI::Audio::VoiceCreateParams::Body::AudioSample }
|
|
73
58
|
|
|
74
59
|
class AudioSample < OpenAI::Internal::Type::BaseModel
|
|
75
60
|
OrHash = T.type_alias do
|
|
@@ -177,136 +162,6 @@ module OpenAI
|
|
|
177
162
|
end
|
|
178
163
|
end
|
|
179
164
|
|
|
180
|
-
class Prompt < OpenAI::Internal::Type::BaseModel
|
|
181
|
-
OrHash = T.type_alias do
|
|
182
|
-
T.any(
|
|
183
|
-
OpenAI::Audio::VoiceCreateParams::Body::Prompt,
|
|
184
|
-
OpenAI::Internal::AnyHash
|
|
185
|
-
)
|
|
186
|
-
end
|
|
187
|
-
|
|
188
|
-
# The name of the new voice.
|
|
189
|
-
sig { returns(String) }
|
|
190
|
-
attr_accessor :name
|
|
191
|
-
|
|
192
|
-
# A description of the desired voice. Must not contain only whitespace.
|
|
193
|
-
sig { returns(String) }
|
|
194
|
-
attr_accessor :prompt
|
|
195
|
-
|
|
196
|
-
# Set to `prompt` to create a voice from a text description.
|
|
197
|
-
sig { returns(OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::OrSymbol) }
|
|
198
|
-
attr_accessor :type
|
|
199
|
-
|
|
200
|
-
# The voice creation model to use. Defaults to `auto`.
|
|
201
|
-
sig { returns(T.nilable(T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::OrSymbol))) }
|
|
202
|
-
attr_reader :model
|
|
203
|
-
|
|
204
|
-
sig { params(model: T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::OrSymbol)).void }
|
|
205
|
-
attr_writer :model
|
|
206
|
-
|
|
207
|
-
# Optional text for the voice to speak during creation. If omitted, a script is
|
|
208
|
-
# generated from the prompt. Must not be blank after trimming whitespace; scripts
|
|
209
|
-
# that are too short are rejected.
|
|
210
|
-
sig { returns(T.nilable(String)) }
|
|
211
|
-
attr_reader :script_hint
|
|
212
|
-
|
|
213
|
-
sig { params(script_hint: String).void }
|
|
214
|
-
attr_writer :script_hint
|
|
215
|
-
|
|
216
|
-
# Creates a synthetic voice from a text description. Supports application/json or
|
|
217
|
-
# multipart/form-data.
|
|
218
|
-
sig do
|
|
219
|
-
params(
|
|
220
|
-
|
|
221
|
-
name: String,
|
|
222
|
-
|
|
223
|
-
prompt: String,
|
|
224
|
-
|
|
225
|
-
type: OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::OrSymbol,
|
|
226
|
-
|
|
227
|
-
model: T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::OrSymbol),
|
|
228
|
-
|
|
229
|
-
script_hint: String
|
|
230
|
-
)
|
|
231
|
-
.returns(T.attached_class)
|
|
232
|
-
end
|
|
233
|
-
def self.new(
|
|
234
|
-
|
|
235
|
-
# The name of the new voice.
|
|
236
|
-
name:,
|
|
237
|
-
|
|
238
|
-
# A description of the desired voice. Must not contain only whitespace.
|
|
239
|
-
prompt:,
|
|
240
|
-
|
|
241
|
-
# Set to `prompt` to create a voice from a text description.
|
|
242
|
-
type:,
|
|
243
|
-
|
|
244
|
-
# The voice creation model to use. Defaults to `auto`.
|
|
245
|
-
model: nil,
|
|
246
|
-
|
|
247
|
-
# Optional text for the voice to speak during creation. If omitted, a script is
|
|
248
|
-
# generated from the prompt. Must not be blank after trimming whitespace; scripts
|
|
249
|
-
# that are too short are rejected.
|
|
250
|
-
|
|
251
|
-
script_hint: nil
|
|
252
|
-
)
|
|
253
|
-
end
|
|
254
|
-
|
|
255
|
-
sig do
|
|
256
|
-
override.returns(
|
|
257
|
-
{
|
|
258
|
-
name: String,
|
|
259
|
-
prompt: String,
|
|
260
|
-
type: OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::OrSymbol,
|
|
261
|
-
model: T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::OrSymbol),
|
|
262
|
-
script_hint: String
|
|
263
|
-
}
|
|
264
|
-
)
|
|
265
|
-
end
|
|
266
|
-
def to_hash
|
|
267
|
-
end
|
|
268
|
-
|
|
269
|
-
# Set to `prompt` to create a voice from a text description.
|
|
270
|
-
module Type
|
|
271
|
-
extend OpenAI::Internal::Type::Enum
|
|
272
|
-
|
|
273
|
-
TaggedSymbol = T.type_alias { T.all(Symbol, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type) }
|
|
274
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
275
|
-
|
|
276
|
-
PROMPT = T.let(:prompt, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::TaggedSymbol)
|
|
277
|
-
|
|
278
|
-
sig { override.returns(T::Array[OpenAI::Audio::VoiceCreateParams::Body::Prompt::Type::TaggedSymbol]) }
|
|
279
|
-
def self.values
|
|
280
|
-
end
|
|
281
|
-
end
|
|
282
|
-
|
|
283
|
-
# The voice creation model to use. Defaults to `auto`.
|
|
284
|
-
module Model
|
|
285
|
-
extend OpenAI::Internal::Type::Union
|
|
286
|
-
|
|
287
|
-
Variants = T.type_alias {
|
|
288
|
-
T.any(String, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::TaggedSymbol)
|
|
289
|
-
}
|
|
290
|
-
|
|
291
|
-
sig { override.returns(T::Array[OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::Variants]) }
|
|
292
|
-
def self.variants
|
|
293
|
-
end
|
|
294
|
-
|
|
295
|
-
TaggedSymbol = T.type_alias do
|
|
296
|
-
T.all(Symbol, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model)
|
|
297
|
-
end
|
|
298
|
-
|
|
299
|
-
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
300
|
-
|
|
301
|
-
AUTO = T.let(:auto, OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::TaggedSymbol)
|
|
302
|
-
MODEL_2026_10_01 = T.let(
|
|
303
|
-
:"2026-10-01",
|
|
304
|
-
OpenAI::Audio::VoiceCreateParams::Body::Prompt::Model::TaggedSymbol
|
|
305
|
-
)
|
|
306
|
-
|
|
307
|
-
end
|
|
308
|
-
end
|
|
309
|
-
|
|
310
165
|
sig { override.returns(T::Array[OpenAI::Audio::VoiceCreateParams::Body::Variants]) }
|
|
311
166
|
def self.variants
|
|
312
167
|
end
|
|
@@ -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,6 +121,9 @@ 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)
|
|
126
129
|
EXPIRED = T.let(:expired, OpenAI::Beta::Agents::EnvironmentInfo::Status::TaggedSymbol)
|