mcp-wordpress 2.4.2 → 2.5.1
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 +124 -54
- package/bin/status.js +1 -1
- 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/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 +73 -43
- 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.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/src/cache/CacheInvalidation.d.ts +120 -0
- package/dist/src/cache/CacheInvalidation.d.ts.map +1 -0
- package/dist/src/cache/CacheInvalidation.js +355 -0
- package/dist/src/cache/CacheInvalidation.js.map +1 -0
- package/dist/src/cache/CacheManager.d.ts +149 -0
- package/dist/src/cache/CacheManager.d.ts.map +1 -0
- package/dist/src/cache/CacheManager.js +326 -0
- package/dist/src/cache/CacheManager.js.map +1 -0
- package/dist/src/cache/HttpCacheWrapper.d.ts +122 -0
- package/dist/src/cache/HttpCacheWrapper.d.ts.map +1 -0
- package/dist/src/cache/HttpCacheWrapper.js +283 -0
- package/dist/src/cache/HttpCacheWrapper.js.map +1 -0
- package/dist/src/cache/index.d.ts +12 -0
- package/dist/src/cache/index.d.ts.map +1 -0
- package/dist/src/cache/index.js +9 -0
- package/dist/src/cache/index.js.map +1 -0
- package/dist/src/client/CachedWordPressClient.d.ts +174 -0
- package/dist/src/client/CachedWordPressClient.d.ts.map +1 -0
- package/dist/src/client/CachedWordPressClient.js +345 -0
- package/dist/src/client/CachedWordPressClient.js.map +1 -0
- package/dist/src/client/MockWordPressClient.d.ts +56 -0
- package/dist/src/client/MockWordPressClient.d.ts.map +1 -0
- package/dist/src/client/MockWordPressClient.js +371 -0
- package/dist/src/client/MockWordPressClient.js.map +1 -0
- package/dist/src/client/api.d.ts +235 -0
- package/dist/src/client/api.d.ts.map +1 -0
- package/dist/src/client/api.js +896 -0
- package/dist/src/client/api.js.map +1 -0
- package/dist/src/client/auth.d.ts +121 -0
- package/dist/src/client/auth.d.ts.map +1 -0
- package/dist/src/client/auth.js +429 -0
- package/dist/src/client/auth.js.map +1 -0
- package/dist/src/client/managers/AuthenticationManager.d.ts +92 -0
- package/dist/src/client/managers/AuthenticationManager.d.ts.map +1 -0
- package/dist/src/client/managers/AuthenticationManager.js +369 -0
- package/dist/src/client/managers/AuthenticationManager.js.map +1 -0
- package/dist/src/client/managers/BaseManager.d.ts +22 -0
- package/dist/src/client/managers/BaseManager.d.ts.map +1 -0
- package/dist/src/client/managers/BaseManager.js +53 -0
- package/dist/src/client/managers/BaseManager.js.map +1 -0
- package/dist/src/client/managers/RequestManager.d.ts +47 -0
- package/dist/src/client/managers/RequestManager.d.ts.map +1 -0
- package/dist/src/client/managers/RequestManager.js +193 -0
- package/dist/src/client/managers/RequestManager.js.map +1 -0
- package/dist/src/client/managers/index.d.ts +8 -0
- package/dist/src/client/managers/index.d.ts.map +1 -0
- package/dist/src/client/managers/index.js +8 -0
- package/dist/src/client/managers/index.js.map +1 -0
- package/dist/src/config/Config.d.ts +155 -0
- package/dist/src/config/Config.d.ts.map +1 -0
- package/dist/src/config/Config.js +215 -0
- package/dist/src/config/Config.js.map +1 -0
- package/dist/src/config/ConfigurationSchema.d.ts +281 -0
- package/dist/src/config/ConfigurationSchema.d.ts.map +1 -0
- package/dist/src/config/ConfigurationSchema.js +205 -0
- package/dist/src/config/ConfigurationSchema.js.map +1 -0
- package/dist/src/config/ServerConfiguration.d.ts +47 -0
- package/dist/src/config/ServerConfiguration.d.ts.map +1 -0
- package/dist/src/config/ServerConfiguration.js +255 -0
- package/dist/src/config/ServerConfiguration.js.map +1 -0
- package/dist/src/docs/DocumentationGenerator.d.ts +185 -0
- package/dist/src/docs/DocumentationGenerator.d.ts.map +1 -0
- package/dist/src/docs/DocumentationGenerator.js +777 -0
- package/dist/src/docs/DocumentationGenerator.js.map +1 -0
- package/dist/src/docs/MarkdownFormatter.d.ts +84 -0
- package/dist/src/docs/MarkdownFormatter.d.ts.map +1 -0
- package/dist/src/docs/MarkdownFormatter.js +458 -0
- package/dist/src/docs/MarkdownFormatter.js.map +1 -0
- package/dist/src/docs/index.d.ts +8 -0
- package/dist/src/docs/index.d.ts.map +1 -0
- package/dist/src/docs/index.js +7 -0
- package/dist/src/docs/index.js.map +1 -0
- package/dist/src/dxt-entry.d.ts +6 -0
- package/dist/src/dxt-entry.d.ts.map +1 -0
- package/dist/src/dxt-entry.js +39 -0
- package/dist/src/dxt-entry.js.map +1 -0
- package/dist/src/index.d.ts +18 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +143 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/performance/MetricsCollector.d.ts +145 -0
- package/dist/src/performance/MetricsCollector.d.ts.map +1 -0
- package/dist/src/performance/MetricsCollector.js +368 -0
- package/dist/src/performance/MetricsCollector.js.map +1 -0
- package/dist/src/performance/PerformanceAnalytics.d.ts +168 -0
- package/dist/src/performance/PerformanceAnalytics.d.ts.map +1 -0
- package/dist/src/performance/PerformanceAnalytics.js +570 -0
- package/dist/src/performance/PerformanceAnalytics.js.map +1 -0
- package/dist/src/performance/PerformanceMonitor.d.ts +203 -0
- package/dist/src/performance/PerformanceMonitor.d.ts.map +1 -0
- package/dist/src/performance/PerformanceMonitor.js +478 -0
- package/dist/src/performance/PerformanceMonitor.js.map +1 -0
- package/dist/src/performance/index.d.ts +11 -0
- package/dist/src/performance/index.d.ts.map +1 -0
- package/dist/src/performance/index.js +8 -0
- package/dist/src/performance/index.js.map +1 -0
- package/dist/src/security/AISecurityScanner.d.ts +176 -0
- package/dist/src/security/AISecurityScanner.d.ts.map +1 -0
- package/dist/src/security/AISecurityScanner.js +655 -0
- package/dist/src/security/AISecurityScanner.js.map +1 -0
- package/dist/src/security/AutomatedRemediation.d.ts +146 -0
- package/dist/src/security/AutomatedRemediation.d.ts.map +1 -0
- package/dist/src/security/AutomatedRemediation.js +566 -0
- package/dist/src/security/AutomatedRemediation.js.map +1 -0
- package/dist/src/security/InputValidator.d.ts +219 -0
- package/dist/src/security/InputValidator.d.ts.map +1 -0
- package/dist/src/security/InputValidator.js +295 -0
- package/dist/src/security/InputValidator.js.map +1 -0
- package/dist/src/security/SecurityCIPipeline.d.ts +213 -0
- package/dist/src/security/SecurityCIPipeline.d.ts.map +1 -0
- package/dist/src/security/SecurityCIPipeline.js +693 -0
- package/dist/src/security/SecurityCIPipeline.js.map +1 -0
- package/dist/src/security/SecurityConfig.d.ts +129 -0
- package/dist/src/security/SecurityConfig.d.ts.map +1 -0
- package/dist/src/security/SecurityConfig.js +266 -0
- package/dist/src/security/SecurityConfig.js.map +1 -0
- package/dist/src/security/SecurityConfigManager.d.ts +294 -0
- package/dist/src/security/SecurityConfigManager.d.ts.map +1 -0
- package/dist/src/security/SecurityConfigManager.js +558 -0
- package/dist/src/security/SecurityConfigManager.js.map +1 -0
- package/dist/src/security/SecurityMonitoring.d.ts +245 -0
- package/dist/src/security/SecurityMonitoring.d.ts.map +1 -0
- package/dist/src/security/SecurityMonitoring.js +598 -0
- package/dist/src/security/SecurityMonitoring.js.map +1 -0
- package/dist/src/security/SecurityReviewer.d.ts +168 -0
- package/dist/src/security/SecurityReviewer.d.ts.map +1 -0
- package/dist/src/security/SecurityReviewer.js +686 -0
- package/dist/src/security/SecurityReviewer.js.map +1 -0
- package/dist/src/security/index.d.ts +183 -0
- package/dist/src/security/index.d.ts.map +1 -0
- package/dist/src/security/index.js +218 -0
- package/dist/src/security/index.js.map +1 -0
- package/dist/src/server/ConnectionTester.d.ts +32 -0
- package/dist/src/server/ConnectionTester.d.ts.map +1 -0
- package/dist/src/server/ConnectionTester.js +135 -0
- package/dist/src/server/ConnectionTester.js.map +1 -0
- package/dist/src/server/ToolRegistry.d.ts +50 -0
- package/dist/src/server/ToolRegistry.d.ts.map +1 -0
- package/dist/src/server/ToolRegistry.js +219 -0
- package/dist/src/server/ToolRegistry.js.map +1 -0
- package/dist/src/server.d.ts +7 -0
- package/dist/src/server.d.ts.map +1 -0
- package/dist/src/server.js +7 -0
- package/dist/src/server.js.map +1 -0
- package/dist/src/tools/BaseToolManager.d.ts +62 -0
- package/dist/src/tools/BaseToolManager.d.ts.map +1 -0
- package/dist/src/tools/BaseToolManager.js +195 -0
- package/dist/src/tools/BaseToolManager.js.map +1 -0
- package/dist/src/tools/auth.d.ts +50 -0
- package/dist/src/tools/auth.d.ts.map +1 -0
- package/dist/src/tools/auth.js +133 -0
- package/dist/src/tools/auth.js.map +1 -0
- package/dist/src/tools/cache.d.ts +260 -0
- package/dist/src/tools/cache.d.ts.map +1 -0
- package/dist/src/tools/cache.js +232 -0
- package/dist/src/tools/cache.js.map +1 -0
- package/dist/src/tools/comments.d.ts +33 -0
- package/dist/src/tools/comments.d.ts.map +1 -0
- package/dist/src/tools/comments.js +235 -0
- package/dist/src/tools/comments.js.map +1 -0
- package/dist/src/tools/index.d.ts +11 -0
- package/dist/src/tools/index.d.ts.map +1 -0
- package/dist/src/tools/index.js +11 -0
- package/dist/src/tools/index.js.map +1 -0
- package/dist/src/tools/media.d.ts +70 -0
- package/dist/src/tools/media.d.ts.map +1 -0
- package/dist/src/tools/media.js +248 -0
- package/dist/src/tools/media.js.map +1 -0
- package/dist/src/tools/pages.d.ts +32 -0
- package/dist/src/tools/pages.d.ts.map +1 -0
- package/dist/src/tools/pages.js +215 -0
- package/dist/src/tools/pages.js.map +1 -0
- package/dist/src/tools/performance.d.ts +73 -0
- package/dist/src/tools/performance.d.ts.map +1 -0
- package/dist/src/tools/performance.js +922 -0
- package/dist/src/tools/performance.js.map +1 -0
- package/dist/src/tools/posts/PostHandlers.d.ts +46 -0
- package/dist/src/tools/posts/PostHandlers.d.ts.map +1 -0
- package/dist/src/tools/posts/PostHandlers.js +400 -0
- package/dist/src/tools/posts/PostHandlers.js.map +1 -0
- package/dist/src/tools/posts/PostToolDefinitions.d.ts +37 -0
- package/dist/src/tools/posts/PostToolDefinitions.d.ts.map +1 -0
- package/dist/src/tools/posts/PostToolDefinitions.js +236 -0
- package/dist/src/tools/posts/PostToolDefinitions.js.map +1 -0
- package/dist/src/tools/posts/index.d.ts +138 -0
- package/dist/src/tools/posts/index.d.ts.map +1 -0
- package/dist/src/tools/posts/index.js +163 -0
- package/dist/src/tools/posts/index.js.map +1 -0
- package/dist/src/tools/posts.d.ts +15 -0
- package/dist/src/tools/posts.d.ts.map +1 -0
- package/dist/src/tools/posts.js +16 -0
- package/dist/src/tools/posts.js.map +1 -0
- package/dist/src/tools/site.d.ts +32 -0
- package/dist/src/tools/site.d.ts.map +1 -0
- package/dist/src/tools/site.js +234 -0
- package/dist/src/tools/site.js.map +1 -0
- package/dist/src/tools/taxonomies.d.ts +36 -0
- package/dist/src/tools/taxonomies.d.ts.map +1 -0
- package/dist/src/tools/taxonomies.js +286 -0
- package/dist/src/tools/taxonomies.js.map +1 -0
- package/dist/src/tools/users.d.ts +33 -0
- package/dist/src/tools/users.d.ts.map +1 -0
- package/dist/src/tools/users.js +308 -0
- package/dist/src/tools/users.js.map +1 -0
- package/dist/src/types/client.d.ts +223 -0
- package/dist/src/types/client.d.ts.map +1 -0
- package/dist/src/types/client.js +97 -0
- package/dist/src/types/client.js.map +1 -0
- package/dist/src/types/enhanced.d.ts +237 -0
- package/dist/src/types/enhanced.d.ts.map +1 -0
- package/dist/src/types/enhanced.js +49 -0
- package/dist/src/types/enhanced.js.map +1 -0
- package/dist/src/types/index.d.ts +160 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +14 -0
- package/dist/src/types/index.js.map +1 -0
- package/dist/src/types/mcp.d.ts +178 -0
- package/dist/src/types/mcp.d.ts.map +1 -0
- package/dist/src/types/mcp.js +7 -0
- package/dist/src/types/mcp.js.map +1 -0
- package/dist/src/types/requests.d.ts +322 -0
- package/dist/src/types/requests.d.ts.map +1 -0
- package/dist/src/types/requests.js +8 -0
- package/dist/src/types/requests.js.map +1 -0
- package/dist/src/types/tools.d.ts +506 -0
- package/dist/src/types/tools.d.ts.map +1 -0
- package/dist/src/types/tools.js +8 -0
- package/dist/src/types/tools.js.map +1 -0
- package/dist/src/types/wordpress.d.ts +471 -0
- package/dist/src/types/wordpress.d.ts.map +1 -0
- package/dist/src/types/wordpress.js +14 -0
- package/dist/src/types/wordpress.js.map +1 -0
- package/dist/src/utils/debug.d.ts +71 -0
- package/dist/src/utils/debug.d.ts.map +1 -0
- package/dist/src/utils/debug.js +235 -0
- package/dist/src/utils/debug.js.map +1 -0
- package/dist/src/utils/enhancedError.d.ts +61 -0
- package/dist/src/utils/enhancedError.d.ts.map +1 -0
- package/dist/src/utils/enhancedError.js +221 -0
- package/dist/src/utils/enhancedError.js.map +1 -0
- package/dist/src/utils/error.d.ts +17 -0
- package/dist/src/utils/error.d.ts.map +1 -0
- package/dist/src/utils/error.js +108 -0
- package/dist/src/utils/error.js.map +1 -0
- package/dist/src/utils/logger.d.ts +106 -0
- package/dist/src/utils/logger.d.ts.map +1 -0
- package/dist/src/utils/logger.js +280 -0
- package/dist/src/utils/logger.js.map +1 -0
- package/dist/src/utils/streaming.d.ts +104 -0
- package/dist/src/utils/streaming.d.ts.map +1 -0
- package/dist/src/utils/streaming.js +331 -0
- package/dist/src/utils/streaming.js.map +1 -0
- package/dist/src/utils/toolWrapper.d.ts +42 -0
- package/dist/src/utils/toolWrapper.d.ts.map +1 -0
- package/dist/src/utils/toolWrapper.js +101 -0
- package/dist/src/utils/toolWrapper.js.map +1 -0
- package/dist/src/utils/validation/core.d.ts +21 -0
- package/dist/src/utils/validation/core.d.ts.map +1 -0
- package/dist/src/utils/validation/core.js +71 -0
- package/dist/src/utils/validation/core.js.map +1 -0
- package/dist/src/utils/validation/index.d.ts +25 -0
- package/dist/src/utils/validation/index.d.ts.map +1 -0
- package/dist/src/utils/validation/index.js +29 -0
- package/dist/src/utils/validation/index.js.map +1 -0
- package/dist/src/utils/validation/network.d.ts +19 -0
- package/dist/src/utils/validation/network.d.ts.map +1 -0
- package/dist/src/utils/validation/network.js +93 -0
- package/dist/src/utils/validation/network.js.map +1 -0
- package/dist/src/utils/validation/rateLimit.d.ts +21 -0
- package/dist/src/utils/validation/rateLimit.d.ts.map +1 -0
- package/dist/src/utils/validation/rateLimit.js +43 -0
- package/dist/src/utils/validation/rateLimit.js.map +1 -0
- package/dist/src/utils/validation/security.d.ts +29 -0
- package/dist/src/utils/validation/security.d.ts.map +1 -0
- package/dist/src/utils/validation/security.js +327 -0
- package/dist/src/utils/validation/security.js.map +1 -0
- package/dist/src/utils/validation/wordpress.d.ts +31 -0
- package/dist/src/utils/validation/wordpress.d.ts.map +1 -0
- package/dist/src/utils/validation/wordpress.js +146 -0
- package/dist/src/utils/validation/wordpress.js.map +1 -0
- package/dist/src/utils/validation.d.ts +15 -0
- package/dist/src/utils/validation.d.ts.map +1 -0
- package/dist/src/utils/validation.js +27 -0
- package/dist/src/utils/validation.js.map +1 -0
- package/dist/tests/vitest.setup.d.ts +6 -0
- package/dist/tests/vitest.setup.d.ts.map +1 -0
- package/dist/tests/vitest.setup.js +39 -0
- package/dist/tests/vitest.setup.js.map +1 -0
- 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/INSTALLATION.md +4 -2
- package/docs/TROUBLESHOOTING.md +2 -1
- 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/developer/TESTING.md +24 -19
- 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 +39 -34
- package/docs/integrations/cline.md +4 -4
- package/docs/integrations/vs-code.md +9 -8
- package/docs/user-guides/DXT_INSTALLATION.md +2 -1
- package/docs/user-guides/SMITHERY_SETUP.md +10 -10
- package/package.json +57 -39
- 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 +73 -49
- 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/cache/__tests__/CacheInvalidation.test.d.ts +0 -5
- package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +0 -1
- package/dist/cache/__tests__/CacheInvalidation.test.js +0 -238
- package/dist/cache/__tests__/CacheInvalidation.test.js.map +0 -1
- package/dist/cache/__tests__/CacheManager.test.d.ts +0 -5
- package/dist/cache/__tests__/CacheManager.test.d.ts.map +0 -1
- package/dist/cache/__tests__/CacheManager.test.js +0 -233
- package/dist/cache/__tests__/CacheManager.test.js.map +0 -1
- package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +0 -5
- package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +0 -1
- package/dist/cache/__tests__/CachedWordPressClient.test.js +0 -231
- package/dist/cache/__tests__/CachedWordPressClient.test.js.map +0 -1
- package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +0 -5
- package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +0 -1
- package/dist/cache/__tests__/HttpCacheWrapper.test.js +0 -299
- package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +0 -1
package/src/types/index.ts
CHANGED
|
@@ -13,6 +13,44 @@ export * from "./mcp.js";
|
|
|
13
13
|
// Client Types
|
|
14
14
|
export * from "./client.js";
|
|
15
15
|
|
|
16
|
+
// Enhanced Types (New) - Selective exports to avoid conflicts
|
|
17
|
+
export type {
|
|
18
|
+
WordPressId,
|
|
19
|
+
PostId,
|
|
20
|
+
UserId,
|
|
21
|
+
MediaId,
|
|
22
|
+
CommentId,
|
|
23
|
+
CategoryId,
|
|
24
|
+
TagId,
|
|
25
|
+
Result,
|
|
26
|
+
DeepReadonly,
|
|
27
|
+
ToolResult,
|
|
28
|
+
NonEmptyArray,
|
|
29
|
+
createWordPressId,
|
|
30
|
+
createSuccess,
|
|
31
|
+
createError
|
|
32
|
+
} from "./enhanced.js";
|
|
33
|
+
|
|
34
|
+
// Request Types (New)
|
|
35
|
+
export * from "./requests.js";
|
|
36
|
+
|
|
37
|
+
// Tool Types (New) - Selective exports to avoid conflicts
|
|
38
|
+
export type {
|
|
39
|
+
BaseToolParams,
|
|
40
|
+
CreatePostParams,
|
|
41
|
+
UpdatePostParams,
|
|
42
|
+
GetPostParams,
|
|
43
|
+
ListPostsParams,
|
|
44
|
+
DeletePostParams,
|
|
45
|
+
CreatePageParams,
|
|
46
|
+
UpdatePageParams,
|
|
47
|
+
GetPageParams,
|
|
48
|
+
ListPagesParams,
|
|
49
|
+
DeletePageParams,
|
|
50
|
+
ToolDefinition as EnhancedToolDefinition,
|
|
51
|
+
ToolRegistry as EnhancedToolRegistry
|
|
52
|
+
} from "./tools.js";
|
|
53
|
+
|
|
16
54
|
// Common Utility Types
|
|
17
55
|
export type Optional<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>>;
|
|
18
56
|
export type RequiredKeys<T, K extends keyof T> = T & Required<Pick<T, K>>;
|
|
@@ -27,11 +65,11 @@ export interface ErrorResponse {
|
|
|
27
65
|
error: true;
|
|
28
66
|
message: string;
|
|
29
67
|
code?: string;
|
|
30
|
-
details?: Record<string,
|
|
68
|
+
details?: Record<string, unknown>;
|
|
31
69
|
}
|
|
32
70
|
|
|
33
71
|
// Generic Success Response
|
|
34
|
-
export interface SuccessResponse<T =
|
|
72
|
+
export interface SuccessResponse<T = unknown> {
|
|
35
73
|
success: true;
|
|
36
74
|
data: T;
|
|
37
75
|
message?: string;
|
|
@@ -104,22 +142,13 @@ export interface Environment {
|
|
|
104
142
|
|
|
105
143
|
// Validation Schema Types
|
|
106
144
|
export interface ValidationRule {
|
|
107
|
-
type:
|
|
108
|
-
| "required"
|
|
109
|
-
| "string"
|
|
110
|
-
| "number"
|
|
111
|
-
| "boolean"
|
|
112
|
-
| "email"
|
|
113
|
-
| "url"
|
|
114
|
-
| "enum"
|
|
115
|
-
| "array"
|
|
116
|
-
| "object";
|
|
145
|
+
type: "required" | "string" | "number" | "boolean" | "email" | "url" | "enum" | "array" | "object";
|
|
117
146
|
message?: string;
|
|
118
147
|
min?: number;
|
|
119
148
|
max?: number;
|
|
120
149
|
pattern?: RegExp;
|
|
121
|
-
enum_values?:
|
|
122
|
-
custom?: (value:
|
|
150
|
+
enum_values?: unknown[];
|
|
151
|
+
custom?: (value: unknown) => boolean | string;
|
|
123
152
|
}
|
|
124
153
|
|
|
125
154
|
export interface ValidationSchema {
|
|
@@ -143,7 +172,7 @@ export interface CacheOptions {
|
|
|
143
172
|
export interface EventData {
|
|
144
173
|
type: string;
|
|
145
174
|
timestamp: number;
|
|
146
|
-
data?: Record<string,
|
|
175
|
+
data?: Record<string, unknown>;
|
|
147
176
|
}
|
|
148
177
|
|
|
149
178
|
export type EventHandler<T = EventData> = (event: T) => void | Promise<void>;
|
|
@@ -153,7 +182,7 @@ export interface PerformanceMetric {
|
|
|
153
182
|
name: string;
|
|
154
183
|
duration: number;
|
|
155
184
|
timestamp: number;
|
|
156
|
-
metadata?: Record<string,
|
|
185
|
+
metadata?: Record<string, unknown>;
|
|
157
186
|
}
|
|
158
187
|
|
|
159
188
|
// Health Check Types
|
|
@@ -177,7 +206,7 @@ export interface DebugInfo {
|
|
|
177
206
|
timestamp: number;
|
|
178
207
|
level: "debug" | "info" | "warn" | "error";
|
|
179
208
|
message: string;
|
|
180
|
-
context?: Record<string,
|
|
209
|
+
context?: Record<string, unknown>;
|
|
181
210
|
stack?: string;
|
|
182
211
|
}
|
|
183
212
|
|
|
@@ -208,22 +237,14 @@ export type CategoryID = Brand<number, "CategoryID">;
|
|
|
208
237
|
export type TagID = Brand<number, "TagID">;
|
|
209
238
|
|
|
210
239
|
// Function Types
|
|
211
|
-
export type AsyncFunction<TArgs extends
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
export type SyncFunction<TArgs extends any[] = any[], TReturn = any> = (
|
|
215
|
-
...args: TArgs
|
|
216
|
-
) => TReturn;
|
|
217
|
-
export type AnyFunction<TArgs extends any[] = any[], TReturn = any> =
|
|
240
|
+
export type AsyncFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> = (...args: TArgs) => Promise<TReturn>;
|
|
241
|
+
export type SyncFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> = (...args: TArgs) => TReturn;
|
|
242
|
+
export type AnyFunction<TArgs extends unknown[] = unknown[], TReturn = unknown> =
|
|
218
243
|
| SyncFunction<TArgs, TReturn>
|
|
219
244
|
| AsyncFunction<TArgs, TReturn>;
|
|
220
245
|
|
|
221
246
|
// Conditional Types
|
|
222
247
|
export type If<C extends boolean, T, F> = C extends true ? T : F;
|
|
223
248
|
export type IsEqual<T, U> = T extends U ? (U extends T ? true : false) : false;
|
|
224
|
-
export type IsArray<T> = T extends
|
|
225
|
-
export type IsObject<T> = T extends object
|
|
226
|
-
? T extends any[]
|
|
227
|
-
? false
|
|
228
|
-
: true
|
|
229
|
-
: false;
|
|
249
|
+
export type IsArray<T> = T extends unknown[] ? true : false;
|
|
250
|
+
export type IsObject<T> = T extends object ? (T extends unknown[] ? false : true) : false;
|
package/src/types/mcp.ts
CHANGED
|
@@ -4,10 +4,7 @@
|
|
|
4
4
|
* TypeScript definitions for MCP tools, requests, and responses
|
|
5
5
|
*/
|
|
6
6
|
|
|
7
|
-
import type {
|
|
8
|
-
CallToolRequestSchema,
|
|
9
|
-
ListToolsRequestSchema,
|
|
10
|
-
} from "@modelcontextprotocol/sdk/types.js";
|
|
7
|
+
import type { CallToolRequestSchema, ListToolsRequestSchema } from "@modelcontextprotocol/sdk/types.js";
|
|
11
8
|
|
|
12
9
|
// MCP Tool Schema Types
|
|
13
10
|
export interface MCPToolSchema {
|
|
@@ -29,7 +26,7 @@ export interface JSONSchemaProperty {
|
|
|
29
26
|
maxLength?: number;
|
|
30
27
|
pattern?: string;
|
|
31
28
|
format?: string;
|
|
32
|
-
default?:
|
|
29
|
+
default?: unknown;
|
|
33
30
|
}
|
|
34
31
|
|
|
35
32
|
// MCP Tool Definition
|
|
@@ -77,16 +74,13 @@ export interface MCPErrorResponse extends MCPToolResponse {
|
|
|
77
74
|
}
|
|
78
75
|
|
|
79
76
|
// MCP Tool Handler Type
|
|
80
|
-
export type MCPToolHandler<TArgs =
|
|
81
|
-
args: TArgs,
|
|
82
|
-
) => Promise<TResponse>;
|
|
77
|
+
export type MCPToolHandler<TArgs = unknown, TResponse = MCPToolResponse> = (args: TArgs) => Promise<TResponse>;
|
|
83
78
|
|
|
84
79
|
// Generic MCP Tool Handler with Client
|
|
85
|
-
export type MCPToolHandlerWithClient<
|
|
86
|
-
TClient,
|
|
87
|
-
TArgs
|
|
88
|
-
|
|
89
|
-
> = (client: TClient, args: TArgs) => Promise<TResponse>;
|
|
80
|
+
export type MCPToolHandlerWithClient<TClient, TArgs = unknown, TResponse = MCPToolResponse> = (
|
|
81
|
+
client: TClient,
|
|
82
|
+
args: TArgs,
|
|
83
|
+
) => Promise<TResponse>;
|
|
90
84
|
|
|
91
85
|
// MCP Request Types (based on SDK)
|
|
92
86
|
export type MCPListToolsRequest = typeof ListToolsRequestSchema;
|
|
@@ -112,10 +106,7 @@ export interface CategorizedMCPTool extends MCPTool {
|
|
|
112
106
|
export type MCPToolRegistry = Record<string, CategorizedMCPTool>;
|
|
113
107
|
|
|
114
108
|
// Handler Registry Type
|
|
115
|
-
export type MCPHandlerRegistry<TClient> = Record<
|
|
116
|
-
string,
|
|
117
|
-
MCPToolHandlerWithClient<TClient>
|
|
118
|
-
>;
|
|
109
|
+
export type MCPHandlerRegistry<TClient> = Record<string, MCPToolHandlerWithClient<TClient>>;
|
|
119
110
|
|
|
120
111
|
// Tool Validation Result
|
|
121
112
|
export interface ToolValidationResult {
|
|
@@ -125,21 +116,15 @@ export interface ToolValidationResult {
|
|
|
125
116
|
}
|
|
126
117
|
|
|
127
118
|
// Common Response Helpers
|
|
128
|
-
export type CreateSuccessResponse = (
|
|
129
|
-
|
|
130
|
-
additionalContent?: MCPContent[],
|
|
131
|
-
) => MCPSuccessResponse;
|
|
132
|
-
export type CreateErrorResponse = (
|
|
133
|
-
error: string | Error,
|
|
134
|
-
additionalContent?: MCPContent[],
|
|
135
|
-
) => MCPErrorResponse;
|
|
119
|
+
export type CreateSuccessResponse = (text: string, additionalContent?: MCPContent[]) => MCPSuccessResponse;
|
|
120
|
+
export type CreateErrorResponse = (error: string | Error, additionalContent?: MCPContent[]) => MCPErrorResponse;
|
|
136
121
|
|
|
137
122
|
// Authentication Response Types
|
|
138
123
|
export interface AuthenticationResult {
|
|
139
124
|
success: boolean;
|
|
140
125
|
method: string;
|
|
141
126
|
message: string;
|
|
142
|
-
details?: Record<string,
|
|
127
|
+
details?: Record<string, unknown>;
|
|
143
128
|
}
|
|
144
129
|
|
|
145
130
|
// Tool Execution Context
|
|
@@ -166,7 +151,7 @@ export interface MCPToolError extends Error {
|
|
|
166
151
|
category: MCPToolCategory;
|
|
167
152
|
code?: string;
|
|
168
153
|
statusCode?: number;
|
|
169
|
-
details?: Record<string,
|
|
154
|
+
details?: Record<string, unknown>;
|
|
170
155
|
}
|
|
171
156
|
|
|
172
157
|
// Tool Configuration
|
|
@@ -188,30 +173,23 @@ export interface MCPServerConfig {
|
|
|
188
173
|
name: string;
|
|
189
174
|
version: string;
|
|
190
175
|
tools: MCPToolRegistry;
|
|
191
|
-
handlers: MCPHandlerRegistry<
|
|
176
|
+
handlers: MCPHandlerRegistry<unknown>;
|
|
192
177
|
middleware?: MCPMiddleware[];
|
|
193
178
|
config?: MCPToolConfig;
|
|
194
179
|
}
|
|
195
180
|
|
|
196
181
|
// Middleware Type
|
|
197
|
-
export type MCPMiddleware<_TClient =
|
|
182
|
+
export type MCPMiddleware<_TClient = unknown> = (
|
|
198
183
|
context: MCPToolContext,
|
|
199
184
|
next: () => Promise<MCPToolResponse>,
|
|
200
185
|
) => Promise<MCPToolResponse>;
|
|
201
186
|
|
|
202
187
|
// Tool Execution Pipeline
|
|
203
188
|
export interface MCPExecutionPipeline<TClient> {
|
|
204
|
-
validate: (toolName: string, args:
|
|
189
|
+
validate: (toolName: string, args: unknown) => Promise<ToolValidationResult>;
|
|
205
190
|
authenticate: (client: TClient) => Promise<boolean>;
|
|
206
|
-
execute: (
|
|
207
|
-
|
|
208
|
-
client: TClient,
|
|
209
|
-
args: any,
|
|
210
|
-
) => Promise<MCPToolResponse>;
|
|
211
|
-
postProcess: (
|
|
212
|
-
response: MCPToolResponse,
|
|
213
|
-
context: MCPToolContext,
|
|
214
|
-
) => Promise<MCPToolResponse>;
|
|
191
|
+
execute: (toolName: string, client: TClient, args: unknown) => Promise<MCPToolResponse>;
|
|
192
|
+
postProcess: (response: MCPToolResponse, context: MCPToolContext) => Promise<MCPToolResponse>;
|
|
215
193
|
}
|
|
216
194
|
|
|
217
195
|
// Tool Documentation
|
|
@@ -223,7 +201,7 @@ export interface MCPToolDocumentation {
|
|
|
223
201
|
examples: Array<{
|
|
224
202
|
title: string;
|
|
225
203
|
description: string;
|
|
226
|
-
input: Record<string,
|
|
204
|
+
input: Record<string, unknown>;
|
|
227
205
|
output: string;
|
|
228
206
|
}>;
|
|
229
207
|
parameters: Array<{
|
|
@@ -231,7 +209,7 @@ export interface MCPToolDocumentation {
|
|
|
231
209
|
type: string;
|
|
232
210
|
required: boolean;
|
|
233
211
|
description: string;
|
|
234
|
-
example?:
|
|
212
|
+
example?: unknown;
|
|
235
213
|
}>;
|
|
236
214
|
errors: Array<{
|
|
237
215
|
code: string;
|
|
@@ -244,7 +222,7 @@ export interface MCPToolDocumentation {
|
|
|
244
222
|
export interface MCPBatchRequest {
|
|
245
223
|
operations: Array<{
|
|
246
224
|
toolName: string;
|
|
247
|
-
args: Record<string,
|
|
225
|
+
args: Record<string, unknown>;
|
|
248
226
|
id?: string;
|
|
249
227
|
}>;
|
|
250
228
|
parallel?: boolean;
|
|
@@ -0,0 +1,378 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enhanced Request Types for WordPress API Client
|
|
3
|
+
*
|
|
4
|
+
* This file provides strongly-typed request interfaces to replace
|
|
5
|
+
* loose typing throughout the codebase.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
import type { DeepReadonly } from './enhanced.js';
|
|
9
|
+
|
|
10
|
+
// Generic HTTP Request Structure
|
|
11
|
+
export interface HTTPRequestConfig {
|
|
12
|
+
readonly method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
13
|
+
readonly url: string;
|
|
14
|
+
readonly headers?: DeepReadonly<Record<string, string>>;
|
|
15
|
+
readonly timeout?: number;
|
|
16
|
+
readonly signal?: AbortSignal;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export interface HTTPRequestWithData extends HTTPRequestConfig {
|
|
20
|
+
readonly data?: unknown;
|
|
21
|
+
readonly contentType?: string;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export interface HTTPRequestWithParams extends HTTPRequestConfig {
|
|
25
|
+
readonly params?: DeepReadonly<Record<string, string | number | boolean>>;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export interface HTTPRequestFull extends HTTPRequestWithData, HTTPRequestWithParams {}
|
|
29
|
+
|
|
30
|
+
// Request Queue Types
|
|
31
|
+
export interface QueuedRequest {
|
|
32
|
+
readonly id: string;
|
|
33
|
+
readonly config: HTTPRequestFull;
|
|
34
|
+
readonly timestamp: Date;
|
|
35
|
+
readonly priority: 'low' | 'medium' | 'high';
|
|
36
|
+
readonly retries: number;
|
|
37
|
+
readonly maxRetries: number;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface QueuedRequestCallback {
|
|
41
|
+
readonly resolve: (value: unknown) => void;
|
|
42
|
+
readonly reject: (reason: unknown) => void;
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
export interface RequestQueueItem extends QueuedRequest {
|
|
46
|
+
readonly callback: QueuedRequestCallback;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
// Form Data Types for File Uploads
|
|
50
|
+
export interface FileUpload {
|
|
51
|
+
readonly filename: string;
|
|
52
|
+
readonly mimeType: string;
|
|
53
|
+
readonly data: Buffer | Uint8Array | ReadableStream;
|
|
54
|
+
readonly size?: number;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
export interface FormDataField {
|
|
58
|
+
readonly name: string;
|
|
59
|
+
readonly value: string | number | boolean | FileUpload;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export interface FormDataConfig {
|
|
63
|
+
readonly fields: readonly FormDataField[];
|
|
64
|
+
readonly boundary?: string;
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
// Response Types
|
|
68
|
+
export interface HTTPResponse<T = unknown> {
|
|
69
|
+
readonly status: number;
|
|
70
|
+
readonly statusText: string;
|
|
71
|
+
readonly headers: DeepReadonly<Record<string, string>>;
|
|
72
|
+
readonly data: T;
|
|
73
|
+
readonly config: HTTPRequestConfig;
|
|
74
|
+
readonly timestamp: Date;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export interface ErrorResponse {
|
|
78
|
+
readonly status: number;
|
|
79
|
+
readonly statusText: string;
|
|
80
|
+
readonly message: string;
|
|
81
|
+
readonly code?: string;
|
|
82
|
+
readonly data?: unknown;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// Authentication Request Types
|
|
86
|
+
export interface AuthenticationRequest {
|
|
87
|
+
readonly method: 'app-password' | 'jwt' | 'basic' | 'api-key' | 'cookie';
|
|
88
|
+
readonly credentials: DeepReadonly<{
|
|
89
|
+
readonly username?: string;
|
|
90
|
+
readonly password?: string;
|
|
91
|
+
readonly token?: string;
|
|
92
|
+
readonly apiKey?: string;
|
|
93
|
+
readonly nonce?: string;
|
|
94
|
+
}>;
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export interface AuthenticationResponse {
|
|
98
|
+
readonly success: boolean;
|
|
99
|
+
readonly token?: string;
|
|
100
|
+
readonly expires?: Date;
|
|
101
|
+
readonly user?: {
|
|
102
|
+
readonly id: number;
|
|
103
|
+
readonly username: string;
|
|
104
|
+
readonly roles: readonly string[];
|
|
105
|
+
};
|
|
106
|
+
readonly method: string;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
// WordPress Specific Request Types
|
|
110
|
+
export interface WordPressQueryParams {
|
|
111
|
+
readonly context?: 'view' | 'embed' | 'edit';
|
|
112
|
+
readonly page?: number;
|
|
113
|
+
readonly per_page?: number;
|
|
114
|
+
readonly search?: string;
|
|
115
|
+
readonly order?: 'asc' | 'desc';
|
|
116
|
+
readonly orderby?: string;
|
|
117
|
+
readonly offset?: number;
|
|
118
|
+
readonly include?: readonly number[];
|
|
119
|
+
readonly exclude?: readonly number[];
|
|
120
|
+
readonly slug?: readonly string[];
|
|
121
|
+
readonly status?: readonly string[];
|
|
122
|
+
readonly author?: number;
|
|
123
|
+
readonly author_exclude?: readonly number[];
|
|
124
|
+
readonly before?: string;
|
|
125
|
+
readonly after?: string;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export interface PostSpecificParams extends WordPressQueryParams {
|
|
129
|
+
readonly categories?: readonly number[];
|
|
130
|
+
readonly categories_exclude?: readonly number[];
|
|
131
|
+
readonly tags?: readonly number[];
|
|
132
|
+
readonly tags_exclude?: readonly number[];
|
|
133
|
+
readonly sticky?: boolean;
|
|
134
|
+
readonly format?: readonly string[];
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export interface MediaSpecificParams extends WordPressQueryParams {
|
|
138
|
+
readonly parent?: number;
|
|
139
|
+
readonly parent_exclude?: readonly number[];
|
|
140
|
+
readonly media_type?: 'image' | 'video' | 'text' | 'application' | 'audio';
|
|
141
|
+
readonly mime_type?: string;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
export interface UserSpecificParams extends WordPressQueryParams {
|
|
145
|
+
readonly roles?: readonly string[];
|
|
146
|
+
readonly capabilities?: readonly string[];
|
|
147
|
+
readonly who?: 'authors';
|
|
148
|
+
readonly has_published_posts?: readonly string[];
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
export interface CommentSpecificParams extends WordPressQueryParams {
|
|
152
|
+
readonly author_email?: string;
|
|
153
|
+
readonly parent?: readonly number[];
|
|
154
|
+
readonly parent_exclude?: readonly number[];
|
|
155
|
+
readonly post?: readonly number[];
|
|
156
|
+
readonly type?: 'comment' | 'trackback' | 'pingback';
|
|
157
|
+
readonly password?: string;
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
// Batch Request Types
|
|
161
|
+
export interface BatchOperation<TParams = unknown> {
|
|
162
|
+
readonly id: string;
|
|
163
|
+
readonly method: 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
|
|
164
|
+
readonly endpoint: string;
|
|
165
|
+
readonly params?: TParams;
|
|
166
|
+
readonly data?: unknown;
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
export interface BatchRequest {
|
|
170
|
+
readonly operations: readonly BatchOperation[];
|
|
171
|
+
readonly parallel?: boolean;
|
|
172
|
+
readonly stopOnError?: boolean;
|
|
173
|
+
readonly timeout?: number;
|
|
174
|
+
}
|
|
175
|
+
|
|
176
|
+
export interface BatchOperationResult<TData = unknown> {
|
|
177
|
+
readonly id: string;
|
|
178
|
+
readonly success: boolean;
|
|
179
|
+
readonly status: number;
|
|
180
|
+
readonly data?: TData;
|
|
181
|
+
readonly error?: ErrorResponse;
|
|
182
|
+
readonly duration: number;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export interface BatchResponse {
|
|
186
|
+
readonly results: readonly BatchOperationResult[];
|
|
187
|
+
readonly summary: {
|
|
188
|
+
readonly total: number;
|
|
189
|
+
readonly successful: number;
|
|
190
|
+
readonly failed: number;
|
|
191
|
+
readonly duration: number;
|
|
192
|
+
};
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Pagination Response Types
|
|
196
|
+
export interface PaginatedRequestParams {
|
|
197
|
+
readonly page: number;
|
|
198
|
+
readonly per_page: number;
|
|
199
|
+
readonly total_pages?: number;
|
|
200
|
+
readonly total_items?: number;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
export interface PaginatedResponse<TData> {
|
|
204
|
+
readonly data: readonly TData[];
|
|
205
|
+
readonly pagination: {
|
|
206
|
+
readonly current_page: number;
|
|
207
|
+
readonly per_page: number;
|
|
208
|
+
readonly total_pages: number;
|
|
209
|
+
readonly total_items: number;
|
|
210
|
+
readonly has_next: boolean;
|
|
211
|
+
readonly has_previous: boolean;
|
|
212
|
+
};
|
|
213
|
+
readonly links?: {
|
|
214
|
+
readonly self: string;
|
|
215
|
+
readonly next?: string;
|
|
216
|
+
readonly previous?: string;
|
|
217
|
+
readonly first: string;
|
|
218
|
+
readonly last: string;
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
// Search Request Types
|
|
223
|
+
export interface SearchRequest {
|
|
224
|
+
readonly query: string;
|
|
225
|
+
readonly type?: readonly ('post' | 'page' | 'attachment' | 'user' | 'comment')[];
|
|
226
|
+
readonly subtype?: readonly string[];
|
|
227
|
+
readonly include?: readonly number[];
|
|
228
|
+
readonly exclude?: readonly number[];
|
|
229
|
+
readonly per_page?: number;
|
|
230
|
+
readonly page?: number;
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
export interface SearchResult {
|
|
234
|
+
readonly id: number;
|
|
235
|
+
readonly title: string;
|
|
236
|
+
readonly url: string;
|
|
237
|
+
readonly type: string;
|
|
238
|
+
readonly subtype: string;
|
|
239
|
+
readonly excerpt?: string;
|
|
240
|
+
readonly date?: string;
|
|
241
|
+
readonly author?: {
|
|
242
|
+
readonly id: number;
|
|
243
|
+
readonly name: string;
|
|
244
|
+
};
|
|
245
|
+
}
|
|
246
|
+
|
|
247
|
+
// Upload Request Types
|
|
248
|
+
export interface UploadRequest {
|
|
249
|
+
readonly file: FileUpload;
|
|
250
|
+
readonly title?: string;
|
|
251
|
+
readonly alt_text?: string;
|
|
252
|
+
readonly caption?: string;
|
|
253
|
+
readonly description?: string;
|
|
254
|
+
readonly post?: number;
|
|
255
|
+
readonly author?: number;
|
|
256
|
+
readonly status?: 'publish' | 'future' | 'draft' | 'pending' | 'private';
|
|
257
|
+
readonly date?: string;
|
|
258
|
+
readonly date_gmt?: string;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
export interface UploadProgress {
|
|
262
|
+
readonly loaded: number;
|
|
263
|
+
readonly total: number;
|
|
264
|
+
readonly percent: number;
|
|
265
|
+
readonly rate: number;
|
|
266
|
+
readonly estimated?: number;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export interface UploadResponse {
|
|
270
|
+
readonly id: number;
|
|
271
|
+
readonly title: {
|
|
272
|
+
readonly rendered: string;
|
|
273
|
+
};
|
|
274
|
+
readonly source_url: string;
|
|
275
|
+
readonly media_type: string;
|
|
276
|
+
readonly mime_type: string;
|
|
277
|
+
readonly upload_progress?: UploadProgress;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
// Rate Limiting Types
|
|
281
|
+
export interface RateLimitConfig {
|
|
282
|
+
readonly requestsPerMinute: number;
|
|
283
|
+
readonly burstLimit: number;
|
|
284
|
+
readonly windowSize: number;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
export interface RateLimitState {
|
|
288
|
+
readonly remaining: number;
|
|
289
|
+
readonly reset: Date;
|
|
290
|
+
readonly limit: number;
|
|
291
|
+
readonly window: number;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export interface RateLimitedRequest extends HTTPRequestFull {
|
|
295
|
+
readonly priority: 'low' | 'medium' | 'high';
|
|
296
|
+
readonly rateLimitKey?: string;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
// Cache Request Types
|
|
300
|
+
export interface CacheableRequest extends HTTPRequestConfig {
|
|
301
|
+
readonly cacheKey?: string;
|
|
302
|
+
readonly cacheTTL?: number;
|
|
303
|
+
readonly cacheStrategy?: 'cache-first' | 'network-first' | 'cache-only' | 'network-only';
|
|
304
|
+
readonly invalidateCache?: boolean;
|
|
305
|
+
readonly cacheTags?: readonly string[];
|
|
306
|
+
}
|
|
307
|
+
|
|
308
|
+
export interface CachedResponse<T> extends HTTPResponse<T> {
|
|
309
|
+
readonly cached: boolean;
|
|
310
|
+
readonly cacheAge?: number;
|
|
311
|
+
readonly cacheHit: boolean;
|
|
312
|
+
}
|
|
313
|
+
|
|
314
|
+
// Retry Configuration Types
|
|
315
|
+
export interface RetryConfig {
|
|
316
|
+
readonly maxRetries: number;
|
|
317
|
+
readonly backoffFactor: number;
|
|
318
|
+
readonly initialDelay: number;
|
|
319
|
+
readonly maxDelay: number;
|
|
320
|
+
readonly retryOn?: readonly number[];
|
|
321
|
+
readonly retryCondition?: (error: unknown) => boolean;
|
|
322
|
+
}
|
|
323
|
+
|
|
324
|
+
export interface RetryAttempt {
|
|
325
|
+
readonly attempt: number;
|
|
326
|
+
readonly maxAttempts: number;
|
|
327
|
+
readonly delay: number;
|
|
328
|
+
readonly error: unknown;
|
|
329
|
+
readonly timestamp: Date;
|
|
330
|
+
}
|
|
331
|
+
|
|
332
|
+
// Health Check Types
|
|
333
|
+
export interface HealthCheckRequest {
|
|
334
|
+
readonly endpoint: string;
|
|
335
|
+
readonly timeout: number;
|
|
336
|
+
readonly expectedStatus?: number;
|
|
337
|
+
readonly expectedContent?: string;
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
export interface HealthCheckResponse {
|
|
341
|
+
readonly status: 'healthy' | 'degraded' | 'unhealthy';
|
|
342
|
+
readonly responseTime: number;
|
|
343
|
+
readonly statusCode: number;
|
|
344
|
+
readonly timestamp: Date;
|
|
345
|
+
readonly details?: {
|
|
346
|
+
readonly version?: string;
|
|
347
|
+
readonly endpoints?: readonly string[];
|
|
348
|
+
readonly authentication?: boolean;
|
|
349
|
+
};
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
// Validation Types for Request Processing
|
|
353
|
+
export interface RequestValidationRule {
|
|
354
|
+
readonly field: string;
|
|
355
|
+
readonly required: boolean;
|
|
356
|
+
readonly type: 'string' | 'number' | 'boolean' | 'array' | 'object';
|
|
357
|
+
readonly minLength?: number;
|
|
358
|
+
readonly maxLength?: number;
|
|
359
|
+
readonly pattern?: RegExp;
|
|
360
|
+
readonly allowedValues?: readonly (string | number | boolean)[];
|
|
361
|
+
readonly customValidator?: (value: unknown) => boolean;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
export interface RequestValidationSchema {
|
|
365
|
+
readonly rules: readonly RequestValidationRule[];
|
|
366
|
+
readonly strict: boolean;
|
|
367
|
+
readonly allowAdditionalFields: boolean;
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
export interface RequestValidationResult {
|
|
371
|
+
readonly valid: boolean;
|
|
372
|
+
readonly errors: readonly {
|
|
373
|
+
readonly field: string;
|
|
374
|
+
readonly message: string;
|
|
375
|
+
readonly code: string;
|
|
376
|
+
}[];
|
|
377
|
+
readonly sanitizedData?: unknown;
|
|
378
|
+
}
|