mcp-wordpress 2.4.1 → 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 (350) 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/BRANCH_PROTECTION.md +0 -0
  265. package/docs/CI_CD_IMPROVEMENTS.md +191 -0
  266. package/docs/INCREMENTAL_COVERAGE.md +183 -0
  267. package/docs/api/README.md +3 -1
  268. package/docs/api/openapi.json +5 -1
  269. package/docs/api/summary.json +1 -1
  270. package/docs/api/tools/wp_create_post.md +12 -14
  271. package/docs/examples/claude-desktop-config.md +1 -1
  272. package/docs/examples/docker-production.md +100 -93
  273. package/docs/examples/multi-site-setup.md +5 -4
  274. package/docs/examples/single-site-setup.md +3 -4
  275. package/docs/examples/use-case-workflows.md +4 -5
  276. package/docs/integrations/claude-desktop.md +31 -31
  277. package/docs/integrations/cline.md +4 -4
  278. package/docs/integrations/vs-code.md +9 -8
  279. package/docs/user-guides/SMITHERY_SETUP.md +10 -10
  280. package/docs/v2.2.0-resolution-demo.md +119 -0
  281. package/package.json +44 -25
  282. package/src/cache/CacheInvalidation.ts +12 -5
  283. package/src/cache/CacheManager.ts +18 -15
  284. package/src/cache/HttpCacheWrapper.ts +30 -59
  285. package/src/cache/__tests__/HttpCacheWrapper.test.ts +6 -5
  286. package/src/cache/index.ts +3 -14
  287. package/src/client/CachedWordPressClient.ts +32 -30
  288. package/src/client/MockWordPressClient.ts +4 -2
  289. package/src/client/api.ts +186 -64
  290. package/src/client/auth.ts +15 -40
  291. package/src/client/managers/AuthenticationManager.ts +337 -77
  292. package/src/client/managers/BaseManager.ts +18 -30
  293. package/src/client/managers/RequestManager.ts +39 -44
  294. package/src/config/Config.ts +308 -0
  295. package/src/config/ConfigurationSchema.ts +23 -2
  296. package/src/config/ServerConfiguration.ts +51 -47
  297. package/src/docs/DocumentationGenerator.ts +50 -39
  298. package/src/docs/MarkdownFormatter.ts +19 -29
  299. package/src/dxt-entry.cjs +26 -16
  300. package/src/dxt-entry.ts +17 -27
  301. package/src/index.ts +42 -28
  302. package/src/performance/MetricsCollector.ts +108 -86
  303. package/src/performance/PerformanceAnalytics.ts +69 -164
  304. package/src/performance/PerformanceMonitor.ts +32 -47
  305. package/src/performance/index.ts +2 -10
  306. package/src/security/AISecurityScanner.ts +22 -12
  307. package/src/security/AutomatedRemediation.ts +49 -18
  308. package/src/security/InputValidator.ts +9 -6
  309. package/src/security/SecurityCIPipeline.ts +53 -37
  310. package/src/security/SecurityConfig.ts +22 -22
  311. package/src/security/SecurityConfigManager.ts +23 -19
  312. package/src/security/SecurityMonitoring.ts +24 -21
  313. package/src/security/SecurityReviewer.ts +10 -7
  314. package/src/security/index.ts +64 -29
  315. package/src/server/ConnectionTester.ts +120 -31
  316. package/src/server/ToolRegistry.ts +31 -21
  317. package/src/tools/BaseToolManager.ts +286 -33
  318. package/src/tools/auth.ts +20 -8
  319. package/src/tools/cache.ts +5 -15
  320. package/src/tools/comments.ts +34 -48
  321. package/src/tools/media.ts +41 -53
  322. package/src/tools/pages.ts +32 -54
  323. package/src/tools/performance.ts +141 -176
  324. package/src/tools/posts/PostHandlers.ts +474 -0
  325. package/src/tools/posts/PostToolDefinitions.ts +250 -0
  326. package/src/tools/posts/index.ts +192 -0
  327. package/src/tools/posts.ts +24 -780
  328. package/src/tools/site.ts +34 -19
  329. package/src/tools/taxonomies.ts +41 -57
  330. package/src/tools/users.ts +28 -16
  331. package/src/types/client.ts +114 -138
  332. package/src/types/enhanced.ts +318 -0
  333. package/src/types/index.ts +51 -30
  334. package/src/types/mcp.ts +20 -42
  335. package/src/types/requests.ts +378 -0
  336. package/src/types/tools.ts +608 -0
  337. package/src/types/wordpress.ts +56 -34
  338. package/src/utils/debug.ts +77 -59
  339. package/src/utils/enhancedError.ts +8 -8
  340. package/src/utils/error.ts +53 -31
  341. package/src/utils/logger.ts +351 -0
  342. package/src/utils/streaming.ts +86 -68
  343. package/src/utils/toolWrapper.ts +10 -12
  344. package/src/utils/validation/core.ts +108 -0
  345. package/src/utils/validation/index.ts +36 -0
  346. package/src/utils/validation/network.ts +132 -0
  347. package/src/utils/validation/rateLimit.ts +54 -0
  348. package/src/utils/validation/security.ts +361 -0
  349. package/src/utils/validation/wordpress.ts +180 -0
  350. package/src/utils/validation.ts +47 -470
@@ -4,15 +4,11 @@
4
4
  */
5
5
 
6
6
  import { WordPressClient } from "./api.js";
7
- import { CacheManager } from "../cache/CacheManager.js";
7
+ import { CacheManager, type CacheStats } from "../cache/CacheManager.js";
8
8
  import { HttpCacheWrapper } from "../cache/HttpCacheWrapper.js";
9
9
  import { CacheInvalidation } from "../cache/CacheInvalidation.js";
10
10
  import { SecurityConfig } from "../security/SecurityConfig.js";
11
- import type {
12
- WordPressClientConfig,
13
- HTTPMethod,
14
- RequestOptions,
15
- } from "../types/client.js";
11
+ import type { WordPressClientConfig, HTTPMethod, RequestOptions } from "../types/client.js";
16
12
  import type {
17
13
  WordPressPost,
18
14
  WordPressUser,
@@ -53,10 +49,10 @@ export class CachedWordPressClient extends WordPressClient {
53
49
  /**
54
50
  * Override request method to add caching
55
51
  */
56
- async request<T = any>(
52
+ async request<T = unknown>(
57
53
  method: HTTPMethod,
58
54
  endpoint: string,
59
- data: any = null,
55
+ data: unknown = null,
60
56
  options: RequestOptions = {},
61
57
  ): Promise<T> {
62
58
  // Only cache GET requests
@@ -147,10 +143,7 @@ export class CachedWordPressClient extends WordPressClient {
147
143
  /**
148
144
  * Delete post with cache invalidation
149
145
  */
150
- async deletePost(
151
- id: number,
152
- force?: boolean,
153
- ): Promise<{ deleted: boolean; previous?: WordPressPost }> {
146
+ async deletePost(id: number, force?: boolean): Promise<{ deleted: boolean; previous?: WordPressPost }> {
154
147
  const result = await super.deletePost(id, force);
155
148
 
156
149
  // Invalidate related caches
@@ -169,7 +162,7 @@ export class CachedWordPressClient extends WordPressClient {
169
162
  /**
170
163
  * Get categories with semi-static caching
171
164
  */
172
- async getCategories(params: any = {}): Promise<WordPressCategory[]> {
165
+ async getCategories(params: Record<string, unknown> = {}): Promise<WordPressCategory[]> {
173
166
  return await this.request<WordPressCategory[]>("GET", "categories", null, {
174
167
  params,
175
168
  });
@@ -178,7 +171,7 @@ export class CachedWordPressClient extends WordPressClient {
178
171
  /**
179
172
  * Get tags with semi-static caching
180
173
  */
181
- async getTags(params: any = {}): Promise<WordPressTag[]> {
174
+ async getTags(params: Record<string, unknown> = {}): Promise<WordPressTag[]> {
182
175
  return await this.request<WordPressTag[]>("GET", "tags", null, { params });
183
176
  }
184
177
 
@@ -239,11 +232,7 @@ export class CachedWordPressClient extends WordPressClient {
239
232
  /**
240
233
  * Handle cache invalidation for write operations
241
234
  */
242
- private async handleCacheInvalidation(
243
- method: string,
244
- endpoint: string,
245
- data: any,
246
- ): Promise<void> {
235
+ private async handleCacheInvalidation(method: string, endpoint: string, data: unknown): Promise<void> {
247
236
  const resource = this.extractResourceFromEndpoint(endpoint);
248
237
  const id = this.extractIdFromEndpoint(endpoint);
249
238
 
@@ -264,11 +253,7 @@ export class CachedWordPressClient extends WordPressClient {
264
253
  return;
265
254
  }
266
255
 
267
- await this.cacheInvalidation.invalidateResource(
268
- resource,
269
- id,
270
- operationType,
271
- );
256
+ await this.cacheInvalidation.invalidateResource(resource, id, operationType);
272
257
  }
273
258
 
274
259
  /**
@@ -318,8 +303,18 @@ export class CachedWordPressClient extends WordPressClient {
318
303
  /**
319
304
  * Get cache statistics for performance monitoring
320
305
  */
321
- getCacheStats(): any {
322
- return this.cacheManager.getStats();
306
+ getCacheStats(): {
307
+ cache: CacheStats;
308
+ invalidation: {
309
+ queueSize: number;
310
+ rulesCount: number;
311
+ processing: boolean;
312
+ };
313
+ } {
314
+ return {
315
+ cache: this.cacheManager.getStats(),
316
+ invalidation: this.cacheInvalidation.getStats(),
317
+ };
323
318
  }
324
319
 
325
320
  /**
@@ -404,7 +399,7 @@ export class CachedWordPressClient extends WordPressClient {
404
399
  maxSize: number;
405
400
  defaultTTL: number;
406
401
  currentSize: number;
407
- ttlPresets: any;
402
+ ttlPresets: Record<string, unknown>;
408
403
  } {
409
404
  const stats = this.cacheManager.getStats();
410
405
 
@@ -431,9 +426,16 @@ export class CachedWordPressClient extends WordPressClient {
431
426
  * Get detailed cache performance metrics
432
427
  */
433
428
  getDetailedCacheMetrics(): {
434
- statistics: any;
435
- efficiency: any;
436
- configuration: any;
429
+ statistics: {
430
+ cache: CacheStats;
431
+ invalidation: {
432
+ queueSize: number;
433
+ rulesCount: number;
434
+ processing: boolean;
435
+ };
436
+ };
437
+ efficiency: Record<string, unknown>;
438
+ configuration: Record<string, unknown>;
437
439
  siteInfo: {
438
440
  siteId: string;
439
441
  baseUrl: string;
@@ -1,5 +1,6 @@
1
1
  import { WordPressClient } from "./api.js";
2
2
  import { WordPressClientConfig } from "../types/client.js";
3
+ import { LoggerFactory } from "../utils/logger.js";
3
4
  import type {
4
5
  WordPressPost,
5
6
  WordPressUser,
@@ -15,6 +16,7 @@ import type {
15
16
  */
16
17
  export class MockWordPressClient extends WordPressClient {
17
18
  private isMockMode = true;
19
+ private logger = LoggerFactory.api("mock");
18
20
 
19
21
  constructor(config: WordPressClientConfig) {
20
22
  super(config);
@@ -24,7 +26,7 @@ export class MockWordPressClient extends WordPressClient {
24
26
  * Override authenticate to not make actual requests
25
27
  */
26
28
  async authenticate(): Promise<boolean> {
27
- console.log("INFO: Mock authentication - skipping actual connection");
29
+ this.logger.info("Mock authentication - skipping actual connection");
28
30
  return true;
29
31
  }
30
32
 
@@ -332,7 +334,7 @@ export class MockWordPressClient extends WordPressClient {
332
334
  /**
333
335
  * Mock search
334
336
  */
335
- async search(query: string, types?: string[], subtype?: string): Promise<any[]> {
337
+ async search(query: string, types?: string[], subtype?: string): Promise<import("../types/wordpress.js").WordPressSearchResult[]> {
336
338
  if (!query) {
337
339
  return [];
338
340
  }