@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
120 lines (119 loc) • 3.46 kB
TypeScript
/**
* Reranker Registry
*
* Centralized registry for all reranker implementations with metadata
* and discovery capabilities. Follows the BaseRegistry pattern.
*/
import { BaseRegistry } from "../../core/infrastructure/index.js";
import type { Reranker, RerankerConfig, RerankerMetadata, RerankerType } from "../../types/index.js";
/**
* Reranker Registry
*
* Manages registration and discovery of all reranker implementations.
* Extends BaseRegistry for consistent lifecycle management.
*/
export declare class RerankerRegistry extends BaseRegistry<Reranker, RerankerMetadata> {
private static instance;
private aliasMap;
private constructor();
/**
* Get singleton instance
*/
static getInstance(): RerankerRegistry;
/**
* Reset singleton (for testing)
*/
static resetInstance(): void;
/**
* Register all built-in rerankers
*/
protected registerAll(): Promise<void>;
/**
* Create LLM reranker instance wrapper
*/
private createLLMRerankerInstance;
/**
* Create cross-encoder instance wrapper
*/
private createCrossEncoderInstance;
/**
* Create Cohere instance wrapper
*/
private createCohereInstance;
/**
* Create simple reranker instance wrapper
*/
private createSimpleRerankerInstance;
/**
* Create batch reranker instance wrapper
*/
private createBatchRerankerInstance;
/**
* Register a reranker with aliases
*/
registerReranker(type: RerankerType, factory: () => Promise<Reranker>, metadata: RerankerMetadata): void;
/**
* Resolve type from alias
*/
resolveType(nameOrAlias: string): RerankerType;
/**
* Get a reranker by type or alias
*/
getReranker(typeOrAlias: string): Promise<Reranker>;
/**
* Get list of available reranker types
*/
getAvailableRerankers(): Promise<RerankerType[]>;
/**
* Get metadata for a specific reranker
*/
getRerankerMetadata(typeOrAlias: string): RerankerMetadata | undefined;
/**
* Get all aliases for a type
*/
getAliasesForType(type: RerankerType): string[];
/**
* Get all registered aliases
*/
getAllAliases(): Map<string, RerankerType>;
/**
* Check if a type or alias exists
*/
hasReranker(typeOrAlias: string): boolean;
/**
* Get rerankers by use case
*/
getRerankersByUseCase(useCase: string): RerankerType[];
/**
* Get default configuration for a reranker
*/
getDefaultConfig(typeOrAlias: string): Partial<RerankerConfig> | undefined;
/**
* Get rerankers that don't require external APIs
*/
getLocalRerankers(): RerankerType[];
/**
* Get rerankers that don't require AI models
*/
getModelFreeRerankers(): RerankerType[];
/**
* Clear the registry (also clears aliases)
*/
clear(): void;
}
/**
* Global reranker registry singleton
*/
export declare const rerankerRegistry: RerankerRegistry;
/**
* Convenience function to get available rerankers
*/
export declare function getAvailableRerankers(): Promise<RerankerType[]>;
/**
* Convenience function to get reranker by type
*/
export declare function getReranker(typeOrAlias: string): Promise<Reranker>;
/**
* Convenience function to get reranker metadata
*/
export declare function getRegisteredRerankerMetadata(typeOrAlias: string): RerankerMetadata | undefined;