mcp-wordpress 1.2.3 → 1.3.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 +113 -181
- package/dist/cache/CacheInvalidation.d.ts +3 -3
- package/dist/cache/CacheInvalidation.d.ts.map +1 -1
- package/dist/cache/CacheInvalidation.js +119 -119
- package/dist/cache/CacheInvalidation.js.map +1 -1
- package/dist/cache/CacheManager.d.ts +5 -0
- package/dist/cache/CacheManager.d.ts.map +1 -1
- package/dist/cache/CacheManager.js +26 -16
- package/dist/cache/CacheManager.js.map +1 -1
- package/dist/cache/HttpCacheWrapper.d.ts +1 -1
- package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
- package/dist/cache/HttpCacheWrapper.js +29 -29
- package/dist/cache/HttpCacheWrapper.js.map +1 -1
- package/dist/cache/__tests__/CacheInvalidation.test.js +96 -94
- package/dist/cache/__tests__/CacheInvalidation.test.js.map +1 -1
- package/dist/cache/__tests__/CacheManager.test.js +113 -113
- package/dist/cache/__tests__/CacheManager.test.js.map +1 -1
- package/dist/cache/__tests__/CachedWordPressClient.test.js +102 -99
- package/dist/cache/__tests__/CachedWordPressClient.test.js.map +1 -1
- package/dist/cache/__tests__/HttpCacheWrapper.test.js +98 -95
- package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -1
- package/dist/cache/index.d.ts +7 -7
- package/dist/cache/index.d.ts.map +1 -1
- package/dist/cache/index.js +4 -4
- package/dist/cache/index.js.map +1 -1
- package/dist/client/CachedWordPressClient.d.ts +4 -4
- package/dist/client/CachedWordPressClient.d.ts.map +1 -1
- package/dist/client/CachedWordPressClient.js +55 -51
- package/dist/client/CachedWordPressClient.js.map +1 -1
- package/dist/client/api.d.ts +10 -10
- package/dist/client/api.js +158 -158
- package/dist/client/api.js.map +1 -1
- package/dist/client/auth.d.ts +2 -2
- package/dist/client/auth.js +72 -72
- package/dist/client/managers/AuthenticationManager.d.ts +2 -2
- package/dist/client/managers/AuthenticationManager.js +46 -46
- package/dist/client/managers/BaseManager.d.ts +1 -1
- package/dist/client/managers/BaseManager.js +9 -9
- package/dist/client/managers/RequestManager.d.ts +5 -3
- package/dist/client/managers/RequestManager.d.ts.map +1 -1
- package/dist/client/managers/RequestManager.js +39 -19
- package/dist/client/managers/RequestManager.js.map +1 -1
- package/dist/client/managers/index.d.ts +3 -3
- package/dist/client/managers/index.js +3 -3
- package/dist/config/ConfigurationSchema.d.ts +2 -2
- package/dist/config/ConfigurationSchema.d.ts.map +1 -1
- package/dist/config/ConfigurationSchema.js +40 -40
- package/dist/config/ConfigurationSchema.js.map +1 -1
- package/dist/config/ServerConfiguration.d.ts +2 -2
- package/dist/config/ServerConfiguration.js +35 -35
- package/dist/config/ServerConfiguration.js.map +1 -1
- package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
- package/dist/docs/DocumentationGenerator.js +296 -255
- package/dist/docs/DocumentationGenerator.js.map +1 -1
- package/dist/docs/MarkdownFormatter.d.ts +1 -1
- package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
- package/dist/docs/MarkdownFormatter.js +60 -51
- package/dist/docs/MarkdownFormatter.js.map +1 -1
- package/dist/docs/index.d.ts +3 -3
- package/dist/docs/index.d.ts.map +1 -1
- package/dist/docs/index.js +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +16 -16
- package/dist/index.js.map +1 -1
- package/dist/mcp-wordpress-1.3.0.tgz +0 -0
- package/dist/performance/MetricsCollector.d.ts +3 -3
- package/dist/performance/MetricsCollector.d.ts.map +1 -1
- package/dist/performance/MetricsCollector.js +33 -27
- package/dist/performance/MetricsCollector.js.map +1 -1
- package/dist/performance/PerformanceAnalytics.d.ts +12 -12
- package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
- package/dist/performance/PerformanceAnalytics.js +200 -154
- package/dist/performance/PerformanceAnalytics.js.map +1 -1
- package/dist/performance/PerformanceMonitor.d.ts +5 -5
- package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
- package/dist/performance/PerformanceMonitor.js +53 -52
- package/dist/performance/PerformanceMonitor.js.map +1 -1
- package/dist/performance/index.d.ts +6 -6
- package/dist/performance/index.d.ts.map +1 -1
- package/dist/performance/index.js +3 -3
- package/dist/security/InputValidator.d.ts +1 -1
- package/dist/security/InputValidator.d.ts.map +1 -1
- package/dist/security/InputValidator.js +111 -88
- package/dist/security/InputValidator.js.map +1 -1
- package/dist/security/SecurityConfig.d.ts +5 -5
- package/dist/security/SecurityConfig.js +92 -92
- package/dist/security/SecurityConfig.js.map +1 -1
- package/dist/server/ConnectionTester.d.ts +1 -1
- package/dist/server/ConnectionTester.d.ts.map +1 -1
- package/dist/server/ConnectionTester.js +4 -4
- 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 +35 -32
- package/dist/server/ToolRegistry.js.map +1 -1
- package/dist/server.d.ts +2 -2
- package/dist/server.js +2 -2
- package/dist/tools/BaseToolManager.js +5 -5
- package/dist/tools/auth.d.ts +2 -2
- package/dist/tools/auth.d.ts.map +1 -1
- package/dist/tools/auth.js +32 -31
- package/dist/tools/auth.js.map +1 -1
- package/dist/tools/cache.d.ts +1 -1
- package/dist/tools/cache.d.ts.map +1 -1
- package/dist/tools/cache.js +71 -71
- package/dist/tools/cache.js.map +1 -1
- package/dist/tools/comments.d.ts +2 -2
- package/dist/tools/comments.d.ts.map +1 -1
- package/dist/tools/comments.js +79 -79
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/index.d.ts +10 -10
- package/dist/tools/index.js +10 -10
- package/dist/tools/media.d.ts +2 -2
- package/dist/tools/media.js +80 -80
- package/dist/tools/pages.d.ts +2 -2
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +75 -75
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/performance.d.ts +1 -1
- package/dist/tools/performance.d.ts.map +1 -1
- package/dist/tools/performance.js +311 -287
- package/dist/tools/performance.js.map +1 -1
- package/dist/tools/posts.d.ts +2 -2
- package/dist/tools/posts.d.ts.map +1 -1
- package/dist/tools/posts.js +94 -94
- package/dist/tools/posts.js.map +1 -1
- package/dist/tools/site.d.ts +2 -2
- package/dist/tools/site.d.ts.map +1 -1
- package/dist/tools/site.js +60 -60
- package/dist/tools/site.js.map +1 -1
- package/dist/tools/taxonomies.d.ts +2 -2
- package/dist/tools/taxonomies.js +89 -89
- package/dist/tools/users.d.ts +2 -2
- package/dist/tools/users.js +68 -68
- package/dist/tools/users.js.map +1 -1
- package/dist/types/client.d.ts +13 -13
- package/dist/types/client.d.ts.map +1 -1
- package/dist/types/client.js +12 -12
- package/dist/types/client.js.map +1 -1
- package/dist/types/index.d.ts +19 -19
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -3
- package/dist/types/mcp.d.ts +7 -7
- package/dist/types/wordpress.d.ts +21 -21
- package/dist/types/wordpress.d.ts.map +1 -1
- package/dist/utils/debug.d.ts +2 -2
- package/dist/utils/debug.js +28 -28
- package/dist/utils/error.d.ts.map +1 -1
- package/dist/utils/error.js +13 -13
- package/dist/utils/error.js.map +1 -1
- package/dist/utils/toolWrapper.d.ts.map +1 -1
- package/dist/utils/toolWrapper.js +5 -5
- package/dist/utils/toolWrapper.js.map +1 -1
- package/dist/utils/validation.d.ts.map +1 -1
- package/dist/utils/validation.js +41 -31
- package/dist/utils/validation.js.map +1 -1
- package/docs/CACHING.md +36 -2
- package/docs/DOCKER.md +11 -5
- package/docs/PERFORMANCE_MONITORING.md +49 -1
- package/docs/SECURITY_TESTING.md +30 -1
- package/docs/api/README.md +9 -1
- package/docs/api/summary.json +1 -1
- package/docs/contract-testing.md +24 -3
- package/docs/developer/GITHUB_ACTIONS_SETUP.md +8 -2
- package/docs/developer/MAINTENANCE.md +27 -1
- package/docs/developer/MIGRATION_GUIDE.md +13 -1
- package/docs/developer/NPM_AUTH_SETUP.md +13 -2
- package/docs/developer/REFACTORING.md +31 -1
- package/docs/releases/COMMUNITY_ANNOUNCEMENT_v1.1.2.md +18 -7
- package/docs/releases/RELEASE_NOTES_v1.1.2.md +31 -5
- package/docs/user-guides/DOCKER_SETUP.md +264 -0
- package/docs/user-guides/DTX_SETUP.md +327 -0
- package/docs/user-guides/NPM_SETUP.md +109 -0
- package/docs/user-guides/NPX_SETUP.md +281 -0
- package/docs/wordpress-rest-api-authentication-troubleshooting.md +13 -2
- package/package.json +20 -6
- package/src/cache/CacheInvalidation.ts +140 -132
- package/src/cache/CacheManager.ts +40 -29
- package/src/cache/HttpCacheWrapper.ts +105 -68
- package/src/cache/__tests__/CacheInvalidation.test.ts +123 -118
- package/src/cache/__tests__/CacheManager.test.ts +156 -152
- package/src/cache/__tests__/CachedWordPressClient.test.ts +131 -116
- package/src/cache/__tests__/HttpCacheWrapper.test.ts +118 -115
- package/src/cache/index.ts +13 -13
- package/src/client/CachedWordPressClient.ts +90 -80
- package/src/client/api.ts +205 -205
- package/src/client/auth.ts +80 -80
- package/src/client/managers/AuthenticationManager.ts +61 -61
- package/src/client/managers/BaseManager.ts +11 -11
- package/src/client/managers/RequestManager.ts +79 -47
- package/src/client/managers/index.ts +3 -3
- package/src/config/ConfigurationSchema.ts +44 -44
- package/src/config/ServerConfiguration.ts +39 -39
- package/src/docs/DocumentationGenerator.ts +402 -295
- package/src/docs/MarkdownFormatter.ts +94 -69
- package/src/docs/index.ts +4 -4
- package/src/index.ts +24 -21
- package/src/performance/MetricsCollector.ts +90 -58
- package/src/performance/PerformanceAnalytics.ts +386 -262
- package/src/performance/PerformanceMonitor.ts +152 -118
- package/src/performance/index.ts +9 -9
- package/src/security/InputValidator.ts +148 -91
- package/src/security/SecurityConfig.ts +94 -94
- package/src/server/ConnectionTester.ts +21 -15
- package/src/server/ToolRegistry.ts +64 -51
- package/src/server.ts +2 -2
- package/src/tools/BaseToolManager.ts +6 -6
- package/src/tools/auth.ts +42 -37
- package/src/tools/cache.ts +85 -81
- package/src/tools/comments.ts +93 -91
- package/src/tools/index.ts +10 -10
- package/src/tools/media.ts +89 -89
- package/src/tools/pages.ts +89 -87
- package/src/tools/performance.ts +443 -352
- package/src/tools/posts.ts +109 -107
- package/src/tools/site.ts +86 -77
- package/src/tools/taxonomies.ts +102 -102
- package/src/tools/users.ts +77 -77
- package/src/types/client.ts +157 -60
- package/src/types/index.ts +49 -27
- package/src/types/mcp.ts +15 -15
- package/src/types/wordpress.ts +57 -29
- package/src/utils/debug.ts +37 -37
- package/src/utils/error.ts +47 -25
- package/src/utils/toolWrapper.ts +12 -8
- package/src/utils/validation.ts +116 -65
- package/dist/client/WordPressClient.d.ts +0 -81
- package/dist/client/WordPressClient.d.ts.map +0 -1
- package/dist/client/WordPressClient.js +0 -354
- package/dist/client/WordPressClient.js.map +0 -1
- package/dist/performance/AnomalyDetector.d.ts +0 -63
- package/dist/performance/AnomalyDetector.d.ts.map +0 -1
- package/dist/performance/AnomalyDetector.js +0 -222
- package/dist/performance/AnomalyDetector.js.map +0 -1
- package/dist/performance/BenchmarkAnalyzer.d.ts +0 -67
- package/dist/performance/BenchmarkAnalyzer.d.ts.map +0 -1
- package/dist/performance/BenchmarkAnalyzer.js +0 -301
- package/dist/performance/BenchmarkAnalyzer.js.map +0 -1
- package/dist/performance/TrendAnalyzer.d.ts +0 -69
- package/dist/performance/TrendAnalyzer.d.ts.map +0 -1
- package/dist/performance/TrendAnalyzer.js +0 -203
- package/dist/performance/TrendAnalyzer.js.map +0 -1
- package/dist/tools/BaseToolClass.d.ts +0 -76
- package/dist/tools/BaseToolClass.d.ts.map +0 -1
- package/dist/tools/BaseToolClass.js +0 -104
- package/dist/tools/BaseToolClass.js.map +0 -1
- package/dist/tools/base.d.ts +0 -37
- package/dist/tools/base.d.ts.map +0 -1
- package/dist/tools/base.js +0 -60
- package/dist/tools/base.js.map +0 -1
- package/docs/user-guides/CLAUDE_DESKTOP_SETUP.md +0 -187
|
@@ -35,13 +35,13 @@ export class CacheInvalidation {
|
|
|
35
35
|
/**
|
|
36
36
|
* Invalidate cache for specific resource
|
|
37
37
|
*/
|
|
38
|
-
async invalidateResource(resource, id, type =
|
|
38
|
+
async invalidateResource(resource, id, type = "update") {
|
|
39
39
|
const event = {
|
|
40
40
|
type,
|
|
41
41
|
resource,
|
|
42
42
|
id,
|
|
43
|
-
siteId: this.httpCache[
|
|
44
|
-
timestamp: Date.now()
|
|
43
|
+
siteId: this.httpCache["siteId"], // Access private property
|
|
44
|
+
timestamp: Date.now(),
|
|
45
45
|
};
|
|
46
46
|
await this.trigger(event);
|
|
47
47
|
}
|
|
@@ -50,163 +50,163 @@ export class CacheInvalidation {
|
|
|
50
50
|
*/
|
|
51
51
|
setupDefaultRules() {
|
|
52
52
|
// Post invalidation rules
|
|
53
|
-
this.registerRule(
|
|
54
|
-
trigger:
|
|
53
|
+
this.registerRule("posts", {
|
|
54
|
+
trigger: "create",
|
|
55
55
|
patterns: [
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
"posts", // All posts listings
|
|
57
|
+
"posts/\\d+", // Specific post
|
|
58
|
+
"categories", // Category listings (if post has categories)
|
|
59
|
+
"tags", // Tag listings (if post has tags)
|
|
60
|
+
"search", // Search results
|
|
61
61
|
],
|
|
62
62
|
immediate: true,
|
|
63
|
-
cascade: true
|
|
63
|
+
cascade: true,
|
|
64
64
|
});
|
|
65
|
-
this.registerRule(
|
|
66
|
-
trigger:
|
|
65
|
+
this.registerRule("posts", {
|
|
66
|
+
trigger: "update",
|
|
67
67
|
patterns: [
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
68
|
+
"posts/\\d+", // Specific post
|
|
69
|
+
"posts.*", // All posts with parameters
|
|
70
|
+
"search", // Search results
|
|
71
71
|
],
|
|
72
|
-
immediate: true
|
|
72
|
+
immediate: true,
|
|
73
73
|
});
|
|
74
|
-
this.registerRule(
|
|
75
|
-
trigger:
|
|
74
|
+
this.registerRule("posts", {
|
|
75
|
+
trigger: "delete",
|
|
76
76
|
patterns: [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
77
|
+
"posts", // All posts listings
|
|
78
|
+
"posts/\\d+", // Specific post
|
|
79
|
+
"categories", // Category counts might change
|
|
80
|
+
"tags", // Tag counts might change
|
|
81
|
+
"search", // Search results
|
|
82
82
|
],
|
|
83
83
|
immediate: true,
|
|
84
|
-
cascade: true
|
|
84
|
+
cascade: true,
|
|
85
85
|
});
|
|
86
86
|
// Page invalidation rules
|
|
87
|
-
this.registerRule(
|
|
88
|
-
trigger:
|
|
89
|
-
patterns: [
|
|
90
|
-
immediate: true
|
|
87
|
+
this.registerRule("pages", {
|
|
88
|
+
trigger: "create",
|
|
89
|
+
patterns: ["pages", "pages/\\d+"],
|
|
90
|
+
immediate: true,
|
|
91
91
|
});
|
|
92
|
-
this.registerRule(
|
|
93
|
-
trigger:
|
|
94
|
-
patterns: [
|
|
95
|
-
immediate: true
|
|
92
|
+
this.registerRule("pages", {
|
|
93
|
+
trigger: "update",
|
|
94
|
+
patterns: ["pages/\\d+", "pages.*"],
|
|
95
|
+
immediate: true,
|
|
96
96
|
});
|
|
97
|
-
this.registerRule(
|
|
98
|
-
trigger:
|
|
99
|
-
patterns: [
|
|
100
|
-
immediate: true
|
|
97
|
+
this.registerRule("pages", {
|
|
98
|
+
trigger: "delete",
|
|
99
|
+
patterns: ["pages", "pages/\\d+"],
|
|
100
|
+
immediate: true,
|
|
101
101
|
});
|
|
102
102
|
// Comment invalidation rules
|
|
103
|
-
this.registerRule(
|
|
104
|
-
trigger:
|
|
103
|
+
this.registerRule("comments", {
|
|
104
|
+
trigger: "create",
|
|
105
105
|
patterns: [
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
106
|
+
"comments",
|
|
107
|
+
"comments.*",
|
|
108
|
+
"posts/\\d+.*", // Parent post cache
|
|
109
109
|
],
|
|
110
|
-
immediate: true
|
|
110
|
+
immediate: true,
|
|
111
111
|
});
|
|
112
|
-
this.registerRule(
|
|
113
|
-
trigger:
|
|
112
|
+
this.registerRule("comments", {
|
|
113
|
+
trigger: "update",
|
|
114
114
|
patterns: [
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
115
|
+
"comments/\\d+",
|
|
116
|
+
"comments.*",
|
|
117
|
+
"posts/\\d+.*", // Parent post cache
|
|
118
118
|
],
|
|
119
|
-
immediate: true
|
|
119
|
+
immediate: true,
|
|
120
120
|
});
|
|
121
|
-
this.registerRule(
|
|
122
|
-
trigger:
|
|
121
|
+
this.registerRule("comments", {
|
|
122
|
+
trigger: "delete",
|
|
123
123
|
patterns: [
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
124
|
+
"comments",
|
|
125
|
+
"comments/\\d+",
|
|
126
|
+
"posts/\\d+.*", // Parent post cache
|
|
127
127
|
],
|
|
128
|
-
immediate: true
|
|
128
|
+
immediate: true,
|
|
129
129
|
});
|
|
130
130
|
// Media invalidation rules
|
|
131
|
-
this.registerRule(
|
|
132
|
-
trigger:
|
|
133
|
-
patterns: [
|
|
134
|
-
immediate: true
|
|
131
|
+
this.registerRule("media", {
|
|
132
|
+
trigger: "create",
|
|
133
|
+
patterns: ["media", "media.*"],
|
|
134
|
+
immediate: true,
|
|
135
135
|
});
|
|
136
|
-
this.registerRule(
|
|
137
|
-
trigger:
|
|
138
|
-
patterns: [
|
|
139
|
-
immediate: true
|
|
136
|
+
this.registerRule("media", {
|
|
137
|
+
trigger: "update",
|
|
138
|
+
patterns: ["media/\\d+", "media.*"],
|
|
139
|
+
immediate: true,
|
|
140
140
|
});
|
|
141
|
-
this.registerRule(
|
|
142
|
-
trigger:
|
|
143
|
-
patterns: [
|
|
144
|
-
immediate: true
|
|
141
|
+
this.registerRule("media", {
|
|
142
|
+
trigger: "delete",
|
|
143
|
+
patterns: ["media", "media/\\d+"],
|
|
144
|
+
immediate: true,
|
|
145
145
|
});
|
|
146
146
|
// User invalidation rules
|
|
147
|
-
this.registerRule(
|
|
148
|
-
trigger:
|
|
149
|
-
patterns: [
|
|
150
|
-
immediate: true
|
|
147
|
+
this.registerRule("users", {
|
|
148
|
+
trigger: "create",
|
|
149
|
+
patterns: ["users", "users.*"],
|
|
150
|
+
immediate: true,
|
|
151
151
|
});
|
|
152
|
-
this.registerRule(
|
|
153
|
-
trigger:
|
|
152
|
+
this.registerRule("users", {
|
|
153
|
+
trigger: "update",
|
|
154
154
|
patterns: [
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
155
|
+
"users/\\d+",
|
|
156
|
+
"users.*",
|
|
157
|
+
"users/me", // Current user info
|
|
158
158
|
],
|
|
159
|
-
immediate: true
|
|
159
|
+
immediate: true,
|
|
160
160
|
});
|
|
161
|
-
this.registerRule(
|
|
162
|
-
trigger:
|
|
163
|
-
patterns: [
|
|
164
|
-
immediate: true
|
|
161
|
+
this.registerRule("users", {
|
|
162
|
+
trigger: "delete",
|
|
163
|
+
patterns: ["users", "users/\\d+"],
|
|
164
|
+
immediate: true,
|
|
165
165
|
});
|
|
166
166
|
// Category invalidation rules
|
|
167
|
-
this.registerRule(
|
|
168
|
-
trigger:
|
|
169
|
-
patterns: [
|
|
167
|
+
this.registerRule("categories", {
|
|
168
|
+
trigger: "create",
|
|
169
|
+
patterns: ["categories", "categories.*", "posts.*"],
|
|
170
170
|
immediate: true,
|
|
171
|
-
cascade: true
|
|
171
|
+
cascade: true,
|
|
172
172
|
});
|
|
173
|
-
this.registerRule(
|
|
174
|
-
trigger:
|
|
175
|
-
patterns: [
|
|
173
|
+
this.registerRule("categories", {
|
|
174
|
+
trigger: "update",
|
|
175
|
+
patterns: ["categories/\\d+", "categories.*", "posts.*"],
|
|
176
176
|
immediate: true,
|
|
177
|
-
cascade: true
|
|
177
|
+
cascade: true,
|
|
178
178
|
});
|
|
179
|
-
this.registerRule(
|
|
180
|
-
trigger:
|
|
181
|
-
patterns: [
|
|
179
|
+
this.registerRule("categories", {
|
|
180
|
+
trigger: "delete",
|
|
181
|
+
patterns: ["categories", "categories/\\d+", "posts.*"],
|
|
182
182
|
immediate: true,
|
|
183
|
-
cascade: true
|
|
183
|
+
cascade: true,
|
|
184
184
|
});
|
|
185
185
|
// Tag invalidation rules
|
|
186
|
-
this.registerRule(
|
|
187
|
-
trigger:
|
|
188
|
-
patterns: [
|
|
186
|
+
this.registerRule("tags", {
|
|
187
|
+
trigger: "create",
|
|
188
|
+
patterns: ["tags", "tags.*", "posts.*"],
|
|
189
189
|
immediate: true,
|
|
190
|
-
cascade: true
|
|
190
|
+
cascade: true,
|
|
191
191
|
});
|
|
192
|
-
this.registerRule(
|
|
193
|
-
trigger:
|
|
194
|
-
patterns: [
|
|
192
|
+
this.registerRule("tags", {
|
|
193
|
+
trigger: "update",
|
|
194
|
+
patterns: ["tags/\\d+", "tags.*", "posts.*"],
|
|
195
195
|
immediate: true,
|
|
196
|
-
cascade: true
|
|
196
|
+
cascade: true,
|
|
197
197
|
});
|
|
198
|
-
this.registerRule(
|
|
199
|
-
trigger:
|
|
200
|
-
patterns: [
|
|
198
|
+
this.registerRule("tags", {
|
|
199
|
+
trigger: "delete",
|
|
200
|
+
patterns: ["tags", "tags/\\d+", "posts.*"],
|
|
201
201
|
immediate: true,
|
|
202
|
-
cascade: true
|
|
202
|
+
cascade: true,
|
|
203
203
|
});
|
|
204
204
|
// Settings invalidation rules (rarely change)
|
|
205
|
-
this.registerRule(
|
|
206
|
-
trigger:
|
|
207
|
-
patterns: [
|
|
205
|
+
this.registerRule("settings", {
|
|
206
|
+
trigger: "update",
|
|
207
|
+
patterns: ["settings.*"],
|
|
208
208
|
immediate: true,
|
|
209
|
-
cascade: false
|
|
209
|
+
cascade: false,
|
|
210
210
|
});
|
|
211
211
|
}
|
|
212
212
|
/**
|
|
@@ -233,7 +233,7 @@ export class CacheInvalidation {
|
|
|
233
233
|
async processEvent(event) {
|
|
234
234
|
const rules = this.invalidationRules.get(event.resource) || [];
|
|
235
235
|
for (const rule of rules) {
|
|
236
|
-
if (rule.trigger === event.type || rule.trigger ===
|
|
236
|
+
if (rule.trigger === event.type || rule.trigger === "*") {
|
|
237
237
|
await this.applyInvalidationRule(event, rule);
|
|
238
238
|
}
|
|
239
239
|
}
|
|
@@ -246,7 +246,7 @@ export class CacheInvalidation {
|
|
|
246
246
|
let invalidationPattern = pattern;
|
|
247
247
|
// Replace placeholders with actual values
|
|
248
248
|
if (event.id) {
|
|
249
|
-
invalidationPattern = invalidationPattern.replace(
|
|
249
|
+
invalidationPattern = invalidationPattern.replace("\\d+", event.id.toString());
|
|
250
250
|
}
|
|
251
251
|
// Invalidate matching cache entries
|
|
252
252
|
const invalidated = this.httpCache.invalidatePattern(invalidationPattern);
|
|
@@ -262,7 +262,7 @@ export class CacheInvalidation {
|
|
|
262
262
|
return {
|
|
263
263
|
queueSize: this.eventQueue.length,
|
|
264
264
|
rulesCount: Array.from(this.invalidationRules.values()).reduce((acc, rules) => acc + rules.length, 0),
|
|
265
|
-
processing: this.processing
|
|
265
|
+
processing: this.processing,
|
|
266
266
|
};
|
|
267
267
|
}
|
|
268
268
|
/**
|
|
@@ -290,25 +290,25 @@ export class WordPressCachePatterns {
|
|
|
290
290
|
* Invalidate all content-related caches
|
|
291
291
|
*/
|
|
292
292
|
static invalidateContent(cache) {
|
|
293
|
-
return cache.invalidatePattern(
|
|
293
|
+
return cache.invalidatePattern("(posts|pages|comments|media)");
|
|
294
294
|
}
|
|
295
295
|
/**
|
|
296
296
|
* Invalidate all taxonomy-related caches
|
|
297
297
|
*/
|
|
298
298
|
static invalidateTaxonomies(cache) {
|
|
299
|
-
return cache.invalidatePattern(
|
|
299
|
+
return cache.invalidatePattern("(categories|tags|taxonomies)");
|
|
300
300
|
}
|
|
301
301
|
/**
|
|
302
302
|
* Invalidate all user-related caches
|
|
303
303
|
*/
|
|
304
304
|
static invalidateUsers(cache) {
|
|
305
|
-
return cache.invalidatePattern(
|
|
305
|
+
return cache.invalidatePattern("users");
|
|
306
306
|
}
|
|
307
307
|
/**
|
|
308
308
|
* Invalidate search-related caches
|
|
309
309
|
*/
|
|
310
310
|
static invalidateSearch(cache) {
|
|
311
|
-
return cache.invalidatePattern(
|
|
311
|
+
return cache.invalidatePattern("search");
|
|
312
312
|
}
|
|
313
313
|
/**
|
|
314
314
|
* Invalidate all caches (nuclear option)
|
|
@@ -331,19 +331,19 @@ export class CacheWarmer {
|
|
|
331
331
|
async warmEssentials() {
|
|
332
332
|
// Implementation would depend on your specific WordPress client
|
|
333
333
|
// This is a placeholder for the structure
|
|
334
|
-
console.log(
|
|
334
|
+
console.log("Warming essential caches...");
|
|
335
335
|
}
|
|
336
336
|
/**
|
|
337
337
|
* Warm cache with taxonomy data
|
|
338
338
|
*/
|
|
339
339
|
async warmTaxonomies() {
|
|
340
|
-
console.log(
|
|
340
|
+
console.log("Warming taxonomy caches...");
|
|
341
341
|
}
|
|
342
342
|
/**
|
|
343
343
|
* Warm cache with user data
|
|
344
344
|
*/
|
|
345
345
|
async warmUsers() {
|
|
346
|
-
console.log(
|
|
346
|
+
console.log("Warming user caches...");
|
|
347
347
|
}
|
|
348
348
|
}
|
|
349
349
|
//# sourceMappingURL=CacheInvalidation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheInvalidation.js","sourceRoot":"","sources":["../../src/cache/CacheInvalidation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAoBH;;GAEG;AACH,MAAM,OAAO,iBAAiB;IAKR;IAJZ,iBAAiB,GAAoC,IAAI,GAAG,EAAE,CAAC;IAC/D,UAAU,GAAwB,EAAE,CAAC;IACrC,UAAU,GAAG,KAAK,CAAC;IAE3B,YAAoB,SAA2B;QAA3B,cAAS,GAAT,SAAS,CAAkB;QAC7C,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,QAAgB,EAAE,IAAsB;QACnD,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1C,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,KAAwB;QACpC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC5B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,kBAAkB,CACtB,QAAgB,EAChB,EAAW,EACX,OAAuC,QAAQ;QAE/C,MAAM,KAAK,GAAsB;YAC/B,IAAI;YACJ,QAAQ;YACR,EAAE;YACF,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,0BAA0B;YAC5D,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,0BAA0B;QAC1B,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;YACzB,OAAO,EAAE,QAAQ;YACjB,QAAQ,EAAE;gBACR,OAAO,
|
|
1
|
+
{"version":3,"file":"CacheInvalidation.js","sourceRoot":"","sources":["../../src/cache/CacheInvalidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,7 @@ export declare class CacheManager {
|
|
|
32
32
|
private config;
|
|
33
33
|
private cache;
|
|
34
34
|
private accessOrder;
|
|
35
|
+
private cleanupInterval;
|
|
35
36
|
private stats;
|
|
36
37
|
constructor(config: CacheConfig);
|
|
37
38
|
/**
|
|
@@ -110,6 +111,10 @@ export declare class CacheManager {
|
|
|
110
111
|
* Start periodic cleanup of expired entries
|
|
111
112
|
*/
|
|
112
113
|
private startCleanupInterval;
|
|
114
|
+
/**
|
|
115
|
+
* Stop the cleanup interval and clean up resources
|
|
116
|
+
*/
|
|
117
|
+
destroy(): void;
|
|
113
118
|
/**
|
|
114
119
|
* Remove expired entries
|
|
115
120
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,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;
|
|
1
|
+
{"version":3,"file":"CacheManager.d.ts","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,MAAM,WAAW,UAAU,CAAC,CAAC,GAAG,GAAG;IACjC,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;IAKvC;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,MAAM;IAiBnE;;OAEG;IACH,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IA6B7B;;OAEG;IACH,GAAG,CAAC,CAAC,EACH,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,CAAC,EACR,GAAG,GAAE,MAA+B,EACpC,IAAI,CAAC,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,GACpB,IAAI;IA0BP;;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;IAgBvB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Intelligent caching system for WordPress MCP Server
|
|
3
3
|
* Implements multi-layer caching with TTL, LRU eviction, and site-specific keys
|
|
4
4
|
*/
|
|
5
|
-
import * as crypto from
|
|
5
|
+
import * as crypto from "crypto";
|
|
6
6
|
/**
|
|
7
7
|
* High-performance in-memory cache with TTL and LRU eviction
|
|
8
8
|
*/
|
|
@@ -10,12 +10,13 @@ export class CacheManager {
|
|
|
10
10
|
config;
|
|
11
11
|
cache = new Map();
|
|
12
12
|
accessOrder = [];
|
|
13
|
+
cleanupInterval = null;
|
|
13
14
|
stats = {
|
|
14
15
|
hits: 0,
|
|
15
16
|
misses: 0,
|
|
16
17
|
evictions: 0,
|
|
17
18
|
totalSize: 0,
|
|
18
|
-
hitRate: 0
|
|
19
|
+
hitRate: 0,
|
|
19
20
|
};
|
|
20
21
|
constructor(config) {
|
|
21
22
|
this.config = config;
|
|
@@ -32,9 +33,9 @@ export class CacheManager {
|
|
|
32
33
|
}
|
|
33
34
|
// Create deterministic hash of parameters
|
|
34
35
|
const paramHash = crypto
|
|
35
|
-
.createHash(
|
|
36
|
+
.createHash("md5")
|
|
36
37
|
.update(JSON.stringify(this.normalizeParams(params)))
|
|
37
|
-
.digest(
|
|
38
|
+
.digest("hex")
|
|
38
39
|
.substring(0, 8);
|
|
39
40
|
return `${baseKey}:${paramHash}`;
|
|
40
41
|
}
|
|
@@ -79,7 +80,7 @@ export class CacheManager {
|
|
|
79
80
|
etag,
|
|
80
81
|
lastModified,
|
|
81
82
|
accessCount: 1,
|
|
82
|
-
lastAccessed: Date.now()
|
|
83
|
+
lastAccessed: Date.now(),
|
|
83
84
|
};
|
|
84
85
|
// If updating existing entry, remove from access order first
|
|
85
86
|
if (this.cache.has(key)) {
|
|
@@ -181,10 +182,10 @@ export class CacheManager {
|
|
|
181
182
|
return {};
|
|
182
183
|
const headers = {};
|
|
183
184
|
if (entry.etag) {
|
|
184
|
-
headers[
|
|
185
|
+
headers["If-None-Match"] = entry.etag;
|
|
185
186
|
}
|
|
186
187
|
if (entry.lastModified) {
|
|
187
|
-
headers[
|
|
188
|
+
headers["If-Modified-Since"] = entry.lastModified;
|
|
188
189
|
}
|
|
189
190
|
return headers;
|
|
190
191
|
}
|
|
@@ -231,7 +232,7 @@ export class CacheManager {
|
|
|
231
232
|
* Normalize parameters for consistent hashing
|
|
232
233
|
*/
|
|
233
234
|
normalizeParams(params) {
|
|
234
|
-
if (typeof params !==
|
|
235
|
+
if (typeof params !== "object" || params === null) {
|
|
235
236
|
return params;
|
|
236
237
|
}
|
|
237
238
|
// Sort object keys for consistent hashing
|
|
@@ -253,10 +254,19 @@ export class CacheManager {
|
|
|
253
254
|
* Start periodic cleanup of expired entries
|
|
254
255
|
*/
|
|
255
256
|
startCleanupInterval() {
|
|
256
|
-
setInterval(() => {
|
|
257
|
+
this.cleanupInterval = setInterval(() => {
|
|
257
258
|
this.cleanupExpired();
|
|
258
259
|
}, 60000); // Cleanup every minute
|
|
259
260
|
}
|
|
261
|
+
/**
|
|
262
|
+
* Stop the cleanup interval and clean up resources
|
|
263
|
+
*/
|
|
264
|
+
destroy() {
|
|
265
|
+
if (this.cleanupInterval) {
|
|
266
|
+
clearInterval(this.cleanupInterval);
|
|
267
|
+
this.cleanupInterval = null;
|
|
268
|
+
}
|
|
269
|
+
}
|
|
260
270
|
/**
|
|
261
271
|
* Remove expired entries
|
|
262
272
|
*/
|
|
@@ -282,27 +292,27 @@ export const CachePresets = {
|
|
|
282
292
|
// Static data: site settings, user roles
|
|
283
293
|
STATIC: {
|
|
284
294
|
ttl: 4 * 60 * 60 * 1000, // 4 hours
|
|
285
|
-
cacheControl:
|
|
295
|
+
cacheControl: "public, max-age=14400",
|
|
286
296
|
},
|
|
287
|
-
// Semi-static: categories, tags, user profiles
|
|
297
|
+
// Semi-static: categories, tags, user profiles
|
|
288
298
|
SEMI_STATIC: {
|
|
289
299
|
ttl: 2 * 60 * 60 * 1000, // 2 hours
|
|
290
|
-
cacheControl:
|
|
300
|
+
cacheControl: "public, max-age=7200",
|
|
291
301
|
},
|
|
292
302
|
// Dynamic: posts, pages, comments
|
|
293
303
|
DYNAMIC: {
|
|
294
304
|
ttl: 15 * 60 * 1000, // 15 minutes
|
|
295
|
-
cacheControl:
|
|
305
|
+
cacheControl: "public, max-age=900",
|
|
296
306
|
},
|
|
297
307
|
// Session: authentication, current user
|
|
298
308
|
SESSION: {
|
|
299
309
|
ttl: 30 * 60 * 1000, // 30 minutes
|
|
300
|
-
cacheControl:
|
|
310
|
+
cacheControl: "private, max-age=1800",
|
|
301
311
|
},
|
|
302
312
|
// Fast changing: real-time data
|
|
303
313
|
REALTIME: {
|
|
304
314
|
ttl: 60 * 1000, // 1 minute
|
|
305
|
-
cacheControl:
|
|
306
|
-
}
|
|
315
|
+
cacheControl: "public, max-age=60",
|
|
316
|
+
},
|
|
307
317
|
};
|
|
308
318
|
//# sourceMappingURL=CacheManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AA4BjC;;GAEG;AACH,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"CacheManager.js","sourceRoot":"","sources":["../../src/cache/CacheManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* HTTP-level caching wrapper with ETags and Cache-Control headers
|
|
3
3
|
* Implements WordPress REST API caching best practices
|
|
4
4
|
*/
|
|
5
|
-
import { CacheManager } from
|
|
5
|
+
import { CacheManager } from "./CacheManager.js";
|
|
6
6
|
export interface HttpCacheOptions {
|
|
7
7
|
ttl?: number;
|
|
8
8
|
cacheControl?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HttpCacheWrapper.d.ts","sourceRoot":"","sources":["../../src/cache/HttpCacheWrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAG/D,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;gBADN,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM;IAGxB;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,SAAS,EAAE,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"HttpCacheWrapper.d.ts","sourceRoot":"","sources":["../../src/cache/HttpCacheWrapper.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAgB,MAAM,mBAAmB,CAAC;AAG/D,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,GAAG,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAEzB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,MAAM;gBADN,YAAY,EAAE,YAAY,EAC1B,MAAM,EAAE,MAAM;IAGxB;;OAEG;IACG,OAAO,CAAC,CAAC,GAAG,GAAG,EACnB,SAAS,EAAE,MAAM,OAAO,CAAC;QACvB,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACjC,CAAC,EACF,OAAO,EAAE,cAAc,EACvB,YAAY,CAAC,EAAE,gBAAgB,GAC9B,OAAO,CAAC;QACT,IAAI,EAAE,CAAC,CAAC;QACR,MAAM,EAAE,MAAM,CAAC;QACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAChC,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IAkEF;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,GAAG,GAAG,IAAI;IAShD;;OAEG;IACH,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAK1C;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,IAAI,CAAC,CAAC,EACJ,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,CAAC,EACP,MAAM,CAAC,EAAE,GAAG,EACZ,YAAY,CAAC,EAAE,gBAAgB,GAC9B,IAAI;IA2BP;;OAEG;IACH,QAAQ;IAIR;;OAEG;IACH,OAAO,CAAC,gBAAgB;IASxB;;OAEG;IACH,OAAO,CAAC,eAAe;IAMvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;YACW,yBAAyB;IAavC;;OAEG;YACW,cAAc;IAiD5B;;OAEG;IACH,OAAO,CAAC,YAAY;IAQpB;;OAEG;IACH,OAAO,CAAC,aAAa;IAoBrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgB9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAmB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAK5B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,sBAAsB;CAI/B"}
|