UNPKG

@juspay/neurolink

Version:

Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio

68 lines (67 loc) 2.35 kB
/** * Chunker Registry * * Central registry for all chunking strategies following NeuroLink's registry pattern. * Provides factory methods for creating chunker instances. */ import type { Chunker, ChunkingStrategy } from "../../types/index.js"; /** * Registry for chunking strategies * Follows NeuroLink's factory pattern with lazy initialization */ export declare class ChunkerRegistry { private static chunkers; private static initialized; /** * Initialize all built-in chunkers */ static initialize(): void; /** * Register a custom chunker * @param strategy - Strategy name * @param factory - Factory function that creates chunker instance */ static register(strategy: ChunkingStrategy, factory: () => Chunker): void; /** * Get a chunker by strategy name * @param strategy - Chunking strategy name * @returns Chunker instance * @throws Error if strategy is not registered */ static get(strategy: ChunkingStrategy): Chunker; /** * Get all available chunking strategies * @returns Array of strategy names */ static getAvailableStrategies(): ChunkingStrategy[]; /** * Check if a strategy is registered * @param strategy - Strategy name to check * @returns True if strategy is registered */ static has(strategy: ChunkingStrategy): boolean; /** * Get strategy recommendation based on content type * @param contentType - Document type or MIME type * @returns Recommended chunking strategy */ static getRecommendedStrategy(contentType: string): ChunkingStrategy; /** * Get default configuration for a strategy * @param strategy - Chunking strategy * @returns Default configuration object */ static getDefaultConfig(strategy: ChunkingStrategy): Record<string, unknown>; /** * Reset the registry (useful for testing) */ static reset(): void; } /** * Convenience function to chunk text with a given strategy * @param text - Text to chunk * @param strategy - Chunking strategy (default: "recursive") * @param config - Strategy-specific configuration * @returns Array of chunks */ export declare function chunkText(text: string, strategy?: ChunkingStrategy, config?: Record<string, unknown>): Promise<import("../index.js").Chunk[]>;