mcp-wordpress 1.1.2

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 (134) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +568 -0
  3. package/bin/mcp-wordpress.js +12 -0
  4. package/bin/setup.js +302 -0
  5. package/bin/status.js +359 -0
  6. package/dist/client/WordPressClient.d.ts +81 -0
  7. package/dist/client/WordPressClient.d.ts.map +1 -0
  8. package/dist/client/WordPressClient.js +354 -0
  9. package/dist/client/WordPressClient.js.map +1 -0
  10. package/dist/client/api.d.ts +140 -0
  11. package/dist/client/api.d.ts.map +1 -0
  12. package/dist/client/api.js +727 -0
  13. package/dist/client/api.js.map +1 -0
  14. package/dist/client/auth.d.ts +121 -0
  15. package/dist/client/auth.d.ts.map +1 -0
  16. package/dist/client/auth.js +430 -0
  17. package/dist/client/auth.js.map +1 -0
  18. package/dist/client/managers/AuthenticationManager.d.ts +39 -0
  19. package/dist/client/managers/AuthenticationManager.d.ts.map +1 -0
  20. package/dist/client/managers/AuthenticationManager.js +159 -0
  21. package/dist/client/managers/AuthenticationManager.js.map +1 -0
  22. package/dist/client/managers/BaseManager.d.ts +22 -0
  23. package/dist/client/managers/BaseManager.d.ts.map +1 -0
  24. package/dist/client/managers/BaseManager.js +47 -0
  25. package/dist/client/managers/BaseManager.js.map +1 -0
  26. package/dist/client/managers/RequestManager.d.ts +45 -0
  27. package/dist/client/managers/RequestManager.d.ts.map +1 -0
  28. package/dist/client/managers/RequestManager.js +161 -0
  29. package/dist/client/managers/RequestManager.js.map +1 -0
  30. package/dist/client/managers/index.d.ts +8 -0
  31. package/dist/client/managers/index.d.ts.map +1 -0
  32. package/dist/client/managers/index.js +8 -0
  33. package/dist/client/managers/index.js.map +1 -0
  34. package/dist/index.d.ts +19 -0
  35. package/dist/index.d.ts.map +1 -0
  36. package/dist/index.js +264 -0
  37. package/dist/index.js.map +1 -0
  38. package/dist/server.d.ts +7 -0
  39. package/dist/server.d.ts.map +1 -0
  40. package/dist/server.js +7 -0
  41. package/dist/server.js.map +1 -0
  42. package/dist/tools/auth.d.ts +44 -0
  43. package/dist/tools/auth.d.ts.map +1 -0
  44. package/dist/tools/auth.js +126 -0
  45. package/dist/tools/auth.js.map +1 -0
  46. package/dist/tools/base.d.ts +37 -0
  47. package/dist/tools/base.d.ts.map +1 -0
  48. package/dist/tools/base.js +60 -0
  49. package/dist/tools/base.js.map +1 -0
  50. package/dist/tools/comments.d.ts +33 -0
  51. package/dist/tools/comments.d.ts.map +1 -0
  52. package/dist/tools/comments.js +228 -0
  53. package/dist/tools/comments.js.map +1 -0
  54. package/dist/tools/index.d.ts +9 -0
  55. package/dist/tools/index.d.ts.map +1 -0
  56. package/dist/tools/index.js +9 -0
  57. package/dist/tools/index.js.map +1 -0
  58. package/dist/tools/media.d.ts +29 -0
  59. package/dist/tools/media.d.ts.map +1 -0
  60. package/dist/tools/media.js +208 -0
  61. package/dist/tools/media.js.map +1 -0
  62. package/dist/tools/pages.d.ts +30 -0
  63. package/dist/tools/pages.d.ts.map +1 -0
  64. package/dist/tools/pages.js +211 -0
  65. package/dist/tools/pages.js.map +1 -0
  66. package/dist/tools/posts.d.ts +30 -0
  67. package/dist/tools/posts.d.ts.map +1 -0
  68. package/dist/tools/posts.js +240 -0
  69. package/dist/tools/posts.js.map +1 -0
  70. package/dist/tools/site.d.ts +31 -0
  71. package/dist/tools/site.d.ts.map +1 -0
  72. package/dist/tools/site.js +192 -0
  73. package/dist/tools/site.js.map +1 -0
  74. package/dist/tools/taxonomies.d.ts +37 -0
  75. package/dist/tools/taxonomies.d.ts.map +1 -0
  76. package/dist/tools/taxonomies.js +280 -0
  77. package/dist/tools/taxonomies.js.map +1 -0
  78. package/dist/tools/users.d.ts +28 -0
  79. package/dist/tools/users.d.ts.map +1 -0
  80. package/dist/tools/users.js +201 -0
  81. package/dist/tools/users.js.map +1 -0
  82. package/dist/types/client.d.ts +215 -0
  83. package/dist/types/client.d.ts.map +1 -0
  84. package/dist/types/client.js +72 -0
  85. package/dist/types/client.js.map +1 -0
  86. package/dist/types/index.d.ts +157 -0
  87. package/dist/types/index.d.ts.map +1 -0
  88. package/dist/types/index.js +12 -0
  89. package/dist/types/index.js.map +1 -0
  90. package/dist/types/mcp.d.ts +178 -0
  91. package/dist/types/mcp.d.ts.map +1 -0
  92. package/dist/types/mcp.js +7 -0
  93. package/dist/types/mcp.js.map +1 -0
  94. package/dist/types/wordpress.d.ts +443 -0
  95. package/dist/types/wordpress.d.ts.map +1 -0
  96. package/dist/types/wordpress.js +7 -0
  97. package/dist/types/wordpress.js.map +1 -0
  98. package/dist/utils/debug.d.ts +63 -0
  99. package/dist/utils/debug.d.ts.map +1 -0
  100. package/dist/utils/debug.js +195 -0
  101. package/dist/utils/debug.js.map +1 -0
  102. package/dist/utils/error.d.ts +19 -0
  103. package/dist/utils/error.d.ts.map +1 -0
  104. package/dist/utils/error.js +71 -0
  105. package/dist/utils/error.js.map +1 -0
  106. package/dist/utils/toolWrapper.d.ts +36 -0
  107. package/dist/utils/toolWrapper.d.ts.map +1 -0
  108. package/dist/utils/toolWrapper.js +90 -0
  109. package/dist/utils/toolWrapper.js.map +1 -0
  110. package/package.json +115 -0
  111. package/src/client/api.ts +1043 -0
  112. package/src/client/auth.ts +527 -0
  113. package/src/client/managers/AuthenticationManager.ts +190 -0
  114. package/src/client/managers/BaseManager.ts +73 -0
  115. package/src/client/managers/RequestManager.ts +214 -0
  116. package/src/client/managers/index.ts +8 -0
  117. package/src/index.ts +337 -0
  118. package/src/server.ts +7 -0
  119. package/src/tools/auth.ts +153 -0
  120. package/src/tools/comments.ts +263 -0
  121. package/src/tools/index.ts +8 -0
  122. package/src/tools/media.ts +240 -0
  123. package/src/tools/pages.ts +246 -0
  124. package/src/tools/posts.ts +277 -0
  125. package/src/tools/site.ts +227 -0
  126. package/src/tools/taxonomies.ts +322 -0
  127. package/src/tools/users.ts +233 -0
  128. package/src/types/client.ts +304 -0
  129. package/src/types/index.ts +207 -0
  130. package/src/types/mcp.ts +247 -0
  131. package/src/types/wordpress.ts +491 -0
  132. package/src/utils/debug.ts +258 -0
  133. package/src/utils/error.ts +88 -0
  134. package/src/utils/toolWrapper.ts +105 -0
@@ -0,0 +1,159 @@
1
+ /**
2
+ * Authentication Manager
3
+ * Handles all authentication methods and token management
4
+ */
5
+ import { AuthenticationError } from "../../types/client.js";
6
+ import { BaseManager } from "./BaseManager.js";
7
+ import { debug } from "../../utils/debug.js";
8
+ export class AuthenticationManager extends BaseManager {
9
+ jwtToken = null;
10
+ authenticated = false;
11
+ /**
12
+ * Get authentication from environment variables
13
+ */
14
+ static getAuthFromEnv() {
15
+ const method = process.env.WORDPRESS_AUTH_METHOD || "app-password";
16
+ switch (method) {
17
+ case "app-password":
18
+ return {
19
+ method: "app-password",
20
+ username: process.env.WORDPRESS_USERNAME || "",
21
+ appPassword: process.env.WORDPRESS_APP_PASSWORD || "",
22
+ };
23
+ case "jwt":
24
+ return {
25
+ method: "jwt",
26
+ username: process.env.WORDPRESS_USERNAME || "",
27
+ password: process.env.WORDPRESS_JWT_PASSWORD || process.env.WORDPRESS_PASSWORD || "",
28
+ secret: process.env.WORDPRESS_JWT_SECRET || "",
29
+ };
30
+ case "basic":
31
+ return {
32
+ method: "basic",
33
+ username: process.env.WORDPRESS_USERNAME || "",
34
+ password: process.env.WORDPRESS_PASSWORD || "",
35
+ };
36
+ case "api-key":
37
+ return {
38
+ method: "api-key",
39
+ apiKey: process.env.WORDPRESS_API_KEY || "",
40
+ };
41
+ default:
42
+ throw new AuthenticationError(`Unsupported authentication method: ${method}`, method);
43
+ }
44
+ }
45
+ /**
46
+ * Get authentication headers for requests
47
+ */
48
+ async getAuthHeaders() {
49
+ const auth = this.config.auth;
50
+ switch (auth.method) {
51
+ case "app-password":
52
+ if (!auth.username || !auth.appPassword) {
53
+ throw new AuthenticationError("Username and app password are required", auth.method);
54
+ }
55
+ const credentials = Buffer.from(`${auth.username}:${auth.appPassword}`).toString("base64");
56
+ return { Authorization: `Basic ${credentials}` };
57
+ case "jwt":
58
+ if (!this.jwtToken) {
59
+ await this.authenticateJWT();
60
+ }
61
+ return { Authorization: `Bearer ${this.jwtToken}` };
62
+ case "basic":
63
+ if (!auth.username || !auth.password) {
64
+ throw new AuthenticationError("Username and password are required", auth.method);
65
+ }
66
+ const basicCredentials = Buffer.from(`${auth.username}:${auth.password}`).toString("base64");
67
+ return { Authorization: `Basic ${basicCredentials}` };
68
+ case "api-key":
69
+ if (!auth.apiKey) {
70
+ throw new AuthenticationError("API key is required", auth.method);
71
+ }
72
+ return { "X-API-Key": auth.apiKey };
73
+ default:
74
+ throw new AuthenticationError(`Unsupported authentication method: ${auth.method}`, auth.method);
75
+ }
76
+ }
77
+ /**
78
+ * Authenticate using JWT
79
+ */
80
+ async authenticateJWT() {
81
+ const auth = this.config.auth;
82
+ if (auth.method !== "jwt" || !auth.username || !auth.password) {
83
+ throw new AuthenticationError("JWT authentication requires username and password", "jwt");
84
+ }
85
+ try {
86
+ // This would need the RequestManager instance to make the request
87
+ // For now, we'll throw an error indicating this needs to be implemented
88
+ throw new AuthenticationError("JWT authentication requires RequestManager integration", "jwt");
89
+ }
90
+ catch (error) {
91
+ this.handleError(error, "JWT authentication");
92
+ }
93
+ }
94
+ /**
95
+ * Test authentication
96
+ */
97
+ async testAuthentication() {
98
+ try {
99
+ const headers = await this.getAuthHeaders();
100
+ debug.log("Authentication headers prepared", { method: this.config.auth.method });
101
+ // This would need the RequestManager to actually test the connection
102
+ // For now, we'll return true if headers can be generated
103
+ this.authenticated = true;
104
+ return true;
105
+ }
106
+ catch (error) {
107
+ this.authenticated = false;
108
+ debug.log("Authentication test failed", error);
109
+ return false;
110
+ }
111
+ }
112
+ /**
113
+ * Get authentication status
114
+ */
115
+ isAuthenticated() {
116
+ return this.authenticated;
117
+ }
118
+ /**
119
+ * Clear authentication state
120
+ */
121
+ clearAuthentication() {
122
+ this.jwtToken = null;
123
+ this.authenticated = false;
124
+ }
125
+ /**
126
+ * Validate authentication configuration
127
+ */
128
+ validateAuthConfig() {
129
+ const auth = this.config.auth;
130
+ if (!auth.method) {
131
+ throw new AuthenticationError("Authentication method is required", "app-password");
132
+ }
133
+ switch (auth.method) {
134
+ case "app-password":
135
+ if (!auth.username || !auth.appPassword) {
136
+ throw new AuthenticationError("App password authentication requires username and appPassword", "app-password");
137
+ }
138
+ break;
139
+ case "jwt":
140
+ if (!auth.username || !auth.password || !auth.secret) {
141
+ throw new AuthenticationError("JWT authentication requires username, password, and secret", "jwt");
142
+ }
143
+ break;
144
+ case "basic":
145
+ if (!auth.username || !auth.password) {
146
+ throw new AuthenticationError("Basic authentication requires username and password", "basic");
147
+ }
148
+ break;
149
+ case "api-key":
150
+ if (!auth.apiKey) {
151
+ throw new AuthenticationError("API key authentication requires apiKey", "api-key");
152
+ }
153
+ break;
154
+ default:
155
+ throw new AuthenticationError(`Unsupported authentication method: ${auth.method}`, auth.method);
156
+ }
157
+ }
158
+ }
159
+ //# sourceMappingURL=AuthenticationManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AuthenticationManager.js","sourceRoot":"","sources":["../../../src/client/managers/AuthenticationManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Base class for all client managers
3
+ * Provides common functionality and error handling
4
+ */
5
+ import type { WordPressClientConfig } from "../../types/client.js";
6
+ export declare abstract class BaseManager {
7
+ protected config: WordPressClientConfig;
8
+ constructor(config: WordPressClientConfig);
9
+ /**
10
+ * Standardized error handling for all managers
11
+ */
12
+ protected handleError(error: any, operation: string): never;
13
+ /**
14
+ * Standardized success logging
15
+ */
16
+ protected logSuccess(operation: string, details?: any): void;
17
+ /**
18
+ * Validate required parameters
19
+ */
20
+ protected validateRequired(params: Record<string, any>, requiredFields: string[]): void;
21
+ }
22
+ //# sourceMappingURL=BaseManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseManager.d.ts","sourceRoot":"","sources":["../../../src/client/managers/BaseManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAkB,MAAM,uBAAuB,CAAC;AAKnF,8BAAsB,WAAW;IAC/B,SAAS,CAAC,MAAM,EAAE,qBAAqB,CAAC;gBAE5B,MAAM,EAAE,qBAAqB;IAIzC;;OAEG;IACH,SAAS,CAAC,WAAW,CAAC,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,GAAG,KAAK;IA+B3D;;OAEG;IACH,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,IAAI;IAI5D;;OAEG;IACH,SAAS,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,cAAc,EAAE,MAAM,EAAE,GAAG,IAAI;CAWxF"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Base class for all client managers
3
+ * Provides common functionality and error handling
4
+ */
5
+ import { WordPressAPIError } from "../../types/client.js";
6
+ import { debug, logError } from "../../utils/debug.js";
7
+ import { getErrorMessage } from "../../utils/error.js";
8
+ export class BaseManager {
9
+ config;
10
+ constructor(config) {
11
+ this.config = config;
12
+ }
13
+ /**
14
+ * Standardized error handling for all managers
15
+ */
16
+ handleError(error, operation) {
17
+ logError(`${operation} failed:`, error);
18
+ if (error instanceof WordPressAPIError) {
19
+ throw error;
20
+ }
21
+ if (error.name === "AbortError" || error.code === "ABORT_ERR") {
22
+ throw new WordPressAPIError(`Request timeout after ${this.config.timeout}ms`, 408, "timeout");
23
+ }
24
+ if (error.code === "ECONNREFUSED" || error.code === "ENOTFOUND") {
25
+ throw new WordPressAPIError(`Cannot connect to WordPress site: ${this.config.baseUrl}`, 503, "connection_failed");
26
+ }
27
+ const message = getErrorMessage(error);
28
+ throw new WordPressAPIError(`${operation} failed: ${message}`, 500, "unknown_error");
29
+ }
30
+ /**
31
+ * Standardized success logging
32
+ */
33
+ logSuccess(operation, details) {
34
+ debug.log(`${operation} completed successfully`, details);
35
+ }
36
+ /**
37
+ * Validate required parameters
38
+ */
39
+ validateRequired(params, requiredFields) {
40
+ for (const field of requiredFields) {
41
+ if (params[field] === undefined || params[field] === null) {
42
+ throw new WordPressAPIError(`Missing required parameter: ${field}`, 400, "missing_parameter");
43
+ }
44
+ }
45
+ }
46
+ }
47
+ //# sourceMappingURL=BaseManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BaseManager.js","sourceRoot":"","sources":["../../../src/client/managers/BaseManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,iBAAiB,EAAuC,MAAM,uBAAuB,CAAC;AAC/F,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,MAAM,OAAgB,WAAW;IACrB,MAAM,CAAwB;IAExC,YAAY,MAA6B;QACvC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED;;OAEG;IACO,WAAW,CAAC,KAAU,EAAE,SAAiB;QACjD,QAAQ,CAAC,GAAG,SAAS,UAAU,EAAE,KAAK,CAAC,CAAC;QAExC,IAAI,KAAK,YAAY,iBAAiB,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAC9D,MAAM,IAAI,iBAAiB,CACzB,yBAAyB,IAAI,CAAC,MAAM,CAAC,OAAO,IAAI,EAChD,GAAG,EACH,SAAS,CACV,CAAC;QACJ,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;YAChE,MAAM,IAAI,iBAAiB,CACzB,qCAAqC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAC1D,GAAG,EACH,mBAAmB,CACpB,CAAC;QACJ,CAAC;QAED,MAAM,OAAO,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;QACvC,MAAM,IAAI,iBAAiB,CACzB,GAAG,SAAS,YAAY,OAAO,EAAE,EACjC,GAAG,EACH,eAAe,CAChB,CAAC;IACJ,CAAC;IAED;;OAEG;IACO,UAAU,CAAC,SAAiB,EAAE,OAAa;QACnD,KAAK,CAAC,GAAG,CAAC,GAAG,SAAS,yBAAyB,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED;;OAEG;IACO,gBAAgB,CAAC,MAA2B,EAAE,cAAwB;QAC9E,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;YACnC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC;gBAC1D,MAAM,IAAI,iBAAiB,CACzB,+BAA+B,KAAK,EAAE,EACtC,GAAG,EACH,mBAAmB,CACpB,CAAC;YACJ,CAAC;QACH,CAAC;IACH,CAAC;CACF"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * HTTP Request Manager
3
+ * Handles all HTTP operations, rate limiting, and retries
4
+ */
5
+ import type { HTTPMethod, RequestOptions, ClientStats, WordPressClientConfig } from "../../types/client.js";
6
+ import { BaseManager } from "./BaseManager.js";
7
+ export declare class RequestManager extends BaseManager {
8
+ private stats;
9
+ private lastRequestTime;
10
+ private requestInterval;
11
+ constructor(config: WordPressClientConfig);
12
+ /**
13
+ * Make HTTP request with retry logic and rate limiting
14
+ */
15
+ request<T>(method: HTTPMethod, endpoint: string, data?: any, options?: RequestOptions): Promise<T>;
16
+ /**
17
+ * Make request with retry logic
18
+ */
19
+ private makeRequestWithRetry;
20
+ /**
21
+ * Make single HTTP request
22
+ */
23
+ private makeRequest;
24
+ /**
25
+ * Handle HTTP error responses
26
+ */
27
+ private handleErrorResponse;
28
+ /**
29
+ * Build full URL from endpoint
30
+ */
31
+ private buildUrl;
32
+ /**
33
+ * Enforce rate limiting
34
+ */
35
+ private enforceRateLimit;
36
+ /**
37
+ * Update average response time
38
+ */
39
+ private updateAverageResponseTime;
40
+ /**
41
+ * Get request statistics
42
+ */
43
+ getStats(): ClientStats;
44
+ }
45
+ //# sourceMappingURL=RequestManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestManager.d.ts","sourceRoot":"","sources":["../../../src/client/managers/RequestManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EACV,UAAU,EACV,cAAc,EACd,WAAW,EACX,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAG/C,qBAAa,cAAe,SAAQ,WAAW;IAC7C,OAAO,CAAC,KAAK,CAAc;IAC3B,OAAO,CAAC,eAAe,CAAa;IACpC,OAAO,CAAC,eAAe,CAAS;gBAEpB,MAAM,EAAE,qBAAqB;IAczC;;OAEG;IACG,OAAO,CAAC,CAAC,EACb,MAAM,EAAE,UAAU,EAClB,QAAQ,EAAE,MAAM,EAChB,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,GAAE,cAAmB,GAC3B,OAAO,CAAC,CAAC,CAAC;IAoBb;;OAEG;YACW,oBAAoB;IA+BlC;;OAEG;YACW,WAAW;IA2CzB;;OAEG;YACW,mBAAmB;IAwBjC;;OAEG;IACH,OAAO,CAAC,QAAQ;IAQhB;;OAEG;YACW,gBAAgB;IAY9B;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAQjC;;OAEG;IACH,QAAQ,IAAI,WAAW;CAGxB"}
@@ -0,0 +1,161 @@
1
+ /**
2
+ * HTTP Request Manager
3
+ * Handles all HTTP operations, rate limiting, and retries
4
+ */
5
+ import fetch from "node-fetch";
6
+ import { WordPressAPIError, RateLimitError } from "../../types/client.js";
7
+ import { BaseManager } from "./BaseManager.js";
8
+ import { debug, startTimer } from "../../utils/debug.js";
9
+ export class RequestManager extends BaseManager {
10
+ stats;
11
+ lastRequestTime = 0;
12
+ requestInterval;
13
+ constructor(config) {
14
+ super(config);
15
+ this.requestInterval = 60000 / parseInt(process.env.RATE_LIMIT || "60");
16
+ this.stats = {
17
+ totalRequests: 0,
18
+ successfulRequests: 0,
19
+ failedRequests: 0,
20
+ averageResponseTime: 0,
21
+ rateLimitHits: 0,
22
+ authFailures: 0,
23
+ };
24
+ }
25
+ /**
26
+ * Make HTTP request with retry logic and rate limiting
27
+ */
28
+ async request(method, endpoint, data, options = {}) {
29
+ const timer = startTimer();
30
+ try {
31
+ await this.enforceRateLimit();
32
+ const response = await this.makeRequestWithRetry(method, endpoint, data, options);
33
+ this.stats.successfulRequests++;
34
+ this.updateAverageResponseTime(timer.end());
35
+ return response;
36
+ }
37
+ catch (error) {
38
+ this.stats.failedRequests++;
39
+ this.handleError(error, `${method} ${endpoint}`);
40
+ }
41
+ finally {
42
+ this.stats.totalRequests++;
43
+ }
44
+ }
45
+ /**
46
+ * Make request with retry logic
47
+ */
48
+ async makeRequestWithRetry(method, endpoint, data, options = {}) {
49
+ let lastError;
50
+ const maxRetries = options.retries ?? this.config.maxRetries ?? 3;
51
+ for (let attempt = 1; attempt <= maxRetries; attempt++) {
52
+ try {
53
+ return await this.makeRequest(method, endpoint, data, options);
54
+ }
55
+ catch (error) {
56
+ lastError = error;
57
+ // Don't retry on authentication errors or client errors
58
+ if (error.statusCode < 500 || attempt === maxRetries) {
59
+ throw error;
60
+ }
61
+ debug.log(`Request failed (attempt ${attempt}/${maxRetries}):`, error.message);
62
+ // Exponential backoff
63
+ const delay = Math.min(1000 * Math.pow(2, attempt - 1), 5000);
64
+ await new Promise(resolve => setTimeout(resolve, delay));
65
+ }
66
+ }
67
+ throw lastError;
68
+ }
69
+ /**
70
+ * Make single HTTP request
71
+ */
72
+ async makeRequest(method, endpoint, data, options = {}) {
73
+ const url = this.buildUrl(endpoint);
74
+ const timeout = options.timeout ?? this.config.timeout ?? 30000;
75
+ const controller = new AbortController();
76
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
77
+ try {
78
+ const fetchOptions = {
79
+ method,
80
+ headers: {
81
+ "Content-Type": "application/json",
82
+ "User-Agent": "MCP-WordPress/1.1.1",
83
+ ...options.headers,
84
+ },
85
+ signal: controller.signal,
86
+ };
87
+ if (data && method !== "GET") {
88
+ fetchOptions.body = JSON.stringify(data);
89
+ }
90
+ debug.log(`API Request: ${method} ${url}`);
91
+ const response = await fetch(url, fetchOptions);
92
+ if (!response.ok) {
93
+ await this.handleErrorResponse(response);
94
+ }
95
+ const responseData = await response.json();
96
+ return responseData;
97
+ }
98
+ finally {
99
+ clearTimeout(timeoutId);
100
+ }
101
+ }
102
+ /**
103
+ * Handle HTTP error responses
104
+ */
105
+ async handleErrorResponse(response) {
106
+ let errorData = {};
107
+ try {
108
+ errorData = await response.json();
109
+ }
110
+ catch {
111
+ // Ignore JSON parsing errors
112
+ }
113
+ const message = errorData.message || `HTTP ${response.status}: ${response.statusText}`;
114
+ const code = errorData.code || "http_error";
115
+ if (response.status === 429) {
116
+ this.stats.rateLimitHits++;
117
+ throw new RateLimitError(message, Date.now() + 60000); // Retry after 1 minute
118
+ }
119
+ if (response.status === 401 || response.status === 403) {
120
+ this.stats.authFailures++;
121
+ }
122
+ throw new WordPressAPIError(message, response.status, code, errorData);
123
+ }
124
+ /**
125
+ * Build full URL from endpoint
126
+ */
127
+ buildUrl(endpoint) {
128
+ const baseUrl = this.config.baseUrl.replace(/\/$/, "");
129
+ const apiBase = "/wp-json/wp/v2";
130
+ const cleanEndpoint = endpoint.startsWith("/") ? endpoint : `/${endpoint}`;
131
+ return `${baseUrl}${apiBase}${cleanEndpoint}`;
132
+ }
133
+ /**
134
+ * Enforce rate limiting
135
+ */
136
+ async enforceRateLimit() {
137
+ const now = Date.now();
138
+ const timeSinceLastRequest = now - this.lastRequestTime;
139
+ if (timeSinceLastRequest < this.requestInterval) {
140
+ const delay = this.requestInterval - timeSinceLastRequest;
141
+ await new Promise(resolve => setTimeout(resolve, delay));
142
+ }
143
+ this.lastRequestTime = Date.now();
144
+ }
145
+ /**
146
+ * Update average response time
147
+ */
148
+ updateAverageResponseTime(responseTime) {
149
+ const totalRequests = this.stats.successfulRequests;
150
+ const currentAverage = this.stats.averageResponseTime;
151
+ this.stats.averageResponseTime =
152
+ (currentAverage * (totalRequests - 1) + responseTime) / totalRequests;
153
+ }
154
+ /**
155
+ * Get request statistics
156
+ */
157
+ getStats() {
158
+ return { ...this.stats };
159
+ }
160
+ }
161
+ //# sourceMappingURL=RequestManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RequestManager.js","sourceRoot":"","sources":["../../../src/client/managers/RequestManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Client Managers Index
3
+ * Exports all manager classes for the WordPress client
4
+ */
5
+ export { BaseManager } from "./BaseManager.js";
6
+ export { AuthenticationManager } from "./AuthenticationManager.js";
7
+ export { RequestManager } from "./RequestManager.js";
8
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/client/managers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Client Managers Index
3
+ * Exports all manager classes for the WordPress client
4
+ */
5
+ export { BaseManager } from "./BaseManager.js";
6
+ export { AuthenticationManager } from "./AuthenticationManager.js";
7
+ export { RequestManager } from "./RequestManager.js";
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/client/managers/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
@@ -0,0 +1,19 @@
1
+ declare class MCPWordPressServer {
2
+ private server;
3
+ private wordpressClients;
4
+ private initialized;
5
+ private siteConfigs;
6
+ constructor(mcpConfig?: any);
7
+ private loadConfiguration;
8
+ private loadMultiSiteConfig;
9
+ private loadSingleSiteFromEnv;
10
+ private setupTools;
11
+ private registerTool;
12
+ private testClientConnections;
13
+ private isAuthenticationError;
14
+ run(): Promise<void>;
15
+ shutdown(): Promise<void>;
16
+ }
17
+ export default MCPWordPressServer;
18
+ export { MCPWordPressServer };
19
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAsBA,cAAM,kBAAkB;IACtB,OAAO,CAAC,MAAM,CAAY;IAE1B,OAAO,CAAC,gBAAgB,CAA2C;IACnE,OAAO,CAAC,WAAW,CAAkB;IAErC,OAAO,CAAC,WAAW,CAAa;gBAEpB,SAAS,CAAC,EAAE,GAAG;IAkB3B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,mBAAmB;IA0C3B,OAAO,CAAC,qBAAqB;IAqC7B,OAAO,CAAC,UAAU;IAYlB,OAAO,CAAC,YAAY;YAsGN,qBAAqB;IA0BnC,OAAO,CAAC,qBAAqB;IAOvB,GAAG;IAeH,QAAQ;CAKf;AAyBD,eAAe,kBAAkB,CAAC;AAClC,OAAO,EAAE,kBAAkB,EAAE,CAAC"}