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
JavaScript
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