mcp-wordpress 1.5.2 → 2.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 (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
@@ -1,4 +1,5 @@
1
1
  import { getErrorMessage } from "../utils/error.js";
2
+ import { WordPressDataStreamer, StreamingUtils } from "../utils/streaming.js";
2
3
  /**
3
4
  * Provides tools for managing users on a WordPress site.
4
5
  * This class encapsulates tool definitions and their corresponding handlers.
@@ -12,7 +13,13 @@ export class UserTools {
12
13
  return [
13
14
  {
14
15
  name: "wp_list_users",
15
- description: "Lists users from a WordPress site, with filters.",
16
+ description: "Lists users from a WordPress site with comprehensive filtering and detailed user information including roles, registration dates, and activity status.\n\n" +
17
+ "**Usage Examples:**\n" +
18
+ "• List all users: `wp_list_users`\n" +
19
+ '• Search users: `wp_list_users --search="john"`\n' +
20
+ '• Filter by role: `wp_list_users --roles=["editor","author"]`\n' +
21
+ '• Find admins: `wp_list_users --roles=["administrator"]`\n' +
22
+ '• Combined search: `wp_list_users --search="smith" --roles=["subscriber"]`',
16
23
  parameters: [
17
24
  {
18
25
  name: "search",
@@ -43,7 +50,12 @@ export class UserTools {
43
50
  },
44
51
  {
45
52
  name: "wp_get_current_user",
46
- description: "Retrieves the currently authenticated user.",
53
+ description: "Retrieves the currently authenticated user with comprehensive profile information including roles, capabilities, and account details.\n\n" +
54
+ "**Usage Examples:**\n" +
55
+ "• Get current user: `wp_get_current_user`\n" +
56
+ "• Check permissions: Use this to verify your current user's capabilities and roles\n" +
57
+ "• Account verification: Confirm you're authenticated with the correct account\n" +
58
+ "• Profile details: View registration date, email, and user metadata",
47
59
  parameters: [],
48
60
  handler: this.handleGetCurrentUser.bind(this),
49
61
  },
@@ -127,10 +139,59 @@ export class UserTools {
127
139
  if (users.length === 0) {
128
140
  return "No users found matching the criteria.";
129
141
  }
130
- const content = `Found ${users.length} users:\n\n` +
142
+ // Use streaming for large user result sets (>30 users)
143
+ if (users.length > 30) {
144
+ const streamResults = [];
145
+ for await (const result of WordPressDataStreamer.streamUsers(users, {
146
+ includeRoles: true,
147
+ includeCapabilities: false, // Too verbose for large sets
148
+ batchSize: 15,
149
+ })) {
150
+ streamResults.push(result);
151
+ }
152
+ return StreamingUtils.formatStreamingResponse(streamResults, "users");
153
+ }
154
+ // Enhanced user information with comprehensive details
155
+ const siteUrl = client.getSiteUrl ? client.getSiteUrl() : "Unknown site";
156
+ const userCount = users.length;
157
+ const rolesSummary = users.reduce((acc, u) => {
158
+ const roles = u.roles || [];
159
+ roles.forEach((role) => {
160
+ acc[role] = (acc[role] || 0) + 1;
161
+ });
162
+ return acc;
163
+ }, {});
164
+ const metadata = [
165
+ `👥 **Users Summary**: ${userCount} total users`,
166
+ `🌐 **Source**: ${siteUrl}`,
167
+ `📊 **Roles Distribution**: ${Object.entries(rolesSummary)
168
+ .map(([role, count]) => `${role}: ${count}`)
169
+ .join(", ")}`,
170
+ `📅 **Retrieved**: ${new Date().toLocaleString()}`,
171
+ ];
172
+ const content = metadata.join("\n") +
173
+ "\n\n" +
131
174
  users
132
- .map((u) => `- ID ${u.id}: **${u.name}** (@${u.slug}) - ${u.email}\n Roles: ${u.roles?.join(", ") || "N/A"}`)
133
- .join("\n");
175
+ .map((u) => {
176
+ const registrationDate = u.registered_date
177
+ ? new Date(u.registered_date).toLocaleDateString("en-US", {
178
+ year: "numeric",
179
+ month: "short",
180
+ day: "numeric",
181
+ })
182
+ : "Unknown";
183
+ const roles = u.roles?.join(", ") || "No roles";
184
+ const description = u.description || "No description";
185
+ const displayName = u.name || "No display name";
186
+ const userUrl = u.url || "No URL";
187
+ return (`- **ID ${u.id}**: ${displayName} (@${u.slug})\n` +
188
+ ` 📧 Email: ${u.email || "No email"}\n` +
189
+ ` 🎭 Roles: ${roles}\n` +
190
+ ` 📅 Registered: ${registrationDate}\n` +
191
+ ` 🔗 URL: ${userUrl}\n` +
192
+ ` 📝 Description: ${description}`);
193
+ })
194
+ .join("\n\n");
134
195
  return content;
135
196
  }
136
197
  catch (error) {
@@ -154,11 +215,53 @@ export class UserTools {
154
215
  async handleGetCurrentUser(client, params) {
155
216
  try {
156
217
  const user = await client.getCurrentUser();
157
- const content = `**Current User Details (ID: ${user.id})**\n\n` +
158
- `- **Name:** ${user.name}\n` +
159
- `- **Username:** ${user.slug}\n` +
160
- `- **Email:** ${user.email}\n` +
161
- `- **Roles:** ${user.roles?.join(", ") || "N/A"}`;
218
+ const siteUrl = client.getSiteUrl();
219
+ // Extract meaningful information from capabilities
220
+ const capabilities = user.capabilities || {};
221
+ const keyCapabilities = [
222
+ "edit_posts",
223
+ "edit_pages",
224
+ "publish_posts",
225
+ "publish_pages",
226
+ "delete_posts",
227
+ "delete_pages",
228
+ "manage_categories",
229
+ "manage_options",
230
+ "moderate_comments",
231
+ "upload_files",
232
+ "edit_others_posts",
233
+ "delete_others_posts",
234
+ ];
235
+ const userCapabilities = keyCapabilities.filter((cap) => capabilities[cap]).join(", ");
236
+ const totalCapabilities = Object.keys(capabilities).length;
237
+ // Format registration date more clearly
238
+ const registrationDate = user.registered_date
239
+ ? new Date(user.registered_date).toLocaleDateString("en-US", {
240
+ year: "numeric",
241
+ month: "long",
242
+ day: "numeric",
243
+ })
244
+ : "Not available";
245
+ // Extract role information
246
+ const roles = user.roles || [];
247
+ const primaryRole = roles[0] || "No role assigned";
248
+ const allRoles = roles.length > 1 ? roles.join(", ") : primaryRole;
249
+ // Build comprehensive user information
250
+ const content = `**Current User Details for ${siteUrl}**\n\n` +
251
+ `- **ID:** ${user.id}\n` +
252
+ `- **Display Name:** ${user.name || "Not set"}\n` +
253
+ `- **Username:** ${user.slug || "Not set"}\n` +
254
+ `- **Email:** ${user.email || "Not set"}\n` +
255
+ `- **User URL:** ${user.url || "Not set"}\n` +
256
+ `- **Nickname:** ${user.nickname || user.name || "Not set"}\n` +
257
+ `- **Description:** ${user.description || "No description provided"}\n` +
258
+ `- **Locale:** ${user.locale || "Default"}\n` +
259
+ `- **Registration Date:** ${registrationDate}\n` +
260
+ `- **Primary Role:** ${primaryRole}\n` +
261
+ `- **All Roles:** ${allRoles}\n` +
262
+ `- **Total Capabilities:** ${totalCapabilities} capabilities\n` +
263
+ `- **Key Capabilities:** ${userCapabilities || "None"}\n` +
264
+ `- **Profile Link:** ${user.link || `${siteUrl}/wp-admin/profile.php`}`;
162
265
  return content;
163
266
  }
164
267
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users.js","sourceRoot":"","sources":["../../src/tools/users.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ export interface ErrorContext {
2
+ operation: string;
3
+ parameters?: Record<string, any>;
4
+ suggestions?: string[];
5
+ troubleshooting?: string[];
6
+ }
7
+ /**
8
+ * Enhanced error handling with helpful messages and suggestions
9
+ */
10
+ export declare class EnhancedError extends Error {
11
+ suggestions: string[];
12
+ troubleshooting: string[];
13
+ context: ErrorContext;
14
+ constructor(message: string, context: ErrorContext);
15
+ /**
16
+ * Format error message with suggestions
17
+ */
18
+ toString(): string;
19
+ }
20
+ /**
21
+ * Common error handlers with context-aware suggestions
22
+ */
23
+ export declare class ErrorHandlers {
24
+ /**
25
+ * Handle post not found errors
26
+ */
27
+ static postNotFound(postId: number, originalError: any): EnhancedError;
28
+ /**
29
+ * Handle authentication errors
30
+ */
31
+ static authenticationFailed(originalError: any): EnhancedError;
32
+ /**
33
+ * Handle site parameter missing errors
34
+ */
35
+ static siteParameterMissing(availableSites: string[]): EnhancedError;
36
+ /**
37
+ * Handle site not found errors
38
+ */
39
+ static siteNotFound(siteId: string, availableSites: string[]): EnhancedError;
40
+ /**
41
+ * Handle permission errors
42
+ */
43
+ static permissionDenied(operation: string, originalError: any): EnhancedError;
44
+ /**
45
+ * Handle network/connection errors
46
+ */
47
+ static connectionError(originalError: any): EnhancedError;
48
+ /**
49
+ * Handle validation errors
50
+ */
51
+ static validationError(field: string, value: any, expectedType: string): EnhancedError;
52
+ /**
53
+ * Handle rate limiting errors
54
+ */
55
+ static rateLimitExceeded(originalError: any): EnhancedError;
56
+ /**
57
+ * Generic error handler with basic suggestions
58
+ */
59
+ static generic(operation: string, originalError: any): EnhancedError;
60
+ }
61
+ //# sourceMappingURL=enhancedError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhancedError.d.ts","sourceRoot":"","sources":["../../src/utils/enhancedError.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IACjC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;CAC5B;AAED;;GAEG;AACH,qBAAa,aAAc,SAAQ,KAAK;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,OAAO,EAAE,YAAY,CAAC;gBAEjB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY;IAQlD;;OAEG;IACH,QAAQ,IAAI,MAAM;CAmBnB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,aAAa;IAqBtE;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,aAAa,EAAE,GAAG,GAAG,aAAa;IAqB9D;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,cAAc,EAAE,MAAM,EAAE,GAAG,aAAa;IAgBpE;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,aAAa;IAiB5E;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,aAAa;IAmB7E;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,aAAa,EAAE,GAAG,GAAG,aAAa;IAmBzD;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,MAAM,GAAG,aAAa;IAiBtF;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,aAAa,EAAE,GAAG,GAAG,aAAa;IAmB3D;;OAEG;IACH,MAAM,CAAC,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,GAAG,aAAa;CAkBrE"}
@@ -0,0 +1,221 @@
1
+ import { getErrorMessage } from "./error.js";
2
+ /**
3
+ * Enhanced error handling with helpful messages and suggestions
4
+ */
5
+ export class EnhancedError extends Error {
6
+ suggestions;
7
+ troubleshooting;
8
+ context;
9
+ constructor(message, context) {
10
+ super(message);
11
+ this.name = "EnhancedError";
12
+ this.context = context;
13
+ this.suggestions = context.suggestions || [];
14
+ this.troubleshooting = context.troubleshooting || [];
15
+ }
16
+ /**
17
+ * Format error message with suggestions
18
+ */
19
+ toString() {
20
+ let message = `❌ ${this.message}`;
21
+ if (this.suggestions.length > 0) {
22
+ message += `\n\n💡 **Suggestions:**\n`;
23
+ this.suggestions.forEach((suggestion) => {
24
+ message += `• ${suggestion}\n`;
25
+ });
26
+ }
27
+ if (this.troubleshooting.length > 0) {
28
+ message += `\n🔧 **Troubleshooting:**\n`;
29
+ this.troubleshooting.forEach((step) => {
30
+ message += `• ${step}\n`;
31
+ });
32
+ }
33
+ return message;
34
+ }
35
+ }
36
+ /**
37
+ * Common error handlers with context-aware suggestions
38
+ */
39
+ export class ErrorHandlers {
40
+ /**
41
+ * Handle post not found errors
42
+ */
43
+ static postNotFound(postId, originalError) {
44
+ const errorMessage = getErrorMessage(originalError);
45
+ return new EnhancedError(`Post with ID ${postId} not found`, {
46
+ operation: "get_post",
47
+ parameters: { postId },
48
+ suggestions: [
49
+ "Check if the post ID is correct",
50
+ "Verify the post exists and is published",
51
+ "Try listing posts first with wp_list_posts to see available posts",
52
+ "Check if you have permission to view this post",
53
+ ],
54
+ troubleshooting: [
55
+ "Use wp_list_posts to see all available posts",
56
+ "Check the post status - it might be draft, private, or trashed",
57
+ "Verify your user permissions for viewing posts",
58
+ `Original error: ${errorMessage}`,
59
+ ],
60
+ });
61
+ }
62
+ /**
63
+ * Handle authentication errors
64
+ */
65
+ static authenticationFailed(originalError) {
66
+ const errorMessage = getErrorMessage(originalError);
67
+ return new EnhancedError("Authentication failed", {
68
+ operation: "authenticate",
69
+ suggestions: [
70
+ "Check your WordPress credentials (username and app password)",
71
+ "Verify the WordPress site URL is correct",
72
+ "Ensure application passwords are enabled on your WordPress site",
73
+ "Try regenerating your application password",
74
+ ],
75
+ troubleshooting: [
76
+ "Go to your WordPress admin → Users → Profile → Application Passwords",
77
+ "Create a new application password with a descriptive name",
78
+ "Make sure the WordPress site URL ends with wp-json/wp/v2",
79
+ "Check if your site has any security plugins blocking REST API",
80
+ `Original error: ${errorMessage}`,
81
+ ],
82
+ });
83
+ }
84
+ /**
85
+ * Handle site parameter missing errors
86
+ */
87
+ static siteParameterMissing(availableSites) {
88
+ return new EnhancedError("Multiple sites configured - site parameter required", {
89
+ operation: "site_selection",
90
+ suggestions: [
91
+ "Add --site parameter to specify which site to use",
92
+ `Available sites: ${availableSites.join(", ")}`,
93
+ 'Example: wp_list_posts --site="your-site-id"',
94
+ ],
95
+ troubleshooting: [
96
+ "Check your mcp-wordpress.config.json for configured sites",
97
+ "Use the site ID from your configuration file",
98
+ "Site IDs are defined in the 'id' field of each site config",
99
+ ],
100
+ });
101
+ }
102
+ /**
103
+ * Handle site not found errors
104
+ */
105
+ static siteNotFound(siteId, availableSites) {
106
+ return new EnhancedError(`Site with ID '${siteId}' not found`, {
107
+ operation: "site_selection",
108
+ parameters: { siteId },
109
+ suggestions: [
110
+ `Available sites: ${availableSites.join(", ")}`,
111
+ "Check the spelling of the site ID",
112
+ "Verify the site is configured in mcp-wordpress.config.json",
113
+ ],
114
+ troubleshooting: [
115
+ "Open mcp-wordpress.config.json to see configured sites",
116
+ "Check the 'id' field for each site configuration",
117
+ "Ensure the site ID matches exactly (case-sensitive)",
118
+ ],
119
+ });
120
+ }
121
+ /**
122
+ * Handle permission errors
123
+ */
124
+ static permissionDenied(operation, originalError) {
125
+ const errorMessage = getErrorMessage(originalError);
126
+ return new EnhancedError(`Permission denied for ${operation}`, {
127
+ operation,
128
+ suggestions: [
129
+ "Check if your user has the required permissions",
130
+ "Verify you're logged in with the correct user account",
131
+ "Contact your WordPress administrator for permission changes",
132
+ ],
133
+ troubleshooting: [
134
+ "Check your user role in WordPress admin → Users",
135
+ "Verify the required capabilities for this operation",
136
+ "Try using an administrator account",
137
+ `Original error: ${errorMessage}`,
138
+ ],
139
+ });
140
+ }
141
+ /**
142
+ * Handle network/connection errors
143
+ */
144
+ static connectionError(originalError) {
145
+ const errorMessage = getErrorMessage(originalError);
146
+ return new EnhancedError("Failed to connect to WordPress site", {
147
+ operation: "connection",
148
+ suggestions: [
149
+ "Check your internet connection",
150
+ "Verify the WordPress site URL is correct and accessible",
151
+ "Check if the site is temporarily down",
152
+ ],
153
+ troubleshooting: [
154
+ "Try accessing the site in your browser",
155
+ "Check if the REST API is enabled: visit yoursite.com/wp-json/",
156
+ "Verify there are no firewall or security plugins blocking access",
157
+ `Original error: ${errorMessage}`,
158
+ ],
159
+ });
160
+ }
161
+ /**
162
+ * Handle validation errors
163
+ */
164
+ static validationError(field, value, expectedType) {
165
+ return new EnhancedError(`Invalid ${field}: expected ${expectedType}, got ${typeof value}`, {
166
+ operation: "validation",
167
+ parameters: { field, value, expectedType },
168
+ suggestions: [
169
+ `Provide a valid ${expectedType} for ${field}`,
170
+ "Check the parameter format and type",
171
+ "Refer to the tool documentation for correct parameter format",
172
+ ],
173
+ troubleshooting: [
174
+ "Review the tool's parameter requirements",
175
+ "Check for typos in parameter names",
176
+ "Ensure parameter values match the expected type",
177
+ ],
178
+ });
179
+ }
180
+ /**
181
+ * Handle rate limiting errors
182
+ */
183
+ static rateLimitExceeded(originalError) {
184
+ const errorMessage = getErrorMessage(originalError);
185
+ return new EnhancedError("Rate limit exceeded", {
186
+ operation: "rate_limit",
187
+ suggestions: [
188
+ "Wait a few minutes before trying again",
189
+ "Reduce the frequency of requests",
190
+ "Use pagination for large operations",
191
+ ],
192
+ troubleshooting: [
193
+ "Check your WordPress hosting plan limits",
194
+ "Consider upgrading your hosting plan for higher limits",
195
+ "Implement delays between requests",
196
+ `Original error: ${errorMessage}`,
197
+ ],
198
+ });
199
+ }
200
+ /**
201
+ * Generic error handler with basic suggestions
202
+ */
203
+ static generic(operation, originalError) {
204
+ const errorMessage = getErrorMessage(originalError);
205
+ return new EnhancedError(`Failed to ${operation}`, {
206
+ operation,
207
+ suggestions: [
208
+ "Check your WordPress credentials and permissions",
209
+ "Verify the site is accessible and functioning",
210
+ "Try the operation again after a brief wait",
211
+ ],
212
+ troubleshooting: [
213
+ "Test your connection with a simpler operation first",
214
+ "Check WordPress admin for any issues",
215
+ "Review the WordPress error logs",
216
+ `Original error: ${errorMessage}`,
217
+ ],
218
+ });
219
+ }
220
+ }
221
+ //# sourceMappingURL=enhancedError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhancedError.js","sourceRoot":"","sources":["../../src/utils/enhancedError.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Streaming utilities for handling large result sets
3
+ * Implements streaming responses for better performance and memory usage
4
+ */
5
+ export interface StreamingOptions {
6
+ batchSize?: number;
7
+ delay?: number;
8
+ transformItem?: (item: any) => any;
9
+ filterItem?: (item: any) => boolean;
10
+ }
11
+ export interface StreamingResult<T> {
12
+ data: T[];
13
+ hasMore: boolean;
14
+ cursor?: string | undefined;
15
+ total?: number | undefined;
16
+ processed: number;
17
+ }
18
+ /**
19
+ * Creates a streaming response for large datasets
20
+ */
21
+ export declare class DataStreamer<T> {
22
+ private batchSize;
23
+ private delay;
24
+ private transformItem;
25
+ private filterItem;
26
+ constructor(options?: StreamingOptions);
27
+ /**
28
+ * Processes data in batches with streaming
29
+ */
30
+ streamBatches<U>(data: T[], processor: (batch: T[]) => Promise<U[]>): AsyncGenerator<StreamingResult<U>, void, unknown>;
31
+ /**
32
+ * Processes large datasets with pagination
33
+ */
34
+ streamPages<U>(fetcher: (page: number, perPage: number) => Promise<{
35
+ data: T[];
36
+ hasMore: boolean;
37
+ }>, processor: (items: T[]) => Promise<U[]>): AsyncGenerator<StreamingResult<U>, void, unknown>;
38
+ }
39
+ /**
40
+ * Streaming formatter for WordPress data
41
+ */
42
+ export declare class WordPressDataStreamer {
43
+ /**
44
+ * Streams WordPress posts with author and taxonomy information
45
+ */
46
+ static streamPosts(posts: any[], options?: {
47
+ includeAuthor?: boolean;
48
+ includeCategories?: boolean;
49
+ includeTags?: boolean;
50
+ batchSize?: number;
51
+ }): AsyncGenerator<StreamingResult<any>, void, unknown>;
52
+ /**
53
+ * Streams WordPress users with role information
54
+ */
55
+ static streamUsers(users: any[], options?: {
56
+ includeRoles?: boolean;
57
+ includeCapabilities?: boolean;
58
+ batchSize?: number;
59
+ }): AsyncGenerator<StreamingResult<any>, void, unknown>;
60
+ /**
61
+ * Streams WordPress comments with moderation status
62
+ */
63
+ static streamComments(comments: any[], options?: {
64
+ includeAuthor?: boolean;
65
+ includePost?: boolean;
66
+ batchSize?: number;
67
+ }): AsyncGenerator<StreamingResult<any>, void, unknown>;
68
+ }
69
+ /**
70
+ * Utility functions for streaming responses
71
+ */
72
+ export declare class StreamingUtils {
73
+ /**
74
+ * Formats streaming results for display
75
+ */
76
+ static formatStreamingResponse(results: StreamingResult<any>[], type?: "posts" | "users" | "comments" | "media"): string;
77
+ /**
78
+ * Implements progressive loading for large datasets
79
+ */
80
+ static loadProgressively<T>(fetcher: (offset: number, limit: number) => Promise<T[]>, options?: {
81
+ initialLoad?: number;
82
+ batchSize?: number;
83
+ maxItems?: number;
84
+ onProgress?: (loaded: number, total?: number) => void;
85
+ }): Promise<T[]>;
86
+ }
87
+ /**
88
+ * Memory-efficient data processor
89
+ */
90
+ export declare class MemoryEfficientProcessor {
91
+ /**
92
+ * Processes large datasets with memory monitoring
93
+ */
94
+ static processLargeDataset<T, U>(dataProvider: () => AsyncGenerator<T[], void, unknown>, processor: (items: T[]) => Promise<U[]>, options?: {
95
+ maxMemoryUsage?: number;
96
+ batchSize?: number;
97
+ onProgress?: (processed: number) => void;
98
+ }): Promise<U[]>;
99
+ /**
100
+ * Helper method to split arrays into chunks
101
+ */
102
+ private static chunkArray;
103
+ }
104
+ //# sourceMappingURL=streaming.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"streaming.d.ts","sourceRoot":"","sources":["../../src/utils/streaming.ts"],"names":[],"mappings":"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"}