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

70 lines (69 loc) 2.47 kB
import type { LanguageModel } from "ai"; import type { MiddlewareContext, MiddlewareConfig, MiddlewareFactoryOptions, MiddlewareChainStats, MiddlewarePreset, NeuroLinkMiddleware, MiddlewareRegistrationOptions } from "../types/index.js"; import { MiddlewareRegistry } from "./registry.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>; }