@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
TypeScript
/**
* 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[]>;