import type { Router } from '@cortex/llm'; import { type SQLiteStore, type VectorStore } from '@cortex/graph'; export interface PipelineOptions { projectId: string; projectName: string; projectRoot: string; maxFileSize: number; batchSize: number; projectPrivacyLevel: 'standard' | 'sensitive' | 'restricted'; mergeConfidenceThreshold: number; secretPatterns?: string[]; } export interface PipelineResult { fileId: string; entityIds: string[]; relationshipIds: string[]; status: 'ingested' | 'failed' | 'skipped'; error?: string; } export declare class IngestionPipeline { private router; private store; private options; private vectorStore?; private checkedContradictionPairs; private compiledSecretPatterns; constructor(router: Router, store: SQLiteStore, options: PipelineOptions, vectorStore?: VectorStore); /** * Scrub secrets from content before sending to cloud LLMs. * Only applied for standard privacy (sensitive/restricted use local provider). */ private scrubSecrets; ingestFile(filePath: string): Promise; private extractEntities; private inferRelationships; /** * Generate and store semantic embeddings for the given entities. Best-effort: failures * are logged but never fail ingestion. Skipped when no vector store / embedding provider * is configured, or for non-standard privacy projects (whose content must not reach the cloud). */ private indexEmbeddings; private deduplicateEntities; } //# sourceMappingURL=pipeline.d.ts.map