mcp-wordpress 2.6.3 → 2.7.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 +1 -1
- package/dist/cache/CacheInvalidation.d.ts +25 -6
- package/dist/cache/CacheInvalidation.d.ts.map +1 -1
- package/dist/cache/CacheInvalidation.js +168 -16
- package/dist/cache/CacheInvalidation.js.map +1 -1
- package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
- package/dist/cache/HttpCacheWrapper.js +3 -4
- package/dist/cache/HttpCacheWrapper.js.map +1 -1
- package/dist/cache/SEOCacheManager.d.ts +150 -0
- package/dist/cache/SEOCacheManager.d.ts.map +1 -0
- package/dist/cache/SEOCacheManager.js +275 -0
- package/dist/cache/SEOCacheManager.js.map +1 -0
- package/dist/client/SEOWordPressClient.d.ts +164 -0
- package/dist/client/SEOWordPressClient.d.ts.map +1 -0
- package/dist/client/SEOWordPressClient.js +674 -0
- package/dist/client/SEOWordPressClient.js.map +1 -0
- package/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +50 -20
- package/dist/client/api.js.map +1 -1
- package/dist/client/auth.js +19 -19
- package/dist/client/auth.js.map +1 -1
- package/dist/client/index.d.ts +11 -0
- package/dist/client/index.d.ts.map +1 -0
- package/dist/client/index.js +14 -0
- package/dist/client/index.js.map +1 -0
- package/dist/client/managers/AuthManager.d.ts +39 -0
- package/dist/client/managers/AuthManager.d.ts.map +1 -0
- package/dist/client/managers/AuthManager.js +142 -0
- package/dist/client/managers/AuthManager.js.map +1 -0
- package/dist/client/managers/AuthenticationManager.d.ts.map +1 -1
- package/dist/client/managers/AuthenticationManager.js +10 -9
- package/dist/client/managers/AuthenticationManager.js.map +1 -1
- package/dist/client/managers/BaseManager.d.ts.map +1 -1
- package/dist/client/managers/BaseManager.js +12 -0
- package/dist/client/managers/BaseManager.js.map +1 -1
- package/dist/client/managers/ComposedAuthenticationManager.d.ts +94 -0
- package/dist/client/managers/ComposedAuthenticationManager.d.ts.map +1 -0
- package/dist/client/managers/ComposedAuthenticationManager.js +340 -0
- package/dist/client/managers/ComposedAuthenticationManager.js.map +1 -0
- package/dist/client/managers/ComposedManagerFactory.d.ts +104 -0
- package/dist/client/managers/ComposedManagerFactory.d.ts.map +1 -0
- package/dist/client/managers/ComposedManagerFactory.js +180 -0
- package/dist/client/managers/ComposedManagerFactory.js.map +1 -0
- package/dist/client/managers/ComposedRequestManager.d.ts +82 -0
- package/dist/client/managers/ComposedRequestManager.d.ts.map +1 -0
- package/dist/client/managers/ComposedRequestManager.js +260 -0
- package/dist/client/managers/ComposedRequestManager.js.map +1 -0
- package/dist/client/managers/JWTAuthImplementation.d.ts +86 -0
- package/dist/client/managers/JWTAuthImplementation.d.ts.map +1 -0
- package/dist/client/managers/JWTAuthImplementation.js +240 -0
- package/dist/client/managers/JWTAuthImplementation.js.map +1 -0
- package/dist/client/managers/ManagersIndex.d.ts +6 -0
- package/dist/client/managers/ManagersIndex.d.ts.map +1 -0
- package/dist/client/managers/ManagersIndex.js +6 -0
- package/dist/client/managers/ManagersIndex.js.map +1 -0
- package/dist/client/managers/RequestManager.d.ts.map +1 -1
- package/dist/client/managers/RequestManager.js +5 -3
- package/dist/client/managers/RequestManager.js.map +1 -1
- package/dist/client/managers/composed/MigrationAdapter.d.ts +80 -0
- package/dist/client/managers/composed/MigrationAdapter.d.ts.map +1 -0
- package/dist/client/managers/composed/MigrationAdapter.js +214 -0
- package/dist/client/managers/composed/MigrationAdapter.js.map +1 -0
- package/dist/client/managers/composed/index.d.ts +23 -0
- package/dist/client/managers/composed/index.d.ts.map +1 -0
- package/dist/client/managers/composed/index.js +26 -0
- package/dist/client/managers/composed/index.js.map +1 -0
- package/dist/client/managers/implementations/ConfigurationProviderImpl.d.ts +27 -0
- package/dist/client/managers/implementations/ConfigurationProviderImpl.d.ts.map +1 -0
- package/dist/client/managers/implementations/ConfigurationProviderImpl.js +41 -0
- package/dist/client/managers/implementations/ConfigurationProviderImpl.js.map +1 -0
- package/dist/client/managers/implementations/ErrorHandlerImpl.d.ts +31 -0
- package/dist/client/managers/implementations/ErrorHandlerImpl.d.ts.map +1 -0
- package/dist/client/managers/implementations/ErrorHandlerImpl.js +73 -0
- package/dist/client/managers/implementations/ErrorHandlerImpl.js.map +1 -0
- package/dist/client/managers/implementations/ParameterValidatorImpl.d.ts +47 -0
- package/dist/client/managers/implementations/ParameterValidatorImpl.d.ts.map +1 -0
- package/dist/client/managers/implementations/ParameterValidatorImpl.js +141 -0
- package/dist/client/managers/implementations/ParameterValidatorImpl.js.map +1 -0
- package/dist/client/managers/interfaces/ManagerInterfaces.d.ts +147 -0
- package/dist/client/managers/interfaces/ManagerInterfaces.d.ts.map +1 -0
- package/dist/client/managers/interfaces/ManagerInterfaces.js +6 -0
- package/dist/client/managers/interfaces/ManagerInterfaces.js.map +1 -0
- package/dist/config/Config.d.ts +30 -0
- package/dist/config/Config.d.ts.map +1 -1
- package/dist/config/Config.js +30 -0
- package/dist/config/Config.js.map +1 -1
- package/dist/config/ConfigurationSchema.d.ts +75 -198
- package/dist/config/ConfigurationSchema.d.ts.map +1 -1
- package/dist/config/ConfigurationSchema.js +17 -17
- package/dist/config/ConfigurationSchema.js.map +1 -1
- package/dist/config/ServerConfiguration.d.ts +2 -2
- package/dist/config/ServerConfiguration.d.ts.map +1 -1
- package/dist/config/ServerConfiguration.js +15 -13
- package/dist/config/ServerConfiguration.js.map +1 -1
- package/dist/config/index.d.ts +8 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +11 -0
- package/dist/config/index.js.map +1 -0
- package/dist/docs/DocumentationGenerator.js +2 -2
- package/dist/docs/DocumentationGenerator.js.map +1 -1
- package/dist/dxt-entry.js +3 -3
- package/dist/dxt-entry.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +38 -37
- package/dist/index.js.map +1 -1
- package/dist/performance/MetricsCollector.d.ts.map +1 -1
- package/dist/performance/MetricsCollector.js +5 -4
- package/dist/performance/MetricsCollector.js.map +1 -1
- package/dist/security/AISecurityScanner.js +7 -7
- package/dist/security/AISecurityScanner.js.map +1 -1
- package/dist/security/AutomatedRemediation.d.ts.map +1 -1
- package/dist/security/AutomatedRemediation.js +11 -11
- package/dist/security/AutomatedRemediation.js.map +1 -1
- package/dist/security/InputValidator.d.ts +50 -126
- package/dist/security/InputValidator.d.ts.map +1 -1
- package/dist/security/InputValidator.js +9 -9
- package/dist/security/InputValidator.js.map +1 -1
- package/dist/security/SecurityCIPipeline.d.ts +47 -5
- package/dist/security/SecurityCIPipeline.d.ts.map +1 -1
- package/dist/security/SecurityCIPipeline.js +390 -49
- package/dist/security/SecurityCIPipeline.js.map +1 -1
- package/dist/security/SecurityConfigManager.js +10 -10
- package/dist/security/SecurityConfigManager.js.map +1 -1
- package/dist/security/SecurityMonitoring.js +4 -4
- package/dist/security/SecurityMonitoring.js.map +1 -1
- package/dist/security/SecurityReviewer.d.ts.map +1 -1
- package/dist/security/SecurityReviewer.js +13 -6
- package/dist/security/SecurityReviewer.js.map +1 -1
- package/dist/security/index.js +3 -3
- package/dist/security/index.js.map +1 -1
- package/dist/server/ConnectionTester.js +5 -5
- 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 +7 -6
- package/dist/server/ToolRegistry.js.map +1 -1
- package/dist/server/index.d.ts +7 -0
- package/dist/server/index.d.ts.map +1 -0
- package/dist/server/index.js +9 -0
- package/dist/server/index.js.map +1 -0
- package/dist/tools/BaseToolManager.d.ts.map +1 -1
- package/dist/tools/BaseToolManager.js +11 -11
- package/dist/tools/BaseToolManager.js.map +1 -1
- package/dist/tools/auth.d.ts.map +1 -1
- package/dist/tools/auth.js +7 -7
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/comments.d.ts.map +1 -1
- package/dist/tools/comments.js +14 -14
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/index.d.ts +1 -0
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +1 -0
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +14 -11
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +12 -12
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/performance.d.ts.map +1 -1
- package/dist/tools/performance.js +13 -11
- package/dist/tools/performance.js.map +1 -1
- package/dist/tools/posts/PostHandlers.d.ts.map +1 -1
- package/dist/tools/posts/PostHandlers.js +16 -16
- package/dist/tools/posts/PostHandlers.js.map +1 -1
- package/dist/tools/posts/PostToolDefinitions.d.ts.map +1 -1
- package/dist/tools/posts/index.d.ts.map +1 -1
- package/dist/tools/seo/BulkOperations.d.ts +113 -0
- package/dist/tools/seo/BulkOperations.d.ts.map +1 -0
- package/dist/tools/seo/BulkOperations.js +398 -0
- package/dist/tools/seo/BulkOperations.js.map +1 -0
- package/dist/tools/seo/SEOHandlers.d.ts +55 -0
- package/dist/tools/seo/SEOHandlers.d.ts.map +1 -0
- package/dist/tools/seo/SEOHandlers.js +255 -0
- package/dist/tools/seo/SEOHandlers.js.map +1 -0
- package/dist/tools/seo/SEOToolDefinitions.d.ts +59 -0
- package/dist/tools/seo/SEOToolDefinitions.d.ts.map +1 -0
- package/dist/tools/seo/SEOToolDefinitions.js +385 -0
- package/dist/tools/seo/SEOToolDefinitions.js.map +1 -0
- package/dist/tools/seo/SEOTools.d.ts +203 -0
- package/dist/tools/seo/SEOTools.d.ts.map +1 -0
- package/dist/tools/seo/SEOTools.js +708 -0
- package/dist/tools/seo/SEOTools.js.map +1 -0
- package/dist/tools/seo/analyzers/ContentAnalyzer.d.ts +94 -0
- package/dist/tools/seo/analyzers/ContentAnalyzer.d.ts.map +1 -0
- package/dist/tools/seo/analyzers/ContentAnalyzer.js +402 -0
- package/dist/tools/seo/analyzers/ContentAnalyzer.js.map +1 -0
- package/dist/tools/seo/auditors/SiteAuditor.d.ts +121 -0
- package/dist/tools/seo/auditors/SiteAuditor.d.ts.map +1 -0
- package/dist/tools/seo/auditors/SiteAuditor.js +600 -0
- package/dist/tools/seo/auditors/SiteAuditor.js.map +1 -0
- package/dist/tools/seo/generators/MetaGenerator.d.ts +128 -0
- package/dist/tools/seo/generators/MetaGenerator.d.ts.map +1 -0
- package/dist/tools/seo/generators/MetaGenerator.js +547 -0
- package/dist/tools/seo/generators/MetaGenerator.js.map +1 -0
- package/dist/tools/seo/generators/SchemaGenerator.d.ts +204 -0
- package/dist/tools/seo/generators/SchemaGenerator.d.ts.map +1 -0
- package/dist/tools/seo/generators/SchemaGenerator.js +670 -0
- package/dist/tools/seo/generators/SchemaGenerator.js.map +1 -0
- package/dist/tools/seo/index.d.ts +17 -0
- package/dist/tools/seo/index.d.ts.map +1 -0
- package/dist/tools/seo/index.js +18 -0
- package/dist/tools/seo/index.js.map +1 -0
- package/dist/tools/seo/optimizers/InternalLinkingSuggester.d.ts +186 -0
- package/dist/tools/seo/optimizers/InternalLinkingSuggester.d.ts.map +1 -0
- package/dist/tools/seo/optimizers/InternalLinkingSuggester.js +683 -0
- package/dist/tools/seo/optimizers/InternalLinkingSuggester.js.map +1 -0
- package/dist/tools/site.d.ts.map +1 -1
- package/dist/tools/site.js +12 -12
- package/dist/tools/site.js.map +1 -1
- package/dist/tools/taxonomies.d.ts.map +1 -1
- package/dist/tools/taxonomies.js +20 -20
- package/dist/tools/taxonomies.js.map +1 -1
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +12 -12
- package/dist/tools/users.js.map +1 -1
- package/dist/types/client.d.ts +8 -6
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.js.map +1 -1
- package/dist/types/seo.d.ts +473 -0
- package/dist/types/seo.d.ts.map +1 -0
- package/dist/types/seo.js +94 -0
- package/dist/types/seo.js.map +1 -0
- package/dist/utils/enhancedError.js +1 -1
- package/dist/utils/enhancedError.js.map +1 -1
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +0 -1
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/index.d.ts +12 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +18 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.js +3 -3
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/toolWrapper.d.ts +2 -2
- package/dist/utils/toolWrapper.js +8 -8
- package/dist/utils/toolWrapper.js.map +1 -1
- package/dist/utils/validation/core.d.ts.map +1 -1
- package/dist/utils/validation/core.js.map +1 -1
- package/dist/utils/validation/index.d.ts.map +1 -1
- package/dist/utils/validation/index.js.map +1 -1
- package/dist/utils/validation/network.js +3 -3
- package/dist/utils/validation/network.js.map +1 -1
- package/dist/utils/validation/rateLimit.js.map +1 -1
- package/dist/utils/validation/security.js.map +1 -1
- package/dist/utils/validation/wordpress.js.map +1 -1
- package/dist/utils/version.d.ts +144 -0
- package/dist/utils/version.d.ts.map +1 -0
- package/dist/utils/version.js +318 -0
- package/dist/utils/version.js.map +1 -0
- package/package.json +24 -58
- package/src/cache/CacheInvalidation.ts +183 -20
- package/src/cache/HttpCacheWrapper.ts +8 -5
- package/src/cache/SEOCacheManager.ts +330 -0
- package/src/cache/__tests__/CacheInvalidation.test.ts +6 -11
- package/src/cache/__tests__/CachedWordPressClient.test.ts +37 -62
- package/src/client/SEOWordPressClient.ts +876 -0
- package/src/client/api.ts +50 -21
- package/src/client/auth.ts +19 -19
- package/src/client/index.ts +16 -0
- package/src/client/managers/AuthManager.ts +175 -0
- package/src/client/managers/AuthenticationManager.ts +16 -14
- package/src/client/managers/BaseManager.ts +24 -5
- package/src/client/managers/ComposedAuthenticationManager.ts +409 -0
- package/src/client/managers/ComposedManagerFactory.ts +231 -0
- package/src/client/managers/ComposedRequestManager.ts +336 -0
- package/src/client/managers/JWTAuthImplementation.ts +326 -0
- package/src/client/managers/ManagersIndex.ts +6 -0
- package/src/client/managers/RequestManager.ts +9 -7
- package/src/client/managers/composed/MigrationAdapter.ts +263 -0
- package/src/client/managers/composed/index.ts +47 -0
- package/src/client/managers/implementations/ConfigurationProviderImpl.ts +52 -0
- package/src/client/managers/implementations/ErrorHandlerImpl.ts +102 -0
- package/src/client/managers/implementations/ParameterValidatorImpl.ts +221 -0
- package/src/client/managers/interfaces/ManagerInterfaces.ts +171 -0
- package/src/config/Config.ts +63 -0
- package/src/config/ConfigurationSchema.ts +17 -17
- package/src/config/ServerConfiguration.ts +18 -16
- package/src/config/index.ts +13 -0
- package/src/docs/DocumentationGenerator.ts +2 -2
- package/src/dxt-entry.ts +3 -3
- package/src/index.ts +43 -43
- package/src/performance/MetricsCollector.ts +15 -11
- package/src/security/AISecurityScanner.ts +7 -7
- package/src/security/AutomatedRemediation.ts +13 -11
- package/src/security/InputValidator.ts +10 -9
- package/src/security/SecurityCIPipeline.ts +494 -56
- package/src/security/SecurityConfigManager.ts +10 -10
- package/src/security/SecurityMonitoring.ts +5 -5
- package/src/security/SecurityReviewer.ts +13 -6
- package/src/security/index.ts +3 -3
- package/src/server/ConnectionTester.ts +5 -5
- package/src/server/ToolRegistry.ts +9 -8
- package/src/server/index.ts +10 -0
- package/src/tools/BaseToolManager.ts +55 -83
- package/src/tools/auth.ts +21 -12
- package/src/tools/comments.ts +23 -19
- package/src/tools/index.ts +1 -0
- package/src/tools/media.ts +23 -20
- package/src/tools/pages.ts +20 -13
- package/src/tools/performance.ts +101 -32
- package/src/tools/posts/PostHandlers.ts +23 -23
- package/src/tools/posts/PostToolDefinitions.ts +1 -1
- package/src/tools/posts/index.ts +2 -2
- package/src/tools/seo/BulkOperations.ts +557 -0
- package/src/tools/seo/SEOHandlers.ts +296 -0
- package/src/tools/seo/SEOToolDefinitions.ts +402 -0
- package/src/tools/seo/SEOTools.ts +871 -0
- package/src/tools/seo/analyzers/ContentAnalyzer.ts +493 -0
- package/src/tools/seo/auditors/SiteAuditor.ts +787 -0
- package/src/tools/seo/generators/MetaGenerator.ts +694 -0
- package/src/tools/seo/generators/SchemaGenerator.ts +955 -0
- package/src/tools/seo/index.ts +47 -0
- package/src/tools/seo/optimizers/InternalLinkingSuggester.ts +934 -0
- package/src/tools/site.ts +27 -26
- package/src/tools/taxonomies.ts +29 -25
- package/src/tools/users.ts +20 -13
- package/src/types/client.ts +8 -6
- package/src/types/seo.ts +546 -0
- package/src/utils/enhancedError.ts +1 -1
- package/src/utils/error.ts +1 -2
- package/src/utils/index.ts +23 -0
- package/src/utils/logger.ts +3 -3
- package/src/utils/toolWrapper.ts +10 -10
- package/src/utils/validation/core.ts +2 -2
- package/src/utils/validation/index.ts +2 -2
- package/src/utils/validation/network.ts +5 -5
- package/src/utils/validation/rateLimit.ts +1 -1
- package/src/utils/validation/security.ts +1 -1
- package/src/utils/validation/wordpress.ts +1 -1
- package/src/utils/version.ts +402 -0
- package/src/dxt-entry.cjs +0 -68
|
@@ -0,0 +1,318 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Version Management Utility
|
|
3
|
+
*
|
|
4
|
+
* Provides centralized version management following best practices:
|
|
5
|
+
* - Single source of truth (package.json)
|
|
6
|
+
* - Semantic versioning support
|
|
7
|
+
* - Build metadata integration
|
|
8
|
+
* - Version comparison utilities
|
|
9
|
+
*/
|
|
10
|
+
import { readFile } from "fs/promises";
|
|
11
|
+
import { join } from "path";
|
|
12
|
+
import { fileURLToPath } from "url";
|
|
13
|
+
import { dirname } from "path";
|
|
14
|
+
/**
|
|
15
|
+
* Version Manager Class
|
|
16
|
+
* Singleton pattern for consistent version management
|
|
17
|
+
*/
|
|
18
|
+
export class VersionManager {
|
|
19
|
+
static instance;
|
|
20
|
+
versionInfo = null;
|
|
21
|
+
packageJson = null;
|
|
22
|
+
isInitialized = false;
|
|
23
|
+
constructor() { }
|
|
24
|
+
/**
|
|
25
|
+
* Get singleton instance
|
|
26
|
+
*/
|
|
27
|
+
static getInstance() {
|
|
28
|
+
if (!VersionManager.instance) {
|
|
29
|
+
VersionManager.instance = new VersionManager();
|
|
30
|
+
}
|
|
31
|
+
return VersionManager.instance;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Initialize version manager with async file loading
|
|
35
|
+
* Call this early in application startup for optimal performance
|
|
36
|
+
*/
|
|
37
|
+
async initialize() {
|
|
38
|
+
if (this.isInitialized) {
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
try {
|
|
42
|
+
this.packageJson = await this.loadPackageJson();
|
|
43
|
+
this.versionInfo = this.loadVersionFromPackage(this.packageJson);
|
|
44
|
+
this.isInitialized = true;
|
|
45
|
+
}
|
|
46
|
+
catch (_error) {
|
|
47
|
+
// Fall back to sync loading if async fails
|
|
48
|
+
this.packageJson = await this.loadPackageJson(); // This will use fallback
|
|
49
|
+
this.versionInfo = this.loadVersionFromPackage(this.packageJson);
|
|
50
|
+
this.isInitialized = true;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Get version information
|
|
55
|
+
* Uses cached version if available, loads synchronously with fallback if needed
|
|
56
|
+
*/
|
|
57
|
+
getVersion() {
|
|
58
|
+
if (!this.versionInfo) {
|
|
59
|
+
// If not initialized, load synchronously with fallback
|
|
60
|
+
this.versionInfo = this.loadVersionSync();
|
|
61
|
+
}
|
|
62
|
+
return this.versionInfo;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get package information
|
|
66
|
+
* Uses cached package if available, loads synchronously with fallback if needed
|
|
67
|
+
*/
|
|
68
|
+
getPackageInfo() {
|
|
69
|
+
if (!this.packageJson) {
|
|
70
|
+
// Return fallback package info if not loaded
|
|
71
|
+
this.packageJson = {
|
|
72
|
+
name: "mcp-wordpress",
|
|
73
|
+
version: "2.7.0", // Fallback version
|
|
74
|
+
description: "MCP WordPress Server",
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
return this.packageJson;
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Load version synchronously (with fallback)
|
|
81
|
+
* @deprecated Use initialize() followed by getVersion() for better performance
|
|
82
|
+
*/
|
|
83
|
+
loadVersionSync() {
|
|
84
|
+
const pkg = this.getPackageInfo(); // Uses fallback if needed
|
|
85
|
+
return this.loadVersionFromPackage(pkg);
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Load version from package data
|
|
89
|
+
*/
|
|
90
|
+
loadVersionFromPackage(pkg) {
|
|
91
|
+
const parsed = this.parseSemanticVersion(pkg.version);
|
|
92
|
+
// Add build metadata if available
|
|
93
|
+
const buildMetadata = this.getBuildMetadata();
|
|
94
|
+
const result = {
|
|
95
|
+
...parsed,
|
|
96
|
+
full: this.formatFullVersion(parsed, buildMetadata),
|
|
97
|
+
};
|
|
98
|
+
if (buildMetadata !== undefined) {
|
|
99
|
+
result.build = buildMetadata;
|
|
100
|
+
}
|
|
101
|
+
return result;
|
|
102
|
+
}
|
|
103
|
+
/**
|
|
104
|
+
* Load package.json
|
|
105
|
+
*/
|
|
106
|
+
async loadPackageJson() {
|
|
107
|
+
try {
|
|
108
|
+
// Get the project root directory
|
|
109
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
110
|
+
const __dirname = dirname(__filename);
|
|
111
|
+
const projectRoot = join(__dirname, "..", "..");
|
|
112
|
+
const packagePath = join(projectRoot, "package.json");
|
|
113
|
+
const packageContent = await readFile(packagePath, "utf-8");
|
|
114
|
+
return JSON.parse(packageContent);
|
|
115
|
+
}
|
|
116
|
+
catch (_error) {
|
|
117
|
+
// Fallback for runtime environments where package.json might not be available
|
|
118
|
+
// Note: Using fallback version - should match package.json
|
|
119
|
+
return {
|
|
120
|
+
name: "mcp-wordpress",
|
|
121
|
+
version: "2.7.0", // Fallback version - should match package.json
|
|
122
|
+
description: "MCP WordPress Server",
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Parse semantic version string
|
|
128
|
+
* Supports format: major.minor.patch[-prerelease][+build]
|
|
129
|
+
*/
|
|
130
|
+
parseSemanticVersion(version) {
|
|
131
|
+
// Regular expression for semantic versioning
|
|
132
|
+
const semverRegex = /^(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z0-9.-]+))?(?:\+([a-zA-Z0-9.-]+))?$/;
|
|
133
|
+
const match = version.match(semverRegex);
|
|
134
|
+
if (!match) {
|
|
135
|
+
// Fallback for non-standard versions
|
|
136
|
+
return {
|
|
137
|
+
version,
|
|
138
|
+
major: 0,
|
|
139
|
+
minor: 0,
|
|
140
|
+
patch: 0,
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
const result = {
|
|
144
|
+
version: `${match[1]}.${match[2]}.${match[3]}`,
|
|
145
|
+
major: parseInt(match[1], 10),
|
|
146
|
+
minor: parseInt(match[2], 10),
|
|
147
|
+
patch: parseInt(match[3], 10),
|
|
148
|
+
};
|
|
149
|
+
if (match[4]) {
|
|
150
|
+
result.prerelease = match[4];
|
|
151
|
+
}
|
|
152
|
+
return result;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Get build metadata (git commit hash, timestamp, etc.)
|
|
156
|
+
*/
|
|
157
|
+
getBuildMetadata() {
|
|
158
|
+
// In production, this could be injected during build process
|
|
159
|
+
// For now, we'll use environment variables if available
|
|
160
|
+
if (process.env.BUILD_NUMBER) {
|
|
161
|
+
return process.env.BUILD_NUMBER;
|
|
162
|
+
}
|
|
163
|
+
if (process.env.GIT_COMMIT) {
|
|
164
|
+
return process.env.GIT_COMMIT.substring(0, 7); // Short hash
|
|
165
|
+
}
|
|
166
|
+
// For development, optionally include timestamp
|
|
167
|
+
if (process.env.NODE_ENV === "development") {
|
|
168
|
+
return `dev.${Date.now()}`;
|
|
169
|
+
}
|
|
170
|
+
return undefined;
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Format full version string with metadata
|
|
174
|
+
*/
|
|
175
|
+
formatFullVersion(version, build) {
|
|
176
|
+
let full = version.version;
|
|
177
|
+
if (version.prerelease) {
|
|
178
|
+
full += `-${version.prerelease}`;
|
|
179
|
+
}
|
|
180
|
+
if (build) {
|
|
181
|
+
full += `+${build}`;
|
|
182
|
+
}
|
|
183
|
+
return full;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Compare two version strings
|
|
187
|
+
* Returns: -1 if v1 < v2, 0 if v1 = v2, 1 if v1 > v2
|
|
188
|
+
*/
|
|
189
|
+
compareVersions(v1, v2) {
|
|
190
|
+
const version1 = this.parseSemanticVersion(v1);
|
|
191
|
+
const version2 = this.parseSemanticVersion(v2);
|
|
192
|
+
// Compare major
|
|
193
|
+
if (version1.major !== version2.major) {
|
|
194
|
+
return version1.major > version2.major ? 1 : -1;
|
|
195
|
+
}
|
|
196
|
+
// Compare minor
|
|
197
|
+
if (version1.minor !== version2.minor) {
|
|
198
|
+
return version1.minor > version2.minor ? 1 : -1;
|
|
199
|
+
}
|
|
200
|
+
// Compare patch
|
|
201
|
+
if (version1.patch !== version2.patch) {
|
|
202
|
+
return version1.patch > version2.patch ? 1 : -1;
|
|
203
|
+
}
|
|
204
|
+
// Compare prerelease (absence of prerelease is greater than presence)
|
|
205
|
+
if (version1.prerelease && !version2.prerelease)
|
|
206
|
+
return -1;
|
|
207
|
+
if (!version1.prerelease && version2.prerelease)
|
|
208
|
+
return 1;
|
|
209
|
+
if (version1.prerelease && version2.prerelease) {
|
|
210
|
+
return version1.prerelease.localeCompare(version2.prerelease);
|
|
211
|
+
}
|
|
212
|
+
return 0;
|
|
213
|
+
}
|
|
214
|
+
/**
|
|
215
|
+
* Check if version satisfies a requirement
|
|
216
|
+
*/
|
|
217
|
+
satisfiesVersion(version, requirement) {
|
|
218
|
+
// Simple implementation - can be extended with full semver range support
|
|
219
|
+
if (requirement === "*")
|
|
220
|
+
return true;
|
|
221
|
+
if (requirement.startsWith("^")) {
|
|
222
|
+
// Caret range: compatible with version
|
|
223
|
+
const reqVersion = this.parseSemanticVersion(requirement.substring(1));
|
|
224
|
+
const curVersion = this.parseSemanticVersion(version);
|
|
225
|
+
return (curVersion.major === reqVersion.major &&
|
|
226
|
+
(curVersion.minor > reqVersion.minor ||
|
|
227
|
+
(curVersion.minor === reqVersion.minor && curVersion.patch >= reqVersion.patch)));
|
|
228
|
+
}
|
|
229
|
+
if (requirement.startsWith("~")) {
|
|
230
|
+
// Tilde range: patch-level changes
|
|
231
|
+
const reqVersion = this.parseSemanticVersion(requirement.substring(1));
|
|
232
|
+
const curVersion = this.parseSemanticVersion(version);
|
|
233
|
+
return (curVersion.major === reqVersion.major &&
|
|
234
|
+
curVersion.minor === reqVersion.minor &&
|
|
235
|
+
curVersion.patch >= reqVersion.patch);
|
|
236
|
+
}
|
|
237
|
+
// Exact match
|
|
238
|
+
return this.compareVersions(version, requirement) === 0;
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Get user agent string for HTTP requests
|
|
242
|
+
*/
|
|
243
|
+
getUserAgent() {
|
|
244
|
+
const info = this.getVersion();
|
|
245
|
+
const pkg = this.getPackageInfo();
|
|
246
|
+
return `${pkg.name}/${info.full}`;
|
|
247
|
+
}
|
|
248
|
+
/**
|
|
249
|
+
* Get version for display/logging
|
|
250
|
+
*/
|
|
251
|
+
getDisplayVersion() {
|
|
252
|
+
const info = this.getVersion();
|
|
253
|
+
const pkg = this.getPackageInfo();
|
|
254
|
+
if (process.env.NODE_ENV === "development") {
|
|
255
|
+
return `${pkg.name} v${info.full} (development)`;
|
|
256
|
+
}
|
|
257
|
+
return `${pkg.name} v${info.version}`;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Check if running in development mode
|
|
261
|
+
*/
|
|
262
|
+
isDevelopment() {
|
|
263
|
+
return process.env.NODE_ENV === "development";
|
|
264
|
+
}
|
|
265
|
+
/**
|
|
266
|
+
* Check if running a prerelease version
|
|
267
|
+
*/
|
|
268
|
+
isPrerelease() {
|
|
269
|
+
const info = this.getVersion();
|
|
270
|
+
return !!info.prerelease;
|
|
271
|
+
}
|
|
272
|
+
/**
|
|
273
|
+
* Get version badge URL for documentation
|
|
274
|
+
*/
|
|
275
|
+
getVersionBadgeUrl() {
|
|
276
|
+
const info = this.getVersion();
|
|
277
|
+
const color = info.prerelease ? "orange" : "blue";
|
|
278
|
+
return `https://img.shields.io/badge/version-${info.version}-${color}`;
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Singleton instance export for convenience
|
|
283
|
+
*/
|
|
284
|
+
export const versionManager = VersionManager.getInstance();
|
|
285
|
+
/**
|
|
286
|
+
* Quick access functions
|
|
287
|
+
*/
|
|
288
|
+
export function getVersion() {
|
|
289
|
+
return versionManager.getVersion().version;
|
|
290
|
+
}
|
|
291
|
+
export function getFullVersion() {
|
|
292
|
+
return versionManager.getVersion().full;
|
|
293
|
+
}
|
|
294
|
+
export function getUserAgent() {
|
|
295
|
+
return versionManager.getUserAgent();
|
|
296
|
+
}
|
|
297
|
+
export function getDisplayVersion() {
|
|
298
|
+
return versionManager.getDisplayVersion();
|
|
299
|
+
}
|
|
300
|
+
/**
|
|
301
|
+
* Semantic version comparison
|
|
302
|
+
*/
|
|
303
|
+
export function isVersionGreaterThan(v1, v2) {
|
|
304
|
+
return versionManager.compareVersions(v1, v2) > 0;
|
|
305
|
+
}
|
|
306
|
+
export function isVersionLessThan(v1, v2) {
|
|
307
|
+
return versionManager.compareVersions(v1, v2) < 0;
|
|
308
|
+
}
|
|
309
|
+
export function isVersionEqual(v1, v2) {
|
|
310
|
+
return versionManager.compareVersions(v1, v2) === 0;
|
|
311
|
+
}
|
|
312
|
+
/**
|
|
313
|
+
* Version requirement checking
|
|
314
|
+
*/
|
|
315
|
+
export function satisfiesVersion(version, requirement) {
|
|
316
|
+
return versionManager.satisfiesVersion(version, requirement);
|
|
317
|
+
}
|
|
318
|
+
//# sourceMappingURL=version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-wordpress",
|
|
3
|
-
"version": "2.
|
|
4
|
-
"description": "Comprehensive Model Context Protocol server for WordPress management with 59 tools, performance monitoring, intelligent caching,
|
|
3
|
+
"version": "2.7.0",
|
|
4
|
+
"description": "Comprehensive Model Context Protocol server for WordPress management with composition-based architecture, 59 tools, SEO toolkit, performance monitoring, intelligent caching, and production-ready authentication",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
7
7
|
"model-context-protocol",
|
|
@@ -39,41 +39,22 @@
|
|
|
39
39
|
"LICENSE"
|
|
40
40
|
],
|
|
41
41
|
"scripts": {
|
|
42
|
-
"build": "tsc",
|
|
42
|
+
"build": "tsc && tsc-alias",
|
|
43
43
|
"build:watch": "tsc --watch",
|
|
44
44
|
"check:ci": "npm run typecheck && npm run lint && npm run test:coverage",
|
|
45
45
|
"check:ignore": "node scripts/sync-ignore-files.js",
|
|
46
|
-
"check:npm": "node scripts/test-npm-config.js",
|
|
47
|
-
"check:workflows": "node scripts/validate-ci.cjs",
|
|
48
|
-
"coverage:baseline": "node scripts/incremental-coverage-guardrail.js capture-baseline",
|
|
49
|
-
"coverage:c8": "c8 --reporter=text --reporter=html --reporter=json npm test",
|
|
50
|
-
"coverage:check": "node scripts/incremental-coverage-guardrail.js check-increment",
|
|
51
|
-
"coverage:full": "npm run test:coverage || npm run coverage:report",
|
|
52
|
-
"coverage:guard": "node scripts/coverage-guardrail.js",
|
|
53
|
-
"coverage:report": "node scripts/generate-coverage-report.cjs",
|
|
54
|
-
"coverage:strict": "COVERAGE_STRICT=true node scripts/coverage-guardrail.js",
|
|
55
46
|
"dev": "npm run build && DEBUG=true node dist/index.js",
|
|
56
47
|
"docker:build": "docker build -t docdyhr/mcp-wordpress:latest .",
|
|
57
48
|
"docker:publish": "./scripts/manual-docker-publish.sh",
|
|
58
|
-
"docker:publish:version": "./scripts/manual-docker-publish.sh",
|
|
59
|
-
"docs:check": "node scripts/validate-docs.js",
|
|
60
49
|
"docs:generate": "npm run build && node scripts/generate-docs.js",
|
|
61
50
|
"docs:serve": "npm run docs:generate && node scripts/serve-docs.js",
|
|
62
51
|
"docs:validate": "npm run docs:generate && node scripts/validate-docs.js",
|
|
63
52
|
"docs:watch": "npm run docs:generate && echo 'Watching for changes...' && npm run docs:serve",
|
|
64
|
-
"dxt:build": "node scripts/build-dxt.js",
|
|
65
53
|
"dxt:clean": "rm -rf dxt-build mcp-wordpress.dxt minimal-dxt-build mcp-wordpress-minimal.dxt mcp-wordpress-official.dxt",
|
|
66
54
|
"dxt:package": "npm run dxt:clean && npm run dxt:build",
|
|
67
55
|
"dxt:package:official": "npm run build && node scripts/build-dxt-clean.cjs",
|
|
68
|
-
"dxt:validate": "echo '✅ DXT package validation - Basic validation performed during build'",
|
|
69
56
|
"eval": "npm run build && npx mcp-eval evaluations/config/wordpress-tools-eval.yaml dist/index.js",
|
|
70
|
-
"eval:ci": "npm run build && npx mcp-eval evaluations/config/ci-eval.yaml dist/index.js",
|
|
71
|
-
"eval:critical": "npm run build && npx mcp-eval evaluations/critical-tools.eval.ts dist/index.js",
|
|
72
|
-
"eval:existing": "npm run build && npx mcp-eval evaluations/config/existing-sites-eval.yaml dist/index.js",
|
|
73
|
-
"eval:focused": "npm run build && npx mcp-eval evaluations/config/focused-eval.yaml dist/index.js",
|
|
74
|
-
"eval:quick": "npm run build && npx mcp-eval evaluations/config/simple-test.yaml dist/index.js",
|
|
75
57
|
"eval:report": "node evaluations/scripts/generate-report.js",
|
|
76
|
-
"eval:watch": "nodemon --watch src --exec 'npm run build && npm run eval:quick'",
|
|
77
58
|
"fix:rest-auth": "bash scripts/fix-rest-api-auth.sh",
|
|
78
59
|
"format": "prettier --write *.md docs/**/*.md src/**/*.ts tests/**/*.ts",
|
|
79
60
|
"format:check": "prettier --check *.md docs/**/*.md src/**/*.ts tests/**/*.ts",
|
|
@@ -82,56 +63,38 @@
|
|
|
82
63
|
"lint:fix": "eslint src/ tests/ --fix",
|
|
83
64
|
"lint:md": "markdownlint *.md docs/**/*.md",
|
|
84
65
|
"lint:md:fix": "markdownlint *.md docs/**/*.md --fix",
|
|
85
|
-
"performance:benchmark": "node scripts/performance-benchmarks.cjs",
|
|
86
|
-
"performance:sla": "npm run performance:benchmark && echo 'Performance SLA validation complete'",
|
|
87
66
|
"pre-commit": "lint-staged",
|
|
88
67
|
"prepare": "husky",
|
|
89
68
|
"prepublishOnly": "npm run build && npm run check:ignore",
|
|
90
69
|
"release": "semantic-release",
|
|
91
70
|
"release:dry": "semantic-release --dry-run",
|
|
92
|
-
"release:test": "bash scripts/test-release.sh",
|
|
93
71
|
"security:audit": "npm audit --production",
|
|
94
|
-
"security:check": "node scripts/security-check.js",
|
|
95
|
-
"security:config": "npm run build && node -e \"require('./dist/security/SecurityConfigManager.js').SecurityConfigManager\"",
|
|
96
72
|
"security:fix": "npm audit fix",
|
|
97
|
-
"security:full": "npm run security:scan && npm run security:review && npm run security:monitor && npm run test:security
|
|
98
|
-
"security:monitor": "npm run build && node -e \"require('./dist/security/SecurityMonitoring.js').SecurityMonitor\"",
|
|
99
|
-
"security:pipeline": "npm run build && node -e \"require('./dist/security/SecurityCIPipeline.js').SecurityCIPipeline\"",
|
|
100
|
-
"security:remediate": "npm run build && node -e \"require('./dist/security/AutomatedRemediation.js').AutomatedRemediation\"",
|
|
101
|
-
"security:review": "npm run build && node -e \"require('./dist/security/SecurityReviewer.js').SecurityReviewer\"",
|
|
73
|
+
"security:full": "npm run security:scan && npm run security:review && npm run security:monitor && npm run test:security",
|
|
102
74
|
"security:scan": "npm run build && node scripts/security-demo.js || npm audit --audit-level=low",
|
|
103
|
-
"security:test": "node scripts/security-test.js",
|
|
104
75
|
"setup": "node bin/setup.js",
|
|
105
76
|
"start": "npm run build && node dist/index.js",
|
|
106
77
|
"status": "node bin/status.js",
|
|
107
|
-
"test": "npm run
|
|
78
|
+
"test": "npm run test:batch",
|
|
108
79
|
"test:auth": "node scripts/test-auth.js",
|
|
109
|
-
"test:
|
|
110
|
-
"test:
|
|
111
|
-
"test:
|
|
80
|
+
"test:batch": "npm run test:batch:1 && npm run test:batch:2 && npm run test:batch:3 && npm run test:batch:4",
|
|
81
|
+
"test:batch:1": "npm run build && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/security/ tests/cache/ tests/server/",
|
|
82
|
+
"test:batch:2": "npm run build && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/client/ tests/config/ tests/utils/",
|
|
83
|
+
"test:batch:3": "npm run build && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/tools/ tests/performance/",
|
|
84
|
+
"test:batch:4": "npm run build && NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run tests/*.test.js tests/docs/",
|
|
85
|
+
"test:ci": "npm run build && CI=true NODE_OPTIONS=\"--max-old-space-size=4096\" vitest run",
|
|
112
86
|
"test:config": "npm run build && vitest run tests/config/",
|
|
113
|
-
"test:
|
|
114
|
-
"test:coverage": "npm run build && vitest run --coverage",
|
|
115
|
-
"test:coverage:baseline": "npm run build && vitest run --coverage",
|
|
116
|
-
"test:coverage:ci": "npm run build && vitest run --coverage --silent",
|
|
87
|
+
"test:coverage": "npm run build && NODE_OPTIONS=\"--max-old-space-size=6144\" vitest run --coverage",
|
|
117
88
|
"test:coverage:report": "npm run test:coverage && node scripts/coverage-guardrail.js",
|
|
118
|
-
"test:
|
|
119
|
-
"test:
|
|
120
|
-
"test:legacy": "npm run build && vitest run",
|
|
121
|
-
"test:mcp": "node scripts/test-mcp.js",
|
|
122
|
-
"test:multisite": "node scripts/test-multisite-quick.js",
|
|
89
|
+
"test:memory-config": "npm run build && NODE_OPTIONS=\"--max-old-space-size=6144\" vitest run --config vitest.memory-safe.config.ts",
|
|
90
|
+
"test:memory-safe": "npm run build && NODE_OPTIONS=\"--max-old-space-size=6144 --max-semi-space-size=256\" vitest run --no-coverage --reporter=basic",
|
|
123
91
|
"test:performance": "npm run build && vitest run tests/performance/",
|
|
124
|
-
"test:
|
|
125
|
-
"test:property": "npm run build && vitest run tests/property/",
|
|
92
|
+
"test:safe": "node scripts/run-tests-safe.cjs",
|
|
126
93
|
"test:security": "npm run build && vitest run tests/security/",
|
|
127
|
-
"test:security:penetration": "npm run build && vitest run tests/security/penetration-tests.test.js",
|
|
128
|
-
"test:security:validation": "npm run build && vitest run tests/security/security-validation.test.js",
|
|
129
94
|
"test:tools": "node scripts/test-all-tools-fixed.js",
|
|
130
|
-
"test:typescript": "npm run build &&
|
|
95
|
+
"test:typescript": "npm run build && npm run typecheck",
|
|
131
96
|
"test:ui": "npm run build && vitest --ui",
|
|
132
97
|
"test:watch": "vitest",
|
|
133
|
-
"test:weekly": "npm run test:compatibility",
|
|
134
|
-
"test:with-env": "bash scripts/start-test-env.sh && npm run test:typescript",
|
|
135
98
|
"typecheck": "tsc --noEmit",
|
|
136
99
|
"verify-claude": "node scripts/verify-claude-integration.js"
|
|
137
100
|
},
|
|
@@ -158,7 +121,7 @@
|
|
|
158
121
|
"@modelcontextprotocol/sdk": "^1.17.4",
|
|
159
122
|
"dotenv": "^17.2.1",
|
|
160
123
|
"form-data": "^4.0.4",
|
|
161
|
-
"zod": "^
|
|
124
|
+
"zod": "^4.1.3"
|
|
162
125
|
},
|
|
163
126
|
"devDependencies": {
|
|
164
127
|
"@eslint/js": "^9.34.0",
|
|
@@ -166,7 +129,7 @@
|
|
|
166
129
|
"@pact-foundation/pact-node": "^10.18.0",
|
|
167
130
|
"@semantic-release/changelog": "^6.0.3",
|
|
168
131
|
"@semantic-release/git": "^10.0.1",
|
|
169
|
-
"@types/node": "^
|
|
132
|
+
"@types/node": "^24.3.0",
|
|
170
133
|
"@typescript-eslint/eslint-plugin": "^8.40.0",
|
|
171
134
|
"@typescript-eslint/parser": "^8.40.0",
|
|
172
135
|
"@vitest/coverage-v8": "^3.2.4",
|
|
@@ -178,18 +141,21 @@
|
|
|
178
141
|
"eslint-config-prettier": "^10.1.8",
|
|
179
142
|
"eslint-plugin-node": "^11.1.0",
|
|
180
143
|
"fast-check": "^4.2.0",
|
|
181
|
-
"fs-extra": "^11.3.
|
|
144
|
+
"fs-extra": "^11.3.1",
|
|
182
145
|
"husky": "^9.1.7",
|
|
183
|
-
"lint-staged": "^16.1.
|
|
146
|
+
"lint-staged": "^16.1.5",
|
|
184
147
|
"markdownlint-cli": "^0.45.0",
|
|
185
148
|
"mcp-evals": "^2.0.1",
|
|
186
|
-
"nock": "^14.0.
|
|
149
|
+
"nock": "^14.0.10",
|
|
187
150
|
"node-fetch": "^3.3.2",
|
|
188
151
|
"open": "^10.2.0",
|
|
189
152
|
"prettier": "^3.6.2",
|
|
190
153
|
"semantic-release": "^24.2.7",
|
|
191
154
|
"sort-package-json": "^3.4.0",
|
|
155
|
+
"tsc-alias": "^1.8.16",
|
|
156
|
+
"tsconfig-paths": "^4.2.0",
|
|
192
157
|
"typescript": "^5.9.2",
|
|
158
|
+
"vite-tsconfig-paths": "^5.1.4",
|
|
193
159
|
"vitest": "^3.2.4"
|
|
194
160
|
},
|
|
195
161
|
"engines": {
|