UNPKG

@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

116 lines (115 loc) 3.39 kB
/** * Model Resolver for NeuroLink CLI Commands * Provides model resolution, search, and recommendation functionality * Part of Phase 4.1 - Models Command System */ import { AIProviderName } from "../core/types.js"; import type { JsonValue } from "../types/common.js"; import { type ModelInfo, type ModelSearchFilters, type ModelSearchResult, type ModelCapabilities, type UseCaseSuitability } from "./modelRegistry.js"; /** * Model recommendation context */ export interface RecommendationContext { useCase?: keyof UseCaseSuitability; maxCost?: number; minQuality?: "low" | "medium" | "high"; requireCapabilities?: (keyof ModelCapabilities)[]; excludeProviders?: AIProviderName[]; contextSize?: number; preferLocal?: boolean; } /** * Model recommendation result */ export interface ModelRecommendation { model: ModelInfo; score: number; reasoning: string[]; alternatives: ModelInfo[]; } /** * Model comparison result */ export interface ModelComparison { models: ModelInfo[]; comparison: { capabilities: Record<keyof ModelCapabilities, ModelInfo[]>; pricing: { cheapest: ModelInfo; mostExpensive: ModelInfo; }; performance: Record<string, ModelInfo[]>; contextSize: { largest: ModelInfo; smallest: ModelInfo; }; }; } /** * Model resolver class with advanced search and recommendation functionality */ export declare class ModelResolver { /** * Resolve model ID from alias or fuzzy name */ static resolveModel(query: string): ModelInfo | null; /** * Search models with advanced filtering */ static searchModels(filters: ModelSearchFilters): ModelSearchResult[]; /** * Get best model for specific use case */ static getBestModel(context: RecommendationContext): ModelRecommendation; /** * Compare multiple models */ static compareModels(modelIds: string[]): ModelComparison; /** * Get models by category */ static getModelsByCategory(category: ModelInfo["category"]): ModelInfo[]; /** * Get recommended models for use case */ static getRecommendedModelsForUseCase(useCase: string): ModelInfo[]; /** * Calculate cost comparison for models */ static calculateCostComparison(models: ModelInfo[], inputTokens?: number, outputTokens?: number): Array<{ model: ModelInfo; cost: number; costPer1K: number; }>; /** * Get model statistics */ static getModelStatistics(): JsonValue; /** * Evaluate how well a model matches search filters */ private static evaluateModelMatch; /** * Score model for recommendation context */ private static scoreModelForContext; /** * Generate recommendation reasoning */ private static generateRecommendationReasoning; } /** * Utility functions for CLI integration */ /** * Format search results for CLI display */ export declare function formatSearchResults(results: ModelSearchResult[]): JsonValue; /** * Format recommendation for CLI display */ export declare function formatRecommendation(recommendation: ModelRecommendation): JsonValue; /** * Format model comparison for CLI display */ export declare function formatComparison(comparison: ModelComparison): JsonValue;