@@ -11,6 +11,7 @@ const rawArgs = process.argv.slice(2);
11
11
const parsedArgs : {
12
12
evalName ?: string ;
13
13
env ?: string ;
14
+ api ?: string ;
14
15
trials ?: number ;
15
16
concurrency ?: number ;
16
17
provider ?: string ;
@@ -22,6 +23,8 @@ const parsedArgs: {
22
23
for ( const arg of rawArgs ) {
23
24
if ( arg . startsWith ( "env=" ) ) {
24
25
parsedArgs . env = arg . split ( "=" ) [ 1 ] ?. toLowerCase ( ) ;
26
+ } else if ( arg . startsWith ( "api=" ) ) {
27
+ parsedArgs . api = arg . split ( "=" ) [ 1 ] ?. toLowerCase ( ) ;
25
28
} else if ( arg . startsWith ( "name=" ) ) {
26
29
parsedArgs . evalName = arg . split ( "=" ) [ 1 ] ;
27
30
} else if ( arg . startsWith ( "trials=" ) ) {
@@ -48,6 +51,12 @@ if (parsedArgs.env === "browserbase") {
48
51
process . env . EVAL_ENV = "LOCAL" ;
49
52
}
50
53
54
+ if ( parsedArgs . api === "true" ) {
55
+ process . env . USE_API = "true" ;
56
+ } else if ( parsedArgs . api === "false" ) {
57
+ process . env . USE_API = "false" ;
58
+ }
59
+
51
60
if ( parsedArgs . trials !== undefined ) {
52
61
process . env . EVAL_TRIAL_COUNT = String ( parsedArgs . trials ) ;
53
62
}
@@ -80,22 +89,21 @@ function buildUsage(detailed = false): string {
80
89
81
90
const body = dedent `
82
91
${ chalk . magenta . underline ( "Keys\n" ) }
83
- ${ chalk . cyan ( "env" ) } target environment (default ${ chalk . dim (
84
- "LOCAL" ,
85
- ) } ) [${ chalk . yellow ( "LOCAL" ) } , ${ chalk . yellow ( "BROWSERBASE" ) } ]
86
- ${ chalk . cyan ( "trials" ) } number of trials (default ${ chalk . dim (
87
- "10" ,
88
- ) } )
89
- ${ chalk . cyan (
90
- "concurrency" ,
91
- ) } max parallel sessions (default ${ chalk . dim ( "10" ) } )
92
- ${ chalk . cyan ( "provider" ) } override LLM provider (default ${ chalk . dim (
93
- providerDefault ,
94
- ) } ) [${ chalk . yellow ( "OPENAI" ) } , ${ chalk . yellow (
95
- "ANTHROPIC" ,
96
- ) } , ${ chalk . yellow ( "GOOGLE" ) } , ${ chalk . yellow ( "TOGETHER" ) } , ${ chalk . yellow (
97
- "GROQ" ,
98
- ) } , ${ chalk . yellow ( "CEREBRAS" ) } ]
92
+ ${ chalk . cyan ( "env" . padEnd ( 12 ) ) } ${ "target environment" . padEnd ( 24 ) }
93
+ (default ${ chalk . dim ( "LOCAL" ) } ) [${ chalk . yellow ( "BROWSERBASE" ) } , ${ chalk . yellow ( "LOCAL" ) } ] ${ chalk . gray ( "← LOCAL sets api=false" ) }
94
+
95
+ ${ chalk . cyan ( "api" . padEnd ( 12 ) ) } ${ "use the Stagehand API" . padEnd ( 24 ) }
96
+ (default ${ chalk . dim ( "false" ) } ) [${ chalk . yellow ( "true" ) } , ${ chalk . yellow ( "false" ) } ]
97
+
98
+ ${ chalk . cyan ( "trials" . padEnd ( 12 ) ) } ${ "number of trials" . padEnd ( 24 ) }
99
+ (default ${ chalk . dim ( "10" ) } )
100
+
101
+ ${ chalk . cyan ( "concurrency" . padEnd ( 12 ) ) } ${ "max parallel sessions" . padEnd ( 24 ) }
102
+ (default ${ chalk . dim ( "10" ) } )
103
+
104
+ ${ chalk . cyan ( "provider" . padEnd ( 12 ) ) } ${ "override LLM provider" . padEnd ( 24 ) }
105
+ (default ${ chalk . dim ( providerDefault ) } ) [${ chalk . yellow ( "OPENAI" ) } , ${ chalk . yellow ( "ANTHROPIC" ) } , ${ chalk . yellow ( "GOOGLE" ) } , ${ chalk . yellow ( "TOGETHER" ) } , ${ chalk . yellow ( "GROQ" ) } , ${ chalk . yellow ( "CEREBRAS" ) } ]
106
+
99
107
100
108
${ chalk . magenta . underline ( "Positional filters\n" ) }
101
109
category <category_name> one of: ${ DEFAULT_EVAL_CATEGORIES . map ( ( c ) =>
@@ -114,6 +122,13 @@ function buildUsage(detailed = false): string {
114
122
${ chalk . green ( "pnpm run evals" ) } ${ chalk . cyan ( "env=" ) } ${ chalk . yellow ( "BROWSERBASE" ) } ${ chalk . cyan (
115
123
"trials=" ,
116
124
) } ${ chalk . yellow ( "3" ) }
125
+
126
+
127
+ ${ chalk . dim ( "# Run evals using the Stagehand API" ) }
128
+
129
+ ${ chalk . green ( "pnpm run evals" ) } ${ chalk . cyan ( "env=" ) } ${ chalk . yellow ( "BROWSERBASE" ) } ${ chalk . cyan (
130
+ "api=" ,
131
+ ) } ${ chalk . yellow ( "true" ) }
117
132
118
133
119
134
${ chalk . dim (
@@ -144,6 +159,8 @@ function buildUsage(detailed = false): string {
144
159
EVAL_MAX_CONCURRENCY overridable via ${ chalk . cyan ( "concurrency=" ) }
145
160
146
161
EVAL_PROVIDER overridable via ${ chalk . cyan ( "provider=" ) }
162
+
163
+ USE_API overridable via ${ chalk . cyan ( "api=true" ) }
147
164
` ;
148
165
149
166
return `${ header } \n\n${ synopsis } \n\n${ body } \n${ envSection } \n` ;
0 commit comments