mcp-wordpress 2.5.1 → 2.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +1 -1
- package/dist/src/cache/CacheInvalidation.d.ts +0 -120
- package/dist/src/cache/CacheInvalidation.d.ts.map +0 -1
- package/dist/src/cache/CacheInvalidation.js +0 -355
- package/dist/src/cache/CacheInvalidation.js.map +0 -1
- package/dist/src/cache/CacheManager.d.ts +0 -149
- package/dist/src/cache/CacheManager.d.ts.map +0 -1
- package/dist/src/cache/CacheManager.js +0 -326
- package/dist/src/cache/CacheManager.js.map +0 -1
- package/dist/src/cache/HttpCacheWrapper.d.ts +0 -122
- package/dist/src/cache/HttpCacheWrapper.d.ts.map +0 -1
- package/dist/src/cache/HttpCacheWrapper.js +0 -283
- package/dist/src/cache/HttpCacheWrapper.js.map +0 -1
- package/dist/src/cache/index.d.ts +0 -12
- package/dist/src/cache/index.d.ts.map +0 -1
- package/dist/src/cache/index.js +0 -9
- package/dist/src/cache/index.js.map +0 -1
- package/dist/src/client/CachedWordPressClient.d.ts +0 -174
- package/dist/src/client/CachedWordPressClient.d.ts.map +0 -1
- package/dist/src/client/CachedWordPressClient.js +0 -345
- package/dist/src/client/CachedWordPressClient.js.map +0 -1
- package/dist/src/client/MockWordPressClient.d.ts +0 -56
- package/dist/src/client/MockWordPressClient.d.ts.map +0 -1
- package/dist/src/client/MockWordPressClient.js +0 -371
- package/dist/src/client/MockWordPressClient.js.map +0 -1
- package/dist/src/client/api.d.ts +0 -235
- package/dist/src/client/api.d.ts.map +0 -1
- package/dist/src/client/api.js +0 -896
- package/dist/src/client/api.js.map +0 -1
- package/dist/src/client/auth.d.ts +0 -121
- package/dist/src/client/auth.d.ts.map +0 -1
- package/dist/src/client/auth.js +0 -429
- package/dist/src/client/auth.js.map +0 -1
- package/dist/src/client/managers/AuthenticationManager.d.ts +0 -92
- package/dist/src/client/managers/AuthenticationManager.d.ts.map +0 -1
- package/dist/src/client/managers/AuthenticationManager.js +0 -369
- package/dist/src/client/managers/AuthenticationManager.js.map +0 -1
- package/dist/src/client/managers/BaseManager.d.ts +0 -22
- package/dist/src/client/managers/BaseManager.d.ts.map +0 -1
- package/dist/src/client/managers/BaseManager.js +0 -53
- package/dist/src/client/managers/BaseManager.js.map +0 -1
- package/dist/src/client/managers/RequestManager.d.ts +0 -47
- package/dist/src/client/managers/RequestManager.d.ts.map +0 -1
- package/dist/src/client/managers/RequestManager.js +0 -193
- package/dist/src/client/managers/RequestManager.js.map +0 -1
- package/dist/src/client/managers/index.d.ts +0 -8
- package/dist/src/client/managers/index.d.ts.map +0 -1
- package/dist/src/client/managers/index.js +0 -8
- package/dist/src/client/managers/index.js.map +0 -1
- package/dist/src/config/Config.d.ts +0 -155
- package/dist/src/config/Config.d.ts.map +0 -1
- package/dist/src/config/Config.js +0 -215
- package/dist/src/config/Config.js.map +0 -1
- package/dist/src/config/ConfigurationSchema.d.ts +0 -281
- package/dist/src/config/ConfigurationSchema.d.ts.map +0 -1
- package/dist/src/config/ConfigurationSchema.js +0 -205
- package/dist/src/config/ConfigurationSchema.js.map +0 -1
- package/dist/src/config/ServerConfiguration.d.ts +0 -47
- package/dist/src/config/ServerConfiguration.d.ts.map +0 -1
- package/dist/src/config/ServerConfiguration.js +0 -255
- package/dist/src/config/ServerConfiguration.js.map +0 -1
- package/dist/src/docs/DocumentationGenerator.d.ts +0 -185
- package/dist/src/docs/DocumentationGenerator.d.ts.map +0 -1
- package/dist/src/docs/DocumentationGenerator.js +0 -777
- package/dist/src/docs/DocumentationGenerator.js.map +0 -1
- package/dist/src/docs/MarkdownFormatter.d.ts +0 -84
- package/dist/src/docs/MarkdownFormatter.d.ts.map +0 -1
- package/dist/src/docs/MarkdownFormatter.js +0 -458
- package/dist/src/docs/MarkdownFormatter.js.map +0 -1
- package/dist/src/docs/index.d.ts +0 -8
- package/dist/src/docs/index.d.ts.map +0 -1
- package/dist/src/docs/index.js +0 -7
- package/dist/src/docs/index.js.map +0 -1
- package/dist/src/dxt-entry.d.ts +0 -6
- package/dist/src/dxt-entry.d.ts.map +0 -1
- package/dist/src/dxt-entry.js +0 -39
- package/dist/src/dxt-entry.js.map +0 -1
- package/dist/src/index.d.ts +0 -18
- package/dist/src/index.d.ts.map +0 -1
- package/dist/src/index.js +0 -143
- package/dist/src/index.js.map +0 -1
- package/dist/src/performance/MetricsCollector.d.ts +0 -145
- package/dist/src/performance/MetricsCollector.d.ts.map +0 -1
- package/dist/src/performance/MetricsCollector.js +0 -368
- package/dist/src/performance/MetricsCollector.js.map +0 -1
- package/dist/src/performance/PerformanceAnalytics.d.ts +0 -168
- package/dist/src/performance/PerformanceAnalytics.d.ts.map +0 -1
- package/dist/src/performance/PerformanceAnalytics.js +0 -570
- package/dist/src/performance/PerformanceAnalytics.js.map +0 -1
- package/dist/src/performance/PerformanceMonitor.d.ts +0 -203
- package/dist/src/performance/PerformanceMonitor.d.ts.map +0 -1
- package/dist/src/performance/PerformanceMonitor.js +0 -478
- package/dist/src/performance/PerformanceMonitor.js.map +0 -1
- package/dist/src/performance/index.d.ts +0 -11
- package/dist/src/performance/index.d.ts.map +0 -1
- package/dist/src/performance/index.js +0 -8
- package/dist/src/performance/index.js.map +0 -1
- package/dist/src/security/AISecurityScanner.d.ts +0 -176
- package/dist/src/security/AISecurityScanner.d.ts.map +0 -1
- package/dist/src/security/AISecurityScanner.js +0 -655
- package/dist/src/security/AISecurityScanner.js.map +0 -1
- package/dist/src/security/AutomatedRemediation.d.ts +0 -146
- package/dist/src/security/AutomatedRemediation.d.ts.map +0 -1
- package/dist/src/security/AutomatedRemediation.js +0 -566
- package/dist/src/security/AutomatedRemediation.js.map +0 -1
- package/dist/src/security/InputValidator.d.ts +0 -219
- package/dist/src/security/InputValidator.d.ts.map +0 -1
- package/dist/src/security/InputValidator.js +0 -295
- package/dist/src/security/InputValidator.js.map +0 -1
- package/dist/src/security/SecurityCIPipeline.d.ts +0 -213
- package/dist/src/security/SecurityCIPipeline.d.ts.map +0 -1
- package/dist/src/security/SecurityCIPipeline.js +0 -693
- package/dist/src/security/SecurityCIPipeline.js.map +0 -1
- package/dist/src/security/SecurityConfig.d.ts +0 -129
- package/dist/src/security/SecurityConfig.d.ts.map +0 -1
- package/dist/src/security/SecurityConfig.js +0 -266
- package/dist/src/security/SecurityConfig.js.map +0 -1
- package/dist/src/security/SecurityConfigManager.d.ts +0 -294
- package/dist/src/security/SecurityConfigManager.d.ts.map +0 -1
- package/dist/src/security/SecurityConfigManager.js +0 -558
- package/dist/src/security/SecurityConfigManager.js.map +0 -1
- package/dist/src/security/SecurityMonitoring.d.ts +0 -245
- package/dist/src/security/SecurityMonitoring.d.ts.map +0 -1
- package/dist/src/security/SecurityMonitoring.js +0 -598
- package/dist/src/security/SecurityMonitoring.js.map +0 -1
- package/dist/src/security/SecurityReviewer.d.ts +0 -168
- package/dist/src/security/SecurityReviewer.d.ts.map +0 -1
- package/dist/src/security/SecurityReviewer.js +0 -686
- package/dist/src/security/SecurityReviewer.js.map +0 -1
- package/dist/src/security/index.d.ts +0 -183
- package/dist/src/security/index.d.ts.map +0 -1
- package/dist/src/security/index.js +0 -218
- package/dist/src/security/index.js.map +0 -1
- package/dist/src/server/ConnectionTester.d.ts +0 -32
- package/dist/src/server/ConnectionTester.d.ts.map +0 -1
- package/dist/src/server/ConnectionTester.js +0 -135
- package/dist/src/server/ConnectionTester.js.map +0 -1
- package/dist/src/server/ToolRegistry.d.ts +0 -50
- package/dist/src/server/ToolRegistry.d.ts.map +0 -1
- package/dist/src/server/ToolRegistry.js +0 -219
- package/dist/src/server/ToolRegistry.js.map +0 -1
- package/dist/src/server.d.ts +0 -7
- package/dist/src/server.d.ts.map +0 -1
- package/dist/src/server.js +0 -7
- package/dist/src/server.js.map +0 -1
- package/dist/src/tools/BaseToolManager.d.ts +0 -62
- package/dist/src/tools/BaseToolManager.d.ts.map +0 -1
- package/dist/src/tools/BaseToolManager.js +0 -195
- package/dist/src/tools/BaseToolManager.js.map +0 -1
- package/dist/src/tools/auth.d.ts +0 -50
- package/dist/src/tools/auth.d.ts.map +0 -1
- package/dist/src/tools/auth.js +0 -133
- package/dist/src/tools/auth.js.map +0 -1
- package/dist/src/tools/cache.d.ts +0 -260
- package/dist/src/tools/cache.d.ts.map +0 -1
- package/dist/src/tools/cache.js +0 -232
- package/dist/src/tools/cache.js.map +0 -1
- package/dist/src/tools/comments.d.ts +0 -33
- package/dist/src/tools/comments.d.ts.map +0 -1
- package/dist/src/tools/comments.js +0 -235
- package/dist/src/tools/comments.js.map +0 -1
- package/dist/src/tools/index.d.ts +0 -11
- package/dist/src/tools/index.d.ts.map +0 -1
- package/dist/src/tools/index.js +0 -11
- package/dist/src/tools/index.js.map +0 -1
- package/dist/src/tools/media.d.ts +0 -70
- package/dist/src/tools/media.d.ts.map +0 -1
- package/dist/src/tools/media.js +0 -248
- package/dist/src/tools/media.js.map +0 -1
- package/dist/src/tools/pages.d.ts +0 -32
- package/dist/src/tools/pages.d.ts.map +0 -1
- package/dist/src/tools/pages.js +0 -215
- package/dist/src/tools/pages.js.map +0 -1
- package/dist/src/tools/performance.d.ts +0 -73
- package/dist/src/tools/performance.d.ts.map +0 -1
- package/dist/src/tools/performance.js +0 -922
- package/dist/src/tools/performance.js.map +0 -1
- package/dist/src/tools/posts/PostHandlers.d.ts +0 -46
- package/dist/src/tools/posts/PostHandlers.d.ts.map +0 -1
- package/dist/src/tools/posts/PostHandlers.js +0 -400
- package/dist/src/tools/posts/PostHandlers.js.map +0 -1
- package/dist/src/tools/posts/PostToolDefinitions.d.ts +0 -37
- package/dist/src/tools/posts/PostToolDefinitions.d.ts.map +0 -1
- package/dist/src/tools/posts/PostToolDefinitions.js +0 -236
- package/dist/src/tools/posts/PostToolDefinitions.js.map +0 -1
- package/dist/src/tools/posts/index.d.ts +0 -138
- package/dist/src/tools/posts/index.d.ts.map +0 -1
- package/dist/src/tools/posts/index.js +0 -163
- package/dist/src/tools/posts/index.js.map +0 -1
- package/dist/src/tools/posts.d.ts +0 -15
- package/dist/src/tools/posts.d.ts.map +0 -1
- package/dist/src/tools/posts.js +0 -16
- package/dist/src/tools/posts.js.map +0 -1
- package/dist/src/tools/site.d.ts +0 -32
- package/dist/src/tools/site.d.ts.map +0 -1
- package/dist/src/tools/site.js +0 -234
- package/dist/src/tools/site.js.map +0 -1
- package/dist/src/tools/taxonomies.d.ts +0 -36
- package/dist/src/tools/taxonomies.d.ts.map +0 -1
- package/dist/src/tools/taxonomies.js +0 -286
- package/dist/src/tools/taxonomies.js.map +0 -1
- package/dist/src/tools/users.d.ts +0 -33
- package/dist/src/tools/users.d.ts.map +0 -1
- package/dist/src/tools/users.js +0 -308
- package/dist/src/tools/users.js.map +0 -1
- package/dist/src/types/client.d.ts +0 -223
- package/dist/src/types/client.d.ts.map +0 -1
- package/dist/src/types/client.js +0 -97
- package/dist/src/types/client.js.map +0 -1
- package/dist/src/types/enhanced.d.ts +0 -237
- package/dist/src/types/enhanced.d.ts.map +0 -1
- package/dist/src/types/enhanced.js +0 -49
- package/dist/src/types/enhanced.js.map +0 -1
- package/dist/src/types/index.d.ts +0 -160
- package/dist/src/types/index.d.ts.map +0 -1
- package/dist/src/types/index.js +0 -14
- package/dist/src/types/index.js.map +0 -1
- package/dist/src/types/mcp.d.ts +0 -178
- package/dist/src/types/mcp.d.ts.map +0 -1
- package/dist/src/types/mcp.js +0 -7
- package/dist/src/types/mcp.js.map +0 -1
- package/dist/src/types/requests.d.ts +0 -322
- package/dist/src/types/requests.d.ts.map +0 -1
- package/dist/src/types/requests.js +0 -8
- package/dist/src/types/requests.js.map +0 -1
- package/dist/src/types/tools.d.ts +0 -506
- package/dist/src/types/tools.d.ts.map +0 -1
- package/dist/src/types/tools.js +0 -8
- package/dist/src/types/tools.js.map +0 -1
- package/dist/src/types/wordpress.d.ts +0 -471
- package/dist/src/types/wordpress.d.ts.map +0 -1
- package/dist/src/types/wordpress.js +0 -14
- package/dist/src/types/wordpress.js.map +0 -1
- package/dist/src/utils/debug.d.ts +0 -71
- package/dist/src/utils/debug.d.ts.map +0 -1
- package/dist/src/utils/debug.js +0 -235
- package/dist/src/utils/debug.js.map +0 -1
- package/dist/src/utils/enhancedError.d.ts +0 -61
- package/dist/src/utils/enhancedError.d.ts.map +0 -1
- package/dist/src/utils/enhancedError.js +0 -221
- package/dist/src/utils/enhancedError.js.map +0 -1
- package/dist/src/utils/error.d.ts +0 -17
- package/dist/src/utils/error.d.ts.map +0 -1
- package/dist/src/utils/error.js +0 -108
- package/dist/src/utils/error.js.map +0 -1
- package/dist/src/utils/logger.d.ts +0 -106
- package/dist/src/utils/logger.d.ts.map +0 -1
- package/dist/src/utils/logger.js +0 -280
- package/dist/src/utils/logger.js.map +0 -1
- package/dist/src/utils/streaming.d.ts +0 -104
- package/dist/src/utils/streaming.d.ts.map +0 -1
- package/dist/src/utils/streaming.js +0 -331
- package/dist/src/utils/streaming.js.map +0 -1
- package/dist/src/utils/toolWrapper.d.ts +0 -42
- package/dist/src/utils/toolWrapper.d.ts.map +0 -1
- package/dist/src/utils/toolWrapper.js +0 -101
- package/dist/src/utils/toolWrapper.js.map +0 -1
- package/dist/src/utils/validation/core.d.ts +0 -21
- package/dist/src/utils/validation/core.d.ts.map +0 -1
- package/dist/src/utils/validation/core.js +0 -71
- package/dist/src/utils/validation/core.js.map +0 -1
- package/dist/src/utils/validation/index.d.ts +0 -25
- package/dist/src/utils/validation/index.d.ts.map +0 -1
- package/dist/src/utils/validation/index.js +0 -29
- package/dist/src/utils/validation/index.js.map +0 -1
- package/dist/src/utils/validation/network.d.ts +0 -19
- package/dist/src/utils/validation/network.d.ts.map +0 -1
- package/dist/src/utils/validation/network.js +0 -93
- package/dist/src/utils/validation/network.js.map +0 -1
- package/dist/src/utils/validation/rateLimit.d.ts +0 -21
- package/dist/src/utils/validation/rateLimit.d.ts.map +0 -1
- package/dist/src/utils/validation/rateLimit.js +0 -43
- package/dist/src/utils/validation/rateLimit.js.map +0 -1
- package/dist/src/utils/validation/security.d.ts +0 -29
- package/dist/src/utils/validation/security.d.ts.map +0 -1
- package/dist/src/utils/validation/security.js +0 -327
- package/dist/src/utils/validation/security.js.map +0 -1
- package/dist/src/utils/validation/wordpress.d.ts +0 -31
- package/dist/src/utils/validation/wordpress.d.ts.map +0 -1
- package/dist/src/utils/validation/wordpress.js +0 -146
- package/dist/src/utils/validation/wordpress.js.map +0 -1
- package/dist/src/utils/validation.d.ts +0 -15
- package/dist/src/utils/validation.d.ts.map +0 -1
- package/dist/src/utils/validation.js +0 -27
- package/dist/src/utils/validation.js.map +0 -1
- package/dist/tests/vitest.setup.d.ts +0 -6
- package/dist/tests/vitest.setup.d.ts.map +0 -1
- package/dist/tests/vitest.setup.js +0 -39
- package/dist/tests/vitest.setup.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-wordpress",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.3",
|
|
4
4
|
"description": "Comprehensive Model Context Protocol server for WordPress management with 59 tools, performance monitoring, intelligent caching, auto-generated documentation, Docker support, TypeScript, and production-ready authentication - CI/CD test",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mcp",
|
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Intelligent cache invalidation strategies for WordPress MCP Server
|
|
3
|
-
* Implements event-based and pattern-based invalidation
|
|
4
|
-
*/
|
|
5
|
-
import { HttpCacheWrapper } from "./HttpCacheWrapper.js";
|
|
6
|
-
export interface InvalidationRule {
|
|
7
|
-
trigger: string;
|
|
8
|
-
patterns: string[];
|
|
9
|
-
immediate?: boolean;
|
|
10
|
-
cascade?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export interface InvalidationEvent {
|
|
13
|
-
type: "create" | "update" | "delete";
|
|
14
|
-
resource: string;
|
|
15
|
-
id?: number | undefined;
|
|
16
|
-
siteId: string;
|
|
17
|
-
timestamp: number;
|
|
18
|
-
data?: unknown;
|
|
19
|
-
}
|
|
20
|
-
/**
|
|
21
|
-
* Cache invalidation manager that handles intelligent cache clearing
|
|
22
|
-
*/
|
|
23
|
-
export declare class CacheInvalidation {
|
|
24
|
-
private httpCache;
|
|
25
|
-
private invalidationRules;
|
|
26
|
-
private eventQueue;
|
|
27
|
-
private processing;
|
|
28
|
-
private logger;
|
|
29
|
-
constructor(httpCache: HttpCacheWrapper);
|
|
30
|
-
/**
|
|
31
|
-
* Register invalidation rule
|
|
32
|
-
*/
|
|
33
|
-
registerRule(resource: string, rule: InvalidationRule): void;
|
|
34
|
-
/**
|
|
35
|
-
* Trigger invalidation event
|
|
36
|
-
*/
|
|
37
|
-
trigger(event: InvalidationEvent): Promise<void>;
|
|
38
|
-
/**
|
|
39
|
-
* Invalidate cache for specific resource
|
|
40
|
-
*/
|
|
41
|
-
invalidateResource(resource: string, id?: number, type?: "create" | "update" | "delete"): Promise<void>;
|
|
42
|
-
/**
|
|
43
|
-
* Setup default invalidation rules
|
|
44
|
-
*/
|
|
45
|
-
private setupDefaultRules;
|
|
46
|
-
/**
|
|
47
|
-
* Process invalidation event queue
|
|
48
|
-
*/
|
|
49
|
-
private processQueue;
|
|
50
|
-
/**
|
|
51
|
-
* Process single invalidation event
|
|
52
|
-
*/
|
|
53
|
-
private processEvent;
|
|
54
|
-
/**
|
|
55
|
-
* Apply invalidation rule to cache
|
|
56
|
-
*/
|
|
57
|
-
private applyInvalidationRule;
|
|
58
|
-
/**
|
|
59
|
-
* Get invalidation statistics
|
|
60
|
-
*/
|
|
61
|
-
getStats(): {
|
|
62
|
-
queueSize: number;
|
|
63
|
-
rulesCount: number;
|
|
64
|
-
processing: boolean;
|
|
65
|
-
};
|
|
66
|
-
/**
|
|
67
|
-
* Clear all invalidation rules
|
|
68
|
-
*/
|
|
69
|
-
clearRules(): void;
|
|
70
|
-
/**
|
|
71
|
-
* Get all registered rules
|
|
72
|
-
*/
|
|
73
|
-
getRules(): Record<string, InvalidationRule[]>;
|
|
74
|
-
}
|
|
75
|
-
/**
|
|
76
|
-
* Cache invalidation patterns for common WordPress operations
|
|
77
|
-
*/
|
|
78
|
-
export declare class WordPressCachePatterns {
|
|
79
|
-
/**
|
|
80
|
-
* Invalidate all content-related caches
|
|
81
|
-
*/
|
|
82
|
-
static invalidateContent(cache: HttpCacheWrapper): number;
|
|
83
|
-
/**
|
|
84
|
-
* Invalidate all taxonomy-related caches
|
|
85
|
-
*/
|
|
86
|
-
static invalidateTaxonomies(cache: HttpCacheWrapper): number;
|
|
87
|
-
/**
|
|
88
|
-
* Invalidate all user-related caches
|
|
89
|
-
*/
|
|
90
|
-
static invalidateUsers(cache: HttpCacheWrapper): number;
|
|
91
|
-
/**
|
|
92
|
-
* Invalidate search-related caches
|
|
93
|
-
*/
|
|
94
|
-
static invalidateSearch(cache: HttpCacheWrapper): number;
|
|
95
|
-
/**
|
|
96
|
-
* Invalidate all caches (nuclear option)
|
|
97
|
-
*/
|
|
98
|
-
static invalidateAll(cache: HttpCacheWrapper): number;
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Cache warming strategies for common WordPress data
|
|
102
|
-
*/
|
|
103
|
-
export declare class CacheWarmer {
|
|
104
|
-
private httpCache;
|
|
105
|
-
private logger;
|
|
106
|
-
constructor(httpCache: HttpCacheWrapper);
|
|
107
|
-
/**
|
|
108
|
-
* Warm cache with essential WordPress data
|
|
109
|
-
*/
|
|
110
|
-
warmEssentials(): Promise<void>;
|
|
111
|
-
/**
|
|
112
|
-
* Warm cache with taxonomy data
|
|
113
|
-
*/
|
|
114
|
-
warmTaxonomies(): Promise<void>;
|
|
115
|
-
/**
|
|
116
|
-
* Warm cache with user data
|
|
117
|
-
*/
|
|
118
|
-
warmUsers(): Promise<void>;
|
|
119
|
-
}
|
|
120
|
-
//# sourceMappingURL=CacheInvalidation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CacheInvalidation.d.ts","sourceRoot":"","sources":["../../../src/cache/CacheInvalidation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAMhB,OAAO,CAAC,SAAS;IAL7B,OAAO,CAAC,iBAAiB,CAA8C;IACvE,OAAO,CAAC,UAAU,CAA2B;IAC7C,OAAO,CAAC,UAAU,CAAS;IAC3B,OAAO,CAAC,MAAM,CAAyB;gBAEnB,SAAS,EAAE,gBAAgB;IAI/C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI;IAO5D;;OAEG;IACG,OAAO,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;IAQtD;;OAEG;IACG,kBAAkB,CACtB,QAAQ,EAAE,MAAM,EAChB,EAAE,CAAC,EAAE,MAAM,EACX,IAAI,GAAE,QAAQ,GAAG,QAAQ,GAAG,QAAmB,GAC9C,OAAO,CAAC,IAAI,CAAC;IAYhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAuLzB;;OAEG;YACW,YAAY;IAiB1B;;OAEG;YACW,YAAY;IAU1B;;OAEG;YACW,qBAAqB;IAqBnC;;OAEG;IACH,QAAQ,IAAI;QACV,SAAS,EAAE,MAAM,CAAC;QAClB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;KACrB;IAQD;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,QAAQ,IAAI,MAAM,CAAC,MAAM,EAAE,gBAAgB,EAAE,CAAC;CAO/C;AAED;;GAEG;AACH,qBAAa,sBAAsB;IACjC;;OAEG;IACH,MAAM,CAAC,iBAAiB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIzD;;OAEG;IACH,MAAM,CAAC,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAI5D;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIvD;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;IAIxD;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,gBAAgB,GAAG,MAAM;CAGtD;AAED;;GAEG;AACH,qBAAa,WAAW;IAGV,OAAO,CAAC,SAAS;IAF7B,OAAO,CAAC,MAAM,CAAyB;gBAEnB,SAAS,EAAE,gBAAgB;IAE/C;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAMrC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrC;;OAEG;IACG,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;CAGjC"}
|
|
@@ -1,355 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Intelligent cache invalidation strategies for WordPress MCP Server
|
|
3
|
-
* Implements event-based and pattern-based invalidation
|
|
4
|
-
*/
|
|
5
|
-
import { LoggerFactory } from "../utils/logger.js";
|
|
6
|
-
/**
|
|
7
|
-
* Cache invalidation manager that handles intelligent cache clearing
|
|
8
|
-
*/
|
|
9
|
-
export class CacheInvalidation {
|
|
10
|
-
httpCache;
|
|
11
|
-
invalidationRules = new Map();
|
|
12
|
-
eventQueue = [];
|
|
13
|
-
processing = false;
|
|
14
|
-
logger = LoggerFactory.cache();
|
|
15
|
-
constructor(httpCache) {
|
|
16
|
-
this.httpCache = httpCache;
|
|
17
|
-
this.setupDefaultRules();
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Register invalidation rule
|
|
21
|
-
*/
|
|
22
|
-
registerRule(resource, rule) {
|
|
23
|
-
if (!this.invalidationRules.has(resource)) {
|
|
24
|
-
this.invalidationRules.set(resource, []);
|
|
25
|
-
}
|
|
26
|
-
this.invalidationRules.get(resource).push(rule);
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* Trigger invalidation event
|
|
30
|
-
*/
|
|
31
|
-
async trigger(event) {
|
|
32
|
-
this.eventQueue.push(event);
|
|
33
|
-
if (!this.processing) {
|
|
34
|
-
await this.processQueue();
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Invalidate cache for specific resource
|
|
39
|
-
*/
|
|
40
|
-
async invalidateResource(resource, id, type = "update") {
|
|
41
|
-
const event = {
|
|
42
|
-
type,
|
|
43
|
-
resource,
|
|
44
|
-
id,
|
|
45
|
-
siteId: this.httpCache["siteId"], // Access private property
|
|
46
|
-
timestamp: Date.now(),
|
|
47
|
-
};
|
|
48
|
-
await this.trigger(event);
|
|
49
|
-
}
|
|
50
|
-
/**
|
|
51
|
-
* Setup default invalidation rules
|
|
52
|
-
*/
|
|
53
|
-
setupDefaultRules() {
|
|
54
|
-
// Post invalidation rules
|
|
55
|
-
this.registerRule("posts", {
|
|
56
|
-
trigger: "create",
|
|
57
|
-
patterns: [
|
|
58
|
-
"posts", // All posts listings
|
|
59
|
-
"posts/\\d+", // Specific post
|
|
60
|
-
"categories", // Category listings (if post has categories)
|
|
61
|
-
"tags", // Tag listings (if post has tags)
|
|
62
|
-
"search", // Search results
|
|
63
|
-
],
|
|
64
|
-
immediate: true,
|
|
65
|
-
cascade: true,
|
|
66
|
-
});
|
|
67
|
-
this.registerRule("posts", {
|
|
68
|
-
trigger: "update",
|
|
69
|
-
patterns: [
|
|
70
|
-
"posts/\\d+", // Specific post
|
|
71
|
-
"posts.*", // All posts with parameters
|
|
72
|
-
"search", // Search results
|
|
73
|
-
],
|
|
74
|
-
immediate: true,
|
|
75
|
-
});
|
|
76
|
-
this.registerRule("posts", {
|
|
77
|
-
trigger: "delete",
|
|
78
|
-
patterns: [
|
|
79
|
-
"posts", // All posts listings
|
|
80
|
-
"posts/\\d+", // Specific post
|
|
81
|
-
"categories", // Category counts might change
|
|
82
|
-
"tags", // Tag counts might change
|
|
83
|
-
"search", // Search results
|
|
84
|
-
],
|
|
85
|
-
immediate: true,
|
|
86
|
-
cascade: true,
|
|
87
|
-
});
|
|
88
|
-
// Page invalidation rules
|
|
89
|
-
this.registerRule("pages", {
|
|
90
|
-
trigger: "create",
|
|
91
|
-
patterns: ["pages", "pages/\\d+"],
|
|
92
|
-
immediate: true,
|
|
93
|
-
});
|
|
94
|
-
this.registerRule("pages", {
|
|
95
|
-
trigger: "update",
|
|
96
|
-
patterns: ["pages/\\d+", "pages.*"],
|
|
97
|
-
immediate: true,
|
|
98
|
-
});
|
|
99
|
-
this.registerRule("pages", {
|
|
100
|
-
trigger: "delete",
|
|
101
|
-
patterns: ["pages", "pages/\\d+"],
|
|
102
|
-
immediate: true,
|
|
103
|
-
});
|
|
104
|
-
// Comment invalidation rules
|
|
105
|
-
this.registerRule("comments", {
|
|
106
|
-
trigger: "create",
|
|
107
|
-
patterns: [
|
|
108
|
-
"comments",
|
|
109
|
-
"comments.*",
|
|
110
|
-
"posts/\\d+.*", // Parent post cache
|
|
111
|
-
],
|
|
112
|
-
immediate: true,
|
|
113
|
-
});
|
|
114
|
-
this.registerRule("comments", {
|
|
115
|
-
trigger: "update",
|
|
116
|
-
patterns: [
|
|
117
|
-
"comments/\\d+",
|
|
118
|
-
"comments.*",
|
|
119
|
-
"posts/\\d+.*", // Parent post cache
|
|
120
|
-
],
|
|
121
|
-
immediate: true,
|
|
122
|
-
});
|
|
123
|
-
this.registerRule("comments", {
|
|
124
|
-
trigger: "delete",
|
|
125
|
-
patterns: [
|
|
126
|
-
"comments",
|
|
127
|
-
"comments/\\d+",
|
|
128
|
-
"posts/\\d+.*", // Parent post cache
|
|
129
|
-
],
|
|
130
|
-
immediate: true,
|
|
131
|
-
});
|
|
132
|
-
// Media invalidation rules
|
|
133
|
-
this.registerRule("media", {
|
|
134
|
-
trigger: "create",
|
|
135
|
-
patterns: ["media", "media.*"],
|
|
136
|
-
immediate: true,
|
|
137
|
-
});
|
|
138
|
-
this.registerRule("media", {
|
|
139
|
-
trigger: "update",
|
|
140
|
-
patterns: ["media/\\d+", "media.*"],
|
|
141
|
-
immediate: true,
|
|
142
|
-
});
|
|
143
|
-
this.registerRule("media", {
|
|
144
|
-
trigger: "delete",
|
|
145
|
-
patterns: ["media", "media/\\d+"],
|
|
146
|
-
immediate: true,
|
|
147
|
-
});
|
|
148
|
-
// User invalidation rules
|
|
149
|
-
this.registerRule("users", {
|
|
150
|
-
trigger: "create",
|
|
151
|
-
patterns: ["users", "users.*"],
|
|
152
|
-
immediate: true,
|
|
153
|
-
});
|
|
154
|
-
this.registerRule("users", {
|
|
155
|
-
trigger: "update",
|
|
156
|
-
patterns: [
|
|
157
|
-
"users/\\d+",
|
|
158
|
-
"users.*",
|
|
159
|
-
"users/me", // Current user info
|
|
160
|
-
],
|
|
161
|
-
immediate: true,
|
|
162
|
-
});
|
|
163
|
-
this.registerRule("users", {
|
|
164
|
-
trigger: "delete",
|
|
165
|
-
patterns: ["users", "users/\\d+"],
|
|
166
|
-
immediate: true,
|
|
167
|
-
});
|
|
168
|
-
// Category invalidation rules
|
|
169
|
-
this.registerRule("categories", {
|
|
170
|
-
trigger: "create",
|
|
171
|
-
patterns: ["categories", "categories.*", "posts.*"],
|
|
172
|
-
immediate: true,
|
|
173
|
-
cascade: true,
|
|
174
|
-
});
|
|
175
|
-
this.registerRule("categories", {
|
|
176
|
-
trigger: "update",
|
|
177
|
-
patterns: ["categories/\\d+", "categories.*", "posts.*"],
|
|
178
|
-
immediate: true,
|
|
179
|
-
cascade: true,
|
|
180
|
-
});
|
|
181
|
-
this.registerRule("categories", {
|
|
182
|
-
trigger: "delete",
|
|
183
|
-
patterns: ["categories", "categories/\\d+", "posts.*"],
|
|
184
|
-
immediate: true,
|
|
185
|
-
cascade: true,
|
|
186
|
-
});
|
|
187
|
-
// Tag invalidation rules
|
|
188
|
-
this.registerRule("tags", {
|
|
189
|
-
trigger: "create",
|
|
190
|
-
patterns: ["tags", "tags.*", "posts.*"],
|
|
191
|
-
immediate: true,
|
|
192
|
-
cascade: true,
|
|
193
|
-
});
|
|
194
|
-
this.registerRule("tags", {
|
|
195
|
-
trigger: "update",
|
|
196
|
-
patterns: ["tags/\\d+", "tags.*", "posts.*"],
|
|
197
|
-
immediate: true,
|
|
198
|
-
cascade: true,
|
|
199
|
-
});
|
|
200
|
-
this.registerRule("tags", {
|
|
201
|
-
trigger: "delete",
|
|
202
|
-
patterns: ["tags", "tags/\\d+", "posts.*"],
|
|
203
|
-
immediate: true,
|
|
204
|
-
cascade: true,
|
|
205
|
-
});
|
|
206
|
-
// Settings invalidation rules (rarely change)
|
|
207
|
-
this.registerRule("settings", {
|
|
208
|
-
trigger: "update",
|
|
209
|
-
patterns: ["settings.*"],
|
|
210
|
-
immediate: true,
|
|
211
|
-
cascade: false,
|
|
212
|
-
});
|
|
213
|
-
}
|
|
214
|
-
/**
|
|
215
|
-
* Process invalidation event queue
|
|
216
|
-
*/
|
|
217
|
-
async processQueue() {
|
|
218
|
-
if (this.processing || this.eventQueue.length === 0) {
|
|
219
|
-
return;
|
|
220
|
-
}
|
|
221
|
-
this.processing = true;
|
|
222
|
-
try {
|
|
223
|
-
while (this.eventQueue.length > 0) {
|
|
224
|
-
const event = this.eventQueue.shift();
|
|
225
|
-
await this.processEvent(event);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
finally {
|
|
229
|
-
this.processing = false;
|
|
230
|
-
}
|
|
231
|
-
}
|
|
232
|
-
/**
|
|
233
|
-
* Process single invalidation event
|
|
234
|
-
*/
|
|
235
|
-
async processEvent(event) {
|
|
236
|
-
const rules = this.invalidationRules.get(event.resource) || [];
|
|
237
|
-
for (const rule of rules) {
|
|
238
|
-
if (rule.trigger === event.type || rule.trigger === "*") {
|
|
239
|
-
await this.applyInvalidationRule(event, rule);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
}
|
|
243
|
-
/**
|
|
244
|
-
* Apply invalidation rule to cache
|
|
245
|
-
*/
|
|
246
|
-
async applyInvalidationRule(event, rule) {
|
|
247
|
-
for (const pattern of rule.patterns) {
|
|
248
|
-
let invalidationPattern = pattern;
|
|
249
|
-
// Replace placeholders with actual values
|
|
250
|
-
if (event.id) {
|
|
251
|
-
invalidationPattern = invalidationPattern.replace("\\d+", event.id.toString());
|
|
252
|
-
}
|
|
253
|
-
// Invalidate matching cache entries
|
|
254
|
-
const invalidated = this.httpCache.invalidatePattern(invalidationPattern);
|
|
255
|
-
if (invalidated > 0) {
|
|
256
|
-
this.logger.info("Cache entries invalidated", {
|
|
257
|
-
count: invalidated,
|
|
258
|
-
pattern: invalidationPattern,
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Get invalidation statistics
|
|
265
|
-
*/
|
|
266
|
-
getStats() {
|
|
267
|
-
return {
|
|
268
|
-
queueSize: this.eventQueue.length,
|
|
269
|
-
rulesCount: Array.from(this.invalidationRules.values()).reduce((acc, rules) => acc + rules.length, 0),
|
|
270
|
-
processing: this.processing,
|
|
271
|
-
};
|
|
272
|
-
}
|
|
273
|
-
/**
|
|
274
|
-
* Clear all invalidation rules
|
|
275
|
-
*/
|
|
276
|
-
clearRules() {
|
|
277
|
-
this.invalidationRules.clear();
|
|
278
|
-
}
|
|
279
|
-
/**
|
|
280
|
-
* Get all registered rules
|
|
281
|
-
*/
|
|
282
|
-
getRules() {
|
|
283
|
-
const rules = {};
|
|
284
|
-
for (const [resource, ruleList] of this.invalidationRules.entries()) {
|
|
285
|
-
rules[resource] = [...ruleList];
|
|
286
|
-
}
|
|
287
|
-
return rules;
|
|
288
|
-
}
|
|
289
|
-
}
|
|
290
|
-
/**
|
|
291
|
-
* Cache invalidation patterns for common WordPress operations
|
|
292
|
-
*/
|
|
293
|
-
export class WordPressCachePatterns {
|
|
294
|
-
/**
|
|
295
|
-
* Invalidate all content-related caches
|
|
296
|
-
*/
|
|
297
|
-
static invalidateContent(cache) {
|
|
298
|
-
return cache.invalidatePattern("(posts|pages|comments|media)");
|
|
299
|
-
}
|
|
300
|
-
/**
|
|
301
|
-
* Invalidate all taxonomy-related caches
|
|
302
|
-
*/
|
|
303
|
-
static invalidateTaxonomies(cache) {
|
|
304
|
-
return cache.invalidatePattern("(categories|tags|taxonomies)");
|
|
305
|
-
}
|
|
306
|
-
/**
|
|
307
|
-
* Invalidate all user-related caches
|
|
308
|
-
*/
|
|
309
|
-
static invalidateUsers(cache) {
|
|
310
|
-
return cache.invalidatePattern("users");
|
|
311
|
-
}
|
|
312
|
-
/**
|
|
313
|
-
* Invalidate search-related caches
|
|
314
|
-
*/
|
|
315
|
-
static invalidateSearch(cache) {
|
|
316
|
-
return cache.invalidatePattern("search");
|
|
317
|
-
}
|
|
318
|
-
/**
|
|
319
|
-
* Invalidate all caches (nuclear option)
|
|
320
|
-
*/
|
|
321
|
-
static invalidateAll(cache) {
|
|
322
|
-
return cache.invalidateAll();
|
|
323
|
-
}
|
|
324
|
-
}
|
|
325
|
-
/**
|
|
326
|
-
* Cache warming strategies for common WordPress data
|
|
327
|
-
*/
|
|
328
|
-
export class CacheWarmer {
|
|
329
|
-
httpCache;
|
|
330
|
-
logger = LoggerFactory.cache();
|
|
331
|
-
constructor(httpCache) {
|
|
332
|
-
this.httpCache = httpCache;
|
|
333
|
-
}
|
|
334
|
-
/**
|
|
335
|
-
* Warm cache with essential WordPress data
|
|
336
|
-
*/
|
|
337
|
-
async warmEssentials() {
|
|
338
|
-
// Implementation would depend on your specific WordPress client
|
|
339
|
-
// This is a placeholder for the structure
|
|
340
|
-
this.logger.info("Warming essential caches");
|
|
341
|
-
}
|
|
342
|
-
/**
|
|
343
|
-
* Warm cache with taxonomy data
|
|
344
|
-
*/
|
|
345
|
-
async warmTaxonomies() {
|
|
346
|
-
this.logger.info("Warming taxonomy caches");
|
|
347
|
-
}
|
|
348
|
-
/**
|
|
349
|
-
* Warm cache with user data
|
|
350
|
-
*/
|
|
351
|
-
async warmUsers() {
|
|
352
|
-
this.logger.info("Warming user caches");
|
|
353
|
-
}
|
|
354
|
-
}
|
|
355
|
-
//# sourceMappingURL=CacheInvalidation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CacheInvalidation.js","sourceRoot":"","sources":["../../../src/cache/CacheInvalidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,149 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Intelligent caching system for WordPress MCP Server
|
|
3
|
-
* Implements multi-layer caching with TTL, LRU eviction, and site-specific keys
|
|
4
|
-
*/
|
|
5
|
-
export interface CacheEntry<T = unknown> {
|
|
6
|
-
value: T;
|
|
7
|
-
timestamp: number;
|
|
8
|
-
ttl: number;
|
|
9
|
-
etag?: string | undefined;
|
|
10
|
-
lastModified?: string | undefined;
|
|
11
|
-
accessCount: number;
|
|
12
|
-
lastAccessed: number;
|
|
13
|
-
}
|
|
14
|
-
export interface CacheStats {
|
|
15
|
-
hits: number;
|
|
16
|
-
misses: number;
|
|
17
|
-
evictions: number;
|
|
18
|
-
totalSize: number;
|
|
19
|
-
hitRate: number;
|
|
20
|
-
}
|
|
21
|
-
export interface CacheConfig {
|
|
22
|
-
maxSize: number;
|
|
23
|
-
defaultTTL: number;
|
|
24
|
-
enableLRU: boolean;
|
|
25
|
-
enableStats: boolean;
|
|
26
|
-
sitePrefix?: string;
|
|
27
|
-
}
|
|
28
|
-
/**
|
|
29
|
-
* High-performance in-memory cache with TTL and LRU eviction
|
|
30
|
-
*/
|
|
31
|
-
export declare class CacheManager {
|
|
32
|
-
private config;
|
|
33
|
-
private cache;
|
|
34
|
-
private accessOrder;
|
|
35
|
-
private cleanupInterval;
|
|
36
|
-
private stats;
|
|
37
|
-
constructor(config: CacheConfig);
|
|
38
|
-
/**
|
|
39
|
-
* Generate cache key with site prefix and parameter hash
|
|
40
|
-
*/
|
|
41
|
-
generateKey(siteId: string, endpoint: string, params?: Record<string, unknown>): string;
|
|
42
|
-
/**
|
|
43
|
-
* Get value from cache if not expired
|
|
44
|
-
*/
|
|
45
|
-
get<T>(key: string): T | null;
|
|
46
|
-
/**
|
|
47
|
-
* Set value in cache with TTL
|
|
48
|
-
*/
|
|
49
|
-
set<T>(key: string, value: T, ttl?: number, etag?: string, lastModified?: string): void;
|
|
50
|
-
/**
|
|
51
|
-
* Check if cache entry exists and is valid
|
|
52
|
-
*/
|
|
53
|
-
has(key: string): boolean;
|
|
54
|
-
/**
|
|
55
|
-
* Delete specific cache entry
|
|
56
|
-
*/
|
|
57
|
-
delete(key: string): boolean;
|
|
58
|
-
/**
|
|
59
|
-
* Clear all cache entries
|
|
60
|
-
*/
|
|
61
|
-
clear(): void;
|
|
62
|
-
/**
|
|
63
|
-
* Clear cache entries for specific site
|
|
64
|
-
*/
|
|
65
|
-
clearSite(siteId: string): number;
|
|
66
|
-
/**
|
|
67
|
-
* Clear cache entries matching pattern
|
|
68
|
-
*/
|
|
69
|
-
clearPattern(pattern: RegExp): number;
|
|
70
|
-
/**
|
|
71
|
-
* Get cache statistics
|
|
72
|
-
*/
|
|
73
|
-
getStats(): CacheStats;
|
|
74
|
-
/**
|
|
75
|
-
* Get cache entry with metadata
|
|
76
|
-
*/
|
|
77
|
-
getEntry(key: string): CacheEntry | null;
|
|
78
|
-
/**
|
|
79
|
-
* Check if entry supports conditional requests
|
|
80
|
-
*/
|
|
81
|
-
supportsConditionalRequest(key: string): boolean;
|
|
82
|
-
/**
|
|
83
|
-
* Get conditional request headers
|
|
84
|
-
*/
|
|
85
|
-
getConditionalHeaders(key: string): Record<string, string>;
|
|
86
|
-
/**
|
|
87
|
-
* Check if entry is expired
|
|
88
|
-
*/
|
|
89
|
-
private isExpired;
|
|
90
|
-
/**
|
|
91
|
-
* Evict least recently used entry
|
|
92
|
-
*/
|
|
93
|
-
private evictLRU;
|
|
94
|
-
/**
|
|
95
|
-
* Update access order for LRU tracking
|
|
96
|
-
*/
|
|
97
|
-
private updateAccessOrder;
|
|
98
|
-
/**
|
|
99
|
-
* Remove key from access order
|
|
100
|
-
*/
|
|
101
|
-
private removeFromAccessOrder;
|
|
102
|
-
/**
|
|
103
|
-
* Normalize parameters for consistent hashing
|
|
104
|
-
*/
|
|
105
|
-
private normalizeParams;
|
|
106
|
-
/**
|
|
107
|
-
* Update hit rate calculation
|
|
108
|
-
*/
|
|
109
|
-
private updateHitRate;
|
|
110
|
-
/**
|
|
111
|
-
* Start periodic cleanup of expired entries
|
|
112
|
-
* Note: This uses setInterval and is not called in test environments to avoid Jest timer issues
|
|
113
|
-
*/
|
|
114
|
-
private startCleanupInterval;
|
|
115
|
-
/**
|
|
116
|
-
* Stop the cleanup interval and clean up resources
|
|
117
|
-
*/
|
|
118
|
-
destroy(): void;
|
|
119
|
-
/**
|
|
120
|
-
* Remove expired entries
|
|
121
|
-
*/
|
|
122
|
-
private cleanupExpired;
|
|
123
|
-
}
|
|
124
|
-
/**
|
|
125
|
-
* Cache configuration presets for different data types
|
|
126
|
-
*/
|
|
127
|
-
export declare const CachePresets: {
|
|
128
|
-
STATIC: {
|
|
129
|
-
ttl: number;
|
|
130
|
-
cacheControl: string;
|
|
131
|
-
};
|
|
132
|
-
SEMI_STATIC: {
|
|
133
|
-
ttl: number;
|
|
134
|
-
cacheControl: string;
|
|
135
|
-
};
|
|
136
|
-
DYNAMIC: {
|
|
137
|
-
ttl: number;
|
|
138
|
-
cacheControl: string;
|
|
139
|
-
};
|
|
140
|
-
SESSION: {
|
|
141
|
-
ttl: number;
|
|
142
|
-
cacheControl: string;
|
|
143
|
-
};
|
|
144
|
-
REALTIME: {
|
|
145
|
-
ttl: number;
|
|
146
|
-
cacheControl: string;
|
|
147
|
-
};
|
|
148
|
-
};
|
|
149
|
-
//# sourceMappingURL=CacheManager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,OAAO;IACrC,KAAK,EAAE,CAAC,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,YAAY;IAYX,OAAO,CAAC,MAAM;IAX1B,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,WAAW,CAAgB;IACnC,OAAO,CAAC,eAAe,CAA+B;IACtD,OAAO,CAAC,KAAK,CAMX;gBAEkB,MAAM,EAAE,WAAW;IAOvC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM;IAiBvF;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IA6B7B;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,GAAE,MAA+B,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI;IA0B/G;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKzB;;OAEG;IACH,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAS5B;;OAEG;IACH,KAAK,IAAI,IAAI;IAMb;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAkBjC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAkBrC;;OAEG;IACH,QAAQ,IAAI,UAAU;IAItB;;OAEG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,GAAG,IAAI;IAQxC;;OAEG;IACH,0BAA0B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAKhD;;OAEG;IACH,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAiB1D;;OAEG;IACH,OAAO,CAAC,SAAS;IAIjB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAUhB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAO7B;;OAEG;IACH,OAAO,CAAC,eAAe;IAqBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAM5B;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,OAAO,CAAC,cAAc;CAiBvB;AAED;;GAEG;AACH,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;CA8BxB,CAAC"}
|