/** * FailureClassifier — converts integration failures into check proposals. * * Uses a single LLM call per failure to propose a deterministic check definition. * Validates the proposed strategy (regex compiles, globs are valid) before returning. * Returns null if the failure duplicates an existing check. */ import type { IntegrationCheck, IntegrationCheckDefinition } from './types.js'; export declare class FailureClassifier { private readonly model; constructor(opts?: { model?: string; }); /** * Classify a single integration failure into a check proposal. * Returns null if it duplicates an existing check or classification fails. */ classify(failure: IntegrationCheck, projectPath: string, existingChecks: IntegrationCheckDefinition[]): Promise; /** * Check if a failure is already covered by an existing check definition. * Compares by check type — if an existing definition targets the same * failure type, we consider it a duplicate. */ private isDuplicate; /** * Propose a check strategy based on the failure. * This is the single LLM call — it asks Claude to produce a CheckStrategy JSON. */ private proposeStrategy; /** * Heuristic-based classification — deterministic, no LLM needed. * Covers the known failure patterns; returns null for unknown patterns * (which can later be handled by an LLM call). */ private heuristicClassify; /** Validate that a proposed strategy has valid patterns. */ private validateStrategy; /** Derive an evidence template from the failure's evidence string. */ private deriveEvidenceTemplate; }