import type { BoberConfig } from "../config/schema.js"; import type { ContextHandoff } from "./context-handoff.js"; import type { EvalResult } from "../contracts/eval-result.js"; import type { EvaluationRunResult } from "../evaluators/registry.js"; export type { EvaluationRunResult } from "../evaluators/registry.js"; /** * Run the evaluator agent, combining programmatic evaluation (plugins) * with agent-based qualitative evaluation using tools. * * The evaluator agent can read files, run bash commands (tests, dev server, * screenshots), and search the codebase — but CANNOT write or edit files. * * @param handoff Context handoff for the current sprint. * @param projectRoot Absolute path to the project. * @param config The resolved bober configuration. * @returns A combined EvaluationRunResult. */ export declare function runEvaluatorAgent(handoff: ContextHandoff, projectRoot: string, config: BoberConfig): Promise; /** * Run the agent-based qualitative evaluation using a multi-turn agentic * loop with bash, read_file, glob, and grep tools. * * When panel.enabled is true and >=2 lenses are configured, fans out * one judge call per lens (bounded by maxConcurrent) and reconciles * via majority vote into a single evaluator='panel' EvalResult. * Otherwise runs the existing single judge call (byte-identical off path). * * The evaluator can run commands, take screenshots, inspect code, start * dev servers, and curl endpoints — but CANNOT write or edit files. */ /** * Side-effect-free lens-evaluation core. Runs the judge call(s) and returns the * per-lens verdicts — a single verdict when the panel is off, one per lens * (bounded concurrency) when on. Writes NOTHING to `.bober/` (no history append, * no reconcile), so the workflow interpreter's `evaluate` dep can call it while * the flusher remains the sole clock/commit source. The persisting wrapper * {@link runAgentEvaluation} layers the history append + reconcile on top for * the TS pipeline. */ export declare function evaluateLenses(handoff: ContextHandoff, programmaticResults: EvalResult[], projectRoot: string, config: BoberConfig): Promise; //# sourceMappingURL=evaluator-agent.d.ts.map