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

92 lines (91 loc) 2.92 kB
/** * Chunker Factory * * Factory for creating chunker instances with configuration. * Follows the BaseFactory pattern for consistent lifecycle management. */ import { BaseFactory } from "../core/infrastructure/index.js"; import type { Chunker, ChunkerConfig, ChunkerMetadata, ChunkingStrategy } from "../types/index.js"; /** * Chunker Factory * * Creates chunker instances based on strategy with configuration support. * Uses lazy loading via dynamic imports to avoid circular dependencies. */ export declare class ChunkerFactory extends BaseFactory<Chunker, ChunkerConfig> { private static instance; private metadataMap; private constructor(); /** * Get singleton instance */ static getInstance(): ChunkerFactory; /** * Reset singleton (for testing) */ static resetInstance(): void; /** * Register all default chunkers */ protected registerAll(): Promise<void>; /** * Register a chunker with metadata and aliases */ registerChunker(strategy: ChunkingStrategy | string, factory: (config?: ChunkerConfig) => Promise<Chunker>, metadata: ChunkerMetadata): void; /** * Create a chunker by strategy name or alias */ createChunker(strategyOrAlias: string, config?: ChunkerConfig): Promise<Chunker>; /** * Get metadata for a chunker */ getChunkerMetadata(strategyOrAlias: string): ChunkerMetadata | undefined; /** * Get default configuration for a chunker */ getDefaultConfig(strategyOrAlias: string): ChunkerConfig | undefined; /** * Get available chunking strategies (not including aliases) */ getAvailableStrategies(): Promise<ChunkingStrategy[]>; /** * Get all aliases mapped to their strategies */ getStrategyAliases(): Map<string, string>; /** * Check if a strategy exists */ hasStrategy(strategyOrAlias: string): boolean; /** * Get chunkers suitable for a use case */ getChunkersForUseCase(useCase: string): ChunkingStrategy[]; /** * Get all chunker metadata */ getAllMetadata(): Map<string, ChunkerMetadata>; /** * Clear factory and metadata */ clear(): void; } /** * Global chunker factory singleton */ export declare const chunkerFactory: ChunkerFactory; /** * Convenience function to create a chunker */ export declare function createChunker(strategyOrAlias: string, config?: ChunkerConfig): Promise<Chunker>; /** * Convenience function to get available strategies */ export declare function getAvailableStrategies(): Promise<ChunkingStrategy[]>; /** * Convenience function to get chunker metadata */ export declare function getChunkerMetadata(strategyOrAlias: string): ChunkerMetadata | undefined; /** * Convenience function to get default config */ export declare function getDefaultConfig(strategyOrAlias: string): ChunkerConfig | undefined;