/** * Universal Conventions Analyzer — Spec 12 R2. * * Reads mined conventions from the SQLite conventions table and flags * deviations at suggestion severity. All detection is cross-file (DB-based); * no per-AST processing is needed. * * Five rule IDs: * conventions/usage-pair — missing co-occurring function calls * conventions/import-form — minority import style * conventions/error-handling — wrong error-handling shape * conventions/export-shape — minority export style * conventions/naming — wrong casing convention */ import { UniversalAnalyzer } from '../../languages/UniversalAnalyzer.js'; import type { AnalyzerResult, ConventionsAnalyzerConfig } from '../../types.js'; export declare const DEFAULT_CONVENTIONS_CONFIG: ConventionsAnalyzerConfig; export declare class UniversalConventionsAnalyzer extends UniversalAnalyzer { readonly name = "conventions"; readonly description = "Mines codebase conventions and flags deviations at suggestion severity"; readonly category = "style"; /** * Full override: query conventions from the DB and emit violations per domain. * The base-class per-file AST loop is bypassed. */ analyze(files: string[], config?: any, options?: any): Promise; /** No-op — all detection is DB-based. */ analyzeAST(): Promise; /** * For each usage-pair convention (antecedent → consequent), find functions * that call the antecedent but NOT the consequent. */ private detectUsagePairViolations; /** * For each import-form convention (source → dominantForm in directory), * find imports of that source that use a minority form. */ private detectImportFormViolations; /** * For each error-handling convention, find functions in that directory * that have error handling but use a different shape. * * Functions with NO error handling are excluded — never flagged. */ private detectErrorHandlingViolations; /** * For each export-shape convention, find exported functions in that * directory that use a minority export form. */ private detectExportShapeViolations; /** * For each naming convention, find exported functions in that directory * that don't match the dominant casing. Non-Latin names are skipped * (Spec 21 R5.4). */ private detectNamingViolations; } //# sourceMappingURL=UniversalConventionsAnalyzer.d.ts.map