/** * Optimized batch processor with cross-file batching * Much faster than original by reducing API overhead */ import type { CodeParser } from '../parser/index.js'; import type { EmbeddingProvider } from '../embeddings/base.js'; import type { Storage } from '../storage/index.js'; import type { FileIndexingResult, BatchIndexingResult } from './types.js'; export interface OptimizedBatchProcessorOptions { basePath: string; collectionName: string; concurrency?: number; batchSize?: number; crossFileBatchSize?: number; } /** * Optimized processor that batches embeddings and storage across files */ export declare class OptimizedBatchProcessor { private parser; private storage; private options; private concurrency; private batchSize; private crossFileBatcher; constructor(parser: CodeParser, embedder: EmbeddingProvider, storage: Storage, options: OptimizedBatchProcessorOptions); /** * Process a single file - parse and add to cross-file batch */ processFile(file: string): Promise; /** * Process multiple files with concurrency control */ processBatch(files: string[]): Promise; /** * Process files in smaller chunks */ processChunked(files: string[]): Promise; /** * Delete indexed data for a file */ deleteFile(file: string): Promise; /** * Get batcher statistics */ getStats(): { concurrency: number; batchSize: number; pendingBlocks: number; pendingFiles: number; totalProcessed: number; filteredBlocks: number; enrichedBlocks: number; filterRate: number; }; } //# sourceMappingURL=optimized-batch-processor.d.ts.map