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