mcp-wordpress 2.6.3 → 2.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (333) hide show
  1. package/README.md +1 -1
  2. package/dist/cache/CacheInvalidation.d.ts +25 -6
  3. package/dist/cache/CacheInvalidation.d.ts.map +1 -1
  4. package/dist/cache/CacheInvalidation.js +168 -16
  5. package/dist/cache/CacheInvalidation.js.map +1 -1
  6. package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
  7. package/dist/cache/HttpCacheWrapper.js +3 -4
  8. package/dist/cache/HttpCacheWrapper.js.map +1 -1
  9. package/dist/cache/SEOCacheManager.d.ts +150 -0
  10. package/dist/cache/SEOCacheManager.d.ts.map +1 -0
  11. package/dist/cache/SEOCacheManager.js +275 -0
  12. package/dist/cache/SEOCacheManager.js.map +1 -0
  13. package/dist/client/SEOWordPressClient.d.ts +164 -0
  14. package/dist/client/SEOWordPressClient.d.ts.map +1 -0
  15. package/dist/client/SEOWordPressClient.js +674 -0
  16. package/dist/client/SEOWordPressClient.js.map +1 -0
  17. package/dist/client/api.d.ts.map +1 -1
  18. package/dist/client/api.js +50 -20
  19. package/dist/client/api.js.map +1 -1
  20. package/dist/client/auth.js +19 -19
  21. package/dist/client/auth.js.map +1 -1
  22. package/dist/client/index.d.ts +11 -0
  23. package/dist/client/index.d.ts.map +1 -0
  24. package/dist/client/index.js +14 -0
  25. package/dist/client/index.js.map +1 -0
  26. package/dist/client/managers/AuthManager.d.ts +39 -0
  27. package/dist/client/managers/AuthManager.d.ts.map +1 -0
  28. package/dist/client/managers/AuthManager.js +142 -0
  29. package/dist/client/managers/AuthManager.js.map +1 -0
  30. package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
  31. package/dist/client/managers/AuthenticationManager.js +10 -9
  32. package/dist/client/managers/AuthenticationManager.js.map +1 -1
  33. package/dist/client/managers/BaseManager.d.ts.map +1 -1
  34. package/dist/client/managers/BaseManager.js +12 -0
  35. package/dist/client/managers/BaseManager.js.map +1 -1
  36. package/dist/client/managers/ComposedAuthenticationManager.d.ts +94 -0
  37. package/dist/client/managers/ComposedAuthenticationManager.d.ts.map +1 -0
  38. package/dist/client/managers/ComposedAuthenticationManager.js +340 -0
  39. package/dist/client/managers/ComposedAuthenticationManager.js.map +1 -0
  40. package/dist/client/managers/ComposedManagerFactory.d.ts +104 -0
  41. package/dist/client/managers/ComposedManagerFactory.d.ts.map +1 -0
  42. package/dist/client/managers/ComposedManagerFactory.js +180 -0
  43. package/dist/client/managers/ComposedManagerFactory.js.map +1 -0
  44. package/dist/client/managers/ComposedRequestManager.d.ts +82 -0
  45. package/dist/client/managers/ComposedRequestManager.d.ts.map +1 -0
  46. package/dist/client/managers/ComposedRequestManager.js +260 -0
  47. package/dist/client/managers/ComposedRequestManager.js.map +1 -0
  48. package/dist/client/managers/JWTAuthImplementation.d.ts +86 -0
  49. package/dist/client/managers/JWTAuthImplementation.d.ts.map +1 -0
  50. package/dist/client/managers/JWTAuthImplementation.js +240 -0
  51. package/dist/client/managers/JWTAuthImplementation.js.map +1 -0
  52. package/dist/client/managers/ManagersIndex.d.ts +6 -0
  53. package/dist/client/managers/ManagersIndex.d.ts.map +1 -0
  54. package/dist/client/managers/ManagersIndex.js +6 -0
  55. package/dist/client/managers/ManagersIndex.js.map +1 -0
  56. package/dist/client/managers/RequestManager.d.ts.map +1 -1
  57. package/dist/client/managers/RequestManager.js +5 -3
  58. package/dist/client/managers/RequestManager.js.map +1 -1
  59. package/dist/client/managers/composed/MigrationAdapter.d.ts +80 -0
  60. package/dist/client/managers/composed/MigrationAdapter.d.ts.map +1 -0
  61. package/dist/client/managers/composed/MigrationAdapter.js +214 -0
  62. package/dist/client/managers/composed/MigrationAdapter.js.map +1 -0
  63. package/dist/client/managers/composed/index.d.ts +23 -0
  64. package/dist/client/managers/composed/index.d.ts.map +1 -0
  65. package/dist/client/managers/composed/index.js +26 -0
  66. package/dist/client/managers/composed/index.js.map +1 -0
  67. package/dist/client/managers/implementations/ConfigurationProviderImpl.d.ts +27 -0
  68. package/dist/client/managers/implementations/ConfigurationProviderImpl.d.ts.map +1 -0
  69. package/dist/client/managers/implementations/ConfigurationProviderImpl.js +41 -0
  70. package/dist/client/managers/implementations/ConfigurationProviderImpl.js.map +1 -0
  71. package/dist/client/managers/implementations/ErrorHandlerImpl.d.ts +31 -0
  72. package/dist/client/managers/implementations/ErrorHandlerImpl.d.ts.map +1 -0
  73. package/dist/client/managers/implementations/ErrorHandlerImpl.js +73 -0
  74. package/dist/client/managers/implementations/ErrorHandlerImpl.js.map +1 -0
  75. package/dist/client/managers/implementations/ParameterValidatorImpl.d.ts +47 -0
  76. package/dist/client/managers/implementations/ParameterValidatorImpl.d.ts.map +1 -0
  77. package/dist/client/managers/implementations/ParameterValidatorImpl.js +141 -0
  78. package/dist/client/managers/implementations/ParameterValidatorImpl.js.map +1 -0
  79. package/dist/client/managers/interfaces/ManagerInterfaces.d.ts +147 -0
  80. package/dist/client/managers/interfaces/ManagerInterfaces.d.ts.map +1 -0
  81. package/dist/client/managers/interfaces/ManagerInterfaces.js +6 -0
  82. package/dist/client/managers/interfaces/ManagerInterfaces.js.map +1 -0
  83. package/dist/config/Config.d.ts +30 -0
  84. package/dist/config/Config.d.ts.map +1 -1
  85. package/dist/config/Config.js +30 -0
  86. package/dist/config/Config.js.map +1 -1
  87. package/dist/config/ConfigurationSchema.d.ts +75 -198
  88. package/dist/config/ConfigurationSchema.d.ts.map +1 -1
  89. package/dist/config/ConfigurationSchema.js +17 -17
  90. package/dist/config/ConfigurationSchema.js.map +1 -1
  91. package/dist/config/ServerConfiguration.d.ts +2 -2
  92. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  93. package/dist/config/ServerConfiguration.js +15 -13
  94. package/dist/config/ServerConfiguration.js.map +1 -1
  95. package/dist/config/index.d.ts +8 -0
  96. package/dist/config/index.d.ts.map +1 -0
  97. package/dist/config/index.js +11 -0
  98. package/dist/config/index.js.map +1 -0
  99. package/dist/docs/DocumentationGenerator.js +2 -2
  100. package/dist/docs/DocumentationGenerator.js.map +1 -1
  101. package/dist/dxt-entry.js +3 -3
  102. package/dist/dxt-entry.js.map +1 -1
  103. package/dist/index.d.ts +1 -0
  104. package/dist/index.d.ts.map +1 -1
  105. package/dist/index.js +38 -37
  106. package/dist/index.js.map +1 -1
  107. package/dist/performance/MetricsCollector.d.ts.map +1 -1
  108. package/dist/performance/MetricsCollector.js +5 -4
  109. package/dist/performance/MetricsCollector.js.map +1 -1
  110. package/dist/security/AISecurityScanner.js +7 -7
  111. package/dist/security/AISecurityScanner.js.map +1 -1
  112. package/dist/security/AutomatedRemediation.d.ts.map +1 -1
  113. package/dist/security/AutomatedRemediation.js +11 -11
  114. package/dist/security/AutomatedRemediation.js.map +1 -1
  115. package/dist/security/InputValidator.d.ts +50 -126
  116. package/dist/security/InputValidator.d.ts.map +1 -1
  117. package/dist/security/InputValidator.js +9 -9
  118. package/dist/security/InputValidator.js.map +1 -1
  119. package/dist/security/SecurityCIPipeline.d.ts +47 -5
  120. package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
  121. package/dist/security/SecurityCIPipeline.js +390 -49
  122. package/dist/security/SecurityCIPipeline.js.map +1 -1
  123. package/dist/security/SecurityConfigManager.js +10 -10
  124. package/dist/security/SecurityConfigManager.js.map +1 -1
  125. package/dist/security/SecurityMonitoring.js +4 -4
  126. package/dist/security/SecurityMonitoring.js.map +1 -1
  127. package/dist/security/SecurityReviewer.d.ts.map +1 -1
  128. package/dist/security/SecurityReviewer.js +13 -6
  129. package/dist/security/SecurityReviewer.js.map +1 -1
  130. package/dist/security/index.js +3 -3
  131. package/dist/security/index.js.map +1 -1
  132. package/dist/server/ConnectionTester.js +5 -5
  133. package/dist/server/ConnectionTester.js.map +1 -1
  134. package/dist/server/ToolRegistry.d.ts +2 -2
  135. package/dist/server/ToolRegistry.d.ts.map +1 -1
  136. package/dist/server/ToolRegistry.js +7 -6
  137. package/dist/server/ToolRegistry.js.map +1 -1
  138. package/dist/server/index.d.ts +7 -0
  139. package/dist/server/index.d.ts.map +1 -0
  140. package/dist/server/index.js +9 -0
  141. package/dist/server/index.js.map +1 -0
  142. package/dist/tools/BaseToolManager.d.ts.map +1 -1
  143. package/dist/tools/BaseToolManager.js +11 -11
  144. package/dist/tools/BaseToolManager.js.map +1 -1
  145. package/dist/tools/auth.d.ts.map +1 -1
  146. package/dist/tools/auth.js +7 -7
  147. package/dist/tools/auth.js.map +1 -1
  148. package/dist/tools/comments.d.ts.map +1 -1
  149. package/dist/tools/comments.js +14 -14
  150. package/dist/tools/comments.js.map +1 -1
  151. package/dist/tools/index.d.ts +1 -0
  152. package/dist/tools/index.d.ts.map +1 -1
  153. package/dist/tools/index.js +1 -0
  154. package/dist/tools/index.js.map +1 -1
  155. package/dist/tools/media.d.ts.map +1 -1
  156. package/dist/tools/media.js +14 -11
  157. package/dist/tools/media.js.map +1 -1
  158. package/dist/tools/pages.d.ts.map +1 -1
  159. package/dist/tools/pages.js +12 -12
  160. package/dist/tools/pages.js.map +1 -1
  161. package/dist/tools/performance.d.ts.map +1 -1
  162. package/dist/tools/performance.js +13 -11
  163. package/dist/tools/performance.js.map +1 -1
  164. package/dist/tools/posts/PostHandlers.d.ts.map +1 -1
  165. package/dist/tools/posts/PostHandlers.js +16 -16
  166. package/dist/tools/posts/PostHandlers.js.map +1 -1
  167. package/dist/tools/posts/PostToolDefinitions.d.ts.map +1 -1
  168. package/dist/tools/posts/index.d.ts.map +1 -1
  169. package/dist/tools/seo/BulkOperations.d.ts +113 -0
  170. package/dist/tools/seo/BulkOperations.d.ts.map +1 -0
  171. package/dist/tools/seo/BulkOperations.js +398 -0
  172. package/dist/tools/seo/BulkOperations.js.map +1 -0
  173. package/dist/tools/seo/SEOHandlers.d.ts +55 -0
  174. package/dist/tools/seo/SEOHandlers.d.ts.map +1 -0
  175. package/dist/tools/seo/SEOHandlers.js +255 -0
  176. package/dist/tools/seo/SEOHandlers.js.map +1 -0
  177. package/dist/tools/seo/SEOToolDefinitions.d.ts +59 -0
  178. package/dist/tools/seo/SEOToolDefinitions.d.ts.map +1 -0
  179. package/dist/tools/seo/SEOToolDefinitions.js +385 -0
  180. package/dist/tools/seo/SEOToolDefinitions.js.map +1 -0
  181. package/dist/tools/seo/SEOTools.d.ts +203 -0
  182. package/dist/tools/seo/SEOTools.d.ts.map +1 -0
  183. package/dist/tools/seo/SEOTools.js +708 -0
  184. package/dist/tools/seo/SEOTools.js.map +1 -0
  185. package/dist/tools/seo/analyzers/ContentAnalyzer.d.ts +94 -0
  186. package/dist/tools/seo/analyzers/ContentAnalyzer.d.ts.map +1 -0
  187. package/dist/tools/seo/analyzers/ContentAnalyzer.js +402 -0
  188. package/dist/tools/seo/analyzers/ContentAnalyzer.js.map +1 -0
  189. package/dist/tools/seo/auditors/SiteAuditor.d.ts +121 -0
  190. package/dist/tools/seo/auditors/SiteAuditor.d.ts.map +1 -0
  191. package/dist/tools/seo/auditors/SiteAuditor.js +600 -0
  192. package/dist/tools/seo/auditors/SiteAuditor.js.map +1 -0
  193. package/dist/tools/seo/generators/MetaGenerator.d.ts +128 -0
  194. package/dist/tools/seo/generators/MetaGenerator.d.ts.map +1 -0
  195. package/dist/tools/seo/generators/MetaGenerator.js +547 -0
  196. package/dist/tools/seo/generators/MetaGenerator.js.map +1 -0
  197. package/dist/tools/seo/generators/SchemaGenerator.d.ts +204 -0
  198. package/dist/tools/seo/generators/SchemaGenerator.d.ts.map +1 -0
  199. package/dist/tools/seo/generators/SchemaGenerator.js +670 -0
  200. package/dist/tools/seo/generators/SchemaGenerator.js.map +1 -0
  201. package/dist/tools/seo/index.d.ts +17 -0
  202. package/dist/tools/seo/index.d.ts.map +1 -0
  203. package/dist/tools/seo/index.js +18 -0
  204. package/dist/tools/seo/index.js.map +1 -0
  205. package/dist/tools/seo/optimizers/InternalLinkingSuggester.d.ts +186 -0
  206. package/dist/tools/seo/optimizers/InternalLinkingSuggester.d.ts.map +1 -0
  207. package/dist/tools/seo/optimizers/InternalLinkingSuggester.js +683 -0
  208. package/dist/tools/seo/optimizers/InternalLinkingSuggester.js.map +1 -0
  209. package/dist/tools/site.d.ts.map +1 -1
  210. package/dist/tools/site.js +12 -12
  211. package/dist/tools/site.js.map +1 -1
  212. package/dist/tools/taxonomies.d.ts.map +1 -1
  213. package/dist/tools/taxonomies.js +20 -20
  214. package/dist/tools/taxonomies.js.map +1 -1
  215. package/dist/tools/users.d.ts.map +1 -1
  216. package/dist/tools/users.js +12 -12
  217. package/dist/tools/users.js.map +1 -1
  218. package/dist/types/client.d.ts +8 -6
  219. package/dist/types/client.d.ts.map +1 -1
  220. package/dist/types/client.js.map +1 -1
  221. package/dist/types/seo.d.ts +473 -0
  222. package/dist/types/seo.d.ts.map +1 -0
  223. package/dist/types/seo.js +94 -0
  224. package/dist/types/seo.js.map +1 -0
  225. package/dist/utils/enhancedError.js +1 -1
  226. package/dist/utils/enhancedError.js.map +1 -1
  227. package/dist/utils/error.d.ts.map +1 -1
  228. package/dist/utils/error.js +0 -1
  229. package/dist/utils/error.js.map +1 -1
  230. package/dist/utils/index.d.ts +12 -0
  231. package/dist/utils/index.d.ts.map +1 -0
  232. package/dist/utils/index.js +18 -0
  233. package/dist/utils/index.js.map +1 -0
  234. package/dist/utils/logger.js +3 -3
  235. package/dist/utils/logger.js.map +1 -1
  236. package/dist/utils/toolWrapper.d.ts +2 -2
  237. package/dist/utils/toolWrapper.js +8 -8
  238. package/dist/utils/toolWrapper.js.map +1 -1
  239. package/dist/utils/validation/core.d.ts.map +1 -1
  240. package/dist/utils/validation/core.js.map +1 -1
  241. package/dist/utils/validation/index.d.ts.map +1 -1
  242. package/dist/utils/validation/index.js.map +1 -1
  243. package/dist/utils/validation/network.js +3 -3
  244. package/dist/utils/validation/network.js.map +1 -1
  245. package/dist/utils/validation/rateLimit.js.map +1 -1
  246. package/dist/utils/validation/security.js.map +1 -1
  247. package/dist/utils/validation/wordpress.js.map +1 -1
  248. package/dist/utils/version.d.ts +144 -0
  249. package/dist/utils/version.d.ts.map +1 -0
  250. package/dist/utils/version.js +318 -0
  251. package/dist/utils/version.js.map +1 -0
  252. package/package.json +24 -58
  253. package/src/cache/CacheInvalidation.ts +183 -20
  254. package/src/cache/HttpCacheWrapper.ts +8 -5
  255. package/src/cache/SEOCacheManager.ts +330 -0
  256. package/src/cache/__tests__/CacheInvalidation.test.ts +6 -11
  257. package/src/cache/__tests__/CachedWordPressClient.test.ts +37 -62
  258. package/src/client/SEOWordPressClient.ts +876 -0
  259. package/src/client/api.ts +50 -21
  260. package/src/client/auth.ts +19 -19
  261. package/src/client/index.ts +16 -0
  262. package/src/client/managers/AuthManager.ts +175 -0
  263. package/src/client/managers/AuthenticationManager.ts +16 -14
  264. package/src/client/managers/BaseManager.ts +24 -5
  265. package/src/client/managers/ComposedAuthenticationManager.ts +409 -0
  266. package/src/client/managers/ComposedManagerFactory.ts +231 -0
  267. package/src/client/managers/ComposedRequestManager.ts +336 -0
  268. package/src/client/managers/JWTAuthImplementation.ts +326 -0
  269. package/src/client/managers/ManagersIndex.ts +6 -0
  270. package/src/client/managers/RequestManager.ts +9 -7
  271. package/src/client/managers/composed/MigrationAdapter.ts +263 -0
  272. package/src/client/managers/composed/index.ts +47 -0
  273. package/src/client/managers/implementations/ConfigurationProviderImpl.ts +52 -0
  274. package/src/client/managers/implementations/ErrorHandlerImpl.ts +102 -0
  275. package/src/client/managers/implementations/ParameterValidatorImpl.ts +221 -0
  276. package/src/client/managers/interfaces/ManagerInterfaces.ts +171 -0
  277. package/src/config/Config.ts +63 -0
  278. package/src/config/ConfigurationSchema.ts +17 -17
  279. package/src/config/ServerConfiguration.ts +18 -16
  280. package/src/config/index.ts +13 -0
  281. package/src/docs/DocumentationGenerator.ts +2 -2
  282. package/src/dxt-entry.ts +3 -3
  283. package/src/index.ts +43 -43
  284. package/src/performance/MetricsCollector.ts +15 -11
  285. package/src/security/AISecurityScanner.ts +7 -7
  286. package/src/security/AutomatedRemediation.ts +13 -11
  287. package/src/security/InputValidator.ts +10 -9
  288. package/src/security/SecurityCIPipeline.ts +494 -56
  289. package/src/security/SecurityConfigManager.ts +10 -10
  290. package/src/security/SecurityMonitoring.ts +5 -5
  291. package/src/security/SecurityReviewer.ts +13 -6
  292. package/src/security/index.ts +3 -3
  293. package/src/server/ConnectionTester.ts +5 -5
  294. package/src/server/ToolRegistry.ts +9 -8
  295. package/src/server/index.ts +10 -0
  296. package/src/tools/BaseToolManager.ts +55 -83
  297. package/src/tools/auth.ts +21 -12
  298. package/src/tools/comments.ts +23 -19
  299. package/src/tools/index.ts +1 -0
  300. package/src/tools/media.ts +23 -20
  301. package/src/tools/pages.ts +20 -13
  302. package/src/tools/performance.ts +101 -32
  303. package/src/tools/posts/PostHandlers.ts +23 -23
  304. package/src/tools/posts/PostToolDefinitions.ts +1 -1
  305. package/src/tools/posts/index.ts +2 -2
  306. package/src/tools/seo/BulkOperations.ts +557 -0
  307. package/src/tools/seo/SEOHandlers.ts +296 -0
  308. package/src/tools/seo/SEOToolDefinitions.ts +402 -0
  309. package/src/tools/seo/SEOTools.ts +871 -0
  310. package/src/tools/seo/analyzers/ContentAnalyzer.ts +493 -0
  311. package/src/tools/seo/auditors/SiteAuditor.ts +787 -0
  312. package/src/tools/seo/generators/MetaGenerator.ts +694 -0
  313. package/src/tools/seo/generators/SchemaGenerator.ts +955 -0
  314. package/src/tools/seo/index.ts +47 -0
  315. package/src/tools/seo/optimizers/InternalLinkingSuggester.ts +934 -0
  316. package/src/tools/site.ts +27 -26
  317. package/src/tools/taxonomies.ts +29 -25
  318. package/src/tools/users.ts +20 -13
  319. package/src/types/client.ts +8 -6
  320. package/src/types/seo.ts +546 -0
  321. package/src/utils/enhancedError.ts +1 -1
  322. package/src/utils/error.ts +1 -2
  323. package/src/utils/index.ts +23 -0
  324. package/src/utils/logger.ts +3 -3
  325. package/src/utils/toolWrapper.ts +10 -10
  326. package/src/utils/validation/core.ts +2 -2
  327. package/src/utils/validation/index.ts +2 -2
  328. package/src/utils/validation/network.ts +5 -5
  329. package/src/utils/validation/rateLimit.ts +1 -1
  330. package/src/utils/validation/security.ts +1 -1
  331. package/src/utils/validation/wordpress.ts +1 -1
  332. package/src/utils/version.ts +402 -0
  333. package/src/dxt-entry.cjs +0 -68
@@ -0,0 +1,318 @@
1
+ /**
2
+ * Version Management Utility
3
+ *
4
+ * Provides centralized version management following best practices:
5
+ * - Single source of truth (package.json)
6
+ * - Semantic versioning support
7
+ * - Build metadata integration
8
+ * - Version comparison utilities
9
+ */
10
+ import { readFile } from "fs/promises";
11
+ import { join } from "path";
12
+ import { fileURLToPath } from "url";
13
+ import { dirname } from "path";
14
+ /**
15
+ * Version Manager Class
16
+ * Singleton pattern for consistent version management
17
+ */
18
+ export class VersionManager {
19
+ static instance;
20
+ versionInfo = null;
21
+ packageJson = null;
22
+ isInitialized = false;
23
+ constructor() { }
24
+ /**
25
+ * Get singleton instance
26
+ */
27
+ static getInstance() {
28
+ if (!VersionManager.instance) {
29
+ VersionManager.instance = new VersionManager();
30
+ }
31
+ return VersionManager.instance;
32
+ }
33
+ /**
34
+ * Initialize version manager with async file loading
35
+ * Call this early in application startup for optimal performance
36
+ */
37
+ async initialize() {
38
+ if (this.isInitialized) {
39
+ return;
40
+ }
41
+ try {
42
+ this.packageJson = await this.loadPackageJson();
43
+ this.versionInfo = this.loadVersionFromPackage(this.packageJson);
44
+ this.isInitialized = true;
45
+ }
46
+ catch (_error) {
47
+ // Fall back to sync loading if async fails
48
+ this.packageJson = await this.loadPackageJson(); // This will use fallback
49
+ this.versionInfo = this.loadVersionFromPackage(this.packageJson);
50
+ this.isInitialized = true;
51
+ }
52
+ }
53
+ /**
54
+ * Get version information
55
+ * Uses cached version if available, loads synchronously with fallback if needed
56
+ */
57
+ getVersion() {
58
+ if (!this.versionInfo) {
59
+ // If not initialized, load synchronously with fallback
60
+ this.versionInfo = this.loadVersionSync();
61
+ }
62
+ return this.versionInfo;
63
+ }
64
+ /**
65
+ * Get package information
66
+ * Uses cached package if available, loads synchronously with fallback if needed
67
+ */
68
+ getPackageInfo() {
69
+ if (!this.packageJson) {
70
+ // Return fallback package info if not loaded
71
+ this.packageJson = {
72
+ name: "mcp-wordpress",
73
+ version: "2.7.0", // Fallback version
74
+ description: "MCP WordPress Server",
75
+ };
76
+ }
77
+ return this.packageJson;
78
+ }
79
+ /**
80
+ * Load version synchronously (with fallback)
81
+ * @deprecated Use initialize() followed by getVersion() for better performance
82
+ */
83
+ loadVersionSync() {
84
+ const pkg = this.getPackageInfo(); // Uses fallback if needed
85
+ return this.loadVersionFromPackage(pkg);
86
+ }
87
+ /**
88
+ * Load version from package data
89
+ */
90
+ loadVersionFromPackage(pkg) {
91
+ const parsed = this.parseSemanticVersion(pkg.version);
92
+ // Add build metadata if available
93
+ const buildMetadata = this.getBuildMetadata();
94
+ const result = {
95
+ ...parsed,
96
+ full: this.formatFullVersion(parsed, buildMetadata),
97
+ };
98
+ if (buildMetadata !== undefined) {
99
+ result.build = buildMetadata;
100
+ }
101
+ return result;
102
+ }
103
+ /**
104
+ * Load package.json
105
+ */
106
+ async loadPackageJson() {
107
+ try {
108
+ // Get the project root directory
109
+ const __filename = fileURLToPath(import.meta.url);
110
+ const __dirname = dirname(__filename);
111
+ const projectRoot = join(__dirname, "..", "..");
112
+ const packagePath = join(projectRoot, "package.json");
113
+ const packageContent = await readFile(packagePath, "utf-8");
114
+ return JSON.parse(packageContent);
115
+ }
116
+ catch (_error) {
117
+ // Fallback for runtime environments where package.json might not be available
118
+ // Note: Using fallback version - should match package.json
119
+ return {
120
+ name: "mcp-wordpress",
121
+ version: "2.7.0", // Fallback version - should match package.json
122
+ description: "MCP WordPress Server",
123
+ };
124
+ }
125
+ }
126
+ /**
127
+ * Parse semantic version string
128
+ * Supports format: major.minor.patch[-prerelease][+build]
129
+ */
130
+ parseSemanticVersion(version) {
131
+ // Regular expression for semantic versioning
132
+ const semverRegex = /^(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9.-]+))?(?:\+([a-zA-Z0-9.-]+))?$/;
133
+ const match = version.match(semverRegex);
134
+ if (!match) {
135
+ // Fallback for non-standard versions
136
+ return {
137
+ version,
138
+ major: 0,
139
+ minor: 0,
140
+ patch: 0,
141
+ };
142
+ }
143
+ const result = {
144
+ version: `${match[1]}.${match[2]}.${match[3]}`,
145
+ major: parseInt(match[1], 10),
146
+ minor: parseInt(match[2], 10),
147
+ patch: parseInt(match[3], 10),
148
+ };
149
+ if (match[4]) {
150
+ result.prerelease = match[4];
151
+ }
152
+ return result;
153
+ }
154
+ /**
155
+ * Get build metadata (git commit hash, timestamp, etc.)
156
+ */
157
+ getBuildMetadata() {
158
+ // In production, this could be injected during build process
159
+ // For now, we'll use environment variables if available
160
+ if (process.env.BUILD_NUMBER) {
161
+ return process.env.BUILD_NUMBER;
162
+ }
163
+ if (process.env.GIT_COMMIT) {
164
+ return process.env.GIT_COMMIT.substring(0, 7); // Short hash
165
+ }
166
+ // For development, optionally include timestamp
167
+ if (process.env.NODE_ENV === "development") {
168
+ return `dev.${Date.now()}`;
169
+ }
170
+ return undefined;
171
+ }
172
+ /**
173
+ * Format full version string with metadata
174
+ */
175
+ formatFullVersion(version, build) {
176
+ let full = version.version;
177
+ if (version.prerelease) {
178
+ full += `-${version.prerelease}`;
179
+ }
180
+ if (build) {
181
+ full += `+${build}`;
182
+ }
183
+ return full;
184
+ }
185
+ /**
186
+ * Compare two version strings
187
+ * Returns: -1 if v1 < v2, 0 if v1 = v2, 1 if v1 > v2
188
+ */
189
+ compareVersions(v1, v2) {
190
+ const version1 = this.parseSemanticVersion(v1);
191
+ const version2 = this.parseSemanticVersion(v2);
192
+ // Compare major
193
+ if (version1.major !== version2.major) {
194
+ return version1.major > version2.major ? 1 : -1;
195
+ }
196
+ // Compare minor
197
+ if (version1.minor !== version2.minor) {
198
+ return version1.minor > version2.minor ? 1 : -1;
199
+ }
200
+ // Compare patch
201
+ if (version1.patch !== version2.patch) {
202
+ return version1.patch > version2.patch ? 1 : -1;
203
+ }
204
+ // Compare prerelease (absence of prerelease is greater than presence)
205
+ if (version1.prerelease && !version2.prerelease)
206
+ return -1;
207
+ if (!version1.prerelease && version2.prerelease)
208
+ return 1;
209
+ if (version1.prerelease && version2.prerelease) {
210
+ return version1.prerelease.localeCompare(version2.prerelease);
211
+ }
212
+ return 0;
213
+ }
214
+ /**
215
+ * Check if version satisfies a requirement
216
+ */
217
+ satisfiesVersion(version, requirement) {
218
+ // Simple implementation - can be extended with full semver range support
219
+ if (requirement === "*")
220
+ return true;
221
+ if (requirement.startsWith("^")) {
222
+ // Caret range: compatible with version
223
+ const reqVersion = this.parseSemanticVersion(requirement.substring(1));
224
+ const curVersion = this.parseSemanticVersion(version);
225
+ return (curVersion.major === reqVersion.major &&
226
+ (curVersion.minor > reqVersion.minor ||
227
+ (curVersion.minor === reqVersion.minor && curVersion.patch >= reqVersion.patch)));
228
+ }
229
+ if (requirement.startsWith("~")) {
230
+ // Tilde range: patch-level changes
231
+ const reqVersion = this.parseSemanticVersion(requirement.substring(1));
232
+ const curVersion = this.parseSemanticVersion(version);
233
+ return (curVersion.major === reqVersion.major &&
234
+ curVersion.minor === reqVersion.minor &&
235
+ curVersion.patch >= reqVersion.patch);
236
+ }
237
+ // Exact match
238
+ return this.compareVersions(version, requirement) === 0;
239
+ }
240
+ /**
241
+ * Get user agent string for HTTP requests
242
+ */
243
+ getUserAgent() {
244
+ const info = this.getVersion();
245
+ const pkg = this.getPackageInfo();
246
+ return `${pkg.name}/${info.full}`;
247
+ }
248
+ /**
249
+ * Get version for display/logging
250
+ */
251
+ getDisplayVersion() {
252
+ const info = this.getVersion();
253
+ const pkg = this.getPackageInfo();
254
+ if (process.env.NODE_ENV === "development") {
255
+ return `${pkg.name} v${info.full} (development)`;
256
+ }
257
+ return `${pkg.name} v${info.version}`;
258
+ }
259
+ /**
260
+ * Check if running in development mode
261
+ */
262
+ isDevelopment() {
263
+ return process.env.NODE_ENV === "development";
264
+ }
265
+ /**
266
+ * Check if running a prerelease version
267
+ */
268
+ isPrerelease() {
269
+ const info = this.getVersion();
270
+ return !!info.prerelease;
271
+ }
272
+ /**
273
+ * Get version badge URL for documentation
274
+ */
275
+ getVersionBadgeUrl() {
276
+ const info = this.getVersion();
277
+ const color = info.prerelease ? "orange" : "blue";
278
+ return `https://img.shields.io/badge/version-${info.version}-${color}`;
279
+ }
280
+ }
281
+ /**
282
+ * Singleton instance export for convenience
283
+ */
284
+ export const versionManager = VersionManager.getInstance();
285
+ /**
286
+ * Quick access functions
287
+ */
288
+ export function getVersion() {
289
+ return versionManager.getVersion().version;
290
+ }
291
+ export function getFullVersion() {
292
+ return versionManager.getVersion().full;
293
+ }
294
+ export function getUserAgent() {
295
+ return versionManager.getUserAgent();
296
+ }
297
+ export function getDisplayVersion() {
298
+ return versionManager.getDisplayVersion();
299
+ }
300
+ /**
301
+ * Semantic version comparison
302
+ */
303
+ export function isVersionGreaterThan(v1, v2) {
304
+ return versionManager.compareVersions(v1, v2) > 0;
305
+ }
306
+ export function isVersionLessThan(v1, v2) {
307
+ return versionManager.compareVersions(v1, v2) < 0;
308
+ }
309
+ export function isVersionEqual(v1, v2) {
310
+ return versionManager.compareVersions(v1, v2) === 0;
311
+ }
312
+ /**
313
+ * Version requirement checking
314
+ */
315
+ export function satisfiesVersion(version, requirement) {
316
+ return versionManager.satisfiesVersion(version, requirement);
317
+ }
318
+ //# sourceMappingURL=version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "mcp-wordpress",
3
- "version": "2.6.3",
4
- "description": "Comprehensive Model Context Protocol server for WordPress management with 59 tools, performance monitoring, intelligent caching, auto-generated documentation, Docker support, TypeScript, and production-ready authentication - CI/CD test",
3
+ "version": "2.7.0",
4
+ "description": "Comprehensive Model Context Protocol server for WordPress management with composition-based architecture, 59 tools, SEO toolkit, performance monitoring, intelligent caching, and production-ready authentication",
5
5
  "keywords": [
6
6
  "mcp",
7
7
  "model-context-protocol",
@@ -39,41 +39,22 @@
39
39
  "LICENSE"
40
40
  ],
41
41
  "scripts": {
42
- "build": "tsc",
42
+ "build": "tsc && tsc-alias",
43
43
  "build:watch": "tsc --watch",
44
44
  "check:ci": "npm run typecheck && npm run lint && npm run test:coverage",
45
45
  "check:ignore": "node scripts/sync-ignore-files.js",
46
- "check:npm": "node scripts/test-npm-config.js",
47
- "check:workflows": "node scripts/validate-ci.cjs",
48
- "coverage:baseline": "node scripts/incremental-coverage-guardrail.js capture-baseline",
49
- "coverage:c8": "c8 --reporter=text --reporter=html --reporter=json npm test",
50
- "coverage:check": "node scripts/incremental-coverage-guardrail.js check-increment",
51
- "coverage:full": "npm run test:coverage || npm run coverage:report",
52
- "coverage:guard": "node scripts/coverage-guardrail.js",
53
- "coverage:report": "node scripts/generate-coverage-report.cjs",
54
- "coverage:strict": "COVERAGE_STRICT=true node scripts/coverage-guardrail.js",
55
46
  "dev": "npm run build && DEBUG=true node dist/index.js",
56
47
  "docker:build": "docker build -t docdyhr/mcp-wordpress:latest .",
57
48
  "docker:publish": "./scripts/manual-docker-publish.sh",
58
- "docker:publish:version": "./scripts/manual-docker-publish.sh",
59
- "docs:check": "node scripts/validate-docs.js",
60
49
  "docs:generate": "npm run build && node scripts/generate-docs.js",
61
50
  "docs:serve": "npm run docs:generate && node scripts/serve-docs.js",
62
51
  "docs:validate": "npm run docs:generate && node scripts/validate-docs.js",
63
52
  "docs:watch": "npm run docs:generate && echo 'Watching for changes...' && npm run docs:serve",
64
- "dxt:build": "node scripts/build-dxt.js",
65
53
  "dxt:clean": "rm -rf dxt-build mcp-wordpress.dxt minimal-dxt-build mcp-wordpress-minimal.dxt mcp-wordpress-official.dxt",
66
54
  "dxt:package": "npm run dxt:clean && npm run dxt:build",
67
55
  "dxt:package:official": "npm run build && node scripts/build-dxt-clean.cjs",
68
- "dxt:validate": "echo '✅ DXT package validation - Basic validation performed during build'",
69
56
  "eval": "npm run build && npx mcp-eval evaluations/config/wordpress-tools-eval.yaml dist/index.js",
70
- "eval:ci": "npm run build && npx mcp-eval evaluations/config/ci-eval.yaml dist/index.js",
71
- "eval:critical": "npm run build && npx mcp-eval evaluations/critical-tools.eval.ts dist/index.js",
72
- "eval:existing": "npm run build && npx mcp-eval evaluations/config/existing-sites-eval.yaml dist/index.js",
73
- "eval:focused": "npm run build && npx mcp-eval evaluations/config/focused-eval.yaml dist/index.js",
74
- "eval:quick": "npm run build && npx mcp-eval evaluations/config/simple-test.yaml dist/index.js",
75
57
  "eval:report": "node evaluations/scripts/generate-report.js",
76
- "eval:watch": "nodemon --watch src --exec 'npm run build && npm run eval:quick'",
77
58
  "fix:rest-auth": "bash scripts/fix-rest-api-auth.sh",
78
59
  "format": "prettier --write *.md docs/**/*.md src/**/*.ts tests/**/*.ts",
79
60
  "format:check": "prettier --check *.md docs/**/*.md src/**/*.ts tests/**/*.ts",
@@ -82,56 +63,38 @@
82
63
  "lint:fix": "eslint src/ tests/ --fix",
83
64
  "lint:md": "markdownlint *.md docs/**/*.md",
84
65
  "lint:md:fix": "markdownlint *.md docs/**/*.md --fix",
85
- "performance:benchmark": "node scripts/performance-benchmarks.cjs",
86
- "performance:sla": "npm run performance:benchmark && echo 'Performance SLA validation complete'",
87
66
  "pre-commit": "lint-staged",
88
67
  "prepare": "husky",
89
68
  "prepublishOnly": "npm run build && npm run check:ignore",
90
69
  "release": "semantic-release",
91
70
  "release:dry": "semantic-release --dry-run",
92
- "release:test": "bash scripts/test-release.sh",
93
71
  "security:audit": "npm audit --production",
94
- "security:check": "node scripts/security-check.js",
95
- "security:config": "npm run build && node -e \"require('./dist/security/SecurityConfigManager.js').SecurityConfigManager\"",
96
72
  "security:fix": "npm audit fix",
97
- "security:full": "npm run security:scan && npm run security:review && npm run security:monitor && npm run test:security && npm run security:test",
98
- "security:monitor": "npm run build && node -e \"require('./dist/security/SecurityMonitoring.js').SecurityMonitor\"",
99
- "security:pipeline": "npm run build && node -e \"require('./dist/security/SecurityCIPipeline.js').SecurityCIPipeline\"",
100
- "security:remediate": "npm run build && node -e \"require('./dist/security/AutomatedRemediation.js').AutomatedRemediation\"",
101
- "security:review": "npm run build && node -e \"require('./dist/security/SecurityReviewer.js').SecurityReviewer\"",
73
+ "security:full": "npm run security:scan && npm run security:review && npm run security:monitor && npm run test:security",
102
74
  "security:scan": "npm run build && node scripts/security-demo.js || npm audit --audit-level=low",
103
- "security:test": "node scripts/security-test.js",
104
75
  "setup": "node bin/setup.js",
105
76
  "start": "npm run build && node dist/index.js",
106
77
  "status": "node bin/status.js",
107
- "test": "npm run build && vitest run",
78
+ "test": "npm run test:batch",
108
79
  "test:auth": "node scripts/test-auth.js",
109
- "test:cache": "npm run build && vitest run tests/cache/",
110
- "test:ci": "npm run build && CI=true vitest run",
111
- "test:compatibility": "echo '✅ Live compatibility tests bypassed - focusing on coverage collection and badge generation'",
80
+ "test:batch": "npm run test:batch:1 && npm run test:batch:2 && npm run test:batch:3 && npm run test:batch:4",
81
+ "test:batch:1": "npm run build && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/security/ tests/cache/ tests/server/",
82
+ "test:batch:2": "npm run build && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/client/ tests/config/ tests/utils/",
83
+ "test:batch:3": "npm run build && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/tools/ tests/performance/",
84
+ "test:batch:4": "npm run build && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/*.test.js tests/docs/",
85
+ "test:ci": "npm run build && CI=true NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run",
112
86
  "test:config": "npm run build && vitest run tests/config/",
113
- "test:contracts": "npm run test:compatibility",
114
- "test:coverage": "npm run build && vitest run --coverage",
115
- "test:coverage:baseline": "npm run build && vitest run --coverage",
116
- "test:coverage:ci": "npm run build && vitest run --coverage --silent",
87
+ "test:coverage": "npm run build && NODE_OPTIONS=\"--max-old-space-size=6144\" vitest run --coverage",
117
88
  "test:coverage:report": "npm run test:coverage && node scripts/coverage-guardrail.js",
118
- "test:fast": "npm run test:typescript",
119
- "test:integration": "node scripts/test-integration.js",
120
- "test:legacy": "npm run build && vitest run",
121
- "test:mcp": "node scripts/test-mcp.js",
122
- "test:multisite": "node scripts/test-multisite-quick.js",
89
+ "test:memory-config": "npm run build && NODE_OPTIONS=\"--max-old-space-size=6144\" vitest run --config vitest.memory-safe.config.ts",
90
+ "test:memory-safe": "npm run build && NODE_OPTIONS=\"--max-old-space-size=6144 --max-semi-space-size=256\" vitest run --no-coverage --reporter=basic",
123
91
  "test:performance": "npm run build && vitest run tests/performance/",
124
- "test:performance:ci": "npm run build && vitest run tests/performance/ --exclude=\"**/regression-detection.test.js\"",
125
- "test:property": "npm run build && vitest run tests/property/",
92
+ "test:safe": "node scripts/run-tests-safe.cjs",
126
93
  "test:security": "npm run build && vitest run tests/security/",
127
- "test:security:penetration": "npm run build && vitest run tests/security/penetration-tests.test.js",
128
- "test:security:validation": "npm run build && vitest run tests/security/security-validation.test.js",
129
94
  "test:tools": "node scripts/test-all-tools-fixed.js",
130
- "test:typescript": "npm run build && vitest run",
95
+ "test:typescript": "npm run build && npm run typecheck",
131
96
  "test:ui": "npm run build && vitest --ui",
132
97
  "test:watch": "vitest",
133
- "test:weekly": "npm run test:compatibility",
134
- "test:with-env": "bash scripts/start-test-env.sh && npm run test:typescript",
135
98
  "typecheck": "tsc --noEmit",
136
99
  "verify-claude": "node scripts/verify-claude-integration.js"
137
100
  },
@@ -158,7 +121,7 @@
158
121
  "@modelcontextprotocol/sdk": "^1.17.4",
159
122
  "dotenv": "^17.2.1",
160
123
  "form-data": "^4.0.4",
161
- "zod": "^3.25.76"
124
+ "zod": "^4.1.3"
162
125
  },
163
126
  "devDependencies": {
164
127
  "@eslint/js": "^9.34.0",
@@ -166,7 +129,7 @@
166
129
  "@pact-foundation/pact-node": "^10.18.0",
167
130
  "@semantic-release/changelog": "^6.0.3",
168
131
  "@semantic-release/git": "^10.0.1",
169
- "@types/node": "^20.19.11",
132
+ "@types/node": "^24.3.0",
170
133
  "@typescript-eslint/eslint-plugin": "^8.40.0",
171
134
  "@typescript-eslint/parser": "^8.40.0",
172
135
  "@vitest/coverage-v8": "^3.2.4",
@@ -178,18 +141,21 @@
178
141
  "eslint-config-prettier": "^10.1.8",
179
142
  "eslint-plugin-node": "^11.1.0",
180
143
  "fast-check": "^4.2.0",
181
- "fs-extra": "^11.3.0",
144
+ "fs-extra": "^11.3.1",
182
145
  "husky": "^9.1.7",
183
- "lint-staged": "^16.1.4",
146
+ "lint-staged": "^16.1.5",
184
147
  "markdownlint-cli": "^0.45.0",
185
148
  "mcp-evals": "^2.0.1",
186
- "nock": "^14.0.8",
149
+ "nock": "^14.0.10",
187
150
  "node-fetch": "^3.3.2",
188
151
  "open": "^10.2.0",
189
152
  "prettier": "^3.6.2",
190
153
  "semantic-release": "^24.2.7",
191
154
  "sort-package-json": "^3.4.0",
155
+ "tsc-alias": "^1.8.16",
156
+ "tsconfig-paths": "^4.2.0",
192
157
  "typescript": "^5.9.2",
158
+ "vite-tsconfig-paths": "^5.1.4",
193
159
  "vitest": "^3.2.4"
194
160
  },
195
161
  "engines": {