/** * TripwireEvaluator - Standalone health-check utility * * Evaluates blocking conditions against LLM response data to detect * runtime issues such as empty responses, high latency, max tokens hit, * and repetition loops. * * This module has no dependency on the processor pipeline system and can * be used independently. * * @module utils/tripwireEvaluator */ import type { TripwireData, TripwireConfig, TripwireResult } from "../types/index.js"; /** * Manages and evaluates tripwire conditions against LLM response data. * * @example * ```typescript * const evaluator = createDefaultTripwireEvaluator(); * * const result = evaluator.evaluate({ * responseText: "", * latencyMs: 45000, * finishReason: "length", * }); * * if (result.triggered && result.action === "abort") { * throw new Error(result.message); * } * ``` */ export declare class TripwireEvaluator { private tripwires; /** * Register a tripwire. Replaces any existing tripwire with the same id. */ register(tripwire: TripwireConfig): void; /** * Remove a registered tripwire by id. * @returns true if the tripwire was found and removed, false otherwise. */ unregister(id: string): boolean; /** * Evaluate all tripwires and return the highest-priority triggered result. * * Priority order: "abort" > "warn" > "log" * * Bug fix (C1): The original implementation returned on the FIRST triggered * tripwire regardless of action, which meant a "warn" registered before an * "abort" would mask the abort. This implementation evaluates ALL tripwires * and promotes the highest-severity action. */ evaluate(data: TripwireData): TripwireResult; /** * Evaluate all tripwires and return every triggered result. */ evaluateAll(data: TripwireData): TripwireResult[]; /** * Return a shallow copy of all registered tripwires. */ getTripwires(): TripwireConfig[]; } /** * All built-in tripwires in default registration order. * * Registration order does not affect priority — `evaluate()` always promotes * the highest-severity action ("abort" > "warn" > "log"). */ export declare const commonTripwires: TripwireConfig[]; /** * Create a TripwireEvaluator pre-loaded with all built-in tripwires. */ export declare function createDefaultTripwireEvaluator(): TripwireEvaluator;