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
@@ -0,0 +1,371 @@
1
+ import { WordPressClient } from "./api.js";
2
+ import { LoggerFactory } from "../utils/logger.js";
3
+ /**
4
+ * Mock WordPress client for CI environments
5
+ * Provides realistic responses without connecting to actual WordPress
6
+ */
7
+ export class MockWordPressClient extends WordPressClient {
8
+ isMockMode = true;
9
+ logger = LoggerFactory.api("mock");
10
+ constructor(config) {
11
+ super(config);
12
+ }
13
+ /**
14
+ * Override authenticate to not make actual requests
15
+ */
16
+ async authenticate() {
17
+ this.logger.info("Mock authentication - skipping actual connection");
18
+ return true;
19
+ }
20
+ /**
21
+ * Mock getPosts with realistic data
22
+ */
23
+ async getPosts(params) {
24
+ const mockPosts = [
25
+ {
26
+ id: 1,
27
+ date: "2024-01-15T10:00:00",
28
+ date_gmt: "2024-01-15T10:00:00",
29
+ guid: { rendered: "https://demo.wordpress.com/?p=1" },
30
+ modified: "2024-01-15T10:00:00",
31
+ modified_gmt: "2024-01-15T10:00:00",
32
+ slug: "hello-world",
33
+ status: "publish",
34
+ type: "post",
35
+ link: "https://demo.wordpress.com/hello-world/",
36
+ title: { rendered: "Hello World - Demo Post" },
37
+ content: { rendered: "<p>This is a demo post for CI testing.</p>" },
38
+ excerpt: { rendered: "<p>This is a demo post for CI testing.</p>" },
39
+ author: 1,
40
+ featured_media: 0,
41
+ comment_status: "open",
42
+ ping_status: "open",
43
+ sticky: false,
44
+ template: "",
45
+ format: "standard",
46
+ meta: [],
47
+ categories: [1],
48
+ tags: [],
49
+ },
50
+ {
51
+ id: 2,
52
+ date: "2024-01-16T12:00:00",
53
+ date_gmt: "2024-01-16T12:00:00",
54
+ guid: { rendered: "https://demo.wordpress.com/?p=2" },
55
+ modified: "2024-01-16T12:00:00",
56
+ modified_gmt: "2024-01-16T12:00:00",
57
+ slug: "sample-post",
58
+ status: "publish",
59
+ type: "post",
60
+ link: "https://demo.wordpress.com/sample-post/",
61
+ title: { rendered: "Sample Post for Testing" },
62
+ content: { rendered: "<p>This is another demo post with sample content.</p>" },
63
+ excerpt: { rendered: "<p>This is another demo post with sample content.</p>" },
64
+ author: 1,
65
+ featured_media: 0,
66
+ comment_status: "open",
67
+ ping_status: "open",
68
+ sticky: false,
69
+ template: "",
70
+ format: "standard",
71
+ meta: [],
72
+ categories: [1],
73
+ tags: [1],
74
+ },
75
+ {
76
+ id: 3,
77
+ date: "2024-01-17T14:30:00",
78
+ date_gmt: "2024-01-17T14:30:00",
79
+ guid: { rendered: "https://demo.wordpress.com/?p=3" },
80
+ modified: "2024-01-17T14:30:00",
81
+ modified_gmt: "2024-01-17T14:30:00",
82
+ slug: "latest-news",
83
+ status: "publish",
84
+ type: "post",
85
+ link: "https://demo.wordpress.com/latest-news/",
86
+ title: { rendered: "Latest News Update" },
87
+ content: { rendered: "<p>This is the latest news update for demonstration.</p>" },
88
+ excerpt: { rendered: "<p>This is the latest news update for demonstration.</p>" },
89
+ author: 1,
90
+ featured_media: 0,
91
+ comment_status: "open",
92
+ ping_status: "open",
93
+ sticky: false,
94
+ template: "",
95
+ format: "standard",
96
+ meta: [],
97
+ categories: [1, 2],
98
+ tags: [1, 2],
99
+ },
100
+ ];
101
+ // Apply basic filtering based on params
102
+ let filteredPosts = mockPosts;
103
+ if (params?.per_page) {
104
+ filteredPosts = filteredPosts.slice(0, parseInt(params.per_page.toString()));
105
+ }
106
+ return filteredPosts;
107
+ }
108
+ /**
109
+ * Mock getPost with realistic data
110
+ */
111
+ async getPost(id) {
112
+ if (id === 999999) {
113
+ throw new Error("Invalid post ID.");
114
+ }
115
+ const mockPost = {
116
+ id: id,
117
+ date: "2024-01-15T10:00:00",
118
+ date_gmt: "2024-01-15T10:00:00",
119
+ guid: { rendered: `https://demo.wordpress.com/?p=${id}` },
120
+ modified: "2024-01-15T10:00:00",
121
+ modified_gmt: "2024-01-15T10:00:00",
122
+ slug: `demo-post-${id}`,
123
+ status: "publish",
124
+ type: "post",
125
+ link: `https://demo.wordpress.com/demo-post-${id}/`,
126
+ title: { rendered: `Demo Post ${id}` },
127
+ content: { rendered: `<p>This is demo content for post ${id}.</p>` },
128
+ excerpt: { rendered: `<p>This is demo content for post ${id}.</p>` },
129
+ author: 1,
130
+ featured_media: 0,
131
+ comment_status: "open",
132
+ ping_status: "open",
133
+ sticky: false,
134
+ template: "",
135
+ format: "standard",
136
+ meta: [],
137
+ categories: [1],
138
+ tags: [],
139
+ };
140
+ return mockPost;
141
+ }
142
+ /**
143
+ * Mock getCurrentUser with realistic data
144
+ */
145
+ async getCurrentUser() {
146
+ const mockUser = {
147
+ id: 1,
148
+ name: "CI Demo User",
149
+ username: "ci-demo-user",
150
+ first_name: "CI",
151
+ last_name: "Demo",
152
+ slug: "ci-demo-user",
153
+ email: "demo@example.com",
154
+ url: "https://demo.wordpress.com",
155
+ description: "Demo user for CI testing",
156
+ link: "https://demo.wordpress.com/author/ci-demo-user/",
157
+ locale: "en_US",
158
+ nickname: "CI Demo",
159
+ registered_date: "2024-01-01T00:00:00+00:00",
160
+ roles: ["administrator"],
161
+ capabilities: {
162
+ read: true,
163
+ level_0: true,
164
+ level_1: true,
165
+ level_2: true,
166
+ level_3: true,
167
+ level_4: true,
168
+ level_5: true,
169
+ level_6: true,
170
+ level_7: true,
171
+ level_8: true,
172
+ level_9: true,
173
+ level_10: true,
174
+ delete_others_pages: true,
175
+ delete_others_posts: true,
176
+ delete_pages: true,
177
+ delete_posts: true,
178
+ delete_private_pages: true,
179
+ delete_private_posts: true,
180
+ delete_published_pages: true,
181
+ delete_published_posts: true,
182
+ edit_dashboard: true,
183
+ edit_others_pages: true,
184
+ edit_others_posts: true,
185
+ edit_pages: true,
186
+ edit_posts: true,
187
+ edit_private_pages: true,
188
+ edit_private_posts: true,
189
+ edit_published_pages: true,
190
+ edit_published_posts: true,
191
+ edit_theme_options: true,
192
+ export: true,
193
+ import: true,
194
+ list_users: true,
195
+ manage_categories: true,
196
+ manage_links: true,
197
+ manage_options: true,
198
+ moderate_comments: true,
199
+ promote_users: true,
200
+ publish_pages: true,
201
+ publish_posts: true,
202
+ read_private_pages: true,
203
+ read_private_posts: true,
204
+ remove_users: true,
205
+ switch_themes: true,
206
+ upload_files: true,
207
+ customize: true,
208
+ delete_site: true,
209
+ },
210
+ extra_capabilities: {
211
+ administrator: true,
212
+ },
213
+ avatar_urls: {
214
+ "24": "https://secure.gravatar.com/avatar/example?s=24&d=mm&r=g",
215
+ "48": "https://secure.gravatar.com/avatar/example?s=48&d=mm&r=g",
216
+ "96": "https://secure.gravatar.com/avatar/example?s=96&d=mm&r=g",
217
+ },
218
+ meta: [],
219
+ };
220
+ return mockUser;
221
+ }
222
+ /**
223
+ * Mock getSiteSettings with realistic data
224
+ */
225
+ async getSiteSettings() {
226
+ const mockSettings = {
227
+ title: "Demo WordPress Site",
228
+ description: "A demonstration site for CI testing",
229
+ url: "https://demo.wordpress.com",
230
+ email: "admin@demo.wordpress.com",
231
+ timezone: "UTC",
232
+ date_format: "F j, Y",
233
+ time_format: "g:i a",
234
+ start_of_week: 1,
235
+ language: "en_US",
236
+ use_smilies: true,
237
+ default_category: 1,
238
+ default_post_format: "0",
239
+ posts_per_page: 10,
240
+ default_ping_status: "open",
241
+ default_comment_status: "open",
242
+ };
243
+ return mockSettings;
244
+ }
245
+ /**
246
+ * Mock createPost
247
+ */
248
+ async createPost(data) {
249
+ const mockPost = {
250
+ id: Math.floor(Math.random() * 1000) + 100,
251
+ date: new Date().toISOString(),
252
+ date_gmt: new Date().toISOString(),
253
+ guid: { rendered: `https://demo.wordpress.com/?p=${Math.floor(Math.random() * 1000) + 100}` },
254
+ modified: new Date().toISOString(),
255
+ modified_gmt: new Date().toISOString(),
256
+ slug: data.title?.toLowerCase().replace(/\s+/g, "-") || "new-post",
257
+ status: data.status || "publish",
258
+ type: "post",
259
+ link: `https://demo.wordpress.com/${data.title?.toLowerCase().replace(/\s+/g, "-") || "new-post"}/`,
260
+ title: { rendered: data.title || "New Post" },
261
+ content: { rendered: data.content || "<p>New post content</p>" },
262
+ excerpt: { rendered: data.excerpt || "<p>New post excerpt</p>" },
263
+ author: 1,
264
+ featured_media: 0,
265
+ comment_status: "open",
266
+ ping_status: "open",
267
+ sticky: false,
268
+ template: "",
269
+ format: "standard",
270
+ meta: [],
271
+ categories: [1],
272
+ tags: [],
273
+ };
274
+ return mockPost;
275
+ }
276
+ /**
277
+ * Mock updatePost
278
+ */
279
+ async updatePost(data) {
280
+ const mockPost = {
281
+ id: data.id,
282
+ date: "2024-01-15T10:00:00",
283
+ date_gmt: "2024-01-15T10:00:00",
284
+ guid: { rendered: `https://demo.wordpress.com/?p=${data.id}` },
285
+ modified: new Date().toISOString(),
286
+ modified_gmt: new Date().toISOString(),
287
+ slug: data.title?.toLowerCase().replace(/\s+/g, "-") || `post-${data.id}`,
288
+ status: data.status || "publish",
289
+ type: "post",
290
+ link: `https://demo.wordpress.com/${data.title?.toLowerCase().replace(/\s+/g, "-") || `post-${data.id}`}/`,
291
+ title: { rendered: data.title || `Updated Post ${data.id}` },
292
+ content: { rendered: data.content || "<p>Updated content</p>" },
293
+ excerpt: { rendered: data.excerpt || "<p>Updated excerpt</p>" },
294
+ author: 1,
295
+ featured_media: 0,
296
+ comment_status: "open",
297
+ ping_status: "open",
298
+ sticky: false,
299
+ template: "",
300
+ format: "standard",
301
+ meta: [],
302
+ categories: [1],
303
+ tags: [],
304
+ };
305
+ return mockPost;
306
+ }
307
+ /**
308
+ * Mock search
309
+ */
310
+ async search(query, types, subtype) {
311
+ if (!query) {
312
+ return [];
313
+ }
314
+ return [
315
+ {
316
+ id: 1,
317
+ title: `Search Result for "${query}"`,
318
+ url: `https://demo.wordpress.com/search-result-1/`,
319
+ type: "post",
320
+ subtype: "post",
321
+ },
322
+ {
323
+ id: 2,
324
+ title: `Another result for "${query}"`,
325
+ url: `https://demo.wordpress.com/search-result-2/`,
326
+ type: "post",
327
+ subtype: "post",
328
+ },
329
+ ];
330
+ }
331
+ /**
332
+ * Mock deletePost
333
+ */
334
+ async deletePost(id, force = false) {
335
+ return {
336
+ deleted: true,
337
+ previous: {
338
+ id,
339
+ date: "2024-01-15T10:00:00",
340
+ date_gmt: "2024-01-15T10:00:00",
341
+ guid: { rendered: `https://demo.wordpress.com/?p=${id}` },
342
+ modified: "2024-01-15T10:00:00",
343
+ modified_gmt: "2024-01-15T10:00:00",
344
+ slug: `deleted-post-${id}`,
345
+ status: "trash",
346
+ type: "post",
347
+ link: `https://demo.wordpress.com/deleted-post-${id}/`,
348
+ title: { rendered: `Deleted Post ${id}` },
349
+ content: { rendered: `<p>This post was deleted.</p>` },
350
+ excerpt: { rendered: `<p>This post was deleted.</p>` },
351
+ author: 1,
352
+ featured_media: 0,
353
+ comment_status: "open",
354
+ ping_status: "open",
355
+ sticky: false,
356
+ template: "",
357
+ format: "standard",
358
+ meta: [],
359
+ categories: [1],
360
+ tags: [],
361
+ },
362
+ };
363
+ }
364
+ /**
365
+ * Override getSiteUrl to return mock URL
366
+ */
367
+ getSiteUrl() {
368
+ return "https://demo.wordpress.com";
369
+ }
370
+ }
371
+ //# sourceMappingURL=MockWordPressClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockWordPressClient.js","sourceRoot":"","sources":["../../../src/client/MockWordPressClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,235 @@
1
+ /**
2
+ * WordPress API Client
3
+ * Handles all REST API communication with WordPress
4
+ */
5
+ import type { IWordPressClient, WordPressClientConfig, HTTPMethod, RequestOptions, ClientStats } from "../types/client.js";
6
+ import type { WordPressPost, WordPressPage, WordPressMedia, WordPressUser, WordPressComment, WordPressCategory, WordPressTag, WordPressSiteSettings, WordPressApplicationPassword, PostQueryParams, MediaQueryParams, UserQueryParams, CommentQueryParams, CreatePostRequest, UpdatePostRequest, CreatePageRequest, UpdatePageRequest, CreateUserRequest, UpdateUserRequest, CreateCommentRequest, UpdateCommentRequest, CreateCategoryRequest, UpdateCategoryRequest, CreateTagRequest, UpdateTagRequest, UploadMediaRequest, UpdateMediaRequest, WordPressSiteInfo, WordPressSearchResult } from "../types/wordpress.js";
7
+ /**
8
+ * WordPress REST API Client
9
+ *
10
+ * A comprehensive client for interacting with the WordPress REST API v2.
11
+ * Provides full CRUD operations for posts, pages, media, users, comments,
12
+ * categories, tags, and site settings with robust error handling and performance optimization.
13
+ *
14
+ * Features:
15
+ * - Multiple authentication methods (App Passwords, JWT, Basic Auth, API Key)
16
+ * - Automatic retry logic with exponential backoff
17
+ * - Request rate limiting and queue management
18
+ * - Comprehensive error handling with detailed messages
19
+ * - Performance monitoring and request statistics
20
+ * - Caching support for improved performance
21
+ * - Multi-site configuration support
22
+ *
23
+ * @example
24
+ * ```typescript
25
+ * // Initialize with app password authentication
26
+ * const client = new WordPressClient({
27
+ * baseUrl: 'https://mysite.com',
28
+ * auth: {
29
+ * method: 'app-password',
30
+ * username: 'admin',
31
+ * password: 'xxxx xxxx xxxx xxxx xxxx xxxx'
32
+ * }
33
+ * });
34
+ *
35
+ * // Create a new post
36
+ * const post = await client.createPost({
37
+ * title: 'My New Post',
38
+ * content: '<p>This is the content</p>',
39
+ * status: 'publish'
40
+ * });
41
+ *
42
+ * // List posts with filtering
43
+ * const posts = await client.getPosts({
44
+ * search: 'WordPress',
45
+ * status: 'publish',
46
+ * per_page: 10
47
+ * });
48
+ * ```
49
+ *
50
+ * @since 1.0.0
51
+ * @author MCP WordPress Team
52
+ * @implements {IWordPressClient}
53
+ */
54
+ export declare class WordPressClient implements IWordPressClient {
55
+ private baseUrl;
56
+ private apiUrl;
57
+ private timeout;
58
+ private maxRetries;
59
+ private auth;
60
+ private requestQueue;
61
+ private lastRequestTime;
62
+ private requestInterval;
63
+ private authenticated;
64
+ private jwtToken;
65
+ private _stats;
66
+ /**
67
+ * Creates a new WordPress API client instance.
68
+ *
69
+ * Initializes the client with configuration options for connecting to a WordPress site.
70
+ * Supports multiple authentication methods and automatic environment variable detection.
71
+ *
72
+ * @param {Partial<WordPressClientConfig>} [options={}] - Configuration options for the client
73
+ * @param {string} [options.baseUrl] - WordPress site URL (falls back to WORDPRESS_SITE_URL env var)
74
+ * @param {number} [options.timeout=30000] - Request timeout in milliseconds
75
+ * @param {number} [options.maxRetries=3] - Maximum number of retry attempts for failed requests
76
+ * @param {AuthConfig} [options.auth] - Authentication configuration (auto-detected from env if not provided)
77
+ * @param {boolean} [options.enableCache=true] - Whether to enable response caching
78
+ * @param {number} [options.cacheMaxAge=300000] - Cache max age in milliseconds (5 minutes default)
79
+ *
80
+ * @example
81
+ * ```typescript
82
+ * // Basic configuration with app password
83
+ * const client = new WordPressClient({
84
+ * baseUrl: 'https://mysite.com',
85
+ * auth: {
86
+ * method: 'app-password',
87
+ * username: 'admin',
88
+ * password: 'xxxx xxxx xxxx xxxx xxxx xxxx'
89
+ * }
90
+ * });
91
+ *
92
+ * // Configuration with environment variables
93
+ * // Set WORDPRESS_SITE_URL, WORDPRESS_USERNAME, WORDPRESS_APP_PASSWORD
94
+ * const client = new WordPressClient(); // Auto-detects from env
95
+ *
96
+ * // Custom timeout and retry settings
97
+ * const client = new WordPressClient({
98
+ * baseUrl: 'https://mysite.com',
99
+ * timeout: 60000, // 60 seconds
100
+ * maxRetries: 5, // 5 retry attempts
101
+ * auth: { method: 'app-password', username: 'user', password: 'pass' }
102
+ * });
103
+ * ```
104
+ *
105
+ * @throws {Error} When required configuration is missing or invalid
106
+ *
107
+ * @since 1.0.0
108
+ */
109
+ constructor(options?: Partial<WordPressClientConfig>);
110
+ get config(): WordPressClientConfig;
111
+ get isAuthenticated(): boolean;
112
+ get stats(): ClientStats;
113
+ getSiteUrl(): string;
114
+ /**
115
+ * Validate and sanitize URL for security
116
+ */
117
+ private validateAndSanitizeUrl;
118
+ private getAuthFromEnv;
119
+ private validateConfig;
120
+ initialize(): Promise<void>;
121
+ disconnect(): Promise<void>;
122
+ /**
123
+ * Add authentication headers to request
124
+ */
125
+ private addAuthHeaders;
126
+ /**
127
+ * Rate limiting implementation
128
+ */
129
+ private rateLimit;
130
+ /**
131
+ * Delay utility
132
+ */
133
+ private delay;
134
+ authenticate(): Promise<boolean>;
135
+ /**
136
+ * Authenticate using Basic/Application Password
137
+ */
138
+ private authenticateWithBasic;
139
+ /**
140
+ * Authenticate using JWT
141
+ */
142
+ private authenticateWithJWT;
143
+ /**
144
+ * Authenticate using Cookie
145
+ */
146
+ private authenticateWithCookie;
147
+ /**
148
+ * Make authenticated request to WordPress REST API
149
+ */
150
+ request<T = unknown>(method: HTTPMethod, endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
151
+ private updateAverageResponseTime;
152
+ get<T = unknown>(endpoint: string, options?: RequestOptions): Promise<T>;
153
+ post<T = unknown>(endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
154
+ put<T = unknown>(endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
155
+ patch<T = unknown>(endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
156
+ delete<T = unknown>(endpoint: string, options?: RequestOptions): Promise<T>;
157
+ getPosts(params?: PostQueryParams): Promise<WordPressPost[]>;
158
+ getPost(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPost>;
159
+ createPost(data: CreatePostRequest): Promise<WordPressPost>;
160
+ updatePost(data: UpdatePostRequest): Promise<WordPressPost>;
161
+ deletePost(id: number, force?: boolean): Promise<{
162
+ deleted: boolean;
163
+ previous?: WordPressPost;
164
+ }>;
165
+ getPostRevisions(id: number): Promise<WordPressPost[]>;
166
+ getPages(params?: PostQueryParams): Promise<WordPressPage[]>;
167
+ getPage(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPage>;
168
+ createPage(data: CreatePageRequest): Promise<WordPressPage>;
169
+ updatePage(data: UpdatePageRequest): Promise<WordPressPage>;
170
+ deletePage(id: number, force?: boolean): Promise<{
171
+ deleted: boolean;
172
+ previous?: WordPressPage;
173
+ }>;
174
+ getPageRevisions(id: number): Promise<WordPressPage[]>;
175
+ getMedia(params?: MediaQueryParams): Promise<WordPressMedia[]>;
176
+ getMediaItem(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressMedia>;
177
+ uploadMedia(data: UploadMediaRequest): Promise<WordPressMedia>;
178
+ uploadFile(fileData: Buffer, filename: string, mimeType: string, meta?: Partial<UploadMediaRequest>, options?: RequestOptions): Promise<WordPressMedia>;
179
+ updateMedia(data: UpdateMediaRequest): Promise<WordPressMedia>;
180
+ deleteMedia(id: number, force?: boolean): Promise<{
181
+ deleted: boolean;
182
+ previous?: WordPressMedia;
183
+ }>;
184
+ getUsers(params?: UserQueryParams): Promise<WordPressUser[]>;
185
+ getUser(id: number | "me", context?: "view" | "embed" | "edit"): Promise<WordPressUser>;
186
+ createUser(data: CreateUserRequest): Promise<WordPressUser>;
187
+ updateUser(data: UpdateUserRequest): Promise<WordPressUser>;
188
+ deleteUser(id: number, reassign?: number): Promise<{
189
+ deleted: boolean;
190
+ previous?: WordPressUser;
191
+ }>;
192
+ getCurrentUser(): Promise<WordPressUser>;
193
+ getComments(params?: CommentQueryParams): Promise<WordPressComment[]>;
194
+ getComment(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressComment>;
195
+ createComment(data: CreateCommentRequest): Promise<WordPressComment>;
196
+ updateComment(data: UpdateCommentRequest): Promise<WordPressComment>;
197
+ deleteComment(id: number, force?: boolean): Promise<{
198
+ deleted: boolean;
199
+ previous?: WordPressComment;
200
+ }>;
201
+ approveComment(id: number): Promise<WordPressComment>;
202
+ rejectComment(id: number): Promise<WordPressComment>;
203
+ spamComment(id: number): Promise<WordPressComment>;
204
+ getCategories(params?: Record<string, string | number | boolean>): Promise<WordPressCategory[]>;
205
+ getCategory(id: number): Promise<WordPressCategory>;
206
+ createCategory(data: CreateCategoryRequest): Promise<WordPressCategory>;
207
+ updateCategory(data: UpdateCategoryRequest): Promise<WordPressCategory>;
208
+ deleteCategory(id: number, force?: boolean): Promise<{
209
+ deleted: boolean;
210
+ previous?: WordPressCategory;
211
+ }>;
212
+ getTags(params?: Record<string, string | number | boolean>): Promise<WordPressTag[]>;
213
+ getTag(id: number): Promise<WordPressTag>;
214
+ createTag(data: CreateTagRequest): Promise<WordPressTag>;
215
+ updateTag(data: UpdateTagRequest): Promise<WordPressTag>;
216
+ deleteTag(id: number, force?: boolean): Promise<{
217
+ deleted: boolean;
218
+ previous?: WordPressTag;
219
+ }>;
220
+ getSiteSettings(): Promise<WordPressSiteSettings>;
221
+ updateSiteSettings(settings: Partial<WordPressSiteSettings>): Promise<WordPressSiteSettings>;
222
+ getSiteInfo(): Promise<WordPressSiteInfo>;
223
+ getApplicationPasswords(userId?: number | "me"): Promise<WordPressApplicationPassword[]>;
224
+ createApplicationPassword(userId: number | "me", name: string, appId?: string): Promise<WordPressApplicationPassword>;
225
+ deleteApplicationPassword(userId: number | "me", uuid: string): Promise<{
226
+ deleted: boolean;
227
+ }>;
228
+ search(query: string, types?: string[], subtype?: string): Promise<WordPressSearchResult[]>;
229
+ ping(): Promise<boolean>;
230
+ getServerInfo(): Promise<Record<string, unknown>>;
231
+ validateEndpoint(endpoint: string): boolean;
232
+ buildUrl(endpoint: string, params?: Record<string, unknown>): string;
233
+ private getMimeType;
234
+ }
235
+ //# sourceMappingURL=api.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../../src/client/api.ts"],"names":[],"mappings":"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"}