feat: add Mixture of Agents (MoA) for arbiter verdicts

When MOA_ENABLED=true, arbiter queries multiple LLM models in parallel
via OpenAI-compatible API, then an aggregator model synthesizes the
final verdict from all opinions. Falls back to single-agent arbiter
when MoA is disabled.

Config: MOA_BASE_URL, MOA_API_KEY, MOA_REFERENCE_MODELS, MOA_AGGREGATOR_MODEL
This commit is contained in:
Eyejoker
2026-03-31 00:20:41 +09:00
parent 35ba7cb5ba
commit f4b04d6c4d
6 changed files with 310 additions and 0 deletions

View File

@@ -23,6 +23,8 @@ vi.mock('./config.js', () => ({
isClaudeService: vi.fn(() => true),
isReviewService: vi.fn(() => false),
isSessionCommandSenderAllowed: vi.fn(() => false),
getMoaConfig: vi.fn(() => ({ enabled: false, referenceModels: [], aggregator: {} })),
TIMEZONE: 'Asia/Seoul',
}));
vi.mock('./paired-execution-context.js', () => ({