@tehreet/conduit
Version:
LLM API gateway with intelligent routing, robust process management, and health monitoring
82 lines • 2.01 kB
TypeScript
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