UNPKG

@tehreet/conduit

Version:

LLM API gateway with intelligent routing, robust process management, and health monitoring

82 lines 2.01 kB
import { EventEmitter } from 'events'; import { ConduitConfig, RoutingContext, RoutingDecision, ProviderConfig, RoutingRule } from '../types'; import { PluginManager } from '../plugins/EnhancedPluginManager'; /** * Standalone routing engine for Conduit */ export declare class ConduitRouter extends EventEmitter { private config; private pluginManager; private providers; private isInitialized; constructor(config: ConduitConfig, pluginManager?: PluginManager); /** * Initialize the router */ initialize(): Promise<void>; /** * Route a request and return routing decision */ route(context: RoutingContext): Promise<RoutingDecision>; /** * Evaluate custom routing rules */ private evaluateCustomRules; /** * Evaluate a single routing rule */ private evaluateRule; /** * Evaluate legacy string condition */ private evaluateStringCondition; /** * Evaluate structured condition */ private evaluateCondition; /** * Check if provider is available for a model */ private isProviderAvailable; /** * Update router configuration */ updateConfig(config: ConduitConfig): Promise<void>; /** * Get current configuration */ getConfig(): ConduitConfig; /** * Get available providers */ getProviders(): ProviderConfig[]; /** * Get routing rules */ getRoutingRules(): RoutingRule[]; /** * Add a routing rule */ addRoutingRule(rule: RoutingRule): void; /** * Remove a routing rule */ removeRoutingRule(ruleId: string): boolean; /** * Get plugin manager */ getPluginManager(): PluginManager; /** * Check if router is initialized */ isReady(): boolean; /** * Get router statistics */ getStats(): any; /** * Cleanup resources */ cleanup(): Promise<void>; } //# sourceMappingURL=ConduitRouter.d.ts.map