import { IndexDatabase } from '../db/database-facade.js'; import type { DirtyLayer } from '../db/schema.js'; export type EnrichmentMode = 'none' | 'incremental' | 'full'; export interface EnrichmentContext { dbPath: string; model: string; unassignedCount: number; hasModules: boolean; verbose: boolean; } export interface EnrichmentStep { name: string; layer?: DirtyLayer; skip?: (ctx: EnrichmentContext, db: IndexDatabase) => boolean; run: (ctx: EnrichmentContext, llmFlags: string[], db: IndexDatabase) => Promise; } /** * Unified enrichment pipeline for incremental and full enrichment. * Eliminates duplicate try/catch blocks by defining steps as data. */ export declare class EnrichmentPipeline { private logger; private warnings; constructor(logger: (msg: string) => void); /** * Run enrichment based on mode. */ run(mode: EnrichmentMode, ctx: EnrichmentContext): Promise; /** * Run incremental enrichment with layer-by-layer dirty checking. */ private runIncrementalEnrichment; /** * Run full enrichment with --force on all commands. */ private runFullEnrichment; /** * Execute a single enrichment step with error handling. */ private executeStep; /** * Build incremental enrichment steps. */ private buildIncrementalSteps; /** * Build full enrichment steps. */ private buildFullSteps; /** * Delete purpose/domain/pure metadata and relationship annotations * for definitions that were modified (not just added). */ private cleanStaleAnnotations; /** * Drain all dirty entries across all layers. */ private drainAllLayers; /** * Check if a layer has dirty entries and should be processed. */ private shouldRunLayer; /** * Finish enrichment: log completion and return warnings. */ private finish; /** * Get collected warnings. */ getWarnings(): string[]; } //# sourceMappingURL=enrichment-pipeline.d.ts.map