UNPKG

@juspay/neurolink

Version:

The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002

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[]>;