import type { HookTestResult, HookTestSummary } from '../hook/test-runner.js'; /** * `totem hook test [--filter ]` — run fixture-based verification for * compiled bot-pack hooks (ADR-104 § Convergence). * * Loads `surface: hooks` fixtures from `.totem/tests/`, evaluates each * against the matching compiled hook, and reports per-line failures so * authors can iterate on specific payloads. The runner is deterministic * Node.js — no LLM calls — mirroring the `totem hook run` contract. * * `--filter ` matches against hook id (case-insensitive substring). */ export interface HookTestCommandOptions { filter?: string; } /** * Apply `--filter` to a hook-test summary, failing loud when the filter * matches nothing despite fixtures being present. Pure helper extracted * from `hookTestCommand` so the filter contract is unit-testable without * driving the command end-to-end through `process.cwd()` + `loadConfig`. * * Returns the filtered result slice when the filter matches (or is absent). * Throws TEST_FAILED when `--filter` is set, `summary.total > 0`, and the * filter matches no fixtures — a typoed filter must never look like a * successful zero-test run. */ export declare function applyFilter(summary: HookTestSummary, filter: string | undefined): HookTestResult[]; export declare function hookTestCommand(opts: HookTestCommandOptions): Promise; //# sourceMappingURL=hook-test.d.ts.map