mcp-wordpress 2.5.1 → 2.5.3

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 (289) hide show
  1. package/package.json +1 -1
  2. package/dist/src/cache/CacheInvalidation.d.ts +0 -120
  3. package/dist/src/cache/CacheInvalidation.d.ts.map +0 -1
  4. package/dist/src/cache/CacheInvalidation.js +0 -355
  5. package/dist/src/cache/CacheInvalidation.js.map +0 -1
  6. package/dist/src/cache/CacheManager.d.ts +0 -149
  7. package/dist/src/cache/CacheManager.d.ts.map +0 -1
  8. package/dist/src/cache/CacheManager.js +0 -326
  9. package/dist/src/cache/CacheManager.js.map +0 -1
  10. package/dist/src/cache/HttpCacheWrapper.d.ts +0 -122
  11. package/dist/src/cache/HttpCacheWrapper.d.ts.map +0 -1
  12. package/dist/src/cache/HttpCacheWrapper.js +0 -283
  13. package/dist/src/cache/HttpCacheWrapper.js.map +0 -1
  14. package/dist/src/cache/index.d.ts +0 -12
  15. package/dist/src/cache/index.d.ts.map +0 -1
  16. package/dist/src/cache/index.js +0 -9
  17. package/dist/src/cache/index.js.map +0 -1
  18. package/dist/src/client/CachedWordPressClient.d.ts +0 -174
  19. package/dist/src/client/CachedWordPressClient.d.ts.map +0 -1
  20. package/dist/src/client/CachedWordPressClient.js +0 -345
  21. package/dist/src/client/CachedWordPressClient.js.map +0 -1
  22. package/dist/src/client/MockWordPressClient.d.ts +0 -56
  23. package/dist/src/client/MockWordPressClient.d.ts.map +0 -1
  24. package/dist/src/client/MockWordPressClient.js +0 -371
  25. package/dist/src/client/MockWordPressClient.js.map +0 -1
  26. package/dist/src/client/api.d.ts +0 -235
  27. package/dist/src/client/api.d.ts.map +0 -1
  28. package/dist/src/client/api.js +0 -896
  29. package/dist/src/client/api.js.map +0 -1
  30. package/dist/src/client/auth.d.ts +0 -121
  31. package/dist/src/client/auth.d.ts.map +0 -1
  32. package/dist/src/client/auth.js +0 -429
  33. package/dist/src/client/auth.js.map +0 -1
  34. package/dist/src/client/managers/AuthenticationManager.d.ts +0 -92
  35. package/dist/src/client/managers/AuthenticationManager.d.ts.map +0 -1
  36. package/dist/src/client/managers/AuthenticationManager.js +0 -369
  37. package/dist/src/client/managers/AuthenticationManager.js.map +0 -1
  38. package/dist/src/client/managers/BaseManager.d.ts +0 -22
  39. package/dist/src/client/managers/BaseManager.d.ts.map +0 -1
  40. package/dist/src/client/managers/BaseManager.js +0 -53
  41. package/dist/src/client/managers/BaseManager.js.map +0 -1
  42. package/dist/src/client/managers/RequestManager.d.ts +0 -47
  43. package/dist/src/client/managers/RequestManager.d.ts.map +0 -1
  44. package/dist/src/client/managers/RequestManager.js +0 -193
  45. package/dist/src/client/managers/RequestManager.js.map +0 -1
  46. package/dist/src/client/managers/index.d.ts +0 -8
  47. package/dist/src/client/managers/index.d.ts.map +0 -1
  48. package/dist/src/client/managers/index.js +0 -8
  49. package/dist/src/client/managers/index.js.map +0 -1
  50. package/dist/src/config/Config.d.ts +0 -155
  51. package/dist/src/config/Config.d.ts.map +0 -1
  52. package/dist/src/config/Config.js +0 -215
  53. package/dist/src/config/Config.js.map +0 -1
  54. package/dist/src/config/ConfigurationSchema.d.ts +0 -281
  55. package/dist/src/config/ConfigurationSchema.d.ts.map +0 -1
  56. package/dist/src/config/ConfigurationSchema.js +0 -205
  57. package/dist/src/config/ConfigurationSchema.js.map +0 -1
  58. package/dist/src/config/ServerConfiguration.d.ts +0 -47
  59. package/dist/src/config/ServerConfiguration.d.ts.map +0 -1
  60. package/dist/src/config/ServerConfiguration.js +0 -255
  61. package/dist/src/config/ServerConfiguration.js.map +0 -1
  62. package/dist/src/docs/DocumentationGenerator.d.ts +0 -185
  63. package/dist/src/docs/DocumentationGenerator.d.ts.map +0 -1
  64. package/dist/src/docs/DocumentationGenerator.js +0 -777
  65. package/dist/src/docs/DocumentationGenerator.js.map +0 -1
  66. package/dist/src/docs/MarkdownFormatter.d.ts +0 -84
  67. package/dist/src/docs/MarkdownFormatter.d.ts.map +0 -1
  68. package/dist/src/docs/MarkdownFormatter.js +0 -458
  69. package/dist/src/docs/MarkdownFormatter.js.map +0 -1
  70. package/dist/src/docs/index.d.ts +0 -8
  71. package/dist/src/docs/index.d.ts.map +0 -1
  72. package/dist/src/docs/index.js +0 -7
  73. package/dist/src/docs/index.js.map +0 -1
  74. package/dist/src/dxt-entry.d.ts +0 -6
  75. package/dist/src/dxt-entry.d.ts.map +0 -1
  76. package/dist/src/dxt-entry.js +0 -39
  77. package/dist/src/dxt-entry.js.map +0 -1
  78. package/dist/src/index.d.ts +0 -18
  79. package/dist/src/index.d.ts.map +0 -1
  80. package/dist/src/index.js +0 -143
  81. package/dist/src/index.js.map +0 -1
  82. package/dist/src/performance/MetricsCollector.d.ts +0 -145
  83. package/dist/src/performance/MetricsCollector.d.ts.map +0 -1
  84. package/dist/src/performance/MetricsCollector.js +0 -368
  85. package/dist/src/performance/MetricsCollector.js.map +0 -1
  86. package/dist/src/performance/PerformanceAnalytics.d.ts +0 -168
  87. package/dist/src/performance/PerformanceAnalytics.d.ts.map +0 -1
  88. package/dist/src/performance/PerformanceAnalytics.js +0 -570
  89. package/dist/src/performance/PerformanceAnalytics.js.map +0 -1
  90. package/dist/src/performance/PerformanceMonitor.d.ts +0 -203
  91. package/dist/src/performance/PerformanceMonitor.d.ts.map +0 -1
  92. package/dist/src/performance/PerformanceMonitor.js +0 -478
  93. package/dist/src/performance/PerformanceMonitor.js.map +0 -1
  94. package/dist/src/performance/index.d.ts +0 -11
  95. package/dist/src/performance/index.d.ts.map +0 -1
  96. package/dist/src/performance/index.js +0 -8
  97. package/dist/src/performance/index.js.map +0 -1
  98. package/dist/src/security/AISecurityScanner.d.ts +0 -176
  99. package/dist/src/security/AISecurityScanner.d.ts.map +0 -1
  100. package/dist/src/security/AISecurityScanner.js +0 -655
  101. package/dist/src/security/AISecurityScanner.js.map +0 -1
  102. package/dist/src/security/AutomatedRemediation.d.ts +0 -146
  103. package/dist/src/security/AutomatedRemediation.d.ts.map +0 -1
  104. package/dist/src/security/AutomatedRemediation.js +0 -566
  105. package/dist/src/security/AutomatedRemediation.js.map +0 -1
  106. package/dist/src/security/InputValidator.d.ts +0 -219
  107. package/dist/src/security/InputValidator.d.ts.map +0 -1
  108. package/dist/src/security/InputValidator.js +0 -295
  109. package/dist/src/security/InputValidator.js.map +0 -1
  110. package/dist/src/security/SecurityCIPipeline.d.ts +0 -213
  111. package/dist/src/security/SecurityCIPipeline.d.ts.map +0 -1
  112. package/dist/src/security/SecurityCIPipeline.js +0 -693
  113. package/dist/src/security/SecurityCIPipeline.js.map +0 -1
  114. package/dist/src/security/SecurityConfig.d.ts +0 -129
  115. package/dist/src/security/SecurityConfig.d.ts.map +0 -1
  116. package/dist/src/security/SecurityConfig.js +0 -266
  117. package/dist/src/security/SecurityConfig.js.map +0 -1
  118. package/dist/src/security/SecurityConfigManager.d.ts +0 -294
  119. package/dist/src/security/SecurityConfigManager.d.ts.map +0 -1
  120. package/dist/src/security/SecurityConfigManager.js +0 -558
  121. package/dist/src/security/SecurityConfigManager.js.map +0 -1
  122. package/dist/src/security/SecurityMonitoring.d.ts +0 -245
  123. package/dist/src/security/SecurityMonitoring.d.ts.map +0 -1
  124. package/dist/src/security/SecurityMonitoring.js +0 -598
  125. package/dist/src/security/SecurityMonitoring.js.map +0 -1
  126. package/dist/src/security/SecurityReviewer.d.ts +0 -168
  127. package/dist/src/security/SecurityReviewer.d.ts.map +0 -1
  128. package/dist/src/security/SecurityReviewer.js +0 -686
  129. package/dist/src/security/SecurityReviewer.js.map +0 -1
  130. package/dist/src/security/index.d.ts +0 -183
  131. package/dist/src/security/index.d.ts.map +0 -1
  132. package/dist/src/security/index.js +0 -218
  133. package/dist/src/security/index.js.map +0 -1
  134. package/dist/src/server/ConnectionTester.d.ts +0 -32
  135. package/dist/src/server/ConnectionTester.d.ts.map +0 -1
  136. package/dist/src/server/ConnectionTester.js +0 -135
  137. package/dist/src/server/ConnectionTester.js.map +0 -1
  138. package/dist/src/server/ToolRegistry.d.ts +0 -50
  139. package/dist/src/server/ToolRegistry.d.ts.map +0 -1
  140. package/dist/src/server/ToolRegistry.js +0 -219
  141. package/dist/src/server/ToolRegistry.js.map +0 -1
  142. package/dist/src/server.d.ts +0 -7
  143. package/dist/src/server.d.ts.map +0 -1
  144. package/dist/src/server.js +0 -7
  145. package/dist/src/server.js.map +0 -1
  146. package/dist/src/tools/BaseToolManager.d.ts +0 -62
  147. package/dist/src/tools/BaseToolManager.d.ts.map +0 -1
  148. package/dist/src/tools/BaseToolManager.js +0 -195
  149. package/dist/src/tools/BaseToolManager.js.map +0 -1
  150. package/dist/src/tools/auth.d.ts +0 -50
  151. package/dist/src/tools/auth.d.ts.map +0 -1
  152. package/dist/src/tools/auth.js +0 -133
  153. package/dist/src/tools/auth.js.map +0 -1
  154. package/dist/src/tools/cache.d.ts +0 -260
  155. package/dist/src/tools/cache.d.ts.map +0 -1
  156. package/dist/src/tools/cache.js +0 -232
  157. package/dist/src/tools/cache.js.map +0 -1
  158. package/dist/src/tools/comments.d.ts +0 -33
  159. package/dist/src/tools/comments.d.ts.map +0 -1
  160. package/dist/src/tools/comments.js +0 -235
  161. package/dist/src/tools/comments.js.map +0 -1
  162. package/dist/src/tools/index.d.ts +0 -11
  163. package/dist/src/tools/index.d.ts.map +0 -1
  164. package/dist/src/tools/index.js +0 -11
  165. package/dist/src/tools/index.js.map +0 -1
  166. package/dist/src/tools/media.d.ts +0 -70
  167. package/dist/src/tools/media.d.ts.map +0 -1
  168. package/dist/src/tools/media.js +0 -248
  169. package/dist/src/tools/media.js.map +0 -1
  170. package/dist/src/tools/pages.d.ts +0 -32
  171. package/dist/src/tools/pages.d.ts.map +0 -1
  172. package/dist/src/tools/pages.js +0 -215
  173. package/dist/src/tools/pages.js.map +0 -1
  174. package/dist/src/tools/performance.d.ts +0 -73
  175. package/dist/src/tools/performance.d.ts.map +0 -1
  176. package/dist/src/tools/performance.js +0 -922
  177. package/dist/src/tools/performance.js.map +0 -1
  178. package/dist/src/tools/posts/PostHandlers.d.ts +0 -46
  179. package/dist/src/tools/posts/PostHandlers.d.ts.map +0 -1
  180. package/dist/src/tools/posts/PostHandlers.js +0 -400
  181. package/dist/src/tools/posts/PostHandlers.js.map +0 -1
  182. package/dist/src/tools/posts/PostToolDefinitions.d.ts +0 -37
  183. package/dist/src/tools/posts/PostToolDefinitions.d.ts.map +0 -1
  184. package/dist/src/tools/posts/PostToolDefinitions.js +0 -236
  185. package/dist/src/tools/posts/PostToolDefinitions.js.map +0 -1
  186. package/dist/src/tools/posts/index.d.ts +0 -138
  187. package/dist/src/tools/posts/index.d.ts.map +0 -1
  188. package/dist/src/tools/posts/index.js +0 -163
  189. package/dist/src/tools/posts/index.js.map +0 -1
  190. package/dist/src/tools/posts.d.ts +0 -15
  191. package/dist/src/tools/posts.d.ts.map +0 -1
  192. package/dist/src/tools/posts.js +0 -16
  193. package/dist/src/tools/posts.js.map +0 -1
  194. package/dist/src/tools/site.d.ts +0 -32
  195. package/dist/src/tools/site.d.ts.map +0 -1
  196. package/dist/src/tools/site.js +0 -234
  197. package/dist/src/tools/site.js.map +0 -1
  198. package/dist/src/tools/taxonomies.d.ts +0 -36
  199. package/dist/src/tools/taxonomies.d.ts.map +0 -1
  200. package/dist/src/tools/taxonomies.js +0 -286
  201. package/dist/src/tools/taxonomies.js.map +0 -1
  202. package/dist/src/tools/users.d.ts +0 -33
  203. package/dist/src/tools/users.d.ts.map +0 -1
  204. package/dist/src/tools/users.js +0 -308
  205. package/dist/src/tools/users.js.map +0 -1
  206. package/dist/src/types/client.d.ts +0 -223
  207. package/dist/src/types/client.d.ts.map +0 -1
  208. package/dist/src/types/client.js +0 -97
  209. package/dist/src/types/client.js.map +0 -1
  210. package/dist/src/types/enhanced.d.ts +0 -237
  211. package/dist/src/types/enhanced.d.ts.map +0 -1
  212. package/dist/src/types/enhanced.js +0 -49
  213. package/dist/src/types/enhanced.js.map +0 -1
  214. package/dist/src/types/index.d.ts +0 -160
  215. package/dist/src/types/index.d.ts.map +0 -1
  216. package/dist/src/types/index.js +0 -14
  217. package/dist/src/types/index.js.map +0 -1
  218. package/dist/src/types/mcp.d.ts +0 -178
  219. package/dist/src/types/mcp.d.ts.map +0 -1
  220. package/dist/src/types/mcp.js +0 -7
  221. package/dist/src/types/mcp.js.map +0 -1
  222. package/dist/src/types/requests.d.ts +0 -322
  223. package/dist/src/types/requests.d.ts.map +0 -1
  224. package/dist/src/types/requests.js +0 -8
  225. package/dist/src/types/requests.js.map +0 -1
  226. package/dist/src/types/tools.d.ts +0 -506
  227. package/dist/src/types/tools.d.ts.map +0 -1
  228. package/dist/src/types/tools.js +0 -8
  229. package/dist/src/types/tools.js.map +0 -1
  230. package/dist/src/types/wordpress.d.ts +0 -471
  231. package/dist/src/types/wordpress.d.ts.map +0 -1
  232. package/dist/src/types/wordpress.js +0 -14
  233. package/dist/src/types/wordpress.js.map +0 -1
  234. package/dist/src/utils/debug.d.ts +0 -71
  235. package/dist/src/utils/debug.d.ts.map +0 -1
  236. package/dist/src/utils/debug.js +0 -235
  237. package/dist/src/utils/debug.js.map +0 -1
  238. package/dist/src/utils/enhancedError.d.ts +0 -61
  239. package/dist/src/utils/enhancedError.d.ts.map +0 -1
  240. package/dist/src/utils/enhancedError.js +0 -221
  241. package/dist/src/utils/enhancedError.js.map +0 -1
  242. package/dist/src/utils/error.d.ts +0 -17
  243. package/dist/src/utils/error.d.ts.map +0 -1
  244. package/dist/src/utils/error.js +0 -108
  245. package/dist/src/utils/error.js.map +0 -1
  246. package/dist/src/utils/logger.d.ts +0 -106
  247. package/dist/src/utils/logger.d.ts.map +0 -1
  248. package/dist/src/utils/logger.js +0 -280
  249. package/dist/src/utils/logger.js.map +0 -1
  250. package/dist/src/utils/streaming.d.ts +0 -104
  251. package/dist/src/utils/streaming.d.ts.map +0 -1
  252. package/dist/src/utils/streaming.js +0 -331
  253. package/dist/src/utils/streaming.js.map +0 -1
  254. package/dist/src/utils/toolWrapper.d.ts +0 -42
  255. package/dist/src/utils/toolWrapper.d.ts.map +0 -1
  256. package/dist/src/utils/toolWrapper.js +0 -101
  257. package/dist/src/utils/toolWrapper.js.map +0 -1
  258. package/dist/src/utils/validation/core.d.ts +0 -21
  259. package/dist/src/utils/validation/core.d.ts.map +0 -1
  260. package/dist/src/utils/validation/core.js +0 -71
  261. package/dist/src/utils/validation/core.js.map +0 -1
  262. package/dist/src/utils/validation/index.d.ts +0 -25
  263. package/dist/src/utils/validation/index.d.ts.map +0 -1
  264. package/dist/src/utils/validation/index.js +0 -29
  265. package/dist/src/utils/validation/index.js.map +0 -1
  266. package/dist/src/utils/validation/network.d.ts +0 -19
  267. package/dist/src/utils/validation/network.d.ts.map +0 -1
  268. package/dist/src/utils/validation/network.js +0 -93
  269. package/dist/src/utils/validation/network.js.map +0 -1
  270. package/dist/src/utils/validation/rateLimit.d.ts +0 -21
  271. package/dist/src/utils/validation/rateLimit.d.ts.map +0 -1
  272. package/dist/src/utils/validation/rateLimit.js +0 -43
  273. package/dist/src/utils/validation/rateLimit.js.map +0 -1
  274. package/dist/src/utils/validation/security.d.ts +0 -29
  275. package/dist/src/utils/validation/security.d.ts.map +0 -1
  276. package/dist/src/utils/validation/security.js +0 -327
  277. package/dist/src/utils/validation/security.js.map +0 -1
  278. package/dist/src/utils/validation/wordpress.d.ts +0 -31
  279. package/dist/src/utils/validation/wordpress.d.ts.map +0 -1
  280. package/dist/src/utils/validation/wordpress.js +0 -146
  281. package/dist/src/utils/validation/wordpress.js.map +0 -1
  282. package/dist/src/utils/validation.d.ts +0 -15
  283. package/dist/src/utils/validation.d.ts.map +0 -1
  284. package/dist/src/utils/validation.js +0 -27
  285. package/dist/src/utils/validation.js.map +0 -1
  286. package/dist/tests/vitest.setup.d.ts +0 -6
  287. package/dist/tests/vitest.setup.d.ts.map +0 -1
  288. package/dist/tests/vitest.setup.js +0 -39
  289. package/dist/tests/vitest.setup.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mcp-wordpress",
3
- "version": "2.5.1",
3
+ "version": "2.5.3",
4
4
  "description": "Comprehensive Model Context Protocol server for WordPress management with 59 tools, performance monitoring, intelligent caching, auto-generated documentation, Docker support, TypeScript, and production-ready authentication - CI/CD test",
5
5
  "keywords": [
6
6
  "mcp",
@@ -1,120 +0,0 @@
1
- /**
2
- * Intelligent cache invalidation strategies for WordPress MCP Server
3
- * Implements event-based and pattern-based invalidation
4
- */
5
- import { HttpCacheWrapper } from "./HttpCacheWrapper.js";
6
- export interface InvalidationRule {
7
- trigger: string;
8
- patterns: string[];
9
- immediate?: boolean;
10
- cascade?: boolean;
11
- }
12
- export interface InvalidationEvent {
13
- type: "create" | "update" | "delete";
14
- resource: string;
15
- id?: number | undefined;
16
- siteId: string;
17
- timestamp: number;
18
- data?: unknown;
19
- }
20
- /**
21
- * Cache invalidation manager that handles intelligent cache clearing
22
- */
23
- export declare class CacheInvalidation {
24
- private httpCache;
25
- private invalidationRules;
26
- private eventQueue;
27
- private processing;
28
- private logger;
29
- constructor(httpCache: HttpCacheWrapper);
30
- /**
31
- * Register invalidation rule
32
- */
33
- registerRule(resource: string, rule: InvalidationRule): void;
34
- /**
35
- * Trigger invalidation event
36
- */
37
- trigger(event: InvalidationEvent): Promise<void>;
38
- /**
39
- * Invalidate cache for specific resource
40
- */
41
- invalidateResource(resource: string, id?: number, type?: "create" | "update" | "delete"): Promise<void>;
42
- /**
43
- * Setup default invalidation rules
44
- */
45
- private setupDefaultRules;
46
- /**
47
- * Process invalidation event queue
48
- */
49
- private processQueue;
50
- /**
51
- * Process single invalidation event
52
- */
53
- private processEvent;
54
- /**
55
- * Apply invalidation rule to cache
56
- */
57
- private applyInvalidationRule;
58
- /**
59
- * Get invalidation statistics
60
- */
61
- getStats(): {
62
- queueSize: number;
63
- rulesCount: number;
64
- processing: boolean;
65
- };
66
- /**
67
- * Clear all invalidation rules
68
- */
69
- clearRules(): void;
70
- /**
71
- * Get all registered rules
72
- */
73
- getRules(): Record<string, InvalidationRule[]>;
74
- }
75
- /**
76
- * Cache invalidation patterns for common WordPress operations
77
- */
78
- export declare class WordPressCachePatterns {
79
- /**
80
- * Invalidate all content-related caches
81
- */
82
- static invalidateContent(cache: HttpCacheWrapper): number;
83
- /**
84
- * Invalidate all taxonomy-related caches
85
- */
86
- static invalidateTaxonomies(cache: HttpCacheWrapper): number;
87
- /**
88
- * Invalidate all user-related caches
89
- */
90
- static invalidateUsers(cache: HttpCacheWrapper): number;
91
- /**
92
- * Invalidate search-related caches
93
- */
94
- static invalidateSearch(cache: HttpCacheWrapper): number;
95
- /**
96
- * Invalidate all caches (nuclear option)
97
- */
98
- static invalidateAll(cache: HttpCacheWrapper): number;
99
- }
100
- /**
101
- * Cache warming strategies for common WordPress data
102
- */
103
- export declare class CacheWarmer {
104
- private httpCache;
105
- private logger;
106
- constructor(httpCache: HttpCacheWrapper);
107
- /**
108
- * Warm cache with essential WordPress data
109
- */
110
- warmEssentials(): Promise<void>;
111
- /**
112
- * Warm cache with taxonomy data
113
- */
114
- warmTaxonomies(): Promise<void>;
115
- /**
116
- * Warm cache with user data
117
- */
118
- warmUsers(): Promise<void>;
119
- }
120
- //# sourceMappingURL=CacheInvalidation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheInvalidation.d.ts","sourceRoot":"","sources":["../../../src/cache/CacheInvalidation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,SAAS;IAL7B,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAyB;gBAEnB,SAAS,EAAE,gBAAgB;IAI/C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAO5D;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,IAAI,GAAE,QAAQ,GAAG,QAAQ,GAAG,QAAmB,GAC9C,OAAO,CAAC,IAAI,CAAC;IAYhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuLzB;;OAEG;YACW,YAAY;IAiB1B;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,qBAAqB;IAqBnC;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACrB;IAQD;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAO/C;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIzD;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAI5D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIvD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIxD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;CAGtD;AAED;;GAEG;AACH,qBAAa,WAAW;IAGV,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,MAAM,CAAyB;gBAEnB,SAAS,EAAE,gBAAgB;IAE/C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
@@ -1,355 +0,0 @@
1
- /**
2
- * Intelligent cache invalidation strategies for WordPress MCP Server
3
- * Implements event-based and pattern-based invalidation
4
- */
5
- import { LoggerFactory } from "../utils/logger.js";
6
- /**
7
- * Cache invalidation manager that handles intelligent cache clearing
8
- */
9
- export class CacheInvalidation {
10
- httpCache;
11
- invalidationRules = new Map();
12
- eventQueue = [];
13
- processing = false;
14
- logger = LoggerFactory.cache();
15
- constructor(httpCache) {
16
- this.httpCache = httpCache;
17
- this.setupDefaultRules();
18
- }
19
- /**
20
- * Register invalidation rule
21
- */
22
- registerRule(resource, rule) {
23
- if (!this.invalidationRules.has(resource)) {
24
- this.invalidationRules.set(resource, []);
25
- }
26
- this.invalidationRules.get(resource).push(rule);
27
- }
28
- /**
29
- * Trigger invalidation event
30
- */
31
- async trigger(event) {
32
- this.eventQueue.push(event);
33
- if (!this.processing) {
34
- await this.processQueue();
35
- }
36
- }
37
- /**
38
- * Invalidate cache for specific resource
39
- */
40
- async invalidateResource(resource, id, type = "update") {
41
- const event = {
42
- type,
43
- resource,
44
- id,
45
- siteId: this.httpCache["siteId"], // Access private property
46
- timestamp: Date.now(),
47
- };
48
- await this.trigger(event);
49
- }
50
- /**
51
- * Setup default invalidation rules
52
- */
53
- setupDefaultRules() {
54
- // Post invalidation rules
55
- this.registerRule("posts", {
56
- trigger: "create",
57
- patterns: [
58
- "posts", // All posts listings
59
- "posts/\\d+", // Specific post
60
- "categories", // Category listings (if post has categories)
61
- "tags", // Tag listings (if post has tags)
62
- "search", // Search results
63
- ],
64
- immediate: true,
65
- cascade: true,
66
- });
67
- this.registerRule("posts", {
68
- trigger: "update",
69
- patterns: [
70
- "posts/\\d+", // Specific post
71
- "posts.*", // All posts with parameters
72
- "search", // Search results
73
- ],
74
- immediate: true,
75
- });
76
- this.registerRule("posts", {
77
- trigger: "delete",
78
- patterns: [
79
- "posts", // All posts listings
80
- "posts/\\d+", // Specific post
81
- "categories", // Category counts might change
82
- "tags", // Tag counts might change
83
- "search", // Search results
84
- ],
85
- immediate: true,
86
- cascade: true,
87
- });
88
- // Page invalidation rules
89
- this.registerRule("pages", {
90
- trigger: "create",
91
- patterns: ["pages", "pages/\\d+"],
92
- immediate: true,
93
- });
94
- this.registerRule("pages", {
95
- trigger: "update",
96
- patterns: ["pages/\\d+", "pages.*"],
97
- immediate: true,
98
- });
99
- this.registerRule("pages", {
100
- trigger: "delete",
101
- patterns: ["pages", "pages/\\d+"],
102
- immediate: true,
103
- });
104
- // Comment invalidation rules
105
- this.registerRule("comments", {
106
- trigger: "create",
107
- patterns: [
108
- "comments",
109
- "comments.*",
110
- "posts/\\d+.*", // Parent post cache
111
- ],
112
- immediate: true,
113
- });
114
- this.registerRule("comments", {
115
- trigger: "update",
116
- patterns: [
117
- "comments/\\d+",
118
- "comments.*",
119
- "posts/\\d+.*", // Parent post cache
120
- ],
121
- immediate: true,
122
- });
123
- this.registerRule("comments", {
124
- trigger: "delete",
125
- patterns: [
126
- "comments",
127
- "comments/\\d+",
128
- "posts/\\d+.*", // Parent post cache
129
- ],
130
- immediate: true,
131
- });
132
- // Media invalidation rules
133
- this.registerRule("media", {
134
- trigger: "create",
135
- patterns: ["media", "media.*"],
136
- immediate: true,
137
- });
138
- this.registerRule("media", {
139
- trigger: "update",
140
- patterns: ["media/\\d+", "media.*"],
141
- immediate: true,
142
- });
143
- this.registerRule("media", {
144
- trigger: "delete",
145
- patterns: ["media", "media/\\d+"],
146
- immediate: true,
147
- });
148
- // User invalidation rules
149
- this.registerRule("users", {
150
- trigger: "create",
151
- patterns: ["users", "users.*"],
152
- immediate: true,
153
- });
154
- this.registerRule("users", {
155
- trigger: "update",
156
- patterns: [
157
- "users/\\d+",
158
- "users.*",
159
- "users/me", // Current user info
160
- ],
161
- immediate: true,
162
- });
163
- this.registerRule("users", {
164
- trigger: "delete",
165
- patterns: ["users", "users/\\d+"],
166
- immediate: true,
167
- });
168
- // Category invalidation rules
169
- this.registerRule("categories", {
170
- trigger: "create",
171
- patterns: ["categories", "categories.*", "posts.*"],
172
- immediate: true,
173
- cascade: true,
174
- });
175
- this.registerRule("categories", {
176
- trigger: "update",
177
- patterns: ["categories/\\d+", "categories.*", "posts.*"],
178
- immediate: true,
179
- cascade: true,
180
- });
181
- this.registerRule("categories", {
182
- trigger: "delete",
183
- patterns: ["categories", "categories/\\d+", "posts.*"],
184
- immediate: true,
185
- cascade: true,
186
- });
187
- // Tag invalidation rules
188
- this.registerRule("tags", {
189
- trigger: "create",
190
- patterns: ["tags", "tags.*", "posts.*"],
191
- immediate: true,
192
- cascade: true,
193
- });
194
- this.registerRule("tags", {
195
- trigger: "update",
196
- patterns: ["tags/\\d+", "tags.*", "posts.*"],
197
- immediate: true,
198
- cascade: true,
199
- });
200
- this.registerRule("tags", {
201
- trigger: "delete",
202
- patterns: ["tags", "tags/\\d+", "posts.*"],
203
- immediate: true,
204
- cascade: true,
205
- });
206
- // Settings invalidation rules (rarely change)
207
- this.registerRule("settings", {
208
- trigger: "update",
209
- patterns: ["settings.*"],
210
- immediate: true,
211
- cascade: false,
212
- });
213
- }
214
- /**
215
- * Process invalidation event queue
216
- */
217
- async processQueue() {
218
- if (this.processing || this.eventQueue.length === 0) {
219
- return;
220
- }
221
- this.processing = true;
222
- try {
223
- while (this.eventQueue.length > 0) {
224
- const event = this.eventQueue.shift();
225
- await this.processEvent(event);
226
- }
227
- }
228
- finally {
229
- this.processing = false;
230
- }
231
- }
232
- /**
233
- * Process single invalidation event
234
- */
235
- async processEvent(event) {
236
- const rules = this.invalidationRules.get(event.resource) || [];
237
- for (const rule of rules) {
238
- if (rule.trigger === event.type || rule.trigger === "*") {
239
- await this.applyInvalidationRule(event, rule);
240
- }
241
- }
242
- }
243
- /**
244
- * Apply invalidation rule to cache
245
- */
246
- async applyInvalidationRule(event, rule) {
247
- for (const pattern of rule.patterns) {
248
- let invalidationPattern = pattern;
249
- // Replace placeholders with actual values
250
- if (event.id) {
251
- invalidationPattern = invalidationPattern.replace("\\d+", event.id.toString());
252
- }
253
- // Invalidate matching cache entries
254
- const invalidated = this.httpCache.invalidatePattern(invalidationPattern);
255
- if (invalidated > 0) {
256
- this.logger.info("Cache entries invalidated", {
257
- count: invalidated,
258
- pattern: invalidationPattern,
259
- });
260
- }
261
- }
262
- }
263
- /**
264
- * Get invalidation statistics
265
- */
266
- getStats() {
267
- return {
268
- queueSize: this.eventQueue.length,
269
- rulesCount: Array.from(this.invalidationRules.values()).reduce((acc, rules) => acc + rules.length, 0),
270
- processing: this.processing,
271
- };
272
- }
273
- /**
274
- * Clear all invalidation rules
275
- */
276
- clearRules() {
277
- this.invalidationRules.clear();
278
- }
279
- /**
280
- * Get all registered rules
281
- */
282
- getRules() {
283
- const rules = {};
284
- for (const [resource, ruleList] of this.invalidationRules.entries()) {
285
- rules[resource] = [...ruleList];
286
- }
287
- return rules;
288
- }
289
- }
290
- /**
291
- * Cache invalidation patterns for common WordPress operations
292
- */
293
- export class WordPressCachePatterns {
294
- /**
295
- * Invalidate all content-related caches
296
- */
297
- static invalidateContent(cache) {
298
- return cache.invalidatePattern("(posts|pages|comments|media)");
299
- }
300
- /**
301
- * Invalidate all taxonomy-related caches
302
- */
303
- static invalidateTaxonomies(cache) {
304
- return cache.invalidatePattern("(categories|tags|taxonomies)");
305
- }
306
- /**
307
- * Invalidate all user-related caches
308
- */
309
- static invalidateUsers(cache) {
310
- return cache.invalidatePattern("users");
311
- }
312
- /**
313
- * Invalidate search-related caches
314
- */
315
- static invalidateSearch(cache) {
316
- return cache.invalidatePattern("search");
317
- }
318
- /**
319
- * Invalidate all caches (nuclear option)
320
- */
321
- static invalidateAll(cache) {
322
- return cache.invalidateAll();
323
- }
324
- }
325
- /**
326
- * Cache warming strategies for common WordPress data
327
- */
328
- export class CacheWarmer {
329
- httpCache;
330
- logger = LoggerFactory.cache();
331
- constructor(httpCache) {
332
- this.httpCache = httpCache;
333
- }
334
- /**
335
- * Warm cache with essential WordPress data
336
- */
337
- async warmEssentials() {
338
- // Implementation would depend on your specific WordPress client
339
- // This is a placeholder for the structure
340
- this.logger.info("Warming essential caches");
341
- }
342
- /**
343
- * Warm cache with taxonomy data
344
- */
345
- async warmTaxonomies() {
346
- this.logger.info("Warming taxonomy caches");
347
- }
348
- /**
349
- * Warm cache with user data
350
- */
351
- async warmUsers() {
352
- this.logger.info("Warming user caches");
353
- }
354
- }
355
- //# sourceMappingURL=CacheInvalidation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheInvalidation.js","sourceRoot":"","sources":["../../../src/cache/CacheInvalidation.ts"],"names":[],"mappings":"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"}
@@ -1,149 +0,0 @@
1
- /**
2
- * Intelligent caching system for WordPress MCP Server
3
- * Implements multi-layer caching with TTL, LRU eviction, and site-specific keys
4
- */
5
- export interface CacheEntry<T = unknown> {
6
- value: T;
7
- timestamp: number;
8
- ttl: number;
9
- etag?: string | undefined;
10
- lastModified?: string | undefined;
11
- accessCount: number;
12
- lastAccessed: number;
13
- }
14
- export interface CacheStats {
15
- hits: number;
16
- misses: number;
17
- evictions: number;
18
- totalSize: number;
19
- hitRate: number;
20
- }
21
- export interface CacheConfig {
22
- maxSize: number;
23
- defaultTTL: number;
24
- enableLRU: boolean;
25
- enableStats: boolean;
26
- sitePrefix?: string;
27
- }
28
- /**
29
- * High-performance in-memory cache with TTL and LRU eviction
30
- */
31
- export declare class CacheManager {
32
- private config;
33
- private cache;
34
- private accessOrder;
35
- private cleanupInterval;
36
- private stats;
37
- constructor(config: CacheConfig);
38
- /**
39
- * Generate cache key with site prefix and parameter hash
40
- */
41
- generateKey(siteId: string, endpoint: string, params?: Record<string, unknown>): string;
42
- /**
43
- * Get value from cache if not expired
44
- */
45
- get<T>(key: string): T | null;
46
- /**
47
- * Set value in cache with TTL
48
- */
49
- set<T>(key: string, value: T, ttl?: number, etag?: string, lastModified?: string): void;
50
- /**
51
- * Check if cache entry exists and is valid
52
- */
53
- has(key: string): boolean;
54
- /**
55
- * Delete specific cache entry
56
- */
57
- delete(key: string): boolean;
58
- /**
59
- * Clear all cache entries
60
- */
61
- clear(): void;
62
- /**
63
- * Clear cache entries for specific site
64
- */
65
- clearSite(siteId: string): number;
66
- /**
67
- * Clear cache entries matching pattern
68
- */
69
- clearPattern(pattern: RegExp): number;
70
- /**
71
- * Get cache statistics
72
- */
73
- getStats(): CacheStats;
74
- /**
75
- * Get cache entry with metadata
76
- */
77
- getEntry(key: string): CacheEntry | null;
78
- /**
79
- * Check if entry supports conditional requests
80
- */
81
- supportsConditionalRequest(key: string): boolean;
82
- /**
83
- * Get conditional request headers
84
- */
85
- getConditionalHeaders(key: string): Record<string, string>;
86
- /**
87
- * Check if entry is expired
88
- */
89
- private isExpired;
90
- /**
91
- * Evict least recently used entry
92
- */
93
- private evictLRU;
94
- /**
95
- * Update access order for LRU tracking
96
- */
97
- private updateAccessOrder;
98
- /**
99
- * Remove key from access order
100
- */
101
- private removeFromAccessOrder;
102
- /**
103
- * Normalize parameters for consistent hashing
104
- */
105
- private normalizeParams;
106
- /**
107
- * Update hit rate calculation
108
- */
109
- private updateHitRate;
110
- /**
111
- * Start periodic cleanup of expired entries
112
- * Note: This uses setInterval and is not called in test environments to avoid Jest timer issues
113
- */
114
- private startCleanupInterval;
115
- /**
116
- * Stop the cleanup interval and clean up resources
117
- */
118
- destroy(): void;
119
- /**
120
- * Remove expired entries
121
- */
122
- private cleanupExpired;
123
- }
124
- /**
125
- * Cache configuration presets for different data types
126
- */
127
- export declare const CachePresets: {
128
- STATIC: {
129
- ttl: number;
130
- cacheControl: string;
131
- };
132
- SEMI_STATIC: {
133
- ttl: number;
134
- cacheControl: string;
135
- };
136
- DYNAMIC: {
137
- ttl: number;
138
- cacheControl: string;
139
- };
140
- SESSION: {
141
- ttl: number;
142
- cacheControl: string;
143
- };
144
- REALTIME: {
145
- ttl: number;
146
- cacheControl: string;
147
- };
148
- };
149
- //# sourceMappingURL=CacheManager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,YAAY;IAYX,OAAO,CAAC,MAAM;IAX1B,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,KAAK,CAMX;gBAEkB,MAAM,EAAE,WAAW;IAOvC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAiBvF;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IA6B7B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAE,MAA+B,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IA0B/G;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKzB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAS5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAkBjC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAkBrC;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAQxC;;OAEG;IACH,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKhD;;OAEG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiB1D;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,OAAO,CAAC,cAAc;CAiBvB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;CA8BxB,CAAC"}