mcp-wordpress 2.5.0 → 2.5.1

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.
Files changed (318) hide show
  1. package/README.md +19 -15
  2. package/bin/status.js +1 -1
  3. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  4. package/dist/config/ServerConfiguration.js +23 -2
  5. package/dist/config/ServerConfiguration.js.map +1 -1
  6. package/dist/src/cache/CacheInvalidation.d.ts +120 -0
  7. package/dist/src/cache/CacheInvalidation.d.ts.map +1 -0
  8. package/dist/src/cache/CacheInvalidation.js +355 -0
  9. package/dist/src/cache/CacheInvalidation.js.map +1 -0
  10. package/dist/src/cache/CacheManager.d.ts +149 -0
  11. package/dist/src/cache/CacheManager.d.ts.map +1 -0
  12. package/dist/src/cache/CacheManager.js +326 -0
  13. package/dist/src/cache/CacheManager.js.map +1 -0
  14. package/dist/src/cache/HttpCacheWrapper.d.ts +122 -0
  15. package/dist/src/cache/HttpCacheWrapper.d.ts.map +1 -0
  16. package/dist/src/cache/HttpCacheWrapper.js +283 -0
  17. package/dist/src/cache/HttpCacheWrapper.js.map +1 -0
  18. package/dist/src/cache/index.d.ts +12 -0
  19. package/dist/src/cache/index.d.ts.map +1 -0
  20. package/dist/src/cache/index.js +9 -0
  21. package/dist/src/cache/index.js.map +1 -0
  22. package/dist/src/client/CachedWordPressClient.d.ts +174 -0
  23. package/dist/src/client/CachedWordPressClient.d.ts.map +1 -0
  24. package/dist/src/client/CachedWordPressClient.js +345 -0
  25. package/dist/src/client/CachedWordPressClient.js.map +1 -0
  26. package/dist/src/client/MockWordPressClient.d.ts +56 -0
  27. package/dist/src/client/MockWordPressClient.d.ts.map +1 -0
  28. package/dist/src/client/MockWordPressClient.js +371 -0
  29. package/dist/src/client/MockWordPressClient.js.map +1 -0
  30. package/dist/src/client/api.d.ts +235 -0
  31. package/dist/src/client/api.d.ts.map +1 -0
  32. package/dist/src/client/api.js +896 -0
  33. package/dist/src/client/api.js.map +1 -0
  34. package/dist/src/client/auth.d.ts +121 -0
  35. package/dist/src/client/auth.d.ts.map +1 -0
  36. package/dist/src/client/auth.js +429 -0
  37. package/dist/src/client/auth.js.map +1 -0
  38. package/dist/src/client/managers/AuthenticationManager.d.ts +92 -0
  39. package/dist/src/client/managers/AuthenticationManager.d.ts.map +1 -0
  40. package/dist/src/client/managers/AuthenticationManager.js +369 -0
  41. package/dist/src/client/managers/AuthenticationManager.js.map +1 -0
  42. package/dist/src/client/managers/BaseManager.d.ts +22 -0
  43. package/dist/src/client/managers/BaseManager.d.ts.map +1 -0
  44. package/dist/src/client/managers/BaseManager.js +53 -0
  45. package/dist/src/client/managers/BaseManager.js.map +1 -0
  46. package/dist/src/client/managers/RequestManager.d.ts +47 -0
  47. package/dist/src/client/managers/RequestManager.d.ts.map +1 -0
  48. package/dist/src/client/managers/RequestManager.js +193 -0
  49. package/dist/src/client/managers/RequestManager.js.map +1 -0
  50. package/dist/src/client/managers/index.d.ts +8 -0
  51. package/dist/src/client/managers/index.d.ts.map +1 -0
  52. package/dist/src/client/managers/index.js +8 -0
  53. package/dist/src/client/managers/index.js.map +1 -0
  54. package/dist/src/config/Config.d.ts +155 -0
  55. package/dist/src/config/Config.d.ts.map +1 -0
  56. package/dist/src/config/Config.js +215 -0
  57. package/dist/src/config/Config.js.map +1 -0
  58. package/dist/src/config/ConfigurationSchema.d.ts +281 -0
  59. package/dist/src/config/ConfigurationSchema.d.ts.map +1 -0
  60. package/dist/src/config/ConfigurationSchema.js +205 -0
  61. package/dist/src/config/ConfigurationSchema.js.map +1 -0
  62. package/dist/src/config/ServerConfiguration.d.ts +47 -0
  63. package/dist/src/config/ServerConfiguration.d.ts.map +1 -0
  64. package/dist/src/config/ServerConfiguration.js +255 -0
  65. package/dist/src/config/ServerConfiguration.js.map +1 -0
  66. package/dist/src/docs/DocumentationGenerator.d.ts +185 -0
  67. package/dist/src/docs/DocumentationGenerator.d.ts.map +1 -0
  68. package/dist/src/docs/DocumentationGenerator.js +777 -0
  69. package/dist/src/docs/DocumentationGenerator.js.map +1 -0
  70. package/dist/src/docs/MarkdownFormatter.d.ts +84 -0
  71. package/dist/src/docs/MarkdownFormatter.d.ts.map +1 -0
  72. package/dist/src/docs/MarkdownFormatter.js +458 -0
  73. package/dist/src/docs/MarkdownFormatter.js.map +1 -0
  74. package/dist/src/docs/index.d.ts +8 -0
  75. package/dist/src/docs/index.d.ts.map +1 -0
  76. package/dist/src/docs/index.js +7 -0
  77. package/dist/src/docs/index.js.map +1 -0
  78. package/dist/src/dxt-entry.d.ts +6 -0
  79. package/dist/src/dxt-entry.d.ts.map +1 -0
  80. package/dist/src/dxt-entry.js +39 -0
  81. package/dist/src/dxt-entry.js.map +1 -0
  82. package/dist/src/index.d.ts +18 -0
  83. package/dist/src/index.d.ts.map +1 -0
  84. package/dist/src/index.js +143 -0
  85. package/dist/src/index.js.map +1 -0
  86. package/dist/src/performance/MetricsCollector.d.ts +145 -0
  87. package/dist/src/performance/MetricsCollector.d.ts.map +1 -0
  88. package/dist/src/performance/MetricsCollector.js +368 -0
  89. package/dist/src/performance/MetricsCollector.js.map +1 -0
  90. package/dist/src/performance/PerformanceAnalytics.d.ts +168 -0
  91. package/dist/src/performance/PerformanceAnalytics.d.ts.map +1 -0
  92. package/dist/src/performance/PerformanceAnalytics.js +570 -0
  93. package/dist/src/performance/PerformanceAnalytics.js.map +1 -0
  94. package/dist/src/performance/PerformanceMonitor.d.ts +203 -0
  95. package/dist/src/performance/PerformanceMonitor.d.ts.map +1 -0
  96. package/dist/src/performance/PerformanceMonitor.js +478 -0
  97. package/dist/src/performance/PerformanceMonitor.js.map +1 -0
  98. package/dist/src/performance/index.d.ts +11 -0
  99. package/dist/src/performance/index.d.ts.map +1 -0
  100. package/dist/src/performance/index.js +8 -0
  101. package/dist/src/performance/index.js.map +1 -0
  102. package/dist/src/security/AISecurityScanner.d.ts +176 -0
  103. package/dist/src/security/AISecurityScanner.d.ts.map +1 -0
  104. package/dist/src/security/AISecurityScanner.js +655 -0
  105. package/dist/src/security/AISecurityScanner.js.map +1 -0
  106. package/dist/src/security/AutomatedRemediation.d.ts +146 -0
  107. package/dist/src/security/AutomatedRemediation.d.ts.map +1 -0
  108. package/dist/src/security/AutomatedRemediation.js +566 -0
  109. package/dist/src/security/AutomatedRemediation.js.map +1 -0
  110. package/dist/src/security/InputValidator.d.ts +219 -0
  111. package/dist/src/security/InputValidator.d.ts.map +1 -0
  112. package/dist/src/security/InputValidator.js +295 -0
  113. package/dist/src/security/InputValidator.js.map +1 -0
  114. package/dist/src/security/SecurityCIPipeline.d.ts +213 -0
  115. package/dist/src/security/SecurityCIPipeline.d.ts.map +1 -0
  116. package/dist/src/security/SecurityCIPipeline.js +693 -0
  117. package/dist/src/security/SecurityCIPipeline.js.map +1 -0
  118. package/dist/src/security/SecurityConfig.d.ts +129 -0
  119. package/dist/src/security/SecurityConfig.d.ts.map +1 -0
  120. package/dist/src/security/SecurityConfig.js +266 -0
  121. package/dist/src/security/SecurityConfig.js.map +1 -0
  122. package/dist/src/security/SecurityConfigManager.d.ts +294 -0
  123. package/dist/src/security/SecurityConfigManager.d.ts.map +1 -0
  124. package/dist/src/security/SecurityConfigManager.js +558 -0
  125. package/dist/src/security/SecurityConfigManager.js.map +1 -0
  126. package/dist/src/security/SecurityMonitoring.d.ts +245 -0
  127. package/dist/src/security/SecurityMonitoring.d.ts.map +1 -0
  128. package/dist/src/security/SecurityMonitoring.js +598 -0
  129. package/dist/src/security/SecurityMonitoring.js.map +1 -0
  130. package/dist/src/security/SecurityReviewer.d.ts +168 -0
  131. package/dist/src/security/SecurityReviewer.d.ts.map +1 -0
  132. package/dist/src/security/SecurityReviewer.js +686 -0
  133. package/dist/src/security/SecurityReviewer.js.map +1 -0
  134. package/dist/src/security/index.d.ts +183 -0
  135. package/dist/src/security/index.d.ts.map +1 -0
  136. package/dist/src/security/index.js +218 -0
  137. package/dist/src/security/index.js.map +1 -0
  138. package/dist/src/server/ConnectionTester.d.ts +32 -0
  139. package/dist/src/server/ConnectionTester.d.ts.map +1 -0
  140. package/dist/src/server/ConnectionTester.js +135 -0
  141. package/dist/src/server/ConnectionTester.js.map +1 -0
  142. package/dist/src/server/ToolRegistry.d.ts +50 -0
  143. package/dist/src/server/ToolRegistry.d.ts.map +1 -0
  144. package/dist/src/server/ToolRegistry.js +219 -0
  145. package/dist/src/server/ToolRegistry.js.map +1 -0
  146. package/dist/src/server.d.ts +7 -0
  147. package/dist/src/server.d.ts.map +1 -0
  148. package/dist/src/server.js +7 -0
  149. package/dist/src/server.js.map +1 -0
  150. package/dist/src/tools/BaseToolManager.d.ts +62 -0
  151. package/dist/src/tools/BaseToolManager.d.ts.map +1 -0
  152. package/dist/src/tools/BaseToolManager.js +195 -0
  153. package/dist/src/tools/BaseToolManager.js.map +1 -0
  154. package/dist/src/tools/auth.d.ts +50 -0
  155. package/dist/src/tools/auth.d.ts.map +1 -0
  156. package/dist/src/tools/auth.js +133 -0
  157. package/dist/src/tools/auth.js.map +1 -0
  158. package/dist/src/tools/cache.d.ts +260 -0
  159. package/dist/src/tools/cache.d.ts.map +1 -0
  160. package/dist/src/tools/cache.js +232 -0
  161. package/dist/src/tools/cache.js.map +1 -0
  162. package/dist/src/tools/comments.d.ts +33 -0
  163. package/dist/src/tools/comments.d.ts.map +1 -0
  164. package/dist/src/tools/comments.js +235 -0
  165. package/dist/src/tools/comments.js.map +1 -0
  166. package/dist/src/tools/index.d.ts +11 -0
  167. package/dist/src/tools/index.d.ts.map +1 -0
  168. package/dist/src/tools/index.js +11 -0
  169. package/dist/src/tools/index.js.map +1 -0
  170. package/dist/src/tools/media.d.ts +70 -0
  171. package/dist/src/tools/media.d.ts.map +1 -0
  172. package/dist/src/tools/media.js +248 -0
  173. package/dist/src/tools/media.js.map +1 -0
  174. package/dist/src/tools/pages.d.ts +32 -0
  175. package/dist/src/tools/pages.d.ts.map +1 -0
  176. package/dist/src/tools/pages.js +215 -0
  177. package/dist/src/tools/pages.js.map +1 -0
  178. package/dist/src/tools/performance.d.ts +73 -0
  179. package/dist/src/tools/performance.d.ts.map +1 -0
  180. package/dist/src/tools/performance.js +922 -0
  181. package/dist/src/tools/performance.js.map +1 -0
  182. package/dist/src/tools/posts/PostHandlers.d.ts +46 -0
  183. package/dist/src/tools/posts/PostHandlers.d.ts.map +1 -0
  184. package/dist/src/tools/posts/PostHandlers.js +400 -0
  185. package/dist/src/tools/posts/PostHandlers.js.map +1 -0
  186. package/dist/src/tools/posts/PostToolDefinitions.d.ts +37 -0
  187. package/dist/src/tools/posts/PostToolDefinitions.d.ts.map +1 -0
  188. package/dist/src/tools/posts/PostToolDefinitions.js +236 -0
  189. package/dist/src/tools/posts/PostToolDefinitions.js.map +1 -0
  190. package/dist/src/tools/posts/index.d.ts +138 -0
  191. package/dist/src/tools/posts/index.d.ts.map +1 -0
  192. package/dist/src/tools/posts/index.js +163 -0
  193. package/dist/src/tools/posts/index.js.map +1 -0
  194. package/dist/src/tools/posts.d.ts +15 -0
  195. package/dist/src/tools/posts.d.ts.map +1 -0
  196. package/dist/src/tools/posts.js +16 -0
  197. package/dist/src/tools/posts.js.map +1 -0
  198. package/dist/src/tools/site.d.ts +32 -0
  199. package/dist/src/tools/site.d.ts.map +1 -0
  200. package/dist/src/tools/site.js +234 -0
  201. package/dist/src/tools/site.js.map +1 -0
  202. package/dist/src/tools/taxonomies.d.ts +36 -0
  203. package/dist/src/tools/taxonomies.d.ts.map +1 -0
  204. package/dist/src/tools/taxonomies.js +286 -0
  205. package/dist/src/tools/taxonomies.js.map +1 -0
  206. package/dist/src/tools/users.d.ts +33 -0
  207. package/dist/src/tools/users.d.ts.map +1 -0
  208. package/dist/src/tools/users.js +308 -0
  209. package/dist/src/tools/users.js.map +1 -0
  210. package/dist/src/types/client.d.ts +223 -0
  211. package/dist/src/types/client.d.ts.map +1 -0
  212. package/dist/src/types/client.js +97 -0
  213. package/dist/src/types/client.js.map +1 -0
  214. package/dist/src/types/enhanced.d.ts +237 -0
  215. package/dist/src/types/enhanced.d.ts.map +1 -0
  216. package/dist/src/types/enhanced.js +49 -0
  217. package/dist/src/types/enhanced.js.map +1 -0
  218. package/dist/src/types/index.d.ts +160 -0
  219. package/dist/src/types/index.d.ts.map +1 -0
  220. package/dist/src/types/index.js +14 -0
  221. package/dist/src/types/index.js.map +1 -0
  222. package/dist/src/types/mcp.d.ts +178 -0
  223. package/dist/src/types/mcp.d.ts.map +1 -0
  224. package/dist/src/types/mcp.js +7 -0
  225. package/dist/src/types/mcp.js.map +1 -0
  226. package/dist/src/types/requests.d.ts +322 -0
  227. package/dist/src/types/requests.d.ts.map +1 -0
  228. package/dist/src/types/requests.js +8 -0
  229. package/dist/src/types/requests.js.map +1 -0
  230. package/dist/src/types/tools.d.ts +506 -0
  231. package/dist/src/types/tools.d.ts.map +1 -0
  232. package/dist/src/types/tools.js +8 -0
  233. package/dist/src/types/tools.js.map +1 -0
  234. package/dist/src/types/wordpress.d.ts +471 -0
  235. package/dist/src/types/wordpress.d.ts.map +1 -0
  236. package/dist/src/types/wordpress.js +14 -0
  237. package/dist/src/types/wordpress.js.map +1 -0
  238. package/dist/src/utils/debug.d.ts +71 -0
  239. package/dist/src/utils/debug.d.ts.map +1 -0
  240. package/dist/src/utils/debug.js +235 -0
  241. package/dist/src/utils/debug.js.map +1 -0
  242. package/dist/src/utils/enhancedError.d.ts +61 -0
  243. package/dist/src/utils/enhancedError.d.ts.map +1 -0
  244. package/dist/src/utils/enhancedError.js +221 -0
  245. package/dist/src/utils/enhancedError.js.map +1 -0
  246. package/dist/src/utils/error.d.ts +17 -0
  247. package/dist/src/utils/error.d.ts.map +1 -0
  248. package/dist/src/utils/error.js +108 -0
  249. package/dist/src/utils/error.js.map +1 -0
  250. package/dist/src/utils/logger.d.ts +106 -0
  251. package/dist/src/utils/logger.d.ts.map +1 -0
  252. package/dist/src/utils/logger.js +280 -0
  253. package/dist/src/utils/logger.js.map +1 -0
  254. package/dist/src/utils/streaming.d.ts +104 -0
  255. package/dist/src/utils/streaming.d.ts.map +1 -0
  256. package/dist/src/utils/streaming.js +331 -0
  257. package/dist/src/utils/streaming.js.map +1 -0
  258. package/dist/src/utils/toolWrapper.d.ts +42 -0
  259. package/dist/src/utils/toolWrapper.d.ts.map +1 -0
  260. package/dist/src/utils/toolWrapper.js +101 -0
  261. package/dist/src/utils/toolWrapper.js.map +1 -0
  262. package/dist/src/utils/validation/core.d.ts +21 -0
  263. package/dist/src/utils/validation/core.d.ts.map +1 -0
  264. package/dist/src/utils/validation/core.js +71 -0
  265. package/dist/src/utils/validation/core.js.map +1 -0
  266. package/dist/src/utils/validation/index.d.ts +25 -0
  267. package/dist/src/utils/validation/index.d.ts.map +1 -0
  268. package/dist/src/utils/validation/index.js +29 -0
  269. package/dist/src/utils/validation/index.js.map +1 -0
  270. package/dist/src/utils/validation/network.d.ts +19 -0
  271. package/dist/src/utils/validation/network.d.ts.map +1 -0
  272. package/dist/src/utils/validation/network.js +93 -0
  273. package/dist/src/utils/validation/network.js.map +1 -0
  274. package/dist/src/utils/validation/rateLimit.d.ts +21 -0
  275. package/dist/src/utils/validation/rateLimit.d.ts.map +1 -0
  276. package/dist/src/utils/validation/rateLimit.js +43 -0
  277. package/dist/src/utils/validation/rateLimit.js.map +1 -0
  278. package/dist/src/utils/validation/security.d.ts +29 -0
  279. package/dist/src/utils/validation/security.d.ts.map +1 -0
  280. package/dist/src/utils/validation/security.js +327 -0
  281. package/dist/src/utils/validation/security.js.map +1 -0
  282. package/dist/src/utils/validation/wordpress.d.ts +31 -0
  283. package/dist/src/utils/validation/wordpress.d.ts.map +1 -0
  284. package/dist/src/utils/validation/wordpress.js +146 -0
  285. package/dist/src/utils/validation/wordpress.js.map +1 -0
  286. package/dist/src/utils/validation.d.ts +15 -0
  287. package/dist/src/utils/validation.d.ts.map +1 -0
  288. package/dist/src/utils/validation.js +27 -0
  289. package/dist/src/utils/validation.js.map +1 -0
  290. package/dist/tests/vitest.setup.d.ts +6 -0
  291. package/dist/tests/vitest.setup.d.ts.map +1 -0
  292. package/dist/tests/vitest.setup.js +39 -0
  293. package/dist/tests/vitest.setup.js.map +1 -0
  294. package/docs/INSTALLATION.md +4 -2
  295. package/docs/TROUBLESHOOTING.md +2 -1
  296. package/docs/developer/TESTING.md +24 -19
  297. package/docs/integrations/claude-desktop.md +9 -4
  298. package/docs/user-guides/DXT_INSTALLATION.md +2 -1
  299. package/package.json +28 -29
  300. package/src/config/ServerConfiguration.ts +22 -2
  301. package/dist/ajv-patch.js +0 -34
  302. package/dist/cache/__tests__/CacheInvalidation.test.d.ts +0 -5
  303. package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +0 -1
  304. package/dist/cache/__tests__/CacheInvalidation.test.js +0 -238
  305. package/dist/cache/__tests__/CacheInvalidation.test.js.map +0 -1
  306. package/dist/cache/__tests__/CacheManager.test.d.ts +0 -5
  307. package/dist/cache/__tests__/CacheManager.test.d.ts.map +0 -1
  308. package/dist/cache/__tests__/CacheManager.test.js +0 -233
  309. package/dist/cache/__tests__/CacheManager.test.js.map +0 -1
  310. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +0 -5
  311. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +0 -1
  312. package/dist/cache/__tests__/CachedWordPressClient.test.js +0 -231
  313. package/dist/cache/__tests__/CachedWordPressClient.test.js.map +0 -1
  314. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +0 -5
  315. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +0 -1
  316. package/dist/cache/__tests__/HttpCacheWrapper.test.js +0 -300
  317. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +0 -1
  318. package/dist/dxt-entry.cjs +0 -81
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Entry point for DXT package - ensures proper initialization when run through Claude Desktop
4
+ */
5
+ import { LoggerFactory } from "./utils/logger.js";
6
+ import { MCPWordPressServer } from "./index.js";
7
+ const logger = LoggerFactory.server();
8
+ logger.debug("DXT entry point starting...");
9
+ logger.debug(`Current working directory: ${process.cwd()}`);
10
+ logger.debug(`__dirname equivalent: ${import.meta.url}`);
11
+ logger.debug("Environment variables passed from DXT:");
12
+ logger.debug(` WORDPRESS_SITE_URL: ${process.env.WORDPRESS_SITE_URL ? "SET" : "NOT SET"}`);
13
+ logger.debug(` WORDPRESS_USERNAME: ${process.env.WORDPRESS_USERNAME ? "SET" : "NOT SET"}`);
14
+ logger.debug(` WORDPRESS_APP_PASSWORD: ${process.env.WORDPRESS_APP_PASSWORD ? "SET" : "NOT SET"}`);
15
+ async function startDXTServer() {
16
+ try {
17
+ logger.debug("Creating MCPWordPressServer instance from DXT entry point...");
18
+ const server = new MCPWordPressServer();
19
+ logger.debug("Starting server...");
20
+ await server.run();
21
+ // Handle graceful shutdown
22
+ const shutdown = async () => {
23
+ logger.debug("Received shutdown signal in DXT entry point");
24
+ await server.shutdown();
25
+ process.exit(0);
26
+ };
27
+ process.on("SIGINT", shutdown);
28
+ process.on("SIGTERM", shutdown);
29
+ }
30
+ catch (error) {
31
+ logger.fatal(`DXT server failed to start: ${error instanceof Error ? error.message : String(error)}`);
32
+ logger.fatal(`Stack trace: ${error instanceof Error ? error.stack : "No stack trace available"}`);
33
+ process.exit(1);
34
+ }
35
+ }
36
+ // Always run when loaded as DXT entry point
37
+ logger.debug("Calling startDXTServer...");
38
+ startDXTServer();
39
+ //# sourceMappingURL=dxt-entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dxt-entry.js","sourceRoot":"","sources":["../../src/dxt-entry.ts"],"names":[],"mappings":";AAEA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;AAEtC,MAAM,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;AAC5C,MAAM,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;AAC5D,MAAM,CAAC,KAAK,CAAC,yBAAyB,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC;AACzD,MAAM,CAAC,KAAK,CAAC,wCAAwC,CAAC,CAAC;AACvD,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5F,MAAM,CAAC,KAAK,CAAC,yBAAyB,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAC5F,MAAM,CAAC,KAAK,CAAC,6BAA6B,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;AAEpG,KAAK,UAAU,cAAc;IAC3B,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,8DAA8D,CAAC,CAAC;QAC7E,MAAM,MAAM,GAAG,IAAI,kBAAkB,EAAE,CAAC;QACxC,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,MAAM,CAAC,GAAG,EAAE,CAAC;QAEnB,2BAA2B;QAC3B,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;YAC5D,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACtG,MAAM,CAAC,KAAK,CAAC,gBAAgB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,0BAA0B,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,4CAA4C;AAC5C,MAAM,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;AAC1C,cAAc,EAAE,CAAC"}
@@ -0,0 +1,18 @@
1
+ import { McpConfigType } from "./config/ServerConfiguration.js";
2
+ declare class MCPWordPressServer {
3
+ private server;
4
+ private wordpressClients;
5
+ private initialized;
6
+ private siteConfigs;
7
+ private toolRegistry;
8
+ private logger;
9
+ constructor(mcpConfig?: McpConfigType);
10
+ private loadConfiguration;
11
+ private setupTools;
12
+ private testClientConnections;
13
+ run(): Promise<void>;
14
+ shutdown(): Promise<void>;
15
+ }
16
+ export default MCPWordPressServer;
17
+ export { MCPWordPressServer };
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAMhE,cAAM,kBAAkB;IACtB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,WAAW,CAAoB;IACvC,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,MAAM,CAA0B;gBAE5B,SAAS,CAAC,EAAE,aAAa;IA8BrC,OAAO,CAAC,iBAAiB;IAQzB,OAAO,CAAC,UAAU;YAIJ,qBAAqB;IAS7B,GAAG;IAkDH,QAAQ;CAKf;AAkCD,eAAe,kBAAkB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,143 @@
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
3
+ import { fileURLToPath } from "url";
4
+ import { ServerConfiguration } from "./config/ServerConfiguration.js";
5
+ import { ToolRegistry } from "./server/ToolRegistry.js";
6
+ import { ConnectionTester } from "./server/ConnectionTester.js";
7
+ import { getErrorMessage } from "./utils/error.js";
8
+ import { LoggerFactory } from "./utils/logger.js";
9
+ import { ConfigHelpers } from "./config/Config.js";
10
+ // --- Constants ---
11
+ const SERVER_VERSION = "1.1.8"; // Technical debt resolution and modular architecture
12
+ // --- Main Server Class ---
13
+ class MCPWordPressServer {
14
+ server;
15
+ wordpressClients = new Map();
16
+ initialized = false;
17
+ siteConfigs = [];
18
+ toolRegistry;
19
+ logger = LoggerFactory.server();
20
+ constructor(mcpConfig) {
21
+ this.loadConfiguration(mcpConfig);
22
+ if (this.wordpressClients.size === 0) {
23
+ // In test environments, don't exit the process
24
+ if (ConfigHelpers.isCI() || ConfigHelpers.isTest() || globalThis.__EXECUTION_CONTEXT__ === "jest") {
25
+ this.logger.warn("No WordPress sites configured in test environment");
26
+ // Create a dummy client for testing
27
+ this.wordpressClients.set("test", {});
28
+ }
29
+ else {
30
+ this.logger.fatal("No WordPress sites configured. Server cannot start.", {
31
+ expectedEnvVars: [
32
+ "WORDPRESS_SITE_URL",
33
+ "WORDPRESS_USERNAME",
34
+ "WORDPRESS_APP_PASSWORD"
35
+ ]
36
+ });
37
+ process.exit(1);
38
+ }
39
+ }
40
+ this.server = new McpServer({
41
+ name: "mcp-wordpress",
42
+ version: SERVER_VERSION,
43
+ });
44
+ this.toolRegistry = new ToolRegistry(this.server, this.wordpressClients);
45
+ this.setupTools();
46
+ }
47
+ loadConfiguration(mcpConfig) {
48
+ const serverConfig = ServerConfiguration.getInstance();
49
+ const { clients, configs } = serverConfig.loadClientConfigurations(mcpConfig);
50
+ this.wordpressClients = clients;
51
+ this.siteConfigs = configs;
52
+ }
53
+ setupTools() {
54
+ this.toolRegistry.registerAllTools();
55
+ }
56
+ async testClientConnections() {
57
+ // Use optimized connection testing with timeouts and concurrency control
58
+ await ConnectionTester.testClientConnections(this.wordpressClients, {
59
+ timeout: ConfigHelpers.getTimeout("test"),
60
+ maxConcurrent: ConfigHelpers.isCI() ? 2 : 3 // Reduce concurrency in CI
61
+ });
62
+ this.initialized = true;
63
+ }
64
+ async run() {
65
+ // Skip connection testing in DXT environment to prevent timeouts
66
+ const isDXTMode = ConfigHelpers.isDXT() || process.argv[0]?.includes("dxt-entry");
67
+ if (!this.initialized && !isDXTMode) {
68
+ this.logger.info("Testing connections to configured WordPress sites...", {
69
+ siteCount: this.wordpressClients.size
70
+ });
71
+ try {
72
+ await this.testClientConnections();
73
+ }
74
+ catch (error) {
75
+ this.logger.warn("Connection test failed - continuing with server startup", {
76
+ error: getErrorMessage(error)
77
+ });
78
+ }
79
+ }
80
+ else if (isDXTMode) {
81
+ this.logger.info("DXT mode detected - skipping connection tests for faster startup");
82
+ this.initialized = true;
83
+ }
84
+ this.logger.info("Starting MCP WordPress Server...", {
85
+ version: SERVER_VERSION,
86
+ sites: this.wordpressClients.size
87
+ });
88
+ // Connect to stdio transport with timeout
89
+ const transport = new StdioServerTransport();
90
+ // Add timeout protection for server connection
91
+ const connectionTimeout = setTimeout(() => {
92
+ this.logger.fatal("Server connection timed out", { timeoutMs: 30000 });
93
+ process.exit(1);
94
+ }, 30000);
95
+ try {
96
+ await this.server.connect(transport);
97
+ clearTimeout(connectionTimeout);
98
+ this.logger.info("Server started and connected successfully", {
99
+ sites: this.wordpressClients.size
100
+ });
101
+ // Keep the process alive
102
+ process.stdin.resume();
103
+ }
104
+ catch (error) {
105
+ clearTimeout(connectionTimeout);
106
+ throw error;
107
+ }
108
+ }
109
+ async shutdown() {
110
+ this.logger.info("Shutting down MCP WordPress Server...");
111
+ await this.server.close();
112
+ this.logger.info("Server stopped");
113
+ }
114
+ }
115
+ // --- Main Execution ---
116
+ async function main() {
117
+ const mainLogger = LoggerFactory.server();
118
+ try {
119
+ const mcpServer = new MCPWordPressServer();
120
+ await mcpServer.run();
121
+ const shutdown = async () => {
122
+ await mcpServer.shutdown();
123
+ process.exit(0);
124
+ };
125
+ process.on("SIGINT", shutdown);
126
+ process.on("SIGTERM", shutdown);
127
+ }
128
+ catch (error) {
129
+ mainLogger.fatal("Failed to start server", { error: getErrorMessage(error) });
130
+ process.exit(1);
131
+ }
132
+ }
133
+ // Check if running as main module - handle both direct execution and DXT entry point
134
+ const isMainModule = process.argv[1] === fileURLToPath(import.meta.url) ||
135
+ process.argv[1]?.endsWith("/index.js") ||
136
+ process.argv[1]?.endsWith("\\index.js") ||
137
+ !process.argv[1]; // When run through DXT, process.argv[1] might be undefined
138
+ if (isMainModule) {
139
+ main();
140
+ }
141
+ export default MCPWordPressServer;
142
+ export { MCPWordPressServer };
143
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,mBAAmB,EAAc,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,oBAAoB;AACpB,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,qDAAqD;AAErF,4BAA4B;AAC5B,MAAM,kBAAkB;IACd,MAAM,CAAY;IAClB,gBAAgB,GAAiC,IAAI,GAAG,EAAE,CAAC;IAC3D,WAAW,GAAY,KAAK,CAAC;IAC7B,WAAW,GAAiB,EAAE,CAAC;IAC/B,YAAY,CAAe;IAC3B,MAAM,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;IAExC,YAAY,SAAyB;QACnC,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;QAElC,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACrC,+CAA+C;YAC/C,IAAI,aAAa,CAAC,IAAI,EAAE,IAAI,aAAa,CAAC,MAAM,EAAE,IAAK,UAAsC,CAAC,qBAAqB,KAAK,MAAM,EAAE,CAAC;gBAC/H,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBACtE,oCAAoC;gBACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,EAAqB,CAAC,CAAC;YAC3D,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;oBACvE,eAAe,EAAE;wBACf,oBAAoB;wBACpB,oBAAoB;wBACpB,wBAAwB;qBACzB;iBACF,CAAC,CAAC;gBACH,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,SAAS,CAAC;YAC1B,IAAI,EAAE,eAAe;YACrB,OAAO,EAAE,cAAc;SACxB,CAAC,CAAC;QAEH,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzE,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,iBAAiB,CAAC,SAAyB;QACjD,MAAM,YAAY,GAAG,mBAAmB,CAAC,WAAW,EAAE,CAAC;QACvD,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC,wBAAwB,CAAC,SAAS,CAAC,CAAC;QAE9E,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;QAChC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC7B,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,CAAC;IACvC,CAAC;IAEO,KAAK,CAAC,qBAAqB;QACjC,yEAAyE;QACzE,MAAM,gBAAgB,CAAC,qBAAqB,CAAC,IAAI,CAAC,gBAAgB,EAAE;YAClE,OAAO,EAAE,aAAa,CAAC,UAAU,CAAC,MAAM,CAAC;YACzC,aAAa,EAAE,aAAa,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,2BAA2B;SACxE,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1B,CAAC;IAED,KAAK,CAAC,GAAG;QACP,iEAAiE;QACjE,MAAM,SAAS,GAAG,aAAa,CAAC,KAAK,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAC;QAElF,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sDAAsD,EAAE;gBACvE,SAAS,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI;aACtC,CAAC,CAAC;YACH,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACrC,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yDAAyD,EAAE;oBAC1E,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC;iBAC9B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;aAAM,IAAI,SAAS,EAAE,CAAC;YACrB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;YACrF,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QAC1B,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kCAAkC,EAAE;YACnD,OAAO,EAAE,cAAc;YACvB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI;SAClC,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAE7C,+CAA+C;QAC/C,MAAM,iBAAiB,GAAG,UAAU,CAAC,GAAG,EAAE;YACxC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;YACvE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;YACrC,YAAY,CAAC,iBAAiB,CAAC,CAAC;YAEhC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,EAAE;gBAC5D,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI;aAClC,CAAC,CAAC;YAEH,yBAAyB;YACzB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACzB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,YAAY,CAAC,iBAAiB,CAAC,CAAC;YAChC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IACrC,CAAC;CACF;AAED,yBAAyB;AACzB,KAAK,UAAU,IAAI;IACjB,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,EAAE,CAAC;IAE1C,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,kBAAkB,EAAE,CAAC;QAC3C,MAAM,SAAS,CAAC,GAAG,EAAE,CAAC;QAEtB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;YAC1B,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC,CAAC;QAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,KAAK,CAAC,wBAAwB,EAAE,EAAE,KAAK,EAAE,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;IAClD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,WAAW,CAAC;IACtC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,YAAY,CAAC;IACvC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,2DAA2D;AAE/E,IAAI,YAAY,EAAE,CAAC;IACjB,IAAI,EAAE,CAAC;AACT,CAAC;AAED,eAAe,kBAAkB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,145 @@
1
+ /**
2
+ * Real-time Metrics Collector for WordPress MCP Server
3
+ * Integrates with existing client and cache systems
4
+ */
5
+ import { PerformanceMonitor, PerformanceMetrics } from "./PerformanceMonitor.js";
6
+ import type { CacheStats } from "../cache/CacheManager.js";
7
+ import type { ClientStats } from "../types/client.js";
8
+ export interface CollectorConfig {
9
+ enableRealTime: boolean;
10
+ collectInterval: number;
11
+ enableToolTracking: boolean;
12
+ enableRequestInterception: boolean;
13
+ enableCacheIntegration: boolean;
14
+ enableSystemMetrics: boolean;
15
+ }
16
+ export interface RequestMetadata {
17
+ toolName?: string;
18
+ siteId?: string;
19
+ endpoint: string;
20
+ method: string;
21
+ startTime: number;
22
+ fromCache: boolean;
23
+ }
24
+ export interface ToolExecutionContext {
25
+ toolName: string;
26
+ parameters: Record<string, unknown>;
27
+ startTime: number;
28
+ siteId: string | undefined;
29
+ }
30
+ /**
31
+ * Metrics Collector - Central hub for all performance data
32
+ */
33
+ export declare class MetricsCollector {
34
+ private monitor;
35
+ private config;
36
+ private activeRequests;
37
+ private activeTools;
38
+ private clientInstances;
39
+ private cacheManagers;
40
+ private logger;
41
+ private realTimeInterval?;
42
+ constructor(monitor: PerformanceMonitor, config?: Partial<CollectorConfig>);
43
+ /**
44
+ * Register a WordPress client for monitoring
45
+ */
46
+ registerClient(siteId: string, client: unknown): void;
47
+ /**
48
+ * Register a cache manager for monitoring
49
+ */
50
+ registerCacheManager(siteId: string, cacheManager: unknown): void;
51
+ /**
52
+ * Start tracking a tool execution
53
+ */
54
+ startToolExecution(toolName: string, parameters: Record<string, unknown>, siteId?: string): string;
55
+ /**
56
+ * End tool execution and record metrics
57
+ */
58
+ endToolExecution(executionId: string, success: boolean, error?: Error): void;
59
+ /**
60
+ * Record a raw request (bypass tool tracking)
61
+ */
62
+ recordRawRequest(responseTime: number, success: boolean, endpoint: string, fromCache?: boolean): void;
63
+ /**
64
+ * Collect current metrics from all sources
65
+ */
66
+ collectCurrentMetrics(): PerformanceMetrics;
67
+ /**
68
+ * Get aggregated cache statistics
69
+ */
70
+ getAggregatedCacheStats(): CacheStats;
71
+ /**
72
+ * Get aggregated client statistics
73
+ */
74
+ getAggregatedClientStats(): ClientStats;
75
+ /**
76
+ * Get performance summary for specific site
77
+ */
78
+ getSiteMetrics(siteId: string): {
79
+ cache?: CacheStats;
80
+ client?: ClientStats;
81
+ isActive: boolean;
82
+ };
83
+ /**
84
+ * Generate performance comparison between sites
85
+ */
86
+ compareSitePerformance(): {
87
+ sites: string[];
88
+ comparison: Record<string, {
89
+ responseTime: number;
90
+ cacheHitRate: number;
91
+ errorRate: number;
92
+ requestCount: number;
93
+ ranking: number;
94
+ }>;
95
+ bestPerforming: string;
96
+ worstPerforming: string;
97
+ };
98
+ /**
99
+ * Generate optimization suggestions
100
+ */
101
+ generateOptimizationSuggestions(): {
102
+ critical: string[];
103
+ recommended: string[];
104
+ optional: string[];
105
+ };
106
+ /**
107
+ * Export detailed performance report
108
+ */
109
+ exportDetailedReport(): {
110
+ timestamp: string;
111
+ overview: PerformanceMetrics;
112
+ siteComparison: Record<string, unknown>;
113
+ aggregatedStats: {
114
+ cache: CacheStats;
115
+ client: ClientStats;
116
+ };
117
+ optimizations: Record<string, unknown>;
118
+ alerts: unknown[];
119
+ };
120
+ /**
121
+ * Start real-time metric collection
122
+ */
123
+ private startRealTimeCollection;
124
+ /**
125
+ * Stop real-time collection and cleanup resources
126
+ */
127
+ destroy(): void;
128
+ /**
129
+ * Update cache metrics in performance monitor
130
+ */
131
+ private updateCacheMetrics;
132
+ /**
133
+ * Update client metrics in performance monitor
134
+ */
135
+ private updateClientMetrics;
136
+ /**
137
+ * Intercept client requests for automatic tracking
138
+ */
139
+ private interceptClientRequests;
140
+ /**
141
+ * Stop all monitoring and cleanup
142
+ */
143
+ stop(): void;
144
+ }
145
+ //# sourceMappingURL=MetricsCollector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MetricsCollector.d.ts","sourceRoot":"","sources":["../../../src/performance/MetricsCollector.ts"],"names":[],"mappings":"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"}