mcp-wordpress 1.1.7 → 1.2.2

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 (255) hide show
  1. package/README.md +388 -66
  2. package/dist/cache/CacheInvalidation.d.ts +118 -0
  3. package/dist/cache/CacheInvalidation.d.ts.map +1 -0
  4. package/dist/cache/CacheInvalidation.js +349 -0
  5. package/dist/cache/CacheInvalidation.js.map +1 -0
  6. package/dist/cache/CacheManager.d.ts +143 -0
  7. package/dist/cache/CacheManager.d.ts.map +1 -0
  8. package/dist/cache/CacheManager.js +308 -0
  9. package/dist/cache/CacheManager.js.map +1 -0
  10. package/dist/cache/HttpCacheWrapper.d.ts +121 -0
  11. package/dist/cache/HttpCacheWrapper.d.ts.map +1 -0
  12. package/dist/cache/HttpCacheWrapper.js +280 -0
  13. package/dist/cache/HttpCacheWrapper.js.map +1 -0
  14. package/dist/cache/__tests__/CacheInvalidation.test.d.ts +5 -0
  15. package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +1 -0
  16. package/dist/cache/__tests__/CacheInvalidation.test.js +236 -0
  17. package/dist/cache/__tests__/CacheInvalidation.test.js.map +1 -0
  18. package/dist/cache/__tests__/CacheManager.test.d.ts +5 -0
  19. package/dist/cache/__tests__/CacheManager.test.d.ts.map +1 -0
  20. package/dist/cache/__tests__/CacheManager.test.js +233 -0
  21. package/dist/cache/__tests__/CacheManager.test.js.map +1 -0
  22. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +5 -0
  23. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +1 -0
  24. package/dist/cache/__tests__/CachedWordPressClient.test.js +228 -0
  25. package/dist/cache/__tests__/CachedWordPressClient.test.js.map +1 -0
  26. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +5 -0
  27. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +1 -0
  28. package/dist/cache/__tests__/HttpCacheWrapper.test.js +296 -0
  29. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -0
  30. package/dist/cache/index.d.ts +12 -0
  31. package/dist/cache/index.d.ts.map +1 -0
  32. package/dist/cache/index.js +9 -0
  33. package/dist/cache/index.js.map +1 -0
  34. package/dist/client/CachedWordPressClient.d.ts +160 -0
  35. package/dist/client/CachedWordPressClient.d.ts.map +1 -0
  36. package/dist/client/CachedWordPressClient.js +338 -0
  37. package/dist/client/CachedWordPressClient.js.map +1 -0
  38. package/dist/client/WordPressClient.d.ts +81 -0
  39. package/dist/client/WordPressClient.d.ts.map +1 -0
  40. package/dist/client/WordPressClient.js +354 -0
  41. package/dist/client/WordPressClient.js.map +1 -0
  42. package/dist/config/ConfigurationSchema.d.ts +281 -0
  43. package/dist/config/ConfigurationSchema.d.ts.map +1 -0
  44. package/dist/config/ConfigurationSchema.js +205 -0
  45. package/dist/config/ConfigurationSchema.js.map +1 -0
  46. package/dist/config/ServerConfiguration.d.ts +38 -0
  47. package/dist/config/ServerConfiguration.d.ts.map +1 -0
  48. package/dist/config/ServerConfiguration.js +158 -0
  49. package/dist/config/ServerConfiguration.js.map +1 -0
  50. package/dist/docs/DocumentationGenerator.d.ts +184 -0
  51. package/dist/docs/DocumentationGenerator.d.ts.map +1 -0
  52. package/dist/docs/DocumentationGenerator.js +735 -0
  53. package/dist/docs/DocumentationGenerator.js.map +1 -0
  54. package/dist/docs/MarkdownFormatter.d.ts +84 -0
  55. package/dist/docs/MarkdownFormatter.d.ts.map +1 -0
  56. package/dist/docs/MarkdownFormatter.js +448 -0
  57. package/dist/docs/MarkdownFormatter.js.map +1 -0
  58. package/dist/docs/index.d.ts +8 -0
  59. package/dist/docs/index.d.ts.map +1 -0
  60. package/dist/docs/index.js +7 -0
  61. package/dist/docs/index.js.map +1 -0
  62. package/dist/index.d.ts +1 -4
  63. package/dist/index.d.ts.map +1 -1
  64. package/dist/index.js +12 -212
  65. package/dist/index.js.map +1 -1
  66. package/dist/performance/AnomalyDetector.d.ts +63 -0
  67. package/dist/performance/AnomalyDetector.d.ts.map +1 -0
  68. package/dist/performance/AnomalyDetector.js +222 -0
  69. package/dist/performance/AnomalyDetector.js.map +1 -0
  70. package/dist/performance/BenchmarkAnalyzer.d.ts +67 -0
  71. package/dist/performance/BenchmarkAnalyzer.d.ts.map +1 -0
  72. package/dist/performance/BenchmarkAnalyzer.js +301 -0
  73. package/dist/performance/BenchmarkAnalyzer.js.map +1 -0
  74. package/dist/performance/MetricsCollector.d.ts +139 -0
  75. package/dist/performance/MetricsCollector.d.ts.map +1 -0
  76. package/dist/performance/MetricsCollector.js +320 -0
  77. package/dist/performance/MetricsCollector.js.map +1 -0
  78. package/dist/performance/PerformanceAnalytics.d.ts +162 -0
  79. package/dist/performance/PerformanceAnalytics.d.ts.map +1 -0
  80. package/dist/performance/PerformanceAnalytics.js +554 -0
  81. package/dist/performance/PerformanceAnalytics.js.map +1 -0
  82. package/dist/performance/PerformanceMonitor.d.ts +202 -0
  83. package/dist/performance/PerformanceMonitor.d.ts.map +1 -0
  84. package/dist/performance/PerformanceMonitor.js +478 -0
  85. package/dist/performance/PerformanceMonitor.js.map +1 -0
  86. package/dist/performance/TrendAnalyzer.d.ts +69 -0
  87. package/dist/performance/TrendAnalyzer.d.ts.map +1 -0
  88. package/dist/performance/TrendAnalyzer.js +203 -0
  89. package/dist/performance/TrendAnalyzer.js.map +1 -0
  90. package/dist/performance/index.d.ts +11 -0
  91. package/dist/performance/index.d.ts.map +1 -0
  92. package/dist/performance/index.js +8 -0
  93. package/dist/performance/index.js.map +1 -0
  94. package/dist/security/InputValidator.d.ts +215 -0
  95. package/dist/security/InputValidator.d.ts.map +1 -0
  96. package/dist/security/InputValidator.js +278 -0
  97. package/dist/security/InputValidator.js.map +1 -0
  98. package/dist/security/SecurityConfig.d.ts +129 -0
  99. package/dist/security/SecurityConfig.d.ts.map +1 -0
  100. package/dist/security/SecurityConfig.js +262 -0
  101. package/dist/security/SecurityConfig.js.map +1 -0
  102. package/dist/server/ConnectionTester.d.ts +24 -0
  103. package/dist/server/ConnectionTester.d.ts.map +1 -0
  104. package/dist/server/ConnectionTester.js +61 -0
  105. package/dist/server/ConnectionTester.js.map +1 -0
  106. package/dist/server/ToolRegistry.d.ts +46 -0
  107. package/dist/server/ToolRegistry.d.ts.map +1 -0
  108. package/dist/server/ToolRegistry.js +148 -0
  109. package/dist/server/ToolRegistry.js.map +1 -0
  110. package/dist/tools/BaseToolClass.d.ts +76 -0
  111. package/dist/tools/BaseToolClass.d.ts.map +1 -0
  112. package/dist/tools/BaseToolClass.js +104 -0
  113. package/dist/tools/BaseToolClass.js.map +1 -0
  114. package/dist/tools/BaseToolManager.d.ts +26 -0
  115. package/dist/tools/BaseToolManager.d.ts.map +1 -0
  116. package/dist/tools/BaseToolManager.js +56 -0
  117. package/dist/tools/BaseToolManager.js.map +1 -0
  118. package/dist/tools/base.d.ts +37 -0
  119. package/dist/tools/base.d.ts.map +1 -0
  120. package/dist/tools/base.js +60 -0
  121. package/dist/tools/base.js.map +1 -0
  122. package/dist/tools/cache.d.ts +260 -0
  123. package/dist/tools/cache.d.ts.map +1 -0
  124. package/dist/tools/cache.js +237 -0
  125. package/dist/tools/cache.js.map +1 -0
  126. package/dist/tools/index.d.ts +2 -0
  127. package/dist/tools/index.d.ts.map +1 -1
  128. package/dist/tools/index.js +2 -0
  129. package/dist/tools/index.js.map +1 -1
  130. package/dist/tools/performance.d.ts +63 -0
  131. package/dist/tools/performance.d.ts.map +1 -0
  132. package/dist/tools/performance.js +865 -0
  133. package/dist/tools/performance.js.map +1 -0
  134. package/dist/types/client.d.ts +1 -0
  135. package/dist/types/client.d.ts.map +1 -1
  136. package/dist/types/client.js.map +1 -1
  137. package/dist/utils/toolWrapper.d.ts +4 -0
  138. package/dist/utils/toolWrapper.d.ts.map +1 -1
  139. package/dist/utils/toolWrapper.js +11 -0
  140. package/dist/utils/toolWrapper.js.map +1 -1
  141. package/dist/utils/validation.d.ts +68 -0
  142. package/dist/utils/validation.d.ts.map +1 -0
  143. package/dist/utils/validation.js +185 -0
  144. package/dist/utils/validation.js.map +1 -0
  145. package/docs/CACHING.md +340 -0
  146. package/docs/DOCKER.md +451 -0
  147. package/docs/PERFORMANCE_MONITORING.md +471 -0
  148. package/docs/SECURITY_TESTING.md +393 -0
  149. package/docs/api/README.md +200 -0
  150. package/docs/api/categories/auth.md +40 -0
  151. package/docs/api/categories/cache.md +41 -0
  152. package/docs/api/categories/comment.md +44 -0
  153. package/docs/api/categories/media.md +43 -0
  154. package/docs/api/categories/page.md +43 -0
  155. package/docs/api/categories/performance.md +44 -0
  156. package/docs/api/categories/post.md +43 -0
  157. package/docs/api/categories/site.md +43 -0
  158. package/docs/api/categories/taxonomy.md +47 -0
  159. package/docs/api/categories/user.md +43 -0
  160. package/docs/api/openapi.json +3305 -0
  161. package/docs/api/summary.json +12 -0
  162. package/docs/api/tools/wp_approve_comment.md +98 -0
  163. package/docs/api/tools/wp_cache_clear.md +120 -0
  164. package/docs/api/tools/wp_cache_info.md +119 -0
  165. package/docs/api/tools/wp_cache_stats.md +119 -0
  166. package/docs/api/tools/wp_cache_warm.md +119 -0
  167. package/docs/api/tools/wp_create_application_password.md +102 -0
  168. package/docs/api/tools/wp_create_category.md +102 -0
  169. package/docs/api/tools/wp_create_comment.md +128 -0
  170. package/docs/api/tools/wp_create_page.md +135 -0
  171. package/docs/api/tools/wp_create_post.md +147 -0
  172. package/docs/api/tools/wp_create_tag.md +101 -0
  173. package/docs/api/tools/wp_create_user.md +135 -0
  174. package/docs/api/tools/wp_delete_application_password.md +101 -0
  175. package/docs/api/tools/wp_delete_category.md +100 -0
  176. package/docs/api/tools/wp_delete_comment.md +101 -0
  177. package/docs/api/tools/wp_delete_media.md +108 -0
  178. package/docs/api/tools/wp_delete_page.md +108 -0
  179. package/docs/api/tools/wp_delete_post.md +117 -0
  180. package/docs/api/tools/wp_delete_tag.md +100 -0
  181. package/docs/api/tools/wp_delete_user.md +108 -0
  182. package/docs/api/tools/wp_get_application_passwords.md +103 -0
  183. package/docs/api/tools/wp_get_auth_status.md +101 -0
  184. package/docs/api/tools/wp_get_category.md +103 -0
  185. package/docs/api/tools/wp_get_comment.md +103 -0
  186. package/docs/api/tools/wp_get_current_user.md +101 -0
  187. package/docs/api/tools/wp_get_media.md +103 -0
  188. package/docs/api/tools/wp_get_page.md +103 -0
  189. package/docs/api/tools/wp_get_page_revisions.md +103 -0
  190. package/docs/api/tools/wp_get_post.md +112 -0
  191. package/docs/api/tools/wp_get_post_revisions.md +103 -0
  192. package/docs/api/tools/wp_get_site_settings.md +108 -0
  193. package/docs/api/tools/wp_get_tag.md +103 -0
  194. package/docs/api/tools/wp_get_user.md +103 -0
  195. package/docs/api/tools/wp_list_categories.md +111 -0
  196. package/docs/api/tools/wp_list_comments.md +111 -0
  197. package/docs/api/tools/wp_list_media.md +145 -0
  198. package/docs/api/tools/wp_list_pages.md +145 -0
  199. package/docs/api/tools/wp_list_posts.md +156 -0
  200. package/docs/api/tools/wp_list_tags.md +110 -0
  201. package/docs/api/tools/wp_list_users.md +111 -0
  202. package/docs/api/tools/wp_performance_alerts.md +162 -0
  203. package/docs/api/tools/wp_performance_benchmark.md +160 -0
  204. package/docs/api/tools/wp_performance_export.md +162 -0
  205. package/docs/api/tools/wp_performance_history.md +161 -0
  206. package/docs/api/tools/wp_performance_optimize.md +162 -0
  207. package/docs/api/tools/wp_performance_stats.md +160 -0
  208. package/docs/api/tools/wp_search_site.md +99 -0
  209. package/docs/api/tools/wp_spam_comment.md +98 -0
  210. package/docs/api/tools/wp_switch_auth_method.md +122 -0
  211. package/docs/api/tools/wp_test_auth.md +96 -0
  212. package/docs/api/tools/wp_update_category.md +102 -0
  213. package/docs/api/tools/wp_update_comment.md +127 -0
  214. package/docs/api/tools/wp_update_media.md +129 -0
  215. package/docs/api/tools/wp_update_page.md +135 -0
  216. package/docs/api/tools/wp_update_post.md +144 -0
  217. package/docs/api/tools/wp_update_site_settings.md +127 -0
  218. package/docs/api/tools/wp_update_tag.md +102 -0
  219. package/docs/api/tools/wp_update_user.md +134 -0
  220. package/docs/api/tools/wp_upload_media.md +131 -0
  221. package/docs/api/types/WordPressPost.md +39 -0
  222. package/docs/contract-testing.md +183 -0
  223. package/docs/developer/NPM_AUTH_SETUP.md +3 -3
  224. package/docs/wordpress-rest-api-authentication-troubleshooting.md +218 -0
  225. package/package.json +84 -64
  226. package/src/cache/CacheInvalidation.ts +421 -0
  227. package/src/cache/CacheManager.ts +391 -0
  228. package/src/cache/HttpCacheWrapper.ts +372 -0
  229. package/src/cache/__tests__/CacheInvalidation.test.ts +299 -0
  230. package/src/cache/__tests__/CacheManager.test.ts +300 -0
  231. package/src/cache/__tests__/CachedWordPressClient.test.ts +304 -0
  232. package/src/cache/__tests__/HttpCacheWrapper.test.ts +359 -0
  233. package/src/cache/index.ts +26 -0
  234. package/src/client/CachedWordPressClient.ts +442 -0
  235. package/src/config/ConfigurationSchema.ts +246 -0
  236. package/src/config/ServerConfiguration.ts +215 -0
  237. package/src/docs/DocumentationGenerator.ts +952 -0
  238. package/src/docs/MarkdownFormatter.ts +494 -0
  239. package/src/docs/index.ts +21 -0
  240. package/src/index.ts +14 -274
  241. package/src/performance/MetricsCollector.ts +447 -0
  242. package/src/performance/PerformanceAnalytics.ts +762 -0
  243. package/src/performance/PerformanceMonitor.ts +649 -0
  244. package/src/performance/index.ts +28 -0
  245. package/src/security/InputValidator.ts +319 -0
  246. package/src/security/SecurityConfig.ts +301 -0
  247. package/src/server/ConnectionTester.ts +74 -0
  248. package/src/server/ToolRegistry.ts +194 -0
  249. package/src/tools/BaseToolManager.ts +66 -0
  250. package/src/tools/cache.ts +259 -0
  251. package/src/tools/index.ts +2 -0
  252. package/src/tools/performance.ts +948 -0
  253. package/src/types/client.ts +1 -0
  254. package/src/utils/toolWrapper.ts +11 -0
  255. package/src/utils/validation.ts +259 -0
@@ -0,0 +1,104 @@
1
+ import { getErrorMessage } from '../utils/error.js';
2
+ /**
3
+ * Base class for all WordPress tool implementations
4
+ * Provides common functionality and patterns used across tool classes
5
+ */
6
+ export class BaseToolClass {
7
+ /**
8
+ * Format a list response with consistent styling
9
+ */
10
+ formatListResponse(items, entityName, formatter, totalCount) {
11
+ if (items.length === 0) {
12
+ return `No ${entityName} found matching the criteria.`;
13
+ }
14
+ const countText = totalCount !== undefined
15
+ ? `Found ${items.length} of ${totalCount} ${entityName}:`
16
+ : `Found ${items.length} ${entityName}:`;
17
+ return `${countText}\n\n${items.map(formatter).join('\n')}`;
18
+ }
19
+ /**
20
+ * Format a single entity response
21
+ */
22
+ formatDetailResponse(entity, entityName) {
23
+ const details = Object.entries(entity)
24
+ .filter(([key, value]) => value !== null && value !== undefined)
25
+ .map(([key, value]) => {
26
+ const displayKey = key.replace(/_/g, ' ').replace(/\b\w/g, l => l.toUpperCase());
27
+ if (typeof value === 'object') {
28
+ return `${displayKey}: ${JSON.stringify(value, null, 2)}`;
29
+ }
30
+ return `${displayKey}: ${value}`;
31
+ })
32
+ .join('\n');
33
+ return `${entityName} Details:\n\n${details}`;
34
+ }
35
+ /**
36
+ * Format a success response for create/update operations
37
+ */
38
+ formatSuccessResponse(action, entityName, entity) {
39
+ const id = entity.id || entity.term_id || 'unknown';
40
+ const title = entity.title?.rendered || entity.name || entity.slug || 'Untitled';
41
+ return `✅ ${entityName} ${action} successfully with ID: ${id}\nTitle: ${title}`;
42
+ }
43
+ /**
44
+ * Handle errors consistently across all tools
45
+ */
46
+ handleError(error, operation) {
47
+ const errorMessage = getErrorMessage(error);
48
+ throw new Error(`Failed to ${operation}: ${errorMessage}`);
49
+ }
50
+ /**
51
+ * Validate required parameters
52
+ */
53
+ validateRequiredParams(params, requiredFields) {
54
+ for (const field of requiredFields) {
55
+ if (params[field] === undefined || params[field] === null || params[field] === '') {
56
+ throw new Error(`Missing required parameter: ${field}`);
57
+ }
58
+ }
59
+ }
60
+ /**
61
+ * Create common pagination parameters
62
+ */
63
+ getPaginationParameters() {
64
+ return [
65
+ {
66
+ name: 'per_page',
67
+ type: 'number',
68
+ description: 'Number of items to return per page (max 100).'
69
+ },
70
+ {
71
+ name: 'page',
72
+ type: 'number',
73
+ description: 'Page number to retrieve (1-based).'
74
+ },
75
+ {
76
+ name: 'search',
77
+ type: 'string',
78
+ description: 'Limit results to those matching a search term.'
79
+ }
80
+ ];
81
+ }
82
+ /**
83
+ * Create common status parameter
84
+ */
85
+ getStatusParameter(validStatuses) {
86
+ return {
87
+ name: 'status',
88
+ type: 'string',
89
+ description: 'Filter by status.',
90
+ enum: validStatuses
91
+ };
92
+ }
93
+ /**
94
+ * Create site parameter for multi-site support
95
+ */
96
+ getSiteParameter() {
97
+ return {
98
+ name: 'site',
99
+ type: 'string',
100
+ description: 'Site identifier for multi-site configurations.'
101
+ };
102
+ }
103
+ }
104
+ //# sourceMappingURL=BaseToolClass.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseToolClass.js","sourceRoot":"","sources":["../../src/tools/BaseToolClass.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Base utility class for tool managers to reduce code duplication
3
+ */
4
+ export declare class BaseToolUtils {
5
+ /**
6
+ * Validate required parameters
7
+ */
8
+ static validateParams(params: Record<string, any>, required: string[]): void;
9
+ /**
10
+ * Validate ID parameter
11
+ */
12
+ static validateId(id: unknown, name?: string): number;
13
+ /**
14
+ * Handle errors consistently across all tools
15
+ */
16
+ static handleError(error: unknown, operation: string): string;
17
+ /**
18
+ * Cache key generation helper
19
+ */
20
+ static generateCacheKey(operation: string, params: Record<string, unknown>): string;
21
+ /**
22
+ * Format consistent response messages
23
+ */
24
+ static formatSuccessMessage(operation: string, details?: string): string;
25
+ }
26
+ //# sourceMappingURL=BaseToolManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseToolManager.d.ts","sourceRoot":"","sources":["../../src/tools/BaseToolManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAY5E;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,SAAO,GAAG,MAAM;IAQnD;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAK7D;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,MAAM;IAUT;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,MAAM;CAKzE"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Base utility class for tool managers to reduce code duplication
3
+ */
4
+ import { getErrorMessage } from '../utils/error.js';
5
+ export class BaseToolUtils {
6
+ /**
7
+ * Validate required parameters
8
+ */
9
+ static validateParams(params, required) {
10
+ for (const field of required) {
11
+ if (!(field in params) ||
12
+ params[field] === undefined ||
13
+ params[field] === null) {
14
+ throw new Error(`Missing required parameter: ${field}`);
15
+ }
16
+ }
17
+ }
18
+ /**
19
+ * Validate ID parameter
20
+ */
21
+ static validateId(id, name = 'id') {
22
+ const numId = Number(id);
23
+ if (!Number.isInteger(numId) || numId <= 0) {
24
+ throw new Error(`Invalid ${name}: must be a positive integer`);
25
+ }
26
+ return numId;
27
+ }
28
+ /**
29
+ * Handle errors consistently across all tools
30
+ */
31
+ static handleError(error, operation) {
32
+ const errorMessage = getErrorMessage(error);
33
+ return `Error in ${operation}: ${errorMessage}`;
34
+ }
35
+ /**
36
+ * Cache key generation helper
37
+ */
38
+ static generateCacheKey(operation, params) {
39
+ const site = params.site || 'default';
40
+ const paramStr = Object.entries(params)
41
+ .filter(([key]) => key !== 'site')
42
+ .sort(([a], [b]) => a.localeCompare(b))
43
+ .map(([key, value]) => `${key}:${value}`)
44
+ .join('|');
45
+ return `${site}:${operation}:${paramStr}`;
46
+ }
47
+ /**
48
+ * Format consistent response messages
49
+ */
50
+ static formatSuccessMessage(operation, details) {
51
+ return details
52
+ ? `${operation}: ${details}`
53
+ : `${operation} completed successfully`;
54
+ }
55
+ }
56
+ //# sourceMappingURL=BaseToolManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseToolManager.js","sourceRoot":"","sources":["../../src/tools/BaseToolManager.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,MAAM,OAAO,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,MAA2B,EAAE,QAAkB;QACnE,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IACE,CAAC,CAAC,KAAK,IAAI,MAAM,CAAC;gBAClB,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS;gBAC3B,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EACtB,CAAC;gBACD,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,EAAW,EAAE,IAAI,GAAG,IAAI;QACxC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC;QACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE,CAAC;YAC3C,MAAM,IAAI,KAAK,CAAC,WAAW,IAAI,8BAA8B,CAAC,CAAC;QACjE,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,WAAW,CAAC,KAAc,EAAE,SAAiB;QAClD,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QAC5C,OAAO,YAAY,SAAS,KAAK,YAAY,EAAE,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CACrB,SAAiB,EACjB,MAA+B;QAE/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,SAAS,CAAC;QACtC,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;aACpC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,MAAM,CAAC;aACjC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,GAAG,GAAG,IAAI,KAAK,EAAE,CAAC;aACxC,IAAI,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,GAAG,IAAI,IAAI,SAAS,IAAI,QAAQ,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,SAAiB,EAAE,OAAgB;QAC7D,OAAO,OAAO;YACZ,CAAC,CAAC,GAAG,SAAS,KAAK,OAAO,EAAE;YAC5B,CAAC,CAAC,GAAG,SAAS,yBAAyB,CAAC;IAC5C,CAAC;CACF"}
@@ -0,0 +1,37 @@
1
+ import { WordPressClient } from "../client/api.js";
2
+ /**
3
+ * Base class for all WordPress tool categories.
4
+ * Provides common functionality and error handling for tool implementations.
5
+ */
6
+ export declare abstract class BaseToolClass {
7
+ protected client: WordPressClient;
8
+ constructor(client: WordPressClient);
9
+ /**
10
+ * Abstract method that must be implemented by subclasses to return their tool definitions.
11
+ * @returns An array of MCPTool definitions.
12
+ */
13
+ abstract getTools(): any[];
14
+ /**
15
+ * Common error handler for all tools.
16
+ * @param error The error to handle
17
+ * @param operation The operation that failed
18
+ * @throws Error with formatted message
19
+ */
20
+ protected handleError(error: unknown, operation: string): never;
21
+ /**
22
+ * Validates required parameters are not undefined or null.
23
+ * @param params Object containing parameters to validate
24
+ * @param required Array of required parameter names
25
+ * @throws Error if any required parameter is missing
26
+ */
27
+ protected validateRequiredParams(params: Record<string, any>, required: string[]): void;
28
+ /**
29
+ * Resolves the appropriate WordPress client for multi-site support.
30
+ * @param site Optional site ID for multi-site configurations
31
+ * @param clients Map of site IDs to WordPress clients
32
+ * @returns The resolved WordPress client
33
+ * @throws Error if site is not found or ambiguous
34
+ */
35
+ protected resolveClient(site: string | undefined, clients: Map<string, WordPressClient>): WordPressClient;
36
+ }
37
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/tools/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;GAGG;AACH,8BAAsB,aAAa;IACrB,SAAS,CAAC,MAAM,EAAE,eAAe;gBAAvB,MAAM,EAAE,eAAe;IAE7C;;;OAGG;IACH,QAAQ,CAAC,QAAQ,IAAI,GAAG,EAAE;IAE1B;;;;;OAKG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK;IAI/D;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAQvF;;;;;;OAMG;IACH,SAAS,CAAC,aAAa,CACrB,IAAI,EAAE,MAAM,GAAG,SAAS,EACxB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GACpC,eAAe;CA6BnB"}
@@ -0,0 +1,60 @@
1
+ import { getErrorMessage } from "../utils/error.js";
2
+ /**
3
+ * Base class for all WordPress tool categories.
4
+ * Provides common functionality and error handling for tool implementations.
5
+ */
6
+ export class BaseToolClass {
7
+ client;
8
+ constructor(client) {
9
+ this.client = client;
10
+ }
11
+ /**
12
+ * Common error handler for all tools.
13
+ * @param error The error to handle
14
+ * @param operation The operation that failed
15
+ * @throws Error with formatted message
16
+ */
17
+ handleError(error, operation) {
18
+ throw new Error(`Failed to ${operation}: ${getErrorMessage(error)}`);
19
+ }
20
+ /**
21
+ * Validates required parameters are not undefined or null.
22
+ * @param params Object containing parameters to validate
23
+ * @param required Array of required parameter names
24
+ * @throws Error if any required parameter is missing
25
+ */
26
+ validateRequiredParams(params, required) {
27
+ for (const param of required) {
28
+ if (params[param] === undefined || params[param] === null) {
29
+ throw new Error(`Missing required parameter: ${param}`);
30
+ }
31
+ }
32
+ }
33
+ /**
34
+ * Resolves the appropriate WordPress client for multi-site support.
35
+ * @param site Optional site ID for multi-site configurations
36
+ * @param clients Map of site IDs to WordPress clients
37
+ * @returns The resolved WordPress client
38
+ * @throws Error if site is not found or ambiguous
39
+ */
40
+ resolveClient(site, clients) {
41
+ if (clients.size === 0) {
42
+ throw new Error("No WordPress clients configured");
43
+ }
44
+ if (clients.size === 1 && !site) {
45
+ return Array.from(clients.values())[0];
46
+ }
47
+ if (!site && clients.size > 1) {
48
+ throw new Error(`Multiple sites configured. Please specify --site parameter with one of: ${Array.from(clients.keys()).join(", ")}`);
49
+ }
50
+ if (site) {
51
+ const client = clients.get(site);
52
+ if (!client) {
53
+ throw new Error(`Site "${site}" not found. Available sites: ${Array.from(clients.keys()).join(", ")}`);
54
+ }
55
+ return client;
56
+ }
57
+ return this.client;
58
+ }
59
+ }
60
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/tools/base.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAgB,aAAa;IACX;IAAtB,YAAsB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAQjD;;;;;OAKG;IACO,WAAW,CAAC,KAAc,EAAE,SAAiB;QACrD,MAAM,IAAI,KAAK,CAAC,aAAa,SAAS,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED;;;;;OAKG;IACO,sBAAsB,CAAC,MAA2B,EAAE,QAAkB;QAC9E,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;YAC7B,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,IAAI,KAAK,CAAC,+BAA+B,KAAK,EAAE,CAAC,CAAC;YAC1D,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACO,aAAa,CACrB,IAAwB,EACxB,OAAqC;QAErC,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QACrD,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAChC,OAAO,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;QACzC,CAAC;QAED,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CACb,2EAA2E,KAAK,CAAC,IAAI,CACnF,OAAO,CAAC,IAAI,EAAE,CACf,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACf,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACb,SAAS,IAAI,iCAAiC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACtF,CAAC;YACJ,CAAC;YACD,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;CACF"}
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Cache management tools for WordPress MCP Server
3
+ * Provides cache inspection, clearing, and warming capabilities
4
+ */
5
+ import type { WordPressClient } from '../client/api.js';
6
+ /**
7
+ * Cache management tools class
8
+ */
9
+ export declare class CacheTools {
10
+ private clients;
11
+ constructor(clients: Map<string, WordPressClient>);
12
+ /**
13
+ * Get cache management tools
14
+ */
15
+ getTools(): ({
16
+ name: string;
17
+ description: string;
18
+ parameters: {
19
+ name: string;
20
+ type: string;
21
+ description: string;
22
+ }[];
23
+ handler: (params: {
24
+ site?: string;
25
+ }) => Promise<{
26
+ caching_enabled: boolean;
27
+ message: string;
28
+ cache_stats?: never;
29
+ invalidation_stats?: never;
30
+ } | {
31
+ caching_enabled: boolean;
32
+ cache_stats: {
33
+ hits: any;
34
+ misses: any;
35
+ hit_rate: string;
36
+ total_entries: any;
37
+ evictions: any;
38
+ };
39
+ invalidation_stats: {
40
+ queue_size: any;
41
+ rules_count: any;
42
+ processing: any;
43
+ };
44
+ message?: never;
45
+ }>;
46
+ } | {
47
+ name: string;
48
+ description: string;
49
+ parameters: {
50
+ name: string;
51
+ type: string;
52
+ description: string;
53
+ }[];
54
+ handler: (params: {
55
+ site?: string;
56
+ pattern?: string;
57
+ }) => Promise<{
58
+ success: boolean;
59
+ message: string;
60
+ cleared_entries?: never;
61
+ pattern?: never;
62
+ } | {
63
+ success: boolean;
64
+ message: string;
65
+ cleared_entries: number;
66
+ pattern: string;
67
+ } | {
68
+ success: boolean;
69
+ message: string;
70
+ cleared_entries: number;
71
+ pattern?: never;
72
+ }>;
73
+ } | {
74
+ name: string;
75
+ description: string;
76
+ parameters: {
77
+ name: string;
78
+ type: string;
79
+ description: string;
80
+ }[];
81
+ handler: (params: {
82
+ site?: string;
83
+ }) => Promise<{
84
+ success: boolean;
85
+ message: string;
86
+ cache_entries_after_warming?: never;
87
+ warmed_data?: never;
88
+ } | {
89
+ success: boolean;
90
+ message: string;
91
+ cache_entries_after_warming: any;
92
+ warmed_data: string[];
93
+ }>;
94
+ } | {
95
+ name: string;
96
+ description: string;
97
+ parameters: {
98
+ name: string;
99
+ type: string;
100
+ description: string;
101
+ }[];
102
+ handler: (params: {
103
+ site?: string;
104
+ }) => Promise<{
105
+ caching_enabled: boolean;
106
+ message: string;
107
+ how_to_enable: string;
108
+ cache_configuration?: never;
109
+ ttl_presets?: never;
110
+ current_stats?: never;
111
+ invalidation_info?: never;
112
+ performance_benefits?: never;
113
+ } | {
114
+ caching_enabled: boolean;
115
+ cache_configuration: {
116
+ max_size: string;
117
+ default_ttl: string;
118
+ lru_enabled: string;
119
+ stats_enabled: string;
120
+ };
121
+ ttl_presets: {
122
+ static_data: string;
123
+ semi_static_data: string;
124
+ dynamic_data: string;
125
+ session_data: string;
126
+ realtime_data: string;
127
+ };
128
+ current_stats: {
129
+ total_entries: any;
130
+ hit_rate: string;
131
+ hits: any;
132
+ misses: any;
133
+ evictions: any;
134
+ };
135
+ invalidation_info: {
136
+ queue_size: any;
137
+ rules_registered: any;
138
+ currently_processing: any;
139
+ };
140
+ performance_benefits: string[];
141
+ message?: never;
142
+ how_to_enable?: never;
143
+ }>;
144
+ })[];
145
+ /**
146
+ * Get cache statistics
147
+ */
148
+ handleGetCacheStats(params: {
149
+ site?: string;
150
+ }): Promise<{
151
+ caching_enabled: boolean;
152
+ message: string;
153
+ cache_stats?: never;
154
+ invalidation_stats?: never;
155
+ } | {
156
+ caching_enabled: boolean;
157
+ cache_stats: {
158
+ hits: any;
159
+ misses: any;
160
+ hit_rate: string;
161
+ total_entries: any;
162
+ evictions: any;
163
+ };
164
+ invalidation_stats: {
165
+ queue_size: any;
166
+ rules_count: any;
167
+ processing: any;
168
+ };
169
+ message?: never;
170
+ }>;
171
+ /**
172
+ * Clear cache
173
+ */
174
+ handleClearCache(params: {
175
+ site?: string;
176
+ pattern?: string;
177
+ }): Promise<{
178
+ success: boolean;
179
+ message: string;
180
+ cleared_entries?: never;
181
+ pattern?: never;
182
+ } | {
183
+ success: boolean;
184
+ message: string;
185
+ cleared_entries: number;
186
+ pattern: string;
187
+ } | {
188
+ success: boolean;
189
+ message: string;
190
+ cleared_entries: number;
191
+ pattern?: never;
192
+ }>;
193
+ /**
194
+ * Warm cache with essential data
195
+ */
196
+ handleWarmCache(params: {
197
+ site?: string;
198
+ }): Promise<{
199
+ success: boolean;
200
+ message: string;
201
+ cache_entries_after_warming?: never;
202
+ warmed_data?: never;
203
+ } | {
204
+ success: boolean;
205
+ message: string;
206
+ cache_entries_after_warming: any;
207
+ warmed_data: string[];
208
+ }>;
209
+ /**
210
+ * Get detailed cache information
211
+ */
212
+ handleGetCacheInfo(params: {
213
+ site?: string;
214
+ }): Promise<{
215
+ caching_enabled: boolean;
216
+ message: string;
217
+ how_to_enable: string;
218
+ cache_configuration?: never;
219
+ ttl_presets?: never;
220
+ current_stats?: never;
221
+ invalidation_info?: never;
222
+ performance_benefits?: never;
223
+ } | {
224
+ caching_enabled: boolean;
225
+ cache_configuration: {
226
+ max_size: string;
227
+ default_ttl: string;
228
+ lru_enabled: string;
229
+ stats_enabled: string;
230
+ };
231
+ ttl_presets: {
232
+ static_data: string;
233
+ semi_static_data: string;
234
+ dynamic_data: string;
235
+ session_data: string;
236
+ realtime_data: string;
237
+ };
238
+ current_stats: {
239
+ total_entries: any;
240
+ hit_rate: string;
241
+ hits: any;
242
+ misses: any;
243
+ evictions: any;
244
+ };
245
+ invalidation_info: {
246
+ queue_size: any;
247
+ rules_registered: any;
248
+ currently_processing: any;
249
+ };
250
+ performance_benefits: string[];
251
+ message?: never;
252
+ how_to_enable?: never;
253
+ }>;
254
+ /**
255
+ * Resolve client from site parameter
256
+ */
257
+ private resolveClient;
258
+ }
259
+ export default CacheTools;
260
+ //# sourceMappingURL=cache.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../src/tools/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD;;GAEG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAEzD;;OAEG;IACH,QAAQ;;;;;;;;0BA6D0B;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAkCpB;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;0BAmCpC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;0BAgCd;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAxGlD;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;IA+BnD;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;IAgClE;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;IA6B/C;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmDlD;;OAEG;IACH,OAAO,CAAC,aAAa;CAsBtB;AAED,eAAe,UAAU,CAAC"}