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,281 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* Zod schema for WordPress authentication methods
|
|
4
|
-
*/
|
|
5
|
-
declare const AuthMethodSchema: z.ZodEnum<["app-password", "jwt", "basic", "api-key", "cookie"]>;
|
|
6
|
-
/**
|
|
7
|
-
* Zod schema for URL validation with security checks
|
|
8
|
-
*/
|
|
9
|
-
declare const UrlSchema: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
10
|
-
/**
|
|
11
|
-
* Zod schema for WordPress site configuration
|
|
12
|
-
*/
|
|
13
|
-
declare const SiteConfigSchema: z.ZodObject<{
|
|
14
|
-
WORDPRESS_SITE_URL: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
15
|
-
WORDPRESS_USERNAME: z.ZodString;
|
|
16
|
-
WORDPRESS_APP_PASSWORD: z.ZodEffects<z.ZodString, string, string>;
|
|
17
|
-
WORDPRESS_AUTH_METHOD: z.ZodDefault<z.ZodOptional<z.ZodEnum<["app-password", "jwt", "basic", "api-key", "cookie"]>>>;
|
|
18
|
-
}, "strip", z.ZodTypeAny, {
|
|
19
|
-
WORDPRESS_SITE_URL: string;
|
|
20
|
-
WORDPRESS_USERNAME: string;
|
|
21
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
22
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
23
|
-
}, {
|
|
24
|
-
WORDPRESS_SITE_URL: string;
|
|
25
|
-
WORDPRESS_USERNAME: string;
|
|
26
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
27
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
28
|
-
}>;
|
|
29
|
-
/**
|
|
30
|
-
* Zod schema for site configuration with metadata
|
|
31
|
-
*/
|
|
32
|
-
declare const SiteSchema: z.ZodObject<{
|
|
33
|
-
id: z.ZodString;
|
|
34
|
-
name: z.ZodString;
|
|
35
|
-
config: z.ZodObject<{
|
|
36
|
-
WORDPRESS_SITE_URL: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
37
|
-
WORDPRESS_USERNAME: z.ZodString;
|
|
38
|
-
WORDPRESS_APP_PASSWORD: z.ZodEffects<z.ZodString, string, string>;
|
|
39
|
-
WORDPRESS_AUTH_METHOD: z.ZodDefault<z.ZodOptional<z.ZodEnum<["app-password", "jwt", "basic", "api-key", "cookie"]>>>;
|
|
40
|
-
}, "strip", z.ZodTypeAny, {
|
|
41
|
-
WORDPRESS_SITE_URL: string;
|
|
42
|
-
WORDPRESS_USERNAME: string;
|
|
43
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
44
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
45
|
-
}, {
|
|
46
|
-
WORDPRESS_SITE_URL: string;
|
|
47
|
-
WORDPRESS_USERNAME: string;
|
|
48
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
49
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
50
|
-
}>;
|
|
51
|
-
}, "strip", z.ZodTypeAny, {
|
|
52
|
-
id: string;
|
|
53
|
-
name: string;
|
|
54
|
-
config: {
|
|
55
|
-
WORDPRESS_SITE_URL: string;
|
|
56
|
-
WORDPRESS_USERNAME: string;
|
|
57
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
58
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
59
|
-
};
|
|
60
|
-
}, {
|
|
61
|
-
id: string;
|
|
62
|
-
name: string;
|
|
63
|
-
config: {
|
|
64
|
-
WORDPRESS_SITE_URL: string;
|
|
65
|
-
WORDPRESS_USERNAME: string;
|
|
66
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
67
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
68
|
-
};
|
|
69
|
-
}>;
|
|
70
|
-
/**
|
|
71
|
-
* Zod schema for multi-site configuration file
|
|
72
|
-
*/
|
|
73
|
-
declare const MultiSiteConfigSchema: z.ZodObject<{
|
|
74
|
-
sites: z.ZodEffects<z.ZodEffects<z.ZodEffects<z.ZodArray<z.ZodObject<{
|
|
75
|
-
id: z.ZodString;
|
|
76
|
-
name: z.ZodString;
|
|
77
|
-
config: z.ZodObject<{
|
|
78
|
-
WORDPRESS_SITE_URL: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
79
|
-
WORDPRESS_USERNAME: z.ZodString;
|
|
80
|
-
WORDPRESS_APP_PASSWORD: z.ZodEffects<z.ZodString, string, string>;
|
|
81
|
-
WORDPRESS_AUTH_METHOD: z.ZodDefault<z.ZodOptional<z.ZodEnum<["app-password", "jwt", "basic", "api-key", "cookie"]>>>;
|
|
82
|
-
}, "strip", z.ZodTypeAny, {
|
|
83
|
-
WORDPRESS_SITE_URL: string;
|
|
84
|
-
WORDPRESS_USERNAME: string;
|
|
85
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
86
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
87
|
-
}, {
|
|
88
|
-
WORDPRESS_SITE_URL: string;
|
|
89
|
-
WORDPRESS_USERNAME: string;
|
|
90
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
91
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
92
|
-
}>;
|
|
93
|
-
}, "strip", z.ZodTypeAny, {
|
|
94
|
-
id: string;
|
|
95
|
-
name: string;
|
|
96
|
-
config: {
|
|
97
|
-
WORDPRESS_SITE_URL: string;
|
|
98
|
-
WORDPRESS_USERNAME: string;
|
|
99
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
100
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
101
|
-
};
|
|
102
|
-
}, {
|
|
103
|
-
id: string;
|
|
104
|
-
name: string;
|
|
105
|
-
config: {
|
|
106
|
-
WORDPRESS_SITE_URL: string;
|
|
107
|
-
WORDPRESS_USERNAME: string;
|
|
108
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
109
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
110
|
-
};
|
|
111
|
-
}>, "many">, {
|
|
112
|
-
id: string;
|
|
113
|
-
name: string;
|
|
114
|
-
config: {
|
|
115
|
-
WORDPRESS_SITE_URL: string;
|
|
116
|
-
WORDPRESS_USERNAME: string;
|
|
117
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
118
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
119
|
-
};
|
|
120
|
-
}[], {
|
|
121
|
-
id: string;
|
|
122
|
-
name: string;
|
|
123
|
-
config: {
|
|
124
|
-
WORDPRESS_SITE_URL: string;
|
|
125
|
-
WORDPRESS_USERNAME: string;
|
|
126
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
127
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
128
|
-
};
|
|
129
|
-
}[]>, {
|
|
130
|
-
id: string;
|
|
131
|
-
name: string;
|
|
132
|
-
config: {
|
|
133
|
-
WORDPRESS_SITE_URL: string;
|
|
134
|
-
WORDPRESS_USERNAME: string;
|
|
135
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
136
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
137
|
-
};
|
|
138
|
-
}[], {
|
|
139
|
-
id: string;
|
|
140
|
-
name: string;
|
|
141
|
-
config: {
|
|
142
|
-
WORDPRESS_SITE_URL: string;
|
|
143
|
-
WORDPRESS_USERNAME: string;
|
|
144
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
145
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
146
|
-
};
|
|
147
|
-
}[]>, {
|
|
148
|
-
id: string;
|
|
149
|
-
name: string;
|
|
150
|
-
config: {
|
|
151
|
-
WORDPRESS_SITE_URL: string;
|
|
152
|
-
WORDPRESS_USERNAME: string;
|
|
153
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
154
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
155
|
-
};
|
|
156
|
-
}[], {
|
|
157
|
-
id: string;
|
|
158
|
-
name: string;
|
|
159
|
-
config: {
|
|
160
|
-
WORDPRESS_SITE_URL: string;
|
|
161
|
-
WORDPRESS_USERNAME: string;
|
|
162
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
163
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
164
|
-
};
|
|
165
|
-
}[]>;
|
|
166
|
-
}, "strip", z.ZodTypeAny, {
|
|
167
|
-
sites: {
|
|
168
|
-
id: string;
|
|
169
|
-
name: string;
|
|
170
|
-
config: {
|
|
171
|
-
WORDPRESS_SITE_URL: string;
|
|
172
|
-
WORDPRESS_USERNAME: string;
|
|
173
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
174
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
175
|
-
};
|
|
176
|
-
}[];
|
|
177
|
-
}, {
|
|
178
|
-
sites: {
|
|
179
|
-
id: string;
|
|
180
|
-
name: string;
|
|
181
|
-
config: {
|
|
182
|
-
WORDPRESS_SITE_URL: string;
|
|
183
|
-
WORDPRESS_USERNAME: string;
|
|
184
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
185
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
186
|
-
};
|
|
187
|
-
}[];
|
|
188
|
-
}>;
|
|
189
|
-
/**
|
|
190
|
-
* Zod schema for environment variables (single-site mode)
|
|
191
|
-
*/
|
|
192
|
-
declare const EnvironmentConfigSchema: z.ZodObject<{
|
|
193
|
-
WORDPRESS_SITE_URL: z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>;
|
|
194
|
-
WORDPRESS_USERNAME: z.ZodString;
|
|
195
|
-
WORDPRESS_APP_PASSWORD: z.ZodEffects<z.ZodString, string, string>;
|
|
196
|
-
WORDPRESS_AUTH_METHOD: z.ZodDefault<z.ZodOptional<z.ZodEnum<["app-password", "jwt", "basic", "api-key", "cookie"]>>>;
|
|
197
|
-
NODE_ENV: z.ZodOptional<z.ZodEnum<["development", "production", "test", "dxt", "ci"]>>;
|
|
198
|
-
DEBUG: z.ZodOptional<z.ZodString>;
|
|
199
|
-
DISABLE_CACHE: z.ZodOptional<z.ZodString>;
|
|
200
|
-
LOG_LEVEL: z.ZodOptional<z.ZodEnum<["error", "warn", "info", "debug"]>>;
|
|
201
|
-
}, "strip", z.ZodTypeAny, {
|
|
202
|
-
WORDPRESS_SITE_URL: string;
|
|
203
|
-
WORDPRESS_USERNAME: string;
|
|
204
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
205
|
-
WORDPRESS_AUTH_METHOD: "app-password" | "jwt" | "basic" | "api-key" | "cookie";
|
|
206
|
-
NODE_ENV?: "development" | "production" | "test" | "dxt" | "ci" | undefined;
|
|
207
|
-
DEBUG?: string | undefined;
|
|
208
|
-
LOG_LEVEL?: "info" | "debug" | "warn" | "error" | undefined;
|
|
209
|
-
DISABLE_CACHE?: string | undefined;
|
|
210
|
-
}, {
|
|
211
|
-
WORDPRESS_SITE_URL: string;
|
|
212
|
-
WORDPRESS_USERNAME: string;
|
|
213
|
-
WORDPRESS_APP_PASSWORD: string;
|
|
214
|
-
NODE_ENV?: "development" | "production" | "test" | "dxt" | "ci" | undefined;
|
|
215
|
-
WORDPRESS_AUTH_METHOD?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
216
|
-
DEBUG?: string | undefined;
|
|
217
|
-
LOG_LEVEL?: "info" | "debug" | "warn" | "error" | undefined;
|
|
218
|
-
DISABLE_CACHE?: string | undefined;
|
|
219
|
-
}>;
|
|
220
|
-
/**
|
|
221
|
-
* Zod schema for MCP configuration passed from client
|
|
222
|
-
*/
|
|
223
|
-
declare const McpConfigSchema: z.ZodOptional<z.ZodObject<{
|
|
224
|
-
wordpressSiteUrl: z.ZodOptional<z.ZodEffects<z.ZodEffects<z.ZodString, string, string>, string, string>>;
|
|
225
|
-
wordpressUsername: z.ZodOptional<z.ZodString>;
|
|
226
|
-
wordpressAppPassword: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
|
|
227
|
-
wordpressAuthMethod: z.ZodOptional<z.ZodEnum<["app-password", "jwt", "basic", "api-key", "cookie"]>>;
|
|
228
|
-
}, "strip", z.ZodTypeAny, {
|
|
229
|
-
wordpressSiteUrl?: string | undefined;
|
|
230
|
-
wordpressUsername?: string | undefined;
|
|
231
|
-
wordpressAppPassword?: string | undefined;
|
|
232
|
-
wordpressAuthMethod?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
233
|
-
}, {
|
|
234
|
-
wordpressSiteUrl?: string | undefined;
|
|
235
|
-
wordpressUsername?: string | undefined;
|
|
236
|
-
wordpressAppPassword?: string | undefined;
|
|
237
|
-
wordpressAuthMethod?: "app-password" | "jwt" | "basic" | "api-key" | "cookie" | undefined;
|
|
238
|
-
}>>;
|
|
239
|
-
/**
|
|
240
|
-
* Type definitions derived from Zod schemas
|
|
241
|
-
*/
|
|
242
|
-
export type SiteConfigType = z.infer<typeof SiteConfigSchema>;
|
|
243
|
-
export type SiteType = z.infer<typeof SiteSchema>;
|
|
244
|
-
export type MultiSiteConfigType = z.infer<typeof MultiSiteConfigSchema>;
|
|
245
|
-
export type EnvironmentConfigType = z.infer<typeof EnvironmentConfigSchema>;
|
|
246
|
-
export type McpConfigType = z.infer<typeof McpConfigSchema>;
|
|
247
|
-
/**
|
|
248
|
-
* Configuration validation utilities
|
|
249
|
-
*/
|
|
250
|
-
export declare class ConfigurationValidator {
|
|
251
|
-
/**
|
|
252
|
-
* Validate multi-site configuration from JSON file
|
|
253
|
-
*/
|
|
254
|
-
static validateMultiSiteConfig(config: unknown): MultiSiteConfigType;
|
|
255
|
-
/**
|
|
256
|
-
* Validate environment configuration for single-site mode
|
|
257
|
-
*/
|
|
258
|
-
static validateEnvironmentConfig(env: Record<string, string | undefined>): EnvironmentConfigType;
|
|
259
|
-
/**
|
|
260
|
-
* Validate MCP configuration passed from client
|
|
261
|
-
*/
|
|
262
|
-
static validateMcpConfig(config: unknown): McpConfigType;
|
|
263
|
-
/**
|
|
264
|
-
* Validate a single site configuration
|
|
265
|
-
*/
|
|
266
|
-
static validateSiteConfig(config: unknown): SiteType;
|
|
267
|
-
/**
|
|
268
|
-
* Check if a configuration file structure is valid without throwing
|
|
269
|
-
*/
|
|
270
|
-
static isValidMultiSiteConfig(config: unknown): boolean;
|
|
271
|
-
/**
|
|
272
|
-
* Check if environment configuration is valid without throwing
|
|
273
|
-
*/
|
|
274
|
-
static isValidEnvironmentConfig(env: Record<string, string | undefined>): boolean;
|
|
275
|
-
/**
|
|
276
|
-
* Get validation errors without throwing
|
|
277
|
-
*/
|
|
278
|
-
static getValidationErrors(schema: z.ZodSchema, data: unknown): string[];
|
|
279
|
-
}
|
|
280
|
-
export { SiteConfigSchema, SiteSchema, MultiSiteConfigSchema, EnvironmentConfigSchema, McpConfigSchema, AuthMethodSchema, UrlSchema, };
|
|
281
|
-
//# sourceMappingURL=ConfigurationSchema.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurationSchema.d.ts","sourceRoot":"","sources":["../../../src/config/ConfigurationSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;GAEG;AACH,QAAA,MAAM,gBAAgB,kEAAyE,CAAC;AAEhG;;GAEG;AACH,QAAA,MAAM,SAAS,yEA2ByC,CAAC;AAEzD;;GAEG;AACH,QAAA,MAAM,gBAAgB;;;;;;;;;;;;;;;EAgBpB,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQd,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoBzB,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;EAU3B,CAAC;AAEH;;GAEG;AACH,QAAA,MAAM,eAAe;;;;;;;;;;;;;;;GAOR,CAAC;AAEd;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC9D,MAAM,MAAM,QAAQ,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC;AAClD,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAC5E,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE5D;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,uBAAuB,CAAC,MAAM,EAAE,OAAO,GAAG,mBAAmB;IAYpE;;OAEG;IACH,MAAM,CAAC,yBAAyB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,qBAAqB;IAYhG;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,MAAM,EAAE,OAAO,GAAG,aAAa;IAYxD;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ;IAYpD;;OAEG;IACH,MAAM,CAAC,sBAAsB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO;IAKvD;;OAEG;IACH,MAAM,CAAC,wBAAwB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,OAAO;IAKjF;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE;CAOzE;AAGD,OAAO,EACL,gBAAgB,EAChB,UAAU,EACV,qBAAqB,EACrB,uBAAuB,EACvB,eAAe,EACf,gBAAgB,EAChB,SAAS,GACV,CAAC"}
|
|
@@ -1,205 +0,0 @@
|
|
|
1
|
-
import { z } from "zod";
|
|
2
|
-
/**
|
|
3
|
-
* Zod schema for WordPress authentication methods
|
|
4
|
-
*/
|
|
5
|
-
const AuthMethodSchema = z.enum(["app-password", "jwt", "basic", "api-key", "cookie"]);
|
|
6
|
-
/**
|
|
7
|
-
* Zod schema for URL validation with security checks
|
|
8
|
-
*/
|
|
9
|
-
const UrlSchema = z
|
|
10
|
-
.string()
|
|
11
|
-
.url("Must be a valid URL")
|
|
12
|
-
.refine((url) => {
|
|
13
|
-
const parsed = new URL(url);
|
|
14
|
-
return parsed.protocol === "http:" || parsed.protocol === "https:";
|
|
15
|
-
}, "URL must use http or https protocol")
|
|
16
|
-
.refine((url) => {
|
|
17
|
-
// Additional security checks
|
|
18
|
-
const parsed = new URL(url);
|
|
19
|
-
const hostname = parsed.hostname.toLowerCase();
|
|
20
|
-
// In production, block localhost and private IPs
|
|
21
|
-
if (process.env.NODE_ENV === "production") {
|
|
22
|
-
if (hostname === "localhost" ||
|
|
23
|
-
hostname === "127.0.0.1" ||
|
|
24
|
-
hostname === "::1" ||
|
|
25
|
-
hostname.match(/^10\./) ||
|
|
26
|
-
hostname.match(/^172\.(1[6-9]|2[0-9]|3[01])\./) ||
|
|
27
|
-
hostname.match(/^192\.168\./)) {
|
|
28
|
-
return false;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
return true;
|
|
32
|
-
}, "Private/localhost URLs not allowed in production");
|
|
33
|
-
/**
|
|
34
|
-
* Zod schema for WordPress site configuration
|
|
35
|
-
*/
|
|
36
|
-
const SiteConfigSchema = z.object({
|
|
37
|
-
WORDPRESS_SITE_URL: UrlSchema,
|
|
38
|
-
WORDPRESS_USERNAME: z
|
|
39
|
-
.string()
|
|
40
|
-
.min(1, "Username is required")
|
|
41
|
-
.max(60, "Username must be 60 characters or less")
|
|
42
|
-
.regex(/^[a-zA-Z0-9._@-]+$/, "Username contains invalid characters"),
|
|
43
|
-
WORDPRESS_APP_PASSWORD: z
|
|
44
|
-
.string()
|
|
45
|
-
.min(1, "Password is required")
|
|
46
|
-
.refine((password) => {
|
|
47
|
-
// WordPress app passwords are typically 24 characters with spaces
|
|
48
|
-
// But we'll be flexible to support different auth methods
|
|
49
|
-
return password.length >= 8;
|
|
50
|
-
}, "Password must be at least 8 characters"),
|
|
51
|
-
WORDPRESS_AUTH_METHOD: AuthMethodSchema.optional().default("app-password"),
|
|
52
|
-
});
|
|
53
|
-
/**
|
|
54
|
-
* Zod schema for site configuration with metadata
|
|
55
|
-
*/
|
|
56
|
-
const SiteSchema = z.object({
|
|
57
|
-
id: z
|
|
58
|
-
.string()
|
|
59
|
-
.min(1, "Site ID is required")
|
|
60
|
-
.max(50, "Site ID must be 50 characters or less")
|
|
61
|
-
.regex(/^[a-zA-Z0-9_-]+$/, "Site ID can only contain letters, numbers, underscores, and hyphens"),
|
|
62
|
-
name: z.string().min(1, "Site name is required").max(100, "Site name must be 100 characters or less"),
|
|
63
|
-
config: SiteConfigSchema,
|
|
64
|
-
});
|
|
65
|
-
/**
|
|
66
|
-
* Zod schema for multi-site configuration file
|
|
67
|
-
*/
|
|
68
|
-
const MultiSiteConfigSchema = z.object({
|
|
69
|
-
sites: z
|
|
70
|
-
.array(SiteSchema)
|
|
71
|
-
.min(1, "At least one site must be configured")
|
|
72
|
-
.max(50, "Maximum of 50 sites supported")
|
|
73
|
-
.refine((sites) => {
|
|
74
|
-
const ids = sites.map((site) => site.id);
|
|
75
|
-
const uniqueIds = new Set(ids);
|
|
76
|
-
return ids.length === uniqueIds.size;
|
|
77
|
-
}, "Site IDs must be unique")
|
|
78
|
-
.refine((sites) => {
|
|
79
|
-
const names = sites.map((site) => site.name);
|
|
80
|
-
const uniqueNames = new Set(names);
|
|
81
|
-
return names.length === uniqueNames.size;
|
|
82
|
-
}, "Site names must be unique")
|
|
83
|
-
.refine((sites) => {
|
|
84
|
-
const urls = sites.map((site) => site.config.WORDPRESS_SITE_URL);
|
|
85
|
-
const uniqueUrls = new Set(urls);
|
|
86
|
-
return urls.length === uniqueUrls.size;
|
|
87
|
-
}, "Site URLs must be unique"),
|
|
88
|
-
});
|
|
89
|
-
/**
|
|
90
|
-
* Zod schema for environment variables (single-site mode)
|
|
91
|
-
*/
|
|
92
|
-
const EnvironmentConfigSchema = z.object({
|
|
93
|
-
WORDPRESS_SITE_URL: UrlSchema,
|
|
94
|
-
WORDPRESS_USERNAME: SiteConfigSchema.shape.WORDPRESS_USERNAME,
|
|
95
|
-
WORDPRESS_APP_PASSWORD: SiteConfigSchema.shape.WORDPRESS_APP_PASSWORD,
|
|
96
|
-
WORDPRESS_AUTH_METHOD: AuthMethodSchema.optional().default("app-password"),
|
|
97
|
-
// Optional environment variables
|
|
98
|
-
NODE_ENV: z.enum(["development", "production", "test", "dxt", "ci"]).optional(),
|
|
99
|
-
DEBUG: z.string().optional(),
|
|
100
|
-
DISABLE_CACHE: z.string().optional(),
|
|
101
|
-
LOG_LEVEL: z.enum(["error", "warn", "info", "debug"]).optional(),
|
|
102
|
-
});
|
|
103
|
-
/**
|
|
104
|
-
* Zod schema for MCP configuration passed from client
|
|
105
|
-
*/
|
|
106
|
-
const McpConfigSchema = z
|
|
107
|
-
.object({
|
|
108
|
-
wordpressSiteUrl: UrlSchema.optional(),
|
|
109
|
-
wordpressUsername: SiteConfigSchema.shape.WORDPRESS_USERNAME.optional(),
|
|
110
|
-
wordpressAppPassword: SiteConfigSchema.shape.WORDPRESS_APP_PASSWORD.optional(),
|
|
111
|
-
wordpressAuthMethod: AuthMethodSchema.optional(),
|
|
112
|
-
})
|
|
113
|
-
.optional();
|
|
114
|
-
/**
|
|
115
|
-
* Configuration validation utilities
|
|
116
|
-
*/
|
|
117
|
-
export class ConfigurationValidator {
|
|
118
|
-
/**
|
|
119
|
-
* Validate multi-site configuration from JSON file
|
|
120
|
-
*/
|
|
121
|
-
static validateMultiSiteConfig(config) {
|
|
122
|
-
try {
|
|
123
|
-
return MultiSiteConfigSchema.parse(config);
|
|
124
|
-
}
|
|
125
|
-
catch (error) {
|
|
126
|
-
if (error instanceof z.ZodError) {
|
|
127
|
-
const messages = error.errors.map((err) => `${err.path.join(".")}: ${err.message}`).join("; ");
|
|
128
|
-
throw new Error(`Multi-site configuration validation failed: ${messages}`);
|
|
129
|
-
}
|
|
130
|
-
throw error;
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
/**
|
|
134
|
-
* Validate environment configuration for single-site mode
|
|
135
|
-
*/
|
|
136
|
-
static validateEnvironmentConfig(env) {
|
|
137
|
-
try {
|
|
138
|
-
return EnvironmentConfigSchema.parse(env);
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
if (error instanceof z.ZodError) {
|
|
142
|
-
const messages = error.errors.map((err) => `${err.path.join(".")}: ${err.message}`).join("; ");
|
|
143
|
-
throw new Error(`Environment configuration validation failed: ${messages}`);
|
|
144
|
-
}
|
|
145
|
-
throw error;
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
/**
|
|
149
|
-
* Validate MCP configuration passed from client
|
|
150
|
-
*/
|
|
151
|
-
static validateMcpConfig(config) {
|
|
152
|
-
try {
|
|
153
|
-
return McpConfigSchema.parse(config);
|
|
154
|
-
}
|
|
155
|
-
catch (error) {
|
|
156
|
-
if (error instanceof z.ZodError) {
|
|
157
|
-
const messages = error.errors.map((err) => `${err.path.join(".")}: ${err.message}`).join("; ");
|
|
158
|
-
throw new Error(`MCP configuration validation failed: ${messages}`);
|
|
159
|
-
}
|
|
160
|
-
throw error;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Validate a single site configuration
|
|
165
|
-
*/
|
|
166
|
-
static validateSiteConfig(config) {
|
|
167
|
-
try {
|
|
168
|
-
return SiteSchema.parse(config);
|
|
169
|
-
}
|
|
170
|
-
catch (error) {
|
|
171
|
-
if (error instanceof z.ZodError) {
|
|
172
|
-
const messages = error.errors.map((err) => `${err.path.join(".")}: ${err.message}`).join("; ");
|
|
173
|
-
throw new Error(`Site configuration validation failed: ${messages}`);
|
|
174
|
-
}
|
|
175
|
-
throw error;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
/**
|
|
179
|
-
* Check if a configuration file structure is valid without throwing
|
|
180
|
-
*/
|
|
181
|
-
static isValidMultiSiteConfig(config) {
|
|
182
|
-
const result = MultiSiteConfigSchema.safeParse(config);
|
|
183
|
-
return result.success;
|
|
184
|
-
}
|
|
185
|
-
/**
|
|
186
|
-
* Check if environment configuration is valid without throwing
|
|
187
|
-
*/
|
|
188
|
-
static isValidEnvironmentConfig(env) {
|
|
189
|
-
const result = EnvironmentConfigSchema.safeParse(env);
|
|
190
|
-
return result.success;
|
|
191
|
-
}
|
|
192
|
-
/**
|
|
193
|
-
* Get validation errors without throwing
|
|
194
|
-
*/
|
|
195
|
-
static getValidationErrors(schema, data) {
|
|
196
|
-
const result = schema.safeParse(data);
|
|
197
|
-
if (result.success) {
|
|
198
|
-
return [];
|
|
199
|
-
}
|
|
200
|
-
return result.error.errors.map((err) => `${err.path.join(".")}: ${err.message}`);
|
|
201
|
-
}
|
|
202
|
-
}
|
|
203
|
-
// Export schemas for direct use if needed
|
|
204
|
-
export { SiteConfigSchema, SiteSchema, MultiSiteConfigSchema, EnvironmentConfigSchema, McpConfigSchema, AuthMethodSchema, UrlSchema, };
|
|
205
|
-
//# sourceMappingURL=ConfigurationSchema.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ConfigurationSchema.js","sourceRoot":"","sources":["../../../src/config/ConfigurationSchema.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { WordPressClient } from "../client/api.js";
|
|
2
|
-
import { type SiteType as SiteConfig, type MultiSiteConfigType as MultiSiteConfig, type McpConfigType } from "./ConfigurationSchema.js";
|
|
3
|
-
export type { SiteConfig, MultiSiteConfig, McpConfigType };
|
|
4
|
-
/**
|
|
5
|
-
* Configuration loader for MCP WordPress Server
|
|
6
|
-
* Handles both single-site (environment variables) and multi-site (JSON config) modes
|
|
7
|
-
*/
|
|
8
|
-
export declare class ServerConfiguration {
|
|
9
|
-
private static instance;
|
|
10
|
-
private readonly logger;
|
|
11
|
-
private rootDir;
|
|
12
|
-
private envPath;
|
|
13
|
-
constructor();
|
|
14
|
-
/**
|
|
15
|
-
* Get singleton instance of ServerConfiguration
|
|
16
|
-
*/
|
|
17
|
-
static getInstance(): ServerConfiguration;
|
|
18
|
-
/**
|
|
19
|
-
* Load WordPress client configurations
|
|
20
|
-
* Returns a Map of site ID to WordPressClient instances
|
|
21
|
-
*/
|
|
22
|
-
loadClientConfigurations(mcpConfig?: McpConfigType): {
|
|
23
|
-
clients: Map<string, WordPressClient>;
|
|
24
|
-
configs: SiteConfig[];
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* Load multi-site configuration from JSON file
|
|
28
|
-
*/
|
|
29
|
-
private loadMultiSiteConfig;
|
|
30
|
-
/**
|
|
31
|
-
* Check if we're in CI environment
|
|
32
|
-
*/
|
|
33
|
-
private isCIEnvironment;
|
|
34
|
-
/**
|
|
35
|
-
* Create mock configuration for CI environments
|
|
36
|
-
*/
|
|
37
|
-
private createMockConfiguration;
|
|
38
|
-
/**
|
|
39
|
-
* Load single-site configuration from environment variables
|
|
40
|
-
*/
|
|
41
|
-
private loadSingleSiteFromEnv;
|
|
42
|
-
/**
|
|
43
|
-
* Get root directory path
|
|
44
|
-
*/
|
|
45
|
-
getRootDir(): string;
|
|
46
|
-
}
|
|
47
|
-
//# sourceMappingURL=ServerConfiguration.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ServerConfiguration.d.ts","sourceRoot":"","sources":["../../../src/config/ServerConfiguration.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAOnD,OAAO,EAEL,KAAK,QAAQ,IAAI,UAAU,EAC3B,KAAK,mBAAmB,IAAI,eAAe,EAC3C,KAAK,aAAa,EACnB,MAAM,0BAA0B,CAAC;AAGlC,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,aAAa,EAAE,CAAC;AAE3D;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA0B;IACjD,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,OAAO,CAAS;;IAyCxB;;OAEG;WACW,WAAW,IAAI,mBAAmB;IAOhD;;;OAGG;IACI,wBAAwB,CAAC,SAAS,CAAC,EAAE,aAAa,GAAG;QAC1D,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;QACtC,OAAO,EAAE,UAAU,EAAE,CAAC;KACvB;IAkBD;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAkD3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAIvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAmC/B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4F7B;;OAEG;IACI,UAAU,IAAI,MAAM;CAG5B"}
|