mcp-wordpress 1.5.2 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (190) hide show
  1. package/README.md +332 -61
  2. package/dist/cache/CacheInvalidation.d.ts.map +1 -1
  3. package/dist/cache/CacheInvalidation.js +4 -4
  4. package/dist/cache/CacheInvalidation.js.map +1 -1
  5. package/dist/client/MockWordPressClient.d.ts +55 -0
  6. package/dist/client/MockWordPressClient.d.ts.map +1 -0
  7. package/dist/client/MockWordPressClient.js +369 -0
  8. package/dist/client/MockWordPressClient.js.map +1 -0
  9. package/dist/client/api.d.ts +1 -0
  10. package/dist/client/api.d.ts.map +1 -1
  11. package/dist/client/api.js +26 -60
  12. package/dist/client/api.js.map +1 -1
  13. package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
  14. package/dist/client/managers/AuthenticationManager.js +4 -3
  15. package/dist/client/managers/AuthenticationManager.js.map +1 -1
  16. package/dist/config/ConfigurationSchema.d.ts +3 -3
  17. package/dist/config/ConfigurationSchema.d.ts.map +1 -1
  18. package/dist/config/ConfigurationSchema.js +7 -24
  19. package/dist/config/ConfigurationSchema.js.map +1 -1
  20. package/dist/config/ServerConfiguration.d.ts +8 -0
  21. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  22. package/dist/config/ServerConfiguration.js +80 -31
  23. package/dist/config/ServerConfiguration.js.map +1 -1
  24. package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
  25. package/dist/docs/DocumentationGenerator.js +5 -7
  26. package/dist/docs/DocumentationGenerator.js.map +1 -1
  27. package/dist/index.d.ts.map +1 -1
  28. package/dist/index.js +33 -29
  29. package/dist/index.js.map +1 -1
  30. package/dist/security/InputValidator.d.ts.map +1 -1
  31. package/dist/security/InputValidator.js +3 -11
  32. package/dist/security/InputValidator.js.map +1 -1
  33. package/dist/server/ToolRegistry.d.ts +4 -0
  34. package/dist/server/ToolRegistry.d.ts.map +1 -1
  35. package/dist/server/ToolRegistry.js +71 -8
  36. package/dist/server/ToolRegistry.js.map +1 -1
  37. package/dist/tools/auth.d.ts.map +1 -1
  38. package/dist/tools/auth.js +8 -3
  39. package/dist/tools/auth.js.map +1 -1
  40. package/dist/tools/posts.d.ts.map +1 -1
  41. package/dist/tools/posts.js +287 -20
  42. package/dist/tools/posts.js.map +1 -1
  43. package/dist/tools/site.d.ts.map +1 -1
  44. package/dist/tools/site.js +47 -9
  45. package/dist/tools/site.js.map +1 -1
  46. package/dist/tools/users.d.ts.map +1 -1
  47. package/dist/tools/users.js +113 -10
  48. package/dist/tools/users.js.map +1 -1
  49. package/dist/utils/enhancedError.d.ts +61 -0
  50. package/dist/utils/enhancedError.d.ts.map +1 -0
  51. package/dist/utils/enhancedError.js +221 -0
  52. package/dist/utils/enhancedError.js.map +1 -0
  53. package/dist/utils/streaming.d.ts +104 -0
  54. package/dist/utils/streaming.d.ts.map +1 -0
  55. package/dist/utils/streaming.js +312 -0
  56. package/dist/utils/streaming.js.map +1 -0
  57. package/dist/utils/validation.d.ts +19 -3
  58. package/dist/utils/validation.d.ts.map +1 -1
  59. package/dist/utils/validation.js +174 -24
  60. package/dist/utils/validation.js.map +1 -1
  61. package/docs/ARCHITECTURE.md +850 -0
  62. package/docs/CACHING.md +20 -17
  63. package/docs/CONFIGURATION.md +660 -0
  64. package/docs/DOCKER.md +61 -60
  65. package/docs/EVALUATION.md +397 -0
  66. package/docs/INSTALLATION.md +423 -0
  67. package/docs/PERFORMANCE_MONITORING.md +17 -15
  68. package/docs/SECURITY.md +621 -0
  69. package/docs/SECURITY_TESTING.md +22 -26
  70. package/docs/TEST_SITE_SETUP.md +136 -0
  71. package/docs/TROUBLESHOOTING.md +578 -0
  72. package/docs/api/README.md +76 -91
  73. package/docs/api/categories/auth.md +0 -2
  74. package/docs/api/categories/cache.md +0 -2
  75. package/docs/api/categories/comment.md +0 -2
  76. package/docs/api/categories/media.md +0 -2
  77. package/docs/api/categories/page.md +0 -2
  78. package/docs/api/categories/performance.md +0 -2
  79. package/docs/api/categories/post.md +0 -2
  80. package/docs/api/categories/site.md +0 -2
  81. package/docs/api/categories/taxonomy.md +0 -2
  82. package/docs/api/categories/user.md +0 -2
  83. package/docs/api/summary.json +1 -1
  84. package/docs/api/tools/wp_approve_comment.md +11 -3
  85. package/docs/api/tools/wp_cache_clear.md +14 -5
  86. package/docs/api/tools/wp_cache_info.md +14 -5
  87. package/docs/api/tools/wp_cache_stats.md +14 -5
  88. package/docs/api/tools/wp_cache_warm.md +14 -5
  89. package/docs/api/tools/wp_create_application_password.md +11 -3
  90. package/docs/api/tools/wp_create_category.md +11 -3
  91. package/docs/api/tools/wp_create_comment.md +14 -5
  92. package/docs/api/tools/wp_create_page.md +13 -5
  93. package/docs/api/tools/wp_create_post.md +14 -7
  94. package/docs/api/tools/wp_create_tag.md +11 -3
  95. package/docs/api/tools/wp_create_user.md +13 -5
  96. package/docs/api/tools/wp_delete_application_password.md +11 -3
  97. package/docs/api/tools/wp_delete_category.md +11 -3
  98. package/docs/api/tools/wp_delete_comment.md +11 -3
  99. package/docs/api/tools/wp_delete_media.md +10 -3
  100. package/docs/api/tools/wp_delete_page.md +10 -3
  101. package/docs/api/tools/wp_delete_post.md +11 -5
  102. package/docs/api/tools/wp_delete_tag.md +11 -3
  103. package/docs/api/tools/wp_delete_user.md +10 -3
  104. package/docs/api/tools/wp_get_application_passwords.md +11 -3
  105. package/docs/api/tools/wp_get_auth_status.md +11 -3
  106. package/docs/api/tools/wp_get_category.md +11 -3
  107. package/docs/api/tools/wp_get_comment.md +11 -3
  108. package/docs/api/tools/wp_get_current_user.md +11 -3
  109. package/docs/api/tools/wp_get_media.md +11 -3
  110. package/docs/api/tools/wp_get_page.md +11 -3
  111. package/docs/api/tools/wp_get_page_revisions.md +11 -3
  112. package/docs/api/tools/wp_get_post.md +12 -5
  113. package/docs/api/tools/wp_get_post_revisions.md +11 -3
  114. package/docs/api/tools/wp_get_site_settings.md +10 -3
  115. package/docs/api/tools/wp_get_tag.md +11 -3
  116. package/docs/api/tools/wp_get_user.md +11 -3
  117. package/docs/api/tools/wp_list_categories.md +11 -3
  118. package/docs/api/tools/wp_list_comments.md +11 -3
  119. package/docs/api/tools/wp_list_media.md +14 -5
  120. package/docs/api/tools/wp_list_pages.md +14 -5
  121. package/docs/api/tools/wp_list_posts.md +15 -7
  122. package/docs/api/tools/wp_list_tags.md +11 -3
  123. package/docs/api/tools/wp_list_users.md +11 -3
  124. package/docs/api/tools/wp_performance_alerts.md +17 -7
  125. package/docs/api/tools/wp_performance_benchmark.md +17 -7
  126. package/docs/api/tools/wp_performance_export.md +17 -7
  127. package/docs/api/tools/wp_performance_history.md +17 -7
  128. package/docs/api/tools/wp_performance_optimize.md +17 -7
  129. package/docs/api/tools/wp_performance_stats.md +17 -7
  130. package/docs/api/tools/wp_search_site.md +11 -3
  131. package/docs/api/tools/wp_spam_comment.md +11 -3
  132. package/docs/api/tools/wp_switch_auth_method.md +14 -5
  133. package/docs/api/tools/wp_test_auth.md +11 -3
  134. package/docs/api/tools/wp_update_category.md +11 -3
  135. package/docs/api/tools/wp_update_comment.md +14 -5
  136. package/docs/api/tools/wp_update_media.md +14 -5
  137. package/docs/api/tools/wp_update_page.md +13 -5
  138. package/docs/api/tools/wp_update_post.md +14 -7
  139. package/docs/api/tools/wp_update_site_settings.md +14 -5
  140. package/docs/api/tools/wp_update_tag.md +11 -3
  141. package/docs/api/tools/wp_update_user.md +13 -5
  142. package/docs/api/tools/wp_upload_media.md +13 -5
  143. package/docs/api/types/WordPressPost.md +2 -0
  144. package/docs/code-improvements.md +40 -0
  145. package/docs/contract-testing.md +1 -1
  146. package/docs/developer/API_REFERENCE.md +19 -59
  147. package/docs/developer/ARCHITECTURE.md +8 -11
  148. package/docs/developer/BUILD_SYSTEM.md +2 -2
  149. package/docs/developer/CONTRIBUTING.md +3 -5
  150. package/docs/developer/GITHUB_ACTIONS_SETUP.md +2 -2
  151. package/docs/developer/MIGRATION_GUIDE.md +5 -6
  152. package/docs/developer/README.md +2 -1
  153. package/docs/developer/REFACTORING.md +9 -15
  154. package/docs/developer/RELEASE_PROCESS.md +4 -3
  155. package/docs/developer/TESTING.md +2 -2
  156. package/docs/examples/claude-desktop-config.md +8 -0
  157. package/docs/integrations/claude-desktop.md +426 -0
  158. package/docs/integrations/cline.md +537 -0
  159. package/docs/integrations/vs-code.md +515 -0
  160. package/docs/releases/COMMUNITY_ANNOUNCEMENT_v1.1.2.md +30 -23
  161. package/docs/releases/RELEASE_NOTES_v1.1.2.md +7 -6
  162. package/docs/testing-configurations.md +11 -0
  163. package/docs/user-guides/DOCKER_NPM_DTX_SETUP.md +3 -2
  164. package/docs/user-guides/DOCKER_SETUP.md +3 -2
  165. package/docs/user-guides/DTX_SETUP.md +6 -5
  166. package/docs/user-guides/DXT_INSTALLATION.md +4 -4
  167. package/docs/user-guides/NPM_SETUP.md +4 -2
  168. package/docs/user-guides/NPX_SETUP.md +4 -2
  169. package/docs/user-guides/SMITHERY_SETUP.md +402 -0
  170. package/docs/wordpress-rest-api-authentication-troubleshooting.md +45 -42
  171. package/package.json +12 -2
  172. package/src/cache/CacheInvalidation.ts +7 -18
  173. package/src/client/MockWordPressClient.ts +398 -0
  174. package/src/client/api.ts +77 -237
  175. package/src/client/managers/AuthenticationManager.ts +19 -56
  176. package/src/config/ConfigurationSchema.ts +14 -45
  177. package/src/config/ServerConfiguration.ts +98 -71
  178. package/src/docs/DocumentationGenerator.ts +39 -123
  179. package/src/dxt-entry.cjs +4 -1
  180. package/src/index.ts +35 -54
  181. package/src/security/InputValidator.ts +15 -57
  182. package/src/server/ToolRegistry.ts +88 -17
  183. package/src/tools/auth.ts +15 -22
  184. package/src/tools/posts.ts +347 -64
  185. package/src/tools/site.ts +69 -46
  186. package/src/tools/users.ts +142 -44
  187. package/src/utils/enhancedError.ts +248 -0
  188. package/src/utils/streaming.ts +428 -0
  189. package/src/utils/validation.ts +253 -92
  190. package/dist/mcp-wordpress-1.5.2.tgz +0 -0
@@ -0,0 +1,369 @@
1
+ import { WordPressClient } from "./api.js";
2
+ /**
3
+ * Mock WordPress client for CI environments
4
+ * Provides realistic responses without connecting to actual WordPress
5
+ */
6
+ export class MockWordPressClient extends WordPressClient {
7
+ isMockMode = true;
8
+ constructor(config) {
9
+ super(config);
10
+ }
11
+ /**
12
+ * Override authenticate to not make actual requests
13
+ */
14
+ async authenticate() {
15
+ console.log("INFO: Mock authentication - skipping actual connection");
16
+ return true;
17
+ }
18
+ /**
19
+ * Mock getPosts with realistic data
20
+ */
21
+ async getPosts(params) {
22
+ const mockPosts = [
23
+ {
24
+ id: 1,
25
+ date: "2024-01-15T10:00:00",
26
+ date_gmt: "2024-01-15T10:00:00",
27
+ guid: { rendered: "https://demo.wordpress.com/?p=1" },
28
+ modified: "2024-01-15T10:00:00",
29
+ modified_gmt: "2024-01-15T10:00:00",
30
+ slug: "hello-world",
31
+ status: "publish",
32
+ type: "post",
33
+ link: "https://demo.wordpress.com/hello-world/",
34
+ title: { rendered: "Hello World - Demo Post" },
35
+ content: { rendered: "<p>This is a demo post for CI testing.</p>" },
36
+ excerpt: { rendered: "<p>This is a demo post for CI testing.</p>" },
37
+ author: 1,
38
+ featured_media: 0,
39
+ comment_status: "open",
40
+ ping_status: "open",
41
+ sticky: false,
42
+ template: "",
43
+ format: "standard",
44
+ meta: [],
45
+ categories: [1],
46
+ tags: [],
47
+ },
48
+ {
49
+ id: 2,
50
+ date: "2024-01-16T12:00:00",
51
+ date_gmt: "2024-01-16T12:00:00",
52
+ guid: { rendered: "https://demo.wordpress.com/?p=2" },
53
+ modified: "2024-01-16T12:00:00",
54
+ modified_gmt: "2024-01-16T12:00:00",
55
+ slug: "sample-post",
56
+ status: "publish",
57
+ type: "post",
58
+ link: "https://demo.wordpress.com/sample-post/",
59
+ title: { rendered: "Sample Post for Testing" },
60
+ content: { rendered: "<p>This is another demo post with sample content.</p>" },
61
+ excerpt: { rendered: "<p>This is another demo post with sample content.</p>" },
62
+ author: 1,
63
+ featured_media: 0,
64
+ comment_status: "open",
65
+ ping_status: "open",
66
+ sticky: false,
67
+ template: "",
68
+ format: "standard",
69
+ meta: [],
70
+ categories: [1],
71
+ tags: [1],
72
+ },
73
+ {
74
+ id: 3,
75
+ date: "2024-01-17T14:30:00",
76
+ date_gmt: "2024-01-17T14:30:00",
77
+ guid: { rendered: "https://demo.wordpress.com/?p=3" },
78
+ modified: "2024-01-17T14:30:00",
79
+ modified_gmt: "2024-01-17T14:30:00",
80
+ slug: "latest-news",
81
+ status: "publish",
82
+ type: "post",
83
+ link: "https://demo.wordpress.com/latest-news/",
84
+ title: { rendered: "Latest News Update" },
85
+ content: { rendered: "<p>This is the latest news update for demonstration.</p>" },
86
+ excerpt: { rendered: "<p>This is the latest news update for demonstration.</p>" },
87
+ author: 1,
88
+ featured_media: 0,
89
+ comment_status: "open",
90
+ ping_status: "open",
91
+ sticky: false,
92
+ template: "",
93
+ format: "standard",
94
+ meta: [],
95
+ categories: [1, 2],
96
+ tags: [1, 2],
97
+ },
98
+ ];
99
+ // Apply basic filtering based on params
100
+ let filteredPosts = mockPosts;
101
+ if (params?.per_page) {
102
+ filteredPosts = filteredPosts.slice(0, parseInt(params.per_page.toString()));
103
+ }
104
+ return filteredPosts;
105
+ }
106
+ /**
107
+ * Mock getPost with realistic data
108
+ */
109
+ async getPost(id) {
110
+ if (id === 999999) {
111
+ throw new Error("Invalid post ID.");
112
+ }
113
+ const mockPost = {
114
+ id: id,
115
+ date: "2024-01-15T10:00:00",
116
+ date_gmt: "2024-01-15T10:00:00",
117
+ guid: { rendered: `https://demo.wordpress.com/?p=${id}` },
118
+ modified: "2024-01-15T10:00:00",
119
+ modified_gmt: "2024-01-15T10:00:00",
120
+ slug: `demo-post-${id}`,
121
+ status: "publish",
122
+ type: "post",
123
+ link: `https://demo.wordpress.com/demo-post-${id}/`,
124
+ title: { rendered: `Demo Post ${id}` },
125
+ content: { rendered: `<p>This is demo content for post ${id}.</p>` },
126
+ excerpt: { rendered: `<p>This is demo content for post ${id}.</p>` },
127
+ author: 1,
128
+ featured_media: 0,
129
+ comment_status: "open",
130
+ ping_status: "open",
131
+ sticky: false,
132
+ template: "",
133
+ format: "standard",
134
+ meta: [],
135
+ categories: [1],
136
+ tags: [],
137
+ };
138
+ return mockPost;
139
+ }
140
+ /**
141
+ * Mock getCurrentUser with realistic data
142
+ */
143
+ async getCurrentUser() {
144
+ const mockUser = {
145
+ id: 1,
146
+ name: "CI Demo User",
147
+ username: "ci-demo-user",
148
+ first_name: "CI",
149
+ last_name: "Demo",
150
+ slug: "ci-demo-user",
151
+ email: "demo@example.com",
152
+ url: "https://demo.wordpress.com",
153
+ description: "Demo user for CI testing",
154
+ link: "https://demo.wordpress.com/author/ci-demo-user/",
155
+ locale: "en_US",
156
+ nickname: "CI Demo",
157
+ registered_date: "2024-01-01T00:00:00+00:00",
158
+ roles: ["administrator"],
159
+ capabilities: {
160
+ read: true,
161
+ level_0: true,
162
+ level_1: true,
163
+ level_2: true,
164
+ level_3: true,
165
+ level_4: true,
166
+ level_5: true,
167
+ level_6: true,
168
+ level_7: true,
169
+ level_8: true,
170
+ level_9: true,
171
+ level_10: true,
172
+ delete_others_pages: true,
173
+ delete_others_posts: true,
174
+ delete_pages: true,
175
+ delete_posts: true,
176
+ delete_private_pages: true,
177
+ delete_private_posts: true,
178
+ delete_published_pages: true,
179
+ delete_published_posts: true,
180
+ edit_dashboard: true,
181
+ edit_others_pages: true,
182
+ edit_others_posts: true,
183
+ edit_pages: true,
184
+ edit_posts: true,
185
+ edit_private_pages: true,
186
+ edit_private_posts: true,
187
+ edit_published_pages: true,
188
+ edit_published_posts: true,
189
+ edit_theme_options: true,
190
+ export: true,
191
+ import: true,
192
+ list_users: true,
193
+ manage_categories: true,
194
+ manage_links: true,
195
+ manage_options: true,
196
+ moderate_comments: true,
197
+ promote_users: true,
198
+ publish_pages: true,
199
+ publish_posts: true,
200
+ read_private_pages: true,
201
+ read_private_posts: true,
202
+ remove_users: true,
203
+ switch_themes: true,
204
+ upload_files: true,
205
+ customize: true,
206
+ delete_site: true,
207
+ },
208
+ extra_capabilities: {
209
+ administrator: true,
210
+ },
211
+ avatar_urls: {
212
+ "24": "https://secure.gravatar.com/avatar/example?s=24&d=mm&r=g",
213
+ "48": "https://secure.gravatar.com/avatar/example?s=48&d=mm&r=g",
214
+ "96": "https://secure.gravatar.com/avatar/example?s=96&d=mm&r=g",
215
+ },
216
+ meta: [],
217
+ };
218
+ return mockUser;
219
+ }
220
+ /**
221
+ * Mock getSiteSettings with realistic data
222
+ */
223
+ async getSiteSettings() {
224
+ const mockSettings = {
225
+ title: "Demo WordPress Site",
226
+ description: "A demonstration site for CI testing",
227
+ url: "https://demo.wordpress.com",
228
+ email: "admin@demo.wordpress.com",
229
+ timezone: "UTC",
230
+ date_format: "F j, Y",
231
+ time_format: "g:i a",
232
+ start_of_week: 1,
233
+ language: "en_US",
234
+ use_smilies: true,
235
+ default_category: 1,
236
+ default_post_format: "0",
237
+ posts_per_page: 10,
238
+ default_ping_status: "open",
239
+ default_comment_status: "open",
240
+ };
241
+ return mockSettings;
242
+ }
243
+ /**
244
+ * Mock createPost
245
+ */
246
+ async createPost(data) {
247
+ const mockPost = {
248
+ id: Math.floor(Math.random() * 1000) + 100,
249
+ date: new Date().toISOString(),
250
+ date_gmt: new Date().toISOString(),
251
+ guid: { rendered: `https://demo.wordpress.com/?p=${Math.floor(Math.random() * 1000) + 100}` },
252
+ modified: new Date().toISOString(),
253
+ modified_gmt: new Date().toISOString(),
254
+ slug: data.title?.toLowerCase().replace(/\s+/g, "-") || "new-post",
255
+ status: data.status || "publish",
256
+ type: "post",
257
+ link: `https://demo.wordpress.com/${data.title?.toLowerCase().replace(/\s+/g, "-") || "new-post"}/`,
258
+ title: { rendered: data.title || "New Post" },
259
+ content: { rendered: data.content || "<p>New post content</p>" },
260
+ excerpt: { rendered: data.excerpt || "<p>New post excerpt</p>" },
261
+ author: 1,
262
+ featured_media: 0,
263
+ comment_status: "open",
264
+ ping_status: "open",
265
+ sticky: false,
266
+ template: "",
267
+ format: "standard",
268
+ meta: [],
269
+ categories: [1],
270
+ tags: [],
271
+ };
272
+ return mockPost;
273
+ }
274
+ /**
275
+ * Mock updatePost
276
+ */
277
+ async updatePost(data) {
278
+ const mockPost = {
279
+ id: data.id,
280
+ date: "2024-01-15T10:00:00",
281
+ date_gmt: "2024-01-15T10:00:00",
282
+ guid: { rendered: `https://demo.wordpress.com/?p=${data.id}` },
283
+ modified: new Date().toISOString(),
284
+ modified_gmt: new Date().toISOString(),
285
+ slug: data.title?.toLowerCase().replace(/\s+/g, "-") || `post-${data.id}`,
286
+ status: data.status || "publish",
287
+ type: "post",
288
+ link: `https://demo.wordpress.com/${data.title?.toLowerCase().replace(/\s+/g, "-") || `post-${data.id}`}/`,
289
+ title: { rendered: data.title || `Updated Post ${data.id}` },
290
+ content: { rendered: data.content || "<p>Updated content</p>" },
291
+ excerpt: { rendered: data.excerpt || "<p>Updated excerpt</p>" },
292
+ author: 1,
293
+ featured_media: 0,
294
+ comment_status: "open",
295
+ ping_status: "open",
296
+ sticky: false,
297
+ template: "",
298
+ format: "standard",
299
+ meta: [],
300
+ categories: [1],
301
+ tags: [],
302
+ };
303
+ return mockPost;
304
+ }
305
+ /**
306
+ * Mock search
307
+ */
308
+ async search(query, types, subtype) {
309
+ if (!query) {
310
+ return [];
311
+ }
312
+ return [
313
+ {
314
+ id: 1,
315
+ title: `Search Result for "${query}"`,
316
+ url: `https://demo.wordpress.com/search-result-1/`,
317
+ type: "post",
318
+ subtype: "post",
319
+ },
320
+ {
321
+ id: 2,
322
+ title: `Another result for "${query}"`,
323
+ url: `https://demo.wordpress.com/search-result-2/`,
324
+ type: "post",
325
+ subtype: "post",
326
+ },
327
+ ];
328
+ }
329
+ /**
330
+ * Mock deletePost
331
+ */
332
+ async deletePost(id, force = false) {
333
+ return {
334
+ deleted: true,
335
+ previous: {
336
+ id,
337
+ date: "2024-01-15T10:00:00",
338
+ date_gmt: "2024-01-15T10:00:00",
339
+ guid: { rendered: `https://demo.wordpress.com/?p=${id}` },
340
+ modified: "2024-01-15T10:00:00",
341
+ modified_gmt: "2024-01-15T10:00:00",
342
+ slug: `deleted-post-${id}`,
343
+ status: "trash",
344
+ type: "post",
345
+ link: `https://demo.wordpress.com/deleted-post-${id}/`,
346
+ title: { rendered: `Deleted Post ${id}` },
347
+ content: { rendered: `<p>This post was deleted.</p>` },
348
+ excerpt: { rendered: `<p>This post was deleted.</p>` },
349
+ author: 1,
350
+ featured_media: 0,
351
+ comment_status: "open",
352
+ ping_status: "open",
353
+ sticky: false,
354
+ template: "",
355
+ format: "standard",
356
+ meta: [],
357
+ categories: [1],
358
+ tags: [],
359
+ },
360
+ };
361
+ }
362
+ /**
363
+ * Override getSiteUrl to return mock URL
364
+ */
365
+ getSiteUrl() {
366
+ return "https://demo.wordpress.com";
367
+ }
368
+ }
369
+ //# sourceMappingURL=MockWordPressClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MockWordPressClient.js","sourceRoot":"","sources":["../../src/client/MockWordPressClient.ts"],"names":[],"mappings":"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"}
@@ -20,6 +20,7 @@ export declare class WordPressClient implements IWordPressClient {
20
20
  get config(): WordPressClientConfig;
21
21
  get isAuthenticated(): boolean;
22
22
  get stats(): ClientStats;
23
+ getSiteUrl(): string;
23
24
  private getAuthFromEnv;
24
25
  private validateConfig;
25
26
  initialize(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.d.ts","sourceRoot":"","sources":["../../src/client/api.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  import FormData from "form-data";
7
7
  import * as fs from "fs";
8
8
  import * as path from "path";
9
- import { WordPressAPIError, AuthenticationError, RateLimitError, } from "../types/client.js";
9
+ import { WordPressAPIError, AuthenticationError, RateLimitError } from "../types/client.js";
10
10
  import { debug, logError, startTimer } from "../utils/debug.js";
11
11
  export class WordPressClient {
12
12
  baseUrl;
@@ -23,10 +23,8 @@ export class WordPressClient {
23
23
  constructor(options = {}) {
24
24
  this.baseUrl = options.baseUrl || process.env.WORDPRESS_SITE_URL || "";
25
25
  this.apiUrl = "";
26
- this.timeout =
27
- options.timeout || parseInt(process.env.WORDPRESS_TIMEOUT || "30000");
28
- this.maxRetries =
29
- options.maxRetries || parseInt(process.env.WORDPRESS_MAX_RETRIES || "3");
26
+ this.timeout = options.timeout || parseInt(process.env.WORDPRESS_TIMEOUT || "30000");
27
+ this.maxRetries = options.maxRetries || parseInt(process.env.WORDPRESS_MAX_RETRIES || "3");
30
28
  // Authentication configuration
31
29
  this.auth = options.auth || this.getAuthFromEnv();
32
30
  // Rate limiting
@@ -57,12 +55,13 @@ export class WordPressClient {
57
55
  get stats() {
58
56
  return { ...this._stats };
59
57
  }
58
+ getSiteUrl() {
59
+ return this.baseUrl;
60
+ }
60
61
  getAuthFromEnv() {
61
62
  const authMethod = process.env.WORDPRESS_AUTH_METHOD;
62
63
  // Use explicit auth method if set
63
- if (authMethod === "app-password" &&
64
- process.env.WORDPRESS_USERNAME &&
65
- process.env.WORDPRESS_APP_PASSWORD) {
64
+ if (authMethod === "app-password" && process.env.WORDPRESS_USERNAME && process.env.WORDPRESS_APP_PASSWORD) {
66
65
  return {
67
66
  method: "app-password",
68
67
  username: process.env.WORDPRESS_USERNAME,
@@ -78,9 +77,7 @@ export class WordPressClient {
78
77
  };
79
78
  }
80
79
  // Try JWT
81
- if (process.env.WORDPRESS_JWT_SECRET &&
82
- process.env.WORDPRESS_USERNAME &&
83
- process.env.WORDPRESS_PASSWORD) {
80
+ if (process.env.WORDPRESS_JWT_SECRET && process.env.WORDPRESS_USERNAME && process.env.WORDPRESS_PASSWORD) {
84
81
  return {
85
82
  method: "jwt",
86
83
  secret: process.env.WORDPRESS_JWT_SECRET,
@@ -106,9 +103,7 @@ export class WordPressClient {
106
103
  return {
107
104
  method: "basic",
108
105
  username: process.env.WORDPRESS_USERNAME || "",
109
- password: process.env.WORDPRESS_PASSWORD ||
110
- process.env.WORDPRESS_APP_PASSWORD ||
111
- "",
106
+ password: process.env.WORDPRESS_PASSWORD || process.env.WORDPRESS_APP_PASSWORD || "",
112
107
  };
113
108
  }
114
109
  validateConfig() {
@@ -210,10 +205,7 @@ export class WordPressClient {
210
205
  * Authenticate using Basic/Application Password
211
206
  */
212
207
  async authenticateWithBasic() {
213
- const hasCredentials = this.auth.username &&
214
- (this.auth.method === "app-password"
215
- ? this.auth.appPassword
216
- : this.auth.password);
208
+ const hasCredentials = this.auth.username && (this.auth.method === "app-password" ? this.auth.appPassword : this.auth.password);
217
209
  if (!hasCredentials) {
218
210
  const methodName = this.auth.method === "app-password" ? "Application Password" : "Basic";
219
211
  const passwordField = this.auth.method === "app-password" ? "app password" : "password";
@@ -280,9 +272,7 @@ export class WordPressClient {
280
272
  this._stats.totalRequests++;
281
273
  // Handle endpoint properly - remove leading slash if present to avoid double slashes
282
274
  const cleanEndpoint = endpoint.replace(/^\/+/, "");
283
- const url = endpoint.startsWith("http")
284
- ? endpoint
285
- : `${this.apiUrl}/${cleanEndpoint}`;
275
+ const url = endpoint.startsWith("http") ? endpoint : `${this.apiUrl}/${cleanEndpoint}`;
286
276
  const headers = {
287
277
  "Content-Type": "application/json",
288
278
  "User-Agent": "MCP-WordPress/1.0.0",
@@ -302,8 +292,7 @@ export class WordPressClient {
302
292
  };
303
293
  // Add body for POST/PUT/PATCH requests
304
294
  if (data && ["POST", "PUT", "PATCH"].includes(method)) {
305
- if (data instanceof FormData ||
306
- (data && typeof data.append === "function")) {
295
+ if (data instanceof FormData || (data && typeof data.append === "function")) {
307
296
  // For FormData, check if it has getHeaders method (form-data package)
308
297
  if (data && typeof data.getHeaders === "function") {
309
298
  // Use headers from form-data package
@@ -341,12 +330,10 @@ export class WordPressClient {
341
330
  let errorMessage;
342
331
  try {
343
332
  const errorData = JSON.parse(errorText);
344
- errorMessage =
345
- errorData.message || errorData.error || `HTTP ${response.status}`;
333
+ errorMessage = errorData.message || errorData.error || `HTTP ${response.status}`;
346
334
  }
347
335
  catch {
348
- errorMessage =
349
- errorText || `HTTP ${response.status}: ${response.statusText}`;
336
+ errorMessage = errorText || `HTTP ${response.status}: ${response.statusText}`;
350
337
  }
351
338
  // Handle rate limiting
352
339
  if (response.status === 429) {
@@ -354,17 +341,14 @@ export class WordPressClient {
354
341
  throw new RateLimitError(errorMessage, Date.now() + 60000);
355
342
  }
356
343
  // Handle permission errors specifically for uploads
357
- if (response.status === 403 &&
358
- endpoint.includes("media") &&
359
- method === "POST") {
344
+ if (response.status === 403 && endpoint.includes("media") && method === "POST") {
360
345
  throw new AuthenticationError("Media upload blocked: WordPress REST API media uploads appear to be disabled or restricted by a plugin/security policy. " +
361
346
  `Error: ${errorMessage}. ` +
362
347
  "Common causes: W3 Total Cache, security plugins, or custom REST API restrictions. " +
363
348
  "Please check WordPress admin settings or contact your system administrator.", this.auth.method);
364
349
  }
365
350
  // Handle general upload permission errors
366
- if (errorMessage.includes("Beiträge zu erstellen") &&
367
- endpoint.includes("media")) {
351
+ if (errorMessage.includes("Beiträge zu erstellen") && endpoint.includes("media")) {
368
352
  throw new AuthenticationError(`WordPress REST API media upload restriction detected: ${errorMessage}. ` +
369
353
  "This typically indicates that media uploads via REST API are disabled by WordPress configuration, " +
370
354
  "a security plugin (like W3 Total Cache, Borlabs Cookie), or server policy. " +
@@ -406,8 +390,7 @@ export class WordPressClient {
406
390
  lastError = new Error(`Request timeout after ${requestTimeout}ms`);
407
391
  }
408
392
  // Handle network errors
409
- if (lastError.message.includes("socket hang up") ||
410
- lastError.message.includes("ECONNRESET")) {
393
+ if (lastError.message.includes("socket hang up") || lastError.message.includes("ECONNRESET")) {
411
394
  lastError = new Error(`Network connection lost during upload: ${lastError.message}`);
412
395
  }
413
396
  debug.log(`Request failed (attempt ${attempt + 1}): ${lastError.message}`);
@@ -430,8 +413,7 @@ export class WordPressClient {
430
413
  updateAverageResponseTime(duration) {
431
414
  const totalSuccessful = this._stats.successfulRequests;
432
415
  this._stats.averageResponseTime =
433
- (this._stats.averageResponseTime * (totalSuccessful - 1) + duration) /
434
- totalSuccessful;
416
+ (this._stats.averageResponseTime * (totalSuccessful - 1) + duration) / totalSuccessful;
435
417
  this._stats.lastRequestTime = Date.now();
436
418
  }
437
419
  // HTTP method helpers
@@ -453,9 +435,7 @@ export class WordPressClient {
453
435
  // WordPress API Methods
454
436
  // Posts
455
437
  async getPosts(params) {
456
- const queryString = params
457
- ? "?" + new URLSearchParams(params).toString()
458
- : "";
438
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
459
439
  return this.get(`posts${queryString}`);
460
440
  }
461
441
  async getPost(id, context = "view") {
@@ -476,9 +456,7 @@ export class WordPressClient {
476
456
  }
477
457
  // Pages
478
458
  async getPages(params) {
479
- const queryString = params
480
- ? "?" + new URLSearchParams(params).toString()
481
- : "";
459
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
482
460
  return this.get(`pages${queryString}`);
483
461
  }
484
462
  async getPage(id, context = "view") {
@@ -499,9 +477,7 @@ export class WordPressClient {
499
477
  }
500
478
  // Media
501
479
  async getMedia(params) {
502
- const queryString = params
503
- ? "?" + new URLSearchParams(params).toString()
504
- : "";
480
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
505
481
  return this.get(`media${queryString}`);
506
482
  }
507
483
  async getMediaItem(id, context = "view") {
@@ -562,9 +538,7 @@ export class WordPressClient {
562
538
  }
563
539
  // Users
564
540
  async getUsers(params) {
565
- const queryString = params
566
- ? "?" + new URLSearchParams(params).toString()
567
- : "";
541
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
568
542
  return this.get(`users${queryString}`);
569
543
  }
570
544
  async getUser(id, context = "view") {
@@ -578,9 +552,7 @@ export class WordPressClient {
578
552
  return this.put(`users/${id}`, updateData);
579
553
  }
580
554
  async deleteUser(id, reassign) {
581
- const params = reassign
582
- ? `?reassign=${reassign}&force=true`
583
- : "?force=true";
555
+ const params = reassign ? `?reassign=${reassign}&force=true` : "?force=true";
584
556
  return this.delete(`users/${id}${params}`);
585
557
  }
586
558
  async getCurrentUser() {
@@ -588,9 +560,7 @@ export class WordPressClient {
588
560
  }
589
561
  // Comments
590
562
  async getComments(params) {
591
- const queryString = params
592
- ? "?" + new URLSearchParams(params).toString()
593
- : "";
563
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
594
564
  return this.get(`comments${queryString}`);
595
565
  }
596
566
  async getComment(id, context = "view") {
@@ -619,9 +589,7 @@ export class WordPressClient {
619
589
  }
620
590
  // Taxonomies
621
591
  async getCategories(params) {
622
- const queryString = params
623
- ? "?" + new URLSearchParams(params).toString()
624
- : "";
592
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
625
593
  return this.get(`categories${queryString}`);
626
594
  }
627
595
  async getCategory(id) {
@@ -638,9 +606,7 @@ export class WordPressClient {
638
606
  return this.delete(`categories/${id}?force=${force}`);
639
607
  }
640
608
  async getTags(params) {
641
- const queryString = params
642
- ? "?" + new URLSearchParams(params).toString()
643
- : "";
609
+ const queryString = params ? "?" + new URLSearchParams(params).toString() : "";
644
610
  return this.get(`tags${queryString}`);
645
611
  }
646
612
  async getTag(id) {