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

90 lines (89 loc) 2.55 kB
import type { DynamicModelConfig as ModelConfig } from "../types/index.js"; /** * Dynamic Model Provider * Loads and manages model configurations from external sources */ export declare class DynamicModelProvider { private static instance; private modelRegistry; private lastFetch; private readonly CACHE_DURATION; private constructor(); static getInstance(): DynamicModelProvider; /** * Initialize the model registry from multiple sources with timeout handling * Addresses hanging issues when localhost:3001 is not running or GitHub URLs timeout */ initialize(): Promise<void>; /** * Load configuration from a source with timeout handling * Prevents hanging when local servers are down or network requests timeout */ private loadFromSourceWithTimeout; /** * Quick health check for localhost endpoints * Prevents hanging on non-responsive local servers */ private healthCheckLocalhost; /** * Get all available models for a provider */ getModelsForProvider(provider: string): Record<string, ModelConfig>; /** * Resolve a model by provider and model hint */ resolveModel(provider: string, modelHint?: string): ModelConfig | null; /** * Search models by capabilities */ searchByCapability(capability: string, options?: { provider?: string; maxPrice?: number; excludeDeprecated?: boolean; }): Array<{ provider: string; model: string; config: ModelConfig; }>; /** * Get the best model for a specific use case */ getBestModelFor(useCase: "coding" | "analysis" | "vision" | "fastest" | "cheapest"): { provider: string; model: string; config: ModelConfig; } | null; /** * Get all models across all providers */ getAllModels(): Array<{ provider: string; model: string; config: ModelConfig; }>; /** * Get total number of models */ getTotalModelCount(): number; /** * Check if cache needs refresh */ needsRefresh(): boolean; /** * Force refresh the model registry */ refresh(): Promise<void>; /** * Ensure the registry is initialized */ private ensureInitialized; /** * Get registry metadata */ getMetadata(): { version: string; lastUpdated: string; modelCount: number; } | null; } export declare const dynamicModelProvider: DynamicModelProvider;