summaryrefslogtreecommitdiff
path: root/internal/cli/run.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/cli/run.go')
-rw-r--r--internal/cli/run.go22
1 files changed, 16 insertions, 6 deletions
diff --git a/internal/cli/run.go b/internal/cli/run.go
index ebf371c..49aa28e 100644
--- a/internal/cli/run.go
+++ b/internal/cli/run.go
@@ -54,7 +54,7 @@ func runTasks(file string, parallel int, dryRun bool) error {
if dryRun {
fmt.Printf("Validated %d task(s) successfully.\n", len(tasks))
for _, t := range tasks {
- fmt.Printf(" - %s (model: %s, timeout: %v)\n", t.Name, t.Claude.Model, t.Timeout.Duration)
+ fmt.Printf(" - %s (model: %s, timeout: %v)\n", t.Name, t.Agent.Model, t.Timeout.Duration)
}
return nil
}
@@ -72,12 +72,22 @@ func runTasks(file string, parallel int, dryRun bool) error {
logger := newLogger(verbose)
- runner := &executor.ClaudeRunner{
- BinaryPath: cfg.ClaudeBinaryPath,
- Logger: logger,
- LogDir: cfg.LogDir,
+ runners := map[string]executor.Runner{
+ "claude": &executor.ClaudeRunner{
+ BinaryPath: cfg.ClaudeBinaryPath,
+ Logger: logger,
+ LogDir: cfg.LogDir,
+ },
+ "gemini": &executor.GeminiRunner{
+ BinaryPath: cfg.GeminiBinaryPath,
+ Logger: logger,
+ LogDir: cfg.LogDir,
+ },
+ }
+ pool := executor.NewPool(parallel, runners, store, logger)
+ if cfg.GeminiBinaryPath != "" {
+ pool.Classifier = &executor.Classifier{GeminiBinaryPath: cfg.GeminiBinaryPath}
}
- pool := executor.NewPool(parallel, runner, store, logger)
// Handle graceful shutdown.
ctx, cancel := context.WithCancel(context.Background())