diff options
| author | Peter Stone <thepeterstone@gmail.com> | 2026-05-13 04:02:20 +0000 |
|---|---|---|
| committer | Peter Stone <thepeterstone@gmail.com> | 2026-05-13 04:02:20 +0000 |
| commit | 68399a598924775a3ec22a39c2336ae497fb07f3 (patch) | |
| tree | 29ade8224eb51eca47a1d9d03bb4d0d3653a72aa /internal/cli/run.go | |
| parent | f01231cc45f41ce2dc37072e77428e467ef3fc15 (diff) | |
| parent | d970c0730ff0dc7d714d3261197d8ba52b5d21f4 (diff) | |
Merges 12 commits from github/main (formerly master) that were developed
independently. Key additions:
- LocalRunner: OpenAI-compatible local LLM execution (Ollama, LM Studio)
- Real GeminiRunner with full sandbox parity to ClaudeRunner
- llm.Client for enriching CI failures and elaboration via local model
- retry.ParseRetryAfter moved to shared package
- tokens_in/tokens_out columns in executions table
Conflict resolutions:
- Kept local main's VAPID/push, stories, projects, agent events schema
- Merged both sets of Config fields (local + LocalModel from github/main)
- Unified activePerAgent accounting (decActiveAgent helper)
- Removed duplicate helpers from claude.go (now in helpers.go)
- Fixed double-decrement bug in handleRunResult vs decActiveAgent
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'internal/cli/run.go')
| -rw-r--r-- | internal/cli/run.go | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/internal/cli/run.go b/internal/cli/run.go index cfac893..48f34b7 100644 --- a/internal/cli/run.go +++ b/internal/cli/run.go @@ -100,9 +100,24 @@ func runTasks(file string, parallel int, dryRun bool) error { }, } + localClient := buildLocalLLMClient(cfg.LocalModel, logger) + if localClient != nil { + runners["local"] = &executor.LocalRunner{ + Client: localClient, + Logger: logger, + LogDir: cfg.LogDir, + DefaultTemperature: cfg.LocalModel.DefaultTemperature, + } + } + + pool := executor.NewPool(parallel, runners, store, logger) - if cfg.GeminiBinaryPath != "" { - pool.Classifier = &executor.Classifier{GeminiBinaryPath: cfg.GeminiBinaryPath} + pool.Classifier = &executor.Classifier{ + LLM: localClient, + GeminiBinaryPath: cfg.GeminiBinaryPath, + } + if localClient != nil { + pool.LLM = localClient } // Handle graceful shutdown. |
