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,23 @@
1
+ /**
2
+ * Composed Managers Export
3
+ *
4
+ * This module provides composition-based alternatives to the inheritance-based managers.
5
+ * The composed managers offer better testability, flexibility, and adherence to SOLID principles.
6
+ *
7
+ * Usage:
8
+ * ```typescript
9
+ * import { createComposedWordPressClient } from '../../managers/composed';
10
+ *
11
+ * const client = await createComposedWordPressClient(config);
12
+ * const posts = await client.getPosts();
13
+ * ```
14
+ */
15
+ export type { ConfigurationProvider, ErrorHandler, ParameterValidator, AuthenticationProvider, RequestHandler, BaseManagerContract, ComposedManager, ManagerFactory, ManagerCompositionConfig } from "../interfaces/ManagerInterfaces.js";
16
+ export { ConfigurationProviderImpl } from "../implementations/ConfigurationProviderImpl.js";
17
+ export { ErrorHandlerImpl } from "../implementations/ErrorHandlerImpl.js";
18
+ export { ParameterValidatorImpl } from "../implementations/ParameterValidatorImpl.js";
19
+ export { ComposedAuthenticationManager } from "../ComposedAuthenticationManager.js";
20
+ export { ComposedRequestManager } from "../ComposedRequestManager.js";
21
+ export { ComposedManagerFactory, ComposedWordPressClient, createComposedWordPressClient, type ComposedWordPressClientDependencies } from "../ComposedManagerFactory.js";
22
+ export { MigrationAdapter } from "./MigrationAdapter.js";
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/client/managers/composed/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAGH,YAAY,EACV,qBAAqB,EACrB,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,EACtB,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,cAAc,EACd,wBAAwB,EACzB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAGtF,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAGtE,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAC7B,KAAK,mCAAmC,EACzC,MAAM,8BAA8B,CAAC;AAGtC,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * Composed Managers Export
3
+ *
4
+ * This module provides composition-based alternatives to the inheritance-based managers.
5
+ * The composed managers offer better testability, flexibility, and adherence to SOLID principles.
6
+ *
7
+ * Usage:
8
+ * ```typescript
9
+ * import { createComposedWordPressClient } from '../../managers/composed';
10
+ *
11
+ * const client = await createComposedWordPressClient(config);
12
+ * const posts = await client.getPosts();
13
+ * ```
14
+ */
15
+ // Implementations
16
+ export { ConfigurationProviderImpl } from "../implementations/ConfigurationProviderImpl.js";
17
+ export { ErrorHandlerImpl } from "../implementations/ErrorHandlerImpl.js";
18
+ export { ParameterValidatorImpl } from "../implementations/ParameterValidatorImpl.js";
19
+ // Composed Managers
20
+ export { ComposedAuthenticationManager } from "../ComposedAuthenticationManager.js";
21
+ export { ComposedRequestManager } from "../ComposedRequestManager.js";
22
+ // Factory and Client
23
+ export { ComposedManagerFactory, ComposedWordPressClient, createComposedWordPressClient } from "../ComposedManagerFactory.js";
24
+ // Migration utilities (for gradual migration from inheritance to composition)
25
+ export { MigrationAdapter } from "./MigrationAdapter.js";
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/client/managers/composed/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAeH,kBAAkB;AAClB,OAAO,EAAE,yBAAyB,EAAE,MAAM,iDAAiD,CAAC;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,wCAAwC,CAAC;AAC1E,OAAO,EAAE,sBAAsB,EAAE,MAAM,8CAA8C,CAAC;AAEtF,oBAAoB;AACpB,OAAO,EAAE,6BAA6B,EAAE,MAAM,qCAAqC,CAAC;AACpF,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAEtE,qBAAqB;AACrB,OAAO,EACL,sBAAsB,EACtB,uBAAuB,EACvB,6BAA6B,EAE9B,MAAM,8BAA8B,CAAC;AAEtC,8EAA8E;AAC9E,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Configuration Provider Implementation
3
+ * Provides centralized configuration management for managers
4
+ */
5
+ import type { WordPressClientConfig } from "../../../types/client.js";
6
+ import type { ConfigurationProvider } from "../interfaces/ManagerInterfaces.js";
7
+ export declare class ConfigurationProviderImpl implements ConfigurationProvider {
8
+ readonly config: WordPressClientConfig;
9
+ constructor(config: WordPressClientConfig);
10
+ /**
11
+ * Get configuration value by path (dot notation)
12
+ */
13
+ getConfigValue<T = unknown>(path: string, defaultValue?: T): T | undefined;
14
+ /**
15
+ * Validate configuration completeness
16
+ */
17
+ validateConfiguration(): void;
18
+ /**
19
+ * Get timeout value with fallbacks
20
+ */
21
+ getTimeout(): number;
22
+ /**
23
+ * Check if debug mode is enabled
24
+ */
25
+ isDebugEnabled(): boolean;
26
+ }
27
+ //# sourceMappingURL=ConfigurationProviderImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurationProviderImpl.d.ts","sourceRoot":"","sources":["../../../../src/client/managers/implementations/ConfigurationProviderImpl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAEhF,qBAAa,yBAA0B,YAAW,qBAAqB;IACrE,SAAgB,MAAM,EAAE,qBAAqB,CAAC;gBAElC,MAAM,EAAE,qBAAqB;IAKzC;;OAEG;IACH,cAAc,CAAC,CAAC,GAAG,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAO1E;;OAEG;IACH,qBAAqB,IAAI,IAAI;IAS7B;;OAEG;IACH,UAAU,IAAI,MAAM;IAIpB;;OAEG;IACH,cAAc,IAAI,OAAO;CAG1B"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Configuration Provider Implementation
3
+ * Provides centralized configuration management for managers
4
+ */
5
+ export class ConfigurationProviderImpl {
6
+ config;
7
+ constructor(config) {
8
+ // Create defensive copy to prevent external mutation
9
+ this.config = Object.freeze({ ...config });
10
+ }
11
+ /**
12
+ * Get configuration value by path (dot notation)
13
+ */
14
+ getConfigValue(path, defaultValue) {
15
+ return (path.split(".").reduce((obj, key) => obj?.[key], this.config) ??
16
+ defaultValue);
17
+ }
18
+ /**
19
+ * Validate configuration completeness
20
+ */
21
+ validateConfiguration() {
22
+ const required = ["baseUrl", "auth"];
23
+ const missing = required.filter((field) => !this.config[field]);
24
+ if (missing.length > 0) {
25
+ throw new Error(`Missing required configuration: ${missing.join(", ")}`);
26
+ }
27
+ }
28
+ /**
29
+ * Get timeout value with fallbacks
30
+ */
31
+ getTimeout() {
32
+ return this.config.timeout || 30000;
33
+ }
34
+ /**
35
+ * Check if debug mode is enabled
36
+ */
37
+ isDebugEnabled() {
38
+ return Boolean(this.config.debug);
39
+ }
40
+ }
41
+ //# sourceMappingURL=ConfigurationProviderImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConfigurationProviderImpl.js","sourceRoot":"","sources":["../../../../src/client/managers/implementations/ConfigurationProviderImpl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,OAAO,yBAAyB;IACpB,MAAM,CAAwB;IAE9C,YAAY,MAA6B;QACvC,qDAAqD;QACrD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,cAAc,CAAc,IAAY,EAAE,YAAgB;QACxD,OAAO,CACJ,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAE,GAA+B,EAAE,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,MAAiB,CAAO;YAC5G,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,qBAAqB;QACnB,MAAM,QAAQ,GAAG,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,KAAoC,CAAC,CAAC,CAAC;QAE/F,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,mCAAmC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3E,CAAC;IACH,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,KAAK,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,OAAO,OAAO,CAAE,IAAI,CAAC,MAA6C,CAAC,KAAK,CAAC,CAAC;IAC5E,CAAC;CACF"}
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Error Handler Implementation
3
+ * Provides standardized error handling and logging for managers
4
+ */
5
+ import { WordPressAPIError } from "../../../types/client.js";
6
+ import type { ErrorHandler, ConfigurationProvider } from "../interfaces/ManagerInterfaces.js";
7
+ export declare class ErrorHandlerImpl implements ErrorHandler {
8
+ private configProvider;
9
+ constructor(configProvider: ConfigurationProvider);
10
+ /**
11
+ * Handle and transform errors with context
12
+ */
13
+ handleError(error: unknown, operation: string): never;
14
+ /**
15
+ * Log successful operations
16
+ */
17
+ logSuccess(operation: string, details?: unknown): void;
18
+ /**
19
+ * Handle authentication errors specifically
20
+ */
21
+ handleAuthError(error: unknown, operation: string): never;
22
+ /**
23
+ * Handle rate limit errors specifically
24
+ */
25
+ handleRateLimitError(retryAfter?: number): never;
26
+ /**
27
+ * Create context-aware error
28
+ */
29
+ createContextualError(baseError: unknown, context: Record<string, unknown>): WordPressAPIError;
30
+ }
31
+ //# sourceMappingURL=ErrorHandlerImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorHandlerImpl.d.ts","sourceRoot":"","sources":["../../../../src/client/managers/implementations/ErrorHandlerImpl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,OAAO,KAAK,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE9F,qBAAa,gBAAiB,YAAW,YAAY;IACvC,OAAO,CAAC,cAAc;gBAAd,cAAc,EAAE,qBAAqB;IAEzD;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK;IAkCrD;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,GAAG,IAAI;IAItD;;OAEG;IACH,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK;IAezD;;OAEG;IACH,oBAAoB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,KAAK;IAQhD;;OAEG;IACH,qBAAqB,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,iBAAiB;CAY/F"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Error Handler Implementation
3
+ * Provides standardized error handling and logging for managers
4
+ */
5
+ import { WordPressAPIError } from "../../../types/client.js";
6
+ import { debug, logError } from "../../../utils/debug.js";
7
+ import { getErrorMessage } from "../../../utils/error.js";
8
+ export class ErrorHandlerImpl {
9
+ configProvider;
10
+ constructor(configProvider) {
11
+ this.configProvider = configProvider;
12
+ }
13
+ /**
14
+ * Handle and transform errors with context
15
+ */
16
+ handleError(error, operation) {
17
+ logError(`${operation} failed:`, error);
18
+ if (error instanceof WordPressAPIError) {
19
+ throw error;
20
+ }
21
+ // Type guard for error-like objects
22
+ const isErrorLike = (err) => {
23
+ return typeof err === "object" && err !== null;
24
+ };
25
+ if (isErrorLike(error)) {
26
+ if (error.name === "AbortError" || error.code === "ABORT_ERR") {
27
+ throw new WordPressAPIError(`Request timeout after ${this.configProvider.config.timeout}ms`, 408, "timeout");
28
+ }
29
+ if (error.code === "ECONNREFUSED" || error.code === "ENOTFOUND") {
30
+ throw new WordPressAPIError(`Cannot connect to WordPress site: ${this.configProvider.config.baseUrl}`, 503, "connection_failed");
31
+ }
32
+ }
33
+ const message = getErrorMessage(error);
34
+ throw new WordPressAPIError(`${operation} failed: ${message}`, 500, "unknown_error");
35
+ }
36
+ /**
37
+ * Log successful operations
38
+ */
39
+ logSuccess(operation, details) {
40
+ debug.log(`${operation} completed successfully`, details);
41
+ }
42
+ /**
43
+ * Handle authentication errors specifically
44
+ */
45
+ handleAuthError(error, operation) {
46
+ logError(`Authentication failed during ${operation}:`, error);
47
+ if (error instanceof WordPressAPIError) {
48
+ throw error;
49
+ }
50
+ const message = getErrorMessage(error);
51
+ throw new WordPressAPIError(`Authentication failed during ${operation}: ${message}`, 401, "auth_failed");
52
+ }
53
+ /**
54
+ * Handle rate limit errors specifically
55
+ */
56
+ handleRateLimitError(retryAfter) {
57
+ const message = retryAfter
58
+ ? `Rate limit exceeded. Retry after ${retryAfter} seconds.`
59
+ : "Rate limit exceeded.";
60
+ throw new WordPressAPIError(message, 429, "rate_limited");
61
+ }
62
+ /**
63
+ * Create context-aware error
64
+ */
65
+ createContextualError(baseError, context) {
66
+ const message = getErrorMessage(baseError);
67
+ const contextString = Object.entries(context)
68
+ .map(([key, value]) => `${key}=${String(value)}`)
69
+ .join(', ');
70
+ return new WordPressAPIError(`${message} (Context: ${contextString})`, 500, "contextual_error");
71
+ }
72
+ }
73
+ //# sourceMappingURL=ErrorHandlerImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ErrorHandlerImpl.js","sourceRoot":"","sources":["../../../../src/client/managers/implementations/ErrorHandlerImpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Parameter Validator Implementation
3
+ * Provides comprehensive parameter validation for managers
4
+ */
5
+ import type { ParameterValidator } from "../interfaces/ManagerInterfaces.js";
6
+ export declare class ParameterValidatorImpl implements ParameterValidator {
7
+ /**
8
+ * Validate required parameters are present
9
+ */
10
+ validateRequired(params: Record<string, unknown>, requiredFields: string[]): void;
11
+ /**
12
+ * Validate parameter types and formats
13
+ */
14
+ validateParameters<T>(params: unknown, schema?: unknown): T;
15
+ /**
16
+ * Validate string parameters
17
+ */
18
+ validateString(value: unknown, fieldName: string, options?: {
19
+ required?: boolean;
20
+ minLength?: number;
21
+ maxLength?: number;
22
+ pattern?: RegExp;
23
+ }): string;
24
+ /**
25
+ * Validate numeric parameters
26
+ */
27
+ validateNumber(value: unknown, fieldName: string, options?: {
28
+ required?: boolean;
29
+ min?: number;
30
+ max?: number;
31
+ integer?: boolean;
32
+ }): number;
33
+ /**
34
+ * Validate array parameters
35
+ */
36
+ validateArray<T>(value: unknown, fieldName: string, options?: {
37
+ required?: boolean;
38
+ minLength?: number;
39
+ maxLength?: number;
40
+ itemValidator?: (item: unknown) => T;
41
+ }): T[];
42
+ /**
43
+ * Validate WordPress ID parameters
44
+ */
45
+ validateWordPressId(value: unknown, fieldName?: string): number;
46
+ }
47
+ //# sourceMappingURL=ParameterValidatorImpl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParameterValidatorImpl.d.ts","sourceRoot":"","sources":["../../../../src/client/managers/implementations/ParameterValidatorImpl.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAE7E,qBAAa,sBAAuB,YAAW,kBAAkB;IAC/D;;OAEG;IACH,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;IAQjF;;OAEG;IACH,kBAAkB,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,CAAC;IAkB3D;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,GAAG,MAAM;IAwCV;;OAEG;IACH,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC1D,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,GAAG,MAAM;IAsCV;;OAEG;IACH,aAAa,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE;QAC5D,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,CAAC,CAAC;KACtC,GAAG,CAAC,EAAE;IAyDP;;OAEG;IACH,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,SAAS,GAAE,MAAa,GAAG,MAAM;CAStE"}
@@ -0,0 +1,141 @@
1
+ /**
2
+ * Parameter Validator Implementation
3
+ * Provides comprehensive parameter validation for managers
4
+ */
5
+ import { WordPressAPIError } from "../../../types/client.js";
6
+ export class ParameterValidatorImpl {
7
+ /**
8
+ * Validate required parameters are present
9
+ */
10
+ validateRequired(params, requiredFields) {
11
+ for (const field of requiredFields) {
12
+ if (params[field] === undefined || params[field] === null) {
13
+ throw new WordPressAPIError(`Missing required parameter: ${field}`, 400, "missing_parameter");
14
+ }
15
+ }
16
+ }
17
+ /**
18
+ * Validate parameter types and formats
19
+ */
20
+ validateParameters(params, schema) {
21
+ if (params === null || params === undefined) {
22
+ throw new WordPressAPIError("Parameters cannot be null or undefined", 400, "invalid_parameters");
23
+ }
24
+ // If no schema provided, return params as-is with type assertion
25
+ if (!schema) {
26
+ return params;
27
+ }
28
+ // Basic runtime validation (can be extended with schema validation libraries)
29
+ if (typeof params !== "object") {
30
+ throw new WordPressAPIError("Parameters must be an object", 400, "invalid_parameters");
31
+ }
32
+ return params;
33
+ }
34
+ /**
35
+ * Validate string parameters
36
+ */
37
+ validateString(value, fieldName, options) {
38
+ if (options?.required && (value === undefined || value === null || value === "")) {
39
+ throw new WordPressAPIError(`${fieldName} is required`, 400, "missing_parameter");
40
+ }
41
+ if (value === undefined || value === null) {
42
+ return "";
43
+ }
44
+ if (typeof value !== "string") {
45
+ throw new WordPressAPIError(`${fieldName} must be a string`, 400, "invalid_parameter_type");
46
+ }
47
+ if (options?.minLength && value.length < options.minLength) {
48
+ throw new WordPressAPIError(`${fieldName} must be at least ${options.minLength} characters`, 400, "parameter_too_short");
49
+ }
50
+ if (options?.maxLength && value.length > options.maxLength) {
51
+ throw new WordPressAPIError(`${fieldName} must be no more than ${options.maxLength} characters`, 400, "parameter_too_long");
52
+ }
53
+ if (options?.pattern && !options.pattern.test(value)) {
54
+ throw new WordPressAPIError(`${fieldName} format is invalid`, 400, "invalid_parameter_format");
55
+ }
56
+ return value;
57
+ }
58
+ /**
59
+ * Validate numeric parameters
60
+ */
61
+ validateNumber(value, fieldName, options) {
62
+ if (options?.required && (value === undefined || value === null)) {
63
+ throw new WordPressAPIError(`${fieldName} is required`, 400, "missing_parameter");
64
+ }
65
+ if (value === undefined || value === null) {
66
+ return 0;
67
+ }
68
+ const numValue = typeof value === "string" ? parseFloat(value) : Number(value);
69
+ if (isNaN(numValue)) {
70
+ throw new WordPressAPIError(`${fieldName} must be a valid number`, 400, "invalid_parameter_type");
71
+ }
72
+ if (options?.integer && !Number.isInteger(numValue)) {
73
+ throw new WordPressAPIError(`${fieldName} must be an integer`, 400, "invalid_parameter_type");
74
+ }
75
+ if (options?.min !== undefined && numValue < options.min) {
76
+ throw new WordPressAPIError(`${fieldName} must be at least ${options.min}`, 400, "parameter_too_small");
77
+ }
78
+ if (options?.max !== undefined && numValue > options.max) {
79
+ throw new WordPressAPIError(`${fieldName} must be no more than ${options.max}`, 400, "parameter_too_large");
80
+ }
81
+ return numValue;
82
+ }
83
+ /**
84
+ * Validate array parameters
85
+ */
86
+ validateArray(value, fieldName, options) {
87
+ if (options?.required && (value === undefined || value === null)) {
88
+ throw new WordPressAPIError(`${fieldName} is required`, 400, "missing_parameter");
89
+ }
90
+ if (value === undefined || value === null) {
91
+ return [];
92
+ }
93
+ if (!Array.isArray(value)) {
94
+ throw new WordPressAPIError(`${fieldName} must be an array`, 400, "invalid_parameter_type");
95
+ }
96
+ if (options?.minLength && value.length < options.minLength) {
97
+ throw new WordPressAPIError(`${fieldName} must contain at least ${options.minLength} items`, 400, "array_too_short");
98
+ }
99
+ if (options?.maxLength && value.length > options.maxLength) {
100
+ throw new WordPressAPIError(`${fieldName} must contain no more than ${options.maxLength} items`, 400, "array_too_long");
101
+ }
102
+ if (options?.itemValidator) {
103
+ try {
104
+ return value.map((item, index) => {
105
+ try {
106
+ return options.itemValidator(item);
107
+ }
108
+ catch (error) {
109
+ throw new WordPressAPIError(`${fieldName}[${index}] validation failed: ${getErrorMessage(error)}`, 400, "array_item_invalid");
110
+ }
111
+ });
112
+ }
113
+ catch (error) {
114
+ if (error instanceof WordPressAPIError) {
115
+ throw error;
116
+ }
117
+ throw new WordPressAPIError(`${fieldName} validation failed: ${getErrorMessage(error)}`, 400, "array_validation_failed");
118
+ }
119
+ }
120
+ return value;
121
+ }
122
+ /**
123
+ * Validate WordPress ID parameters
124
+ */
125
+ validateWordPressId(value, fieldName = "id") {
126
+ const id = this.validateNumber(value, fieldName, {
127
+ required: true,
128
+ min: 1,
129
+ integer: true
130
+ });
131
+ return id;
132
+ }
133
+ }
134
+ // Helper function to get error message
135
+ function getErrorMessage(error) {
136
+ if (error instanceof Error) {
137
+ return error.message;
138
+ }
139
+ return String(error);
140
+ }
141
+ //# sourceMappingURL=ParameterValidatorImpl.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParameterValidatorImpl.js","sourceRoot":"","sources":["../../../../src/client/managers/implementations/ParameterValidatorImpl.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * Manager Interface Definitions
3
+ * Defines contracts for manager behaviors to enable composition over inheritance
4
+ */
5
+ import type { WordPressClientConfig } from "../../../types/client.js";
6
+ /**
7
+ * Core configuration management interface
8
+ */
9
+ export interface ConfigurationProvider {
10
+ readonly config: WordPressClientConfig;
11
+ /**
12
+ * Get configuration value by path
13
+ */
14
+ getConfigValue<T>(path: string, defaultValue?: T): T | undefined;
15
+ }
16
+ /**
17
+ * Error handling interface for managers
18
+ */
19
+ export interface ErrorHandler {
20
+ /**
21
+ * Handle and transform errors with context
22
+ */
23
+ handleError(error: unknown, operation: string): never;
24
+ /**
25
+ * Log successful operations
26
+ */
27
+ logSuccess(operation: string, details?: unknown): void;
28
+ }
29
+ /**
30
+ * Parameter validation interface
31
+ */
32
+ export interface ParameterValidator {
33
+ /**
34
+ * Validate required parameters are present
35
+ */
36
+ validateRequired(params: Record<string, unknown>, requiredFields: string[]): void;
37
+ /**
38
+ * Validate parameter types and formats
39
+ */
40
+ validateParameters<T>(params: unknown, schema?: unknown): T;
41
+ /**
42
+ * Validate string parameters
43
+ */
44
+ validateString(value: unknown, fieldName: string, options?: {
45
+ required?: boolean;
46
+ minLength?: number;
47
+ maxLength?: number;
48
+ pattern?: RegExp;
49
+ }): string;
50
+ /**
51
+ * Validate WordPress ID parameters
52
+ */
53
+ validateWordPressId(value: unknown, fieldName?: string): number;
54
+ }
55
+ /**
56
+ * Base manager contract combining common behaviors
57
+ */
58
+ export interface BaseManagerContract extends ConfigurationProvider, ErrorHandler, ParameterValidator {
59
+ }
60
+ /**
61
+ * Request management interface
62
+ */
63
+ export interface RequestHandler {
64
+ /**
65
+ * Execute HTTP request with full request lifecycle management
66
+ */
67
+ request<T>(method: string, endpoint: string, data?: unknown, options?: unknown): Promise<T>;
68
+ /**
69
+ * Get request statistics
70
+ */
71
+ getStats(): unknown;
72
+ /**
73
+ * Reset statistics
74
+ */
75
+ resetStats(): void;
76
+ }
77
+ /**
78
+ * Authentication management interface
79
+ */
80
+ export interface AuthenticationProvider {
81
+ /**
82
+ * Authenticate with the configured method
83
+ */
84
+ authenticate(): Promise<boolean>;
85
+ /**
86
+ * Check if currently authenticated
87
+ */
88
+ isAuthenticated(): boolean;
89
+ /**
90
+ * Get authentication headers for requests
91
+ */
92
+ getAuthHeaders(): Record<string, string>;
93
+ /**
94
+ * Handle authentication failure
95
+ */
96
+ handleAuthFailure(error: unknown): Promise<boolean>;
97
+ }
98
+ /**
99
+ * Manager factory interface for dependency injection
100
+ */
101
+ export interface ManagerFactory {
102
+ /**
103
+ * Create configuration provider
104
+ */
105
+ createConfigurationProvider(config: WordPressClientConfig): ConfigurationProvider;
106
+ /**
107
+ * Create error handler
108
+ */
109
+ createErrorHandler(config: WordPressClientConfig): ErrorHandler;
110
+ /**
111
+ * Create parameter validator
112
+ */
113
+ createParameterValidator(): ParameterValidator;
114
+ /**
115
+ * Create request handler
116
+ */
117
+ createRequestHandler(config: WordPressClientConfig, authProvider: AuthenticationProvider): RequestHandler;
118
+ /**
119
+ * Create authentication provider
120
+ */
121
+ createAuthenticationProvider(config: WordPressClientConfig): AuthenticationProvider;
122
+ }
123
+ /**
124
+ * Configuration for manager composition
125
+ */
126
+ export interface ManagerCompositionConfig {
127
+ /** WordPress client configuration */
128
+ clientConfig: WordPressClientConfig;
129
+ /** Optional custom implementations */
130
+ customErrorHandler?: ErrorHandler;
131
+ customValidator?: ParameterValidator;
132
+ customAuthProvider?: AuthenticationProvider;
133
+ }
134
+ /**
135
+ * Composed manager that uses composition instead of inheritance
136
+ */
137
+ export interface ComposedManager extends BaseManagerContract, RequestHandler, AuthenticationProvider {
138
+ /**
139
+ * Initialize the composed manager
140
+ */
141
+ initialize(): Promise<void>;
142
+ /**
143
+ * Cleanup resources
144
+ */
145
+ dispose(): void;
146
+ }
147
+ //# sourceMappingURL=ManagerInterfaces.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagerInterfaces.d.ts","sourceRoot":"","sources":["../../../../src/client/managers/interfaces/ManagerInterfaces.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Manager Interface Definitions
3
+ * Defines contracts for manager behaviors to enable composition over inheritance
4
+ */
5
+ export {};
6
+ //# sourceMappingURL=ManagerInterfaces.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ManagerInterfaces.js","sourceRoot":"","sources":["../../../../src/client/managers/interfaces/ManagerInterfaces.ts"],"names":[],"mappings":"AAAA;;;GAGG"}