@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
68 lines (67 loc) • 2.33 kB
JavaScript
/**
* NeuroLink Middleware System
*
* This module provides a comprehensive middleware system for NeuroLink that integrates
* with the AI SDK's wrapLanguageModel functionality. It allows for modular enhancement
* of language models with features like analytics, guardrails, caching, and more.
*/
import { middlewareRegistry } from "./registry.js";
import { MiddlewareFactory } from "./factory.js";
// Registry for managing middleware
export { MiddlewareRegistry, middlewareRegistry } from "./registry.js";
// Factory for creating and applying middleware chains
export { MiddlewareFactory } from "./factory.js";
// Re-export built-in middleware when they're implemented
// export { analyticsMiddleware } from './built-in/analytics.js';
// export { guardrailsMiddleware } from './built-in/guardrails.js';
// export { loggingMiddleware } from './built-in/logging.js';
// export { cachingMiddleware } from './built-in/caching.js';
// export { rateLimitMiddleware } from './built-in/rateLimit.js';
/**
* Convenience function to register a middleware
*/
export function registerMiddleware(middleware, options) {
middlewareRegistry.register(middleware, options);
}
/**
* Convenience function to unregister a middleware
*/
export function unregisterMiddleware(middlewareId) {
return middlewareRegistry.unregister(middlewareId);
}
/**
* Convenience function to get all registered middleware
*/
export function listMiddleware() {
return middlewareRegistry.list();
}
/**
* Convenience function to check if a middleware is registered
*/
export function hasMiddleware(middlewareId) {
return middlewareRegistry.has(middlewareId);
}
/**
* Convenience function to get middleware execution statistics
*/
export function getMiddlewareStats() {
return middlewareRegistry.getAggregatedStats();
}
/**
* Convenience function to clear middleware execution statistics
*/
export function clearMiddlewareStats(middlewareId) {
middlewareRegistry.clearStats(middlewareId);
}
/**
* Convenience function to get available middleware presets
*/
export function getAvailablePresets() {
return MiddlewareFactory.getAvailablePresets();
}
/**
* Convenience function to validate middleware configuration
*/
export function validateMiddlewareConfig(config) {
return MiddlewareFactory.validateConfig(config);
}