mcp-wordpress 2.4.2 → 2.5.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 (348) hide show
  1. package/README.md +114 -48
  2. package/dist/ajv-patch.js +34 -0
  3. package/dist/cache/CacheInvalidation.d.ts +3 -1
  4. package/dist/cache/CacheInvalidation.d.ts.map +1 -1
  5. package/dist/cache/CacheInvalidation.js +10 -4
  6. package/dist/cache/CacheInvalidation.js.map +1 -1
  7. package/dist/cache/CacheManager.d.ts +3 -2
  8. package/dist/cache/CacheManager.d.ts.map +1 -1
  9. package/dist/cache/CacheManager.js +11 -3
  10. package/dist/cache/CacheManager.js.map +1 -1
  11. package/dist/cache/HttpCacheWrapper.d.ts +7 -6
  12. package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
  13. package/dist/cache/HttpCacheWrapper.js +8 -5
  14. package/dist/cache/HttpCacheWrapper.js.map +1 -1
  15. package/dist/cache/__tests__/HttpCacheWrapper.test.js +6 -5
  16. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -1
  17. package/dist/cache/index.d.ts +3 -3
  18. package/dist/cache/index.d.ts.map +1 -1
  19. package/dist/cache/index.js +1 -1
  20. package/dist/cache/index.js.map +1 -1
  21. package/dist/client/CachedWordPressClient.d.ts +23 -9
  22. package/dist/client/CachedWordPressClient.d.ts.map +1 -1
  23. package/dist/client/CachedWordPressClient.js +4 -1
  24. package/dist/client/CachedWordPressClient.js.map +1 -1
  25. package/dist/client/MockWordPressClient.d.ts +2 -1
  26. package/dist/client/MockWordPressClient.d.ts.map +1 -1
  27. package/dist/client/MockWordPressClient.js +3 -1
  28. package/dist/client/MockWordPressClient.js.map +1 -1
  29. package/dist/client/api.d.ts +17 -13
  30. package/dist/client/api.d.ts.map +1 -1
  31. package/dist/client/api.js +135 -30
  32. package/dist/client/api.js.map +1 -1
  33. package/dist/client/auth.d.ts.map +1 -1
  34. package/dist/client/auth.js +2 -3
  35. package/dist/client/auth.js.map +1 -1
  36. package/dist/client/managers/AuthenticationManager.d.ts +55 -2
  37. package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
  38. package/dist/client/managers/AuthenticationManager.js +269 -71
  39. package/dist/client/managers/AuthenticationManager.js.map +1 -1
  40. package/dist/client/managers/BaseManager.d.ts +3 -3
  41. package/dist/client/managers/BaseManager.d.ts.map +1 -1
  42. package/dist/client/managers/BaseManager.js +11 -5
  43. package/dist/client/managers/BaseManager.js.map +1 -1
  44. package/dist/client/managers/RequestManager.d.ts +2 -2
  45. package/dist/client/managers/RequestManager.d.ts.map +1 -1
  46. package/dist/client/managers/RequestManager.js +25 -12
  47. package/dist/client/managers/RequestManager.js.map +1 -1
  48. package/dist/config/Config.d.ts +155 -0
  49. package/dist/config/Config.d.ts.map +1 -0
  50. package/dist/config/Config.js +215 -0
  51. package/dist/config/Config.js.map +1 -0
  52. package/dist/config/ConfigurationSchema.d.ts +21 -21
  53. package/dist/config/ConfigurationSchema.d.ts.map +1 -1
  54. package/dist/config/ConfigurationSchema.js +19 -2
  55. package/dist/config/ConfigurationSchema.js.map +1 -1
  56. package/dist/config/ServerConfiguration.d.ts +2 -1
  57. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  58. package/dist/config/ServerConfiguration.js +50 -41
  59. package/dist/config/ServerConfiguration.js.map +1 -1
  60. package/dist/docs/DocumentationGenerator.d.ts +9 -8
  61. package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
  62. package/dist/docs/DocumentationGenerator.js +10 -7
  63. package/dist/docs/DocumentationGenerator.js.map +1 -1
  64. package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
  65. package/dist/docs/MarkdownFormatter.js +3 -2
  66. package/dist/docs/MarkdownFormatter.js.map +1 -1
  67. package/dist/dxt-entry.cjs +81 -0
  68. package/dist/dxt-entry.js +15 -14
  69. package/dist/dxt-entry.js.map +1 -1
  70. package/dist/index.d.ts +3 -1
  71. package/dist/index.d.ts.map +1 -1
  72. package/dist/index.js +37 -21
  73. package/dist/index.js.map +1 -1
  74. package/dist/performance/MetricsCollector.d.ts +13 -7
  75. package/dist/performance/MetricsCollector.d.ts.map +1 -1
  76. package/dist/performance/MetricsCollector.js +69 -27
  77. package/dist/performance/MetricsCollector.js.map +1 -1
  78. package/dist/performance/PerformanceAnalytics.d.ts +8 -2
  79. package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
  80. package/dist/performance/PerformanceAnalytics.js +17 -47
  81. package/dist/performance/PerformanceAnalytics.js.map +1 -1
  82. package/dist/performance/PerformanceMonitor.d.ts +2 -1
  83. package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
  84. package/dist/performance/PerformanceMonitor.js +12 -13
  85. package/dist/performance/PerformanceMonitor.js.map +1 -1
  86. package/dist/performance/index.d.ts +2 -2
  87. package/dist/performance/index.d.ts.map +1 -1
  88. package/dist/security/AISecurityScanner.d.ts +1 -0
  89. package/dist/security/AISecurityScanner.d.ts.map +1 -1
  90. package/dist/security/AISecurityScanner.js +22 -12
  91. package/dist/security/AISecurityScanner.js.map +1 -1
  92. package/dist/security/AutomatedRemediation.d.ts +4 -3
  93. package/dist/security/AutomatedRemediation.d.ts.map +1 -1
  94. package/dist/security/AutomatedRemediation.js +46 -15
  95. package/dist/security/AutomatedRemediation.js.map +1 -1
  96. package/dist/security/InputValidator.d.ts +13 -9
  97. package/dist/security/InputValidator.d.ts.map +1 -1
  98. package/dist/security/InputValidator.js +4 -2
  99. package/dist/security/InputValidator.js.map +1 -1
  100. package/dist/security/SecurityCIPipeline.d.ts +1 -1
  101. package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
  102. package/dist/security/SecurityCIPipeline.js +38 -29
  103. package/dist/security/SecurityCIPipeline.js.map +1 -1
  104. package/dist/security/SecurityConfig.d.ts +3 -3
  105. package/dist/security/SecurityConfig.d.ts.map +1 -1
  106. package/dist/security/SecurityConfig.js +13 -9
  107. package/dist/security/SecurityConfig.js.map +1 -1
  108. package/dist/security/SecurityConfigManager.d.ts +2 -2
  109. package/dist/security/SecurityConfigManager.d.ts.map +1 -1
  110. package/dist/security/SecurityConfigManager.js +20 -15
  111. package/dist/security/SecurityConfigManager.js.map +1 -1
  112. package/dist/security/SecurityMonitoring.d.ts +2 -2
  113. package/dist/security/SecurityMonitoring.d.ts.map +1 -1
  114. package/dist/security/SecurityMonitoring.js +19 -17
  115. package/dist/security/SecurityMonitoring.js.map +1 -1
  116. package/dist/security/SecurityReviewer.d.ts.map +1 -1
  117. package/dist/security/SecurityReviewer.js +10 -7
  118. package/dist/security/SecurityReviewer.js.map +1 -1
  119. package/dist/security/index.d.ts +24 -23
  120. package/dist/security/index.d.ts.map +1 -1
  121. package/dist/security/index.js +52 -23
  122. package/dist/security/index.js.map +1 -1
  123. package/dist/server/ConnectionTester.d.ts +12 -4
  124. package/dist/server/ConnectionTester.d.ts.map +1 -1
  125. package/dist/server/ConnectionTester.js +96 -22
  126. package/dist/server/ConnectionTester.js.map +1 -1
  127. package/dist/server/ToolRegistry.d.ts +2 -2
  128. package/dist/server/ToolRegistry.d.ts.map +1 -1
  129. package/dist/server/ToolRegistry.js +10 -5
  130. package/dist/server/ToolRegistry.js.map +1 -1
  131. package/dist/tools/BaseToolManager.d.ts +47 -11
  132. package/dist/tools/BaseToolManager.d.ts.map +1 -1
  133. package/dist/tools/BaseToolManager.js +168 -29
  134. package/dist/tools/BaseToolManager.js.map +1 -1
  135. package/dist/tools/auth.d.ts +16 -10
  136. package/dist/tools/auth.d.ts.map +1 -1
  137. package/dist/tools/auth.js +3 -2
  138. package/dist/tools/auth.js.map +1 -1
  139. package/dist/tools/cache.d.ts +30 -30
  140. package/dist/tools/cache.d.ts.map +1 -1
  141. package/dist/tools/cache.js +1 -6
  142. package/dist/tools/cache.js.map +1 -1
  143. package/dist/tools/comments.d.ts +20 -20
  144. package/dist/tools/comments.d.ts.map +1 -1
  145. package/dist/tools/comments.js +16 -9
  146. package/dist/tools/comments.js.map +1 -1
  147. package/dist/tools/media.d.ts +18 -16
  148. package/dist/tools/media.d.ts.map +1 -1
  149. package/dist/tools/media.js +16 -15
  150. package/dist/tools/media.js.map +1 -1
  151. package/dist/tools/pages.d.ts +19 -17
  152. package/dist/tools/pages.d.ts.map +1 -1
  153. package/dist/tools/pages.js +16 -12
  154. package/dist/tools/pages.js.map +1 -1
  155. package/dist/tools/performance.d.ts +11 -1
  156. package/dist/tools/performance.d.ts.map +1 -1
  157. package/dist/tools/performance.js +67 -34
  158. package/dist/tools/performance.js.map +1 -1
  159. package/dist/tools/posts/PostHandlers.d.ts +46 -0
  160. package/dist/tools/posts/PostHandlers.d.ts.map +1 -0
  161. package/dist/tools/posts/PostHandlers.js +400 -0
  162. package/dist/tools/posts/PostHandlers.js.map +1 -0
  163. package/dist/tools/posts/PostToolDefinitions.d.ts +37 -0
  164. package/dist/tools/posts/PostToolDefinitions.d.ts.map +1 -0
  165. package/dist/tools/posts/PostToolDefinitions.js +236 -0
  166. package/dist/tools/posts/PostToolDefinitions.js.map +1 -0
  167. package/dist/tools/posts/index.d.ts +138 -0
  168. package/dist/tools/posts/index.d.ts.map +1 -0
  169. package/dist/tools/posts/index.js +163 -0
  170. package/dist/tools/posts/index.js.map +1 -0
  171. package/dist/tools/posts.d.ts +10 -246
  172. package/dist/tools/posts.d.ts.map +1 -1
  173. package/dist/tools/posts.js +11 -723
  174. package/dist/tools/posts.js.map +1 -1
  175. package/dist/tools/site.d.ts +19 -18
  176. package/dist/tools/site.d.ts.map +1 -1
  177. package/dist/tools/site.js +14 -10
  178. package/dist/tools/site.js.map +1 -1
  179. package/dist/tools/taxonomies.d.ts +23 -24
  180. package/dist/tools/taxonomies.d.ts.map +1 -1
  181. package/dist/tools/taxonomies.js +24 -18
  182. package/dist/tools/taxonomies.js.map +1 -1
  183. package/dist/tools/users.d.ts +20 -15
  184. package/dist/tools/users.d.ts.map +1 -1
  185. package/dist/tools/users.js +12 -8
  186. package/dist/tools/users.js.map +1 -1
  187. package/dist/types/client.d.ts +48 -41
  188. package/dist/types/client.d.ts.map +1 -1
  189. package/dist/types/client.js +30 -5
  190. package/dist/types/client.js.map +1 -1
  191. package/dist/types/enhanced.d.ts +237 -0
  192. package/dist/types/enhanced.d.ts.map +1 -0
  193. package/dist/types/enhanced.js +49 -0
  194. package/dist/types/enhanced.js.map +1 -0
  195. package/dist/types/index.d.ts +15 -12
  196. package/dist/types/index.d.ts.map +1 -1
  197. package/dist/types/index.js +2 -0
  198. package/dist/types/index.js.map +1 -1
  199. package/dist/types/mcp.d.ts +12 -12
  200. package/dist/types/mcp.d.ts.map +1 -1
  201. package/dist/types/requests.d.ts +322 -0
  202. package/dist/types/requests.d.ts.map +1 -0
  203. package/dist/types/requests.js +8 -0
  204. package/dist/types/requests.js.map +1 -0
  205. package/dist/types/tools.d.ts +506 -0
  206. package/dist/types/tools.d.ts.map +1 -0
  207. package/dist/types/tools.js +8 -0
  208. package/dist/types/tools.js.map +1 -0
  209. package/dist/types/wordpress.d.ts +43 -15
  210. package/dist/types/wordpress.d.ts.map +1 -1
  211. package/dist/types/wordpress.js +8 -1
  212. package/dist/types/wordpress.js.map +1 -1
  213. package/dist/utils/debug.d.ts +19 -11
  214. package/dist/utils/debug.d.ts.map +1 -1
  215. package/dist/utils/debug.js +46 -10
  216. package/dist/utils/debug.js.map +1 -1
  217. package/dist/utils/enhancedError.d.ts +8 -8
  218. package/dist/utils/enhancedError.d.ts.map +1 -1
  219. package/dist/utils/enhancedError.js.map +1 -1
  220. package/dist/utils/error.d.ts +2 -4
  221. package/dist/utils/error.d.ts.map +1 -1
  222. package/dist/utils/error.js +42 -5
  223. package/dist/utils/error.js.map +1 -1
  224. package/dist/utils/logger.d.ts +106 -0
  225. package/dist/utils/logger.d.ts.map +1 -0
  226. package/dist/utils/logger.js +280 -0
  227. package/dist/utils/logger.js.map +1 -0
  228. package/dist/utils/streaming.d.ts +9 -9
  229. package/dist/utils/streaming.d.ts.map +1 -1
  230. package/dist/utils/streaming.js +71 -52
  231. package/dist/utils/streaming.js.map +1 -1
  232. package/dist/utils/toolWrapper.d.ts +9 -7
  233. package/dist/utils/toolWrapper.d.ts.map +1 -1
  234. package/dist/utils/toolWrapper.js.map +1 -1
  235. package/dist/utils/validation/core.d.ts +21 -0
  236. package/dist/utils/validation/core.d.ts.map +1 -0
  237. package/dist/utils/validation/core.js +71 -0
  238. package/dist/utils/validation/core.js.map +1 -0
  239. package/dist/utils/validation/index.d.ts +25 -0
  240. package/dist/utils/validation/index.d.ts.map +1 -0
  241. package/dist/utils/validation/index.js +29 -0
  242. package/dist/utils/validation/index.js.map +1 -0
  243. package/dist/utils/validation/network.d.ts +19 -0
  244. package/dist/utils/validation/network.d.ts.map +1 -0
  245. package/dist/utils/validation/network.js +93 -0
  246. package/dist/utils/validation/network.js.map +1 -0
  247. package/dist/utils/validation/rateLimit.d.ts +21 -0
  248. package/dist/utils/validation/rateLimit.d.ts.map +1 -0
  249. package/dist/utils/validation/rateLimit.js +43 -0
  250. package/dist/utils/validation/rateLimit.js.map +1 -0
  251. package/dist/utils/validation/security.d.ts +29 -0
  252. package/dist/utils/validation/security.d.ts.map +1 -0
  253. package/dist/utils/validation/security.js +327 -0
  254. package/dist/utils/validation/security.js.map +1 -0
  255. package/dist/utils/validation/wordpress.d.ts +31 -0
  256. package/dist/utils/validation/wordpress.d.ts.map +1 -0
  257. package/dist/utils/validation/wordpress.js +146 -0
  258. package/dist/utils/validation/wordpress.js.map +1 -0
  259. package/dist/utils/validation.d.ts +13 -82
  260. package/dist/utils/validation.d.ts.map +1 -1
  261. package/dist/utils/validation.js +25 -343
  262. package/dist/utils/validation.js.map +1 -1
  263. package/docs/BADGE_UPDATES.md +132 -0
  264. package/docs/CI_CD_IMPROVEMENTS.md +191 -0
  265. package/docs/INCREMENTAL_COVERAGE.md +183 -0
  266. package/docs/api/README.md +3 -1
  267. package/docs/api/openapi.json +5 -1
  268. package/docs/api/summary.json +1 -1
  269. package/docs/api/tools/wp_create_post.md +12 -14
  270. package/docs/examples/claude-desktop-config.md +1 -1
  271. package/docs/examples/docker-production.md +100 -93
  272. package/docs/examples/multi-site-setup.md +5 -4
  273. package/docs/examples/single-site-setup.md +3 -4
  274. package/docs/examples/use-case-workflows.md +4 -5
  275. package/docs/integrations/claude-desktop.md +31 -31
  276. package/docs/integrations/cline.md +4 -4
  277. package/docs/integrations/vs-code.md +9 -8
  278. package/docs/user-guides/SMITHERY_SETUP.md +10 -10
  279. package/package.json +44 -25
  280. package/src/cache/CacheInvalidation.ts +12 -5
  281. package/src/cache/CacheManager.ts +18 -15
  282. package/src/cache/HttpCacheWrapper.ts +30 -59
  283. package/src/cache/__tests__/HttpCacheWrapper.test.ts +6 -5
  284. package/src/cache/index.ts +3 -14
  285. package/src/client/CachedWordPressClient.ts +32 -30
  286. package/src/client/MockWordPressClient.ts +4 -2
  287. package/src/client/api.ts +186 -64
  288. package/src/client/auth.ts +15 -40
  289. package/src/client/managers/AuthenticationManager.ts +337 -77
  290. package/src/client/managers/BaseManager.ts +18 -30
  291. package/src/client/managers/RequestManager.ts +39 -44
  292. package/src/config/Config.ts +308 -0
  293. package/src/config/ConfigurationSchema.ts +23 -2
  294. package/src/config/ServerConfiguration.ts +51 -47
  295. package/src/docs/DocumentationGenerator.ts +50 -39
  296. package/src/docs/MarkdownFormatter.ts +19 -29
  297. package/src/dxt-entry.cjs +26 -16
  298. package/src/dxt-entry.ts +17 -27
  299. package/src/index.ts +42 -28
  300. package/src/performance/MetricsCollector.ts +108 -86
  301. package/src/performance/PerformanceAnalytics.ts +69 -164
  302. package/src/performance/PerformanceMonitor.ts +32 -47
  303. package/src/performance/index.ts +2 -10
  304. package/src/security/AISecurityScanner.ts +22 -12
  305. package/src/security/AutomatedRemediation.ts +49 -18
  306. package/src/security/InputValidator.ts +9 -6
  307. package/src/security/SecurityCIPipeline.ts +53 -37
  308. package/src/security/SecurityConfig.ts +22 -22
  309. package/src/security/SecurityConfigManager.ts +23 -19
  310. package/src/security/SecurityMonitoring.ts +24 -21
  311. package/src/security/SecurityReviewer.ts +10 -7
  312. package/src/security/index.ts +64 -29
  313. package/src/server/ConnectionTester.ts +120 -31
  314. package/src/server/ToolRegistry.ts +31 -21
  315. package/src/tools/BaseToolManager.ts +286 -33
  316. package/src/tools/auth.ts +20 -8
  317. package/src/tools/cache.ts +5 -15
  318. package/src/tools/comments.ts +34 -48
  319. package/src/tools/media.ts +41 -53
  320. package/src/tools/pages.ts +32 -54
  321. package/src/tools/performance.ts +141 -176
  322. package/src/tools/posts/PostHandlers.ts +474 -0
  323. package/src/tools/posts/PostToolDefinitions.ts +250 -0
  324. package/src/tools/posts/index.ts +192 -0
  325. package/src/tools/posts.ts +24 -780
  326. package/src/tools/site.ts +34 -19
  327. package/src/tools/taxonomies.ts +41 -57
  328. package/src/tools/users.ts +28 -16
  329. package/src/types/client.ts +114 -138
  330. package/src/types/enhanced.ts +318 -0
  331. package/src/types/index.ts +51 -30
  332. package/src/types/mcp.ts +20 -42
  333. package/src/types/requests.ts +378 -0
  334. package/src/types/tools.ts +608 -0
  335. package/src/types/wordpress.ts +56 -34
  336. package/src/utils/debug.ts +77 -59
  337. package/src/utils/enhancedError.ts +8 -8
  338. package/src/utils/error.ts +53 -31
  339. package/src/utils/logger.ts +351 -0
  340. package/src/utils/streaming.ts +86 -68
  341. package/src/utils/toolWrapper.ts +10 -12
  342. package/src/utils/validation/core.ts +108 -0
  343. package/src/utils/validation/index.ts +36 -0
  344. package/src/utils/validation/network.ts +132 -0
  345. package/src/utils/validation/rateLimit.ts +54 -0
  346. package/src/utils/validation/security.ts +361 -0
  347. package/src/utils/validation/wordpress.ts +180 -0
  348. package/src/utils/validation.ts +47 -470
@@ -1,6 +1,23 @@
1
1
  /**
2
2
  * Error handling utilities
3
3
  */
4
+ import { LoggerFactory } from "./logger.js";
5
+ import { config } from "../config/Config.js";
6
+ const logger = LoggerFactory.server().child({ component: "ErrorUtils" });
7
+ // Environment flag to control legacy console logging noise. Default enabled to preserve
8
+ // backward compatibility and existing test expectations. Set LEGACY_ERROR_LOGS=0 to disable
9
+ // the direct console.error side-channel (structured logger still emits).
10
+ const LEGACY_ERROR_LOGS_ENABLED = config().error.legacyLogsEnabled;
11
+ // Internal helper to avoid sprinkling conditionals
12
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
13
+ function legacyConsoleError(...args) {
14
+ if (LEGACY_ERROR_LOGS_ENABLED) {
15
+ console.error(...args);
16
+ }
17
+ }
18
+ // Test hook: exported only for instrumentation in unit tests (tree-shakeable)
19
+ // @__PURE__ This constant has no side effects and can be dropped in production builds
20
+ export const __errorUtilsLogger = logger;
4
21
  export function getErrorMessage(error) {
5
22
  if (error instanceof Error) {
6
23
  return error.message;
@@ -17,18 +34,32 @@ export function isError(error) {
17
34
  return error instanceof Error;
18
35
  }
19
36
  export function logAndReturn(error, defaultValue) {
20
- console.error("Error occurred:", getErrorMessage(error));
37
+ const message = getErrorMessage(error);
38
+ // Legacy console logging (can be disabled via LEGACY_ERROR_LOGS=0)
39
+ legacyConsoleError("Error occurred:", message);
40
+ logger.warn("Error occurred - returning default value", {
41
+ error: message,
42
+ });
21
43
  return defaultValue;
22
44
  }
23
45
  /**
24
46
  * Enhanced error handler for consistent tool error handling
25
47
  */
26
48
  export function handleToolError(error, operation, context) {
27
- console.error(`Error in ${operation}:`, error);
49
+ const message = getErrorMessage(error);
50
+ const errObj = error instanceof Error ? error : new Error(message);
51
+ // Legacy console logging (can be disabled via LEGACY_ERROR_LOGS=0)
52
+ legacyConsoleError(`Error in ${operation}:`, errObj);
28
53
  if (context) {
29
- console.error("Context:", context);
54
+ legacyConsoleError("Context:", context);
55
+ }
56
+ logger.error(`Error in ${operation}`, {
57
+ error: message,
58
+ ...(context && { context }),
59
+ });
60
+ if (error instanceof Error && error.stack) {
61
+ logger.debug("Error stack trace", { stack: error.stack });
30
62
  }
31
- const message = getErrorMessage(error);
32
63
  // Provide more specific error messages based on error content
33
64
  if (message.includes("ECONNREFUSED") || message.includes("ENOTFOUND")) {
34
65
  throw new Error(`Connection failed during ${operation}. Please check your WordPress site URL and network connection.`);
@@ -48,7 +79,13 @@ export function handleToolError(error, operation, context) {
48
79
  * Validates required parameters
49
80
  */
50
81
  export function validateRequired(params, required) {
51
- const missing = required.filter((key) => !params[key]);
82
+ // Runtime guard: ensure params is a non-null object (tests expect throw on invalid input)
83
+ if (params === null || typeof params !== "object") {
84
+ throw new Error("Parameters must be an object");
85
+ }
86
+ // Only treat undefined or null as missing; accept legitimate falsy values: 0, false, ""
87
+ const obj = params;
88
+ const missing = required.filter((key) => obj[key] === undefined || obj[key] === null);
52
89
  if (missing.length > 0) {
53
90
  throw new Error(`Missing required parameters: ${missing.join(", ")}`);
54
91
  }
@@ -1 +1 @@
1
- {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/utils/error.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Centralized Logging System
3
+ *
4
+ * Replaces scattered console.log usage with structured, configurable logging.
5
+ * Integrates with the centralized Config system for environment-aware behavior.
6
+ */
7
+ export type LogLevel = "trace" | "debug" | "info" | "warn" | "error" | "fatal";
8
+ export type LogContext = Record<string, unknown>;
9
+ export interface LogEntry {
10
+ readonly timestamp: string;
11
+ readonly level: LogLevel;
12
+ readonly message: string;
13
+ readonly context?: LogContext | undefined;
14
+ readonly component?: string | undefined;
15
+ readonly requestId?: string | undefined;
16
+ readonly siteId?: string | undefined;
17
+ readonly userId?: string | undefined;
18
+ }
19
+ export interface LoggerOptions {
20
+ readonly component?: string | undefined;
21
+ readonly context?: LogContext | undefined;
22
+ readonly siteId?: string | undefined;
23
+ readonly requestId?: string | undefined;
24
+ }
25
+ /**
26
+ * Main Logger Class
27
+ */
28
+ export declare class Logger {
29
+ private readonly options;
30
+ constructor(options?: LoggerOptions);
31
+ /**
32
+ * Create child logger with additional context
33
+ */
34
+ child(additionalOptions: LoggerOptions): Logger;
35
+ /**
36
+ * Log at specific level
37
+ */
38
+ log(level: LogLevel, message: string, context?: LogContext): void;
39
+ trace(message: string, context?: LogContext): void;
40
+ debug(message: string, context?: LogContext): void;
41
+ info(message: string, context?: LogContext): void;
42
+ warn(message: string, context?: LogContext): void;
43
+ error(message: string, context?: LogContext): void;
44
+ error(error: Error, context?: LogContext): void;
45
+ fatal(message: string, context?: LogContext): void;
46
+ fatal(error: Error, context?: LogContext): void;
47
+ /**
48
+ * Time a function execution
49
+ */
50
+ time<T>(message: string, fn: () => T): T;
51
+ time<T>(message: string, fn: () => Promise<T>): Promise<T>;
52
+ }
53
+ /**
54
+ * Default logger instance
55
+ */
56
+ export declare const logger: Logger;
57
+ /**
58
+ * Create component-specific logger
59
+ */
60
+ export declare function createLogger(component: string, options?: Omit<LoggerOptions, "component">): Logger;
61
+ /**
62
+ * Create site-specific logger
63
+ */
64
+ export declare function createSiteLogger(siteId: string, component?: string | undefined): Logger;
65
+ /**
66
+ * Create request-specific logger
67
+ */
68
+ export declare function createRequestLogger(requestId: string, component?: string | undefined, siteId?: string | undefined): Logger;
69
+ /**
70
+ * Logger factory for common scenarios
71
+ */
72
+ export declare const LoggerFactory: {
73
+ /**
74
+ * Create logger for WordPress API operations
75
+ */
76
+ api: (siteId?: string | undefined) => Logger;
77
+ /**
78
+ * Create logger for cache operations
79
+ */
80
+ cache: (siteId?: string | undefined) => Logger;
81
+ /**
82
+ * Create logger for tool operations
83
+ */
84
+ tool: (toolName: string, siteId?: string | undefined) => Logger;
85
+ /**
86
+ * Create logger for authentication
87
+ */
88
+ auth: (siteId?: string | undefined) => Logger;
89
+ /**
90
+ * Create logger for configuration
91
+ */
92
+ config: () => Logger;
93
+ /**
94
+ * Create logger for security operations
95
+ */
96
+ security: () => Logger;
97
+ /**
98
+ * Create logger for performance monitoring
99
+ */
100
+ performance: () => Logger;
101
+ /**
102
+ * Create logger for server operations
103
+ */
104
+ server: () => Logger;
105
+ };
106
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,280 @@
1
+ /**
2
+ * Centralized Logging System
3
+ *
4
+ * Replaces scattered console.log usage with structured, configurable logging.
5
+ * Integrates with the centralized Config system for environment-aware behavior.
6
+ */
7
+ import { ConfigHelpers } from "../config/Config.js";
8
+ /**
9
+ * Log level priorities (higher number = more important)
10
+ */
11
+ const LOG_LEVELS = {
12
+ trace: 0,
13
+ debug: 1,
14
+ info: 2,
15
+ warn: 3,
16
+ error: 4,
17
+ fatal: 5,
18
+ };
19
+ /**
20
+ * Get minimum log level from configuration
21
+ */
22
+ function getMinLogLevel() {
23
+ const configInstance = ConfigHelpers.get();
24
+ const appConfig = configInstance.get();
25
+ const configLevel = appConfig.debug.logLevel.toLowerCase();
26
+ return LOG_LEVELS[configLevel] !== undefined ? configLevel : "info";
27
+ }
28
+ /**
29
+ * Check if log level should be output
30
+ */
31
+ function shouldLog(level) {
32
+ const minLevel = getMinLogLevel();
33
+ return LOG_LEVELS[level] >= LOG_LEVELS[minLevel];
34
+ }
35
+ /**
36
+ * Format log entry for output
37
+ */
38
+ function formatLogEntry(entry) {
39
+ const timestamp = entry.timestamp;
40
+ const level = entry.level.toUpperCase().padEnd(5);
41
+ const component = entry.component ? `[${entry.component}]` : "";
42
+ const siteId = entry.siteId ? `{site:${entry.siteId}}` : "";
43
+ const requestId = entry.requestId ? `{req:${entry.requestId.slice(0, 8)}}` : "";
44
+ let message = `${timestamp} ${level} ${component}${siteId}${requestId} ${entry.message}`;
45
+ if (entry.context && Object.keys(entry.context).length > 0) {
46
+ const contextStr = JSON.stringify(entry.context);
47
+ message += ` ${contextStr}`;
48
+ }
49
+ return message;
50
+ }
51
+ /**
52
+ * Sanitize sensitive data from log context
53
+ */
54
+ function sanitizeContext(context) {
55
+ const sanitized = {};
56
+ for (const [key, value] of Object.entries(context)) {
57
+ const keyLower = key.toLowerCase();
58
+ const isSensitive = keyLower.includes("password") ||
59
+ keyLower.includes("secret") ||
60
+ keyLower.includes("token") ||
61
+ keyLower.includes("key") ||
62
+ keyLower.includes("credential");
63
+ if (isSensitive) {
64
+ if (typeof value === "string") {
65
+ sanitized[key] = value.length > 0 ? `[REDACTED:${value.length}chars]` : "[EMPTY]";
66
+ }
67
+ else if (Array.isArray(value)) {
68
+ sanitized[key] = "[EMPTY]"; // Redact entire array for sensitive fields
69
+ }
70
+ else {
71
+ sanitized[key] = value; // Keep non-string, non-array values as-is
72
+ }
73
+ }
74
+ else {
75
+ sanitized[key] = value;
76
+ }
77
+ }
78
+ return sanitized;
79
+ }
80
+ /**
81
+ * Output log entry to appropriate destination
82
+ */
83
+ function outputLog(entry) {
84
+ // In test environment, only log errors and fatals
85
+ if (ConfigHelpers.isTest() && LOG_LEVELS[entry.level] < LOG_LEVELS.error) {
86
+ return;
87
+ }
88
+ // In DXT mode, suppress most logging
89
+ if (ConfigHelpers.isDXT() && LOG_LEVELS[entry.level] < LOG_LEVELS.warn) {
90
+ return;
91
+ }
92
+ const formatted = formatLogEntry(entry);
93
+ // Use stderr for all log output to avoid STDIO interference
94
+ console.error(formatted);
95
+ }
96
+ /**
97
+ * Main Logger Class
98
+ */
99
+ export class Logger {
100
+ options;
101
+ constructor(options = {}) {
102
+ this.options = options;
103
+ }
104
+ /**
105
+ * Create child logger with additional context
106
+ */
107
+ child(additionalOptions) {
108
+ return new Logger({
109
+ component: additionalOptions.component ?? this.options.component,
110
+ siteId: additionalOptions.siteId ?? this.options.siteId,
111
+ requestId: additionalOptions.requestId ?? this.options.requestId,
112
+ context: {
113
+ ...this.options.context,
114
+ ...additionalOptions.context,
115
+ },
116
+ });
117
+ }
118
+ /**
119
+ * Log at specific level
120
+ */
121
+ log(level, message, context) {
122
+ if (!shouldLog(level)) {
123
+ return;
124
+ }
125
+ const mergedContext = context ? sanitizeContext({ ...this.options.context, ...context }) : this.options.context;
126
+ const entry = {
127
+ timestamp: new Date().toISOString(),
128
+ level,
129
+ message,
130
+ ...(mergedContext && Object.keys(mergedContext).length > 0 && { context: mergedContext }),
131
+ ...(this.options.component && { component: this.options.component }),
132
+ ...(this.options.requestId && { requestId: this.options.requestId }),
133
+ ...(this.options.siteId && { siteId: this.options.siteId }),
134
+ };
135
+ outputLog(entry);
136
+ }
137
+ // Convenience methods
138
+ trace(message, context) {
139
+ this.log("trace", message, context);
140
+ }
141
+ debug(message, context) {
142
+ this.log("debug", message, context);
143
+ }
144
+ info(message, context) {
145
+ this.log("info", message, context);
146
+ }
147
+ warn(message, context) {
148
+ this.log("warn", message, context);
149
+ }
150
+ error(messageOrError, context) {
151
+ if (messageOrError instanceof Error) {
152
+ this.log("error", messageOrError.message, {
153
+ ...context,
154
+ errorName: messageOrError.name,
155
+ errorStack: messageOrError.stack,
156
+ });
157
+ }
158
+ else {
159
+ this.log("error", messageOrError, context);
160
+ }
161
+ }
162
+ fatal(messageOrError, context) {
163
+ if (messageOrError instanceof Error) {
164
+ this.log("fatal", messageOrError.message, {
165
+ ...context,
166
+ errorName: messageOrError.name,
167
+ errorStack: messageOrError.stack,
168
+ });
169
+ }
170
+ else {
171
+ this.log("fatal", messageOrError, context);
172
+ }
173
+ }
174
+ time(message, fn) {
175
+ const start = Date.now();
176
+ this.debug(`Starting: ${message}`);
177
+ try {
178
+ const result = fn();
179
+ // Check if result is a Promise by checking for then method
180
+ if (result && typeof result === "object" && "then" in result) {
181
+ // Cast to Promise<T> since we know it has a then method
182
+ const promiseResult = result;
183
+ return promiseResult
184
+ .then((value) => {
185
+ const duration = Date.now() - start;
186
+ this.debug(`Completed: ${message}`, { duration: `${duration}ms` });
187
+ return value;
188
+ })
189
+ .catch((error) => {
190
+ const duration = Date.now() - start;
191
+ this.error(`Failed: ${message}`, {
192
+ duration: `${duration}ms`,
193
+ error: error instanceof Error ? error.message : String(error),
194
+ });
195
+ throw error;
196
+ });
197
+ }
198
+ else {
199
+ const duration = Date.now() - start;
200
+ this.debug(`Completed: ${message}`, { duration: `${duration}ms` });
201
+ return result;
202
+ }
203
+ }
204
+ catch (error) {
205
+ const duration = Date.now() - start;
206
+ this.error(`Failed: ${message}`, {
207
+ duration: `${duration}ms`,
208
+ error: error instanceof Error ? error.message : String(error),
209
+ });
210
+ throw error;
211
+ }
212
+ }
213
+ }
214
+ /**
215
+ * Default logger instance
216
+ */
217
+ export const logger = new Logger();
218
+ /**
219
+ * Create component-specific logger
220
+ */
221
+ export function createLogger(component, options = {}) {
222
+ return new Logger({ ...options, component });
223
+ }
224
+ /**
225
+ * Create site-specific logger
226
+ */
227
+ export function createSiteLogger(siteId, component) {
228
+ return new Logger({
229
+ siteId,
230
+ ...(component && { component }),
231
+ });
232
+ }
233
+ /**
234
+ * Create request-specific logger
235
+ */
236
+ export function createRequestLogger(requestId, component, siteId) {
237
+ return new Logger({
238
+ requestId,
239
+ ...(component && { component }),
240
+ ...(siteId && { siteId }),
241
+ });
242
+ }
243
+ /**
244
+ * Logger factory for common scenarios
245
+ */
246
+ export const LoggerFactory = {
247
+ /**
248
+ * Create logger for WordPress API operations
249
+ */
250
+ api: (siteId) => createLogger("API", siteId ? { siteId } : {}),
251
+ /**
252
+ * Create logger for cache operations
253
+ */
254
+ cache: (siteId) => createLogger("CACHE", siteId ? { siteId } : {}),
255
+ /**
256
+ * Create logger for tool operations
257
+ */
258
+ tool: (toolName, siteId) => createLogger(`TOOL:${toolName}`, siteId ? { siteId } : {}),
259
+ /**
260
+ * Create logger for authentication
261
+ */
262
+ auth: (siteId) => createLogger("AUTH", siteId ? { siteId } : {}),
263
+ /**
264
+ * Create logger for configuration
265
+ */
266
+ config: () => createLogger("CONFIG"),
267
+ /**
268
+ * Create logger for security operations
269
+ */
270
+ security: () => createLogger("SECURITY"),
271
+ /**
272
+ * Create logger for performance monitoring
273
+ */
274
+ performance: () => createLogger("PERF"),
275
+ /**
276
+ * Create logger for server operations
277
+ */
278
+ server: () => createLogger("SERVER"),
279
+ };
280
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -5,8 +5,8 @@
5
5
  export interface StreamingOptions {
6
6
  batchSize?: number;
7
7
  delay?: number;
8
- transformItem?: (item: any) => any;
9
- filterItem?: (item: any) => boolean;
8
+ transformItem?: (item: unknown) => unknown;
9
+ filterItem?: (item: unknown) => boolean;
10
10
  }
11
11
  export interface StreamingResult<T> {
12
12
  data: T[];
@@ -43,28 +43,28 @@ export declare class WordPressDataStreamer {
43
43
  /**
44
44
  * Streams WordPress posts with author and taxonomy information
45
45
  */
46
- static streamPosts(posts: any[], options?: {
46
+ static streamPosts(posts: unknown[], options?: {
47
47
  includeAuthor?: boolean;
48
48
  includeCategories?: boolean;
49
49
  includeTags?: boolean;
50
50
  batchSize?: number;
51
- }): AsyncGenerator<StreamingResult<any>, void, unknown>;
51
+ }): AsyncGenerator<StreamingResult<unknown>, void, unknown>;
52
52
  /**
53
53
  * Streams WordPress users with role information
54
54
  */
55
- static streamUsers(users: any[], options?: {
55
+ static streamUsers(users: unknown[], options?: {
56
56
  includeRoles?: boolean;
57
57
  includeCapabilities?: boolean;
58
58
  batchSize?: number;
59
- }): AsyncGenerator<StreamingResult<any>, void, unknown>;
59
+ }): AsyncGenerator<StreamingResult<unknown>, void, unknown>;
60
60
  /**
61
61
  * Streams WordPress comments with moderation status
62
62
  */
63
- static streamComments(comments: any[], options?: {
63
+ static streamComments(comments: unknown[], options?: {
64
64
  includeAuthor?: boolean;
65
65
  includePost?: boolean;
66
66
  batchSize?: number;
67
- }): AsyncGenerator<StreamingResult<any>, void, unknown>;
67
+ }): AsyncGenerator<StreamingResult<unknown>, void, unknown>;
68
68
  }
69
69
  /**
70
70
  * Utility functions for streaming responses
@@ -73,7 +73,7 @@ export declare class StreamingUtils {
73
73
  /**
74
74
  * Formats streaming results for display
75
75
  */
76
- static formatStreamingResponse(results: StreamingResult<any>[], type?: "posts" | "users" | "comments" | "media"): string;
76
+ static formatStreamingResponse(results: StreamingResult<unknown>[], type?: "posts" | "users" | "comments" | "media"): string;
77
77
  /**
78
78
  * Implements progressive loading for large datasets
79
79
  */
@@ -1 +1 @@
1
- {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/utils/streaming.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/utils/streaming.ts"],"names":[],"mappings":"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"}