mcp-wordpress 2.5.1 → 2.5.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.
- package/package.json +1 -1
- package/dist/src/cache/CacheInvalidation.d.ts +0 -120
- package/dist/src/cache/CacheInvalidation.d.ts.map +0 -1
- package/dist/src/cache/CacheInvalidation.js +0 -355
- package/dist/src/cache/CacheInvalidation.js.map +0 -1
- package/dist/src/cache/CacheManager.d.ts +0 -149
- package/dist/src/cache/CacheManager.d.ts.map +0 -1
- package/dist/src/cache/CacheManager.js +0 -326
- package/dist/src/cache/CacheManager.js.map +0 -1
- package/dist/src/cache/HttpCacheWrapper.d.ts +0 -122
- package/dist/src/cache/HttpCacheWrapper.d.ts.map +0 -1
- package/dist/src/cache/HttpCacheWrapper.js +0 -283
- package/dist/src/cache/HttpCacheWrapper.js.map +0 -1
- package/dist/src/cache/index.d.ts +0 -12
- package/dist/src/cache/index.d.ts.map +0 -1
- package/dist/src/cache/index.js +0 -9
- package/dist/src/cache/index.js.map +0 -1
- package/dist/src/client/CachedWordPressClient.d.ts +0 -174
- package/dist/src/client/CachedWordPressClient.d.ts.map +0 -1
- package/dist/src/client/CachedWordPressClient.js +0 -345
- package/dist/src/client/CachedWordPressClient.js.map +0 -1
- package/dist/src/client/MockWordPressClient.d.ts +0 -56
- package/dist/src/client/MockWordPressClient.d.ts.map +0 -1
- package/dist/src/client/MockWordPressClient.js +0 -371
- package/dist/src/client/MockWordPressClient.js.map +0 -1
- package/dist/src/client/api.d.ts +0 -235
- package/dist/src/client/api.d.ts.map +0 -1
- package/dist/src/client/api.js +0 -896
- package/dist/src/client/api.js.map +0 -1
- package/dist/src/client/auth.d.ts +0 -121
- package/dist/src/client/auth.d.ts.map +0 -1
- package/dist/src/client/auth.js +0 -429
- package/dist/src/client/auth.js.map +0 -1
- package/dist/src/client/managers/AuthenticationManager.d.ts +0 -92
- package/dist/src/client/managers/AuthenticationManager.d.ts.map +0 -1
- package/dist/src/client/managers/AuthenticationManager.js +0 -369
- package/dist/src/client/managers/AuthenticationManager.js.map +0 -1
- package/dist/src/client/managers/BaseManager.d.ts +0 -22
- package/dist/src/client/managers/BaseManager.d.ts.map +0 -1
- package/dist/src/client/managers/BaseManager.js +0 -53
- package/dist/src/client/managers/BaseManager.js.map +0 -1
- package/dist/src/client/managers/RequestManager.d.ts +0 -47
- package/dist/src/client/managers/RequestManager.d.ts.map +0 -1
- package/dist/src/client/managers/RequestManager.js +0 -193
- package/dist/src/client/managers/RequestManager.js.map +0 -1
- package/dist/src/client/managers/index.d.ts +0 -8
- package/dist/src/client/managers/index.d.ts.map +0 -1
- package/dist/src/client/managers/index.js +0 -8
- package/dist/src/client/managers/index.js.map +0 -1
- package/dist/src/config/Config.d.ts +0 -155
- package/dist/src/config/Config.d.ts.map +0 -1
- package/dist/src/config/Config.js +0 -215
- package/dist/src/config/Config.js.map +0 -1
- package/dist/src/config/ConfigurationSchema.d.ts +0 -281
- package/dist/src/config/ConfigurationSchema.d.ts.map +0 -1
- package/dist/src/config/ConfigurationSchema.js +0 -205
- package/dist/src/config/ConfigurationSchema.js.map +0 -1
- package/dist/src/config/ServerConfiguration.d.ts +0 -47
- package/dist/src/config/ServerConfiguration.d.ts.map +0 -1
- package/dist/src/config/ServerConfiguration.js +0 -255
- package/dist/src/config/ServerConfiguration.js.map +0 -1
- package/dist/src/docs/DocumentationGenerator.d.ts +0 -185
- package/dist/src/docs/DocumentationGenerator.d.ts.map +0 -1
- package/dist/src/docs/DocumentationGenerator.js +0 -777
- package/dist/src/docs/DocumentationGenerator.js.map +0 -1
- package/dist/src/docs/MarkdownFormatter.d.ts +0 -84
- package/dist/src/docs/MarkdownFormatter.d.ts.map +0 -1
- package/dist/src/docs/MarkdownFormatter.js +0 -458
- package/dist/src/docs/MarkdownFormatter.js.map +0 -1
- package/dist/src/docs/index.d.ts +0 -8
- package/dist/src/docs/index.d.ts.map +0 -1
- package/dist/src/docs/index.js +0 -7
- package/dist/src/docs/index.js.map +0 -1
- package/dist/src/dxt-entry.d.ts +0 -6
- package/dist/src/dxt-entry.d.ts.map +0 -1
- package/dist/src/dxt-entry.js +0 -39
- package/dist/src/dxt-entry.js.map +0 -1
- package/dist/src/index.d.ts +0 -18
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -143
- package/dist/src/index.js.map +0 -1
- package/dist/src/performance/MetricsCollector.d.ts +0 -145
- package/dist/src/performance/MetricsCollector.d.ts.map +0 -1
- package/dist/src/performance/MetricsCollector.js +0 -368
- package/dist/src/performance/MetricsCollector.js.map +0 -1
- package/dist/src/performance/PerformanceAnalytics.d.ts +0 -168
- package/dist/src/performance/PerformanceAnalytics.d.ts.map +0 -1
- package/dist/src/performance/PerformanceAnalytics.js +0 -570
- package/dist/src/performance/PerformanceAnalytics.js.map +0 -1
- package/dist/src/performance/PerformanceMonitor.d.ts +0 -203
- package/dist/src/performance/PerformanceMonitor.d.ts.map +0 -1
- package/dist/src/performance/PerformanceMonitor.js +0 -478
- package/dist/src/performance/PerformanceMonitor.js.map +0 -1
- package/dist/src/performance/index.d.ts +0 -11
- package/dist/src/performance/index.d.ts.map +0 -1
- package/dist/src/performance/index.js +0 -8
- package/dist/src/performance/index.js.map +0 -1
- package/dist/src/security/AISecurityScanner.d.ts +0 -176
- package/dist/src/security/AISecurityScanner.d.ts.map +0 -1
- package/dist/src/security/AISecurityScanner.js +0 -655
- package/dist/src/security/AISecurityScanner.js.map +0 -1
- package/dist/src/security/AutomatedRemediation.d.ts +0 -146
- package/dist/src/security/AutomatedRemediation.d.ts.map +0 -1
- package/dist/src/security/AutomatedRemediation.js +0 -566
- package/dist/src/security/AutomatedRemediation.js.map +0 -1
- package/dist/src/security/InputValidator.d.ts +0 -219
- package/dist/src/security/InputValidator.d.ts.map +0 -1
- package/dist/src/security/InputValidator.js +0 -295
- package/dist/src/security/InputValidator.js.map +0 -1
- package/dist/src/security/SecurityCIPipeline.d.ts +0 -213
- package/dist/src/security/SecurityCIPipeline.d.ts.map +0 -1
- package/dist/src/security/SecurityCIPipeline.js +0 -693
- package/dist/src/security/SecurityCIPipeline.js.map +0 -1
- package/dist/src/security/SecurityConfig.d.ts +0 -129
- package/dist/src/security/SecurityConfig.d.ts.map +0 -1
- package/dist/src/security/SecurityConfig.js +0 -266
- package/dist/src/security/SecurityConfig.js.map +0 -1
- package/dist/src/security/SecurityConfigManager.d.ts +0 -294
- package/dist/src/security/SecurityConfigManager.d.ts.map +0 -1
- package/dist/src/security/SecurityConfigManager.js +0 -558
- package/dist/src/security/SecurityConfigManager.js.map +0 -1
- package/dist/src/security/SecurityMonitoring.d.ts +0 -245
- package/dist/src/security/SecurityMonitoring.d.ts.map +0 -1
- package/dist/src/security/SecurityMonitoring.js +0 -598
- package/dist/src/security/SecurityMonitoring.js.map +0 -1
- package/dist/src/security/SecurityReviewer.d.ts +0 -168
- package/dist/src/security/SecurityReviewer.d.ts.map +0 -1
- package/dist/src/security/SecurityReviewer.js +0 -686
- package/dist/src/security/SecurityReviewer.js.map +0 -1
- package/dist/src/security/index.d.ts +0 -183
- package/dist/src/security/index.d.ts.map +0 -1
- package/dist/src/security/index.js +0 -218
- package/dist/src/security/index.js.map +0 -1
- package/dist/src/server/ConnectionTester.d.ts +0 -32
- package/dist/src/server/ConnectionTester.d.ts.map +0 -1
- package/dist/src/server/ConnectionTester.js +0 -135
- package/dist/src/server/ConnectionTester.js.map +0 -1
- package/dist/src/server/ToolRegistry.d.ts +0 -50
- package/dist/src/server/ToolRegistry.d.ts.map +0 -1
- package/dist/src/server/ToolRegistry.js +0 -219
- package/dist/src/server/ToolRegistry.js.map +0 -1
- package/dist/src/server.d.ts +0 -7
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -7
- package/dist/src/server.js.map +0 -1
- package/dist/src/tools/BaseToolManager.d.ts +0 -62
- package/dist/src/tools/BaseToolManager.d.ts.map +0 -1
- package/dist/src/tools/BaseToolManager.js +0 -195
- package/dist/src/tools/BaseToolManager.js.map +0 -1
- package/dist/src/tools/auth.d.ts +0 -50
- package/dist/src/tools/auth.d.ts.map +0 -1
- package/dist/src/tools/auth.js +0 -133
- package/dist/src/tools/auth.js.map +0 -1
- package/dist/src/tools/cache.d.ts +0 -260
- package/dist/src/tools/cache.d.ts.map +0 -1
- package/dist/src/tools/cache.js +0 -232
- package/dist/src/tools/cache.js.map +0 -1
- package/dist/src/tools/comments.d.ts +0 -33
- package/dist/src/tools/comments.d.ts.map +0 -1
- package/dist/src/tools/comments.js +0 -235
- package/dist/src/tools/comments.js.map +0 -1
- package/dist/src/tools/index.d.ts +0 -11
- package/dist/src/tools/index.d.ts.map +0 -1
- package/dist/src/tools/index.js +0 -11
- package/dist/src/tools/index.js.map +0 -1
- package/dist/src/tools/media.d.ts +0 -70
- package/dist/src/tools/media.d.ts.map +0 -1
- package/dist/src/tools/media.js +0 -248
- package/dist/src/tools/media.js.map +0 -1
- package/dist/src/tools/pages.d.ts +0 -32
- package/dist/src/tools/pages.d.ts.map +0 -1
- package/dist/src/tools/pages.js +0 -215
- package/dist/src/tools/pages.js.map +0 -1
- package/dist/src/tools/performance.d.ts +0 -73
- package/dist/src/tools/performance.d.ts.map +0 -1
- package/dist/src/tools/performance.js +0 -922
- package/dist/src/tools/performance.js.map +0 -1
- package/dist/src/tools/posts/PostHandlers.d.ts +0 -46
- package/dist/src/tools/posts/PostHandlers.d.ts.map +0 -1
- package/dist/src/tools/posts/PostHandlers.js +0 -400
- package/dist/src/tools/posts/PostHandlers.js.map +0 -1
- package/dist/src/tools/posts/PostToolDefinitions.d.ts +0 -37
- package/dist/src/tools/posts/PostToolDefinitions.d.ts.map +0 -1
- package/dist/src/tools/posts/PostToolDefinitions.js +0 -236
- package/dist/src/tools/posts/PostToolDefinitions.js.map +0 -1
- package/dist/src/tools/posts/index.d.ts +0 -138
- package/dist/src/tools/posts/index.d.ts.map +0 -1
- package/dist/src/tools/posts/index.js +0 -163
- package/dist/src/tools/posts/index.js.map +0 -1
- package/dist/src/tools/posts.d.ts +0 -15
- package/dist/src/tools/posts.d.ts.map +0 -1
- package/dist/src/tools/posts.js +0 -16
- package/dist/src/tools/posts.js.map +0 -1
- package/dist/src/tools/site.d.ts +0 -32
- package/dist/src/tools/site.d.ts.map +0 -1
- package/dist/src/tools/site.js +0 -234
- package/dist/src/tools/site.js.map +0 -1
- package/dist/src/tools/taxonomies.d.ts +0 -36
- package/dist/src/tools/taxonomies.d.ts.map +0 -1
- package/dist/src/tools/taxonomies.js +0 -286
- package/dist/src/tools/taxonomies.js.map +0 -1
- package/dist/src/tools/users.d.ts +0 -33
- package/dist/src/tools/users.d.ts.map +0 -1
- package/dist/src/tools/users.js +0 -308
- package/dist/src/tools/users.js.map +0 -1
- package/dist/src/types/client.d.ts +0 -223
- package/dist/src/types/client.d.ts.map +0 -1
- package/dist/src/types/client.js +0 -97
- package/dist/src/types/client.js.map +0 -1
- package/dist/src/types/enhanced.d.ts +0 -237
- package/dist/src/types/enhanced.d.ts.map +0 -1
- package/dist/src/types/enhanced.js +0 -49
- package/dist/src/types/enhanced.js.map +0 -1
- package/dist/src/types/index.d.ts +0 -160
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js +0 -14
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/types/mcp.d.ts +0 -178
- package/dist/src/types/mcp.d.ts.map +0 -1
- package/dist/src/types/mcp.js +0 -7
- package/dist/src/types/mcp.js.map +0 -1
- package/dist/src/types/requests.d.ts +0 -322
- package/dist/src/types/requests.d.ts.map +0 -1
- package/dist/src/types/requests.js +0 -8
- package/dist/src/types/requests.js.map +0 -1
- package/dist/src/types/tools.d.ts +0 -506
- package/dist/src/types/tools.d.ts.map +0 -1
- package/dist/src/types/tools.js +0 -8
- package/dist/src/types/tools.js.map +0 -1
- package/dist/src/types/wordpress.d.ts +0 -471
- package/dist/src/types/wordpress.d.ts.map +0 -1
- package/dist/src/types/wordpress.js +0 -14
- package/dist/src/types/wordpress.js.map +0 -1
- package/dist/src/utils/debug.d.ts +0 -71
- package/dist/src/utils/debug.d.ts.map +0 -1
- package/dist/src/utils/debug.js +0 -235
- package/dist/src/utils/debug.js.map +0 -1
- package/dist/src/utils/enhancedError.d.ts +0 -61
- package/dist/src/utils/enhancedError.d.ts.map +0 -1
- package/dist/src/utils/enhancedError.js +0 -221
- package/dist/src/utils/enhancedError.js.map +0 -1
- package/dist/src/utils/error.d.ts +0 -17
- package/dist/src/utils/error.d.ts.map +0 -1
- package/dist/src/utils/error.js +0 -108
- package/dist/src/utils/error.js.map +0 -1
- package/dist/src/utils/logger.d.ts +0 -106
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/logger.js +0 -280
- package/dist/src/utils/logger.js.map +0 -1
- package/dist/src/utils/streaming.d.ts +0 -104
- package/dist/src/utils/streaming.d.ts.map +0 -1
- package/dist/src/utils/streaming.js +0 -331
- package/dist/src/utils/streaming.js.map +0 -1
- package/dist/src/utils/toolWrapper.d.ts +0 -42
- package/dist/src/utils/toolWrapper.d.ts.map +0 -1
- package/dist/src/utils/toolWrapper.js +0 -101
- package/dist/src/utils/toolWrapper.js.map +0 -1
- package/dist/src/utils/validation/core.d.ts +0 -21
- package/dist/src/utils/validation/core.d.ts.map +0 -1
- package/dist/src/utils/validation/core.js +0 -71
- package/dist/src/utils/validation/core.js.map +0 -1
- package/dist/src/utils/validation/index.d.ts +0 -25
- package/dist/src/utils/validation/index.d.ts.map +0 -1
- package/dist/src/utils/validation/index.js +0 -29
- package/dist/src/utils/validation/index.js.map +0 -1
- package/dist/src/utils/validation/network.d.ts +0 -19
- package/dist/src/utils/validation/network.d.ts.map +0 -1
- package/dist/src/utils/validation/network.js +0 -93
- package/dist/src/utils/validation/network.js.map +0 -1
- package/dist/src/utils/validation/rateLimit.d.ts +0 -21
- package/dist/src/utils/validation/rateLimit.d.ts.map +0 -1
- package/dist/src/utils/validation/rateLimit.js +0 -43
- package/dist/src/utils/validation/rateLimit.js.map +0 -1
- package/dist/src/utils/validation/security.d.ts +0 -29
- package/dist/src/utils/validation/security.d.ts.map +0 -1
- package/dist/src/utils/validation/security.js +0 -327
- package/dist/src/utils/validation/security.js.map +0 -1
- package/dist/src/utils/validation/wordpress.d.ts +0 -31
- package/dist/src/utils/validation/wordpress.d.ts.map +0 -1
- package/dist/src/utils/validation/wordpress.js +0 -146
- package/dist/src/utils/validation/wordpress.js.map +0 -1
- package/dist/src/utils/validation.d.ts +0 -15
- package/dist/src/utils/validation.d.ts.map +0 -1
- package/dist/src/utils/validation.js +0 -27
- package/dist/src/utils/validation.js.map +0 -1
- package/dist/tests/vitest.setup.d.ts +0 -6
- package/dist/tests/vitest.setup.d.ts.map +0 -1
- package/dist/tests/vitest.setup.js +0 -39
- package/dist/tests/vitest.setup.js.map +0 -1
package/dist/src/tools/auth.js
DELETED
|
@@ -1,133 +0,0 @@
|
|
|
1
|
-
import { getErrorMessage } from "../utils/error.js";
|
|
2
|
-
/**
|
|
3
|
-
* Provides authentication-related tools for WordPress sites.
|
|
4
|
-
* This class encapsulates tool definitions and their corresponding handlers.
|
|
5
|
-
*/
|
|
6
|
-
export class AuthTools {
|
|
7
|
-
/**
|
|
8
|
-
* Retrieves the list of authentication tools.
|
|
9
|
-
* @returns An array of MCPTool definitions.
|
|
10
|
-
*/
|
|
11
|
-
getTools() {
|
|
12
|
-
return [
|
|
13
|
-
{
|
|
14
|
-
name: "wp_test_auth",
|
|
15
|
-
description: "Tests the authentication and connectivity for a configured WordPress site with detailed connection diagnostics.\n\n" +
|
|
16
|
-
"**Usage Examples:**\n" +
|
|
17
|
-
"• Test connection: `wp_test_auth`\n" +
|
|
18
|
-
'• Multi-site test: `wp_test_auth --site="my-site"`\n' +
|
|
19
|
-
"• Verify setup: Use this after configuring new credentials\n" +
|
|
20
|
-
"• Troubleshoot: Run when experiencing connection issues\n" +
|
|
21
|
-
"• Health check: Regular verification of WordPress connectivity",
|
|
22
|
-
parameters: [], // The 'site' parameter is added dynamically by the server
|
|
23
|
-
handler: this.handleTestAuth.bind(this),
|
|
24
|
-
},
|
|
25
|
-
{
|
|
26
|
-
name: "wp_get_auth_status",
|
|
27
|
-
description: "Gets the current authentication status for a configured WordPress site.",
|
|
28
|
-
parameters: [],
|
|
29
|
-
handler: this.handleGetAuthStatus.bind(this),
|
|
30
|
-
},
|
|
31
|
-
{
|
|
32
|
-
name: "wp_switch_auth_method",
|
|
33
|
-
description: "Switches the authentication method for a site for the current session.",
|
|
34
|
-
parameters: [
|
|
35
|
-
{
|
|
36
|
-
name: "method",
|
|
37
|
-
type: "string",
|
|
38
|
-
required: true,
|
|
39
|
-
description: "The new authentication method to use.",
|
|
40
|
-
enum: ["app-password", "jwt", "basic", "api-key", "cookie"],
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: "username",
|
|
44
|
-
type: "string",
|
|
45
|
-
description: "The username for 'app-password' or 'basic' authentication.",
|
|
46
|
-
},
|
|
47
|
-
{
|
|
48
|
-
name: "password",
|
|
49
|
-
type: "string",
|
|
50
|
-
description: "The Application Password for 'app-password' or password for 'basic' auth.",
|
|
51
|
-
},
|
|
52
|
-
{
|
|
53
|
-
name: "jwt_token",
|
|
54
|
-
type: "string",
|
|
55
|
-
description: "The token for 'jwt' authentication.",
|
|
56
|
-
},
|
|
57
|
-
],
|
|
58
|
-
handler: this.handleSwitchAuthMethod.bind(this),
|
|
59
|
-
},
|
|
60
|
-
];
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Handles the 'wp_test_auth' tool request.
|
|
64
|
-
* It tests the connection and fetches user details upon success.
|
|
65
|
-
* @param client - The WordPressClient instance for the target site.
|
|
66
|
-
* @param params - The parameters for the tool request.
|
|
67
|
-
* @returns A promise that resolves to an MCPToolResponse.
|
|
68
|
-
*/
|
|
69
|
-
async handleTestAuth(client, params) {
|
|
70
|
-
try {
|
|
71
|
-
await client.ping();
|
|
72
|
-
const user = await client.getCurrentUser();
|
|
73
|
-
const siteConfig = client.config;
|
|
74
|
-
const content = "✅ **Authentication successful!**\n\n" +
|
|
75
|
-
`**Site:** ${siteConfig.baseUrl}\n` +
|
|
76
|
-
`**Method:** ${siteConfig.auth.method}\n` +
|
|
77
|
-
`**User:** ${user.name} (@${user.slug})\n` +
|
|
78
|
-
`**Roles:** ${user.roles?.join(", ") || "N/A"}\n\n` +
|
|
79
|
-
"Your WordPress connection is working properly.";
|
|
80
|
-
return { content };
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
throw new Error(`Authentication test failed: ${getErrorMessage(error)}`);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
/**
|
|
87
|
-
* Handles the 'wp_get_auth_status' tool request.
|
|
88
|
-
* Reports whether the client is currently authenticated.
|
|
89
|
-
* @param client - The WordPressClient instance for the target site.
|
|
90
|
-
* @param params - The parameters for the tool request.
|
|
91
|
-
* @returns A promise that resolves to an MCPToolResponse.
|
|
92
|
-
*/
|
|
93
|
-
async handleGetAuthStatus(client, params) {
|
|
94
|
-
try {
|
|
95
|
-
const isAuthenticated = client.isAuthenticated;
|
|
96
|
-
const config = client.config;
|
|
97
|
-
let content = `**Authentication Status for ${config.baseUrl}**\n\n` +
|
|
98
|
-
`**Authenticated:** ${isAuthenticated ? "✅ Yes" : "❌ No"}\n` +
|
|
99
|
-
`**Method:** ${config.auth.method}\n`;
|
|
100
|
-
if (isAuthenticated) {
|
|
101
|
-
const user = await client.getCurrentUser();
|
|
102
|
-
content += `**User:** ${user.name} (@${user.slug})\n`;
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
content += "**Status:** Not connected. Use 'wp_test_auth' to connect and verify credentials.";
|
|
106
|
-
}
|
|
107
|
-
return { content };
|
|
108
|
-
}
|
|
109
|
-
catch (error) {
|
|
110
|
-
throw new Error(`Failed to get auth status: ${getErrorMessage(error)}`);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
/**
|
|
114
|
-
* Handles the 'wp_switch_auth_method' tool request.
|
|
115
|
-
* Updates the client's authentication configuration in memory for the session.
|
|
116
|
-
* @param client - The WordPressClient instance for the target site.
|
|
117
|
-
* @param params - The parameters for the tool request, including the new auth details.
|
|
118
|
-
* @returns A promise that resolves to an MCPToolResponse.
|
|
119
|
-
*/
|
|
120
|
-
async handleSwitchAuthMethod(client, params) {
|
|
121
|
-
const { method: _method, username: _username, password: _password, jwt_token: _jwt_token } = params;
|
|
122
|
-
try {
|
|
123
|
-
// This functionality is not currently supported as the client
|
|
124
|
-
// doesn't have an updateAuthConfig method
|
|
125
|
-
throw new Error("Dynamic authentication method switching is not currently supported. Please update your configuration file and restart the server.");
|
|
126
|
-
}
|
|
127
|
-
catch (error) {
|
|
128
|
-
throw new Error(`Failed to switch auth method: ${getErrorMessage(error)}`);
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
export default AuthTools;
|
|
133
|
-
//# sourceMappingURL=auth.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../src/tools/auth.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,260 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cache management tools for WordPress MCP Server
|
|
3
|
-
* Provides cache inspection, clearing, and warming capabilities
|
|
4
|
-
*/
|
|
5
|
-
import type { WordPressClient } from "../client/api.js";
|
|
6
|
-
/**
|
|
7
|
-
* Cache management tools class
|
|
8
|
-
*/
|
|
9
|
-
export declare class CacheTools {
|
|
10
|
-
private clients;
|
|
11
|
-
constructor(clients: Map<string, WordPressClient>);
|
|
12
|
-
/**
|
|
13
|
-
* Get cache management tools
|
|
14
|
-
*/
|
|
15
|
-
getTools(): ({
|
|
16
|
-
name: string;
|
|
17
|
-
description: string;
|
|
18
|
-
parameters: {
|
|
19
|
-
name: string;
|
|
20
|
-
type: string;
|
|
21
|
-
description: string;
|
|
22
|
-
}[];
|
|
23
|
-
handler: (params: {
|
|
24
|
-
site?: string;
|
|
25
|
-
}) => Promise<{
|
|
26
|
-
caching_enabled: boolean;
|
|
27
|
-
message: string;
|
|
28
|
-
cache_stats?: never;
|
|
29
|
-
invalidation_stats?: never;
|
|
30
|
-
} | {
|
|
31
|
-
caching_enabled: boolean;
|
|
32
|
-
cache_stats: {
|
|
33
|
-
hits: number;
|
|
34
|
-
misses: number;
|
|
35
|
-
hit_rate: string;
|
|
36
|
-
total_entries: number;
|
|
37
|
-
evictions: number;
|
|
38
|
-
};
|
|
39
|
-
invalidation_stats: {
|
|
40
|
-
queue_size: number;
|
|
41
|
-
rules_count: number;
|
|
42
|
-
processing: boolean;
|
|
43
|
-
};
|
|
44
|
-
message?: never;
|
|
45
|
-
}>;
|
|
46
|
-
} | {
|
|
47
|
-
name: string;
|
|
48
|
-
description: string;
|
|
49
|
-
parameters: {
|
|
50
|
-
name: string;
|
|
51
|
-
type: string;
|
|
52
|
-
description: string;
|
|
53
|
-
}[];
|
|
54
|
-
handler: (params: {
|
|
55
|
-
site?: string;
|
|
56
|
-
pattern?: string;
|
|
57
|
-
}) => Promise<{
|
|
58
|
-
success: boolean;
|
|
59
|
-
message: string;
|
|
60
|
-
cleared_entries?: never;
|
|
61
|
-
pattern?: never;
|
|
62
|
-
} | {
|
|
63
|
-
success: boolean;
|
|
64
|
-
message: string;
|
|
65
|
-
cleared_entries: number;
|
|
66
|
-
pattern: string;
|
|
67
|
-
} | {
|
|
68
|
-
success: boolean;
|
|
69
|
-
message: string;
|
|
70
|
-
cleared_entries: number;
|
|
71
|
-
pattern?: never;
|
|
72
|
-
}>;
|
|
73
|
-
} | {
|
|
74
|
-
name: string;
|
|
75
|
-
description: string;
|
|
76
|
-
parameters: {
|
|
77
|
-
name: string;
|
|
78
|
-
type: string;
|
|
79
|
-
description: string;
|
|
80
|
-
}[];
|
|
81
|
-
handler: (params: {
|
|
82
|
-
site?: string;
|
|
83
|
-
}) => Promise<{
|
|
84
|
-
success: boolean;
|
|
85
|
-
message: string;
|
|
86
|
-
cache_entries_after_warming?: never;
|
|
87
|
-
warmed_data?: never;
|
|
88
|
-
} | {
|
|
89
|
-
success: boolean;
|
|
90
|
-
message: string;
|
|
91
|
-
cache_entries_after_warming: number;
|
|
92
|
-
warmed_data: string[];
|
|
93
|
-
}>;
|
|
94
|
-
} | {
|
|
95
|
-
name: string;
|
|
96
|
-
description: string;
|
|
97
|
-
parameters: {
|
|
98
|
-
name: string;
|
|
99
|
-
type: string;
|
|
100
|
-
description: string;
|
|
101
|
-
}[];
|
|
102
|
-
handler: (params: {
|
|
103
|
-
site?: string;
|
|
104
|
-
}) => Promise<{
|
|
105
|
-
caching_enabled: boolean;
|
|
106
|
-
message: string;
|
|
107
|
-
how_to_enable: string;
|
|
108
|
-
cache_configuration?: never;
|
|
109
|
-
ttl_presets?: never;
|
|
110
|
-
current_stats?: never;
|
|
111
|
-
invalidation_info?: never;
|
|
112
|
-
performance_benefits?: never;
|
|
113
|
-
} | {
|
|
114
|
-
caching_enabled: boolean;
|
|
115
|
-
cache_configuration: {
|
|
116
|
-
max_size: string;
|
|
117
|
-
default_ttl: string;
|
|
118
|
-
lru_enabled: string;
|
|
119
|
-
stats_enabled: string;
|
|
120
|
-
};
|
|
121
|
-
ttl_presets: {
|
|
122
|
-
static_data: string;
|
|
123
|
-
semi_static_data: string;
|
|
124
|
-
dynamic_data: string;
|
|
125
|
-
session_data: string;
|
|
126
|
-
realtime_data: string;
|
|
127
|
-
};
|
|
128
|
-
current_stats: {
|
|
129
|
-
total_entries: number;
|
|
130
|
-
hit_rate: string;
|
|
131
|
-
hits: number;
|
|
132
|
-
misses: number;
|
|
133
|
-
evictions: number;
|
|
134
|
-
};
|
|
135
|
-
invalidation_info: {
|
|
136
|
-
queue_size: number;
|
|
137
|
-
rules_registered: number;
|
|
138
|
-
currently_processing: boolean;
|
|
139
|
-
};
|
|
140
|
-
performance_benefits: string[];
|
|
141
|
-
message?: never;
|
|
142
|
-
how_to_enable?: never;
|
|
143
|
-
}>;
|
|
144
|
-
})[];
|
|
145
|
-
/**
|
|
146
|
-
* Get cache statistics
|
|
147
|
-
*/
|
|
148
|
-
handleGetCacheStats(params: {
|
|
149
|
-
site?: string;
|
|
150
|
-
}): Promise<{
|
|
151
|
-
caching_enabled: boolean;
|
|
152
|
-
message: string;
|
|
153
|
-
cache_stats?: never;
|
|
154
|
-
invalidation_stats?: never;
|
|
155
|
-
} | {
|
|
156
|
-
caching_enabled: boolean;
|
|
157
|
-
cache_stats: {
|
|
158
|
-
hits: number;
|
|
159
|
-
misses: number;
|
|
160
|
-
hit_rate: string;
|
|
161
|
-
total_entries: number;
|
|
162
|
-
evictions: number;
|
|
163
|
-
};
|
|
164
|
-
invalidation_stats: {
|
|
165
|
-
queue_size: number;
|
|
166
|
-
rules_count: number;
|
|
167
|
-
processing: boolean;
|
|
168
|
-
};
|
|
169
|
-
message?: never;
|
|
170
|
-
}>;
|
|
171
|
-
/**
|
|
172
|
-
* Clear cache
|
|
173
|
-
*/
|
|
174
|
-
handleClearCache(params: {
|
|
175
|
-
site?: string;
|
|
176
|
-
pattern?: string;
|
|
177
|
-
}): Promise<{
|
|
178
|
-
success: boolean;
|
|
179
|
-
message: string;
|
|
180
|
-
cleared_entries?: never;
|
|
181
|
-
pattern?: never;
|
|
182
|
-
} | {
|
|
183
|
-
success: boolean;
|
|
184
|
-
message: string;
|
|
185
|
-
cleared_entries: number;
|
|
186
|
-
pattern: string;
|
|
187
|
-
} | {
|
|
188
|
-
success: boolean;
|
|
189
|
-
message: string;
|
|
190
|
-
cleared_entries: number;
|
|
191
|
-
pattern?: never;
|
|
192
|
-
}>;
|
|
193
|
-
/**
|
|
194
|
-
* Warm cache with essential data
|
|
195
|
-
*/
|
|
196
|
-
handleWarmCache(params: {
|
|
197
|
-
site?: string;
|
|
198
|
-
}): Promise<{
|
|
199
|
-
success: boolean;
|
|
200
|
-
message: string;
|
|
201
|
-
cache_entries_after_warming?: never;
|
|
202
|
-
warmed_data?: never;
|
|
203
|
-
} | {
|
|
204
|
-
success: boolean;
|
|
205
|
-
message: string;
|
|
206
|
-
cache_entries_after_warming: number;
|
|
207
|
-
warmed_data: string[];
|
|
208
|
-
}>;
|
|
209
|
-
/**
|
|
210
|
-
* Get detailed cache information
|
|
211
|
-
*/
|
|
212
|
-
handleGetCacheInfo(params: {
|
|
213
|
-
site?: string;
|
|
214
|
-
}): Promise<{
|
|
215
|
-
caching_enabled: boolean;
|
|
216
|
-
message: string;
|
|
217
|
-
how_to_enable: string;
|
|
218
|
-
cache_configuration?: never;
|
|
219
|
-
ttl_presets?: never;
|
|
220
|
-
current_stats?: never;
|
|
221
|
-
invalidation_info?: never;
|
|
222
|
-
performance_benefits?: never;
|
|
223
|
-
} | {
|
|
224
|
-
caching_enabled: boolean;
|
|
225
|
-
cache_configuration: {
|
|
226
|
-
max_size: string;
|
|
227
|
-
default_ttl: string;
|
|
228
|
-
lru_enabled: string;
|
|
229
|
-
stats_enabled: string;
|
|
230
|
-
};
|
|
231
|
-
ttl_presets: {
|
|
232
|
-
static_data: string;
|
|
233
|
-
semi_static_data: string;
|
|
234
|
-
dynamic_data: string;
|
|
235
|
-
session_data: string;
|
|
236
|
-
realtime_data: string;
|
|
237
|
-
};
|
|
238
|
-
current_stats: {
|
|
239
|
-
total_entries: number;
|
|
240
|
-
hit_rate: string;
|
|
241
|
-
hits: number;
|
|
242
|
-
misses: number;
|
|
243
|
-
evictions: number;
|
|
244
|
-
};
|
|
245
|
-
invalidation_info: {
|
|
246
|
-
queue_size: number;
|
|
247
|
-
rules_registered: number;
|
|
248
|
-
currently_processing: boolean;
|
|
249
|
-
};
|
|
250
|
-
performance_benefits: string[];
|
|
251
|
-
message?: never;
|
|
252
|
-
how_to_enable?: never;
|
|
253
|
-
}>;
|
|
254
|
-
/**
|
|
255
|
-
* Resolve client from site parameter
|
|
256
|
-
*/
|
|
257
|
-
private resolveClient;
|
|
258
|
-
}
|
|
259
|
-
export default CacheTools;
|
|
260
|
-
//# sourceMappingURL=cache.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.d.ts","sourceRoot":"","sources":["../../../src/tools/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAIxD;;GAEG;AACH,qBAAa,UAAU;IACT,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAEzD;;OAEG;IACH,QAAQ;;;;;;;;0BA8D0B;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;0BAkCpB;YAAE,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,OAAO,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;0BAmCpC;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;0BA2Bd;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAnGlD;;OAEG;IACG,mBAAmB,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;IA+BnD;;OAEG;IACG,gBAAgB,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;IAgClE;;OAEG;IACG,eAAe,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;IAwB/C;;OAEG;IACG,kBAAkB,CAAC,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAmDlD;;OAEG;IACH,OAAO,CAAC,aAAa;CAoBtB;AAED,eAAe,UAAU,CAAC"}
|
package/dist/src/tools/cache.js
DELETED
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cache management tools for WordPress MCP Server
|
|
3
|
-
* Provides cache inspection, clearing, and warming capabilities
|
|
4
|
-
*/
|
|
5
|
-
import { CachedWordPressClient } from "../client/CachedWordPressClient.js";
|
|
6
|
-
import { toolWrapper } from "../utils/toolWrapper.js";
|
|
7
|
-
/**
|
|
8
|
-
* Cache management tools class
|
|
9
|
-
*/
|
|
10
|
-
export class CacheTools {
|
|
11
|
-
clients;
|
|
12
|
-
constructor(clients) {
|
|
13
|
-
this.clients = clients;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Get cache management tools
|
|
17
|
-
*/
|
|
18
|
-
getTools() {
|
|
19
|
-
return [
|
|
20
|
-
{
|
|
21
|
-
name: "wp_cache_stats",
|
|
22
|
-
description: "Get cache statistics for a WordPress site.",
|
|
23
|
-
parameters: [
|
|
24
|
-
{
|
|
25
|
-
name: "site",
|
|
26
|
-
type: "string",
|
|
27
|
-
description: "Site ID to get cache stats for. If not provided, uses default site or fails if multiple sites configured.",
|
|
28
|
-
},
|
|
29
|
-
],
|
|
30
|
-
handler: this.handleGetCacheStats.bind(this),
|
|
31
|
-
},
|
|
32
|
-
{
|
|
33
|
-
name: "wp_cache_clear",
|
|
34
|
-
description: "Clear cache for a WordPress site.",
|
|
35
|
-
parameters: [
|
|
36
|
-
{
|
|
37
|
-
name: "site",
|
|
38
|
-
type: "string",
|
|
39
|
-
description: "Site ID to clear cache for.",
|
|
40
|
-
},
|
|
41
|
-
{
|
|
42
|
-
name: "pattern",
|
|
43
|
-
type: "string",
|
|
44
|
-
description: 'Optional pattern to clear specific cache entries (e.g., "posts", "categories").',
|
|
45
|
-
},
|
|
46
|
-
],
|
|
47
|
-
handler: this.handleClearCache.bind(this),
|
|
48
|
-
},
|
|
49
|
-
{
|
|
50
|
-
name: "wp_cache_warm",
|
|
51
|
-
description: "Pre-warm cache with essential WordPress data.",
|
|
52
|
-
parameters: [
|
|
53
|
-
{
|
|
54
|
-
name: "site",
|
|
55
|
-
type: "string",
|
|
56
|
-
description: "Site ID to warm cache for.",
|
|
57
|
-
},
|
|
58
|
-
],
|
|
59
|
-
handler: this.handleWarmCache.bind(this),
|
|
60
|
-
},
|
|
61
|
-
{
|
|
62
|
-
name: "wp_cache_info",
|
|
63
|
-
description: "Get detailed cache configuration and status information.",
|
|
64
|
-
parameters: [
|
|
65
|
-
{
|
|
66
|
-
name: "site",
|
|
67
|
-
type: "string",
|
|
68
|
-
description: "Site ID to get cache info for.",
|
|
69
|
-
},
|
|
70
|
-
],
|
|
71
|
-
handler: this.handleGetCacheInfo.bind(this),
|
|
72
|
-
},
|
|
73
|
-
];
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Get cache statistics
|
|
77
|
-
*/
|
|
78
|
-
async handleGetCacheStats(params) {
|
|
79
|
-
return toolWrapper(async () => {
|
|
80
|
-
const client = this.resolveClient(params.site);
|
|
81
|
-
if (!(client instanceof CachedWordPressClient)) {
|
|
82
|
-
return {
|
|
83
|
-
caching_enabled: false,
|
|
84
|
-
message: "Caching is disabled for this site. Set DISABLE_CACHE=false to enable caching.",
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
const stats = client.getCacheStats();
|
|
88
|
-
return {
|
|
89
|
-
caching_enabled: true,
|
|
90
|
-
cache_stats: {
|
|
91
|
-
hits: stats.cache.hits,
|
|
92
|
-
misses: stats.cache.misses,
|
|
93
|
-
hit_rate: Math.round(stats.cache.hitRate * 100) + "%",
|
|
94
|
-
total_entries: stats.cache.totalSize,
|
|
95
|
-
evictions: stats.cache.evictions,
|
|
96
|
-
},
|
|
97
|
-
invalidation_stats: {
|
|
98
|
-
queue_size: stats.invalidation.queueSize,
|
|
99
|
-
rules_count: stats.invalidation.rulesCount,
|
|
100
|
-
processing: stats.invalidation.processing,
|
|
101
|
-
},
|
|
102
|
-
};
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
/**
|
|
106
|
-
* Clear cache
|
|
107
|
-
*/
|
|
108
|
-
async handleClearCache(params) {
|
|
109
|
-
return toolWrapper(async () => {
|
|
110
|
-
const client = this.resolveClient(params.site);
|
|
111
|
-
if (!(client instanceof CachedWordPressClient)) {
|
|
112
|
-
return {
|
|
113
|
-
success: false,
|
|
114
|
-
message: "Caching is not enabled for this site.",
|
|
115
|
-
};
|
|
116
|
-
}
|
|
117
|
-
let cleared;
|
|
118
|
-
if (params.pattern) {
|
|
119
|
-
cleared = client.clearCachePattern(params.pattern);
|
|
120
|
-
return {
|
|
121
|
-
success: true,
|
|
122
|
-
message: `Cleared ${cleared} cache entries matching pattern "${params.pattern}".`,
|
|
123
|
-
cleared_entries: cleared,
|
|
124
|
-
pattern: params.pattern,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
else {
|
|
128
|
-
cleared = client.clearCache();
|
|
129
|
-
return {
|
|
130
|
-
success: true,
|
|
131
|
-
message: `Cleared all cache entries (${cleared} total).`,
|
|
132
|
-
cleared_entries: cleared,
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
});
|
|
136
|
-
}
|
|
137
|
-
/**
|
|
138
|
-
* Warm cache with essential data
|
|
139
|
-
*/
|
|
140
|
-
async handleWarmCache(params) {
|
|
141
|
-
return toolWrapper(async () => {
|
|
142
|
-
const client = this.resolveClient(params.site);
|
|
143
|
-
if (!(client instanceof CachedWordPressClient)) {
|
|
144
|
-
return {
|
|
145
|
-
success: false,
|
|
146
|
-
message: "Caching is not enabled for this site.",
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
await client.warmCache();
|
|
150
|
-
const stats = client.getCacheStats();
|
|
151
|
-
return {
|
|
152
|
-
success: true,
|
|
153
|
-
message: "Cache warmed with essential WordPress data.",
|
|
154
|
-
cache_entries_after_warming: stats.cache.totalSize,
|
|
155
|
-
warmed_data: ["Current user information", "Categories", "Tags", "Site settings"],
|
|
156
|
-
};
|
|
157
|
-
});
|
|
158
|
-
}
|
|
159
|
-
/**
|
|
160
|
-
* Get detailed cache information
|
|
161
|
-
*/
|
|
162
|
-
async handleGetCacheInfo(params) {
|
|
163
|
-
return toolWrapper(async () => {
|
|
164
|
-
const client = this.resolveClient(params.site);
|
|
165
|
-
if (!(client instanceof CachedWordPressClient)) {
|
|
166
|
-
return {
|
|
167
|
-
caching_enabled: false,
|
|
168
|
-
message: "Caching is disabled for this site.",
|
|
169
|
-
how_to_enable: "Remove DISABLE_CACHE=true from environment variables or set it to false.",
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
const stats = client.getCacheStats();
|
|
173
|
-
return {
|
|
174
|
-
caching_enabled: true,
|
|
175
|
-
cache_configuration: {
|
|
176
|
-
max_size: "Configured in SecurityConfig.cache.maxSize",
|
|
177
|
-
default_ttl: "Configured in SecurityConfig.cache.defaultTTL",
|
|
178
|
-
lru_enabled: "Configured in SecurityConfig.cache.enableLRU",
|
|
179
|
-
stats_enabled: "Configured in SecurityConfig.cache.enableStats",
|
|
180
|
-
},
|
|
181
|
-
ttl_presets: {
|
|
182
|
-
static_data: "4 hours (site settings, user roles)",
|
|
183
|
-
semi_static_data: "2 hours (categories, tags, user profiles)",
|
|
184
|
-
dynamic_data: "15 minutes (posts, pages, comments)",
|
|
185
|
-
session_data: "30 minutes (authentication, current user)",
|
|
186
|
-
realtime_data: "1 minute (real-time data)",
|
|
187
|
-
},
|
|
188
|
-
current_stats: {
|
|
189
|
-
total_entries: stats.cache.totalSize,
|
|
190
|
-
hit_rate: Math.round(stats.cache.hitRate * 100) + "%",
|
|
191
|
-
hits: stats.cache.hits,
|
|
192
|
-
misses: stats.cache.misses,
|
|
193
|
-
evictions: stats.cache.evictions,
|
|
194
|
-
},
|
|
195
|
-
invalidation_info: {
|
|
196
|
-
queue_size: stats.invalidation.queueSize,
|
|
197
|
-
rules_registered: stats.invalidation.rulesCount,
|
|
198
|
-
currently_processing: stats.invalidation.processing,
|
|
199
|
-
},
|
|
200
|
-
performance_benefits: [
|
|
201
|
-
"Reduced API calls to WordPress",
|
|
202
|
-
"Faster response times for repeated requests",
|
|
203
|
-
"Better rate limit utilization",
|
|
204
|
-
"Improved user experience",
|
|
205
|
-
],
|
|
206
|
-
};
|
|
207
|
-
});
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Resolve client from site parameter
|
|
211
|
-
*/
|
|
212
|
-
resolveClient(siteId) {
|
|
213
|
-
if (!siteId) {
|
|
214
|
-
if (this.clients.size === 1) {
|
|
215
|
-
return Array.from(this.clients.values())[0];
|
|
216
|
-
}
|
|
217
|
-
else if (this.clients.size === 0) {
|
|
218
|
-
throw new Error("No WordPress sites configured.");
|
|
219
|
-
}
|
|
220
|
-
else {
|
|
221
|
-
throw new Error(`Multiple sites configured. Please specify --site parameter. Available sites: ${Array.from(this.clients.keys()).join(", ")}`);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
const client = this.clients.get(siteId);
|
|
225
|
-
if (!client) {
|
|
226
|
-
throw new Error(`Site "${siteId}" not found. Available sites: ${Array.from(this.clients.keys()).join(", ")}`);
|
|
227
|
-
}
|
|
228
|
-
return client;
|
|
229
|
-
}
|
|
230
|
-
}
|
|
231
|
-
export default CacheTools;
|
|
232
|
-
//# sourceMappingURL=cache.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../../src/tools/cache.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,UAAU;IACD;IAApB,YAAoB,OAAqC;QAArC,YAAO,GAAP,OAAO,CAA8B;IAAG,CAAC;IAE7D;;OAEG;IACH,QAAQ;QACN,OAAO;YACL;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,4CAA4C;gBACzD,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EACT,2GAA2G;qBAC9G;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC7C;YACD;gBACE,IAAI,EAAE,gBAAgB;gBACtB,WAAW,EAAE,mCAAmC;gBAChD,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,6BAA6B;qBAC3C;oBACD;wBACE,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,iFAAiF;qBAC/F;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC1C;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,+CAA+C;gBAC5D,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,4BAA4B;qBAC1C;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;aACzC;YACD;gBACE,IAAI,EAAE,eAAe;gBACrB,WAAW,EAAE,0DAA0D;gBACvE,UAAU,EAAE;oBACV;wBACE,IAAI,EAAE,MAAM;wBACZ,IAAI,EAAE,QAAQ;wBACd,WAAW,EAAE,gCAAgC;qBAC9C;iBACF;gBACD,OAAO,EAAE,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC;aAC5C;SACF,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,mBAAmB,CAAC,MAAyB;QACjD,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC,CAAC,MAAM,YAAY,qBAAqB,CAAC,EAAE,CAAC;gBAC/C,OAAO;oBACL,eAAe,EAAE,KAAK;oBACtB,OAAO,EAAE,+EAA+E;iBACzF,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YAErC,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,WAAW,EAAE;oBACX,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;oBACtB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;oBAC1B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG;oBACrD,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;oBACpC,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;iBACjC;gBACD,kBAAkB,EAAE;oBAClB,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS;oBACxC,WAAW,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;oBAC1C,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;iBAC1C;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,MAA2C;QAChE,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC,CAAC,MAAM,YAAY,qBAAqB,CAAC,EAAE,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,uCAAuC;iBACjD,CAAC;YACJ,CAAC;YAED,IAAI,OAAe,CAAC;YAEpB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,OAAO,GAAG,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACnD,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,WAAW,OAAO,oCAAoC,MAAM,CAAC,OAAO,IAAI;oBACjF,eAAe,EAAE,OAAO;oBACxB,OAAO,EAAE,MAAM,CAAC,OAAO;iBACxB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC9B,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,8BAA8B,OAAO,UAAU;oBACxD,eAAe,EAAE,OAAO;iBACzB,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe,CAAC,MAAyB;QAC7C,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC,CAAC,MAAM,YAAY,qBAAqB,CAAC,EAAE,CAAC;gBAC/C,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,OAAO,EAAE,uCAAuC;iBACjD,CAAC;YACJ,CAAC;YAED,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;YAEzB,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YAErC,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,OAAO,EAAE,6CAA6C;gBACtD,2BAA2B,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;gBAClD,WAAW,EAAE,CAAC,0BAA0B,EAAE,YAAY,EAAE,MAAM,EAAE,eAAe,CAAC;aACjF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CAAC,MAAyB;QAChD,OAAO,WAAW,CAAC,KAAK,IAAI,EAAE;YAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAE/C,IAAI,CAAC,CAAC,MAAM,YAAY,qBAAqB,CAAC,EAAE,CAAC;gBAC/C,OAAO;oBACL,eAAe,EAAE,KAAK;oBACtB,OAAO,EAAE,oCAAoC;oBAC7C,aAAa,EAAE,0EAA0E;iBAC1F,CAAC;YACJ,CAAC;YAED,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,EAAE,CAAC;YAErC,OAAO;gBACL,eAAe,EAAE,IAAI;gBACrB,mBAAmB,EAAE;oBACnB,QAAQ,EAAE,4CAA4C;oBACtD,WAAW,EAAE,+CAA+C;oBAC5D,WAAW,EAAE,8CAA8C;oBAC3D,aAAa,EAAE,gDAAgD;iBAChE;gBACD,WAAW,EAAE;oBACX,WAAW,EAAE,qCAAqC;oBAClD,gBAAgB,EAAE,2CAA2C;oBAC7D,YAAY,EAAE,qCAAqC;oBACnD,YAAY,EAAE,2CAA2C;oBACzD,aAAa,EAAE,2BAA2B;iBAC3C;gBACD,aAAa,EAAE;oBACb,aAAa,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;oBACpC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC,GAAG,GAAG;oBACrD,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,IAAI;oBACtB,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;oBAC1B,SAAS,EAAE,KAAK,CAAC,KAAK,CAAC,SAAS;iBACjC;gBACD,iBAAiB,EAAE;oBACjB,UAAU,EAAE,KAAK,CAAC,YAAY,CAAC,SAAS;oBACxC,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;oBAC/C,oBAAoB,EAAE,KAAK,CAAC,YAAY,CAAC,UAAU;iBACpD;gBACD,oBAAoB,EAAE;oBACpB,gCAAgC;oBAChC,6CAA6C;oBAC7C,+BAA+B;oBAC/B,0BAA0B;iBAC3B;aACF,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,MAAe;QACnC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBAC5B,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,MAAM,IAAI,KAAK,CACb,gFAAgF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC7H,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACxC,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,SAAS,MAAM,iCAAiC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAChH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;CACF;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { WordPressClient } from "../client/api.js";
|
|
2
|
-
/**
|
|
3
|
-
* Provides tools for managing comments on a WordPress site.
|
|
4
|
-
* This class encapsulates tool definitions and their corresponding handlers.
|
|
5
|
-
*/
|
|
6
|
-
export declare class CommentTools {
|
|
7
|
-
/**
|
|
8
|
-
* Retrieves the list of comment management tools.
|
|
9
|
-
* @returns An array of MCPTool definitions.
|
|
10
|
-
*/
|
|
11
|
-
getTools(): Array<{
|
|
12
|
-
name: string;
|
|
13
|
-
description: string;
|
|
14
|
-
parameters?: Array<{
|
|
15
|
-
name: string;
|
|
16
|
-
type?: string;
|
|
17
|
-
description?: string;
|
|
18
|
-
required?: boolean;
|
|
19
|
-
enum?: string[];
|
|
20
|
-
items?: unknown;
|
|
21
|
-
}>;
|
|
22
|
-
handler: (client: WordPressClient, params: Record<string, unknown>) => Promise<unknown>;
|
|
23
|
-
}>;
|
|
24
|
-
handleListComments(client: WordPressClient, params: Record<string, unknown>): Promise<unknown>;
|
|
25
|
-
handleGetComment(client: WordPressClient, params: Record<string, unknown>): Promise<unknown>;
|
|
26
|
-
handleCreateComment(client: WordPressClient, params: Record<string, unknown>): Promise<unknown>;
|
|
27
|
-
handleUpdateComment(client: WordPressClient, params: Record<string, unknown>): Promise<unknown>;
|
|
28
|
-
handleDeleteComment(client: WordPressClient, params: Record<string, unknown>): Promise<unknown>;
|
|
29
|
-
handleApproveComment(client: WordPressClient, params: Record<string, unknown>): Promise<unknown>;
|
|
30
|
-
handleSpamComment(client: WordPressClient, params: Record<string, unknown>): Promise<unknown>;
|
|
31
|
-
}
|
|
32
|
-
export default CommentTools;
|
|
33
|
-
//# sourceMappingURL=comments.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"comments.d.ts","sourceRoot":"","sources":["../../../src/tools/comments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD;;;GAGG;AACH,qBAAa,YAAY;IACvB;;;OAGG;IACI,QAAQ,IAAI,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,CAAC,EAAE,KAAK,CAAC;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,CAAC;YAAC,WAAW,CAAC,EAAE,MAAM,CAAC;YAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;YAAC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAAC,KAAK,CAAC,EAAE,OAAO,CAAA;SAAE,CAAC,CAAC;QAChI,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KACzF,CAAC;IAqIW,kBAAkB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAqB9F,gBAAgB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAiB5F,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAU/F,mBAAmB,CAC9B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;IAUN,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAW/F,oBAAoB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;IAahG,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC;CAY3G;AAED,eAAe,YAAY,CAAC"}
|