UNPKG

prompt-plus-plus-mcp

Version:

Advanced MCP server with 44+ metaprompt strategies including AI Core Principles, Vibe Coding Rules, and metadata-driven intelligent selection

44 lines 1.67 kB
import { logger } from './logger.js'; export class StrategySelector { performanceMetrics = { selectionTime: 0, strategyUsage: {}, averageResponseTime: 0, errorCount: 0 }; constructor() { logger.info('StrategySelector initialized for metrics tracking only - LLM makes all selection decisions'); } // Track usage for analytics (called by workflows when LLM selects strategies) recordStrategyUsage(strategyKey, selectionTime = 0) { this.performanceMetrics.strategyUsage[strategyKey] = (this.performanceMetrics.strategyUsage[strategyKey] || 0) + 1; if (selectionTime > 0) { this.performanceMetrics.selectionTime = (this.performanceMetrics.selectionTime + selectionTime) / 2; } logger.debug(`Strategy usage recorded: ${strategyKey}`, { selectionTime }); } recordError() { this.performanceMetrics.errorCount++; logger.debug('Error recorded in strategy selection metrics'); } getPerformanceMetrics() { return { ...this.performanceMetrics }; } resetMetrics() { this.performanceMetrics = { selectionTime: 0, strategyUsage: {}, averageResponseTime: 0, errorCount: 0 }; logger.info('Performance metrics reset'); } // Get top used strategies for analytics getTopStrategies(limit = 5) { return Object.entries(this.performanceMetrics.strategyUsage) .sort(([, a], [, b]) => b - a) .slice(0, limit) .map(([strategy, usage]) => ({ strategy, usage })); } } //# sourceMappingURL=strategy-selector.js.map