mcp-wordpress 2.11.13 → 3.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -29
- package/dist/cache/CacheInvalidation.js.map +1 -1
- package/dist/cache/CacheManager.d.ts +7 -0
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.js +21 -7
- package/dist/cache/CacheManager.js.map +1 -1
- package/dist/cache/HttpCacheWrapper.js.map +1 -1
- package/dist/cache/SEOCacheManager.d.ts.map +1 -1
- package/dist/cache/SEOCacheManager.js +6 -1
- package/dist/cache/SEOCacheManager.js.map +1 -1
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/client/CachedWordPressClient.d.ts.map +1 -1
- package/dist/client/CachedWordPressClient.js.map +1 -1
- package/dist/client/MockWordPressClient.d.ts.map +1 -1
- package/dist/client/MockWordPressClient.js.map +1 -1
- package/dist/client/SEOWordPressClient.d.ts.map +1 -1
- package/dist/client/SEOWordPressClient.js.map +1 -1
- package/dist/client/api.d.ts +11 -26
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +111 -203
- package/dist/client/api.js.map +1 -1
- package/dist/client/auth.d.ts.map +1 -1
- package/dist/client/auth.js.map +1 -1
- package/dist/client/managers/AuthManager.d.ts.map +1 -1
- package/dist/client/managers/RequestManager.d.ts.map +1 -1
- package/dist/client/managers/RequestManager.js +6 -5
- package/dist/client/managers/RequestManager.js.map +1 -1
- package/dist/client/managers/composed/MigrationAdapter.d.ts +3 -3
- package/dist/client/managers/composed/MigrationAdapter.d.ts.map +1 -1
- package/dist/client/managers/composed/MigrationAdapter.js +2 -2
- package/dist/client/managers/composed/MigrationAdapter.js.map +1 -1
- package/dist/client/managers/composed/index.d.ts +7 -7
- package/dist/client/managers/composed/index.d.ts.map +1 -1
- package/dist/client/managers/composed/index.js +6 -6
- package/dist/client/managers/composed/index.js.map +1 -1
- package/dist/client/managers/implementations/ConfigurationProviderImpl.d.ts +1 -1
- package/dist/client/managers/implementations/ConfigurationProviderImpl.d.ts.map +1 -1
- package/dist/client/managers/implementations/ErrorHandlerImpl.d.ts +1 -1
- package/dist/client/managers/implementations/ErrorHandlerImpl.d.ts.map +1 -1
- package/dist/client/managers/implementations/ParameterValidatorImpl.d.ts +1 -1
- package/dist/client/managers/implementations/ParameterValidatorImpl.d.ts.map +1 -1
- package/dist/client/operations/comments.d.ts +58 -0
- package/dist/client/operations/comments.d.ts.map +1 -0
- package/dist/client/operations/comments.js +74 -0
- package/dist/client/operations/comments.js.map +1 -0
- package/dist/client/operations/index.d.ts +12 -0
- package/dist/client/operations/index.d.ts.map +1 -0
- package/dist/client/operations/index.js +12 -0
- package/dist/client/operations/index.js.map +1 -0
- package/dist/client/operations/media.d.ts +55 -0
- package/dist/client/operations/media.d.ts.map +1 -0
- package/dist/client/operations/media.js +132 -0
- package/dist/client/operations/media.js.map +1 -0
- package/dist/client/operations/pages.d.ts +50 -0
- package/dist/client/operations/pages.d.ts.map +1 -0
- package/dist/client/operations/pages.js +56 -0
- package/dist/client/operations/pages.js.map +1 -0
- package/dist/client/operations/posts.d.ts +50 -0
- package/dist/client/operations/posts.d.ts.map +1 -0
- package/dist/client/operations/posts.js +53 -0
- package/dist/client/operations/posts.js.map +1 -0
- package/dist/client/operations/site.d.ts +60 -0
- package/dist/client/operations/site.d.ts.map +1 -0
- package/dist/client/operations/site.js +83 -0
- package/dist/client/operations/site.js.map +1 -0
- package/dist/client/operations/taxonomies.d.ts +69 -0
- package/dist/client/operations/taxonomies.d.ts.map +1 -0
- package/dist/client/operations/taxonomies.js +87 -0
- package/dist/client/operations/taxonomies.js.map +1 -0
- package/dist/client/operations/users.d.ts +50 -0
- package/dist/client/operations/users.d.ts.map +1 -0
- package/dist/client/operations/users.js +57 -0
- package/dist/client/operations/users.js.map +1 -0
- package/dist/config/ServerConfiguration.d.ts.map +1 -1
- package/dist/config/ServerConfiguration.js.map +1 -1
- package/dist/docs/DocumentationGenerator.js.map +1 -1
- package/dist/performance/MetricsCollector.d.ts.map +1 -1
- package/dist/performance/MetricsCollector.js.map +1 -1
- package/dist/performance/PerformanceMonitor.js.map +1 -1
- package/dist/security/AISecurityScanner.d.ts.map +1 -1
- package/dist/security/AISecurityScanner.js +3 -2
- package/dist/security/AISecurityScanner.js.map +1 -1
- package/dist/security/AutomatedRemediation.js.map +1 -1
- package/dist/security/InputValidator.d.ts.map +1 -1
- package/dist/security/InputValidator.js +30 -18
- package/dist/security/InputValidator.js.map +1 -1
- package/dist/security/SecurityCIPipeline.d.ts +19 -196
- package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
- package/dist/security/SecurityCIPipeline.js +95 -639
- package/dist/security/SecurityCIPipeline.js.map +1 -1
- package/dist/security/SecurityConfig.js.map +1 -1
- package/dist/security/SecurityConfigManager.js.map +1 -1
- package/dist/security/SecurityGateExecutor.d.ts +67 -0
- package/dist/security/SecurityGateExecutor.d.ts.map +1 -0
- package/dist/security/SecurityGateExecutor.js +363 -0
- package/dist/security/SecurityGateExecutor.js.map +1 -0
- package/dist/security/SecurityMonitoring.js.map +1 -1
- package/dist/security/SecurityReportGenerator.d.ts +65 -0
- package/dist/security/SecurityReportGenerator.d.ts.map +1 -0
- package/dist/security/SecurityReportGenerator.js +210 -0
- package/dist/security/SecurityReportGenerator.js.map +1 -0
- package/dist/security/SecurityReviewer.js.map +1 -1
- package/dist/security/SecurityTypes.d.ts +188 -0
- package/dist/security/SecurityTypes.d.ts.map +1 -0
- package/dist/security/SecurityTypes.js +6 -0
- package/dist/security/SecurityTypes.js.map +1 -0
- package/dist/security/index.d.ts +5 -28
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +4 -0
- package/dist/security/index.js.map +1 -1
- package/dist/server/ConnectionTester.d.ts.map +1 -1
- package/dist/server/ConnectionTester.js.map +1 -1
- package/dist/server/ToolRegistry.d.ts.map +1 -1
- package/dist/server/ToolRegistry.js.map +1 -1
- package/dist/tools/BaseToolManager.d.ts.map +1 -1
- package/dist/tools/BaseToolManager.js.map +1 -1
- package/dist/tools/auth.d.ts.map +1 -1
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/cache.d.ts.map +1 -1
- package/dist/tools/cache.js.map +1 -1
- package/dist/tools/comments.d.ts.map +1 -1
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/performance/PerformanceHelpers.d.ts +116 -0
- package/dist/tools/performance/PerformanceHelpers.d.ts.map +1 -0
- package/dist/tools/performance/PerformanceHelpers.js +298 -0
- package/dist/tools/performance/PerformanceHelpers.js.map +1 -0
- package/dist/tools/performance/PerformanceTools.d.ts +54 -0
- package/dist/tools/performance/PerformanceTools.d.ts.map +1 -0
- package/dist/tools/performance/PerformanceTools.js +687 -0
- package/dist/tools/performance/PerformanceTools.js.map +1 -0
- package/dist/tools/performance/index.d.ts +8 -0
- package/dist/tools/performance/index.d.ts.map +1 -0
- package/dist/tools/performance/index.js +8 -0
- package/dist/tools/performance/index.js.map +1 -0
- package/dist/tools/performance.d.ts +12 -69
- package/dist/tools/performance.d.ts.map +1 -1
- package/dist/tools/performance.js +12 -920
- package/dist/tools/performance.js.map +1 -1
- package/dist/tools/posts.d.ts.map +1 -1
- package/dist/tools/seo/analyzers/ContentAnalyzer.d.ts.map +1 -1
- package/dist/tools/seo/analyzers/ContentAnalyzer.js +14 -3
- package/dist/tools/seo/analyzers/ContentAnalyzer.js.map +1 -1
- package/dist/tools/seo/auditors/SiteAuditor.d.ts.map +1 -1
- package/dist/tools/seo/auditors/SiteAuditor.js +12 -3
- package/dist/tools/seo/auditors/SiteAuditor.js.map +1 -1
- package/dist/tools/seo/generators/MetaGenerator.d.ts.map +1 -1
- package/dist/tools/seo/generators/MetaGenerator.js +25 -8
- package/dist/tools/seo/generators/MetaGenerator.js.map +1 -1
- package/dist/tools/seo/generators/SchemaGenerator.d.ts.map +1 -1
- package/dist/tools/seo/generators/SchemaGenerator.js.map +1 -1
- package/dist/tools/seo/optimizers/InternalLinkingSuggester.d.ts.map +1 -1
- package/dist/tools/seo/optimizers/InternalLinkingSuggester.js.map +1 -1
- package/dist/tools/site.d.ts.map +1 -1
- package/dist/tools/site.js.map +1 -1
- package/dist/tools/taxonomies.d.ts.map +1 -1
- package/dist/tools/taxonomies.js.map +1 -1
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js.map +1 -1
- package/dist/utils/CircuitBreaker.d.ts +243 -0
- package/dist/utils/CircuitBreaker.d.ts.map +1 -0
- package/dist/utils/CircuitBreaker.js +456 -0
- package/dist/utils/CircuitBreaker.js.map +1 -0
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/index.d.ts +1 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/toolWrapper.d.ts.map +1 -1
- package/docs/DEPRECATIONS.md +157 -0
- package/package.json +2 -3
- package/src/cache/CacheInvalidation.ts +1 -1
- package/src/cache/CacheManager.ts +25 -8
- package/src/cache/HttpCacheWrapper.ts +1 -1
- package/src/cache/SEOCacheManager.ts +9 -3
- package/src/cache/index.ts +1 -1
- package/src/client/CachedWordPressClient.ts +6 -6
- package/src/client/MockWordPressClient.ts +3 -3
- package/src/client/SEOWordPressClient.ts +6 -6
- package/src/client/api.ts +129 -215
- package/src/client/auth.ts +3 -3
- package/src/client/managers/AuthManager.ts +1 -1
- package/src/client/managers/RequestManager.ts +6 -7
- package/src/client/managers/composed/MigrationAdapter.ts +4 -4
- package/src/client/managers/composed/index.ts +7 -7
- package/src/client/managers/implementations/ConfigurationProviderImpl.ts +1 -1
- package/src/client/managers/implementations/ErrorHandlerImpl.ts +1 -1
- package/src/client/managers/implementations/ParameterValidatorImpl.ts +1 -1
- package/src/client/operations/comments.ts +96 -0
- package/src/client/operations/index.ts +12 -0
- package/src/client/operations/media.ts +162 -0
- package/src/client/operations/pages.ts +71 -0
- package/src/client/operations/posts.ts +68 -0
- package/src/client/operations/site.ts +106 -0
- package/src/client/operations/taxonomies.ts +115 -0
- package/src/client/operations/users.ts +72 -0
- package/src/config/ServerConfiguration.ts +6 -6
- package/src/docs/DocumentationGenerator.ts +3 -3
- package/src/performance/MetricsCollector.ts +4 -4
- package/src/performance/PerformanceMonitor.ts +1 -1
- package/src/security/AISecurityScanner.ts +4 -3
- package/src/security/AutomatedRemediation.ts +1 -1
- package/src/security/InputValidator.ts +36 -19
- package/src/security/SecurityCIPipeline.ts +130 -953
- package/src/security/SecurityConfig.ts +1 -1
- package/src/security/SecurityConfigManager.ts +1 -1
- package/src/security/SecurityGateExecutor.ts +485 -0
- package/src/security/SecurityMonitoring.ts +1 -1
- package/src/security/SecurityReportGenerator.ts +272 -0
- package/src/security/SecurityReviewer.ts +1 -1
- package/src/security/SecurityTypes.ts +199 -0
- package/src/security/index.ts +6 -1
- package/src/server/ConnectionTester.ts +4 -4
- package/src/server/ToolRegistry.ts +6 -6
- package/src/tools/BaseToolManager.ts +2 -2
- package/src/tools/auth.ts +3 -3
- package/src/tools/cache.ts +3 -3
- package/src/tools/comments.ts +3 -3
- package/src/tools/media.ts +3 -3
- package/src/tools/pages.ts +3 -3
- package/src/tools/performance/PerformanceHelpers.ts +330 -0
- package/src/tools/performance/PerformanceTools.ts +854 -0
- package/src/tools/performance/index.ts +8 -0
- package/src/tools/performance.ts +12 -1073
- package/src/tools/posts.ts +1 -1
- package/src/tools/seo/analyzers/ContentAnalyzer.ts +21 -7
- package/src/tools/seo/auditors/SiteAuditor.ts +18 -7
- package/src/tools/seo/generators/MetaGenerator.ts +33 -12
- package/src/tools/seo/generators/SchemaGenerator.ts +3 -3
- package/src/tools/seo/optimizers/InternalLinkingSuggester.ts +4 -4
- package/src/tools/site.ts +3 -3
- package/src/tools/taxonomies.ts +3 -3
- package/src/tools/users.ts +4 -4
- package/src/utils/CircuitBreaker.ts +572 -0
- package/src/utils/debug.ts +3 -3
- package/src/utils/error.ts +1 -1
- package/src/utils/index.ts +3 -0
- package/src/utils/logger.ts +1 -1
- package/src/utils/toolWrapper.ts +2 -2
- package/docs/BRANCH_PROTECTION.md +0 -0
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Helper Utilities
|
|
3
|
+
* Extracted helper functions for performance metrics formatting and calculations
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Calculate overall health status from metrics
|
|
7
|
+
*/
|
|
8
|
+
export function calculateHealthStatus(metrics) {
|
|
9
|
+
let score = 100;
|
|
10
|
+
if (metrics.requests.averageResponseTime > 2000)
|
|
11
|
+
score -= 30;
|
|
12
|
+
else if (metrics.requests.averageResponseTime > 1000)
|
|
13
|
+
score -= 15;
|
|
14
|
+
const errorRate = metrics.requests.failed / Math.max(metrics.requests.total, 1);
|
|
15
|
+
if (errorRate > 0.05)
|
|
16
|
+
score -= 30;
|
|
17
|
+
else if (errorRate > 0.02)
|
|
18
|
+
score -= 15;
|
|
19
|
+
if (metrics.cache.hitRate < 0.7)
|
|
20
|
+
score -= 25;
|
|
21
|
+
else if (metrics.cache.hitRate < 0.85)
|
|
22
|
+
score -= 10;
|
|
23
|
+
if (metrics.system.memoryUsage > 85)
|
|
24
|
+
score -= 15;
|
|
25
|
+
if (score >= 90)
|
|
26
|
+
return "Excellent";
|
|
27
|
+
if (score >= 75)
|
|
28
|
+
return "Good";
|
|
29
|
+
if (score >= 60)
|
|
30
|
+
return "Fair";
|
|
31
|
+
if (score >= 40)
|
|
32
|
+
return "Poor";
|
|
33
|
+
return "Critical";
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Calculate performance score from metrics
|
|
37
|
+
*/
|
|
38
|
+
export function calculatePerformanceScore(metrics) {
|
|
39
|
+
let score = 100;
|
|
40
|
+
// Response time scoring
|
|
41
|
+
if (metrics.requests.averageResponseTime > 3000)
|
|
42
|
+
score -= 40;
|
|
43
|
+
else if (metrics.requests.averageResponseTime > 1500)
|
|
44
|
+
score -= 25;
|
|
45
|
+
else if (metrics.requests.averageResponseTime > 800)
|
|
46
|
+
score -= 10;
|
|
47
|
+
// Error rate scoring
|
|
48
|
+
const errorRate = metrics.requests.failed / Math.max(metrics.requests.total, 1);
|
|
49
|
+
if (errorRate > 0.1)
|
|
50
|
+
score -= 30;
|
|
51
|
+
else if (errorRate > 0.05)
|
|
52
|
+
score -= 20;
|
|
53
|
+
else if (errorRate > 0.02)
|
|
54
|
+
score -= 10;
|
|
55
|
+
// Cache performance scoring
|
|
56
|
+
if (metrics.cache.hitRate < 0.5)
|
|
57
|
+
score -= 20;
|
|
58
|
+
else if (metrics.cache.hitRate < 0.75)
|
|
59
|
+
score -= 10;
|
|
60
|
+
else if (metrics.cache.hitRate < 0.9)
|
|
61
|
+
score -= 5;
|
|
62
|
+
// System resource scoring
|
|
63
|
+
if (metrics.system.memoryUsage > 90)
|
|
64
|
+
score -= 10;
|
|
65
|
+
else if (metrics.system.memoryUsage > 80)
|
|
66
|
+
score -= 5;
|
|
67
|
+
return Math.max(0, Math.min(100, score));
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Calculate cache efficiency rating
|
|
71
|
+
*/
|
|
72
|
+
export function calculateCacheEfficiency(cacheMetrics) {
|
|
73
|
+
const efficiency = cacheMetrics.hitRate * 100 + (cacheMetrics.totalSize > 0 ? 10 : 0) - (cacheMetrics.evictions > 100 ? 10 : 0);
|
|
74
|
+
if (efficiency >= 95)
|
|
75
|
+
return "Excellent";
|
|
76
|
+
if (efficiency >= 85)
|
|
77
|
+
return "Good";
|
|
78
|
+
if (efficiency >= 70)
|
|
79
|
+
return "Fair";
|
|
80
|
+
return "Poor";
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Format uptime in human-readable format
|
|
84
|
+
*/
|
|
85
|
+
export function formatUptime(uptimeMs) {
|
|
86
|
+
const seconds = Math.floor(uptimeMs / 1000);
|
|
87
|
+
const minutes = Math.floor(seconds / 60);
|
|
88
|
+
const hours = Math.floor(minutes / 60);
|
|
89
|
+
const days = Math.floor(hours / 24);
|
|
90
|
+
if (days > 0)
|
|
91
|
+
return `${days}d ${hours % 24}h ${minutes % 60}m`;
|
|
92
|
+
if (hours > 0)
|
|
93
|
+
return `${hours}h ${minutes % 60}m`;
|
|
94
|
+
if (minutes > 0)
|
|
95
|
+
return `${minutes}m ${seconds % 60}s`;
|
|
96
|
+
return `${seconds}s`;
|
|
97
|
+
}
|
|
98
|
+
/**
|
|
99
|
+
* Parse timeframe string to milliseconds
|
|
100
|
+
*/
|
|
101
|
+
export function parseTimeframe(timeframe) {
|
|
102
|
+
const map = {
|
|
103
|
+
"1h": 60 * 60 * 1000,
|
|
104
|
+
"6h": 6 * 60 * 60 * 1000,
|
|
105
|
+
"12h": 12 * 60 * 60 * 1000,
|
|
106
|
+
"24h": 24 * 60 * 60 * 1000,
|
|
107
|
+
"7d": 7 * 24 * 60 * 60 * 1000,
|
|
108
|
+
"30d": 30 * 24 * 60 * 60 * 1000,
|
|
109
|
+
};
|
|
110
|
+
return map[timeframe] || map["24h"];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Extract metric value from data point
|
|
114
|
+
*/
|
|
115
|
+
export function extractMetricValue(dataPoint, metric) {
|
|
116
|
+
switch (metric) {
|
|
117
|
+
case "responseTime":
|
|
118
|
+
return dataPoint.requests.averageResponseTime;
|
|
119
|
+
case "cacheHitRate":
|
|
120
|
+
return dataPoint.cache.hitRate * 100;
|
|
121
|
+
case "errorRate":
|
|
122
|
+
return (dataPoint.requests.failed / Math.max(dataPoint.requests.total, 1)) * 100;
|
|
123
|
+
case "memoryUsage":
|
|
124
|
+
return dataPoint.system.memoryUsage;
|
|
125
|
+
case "requestVolume":
|
|
126
|
+
return dataPoint.requests.requestsPerSecond;
|
|
127
|
+
default:
|
|
128
|
+
return 0;
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Process historical data for charting
|
|
133
|
+
*/
|
|
134
|
+
export function processHistoricalDataForChart(data, requestedMetrics) {
|
|
135
|
+
if (!data.length)
|
|
136
|
+
return {};
|
|
137
|
+
const allMetrics = ["responseTime", "cacheHitRate", "errorRate", "memoryUsage", "requestVolume"];
|
|
138
|
+
const metricsToProcess = requestedMetrics || allMetrics;
|
|
139
|
+
const result = {};
|
|
140
|
+
for (const metric of metricsToProcess) {
|
|
141
|
+
result[metric] = data.map((point, index) => ({
|
|
142
|
+
timestamp: point.system.uptime,
|
|
143
|
+
value: extractMetricValue(point, metric),
|
|
144
|
+
index,
|
|
145
|
+
}));
|
|
146
|
+
}
|
|
147
|
+
return result;
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Calculate average of number array
|
|
151
|
+
*/
|
|
152
|
+
export function calculateAverage(values) {
|
|
153
|
+
if (values.length === 0)
|
|
154
|
+
return 0;
|
|
155
|
+
return values.reduce((sum, val) => sum + val, 0) / values.length;
|
|
156
|
+
}
|
|
157
|
+
/**
|
|
158
|
+
* Format benchmark status with emoji
|
|
159
|
+
*/
|
|
160
|
+
export function formatBenchmarkStatus(status) {
|
|
161
|
+
const statusMap = {
|
|
162
|
+
excellent: "🟢 Excellent",
|
|
163
|
+
good: "🟡 Good",
|
|
164
|
+
average: "🟠 Average",
|
|
165
|
+
below_average: "🔴 Below Average",
|
|
166
|
+
poor: "⚫ Poor",
|
|
167
|
+
};
|
|
168
|
+
return statusMap[status] || status;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Get benchmark improvement description
|
|
172
|
+
*/
|
|
173
|
+
export function getBenchmarkImprovementDescription(benchmark) {
|
|
174
|
+
const improvements = {
|
|
175
|
+
"Response Time": `Reduce by ${benchmark.improvement.toFixed(0)}ms`,
|
|
176
|
+
"Cache Hit Rate": `Increase by ${benchmark.improvement.toFixed(1)}%`,
|
|
177
|
+
"Error Rate": `Reduce by ${benchmark.improvement.toFixed(2)}%`,
|
|
178
|
+
"Memory Usage": `Reduce by ${benchmark.improvement.toFixed(0)}%`,
|
|
179
|
+
};
|
|
180
|
+
return improvements[benchmark.category] || `Improve by ${benchmark.improvement}`;
|
|
181
|
+
}
|
|
182
|
+
/**
|
|
183
|
+
* Calculate overall ranking from benchmarks
|
|
184
|
+
*/
|
|
185
|
+
export function calculateOverallRanking(benchmarks) {
|
|
186
|
+
const statuses = benchmarks.map((b) => b.status);
|
|
187
|
+
const excellentCount = statuses.filter((s) => s === "excellent").length;
|
|
188
|
+
const goodCount = statuses.filter((s) => s === "good").length;
|
|
189
|
+
const percentile = ((excellentCount + goodCount * 0.8) / statuses.length) * 100;
|
|
190
|
+
let status = "Needs Improvement";
|
|
191
|
+
if (percentile >= 90)
|
|
192
|
+
status = "Top Performer";
|
|
193
|
+
else if (percentile >= 75)
|
|
194
|
+
status = "Above Average";
|
|
195
|
+
else if (percentile >= 50)
|
|
196
|
+
status = "Average";
|
|
197
|
+
return { percentile: Math.round(percentile), status };
|
|
198
|
+
}
|
|
199
|
+
/**
|
|
200
|
+
* Format alert message
|
|
201
|
+
*/
|
|
202
|
+
export function formatAlertMessage(alert) {
|
|
203
|
+
return `${alert.severity.toUpperCase()}: ${alert.message} (${alert.metric}: ${alert.actualValue} vs threshold: ${alert.threshold})`;
|
|
204
|
+
}
|
|
205
|
+
/**
|
|
206
|
+
* Format anomaly description
|
|
207
|
+
*/
|
|
208
|
+
export function formatAnomalyDescription(anomaly) {
|
|
209
|
+
const direction = anomaly.actualValue > anomaly.expectedValue ? "higher" : "lower";
|
|
210
|
+
return `${anomaly.metric} is ${Math.abs(anomaly.deviation).toFixed(1)}% ${direction} than expected (${anomaly.expectedValue.toFixed(2)} vs ${anomaly.actualValue.toFixed(2)})`;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Calculate alert status from summaries
|
|
214
|
+
*/
|
|
215
|
+
export function calculateAlertStatus(alertSummary, anomalySummary) {
|
|
216
|
+
const critical = alertSummary.critical + anomalySummary.critical;
|
|
217
|
+
const high = alertSummary.error + anomalySummary.major;
|
|
218
|
+
if (critical > 0)
|
|
219
|
+
return "Critical Issues Detected";
|
|
220
|
+
if (high > 2)
|
|
221
|
+
return "High Priority Issues";
|
|
222
|
+
if (alertSummary.warning + anomalySummary.moderate > 5)
|
|
223
|
+
return "Performance Warnings";
|
|
224
|
+
return "System Healthy";
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* Format priority with emoji
|
|
228
|
+
*/
|
|
229
|
+
export function formatPriority(priority) {
|
|
230
|
+
const map = {
|
|
231
|
+
critical: "🔴 Critical",
|
|
232
|
+
high: "🟠 High",
|
|
233
|
+
medium: "🟡 Medium",
|
|
234
|
+
low: "🟢 Low",
|
|
235
|
+
};
|
|
236
|
+
return map[priority] || priority;
|
|
237
|
+
}
|
|
238
|
+
/**
|
|
239
|
+
* Format effort with emoji
|
|
240
|
+
*/
|
|
241
|
+
export function formatEffort(effort) {
|
|
242
|
+
const map = {
|
|
243
|
+
low: "⚡ Low Effort",
|
|
244
|
+
medium: "⚖️ Medium Effort",
|
|
245
|
+
high: "🏋️ High Effort",
|
|
246
|
+
};
|
|
247
|
+
return map[effort] || effort;
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Calculate estimated impact from recommendations
|
|
251
|
+
*/
|
|
252
|
+
export function calculateEstimatedImpact(recommendations) {
|
|
253
|
+
const highImpact = recommendations.filter((r) => ["critical", "high"].includes(r.priority)).length;
|
|
254
|
+
const totalImpact = recommendations.length;
|
|
255
|
+
if (highImpact >= 3)
|
|
256
|
+
return "Significant Performance Gains Expected";
|
|
257
|
+
if (totalImpact >= 5)
|
|
258
|
+
return "Moderate Performance Improvements";
|
|
259
|
+
if (totalImpact > 0)
|
|
260
|
+
return "Minor Performance Optimizations";
|
|
261
|
+
return "System Already Optimized";
|
|
262
|
+
}
|
|
263
|
+
/**
|
|
264
|
+
* Convert metrics data to CSV format
|
|
265
|
+
*/
|
|
266
|
+
export function convertToCSV(data) {
|
|
267
|
+
const metrics = data.currentMetrics;
|
|
268
|
+
const csv = [
|
|
269
|
+
"Metric,Value,Unit",
|
|
270
|
+
`Total Requests,${metrics.requests.total},count`,
|
|
271
|
+
`Average Response Time,${metrics.requests.averageResponseTime.toFixed(0)},ms`,
|
|
272
|
+
`Success Rate,${((metrics.requests.successful / Math.max(metrics.requests.total, 1)) * 100).toFixed(1)},%`,
|
|
273
|
+
`Cache Hit Rate,${(metrics.cache.hitRate * 100).toFixed(1)},%`,
|
|
274
|
+
`Cache Size,${metrics.cache.totalSize},entries`,
|
|
275
|
+
`Memory Usage,${metrics.system.memoryUsage},percent`,
|
|
276
|
+
`Uptime,${metrics.system.uptime},ms`,
|
|
277
|
+
];
|
|
278
|
+
return csv.join("\n");
|
|
279
|
+
}
|
|
280
|
+
/**
|
|
281
|
+
* Create summary report from data
|
|
282
|
+
*/
|
|
283
|
+
export function createSummaryReport(data) {
|
|
284
|
+
const metrics = data.currentMetrics;
|
|
285
|
+
return {
|
|
286
|
+
summary: `Performance Report - ${new Date().toISOString()}`,
|
|
287
|
+
overallHealth: calculateHealthStatus(metrics),
|
|
288
|
+
keyMetrics: {
|
|
289
|
+
averageResponseTime: `${metrics.requests.averageResponseTime.toFixed(0)}ms`,
|
|
290
|
+
cacheEfficiency: `${(metrics.cache.hitRate * 100).toFixed(1)}%`,
|
|
291
|
+
systemLoad: `${metrics.system.memoryUsage}%`,
|
|
292
|
+
errorRate: `${((metrics.requests.failed / Math.max(metrics.requests.total, 1)) * 100).toFixed(2)}%`,
|
|
293
|
+
},
|
|
294
|
+
recommendations: data.analytics?.insights?.slice(0, 3) || [],
|
|
295
|
+
nextSteps: "Review detailed metrics and implement high-priority optimizations",
|
|
296
|
+
};
|
|
297
|
+
}
|
|
298
|
+
//# sourceMappingURL=PerformanceHelpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerformanceHelpers.js","sourceRoot":"","sources":["../../../src/tools/performance/PerformanceHelpers.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Performance Monitoring MCP Tools for WordPress Server
|
|
3
|
+
* Provides comprehensive performance insights and management
|
|
4
|
+
*/
|
|
5
|
+
import type { ToolDefinition } from "../../server/ToolRegistry.js";
|
|
6
|
+
/**
|
|
7
|
+
* Performance Tools Class
|
|
8
|
+
* Provides MCP tools for WordPress performance monitoring
|
|
9
|
+
*/
|
|
10
|
+
export default class PerformanceTools {
|
|
11
|
+
private monitor;
|
|
12
|
+
private collector;
|
|
13
|
+
private analytics;
|
|
14
|
+
private logger;
|
|
15
|
+
private historicalDataInterval?;
|
|
16
|
+
constructor(clients?: Map<string, unknown>);
|
|
17
|
+
/**
|
|
18
|
+
* Get all performance monitoring tools
|
|
19
|
+
*/
|
|
20
|
+
getTools(): ToolDefinition[];
|
|
21
|
+
/**
|
|
22
|
+
* Get real-time performance statistics
|
|
23
|
+
*/
|
|
24
|
+
private getPerformanceStats;
|
|
25
|
+
/**
|
|
26
|
+
* Get historical performance data and trends
|
|
27
|
+
*/
|
|
28
|
+
private getPerformanceHistory;
|
|
29
|
+
/**
|
|
30
|
+
* Get benchmark comparison
|
|
31
|
+
*/
|
|
32
|
+
private getBenchmarkComparison;
|
|
33
|
+
/**
|
|
34
|
+
* Get performance alerts and anomalies
|
|
35
|
+
*/
|
|
36
|
+
private getPerformanceAlerts;
|
|
37
|
+
/**
|
|
38
|
+
* Get optimization recommendations
|
|
39
|
+
*/
|
|
40
|
+
private getOptimizationRecommendations;
|
|
41
|
+
/**
|
|
42
|
+
* Export comprehensive performance report
|
|
43
|
+
*/
|
|
44
|
+
private exportPerformanceReport;
|
|
45
|
+
/**
|
|
46
|
+
* Start historical data collection
|
|
47
|
+
*/
|
|
48
|
+
private startHistoricalDataCollection;
|
|
49
|
+
/**
|
|
50
|
+
* Stop historical data collection and cleanup resources
|
|
51
|
+
*/
|
|
52
|
+
destroy(): void;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=PerformanceTools.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PerformanceTools.d.ts","sourceRoot":"","sources":["../../../src/tools/performance/PerformanceTools.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAoC/D;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,gBAAgB;IACnC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,SAAS,CAAmB;IACpC,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,MAAM,CAA+C;IAC7D,OAAO,CAAC,sBAAsB,CAAC,CAA6B;gBAEhD,OAAO,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC;IA0C1C;;OAEG;IACH,QAAQ,IAAI,cAAc,EAAE;IAsM5B;;OAEG;YACW,mBAAmB;IAoGjC;;OAEG;YACW,qBAAqB;IA8DnC;;OAEG;YACW,sBAAsB;IAwEpC;;OAEG;YACW,oBAAoB;IA8ElC;;OAEG;YACW,8BAA8B;IAmG5C;;OAEG;YACW,uBAAuB;IAsFrC;;OAEG;IACH,OAAO,CAAC,6BAA6B;IA8BrC;;OAEG;IACI,OAAO,IAAI,IAAI;CAOvB"}
|