@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
66 lines (65 loc) • 2.04 kB
TypeScript
/**
* @file Scorer registry for managing scorer registration and discovery
* Follows NeuroLink's factory + registry pattern with dynamic imports
*/
import type { Scorer, ScorerCategory, ScorerConfig, ScorerFactory, ScorerMetadata, ScorerRegistryEntry, ScorerType } from "../../types/index.js";
/**
* Central registry for all scorers
* Manages registration, discovery, and instantiation
*/
export declare class ScorerRegistry {
private static scorers;
private static initialized;
private static initPromise;
/**
* Register a scorer with the registry
*/
static register(entry: ScorerRegistryEntry): void;
/**
* Register a scorer using a simple configuration
*/
static registerScorer(metadata: ScorerMetadata, factory: ScorerFactory, aliases?: string[]): void;
private static registerScorerDefinitions;
private static registerBuiltInLLMScorers;
private static registerBuiltInRuleScorers;
/**
* Register built-in scorers using dynamic imports
*/
static registerBuiltInScorers(): Promise<void>;
/**
* Get a scorer instance by ID
*/
static getScorer(scorerId: string, config?: ScorerConfig): Promise<Scorer | undefined>;
/**
* Get scorers by category
*/
static getScorersByCategory(category: ScorerCategory): ScorerRegistryEntry[];
/**
* Get scorers by type
*/
static getScorersByType(type: ScorerType): ScorerRegistryEntry[];
/**
* List all registered scorer metadata
*/
static list(): ScorerMetadata[];
/**
* Check if a scorer is registered
*/
static has(scorerId: string): boolean;
/**
* Unregister a scorer
*/
static unregister(scorerId: string): boolean;
/**
* Clear all registered scorers
*/
static clear(): void;
/**
* Ensure built-in scorers are initialized
*/
private static ensureInitialized;
/**
* Get the number of registered scorers (excluding aliases)
*/
static get size(): number;
}