/** * committee.ts — Multi-model debate UI for squeezr-code. * * Runs the same prompt against 2–3 providers in parallel (whichever are * authenticated). Each model's response is buffered, then displayed as it * completes — so the fastest model appears first. After all models finish, * an optional "judge" (claude-sonnet) synthesises the best answer. * * Unlike the classic REPL version (repl.ts), this version: * - Streams results live into the TUI output buffer * - Shows individual timing per model * - Runs a judge synthesis pass * - Works with the custom ANSI renderer (no console.log) */ import type { SqConfig } from '../config.js'; import type { OutputLine } from './tui-repl.js'; type AddLines = (...lines: OutputLine[]) => void; type MkLine = (kind: OutputLine['kind'], text: string) => OutputLine; export interface CommitteeResult { label: string; text: string; elapsedMs: number; error?: string; } /** * Run committee mode. Calls `addLines` live as each model finishes. * Returns the collected results so tui-repl can optionally run a judge pass. */ export declare function runCommitteeTui(opts: { prompt: string; authStatus: { anthropic: boolean; openai: boolean; google: boolean; }; config: SqConfig; cwd: string; addLines: AddLines; mkLine: MkLine; scheduleRedraw: () => void; /** If true, after all models respond, run claude-sonnet as judge to synthesise. */ withJudge?: boolean; }): Promise; export {}; //# sourceMappingURL=committee.d.ts.map