stagehand 3.7.1 → 3.19.3
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 +45 -0
- data/README.md +3 -3
- data/lib/stagehand/internal/stream.rb +2 -11
- data/lib/stagehand/internal/util.rb +50 -6
- data/lib/stagehand/local.rb +5 -5
- data/lib/stagehand/models/model_config.rb +9 -1
- data/lib/stagehand/models/session_act_params.rb +63 -5
- data/lib/stagehand/models/session_end_params.rb +9 -1
- data/lib/stagehand/models/session_execute_params.rb +26 -2
- data/lib/stagehand/models/session_extract_params.rb +9 -1
- data/lib/stagehand/models/session_navigate_params.rb +9 -1
- data/lib/stagehand/models/session_observe_params.rb +69 -2
- data/lib/stagehand/models/session_replay_params.rb +9 -1
- data/lib/stagehand/models/session_start_params.rb +7 -1
- data/lib/stagehand/models/stream_event.rb +2 -1
- data/lib/stagehand/version.rb +1 -1
- data/rbi/stagehand/internal/util.rbi +28 -0
- data/rbi/stagehand/models/model_config.rbi +11 -0
- data/rbi/stagehand/models/session_act_params.rbi +144 -6
- data/rbi/stagehand/models/session_end_params.rbi +8 -0
- data/rbi/stagehand/models/session_execute_params.rbi +33 -3
- data/rbi/stagehand/models/session_extract_params.rbi +8 -0
- data/rbi/stagehand/models/session_navigate_params.rbi +8 -0
- data/rbi/stagehand/models/session_observe_params.rbi +156 -3
- data/rbi/stagehand/models/session_replay_params.rbi +8 -0
- data/rbi/stagehand/models/session_start_params.rbi +9 -0
- data/rbi/stagehand/models/stream_event.rbi +2 -1
- data/sig/stagehand/internal/util.rbs +14 -0
- data/sig/stagehand/models/model_config.rbs +7 -0
- data/sig/stagehand/models/session_act_params.rbs +56 -5
- data/sig/stagehand/models/session_end_params.rbs +5 -0
- data/sig/stagehand/models/session_execute_params.rbs +26 -3
- data/sig/stagehand/models/session_extract_params.rbs +5 -0
- data/sig/stagehand/models/session_navigate_params.rbs +5 -0
- data/sig/stagehand/models/session_observe_params.rbs +61 -3
- data/sig/stagehand/models/session_replay_params.rbs +5 -0
- data/sig/stagehand/models/session_start_params.rbs +7 -0
- metadata +2 -2
|
@@ -144,6 +144,11 @@ module Stagehand
|
|
|
144
144
|
# @return [Array<String>, nil]
|
|
145
145
|
optional :args, Stagehand::Internal::Type::ArrayOf[String]
|
|
146
146
|
|
|
147
|
+
# @!attribute cdp_headers
|
|
148
|
+
#
|
|
149
|
+
# @return [Hash{Symbol=>String}, nil]
|
|
150
|
+
optional :cdp_headers, Stagehand::Internal::Type::HashOf[String], api_name: :cdpHeaders
|
|
151
|
+
|
|
147
152
|
# @!attribute cdp_url
|
|
148
153
|
#
|
|
149
154
|
# @return [String, nil]
|
|
@@ -231,9 +236,10 @@ module Stagehand
|
|
|
231
236
|
# @return [Stagehand::Models::SessionStartParams::Browser::LaunchOptions::Viewport, nil]
|
|
232
237
|
optional :viewport, -> { Stagehand::SessionStartParams::Browser::LaunchOptions::Viewport }
|
|
233
238
|
|
|
234
|
-
# @!method initialize(accept_downloads: nil, args: nil, cdp_url: nil, chromium_sandbox: nil, connect_timeout_ms: nil, device_scale_factor: nil, devtools: nil, downloads_path: nil, executable_path: nil, has_touch: nil, headless: nil, ignore_default_args: nil, ignore_https_errors: nil, locale: nil, port: nil, preserve_user_data_dir: nil, proxy: nil, user_data_dir: nil, viewport: nil)
|
|
239
|
+
# @!method initialize(accept_downloads: nil, args: nil, cdp_headers: nil, cdp_url: nil, chromium_sandbox: nil, connect_timeout_ms: nil, device_scale_factor: nil, devtools: nil, downloads_path: nil, executable_path: nil, has_touch: nil, headless: nil, ignore_default_args: nil, ignore_https_errors: nil, locale: nil, port: nil, preserve_user_data_dir: nil, proxy: nil, user_data_dir: nil, viewport: nil)
|
|
235
240
|
# @param accept_downloads [Boolean]
|
|
236
241
|
# @param args [Array<String>]
|
|
242
|
+
# @param cdp_headers [Hash{Symbol=>String}]
|
|
237
243
|
# @param cdp_url [String]
|
|
238
244
|
# @param chromium_sandbox [Boolean]
|
|
239
245
|
# @param connect_timeout_ms [Float]
|
|
@@ -22,7 +22,8 @@ module Stagehand
|
|
|
22
22
|
|
|
23
23
|
# @!method initialize(id:, data:, type:)
|
|
24
24
|
# Server-Sent Event emitted during streaming responses. Events are sent as
|
|
25
|
-
# `
|
|
25
|
+
# `event: <status>\ndata: <JSON>\n\n`, where the JSON payload has the shape
|
|
26
|
+
# `{ data, type, id }`.
|
|
26
27
|
#
|
|
27
28
|
# @param id [String] Unique identifier for this event
|
|
28
29
|
#
|
data/lib/stagehand/version.rb
CHANGED
|
@@ -148,12 +148,20 @@ module Stagehand
|
|
|
148
148
|
end
|
|
149
149
|
end
|
|
150
150
|
|
|
151
|
+
# https://www.rfc-editor.org/rfc/rfc3986.html#section-3.3
|
|
152
|
+
RFC_3986_NOT_PCHARS = T.let(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/, Regexp)
|
|
153
|
+
|
|
151
154
|
class << self
|
|
152
155
|
# @api private
|
|
153
156
|
sig { params(uri: URI::Generic).returns(String) }
|
|
154
157
|
def uri_origin(uri)
|
|
155
158
|
end
|
|
156
159
|
|
|
160
|
+
# @api private
|
|
161
|
+
sig { params(path: T.any(String, Integer)).returns(String) }
|
|
162
|
+
def encode_path(path)
|
|
163
|
+
end
|
|
164
|
+
|
|
157
165
|
# @api private
|
|
158
166
|
sig { params(path: T.any(String, T::Array[String])).returns(String) }
|
|
159
167
|
def interpolate_path(path)
|
|
@@ -301,6 +309,26 @@ module Stagehand
|
|
|
301
309
|
T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
|
|
302
310
|
|
|
303
311
|
class << self
|
|
312
|
+
# @api private
|
|
313
|
+
sig do
|
|
314
|
+
params(query: Stagehand::Internal::AnyHash).returns(
|
|
315
|
+
Stagehand::Internal::AnyHash
|
|
316
|
+
)
|
|
317
|
+
end
|
|
318
|
+
def encode_query_params(query)
|
|
319
|
+
end
|
|
320
|
+
|
|
321
|
+
# @api private
|
|
322
|
+
sig do
|
|
323
|
+
params(
|
|
324
|
+
collection: Stagehand::Internal::AnyHash,
|
|
325
|
+
key: String,
|
|
326
|
+
element: T.anything
|
|
327
|
+
).void
|
|
328
|
+
end
|
|
329
|
+
private def write_query_param_element!(collection, key, element)
|
|
330
|
+
end
|
|
331
|
+
|
|
304
332
|
# @api private
|
|
305
333
|
sig do
|
|
306
334
|
params(
|
|
@@ -26,6 +26,13 @@ module Stagehand
|
|
|
26
26
|
sig { params(base_url: String).void }
|
|
27
27
|
attr_writer :base_url
|
|
28
28
|
|
|
29
|
+
# Custom headers sent with every request to the model provider
|
|
30
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
31
|
+
attr_reader :headers
|
|
32
|
+
|
|
33
|
+
sig { params(headers: T::Hash[Symbol, String]).void }
|
|
34
|
+
attr_writer :headers
|
|
35
|
+
|
|
29
36
|
# AI provider for the model (or provide a baseURL endpoint instead)
|
|
30
37
|
sig { returns(T.nilable(Stagehand::ModelConfig::Provider::OrSymbol)) }
|
|
31
38
|
attr_reader :provider
|
|
@@ -38,6 +45,7 @@ module Stagehand
|
|
|
38
45
|
model_name: String,
|
|
39
46
|
api_key: String,
|
|
40
47
|
base_url: String,
|
|
48
|
+
headers: T::Hash[Symbol, String],
|
|
41
49
|
provider: Stagehand::ModelConfig::Provider::OrSymbol
|
|
42
50
|
).returns(T.attached_class)
|
|
43
51
|
end
|
|
@@ -48,6 +56,8 @@ module Stagehand
|
|
|
48
56
|
api_key: nil,
|
|
49
57
|
# Base URL for the model provider
|
|
50
58
|
base_url: nil,
|
|
59
|
+
# Custom headers sent with every request to the model provider
|
|
60
|
+
headers: nil,
|
|
51
61
|
# AI provider for the model (or provide a baseURL endpoint instead)
|
|
52
62
|
provider: nil
|
|
53
63
|
)
|
|
@@ -59,6 +69,7 @@ module Stagehand
|
|
|
59
69
|
model_name: String,
|
|
60
70
|
api_key: String,
|
|
61
71
|
base_url: String,
|
|
72
|
+
headers: T::Hash[Symbol, String],
|
|
62
73
|
provider: Stagehand::ModelConfig::Provider::OrSymbol
|
|
63
74
|
}
|
|
64
75
|
)
|
|
@@ -11,6 +11,10 @@ module Stagehand
|
|
|
11
11
|
T.any(Stagehand::SessionActParams, Stagehand::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Unique session identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
# Natural language instruction or Action object
|
|
15
19
|
sig { returns(T.any(String, Stagehand::Action)) }
|
|
16
20
|
attr_accessor :input
|
|
@@ -43,6 +47,7 @@ module Stagehand
|
|
|
43
47
|
|
|
44
48
|
sig do
|
|
45
49
|
params(
|
|
50
|
+
id: String,
|
|
46
51
|
input: T.any(String, Stagehand::Action::OrHash),
|
|
47
52
|
frame_id: T.nilable(String),
|
|
48
53
|
options: Stagehand::SessionActParams::Options::OrHash,
|
|
@@ -52,6 +57,8 @@ module Stagehand
|
|
|
52
57
|
).returns(T.attached_class)
|
|
53
58
|
end
|
|
54
59
|
def self.new(
|
|
60
|
+
# Unique session identifier
|
|
61
|
+
id:,
|
|
55
62
|
# Natural language instruction or Action object
|
|
56
63
|
input:,
|
|
57
64
|
# Target frame ID for the action
|
|
@@ -66,6 +73,7 @@ module Stagehand
|
|
|
66
73
|
sig do
|
|
67
74
|
override.returns(
|
|
68
75
|
{
|
|
76
|
+
id: String,
|
|
69
77
|
input: T.any(String, Stagehand::Action),
|
|
70
78
|
frame_id: T.nilable(String),
|
|
71
79
|
options: Stagehand::SessionActParams::Options,
|
|
@@ -118,18 +126,55 @@ module Stagehand
|
|
|
118
126
|
sig { params(timeout: Float).void }
|
|
119
127
|
attr_writer :timeout
|
|
120
128
|
|
|
121
|
-
# Variables to substitute in the action instruction
|
|
122
|
-
|
|
129
|
+
# Variables to substitute in the action instruction. Accepts flat primitives or {
|
|
130
|
+
# value, description? } objects.
|
|
131
|
+
sig do
|
|
132
|
+
returns(
|
|
133
|
+
T.nilable(
|
|
134
|
+
T::Hash[
|
|
135
|
+
Symbol,
|
|
136
|
+
T.any(
|
|
137
|
+
String,
|
|
138
|
+
Float,
|
|
139
|
+
T::Boolean,
|
|
140
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3
|
|
141
|
+
)
|
|
142
|
+
]
|
|
143
|
+
)
|
|
144
|
+
)
|
|
145
|
+
end
|
|
123
146
|
attr_reader :variables
|
|
124
147
|
|
|
125
|
-
sig
|
|
148
|
+
sig do
|
|
149
|
+
params(
|
|
150
|
+
variables:
|
|
151
|
+
T::Hash[
|
|
152
|
+
Symbol,
|
|
153
|
+
T.any(
|
|
154
|
+
String,
|
|
155
|
+
Float,
|
|
156
|
+
T::Boolean,
|
|
157
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3::OrHash
|
|
158
|
+
)
|
|
159
|
+
]
|
|
160
|
+
).void
|
|
161
|
+
end
|
|
126
162
|
attr_writer :variables
|
|
127
163
|
|
|
128
164
|
sig do
|
|
129
165
|
params(
|
|
130
166
|
model: T.any(Stagehand::ModelConfig::OrHash, String),
|
|
131
167
|
timeout: Float,
|
|
132
|
-
variables:
|
|
168
|
+
variables:
|
|
169
|
+
T::Hash[
|
|
170
|
+
Symbol,
|
|
171
|
+
T.any(
|
|
172
|
+
String,
|
|
173
|
+
Float,
|
|
174
|
+
T::Boolean,
|
|
175
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3::OrHash
|
|
176
|
+
)
|
|
177
|
+
]
|
|
133
178
|
).returns(T.attached_class)
|
|
134
179
|
end
|
|
135
180
|
def self.new(
|
|
@@ -137,7 +182,8 @@ module Stagehand
|
|
|
137
182
|
model: nil,
|
|
138
183
|
# Timeout in ms for the action
|
|
139
184
|
timeout: nil,
|
|
140
|
-
# Variables to substitute in the action instruction
|
|
185
|
+
# Variables to substitute in the action instruction. Accepts flat primitives or {
|
|
186
|
+
# value, description? } objects.
|
|
141
187
|
variables: nil
|
|
142
188
|
)
|
|
143
189
|
end
|
|
@@ -147,7 +193,16 @@ module Stagehand
|
|
|
147
193
|
{
|
|
148
194
|
model: T.any(Stagehand::ModelConfig, String),
|
|
149
195
|
timeout: Float,
|
|
150
|
-
variables:
|
|
196
|
+
variables:
|
|
197
|
+
T::Hash[
|
|
198
|
+
Symbol,
|
|
199
|
+
T.any(
|
|
200
|
+
String,
|
|
201
|
+
Float,
|
|
202
|
+
T::Boolean,
|
|
203
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3
|
|
204
|
+
)
|
|
205
|
+
]
|
|
151
206
|
}
|
|
152
207
|
)
|
|
153
208
|
end
|
|
@@ -168,6 +223,89 @@ module Stagehand
|
|
|
168
223
|
def self.variants
|
|
169
224
|
end
|
|
170
225
|
end
|
|
226
|
+
|
|
227
|
+
module Variable
|
|
228
|
+
extend Stagehand::Internal::Type::Union
|
|
229
|
+
|
|
230
|
+
Variants =
|
|
231
|
+
T.type_alias do
|
|
232
|
+
T.any(
|
|
233
|
+
String,
|
|
234
|
+
Float,
|
|
235
|
+
T::Boolean,
|
|
236
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3
|
|
237
|
+
)
|
|
238
|
+
end
|
|
239
|
+
|
|
240
|
+
class UnionMember3 < Stagehand::Internal::Type::BaseModel
|
|
241
|
+
OrHash =
|
|
242
|
+
T.type_alias do
|
|
243
|
+
T.any(
|
|
244
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3,
|
|
245
|
+
Stagehand::Internal::AnyHash
|
|
246
|
+
)
|
|
247
|
+
end
|
|
248
|
+
|
|
249
|
+
sig do
|
|
250
|
+
returns(
|
|
251
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3::Value::Variants
|
|
252
|
+
)
|
|
253
|
+
end
|
|
254
|
+
attr_accessor :value
|
|
255
|
+
|
|
256
|
+
sig { returns(T.nilable(String)) }
|
|
257
|
+
attr_reader :description
|
|
258
|
+
|
|
259
|
+
sig { params(description: String).void }
|
|
260
|
+
attr_writer :description
|
|
261
|
+
|
|
262
|
+
sig do
|
|
263
|
+
params(
|
|
264
|
+
value:
|
|
265
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3::Value::Variants,
|
|
266
|
+
description: String
|
|
267
|
+
).returns(T.attached_class)
|
|
268
|
+
end
|
|
269
|
+
def self.new(value:, description: nil)
|
|
270
|
+
end
|
|
271
|
+
|
|
272
|
+
sig do
|
|
273
|
+
override.returns(
|
|
274
|
+
{
|
|
275
|
+
value:
|
|
276
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3::Value::Variants,
|
|
277
|
+
description: String
|
|
278
|
+
}
|
|
279
|
+
)
|
|
280
|
+
end
|
|
281
|
+
def to_hash
|
|
282
|
+
end
|
|
283
|
+
|
|
284
|
+
module Value
|
|
285
|
+
extend Stagehand::Internal::Type::Union
|
|
286
|
+
|
|
287
|
+
Variants = T.type_alias { T.any(String, Float, T::Boolean) }
|
|
288
|
+
|
|
289
|
+
sig do
|
|
290
|
+
override.returns(
|
|
291
|
+
T::Array[
|
|
292
|
+
Stagehand::SessionActParams::Options::Variable::UnionMember3::Value::Variants
|
|
293
|
+
]
|
|
294
|
+
)
|
|
295
|
+
end
|
|
296
|
+
def self.variants
|
|
297
|
+
end
|
|
298
|
+
end
|
|
299
|
+
end
|
|
300
|
+
|
|
301
|
+
sig do
|
|
302
|
+
override.returns(
|
|
303
|
+
T::Array[Stagehand::SessionActParams::Options::Variable::Variants]
|
|
304
|
+
)
|
|
305
|
+
end
|
|
306
|
+
def self.variants
|
|
307
|
+
end
|
|
308
|
+
end
|
|
171
309
|
end
|
|
172
310
|
|
|
173
311
|
# Whether to stream the response via SSE
|
|
@@ -11,6 +11,10 @@ module Stagehand
|
|
|
11
11
|
T.any(Stagehand::SessionEndParams, Stagehand::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Unique session identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
# Whether to stream the response via SSE
|
|
15
19
|
sig do
|
|
16
20
|
returns(
|
|
@@ -29,12 +33,15 @@ module Stagehand
|
|
|
29
33
|
|
|
30
34
|
sig do
|
|
31
35
|
params(
|
|
36
|
+
id: String,
|
|
32
37
|
x_stream_response:
|
|
33
38
|
Stagehand::SessionEndParams::XStreamResponse::OrSymbol,
|
|
34
39
|
request_options: Stagehand::RequestOptions::OrHash
|
|
35
40
|
).returns(T.attached_class)
|
|
36
41
|
end
|
|
37
42
|
def self.new(
|
|
43
|
+
# Unique session identifier
|
|
44
|
+
id:,
|
|
38
45
|
# Whether to stream the response via SSE
|
|
39
46
|
x_stream_response: nil,
|
|
40
47
|
request_options: {}
|
|
@@ -44,6 +51,7 @@ module Stagehand
|
|
|
44
51
|
sig do
|
|
45
52
|
override.returns(
|
|
46
53
|
{
|
|
54
|
+
id: String,
|
|
47
55
|
x_stream_response:
|
|
48
56
|
Stagehand::SessionEndParams::XStreamResponse::OrSymbol,
|
|
49
57
|
request_options: Stagehand::RequestOptions
|
|
@@ -11,6 +11,10 @@ module Stagehand
|
|
|
11
11
|
T.any(Stagehand::SessionExecuteParams, Stagehand::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Unique session identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
sig { returns(Stagehand::SessionExecuteParams::AgentConfig) }
|
|
15
19
|
attr_reader :agent_config
|
|
16
20
|
|
|
@@ -61,6 +65,7 @@ module Stagehand
|
|
|
61
65
|
|
|
62
66
|
sig do
|
|
63
67
|
params(
|
|
68
|
+
id: String,
|
|
64
69
|
agent_config: Stagehand::SessionExecuteParams::AgentConfig::OrHash,
|
|
65
70
|
execute_options:
|
|
66
71
|
Stagehand::SessionExecuteParams::ExecuteOptions::OrHash,
|
|
@@ -72,6 +77,8 @@ module Stagehand
|
|
|
72
77
|
).returns(T.attached_class)
|
|
73
78
|
end
|
|
74
79
|
def self.new(
|
|
80
|
+
# Unique session identifier
|
|
81
|
+
id:,
|
|
75
82
|
agent_config:,
|
|
76
83
|
execute_options:,
|
|
77
84
|
# Target frame ID for the agent
|
|
@@ -87,6 +94,7 @@ module Stagehand
|
|
|
87
94
|
sig do
|
|
88
95
|
override.returns(
|
|
89
96
|
{
|
|
97
|
+
id: String,
|
|
90
98
|
agent_config: Stagehand::SessionExecuteParams::AgentConfig,
|
|
91
99
|
execute_options: Stagehand::SessionExecuteParams::ExecuteOptions,
|
|
92
100
|
frame_id: T.nilable(String),
|
|
@@ -379,11 +387,27 @@ module Stagehand
|
|
|
379
387
|
sig { params(max_steps: Float).void }
|
|
380
388
|
attr_writer :max_steps
|
|
381
389
|
|
|
390
|
+
# Timeout in milliseconds for each agent tool call
|
|
391
|
+
sig { returns(T.nilable(Float)) }
|
|
392
|
+
attr_reader :tool_timeout
|
|
393
|
+
|
|
394
|
+
sig { params(tool_timeout: Float).void }
|
|
395
|
+
attr_writer :tool_timeout
|
|
396
|
+
|
|
397
|
+
# Whether to enable the web search tool powered by Browserbase Search API
|
|
398
|
+
sig { returns(T.nilable(T::Boolean)) }
|
|
399
|
+
attr_reader :use_search
|
|
400
|
+
|
|
401
|
+
sig { params(use_search: T::Boolean).void }
|
|
402
|
+
attr_writer :use_search
|
|
403
|
+
|
|
382
404
|
sig do
|
|
383
405
|
params(
|
|
384
406
|
instruction: String,
|
|
385
407
|
highlight_cursor: T::Boolean,
|
|
386
|
-
max_steps: Float
|
|
408
|
+
max_steps: Float,
|
|
409
|
+
tool_timeout: Float,
|
|
410
|
+
use_search: T::Boolean
|
|
387
411
|
).returns(T.attached_class)
|
|
388
412
|
end
|
|
389
413
|
def self.new(
|
|
@@ -392,7 +416,11 @@ module Stagehand
|
|
|
392
416
|
# Whether to visually highlight the cursor during execution
|
|
393
417
|
highlight_cursor: nil,
|
|
394
418
|
# Maximum number of steps the agent can take
|
|
395
|
-
max_steps: nil
|
|
419
|
+
max_steps: nil,
|
|
420
|
+
# Timeout in milliseconds for each agent tool call
|
|
421
|
+
tool_timeout: nil,
|
|
422
|
+
# Whether to enable the web search tool powered by Browserbase Search API
|
|
423
|
+
use_search: nil
|
|
396
424
|
)
|
|
397
425
|
end
|
|
398
426
|
|
|
@@ -401,7 +429,9 @@ module Stagehand
|
|
|
401
429
|
{
|
|
402
430
|
instruction: String,
|
|
403
431
|
highlight_cursor: T::Boolean,
|
|
404
|
-
max_steps: Float
|
|
432
|
+
max_steps: Float,
|
|
433
|
+
tool_timeout: Float,
|
|
434
|
+
use_search: T::Boolean
|
|
405
435
|
}
|
|
406
436
|
)
|
|
407
437
|
end
|
|
@@ -11,6 +11,10 @@ module Stagehand
|
|
|
11
11
|
T.any(Stagehand::SessionExtractParams, Stagehand::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Unique session identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
# Target frame ID for the extraction
|
|
15
19
|
sig { returns(T.nilable(String)) }
|
|
16
20
|
attr_accessor :frame_id
|
|
@@ -55,6 +59,7 @@ module Stagehand
|
|
|
55
59
|
|
|
56
60
|
sig do
|
|
57
61
|
params(
|
|
62
|
+
id: String,
|
|
58
63
|
frame_id: T.nilable(String),
|
|
59
64
|
instruction: String,
|
|
60
65
|
options: Stagehand::SessionExtractParams::Options::OrHash,
|
|
@@ -65,6 +70,8 @@ module Stagehand
|
|
|
65
70
|
).returns(T.attached_class)
|
|
66
71
|
end
|
|
67
72
|
def self.new(
|
|
73
|
+
# Unique session identifier
|
|
74
|
+
id:,
|
|
68
75
|
# Target frame ID for the extraction
|
|
69
76
|
frame_id: nil,
|
|
70
77
|
# Natural language instruction for what to extract
|
|
@@ -81,6 +88,7 @@ module Stagehand
|
|
|
81
88
|
sig do
|
|
82
89
|
override.returns(
|
|
83
90
|
{
|
|
91
|
+
id: String,
|
|
84
92
|
frame_id: T.nilable(String),
|
|
85
93
|
instruction: String,
|
|
86
94
|
options: Stagehand::SessionExtractParams::Options,
|
|
@@ -11,6 +11,10 @@ module Stagehand
|
|
|
11
11
|
T.any(Stagehand::SessionNavigateParams, Stagehand::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# Unique session identifier
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :id
|
|
17
|
+
|
|
14
18
|
# URL to navigate to
|
|
15
19
|
sig { returns(String) }
|
|
16
20
|
attr_accessor :url
|
|
@@ -52,6 +56,7 @@ module Stagehand
|
|
|
52
56
|
|
|
53
57
|
sig do
|
|
54
58
|
params(
|
|
59
|
+
id: String,
|
|
55
60
|
url: String,
|
|
56
61
|
frame_id: T.nilable(String),
|
|
57
62
|
options: Stagehand::SessionNavigateParams::Options::OrHash,
|
|
@@ -62,6 +67,8 @@ module Stagehand
|
|
|
62
67
|
).returns(T.attached_class)
|
|
63
68
|
end
|
|
64
69
|
def self.new(
|
|
70
|
+
# Unique session identifier
|
|
71
|
+
id:,
|
|
65
72
|
# URL to navigate to
|
|
66
73
|
url:,
|
|
67
74
|
# Target frame ID for the navigation
|
|
@@ -78,6 +85,7 @@ module Stagehand
|
|
|
78
85
|
sig do
|
|
79
86
|
override.returns(
|
|
80
87
|
{
|
|
88
|
+
id: String,
|
|
81
89
|
url: String,
|
|
82
90
|
frame_id: T.nilable(String),
|
|
83
91
|
options: Stagehand::SessionNavigateParams::Options,
|