@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, and professional CLI. Built-in tools operational, 58+ external MCP servers discoverable. Connect to filesystem, GitHub, database operations, and more. Build, test, and
79 lines (78 loc) • 2.32 kB
TypeScript
import type { LanguageModelV1Middleware } from "ai";
import type { NeuroLinkMiddleware, MiddlewareConfig, MiddlewareContext, MiddlewareRegistrationOptions, MiddlewareExecutionResult } from "./types.js";
/**
* Global middleware registry for NeuroLink
* Manages registration, configuration, and execution of middleware
*/
export declare class MiddlewareRegistry {
private middleware;
private globalConfigs;
private executionStats;
/**
* Register a middleware
*/
register(middleware: NeuroLinkMiddleware, options?: MiddlewareRegistrationOptions): void;
/**
* Unregister a middleware
*/
unregister(middlewareId: string): boolean;
/**
* Get a registered middleware
*/
get(middlewareId: string): NeuroLinkMiddleware | undefined;
/**
* List all registered middleware
*/
list(): NeuroLinkMiddleware[];
/**
* Get middleware IDs sorted by priority
*/
getSortedIds(): string[];
/**
* Build middleware chain based on configuration
*/
buildChain(context: MiddlewareContext, config?: Record<string, MiddlewareConfig>): LanguageModelV1Middleware[];
/**
* Determine if middleware should be applied based on conditions
*/
private shouldApplyMiddleware;
/**
* Configure middleware with runtime configuration
*/
private configureMiddleware;
/**
* Record middleware execution statistics
*/
private recordExecution;
/**
* Get execution statistics for a middleware
*/
getExecutionStats(middlewareId: string): MiddlewareExecutionResult[];
/**
* Get aggregated statistics for all middleware
*/
getAggregatedStats(): Record<string, {
totalExecutions: number;
successfulExecutions: number;
failedExecutions: number;
averageExecutionTime: number;
lastExecutionTime: number;
}>;
/**
* Clear execution statistics
*/
clearStats(middlewareId?: string): void;
/**
* Check if a middleware is registered
*/
has(middlewareId: string): boolean;
/**
* Get the number of registered middleware
*/
size(): number;
/**
* Clear all registered middleware
*/
clear(): void;
}
export declare const middlewareRegistry: MiddlewareRegistry;