@@ -37,6 +37,7 @@ program
3737 String ( cfg . testTimeout ) ,
3838 )
3939 . option ( "--timeout <seconds>" , "Timeout per agent in seconds" , String ( cfg . timeout ) )
40+ . option ( "--no-timeout" , "Disable agent timeout entirely" )
4041 . option ( "--model <model>" , "Claude model to use" , cfg . model )
4142 . option ( "-r, --runner <name>" , "AI coding tool to use" , cfg . runner )
4243 . option (
@@ -46,7 +47,7 @@ program
4647 )
4748 . option ( "--scoring <method>" , "Scoring method: copeland (default) or weighted" , "copeland" )
4849 . option ( "--no-color" , "Disable colored output" )
49- . option ( "--output-format <format>" , "Output format: text (default) or json " , "text" )
50+ . option ( "--output-format <format>" , "Output format: text (default), json, or diff " , "text" )
5051 . option ( "--verbose" , "Show detailed output from each agent" )
5152 . option ( "--whitespace-insensitive" , "Ignore whitespace differences in convergence comparison" )
5253 . option ( "--retry" , "Re-run only failed/timed-out agents from the last run" )
@@ -57,8 +58,9 @@ program
5758 process . exit ( 1 ) ;
5859 }
5960
60- const timeout = parseInt ( opts . timeout , 10 ) ;
61- if ( Number . isNaN ( timeout ) || timeout < 10 || timeout > 1800 ) {
61+ // --no-timeout: commander sets opts.timeout to false
62+ const timeout = opts . timeout === false ? 0 : parseInt ( opts . timeout , 10 ) ;
63+ if ( opts . timeout !== false && ( Number . isNaN ( timeout ) || timeout < 10 || timeout > 1800 ) ) {
6264 console . error ( "Error: --timeout must be a number between 10 and 1800 seconds" ) ;
6365 process . exit ( 1 ) ;
6466 }
@@ -80,7 +82,7 @@ program
8082 process . env . NO_COLOR = "1" ;
8183 }
8284
83- const validFormats = [ "text" , "json" ] ;
85+ const validFormats = [ "text" , "json" , "diff" ] ;
8486 if ( ! validFormats . includes ( opts . outputFormat ) ) {
8587 console . error ( `Error: --output-format must be one of: ${ validFormats . join ( ", " ) } ` ) ;
8688 process . exit ( 1 ) ;
0 commit comments