mcp-wordpress 2.5.0 → 2.5.2

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.
Files changed (30) hide show
  1. package/README.md +19 -15
  2. package/bin/status.js +1 -1
  3. package/dist/config/ServerConfiguration.d.ts.map +1 -1
  4. package/dist/config/ServerConfiguration.js +23 -2
  5. package/dist/config/ServerConfiguration.js.map +1 -1
  6. package/docs/INSTALLATION.md +4 -2
  7. package/docs/TROUBLESHOOTING.md +2 -1
  8. package/docs/developer/TESTING.md +24 -19
  9. package/docs/integrations/claude-desktop.md +9 -4
  10. package/docs/user-guides/DXT_INSTALLATION.md +2 -1
  11. package/package.json +28 -29
  12. package/src/config/ServerConfiguration.ts +22 -2
  13. package/dist/ajv-patch.js +0 -34
  14. package/dist/cache/__tests__/CacheInvalidation.test.d.ts +0 -5
  15. package/dist/cache/__tests__/CacheInvalidation.test.d.ts.map +0 -1
  16. package/dist/cache/__tests__/CacheInvalidation.test.js +0 -238
  17. package/dist/cache/__tests__/CacheInvalidation.test.js.map +0 -1
  18. package/dist/cache/__tests__/CacheManager.test.d.ts +0 -5
  19. package/dist/cache/__tests__/CacheManager.test.d.ts.map +0 -1
  20. package/dist/cache/__tests__/CacheManager.test.js +0 -233
  21. package/dist/cache/__tests__/CacheManager.test.js.map +0 -1
  22. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts +0 -5
  23. package/dist/cache/__tests__/CachedWordPressClient.test.d.ts.map +0 -1
  24. package/dist/cache/__tests__/CachedWordPressClient.test.js +0 -231
  25. package/dist/cache/__tests__/CachedWordPressClient.test.js.map +0 -1
  26. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts +0 -5
  27. package/dist/cache/__tests__/HttpCacheWrapper.test.d.ts.map +0 -1
  28. package/dist/cache/__tests__/HttpCacheWrapper.test.js +0 -300
  29. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +0 -1
  30. package/dist/dxt-entry.cjs +0 -81
@@ -1,238 +0,0 @@
1
- /**
2
- * Tests for CacheInvalidation
3
- */
4
- import { CacheManager } from "../CacheManager.js";
5
- import { HttpCacheWrapper } from "../HttpCacheWrapper.js";
6
- import { CacheInvalidation, WordPressCachePatterns, } from "../CacheInvalidation.js";
7
- describe("CacheInvalidation", () => {
8
- let cacheManager;
9
- let httpCache;
10
- let cacheInvalidation;
11
- beforeEach(() => {
12
- cacheManager = new CacheManager({
13
- maxSize: 100,
14
- defaultTTL: 10000,
15
- enableLRU: true,
16
- enableStats: true,
17
- });
18
- httpCache = new HttpCacheWrapper(cacheManager, "test-site");
19
- cacheInvalidation = new CacheInvalidation(httpCache);
20
- });
21
- afterEach(() => {
22
- cacheManager.clear();
23
- });
24
- describe("Default Invalidation Rules", () => {
25
- test("should have default rules for posts", () => {
26
- const rules = cacheInvalidation.getRules();
27
- expect(rules.posts).toBeDefined();
28
- expect(rules.posts.length).toBeGreaterThan(0);
29
- const createRule = rules.posts.find((r) => r.trigger === "create");
30
- expect(createRule).toBeDefined();
31
- expect(createRule?.patterns).toContain("posts");
32
- expect(createRule?.immediate).toBe(true);
33
- expect(createRule?.cascade).toBe(true);
34
- });
35
- test("should have default rules for categories", () => {
36
- const rules = cacheInvalidation.getRules();
37
- expect(rules.categories).toBeDefined();
38
- const updateRule = rules.categories.find((r) => r.trigger === "update");
39
- expect(updateRule).toBeDefined();
40
- expect(updateRule?.patterns).toContain("categories/\\d+");
41
- expect(updateRule?.cascade).toBe(true);
42
- });
43
- test("should have default rules for users", () => {
44
- const rules = cacheInvalidation.getRules();
45
- expect(rules.users).toBeDefined();
46
- const deleteRule = rules.users.find((r) => r.trigger === "delete");
47
- expect(deleteRule).toBeDefined();
48
- expect(deleteRule?.patterns).toContain("users");
49
- });
50
- });
51
- describe("Custom Invalidation Rules", () => {
52
- test("should register custom invalidation rules", () => {
53
- const customRule = {
54
- trigger: "update",
55
- patterns: ["custom-endpoint.*"],
56
- immediate: true,
57
- };
58
- cacheInvalidation.registerRule("custom", customRule);
59
- const rules = cacheInvalidation.getRules();
60
- expect(rules.custom).toBeDefined();
61
- expect(rules.custom).toContain(customRule);
62
- });
63
- test("should support multiple rules per resource", () => {
64
- const rule1 = {
65
- trigger: "create",
66
- patterns: ["test.*"],
67
- immediate: true,
68
- };
69
- const rule2 = {
70
- trigger: "update",
71
- patterns: ["test/\\d+"],
72
- immediate: false,
73
- };
74
- cacheInvalidation.registerRule("test", rule1);
75
- cacheInvalidation.registerRule("test", rule2);
76
- const rules = cacheInvalidation.getRules();
77
- expect(rules.test).toHaveLength(2);
78
- expect(rules.test).toContain(rule1);
79
- expect(rules.test).toContain(rule2);
80
- });
81
- });
82
- describe("Event Processing", () => {
83
- test("should process invalidation events", async () => {
84
- // Pre-populate cache with some test data
85
- httpCache.warm("posts", [{ id: 1 }, { id: 2 }]);
86
- httpCache.warm("posts/1", { id: 1, title: "Test Post" });
87
- httpCache.warm("categories", [{ id: 1 }]);
88
- expect(cacheManager.getStats().totalSize).toBe(3);
89
- // Trigger post creation event
90
- await cacheInvalidation.trigger({
91
- type: "create",
92
- resource: "posts",
93
- id: 3,
94
- siteId: "test-site",
95
- timestamp: Date.now(),
96
- });
97
- // Should invalidate posts listings but not specific post
98
- const stats = cacheManager.getStats();
99
- expect(stats.totalSize).toBeLessThan(3);
100
- });
101
- test("should process events in queue order", async () => {
102
- const processedEvents = [];
103
- // Mock the invalidation process to track order
104
- const originalInvalidatePattern = httpCache.invalidatePattern;
105
- httpCache.invalidatePattern = jest
106
- .fn()
107
- .mockImplementation((pattern) => {
108
- processedEvents.push(pattern);
109
- return originalInvalidatePattern.call(httpCache, pattern);
110
- });
111
- // Queue multiple events
112
- await Promise.all([
113
- cacheInvalidation.trigger({
114
- type: "create",
115
- resource: "posts",
116
- siteId: "test-site",
117
- timestamp: Date.now(),
118
- }),
119
- cacheInvalidation.trigger({
120
- type: "update",
121
- resource: "categories",
122
- siteId: "test-site",
123
- timestamp: Date.now(),
124
- }),
125
- ]);
126
- expect(processedEvents.length).toBeGreaterThan(0);
127
- });
128
- test("should handle resource invalidation by type", async () => {
129
- httpCache.warm("posts", [{ id: 1 }]);
130
- httpCache.warm("posts/1", { id: 1 });
131
- expect(cacheManager.getStats().totalSize).toBe(2);
132
- await cacheInvalidation.invalidateResource("posts", 1, "update");
133
- // Should clear specific post and related caches
134
- const stats = cacheManager.getStats();
135
- expect(stats.totalSize).toBeLessThan(2);
136
- });
137
- });
138
- describe("Pattern Matching", () => {
139
- test("should replace placeholders in patterns", async () => {
140
- // Pre-populate cache
141
- httpCache.warm("posts/123", { id: 123 });
142
- httpCache.warm("posts/456", { id: 456 });
143
- httpCache.warm("pages/123", { id: 123 });
144
- expect(cacheManager.getStats().totalSize).toBe(3);
145
- // Trigger event with specific ID
146
- await cacheInvalidation.trigger({
147
- type: "update",
148
- resource: "posts",
149
- id: 123,
150
- siteId: "test-site",
151
- timestamp: Date.now(),
152
- });
153
- // Should only invalidate posts/123, not posts/456 or pages/123
154
- const remainingKeys = [];
155
- for (const [key] of cacheManager.cache.entries()) {
156
- remainingKeys.push(key);
157
- }
158
- expect(remainingKeys).not.toContain(expect.stringContaining("posts"));
159
- });
160
- });
161
- describe("Statistics", () => {
162
- test("should track invalidation statistics", () => {
163
- const stats = cacheInvalidation.getStats();
164
- expect(stats).toHaveProperty("queueSize");
165
- expect(stats).toHaveProperty("rulesCount");
166
- expect(stats).toHaveProperty("processing");
167
- expect(typeof stats.queueSize).toBe("number");
168
- expect(typeof stats.rulesCount).toBe("number");
169
- expect(typeof stats.processing).toBe("boolean");
170
- expect(stats.rulesCount).toBeGreaterThan(0);
171
- });
172
- test("should clear rules", () => {
173
- const initialStats = cacheInvalidation.getStats();
174
- expect(initialStats.rulesCount).toBeGreaterThan(0);
175
- cacheInvalidation.clearRules();
176
- const clearedStats = cacheInvalidation.getStats();
177
- expect(clearedStats.rulesCount).toBe(0);
178
- });
179
- });
180
- });
181
- describe("WordPressCachePatterns", () => {
182
- let cacheManager;
183
- let httpCache;
184
- beforeEach(() => {
185
- cacheManager = new CacheManager({
186
- maxSize: 100,
187
- defaultTTL: 10000,
188
- enableLRU: true,
189
- enableStats: true,
190
- });
191
- httpCache = new HttpCacheWrapper(cacheManager, "test-site");
192
- });
193
- afterEach(() => {
194
- cacheManager.clear();
195
- });
196
- test("should invalidate content-related caches", () => {
197
- // Pre-populate cache
198
- httpCache.warm("posts", []);
199
- httpCache.warm("pages", []);
200
- httpCache.warm("comments", []);
201
- httpCache.warm("categories", []);
202
- expect(cacheManager.getStats().totalSize).toBe(4);
203
- const invalidated = WordPressCachePatterns.invalidateContent(httpCache);
204
- expect(invalidated).toBeGreaterThan(0);
205
- // Should invalidate posts, pages, comments but not categories
206
- expect(cacheManager.getStats().totalSize).toBeLessThan(4);
207
- });
208
- test("should invalidate taxonomy-related caches", () => {
209
- httpCache.warm("categories", []);
210
- httpCache.warm("tags", []);
211
- httpCache.warm("posts", []);
212
- expect(cacheManager.getStats().totalSize).toBe(3);
213
- const invalidated = WordPressCachePatterns.invalidateTaxonomies(httpCache);
214
- expect(invalidated).toBeGreaterThan(0);
215
- // Should invalidate categories and tags but not posts
216
- expect(cacheManager.getStats().totalSize).toBeLessThan(3);
217
- });
218
- test("should invalidate user-related caches", () => {
219
- httpCache.warm("users", []);
220
- httpCache.warm("users/me", {});
221
- httpCache.warm("posts", []);
222
- expect(cacheManager.getStats().totalSize).toBe(3);
223
- const invalidated = WordPressCachePatterns.invalidateUsers(httpCache);
224
- expect(invalidated).toBeGreaterThan(0);
225
- // Should invalidate user caches but not posts
226
- expect(cacheManager.getStats().totalSize).toBeLessThan(3);
227
- });
228
- test("should invalidate all caches", () => {
229
- httpCache.warm("posts", []);
230
- httpCache.warm("categories", []);
231
- httpCache.warm("users", []);
232
- expect(cacheManager.getStats().totalSize).toBe(3);
233
- const invalidated = WordPressCachePatterns.invalidateAll(httpCache);
234
- expect(invalidated).toBe(3);
235
- expect(cacheManager.getStats().totalSize).toBe(0);
236
- });
237
- });
238
- //# sourceMappingURL=CacheInvalidation.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheInvalidation.test.js","sourceRoot":"","sources":["../../../src/cache/__tests__/CacheInvalidation.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for CacheManager
3
- */
4
- export {};
5
- //# sourceMappingURL=CacheManager.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheManager.test.d.ts","sourceRoot":"","sources":["../../../src/cache/__tests__/CacheManager.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -1,233 +0,0 @@
1
- /**
2
- * Tests for CacheManager
3
- */
4
- import { CacheManager, CachePresets } from "../CacheManager.js";
5
- describe("CacheManager", () => {
6
- let cacheManager;
7
- beforeEach(() => {
8
- cacheManager = new CacheManager({
9
- maxSize: 100,
10
- defaultTTL: 1000,
11
- enableLRU: true,
12
- enableStats: true,
13
- });
14
- });
15
- afterEach(() => {
16
- cacheManager.clear();
17
- });
18
- describe("Basic Operations", () => {
19
- test("should store and retrieve values", () => {
20
- const key = "test-key";
21
- const value = { data: "test value" };
22
- cacheManager.set(key, value);
23
- const retrieved = cacheManager.get(key);
24
- expect(retrieved).toEqual(value);
25
- });
26
- test("should return null for non-existent keys", () => {
27
- const result = cacheManager.get("non-existent");
28
- expect(result).toBeNull();
29
- });
30
- test("should check if key exists", () => {
31
- const key = "exists-test";
32
- expect(cacheManager.has(key)).toBe(false);
33
- cacheManager.set(key, "value");
34
- expect(cacheManager.has(key)).toBe(true);
35
- });
36
- test("should delete entries", () => {
37
- const key = "delete-test";
38
- cacheManager.set(key, "value");
39
- expect(cacheManager.has(key)).toBe(true);
40
- const deleted = cacheManager.delete(key);
41
- expect(deleted).toBe(true);
42
- expect(cacheManager.has(key)).toBe(false);
43
- });
44
- test("should clear all entries", () => {
45
- cacheManager.set("key1", "value1");
46
- cacheManager.set("key2", "value2");
47
- expect(cacheManager.getStats().totalSize).toBe(2);
48
- cacheManager.clear();
49
- expect(cacheManager.getStats().totalSize).toBe(0);
50
- expect(cacheManager.has("key1")).toBe(false);
51
- expect(cacheManager.has("key2")).toBe(false);
52
- });
53
- });
54
- describe("TTL and Expiration", () => {
55
- test("should expire entries after TTL", async () => {
56
- const key = "ttl-test";
57
- const shortTTL = 50; // 50ms
58
- cacheManager.set(key, "value", shortTTL);
59
- expect(cacheManager.get(key)).toBe("value");
60
- // Wait for expiration
61
- await new Promise((resolve) => setTimeout(resolve, 100));
62
- expect(cacheManager.get(key)).toBeNull();
63
- });
64
- test("should not expire entries before TTL", () => {
65
- const key = "no-expire-test";
66
- const longTTL = 10000; // 10 seconds
67
- cacheManager.set(key, "value", longTTL);
68
- expect(cacheManager.get(key)).toBe("value");
69
- });
70
- test("should use default TTL when not specified", () => {
71
- const key = "default-ttl-test";
72
- cacheManager.set(key, "value");
73
- const entry = cacheManager.getEntry(key);
74
- expect(entry?.ttl).toBe(1000);
75
- });
76
- });
77
- describe("Key Generation", () => {
78
- test("should generate consistent keys for same parameters", () => {
79
- const siteId = "site1";
80
- const endpoint = "posts";
81
- const params = { per_page: 10, status: "publish" };
82
- const key1 = cacheManager.generateKey(siteId, endpoint, params);
83
- const key2 = cacheManager.generateKey(siteId, endpoint, params);
84
- expect(key1).toBe(key2);
85
- });
86
- test("should generate different keys for different parameters", () => {
87
- const siteId = "site1";
88
- const endpoint = "posts";
89
- const params1 = { per_page: 10 };
90
- const params2 = { per_page: 20 };
91
- const key1 = cacheManager.generateKey(siteId, endpoint, params1);
92
- const key2 = cacheManager.generateKey(siteId, endpoint, params2);
93
- expect(key1).not.toBe(key2);
94
- });
95
- test("should include site ID in key", () => {
96
- const endpoint = "posts";
97
- const params = { per_page: 10 };
98
- const key1 = cacheManager.generateKey("site1", endpoint, params);
99
- const key2 = cacheManager.generateKey("site2", endpoint, params);
100
- expect(key1).toContain("site1:");
101
- expect(key2).toContain("site2:");
102
- expect(key1).not.toBe(key2);
103
- });
104
- test("should handle undefined parameters", () => {
105
- const key1 = cacheManager.generateKey("site1", "posts");
106
- const key2 = cacheManager.generateKey("site1", "posts", undefined);
107
- const key3 = cacheManager.generateKey("site1", "posts", {});
108
- expect(key1).toBe(key2);
109
- expect(key1).toBe(key3);
110
- });
111
- });
112
- describe("Site-Specific Operations", () => {
113
- test("should clear cache for specific site", () => {
114
- cacheManager.set("site1:posts:abc123", "value1");
115
- cacheManager.set("site1:pages:def456", "value2");
116
- cacheManager.set("site2:posts:ghi789", "value3");
117
- const cleared = cacheManager.clearSite("site1");
118
- expect(cleared).toBe(2);
119
- expect(cacheManager.has("site1:posts:abc123")).toBe(false);
120
- expect(cacheManager.has("site1:pages:def456")).toBe(false);
121
- expect(cacheManager.has("site2:posts:ghi789")).toBe(true);
122
- });
123
- test("should clear cache matching pattern", () => {
124
- cacheManager.set("site1:posts:list", "value1");
125
- cacheManager.set("site1:posts:123", "value2");
126
- cacheManager.set("site1:pages:456", "value3");
127
- const pattern = /site1:posts/;
128
- const cleared = cacheManager.clearPattern(pattern);
129
- expect(cleared).toBe(2);
130
- expect(cacheManager.has("site1:posts:list")).toBe(false);
131
- expect(cacheManager.has("site1:posts:123")).toBe(false);
132
- expect(cacheManager.has("site1:pages:456")).toBe(true);
133
- });
134
- });
135
- describe("LRU Eviction", () => {
136
- test("should evict least recently used items when at capacity", () => {
137
- const smallCache = new CacheManager({
138
- maxSize: 3,
139
- defaultTTL: 10000,
140
- enableLRU: true,
141
- enableStats: true,
142
- });
143
- // Fill cache to capacity
144
- smallCache.set("key1", "value1");
145
- smallCache.set("key2", "value2");
146
- smallCache.set("key3", "value3");
147
- expect(smallCache.getStats().totalSize).toBe(3);
148
- // Access key1 to make it more recently used
149
- smallCache.get("key1");
150
- // Add new item, should evict key2 (least recently used)
151
- smallCache.set("key4", "value4");
152
- expect(smallCache.has("key1")).toBe(true); // Recently accessed
153
- expect(smallCache.has("key2")).toBe(false); // Should be evicted
154
- expect(smallCache.has("key3")).toBe(true); // Recently added
155
- expect(smallCache.has("key4")).toBe(true); // Just added
156
- expect(smallCache.getStats().evictions).toBe(1);
157
- });
158
- });
159
- describe("ETags and Conditional Requests", () => {
160
- test("should store and retrieve ETags", () => {
161
- const key = "etag-test";
162
- const value = { data: "test" };
163
- const etag = "\"abc123\"";
164
- cacheManager.set(key, value, 1000, etag);
165
- const entry = cacheManager.getEntry(key);
166
- expect(entry?.etag).toBe(etag);
167
- });
168
- test("should support conditional request headers", () => {
169
- const key = "conditional-test";
170
- const etag = "\"abc123\"";
171
- const lastModified = "Wed, 21 Oct 2015 07:28:00 GMT";
172
- cacheManager.set(key, { data: "test" }, 1000, etag, lastModified);
173
- expect(cacheManager.supportsConditionalRequest(key)).toBe(true);
174
- const headers = cacheManager.getConditionalHeaders(key);
175
- expect(headers["If-None-Match"]).toBe(etag);
176
- expect(headers["If-Modified-Since"]).toBe(lastModified);
177
- });
178
- test("should not support conditional requests without ETags", () => {
179
- const key = "no-etag-test";
180
- cacheManager.set(key, { data: "test" });
181
- expect(cacheManager.supportsConditionalRequest(key)).toBe(false);
182
- expect(cacheManager.getConditionalHeaders(key)).toEqual({});
183
- });
184
- });
185
- describe("Statistics", () => {
186
- test("should track cache hits and misses", () => {
187
- const key = "stats-test";
188
- // Miss
189
- cacheManager.get(key);
190
- let stats = cacheManager.getStats();
191
- expect(stats.misses).toBe(1);
192
- expect(stats.hits).toBe(0);
193
- // Hit
194
- cacheManager.set(key, "value");
195
- cacheManager.get(key);
196
- stats = cacheManager.getStats();
197
- expect(stats.hits).toBe(1);
198
- expect(stats.misses).toBe(1);
199
- expect(stats.hitRate).toBe(0.5);
200
- });
201
- test("should track total size", () => {
202
- const stats1 = cacheManager.getStats();
203
- expect(stats1.totalSize).toBe(0);
204
- cacheManager.set("key1", "value1");
205
- cacheManager.set("key2", "value2");
206
- const stats2 = cacheManager.getStats();
207
- expect(stats2.totalSize).toBe(2);
208
- });
209
- test("should calculate hit rate correctly", () => {
210
- cacheManager.set("key1", "value1");
211
- // 3 hits, 2 misses = 60% hit rate
212
- cacheManager.get("key1"); // hit
213
- cacheManager.get("key1"); // hit
214
- cacheManager.get("key1"); // hit
215
- cacheManager.get("key2"); // miss
216
- cacheManager.get("key3"); // miss
217
- const stats = cacheManager.getStats();
218
- expect(stats.hits).toBe(3);
219
- expect(stats.misses).toBe(2);
220
- expect(stats.hitRate).toBe(0.6);
221
- });
222
- });
223
- describe("Cache Presets", () => {
224
- test("should have predefined cache presets", () => {
225
- expect(CachePresets.STATIC.ttl).toBeGreaterThan(CachePresets.DYNAMIC.ttl);
226
- expect(CachePresets.SEMI_STATIC.ttl).toBeGreaterThan(CachePresets.DYNAMIC.ttl);
227
- expect(CachePresets.SESSION.ttl).toBeGreaterThan(CachePresets.DYNAMIC.ttl);
228
- expect(CachePresets.STATIC.cacheControl).toContain("public");
229
- expect(CachePresets.SESSION.cacheControl).toContain("private");
230
- });
231
- });
232
- });
233
- //# sourceMappingURL=CacheManager.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CacheManager.test.js","sourceRoot":"","sources":["../../../src/cache/__tests__/CacheManager.test.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for CachedWordPressClient
3
- */
4
- export {};
5
- //# sourceMappingURL=CachedWordPressClient.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CachedWordPressClient.test.d.ts","sourceRoot":"","sources":["../../../src/cache/__tests__/CachedWordPressClient.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}