Tools annotated with "# ollie:parallel read" now run concurrently when the LLM issues multiple such calls in a single round, without needing an execute_code pipeline. - tools.ParallelClassifier interface; execute.Server implements it via IsParallelRead, which reads the tool script and checks the annotation - BuildAgentEnv wires IsParallelRead → AgentEnv.classifyTool → agentConfig.ClassifyTool (nil when execute server absent) - loop.go: consecutive parallel-safe calls are fanned out with a WaitGroup; results are collected in submission order; cancellation fills remaining calls with interrupted results; serial tools and batches of one skip the goroutine overhead Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| testdata/sandbox | ||
| code.go | ||
| execute_test.go | ||
| flock.go | ||
| pipe.go | ||
| server.go | ||
| tool.go | ||