stagehand 3.20.0 → 3.21.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 +16 -0
- data/lib/stagehand/internal/transport/base_client.rb +2 -0
- data/lib/stagehand/internal/type/union.rb +11 -0
- data/lib/stagehand/models/model_config.rb +326 -56
- data/lib/stagehand/models/session_act_params.rb +331 -4
- data/lib/stagehand/models/session_execute_params.rb +663 -8
- data/lib/stagehand/models/session_extract_params.rb +344 -5
- data/lib/stagehand/models/session_observe_params.rb +340 -5
- data/lib/stagehand/version.rb +1 -1
- data/rbi/stagehand/models/model_config.rbi +644 -69
- data/rbi/stagehand/models/session_act_params.rbi +707 -5
- data/rbi/stagehand/models/session_execute_params.rbi +1412 -10
- data/rbi/stagehand/models/session_extract_params.rbi +720 -5
- data/rbi/stagehand/models/session_observe_params.rbi +718 -5
- data/sig/stagehand/models/model_config.rbs +310 -42
- data/sig/stagehand/models/session_act_params.rbs +324 -1
- data/sig/stagehand/models/session_execute_params.rbs +648 -2
- data/sig/stagehand/models/session_extract_params.rbs +331 -1
- data/sig/stagehand/models/session_observe_params.rbs +331 -1
- data/sig/stagehand/models.rbs +1 -1
- metadata +2 -2
|
@@ -68,7 +68,7 @@ module Stagehand
|
|
|
68
68
|
# @!attribute model
|
|
69
69
|
# Model configuration object or model name string (e.g., 'openai/gpt-5-nano')
|
|
70
70
|
#
|
|
71
|
-
# @return [Stagehand::Models::
|
|
71
|
+
# @return [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject, Stagehand::Models::SessionActParams::Options::Model::GenericModelConfigObject, String, nil]
|
|
72
72
|
optional :model, union: -> { Stagehand::SessionActParams::Options::Model }
|
|
73
73
|
|
|
74
74
|
# @!attribute timeout
|
|
@@ -89,7 +89,7 @@ module Stagehand
|
|
|
89
89
|
# Some parameter documentations has been truncated, see
|
|
90
90
|
# {Stagehand::Models::SessionActParams::Options} for more details.
|
|
91
91
|
#
|
|
92
|
-
# @param model [Stagehand::Models::
|
|
92
|
+
# @param model [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject, Stagehand::Models::SessionActParams::Options::Model::GenericModelConfigObject, String] Model configuration object or model name string (e.g., 'openai/gpt-5-nano')
|
|
93
93
|
#
|
|
94
94
|
# @param timeout [Float] Timeout in ms for the action
|
|
95
95
|
#
|
|
@@ -101,12 +101,339 @@ module Stagehand
|
|
|
101
101
|
module Model
|
|
102
102
|
extend Stagehand::Internal::Type::Union
|
|
103
103
|
|
|
104
|
-
variant -> { Stagehand::
|
|
104
|
+
variant -> { Stagehand::SessionActParams::Options::Model::VertexModelConfigObject }
|
|
105
|
+
|
|
106
|
+
variant -> { Stagehand::SessionActParams::Options::Model::GenericModelConfigObject }
|
|
105
107
|
|
|
106
108
|
variant String
|
|
107
109
|
|
|
110
|
+
class VertexModelConfigObject < Stagehand::Internal::Type::BaseModel
|
|
111
|
+
# @!attribute auth
|
|
112
|
+
# Vertex provider authentication configuration
|
|
113
|
+
#
|
|
114
|
+
# @return [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth]
|
|
115
|
+
required :auth, -> { Stagehand::SessionActParams::Options::Model::VertexModelConfigObject::Auth }
|
|
116
|
+
|
|
117
|
+
# @!attribute model_name
|
|
118
|
+
# Model name string with provider prefix (e.g., 'openai/gpt-5-nano')
|
|
119
|
+
#
|
|
120
|
+
# @return [String]
|
|
121
|
+
required :model_name, String, api_name: :modelName
|
|
122
|
+
|
|
123
|
+
# @!attribute provider
|
|
124
|
+
# Vertex AI model provider
|
|
125
|
+
#
|
|
126
|
+
# @return [Symbol, :vertex]
|
|
127
|
+
required :provider, const: :vertex
|
|
128
|
+
|
|
129
|
+
# @!attribute provider_options
|
|
130
|
+
# Vertex provider-specific model configuration
|
|
131
|
+
#
|
|
132
|
+
# @return [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::ProviderOptions]
|
|
133
|
+
required :provider_options,
|
|
134
|
+
-> {
|
|
135
|
+
Stagehand::SessionActParams::Options::Model::VertexModelConfigObject::ProviderOptions
|
|
136
|
+
},
|
|
137
|
+
api_name: :providerOptions
|
|
138
|
+
|
|
139
|
+
# @!attribute api_key
|
|
140
|
+
# API key for the model provider
|
|
141
|
+
#
|
|
142
|
+
# @return [String, nil]
|
|
143
|
+
optional :api_key, String, api_name: :apiKey
|
|
144
|
+
|
|
145
|
+
# @!attribute base_url
|
|
146
|
+
# Base URL for the model provider
|
|
147
|
+
#
|
|
148
|
+
# @return [String, nil]
|
|
149
|
+
optional :base_url, String, api_name: :baseURL
|
|
150
|
+
|
|
151
|
+
# @!attribute headers
|
|
152
|
+
# Custom headers sent with every request to the model provider
|
|
153
|
+
#
|
|
154
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
155
|
+
optional :headers, Stagehand::Internal::Type::HashOf[String]
|
|
156
|
+
|
|
157
|
+
# @!method initialize(auth:, model_name:, provider_options:, api_key: nil, base_url: nil, headers: nil, provider: :vertex)
|
|
158
|
+
# @param auth [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth] Vertex provider authentication configuration
|
|
159
|
+
#
|
|
160
|
+
# @param model_name [String] Model name string with provider prefix (e.g., 'openai/gpt-5-nano')
|
|
161
|
+
#
|
|
162
|
+
# @param provider_options [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::ProviderOptions] Vertex provider-specific model configuration
|
|
163
|
+
#
|
|
164
|
+
# @param api_key [String] API key for the model provider
|
|
165
|
+
#
|
|
166
|
+
# @param base_url [String] Base URL for the model provider
|
|
167
|
+
#
|
|
168
|
+
# @param headers [Hash{Symbol=>String}] Custom headers sent with every request to the model provider
|
|
169
|
+
#
|
|
170
|
+
# @param provider [Symbol, :vertex] Vertex AI model provider
|
|
171
|
+
|
|
172
|
+
# @see Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject#auth
|
|
173
|
+
class Auth < Stagehand::Internal::Type::BaseModel
|
|
174
|
+
# @!attribute credentials
|
|
175
|
+
# Google Cloud service account credentials
|
|
176
|
+
#
|
|
177
|
+
# @return [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Credentials]
|
|
178
|
+
required :credentials,
|
|
179
|
+
-> { Stagehand::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Credentials }
|
|
180
|
+
|
|
181
|
+
# @!attribute type
|
|
182
|
+
# Use inline Google Cloud service account credentials for provider authentication
|
|
183
|
+
#
|
|
184
|
+
# @return [Symbol, :googleServiceAccount]
|
|
185
|
+
required :type, const: :googleServiceAccount
|
|
186
|
+
|
|
187
|
+
# @!attribute project_id
|
|
188
|
+
# Google Cloud project ID used by google-auth-library
|
|
189
|
+
#
|
|
190
|
+
# @return [String, nil]
|
|
191
|
+
optional :project_id, String, api_name: :projectId
|
|
192
|
+
|
|
193
|
+
# @!attribute scopes
|
|
194
|
+
# Google auth scopes for the desired API request
|
|
195
|
+
#
|
|
196
|
+
# @return [String, Array<String>, nil]
|
|
197
|
+
optional :scopes,
|
|
198
|
+
union: -> { Stagehand::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Scopes }
|
|
199
|
+
|
|
200
|
+
# @!attribute universe_domain
|
|
201
|
+
# Google Cloud universe domain
|
|
202
|
+
#
|
|
203
|
+
# @return [String, nil]
|
|
204
|
+
optional :universe_domain, String, api_name: :universeDomain
|
|
205
|
+
|
|
206
|
+
# @!method initialize(credentials:, project_id: nil, scopes: nil, universe_domain: nil, type: :googleServiceAccount)
|
|
207
|
+
# Vertex provider authentication configuration
|
|
208
|
+
#
|
|
209
|
+
# @param credentials [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Credentials] Google Cloud service account credentials
|
|
210
|
+
#
|
|
211
|
+
# @param project_id [String] Google Cloud project ID used by google-auth-library
|
|
212
|
+
#
|
|
213
|
+
# @param scopes [String, Array<String>] Google auth scopes for the desired API request
|
|
214
|
+
#
|
|
215
|
+
# @param universe_domain [String] Google Cloud universe domain
|
|
216
|
+
#
|
|
217
|
+
# @param type [Symbol, :googleServiceAccount] Use inline Google Cloud service account credentials for provider authentication
|
|
218
|
+
|
|
219
|
+
# @see Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth#credentials
|
|
220
|
+
class Credentials < Stagehand::Internal::Type::BaseModel
|
|
221
|
+
# @!attribute client_email
|
|
222
|
+
#
|
|
223
|
+
# @return [String]
|
|
224
|
+
required :client_email, String
|
|
225
|
+
|
|
226
|
+
# @!attribute private_key
|
|
227
|
+
#
|
|
228
|
+
# @return [String]
|
|
229
|
+
required :private_key, String
|
|
230
|
+
|
|
231
|
+
# @!attribute auth_provider_x509_cert_url
|
|
232
|
+
#
|
|
233
|
+
# @return [String, nil]
|
|
234
|
+
optional :auth_provider_x509_cert_url, String
|
|
235
|
+
|
|
236
|
+
# @!attribute auth_uri
|
|
237
|
+
#
|
|
238
|
+
# @return [String, nil]
|
|
239
|
+
optional :auth_uri, String
|
|
240
|
+
|
|
241
|
+
# @!attribute client_id
|
|
242
|
+
#
|
|
243
|
+
# @return [String, nil]
|
|
244
|
+
optional :client_id, String
|
|
245
|
+
|
|
246
|
+
# @!attribute client_x509_cert_url
|
|
247
|
+
#
|
|
248
|
+
# @return [String, nil]
|
|
249
|
+
optional :client_x509_cert_url, String
|
|
250
|
+
|
|
251
|
+
# @!attribute private_key_id
|
|
252
|
+
#
|
|
253
|
+
# @return [String, nil]
|
|
254
|
+
optional :private_key_id, String
|
|
255
|
+
|
|
256
|
+
# @!attribute project_id
|
|
257
|
+
#
|
|
258
|
+
# @return [String, nil]
|
|
259
|
+
optional :project_id, String
|
|
260
|
+
|
|
261
|
+
# @!attribute token_uri
|
|
262
|
+
#
|
|
263
|
+
# @return [String, nil]
|
|
264
|
+
optional :token_uri, String
|
|
265
|
+
|
|
266
|
+
# @!attribute type
|
|
267
|
+
#
|
|
268
|
+
# @return [Symbol, Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Credentials::Type, nil]
|
|
269
|
+
optional :type,
|
|
270
|
+
enum: -> { Stagehand::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Credentials::Type }
|
|
271
|
+
|
|
272
|
+
# @!attribute universe_domain
|
|
273
|
+
#
|
|
274
|
+
# @return [String, nil]
|
|
275
|
+
optional :universe_domain, String
|
|
276
|
+
|
|
277
|
+
# @!method initialize(client_email:, private_key:, auth_provider_x509_cert_url: nil, auth_uri: nil, client_id: nil, client_x509_cert_url: nil, private_key_id: nil, project_id: nil, token_uri: nil, type: nil, universe_domain: nil)
|
|
278
|
+
# Google Cloud service account credentials
|
|
279
|
+
#
|
|
280
|
+
# @param client_email [String]
|
|
281
|
+
# @param private_key [String]
|
|
282
|
+
# @param auth_provider_x509_cert_url [String]
|
|
283
|
+
# @param auth_uri [String]
|
|
284
|
+
# @param client_id [String]
|
|
285
|
+
# @param client_x509_cert_url [String]
|
|
286
|
+
# @param private_key_id [String]
|
|
287
|
+
# @param project_id [String]
|
|
288
|
+
# @param token_uri [String]
|
|
289
|
+
# @param type [Symbol, Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Credentials::Type]
|
|
290
|
+
# @param universe_domain [String]
|
|
291
|
+
|
|
292
|
+
# @see Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Credentials#type
|
|
293
|
+
module Type
|
|
294
|
+
extend Stagehand::Internal::Type::Enum
|
|
295
|
+
|
|
296
|
+
SERVICE_ACCOUNT = :service_account
|
|
297
|
+
|
|
298
|
+
# @!method self.values
|
|
299
|
+
# @return [Array<Symbol>]
|
|
300
|
+
end
|
|
301
|
+
end
|
|
302
|
+
|
|
303
|
+
# Google auth scopes for the desired API request
|
|
304
|
+
#
|
|
305
|
+
# @see Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth#scopes
|
|
306
|
+
module Scopes
|
|
307
|
+
extend Stagehand::Internal::Type::Union
|
|
308
|
+
|
|
309
|
+
variant String
|
|
310
|
+
|
|
311
|
+
variant -> { Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::Auth::Scopes::StringArray }
|
|
312
|
+
|
|
313
|
+
# @!method self.variants
|
|
314
|
+
# @return [Array(String, Array<String>)]
|
|
315
|
+
|
|
316
|
+
# @type [Stagehand::Internal::Type::Converter]
|
|
317
|
+
StringArray = Stagehand::Internal::Type::ArrayOf[String]
|
|
318
|
+
end
|
|
319
|
+
end
|
|
320
|
+
|
|
321
|
+
# @see Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject#provider_options
|
|
322
|
+
class ProviderOptions < Stagehand::Internal::Type::BaseModel
|
|
323
|
+
# @!attribute vertex
|
|
324
|
+
# Vertex AI provider-specific settings
|
|
325
|
+
#
|
|
326
|
+
# @return [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::ProviderOptions::Vertex]
|
|
327
|
+
required :vertex,
|
|
328
|
+
-> { Stagehand::SessionActParams::Options::Model::VertexModelConfigObject::ProviderOptions::Vertex }
|
|
329
|
+
|
|
330
|
+
# @!method initialize(vertex:)
|
|
331
|
+
# Vertex provider-specific model configuration
|
|
332
|
+
#
|
|
333
|
+
# @param vertex [Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::ProviderOptions::Vertex] Vertex AI provider-specific settings
|
|
334
|
+
|
|
335
|
+
# @see Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject::ProviderOptions#vertex
|
|
336
|
+
class Vertex < Stagehand::Internal::Type::BaseModel
|
|
337
|
+
# @!attribute location
|
|
338
|
+
# Google Cloud location for Vertex AI models
|
|
339
|
+
#
|
|
340
|
+
# @return [String]
|
|
341
|
+
required :location, String
|
|
342
|
+
|
|
343
|
+
# @!attribute project
|
|
344
|
+
# Google Cloud project ID for Vertex AI models
|
|
345
|
+
#
|
|
346
|
+
# @return [String]
|
|
347
|
+
required :project, String
|
|
348
|
+
|
|
349
|
+
# @!attribute base_url
|
|
350
|
+
# Base URL for the Vertex AI provider
|
|
351
|
+
#
|
|
352
|
+
# @return [String, nil]
|
|
353
|
+
optional :base_url, String, api_name: :baseURL
|
|
354
|
+
|
|
355
|
+
# @!attribute headers
|
|
356
|
+
# Custom headers sent with every request to the Vertex AI provider
|
|
357
|
+
#
|
|
358
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
359
|
+
optional :headers, Stagehand::Internal::Type::HashOf[String]
|
|
360
|
+
|
|
361
|
+
# @!method initialize(location:, project:, base_url: nil, headers: nil)
|
|
362
|
+
# Vertex AI provider-specific settings
|
|
363
|
+
#
|
|
364
|
+
# @param location [String] Google Cloud location for Vertex AI models
|
|
365
|
+
#
|
|
366
|
+
# @param project [String] Google Cloud project ID for Vertex AI models
|
|
367
|
+
#
|
|
368
|
+
# @param base_url [String] Base URL for the Vertex AI provider
|
|
369
|
+
#
|
|
370
|
+
# @param headers [Hash{Symbol=>String}] Custom headers sent with every request to the Vertex AI provider
|
|
371
|
+
end
|
|
372
|
+
end
|
|
373
|
+
end
|
|
374
|
+
|
|
375
|
+
class GenericModelConfigObject < Stagehand::Internal::Type::BaseModel
|
|
376
|
+
# @!attribute model_name
|
|
377
|
+
# Model name string with provider prefix (e.g., 'openai/gpt-5-nano')
|
|
378
|
+
#
|
|
379
|
+
# @return [String]
|
|
380
|
+
required :model_name, String, api_name: :modelName
|
|
381
|
+
|
|
382
|
+
# @!attribute api_key
|
|
383
|
+
# API key for the model provider
|
|
384
|
+
#
|
|
385
|
+
# @return [String, nil]
|
|
386
|
+
optional :api_key, String, api_name: :apiKey
|
|
387
|
+
|
|
388
|
+
# @!attribute base_url
|
|
389
|
+
# Base URL for the model provider
|
|
390
|
+
#
|
|
391
|
+
# @return [String, nil]
|
|
392
|
+
optional :base_url, String, api_name: :baseURL
|
|
393
|
+
|
|
394
|
+
# @!attribute headers
|
|
395
|
+
# Custom headers sent with every request to the model provider
|
|
396
|
+
#
|
|
397
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
398
|
+
optional :headers, Stagehand::Internal::Type::HashOf[String]
|
|
399
|
+
|
|
400
|
+
# @!attribute provider
|
|
401
|
+
# AI provider for the model (or provide a baseURL endpoint instead)
|
|
402
|
+
#
|
|
403
|
+
# @return [Symbol, Stagehand::Models::SessionActParams::Options::Model::GenericModelConfigObject::Provider, nil]
|
|
404
|
+
optional :provider,
|
|
405
|
+
enum: -> { Stagehand::SessionActParams::Options::Model::GenericModelConfigObject::Provider }
|
|
406
|
+
|
|
407
|
+
# @!method initialize(model_name:, api_key: nil, base_url: nil, headers: nil, provider: nil)
|
|
408
|
+
# @param model_name [String] Model name string with provider prefix (e.g., 'openai/gpt-5-nano')
|
|
409
|
+
#
|
|
410
|
+
# @param api_key [String] API key for the model provider
|
|
411
|
+
#
|
|
412
|
+
# @param base_url [String] Base URL for the model provider
|
|
413
|
+
#
|
|
414
|
+
# @param headers [Hash{Symbol=>String}] Custom headers sent with every request to the model provider
|
|
415
|
+
#
|
|
416
|
+
# @param provider [Symbol, Stagehand::Models::SessionActParams::Options::Model::GenericModelConfigObject::Provider] AI provider for the model (or provide a baseURL endpoint instead)
|
|
417
|
+
|
|
418
|
+
# AI provider for the model (or provide a baseURL endpoint instead)
|
|
419
|
+
#
|
|
420
|
+
# @see Stagehand::Models::SessionActParams::Options::Model::GenericModelConfigObject#provider
|
|
421
|
+
module Provider
|
|
422
|
+
extend Stagehand::Internal::Type::Enum
|
|
423
|
+
|
|
424
|
+
OPENAI = :openai
|
|
425
|
+
ANTHROPIC = :anthropic
|
|
426
|
+
GOOGLE = :google
|
|
427
|
+
MICROSOFT = :microsoft
|
|
428
|
+
BEDROCK = :bedrock
|
|
429
|
+
|
|
430
|
+
# @!method self.values
|
|
431
|
+
# @return [Array<Symbol>]
|
|
432
|
+
end
|
|
433
|
+
end
|
|
434
|
+
|
|
108
435
|
# @!method self.variants
|
|
109
|
-
# @return [Array(Stagehand::Models::
|
|
436
|
+
# @return [Array(Stagehand::Models::SessionActParams::Options::Model::VertexModelConfigObject, Stagehand::Models::SessionActParams::Options::Model::GenericModelConfigObject, String)]
|
|
110
437
|
end
|
|
111
438
|
|
|
112
439
|
module Variable
|