309fc7b42b
When ParallelToolCalls is enabled in AgentConfig and the LLM returns 2+ tool calls, execute them concurrently via errgroup. Results are collected in original order for deterministic observe-phase behavior. Sequential execution remains the default. Parallel mode is opt-in per agent configuration to avoid side effects with stateful tools. Refactors executeToolCalls into composable helpers (runToolCall, executeSingleToolCall, executeToolCallsParallel) for testability. Fixes #707