@@ -11,16 +11,13 @@ module Stagehand
1111 T . any ( Stagehand ::SessionStartParams , Stagehand ::Internal ::AnyHash )
1212 end
1313
14- # Environment to run the browser in
15- sig { returns ( Stagehand :: SessionStartParams :: Env :: OrSymbol ) }
16- attr_accessor :env
14+ # API key for Browserbase Cloud
15+ sig { returns ( String ) }
16+ attr_accessor :browserbase_api_key
1717
18- # API key for Browserbase (required when env=BROWSERBASE)
19- sig { returns ( T . nilable ( String ) ) }
20- attr_reader :api_key
21-
22- sig { params ( api_key : String ) . void }
23- attr_writer :api_key
18+ # Project ID for Browserbase
19+ sig { returns ( String ) }
20+ attr_accessor :browserbase_project_id
2421
2522 # Timeout in ms to wait for DOM to settle
2623 sig { returns ( T . nilable ( Integer ) ) }
@@ -29,36 +26,13 @@ module Stagehand
2926 sig { params ( dom_settle_timeout : Integer ) . void }
3027 attr_writer :dom_settle_timeout
3128
32- # Options for local browser launch
33- sig do
34- returns (
35- T . nilable ( Stagehand ::SessionStartParams ::LocalBrowserLaunchOptions )
36- )
37- end
38- attr_reader :local_browser_launch_options
39-
40- sig do
41- params (
42- local_browser_launch_options :
43- Stagehand ::SessionStartParams ::LocalBrowserLaunchOptions ::OrHash
44- ) . void
45- end
46- attr_writer :local_browser_launch_options
47-
48- # AI model to use for actions
29+ # AI model to use for actions (must be prefixed with provider/)
4930 sig { returns ( T . nilable ( String ) ) }
5031 attr_reader :model
5132
5233 sig { params ( model : String ) . void }
5334 attr_writer :model
5435
55- # Project ID for Browserbase (required when env=BROWSERBASE)
56- sig { returns ( T . nilable ( String ) ) }
57- attr_reader :project_id
58-
59- sig { params ( project_id : String ) . void }
60- attr_writer :project_id
61-
6236 # Enable self-healing for failed actions
6337 sig { returns ( T . nilable ( T ::Boolean ) ) }
6438 attr_reader :self_heal
@@ -82,32 +56,25 @@ module Stagehand
8256
8357 sig do
8458 params (
85- env : Stagehand :: SessionStartParams :: Env :: OrSymbol ,
86- api_key : String ,
59+ browserbase_api_key : String ,
60+ browserbase_project_id : String ,
8761 dom_settle_timeout : Integer ,
88- local_browser_launch_options :
89- Stagehand ::SessionStartParams ::LocalBrowserLaunchOptions ::OrHash ,
9062 model : String ,
91- project_id : String ,
9263 self_heal : T ::Boolean ,
9364 system_prompt : String ,
9465 verbose : Integer ,
9566 request_options : Stagehand ::RequestOptions ::OrHash
9667 ) . returns ( T . attached_class )
9768 end
9869 def self . new (
99- # Environment to run the browser in
100- env :,
101- # API key for Browserbase (required when env=BROWSERBASE)
102- api_key : nil ,
70+ # API key for Browserbase Cloud
71+ browserbase_api_key :,
72+ # Project ID for Browserbase
73+ browserbase_project_id : ,
10374 # Timeout in ms to wait for DOM to settle
10475 dom_settle_timeout : nil ,
105- # Options for local browser launch
106- local_browser_launch_options : nil ,
107- # AI model to use for actions
76+ # AI model to use for actions (must be prefixed with provider/)
10877 model : nil ,
109- # Project ID for Browserbase (required when env=BROWSERBASE)
110- project_id : nil ,
11178 # Enable self-healing for failed actions
11279 self_heal : nil ,
11380 # Custom system prompt for AI actions
@@ -121,13 +88,10 @@ module Stagehand
12188 sig do
12289 override . returns (
12390 {
124- env : Stagehand :: SessionStartParams :: Env :: OrSymbol ,
125- api_key : String ,
91+ browserbase_api_key : String ,
92+ browserbase_project_id : String ,
12693 dom_settle_timeout : Integer ,
127- local_browser_launch_options :
128- Stagehand ::SessionStartParams ::LocalBrowserLaunchOptions ,
12994 model : String ,
130- project_id : String ,
13195 self_heal : T ::Boolean ,
13296 system_prompt : String ,
13397 verbose : Integer ,
@@ -137,52 +101,6 @@ module Stagehand
137101 end
138102 def to_hash
139103 end
140-
141- # Environment to run the browser in
142- module Env
143- extend Stagehand ::Internal ::Type ::Enum
144-
145- TaggedSymbol =
146- T . type_alias { T . all ( Symbol , Stagehand ::SessionStartParams ::Env ) }
147- OrSymbol = T . type_alias { T . any ( Symbol , String ) }
148-
149- LOCAL = T . let ( :LOCAL , Stagehand ::SessionStartParams ::Env ::TaggedSymbol )
150- BROWSERBASE =
151- T . let ( :BROWSERBASE , Stagehand ::SessionStartParams ::Env ::TaggedSymbol )
152-
153- sig do
154- override . returns (
155- T ::Array [ Stagehand ::SessionStartParams ::Env ::TaggedSymbol ]
156- )
157- end
158- def self . values
159- end
160- end
161-
162- class LocalBrowserLaunchOptions < Stagehand ::Internal ::Type ::BaseModel
163- OrHash =
164- T . type_alias do
165- T . any (
166- Stagehand ::SessionStartParams ::LocalBrowserLaunchOptions ,
167- Stagehand ::Internal ::AnyHash
168- )
169- end
170-
171- sig { returns ( T . nilable ( T ::Boolean ) ) }
172- attr_reader :headless
173-
174- sig { params ( headless : T ::Boolean ) . void }
175- attr_writer :headless
176-
177- # Options for local browser launch
178- sig { params ( headless : T ::Boolean ) . returns ( T . attached_class ) }
179- def self . new ( headless : nil )
180- end
181-
182- sig { override . returns ( { headless : T ::Boolean } ) }
183- def to_hash
184- end
185- end
186104 end
187105 end
188106end
0 commit comments