mcp-wordpress 2.4.2 → 2.5.1

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 (653) hide show
  1. package/README.md +124 -54
  2. package/bin/status.js +1 -1
  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/index.d.ts +3 -3
  16. package/dist/cache/index.d.ts.map +1 -1
  17. package/dist/cache/index.js +1 -1
  18. package/dist/cache/index.js.map +1 -1
  19. package/dist/client/CachedWordPressClient.d.ts +23 -9
  20. package/dist/client/CachedWordPressClient.d.ts.map +1 -1
  21. package/dist/client/CachedWordPressClient.js +4 -1
  22. package/dist/client/CachedWordPressClient.js.map +1 -1
  23. package/dist/client/MockWordPressClient.d.ts +2 -1
  24. package/dist/client/MockWordPressClient.d.ts.map +1 -1
  25. package/dist/client/MockWordPressClient.js +3 -1
  26. package/dist/client/MockWordPressClient.js.map +1 -1
  27. package/dist/client/api.d.ts +17 -13
  28. package/dist/client/api.d.ts.map +1 -1
  29. package/dist/client/api.js +135 -30
  30. package/dist/client/api.js.map +1 -1
  31. package/dist/client/auth.d.ts.map +1 -1
  32. package/dist/client/auth.js +2 -3
  33. package/dist/client/auth.js.map +1 -1
  34. package/dist/client/managers/AuthenticationManager.d.ts +55 -2
  35. package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
  36. package/dist/client/managers/AuthenticationManager.js +269 -71
  37. package/dist/client/managers/AuthenticationManager.js.map +1 -1
  38. package/dist/client/managers/BaseManager.d.ts +3 -3
  39. package/dist/client/managers/BaseManager.d.ts.map +1 -1
  40. package/dist/client/managers/BaseManager.js +11 -5
  41. package/dist/client/managers/BaseManager.js.map +1 -1
  42. package/dist/client/managers/RequestManager.d.ts +2 -2
  43. package/dist/client/managers/RequestManager.d.ts.map +1 -1
  44. package/dist/client/managers/RequestManager.js +25 -12
  45. package/dist/client/managers/RequestManager.js.map +1 -1
  46. package/dist/config/Config.d.ts +155 -0
  47. package/dist/config/Config.d.ts.map +1 -0
  48. package/dist/config/Config.js +215 -0
  49. package/dist/config/Config.js.map +1 -0
  50. package/dist/config/ConfigurationSchema.d.ts +21 -21
  51. package/dist/config/ConfigurationSchema.d.ts.map +1 -1
  52. package/dist/config/ConfigurationSchema.js +19 -2
  53. package/dist/config/ConfigurationSchema.js.map +1 -1
  54. package/dist/config/ServerConfiguration.d.ts +2 -1
  55. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  56. package/dist/config/ServerConfiguration.js +73 -43
  57. package/dist/config/ServerConfiguration.js.map +1 -1
  58. package/dist/docs/DocumentationGenerator.d.ts +9 -8
  59. package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
  60. package/dist/docs/DocumentationGenerator.js +10 -7
  61. package/dist/docs/DocumentationGenerator.js.map +1 -1
  62. package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
  63. package/dist/docs/MarkdownFormatter.js +3 -2
  64. package/dist/docs/MarkdownFormatter.js.map +1 -1
  65. package/dist/dxt-entry.js +15 -14
  66. package/dist/dxt-entry.js.map +1 -1
  67. package/dist/index.d.ts +3 -1
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +37 -21
  70. package/dist/index.js.map +1 -1
  71. package/dist/performance/MetricsCollector.d.ts +13 -7
  72. package/dist/performance/MetricsCollector.d.ts.map +1 -1
  73. package/dist/performance/MetricsCollector.js +69 -27
  74. package/dist/performance/MetricsCollector.js.map +1 -1
  75. package/dist/performance/PerformanceAnalytics.d.ts +8 -2
  76. package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
  77. package/dist/performance/PerformanceAnalytics.js +17 -47
  78. package/dist/performance/PerformanceAnalytics.js.map +1 -1
  79. package/dist/performance/PerformanceMonitor.d.ts +2 -1
  80. package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
  81. package/dist/performance/PerformanceMonitor.js +12 -13
  82. package/dist/performance/PerformanceMonitor.js.map +1 -1
  83. package/dist/performance/index.d.ts +2 -2
  84. package/dist/performance/index.d.ts.map +1 -1
  85. package/dist/security/AISecurityScanner.d.ts +1 -0
  86. package/dist/security/AISecurityScanner.d.ts.map +1 -1
  87. package/dist/security/AISecurityScanner.js +22 -12
  88. package/dist/security/AISecurityScanner.js.map +1 -1
  89. package/dist/security/AutomatedRemediation.d.ts +4 -3
  90. package/dist/security/AutomatedRemediation.d.ts.map +1 -1
  91. package/dist/security/AutomatedRemediation.js +46 -15
  92. package/dist/security/AutomatedRemediation.js.map +1 -1
  93. package/dist/security/InputValidator.d.ts +13 -9
  94. package/dist/security/InputValidator.d.ts.map +1 -1
  95. package/dist/security/InputValidator.js +4 -2
  96. package/dist/security/InputValidator.js.map +1 -1
  97. package/dist/security/SecurityCIPipeline.d.ts +1 -1
  98. package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
  99. package/dist/security/SecurityCIPipeline.js +38 -29
  100. package/dist/security/SecurityCIPipeline.js.map +1 -1
  101. package/dist/security/SecurityConfig.d.ts +3 -3
  102. package/dist/security/SecurityConfig.d.ts.map +1 -1
  103. package/dist/security/SecurityConfig.js +13 -9
  104. package/dist/security/SecurityConfig.js.map +1 -1
  105. package/dist/security/SecurityConfigManager.d.ts +2 -2
  106. package/dist/security/SecurityConfigManager.d.ts.map +1 -1
  107. package/dist/security/SecurityConfigManager.js +20 -15
  108. package/dist/security/SecurityConfigManager.js.map +1 -1
  109. package/dist/security/SecurityMonitoring.d.ts +2 -2
  110. package/dist/security/SecurityMonitoring.d.ts.map +1 -1
  111. package/dist/security/SecurityMonitoring.js +19 -17
  112. package/dist/security/SecurityMonitoring.js.map +1 -1
  113. package/dist/security/SecurityReviewer.d.ts.map +1 -1
  114. package/dist/security/SecurityReviewer.js +10 -7
  115. package/dist/security/SecurityReviewer.js.map +1 -1
  116. package/dist/security/index.d.ts +24 -23
  117. package/dist/security/index.d.ts.map +1 -1
  118. package/dist/security/index.js +52 -23
  119. package/dist/security/index.js.map +1 -1
  120. package/dist/server/ConnectionTester.d.ts +12 -4
  121. package/dist/server/ConnectionTester.d.ts.map +1 -1
  122. package/dist/server/ConnectionTester.js +96 -22
  123. package/dist/server/ConnectionTester.js.map +1 -1
  124. package/dist/server/ToolRegistry.d.ts +2 -2
  125. package/dist/server/ToolRegistry.d.ts.map +1 -1
  126. package/dist/server/ToolRegistry.js +10 -5
  127. package/dist/server/ToolRegistry.js.map +1 -1
  128. package/dist/src/cache/CacheInvalidation.d.ts +120 -0
  129. package/dist/src/cache/CacheInvalidation.d.ts.map +1 -0
  130. package/dist/src/cache/CacheInvalidation.js +355 -0
  131. package/dist/src/cache/CacheInvalidation.js.map +1 -0
  132. package/dist/src/cache/CacheManager.d.ts +149 -0
  133. package/dist/src/cache/CacheManager.d.ts.map +1 -0
  134. package/dist/src/cache/CacheManager.js +326 -0
  135. package/dist/src/cache/CacheManager.js.map +1 -0
  136. package/dist/src/cache/HttpCacheWrapper.d.ts +122 -0
  137. package/dist/src/cache/HttpCacheWrapper.d.ts.map +1 -0
  138. package/dist/src/cache/HttpCacheWrapper.js +283 -0
  139. package/dist/src/cache/HttpCacheWrapper.js.map +1 -0
  140. package/dist/src/cache/index.d.ts +12 -0
  141. package/dist/src/cache/index.d.ts.map +1 -0
  142. package/dist/src/cache/index.js +9 -0
  143. package/dist/src/cache/index.js.map +1 -0
  144. package/dist/src/client/CachedWordPressClient.d.ts +174 -0
  145. package/dist/src/client/CachedWordPressClient.d.ts.map +1 -0
  146. package/dist/src/client/CachedWordPressClient.js +345 -0
  147. package/dist/src/client/CachedWordPressClient.js.map +1 -0
  148. package/dist/src/client/MockWordPressClient.d.ts +56 -0
  149. package/dist/src/client/MockWordPressClient.d.ts.map +1 -0
  150. package/dist/src/client/MockWordPressClient.js +371 -0
  151. package/dist/src/client/MockWordPressClient.js.map +1 -0
  152. package/dist/src/client/api.d.ts +235 -0
  153. package/dist/src/client/api.d.ts.map +1 -0
  154. package/dist/src/client/api.js +896 -0
  155. package/dist/src/client/api.js.map +1 -0
  156. package/dist/src/client/auth.d.ts +121 -0
  157. package/dist/src/client/auth.d.ts.map +1 -0
  158. package/dist/src/client/auth.js +429 -0
  159. package/dist/src/client/auth.js.map +1 -0
  160. package/dist/src/client/managers/AuthenticationManager.d.ts +92 -0
  161. package/dist/src/client/managers/AuthenticationManager.d.ts.map +1 -0
  162. package/dist/src/client/managers/AuthenticationManager.js +369 -0
  163. package/dist/src/client/managers/AuthenticationManager.js.map +1 -0
  164. package/dist/src/client/managers/BaseManager.d.ts +22 -0
  165. package/dist/src/client/managers/BaseManager.d.ts.map +1 -0
  166. package/dist/src/client/managers/BaseManager.js +53 -0
  167. package/dist/src/client/managers/BaseManager.js.map +1 -0
  168. package/dist/src/client/managers/RequestManager.d.ts +47 -0
  169. package/dist/src/client/managers/RequestManager.d.ts.map +1 -0
  170. package/dist/src/client/managers/RequestManager.js +193 -0
  171. package/dist/src/client/managers/RequestManager.js.map +1 -0
  172. package/dist/src/client/managers/index.d.ts +8 -0
  173. package/dist/src/client/managers/index.d.ts.map +1 -0
  174. package/dist/src/client/managers/index.js +8 -0
  175. package/dist/src/client/managers/index.js.map +1 -0
  176. package/dist/src/config/Config.d.ts +155 -0
  177. package/dist/src/config/Config.d.ts.map +1 -0
  178. package/dist/src/config/Config.js +215 -0
  179. package/dist/src/config/Config.js.map +1 -0
  180. package/dist/src/config/ConfigurationSchema.d.ts +281 -0
  181. package/dist/src/config/ConfigurationSchema.d.ts.map +1 -0
  182. package/dist/src/config/ConfigurationSchema.js +205 -0
  183. package/dist/src/config/ConfigurationSchema.js.map +1 -0
  184. package/dist/src/config/ServerConfiguration.d.ts +47 -0
  185. package/dist/src/config/ServerConfiguration.d.ts.map +1 -0
  186. package/dist/src/config/ServerConfiguration.js +255 -0
  187. package/dist/src/config/ServerConfiguration.js.map +1 -0
  188. package/dist/src/docs/DocumentationGenerator.d.ts +185 -0
  189. package/dist/src/docs/DocumentationGenerator.d.ts.map +1 -0
  190. package/dist/src/docs/DocumentationGenerator.js +777 -0
  191. package/dist/src/docs/DocumentationGenerator.js.map +1 -0
  192. package/dist/src/docs/MarkdownFormatter.d.ts +84 -0
  193. package/dist/src/docs/MarkdownFormatter.d.ts.map +1 -0
  194. package/dist/src/docs/MarkdownFormatter.js +458 -0
  195. package/dist/src/docs/MarkdownFormatter.js.map +1 -0
  196. package/dist/src/docs/index.d.ts +8 -0
  197. package/dist/src/docs/index.d.ts.map +1 -0
  198. package/dist/src/docs/index.js +7 -0
  199. package/dist/src/docs/index.js.map +1 -0
  200. package/dist/src/dxt-entry.d.ts +6 -0
  201. package/dist/src/dxt-entry.d.ts.map +1 -0
  202. package/dist/src/dxt-entry.js +39 -0
  203. package/dist/src/dxt-entry.js.map +1 -0
  204. package/dist/src/index.d.ts +18 -0
  205. package/dist/src/index.d.ts.map +1 -0
  206. package/dist/src/index.js +143 -0
  207. package/dist/src/index.js.map +1 -0
  208. package/dist/src/performance/MetricsCollector.d.ts +145 -0
  209. package/dist/src/performance/MetricsCollector.d.ts.map +1 -0
  210. package/dist/src/performance/MetricsCollector.js +368 -0
  211. package/dist/src/performance/MetricsCollector.js.map +1 -0
  212. package/dist/src/performance/PerformanceAnalytics.d.ts +168 -0
  213. package/dist/src/performance/PerformanceAnalytics.d.ts.map +1 -0
  214. package/dist/src/performance/PerformanceAnalytics.js +570 -0
  215. package/dist/src/performance/PerformanceAnalytics.js.map +1 -0
  216. package/dist/src/performance/PerformanceMonitor.d.ts +203 -0
  217. package/dist/src/performance/PerformanceMonitor.d.ts.map +1 -0
  218. package/dist/src/performance/PerformanceMonitor.js +478 -0
  219. package/dist/src/performance/PerformanceMonitor.js.map +1 -0
  220. package/dist/src/performance/index.d.ts +11 -0
  221. package/dist/src/performance/index.d.ts.map +1 -0
  222. package/dist/src/performance/index.js +8 -0
  223. package/dist/src/performance/index.js.map +1 -0
  224. package/dist/src/security/AISecurityScanner.d.ts +176 -0
  225. package/dist/src/security/AISecurityScanner.d.ts.map +1 -0
  226. package/dist/src/security/AISecurityScanner.js +655 -0
  227. package/dist/src/security/AISecurityScanner.js.map +1 -0
  228. package/dist/src/security/AutomatedRemediation.d.ts +146 -0
  229. package/dist/src/security/AutomatedRemediation.d.ts.map +1 -0
  230. package/dist/src/security/AutomatedRemediation.js +566 -0
  231. package/dist/src/security/AutomatedRemediation.js.map +1 -0
  232. package/dist/src/security/InputValidator.d.ts +219 -0
  233. package/dist/src/security/InputValidator.d.ts.map +1 -0
  234. package/dist/src/security/InputValidator.js +295 -0
  235. package/dist/src/security/InputValidator.js.map +1 -0
  236. package/dist/src/security/SecurityCIPipeline.d.ts +213 -0
  237. package/dist/src/security/SecurityCIPipeline.d.ts.map +1 -0
  238. package/dist/src/security/SecurityCIPipeline.js +693 -0
  239. package/dist/src/security/SecurityCIPipeline.js.map +1 -0
  240. package/dist/src/security/SecurityConfig.d.ts +129 -0
  241. package/dist/src/security/SecurityConfig.d.ts.map +1 -0
  242. package/dist/src/security/SecurityConfig.js +266 -0
  243. package/dist/src/security/SecurityConfig.js.map +1 -0
  244. package/dist/src/security/SecurityConfigManager.d.ts +294 -0
  245. package/dist/src/security/SecurityConfigManager.d.ts.map +1 -0
  246. package/dist/src/security/SecurityConfigManager.js +558 -0
  247. package/dist/src/security/SecurityConfigManager.js.map +1 -0
  248. package/dist/src/security/SecurityMonitoring.d.ts +245 -0
  249. package/dist/src/security/SecurityMonitoring.d.ts.map +1 -0
  250. package/dist/src/security/SecurityMonitoring.js +598 -0
  251. package/dist/src/security/SecurityMonitoring.js.map +1 -0
  252. package/dist/src/security/SecurityReviewer.d.ts +168 -0
  253. package/dist/src/security/SecurityReviewer.d.ts.map +1 -0
  254. package/dist/src/security/SecurityReviewer.js +686 -0
  255. package/dist/src/security/SecurityReviewer.js.map +1 -0
  256. package/dist/src/security/index.d.ts +183 -0
  257. package/dist/src/security/index.d.ts.map +1 -0
  258. package/dist/src/security/index.js +218 -0
  259. package/dist/src/security/index.js.map +1 -0
  260. package/dist/src/server/ConnectionTester.d.ts +32 -0
  261. package/dist/src/server/ConnectionTester.d.ts.map +1 -0
  262. package/dist/src/server/ConnectionTester.js +135 -0
  263. package/dist/src/server/ConnectionTester.js.map +1 -0
  264. package/dist/src/server/ToolRegistry.d.ts +50 -0
  265. package/dist/src/server/ToolRegistry.d.ts.map +1 -0
  266. package/dist/src/server/ToolRegistry.js +219 -0
  267. package/dist/src/server/ToolRegistry.js.map +1 -0
  268. package/dist/src/server.d.ts +7 -0
  269. package/dist/src/server.d.ts.map +1 -0
  270. package/dist/src/server.js +7 -0
  271. package/dist/src/server.js.map +1 -0
  272. package/dist/src/tools/BaseToolManager.d.ts +62 -0
  273. package/dist/src/tools/BaseToolManager.d.ts.map +1 -0
  274. package/dist/src/tools/BaseToolManager.js +195 -0
  275. package/dist/src/tools/BaseToolManager.js.map +1 -0
  276. package/dist/src/tools/auth.d.ts +50 -0
  277. package/dist/src/tools/auth.d.ts.map +1 -0
  278. package/dist/src/tools/auth.js +133 -0
  279. package/dist/src/tools/auth.js.map +1 -0
  280. package/dist/src/tools/cache.d.ts +260 -0
  281. package/dist/src/tools/cache.d.ts.map +1 -0
  282. package/dist/src/tools/cache.js +232 -0
  283. package/dist/src/tools/cache.js.map +1 -0
  284. package/dist/src/tools/comments.d.ts +33 -0
  285. package/dist/src/tools/comments.d.ts.map +1 -0
  286. package/dist/src/tools/comments.js +235 -0
  287. package/dist/src/tools/comments.js.map +1 -0
  288. package/dist/src/tools/index.d.ts +11 -0
  289. package/dist/src/tools/index.d.ts.map +1 -0
  290. package/dist/src/tools/index.js +11 -0
  291. package/dist/src/tools/index.js.map +1 -0
  292. package/dist/src/tools/media.d.ts +70 -0
  293. package/dist/src/tools/media.d.ts.map +1 -0
  294. package/dist/src/tools/media.js +248 -0
  295. package/dist/src/tools/media.js.map +1 -0
  296. package/dist/src/tools/pages.d.ts +32 -0
  297. package/dist/src/tools/pages.d.ts.map +1 -0
  298. package/dist/src/tools/pages.js +215 -0
  299. package/dist/src/tools/pages.js.map +1 -0
  300. package/dist/src/tools/performance.d.ts +73 -0
  301. package/dist/src/tools/performance.d.ts.map +1 -0
  302. package/dist/src/tools/performance.js +922 -0
  303. package/dist/src/tools/performance.js.map +1 -0
  304. package/dist/src/tools/posts/PostHandlers.d.ts +46 -0
  305. package/dist/src/tools/posts/PostHandlers.d.ts.map +1 -0
  306. package/dist/src/tools/posts/PostHandlers.js +400 -0
  307. package/dist/src/tools/posts/PostHandlers.js.map +1 -0
  308. package/dist/src/tools/posts/PostToolDefinitions.d.ts +37 -0
  309. package/dist/src/tools/posts/PostToolDefinitions.d.ts.map +1 -0
  310. package/dist/src/tools/posts/PostToolDefinitions.js +236 -0
  311. package/dist/src/tools/posts/PostToolDefinitions.js.map +1 -0
  312. package/dist/src/tools/posts/index.d.ts +138 -0
  313. package/dist/src/tools/posts/index.d.ts.map +1 -0
  314. package/dist/src/tools/posts/index.js +163 -0
  315. package/dist/src/tools/posts/index.js.map +1 -0
  316. package/dist/src/tools/posts.d.ts +15 -0
  317. package/dist/src/tools/posts.d.ts.map +1 -0
  318. package/dist/src/tools/posts.js +16 -0
  319. package/dist/src/tools/posts.js.map +1 -0
  320. package/dist/src/tools/site.d.ts +32 -0
  321. package/dist/src/tools/site.d.ts.map +1 -0
  322. package/dist/src/tools/site.js +234 -0
  323. package/dist/src/tools/site.js.map +1 -0
  324. package/dist/src/tools/taxonomies.d.ts +36 -0
  325. package/dist/src/tools/taxonomies.d.ts.map +1 -0
  326. package/dist/src/tools/taxonomies.js +286 -0
  327. package/dist/src/tools/taxonomies.js.map +1 -0
  328. package/dist/src/tools/users.d.ts +33 -0
  329. package/dist/src/tools/users.d.ts.map +1 -0
  330. package/dist/src/tools/users.js +308 -0
  331. package/dist/src/tools/users.js.map +1 -0
  332. package/dist/src/types/client.d.ts +223 -0
  333. package/dist/src/types/client.d.ts.map +1 -0
  334. package/dist/src/types/client.js +97 -0
  335. package/dist/src/types/client.js.map +1 -0
  336. package/dist/src/types/enhanced.d.ts +237 -0
  337. package/dist/src/types/enhanced.d.ts.map +1 -0
  338. package/dist/src/types/enhanced.js +49 -0
  339. package/dist/src/types/enhanced.js.map +1 -0
  340. package/dist/src/types/index.d.ts +160 -0
  341. package/dist/src/types/index.d.ts.map +1 -0
  342. package/dist/src/types/index.js +14 -0
  343. package/dist/src/types/index.js.map +1 -0
  344. package/dist/src/types/mcp.d.ts +178 -0
  345. package/dist/src/types/mcp.d.ts.map +1 -0
  346. package/dist/src/types/mcp.js +7 -0
  347. package/dist/src/types/mcp.js.map +1 -0
  348. package/dist/src/types/requests.d.ts +322 -0
  349. package/dist/src/types/requests.d.ts.map +1 -0
  350. package/dist/src/types/requests.js +8 -0
  351. package/dist/src/types/requests.js.map +1 -0
  352. package/dist/src/types/tools.d.ts +506 -0
  353. package/dist/src/types/tools.d.ts.map +1 -0
  354. package/dist/src/types/tools.js +8 -0
  355. package/dist/src/types/tools.js.map +1 -0
  356. package/dist/src/types/wordpress.d.ts +471 -0
  357. package/dist/src/types/wordpress.d.ts.map +1 -0
  358. package/dist/src/types/wordpress.js +14 -0
  359. package/dist/src/types/wordpress.js.map +1 -0
  360. package/dist/src/utils/debug.d.ts +71 -0
  361. package/dist/src/utils/debug.d.ts.map +1 -0
  362. package/dist/src/utils/debug.js +235 -0
  363. package/dist/src/utils/debug.js.map +1 -0
  364. package/dist/src/utils/enhancedError.d.ts +61 -0
  365. package/dist/src/utils/enhancedError.d.ts.map +1 -0
  366. package/dist/src/utils/enhancedError.js +221 -0
  367. package/dist/src/utils/enhancedError.js.map +1 -0
  368. package/dist/src/utils/error.d.ts +17 -0
  369. package/dist/src/utils/error.d.ts.map +1 -0
  370. package/dist/src/utils/error.js +108 -0
  371. package/dist/src/utils/error.js.map +1 -0
  372. package/dist/src/utils/logger.d.ts +106 -0
  373. package/dist/src/utils/logger.d.ts.map +1 -0
  374. package/dist/src/utils/logger.js +280 -0
  375. package/dist/src/utils/logger.js.map +1 -0
  376. package/dist/src/utils/streaming.d.ts +104 -0
  377. package/dist/src/utils/streaming.d.ts.map +1 -0
  378. package/dist/src/utils/streaming.js +331 -0
  379. package/dist/src/utils/streaming.js.map +1 -0
  380. package/dist/src/utils/toolWrapper.d.ts +42 -0
  381. package/dist/src/utils/toolWrapper.d.ts.map +1 -0
  382. package/dist/src/utils/toolWrapper.js +101 -0
  383. package/dist/src/utils/toolWrapper.js.map +1 -0
  384. package/dist/src/utils/validation/core.d.ts +21 -0
  385. package/dist/src/utils/validation/core.d.ts.map +1 -0
  386. package/dist/src/utils/validation/core.js +71 -0
  387. package/dist/src/utils/validation/core.js.map +1 -0
  388. package/dist/src/utils/validation/index.d.ts +25 -0
  389. package/dist/src/utils/validation/index.d.ts.map +1 -0
  390. package/dist/src/utils/validation/index.js +29 -0
  391. package/dist/src/utils/validation/index.js.map +1 -0
  392. package/dist/src/utils/validation/network.d.ts +19 -0
  393. package/dist/src/utils/validation/network.d.ts.map +1 -0
  394. package/dist/src/utils/validation/network.js +93 -0
  395. package/dist/src/utils/validation/network.js.map +1 -0
  396. package/dist/src/utils/validation/rateLimit.d.ts +21 -0
  397. package/dist/src/utils/validation/rateLimit.d.ts.map +1 -0
  398. package/dist/src/utils/validation/rateLimit.js +43 -0
  399. package/dist/src/utils/validation/rateLimit.js.map +1 -0
  400. package/dist/src/utils/validation/security.d.ts +29 -0
  401. package/dist/src/utils/validation/security.d.ts.map +1 -0
  402. package/dist/src/utils/validation/security.js +327 -0
  403. package/dist/src/utils/validation/security.js.map +1 -0
  404. package/dist/src/utils/validation/wordpress.d.ts +31 -0
  405. package/dist/src/utils/validation/wordpress.d.ts.map +1 -0
  406. package/dist/src/utils/validation/wordpress.js +146 -0
  407. package/dist/src/utils/validation/wordpress.js.map +1 -0
  408. package/dist/src/utils/validation.d.ts +15 -0
  409. package/dist/src/utils/validation.d.ts.map +1 -0
  410. package/dist/src/utils/validation.js +27 -0
  411. package/dist/src/utils/validation.js.map +1 -0
  412. package/dist/tests/vitest.setup.d.ts +6 -0
  413. package/dist/tests/vitest.setup.d.ts.map +1 -0
  414. package/dist/tests/vitest.setup.js +39 -0
  415. package/dist/tests/vitest.setup.js.map +1 -0
  416. package/dist/tools/BaseToolManager.d.ts +47 -11
  417. package/dist/tools/BaseToolManager.d.ts.map +1 -1
  418. package/dist/tools/BaseToolManager.js +168 -29
  419. package/dist/tools/BaseToolManager.js.map +1 -1
  420. package/dist/tools/auth.d.ts +16 -10
  421. package/dist/tools/auth.d.ts.map +1 -1
  422. package/dist/tools/auth.js +3 -2
  423. package/dist/tools/auth.js.map +1 -1
  424. package/dist/tools/cache.d.ts +30 -30
  425. package/dist/tools/cache.d.ts.map +1 -1
  426. package/dist/tools/cache.js +1 -6
  427. package/dist/tools/cache.js.map +1 -1
  428. package/dist/tools/comments.d.ts +20 -20
  429. package/dist/tools/comments.d.ts.map +1 -1
  430. package/dist/tools/comments.js +16 -9
  431. package/dist/tools/comments.js.map +1 -1
  432. package/dist/tools/media.d.ts +18 -16
  433. package/dist/tools/media.d.ts.map +1 -1
  434. package/dist/tools/media.js +16 -15
  435. package/dist/tools/media.js.map +1 -1
  436. package/dist/tools/pages.d.ts +19 -17
  437. package/dist/tools/pages.d.ts.map +1 -1
  438. package/dist/tools/pages.js +16 -12
  439. package/dist/tools/pages.js.map +1 -1
  440. package/dist/tools/performance.d.ts +11 -1
  441. package/dist/tools/performance.d.ts.map +1 -1
  442. package/dist/tools/performance.js +67 -34
  443. package/dist/tools/performance.js.map +1 -1
  444. package/dist/tools/posts/PostHandlers.d.ts +46 -0
  445. package/dist/tools/posts/PostHandlers.d.ts.map +1 -0
  446. package/dist/tools/posts/PostHandlers.js +400 -0
  447. package/dist/tools/posts/PostHandlers.js.map +1 -0
  448. package/dist/tools/posts/PostToolDefinitions.d.ts +37 -0
  449. package/dist/tools/posts/PostToolDefinitions.d.ts.map +1 -0
  450. package/dist/tools/posts/PostToolDefinitions.js +236 -0
  451. package/dist/tools/posts/PostToolDefinitions.js.map +1 -0
  452. package/dist/tools/posts/index.d.ts +138 -0
  453. package/dist/tools/posts/index.d.ts.map +1 -0
  454. package/dist/tools/posts/index.js +163 -0
  455. package/dist/tools/posts/index.js.map +1 -0
  456. package/dist/tools/posts.d.ts +10 -246
  457. package/dist/tools/posts.d.ts.map +1 -1
  458. package/dist/tools/posts.js +11 -723
  459. package/dist/tools/posts.js.map +1 -1
  460. package/dist/tools/site.d.ts +19 -18
  461. package/dist/tools/site.d.ts.map +1 -1
  462. package/dist/tools/site.js +14 -10
  463. package/dist/tools/site.js.map +1 -1
  464. package/dist/tools/taxonomies.d.ts +23 -24
  465. package/dist/tools/taxonomies.d.ts.map +1 -1
  466. package/dist/tools/taxonomies.js +24 -18
  467. package/dist/tools/taxonomies.js.map +1 -1
  468. package/dist/tools/users.d.ts +20 -15
  469. package/dist/tools/users.d.ts.map +1 -1
  470. package/dist/tools/users.js +12 -8
  471. package/dist/tools/users.js.map +1 -1
  472. package/dist/types/client.d.ts +48 -41
  473. package/dist/types/client.d.ts.map +1 -1
  474. package/dist/types/client.js +30 -5
  475. package/dist/types/client.js.map +1 -1
  476. package/dist/types/enhanced.d.ts +237 -0
  477. package/dist/types/enhanced.d.ts.map +1 -0
  478. package/dist/types/enhanced.js +49 -0
  479. package/dist/types/enhanced.js.map +1 -0
  480. package/dist/types/index.d.ts +15 -12
  481. package/dist/types/index.d.ts.map +1 -1
  482. package/dist/types/index.js +2 -0
  483. package/dist/types/index.js.map +1 -1
  484. package/dist/types/mcp.d.ts +12 -12
  485. package/dist/types/mcp.d.ts.map +1 -1
  486. package/dist/types/requests.d.ts +322 -0
  487. package/dist/types/requests.d.ts.map +1 -0
  488. package/dist/types/requests.js +8 -0
  489. package/dist/types/requests.js.map +1 -0
  490. package/dist/types/tools.d.ts +506 -0
  491. package/dist/types/tools.d.ts.map +1 -0
  492. package/dist/types/tools.js +8 -0
  493. package/dist/types/tools.js.map +1 -0
  494. package/dist/types/wordpress.d.ts +43 -15
  495. package/dist/types/wordpress.d.ts.map +1 -1
  496. package/dist/types/wordpress.js +8 -1
  497. package/dist/types/wordpress.js.map +1 -1
  498. package/dist/utils/debug.d.ts +19 -11
  499. package/dist/utils/debug.d.ts.map +1 -1
  500. package/dist/utils/debug.js +46 -10
  501. package/dist/utils/debug.js.map +1 -1
  502. package/dist/utils/enhancedError.d.ts +8 -8
  503. package/dist/utils/enhancedError.d.ts.map +1 -1
  504. package/dist/utils/enhancedError.js.map +1 -1
  505. package/dist/utils/error.d.ts +2 -4
  506. package/dist/utils/error.d.ts.map +1 -1
  507. package/dist/utils/error.js +42 -5
  508. package/dist/utils/error.js.map +1 -1
  509. package/dist/utils/logger.d.ts +106 -0
  510. package/dist/utils/logger.d.ts.map +1 -0
  511. package/dist/utils/logger.js +280 -0
  512. package/dist/utils/logger.js.map +1 -0
  513. package/dist/utils/streaming.d.ts +9 -9
  514. package/dist/utils/streaming.d.ts.map +1 -1
  515. package/dist/utils/streaming.js +71 -52
  516. package/dist/utils/streaming.js.map +1 -1
  517. package/dist/utils/toolWrapper.d.ts +9 -7
  518. package/dist/utils/toolWrapper.d.ts.map +1 -1
  519. package/dist/utils/toolWrapper.js.map +1 -1
  520. package/dist/utils/validation/core.d.ts +21 -0
  521. package/dist/utils/validation/core.d.ts.map +1 -0
  522. package/dist/utils/validation/core.js +71 -0
  523. package/dist/utils/validation/core.js.map +1 -0
  524. package/dist/utils/validation/index.d.ts +25 -0
  525. package/dist/utils/validation/index.d.ts.map +1 -0
  526. package/dist/utils/validation/index.js +29 -0
  527. package/dist/utils/validation/index.js.map +1 -0
  528. package/dist/utils/validation/network.d.ts +19 -0
  529. package/dist/utils/validation/network.d.ts.map +1 -0
  530. package/dist/utils/validation/network.js +93 -0
  531. package/dist/utils/validation/network.js.map +1 -0
  532. package/dist/utils/validation/rateLimit.d.ts +21 -0
  533. package/dist/utils/validation/rateLimit.d.ts.map +1 -0
  534. package/dist/utils/validation/rateLimit.js +43 -0
  535. package/dist/utils/validation/rateLimit.js.map +1 -0
  536. package/dist/utils/validation/security.d.ts +29 -0
  537. package/dist/utils/validation/security.d.ts.map +1 -0
  538. package/dist/utils/validation/security.js +327 -0
  539. package/dist/utils/validation/security.js.map +1 -0
  540. package/dist/utils/validation/wordpress.d.ts +31 -0
  541. package/dist/utils/validation/wordpress.d.ts.map +1 -0
  542. package/dist/utils/validation/wordpress.js +146 -0
  543. package/dist/utils/validation/wordpress.js.map +1 -0
  544. package/dist/utils/validation.d.ts +13 -82
  545. package/dist/utils/validation.d.ts.map +1 -1
  546. package/dist/utils/validation.js +25 -343
  547. package/dist/utils/validation.js.map +1 -1
  548. package/docs/BADGE_UPDATES.md +132 -0
  549. package/docs/CI_CD_IMPROVEMENTS.md +191 -0
  550. package/docs/INCREMENTAL_COVERAGE.md +183 -0
  551. package/docs/INSTALLATION.md +4 -2
  552. package/docs/TROUBLESHOOTING.md +2 -1
  553. package/docs/api/README.md +3 -1
  554. package/docs/api/openapi.json +5 -1
  555. package/docs/api/summary.json +1 -1
  556. package/docs/api/tools/wp_create_post.md +12 -14
  557. package/docs/developer/TESTING.md +24 -19
  558. package/docs/examples/claude-desktop-config.md +1 -1
  559. package/docs/examples/docker-production.md +100 -93
  560. package/docs/examples/multi-site-setup.md +5 -4
  561. package/docs/examples/single-site-setup.md +3 -4
  562. package/docs/examples/use-case-workflows.md +4 -5
  563. package/docs/integrations/claude-desktop.md +39 -34
  564. package/docs/integrations/cline.md +4 -4
  565. package/docs/integrations/vs-code.md +9 -8
  566. package/docs/user-guides/DXT_INSTALLATION.md +2 -1
  567. package/docs/user-guides/SMITHERY_SETUP.md +10 -10
  568. package/package.json +57 -39
  569. package/src/cache/CacheInvalidation.ts +12 -5
  570. package/src/cache/CacheManager.ts +18 -15
  571. package/src/cache/HttpCacheWrapper.ts +30 -59
  572. package/src/cache/__tests__/HttpCacheWrapper.test.ts +6 -5
  573. package/src/cache/index.ts +3 -14
  574. package/src/client/CachedWordPressClient.ts +32 -30
  575. package/src/client/MockWordPressClient.ts +4 -2
  576. package/src/client/api.ts +186 -64
  577. package/src/client/auth.ts +15 -40
  578. package/src/client/managers/AuthenticationManager.ts +337 -77
  579. package/src/client/managers/BaseManager.ts +18 -30
  580. package/src/client/managers/RequestManager.ts +39 -44
  581. package/src/config/Config.ts +308 -0
  582. package/src/config/ConfigurationSchema.ts +23 -2
  583. package/src/config/ServerConfiguration.ts +73 -49
  584. package/src/docs/DocumentationGenerator.ts +50 -39
  585. package/src/docs/MarkdownFormatter.ts +19 -29
  586. package/src/dxt-entry.cjs +26 -16
  587. package/src/dxt-entry.ts +17 -27
  588. package/src/index.ts +42 -28
  589. package/src/performance/MetricsCollector.ts +108 -86
  590. package/src/performance/PerformanceAnalytics.ts +69 -164
  591. package/src/performance/PerformanceMonitor.ts +32 -47
  592. package/src/performance/index.ts +2 -10
  593. package/src/security/AISecurityScanner.ts +22 -12
  594. package/src/security/AutomatedRemediation.ts +49 -18
  595. package/src/security/InputValidator.ts +9 -6
  596. package/src/security/SecurityCIPipeline.ts +53 -37
  597. package/src/security/SecurityConfig.ts +22 -22
  598. package/src/security/SecurityConfigManager.ts +23 -19
  599. package/src/security/SecurityMonitoring.ts +24 -21
  600. package/src/security/SecurityReviewer.ts +10 -7
  601. package/src/security/index.ts +64 -29
  602. package/src/server/ConnectionTester.ts +120 -31
  603. package/src/server/ToolRegistry.ts +31 -21
  604. package/src/tools/BaseToolManager.ts +286 -33
  605. package/src/tools/auth.ts +20 -8
  606. package/src/tools/cache.ts +5 -15
  607. package/src/tools/comments.ts +34 -48
  608. package/src/tools/media.ts +41 -53
  609. package/src/tools/pages.ts +32 -54
  610. package/src/tools/performance.ts +141 -176
  611. package/src/tools/posts/PostHandlers.ts +474 -0
  612. package/src/tools/posts/PostToolDefinitions.ts +250 -0
  613. package/src/tools/posts/index.ts +192 -0
  614. package/src/tools/posts.ts +24 -780
  615. package/src/tools/site.ts +34 -19
  616. package/src/tools/taxonomies.ts +41 -57
  617. package/src/tools/users.ts +28 -16
  618. package/src/types/client.ts +114 -138
  619. package/src/types/enhanced.ts +318 -0
  620. package/src/types/index.ts +51 -30
  621. package/src/types/mcp.ts +20 -42
  622. package/src/types/requests.ts +378 -0
  623. package/src/types/tools.ts +608 -0
  624. package/src/types/wordpress.ts +56 -34
  625. package/src/utils/debug.ts +77 -59
  626. package/src/utils/enhancedError.ts +8 -8
  627. package/src/utils/error.ts +53 -31
  628. package/src/utils/logger.ts +351 -0
  629. package/src/utils/streaming.ts +86 -68
  630. package/src/utils/toolWrapper.ts +10 -12
  631. package/src/utils/validation/core.ts +108 -0
  632. package/src/utils/validation/index.ts +36 -0
  633. package/src/utils/validation/network.ts +132 -0
  634. package/src/utils/validation/rateLimit.ts +54 -0
  635. package/src/utils/validation/security.ts +361 -0
  636. package/src/utils/validation/wordpress.ts +180 -0
  637. package/src/utils/validation.ts +47 -470
  638. package/dist/cache/__tests__/CacheInvalidation.test.d.ts +0 -5
  639. package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +0 -1
  640. package/dist/cache/__tests__/CacheInvalidation.test.js +0 -238
  641. package/dist/cache/__tests__/CacheInvalidation.test.js.map +0 -1
  642. package/dist/cache/__tests__/CacheManager.test.d.ts +0 -5
  643. package/dist/cache/__tests__/CacheManager.test.d.ts.map +0 -1
  644. package/dist/cache/__tests__/CacheManager.test.js +0 -233
  645. package/dist/cache/__tests__/CacheManager.test.js.map +0 -1
  646. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +0 -5
  647. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +0 -1
  648. package/dist/cache/__tests__/CachedWordPressClient.test.js +0 -231
  649. package/dist/cache/__tests__/CachedWordPressClient.test.js.map +0 -1
  650. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +0 -5
  651. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +0 -1
  652. package/dist/cache/__tests__/HttpCacheWrapper.test.js +0 -299
  653. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +0 -1
@@ -13,6 +13,44 @@ export * from "./mcp.js";
13
13
  // Client Types
14
14
  export * from "./client.js";
15
15
 
16
+ // Enhanced Types (New) - Selective exports to avoid conflicts
17
+ export type {
18
+ WordPressId,
19
+ PostId,
20
+ UserId,
21
+ MediaId,
22
+ CommentId,
23
+ CategoryId,
24
+ TagId,
25
+ Result,
26
+ DeepReadonly,
27
+ ToolResult,
28
+ NonEmptyArray,
29
+ createWordPressId,
30
+ createSuccess,
31
+ createError
32
+ } from "./enhanced.js";
33
+
34
+ // Request Types (New)
35
+ export * from "./requests.js";
36
+
37
+ // Tool Types (New) - Selective exports to avoid conflicts
38
+ export type {
39
+ BaseToolParams,
40
+ CreatePostParams,
41
+ UpdatePostParams,
42
+ GetPostParams,
43
+ ListPostsParams,
44
+ DeletePostParams,
45
+ CreatePageParams,
46
+ UpdatePageParams,
47
+ GetPageParams,
48
+ ListPagesParams,
49
+ DeletePageParams,
50
+ ToolDefinition as EnhancedToolDefinition,
51
+ ToolRegistry as EnhancedToolRegistry
52
+ } from "./tools.js";
53
+
16
54
  // Common Utility Types
17
55
  export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
18
56
  export type RequiredKeys<T, K extends keyof T> = T & Required<Pick<T, K>>;
@@ -27,11 +65,11 @@ export interface ErrorResponse {
27
65
  error: true;
28
66
  message: string;
29
67
  code?: string;
30
- details?: Record<string, any>;
68
+ details?: Record<string, unknown>;
31
69
  }
32
70
 
33
71
  // Generic Success Response
34
- export interface SuccessResponse<T = any> {
72
+ export interface SuccessResponse<T = unknown> {
35
73
  success: true;
36
74
  data: T;
37
75
  message?: string;
@@ -104,22 +142,13 @@ export interface Environment {
104
142
 
105
143
  // Validation Schema Types
106
144
  export interface ValidationRule {
107
- type:
108
- | "required"
109
- | "string"
110
- | "number"
111
- | "boolean"
112
- | "email"
113
- | "url"
114
- | "enum"
115
- | "array"
116
- | "object";
145
+ type: "required" | "string" | "number" | "boolean" | "email" | "url" | "enum" | "array" | "object";
117
146
  message?: string;
118
147
  min?: number;
119
148
  max?: number;
120
149
  pattern?: RegExp;
121
- enum_values?: any[];
122
- custom?: (value: any) => boolean | string;
150
+ enum_values?: unknown[];
151
+ custom?: (value: unknown) => boolean | string;
123
152
  }
124
153
 
125
154
  export interface ValidationSchema {
@@ -143,7 +172,7 @@ export interface CacheOptions {
143
172
  export interface EventData {
144
173
  type: string;
145
174
  timestamp: number;
146
- data?: Record<string, any>;
175
+ data?: Record<string, unknown>;
147
176
  }
148
177
 
149
178
  export type EventHandler<T = EventData> = (event: T) => void | Promise<void>;
@@ -153,7 +182,7 @@ export interface PerformanceMetric {
153
182
  name: string;
154
183
  duration: number;
155
184
  timestamp: number;
156
- metadata?: Record<string, any>;
185
+ metadata?: Record<string, unknown>;
157
186
  }
158
187
 
159
188
  // Health Check Types
@@ -177,7 +206,7 @@ export interface DebugInfo {
177
206
  timestamp: number;
178
207
  level: "debug" | "info" | "warn" | "error";
179
208
  message: string;
180
- context?: Record<string, any>;
209
+ context?: Record<string, unknown>;
181
210
  stack?: string;
182
211
  }
183
212
 
@@ -208,22 +237,14 @@ export type CategoryID = Brand<number, "CategoryID">;
208
237
  export type TagID = Brand<number, "TagID">;
209
238
 
210
239
  // Function Types
211
- export type AsyncFunction<TArgs extends any[] = any[], TReturn = any> = (
212
- ...args: TArgs
213
- ) => Promise<TReturn>;
214
- export type SyncFunction<TArgs extends any[] = any[], TReturn = any> = (
215
- ...args: TArgs
216
- ) => TReturn;
217
- export type AnyFunction<TArgs extends any[] = any[], TReturn = any> =
240
+ export type AsyncFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> = (...args: TArgs) => Promise<TReturn>;
241
+ export type SyncFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> = (...args: TArgs) => TReturn;
242
+ export type AnyFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> =
218
243
  | SyncFunction<TArgs, TReturn>
219
244
  | AsyncFunction<TArgs, TReturn>;
220
245
 
221
246
  // Conditional Types
222
247
  export type If<C extends boolean, T, F> = C extends true ? T : F;
223
248
  export type IsEqual<T, U> = T extends U ? (U extends T ? true : false) : false;
224
- export type IsArray<T> = T extends any[] ? true : false;
225
- export type IsObject<T> = T extends object
226
- ? T extends any[]
227
- ? false
228
- : true
229
- : false;
249
+ export type IsArray<T> = T extends unknown[] ? true : false;
250
+ export type IsObject<T> = T extends object ? (T extends unknown[] ? false : true) : false;
package/src/types/mcp.ts CHANGED
@@ -4,10 +4,7 @@
4
4
  * TypeScript definitions for MCP tools, requests, and responses
5
5
  */
6
6
 
7
- import type {
8
- CallToolRequestSchema,
9
- ListToolsRequestSchema,
10
- } from "@modelcontextprotocol/sdk/types.js";
7
+ import type { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
11
8
 
12
9
  // MCP Tool Schema Types
13
10
  export interface MCPToolSchema {
@@ -29,7 +26,7 @@ export interface JSONSchemaProperty {
29
26
  maxLength?: number;
30
27
  pattern?: string;
31
28
  format?: string;
32
- default?: any;
29
+ default?: unknown;
33
30
  }
34
31
 
35
32
  // MCP Tool Definition
@@ -77,16 +74,13 @@ export interface MCPErrorResponse extends MCPToolResponse {
77
74
  }
78
75
 
79
76
  // MCP Tool Handler Type
80
- export type MCPToolHandler<TArgs = any, TResponse = MCPToolResponse> = (
81
- args: TArgs,
82
- ) => Promise<TResponse>;
77
+ export type MCPToolHandler<TArgs = unknown, TResponse = MCPToolResponse> = (args: TArgs) => Promise<TResponse>;
83
78
 
84
79
  // Generic MCP Tool Handler with Client
85
- export type MCPToolHandlerWithClient<
86
- TClient,
87
- TArgs = any,
88
- TResponse = MCPToolResponse,
89
- > = (client: TClient, args: TArgs) => Promise<TResponse>;
80
+ export type MCPToolHandlerWithClient<TClient, TArgs = unknown, TResponse = MCPToolResponse> = (
81
+ client: TClient,
82
+ args: TArgs,
83
+ ) => Promise<TResponse>;
90
84
 
91
85
  // MCP Request Types (based on SDK)
92
86
  export type MCPListToolsRequest = typeof ListToolsRequestSchema;
@@ -112,10 +106,7 @@ export interface CategorizedMCPTool extends MCPTool {
112
106
  export type MCPToolRegistry = Record<string, CategorizedMCPTool>;
113
107
 
114
108
  // Handler Registry Type
115
- export type MCPHandlerRegistry<TClient> = Record<
116
- string,
117
- MCPToolHandlerWithClient<TClient>
118
- >;
109
+ export type MCPHandlerRegistry<TClient> = Record<string, MCPToolHandlerWithClient<TClient>>;
119
110
 
120
111
  // Tool Validation Result
121
112
  export interface ToolValidationResult {
@@ -125,21 +116,15 @@ export interface ToolValidationResult {
125
116
  }
126
117
 
127
118
  // Common Response Helpers
128
- export type CreateSuccessResponse = (
129
- text: string,
130
- additionalContent?: MCPContent[],
131
- ) => MCPSuccessResponse;
132
- export type CreateErrorResponse = (
133
- error: string | Error,
134
- additionalContent?: MCPContent[],
135
- ) => MCPErrorResponse;
119
+ export type CreateSuccessResponse = (text: string, additionalContent?: MCPContent[]) => MCPSuccessResponse;
120
+ export type CreateErrorResponse = (error: string | Error, additionalContent?: MCPContent[]) => MCPErrorResponse;
136
121
 
137
122
  // Authentication Response Types
138
123
  export interface AuthenticationResult {
139
124
  success: boolean;
140
125
  method: string;
141
126
  message: string;
142
- details?: Record<string, any>;
127
+ details?: Record<string, unknown>;
143
128
  }
144
129
 
145
130
  // Tool Execution Context
@@ -166,7 +151,7 @@ export interface MCPToolError extends Error {
166
151
  category: MCPToolCategory;
167
152
  code?: string;
168
153
  statusCode?: number;
169
- details?: Record<string, any>;
154
+ details?: Record<string, unknown>;
170
155
  }
171
156
 
172
157
  // Tool Configuration
@@ -188,30 +173,23 @@ export interface MCPServerConfig {
188
173
  name: string;
189
174
  version: string;
190
175
  tools: MCPToolRegistry;
191
- handlers: MCPHandlerRegistry<any>;
176
+ handlers: MCPHandlerRegistry<unknown>;
192
177
  middleware?: MCPMiddleware[];
193
178
  config?: MCPToolConfig;
194
179
  }
195
180
 
196
181
  // Middleware Type
197
- export type MCPMiddleware<_TClient = any> = (
182
+ export type MCPMiddleware<_TClient = unknown> = (
198
183
  context: MCPToolContext,
199
184
  next: () => Promise<MCPToolResponse>,
200
185
  ) => Promise<MCPToolResponse>;
201
186
 
202
187
  // Tool Execution Pipeline
203
188
  export interface MCPExecutionPipeline<TClient> {
204
- validate: (toolName: string, args: any) => Promise<ToolValidationResult>;
189
+ validate: (toolName: string, args: unknown) => Promise<ToolValidationResult>;
205
190
  authenticate: (client: TClient) => Promise<boolean>;
206
- execute: (
207
- toolName: string,
208
- client: TClient,
209
- args: any,
210
- ) => Promise<MCPToolResponse>;
211
- postProcess: (
212
- response: MCPToolResponse,
213
- context: MCPToolContext,
214
- ) => Promise<MCPToolResponse>;
191
+ execute: (toolName: string, client: TClient, args: unknown) => Promise<MCPToolResponse>;
192
+ postProcess: (response: MCPToolResponse, context: MCPToolContext) => Promise<MCPToolResponse>;
215
193
  }
216
194
 
217
195
  // Tool Documentation
@@ -223,7 +201,7 @@ export interface MCPToolDocumentation {
223
201
  examples: Array<{
224
202
  title: string;
225
203
  description: string;
226
- input: Record<string, any>;
204
+ input: Record<string, unknown>;
227
205
  output: string;
228
206
  }>;
229
207
  parameters: Array<{
@@ -231,7 +209,7 @@ export interface MCPToolDocumentation {
231
209
  type: string;
232
210
  required: boolean;
233
211
  description: string;
234
- example?: any;
212
+ example?: unknown;
235
213
  }>;
236
214
  errors: Array<{
237
215
  code: string;
@@ -244,7 +222,7 @@ export interface MCPToolDocumentation {
244
222
  export interface MCPBatchRequest {
245
223
  operations: Array<{
246
224
  toolName: string;
247
- args: Record<string, any>;
225
+ args: Record<string, unknown>;
248
226
  id?: string;
249
227
  }>;
250
228
  parallel?: boolean;
@@ -0,0 +1,378 @@
1
+ /**
2
+ * Enhanced Request Types for WordPress API Client
3
+ *
4
+ * This file provides strongly-typed request interfaces to replace
5
+ * loose typing throughout the codebase.
6
+ */
7
+
8
+ import type { DeepReadonly } from './enhanced.js';
9
+
10
+ // Generic HTTP Request Structure
11
+ export interface HTTPRequestConfig {
12
+ readonly method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
13
+ readonly url: string;
14
+ readonly headers?: DeepReadonly<Record<string, string>>;
15
+ readonly timeout?: number;
16
+ readonly signal?: AbortSignal;
17
+ }
18
+
19
+ export interface HTTPRequestWithData extends HTTPRequestConfig {
20
+ readonly data?: unknown;
21
+ readonly contentType?: string;
22
+ }
23
+
24
+ export interface HTTPRequestWithParams extends HTTPRequestConfig {
25
+ readonly params?: DeepReadonly<Record<string, string | number | boolean>>;
26
+ }
27
+
28
+ export interface HTTPRequestFull extends HTTPRequestWithData, HTTPRequestWithParams {}
29
+
30
+ // Request Queue Types
31
+ export interface QueuedRequest {
32
+ readonly id: string;
33
+ readonly config: HTTPRequestFull;
34
+ readonly timestamp: Date;
35
+ readonly priority: 'low' | 'medium' | 'high';
36
+ readonly retries: number;
37
+ readonly maxRetries: number;
38
+ }
39
+
40
+ export interface QueuedRequestCallback {
41
+ readonly resolve: (value: unknown) => void;
42
+ readonly reject: (reason: unknown) => void;
43
+ }
44
+
45
+ export interface RequestQueueItem extends QueuedRequest {
46
+ readonly callback: QueuedRequestCallback;
47
+ }
48
+
49
+ // Form Data Types for File Uploads
50
+ export interface FileUpload {
51
+ readonly filename: string;
52
+ readonly mimeType: string;
53
+ readonly data: Buffer | Uint8Array | ReadableStream;
54
+ readonly size?: number;
55
+ }
56
+
57
+ export interface FormDataField {
58
+ readonly name: string;
59
+ readonly value: string | number | boolean | FileUpload;
60
+ }
61
+
62
+ export interface FormDataConfig {
63
+ readonly fields: readonly FormDataField[];
64
+ readonly boundary?: string;
65
+ }
66
+
67
+ // Response Types
68
+ export interface HTTPResponse<T = unknown> {
69
+ readonly status: number;
70
+ readonly statusText: string;
71
+ readonly headers: DeepReadonly<Record<string, string>>;
72
+ readonly data: T;
73
+ readonly config: HTTPRequestConfig;
74
+ readonly timestamp: Date;
75
+ }
76
+
77
+ export interface ErrorResponse {
78
+ readonly status: number;
79
+ readonly statusText: string;
80
+ readonly message: string;
81
+ readonly code?: string;
82
+ readonly data?: unknown;
83
+ }
84
+
85
+ // Authentication Request Types
86
+ export interface AuthenticationRequest {
87
+ readonly method: 'app-password' | 'jwt' | 'basic' | 'api-key' | 'cookie';
88
+ readonly credentials: DeepReadonly<{
89
+ readonly username?: string;
90
+ readonly password?: string;
91
+ readonly token?: string;
92
+ readonly apiKey?: string;
93
+ readonly nonce?: string;
94
+ }>;
95
+ }
96
+
97
+ export interface AuthenticationResponse {
98
+ readonly success: boolean;
99
+ readonly token?: string;
100
+ readonly expires?: Date;
101
+ readonly user?: {
102
+ readonly id: number;
103
+ readonly username: string;
104
+ readonly roles: readonly string[];
105
+ };
106
+ readonly method: string;
107
+ }
108
+
109
+ // WordPress Specific Request Types
110
+ export interface WordPressQueryParams {
111
+ readonly context?: 'view' | 'embed' | 'edit';
112
+ readonly page?: number;
113
+ readonly per_page?: number;
114
+ readonly search?: string;
115
+ readonly order?: 'asc' | 'desc';
116
+ readonly orderby?: string;
117
+ readonly offset?: number;
118
+ readonly include?: readonly number[];
119
+ readonly exclude?: readonly number[];
120
+ readonly slug?: readonly string[];
121
+ readonly status?: readonly string[];
122
+ readonly author?: number;
123
+ readonly author_exclude?: readonly number[];
124
+ readonly before?: string;
125
+ readonly after?: string;
126
+ }
127
+
128
+ export interface PostSpecificParams extends WordPressQueryParams {
129
+ readonly categories?: readonly number[];
130
+ readonly categories_exclude?: readonly number[];
131
+ readonly tags?: readonly number[];
132
+ readonly tags_exclude?: readonly number[];
133
+ readonly sticky?: boolean;
134
+ readonly format?: readonly string[];
135
+ }
136
+
137
+ export interface MediaSpecificParams extends WordPressQueryParams {
138
+ readonly parent?: number;
139
+ readonly parent_exclude?: readonly number[];
140
+ readonly media_type?: 'image' | 'video' | 'text' | 'application' | 'audio';
141
+ readonly mime_type?: string;
142
+ }
143
+
144
+ export interface UserSpecificParams extends WordPressQueryParams {
145
+ readonly roles?: readonly string[];
146
+ readonly capabilities?: readonly string[];
147
+ readonly who?: 'authors';
148
+ readonly has_published_posts?: readonly string[];
149
+ }
150
+
151
+ export interface CommentSpecificParams extends WordPressQueryParams {
152
+ readonly author_email?: string;
153
+ readonly parent?: readonly number[];
154
+ readonly parent_exclude?: readonly number[];
155
+ readonly post?: readonly number[];
156
+ readonly type?: 'comment' | 'trackback' | 'pingback';
157
+ readonly password?: string;
158
+ }
159
+
160
+ // Batch Request Types
161
+ export interface BatchOperation<TParams = unknown> {
162
+ readonly id: string;
163
+ readonly method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
164
+ readonly endpoint: string;
165
+ readonly params?: TParams;
166
+ readonly data?: unknown;
167
+ }
168
+
169
+ export interface BatchRequest {
170
+ readonly operations: readonly BatchOperation[];
171
+ readonly parallel?: boolean;
172
+ readonly stopOnError?: boolean;
173
+ readonly timeout?: number;
174
+ }
175
+
176
+ export interface BatchOperationResult<TData = unknown> {
177
+ readonly id: string;
178
+ readonly success: boolean;
179
+ readonly status: number;
180
+ readonly data?: TData;
181
+ readonly error?: ErrorResponse;
182
+ readonly duration: number;
183
+ }
184
+
185
+ export interface BatchResponse {
186
+ readonly results: readonly BatchOperationResult[];
187
+ readonly summary: {
188
+ readonly total: number;
189
+ readonly successful: number;
190
+ readonly failed: number;
191
+ readonly duration: number;
192
+ };
193
+ }
194
+
195
+ // Pagination Response Types
196
+ export interface PaginatedRequestParams {
197
+ readonly page: number;
198
+ readonly per_page: number;
199
+ readonly total_pages?: number;
200
+ readonly total_items?: number;
201
+ }
202
+
203
+ export interface PaginatedResponse<TData> {
204
+ readonly data: readonly TData[];
205
+ readonly pagination: {
206
+ readonly current_page: number;
207
+ readonly per_page: number;
208
+ readonly total_pages: number;
209
+ readonly total_items: number;
210
+ readonly has_next: boolean;
211
+ readonly has_previous: boolean;
212
+ };
213
+ readonly links?: {
214
+ readonly self: string;
215
+ readonly next?: string;
216
+ readonly previous?: string;
217
+ readonly first: string;
218
+ readonly last: string;
219
+ };
220
+ }
221
+
222
+ // Search Request Types
223
+ export interface SearchRequest {
224
+ readonly query: string;
225
+ readonly type?: readonly ('post' | 'page' | 'attachment' | 'user' | 'comment')[];
226
+ readonly subtype?: readonly string[];
227
+ readonly include?: readonly number[];
228
+ readonly exclude?: readonly number[];
229
+ readonly per_page?: number;
230
+ readonly page?: number;
231
+ }
232
+
233
+ export interface SearchResult {
234
+ readonly id: number;
235
+ readonly title: string;
236
+ readonly url: string;
237
+ readonly type: string;
238
+ readonly subtype: string;
239
+ readonly excerpt?: string;
240
+ readonly date?: string;
241
+ readonly author?: {
242
+ readonly id: number;
243
+ readonly name: string;
244
+ };
245
+ }
246
+
247
+ // Upload Request Types
248
+ export interface UploadRequest {
249
+ readonly file: FileUpload;
250
+ readonly title?: string;
251
+ readonly alt_text?: string;
252
+ readonly caption?: string;
253
+ readonly description?: string;
254
+ readonly post?: number;
255
+ readonly author?: number;
256
+ readonly status?: 'publish' | 'future' | 'draft' | 'pending' | 'private';
257
+ readonly date?: string;
258
+ readonly date_gmt?: string;
259
+ }
260
+
261
+ export interface UploadProgress {
262
+ readonly loaded: number;
263
+ readonly total: number;
264
+ readonly percent: number;
265
+ readonly rate: number;
266
+ readonly estimated?: number;
267
+ }
268
+
269
+ export interface UploadResponse {
270
+ readonly id: number;
271
+ readonly title: {
272
+ readonly rendered: string;
273
+ };
274
+ readonly source_url: string;
275
+ readonly media_type: string;
276
+ readonly mime_type: string;
277
+ readonly upload_progress?: UploadProgress;
278
+ }
279
+
280
+ // Rate Limiting Types
281
+ export interface RateLimitConfig {
282
+ readonly requestsPerMinute: number;
283
+ readonly burstLimit: number;
284
+ readonly windowSize: number;
285
+ }
286
+
287
+ export interface RateLimitState {
288
+ readonly remaining: number;
289
+ readonly reset: Date;
290
+ readonly limit: number;
291
+ readonly window: number;
292
+ }
293
+
294
+ export interface RateLimitedRequest extends HTTPRequestFull {
295
+ readonly priority: 'low' | 'medium' | 'high';
296
+ readonly rateLimitKey?: string;
297
+ }
298
+
299
+ // Cache Request Types
300
+ export interface CacheableRequest extends HTTPRequestConfig {
301
+ readonly cacheKey?: string;
302
+ readonly cacheTTL?: number;
303
+ readonly cacheStrategy?: 'cache-first' | 'network-first' | 'cache-only' | 'network-only';
304
+ readonly invalidateCache?: boolean;
305
+ readonly cacheTags?: readonly string[];
306
+ }
307
+
308
+ export interface CachedResponse<T> extends HTTPResponse<T> {
309
+ readonly cached: boolean;
310
+ readonly cacheAge?: number;
311
+ readonly cacheHit: boolean;
312
+ }
313
+
314
+ // Retry Configuration Types
315
+ export interface RetryConfig {
316
+ readonly maxRetries: number;
317
+ readonly backoffFactor: number;
318
+ readonly initialDelay: number;
319
+ readonly maxDelay: number;
320
+ readonly retryOn?: readonly number[];
321
+ readonly retryCondition?: (error: unknown) => boolean;
322
+ }
323
+
324
+ export interface RetryAttempt {
325
+ readonly attempt: number;
326
+ readonly maxAttempts: number;
327
+ readonly delay: number;
328
+ readonly error: unknown;
329
+ readonly timestamp: Date;
330
+ }
331
+
332
+ // Health Check Types
333
+ export interface HealthCheckRequest {
334
+ readonly endpoint: string;
335
+ readonly timeout: number;
336
+ readonly expectedStatus?: number;
337
+ readonly expectedContent?: string;
338
+ }
339
+
340
+ export interface HealthCheckResponse {
341
+ readonly status: 'healthy' | 'degraded' | 'unhealthy';
342
+ readonly responseTime: number;
343
+ readonly statusCode: number;
344
+ readonly timestamp: Date;
345
+ readonly details?: {
346
+ readonly version?: string;
347
+ readonly endpoints?: readonly string[];
348
+ readonly authentication?: boolean;
349
+ };
350
+ }
351
+
352
+ // Validation Types for Request Processing
353
+ export interface RequestValidationRule {
354
+ readonly field: string;
355
+ readonly required: boolean;
356
+ readonly type: 'string' | 'number' | 'boolean' | 'array' | 'object';
357
+ readonly minLength?: number;
358
+ readonly maxLength?: number;
359
+ readonly pattern?: RegExp;
360
+ readonly allowedValues?: readonly (string | number | boolean)[];
361
+ readonly customValidator?: (value: unknown) => boolean;
362
+ }
363
+
364
+ export interface RequestValidationSchema {
365
+ readonly rules: readonly RequestValidationRule[];
366
+ readonly strict: boolean;
367
+ readonly allowAdditionalFields: boolean;
368
+ }
369
+
370
+ export interface RequestValidationResult {
371
+ readonly valid: boolean;
372
+ readonly errors: readonly {
373
+ readonly field: string;
374
+ readonly message: string;
375
+ readonly code: string;
376
+ }[];
377
+ readonly sanitizedData?: unknown;
378
+ }