mcp-wordpress 2.4.2 → 2.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -48
- package/dist/ajv-patch.js +34 -0
- package/dist/cache/CacheInvalidation.d.ts +3 -1
- package/dist/cache/CacheInvalidation.d.ts.map +1 -1
- package/dist/cache/CacheInvalidation.js +10 -4
- package/dist/cache/CacheInvalidation.js.map +1 -1
- package/dist/cache/CacheManager.d.ts +3 -2
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.js +11 -3
- package/dist/cache/CacheManager.js.map +1 -1
- package/dist/cache/HttpCacheWrapper.d.ts +7 -6
- package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
- package/dist/cache/HttpCacheWrapper.js +8 -5
- package/dist/cache/HttpCacheWrapper.js.map +1 -1
- package/dist/cache/__tests__/HttpCacheWrapper.test.js +6 -5
- package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -1
- package/dist/cache/index.d.ts +3 -3
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +1 -1
- package/dist/cache/index.js.map +1 -1
- package/dist/client/CachedWordPressClient.d.ts +23 -9
- package/dist/client/CachedWordPressClient.d.ts.map +1 -1
- package/dist/client/CachedWordPressClient.js +4 -1
- package/dist/client/CachedWordPressClient.js.map +1 -1
- package/dist/client/MockWordPressClient.d.ts +2 -1
- package/dist/client/MockWordPressClient.d.ts.map +1 -1
- package/dist/client/MockWordPressClient.js +3 -1
- package/dist/client/MockWordPressClient.js.map +1 -1
- package/dist/client/api.d.ts +17 -13
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +135 -30
- package/dist/client/api.js.map +1 -1
- package/dist/client/auth.d.ts.map +1 -1
- package/dist/client/auth.js +2 -3
- package/dist/client/auth.js.map +1 -1
- package/dist/client/managers/AuthenticationManager.d.ts +55 -2
- package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
- package/dist/client/managers/AuthenticationManager.js +269 -71
- package/dist/client/managers/AuthenticationManager.js.map +1 -1
- package/dist/client/managers/BaseManager.d.ts +3 -3
- package/dist/client/managers/BaseManager.d.ts.map +1 -1
- package/dist/client/managers/BaseManager.js +11 -5
- package/dist/client/managers/BaseManager.js.map +1 -1
- package/dist/client/managers/RequestManager.d.ts +2 -2
- package/dist/client/managers/RequestManager.d.ts.map +1 -1
- package/dist/client/managers/RequestManager.js +25 -12
- package/dist/client/managers/RequestManager.js.map +1 -1
- package/dist/config/Config.d.ts +155 -0
- package/dist/config/Config.d.ts.map +1 -0
- package/dist/config/Config.js +215 -0
- package/dist/config/Config.js.map +1 -0
- package/dist/config/ConfigurationSchema.d.ts +21 -21
- package/dist/config/ConfigurationSchema.d.ts.map +1 -1
- package/dist/config/ConfigurationSchema.js +19 -2
- package/dist/config/ConfigurationSchema.js.map +1 -1
- package/dist/config/ServerConfiguration.d.ts +2 -1
- package/dist/config/ServerConfiguration.d.ts.map +1 -1
- package/dist/config/ServerConfiguration.js +50 -41
- package/dist/config/ServerConfiguration.js.map +1 -1
- package/dist/docs/DocumentationGenerator.d.ts +9 -8
- package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
- package/dist/docs/DocumentationGenerator.js +10 -7
- package/dist/docs/DocumentationGenerator.js.map +1 -1
- package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
- package/dist/docs/MarkdownFormatter.js +3 -2
- package/dist/docs/MarkdownFormatter.js.map +1 -1
- package/dist/dxt-entry.cjs +81 -0
- package/dist/dxt-entry.js +15 -14
- package/dist/dxt-entry.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +37 -21
- package/dist/index.js.map +1 -1
- package/dist/performance/MetricsCollector.d.ts +13 -7
- package/dist/performance/MetricsCollector.d.ts.map +1 -1
- package/dist/performance/MetricsCollector.js +69 -27
- package/dist/performance/MetricsCollector.js.map +1 -1
- package/dist/performance/PerformanceAnalytics.d.ts +8 -2
- package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
- package/dist/performance/PerformanceAnalytics.js +17 -47
- package/dist/performance/PerformanceAnalytics.js.map +1 -1
- package/dist/performance/PerformanceMonitor.d.ts +2 -1
- package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
- package/dist/performance/PerformanceMonitor.js +12 -13
- package/dist/performance/PerformanceMonitor.js.map +1 -1
- package/dist/performance/index.d.ts +2 -2
- package/dist/performance/index.d.ts.map +1 -1
- package/dist/security/AISecurityScanner.d.ts +1 -0
- package/dist/security/AISecurityScanner.d.ts.map +1 -1
- package/dist/security/AISecurityScanner.js +22 -12
- package/dist/security/AISecurityScanner.js.map +1 -1
- package/dist/security/AutomatedRemediation.d.ts +4 -3
- package/dist/security/AutomatedRemediation.d.ts.map +1 -1
- package/dist/security/AutomatedRemediation.js +46 -15
- package/dist/security/AutomatedRemediation.js.map +1 -1
- package/dist/security/InputValidator.d.ts +13 -9
- package/dist/security/InputValidator.d.ts.map +1 -1
- package/dist/security/InputValidator.js +4 -2
- package/dist/security/InputValidator.js.map +1 -1
- package/dist/security/SecurityCIPipeline.d.ts +1 -1
- package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
- package/dist/security/SecurityCIPipeline.js +38 -29
- package/dist/security/SecurityCIPipeline.js.map +1 -1
- package/dist/security/SecurityConfig.d.ts +3 -3
- package/dist/security/SecurityConfig.d.ts.map +1 -1
- package/dist/security/SecurityConfig.js +13 -9
- package/dist/security/SecurityConfig.js.map +1 -1
- package/dist/security/SecurityConfigManager.d.ts +2 -2
- package/dist/security/SecurityConfigManager.d.ts.map +1 -1
- package/dist/security/SecurityConfigManager.js +20 -15
- package/dist/security/SecurityConfigManager.js.map +1 -1
- package/dist/security/SecurityMonitoring.d.ts +2 -2
- package/dist/security/SecurityMonitoring.d.ts.map +1 -1
- package/dist/security/SecurityMonitoring.js +19 -17
- package/dist/security/SecurityMonitoring.js.map +1 -1
- package/dist/security/SecurityReviewer.d.ts.map +1 -1
- package/dist/security/SecurityReviewer.js +10 -7
- package/dist/security/SecurityReviewer.js.map +1 -1
- package/dist/security/index.d.ts +24 -23
- package/dist/security/index.d.ts.map +1 -1
- package/dist/security/index.js +52 -23
- package/dist/security/index.js.map +1 -1
- package/dist/server/ConnectionTester.d.ts +12 -4
- package/dist/server/ConnectionTester.d.ts.map +1 -1
- package/dist/server/ConnectionTester.js +96 -22
- package/dist/server/ConnectionTester.js.map +1 -1
- package/dist/server/ToolRegistry.d.ts +2 -2
- package/dist/server/ToolRegistry.d.ts.map +1 -1
- package/dist/server/ToolRegistry.js +10 -5
- package/dist/server/ToolRegistry.js.map +1 -1
- package/dist/tools/BaseToolManager.d.ts +47 -11
- package/dist/tools/BaseToolManager.d.ts.map +1 -1
- package/dist/tools/BaseToolManager.js +168 -29
- package/dist/tools/BaseToolManager.js.map +1 -1
- package/dist/tools/auth.d.ts +16 -10
- package/dist/tools/auth.d.ts.map +1 -1
- package/dist/tools/auth.js +3 -2
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/cache.d.ts +30 -30
- package/dist/tools/cache.d.ts.map +1 -1
- package/dist/tools/cache.js +1 -6
- package/dist/tools/cache.js.map +1 -1
- package/dist/tools/comments.d.ts +20 -20
- package/dist/tools/comments.d.ts.map +1 -1
- package/dist/tools/comments.js +16 -9
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/media.d.ts +18 -16
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +16 -15
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/pages.d.ts +19 -17
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +16 -12
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/performance.d.ts +11 -1
- package/dist/tools/performance.d.ts.map +1 -1
- package/dist/tools/performance.js +67 -34
- package/dist/tools/performance.js.map +1 -1
- package/dist/tools/posts/PostHandlers.d.ts +46 -0
- package/dist/tools/posts/PostHandlers.d.ts.map +1 -0
- package/dist/tools/posts/PostHandlers.js +400 -0
- package/dist/tools/posts/PostHandlers.js.map +1 -0
- package/dist/tools/posts/PostToolDefinitions.d.ts +37 -0
- package/dist/tools/posts/PostToolDefinitions.d.ts.map +1 -0
- package/dist/tools/posts/PostToolDefinitions.js +236 -0
- package/dist/tools/posts/PostToolDefinitions.js.map +1 -0
- package/dist/tools/posts/index.d.ts +138 -0
- package/dist/tools/posts/index.d.ts.map +1 -0
- package/dist/tools/posts/index.js +163 -0
- package/dist/tools/posts/index.js.map +1 -0
- package/dist/tools/posts.d.ts +10 -246
- package/dist/tools/posts.d.ts.map +1 -1
- package/dist/tools/posts.js +11 -723
- package/dist/tools/posts.js.map +1 -1
- package/dist/tools/site.d.ts +19 -18
- package/dist/tools/site.d.ts.map +1 -1
- package/dist/tools/site.js +14 -10
- package/dist/tools/site.js.map +1 -1
- package/dist/tools/taxonomies.d.ts +23 -24
- package/dist/tools/taxonomies.d.ts.map +1 -1
- package/dist/tools/taxonomies.js +24 -18
- package/dist/tools/taxonomies.js.map +1 -1
- package/dist/tools/users.d.ts +20 -15
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +12 -8
- package/dist/tools/users.js.map +1 -1
- package/dist/types/client.d.ts +48 -41
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.js +30 -5
- package/dist/types/client.js.map +1 -1
- package/dist/types/enhanced.d.ts +237 -0
- package/dist/types/enhanced.d.ts.map +1 -0
- package/dist/types/enhanced.js +49 -0
- package/dist/types/enhanced.js.map +1 -0
- package/dist/types/index.d.ts +15 -12
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +2 -0
- package/dist/types/index.js.map +1 -1
- package/dist/types/mcp.d.ts +12 -12
- package/dist/types/mcp.d.ts.map +1 -1
- package/dist/types/requests.d.ts +322 -0
- package/dist/types/requests.d.ts.map +1 -0
- package/dist/types/requests.js +8 -0
- package/dist/types/requests.js.map +1 -0
- package/dist/types/tools.d.ts +506 -0
- package/dist/types/tools.d.ts.map +1 -0
- package/dist/types/tools.js +8 -0
- package/dist/types/tools.js.map +1 -0
- package/dist/types/wordpress.d.ts +43 -15
- package/dist/types/wordpress.d.ts.map +1 -1
- package/dist/types/wordpress.js +8 -1
- package/dist/types/wordpress.js.map +1 -1
- package/dist/utils/debug.d.ts +19 -11
- package/dist/utils/debug.d.ts.map +1 -1
- package/dist/utils/debug.js +46 -10
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/enhancedError.d.ts +8 -8
- package/dist/utils/enhancedError.d.ts.map +1 -1
- package/dist/utils/enhancedError.js.map +1 -1
- package/dist/utils/error.d.ts +2 -4
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +42 -5
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/logger.d.ts +106 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +280 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/streaming.d.ts +9 -9
- package/dist/utils/streaming.d.ts.map +1 -1
- package/dist/utils/streaming.js +71 -52
- package/dist/utils/streaming.js.map +1 -1
- package/dist/utils/toolWrapper.d.ts +9 -7
- package/dist/utils/toolWrapper.d.ts.map +1 -1
- package/dist/utils/toolWrapper.js.map +1 -1
- package/dist/utils/validation/core.d.ts +21 -0
- package/dist/utils/validation/core.d.ts.map +1 -0
- package/dist/utils/validation/core.js +71 -0
- package/dist/utils/validation/core.js.map +1 -0
- package/dist/utils/validation/index.d.ts +25 -0
- package/dist/utils/validation/index.d.ts.map +1 -0
- package/dist/utils/validation/index.js +29 -0
- package/dist/utils/validation/index.js.map +1 -0
- package/dist/utils/validation/network.d.ts +19 -0
- package/dist/utils/validation/network.d.ts.map +1 -0
- package/dist/utils/validation/network.js +93 -0
- package/dist/utils/validation/network.js.map +1 -0
- package/dist/utils/validation/rateLimit.d.ts +21 -0
- package/dist/utils/validation/rateLimit.d.ts.map +1 -0
- package/dist/utils/validation/rateLimit.js +43 -0
- package/dist/utils/validation/rateLimit.js.map +1 -0
- package/dist/utils/validation/security.d.ts +29 -0
- package/dist/utils/validation/security.d.ts.map +1 -0
- package/dist/utils/validation/security.js +327 -0
- package/dist/utils/validation/security.js.map +1 -0
- package/dist/utils/validation/wordpress.d.ts +31 -0
- package/dist/utils/validation/wordpress.d.ts.map +1 -0
- package/dist/utils/validation/wordpress.js +146 -0
- package/dist/utils/validation/wordpress.js.map +1 -0
- package/dist/utils/validation.d.ts +13 -82
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +25 -343
- package/dist/utils/validation.js.map +1 -1
- package/docs/BADGE_UPDATES.md +132 -0
- package/docs/CI_CD_IMPROVEMENTS.md +191 -0
- package/docs/INCREMENTAL_COVERAGE.md +183 -0
- package/docs/api/README.md +3 -1
- package/docs/api/openapi.json +5 -1
- package/docs/api/summary.json +1 -1
- package/docs/api/tools/wp_create_post.md +12 -14
- package/docs/examples/claude-desktop-config.md +1 -1
- package/docs/examples/docker-production.md +100 -93
- package/docs/examples/multi-site-setup.md +5 -4
- package/docs/examples/single-site-setup.md +3 -4
- package/docs/examples/use-case-workflows.md +4 -5
- package/docs/integrations/claude-desktop.md +31 -31
- package/docs/integrations/cline.md +4 -4
- package/docs/integrations/vs-code.md +9 -8
- package/docs/user-guides/SMITHERY_SETUP.md +10 -10
- package/package.json +44 -25
- package/src/cache/CacheInvalidation.ts +12 -5
- package/src/cache/CacheManager.ts +18 -15
- package/src/cache/HttpCacheWrapper.ts +30 -59
- package/src/cache/__tests__/HttpCacheWrapper.test.ts +6 -5
- package/src/cache/index.ts +3 -14
- package/src/client/CachedWordPressClient.ts +32 -30
- package/src/client/MockWordPressClient.ts +4 -2
- package/src/client/api.ts +186 -64
- package/src/client/auth.ts +15 -40
- package/src/client/managers/AuthenticationManager.ts +337 -77
- package/src/client/managers/BaseManager.ts +18 -30
- package/src/client/managers/RequestManager.ts +39 -44
- package/src/config/Config.ts +308 -0
- package/src/config/ConfigurationSchema.ts +23 -2
- package/src/config/ServerConfiguration.ts +51 -47
- package/src/docs/DocumentationGenerator.ts +50 -39
- package/src/docs/MarkdownFormatter.ts +19 -29
- package/src/dxt-entry.cjs +26 -16
- package/src/dxt-entry.ts +17 -27
- package/src/index.ts +42 -28
- package/src/performance/MetricsCollector.ts +108 -86
- package/src/performance/PerformanceAnalytics.ts +69 -164
- package/src/performance/PerformanceMonitor.ts +32 -47
- package/src/performance/index.ts +2 -10
- package/src/security/AISecurityScanner.ts +22 -12
- package/src/security/AutomatedRemediation.ts +49 -18
- package/src/security/InputValidator.ts +9 -6
- package/src/security/SecurityCIPipeline.ts +53 -37
- package/src/security/SecurityConfig.ts +22 -22
- package/src/security/SecurityConfigManager.ts +23 -19
- package/src/security/SecurityMonitoring.ts +24 -21
- package/src/security/SecurityReviewer.ts +10 -7
- package/src/security/index.ts +64 -29
- package/src/server/ConnectionTester.ts +120 -31
- package/src/server/ToolRegistry.ts +31 -21
- package/src/tools/BaseToolManager.ts +286 -33
- package/src/tools/auth.ts +20 -8
- package/src/tools/cache.ts +5 -15
- package/src/tools/comments.ts +34 -48
- package/src/tools/media.ts +41 -53
- package/src/tools/pages.ts +32 -54
- package/src/tools/performance.ts +141 -176
- package/src/tools/posts/PostHandlers.ts +474 -0
- package/src/tools/posts/PostToolDefinitions.ts +250 -0
- package/src/tools/posts/index.ts +192 -0
- package/src/tools/posts.ts +24 -780
- package/src/tools/site.ts +34 -19
- package/src/tools/taxonomies.ts +41 -57
- package/src/tools/users.ts +28 -16
- package/src/types/client.ts +114 -138
- package/src/types/enhanced.ts +318 -0
- package/src/types/index.ts +51 -30
- package/src/types/mcp.ts +20 -42
- package/src/types/requests.ts +378 -0
- package/src/types/tools.ts +608 -0
- package/src/types/wordpress.ts +56 -34
- package/src/utils/debug.ts +77 -59
- package/src/utils/enhancedError.ts +8 -8
- package/src/utils/error.ts +53 -31
- package/src/utils/logger.ts +351 -0
- package/src/utils/streaming.ts +86 -68
- package/src/utils/toolWrapper.ts +10 -12
- package/src/utils/validation/core.ts +108 -0
- package/src/utils/validation/index.ts +36 -0
- package/src/utils/validation/network.ts +132 -0
- package/src/utils/validation/rateLimit.ts +54 -0
- package/src/utils/validation/security.ts +361 -0
- package/src/utils/validation/wordpress.ts +180 -0
- package/src/utils/validation.ts +47 -470
package/dist/types/client.d.ts
CHANGED
|
@@ -3,8 +3,8 @@
|
|
|
3
3
|
*
|
|
4
4
|
* TypeScript definitions for the WordPress REST API client
|
|
5
5
|
*/
|
|
6
|
-
import type { WordPressPost, WordPressPage, WordPressMedia, WordPressUser, WordPressComment, WordPressCategory, WordPressTag, WordPressSiteSettings, WordPressApplicationPassword, PostQueryParams, MediaQueryParams, UserQueryParams, CommentQueryParams, CreatePostRequest, UpdatePostRequest, CreatePageRequest, UpdatePageRequest, CreateUserRequest, UpdateUserRequest, CreateCommentRequest, UpdateCommentRequest, CreateCategoryRequest, UpdateCategoryRequest, CreateTagRequest, UpdateTagRequest, UploadMediaRequest, UpdateMediaRequest } from "./wordpress.js";
|
|
7
|
-
export type AuthMethod
|
|
6
|
+
import type { WordPressPost, WordPressPage, WordPressMedia, WordPressUser, WordPressComment, WordPressCategory, WordPressTag, WordPressSiteSettings, WordPressApplicationPassword, PostQueryParams, MediaQueryParams, UserQueryParams, CommentQueryParams, CreatePostRequest, UpdatePostRequest, CreatePageRequest, UpdatePageRequest, CreateUserRequest, UpdateUserRequest, CreateCommentRequest, UpdateCommentRequest, CreateCategoryRequest, UpdateCategoryRequest, CreateTagRequest, UpdateTagRequest, UploadMediaRequest, UpdateMediaRequest, AuthMethod } from "./wordpress.js";
|
|
7
|
+
export type { AuthMethod };
|
|
8
8
|
export interface AuthConfig {
|
|
9
9
|
method: AuthMethod;
|
|
10
10
|
username?: string;
|
|
@@ -16,6 +16,29 @@ export interface AuthConfig {
|
|
|
16
16
|
token?: string;
|
|
17
17
|
clientId?: string;
|
|
18
18
|
}
|
|
19
|
+
export interface AppPasswordCredentials {
|
|
20
|
+
username: string;
|
|
21
|
+
appPassword: string;
|
|
22
|
+
}
|
|
23
|
+
export interface JwtCredentials {
|
|
24
|
+
jwtToken: string;
|
|
25
|
+
username?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface BasicCredentials {
|
|
28
|
+
username: string;
|
|
29
|
+
password: string;
|
|
30
|
+
}
|
|
31
|
+
export interface ApiKeyCredentials {
|
|
32
|
+
apiKey: string;
|
|
33
|
+
}
|
|
34
|
+
export type AuthCredentials = AppPasswordCredentials | JwtCredentials | BasicCredentials | ApiKeyCredentials;
|
|
35
|
+
export interface AuthStatus {
|
|
36
|
+
method: AuthMethod;
|
|
37
|
+
username?: string | undefined;
|
|
38
|
+
isAuthenticated: boolean;
|
|
39
|
+
tokenExpired: boolean;
|
|
40
|
+
tokenExpiry?: number;
|
|
41
|
+
}
|
|
19
42
|
export interface WordPressClientConfig {
|
|
20
43
|
baseUrl: string;
|
|
21
44
|
auth: AuthConfig;
|
|
@@ -34,9 +57,9 @@ export interface RequestOptions {
|
|
|
34
57
|
timeout?: number;
|
|
35
58
|
retries?: number;
|
|
36
59
|
signal?: AbortSignal;
|
|
37
|
-
params?:
|
|
60
|
+
params?: Record<string, unknown>;
|
|
38
61
|
}
|
|
39
|
-
export interface APIResponse<T =
|
|
62
|
+
export interface APIResponse<T = unknown> {
|
|
40
63
|
data: T;
|
|
41
64
|
status: number;
|
|
42
65
|
statusText: string;
|
|
@@ -64,12 +87,12 @@ export interface IWordPressClient {
|
|
|
64
87
|
initialize(): Promise<void>;
|
|
65
88
|
authenticate(): Promise<boolean>;
|
|
66
89
|
disconnect(): Promise<void>;
|
|
67
|
-
request<T =
|
|
68
|
-
get<T =
|
|
69
|
-
post<T =
|
|
70
|
-
put<T =
|
|
71
|
-
patch<T =
|
|
72
|
-
delete<T =
|
|
90
|
+
request<T = unknown>(method: HTTPMethod, endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
91
|
+
get<T = unknown>(endpoint: string, options?: RequestOptions): Promise<T>;
|
|
92
|
+
post<T = unknown>(endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
93
|
+
put<T = unknown>(endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
94
|
+
patch<T = unknown>(endpoint: string, data?: unknown, options?: RequestOptions): Promise<T>;
|
|
95
|
+
delete<T = unknown>(endpoint: string, options?: RequestOptions): Promise<T>;
|
|
73
96
|
getPosts(params?: PostQueryParams): Promise<WordPressPost[]>;
|
|
74
97
|
getPost(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPost>;
|
|
75
98
|
createPost(data: CreatePostRequest): Promise<WordPressPost>;
|
|
@@ -154,33 +177,17 @@ export interface IWordPressClient {
|
|
|
154
177
|
}>;
|
|
155
178
|
getSiteSettings(): Promise<WordPressSiteSettings>;
|
|
156
179
|
updateSiteSettings(settings: Partial<WordPressSiteSettings>): Promise<WordPressSiteSettings>;
|
|
157
|
-
getSiteInfo(): Promise<
|
|
158
|
-
name: string;
|
|
159
|
-
description: string;
|
|
160
|
-
url: string;
|
|
161
|
-
home: string;
|
|
162
|
-
gmt_offset: number;
|
|
163
|
-
timezone_string: string;
|
|
164
|
-
namespaces: string[];
|
|
165
|
-
authentication: Record<string, any>;
|
|
166
|
-
routes: Record<string, any>;
|
|
167
|
-
}>;
|
|
180
|
+
getSiteInfo(): Promise<import("./wordpress.js").WordPressSiteInfo>;
|
|
168
181
|
getApplicationPasswords(userId?: number | "me"): Promise<WordPressApplicationPassword[]>;
|
|
169
182
|
createApplicationPassword(userId: number | "me", name: string, appId?: string): Promise<WordPressApplicationPassword>;
|
|
170
183
|
deleteApplicationPassword(userId: number | "me", uuid: string): Promise<{
|
|
171
184
|
deleted: boolean;
|
|
172
185
|
}>;
|
|
173
|
-
search(query: string, types?: string[], subtype?: string): Promise<
|
|
174
|
-
id: number;
|
|
175
|
-
title: string;
|
|
176
|
-
url: string;
|
|
177
|
-
type: string;
|
|
178
|
-
subtype: string;
|
|
179
|
-
}>>;
|
|
186
|
+
search(query: string, types?: string[], subtype?: string): Promise<import("./wordpress.js").WordPressSearchResult[]>;
|
|
180
187
|
ping(): Promise<boolean>;
|
|
181
|
-
getServerInfo(): Promise<Record<string,
|
|
188
|
+
getServerInfo(): Promise<Record<string, unknown>>;
|
|
182
189
|
validateEndpoint(endpoint: string): boolean;
|
|
183
|
-
buildUrl(endpoint: string, params?: Record<string,
|
|
190
|
+
buildUrl(endpoint: string, params?: Record<string, unknown>): string;
|
|
184
191
|
}
|
|
185
192
|
export interface IAuthProvider {
|
|
186
193
|
readonly method: AuthMethod;
|
|
@@ -192,8 +199,8 @@ export interface IAuthProvider {
|
|
|
192
199
|
export declare class WordPressAPIError extends Error {
|
|
193
200
|
readonly statusCode?: number;
|
|
194
201
|
readonly code?: string;
|
|
195
|
-
data?:
|
|
196
|
-
constructor(message: string, statusCode?: number, code?: string, data?:
|
|
202
|
+
data?: unknown;
|
|
203
|
+
constructor(message: string, statusCode?: number, code?: string, data?: unknown);
|
|
197
204
|
}
|
|
198
205
|
export declare class AuthenticationError extends WordPressAPIError {
|
|
199
206
|
constructor(message: string, method: AuthMethod);
|
|
@@ -204,13 +211,13 @@ export declare class RateLimitError extends WordPressAPIError {
|
|
|
204
211
|
export declare class ValidationError extends WordPressAPIError {
|
|
205
212
|
constructor(message: string, field?: string);
|
|
206
213
|
}
|
|
207
|
-
export declare function isWordPressAPIError(error:
|
|
208
|
-
export declare function isAuthenticationError(error:
|
|
209
|
-
export declare function isRateLimitError(error:
|
|
210
|
-
export declare function isValidationError(error:
|
|
211
|
-
export declare function isWordPressPost(obj:
|
|
212
|
-
export declare function isWordPressPage(obj:
|
|
213
|
-
export declare function isWordPressMedia(obj:
|
|
214
|
-
export declare function isWordPressUser(obj:
|
|
215
|
-
export declare function isWordPressComment(obj:
|
|
214
|
+
export declare function isWordPressAPIError(error: unknown): error is WordPressAPIError;
|
|
215
|
+
export declare function isAuthenticationError(error: unknown): error is AuthenticationError;
|
|
216
|
+
export declare function isRateLimitError(error: unknown): error is RateLimitError;
|
|
217
|
+
export declare function isValidationError(error: unknown): error is ValidationError;
|
|
218
|
+
export declare function isWordPressPost(obj: unknown): obj is WordPressPost;
|
|
219
|
+
export declare function isWordPressPage(obj: unknown): obj is WordPressPage;
|
|
220
|
+
export declare function isWordPressMedia(obj: unknown): obj is WordPressMedia;
|
|
221
|
+
export declare function isWordPressUser(obj: unknown): obj is WordPressUser;
|
|
222
|
+
export declare function isWordPressComment(obj: unknown): obj is WordPressComment;
|
|
216
223
|
//# sourceMappingURL=client.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,YAAY,EACZ,qBAAqB,EACrB,4BAA4B,EAC5B,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,EACpB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"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"}
|
package/dist/types/client.js
CHANGED
|
@@ -55,18 +55,43 @@ export function isValidationError(error) {
|
|
|
55
55
|
}
|
|
56
56
|
// Response Type Guards
|
|
57
57
|
export function isWordPressPost(obj) {
|
|
58
|
-
return obj
|
|
58
|
+
return (obj !== null &&
|
|
59
|
+
typeof obj === "object" &&
|
|
60
|
+
"id" in obj &&
|
|
61
|
+
"type" in obj &&
|
|
62
|
+
typeof obj.id === "number" &&
|
|
63
|
+
obj.type === "post");
|
|
59
64
|
}
|
|
60
65
|
export function isWordPressPage(obj) {
|
|
61
|
-
return obj
|
|
66
|
+
return (obj !== null &&
|
|
67
|
+
typeof obj === "object" &&
|
|
68
|
+
"id" in obj &&
|
|
69
|
+
"type" in obj &&
|
|
70
|
+
typeof obj.id === "number" &&
|
|
71
|
+
obj.type === "page");
|
|
62
72
|
}
|
|
63
73
|
export function isWordPressMedia(obj) {
|
|
64
|
-
return obj
|
|
74
|
+
return (obj !== null &&
|
|
75
|
+
typeof obj === "object" &&
|
|
76
|
+
"id" in obj &&
|
|
77
|
+
"media_type" in obj &&
|
|
78
|
+
typeof obj.id === "number" &&
|
|
79
|
+
Boolean(obj.media_type));
|
|
65
80
|
}
|
|
66
81
|
export function isWordPressUser(obj) {
|
|
67
|
-
return obj
|
|
82
|
+
return (obj !== null &&
|
|
83
|
+
typeof obj === "object" &&
|
|
84
|
+
"id" in obj &&
|
|
85
|
+
"username" in obj &&
|
|
86
|
+
typeof obj.id === "number" &&
|
|
87
|
+
Boolean(obj.username));
|
|
68
88
|
}
|
|
69
89
|
export function isWordPressComment(obj) {
|
|
70
|
-
return obj
|
|
90
|
+
return (obj !== null &&
|
|
91
|
+
typeof obj === "object" &&
|
|
92
|
+
"id" in obj &&
|
|
93
|
+
"post" in obj &&
|
|
94
|
+
typeof obj.id === "number" &&
|
|
95
|
+
typeof obj.post === "number");
|
|
71
96
|
}
|
|
72
97
|
//# sourceMappingURL=client.js.map
|
package/dist/types/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/types/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced TypeScript Types for MCP WordPress
|
|
3
|
+
*
|
|
4
|
+
* This file provides stronger typing, utility types, and generic constraints
|
|
5
|
+
* to improve type safety throughout the codebase.
|
|
6
|
+
*/
|
|
7
|
+
export type NonEmptyArray<T> = readonly [T, ...T[]];
|
|
8
|
+
export type Nullable<T> = T | null;
|
|
9
|
+
export type Optional<T> = T | undefined;
|
|
10
|
+
export type DeepReadonly<T> = {
|
|
11
|
+
readonly [P in keyof T]: T[P] extends (infer U)[] ? DeepReadonlyArray<U> : T[P] extends readonly (infer U)[] ? DeepReadonlyArray<U> : T[P] extends object ? DeepReadonly<T[P]> : T[P];
|
|
12
|
+
};
|
|
13
|
+
interface DeepReadonlyArray<T> extends ReadonlyArray<DeepReadonly<T>> {
|
|
14
|
+
}
|
|
15
|
+
export type WordPressId = number & {
|
|
16
|
+
readonly __brand: 'WordPressId';
|
|
17
|
+
};
|
|
18
|
+
export type UserId = number & {
|
|
19
|
+
readonly __brand: 'UserId';
|
|
20
|
+
};
|
|
21
|
+
export type PostId = number & {
|
|
22
|
+
readonly __brand: 'PostId';
|
|
23
|
+
};
|
|
24
|
+
export type MediaId = number & {
|
|
25
|
+
readonly __brand: 'MediaId';
|
|
26
|
+
};
|
|
27
|
+
export type CommentId = number & {
|
|
28
|
+
readonly __brand: 'CommentId';
|
|
29
|
+
};
|
|
30
|
+
export type CategoryId = number & {
|
|
31
|
+
readonly __brand: 'CategoryId';
|
|
32
|
+
};
|
|
33
|
+
export type TagId = number & {
|
|
34
|
+
readonly __brand: 'TagId';
|
|
35
|
+
};
|
|
36
|
+
export declare const createWordPressId: (id: number) => WordPressId;
|
|
37
|
+
export declare const createUserId: (id: number) => UserId;
|
|
38
|
+
export declare const createPostId: (id: number) => PostId;
|
|
39
|
+
export declare const createMediaId: (id: number) => MediaId;
|
|
40
|
+
export declare const createCommentId: (id: number) => CommentId;
|
|
41
|
+
export declare const createCategoryId: (id: number) => CategoryId;
|
|
42
|
+
export declare const createTagId: (id: number) => TagId;
|
|
43
|
+
export type WordPressURL = string & {
|
|
44
|
+
readonly __brand: 'WordPressURL';
|
|
45
|
+
};
|
|
46
|
+
export declare const createWordPressURL: (url: string) => WordPressURL;
|
|
47
|
+
export interface TypedError<TCode extends string = string> extends Error {
|
|
48
|
+
readonly code: TCode;
|
|
49
|
+
readonly statusCode?: number;
|
|
50
|
+
readonly timestamp: Date;
|
|
51
|
+
readonly context?: Record<string, unknown>;
|
|
52
|
+
}
|
|
53
|
+
export interface ValidationError extends TypedError<'VALIDATION_ERROR'> {
|
|
54
|
+
readonly field: string;
|
|
55
|
+
readonly value: unknown;
|
|
56
|
+
readonly constraint: string;
|
|
57
|
+
}
|
|
58
|
+
export interface APIError extends TypedError<'API_ERROR'> {
|
|
59
|
+
readonly endpoint: string;
|
|
60
|
+
readonly method: string;
|
|
61
|
+
readonly statusCode: number;
|
|
62
|
+
}
|
|
63
|
+
export interface BaseRequest {
|
|
64
|
+
readonly timestamp: Date;
|
|
65
|
+
readonly requestId: string;
|
|
66
|
+
}
|
|
67
|
+
export interface BaseResponse<TData = unknown> {
|
|
68
|
+
readonly success: boolean;
|
|
69
|
+
readonly data?: TData;
|
|
70
|
+
readonly error?: string;
|
|
71
|
+
readonly timestamp: Date;
|
|
72
|
+
readonly requestId: string;
|
|
73
|
+
}
|
|
74
|
+
export interface PaginatedResponse<TData> extends BaseResponse<TData[]> {
|
|
75
|
+
readonly pagination: {
|
|
76
|
+
readonly page: number;
|
|
77
|
+
readonly perPage: number;
|
|
78
|
+
readonly total: number;
|
|
79
|
+
readonly totalPages: number;
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
export interface RequestConfig {
|
|
83
|
+
readonly timeout?: number;
|
|
84
|
+
readonly retries?: number;
|
|
85
|
+
readonly headers?: DeepReadonly<Record<string, string>>;
|
|
86
|
+
readonly signal?: AbortSignal;
|
|
87
|
+
}
|
|
88
|
+
export interface HTTPRequestOptions extends RequestConfig {
|
|
89
|
+
readonly method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
90
|
+
readonly url: WordPressURL;
|
|
91
|
+
readonly data?: unknown;
|
|
92
|
+
readonly params?: DeepReadonly<Record<string, string | number | boolean>>;
|
|
93
|
+
}
|
|
94
|
+
export interface ToolContext {
|
|
95
|
+
readonly toolName: string;
|
|
96
|
+
readonly executionId: string;
|
|
97
|
+
readonly startTime: Date;
|
|
98
|
+
readonly user?: {
|
|
99
|
+
readonly id: UserId;
|
|
100
|
+
readonly roles: NonEmptyArray<string>;
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
export interface ToolResult<TData = unknown> {
|
|
104
|
+
readonly success: boolean;
|
|
105
|
+
readonly data?: TData;
|
|
106
|
+
readonly error?: string;
|
|
107
|
+
readonly executionTime: number;
|
|
108
|
+
readonly warnings?: readonly string[];
|
|
109
|
+
}
|
|
110
|
+
export type ToolHandler<TInput, TOutput> = (input: DeepReadonly<TInput>, context: DeepReadonly<ToolContext>) => Promise<ToolResult<TOutput>>;
|
|
111
|
+
export interface CacheKey {
|
|
112
|
+
readonly namespace: string;
|
|
113
|
+
readonly operation: string;
|
|
114
|
+
readonly params: DeepReadonly<Record<string, string | number | boolean>>;
|
|
115
|
+
}
|
|
116
|
+
export interface CacheEntry<TData> {
|
|
117
|
+
readonly key: string;
|
|
118
|
+
readonly data: TData;
|
|
119
|
+
readonly createdAt: Date;
|
|
120
|
+
readonly expiresAt: Date;
|
|
121
|
+
readonly hits: number;
|
|
122
|
+
}
|
|
123
|
+
export interface CacheOptions {
|
|
124
|
+
readonly ttl: number;
|
|
125
|
+
readonly tags?: readonly string[];
|
|
126
|
+
readonly priority?: 'low' | 'medium' | 'high';
|
|
127
|
+
}
|
|
128
|
+
export interface StrictSiteConfig {
|
|
129
|
+
readonly id: string;
|
|
130
|
+
readonly name: string;
|
|
131
|
+
readonly url: WordPressURL;
|
|
132
|
+
readonly auth: DeepReadonly<{
|
|
133
|
+
readonly method: 'app-password' | 'jwt' | 'basic' | 'api-key';
|
|
134
|
+
readonly username: string;
|
|
135
|
+
readonly password: string;
|
|
136
|
+
}>;
|
|
137
|
+
readonly timeout?: number;
|
|
138
|
+
readonly rateLimit?: DeepReadonly<{
|
|
139
|
+
readonly requestsPerMinute: number;
|
|
140
|
+
readonly burstLimit: number;
|
|
141
|
+
}>;
|
|
142
|
+
}
|
|
143
|
+
export interface PerformanceMetrics {
|
|
144
|
+
readonly requestCount: number;
|
|
145
|
+
readonly averageResponseTime: number;
|
|
146
|
+
readonly errorRate: number;
|
|
147
|
+
readonly cacheHitRate: number;
|
|
148
|
+
readonly lastUpdated: Date;
|
|
149
|
+
}
|
|
150
|
+
export interface PerformanceThresholds {
|
|
151
|
+
readonly maxResponseTime: number;
|
|
152
|
+
readonly maxErrorRate: number;
|
|
153
|
+
readonly minCacheHitRate: number;
|
|
154
|
+
}
|
|
155
|
+
export declare const isWordPressId: (value: unknown) => value is WordPressId;
|
|
156
|
+
export declare const isNonEmptyArray: <T>(value: unknown) => value is NonEmptyArray<T>;
|
|
157
|
+
export declare const isValidURL: (value: unknown) => value is WordPressURL;
|
|
158
|
+
export type RequiredFields<T, K extends keyof T> = T & Required<Pick<T, K>>;
|
|
159
|
+
export type OptionalFields<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
160
|
+
export interface JSONSchemaDefinition {
|
|
161
|
+
readonly type: 'string' | 'number' | 'boolean' | 'object' | 'array' | 'null';
|
|
162
|
+
readonly description?: string;
|
|
163
|
+
readonly required?: boolean;
|
|
164
|
+
readonly enum?: readonly (string | number)[];
|
|
165
|
+
readonly minimum?: number;
|
|
166
|
+
readonly maximum?: number;
|
|
167
|
+
readonly minLength?: number;
|
|
168
|
+
readonly maxLength?: number;
|
|
169
|
+
readonly pattern?: string;
|
|
170
|
+
readonly format?: 'email' | 'uri' | 'date-time' | 'date' | 'time';
|
|
171
|
+
readonly items?: JSONSchemaDefinition;
|
|
172
|
+
readonly properties?: DeepReadonly<Record<string, JSONSchemaDefinition>>;
|
|
173
|
+
}
|
|
174
|
+
export interface StrictMCPToolSchema {
|
|
175
|
+
readonly type: 'object';
|
|
176
|
+
readonly properties: DeepReadonly<Record<string, JSONSchemaDefinition>>;
|
|
177
|
+
readonly required: readonly string[];
|
|
178
|
+
readonly additionalProperties: false;
|
|
179
|
+
}
|
|
180
|
+
export type Result<TSuccess, TError = Error> = {
|
|
181
|
+
readonly success: true;
|
|
182
|
+
readonly data: TSuccess;
|
|
183
|
+
} | {
|
|
184
|
+
readonly success: false;
|
|
185
|
+
readonly error: TError;
|
|
186
|
+
};
|
|
187
|
+
export declare const createSuccess: <T>(data: T) => Result<T>;
|
|
188
|
+
export declare const createError: <T>(error: Error) => Result<T>;
|
|
189
|
+
export type AsyncResult<T, E = Error> = Promise<Result<T, E>>;
|
|
190
|
+
export interface DatabaseEntity {
|
|
191
|
+
readonly id: WordPressId;
|
|
192
|
+
readonly createdAt: Date;
|
|
193
|
+
readonly updatedAt: Date;
|
|
194
|
+
readonly version: number;
|
|
195
|
+
}
|
|
196
|
+
export interface AuditableEntity extends DatabaseEntity {
|
|
197
|
+
readonly createdBy: UserId;
|
|
198
|
+
readonly updatedBy: UserId;
|
|
199
|
+
}
|
|
200
|
+
export interface ValidationResult<T> {
|
|
201
|
+
readonly success: boolean;
|
|
202
|
+
readonly data?: T;
|
|
203
|
+
readonly errors: readonly ValidationError[];
|
|
204
|
+
readonly warnings: readonly string[];
|
|
205
|
+
}
|
|
206
|
+
export type Validator<T> = (value: unknown) => ValidationResult<T>;
|
|
207
|
+
export interface DomainEvent<TType extends string = string, TPayload = unknown> {
|
|
208
|
+
readonly type: TType;
|
|
209
|
+
readonly payload: TPayload;
|
|
210
|
+
readonly timestamp: Date;
|
|
211
|
+
readonly source: string;
|
|
212
|
+
readonly correlationId: string;
|
|
213
|
+
}
|
|
214
|
+
export type EventHandler<TEvent extends DomainEvent> = (event: TEvent) => Promise<void>;
|
|
215
|
+
export interface ConfigValidationRule<T> {
|
|
216
|
+
readonly key: keyof T;
|
|
217
|
+
readonly required: boolean;
|
|
218
|
+
readonly validator: (value: unknown) => boolean;
|
|
219
|
+
readonly errorMessage: string;
|
|
220
|
+
}
|
|
221
|
+
export interface ConfigValidationResult {
|
|
222
|
+
readonly valid: boolean;
|
|
223
|
+
readonly errors: readonly string[];
|
|
224
|
+
readonly warnings: readonly string[];
|
|
225
|
+
}
|
|
226
|
+
export type PerformanceEventType = 'request_started' | 'request_completed' | 'request_failed' | 'cache_hit' | 'cache_miss' | 'auth_success' | 'auth_failure';
|
|
227
|
+
export interface PerformanceEvent extends DomainEvent<PerformanceEventType> {
|
|
228
|
+
readonly payload: {
|
|
229
|
+
readonly duration?: number;
|
|
230
|
+
readonly endpoint?: string;
|
|
231
|
+
readonly statusCode?: number;
|
|
232
|
+
readonly cacheKey?: string;
|
|
233
|
+
readonly userId?: UserId;
|
|
234
|
+
};
|
|
235
|
+
}
|
|
236
|
+
export {};
|
|
237
|
+
//# sourceMappingURL=enhanced.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhanced.d.ts","sourceRoot":"","sources":["../../src/types/enhanced.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced TypeScript Types for MCP WordPress
|
|
3
|
+
*
|
|
4
|
+
* This file provides stronger typing, utility types, and generic constraints
|
|
5
|
+
* to improve type safety throughout the codebase.
|
|
6
|
+
*/
|
|
7
|
+
// Helper functions to create branded types
|
|
8
|
+
export const createWordPressId = (id) => {
|
|
9
|
+
if (!Number.isInteger(id) || id <= 0) {
|
|
10
|
+
throw new Error(`Invalid WordPress ID: ${id}. Must be a positive integer.`);
|
|
11
|
+
}
|
|
12
|
+
return id;
|
|
13
|
+
};
|
|
14
|
+
export const createUserId = (id) => id;
|
|
15
|
+
export const createPostId = (id) => id;
|
|
16
|
+
export const createMediaId = (id) => id;
|
|
17
|
+
export const createCommentId = (id) => id;
|
|
18
|
+
export const createCategoryId = (id) => id;
|
|
19
|
+
export const createTagId = (id) => id;
|
|
20
|
+
export const createWordPressURL = (url) => {
|
|
21
|
+
try {
|
|
22
|
+
new URL(url);
|
|
23
|
+
return url;
|
|
24
|
+
}
|
|
25
|
+
catch {
|
|
26
|
+
throw new Error(`Invalid URL: ${url}`);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
// Type Guards for Runtime Validation
|
|
30
|
+
export const isWordPressId = (value) => {
|
|
31
|
+
return typeof value === 'number' && Number.isInteger(value) && value > 0;
|
|
32
|
+
};
|
|
33
|
+
export const isNonEmptyArray = (value) => {
|
|
34
|
+
return Array.isArray(value) && value.length > 0;
|
|
35
|
+
};
|
|
36
|
+
export const isValidURL = (value) => {
|
|
37
|
+
if (typeof value !== 'string')
|
|
38
|
+
return false;
|
|
39
|
+
try {
|
|
40
|
+
new URL(value);
|
|
41
|
+
return true;
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
return false;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
export const createSuccess = (data) => ({ success: true, data });
|
|
48
|
+
export const createError = (error) => ({ success: false, error });
|
|
49
|
+
//# sourceMappingURL=enhanced.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enhanced.js","sourceRoot":"","sources":["../../src/types/enhanced.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA2BH,2CAA2C;AAC3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,EAAU,EAAe,EAAE;IAC3D,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,yBAAyB,EAAE,+BAA+B,CAAC,CAAC;IAC9E,CAAC;IACD,OAAO,EAAiB,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAY,CAAC;AACjE,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAY,CAAC;AACjE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,EAAU,EAAW,EAAE,CAAC,EAAa,CAAC;AACpE,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,EAAU,EAAa,EAAE,CAAC,EAAe,CAAC;AAC1E,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,EAAU,EAAc,EAAE,CAAC,EAAgB,CAAC;AAC7E,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAAU,EAAS,EAAE,CAAC,EAAW,CAAC;AAI9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAgB,EAAE;IAC9D,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACb,OAAO,GAAmB,CAAC;IAC7B,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,IAAI,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;IACzC,CAAC;AACH,CAAC,CAAC;AAyIF,qCAAqC;AACrC,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAwB,EAAE;IACpE,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,CAAC;AAC3E,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAI,KAAc,EAA6B,EAAE;IAC9E,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;AAClD,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,KAAc,EAAyB,EAAE;IAClE,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAC5C,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAmCF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAI,IAAO,EAAa,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;AAClF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAI,KAAY,EAAa,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
export * from "./wordpress.js";
|
|
7
7
|
export * from "./mcp.js";
|
|
8
8
|
export * from "./client.js";
|
|
9
|
+
export type { WordPressId, PostId, UserId, MediaId, CommentId, CategoryId, TagId, Result, DeepReadonly, ToolResult, NonEmptyArray, createWordPressId, createSuccess, createError } from "./enhanced.js";
|
|
10
|
+
export * from "./requests.js";
|
|
11
|
+
export type { BaseToolParams, CreatePostParams, UpdatePostParams, GetPostParams, ListPostsParams, DeletePostParams, CreatePageParams, UpdatePageParams, GetPageParams, ListPagesParams, DeletePageParams, ToolDefinition as EnhancedToolDefinition, ToolRegistry as EnhancedToolRegistry } from "./tools.js";
|
|
9
12
|
export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
10
13
|
export type RequiredKeys<T, K extends keyof T> = T & Required<Pick<T, K>>;
|
|
11
14
|
export type Nullable<T> = T | null;
|
|
@@ -15,9 +18,9 @@ export interface ErrorResponse {
|
|
|
15
18
|
error: true;
|
|
16
19
|
message: string;
|
|
17
20
|
code?: string;
|
|
18
|
-
details?: Record<string,
|
|
21
|
+
details?: Record<string, unknown>;
|
|
19
22
|
}
|
|
20
|
-
export interface SuccessResponse<T =
|
|
23
|
+
export interface SuccessResponse<T = unknown> {
|
|
21
24
|
success: true;
|
|
22
25
|
data: T;
|
|
23
26
|
message?: string;
|
|
@@ -81,8 +84,8 @@ export interface ValidationRule {
|
|
|
81
84
|
min?: number;
|
|
82
85
|
max?: number;
|
|
83
86
|
pattern?: RegExp;
|
|
84
|
-
enum_values?:
|
|
85
|
-
custom?: (value:
|
|
87
|
+
enum_values?: unknown[];
|
|
88
|
+
custom?: (value: unknown) => boolean | string;
|
|
86
89
|
}
|
|
87
90
|
export interface ValidationSchema {
|
|
88
91
|
[field: string]: ValidationRule | ValidationRule[];
|
|
@@ -100,14 +103,14 @@ export interface CacheOptions {
|
|
|
100
103
|
export interface EventData {
|
|
101
104
|
type: string;
|
|
102
105
|
timestamp: number;
|
|
103
|
-
data?: Record<string,
|
|
106
|
+
data?: Record<string, unknown>;
|
|
104
107
|
}
|
|
105
108
|
export type EventHandler<T = EventData> = (event: T) => void | Promise<void>;
|
|
106
109
|
export interface PerformanceMetric {
|
|
107
110
|
name: string;
|
|
108
111
|
duration: number;
|
|
109
112
|
timestamp: number;
|
|
110
|
-
metadata?: Record<string,
|
|
113
|
+
metadata?: Record<string, unknown>;
|
|
111
114
|
}
|
|
112
115
|
export interface HealthStatus {
|
|
113
116
|
status: "healthy" | "degraded" | "unhealthy";
|
|
@@ -124,7 +127,7 @@ export interface DebugInfo {
|
|
|
124
127
|
timestamp: number;
|
|
125
128
|
level: "debug" | "info" | "warn" | "error";
|
|
126
129
|
message: string;
|
|
127
|
-
context?: Record<string,
|
|
130
|
+
context?: Record<string, unknown>;
|
|
128
131
|
stack?: string;
|
|
129
132
|
}
|
|
130
133
|
export type DeepPartial<T> = {
|
|
@@ -147,11 +150,11 @@ export type MediaID = Brand<number, "MediaID">;
|
|
|
147
150
|
export type CommentID = Brand<number, "CommentID">;
|
|
148
151
|
export type CategoryID = Brand<number, "CategoryID">;
|
|
149
152
|
export type TagID = Brand<number, "TagID">;
|
|
150
|
-
export type AsyncFunction<TArgs extends
|
|
151
|
-
export type SyncFunction<TArgs extends
|
|
152
|
-
export type AnyFunction<TArgs extends
|
|
153
|
+
export type AsyncFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> = (...args: TArgs) => Promise<TReturn>;
|
|
154
|
+
export type SyncFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> = (...args: TArgs) => TReturn;
|
|
155
|
+
export type AnyFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> = SyncFunction<TArgs, TReturn> | AsyncFunction<TArgs, TReturn>;
|
|
153
156
|
export type If<C extends boolean, T, F> = C extends true ? T : F;
|
|
154
157
|
export type IsEqual<T, U> = T extends U ? (U extends T ? true : false) : false;
|
|
155
|
-
export type IsArray<T> = T extends
|
|
156
|
-
export type IsObject<T> = T extends object ? T extends
|
|
158
|
+
export type IsArray<T> = T extends unknown[] ? true : false;
|
|
159
|
+
export type IsObject<T> = T extends object ? (T extends unknown[] ? false : true) : false;
|
|
157
160
|
//# sourceMappingURL=index.d.ts.map
|