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

70 lines (69 loc) • 2.48 kB
import type { MiddlewareContext, MiddlewareConfig, MiddlewareFactoryOptions, MiddlewareChainStats, MiddlewarePreset, NeuroLinkMiddleware, MiddlewareRegistrationOptions } from "../types/index.js"; import { MiddlewareRegistry } from "./registry.js"; import type { LanguageModel } from "../types/index.js"; /** * Middleware factory for creating and applying middleware chains. * Each factory instance manages its own registry and configuration. */ export declare class MiddlewareFactory { registry: MiddlewareRegistry; presets: Map<string, MiddlewarePreset>; private options; constructor(options?: MiddlewareFactoryOptions); /** * Initialize the factory with built-in middleware and presets */ private initialize; /** * Register a custom preset */ registerPreset(preset: MiddlewarePreset, replace?: boolean): void; /** * Register a custom middleware */ register(middleware: NeuroLinkMiddleware, options?: MiddlewareRegistrationOptions): void; /** * Apply middleware to a language model */ applyMiddleware(model: LanguageModel, context: MiddlewareContext, options?: MiddlewareFactoryOptions): LanguageModel; private getCreator; /** * Build middleware configuration from factory options */ private buildMiddlewareConfig; /** * Get preset configuration */ private getPresetConfig; /** * Create middleware context from provider and options */ createContext(provider: string, model: string, options?: Record<string, unknown>, session?: { sessionId?: string; userId?: string; }): MiddlewareContext; /** * Validate middleware configuration */ validateConfig(config: Record<string, MiddlewareConfig>): { isValid: boolean; errors: string[]; warnings: string[]; }; /** * Get available presets */ getAvailablePresets(): Array<{ name: string; description: string; middleware: string[]; }>; /** * Get middleware chain statistics */ getChainStats(context: MiddlewareContext, config: Record<string, MiddlewareConfig>): MiddlewareChainStats; /** * Create a middleware-enabled model factory function */ createModelFactory(baseModelFactory: () => Promise<LanguageModel>, defaultOptions?: MiddlewareFactoryOptions): (context: MiddlewareContext, options?: MiddlewareFactoryOptions) => Promise<LanguageModel>; }