/** * @fileoverview SONARouter - Specialized Optimized Network Architecture Router * @module @skillsmith/core/routing/SONARouter * @see SMI-1521: SONA routing for MCP tool optimization * * Routes MCP tool requests through an 8-expert MoE (Mixture of Experts) * network to optimize tool execution based on accuracy requirements, * latency constraints, and load distribution. */ import type { ExpertDefinition, ExpertId, ExpertState, ExpertStatus, RoutingDecision, SONAMetrics, SONARouterConfig, ToolRequest, ToolResponse } from './types.js'; export { LRUCache, MetricsCollector, shouldUseSONARouting, isHighConfidenceDecision, usedFallback, } from './SONARouter.helpers.js'; export type { V3RoutingResult, V3MoERouter, V3RoutingSuggestion, V3SONAOptimizer, } from './SONARouter.helpers.js'; /** * SONARouter routes MCP tool requests through an 8-expert MoE network. */ export declare class SONARouter { private config; private experts; private expertStatus; private cache; private metrics; private v3MoE; private v3SONA; private initialized; private healthCheckInterval; constructor(config?: SONARouterConfig); initialize(): Promise; isInitialized(): boolean; isUsingV3MoE(): boolean; shutdown(): Promise; route(request: ToolRequest): Promise; executeWithRouting(request: ToolRequest, executor: (expertId: ExpertId, request: ToolRequest) => Promise): Promise>; getExpertStatus(): ExpertStatus[]; getExpert(expertId: ExpertId): ExpertDefinition | undefined; updateExpertHealth(expertId: ExpertId, state: ExpertState, load?: number): void; getMetrics(): Partial; resetMetrics(): void; private ensureInitialized; private createInitialStatus; private initializeV3MoE; private startHealthChecks; private runHealthChecks; private generateCacheKey; private getEligibleExperts; private scoreExperts; private calculateScores; private selectBestExpert; private generateDecisionReason; private createFallbackDecision; private recordOutcome; } /** * Create and initialize a SONARouter instance */ export declare function createSONARouter(config?: SONARouterConfig): Promise; //# sourceMappingURL=SONARouter.d.ts.map