UNPKG

@juspay/neurolink

Version:

The pipe layer of an AI nervous system: one interface connecting provider neurons to your application, across three inference types — generate, stream and decide. `decide` returns typed, calibrated judgements from a non-generative model (~400ms, ~$0.00002

62 lines (61 loc) • 3.11 kB
import type { NeuroLink } from "../neurolink.js"; import type { AIProvider, SupportedModelName, NeurolinkCredentials, ProviderPairResult } from "../types/index.js"; import { AIProviderName } from "../constants/enums.js"; /** * Factory for creating AI provider instances with centralized configuration */ export declare class AIProviderFactory { /** * Normalize provider name using ProviderFactory */ private static normalizeProviderName; /** * Initialize dynamic model provider with timeout protection * Prevents hanging on non-responsive endpoints */ private static initializeDynamicProviderWithTimeout; /** * A provider whose descriptor declares `inferenceKinds` of exactly `["decide"]` * names its own model (its registered default reads its own variable), so a * chat provider's model variable has no claim on it. Exactly `["decide"]`: a * provider that also serves text keeps its chat-model fallbacks. */ private static isDecisionOnly; private static resolveModelFromEnvironment; private static resolveDynamicModelName; private static createResolvedProvider; /** * Create a provider instance for the specified provider type * @param providerName - Name of the provider ('vertex', 'bedrock', 'openai') * @param modelName - Optional model name override * @param enableMCP - Optional flag to enable MCP integration (default: true) * @param sdk - SDK instance * @param region - Optional region override for cloud providers * @returns AIProvider instance */ static createProvider(providerName: string, modelName?: string | null, enableMCP?: boolean, sdk?: NeuroLink, region?: string, credentials?: NeurolinkCredentials): Promise<AIProvider>; /** * Create a provider instance with specific provider enum and model * @param provider - Provider enum value * @param model - Specific model enum value * @returns AIProvider instance */ static createProviderWithModel(provider: AIProviderName, model: SupportedModelName): Promise<AIProvider>; /** * Create the best available provider automatically * @param requestedProvider - Optional preferred provider * @param modelName - Optional model name override * @param enableMCP - Optional flag to enable MCP integration (default: true) * @returns AIProvider instance */ static createBestProvider(requestedProvider?: string, modelName?: string | null, enableMCP?: boolean, sdk?: NeuroLink): Promise<AIProvider>; /** * Create primary and fallback provider instances * @param primaryProvider - Primary provider name * @param fallbackProvider - Fallback provider name * @param modelName - Optional model name override * @param enableMCP - Optional flag to enable MCP integration (default: true) * @returns Object with primary and fallback providers */ static createProviderWithFallback(primaryProvider: string, fallbackProvider: string, modelName?: string | null, enableMCP?: boolean): Promise<ProviderPairResult<AIProvider>>; }