mcp-wordpress 1.2.2 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (251) hide show
  1. package/README.md +210 -182
  2. package/dist/cache/CacheInvalidation.d.ts +3 -3
  3. package/dist/cache/CacheInvalidation.d.ts.map +1 -1
  4. package/dist/cache/CacheInvalidation.js +119 -119
  5. package/dist/cache/CacheInvalidation.js.map +1 -1
  6. package/dist/cache/CacheManager.d.ts +5 -0
  7. package/dist/cache/CacheManager.d.ts.map +1 -1
  8. package/dist/cache/CacheManager.js +26 -16
  9. package/dist/cache/CacheManager.js.map +1 -1
  10. package/dist/cache/HttpCacheWrapper.d.ts +1 -1
  11. package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
  12. package/dist/cache/HttpCacheWrapper.js +29 -29
  13. package/dist/cache/HttpCacheWrapper.js.map +1 -1
  14. package/dist/cache/__tests__/CacheInvalidation.test.js +96 -94
  15. package/dist/cache/__tests__/CacheInvalidation.test.js.map +1 -1
  16. package/dist/cache/__tests__/CacheManager.test.js +113 -113
  17. package/dist/cache/__tests__/CacheManager.test.js.map +1 -1
  18. package/dist/cache/__tests__/CachedWordPressClient.test.js +102 -99
  19. package/dist/cache/__tests__/CachedWordPressClient.test.js.map +1 -1
  20. package/dist/cache/__tests__/HttpCacheWrapper.test.js +98 -95
  21. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -1
  22. package/dist/cache/index.d.ts +7 -7
  23. package/dist/cache/index.d.ts.map +1 -1
  24. package/dist/cache/index.js +4 -4
  25. package/dist/cache/index.js.map +1 -1
  26. package/dist/client/CachedWordPressClient.d.ts +4 -4
  27. package/dist/client/CachedWordPressClient.d.ts.map +1 -1
  28. package/dist/client/CachedWordPressClient.js +55 -51
  29. package/dist/client/CachedWordPressClient.js.map +1 -1
  30. package/dist/client/api.d.ts +10 -10
  31. package/dist/client/api.js +158 -158
  32. package/dist/client/api.js.map +1 -1
  33. package/dist/client/auth.d.ts +2 -2
  34. package/dist/client/auth.js +72 -72
  35. package/dist/client/managers/AuthenticationManager.d.ts +2 -2
  36. package/dist/client/managers/AuthenticationManager.js +46 -46
  37. package/dist/client/managers/BaseManager.d.ts +1 -1
  38. package/dist/client/managers/BaseManager.js +9 -9
  39. package/dist/client/managers/RequestManager.d.ts +5 -3
  40. package/dist/client/managers/RequestManager.d.ts.map +1 -1
  41. package/dist/client/managers/RequestManager.js +39 -19
  42. package/dist/client/managers/RequestManager.js.map +1 -1
  43. package/dist/client/managers/index.d.ts +3 -3
  44. package/dist/client/managers/index.js +3 -3
  45. package/dist/config/ConfigurationSchema.d.ts +2 -2
  46. package/dist/config/ConfigurationSchema.d.ts.map +1 -1
  47. package/dist/config/ConfigurationSchema.js +40 -40
  48. package/dist/config/ConfigurationSchema.js.map +1 -1
  49. package/dist/config/ServerConfiguration.d.ts +2 -2
  50. package/dist/config/ServerConfiguration.js +35 -35
  51. package/dist/config/ServerConfiguration.js.map +1 -1
  52. package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
  53. package/dist/docs/DocumentationGenerator.js +296 -255
  54. package/dist/docs/DocumentationGenerator.js.map +1 -1
  55. package/dist/docs/MarkdownFormatter.d.ts +1 -1
  56. package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
  57. package/dist/docs/MarkdownFormatter.js +60 -51
  58. package/dist/docs/MarkdownFormatter.js.map +1 -1
  59. package/dist/docs/index.d.ts +3 -3
  60. package/dist/docs/index.d.ts.map +1 -1
  61. package/dist/docs/index.js +2 -2
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +16 -16
  64. package/dist/index.js.map +1 -1
  65. package/dist/mcp-wordpress-1.3.0.tgz +0 -0
  66. package/dist/performance/MetricsCollector.d.ts +3 -3
  67. package/dist/performance/MetricsCollector.d.ts.map +1 -1
  68. package/dist/performance/MetricsCollector.js +33 -27
  69. package/dist/performance/MetricsCollector.js.map +1 -1
  70. package/dist/performance/PerformanceAnalytics.d.ts +12 -12
  71. package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
  72. package/dist/performance/PerformanceAnalytics.js +200 -154
  73. package/dist/performance/PerformanceAnalytics.js.map +1 -1
  74. package/dist/performance/PerformanceMonitor.d.ts +5 -5
  75. package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
  76. package/dist/performance/PerformanceMonitor.js +53 -52
  77. package/dist/performance/PerformanceMonitor.js.map +1 -1
  78. package/dist/performance/index.d.ts +6 -6
  79. package/dist/performance/index.d.ts.map +1 -1
  80. package/dist/performance/index.js +3 -3
  81. package/dist/security/InputValidator.d.ts +1 -1
  82. package/dist/security/InputValidator.d.ts.map +1 -1
  83. package/dist/security/InputValidator.js +111 -88
  84. package/dist/security/InputValidator.js.map +1 -1
  85. package/dist/security/SecurityConfig.d.ts +5 -5
  86. package/dist/security/SecurityConfig.js +92 -92
  87. package/dist/security/SecurityConfig.js.map +1 -1
  88. package/dist/server/ConnectionTester.d.ts +1 -1
  89. package/dist/server/ConnectionTester.d.ts.map +1 -1
  90. package/dist/server/ConnectionTester.js +4 -4
  91. package/dist/server/ConnectionTester.js.map +1 -1
  92. package/dist/server/ToolRegistry.d.ts +2 -2
  93. package/dist/server/ToolRegistry.d.ts.map +1 -1
  94. package/dist/server/ToolRegistry.js +35 -32
  95. package/dist/server/ToolRegistry.js.map +1 -1
  96. package/dist/server.d.ts +2 -2
  97. package/dist/server.js +2 -2
  98. package/dist/tools/BaseToolManager.js +5 -5
  99. package/dist/tools/auth.d.ts +2 -2
  100. package/dist/tools/auth.d.ts.map +1 -1
  101. package/dist/tools/auth.js +32 -31
  102. package/dist/tools/auth.js.map +1 -1
  103. package/dist/tools/cache.d.ts +1 -1
  104. package/dist/tools/cache.d.ts.map +1 -1
  105. package/dist/tools/cache.js +71 -71
  106. package/dist/tools/cache.js.map +1 -1
  107. package/dist/tools/comments.d.ts +2 -2
  108. package/dist/tools/comments.d.ts.map +1 -1
  109. package/dist/tools/comments.js +79 -79
  110. package/dist/tools/comments.js.map +1 -1
  111. package/dist/tools/index.d.ts +10 -10
  112. package/dist/tools/index.js +10 -10
  113. package/dist/tools/media.d.ts +2 -2
  114. package/dist/tools/media.js +80 -80
  115. package/dist/tools/pages.d.ts +2 -2
  116. package/dist/tools/pages.d.ts.map +1 -1
  117. package/dist/tools/pages.js +75 -75
  118. package/dist/tools/pages.js.map +1 -1
  119. package/dist/tools/performance.d.ts +1 -1
  120. package/dist/tools/performance.d.ts.map +1 -1
  121. package/dist/tools/performance.js +311 -287
  122. package/dist/tools/performance.js.map +1 -1
  123. package/dist/tools/posts.d.ts +2 -2
  124. package/dist/tools/posts.d.ts.map +1 -1
  125. package/dist/tools/posts.js +94 -94
  126. package/dist/tools/posts.js.map +1 -1
  127. package/dist/tools/site.d.ts +2 -2
  128. package/dist/tools/site.d.ts.map +1 -1
  129. package/dist/tools/site.js +60 -60
  130. package/dist/tools/site.js.map +1 -1
  131. package/dist/tools/taxonomies.d.ts +2 -2
  132. package/dist/tools/taxonomies.js +89 -89
  133. package/dist/tools/users.d.ts +2 -2
  134. package/dist/tools/users.js +68 -68
  135. package/dist/tools/users.js.map +1 -1
  136. package/dist/types/client.d.ts +13 -13
  137. package/dist/types/client.d.ts.map +1 -1
  138. package/dist/types/client.js +12 -12
  139. package/dist/types/client.js.map +1 -1
  140. package/dist/types/index.d.ts +19 -19
  141. package/dist/types/index.d.ts.map +1 -1
  142. package/dist/types/index.js +3 -3
  143. package/dist/types/mcp.d.ts +7 -7
  144. package/dist/types/wordpress.d.ts +21 -21
  145. package/dist/types/wordpress.d.ts.map +1 -1
  146. package/dist/utils/debug.d.ts +2 -2
  147. package/dist/utils/debug.js +28 -28
  148. package/dist/utils/error.d.ts.map +1 -1
  149. package/dist/utils/error.js +13 -13
  150. package/dist/utils/error.js.map +1 -1
  151. package/dist/utils/toolWrapper.d.ts.map +1 -1
  152. package/dist/utils/toolWrapper.js +5 -5
  153. package/dist/utils/toolWrapper.js.map +1 -1
  154. package/dist/utils/validation.d.ts.map +1 -1
  155. package/dist/utils/validation.js +41 -31
  156. package/dist/utils/validation.js.map +1 -1
  157. package/docs/CACHING.md +36 -2
  158. package/docs/DOCKER.md +24 -18
  159. package/docs/PERFORMANCE_MONITORING.md +49 -1
  160. package/docs/SECURITY_TESTING.md +30 -1
  161. package/docs/api/README.md +9 -1
  162. package/docs/api/summary.json +1 -1
  163. package/docs/contract-testing.md +24 -3
  164. package/docs/developer/GITHUB_ACTIONS_SETUP.md +8 -2
  165. package/docs/developer/MAINTENANCE.md +29 -3
  166. package/docs/developer/MIGRATION_GUIDE.md +13 -1
  167. package/docs/developer/NPM_AUTH_SETUP.md +13 -2
  168. package/docs/developer/REFACTORING.md +31 -1
  169. package/docs/releases/COMMUNITY_ANNOUNCEMENT_v1.1.2.md +18 -7
  170. package/docs/releases/RELEASE_NOTES_v1.1.2.md +31 -5
  171. package/docs/user-guides/DOCKER_SETUP.md +264 -0
  172. package/docs/user-guides/DTX_SETUP.md +327 -0
  173. package/docs/user-guides/NPM_SETUP.md +109 -0
  174. package/docs/user-guides/NPX_SETUP.md +281 -0
  175. package/docs/wordpress-rest-api-authentication-troubleshooting.md +13 -2
  176. package/package.json +27 -8
  177. package/src/cache/CacheInvalidation.ts +140 -132
  178. package/src/cache/CacheManager.ts +40 -29
  179. package/src/cache/HttpCacheWrapper.ts +105 -68
  180. package/src/cache/__tests__/CacheInvalidation.test.ts +123 -118
  181. package/src/cache/__tests__/CacheManager.test.ts +156 -152
  182. package/src/cache/__tests__/CachedWordPressClient.test.ts +131 -116
  183. package/src/cache/__tests__/HttpCacheWrapper.test.ts +118 -115
  184. package/src/cache/index.ts +13 -13
  185. package/src/client/CachedWordPressClient.ts +90 -80
  186. package/src/client/api.ts +205 -205
  187. package/src/client/auth.ts +80 -80
  188. package/src/client/managers/AuthenticationManager.ts +61 -61
  189. package/src/client/managers/BaseManager.ts +11 -11
  190. package/src/client/managers/RequestManager.ts +79 -47
  191. package/src/client/managers/index.ts +3 -3
  192. package/src/config/ConfigurationSchema.ts +44 -44
  193. package/src/config/ServerConfiguration.ts +39 -39
  194. package/src/docs/DocumentationGenerator.ts +402 -295
  195. package/src/docs/MarkdownFormatter.ts +94 -69
  196. package/src/docs/index.ts +4 -4
  197. package/src/index.ts +24 -21
  198. package/src/performance/MetricsCollector.ts +90 -58
  199. package/src/performance/PerformanceAnalytics.ts +386 -262
  200. package/src/performance/PerformanceMonitor.ts +152 -118
  201. package/src/performance/index.ts +9 -9
  202. package/src/security/InputValidator.ts +148 -91
  203. package/src/security/SecurityConfig.ts +94 -94
  204. package/src/server/ConnectionTester.ts +21 -15
  205. package/src/server/ToolRegistry.ts +64 -51
  206. package/src/server.ts +2 -2
  207. package/src/tools/BaseToolManager.ts +6 -6
  208. package/src/tools/auth.ts +42 -37
  209. package/src/tools/cache.ts +85 -81
  210. package/src/tools/comments.ts +93 -91
  211. package/src/tools/index.ts +10 -10
  212. package/src/tools/media.ts +89 -89
  213. package/src/tools/pages.ts +89 -87
  214. package/src/tools/performance.ts +443 -352
  215. package/src/tools/posts.ts +109 -107
  216. package/src/tools/site.ts +86 -77
  217. package/src/tools/taxonomies.ts +102 -102
  218. package/src/tools/users.ts +77 -77
  219. package/src/types/client.ts +157 -60
  220. package/src/types/index.ts +49 -27
  221. package/src/types/mcp.ts +15 -15
  222. package/src/types/wordpress.ts +57 -29
  223. package/src/utils/debug.ts +37 -37
  224. package/src/utils/error.ts +47 -25
  225. package/src/utils/toolWrapper.ts +12 -8
  226. package/src/utils/validation.ts +116 -65
  227. package/dist/client/WordPressClient.d.ts +0 -81
  228. package/dist/client/WordPressClient.d.ts.map +0 -1
  229. package/dist/client/WordPressClient.js +0 -354
  230. package/dist/client/WordPressClient.js.map +0 -1
  231. package/dist/performance/AnomalyDetector.d.ts +0 -63
  232. package/dist/performance/AnomalyDetector.d.ts.map +0 -1
  233. package/dist/performance/AnomalyDetector.js +0 -222
  234. package/dist/performance/AnomalyDetector.js.map +0 -1
  235. package/dist/performance/BenchmarkAnalyzer.d.ts +0 -67
  236. package/dist/performance/BenchmarkAnalyzer.d.ts.map +0 -1
  237. package/dist/performance/BenchmarkAnalyzer.js +0 -301
  238. package/dist/performance/BenchmarkAnalyzer.js.map +0 -1
  239. package/dist/performance/TrendAnalyzer.d.ts +0 -69
  240. package/dist/performance/TrendAnalyzer.d.ts.map +0 -1
  241. package/dist/performance/TrendAnalyzer.js +0 -203
  242. package/dist/performance/TrendAnalyzer.js.map +0 -1
  243. package/dist/tools/BaseToolClass.d.ts +0 -76
  244. package/dist/tools/BaseToolClass.d.ts.map +0 -1
  245. package/dist/tools/BaseToolClass.js +0 -104
  246. package/dist/tools/BaseToolClass.js.map +0 -1
  247. package/dist/tools/base.d.ts +0 -37
  248. package/dist/tools/base.d.ts.map +0 -1
  249. package/dist/tools/base.js +0 -60
  250. package/dist/tools/base.js.map +0 -1
  251. package/docs/user-guides/CLAUDE_DESKTOP_SETUP.md +0 -187
@@ -1,66 +1,66 @@
1
1
  /**
2
2
  * Security configuration and constants for MCP WordPress
3
3
  */
4
- import { randomBytes } from 'crypto';
4
+ import { randomBytes } from "crypto";
5
5
  export const SecurityConfig = {
6
6
  // Rate limiting
7
7
  rateLimiting: {
8
8
  default: {
9
9
  windowMs: 60 * 1000, // 1 minute
10
- maxRequests: 60
10
+ maxRequests: 60,
11
11
  },
12
12
  authentication: {
13
13
  windowMs: 5 * 60 * 1000, // 5 minutes
14
- maxAttempts: 5
14
+ maxAttempts: 5,
15
15
  },
16
16
  upload: {
17
17
  windowMs: 60 * 1000, // 1 minute
18
- maxRequests: 10
19
- }
18
+ maxRequests: 10,
19
+ },
20
20
  },
21
21
  // File upload restrictions
22
22
  fileUpload: {
23
23
  maxSizeMB: 10,
24
24
  allowedMimeTypes: [
25
- 'image/jpeg',
26
- 'image/png',
27
- 'image/gif',
28
- 'image/webp',
29
- 'image/svg+xml',
30
- 'application/pdf',
31
- 'application/msword',
32
- 'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
33
- 'application/vnd.ms-excel',
34
- 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
35
- 'text/plain',
36
- 'text/csv'
25
+ "image/jpeg",
26
+ "image/png",
27
+ "image/gif",
28
+ "image/webp",
29
+ "image/svg+xml",
30
+ "application/pdf",
31
+ "application/msword",
32
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
33
+ "application/vnd.ms-excel",
34
+ "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
35
+ "text/plain",
36
+ "text/csv",
37
37
  ],
38
38
  // Dangerous file extensions to block
39
39
  blockedExtensions: [
40
- '.exe',
41
- '.bat',
42
- '.cmd',
43
- '.com',
44
- '.pif',
45
- '.scr',
46
- '.vbs',
47
- '.js',
48
- '.jar',
49
- '.zip',
50
- '.rar',
51
- '.tar',
52
- '.php',
53
- '.php3',
54
- '.php4',
55
- '.php5',
56
- '.phtml',
57
- '.sh',
58
- '.bash',
59
- '.zsh',
60
- '.fish',
61
- '.ps1',
62
- '.psm1'
63
- ]
40
+ ".exe",
41
+ ".bat",
42
+ ".cmd",
43
+ ".com",
44
+ ".pif",
45
+ ".scr",
46
+ ".vbs",
47
+ ".js",
48
+ ".jar",
49
+ ".zip",
50
+ ".rar",
51
+ ".tar",
52
+ ".php",
53
+ ".php3",
54
+ ".php4",
55
+ ".php5",
56
+ ".phtml",
57
+ ".sh",
58
+ ".bash",
59
+ ".zsh",
60
+ ".fish",
61
+ ".ps1",
62
+ ".psm1",
63
+ ],
64
64
  },
65
65
  // Input validation
66
66
  validation: {
@@ -72,54 +72,54 @@ export const SecurityConfig = {
72
72
  maxUsernameLength: 60,
73
73
  minUsernameLength: 3,
74
74
  maxPasswordLength: 128,
75
- minPasswordLength: 8
75
+ minPasswordLength: 8,
76
76
  },
77
77
  // Request timeouts (milliseconds)
78
78
  timeouts: {
79
79
  default: 30000, // 30 seconds
80
80
  upload: 600000, // 10 minutes
81
- auth: 10000 // 10 seconds
81
+ auth: 10000, // 10 seconds
82
82
  },
83
83
  // Security headers
84
84
  headers: {
85
- 'X-Content-Type-Options': 'nosniff',
86
- 'X-Frame-Options': 'DENY',
87
- 'X-XSS-Protection': '1; mode=block',
88
- 'Strict-Transport-Security': 'max-age=31536000; includeSubDomains',
89
- 'Content-Security-Policy': 'default-src \'self\''
85
+ "X-Content-Type-Options": "nosniff",
86
+ "X-Frame-Options": "DENY",
87
+ "X-XSS-Protection": "1; mode=block",
88
+ "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
89
+ "Content-Security-Policy": "default-src 'self'",
90
90
  },
91
91
  // Error messages (generic to avoid information disclosure)
92
92
  errorMessages: {
93
- authentication: 'Authentication failed. Please check your credentials.',
94
- authorization: 'You do not have permission to perform this action.',
95
- validation: 'Invalid input provided.',
96
- rateLimit: 'Too many requests. Please try again later.',
97
- serverError: 'An error occurred processing your request.',
98
- notFound: 'The requested resource was not found.'
93
+ authentication: "Authentication failed. Please check your credentials.",
94
+ authorization: "You do not have permission to perform this action.",
95
+ validation: "Invalid input provided.",
96
+ rateLimit: "Too many requests. Please try again later.",
97
+ serverError: "An error occurred processing your request.",
98
+ notFound: "The requested resource was not found.",
99
99
  },
100
100
  // Logging configuration
101
101
  logging: {
102
102
  // Fields to exclude from logs
103
103
  excludeFields: [
104
- 'password',
105
- 'appPassword',
106
- 'app_password',
107
- 'token',
108
- 'secret',
109
- 'authorization',
110
- 'cookie',
111
- 'session',
112
- 'key',
113
- 'apiKey',
114
- 'api_key'
104
+ "password",
105
+ "appPassword",
106
+ "app_password",
107
+ "token",
108
+ "secret",
109
+ "authorization",
110
+ "cookie",
111
+ "session",
112
+ "key",
113
+ "apiKey",
114
+ "api_key",
115
115
  ],
116
116
  // Patterns to redact in log messages
117
117
  redactPatterns: [
118
118
  /password["\s:=]+["']?([^"'\s]+)["']?/gi,
119
119
  /token["\s:=]+["']?([^"'\s]+)["']?/gi,
120
120
  /secret["\s:=]+["']?([^"'\s]+)["']?/gi,
121
- /key["\s:=]+["']?([^"'\s]+)["']?/gi
122
- ]
121
+ /key["\s:=]+["']?([^"'\s]+)["']?/gi,
122
+ ],
123
123
  },
124
124
  // Cache configuration
125
125
  cache: {
@@ -135,30 +135,30 @@ export const SecurityConfig = {
135
135
  semiStatic: 2 * 60 * 60 * 1000, // 2 hours - categories, tags, user profiles
136
136
  dynamic: 15 * 60 * 1000, // 15 minutes - posts, pages, comments
137
137
  session: 30 * 60 * 1000, // 30 minutes - authentication, current user
138
- realtime: 60 * 1000 // 1 minute - real-time data
138
+ realtime: 60 * 1000, // 1 minute - real-time data
139
139
  },
140
140
  // Cache-Control headers by data type
141
141
  cacheHeaders: {
142
- static: 'public, max-age=14400', // 4 hours
143
- semiStatic: 'public, max-age=7200', // 2 hours
144
- dynamic: 'public, max-age=900', // 15 minutes
145
- session: 'private, max-age=1800', // 30 minutes
146
- realtime: 'public, max-age=60' // 1 minute
142
+ static: "public, max-age=14400", // 4 hours
143
+ semiStatic: "public, max-age=7200", // 2 hours
144
+ dynamic: "public, max-age=900", // 15 minutes
145
+ session: "private, max-age=1800", // 30 minutes
146
+ realtime: "public, max-age=60", // 1 minute
147
147
  },
148
148
  // Invalidation settings
149
149
  invalidation: {
150
150
  enabled: true,
151
151
  batchSize: 100, // Max events to process in one batch
152
152
  queueTimeout: 5000, // Max time to wait before processing queue (ms)
153
- enableCascading: true // Allow cascading invalidations
153
+ enableCascading: true, // Allow cascading invalidations
154
154
  },
155
155
  // Memory management
156
156
  cleanup: {
157
157
  interval: 60 * 1000, // Cleanup interval in milliseconds (1 minute)
158
158
  maxMemoryMB: 50, // Maximum memory usage for cache
159
- evictionThreshold: 0.8 // Start evicting when 80% full
160
- }
161
- }
159
+ evictionThreshold: 0.8, // Start evicting when 80% full
160
+ },
161
+ },
162
162
  };
163
163
  /**
164
164
  * Security utility functions
@@ -168,15 +168,15 @@ export class SecurityUtils {
168
168
  * Redact sensitive information from objects
169
169
  */
170
170
  static redactSensitiveData(obj) {
171
- if (typeof obj !== 'object' || obj === null) {
171
+ if (typeof obj !== "object" || obj === null) {
172
172
  return obj;
173
173
  }
174
174
  const redacted = Array.isArray(obj) ? [...obj] : { ...obj };
175
175
  for (const key in redacted) {
176
176
  if (SecurityConfig.logging.excludeFields.some((field) => key.toLowerCase().includes(field.toLowerCase()))) {
177
- redacted[key] = '[REDACTED]';
177
+ redacted[key] = "[REDACTED]";
178
178
  }
179
- else if (typeof redacted[key] === 'object') {
179
+ else if (typeof redacted[key] === "object") {
180
180
  redacted[key] = SecurityUtils.redactSensitiveData(redacted[key]);
181
181
  }
182
182
  }
@@ -189,7 +189,7 @@ export class SecurityUtils {
189
189
  let redacted = str;
190
190
  for (const pattern of SecurityConfig.logging.redactPatterns) {
191
191
  redacted = redacted.replace(pattern, (match, value) => {
192
- return match.replace(value, '[REDACTED]');
192
+ return match.replace(value, "[REDACTED]");
193
193
  });
194
194
  }
195
195
  return redacted;
@@ -198,9 +198,9 @@ export class SecurityUtils {
198
198
  * Generate secure random strings
199
199
  */
200
200
  static generateSecureToken(length = 32) {
201
- const chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
201
+ const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
202
202
  const array = new Uint8Array(length);
203
- if (typeof crypto !== 'undefined' && crypto.getRandomValues) {
203
+ if (typeof crypto !== "undefined" && crypto.getRandomValues) {
204
204
  crypto.getRandomValues(array);
205
205
  }
206
206
  else {
@@ -208,7 +208,7 @@ export class SecurityUtils {
208
208
  const buffer = randomBytes(length);
209
209
  array.set(buffer);
210
210
  }
211
- return Array.from(array, (byte) => chars[byte % chars.length]).join('');
211
+ return Array.from(array, (byte) => chars[byte % chars.length]).join("");
212
212
  }
213
213
  /**
214
214
  * Check if a file extension is allowed
@@ -221,10 +221,10 @@ export class SecurityUtils {
221
221
  * Sanitize log output
222
222
  */
223
223
  static sanitizeForLog(data) {
224
- if (typeof data === 'string') {
224
+ if (typeof data === "string") {
225
225
  return SecurityUtils.redactString(data);
226
226
  }
227
- if (typeof data === 'object') {
227
+ if (typeof data === "object") {
228
228
  return SecurityUtils.redactSensitiveData(data);
229
229
  }
230
230
  return data;
@@ -235,28 +235,28 @@ export class SecurityUtils {
235
235
  */
236
236
  export function createSecureError(error, fallbackMessage = SecurityConfig.errorMessages.serverError) {
237
237
  // Log the actual error for debugging (with sanitization)
238
- if (process.env.NODE_ENV !== 'production') {
239
- console.error('Secure Error:', SecurityUtils.sanitizeForLog(error));
238
+ if (process.env.NODE_ENV !== "production") {
239
+ console.error("Secure Error:", SecurityUtils.sanitizeForLog(error));
240
240
  }
241
241
  // Return generic error to prevent information disclosure
242
242
  const secureError = new Error(fallbackMessage);
243
243
  // Preserve error code if it's safe
244
- if (error && typeof error.code === 'string' && !error.code.includes('_')) {
244
+ if (error && typeof error.code === "string" && !error.code.includes("_")) {
245
245
  secureError.code = error.code;
246
246
  }
247
247
  return secureError;
248
248
  }
249
249
  // Import path for file extension checking
250
- import * as path from 'path';
250
+ import * as path from "path";
251
251
  /**
252
252
  * Environment-specific security settings
253
253
  */
254
254
  export function getEnvironmentSecurity() {
255
- const isProduction = process.env.NODE_ENV === 'production';
255
+ const isProduction = process.env.NODE_ENV === "production";
256
256
  return {
257
257
  strictMode: isProduction,
258
258
  verboseErrors: !isProduction,
259
- enforceHttps: isProduction
259
+ enforceHttps: isProduction,
260
260
  };
261
261
  }
262
262
  //# sourceMappingURL=SecurityConfig.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SecurityConfig.js","sourceRoot":"","sources":["../../src/security/SecurityConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SecurityConfig.js","sourceRoot":"","sources":["../../src/security/SecurityConfig.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { WordPressClient } from '../client/api.js';
1
+ import { WordPressClient } from "../client/api.js";
2
2
  /**
3
3
  * Service for testing WordPress client connections
4
4
  * Handles connection validation and health checks
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionTester.d.ts","sourceRoot":"","sources":["../../src/server/ConnectionTester.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;WACiB,qBAAqB,CACvC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC7C,OAAO,CAAC,IAAI,CAAC;IAsBhB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC;;OAEG;WACiB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1E;;OAEG;WACiB,cAAc,CAChC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAUjC"}
1
+ {"version":3,"file":"ConnectionTester.d.ts","sourceRoot":"","sources":["../../src/server/ConnectionTester.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;WACiB,qBAAqB,CACvC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC7C,OAAO,CAAC,IAAI,CAAC;IA4BhB;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,qBAAqB;IAOpC;;OAEG;WACiB,WAAW,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC;IAU1E;;OAEG;WACiB,cAAc,CAChC,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,GAC7C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAUjC"}
@@ -1,4 +1,4 @@
1
- import { getErrorMessage } from '../utils/error.js';
1
+ import { getErrorMessage } from "../utils/error.js";
2
2
  /**
3
3
  * Service for testing WordPress client connections
4
4
  * Handles connection validation and health checks
@@ -8,7 +8,7 @@ export class ConnectionTester {
8
8
  * Test connections to all configured WordPress sites
9
9
  */
10
10
  static async testClientConnections(wordpressClients) {
11
- console.error('INFO: Testing connections to all configured WordPress sites...');
11
+ console.error("INFO: Testing connections to all configured WordPress sites...");
12
12
  const connectionPromises = Array.from(wordpressClients.entries()).map(async ([siteId, client]) => {
13
13
  try {
14
14
  await client.ping();
@@ -22,7 +22,7 @@ export class ConnectionTester {
22
22
  }
23
23
  });
24
24
  await Promise.all(connectionPromises);
25
- console.error('INFO: Connection tests complete.');
25
+ console.error("INFO: Connection tests complete.");
26
26
  }
27
27
  /**
28
28
  * Check if error is authentication-related
@@ -31,7 +31,7 @@ export class ConnectionTester {
31
31
  if (error?.response?.status && [401, 403].includes(error.response.status)) {
32
32
  return true;
33
33
  }
34
- return error?.code === 'WORDPRESS_AUTH_ERROR';
34
+ return error?.code === "WORDPRESS_AUTH_ERROR";
35
35
  }
36
36
  /**
37
37
  * Perform health check for a specific client
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectionTester.js","sourceRoot":"","sources":["../../src/server/ConnectionTester.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACvC,gBAA8C;QAE9C,OAAO,CAAC,KAAK,CAAC,gEAAgE,CAAC,CAAC;QAEhF,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACnE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,eAAe,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;gBAEzF,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,OAAO,CAAC,KAAK,CAAC,4CAA4C,MAAM,8BAA8B,CAAC,CAAC;gBAClG,CAAC;YACH,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,qBAAqB,CAAC,KAAU;QAC7C,IAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,EAAE,IAAI,KAAK,sBAAsB,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAuB;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,gBAA8C;QAE9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE3C,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"ConnectionTester.js","sourceRoot":"","sources":["../../src/server/ConnectionTester.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;;GAGG;AACH,MAAM,OAAO,gBAAgB;IAC3B;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,qBAAqB,CACvC,gBAA8C;QAE9C,OAAO,CAAC,KAAK,CACX,gEAAgE,CACjE,CAAC;QAEF,MAAM,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CACnE,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE;YACzB,IAAI,CAAC;gBACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;gBACpB,OAAO,CAAC,KAAK,CAAC,gCAAgC,MAAM,eAAe,CAAC,CAAC;YACvE,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACX,qCAAqC,MAAM,MAAM,eAAe,CAAC,KAAK,CAAC,EAAE,CAC1E,CAAC;gBAEF,IAAI,gBAAgB,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC;oBAClD,OAAO,CAAC,KAAK,CACX,4CAA4C,MAAM,8BAA8B,CACjF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC,CACF,CAAC;QAEF,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QACtC,OAAO,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,qBAAqB,CAAC,KAAU;QAC7C,IAAI,KAAK,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC1E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,KAAK,EAAE,IAAI,KAAK,sBAAsB,CAAC;IAChD,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,MAAuB;QACrD,IAAI,CAAC;YACH,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;YACpB,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,wBAAwB,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;YAChE,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,KAAK,CAAC,cAAc,CAChC,gBAA8C;QAE9C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAmB,CAAC;QAE3C,KAAK,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,IAAI,gBAAgB,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
- import { WordPressClient } from '../client/api.js';
1
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { WordPressClient } from "../client/api.js";
3
3
  /**
4
4
  * Interface for tool definition
5
5
  */
@@ -1 +1 @@
1
- {"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../src/server/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAK7E;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAoB/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAiFpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAoB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAM9B"}
1
+ {"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../src/server/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAKnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,gBAAgB,CAA+B;gBAGrD,MAAM,EAAE,SAAS,EACjB,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAMhD;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAuB/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAsFpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAsB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAM9B"}
@@ -1,6 +1,6 @@
1
- import { getErrorMessage } from '../utils/error.js';
2
- import * as Tools from '../tools/index.js';
3
- import { z } from 'zod';
1
+ import { getErrorMessage } from "../utils/error.js";
2
+ import * as Tools from "../tools/index.js";
3
+ import { z } from "zod";
4
4
  /**
5
5
  * Registry for managing MCP tools
6
6
  * Handles tool registration, parameter validation, and execution
@@ -20,7 +20,8 @@ export class ToolRegistry {
20
20
  Object.values(Tools).forEach((ToolClass) => {
21
21
  let toolInstance;
22
22
  // Cache and Performance tools need the clients map
23
- if (ToolClass.name === 'CacheTools' || ToolClass.name === 'PerformanceTools') {
23
+ if (ToolClass.name === "CacheTools" ||
24
+ ToolClass.name === "PerformanceTools") {
24
25
  toolInstance = new ToolClass(this.wordpressClients);
25
26
  }
26
27
  else {
@@ -41,28 +42,28 @@ export class ToolRegistry {
41
42
  site: z
42
43
  .string()
43
44
  .optional()
44
- .describe('The ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured.')
45
+ .describe("The ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured."),
45
46
  };
46
47
  // Merge with tool-specific parameters
47
48
  const parameterSchema = this.buildParameterSchema(tool, baseSchema);
48
49
  // Make site parameter required if multiple sites are configured
49
50
  if (this.wordpressClients.size > 1) {
50
- parameterSchema.site = parameterSchema.site.describe('The ID of the WordPress site to target (from mcp-wordpress.config.json). Required when multiple sites are configured.');
51
+ parameterSchema.site = parameterSchema.site.describe("The ID of the WordPress site to target (from mcp-wordpress.config.json). Required when multiple sites are configured.");
51
52
  }
52
53
  this.server.tool(tool.name, tool.description || `WordPress tool: ${tool.name}`, parameterSchema, async (args) => {
53
54
  try {
54
- const siteId = args.site || 'default';
55
+ const siteId = args.site || "default";
55
56
  const client = this.wordpressClients.get(siteId);
56
57
  if (!client) {
57
- const availableSites = Array.from(this.wordpressClients.keys()).join(', ');
58
+ const availableSites = Array.from(this.wordpressClients.keys()).join(", ");
58
59
  return {
59
60
  content: [
60
61
  {
61
- type: 'text',
62
- text: `Error: Site with ID '${siteId}' not found. Available sites: ${availableSites}`
63
- }
62
+ type: "text",
63
+ text: `Error: Site with ID '${siteId}' not found. Available sites: ${availableSites}`,
64
+ },
64
65
  ],
65
- isError: true
66
+ isError: true,
66
67
  };
67
68
  }
68
69
  // Call the tool handler with the client and parameters
@@ -70,10 +71,12 @@ export class ToolRegistry {
70
71
  return {
71
72
  content: [
72
73
  {
73
- type: 'text',
74
- text: typeof result === 'string' ? result : JSON.stringify(result, null, 2)
75
- }
76
- ]
74
+ type: "text",
75
+ text: typeof result === "string"
76
+ ? result
77
+ : JSON.stringify(result, null, 2),
78
+ },
79
+ ],
77
80
  };
78
81
  }
79
82
  catch (error) {
@@ -81,21 +84,21 @@ export class ToolRegistry {
81
84
  return {
82
85
  content: [
83
86
  {
84
- type: 'text',
85
- text: `Authentication failed for site '${args.site || 'default'}'. Please check your credentials.`
86
- }
87
+ type: "text",
88
+ text: `Authentication failed for site '${args.site || "default"}'. Please check your credentials.`,
89
+ },
87
90
  ],
88
- isError: true
91
+ isError: true,
89
92
  };
90
93
  }
91
94
  return {
92
95
  content: [
93
96
  {
94
- type: 'text',
95
- text: `Error: ${getErrorMessage(error)}`
96
- }
97
+ type: "text",
98
+ text: `Error: ${getErrorMessage(error)}`,
99
+ },
97
100
  ],
98
- isError: true
101
+ isError: true,
99
102
  };
100
103
  }
101
104
  });
@@ -104,7 +107,7 @@ export class ToolRegistry {
104
107
  * Build Zod parameter schema from tool definition
105
108
  */
106
109
  buildParameterSchema(tool, baseSchema) {
107
- return tool.parameters?.reduce((schema, param) => {
110
+ return (tool.parameters?.reduce((schema, param) => {
108
111
  let zodType = this.getZodTypeForParameter(param);
109
112
  if (param.description) {
110
113
  zodType = zodType.describe(param.description);
@@ -114,22 +117,22 @@ export class ToolRegistry {
114
117
  }
115
118
  schema[param.name] = zodType;
116
119
  return schema;
117
- }, { ...baseSchema }) || baseSchema;
120
+ }, { ...baseSchema }) || baseSchema);
118
121
  }
119
122
  /**
120
123
  * Get appropriate Zod type for parameter definition
121
124
  */
122
125
  getZodTypeForParameter(param) {
123
126
  switch (param.type) {
124
- case 'string':
127
+ case "string":
125
128
  return z.string();
126
- case 'number':
129
+ case "number":
127
130
  return z.number();
128
- case 'boolean':
131
+ case "boolean":
129
132
  return z.boolean();
130
- case 'array':
133
+ case "array":
131
134
  return z.array(z.string());
132
- case 'object':
135
+ case "object":
133
136
  return z.record(z.any());
134
137
  default:
135
138
  return z.string();
@@ -142,7 +145,7 @@ export class ToolRegistry {
142
145
  if (error?.response?.status && [401, 403].includes(error.response.status)) {
143
146
  return true;
144
147
  }
145
- return error?.code === 'WORDPRESS_AUTH_ERROR';
148
+ return error?.code === "WORDPRESS_AUTH_ERROR";
146
149
  }
147
150
  }
148
151
  //# sourceMappingURL=ToolRegistry.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../src/server/ToolRegistry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../src/server/ToolRegistry.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -2,6 +2,6 @@
2
2
  * Compatibility export for tests
3
3
  * Re-exports the main MCP server class for backward compatibility
4
4
  */
5
- export { default as MCPWordPressServer } from './index.js';
6
- export { default } from './index.js';
5
+ export { default as MCPWordPressServer } from "./index.js";
6
+ export { default } from "./index.js";
7
7
  //# sourceMappingURL=server.d.ts.map
package/dist/server.js CHANGED
@@ -2,6 +2,6 @@
2
2
  * Compatibility export for tests
3
3
  * Re-exports the main MCP server class for backward compatibility
4
4
  */
5
- export { default as MCPWordPressServer } from './index.js';
6
- export { default } from './index.js';
5
+ export { default as MCPWordPressServer } from "./index.js";
6
+ export { default } from "./index.js";
7
7
  //# sourceMappingURL=server.js.map