/** * Audit domain — inspect, baseline, suite. * * Three read-side tools cover the full hygiene-reporting surface: * * - `audit_inspect` — discriminated `{ verb }` entry that lists * available audits, runs one (or `all`) in-process, captures a * history snapshot, lists captured snapshots, or diffs two * snapshots. The single tool replaces five CLI verbs so agents * don't need to memorize a half-dozen names; the verb discriminator * keeps each call's inputs scoped. * * - `audit_baseline` — discriminated `{ verb }` entry for the per-env * baseline file at `.scai/audit-baseline-.json`. Show is * free; `update`, `remove`, and `reset` mutate the local baseline * file (not the tenant), and are write-gated so the host's * confirmation UX kicks in before any baseline change. * * - `audit_suite_run` — load + execute a YAML suite file. Read-side * by definition (suites themselves can't mutate the tenant), but * can resolve `baseline=true` if the suite says so. * * Every audit run delegates to the CLI-shared `runAudit*` task; this * MCP layer only forwards routing + the structured-content envelope. */ import type { McpRegistry } from "../registry.js"; /** * Loose-typed runner shape — the dispatch path hands every runner a * `Record` option bag because the MCP boundary doesn't * know the per-audit option type at compile time. */ type LoosedRunner = (options: Record) => Promise; /** * Routing table for `audit_inspect` verb=run. The list mirrors * `AUDIT_REGISTRY` in `src/hygiene/tasks/audit/all.ts` — the * `cli-mcp-parity.test.ts` routing-table test asserts the two stay in * lockstep, so it is exported for that test. */ export declare const SINGLE_AUDIT_RUNNERS: Record; export declare const registerAuditTools: (registry: McpRegistry) => void; export {};