stagehand 0.0.3 → 3.5.2

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 (145) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +185 -0
  4. data/README.md +394 -31
  5. data/SECURITY.md +23 -0
  6. data/lib/stagehand/client.rb +126 -0
  7. data/lib/stagehand/errors.rb +228 -0
  8. data/lib/stagehand/file_part.rb +58 -0
  9. data/lib/stagehand/internal/stream.rb +56 -0
  10. data/lib/stagehand/internal/transport/base_client.rb +575 -0
  11. data/lib/stagehand/internal/transport/pooled_net_requester.rb +210 -0
  12. data/lib/stagehand/internal/type/array_of.rb +168 -0
  13. data/lib/stagehand/internal/type/base_model.rb +531 -0
  14. data/lib/stagehand/internal/type/base_page.rb +55 -0
  15. data/lib/stagehand/internal/type/base_stream.rb +83 -0
  16. data/lib/stagehand/internal/type/boolean.rb +77 -0
  17. data/lib/stagehand/internal/type/converter.rb +327 -0
  18. data/lib/stagehand/internal/type/enum.rb +131 -0
  19. data/lib/stagehand/internal/type/file_input.rb +111 -0
  20. data/lib/stagehand/internal/type/hash_of.rb +188 -0
  21. data/lib/stagehand/internal/type/request_parameters.rb +42 -0
  22. data/lib/stagehand/internal/type/union.rb +237 -0
  23. data/lib/stagehand/internal/type/unknown.rb +81 -0
  24. data/lib/stagehand/internal/util.rb +920 -0
  25. data/lib/stagehand/internal.rb +20 -0
  26. data/lib/stagehand/local.rb +439 -0
  27. data/lib/stagehand/models/action.rb +50 -0
  28. data/lib/stagehand/models/model_config.rb +55 -0
  29. data/lib/stagehand/models/session_act_params.rb +112 -0
  30. data/lib/stagehand/models/session_act_response.rb +127 -0
  31. data/lib/stagehand/models/session_end_params.rb +33 -0
  32. data/lib/stagehand/models/session_end_response.rb +17 -0
  33. data/lib/stagehand/models/session_execute_params.rb +212 -0
  34. data/lib/stagehand/models/session_execute_response.rb +212 -0
  35. data/lib/stagehand/models/session_extract_params.rb +107 -0
  36. data/lib/stagehand/models/session_extract_response.rb +46 -0
  37. data/lib/stagehand/models/session_navigate_params.rb +107 -0
  38. data/lib/stagehand/models/session_navigate_response.rb +44 -0
  39. data/lib/stagehand/models/session_observe_params.rb +99 -0
  40. data/lib/stagehand/models/session_observe_response.rb +91 -0
  41. data/lib/stagehand/models/session_replay_params.rb +33 -0
  42. data/lib/stagehand/models/session_replay_response.rb +100 -0
  43. data/lib/stagehand/models/session_start_params.rb +762 -0
  44. data/lib/stagehand/models/session_start_response.rb +55 -0
  45. data/lib/stagehand/models/stream_event.rb +120 -0
  46. data/lib/stagehand/models.rb +63 -0
  47. data/lib/stagehand/request_options.rb +77 -0
  48. data/lib/stagehand/resources/sessions.rb +488 -0
  49. data/lib/stagehand/version.rb +3 -1
  50. data/lib/stagehand.rb +74 -21
  51. data/manifest.yaml +17 -0
  52. data/rbi/stagehand/client.rbi +89 -0
  53. data/rbi/stagehand/errors.rbi +205 -0
  54. data/rbi/stagehand/file_part.rbi +37 -0
  55. data/rbi/stagehand/internal/stream.rbi +20 -0
  56. data/rbi/stagehand/internal/transport/base_client.rbi +314 -0
  57. data/rbi/stagehand/internal/transport/pooled_net_requester.rbi +83 -0
  58. data/rbi/stagehand/internal/type/array_of.rbi +104 -0
  59. data/rbi/stagehand/internal/type/base_model.rbi +308 -0
  60. data/rbi/stagehand/internal/type/base_page.rbi +42 -0
  61. data/rbi/stagehand/internal/type/base_stream.rbi +75 -0
  62. data/rbi/stagehand/internal/type/boolean.rbi +58 -0
  63. data/rbi/stagehand/internal/type/converter.rbi +216 -0
  64. data/rbi/stagehand/internal/type/enum.rbi +82 -0
  65. data/rbi/stagehand/internal/type/file_input.rbi +59 -0
  66. data/rbi/stagehand/internal/type/hash_of.rbi +104 -0
  67. data/rbi/stagehand/internal/type/request_parameters.rbi +29 -0
  68. data/rbi/stagehand/internal/type/union.rbi +128 -0
  69. data/rbi/stagehand/internal/type/unknown.rbi +58 -0
  70. data/rbi/stagehand/internal/util.rbi +487 -0
  71. data/rbi/stagehand/internal.rbi +18 -0
  72. data/rbi/stagehand/models/action.rbi +77 -0
  73. data/rbi/stagehand/models/model_config.rbi +94 -0
  74. data/rbi/stagehand/models/session_act_params.rbi +204 -0
  75. data/rbi/stagehand/models/session_act_response.rbi +250 -0
  76. data/rbi/stagehand/models/session_end_params.rbi +87 -0
  77. data/rbi/stagehand/models/session_end_response.rbi +30 -0
  78. data/rbi/stagehand/models/session_execute_params.rbi +440 -0
  79. data/rbi/stagehand/models/session_execute_response.rbi +414 -0
  80. data/rbi/stagehand/models/session_extract_params.rbi +209 -0
  81. data/rbi/stagehand/models/session_extract_response.rbi +91 -0
  82. data/rbi/stagehand/models/session_navigate_params.rbi +240 -0
  83. data/rbi/stagehand/models/session_navigate_response.rbi +91 -0
  84. data/rbi/stagehand/models/session_observe_params.rbi +198 -0
  85. data/rbi/stagehand/models/session_observe_response.rbi +184 -0
  86. data/rbi/stagehand/models/session_replay_params.rbi +89 -0
  87. data/rbi/stagehand/models/session_replay_response.rbi +286 -0
  88. data/rbi/stagehand/models/session_start_params.rbi +1703 -0
  89. data/rbi/stagehand/models/session_start_response.rbi +102 -0
  90. data/rbi/stagehand/models/stream_event.rbi +237 -0
  91. data/rbi/stagehand/models.rbi +25 -0
  92. data/rbi/stagehand/request_options.rbi +59 -0
  93. data/rbi/stagehand/resources/sessions.rbi +421 -0
  94. data/rbi/stagehand/version.rbi +5 -0
  95. data/sig/stagehand/client.rbs +41 -0
  96. data/sig/stagehand/errors.rbs +117 -0
  97. data/sig/stagehand/file_part.rbs +21 -0
  98. data/sig/stagehand/internal/stream.rbs +9 -0
  99. data/sig/stagehand/internal/transport/base_client.rbs +133 -0
  100. data/sig/stagehand/internal/transport/pooled_net_requester.rbs +48 -0
  101. data/sig/stagehand/internal/type/array_of.rbs +48 -0
  102. data/sig/stagehand/internal/type/base_model.rbs +102 -0
  103. data/sig/stagehand/internal/type/base_page.rbs +24 -0
  104. data/sig/stagehand/internal/type/base_stream.rbs +38 -0
  105. data/sig/stagehand/internal/type/boolean.rbs +26 -0
  106. data/sig/stagehand/internal/type/converter.rbs +79 -0
  107. data/sig/stagehand/internal/type/enum.rbs +32 -0
  108. data/sig/stagehand/internal/type/file_input.rbs +25 -0
  109. data/sig/stagehand/internal/type/hash_of.rbs +48 -0
  110. data/sig/stagehand/internal/type/request_parameters.rbs +19 -0
  111. data/sig/stagehand/internal/type/union.rbs +52 -0
  112. data/sig/stagehand/internal/type/unknown.rbs +26 -0
  113. data/sig/stagehand/internal/util.rbs +185 -0
  114. data/sig/stagehand/internal.rbs +9 -0
  115. data/sig/stagehand/models/action.rbs +46 -0
  116. data/sig/stagehand/models/model_config.rbs +56 -0
  117. data/sig/stagehand/models/session_act_params.rbs +111 -0
  118. data/sig/stagehand/models/session_act_response.rbs +121 -0
  119. data/sig/stagehand/models/session_end_params.rbs +41 -0
  120. data/sig/stagehand/models/session_end_response.rbs +13 -0
  121. data/sig/stagehand/models/session_execute_params.rbs +193 -0
  122. data/sig/stagehand/models/session_execute_response.rbs +215 -0
  123. data/sig/stagehand/models/session_extract_params.rbs +112 -0
  124. data/sig/stagehand/models/session_extract_response.rbs +36 -0
  125. data/sig/stagehand/models/session_navigate_params.rbs +114 -0
  126. data/sig/stagehand/models/session_navigate_response.rbs +36 -0
  127. data/sig/stagehand/models/session_observe_params.rbs +105 -0
  128. data/sig/stagehand/models/session_observe_response.rbs +89 -0
  129. data/sig/stagehand/models/session_replay_params.rbs +41 -0
  130. data/sig/stagehand/models/session_replay_response.rbs +137 -0
  131. data/sig/stagehand/models/session_start_params.rbs +866 -0
  132. data/sig/stagehand/models/session_start_response.rbs +44 -0
  133. data/sig/stagehand/models/stream_event.rbs +109 -0
  134. data/sig/stagehand/models.rbs +23 -0
  135. data/sig/stagehand/request_options.rbs +34 -0
  136. data/sig/stagehand/resources/sessions.rbs +121 -0
  137. data/sig/stagehand/version.rbs +3 -0
  138. metadata +173 -42
  139. data/.gitignore +0 -16
  140. data/Gemfile +0 -4
  141. data/Rakefile +0 -10
  142. data/lib/stagehand/railtie.rb +0 -14
  143. data/spec/spec_helper.rb +0 -7
  144. data/spec/stagehand_spec.rb +0 -15
  145. data/stagehand.gemspec +0 -24
@@ -0,0 +1,866 @@
1
+ module Stagehand
2
+ module Models
3
+ type session_start_params =
4
+ {
5
+ model_name: String,
6
+ act_timeout_ms: Float,
7
+ browser: Stagehand::SessionStartParams::Browser,
8
+ browserbase_session_create_params: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams,
9
+ browserbase_session_id: String,
10
+ dom_settle_timeout_ms: Float,
11
+ experimental: bool,
12
+ self_heal: bool,
13
+ system_prompt: String,
14
+ verbose: Stagehand::Models::SessionStartParams::verbose,
15
+ wait_for_captcha_solves: bool,
16
+ x_stream_response: Stagehand::Models::SessionStartParams::x_stream_response
17
+ }
18
+ & Stagehand::Internal::Type::request_parameters
19
+
20
+ class SessionStartParams < Stagehand::Internal::Type::BaseModel
21
+ extend Stagehand::Internal::Type::RequestParameters::Converter
22
+ include Stagehand::Internal::Type::RequestParameters
23
+
24
+ attr_accessor model_name: String
25
+
26
+ attr_reader act_timeout_ms: Float?
27
+
28
+ def act_timeout_ms=: (Float) -> Float
29
+
30
+ attr_reader browser: Stagehand::SessionStartParams::Browser?
31
+
32
+ def browser=: (
33
+ Stagehand::SessionStartParams::Browser
34
+ ) -> Stagehand::SessionStartParams::Browser
35
+
36
+ attr_reader browserbase_session_create_params: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams?
37
+
38
+ def browserbase_session_create_params=: (
39
+ Stagehand::SessionStartParams::BrowserbaseSessionCreateParams
40
+ ) -> Stagehand::SessionStartParams::BrowserbaseSessionCreateParams
41
+
42
+ attr_reader browserbase_session_id: String?
43
+
44
+ def browserbase_session_id=: (String) -> String
45
+
46
+ attr_reader dom_settle_timeout_ms: Float?
47
+
48
+ def dom_settle_timeout_ms=: (Float) -> Float
49
+
50
+ attr_reader experimental: bool?
51
+
52
+ def experimental=: (bool) -> bool
53
+
54
+ attr_reader self_heal: bool?
55
+
56
+ def self_heal=: (bool) -> bool
57
+
58
+ attr_reader system_prompt: String?
59
+
60
+ def system_prompt=: (String) -> String
61
+
62
+ attr_reader verbose: Stagehand::Models::SessionStartParams::verbose?
63
+
64
+ def verbose=: (
65
+ Stagehand::Models::SessionStartParams::verbose
66
+ ) -> Stagehand::Models::SessionStartParams::verbose
67
+
68
+ attr_reader wait_for_captcha_solves: bool?
69
+
70
+ def wait_for_captcha_solves=: (bool) -> bool
71
+
72
+ attr_reader x_stream_response: Stagehand::Models::SessionStartParams::x_stream_response?
73
+
74
+ def x_stream_response=: (
75
+ Stagehand::Models::SessionStartParams::x_stream_response
76
+ ) -> Stagehand::Models::SessionStartParams::x_stream_response
77
+
78
+ def initialize: (
79
+ model_name: String,
80
+ ?act_timeout_ms: Float,
81
+ ?browser: Stagehand::SessionStartParams::Browser,
82
+ ?browserbase_session_create_params: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams,
83
+ ?browserbase_session_id: String,
84
+ ?dom_settle_timeout_ms: Float,
85
+ ?experimental: bool,
86
+ ?self_heal: bool,
87
+ ?system_prompt: String,
88
+ ?verbose: Stagehand::Models::SessionStartParams::verbose,
89
+ ?wait_for_captcha_solves: bool,
90
+ ?x_stream_response: Stagehand::Models::SessionStartParams::x_stream_response,
91
+ ?request_options: Stagehand::request_opts
92
+ ) -> void
93
+
94
+ def to_hash: -> {
95
+ model_name: String,
96
+ act_timeout_ms: Float,
97
+ browser: Stagehand::SessionStartParams::Browser,
98
+ browserbase_session_create_params: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams,
99
+ browserbase_session_id: String,
100
+ dom_settle_timeout_ms: Float,
101
+ experimental: bool,
102
+ self_heal: bool,
103
+ system_prompt: String,
104
+ verbose: Stagehand::Models::SessionStartParams::verbose,
105
+ wait_for_captcha_solves: bool,
106
+ x_stream_response: Stagehand::Models::SessionStartParams::x_stream_response,
107
+ request_options: Stagehand::RequestOptions
108
+ }
109
+
110
+ type browser =
111
+ {
112
+ cdp_url: String,
113
+ launch_options: Stagehand::SessionStartParams::Browser::LaunchOptions,
114
+ type: Stagehand::Models::SessionStartParams::Browser::type_
115
+ }
116
+
117
+ class Browser < Stagehand::Internal::Type::BaseModel
118
+ attr_reader cdp_url: String?
119
+
120
+ def cdp_url=: (String) -> String
121
+
122
+ attr_reader launch_options: Stagehand::SessionStartParams::Browser::LaunchOptions?
123
+
124
+ def launch_options=: (
125
+ Stagehand::SessionStartParams::Browser::LaunchOptions
126
+ ) -> Stagehand::SessionStartParams::Browser::LaunchOptions
127
+
128
+ attr_reader type: Stagehand::Models::SessionStartParams::Browser::type_?
129
+
130
+ def type=: (
131
+ Stagehand::Models::SessionStartParams::Browser::type_
132
+ ) -> Stagehand::Models::SessionStartParams::Browser::type_
133
+
134
+ def initialize: (
135
+ ?cdp_url: String,
136
+ ?launch_options: Stagehand::SessionStartParams::Browser::LaunchOptions,
137
+ ?type: Stagehand::Models::SessionStartParams::Browser::type_
138
+ ) -> void
139
+
140
+ def to_hash: -> {
141
+ cdp_url: String,
142
+ launch_options: Stagehand::SessionStartParams::Browser::LaunchOptions,
143
+ type: Stagehand::Models::SessionStartParams::Browser::type_
144
+ }
145
+
146
+ type launch_options =
147
+ {
148
+ accept_downloads: bool,
149
+ args: ::Array[String],
150
+ cdp_url: String,
151
+ chromium_sandbox: bool,
152
+ connect_timeout_ms: Float,
153
+ device_scale_factor: Float,
154
+ devtools: bool,
155
+ downloads_path: String,
156
+ executable_path: String,
157
+ has_touch: bool,
158
+ headless: bool,
159
+ ignore_default_args: Stagehand::Models::SessionStartParams::Browser::LaunchOptions::ignore_default_args,
160
+ ignore_https_errors: bool,
161
+ locale: String,
162
+ port: Float,
163
+ preserve_user_data_dir: bool,
164
+ proxy: Stagehand::SessionStartParams::Browser::LaunchOptions::Proxy,
165
+ user_data_dir: String,
166
+ viewport: Stagehand::SessionStartParams::Browser::LaunchOptions::Viewport
167
+ }
168
+
169
+ class LaunchOptions < Stagehand::Internal::Type::BaseModel
170
+ attr_reader accept_downloads: bool?
171
+
172
+ def accept_downloads=: (bool) -> bool
173
+
174
+ attr_reader args: ::Array[String]?
175
+
176
+ def args=: (::Array[String]) -> ::Array[String]
177
+
178
+ attr_reader cdp_url: String?
179
+
180
+ def cdp_url=: (String) -> String
181
+
182
+ attr_reader chromium_sandbox: bool?
183
+
184
+ def chromium_sandbox=: (bool) -> bool
185
+
186
+ attr_reader connect_timeout_ms: Float?
187
+
188
+ def connect_timeout_ms=: (Float) -> Float
189
+
190
+ attr_reader device_scale_factor: Float?
191
+
192
+ def device_scale_factor=: (Float) -> Float
193
+
194
+ attr_reader devtools: bool?
195
+
196
+ def devtools=: (bool) -> bool
197
+
198
+ attr_reader downloads_path: String?
199
+
200
+ def downloads_path=: (String) -> String
201
+
202
+ attr_reader executable_path: String?
203
+
204
+ def executable_path=: (String) -> String
205
+
206
+ attr_reader has_touch: bool?
207
+
208
+ def has_touch=: (bool) -> bool
209
+
210
+ attr_reader headless: bool?
211
+
212
+ def headless=: (bool) -> bool
213
+
214
+ attr_reader ignore_default_args: Stagehand::Models::SessionStartParams::Browser::LaunchOptions::ignore_default_args?
215
+
216
+ def ignore_default_args=: (
217
+ Stagehand::Models::SessionStartParams::Browser::LaunchOptions::ignore_default_args
218
+ ) -> Stagehand::Models::SessionStartParams::Browser::LaunchOptions::ignore_default_args
219
+
220
+ attr_reader ignore_https_errors: bool?
221
+
222
+ def ignore_https_errors=: (bool) -> bool
223
+
224
+ attr_reader locale: String?
225
+
226
+ def locale=: (String) -> String
227
+
228
+ attr_reader port: Float?
229
+
230
+ def port=: (Float) -> Float
231
+
232
+ attr_reader preserve_user_data_dir: bool?
233
+
234
+ def preserve_user_data_dir=: (bool) -> bool
235
+
236
+ attr_reader proxy: Stagehand::SessionStartParams::Browser::LaunchOptions::Proxy?
237
+
238
+ def proxy=: (
239
+ Stagehand::SessionStartParams::Browser::LaunchOptions::Proxy
240
+ ) -> Stagehand::SessionStartParams::Browser::LaunchOptions::Proxy
241
+
242
+ attr_reader user_data_dir: String?
243
+
244
+ def user_data_dir=: (String) -> String
245
+
246
+ attr_reader viewport: Stagehand::SessionStartParams::Browser::LaunchOptions::Viewport?
247
+
248
+ def viewport=: (
249
+ Stagehand::SessionStartParams::Browser::LaunchOptions::Viewport
250
+ ) -> Stagehand::SessionStartParams::Browser::LaunchOptions::Viewport
251
+
252
+ def initialize: (
253
+ ?accept_downloads: bool,
254
+ ?args: ::Array[String],
255
+ ?cdp_url: String,
256
+ ?chromium_sandbox: bool,
257
+ ?connect_timeout_ms: Float,
258
+ ?device_scale_factor: Float,
259
+ ?devtools: bool,
260
+ ?downloads_path: String,
261
+ ?executable_path: String,
262
+ ?has_touch: bool,
263
+ ?headless: bool,
264
+ ?ignore_default_args: Stagehand::Models::SessionStartParams::Browser::LaunchOptions::ignore_default_args,
265
+ ?ignore_https_errors: bool,
266
+ ?locale: String,
267
+ ?port: Float,
268
+ ?preserve_user_data_dir: bool,
269
+ ?proxy: Stagehand::SessionStartParams::Browser::LaunchOptions::Proxy,
270
+ ?user_data_dir: String,
271
+ ?viewport: Stagehand::SessionStartParams::Browser::LaunchOptions::Viewport
272
+ ) -> void
273
+
274
+ def to_hash: -> {
275
+ accept_downloads: bool,
276
+ args: ::Array[String],
277
+ cdp_url: String,
278
+ chromium_sandbox: bool,
279
+ connect_timeout_ms: Float,
280
+ device_scale_factor: Float,
281
+ devtools: bool,
282
+ downloads_path: String,
283
+ executable_path: String,
284
+ has_touch: bool,
285
+ headless: bool,
286
+ ignore_default_args: Stagehand::Models::SessionStartParams::Browser::LaunchOptions::ignore_default_args,
287
+ ignore_https_errors: bool,
288
+ locale: String,
289
+ port: Float,
290
+ preserve_user_data_dir: bool,
291
+ proxy: Stagehand::SessionStartParams::Browser::LaunchOptions::Proxy,
292
+ user_data_dir: String,
293
+ viewport: Stagehand::SessionStartParams::Browser::LaunchOptions::Viewport
294
+ }
295
+
296
+ type ignore_default_args = bool | ::Array[String]
297
+
298
+ module IgnoreDefaultArgs
299
+ extend Stagehand::Internal::Type::Union
300
+
301
+ def self?.variants: -> ::Array[Stagehand::Models::SessionStartParams::Browser::LaunchOptions::ignore_default_args]
302
+
303
+ StringArray: Stagehand::Internal::Type::Converter
304
+ end
305
+
306
+ type proxy =
307
+ {
308
+ server: String,
309
+ bypass: String,
310
+ password: String,
311
+ username: String
312
+ }
313
+
314
+ class Proxy < Stagehand::Internal::Type::BaseModel
315
+ attr_accessor server: String
316
+
317
+ attr_reader bypass: String?
318
+
319
+ def bypass=: (String) -> String
320
+
321
+ attr_reader password: String?
322
+
323
+ def password=: (String) -> String
324
+
325
+ attr_reader username: String?
326
+
327
+ def username=: (String) -> String
328
+
329
+ def initialize: (
330
+ server: String,
331
+ ?bypass: String,
332
+ ?password: String,
333
+ ?username: String
334
+ ) -> void
335
+
336
+ def to_hash: -> {
337
+ server: String,
338
+ bypass: String,
339
+ password: String,
340
+ username: String
341
+ }
342
+ end
343
+
344
+ type viewport = { height: Float, width: Float }
345
+
346
+ class Viewport < Stagehand::Internal::Type::BaseModel
347
+ attr_accessor height: Float
348
+
349
+ attr_accessor width: Float
350
+
351
+ def initialize: (height: Float, width: Float) -> void
352
+
353
+ def to_hash: -> { height: Float, width: Float }
354
+ end
355
+ end
356
+
357
+ type type_ = :local | :browserbase
358
+
359
+ module Type
360
+ extend Stagehand::Internal::Type::Enum
361
+
362
+ LOCAL: :local
363
+ BROWSERBASE: :browserbase
364
+
365
+ def self?.values: -> ::Array[Stagehand::Models::SessionStartParams::Browser::type_]
366
+ end
367
+ end
368
+
369
+ type browserbase_session_create_params =
370
+ {
371
+ browser_settings: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings,
372
+ extension_id: String,
373
+ keep_alive: bool,
374
+ project_id: String,
375
+ proxies: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::proxies,
376
+ region: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::region,
377
+ timeout: Float,
378
+ user_metadata: ::Hash[Symbol, top]
379
+ }
380
+
381
+ class BrowserbaseSessionCreateParams < Stagehand::Internal::Type::BaseModel
382
+ attr_reader browser_settings: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings?
383
+
384
+ def browser_settings=: (
385
+ Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings
386
+ ) -> Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings
387
+
388
+ attr_reader extension_id: String?
389
+
390
+ def extension_id=: (String) -> String
391
+
392
+ attr_reader keep_alive: bool?
393
+
394
+ def keep_alive=: (bool) -> bool
395
+
396
+ attr_reader project_id: String?
397
+
398
+ def project_id=: (String) -> String
399
+
400
+ attr_reader proxies: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::proxies?
401
+
402
+ def proxies=: (
403
+ Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::proxies
404
+ ) -> Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::proxies
405
+
406
+ attr_reader region: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::region?
407
+
408
+ def region=: (
409
+ Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::region
410
+ ) -> Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::region
411
+
412
+ attr_reader timeout: Float?
413
+
414
+ def timeout=: (Float) -> Float
415
+
416
+ attr_reader user_metadata: ::Hash[Symbol, top]?
417
+
418
+ def user_metadata=: (::Hash[Symbol, top]) -> ::Hash[Symbol, top]
419
+
420
+ def initialize: (
421
+ ?browser_settings: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings,
422
+ ?extension_id: String,
423
+ ?keep_alive: bool,
424
+ ?project_id: String,
425
+ ?proxies: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::proxies,
426
+ ?region: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::region,
427
+ ?timeout: Float,
428
+ ?user_metadata: ::Hash[Symbol, top]
429
+ ) -> void
430
+
431
+ def to_hash: -> {
432
+ browser_settings: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings,
433
+ extension_id: String,
434
+ keep_alive: bool,
435
+ project_id: String,
436
+ proxies: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::proxies,
437
+ region: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::region,
438
+ timeout: Float,
439
+ user_metadata: ::Hash[Symbol, top]
440
+ }
441
+
442
+ type browser_settings =
443
+ {
444
+ advanced_stealth: bool,
445
+ block_ads: bool,
446
+ context: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Context,
447
+ extension_id: String,
448
+ fingerprint: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint,
449
+ log_session: bool,
450
+ record_session: bool,
451
+ solve_captchas: bool,
452
+ viewport: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Viewport
453
+ }
454
+
455
+ class BrowserSettings < Stagehand::Internal::Type::BaseModel
456
+ attr_reader advanced_stealth: bool?
457
+
458
+ def advanced_stealth=: (bool) -> bool
459
+
460
+ attr_reader block_ads: bool?
461
+
462
+ def block_ads=: (bool) -> bool
463
+
464
+ attr_reader context: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Context?
465
+
466
+ def context=: (
467
+ Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Context
468
+ ) -> Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Context
469
+
470
+ attr_reader extension_id: String?
471
+
472
+ def extension_id=: (String) -> String
473
+
474
+ attr_reader fingerprint: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint?
475
+
476
+ def fingerprint=: (
477
+ Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint
478
+ ) -> Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint
479
+
480
+ attr_reader log_session: bool?
481
+
482
+ def log_session=: (bool) -> bool
483
+
484
+ attr_reader record_session: bool?
485
+
486
+ def record_session=: (bool) -> bool
487
+
488
+ attr_reader solve_captchas: bool?
489
+
490
+ def solve_captchas=: (bool) -> bool
491
+
492
+ attr_reader viewport: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Viewport?
493
+
494
+ def viewport=: (
495
+ Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Viewport
496
+ ) -> Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Viewport
497
+
498
+ def initialize: (
499
+ ?advanced_stealth: bool,
500
+ ?block_ads: bool,
501
+ ?context: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Context,
502
+ ?extension_id: String,
503
+ ?fingerprint: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint,
504
+ ?log_session: bool,
505
+ ?record_session: bool,
506
+ ?solve_captchas: bool,
507
+ ?viewport: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Viewport
508
+ ) -> void
509
+
510
+ def to_hash: -> {
511
+ advanced_stealth: bool,
512
+ block_ads: bool,
513
+ context: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Context,
514
+ extension_id: String,
515
+ fingerprint: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint,
516
+ log_session: bool,
517
+ record_session: bool,
518
+ solve_captchas: bool,
519
+ viewport: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Viewport
520
+ }
521
+
522
+ type context = { id: String, persist: bool }
523
+
524
+ class Context < Stagehand::Internal::Type::BaseModel
525
+ attr_accessor id: String
526
+
527
+ attr_reader persist: bool?
528
+
529
+ def persist=: (bool) -> bool
530
+
531
+ def initialize: (id: String, ?persist: bool) -> void
532
+
533
+ def to_hash: -> { id: String, persist: bool }
534
+ end
535
+
536
+ type fingerprint =
537
+ {
538
+ browsers: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::browser],
539
+ devices: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::device],
540
+ http_version: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::http_version,
541
+ locales: ::Array[String],
542
+ operating_systems: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::operating_system],
543
+ screen: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::Screen
544
+ }
545
+
546
+ class Fingerprint < Stagehand::Internal::Type::BaseModel
547
+ attr_reader browsers: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::browser]?
548
+
549
+ def browsers=: (
550
+ ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::browser]
551
+ ) -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::browser]
552
+
553
+ attr_reader devices: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::device]?
554
+
555
+ def devices=: (
556
+ ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::device]
557
+ ) -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::device]
558
+
559
+ attr_reader http_version: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::http_version?
560
+
561
+ def http_version=: (
562
+ Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::http_version
563
+ ) -> Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::http_version
564
+
565
+ attr_reader locales: ::Array[String]?
566
+
567
+ def locales=: (::Array[String]) -> ::Array[String]
568
+
569
+ attr_reader operating_systems: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::operating_system]?
570
+
571
+ def operating_systems=: (
572
+ ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::operating_system]
573
+ ) -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::operating_system]
574
+
575
+ attr_reader screen: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::Screen?
576
+
577
+ def screen=: (
578
+ Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::Screen
579
+ ) -> Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::Screen
580
+
581
+ def initialize: (
582
+ ?browsers: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::browser],
583
+ ?devices: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::device],
584
+ ?http_version: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::http_version,
585
+ ?locales: ::Array[String],
586
+ ?operating_systems: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::operating_system],
587
+ ?screen: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::Screen
588
+ ) -> void
589
+
590
+ def to_hash: -> {
591
+ browsers: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::browser],
592
+ devices: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::device],
593
+ http_version: Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::http_version,
594
+ locales: ::Array[String],
595
+ operating_systems: ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::operating_system],
596
+ screen: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::Screen
597
+ }
598
+
599
+ type browser = :chrome | :edge | :firefox | :safari
600
+
601
+ module Browser
602
+ extend Stagehand::Internal::Type::Enum
603
+
604
+ CHROME: :chrome
605
+ EDGE: :edge
606
+ FIREFOX: :firefox
607
+ SAFARI: :safari
608
+
609
+ def self?.values: -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::browser]
610
+ end
611
+
612
+ type device = :desktop | :mobile
613
+
614
+ module Device
615
+ extend Stagehand::Internal::Type::Enum
616
+
617
+ DESKTOP: :desktop
618
+ MOBILE: :mobile
619
+
620
+ def self?.values: -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::device]
621
+ end
622
+
623
+ type http_version = :"1" | :"2"
624
+
625
+ module HTTPVersion
626
+ extend Stagehand::Internal::Type::Enum
627
+
628
+ HTTP_VERSION_1: :"1"
629
+ HTTP_VERSION_2: :"2"
630
+
631
+ def self?.values: -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::http_version]
632
+ end
633
+
634
+ type operating_system = :android | :ios | :linux | :macos | :windows
635
+
636
+ module OperatingSystem
637
+ extend Stagehand::Internal::Type::Enum
638
+
639
+ ANDROID: :android
640
+ IOS: :ios
641
+ LINUX: :linux
642
+ MACOS: :macos
643
+ WINDOWS: :windows
644
+
645
+ def self?.values: -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::BrowserSettings::Fingerprint::operating_system]
646
+ end
647
+
648
+ type screen =
649
+ {
650
+ max_height: Float,
651
+ max_width: Float,
652
+ min_height: Float,
653
+ min_width: Float
654
+ }
655
+
656
+ class Screen < Stagehand::Internal::Type::BaseModel
657
+ attr_reader max_height: Float?
658
+
659
+ def max_height=: (Float) -> Float
660
+
661
+ attr_reader max_width: Float?
662
+
663
+ def max_width=: (Float) -> Float
664
+
665
+ attr_reader min_height: Float?
666
+
667
+ def min_height=: (Float) -> Float
668
+
669
+ attr_reader min_width: Float?
670
+
671
+ def min_width=: (Float) -> Float
672
+
673
+ def initialize: (
674
+ ?max_height: Float,
675
+ ?max_width: Float,
676
+ ?min_height: Float,
677
+ ?min_width: Float
678
+ ) -> void
679
+
680
+ def to_hash: -> {
681
+ max_height: Float,
682
+ max_width: Float,
683
+ min_height: Float,
684
+ min_width: Float
685
+ }
686
+ end
687
+ end
688
+
689
+ type viewport = { height: Float, width: Float }
690
+
691
+ class Viewport < Stagehand::Internal::Type::BaseModel
692
+ attr_reader height: Float?
693
+
694
+ def height=: (Float) -> Float
695
+
696
+ attr_reader width: Float?
697
+
698
+ def width=: (Float) -> Float
699
+
700
+ def initialize: (?height: Float, ?width: Float) -> void
701
+
702
+ def to_hash: -> { height: Float, width: Float }
703
+ end
704
+ end
705
+
706
+ type proxies =
707
+ bool
708
+ | ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::proxy_config_list]
709
+
710
+ module Proxies
711
+ extend Stagehand::Internal::Type::Union
712
+
713
+ type proxy_config_list =
714
+ Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::ProxyConfigList::Browserbase
715
+ | Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::ProxyConfigList::External
716
+
717
+ module ProxyConfigList
718
+ extend Stagehand::Internal::Type::Union
719
+
720
+ type browserbase =
721
+ {
722
+ type: :browserbase,
723
+ domain_pattern: String,
724
+ geolocation: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::ProxyConfigList::Browserbase::Geolocation
725
+ }
726
+
727
+ class Browserbase < Stagehand::Internal::Type::BaseModel
728
+ attr_accessor type: :browserbase
729
+
730
+ attr_reader domain_pattern: String?
731
+
732
+ def domain_pattern=: (String) -> String
733
+
734
+ attr_reader geolocation: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::ProxyConfigList::Browserbase::Geolocation?
735
+
736
+ def geolocation=: (
737
+ Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::ProxyConfigList::Browserbase::Geolocation
738
+ ) -> Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::ProxyConfigList::Browserbase::Geolocation
739
+
740
+ def initialize: (
741
+ ?domain_pattern: String,
742
+ ?geolocation: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::ProxyConfigList::Browserbase::Geolocation,
743
+ ?type: :browserbase
744
+ ) -> void
745
+
746
+ def to_hash: -> {
747
+ type: :browserbase,
748
+ domain_pattern: String,
749
+ geolocation: Stagehand::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::ProxyConfigList::Browserbase::Geolocation
750
+ }
751
+
752
+ type geolocation =
753
+ { country: String, city: String, state: String }
754
+
755
+ class Geolocation < Stagehand::Internal::Type::BaseModel
756
+ attr_accessor country: String
757
+
758
+ attr_reader city: String?
759
+
760
+ def city=: (String) -> String
761
+
762
+ attr_reader state: String?
763
+
764
+ def state=: (String) -> String
765
+
766
+ def initialize: (
767
+ country: String,
768
+ ?city: String,
769
+ ?state: String
770
+ ) -> void
771
+
772
+ def to_hash: -> { country: String, city: String, state: String }
773
+ end
774
+ end
775
+
776
+ type external =
777
+ {
778
+ server: String,
779
+ type: :external,
780
+ domain_pattern: String,
781
+ password: String,
782
+ username: String
783
+ }
784
+
785
+ class External < Stagehand::Internal::Type::BaseModel
786
+ attr_accessor server: String
787
+
788
+ attr_accessor type: :external
789
+
790
+ attr_reader domain_pattern: String?
791
+
792
+ def domain_pattern=: (String) -> String
793
+
794
+ attr_reader password: String?
795
+
796
+ def password=: (String) -> String
797
+
798
+ attr_reader username: String?
799
+
800
+ def username=: (String) -> String
801
+
802
+ def initialize: (
803
+ server: String,
804
+ ?domain_pattern: String,
805
+ ?password: String,
806
+ ?username: String,
807
+ ?type: :external
808
+ ) -> void
809
+
810
+ def to_hash: -> {
811
+ server: String,
812
+ type: :external,
813
+ domain_pattern: String,
814
+ password: String,
815
+ username: String
816
+ }
817
+ end
818
+
819
+ def self?.variants: -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::Proxies::proxy_config_list]
820
+ end
821
+
822
+ def self?.variants: -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::proxies]
823
+
824
+ ProxyConfigListArray: Stagehand::Internal::Type::Converter
825
+ end
826
+
827
+ type region =
828
+ :"us-west-2" | :"us-east-1" | :"eu-central-1" | :"ap-southeast-1"
829
+
830
+ module Region
831
+ extend Stagehand::Internal::Type::Enum
832
+
833
+ US_WEST_2: :"us-west-2"
834
+ US_EAST_1: :"us-east-1"
835
+ EU_CENTRAL_1: :"eu-central-1"
836
+ AP_SOUTHEAST_1: :"ap-southeast-1"
837
+
838
+ def self?.values: -> ::Array[Stagehand::Models::SessionStartParams::BrowserbaseSessionCreateParams::region]
839
+ end
840
+ end
841
+
842
+ type verbose = Float
843
+
844
+ module Verbose
845
+ extend Stagehand::Internal::Type::Enum
846
+
847
+ VERBOSE_0: 0
848
+ VERBOSE_1: 1
849
+ VERBOSE_2: 2
850
+
851
+ def self?.values: -> ::Array[Stagehand::Models::SessionStartParams::verbose]
852
+ end
853
+
854
+ type x_stream_response = :true | :false
855
+
856
+ module XStreamResponse
857
+ extend Stagehand::Internal::Type::Enum
858
+
859
+ TRUE: :true
860
+ FALSE: :false
861
+
862
+ def self?.values: -> ::Array[Stagehand::Models::SessionStartParams::x_stream_response]
863
+ end
864
+ end
865
+ end
866
+ end