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
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
|
|
2
|
-
import { WordPressClient } from "../client/api.js";
|
|
3
|
-
/**
|
|
4
|
-
* Interface for tool definition
|
|
5
|
-
*/
|
|
6
|
-
export interface ToolDefinition {
|
|
7
|
-
name: string;
|
|
8
|
-
description?: string;
|
|
9
|
-
parameters?: Array<{
|
|
10
|
-
name: string;
|
|
11
|
-
type?: string;
|
|
12
|
-
description?: string;
|
|
13
|
-
required?: boolean;
|
|
14
|
-
}>;
|
|
15
|
-
handler: (client: WordPressClient, args: Record<string, unknown>) => Promise<unknown>;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Registry for managing MCP tools
|
|
19
|
-
* Handles tool registration, parameter validation, and execution
|
|
20
|
-
*/
|
|
21
|
-
export declare class ToolRegistry {
|
|
22
|
-
private server;
|
|
23
|
-
private wordpressClients;
|
|
24
|
-
constructor(server: McpServer, wordpressClients: Map<string, WordPressClient>);
|
|
25
|
-
/**
|
|
26
|
-
* Register all available tools with the MCP server
|
|
27
|
-
*/
|
|
28
|
-
registerAllTools(): void;
|
|
29
|
-
/**
|
|
30
|
-
* Register a single tool with parameter validation and execution handling
|
|
31
|
-
*/
|
|
32
|
-
private registerTool;
|
|
33
|
-
/**
|
|
34
|
-
* Build Zod parameter schema from tool definition
|
|
35
|
-
*/
|
|
36
|
-
private buildParameterSchema;
|
|
37
|
-
/**
|
|
38
|
-
* Get appropriate Zod type for parameter definition
|
|
39
|
-
*/
|
|
40
|
-
private getZodTypeForParameter;
|
|
41
|
-
/**
|
|
42
|
-
* Intelligent site selection based on context
|
|
43
|
-
*/
|
|
44
|
-
private selectBestSite;
|
|
45
|
-
/**
|
|
46
|
-
* Check if error is authentication-related
|
|
47
|
-
*/
|
|
48
|
-
private isAuthenticationError;
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=ToolRegistry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolRegistry.d.ts","sourceRoot":"","sources":["../../../src/server/ToolRegistry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOnD;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,KAAK,CAAC;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACvF;AAED;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAY;IAC1B,OAAO,CAAC,gBAAgB,CAA+B;gBAE3C,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC;IAK7E;;OAEG;IACI,gBAAgB,IAAI,IAAI;IAoB/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAyHpB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAyB5B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAiB9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA2CtB;;OAEG;IACH,OAAO,CAAC,qBAAqB;CAO9B"}
|
|
@@ -1,219 +0,0 @@
|
|
|
1
|
-
import { getErrorMessage } from "../utils/error.js";
|
|
2
|
-
import { EnhancedError, ErrorHandlers } from "../utils/enhancedError.js";
|
|
3
|
-
import { config } from "../config/Config.js";
|
|
4
|
-
import * as Tools from "../tools/index.js";
|
|
5
|
-
import { z } from "zod";
|
|
6
|
-
/**
|
|
7
|
-
* Registry for managing MCP tools
|
|
8
|
-
* Handles tool registration, parameter validation, and execution
|
|
9
|
-
*/
|
|
10
|
-
export class ToolRegistry {
|
|
11
|
-
server;
|
|
12
|
-
wordpressClients;
|
|
13
|
-
constructor(server, wordpressClients) {
|
|
14
|
-
this.server = server;
|
|
15
|
-
this.wordpressClients = wordpressClients;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Register all available tools with the MCP server
|
|
19
|
-
*/
|
|
20
|
-
registerAllTools() {
|
|
21
|
-
// Register all tools from the tools directory
|
|
22
|
-
Object.values(Tools).forEach((ToolClass) => {
|
|
23
|
-
let toolInstance;
|
|
24
|
-
// Cache and Performance tools need the clients map
|
|
25
|
-
if (ToolClass.name === "CacheTools" || ToolClass.name === "PerformanceTools") {
|
|
26
|
-
toolInstance = new ToolClass(this.wordpressClients);
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
toolInstance = new ToolClass();
|
|
30
|
-
}
|
|
31
|
-
const tools = toolInstance.getTools();
|
|
32
|
-
tools.forEach((tool) => {
|
|
33
|
-
this.registerTool(tool);
|
|
34
|
-
});
|
|
35
|
-
});
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Register a single tool with parameter validation and execution handling
|
|
39
|
-
*/
|
|
40
|
-
registerTool(tool) {
|
|
41
|
-
// Create base parameter schema with site parameter
|
|
42
|
-
const baseSchema = {
|
|
43
|
-
site: z
|
|
44
|
-
.string()
|
|
45
|
-
.optional()
|
|
46
|
-
.describe("The ID of the WordPress site to target (from mcp-wordpress.config.json). Required if multiple sites are configured."),
|
|
47
|
-
};
|
|
48
|
-
// Merge with tool-specific parameters
|
|
49
|
-
const parameterSchema = this.buildParameterSchema(tool, baseSchema);
|
|
50
|
-
// Make site parameter required if multiple sites are configured
|
|
51
|
-
if (this.wordpressClients.size > 1 &&
|
|
52
|
-
parameterSchema.site &&
|
|
53
|
-
typeof parameterSchema.site === "object" &&
|
|
54
|
-
"describe" in parameterSchema.site) {
|
|
55
|
-
parameterSchema.site = parameterSchema.site.describe("The ID of the WordPress site to target (from mcp-wordpress.config.json). Required when multiple sites are configured.");
|
|
56
|
-
}
|
|
57
|
-
this.server.tool(tool.name, tool.description || `WordPress tool: ${tool.name}`, parameterSchema, async (args) => {
|
|
58
|
-
try {
|
|
59
|
-
let siteId = args.site;
|
|
60
|
-
// If no site specified and multiple sites configured, require site parameter
|
|
61
|
-
if (!siteId && this.wordpressClients.size > 1) {
|
|
62
|
-
const availableSites = Array.from(this.wordpressClients.keys());
|
|
63
|
-
const error = ErrorHandlers.siteParameterMissing(availableSites);
|
|
64
|
-
return {
|
|
65
|
-
content: [
|
|
66
|
-
{
|
|
67
|
-
type: "text",
|
|
68
|
-
text: error.toString(),
|
|
69
|
-
},
|
|
70
|
-
],
|
|
71
|
-
isError: true,
|
|
72
|
-
};
|
|
73
|
-
}
|
|
74
|
-
// Intelligent site selection for single-site configurations
|
|
75
|
-
if (!siteId) {
|
|
76
|
-
siteId = this.selectBestSite(tool.name, args);
|
|
77
|
-
}
|
|
78
|
-
const client = this.wordpressClients.get(siteId);
|
|
79
|
-
if (!client) {
|
|
80
|
-
const availableSites = Array.from(this.wordpressClients.keys());
|
|
81
|
-
const error = ErrorHandlers.siteNotFound(siteId, availableSites);
|
|
82
|
-
return {
|
|
83
|
-
content: [
|
|
84
|
-
{
|
|
85
|
-
type: "text",
|
|
86
|
-
text: error.toString(),
|
|
87
|
-
},
|
|
88
|
-
],
|
|
89
|
-
isError: true,
|
|
90
|
-
};
|
|
91
|
-
}
|
|
92
|
-
// Call the tool handler with the client and parameters
|
|
93
|
-
const result = await tool.handler(client, args);
|
|
94
|
-
return {
|
|
95
|
-
content: [
|
|
96
|
-
{
|
|
97
|
-
type: "text",
|
|
98
|
-
text: typeof result === "string" ? result : JSON.stringify(result, null, 2),
|
|
99
|
-
},
|
|
100
|
-
],
|
|
101
|
-
};
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
if (this.isAuthenticationError(error)) {
|
|
105
|
-
return {
|
|
106
|
-
content: [
|
|
107
|
-
{
|
|
108
|
-
type: "text",
|
|
109
|
-
text: `Authentication failed for site '${args.site || "default"}'. Please check your credentials.`,
|
|
110
|
-
},
|
|
111
|
-
],
|
|
112
|
-
isError: true,
|
|
113
|
-
};
|
|
114
|
-
}
|
|
115
|
-
// Handle enhanced errors with suggestions
|
|
116
|
-
if (error instanceof EnhancedError) {
|
|
117
|
-
return {
|
|
118
|
-
content: [
|
|
119
|
-
{
|
|
120
|
-
type: "text",
|
|
121
|
-
text: error.toString(),
|
|
122
|
-
},
|
|
123
|
-
],
|
|
124
|
-
isError: true,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
return {
|
|
128
|
-
content: [
|
|
129
|
-
{
|
|
130
|
-
type: "text",
|
|
131
|
-
text: `Error: ${getErrorMessage(error)}`,
|
|
132
|
-
},
|
|
133
|
-
],
|
|
134
|
-
isError: true,
|
|
135
|
-
};
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
/**
|
|
140
|
-
* Build Zod parameter schema from tool definition
|
|
141
|
-
*/
|
|
142
|
-
buildParameterSchema(tool, baseSchema) {
|
|
143
|
-
return (tool.parameters?.reduce((schema, param) => {
|
|
144
|
-
let zodType = this.getZodTypeForParameter(param);
|
|
145
|
-
if (param.description) {
|
|
146
|
-
zodType = zodType.describe(param.description);
|
|
147
|
-
}
|
|
148
|
-
if (!param.required) {
|
|
149
|
-
zodType = zodType.optional();
|
|
150
|
-
}
|
|
151
|
-
schema[param.name] = zodType;
|
|
152
|
-
return schema;
|
|
153
|
-
}, { ...baseSchema }) || baseSchema);
|
|
154
|
-
}
|
|
155
|
-
/**
|
|
156
|
-
* Get appropriate Zod type for parameter definition
|
|
157
|
-
*/
|
|
158
|
-
getZodTypeForParameter(param) {
|
|
159
|
-
switch (param.type) {
|
|
160
|
-
case "string":
|
|
161
|
-
return z.string();
|
|
162
|
-
case "number":
|
|
163
|
-
return z.number();
|
|
164
|
-
case "boolean":
|
|
165
|
-
return z.boolean();
|
|
166
|
-
case "array":
|
|
167
|
-
return z.array(z.string());
|
|
168
|
-
case "object":
|
|
169
|
-
return z.record(z.unknown());
|
|
170
|
-
default:
|
|
171
|
-
return z.string();
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Intelligent site selection based on context
|
|
176
|
-
*/
|
|
177
|
-
selectBestSite(toolName, args) {
|
|
178
|
-
const availableSites = Array.from(this.wordpressClients.keys());
|
|
179
|
-
// Single site scenario - use it directly
|
|
180
|
-
if (availableSites.length === 1) {
|
|
181
|
-
return availableSites[0];
|
|
182
|
-
}
|
|
183
|
-
// Multiple sites scenario - intelligent selection
|
|
184
|
-
if (availableSites.length > 1) {
|
|
185
|
-
// Try to find a site based on context clues
|
|
186
|
-
// 1. Check if there's a 'default' site
|
|
187
|
-
if (availableSites.includes("default")) {
|
|
188
|
-
return "default";
|
|
189
|
-
}
|
|
190
|
-
// 2. Check if there's a 'main' or 'primary' site
|
|
191
|
-
const primarySites = availableSites.filter((site) => ["main", "primary", "prod", "production"].includes(site.toLowerCase()));
|
|
192
|
-
if (primarySites.length > 0) {
|
|
193
|
-
return primarySites[0];
|
|
194
|
-
}
|
|
195
|
-
// 3. For development/test operations, prefer dev sites
|
|
196
|
-
if (toolName.includes("test") || config().app.isDevelopment) {
|
|
197
|
-
const devSites = availableSites.filter((site) => ["dev", "test", "staging", "local"].includes(site.toLowerCase()));
|
|
198
|
-
if (devSites.length > 0) {
|
|
199
|
-
return devSites[0];
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
// 4. Default to first available site
|
|
203
|
-
return availableSites[0];
|
|
204
|
-
}
|
|
205
|
-
// Fallback to 'default' if no sites available
|
|
206
|
-
return "default";
|
|
207
|
-
}
|
|
208
|
-
/**
|
|
209
|
-
* Check if error is authentication-related
|
|
210
|
-
*/
|
|
211
|
-
isAuthenticationError(error) {
|
|
212
|
-
const errorObj = error;
|
|
213
|
-
if (errorObj?.response?.status && [401, 403].includes(errorObj.response.status)) {
|
|
214
|
-
return true;
|
|
215
|
-
}
|
|
216
|
-
return errorObj?.code === "WORDPRESS_AUTH_ERROR";
|
|
217
|
-
}
|
|
218
|
-
}
|
|
219
|
-
//# sourceMappingURL=ToolRegistry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ToolRegistry.js","sourceRoot":"","sources":["../../../src/server/ToolRegistry.ts"],"names":[],"mappings":"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"}
|
package/dist/src/server.d.ts
DELETED
package/dist/src/server.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
|
package/dist/src/server.js
DELETED
package/dist/src/server.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC3D,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC"}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base utility class for tool managers with enhanced type safety
|
|
3
|
-
*/
|
|
4
|
-
import { WordPressId, DeepReadonly, Result } from "../types/enhanced.js";
|
|
5
|
-
export interface ParameterValidationRule<T = unknown> {
|
|
6
|
-
readonly key: string;
|
|
7
|
-
readonly required: boolean;
|
|
8
|
-
readonly type?: string;
|
|
9
|
-
readonly validator?: (value: unknown) => value is T;
|
|
10
|
-
readonly transformer?: (value: unknown) => T;
|
|
11
|
-
readonly errorMessage?: string;
|
|
12
|
-
}
|
|
13
|
-
export interface CacheKeyOptions {
|
|
14
|
-
readonly namespace?: string;
|
|
15
|
-
readonly includeTimestamp?: boolean;
|
|
16
|
-
readonly customHasher?: (params: Record<string, unknown>) => string;
|
|
17
|
-
}
|
|
18
|
-
export declare class BaseToolUtils {
|
|
19
|
-
/**
|
|
20
|
-
* Validate required parameters with enhanced type safety
|
|
21
|
-
*/
|
|
22
|
-
static validateParams<T extends Record<string, unknown>>(params: unknown, rules: readonly ParameterValidationRule[]): Result<T, Error>;
|
|
23
|
-
/**
|
|
24
|
-
* Validate ID parameter with WordPress ID branding
|
|
25
|
-
*/
|
|
26
|
-
static validateId(id: unknown, name?: string): Result<WordPressId, Error>;
|
|
27
|
-
/**
|
|
28
|
-
* Validate multiple IDs at once
|
|
29
|
-
*/
|
|
30
|
-
static validateIds(ids: unknown[], name?: string): Result<readonly WordPressId[], Error>;
|
|
31
|
-
/**
|
|
32
|
-
* Handle errors consistently with enhanced error context
|
|
33
|
-
*/
|
|
34
|
-
static handleError(error: unknown, operation: string, context?: Record<string, unknown> | undefined): Error;
|
|
35
|
-
/**
|
|
36
|
-
* Generate cache keys with enhanced options
|
|
37
|
-
*/
|
|
38
|
-
static generateCacheKey(operation: string, params: DeepReadonly<Record<string, unknown>>, options?: CacheKeyOptions): string;
|
|
39
|
-
/**
|
|
40
|
-
* Format consistent success response messages
|
|
41
|
-
*/
|
|
42
|
-
static formatSuccessMessage(operation: string, details?: string, count?: number): string;
|
|
43
|
-
/**
|
|
44
|
-
* Validate string parameters with enhanced checks
|
|
45
|
-
*/
|
|
46
|
-
static validateString(value: unknown, name: string, options?: {
|
|
47
|
-
readonly required?: boolean;
|
|
48
|
-
readonly minLength?: number;
|
|
49
|
-
readonly maxLength?: number;
|
|
50
|
-
readonly pattern?: RegExp;
|
|
51
|
-
readonly allowEmpty?: boolean;
|
|
52
|
-
}): Result<string, Error>;
|
|
53
|
-
/**
|
|
54
|
-
* Type-safe parameter extraction
|
|
55
|
-
*/
|
|
56
|
-
static extractParam<T>(params: DeepReadonly<Record<string, unknown>>, key: string, defaultValue?: T): T | undefined;
|
|
57
|
-
/**
|
|
58
|
-
* Safe array extraction with type validation
|
|
59
|
-
*/
|
|
60
|
-
static extractArray<T>(params: DeepReadonly<Record<string, unknown>>, key: string, itemValidator?: (item: unknown) => item is T): readonly T[];
|
|
61
|
-
}
|
|
62
|
-
//# sourceMappingURL=BaseToolManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseToolManager.d.ts","sourceRoot":"","sources":["../../../src/tools/BaseToolManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Base utility class for tool managers with enhanced type safety
|
|
3
|
-
*/
|
|
4
|
-
import { getErrorMessage } from "../utils/error.js";
|
|
5
|
-
import { createWordPressId, createSuccess, createError } from "../types/enhanced.js";
|
|
6
|
-
export class BaseToolUtils {
|
|
7
|
-
/**
|
|
8
|
-
* Validate required parameters with enhanced type safety
|
|
9
|
-
*/
|
|
10
|
-
static validateParams(params, rules) {
|
|
11
|
-
if (!params || typeof params !== 'object' || Array.isArray(params)) {
|
|
12
|
-
return createError(new ValidationError('Parameters must be a non-null object', 'params', params));
|
|
13
|
-
}
|
|
14
|
-
const typedParams = params;
|
|
15
|
-
const errors = [];
|
|
16
|
-
for (const rule of rules) {
|
|
17
|
-
const value = typedParams[rule.key];
|
|
18
|
-
const exists = rule.key in typedParams;
|
|
19
|
-
// Check required fields
|
|
20
|
-
if (rule.required && (!exists || value === undefined || value === null)) {
|
|
21
|
-
errors.push(new ValidationError(rule.errorMessage || `Missing required parameter: ${rule.key}`, rule.key, value));
|
|
22
|
-
continue;
|
|
23
|
-
}
|
|
24
|
-
// Skip optional fields that don't exist
|
|
25
|
-
if (!rule.required && !exists) {
|
|
26
|
-
continue;
|
|
27
|
-
}
|
|
28
|
-
// Type validation
|
|
29
|
-
if (rule.type && typeof value !== rule.type) {
|
|
30
|
-
errors.push(new ValidationError(`Parameter ${rule.key} must be of type ${rule.type}, got ${typeof value}`, rule.key, value));
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
// Custom validation
|
|
34
|
-
if (rule.validator && !rule.validator(value)) {
|
|
35
|
-
errors.push(new ValidationError(rule.errorMessage || `Parameter ${rule.key} failed validation`, rule.key, value));
|
|
36
|
-
continue;
|
|
37
|
-
}
|
|
38
|
-
// Transform value if transformer provided
|
|
39
|
-
if (rule.transformer) {
|
|
40
|
-
try {
|
|
41
|
-
typedParams[rule.key] = rule.transformer(value);
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
errors.push(new ValidationError(`Failed to transform parameter ${rule.key}: ${getErrorMessage(error)}`, rule.key, value));
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (errors.length > 0) {
|
|
49
|
-
return createError(errors[0]); // Return first error for simplicity
|
|
50
|
-
}
|
|
51
|
-
return createSuccess(typedParams);
|
|
52
|
-
}
|
|
53
|
-
/**
|
|
54
|
-
* Validate ID parameter with WordPress ID branding
|
|
55
|
-
*/
|
|
56
|
-
static validateId(id, name = "id") {
|
|
57
|
-
try {
|
|
58
|
-
const numId = Number(id);
|
|
59
|
-
if (!Number.isInteger(numId) || numId <= 0) {
|
|
60
|
-
return createError(new ValidationError(`Invalid ${name}: must be a positive integer`, name, id));
|
|
61
|
-
}
|
|
62
|
-
return createSuccess(createWordPressId(numId));
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
return createError(new ValidationError(`Invalid ${name}: ${getErrorMessage(error)}`, name, id));
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* Validate multiple IDs at once
|
|
70
|
-
*/
|
|
71
|
-
static validateIds(ids, name = "ids") {
|
|
72
|
-
const validatedIds = [];
|
|
73
|
-
for (let i = 0; i < ids.length; i++) {
|
|
74
|
-
const result = this.validateId(ids[i], `${name}[${i}]`);
|
|
75
|
-
if (!result.success) {
|
|
76
|
-
return result;
|
|
77
|
-
}
|
|
78
|
-
validatedIds.push(result.data);
|
|
79
|
-
}
|
|
80
|
-
return createSuccess(validatedIds);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Handle errors consistently with enhanced error context
|
|
84
|
-
*/
|
|
85
|
-
static handleError(error, operation, context) {
|
|
86
|
-
const errorMessage = getErrorMessage(error);
|
|
87
|
-
const enhancedMessage = `Error in ${operation}: ${errorMessage}`;
|
|
88
|
-
const enhancedError = new Error(enhancedMessage);
|
|
89
|
-
enhancedError.originalError = error;
|
|
90
|
-
enhancedError.operation = operation;
|
|
91
|
-
enhancedError.context = context;
|
|
92
|
-
enhancedError.timestamp = new Date();
|
|
93
|
-
return enhancedError;
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Generate cache keys with enhanced options
|
|
97
|
-
*/
|
|
98
|
-
static generateCacheKey(operation, params, options = {}) {
|
|
99
|
-
const { namespace = 'wp', includeTimestamp = false, customHasher } = options;
|
|
100
|
-
const site = params.site || "default";
|
|
101
|
-
let paramStr;
|
|
102
|
-
if (customHasher) {
|
|
103
|
-
paramStr = customHasher(params);
|
|
104
|
-
}
|
|
105
|
-
else {
|
|
106
|
-
paramStr = Object.entries(params)
|
|
107
|
-
.filter(([key]) => key !== "site")
|
|
108
|
-
.sort(([a], [b]) => a.localeCompare(b))
|
|
109
|
-
.map(([key, value]) => `${key}:${JSON.stringify(value)}`)
|
|
110
|
-
.join("|");
|
|
111
|
-
}
|
|
112
|
-
let cacheKey = `${namespace}:${site}:${operation}:${paramStr}`;
|
|
113
|
-
if (includeTimestamp) {
|
|
114
|
-
const timestamp = Math.floor(Date.now() / 1000);
|
|
115
|
-
cacheKey += `:${timestamp}`;
|
|
116
|
-
}
|
|
117
|
-
return cacheKey;
|
|
118
|
-
}
|
|
119
|
-
/**
|
|
120
|
-
* Format consistent success response messages
|
|
121
|
-
*/
|
|
122
|
-
static formatSuccessMessage(operation, details, count) {
|
|
123
|
-
let message = operation;
|
|
124
|
-
if (count !== undefined) {
|
|
125
|
-
message += ` (${count} ${count === 1 ? 'item' : 'items'})`;
|
|
126
|
-
}
|
|
127
|
-
if (details) {
|
|
128
|
-
message += `: ${details}`;
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
message += " completed successfully";
|
|
132
|
-
}
|
|
133
|
-
return message;
|
|
134
|
-
}
|
|
135
|
-
/**
|
|
136
|
-
* Validate string parameters with enhanced checks
|
|
137
|
-
*/
|
|
138
|
-
static validateString(value, name, options = {}) {
|
|
139
|
-
const { required = true, minLength, maxLength, pattern, allowEmpty = false } = options;
|
|
140
|
-
if (value === undefined || value === null) {
|
|
141
|
-
if (required) {
|
|
142
|
-
return createError(new ValidationError(`${name} is required`, name, value));
|
|
143
|
-
}
|
|
144
|
-
return createSuccess('');
|
|
145
|
-
}
|
|
146
|
-
if (typeof value !== 'string') {
|
|
147
|
-
return createError(new ValidationError(`${name} must be a string`, name, value));
|
|
148
|
-
}
|
|
149
|
-
if (!allowEmpty && value.trim().length === 0) {
|
|
150
|
-
return createError(new ValidationError(`${name} cannot be empty`, name, value));
|
|
151
|
-
}
|
|
152
|
-
if (minLength !== undefined && value.length < minLength) {
|
|
153
|
-
return createError(new ValidationError(`${name} must be at least ${minLength} characters long`, name, value));
|
|
154
|
-
}
|
|
155
|
-
if (maxLength !== undefined && value.length > maxLength) {
|
|
156
|
-
return createError(new ValidationError(`${name} must be no more than ${maxLength} characters long`, name, value));
|
|
157
|
-
}
|
|
158
|
-
if (pattern && !pattern.test(value)) {
|
|
159
|
-
return createError(new ValidationError(`${name} does not match required pattern`, name, value));
|
|
160
|
-
}
|
|
161
|
-
return createSuccess(value);
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Type-safe parameter extraction
|
|
165
|
-
*/
|
|
166
|
-
static extractParam(params, key, defaultValue) {
|
|
167
|
-
const value = params[key];
|
|
168
|
-
return value !== undefined ? value : defaultValue;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Safe array extraction with type validation
|
|
172
|
-
*/
|
|
173
|
-
static extractArray(params, key, itemValidator) {
|
|
174
|
-
const value = params[key];
|
|
175
|
-
if (!Array.isArray(value)) {
|
|
176
|
-
return [];
|
|
177
|
-
}
|
|
178
|
-
if (itemValidator) {
|
|
179
|
-
return value.filter(itemValidator);
|
|
180
|
-
}
|
|
181
|
-
return value;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
// Custom ValidationError class for enhanced error handling
|
|
185
|
-
class ValidationError extends Error {
|
|
186
|
-
field;
|
|
187
|
-
value;
|
|
188
|
-
constructor(message, field, value) {
|
|
189
|
-
super(message);
|
|
190
|
-
this.field = field;
|
|
191
|
-
this.value = value;
|
|
192
|
-
this.name = 'ValidationError';
|
|
193
|
-
}
|
|
194
|
-
}
|
|
195
|
-
//# sourceMappingURL=BaseToolManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BaseToolManager.js","sourceRoot":"","sources":["../../../src/tools/BaseToolManager.ts"],"names":[],"mappings":"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"}
|
package/dist/src/tools/auth.d.ts
DELETED
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
import { WordPressClient } from "../client/api.js";
|
|
2
|
-
/**
|
|
3
|
-
* Provides authentication-related tools for WordPress sites.
|
|
4
|
-
* This class encapsulates tool definitions and their corresponding handlers.
|
|
5
|
-
*/
|
|
6
|
-
export declare class AuthTools {
|
|
7
|
-
/**
|
|
8
|
-
* Retrieves the list of authentication 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
|
-
/**
|
|
25
|
-
* Handles the 'wp_test_auth' tool request.
|
|
26
|
-
* It tests the connection and fetches user details upon success.
|
|
27
|
-
* @param client - The WordPressClient instance for the target site.
|
|
28
|
-
* @param params - The parameters for the tool request.
|
|
29
|
-
* @returns A promise that resolves to an MCPToolResponse.
|
|
30
|
-
*/
|
|
31
|
-
handleTestAuth(client: WordPressClient, params: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
32
|
-
/**
|
|
33
|
-
* Handles the 'wp_get_auth_status' tool request.
|
|
34
|
-
* Reports whether the client is currently authenticated.
|
|
35
|
-
* @param client - The WordPressClient instance for the target site.
|
|
36
|
-
* @param params - The parameters for the tool request.
|
|
37
|
-
* @returns A promise that resolves to an MCPToolResponse.
|
|
38
|
-
*/
|
|
39
|
-
handleGetAuthStatus(client: WordPressClient, params: Record<string, unknown>): Promise<Record<string, unknown>>;
|
|
40
|
-
/**
|
|
41
|
-
* Handles the 'wp_switch_auth_method' tool request.
|
|
42
|
-
* Updates the client's authentication configuration in memory for the session.
|
|
43
|
-
* @param client - The WordPressClient instance for the target site.
|
|
44
|
-
* @param params - The parameters for the tool request, including the new auth details.
|
|
45
|
-
* @returns A promise that resolves to an MCPToolResponse.
|
|
46
|
-
*/
|
|
47
|
-
handleSwitchAuthMethod(client: WordPressClient, params: Record<string, unknown>): Promise<unknown>;
|
|
48
|
-
}
|
|
49
|
-
export default AuthTools;
|
|
50
|
-
//# sourceMappingURL=auth.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../../src/tools/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAInD;;;GAGG;AACH,qBAAa,SAAS;IACpB;;;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;IAqDF;;;;;;OAMG;IACU,cAAc,CACzB,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAoBnC;;;;;;OAMG;IACU,mBAAmB,CAC9B,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAsBnC;;;;;;OAMG;IACU,sBAAsB,CACjC,MAAM,EAAE,eAAe,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,OAAO,CAAC,OAAO,CAAC;CAiBpB;AAED,eAAe,SAAS,CAAC"}
|