mcp-wordpress 2.11.13 → 3.0.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 (247) hide show
  1. package/README.md +14 -29
  2. package/dist/cache/CacheInvalidation.js.map +1 -1
  3. package/dist/cache/CacheManager.d.ts +7 -0
  4. package/dist/cache/CacheManager.d.ts.map +1 -1
  5. package/dist/cache/CacheManager.js +21 -7
  6. package/dist/cache/CacheManager.js.map +1 -1
  7. package/dist/cache/HttpCacheWrapper.js.map +1 -1
  8. package/dist/cache/SEOCacheManager.d.ts.map +1 -1
  9. package/dist/cache/SEOCacheManager.js +6 -1
  10. package/dist/cache/SEOCacheManager.js.map +1 -1
  11. package/dist/cache/index.d.ts.map +1 -1
  12. package/dist/cache/index.js.map +1 -1
  13. package/dist/client/CachedWordPressClient.d.ts.map +1 -1
  14. package/dist/client/CachedWordPressClient.js.map +1 -1
  15. package/dist/client/MockWordPressClient.d.ts.map +1 -1
  16. package/dist/client/MockWordPressClient.js.map +1 -1
  17. package/dist/client/SEOWordPressClient.d.ts.map +1 -1
  18. package/dist/client/SEOWordPressClient.js.map +1 -1
  19. package/dist/client/api.d.ts +11 -26
  20. package/dist/client/api.d.ts.map +1 -1
  21. package/dist/client/api.js +111 -203
  22. package/dist/client/api.js.map +1 -1
  23. package/dist/client/auth.d.ts.map +1 -1
  24. package/dist/client/auth.js.map +1 -1
  25. package/dist/client/managers/AuthManager.d.ts.map +1 -1
  26. package/dist/client/managers/RequestManager.d.ts.map +1 -1
  27. package/dist/client/managers/RequestManager.js +6 -5
  28. package/dist/client/managers/RequestManager.js.map +1 -1
  29. package/dist/client/managers/composed/MigrationAdapter.d.ts +3 -3
  30. package/dist/client/managers/composed/MigrationAdapter.d.ts.map +1 -1
  31. package/dist/client/managers/composed/MigrationAdapter.js +2 -2
  32. package/dist/client/managers/composed/MigrationAdapter.js.map +1 -1
  33. package/dist/client/managers/composed/index.d.ts +7 -7
  34. package/dist/client/managers/composed/index.d.ts.map +1 -1
  35. package/dist/client/managers/composed/index.js +6 -6
  36. package/dist/client/managers/composed/index.js.map +1 -1
  37. package/dist/client/managers/implementations/ConfigurationProviderImpl.d.ts +1 -1
  38. package/dist/client/managers/implementations/ConfigurationProviderImpl.d.ts.map +1 -1
  39. package/dist/client/managers/implementations/ErrorHandlerImpl.d.ts +1 -1
  40. package/dist/client/managers/implementations/ErrorHandlerImpl.d.ts.map +1 -1
  41. package/dist/client/managers/implementations/ParameterValidatorImpl.d.ts +1 -1
  42. package/dist/client/managers/implementations/ParameterValidatorImpl.d.ts.map +1 -1
  43. package/dist/client/operations/comments.d.ts +58 -0
  44. package/dist/client/operations/comments.d.ts.map +1 -0
  45. package/dist/client/operations/comments.js +74 -0
  46. package/dist/client/operations/comments.js.map +1 -0
  47. package/dist/client/operations/index.d.ts +12 -0
  48. package/dist/client/operations/index.d.ts.map +1 -0
  49. package/dist/client/operations/index.js +12 -0
  50. package/dist/client/operations/index.js.map +1 -0
  51. package/dist/client/operations/media.d.ts +55 -0
  52. package/dist/client/operations/media.d.ts.map +1 -0
  53. package/dist/client/operations/media.js +132 -0
  54. package/dist/client/operations/media.js.map +1 -0
  55. package/dist/client/operations/pages.d.ts +50 -0
  56. package/dist/client/operations/pages.d.ts.map +1 -0
  57. package/dist/client/operations/pages.js +56 -0
  58. package/dist/client/operations/pages.js.map +1 -0
  59. package/dist/client/operations/posts.d.ts +50 -0
  60. package/dist/client/operations/posts.d.ts.map +1 -0
  61. package/dist/client/operations/posts.js +53 -0
  62. package/dist/client/operations/posts.js.map +1 -0
  63. package/dist/client/operations/site.d.ts +60 -0
  64. package/dist/client/operations/site.d.ts.map +1 -0
  65. package/dist/client/operations/site.js +83 -0
  66. package/dist/client/operations/site.js.map +1 -0
  67. package/dist/client/operations/taxonomies.d.ts +69 -0
  68. package/dist/client/operations/taxonomies.d.ts.map +1 -0
  69. package/dist/client/operations/taxonomies.js +87 -0
  70. package/dist/client/operations/taxonomies.js.map +1 -0
  71. package/dist/client/operations/users.d.ts +50 -0
  72. package/dist/client/operations/users.d.ts.map +1 -0
  73. package/dist/client/operations/users.js +57 -0
  74. package/dist/client/operations/users.js.map +1 -0
  75. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  76. package/dist/config/ServerConfiguration.js.map +1 -1
  77. package/dist/docs/DocumentationGenerator.js.map +1 -1
  78. package/dist/performance/MetricsCollector.d.ts.map +1 -1
  79. package/dist/performance/MetricsCollector.js.map +1 -1
  80. package/dist/performance/PerformanceMonitor.js.map +1 -1
  81. package/dist/security/AISecurityScanner.d.ts.map +1 -1
  82. package/dist/security/AISecurityScanner.js +3 -2
  83. package/dist/security/AISecurityScanner.js.map +1 -1
  84. package/dist/security/AutomatedRemediation.js.map +1 -1
  85. package/dist/security/InputValidator.d.ts.map +1 -1
  86. package/dist/security/InputValidator.js +30 -18
  87. package/dist/security/InputValidator.js.map +1 -1
  88. package/dist/security/SecurityCIPipeline.d.ts +19 -196
  89. package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
  90. package/dist/security/SecurityCIPipeline.js +95 -639
  91. package/dist/security/SecurityCIPipeline.js.map +1 -1
  92. package/dist/security/SecurityConfig.js.map +1 -1
  93. package/dist/security/SecurityConfigManager.js.map +1 -1
  94. package/dist/security/SecurityGateExecutor.d.ts +67 -0
  95. package/dist/security/SecurityGateExecutor.d.ts.map +1 -0
  96. package/dist/security/SecurityGateExecutor.js +363 -0
  97. package/dist/security/SecurityGateExecutor.js.map +1 -0
  98. package/dist/security/SecurityMonitoring.js.map +1 -1
  99. package/dist/security/SecurityReportGenerator.d.ts +65 -0
  100. package/dist/security/SecurityReportGenerator.d.ts.map +1 -0
  101. package/dist/security/SecurityReportGenerator.js +210 -0
  102. package/dist/security/SecurityReportGenerator.js.map +1 -0
  103. package/dist/security/SecurityReviewer.js.map +1 -1
  104. package/dist/security/SecurityTypes.d.ts +188 -0
  105. package/dist/security/SecurityTypes.d.ts.map +1 -0
  106. package/dist/security/SecurityTypes.js +6 -0
  107. package/dist/security/SecurityTypes.js.map +1 -0
  108. package/dist/security/index.d.ts +5 -28
  109. package/dist/security/index.d.ts.map +1 -1
  110. package/dist/security/index.js +4 -0
  111. package/dist/security/index.js.map +1 -1
  112. package/dist/server/ConnectionTester.d.ts.map +1 -1
  113. package/dist/server/ConnectionTester.js.map +1 -1
  114. package/dist/server/ToolRegistry.d.ts.map +1 -1
  115. package/dist/server/ToolRegistry.js.map +1 -1
  116. package/dist/tools/BaseToolManager.d.ts.map +1 -1
  117. package/dist/tools/BaseToolManager.js.map +1 -1
  118. package/dist/tools/auth.d.ts.map +1 -1
  119. package/dist/tools/auth.js.map +1 -1
  120. package/dist/tools/cache.d.ts.map +1 -1
  121. package/dist/tools/cache.js.map +1 -1
  122. package/dist/tools/comments.d.ts.map +1 -1
  123. package/dist/tools/comments.js.map +1 -1
  124. package/dist/tools/media.d.ts.map +1 -1
  125. package/dist/tools/media.js.map +1 -1
  126. package/dist/tools/pages.d.ts.map +1 -1
  127. package/dist/tools/pages.js.map +1 -1
  128. package/dist/tools/performance/PerformanceHelpers.d.ts +116 -0
  129. package/dist/tools/performance/PerformanceHelpers.d.ts.map +1 -0
  130. package/dist/tools/performance/PerformanceHelpers.js +298 -0
  131. package/dist/tools/performance/PerformanceHelpers.js.map +1 -0
  132. package/dist/tools/performance/PerformanceTools.d.ts +54 -0
  133. package/dist/tools/performance/PerformanceTools.d.ts.map +1 -0
  134. package/dist/tools/performance/PerformanceTools.js +687 -0
  135. package/dist/tools/performance/PerformanceTools.js.map +1 -0
  136. package/dist/tools/performance/index.d.ts +8 -0
  137. package/dist/tools/performance/index.d.ts.map +1 -0
  138. package/dist/tools/performance/index.js +8 -0
  139. package/dist/tools/performance/index.js.map +1 -0
  140. package/dist/tools/performance.d.ts +12 -69
  141. package/dist/tools/performance.d.ts.map +1 -1
  142. package/dist/tools/performance.js +12 -920
  143. package/dist/tools/performance.js.map +1 -1
  144. package/dist/tools/posts.d.ts.map +1 -1
  145. package/dist/tools/seo/analyzers/ContentAnalyzer.d.ts.map +1 -1
  146. package/dist/tools/seo/analyzers/ContentAnalyzer.js +14 -3
  147. package/dist/tools/seo/analyzers/ContentAnalyzer.js.map +1 -1
  148. package/dist/tools/seo/auditors/SiteAuditor.d.ts.map +1 -1
  149. package/dist/tools/seo/auditors/SiteAuditor.js +12 -3
  150. package/dist/tools/seo/auditors/SiteAuditor.js.map +1 -1
  151. package/dist/tools/seo/generators/MetaGenerator.d.ts.map +1 -1
  152. package/dist/tools/seo/generators/MetaGenerator.js +25 -8
  153. package/dist/tools/seo/generators/MetaGenerator.js.map +1 -1
  154. package/dist/tools/seo/generators/SchemaGenerator.d.ts.map +1 -1
  155. package/dist/tools/seo/generators/SchemaGenerator.js.map +1 -1
  156. package/dist/tools/seo/optimizers/InternalLinkingSuggester.d.ts.map +1 -1
  157. package/dist/tools/seo/optimizers/InternalLinkingSuggester.js.map +1 -1
  158. package/dist/tools/site.d.ts.map +1 -1
  159. package/dist/tools/site.js.map +1 -1
  160. package/dist/tools/taxonomies.d.ts.map +1 -1
  161. package/dist/tools/taxonomies.js.map +1 -1
  162. package/dist/tools/users.d.ts.map +1 -1
  163. package/dist/tools/users.js.map +1 -1
  164. package/dist/utils/CircuitBreaker.d.ts +243 -0
  165. package/dist/utils/CircuitBreaker.d.ts.map +1 -0
  166. package/dist/utils/CircuitBreaker.js +456 -0
  167. package/dist/utils/CircuitBreaker.js.map +1 -0
  168. package/dist/utils/debug.d.ts.map +1 -1
  169. package/dist/utils/debug.js.map +1 -1
  170. package/dist/utils/error.js.map +1 -1
  171. package/dist/utils/index.d.ts +1 -0
  172. package/dist/utils/index.d.ts.map +1 -1
  173. package/dist/utils/index.js +2 -0
  174. package/dist/utils/index.js.map +1 -1
  175. package/dist/utils/logger.js.map +1 -1
  176. package/dist/utils/toolWrapper.d.ts.map +1 -1
  177. package/docs/DEPRECATIONS.md +157 -0
  178. package/package.json +2 -3
  179. package/src/cache/CacheInvalidation.ts +1 -1
  180. package/src/cache/CacheManager.ts +25 -8
  181. package/src/cache/HttpCacheWrapper.ts +1 -1
  182. package/src/cache/SEOCacheManager.ts +9 -3
  183. package/src/cache/index.ts +1 -1
  184. package/src/client/CachedWordPressClient.ts +6 -6
  185. package/src/client/MockWordPressClient.ts +3 -3
  186. package/src/client/SEOWordPressClient.ts +6 -6
  187. package/src/client/api.ts +129 -215
  188. package/src/client/auth.ts +3 -3
  189. package/src/client/managers/AuthManager.ts +1 -1
  190. package/src/client/managers/RequestManager.ts +6 -7
  191. package/src/client/managers/composed/MigrationAdapter.ts +4 -4
  192. package/src/client/managers/composed/index.ts +7 -7
  193. package/src/client/managers/implementations/ConfigurationProviderImpl.ts +1 -1
  194. package/src/client/managers/implementations/ErrorHandlerImpl.ts +1 -1
  195. package/src/client/managers/implementations/ParameterValidatorImpl.ts +1 -1
  196. package/src/client/operations/comments.ts +96 -0
  197. package/src/client/operations/index.ts +12 -0
  198. package/src/client/operations/media.ts +162 -0
  199. package/src/client/operations/pages.ts +71 -0
  200. package/src/client/operations/posts.ts +68 -0
  201. package/src/client/operations/site.ts +106 -0
  202. package/src/client/operations/taxonomies.ts +115 -0
  203. package/src/client/operations/users.ts +72 -0
  204. package/src/config/ServerConfiguration.ts +6 -6
  205. package/src/docs/DocumentationGenerator.ts +3 -3
  206. package/src/performance/MetricsCollector.ts +4 -4
  207. package/src/performance/PerformanceMonitor.ts +1 -1
  208. package/src/security/AISecurityScanner.ts +4 -3
  209. package/src/security/AutomatedRemediation.ts +1 -1
  210. package/src/security/InputValidator.ts +36 -19
  211. package/src/security/SecurityCIPipeline.ts +130 -953
  212. package/src/security/SecurityConfig.ts +1 -1
  213. package/src/security/SecurityConfigManager.ts +1 -1
  214. package/src/security/SecurityGateExecutor.ts +485 -0
  215. package/src/security/SecurityMonitoring.ts +1 -1
  216. package/src/security/SecurityReportGenerator.ts +272 -0
  217. package/src/security/SecurityReviewer.ts +1 -1
  218. package/src/security/SecurityTypes.ts +199 -0
  219. package/src/security/index.ts +6 -1
  220. package/src/server/ConnectionTester.ts +4 -4
  221. package/src/server/ToolRegistry.ts +6 -6
  222. package/src/tools/BaseToolManager.ts +2 -2
  223. package/src/tools/auth.ts +3 -3
  224. package/src/tools/cache.ts +3 -3
  225. package/src/tools/comments.ts +3 -3
  226. package/src/tools/media.ts +3 -3
  227. package/src/tools/pages.ts +3 -3
  228. package/src/tools/performance/PerformanceHelpers.ts +330 -0
  229. package/src/tools/performance/PerformanceTools.ts +854 -0
  230. package/src/tools/performance/index.ts +8 -0
  231. package/src/tools/performance.ts +12 -1073
  232. package/src/tools/posts.ts +1 -1
  233. package/src/tools/seo/analyzers/ContentAnalyzer.ts +21 -7
  234. package/src/tools/seo/auditors/SiteAuditor.ts +18 -7
  235. package/src/tools/seo/generators/MetaGenerator.ts +33 -12
  236. package/src/tools/seo/generators/SchemaGenerator.ts +3 -3
  237. package/src/tools/seo/optimizers/InternalLinkingSuggester.ts +4 -4
  238. package/src/tools/site.ts +3 -3
  239. package/src/tools/taxonomies.ts +3 -3
  240. package/src/tools/users.ts +4 -4
  241. package/src/utils/CircuitBreaker.ts +572 -0
  242. package/src/utils/debug.ts +3 -3
  243. package/src/utils/error.ts +1 -1
  244. package/src/utils/index.ts +3 -0
  245. package/src/utils/logger.ts +1 -1
  246. package/src/utils/toolWrapper.ts +2 -2
  247. package/docs/BRANCH_PROTECTION.md +0 -0
@@ -0,0 +1,132 @@
1
+ /**
2
+ * Media Operations Module
3
+ * Handles all media-related WordPress REST API operations
4
+ */
5
+ import FormData from "form-data";
6
+ import { promises as fsPromises } from "fs";
7
+ import * as path from "path";
8
+ import { debug } from "../../utils/debug.js";
9
+ /**
10
+ * Media operations mixin
11
+ * Provides CRUD operations for WordPress media
12
+ */
13
+ export class MediaOperations {
14
+ client;
15
+ constructor(client) {
16
+ this.client = client;
17
+ }
18
+ /**
19
+ * Get a list of media items with optional filtering
20
+ */
21
+ async getMedia(params) {
22
+ const normalizedParams = params
23
+ ? Object.fromEntries(Object.entries(params).map(([k, v]) => [k, String(v)]))
24
+ : undefined;
25
+ const queryString = normalizedParams ? "?" + new URLSearchParams(normalizedParams).toString() : "";
26
+ return this.client.get(`media${queryString}`);
27
+ }
28
+ /**
29
+ * Get a single media item by ID
30
+ */
31
+ async getMediaItem(id, context = "view") {
32
+ return this.client.get(`media/${id}?context=${context}`);
33
+ }
34
+ /**
35
+ * Upload media from a file path
36
+ */
37
+ async uploadMedia(data) {
38
+ // Use file handle to avoid TOCTOU race condition
39
+ let fileHandle;
40
+ try {
41
+ fileHandle = await fsPromises.open(data.file_path, "r");
42
+ }
43
+ catch {
44
+ throw new Error(`File not found: ${data.file_path}`);
45
+ }
46
+ try {
47
+ const stats = await fileHandle.stat();
48
+ const filename = data.title || path.basename(data.file_path);
49
+ // Check if file is too large (WordPress default is 2MB for most installs)
50
+ const maxSize = 10 * 1024 * 1024; // 10MB reasonable limit
51
+ if (stats.size > maxSize) {
52
+ throw new Error(`File too large: ${(stats.size / 1024 / 1024).toFixed(2)}MB. Maximum allowed: ${maxSize / 1024 / 1024}MB`);
53
+ }
54
+ const fileBuffer = await fileHandle.readFile();
55
+ debug.log(`Uploading file: ${filename} (${(stats.size / 1024).toFixed(2)}KB)`);
56
+ return this.uploadFile(fileBuffer, filename, this.getMimeType(data.file_path), data);
57
+ }
58
+ finally {
59
+ await fileHandle.close();
60
+ }
61
+ }
62
+ /**
63
+ * Upload a file buffer as media
64
+ */
65
+ async uploadFile(fileData, filename, mimeType, meta = {}, options) {
66
+ debug.log(`Uploading file: ${filename} (${fileData.length} bytes)`);
67
+ // Use FormData but with correct configuration for node-fetch
68
+ const formData = new FormData();
69
+ formData.setMaxListeners(20);
70
+ // Add file with correct options
71
+ formData.append("file", fileData, {
72
+ filename,
73
+ contentType: mimeType,
74
+ });
75
+ // Add metadata
76
+ if (meta.title)
77
+ formData.append("title", meta.title);
78
+ if (meta.alt_text)
79
+ formData.append("alt_text", meta.alt_text);
80
+ if (meta.caption)
81
+ formData.append("caption", meta.caption);
82
+ if (meta.description)
83
+ formData.append("description", meta.description);
84
+ if (meta.post)
85
+ formData.append("post", meta.post.toString());
86
+ // Use longer timeout for file uploads
87
+ const uploadTimeout = options?.timeout !== undefined ? options.timeout : 600000; // 10 minutes default
88
+ const uploadOptions = {
89
+ ...options,
90
+ timeout: uploadTimeout,
91
+ };
92
+ debug.log(`Upload prepared with FormData, timeout: ${uploadTimeout}ms`);
93
+ // Use the regular post method which handles FormData correctly
94
+ return this.client.post("media", formData, uploadOptions);
95
+ }
96
+ /**
97
+ * Update media metadata
98
+ */
99
+ async updateMedia(data) {
100
+ const { id, ...updateData } = data;
101
+ return this.client.put(`media/${id}`, updateData);
102
+ }
103
+ /**
104
+ * Delete a media item
105
+ */
106
+ async deleteMedia(id, force = false) {
107
+ return this.client.delete(`media/${id}?force=${force}`);
108
+ }
109
+ /**
110
+ * Get MIME type from file extension
111
+ */
112
+ getMimeType(filePath) {
113
+ const ext = path.extname(filePath).toLowerCase();
114
+ const mimeTypes = {
115
+ ".jpg": "image/jpeg",
116
+ ".jpeg": "image/jpeg",
117
+ ".png": "image/png",
118
+ ".gif": "image/gif",
119
+ ".webp": "image/webp",
120
+ ".svg": "image/svg+xml",
121
+ ".pdf": "application/pdf",
122
+ ".doc": "application/msword",
123
+ ".docx": "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
124
+ ".txt": "text/plain",
125
+ ".mp4": "video/mp4",
126
+ ".mp3": "audio/mpeg",
127
+ ".wav": "audio/wav",
128
+ };
129
+ return mimeTypes[ext] || "application/octet-stream";
130
+ }
131
+ }
132
+ //# sourceMappingURL=media.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"media.js","sourceRoot":"","sources":["../../../src/client/operations/media.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Pages Operations Module
3
+ * Handles all page-related WordPress REST API operations
4
+ */
5
+ import type { WordPressPage, PostQueryParams, CreatePageRequest, UpdatePageRequest } from "../../types/wordpress.js";
6
+ /**
7
+ * Interface for the base client methods needed by pages operations
8
+ */
9
+ export interface PagesClientBase {
10
+ get<T>(endpoint: string): Promise<T>;
11
+ post<T>(endpoint: string, data?: unknown): Promise<T>;
12
+ put<T>(endpoint: string, data?: unknown): Promise<T>;
13
+ delete<T>(endpoint: string): Promise<T>;
14
+ }
15
+ /**
16
+ * Pages operations mixin
17
+ * Provides CRUD operations for WordPress pages
18
+ */
19
+ export declare class PagesOperations {
20
+ private client;
21
+ constructor(client: PagesClientBase);
22
+ /**
23
+ * Get a list of pages with optional filtering
24
+ */
25
+ getPages(params?: PostQueryParams): Promise<WordPressPage[]>;
26
+ /**
27
+ * Get a single page by ID
28
+ */
29
+ getPage(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPage>;
30
+ /**
31
+ * Create a new page
32
+ */
33
+ createPage(data: CreatePageRequest): Promise<WordPressPage>;
34
+ /**
35
+ * Update an existing page
36
+ */
37
+ updatePage(data: UpdatePageRequest): Promise<WordPressPage>;
38
+ /**
39
+ * Delete a page
40
+ */
41
+ deletePage(id: number, force?: boolean): Promise<{
42
+ deleted: boolean;
43
+ previous?: WordPressPage;
44
+ }>;
45
+ /**
46
+ * Get page revisions
47
+ */
48
+ getPageRevisions(id: number): Promise<WordPressPage[]>;
49
+ }
50
+ //# sourceMappingURL=pages.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.d.ts","sourceRoot":"","sources":["../../../src/client/operations/pages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEjH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE3C;;OAEG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAQlE;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9F;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIjE;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKjE;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC;IAIpG;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAG7D"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * Pages Operations Module
3
+ * Handles all page-related WordPress REST API operations
4
+ */
5
+ /**
6
+ * Pages operations mixin
7
+ * Provides CRUD operations for WordPress pages
8
+ */
9
+ export class PagesOperations {
10
+ client;
11
+ constructor(client) {
12
+ this.client = client;
13
+ }
14
+ /**
15
+ * Get a list of pages with optional filtering
16
+ */
17
+ async getPages(params) {
18
+ const normalizedParams = params
19
+ ? Object.fromEntries(Object.entries(params).map(([k, v]) => [k, String(v)]))
20
+ : undefined;
21
+ const queryString = normalizedParams ? "?" + new URLSearchParams(normalizedParams).toString() : "";
22
+ return this.client.get(`pages${queryString}`);
23
+ }
24
+ /**
25
+ * Get a single page by ID
26
+ */
27
+ async getPage(id, context = "view") {
28
+ return this.client.get(`pages/${id}?context=${context}`);
29
+ }
30
+ /**
31
+ * Create a new page
32
+ */
33
+ async createPage(data) {
34
+ return this.client.post("pages", data);
35
+ }
36
+ /**
37
+ * Update an existing page
38
+ */
39
+ async updatePage(data) {
40
+ const { id, ...updateData } = data;
41
+ return this.client.put(`pages/${id}`, updateData);
42
+ }
43
+ /**
44
+ * Delete a page
45
+ */
46
+ async deletePage(id, force = false) {
47
+ return this.client.delete(`pages/${id}?force=${force}`);
48
+ }
49
+ /**
50
+ * Get page revisions
51
+ */
52
+ async getPageRevisions(id) {
53
+ return this.client.get(`pages/${id}/revisions`);
54
+ }
55
+ }
56
+ //# sourceMappingURL=pages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pages.js","sourceRoot":"","sources":["../../../src/client/operations/pages.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH;;;GAGG;AACH,MAAM,OAAO,eAAe;IACN;IAApB,YAAoB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAE/C;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAwB;QACrC,MAAM,gBAAgB,GAAG,MAAM;YAC7B,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5E,CAAC,CAAC,SAAS,CAAC;QACd,MAAM,WAAW,GAAG,gBAAgB,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,gBAAgB,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnG,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAkB,QAAQ,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,UAAqC,MAAM;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAgB,SAAS,EAAE,YAAY,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAuB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAgB,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAuB;QACtC,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAgB,SAAS,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,KAAK,GAAG,KAAK;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAkB,SAAS,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;CACF"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Posts Operations Module
3
+ * Handles all post-related WordPress REST API operations
4
+ */
5
+ import type { WordPressPost, PostQueryParams, CreatePostRequest, UpdatePostRequest } from "../../types/wordpress.js";
6
+ /**
7
+ * Interface for the base client methods needed by posts operations
8
+ */
9
+ export interface PostsClientBase {
10
+ get<T>(endpoint: string): Promise<T>;
11
+ post<T>(endpoint: string, data?: unknown): Promise<T>;
12
+ put<T>(endpoint: string, data?: unknown): Promise<T>;
13
+ delete<T>(endpoint: string): Promise<T>;
14
+ }
15
+ /**
16
+ * Posts operations mixin
17
+ * Provides CRUD operations for WordPress posts
18
+ */
19
+ export declare class PostsOperations {
20
+ private client;
21
+ constructor(client: PostsClientBase);
22
+ /**
23
+ * Get a list of posts with optional filtering
24
+ */
25
+ getPosts(params?: PostQueryParams): Promise<WordPressPost[]>;
26
+ /**
27
+ * Get a single post by ID
28
+ */
29
+ getPost(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPost>;
30
+ /**
31
+ * Create a new post
32
+ */
33
+ createPost(data: CreatePostRequest): Promise<WordPressPost>;
34
+ /**
35
+ * Update an existing post
36
+ */
37
+ updatePost(data: UpdatePostRequest): Promise<WordPressPost>;
38
+ /**
39
+ * Delete a post
40
+ */
41
+ deletePost(id: number, force?: boolean): Promise<{
42
+ deleted: boolean;
43
+ previous?: WordPressPost;
44
+ }>;
45
+ /**
46
+ * Get post revisions
47
+ */
48
+ getPostRevisions(id: number): Promise<WordPressPost[]>;
49
+ }
50
+ //# sourceMappingURL=posts.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posts.d.ts","sourceRoot":"","sources":["../../../src/client/operations/posts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,eAAe,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAEjH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,eAAe;IAE3C;;OAEG;IACG,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IAKlE;;OAEG;IACG,OAAO,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,GAAE,MAAM,GAAG,OAAO,GAAG,MAAe,GAAG,OAAO,CAAC,aAAa,CAAC;IAI9F;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAIjE;;OAEG;IACG,UAAU,CAAC,IAAI,EAAE,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;IAKjE;;OAEG;IACG,UAAU,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,aAAa,CAAA;KAAE,CAAC;IAIpG;;OAEG;IACG,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;CAG7D"}
@@ -0,0 +1,53 @@
1
+ /**
2
+ * Posts Operations Module
3
+ * Handles all post-related WordPress REST API operations
4
+ */
5
+ /**
6
+ * Posts operations mixin
7
+ * Provides CRUD operations for WordPress posts
8
+ */
9
+ export class PostsOperations {
10
+ client;
11
+ constructor(client) {
12
+ this.client = client;
13
+ }
14
+ /**
15
+ * Get a list of posts with optional filtering
16
+ */
17
+ async getPosts(params) {
18
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
19
+ return this.client.get(`posts${queryString}`);
20
+ }
21
+ /**
22
+ * Get a single post by ID
23
+ */
24
+ async getPost(id, context = "view") {
25
+ return this.client.get(`posts/${id}?context=${context}`);
26
+ }
27
+ /**
28
+ * Create a new post
29
+ */
30
+ async createPost(data) {
31
+ return this.client.post("posts", data);
32
+ }
33
+ /**
34
+ * Update an existing post
35
+ */
36
+ async updatePost(data) {
37
+ const { id, ...updateData } = data;
38
+ return this.client.put(`posts/${id}`, updateData);
39
+ }
40
+ /**
41
+ * Delete a post
42
+ */
43
+ async deletePost(id, force = false) {
44
+ return this.client.delete(`posts/${id}?force=${force}`);
45
+ }
46
+ /**
47
+ * Get post revisions
48
+ */
49
+ async getPostRevisions(id) {
50
+ return this.client.get(`posts/${id}/revisions`);
51
+ }
52
+ }
53
+ //# sourceMappingURL=posts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"posts.js","sourceRoot":"","sources":["../../../src/client/operations/posts.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH;;;GAGG;AACH,MAAM,OAAO,eAAe;IACN;IAApB,YAAoB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAAG,CAAC;IAE/C;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,MAAwB;QACrC,MAAM,WAAW,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,GAAG,IAAI,eAAe,CAAC,MAAgC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzG,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAkB,QAAQ,WAAW,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,UAAqC,MAAM;QACnE,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAgB,SAAS,EAAE,YAAY,OAAO,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAuB;QACtC,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAgB,OAAO,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAuB;QACtC,MAAM,EAAE,EAAE,EAAE,GAAG,UAAU,EAAE,GAAG,IAAI,CAAC;QACnC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAgB,SAAS,EAAE,EAAE,EAAE,UAAU,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,KAAK,GAAG,KAAK;QACxC,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,UAAU,KAAK,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,EAAU;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAkB,SAAS,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;CACF"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Site Operations Module
3
+ * Handles site management, settings, and application passwords
4
+ */
5
+ import type { WordPressSiteSettings, WordPressSiteInfo, WordPressApplicationPassword, WordPressSearchResult } from "../../types/wordpress.js";
6
+ /**
7
+ * Interface for the base client methods needed by site operations
8
+ */
9
+ export interface SiteClientBase {
10
+ get<T>(endpoint: string): Promise<T>;
11
+ post<T>(endpoint: string, data?: unknown): Promise<T>;
12
+ delete<T>(endpoint: string): Promise<T>;
13
+ }
14
+ /**
15
+ * Site operations mixin
16
+ * Provides operations for WordPress site settings, info, and application passwords
17
+ */
18
+ export declare class SiteOperations {
19
+ private client;
20
+ constructor(client: SiteClientBase);
21
+ /**
22
+ * Get site settings
23
+ */
24
+ getSiteSettings(): Promise<WordPressSiteSettings>;
25
+ /**
26
+ * Update site settings
27
+ */
28
+ updateSiteSettings(settings: Partial<WordPressSiteSettings>): Promise<WordPressSiteSettings>;
29
+ /**
30
+ * Get site info (root endpoint)
31
+ */
32
+ getSiteInfo(): Promise<WordPressSiteInfo>;
33
+ /**
34
+ * Get application passwords for a user
35
+ */
36
+ getApplicationPasswords(userId?: number | "me"): Promise<WordPressApplicationPassword[]>;
37
+ /**
38
+ * Create an application password for a user
39
+ */
40
+ createApplicationPassword(userId: number | "me", name: string, appId?: string): Promise<WordPressApplicationPassword>;
41
+ /**
42
+ * Delete an application password
43
+ */
44
+ deleteApplicationPassword(userId: number | "me", uuid: string): Promise<{
45
+ deleted: boolean;
46
+ }>;
47
+ /**
48
+ * Search across WordPress content
49
+ */
50
+ search(query: string, types?: string[], subtype?: string): Promise<WordPressSearchResult[]>;
51
+ /**
52
+ * Ping the site to check availability
53
+ */
54
+ ping(): Promise<boolean>;
55
+ /**
56
+ * Get server info
57
+ */
58
+ getServerInfo(): Promise<Record<string, unknown>>;
59
+ }
60
+ //# sourceMappingURL=site.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../../../src/client/operations/site.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,qBAAqB,EACrB,iBAAiB,EACjB,4BAA4B,EAC5B,qBAAqB,EACtB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,qBAAa,cAAc;IACb,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,cAAc;IAE1C;;OAEG;IACG,eAAe,IAAI,OAAO,CAAC,qBAAqB,CAAC;IAIvD;;OAEG;IACG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,OAAO,CAAC,qBAAqB,CAAC;IAIlG;;OAEG;IACG,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI/C;;OAEG;IACG,uBAAuB,CAAC,MAAM,GAAE,MAAM,GAAG,IAAW,GAAG,OAAO,CAAC,4BAA4B,EAAE,CAAC;IAIpG;;OAEG;IACG,yBAAyB,CAC7B,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,IAAI,EAAE,MAAM,EACZ,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,4BAA4B,CAAC;IAMxC;;OAEG;IACG,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAInG;;OAEG;IACG,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAQjG;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC;IAS9B;;OAEG;IACG,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAGxD"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Site Operations Module
3
+ * Handles site management, settings, and application passwords
4
+ */
5
+ /**
6
+ * Site operations mixin
7
+ * Provides operations for WordPress site settings, info, and application passwords
8
+ */
9
+ export class SiteOperations {
10
+ client;
11
+ constructor(client) {
12
+ this.client = client;
13
+ }
14
+ /**
15
+ * Get site settings
16
+ */
17
+ async getSiteSettings() {
18
+ return this.client.get("settings");
19
+ }
20
+ /**
21
+ * Update site settings
22
+ */
23
+ async updateSiteSettings(settings) {
24
+ return this.client.post("settings", settings);
25
+ }
26
+ /**
27
+ * Get site info (root endpoint)
28
+ */
29
+ async getSiteInfo() {
30
+ return this.client.get("");
31
+ }
32
+ /**
33
+ * Get application passwords for a user
34
+ */
35
+ async getApplicationPasswords(userId = "me") {
36
+ return this.client.get(`users/${userId}/application-passwords`);
37
+ }
38
+ /**
39
+ * Create an application password for a user
40
+ */
41
+ async createApplicationPassword(userId, name, appId) {
42
+ const data = { name };
43
+ if (appId)
44
+ data.app_id = appId;
45
+ return this.client.post(`users/${userId}/application-passwords`, data);
46
+ }
47
+ /**
48
+ * Delete an application password
49
+ */
50
+ async deleteApplicationPassword(userId, uuid) {
51
+ return this.client.delete(`users/${userId}/application-passwords/${uuid}`);
52
+ }
53
+ /**
54
+ * Search across WordPress content
55
+ */
56
+ async search(query, types, subtype) {
57
+ const params = new URLSearchParams({ search: query });
58
+ if (types)
59
+ params.append("type", types.join(","));
60
+ if (subtype)
61
+ params.append("subtype", subtype);
62
+ return this.client.get(`search?${params.toString()}`);
63
+ }
64
+ /**
65
+ * Ping the site to check availability
66
+ */
67
+ async ping() {
68
+ try {
69
+ await this.client.get("");
70
+ return true;
71
+ }
72
+ catch {
73
+ return false;
74
+ }
75
+ }
76
+ /**
77
+ * Get server info
78
+ */
79
+ async getServerInfo() {
80
+ return this.client.get("");
81
+ }
82
+ }
83
+ //# sourceMappingURL=site.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"site.js","sourceRoot":"","sources":["../../../src/client/operations/site.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH;;;GAGG;AACH,MAAM,OAAO,cAAc;IACL;IAApB,YAAoB,MAAsB;QAAtB,WAAM,GAAN,MAAM,CAAgB;IAAG,CAAC;IAE9C;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAwB,UAAU,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,QAAwC;QAC/D,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAwB,UAAU,EAAE,QAAQ,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW;QACf,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,uBAAuB,CAAC,SAAwB,IAAI;QACxD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAiC,SAAS,MAAM,wBAAwB,CAAC,CAAC;IAClG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAC7B,MAAqB,EACrB,IAAY,EACZ,KAAc;QAEd,MAAM,IAAI,GAA4B,EAAE,IAAI,EAAE,CAAC;QAC/C,IAAI,KAAK;YAAE,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAA+B,SAAS,MAAM,wBAAwB,EAAE,IAAI,CAAC,CAAC;IACvG,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,yBAAyB,CAAC,MAAqB,EAAE,IAAY;QACjE,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,MAAM,0BAA0B,IAAI,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CAAC,KAAa,EAAE,KAAgB,EAAE,OAAgB;QAC5D,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,KAAK;YAAE,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAClD,IAAI,OAAO;YAAE,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAE/C,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAA0B,UAAU,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAC1B,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa;QACjB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC7B,CAAC;CACF"}
@@ -0,0 +1,69 @@
1
+ /**
2
+ * Taxonomies Operations Module
3
+ * Handles all taxonomy-related WordPress REST API operations (categories, tags)
4
+ */
5
+ import type { WordPressCategory, WordPressTag, CreateCategoryRequest, UpdateCategoryRequest, CreateTagRequest, UpdateTagRequest } from "../../types/wordpress.js";
6
+ /**
7
+ * Interface for the base client methods needed by taxonomies operations
8
+ */
9
+ export interface TaxonomiesClientBase {
10
+ get<T>(endpoint: string): Promise<T>;
11
+ post<T>(endpoint: string, data?: unknown): Promise<T>;
12
+ put<T>(endpoint: string, data?: unknown): Promise<T>;
13
+ delete<T>(endpoint: string): Promise<T>;
14
+ }
15
+ /**
16
+ * Taxonomies operations mixin
17
+ * Provides CRUD operations for WordPress categories and tags
18
+ */
19
+ export declare class TaxonomiesOperations {
20
+ private client;
21
+ constructor(client: TaxonomiesClientBase);
22
+ /**
23
+ * Get a list of categories with optional filtering
24
+ */
25
+ getCategories(params?: Record<string, string | number | boolean>): Promise<WordPressCategory[]>;
26
+ /**
27
+ * Get a single category by ID
28
+ */
29
+ getCategory(id: number): Promise<WordPressCategory>;
30
+ /**
31
+ * Create a new category
32
+ */
33
+ createCategory(data: CreateCategoryRequest): Promise<WordPressCategory>;
34
+ /**
35
+ * Update an existing category
36
+ */
37
+ updateCategory(data: UpdateCategoryRequest): Promise<WordPressCategory>;
38
+ /**
39
+ * Delete a category
40
+ */
41
+ deleteCategory(id: number, force?: boolean): Promise<{
42
+ deleted: boolean;
43
+ previous?: WordPressCategory;
44
+ }>;
45
+ /**
46
+ * Get a list of tags with optional filtering
47
+ */
48
+ getTags(params?: Record<string, string | number | boolean>): Promise<WordPressTag[]>;
49
+ /**
50
+ * Get a single tag by ID
51
+ */
52
+ getTag(id: number): Promise<WordPressTag>;
53
+ /**
54
+ * Create a new tag
55
+ */
56
+ createTag(data: CreateTagRequest): Promise<WordPressTag>;
57
+ /**
58
+ * Update an existing tag
59
+ */
60
+ updateTag(data: UpdateTagRequest): Promise<WordPressTag>;
61
+ /**
62
+ * Delete a tag
63
+ */
64
+ deleteTag(id: number, force?: boolean): Promise<{
65
+ deleted: boolean;
66
+ previous?: WordPressTag;
67
+ }>;
68
+ }
69
+ //# sourceMappingURL=taxonomies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taxonomies.d.ts","sourceRoot":"","sources":["../../../src/client/operations/taxonomies.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EACjB,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrC,IAAI,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACtD,GAAG,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;IACrD,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CACzC;AAED;;;GAGG;AACH,qBAAa,oBAAoB;IACnB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,oBAAoB;IAIhD;;OAEG;IACG,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAQrG;;OAEG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAIzD;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAI7E;;OAEG;IACG,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAK7E;;OAEG;IACG,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,iBAAiB,CAAA;KAAE,CAAC;IAM5G;;OAEG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQ1F;;OAEG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAI/C;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAI9D;;OAEG;IACG,SAAS,CAAC,IAAI,EAAE,gBAAgB,GAAG,OAAO,CAAC,YAAY,CAAC;IAK9D;;OAEG;IACG,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,EAAE,YAAY,CAAA;KAAE,CAAC;CAGnG"}