mcp-wordpress 1.2.2 → 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 +210 -182
- 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 +24 -18
- 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 +29 -3
- 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 +27 -8
- 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
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
* Cached WordPress API Client
|
|
3
3
|
* Extends the base WordPress client with intelligent caching capabilities and performance monitoring
|
|
4
4
|
*/
|
|
5
|
-
import { WordPressClient } from
|
|
6
|
-
import { CacheManager } from
|
|
7
|
-
import { HttpCacheWrapper } from
|
|
8
|
-
import { CacheInvalidation } from
|
|
9
|
-
import { SecurityConfig } from
|
|
5
|
+
import { WordPressClient } from "./api.js";
|
|
6
|
+
import { CacheManager } from "../cache/CacheManager.js";
|
|
7
|
+
import { HttpCacheWrapper } from "../cache/HttpCacheWrapper.js";
|
|
8
|
+
import { CacheInvalidation } from "../cache/CacheInvalidation.js";
|
|
9
|
+
import { SecurityConfig } from "../security/SecurityConfig.js";
|
|
10
10
|
/**
|
|
11
11
|
* WordPress client with intelligent caching
|
|
12
12
|
*/
|
|
@@ -15,7 +15,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
15
15
|
httpCache;
|
|
16
16
|
cacheInvalidation;
|
|
17
17
|
siteId;
|
|
18
|
-
constructor(config, siteId =
|
|
18
|
+
constructor(config, siteId = "default") {
|
|
19
19
|
super(config);
|
|
20
20
|
this.siteId = siteId;
|
|
21
21
|
// Initialize caching system
|
|
@@ -24,7 +24,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
24
24
|
defaultTTL: SecurityConfig.cache.defaultTTL,
|
|
25
25
|
enableLRU: SecurityConfig.cache.enableLRU,
|
|
26
26
|
enableStats: SecurityConfig.cache.enableStats,
|
|
27
|
-
sitePrefix: siteId
|
|
27
|
+
sitePrefix: siteId,
|
|
28
28
|
});
|
|
29
29
|
this.httpCache = new HttpCacheWrapper(this.cacheManager, siteId);
|
|
30
30
|
this.cacheInvalidation = new CacheInvalidation(this.httpCache);
|
|
@@ -34,10 +34,10 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
34
34
|
*/
|
|
35
35
|
async request(method, endpoint, data = null, options = {}) {
|
|
36
36
|
// Only cache GET requests
|
|
37
|
-
if (method.toUpperCase() !==
|
|
37
|
+
if (method.toUpperCase() !== "GET" || !SecurityConfig.cache.enabled) {
|
|
38
38
|
const response = await super.request(method, endpoint, data, options);
|
|
39
39
|
// Trigger cache invalidation for write operations
|
|
40
|
-
if ([
|
|
40
|
+
if (["POST", "PUT", "PATCH", "DELETE"].includes(method.toUpperCase())) {
|
|
41
41
|
await this.handleCacheInvalidation(method, endpoint, data);
|
|
42
42
|
}
|
|
43
43
|
return response;
|
|
@@ -49,7 +49,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
49
49
|
url: `${this.config.baseUrl}/wp-json/wp/v2/${endpoint}`,
|
|
50
50
|
headers: {},
|
|
51
51
|
params: {},
|
|
52
|
-
data
|
|
52
|
+
data,
|
|
53
53
|
};
|
|
54
54
|
const cacheOptions = this.getCacheOptions(endpoint);
|
|
55
55
|
const response = await this.httpCache.request(async () => {
|
|
@@ -57,7 +57,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
57
57
|
return {
|
|
58
58
|
data: result,
|
|
59
59
|
status: 200,
|
|
60
|
-
headers: {}
|
|
60
|
+
headers: {},
|
|
61
61
|
};
|
|
62
62
|
}, requestOptions, cacheOptions);
|
|
63
63
|
return response.data;
|
|
@@ -69,13 +69,15 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
69
69
|
* Get posts with intelligent caching
|
|
70
70
|
*/
|
|
71
71
|
async getPosts(params = {}) {
|
|
72
|
-
return await this.request(
|
|
72
|
+
return await this.request("GET", "posts", null, {
|
|
73
|
+
params,
|
|
74
|
+
});
|
|
73
75
|
}
|
|
74
76
|
/**
|
|
75
77
|
* Get single post with caching
|
|
76
78
|
*/
|
|
77
79
|
async getPost(id) {
|
|
78
|
-
return await this.request(
|
|
80
|
+
return await this.request("GET", `posts/${id}`);
|
|
79
81
|
}
|
|
80
82
|
/**
|
|
81
83
|
* Create post with cache invalidation
|
|
@@ -83,7 +85,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
83
85
|
async createPost(data) {
|
|
84
86
|
const post = await super.createPost(data);
|
|
85
87
|
// Invalidate related caches
|
|
86
|
-
await this.cacheInvalidation.invalidateResource(
|
|
88
|
+
await this.cacheInvalidation.invalidateResource("posts", post.id, "create");
|
|
87
89
|
return post;
|
|
88
90
|
}
|
|
89
91
|
/**
|
|
@@ -92,7 +94,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
92
94
|
async updatePost(data) {
|
|
93
95
|
const post = await super.updatePost(data);
|
|
94
96
|
// Invalidate related caches
|
|
95
|
-
await this.cacheInvalidation.invalidateResource(
|
|
97
|
+
await this.cacheInvalidation.invalidateResource("posts", post.id, "update");
|
|
96
98
|
return post;
|
|
97
99
|
}
|
|
98
100
|
/**
|
|
@@ -101,32 +103,34 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
101
103
|
async deletePost(id, force) {
|
|
102
104
|
const result = await super.deletePost(id, force);
|
|
103
105
|
// Invalidate related caches
|
|
104
|
-
await this.cacheInvalidation.invalidateResource(
|
|
106
|
+
await this.cacheInvalidation.invalidateResource("posts", id, "delete");
|
|
105
107
|
return result;
|
|
106
108
|
}
|
|
107
109
|
/**
|
|
108
110
|
* Get current user with session caching
|
|
109
111
|
*/
|
|
110
112
|
async getCurrentUser() {
|
|
111
|
-
return await this.request(
|
|
113
|
+
return await this.request("GET", "users/me");
|
|
112
114
|
}
|
|
113
115
|
/**
|
|
114
116
|
* Get categories with semi-static caching
|
|
115
117
|
*/
|
|
116
118
|
async getCategories(params = {}) {
|
|
117
|
-
return await this.request(
|
|
119
|
+
return await this.request("GET", "categories", null, {
|
|
120
|
+
params,
|
|
121
|
+
});
|
|
118
122
|
}
|
|
119
123
|
/**
|
|
120
124
|
* Get tags with semi-static caching
|
|
121
125
|
*/
|
|
122
126
|
async getTags(params = {}) {
|
|
123
|
-
return await this.request(
|
|
127
|
+
return await this.request("GET", "tags", null, { params });
|
|
124
128
|
}
|
|
125
129
|
/**
|
|
126
130
|
* Get site settings with static caching
|
|
127
131
|
*/
|
|
128
132
|
async getSiteSettings() {
|
|
129
|
-
return await this.request(
|
|
133
|
+
return await this.request("GET", "settings");
|
|
130
134
|
}
|
|
131
135
|
/**
|
|
132
136
|
* Cache management methods
|
|
@@ -136,7 +140,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
136
140
|
*/
|
|
137
141
|
extractEndpoint(url) {
|
|
138
142
|
// Simple approach - use the endpoint part
|
|
139
|
-
return url.replace(/^.*\/wp-json\/wp\/v2\//,
|
|
143
|
+
return url.replace(/^.*\/wp-json\/wp\/v2\//, "").split("?")[0];
|
|
140
144
|
}
|
|
141
145
|
/**
|
|
142
146
|
* Get cache options based on endpoint
|
|
@@ -146,26 +150,26 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
146
150
|
if (this.isStaticEndpoint(endpoint)) {
|
|
147
151
|
return {
|
|
148
152
|
ttl: SecurityConfig.cache.ttlPresets.static,
|
|
149
|
-
cacheControl: SecurityConfig.cache.cacheHeaders.static
|
|
153
|
+
cacheControl: SecurityConfig.cache.cacheHeaders.static,
|
|
150
154
|
};
|
|
151
155
|
}
|
|
152
156
|
if (this.isSemiStaticEndpoint(endpoint)) {
|
|
153
157
|
return {
|
|
154
158
|
ttl: SecurityConfig.cache.ttlPresets.semiStatic,
|
|
155
|
-
cacheControl: SecurityConfig.cache.cacheHeaders.semiStatic
|
|
159
|
+
cacheControl: SecurityConfig.cache.cacheHeaders.semiStatic,
|
|
156
160
|
};
|
|
157
161
|
}
|
|
158
162
|
if (this.isSessionEndpoint(endpoint)) {
|
|
159
163
|
return {
|
|
160
164
|
ttl: SecurityConfig.cache.ttlPresets.session,
|
|
161
165
|
cacheControl: SecurityConfig.cache.cacheHeaders.session,
|
|
162
|
-
private: true
|
|
166
|
+
private: true,
|
|
163
167
|
};
|
|
164
168
|
}
|
|
165
169
|
// Default to dynamic caching
|
|
166
170
|
return {
|
|
167
171
|
ttl: SecurityConfig.cache.ttlPresets.dynamic,
|
|
168
|
-
cacheControl: SecurityConfig.cache.cacheHeaders.dynamic
|
|
172
|
+
cacheControl: SecurityConfig.cache.cacheHeaders.dynamic,
|
|
169
173
|
};
|
|
170
174
|
}
|
|
171
175
|
/**
|
|
@@ -176,15 +180,15 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
176
180
|
const id = this.extractIdFromEndpoint(endpoint);
|
|
177
181
|
let operationType;
|
|
178
182
|
switch (method.toUpperCase()) {
|
|
179
|
-
case
|
|
180
|
-
operationType =
|
|
183
|
+
case "POST":
|
|
184
|
+
operationType = "create";
|
|
181
185
|
break;
|
|
182
|
-
case
|
|
183
|
-
case
|
|
184
|
-
operationType =
|
|
186
|
+
case "PUT":
|
|
187
|
+
case "PATCH":
|
|
188
|
+
operationType = "update";
|
|
185
189
|
break;
|
|
186
|
-
case
|
|
187
|
-
operationType =
|
|
190
|
+
case "DELETE":
|
|
191
|
+
operationType = "delete";
|
|
188
192
|
break;
|
|
189
193
|
default:
|
|
190
194
|
return;
|
|
@@ -195,8 +199,8 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
195
199
|
* Extract resource type from endpoint
|
|
196
200
|
*/
|
|
197
201
|
extractResourceFromEndpoint(endpoint) {
|
|
198
|
-
const parts = endpoint.split(
|
|
199
|
-
return parts[0] ||
|
|
202
|
+
const parts = endpoint.split("/");
|
|
203
|
+
return parts[0] || "unknown";
|
|
200
204
|
}
|
|
201
205
|
/**
|
|
202
206
|
* Extract ID from endpoint
|
|
@@ -209,22 +213,22 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
209
213
|
* Check if endpoint contains static data
|
|
210
214
|
*/
|
|
211
215
|
isStaticEndpoint(endpoint) {
|
|
212
|
-
const staticEndpoints = [
|
|
213
|
-
return staticEndpoints.some(pattern => endpoint.includes(pattern));
|
|
216
|
+
const staticEndpoints = ["settings", "types", "statuses"];
|
|
217
|
+
return staticEndpoints.some((pattern) => endpoint.includes(pattern));
|
|
214
218
|
}
|
|
215
219
|
/**
|
|
216
220
|
* Check if endpoint contains semi-static data
|
|
217
221
|
*/
|
|
218
222
|
isSemiStaticEndpoint(endpoint) {
|
|
219
|
-
const semiStaticEndpoints = [
|
|
220
|
-
return semiStaticEndpoints.some(pattern => endpoint.includes(pattern));
|
|
223
|
+
const semiStaticEndpoints = ["categories", "tags", "users", "taxonomies"];
|
|
224
|
+
return semiStaticEndpoints.some((pattern) => endpoint.includes(pattern));
|
|
221
225
|
}
|
|
222
226
|
/**
|
|
223
227
|
* Check if endpoint is session-related
|
|
224
228
|
*/
|
|
225
229
|
isSessionEndpoint(endpoint) {
|
|
226
|
-
const sessionEndpoints = [
|
|
227
|
-
return sessionEndpoints.some(pattern => endpoint.includes(pattern));
|
|
230
|
+
const sessionEndpoints = ["users/me", "application-passwords"];
|
|
231
|
+
return sessionEndpoints.some((pattern) => endpoint.includes(pattern));
|
|
228
232
|
}
|
|
229
233
|
/**
|
|
230
234
|
* Performance monitoring and cache management methods
|
|
@@ -253,7 +257,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
253
257
|
* Clear cache entries matching pattern
|
|
254
258
|
*/
|
|
255
259
|
clearCachePattern(pattern) {
|
|
256
|
-
const regex = new RegExp(pattern,
|
|
260
|
+
const regex = new RegExp(pattern, "i");
|
|
257
261
|
return this.cacheManager.clearPattern(regex);
|
|
258
262
|
}
|
|
259
263
|
/**
|
|
@@ -266,10 +270,10 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
266
270
|
() => this.getCurrentUser().catch(() => null),
|
|
267
271
|
() => this.getCategories().catch(() => null),
|
|
268
272
|
() => this.getTags().catch(() => null),
|
|
269
|
-
() => this.getSiteSettings().catch(() => null)
|
|
273
|
+
() => this.getSiteSettings().catch(() => null),
|
|
270
274
|
];
|
|
271
275
|
// Execute warmup operations in parallel
|
|
272
|
-
await Promise.allSettled(warmupOperations.map(op => op()));
|
|
276
|
+
await Promise.allSettled(warmupOperations.map((op) => op()));
|
|
273
277
|
}
|
|
274
278
|
catch (_error) {
|
|
275
279
|
// Ignore warmup errors - they shouldn't fail the cache warming
|
|
@@ -283,19 +287,19 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
283
287
|
const total = stats.hits + stats.misses;
|
|
284
288
|
const hitRate = total > 0 ? stats.hits / total : 0;
|
|
285
289
|
const missRate = 1 - hitRate;
|
|
286
|
-
let efficiency =
|
|
290
|
+
let efficiency = "Poor";
|
|
287
291
|
if (hitRate >= 0.9)
|
|
288
|
-
efficiency =
|
|
292
|
+
efficiency = "Excellent";
|
|
289
293
|
else if (hitRate >= 0.8)
|
|
290
|
-
efficiency =
|
|
294
|
+
efficiency = "Good";
|
|
291
295
|
else if (hitRate >= 0.6)
|
|
292
|
-
efficiency =
|
|
296
|
+
efficiency = "Fair";
|
|
293
297
|
return {
|
|
294
298
|
hitRate,
|
|
295
299
|
missRate,
|
|
296
300
|
efficiency,
|
|
297
301
|
memoryUsage: this.estimateMemoryUsage(),
|
|
298
|
-
totalEntries: stats.totalSize
|
|
302
|
+
totalEntries: stats.totalSize,
|
|
299
303
|
};
|
|
300
304
|
}
|
|
301
305
|
/**
|
|
@@ -309,7 +313,7 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
309
313
|
maxSize: SecurityConfig.cache.maxSize,
|
|
310
314
|
defaultTTL: SecurityConfig.cache.defaultTTL,
|
|
311
315
|
currentSize: stats.totalSize,
|
|
312
|
-
ttlPresets: SecurityConfig.cache.ttlPresets
|
|
316
|
+
ttlPresets: SecurityConfig.cache.ttlPresets,
|
|
313
317
|
};
|
|
314
318
|
}
|
|
315
319
|
/**
|
|
@@ -330,8 +334,8 @@ export class CachedWordPressClient extends WordPressClient {
|
|
|
330
334
|
configuration: this.getCacheInfo(),
|
|
331
335
|
siteInfo: {
|
|
332
336
|
siteId: this.siteId,
|
|
333
|
-
baseUrl: this.config.baseUrl
|
|
334
|
-
}
|
|
337
|
+
baseUrl: this.config.baseUrl,
|
|
338
|
+
},
|
|
335
339
|
};
|
|
336
340
|
}
|
|
337
341
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CachedWordPressClient.js","sourceRoot":"","sources":["../../src/client/CachedWordPressClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"CachedWordPressClient.js","sourceRoot":"","sources":["../../src/client/CachedWordPressClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAiB/D;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,eAAe;IAChD,YAAY,CAAe;IAC3B,SAAS,CAAmB;IAC5B,iBAAiB,CAAoB;IACrC,MAAM,CAAS;IAEvB,YAAY,MAA6B,EAAE,SAAiB,SAAS;QACnE,KAAK,CAAC,MAAM,CAAC,CAAC;QACd,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QAErB,4BAA4B;QAC5B,IAAI,CAAC,YAAY,GAAG,IAAI,YAAY,CAAC;YACnC,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO;YACrC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU;YAC3C,SAAS,EAAE,cAAc,CAAC,KAAK,CAAC,SAAS;YACzC,WAAW,EAAE,cAAc,CAAC,KAAK,CAAC,WAAW;YAC7C,UAAU,EAAE,MAAM;SACnB,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,GAAG,IAAI,gBAAgB,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CACX,MAAkB,EAClB,QAAgB,EAChB,OAAY,IAAI,EAChB,UAA0B,EAAE;QAE5B,0BAA0B;QAC1B,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;YACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,OAAO,CAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;YAEzE,kDAAkD;YAClD,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;gBACtE,MAAM,IAAI,CAAC,uBAAuB,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;YAC7D,CAAC;YAED,OAAO,QAAQ,CAAC;QAClB,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;QAE1E,MAAM,cAAc,GAAG;YACrB,MAAM;YACN,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,OAAO,kBAAkB,QAAQ,EAAE;YACvD,OAAO,EAAE,EAAE;YACX,MAAM,EAAE,EAAE;YACV,IAAI;SACL,CAAC;QAEF,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,OAAO,CAC3C,KAAK,IAAI,EAAE;YACT,MAAM,MAAM,GAAG,MAAM,SAAS,EAAE,CAAC;YACjC,OAAO;gBACL,IAAI,EAAE,MAAM;gBACZ,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,EAAE;aACZ,CAAC;QACJ,CAAC,EACD,cAAc,EACd,YAAY,CACb,CAAC;QAEF,OAAO,QAAQ,CAAC,IAAI,CAAC;IACvB,CAAC;IAED;;OAEG;IAEH;;OAEG;IACH,KAAK,CAAC,QAAQ,CAAC,SAA0B,EAAE;QACzC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAkB,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE;YAC/D,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,EAAU;QACtB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAgB,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAuB;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE1C,4BAA4B;QAC5B,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CAAC,IAAuB;QACtC,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAE1C,4BAA4B;QAC5B,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAE5E,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,UAAU,CACd,EAAU,EACV,KAAe;QAEf,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAEjD,4BAA4B;QAC5B,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;QAEvE,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,cAAc;QAClB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAgB,KAAK,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,SAAc,EAAE;QAClC,OAAO,MAAM,IAAI,CAAC,OAAO,CAAsB,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE;YACxE,MAAM;SACP,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,SAAc,EAAE;QAC5B,OAAO,MAAM,IAAI,CAAC,OAAO,CAAiB,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,eAAe;QACnB,OAAO,MAAM,IAAI,CAAC,OAAO,CAAwB,KAAK,EAAE,UAAU,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IAEH;;OAEG;IAEK,eAAe,CAAC,GAAW;QACjC,0CAA0C;QAC1C,OAAO,GAAG,CAAC,OAAO,CAAC,wBAAwB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;OAEG;IACK,eAAe,CAAC,QAAgB;QACtC,yCAAyC;QACzC,IAAI,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACpC,OAAO;gBACL,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM;gBAC3C,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM;aACvD,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,oBAAoB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACxC,OAAO;gBACL,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,UAAU;gBAC/C,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,UAAU;aAC3D,CAAC;QACJ,CAAC;QAED,IAAI,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,OAAO;gBACL,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO;gBAC5C,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO;gBACvD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,6BAA6B;QAC7B,OAAO;YACL,GAAG,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO;YAC5C,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO;SACxD,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,uBAAuB,CACnC,MAAc,EACd,QAAgB,EAChB,IAAS;QAET,MAAM,QAAQ,GAAG,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC;QAC5D,MAAM,EAAE,GAAG,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QAEhD,IAAI,aAA6C,CAAC;QAElD,QAAQ,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;YAC/B,KAAK,MAAM;gBACT,aAAa,GAAG,QAAQ,CAAC;gBACzB,MAAM;YACR,KAAK,KAAK,CAAC;YACX,KAAK,OAAO;gBACV,aAAa,GAAG,QAAQ,CAAC;gBACzB,MAAM;YACR,KAAK,QAAQ;gBACX,aAAa,GAAG,QAAQ,CAAC;gBACzB,MAAM;YACR;gBACE,OAAO;QACT,CAAC;QAED,MAAM,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAC7C,QAAQ,EACR,EAAE,EACF,aAAa,CACd,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,2BAA2B,CAAC,QAAgB;QAClD,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,SAAS,CAAC;IAC/B,CAAC;IAED;;OAEG;IACK,qBAAqB,CAAC,QAAgB;QAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAChD,OAAO,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,QAAgB;QACvC,MAAM,eAAe,GAAG,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;QAC1D,OAAO,eAAe,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,QAAgB;QAC3C,MAAM,mBAAmB,GAAG,CAAC,YAAY,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC;QAC1E,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,QAAgB;QACxC,MAAM,gBAAgB,GAAG,CAAC,UAAU,EAAE,uBAAuB,CAAC,CAAC;QAC/D,OAAO,gBAAgB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACxE,CAAC;IAED;;OAEG;IAEH;;OAEG;IACH,aAAa;QACX,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC,SAAS,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,iBAAiB,CAAC,OAAe;QAC/B,MAAM,KAAK,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,SAAS;QACb,IAAI,CAAC;YACH,oCAAoC;YACpC,MAAM,gBAAgB,GAAG;gBACvB,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC7C,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBAC5C,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;gBACtC,GAAG,EAAE,CAAC,IAAI,CAAC,eAAe,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC;aAC/C,CAAC;YAEF,wCAAwC;YACxC,MAAM,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,MAAM,EAAE,CAAC;YAChB,+DAA+D;QACjE,CAAC;IACH,CAAC;IAED;;OAEG;IACH,kBAAkB;QAOhB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,MAAM,CAAC;QACxC,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,MAAM,QAAQ,GAAG,CAAC,GAAG,OAAO,CAAC;QAE7B,IAAI,UAAU,GAAG,MAAM,CAAC;QACxB,IAAI,OAAO,IAAI,GAAG;YAAE,UAAU,GAAG,WAAW,CAAC;aACxC,IAAI,OAAO,IAAI,GAAG;YAAE,UAAU,GAAG,MAAM,CAAC;aACxC,IAAI,OAAO,IAAI,GAAG;YAAE,UAAU,GAAG,MAAM,CAAC;QAE7C,OAAO;YACL,OAAO;YACP,QAAQ;YACR,UAAU;YACV,WAAW,EAAE,IAAI,CAAC,mBAAmB,EAAE;YACvC,YAAY,EAAE,KAAK,CAAC,SAAS;SAC9B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,YAAY;QAQV,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAE3C,OAAO;YACL,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO;YACrC,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,cAAc,CAAC,KAAK,CAAC,OAAO;YACrC,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU;YAC3C,WAAW,EAAE,KAAK,CAAC,SAAS;YAC5B,UAAU,EAAE,cAAc,CAAC,KAAK,CAAC,UAAU;SAC5C,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAC3C,uCAAuC;QACvC,OAAO,CAAC,KAAK,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,uBAAuB;QASrB,OAAO;YACL,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE;YACrC,aAAa,EAAE,IAAI,CAAC,YAAY,EAAE;YAClC,QAAQ,EAAE;gBACR,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO;aAC7B;SACF,CAAC;IACJ,CAAC;CACF"}
|
package/dist/client/api.d.ts
CHANGED
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
* WordPress API Client
|
|
3
3
|
* Handles all REST API communication with WordPress
|
|
4
4
|
*/
|
|
5
|
-
import type { IWordPressClient, WordPressClientConfig, HTTPMethod, RequestOptions, ClientStats } from
|
|
6
|
-
import type { WordPressPost, WordPressPage, WordPressMedia, WordPressUser, WordPressComment, WordPressCategory, WordPressTag, WordPressSiteSettings, WordPressApplicationPassword, PostQueryParams, MediaQueryParams, UserQueryParams, CommentQueryParams, CreatePostRequest, UpdatePostRequest, CreatePageRequest, UpdatePageRequest, CreateUserRequest, UpdateUserRequest, CreateCommentRequest, UpdateCommentRequest, CreateCategoryRequest, UpdateCategoryRequest, CreateTagRequest, UpdateTagRequest, UploadMediaRequest, UpdateMediaRequest } from
|
|
5
|
+
import type { IWordPressClient, WordPressClientConfig, HTTPMethod, RequestOptions, ClientStats } from "../types/client.js";
|
|
6
|
+
import type { WordPressPost, WordPressPage, WordPressMedia, WordPressUser, WordPressComment, WordPressCategory, WordPressTag, WordPressSiteSettings, WordPressApplicationPassword, PostQueryParams, MediaQueryParams, UserQueryParams, CommentQueryParams, CreatePostRequest, UpdatePostRequest, CreatePageRequest, UpdatePageRequest, CreateUserRequest, UpdateUserRequest, CreateCommentRequest, UpdateCommentRequest, CreateCategoryRequest, UpdateCategoryRequest, CreateTagRequest, UpdateTagRequest, UploadMediaRequest, UpdateMediaRequest } from "../types/wordpress.js";
|
|
7
7
|
export declare class WordPressClient implements IWordPressClient {
|
|
8
8
|
private baseUrl;
|
|
9
9
|
private apiUrl;
|
|
@@ -60,7 +60,7 @@ export declare class WordPressClient implements IWordPressClient {
|
|
|
60
60
|
patch<T = any>(endpoint: string, data?: any, options?: RequestOptions): Promise<T>;
|
|
61
61
|
delete<T = any>(endpoint: string, options?: RequestOptions): Promise<T>;
|
|
62
62
|
getPosts(params?: PostQueryParams): Promise<WordPressPost[]>;
|
|
63
|
-
getPost(id: number, context?:
|
|
63
|
+
getPost(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPost>;
|
|
64
64
|
createPost(data: CreatePostRequest): Promise<WordPressPost>;
|
|
65
65
|
updatePost(data: UpdatePostRequest): Promise<WordPressPost>;
|
|
66
66
|
deletePost(id: number, force?: boolean): Promise<{
|
|
@@ -69,7 +69,7 @@ export declare class WordPressClient implements IWordPressClient {
|
|
|
69
69
|
}>;
|
|
70
70
|
getPostRevisions(id: number): Promise<WordPressPost[]>;
|
|
71
71
|
getPages(params?: PostQueryParams): Promise<WordPressPage[]>;
|
|
72
|
-
getPage(id: number, context?:
|
|
72
|
+
getPage(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressPage>;
|
|
73
73
|
createPage(data: CreatePageRequest): Promise<WordPressPage>;
|
|
74
74
|
updatePage(data: UpdatePageRequest): Promise<WordPressPage>;
|
|
75
75
|
deletePage(id: number, force?: boolean): Promise<{
|
|
@@ -78,7 +78,7 @@ export declare class WordPressClient implements IWordPressClient {
|
|
|
78
78
|
}>;
|
|
79
79
|
getPageRevisions(id: number): Promise<WordPressPage[]>;
|
|
80
80
|
getMedia(params?: MediaQueryParams): Promise<WordPressMedia[]>;
|
|
81
|
-
getMediaItem(id: number, context?:
|
|
81
|
+
getMediaItem(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressMedia>;
|
|
82
82
|
uploadMedia(data: UploadMediaRequest): Promise<WordPressMedia>;
|
|
83
83
|
uploadFile(fileData: Buffer, filename: string, mimeType: string, meta?: Partial<UploadMediaRequest>, options?: RequestOptions): Promise<WordPressMedia>;
|
|
84
84
|
updateMedia(data: UpdateMediaRequest): Promise<WordPressMedia>;
|
|
@@ -87,7 +87,7 @@ export declare class WordPressClient implements IWordPressClient {
|
|
|
87
87
|
previous?: WordPressMedia;
|
|
88
88
|
}>;
|
|
89
89
|
getUsers(params?: UserQueryParams): Promise<WordPressUser[]>;
|
|
90
|
-
getUser(id: number |
|
|
90
|
+
getUser(id: number | "me", context?: "view" | "embed" | "edit"): Promise<WordPressUser>;
|
|
91
91
|
createUser(data: CreateUserRequest): Promise<WordPressUser>;
|
|
92
92
|
updateUser(data: UpdateUserRequest): Promise<WordPressUser>;
|
|
93
93
|
deleteUser(id: number, reassign?: number): Promise<{
|
|
@@ -96,7 +96,7 @@ export declare class WordPressClient implements IWordPressClient {
|
|
|
96
96
|
}>;
|
|
97
97
|
getCurrentUser(): Promise<WordPressUser>;
|
|
98
98
|
getComments(params?: CommentQueryParams): Promise<WordPressComment[]>;
|
|
99
|
-
getComment(id: number, context?:
|
|
99
|
+
getComment(id: number, context?: "view" | "embed" | "edit"): Promise<WordPressComment>;
|
|
100
100
|
createComment(data: CreateCommentRequest): Promise<WordPressComment>;
|
|
101
101
|
updateComment(data: UpdateCommentRequest): Promise<WordPressComment>;
|
|
102
102
|
deleteComment(id: number, force?: boolean): Promise<{
|
|
@@ -125,9 +125,9 @@ export declare class WordPressClient implements IWordPressClient {
|
|
|
125
125
|
getSiteSettings(): Promise<WordPressSiteSettings>;
|
|
126
126
|
updateSiteSettings(settings: Partial<WordPressSiteSettings>): Promise<WordPressSiteSettings>;
|
|
127
127
|
getSiteInfo(): Promise<any>;
|
|
128
|
-
getApplicationPasswords(userId?: number |
|
|
129
|
-
createApplicationPassword(userId: number |
|
|
130
|
-
deleteApplicationPassword(userId: number |
|
|
128
|
+
getApplicationPasswords(userId?: number | "me"): Promise<WordPressApplicationPassword[]>;
|
|
129
|
+
createApplicationPassword(userId: number | "me", name: string, appId?: string): Promise<WordPressApplicationPassword>;
|
|
130
|
+
deleteApplicationPassword(userId: number | "me", uuid: string): Promise<{
|
|
131
131
|
deleted: boolean;
|
|
132
132
|
}>;
|
|
133
133
|
search(query: string, types?: string[], subtype?: string): Promise<any[]>;
|