@juspay/neurolink
Version:
Universal AI Development Platform with working MCP integration, multi-provider support, voice (TTS/STT/realtime), and professional CLI. 58+ external MCP servers discoverable, multimodal file processing, RAG pipelines. Build, test, and deploy AI applicatio
92 lines (91 loc) • 3.38 kB
TypeScript
/**
* Model Router for NeuroLink Orchestration
* Routes tasks to optimal models based on classification and requirements
*/
import type { ModelRoute, ModelRoutingOptions } from "../types/index.js";
/**
* Model configurations for different task types and providers
*/
declare const MODEL_CONFIGS: {
readonly fast: {
readonly primary: {
readonly provider: "vertex";
readonly model: "gemini-2.5-flash";
readonly capabilities: readonly ["speed", "general", "code", "basic-reasoning"];
readonly avgResponseTime: 800;
readonly costPerToken: 0.0001;
readonly reasoning: "Optimized for speed and efficiency via Vertex AI";
};
readonly fallback: {
readonly provider: "vertex";
readonly model: "claude-haiku-4-5@20251001";
readonly capabilities: readonly ["speed", "general", "basic-reasoning"];
readonly avgResponseTime: 1200;
readonly costPerToken: 0.0002;
readonly reasoning: "Vertex AI Claude Haiku fallback";
};
};
readonly reasoning: {
readonly primary: {
readonly provider: "vertex";
readonly model: "claude-sonnet-4-5@20250929";
readonly capabilities: readonly ["reasoning", "analysis", "complex-logic", "code", "creativity"];
readonly avgResponseTime: 3000;
readonly costPerToken: 0.003;
readonly reasoning: "Advanced reasoning and analysis via Claude Sonnet 4-5 on Vertex AI";
};
readonly fallback: {
readonly provider: "vertex";
readonly model: "claude-opus-4-5@20251101";
readonly capabilities: readonly ["reasoning", "analysis", "complex-logic", "code", "creativity", "agentic"];
readonly avgResponseTime: 4000;
readonly costPerToken: 0.005;
readonly reasoning: "Claude Opus 4-5 fallback on Vertex AI for most complex tasks";
};
};
};
/**
* Model Router
* Intelligently routes tasks to optimal models based on classification
*/
export declare class ModelRouter {
/**
* Route a prompt to the optimal model configuration
*/
static route(prompt: string, options?: ModelRoutingOptions): ModelRoute;
/**
* Get fallback route if primary route fails
*/
static getFallbackRoute(prompt: string, primaryRoute: ModelRoute, options?: ModelRoutingOptions): ModelRoute;
/**
* Determine task type from a model route
*/
private static getTaskTypeFromRoute;
/**
* Get all available model configurations
*/
static getAvailableModels(): typeof MODEL_CONFIGS;
/**
* Validate model availability for a given route
*/
static validateRoute(route: ModelRoute): Promise<boolean>;
/**
* Get routing statistics for multiple prompts
*/
static getRoutingStats(prompts: string[]): {
total: number;
fastRoutes: number;
reasoningRoutes: number;
averageConfidence: number;
providerDistribution: Record<string, number>;
};
/**
* Estimate cost and performance for a route
*/
static getRouteEstimates(route: ModelRoute, estimatedTokens?: number): {
estimatedCost: number;
estimatedResponseTime: number;
capabilities: string[];
};
}
export {};