@@ -7,7 +7,7 @@ import { useForm, FormProvider } from "react-hook-form"
77import { zodResolver } from "@hookform/resolvers/zod"
88import fuzzysort from "fuzzysort"
99import { toast } from "sonner"
10- import { X , Rocket , Check , ChevronsUpDown , HardDriveUpload , CircleCheck } from "lucide-react"
10+ import { X , Rocket , Check , ChevronsUpDown , HardDriveUpload , CircleCheck , Cpu } from "lucide-react"
1111
1212import { globalSettingsSchema , rooCodeDefaults } from "@evals/types"
1313
@@ -39,6 +39,7 @@ import {
3939 PopoverContent ,
4040 PopoverTrigger ,
4141 ScrollArea ,
42+ Slider ,
4243} from "@/components/ui"
4344
4445import { SettingsDiff } from "./settings-diff"
@@ -68,6 +69,7 @@ export function NewRun() {
6869 suite : "full" ,
6970 exercises : [ ] ,
7071 settings : undefined ,
72+ concurrency : 10 ,
7173 } ,
7274 } )
7375
@@ -79,7 +81,7 @@ export function NewRun() {
7981 formState : { isSubmitting } ,
8082 } = form
8183
82- const [ model , suite , settings ] = watch ( [ "model" , "suite" , "settings" ] )
84+ const [ model , suite , settings , concurrency ] = watch ( [ "model" , "suite" , "settings" , "concurrency "] )
8385
8486 const onSubmit = useCallback (
8587 async ( data : FormValues ) => {
@@ -280,6 +282,40 @@ export function NewRun() {
280282 ) }
281283 />
282284
285+ < FormField
286+ control = { form . control }
287+ name = "concurrency"
288+ render = { ( { field } ) => (
289+ < FormItem >
290+ < FormLabel className = "flex items-center gap-2" >
291+ < Cpu className = "size-4" />
292+ Concurrency
293+ </ FormLabel >
294+ < FormControl >
295+ < div className = "flex flex-col gap-2" >
296+ < Slider
297+ defaultValue = { [ field . value ] }
298+ min = { 1 }
299+ max = { 50 }
300+ step = { 1 }
301+ onValueChange = { ( value ) => field . onChange ( value [ 0 ] ) }
302+ />
303+ < div className = "flex justify-between text-xs text-muted-foreground" >
304+ < span > 1</ span >
305+ < span > { field . value } </ span >
306+ < span > 50</ span >
307+ </ div >
308+ </ div >
309+ </ FormControl >
310+ < FormDescription >
311+ Number of tasks to run in parallel. Higher values may improve speed but increase
312+ resource usage.
313+ </ FormDescription >
314+ < FormMessage />
315+ </ FormItem >
316+ ) }
317+ />
318+
283319 < FormField
284320 control = { form . control }
285321 name = "description"
0 commit comments