@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.79 kB
TypeScript
/**
* Chunker Registry
*
* Centralized registry for all chunking strategies with metadata
* and discovery capabilities. Follows the BaseRegistry pattern.
*/
import { BaseRegistry } from "../core/infrastructure/index.js";
import type { Chunker, ChunkerConfig, ChunkerMetadata, ChunkingStrategy } from "../types/index.js";
/**
* Chunker Registry
*
* Manages registration and discovery of all chunking strategies.
* Extends BaseRegistry for consistent lifecycle management.
*/
export declare class ChunkerRegistry extends BaseRegistry<Chunker, ChunkerMetadata> {
private static instance;
private aliasMap;
private constructor();
/**
* Get singleton instance
*/
static getInstance(): ChunkerRegistry;
/**
* Reset singleton (for testing)
*/
static resetInstance(): void;
/**
* Register all default chunkers
*/
protected registerAll(): Promise<void>;
/**
* Register a chunker with aliases
*/
registerChunker(strategy: ChunkingStrategy | string, factory: () => Promise<Chunker>, metadata: ChunkerMetadata): void;
/**
* Resolve strategy name from alias
*/
resolveStrategy(nameOrAlias: string): ChunkingStrategy;
/**
* Get a chunker by strategy name or alias
*/
getChunker(strategyOrAlias: string): Promise<Chunker>;
/**
* Get list of available chunker strategies
*/
getAvailableChunkers(): Promise<ChunkingStrategy[]>;
/**
* Get metadata for a specific chunker
*/
getChunkerMetadata(strategyOrAlias: string): ChunkerMetadata | undefined;
/**
* Get all aliases for a strategy
*/
getAliasesForStrategy(strategy: ChunkingStrategy): string[];
/**
* Get all registered aliases
*/
getAllAliases(): Map<string, ChunkingStrategy>;
/**
* Check if a strategy or alias exists
*/
hasChunker(strategyOrAlias: string): boolean;
/**
* Get chunkers by use case
*/
getChunkersByUseCase(useCase: string): ChunkingStrategy[];
/**
* Get default configuration for a chunker
*/
getDefaultConfig(strategyOrAlias: string): ChunkerConfig | undefined;
/**
* Clear the registry (also clears aliases)
*/
clear(): void;
}
/**
* Global chunker registry singleton
*/
export declare const chunkerRegistry: ChunkerRegistry;
/**
* Convenience function to get available chunkers
*/
export declare function getAvailableChunkers(): Promise<ChunkingStrategy[]>;
/**
* Convenience function to get chunker by strategy
*/
export declare function getChunker(strategyOrAlias: string): Promise<Chunker>;
/**
* Convenience function to get chunker metadata
*/
export declare function getChunkerMetadata(strategyOrAlias: string): ChunkerMetadata | undefined;