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
package/src/tools/pages.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { WordPressClient } from
|
|
1
|
+
import { WordPressClient } from "../client/api.js";
|
|
2
2
|
import {
|
|
3
3
|
CreatePostRequest,
|
|
4
4
|
PostQueryParams,
|
|
5
|
-
UpdatePostRequest
|
|
6
|
-
} from
|
|
7
|
-
import { getErrorMessage } from
|
|
5
|
+
UpdatePostRequest,
|
|
6
|
+
} from "../types/wordpress.js";
|
|
7
|
+
import { getErrorMessage } from "../utils/error.js";
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Provides tools for managing pages on a WordPress site.
|
|
@@ -18,146 +18,146 @@ export class PageTools {
|
|
|
18
18
|
public getTools(): any[] {
|
|
19
19
|
return [
|
|
20
20
|
{
|
|
21
|
-
name:
|
|
22
|
-
description:
|
|
21
|
+
name: "wp_list_pages",
|
|
22
|
+
description: "Lists pages from a WordPress site, with filters.",
|
|
23
23
|
parameters: [
|
|
24
24
|
{
|
|
25
|
-
name:
|
|
26
|
-
type:
|
|
27
|
-
description:
|
|
25
|
+
name: "per_page",
|
|
26
|
+
type: "number",
|
|
27
|
+
description: "Number of items to return per page (max 100).",
|
|
28
28
|
},
|
|
29
29
|
{
|
|
30
|
-
name:
|
|
31
|
-
type:
|
|
32
|
-
description:
|
|
30
|
+
name: "search",
|
|
31
|
+
type: "string",
|
|
32
|
+
description: "Limit results to those matching a search term.",
|
|
33
33
|
},
|
|
34
34
|
{
|
|
35
|
-
name:
|
|
36
|
-
type:
|
|
37
|
-
description:
|
|
38
|
-
enum: [
|
|
39
|
-
}
|
|
35
|
+
name: "status",
|
|
36
|
+
type: "string",
|
|
37
|
+
description: "Filter by page status.",
|
|
38
|
+
enum: ["publish", "future", "draft", "pending", "private"],
|
|
39
|
+
},
|
|
40
40
|
],
|
|
41
|
-
handler: this.handleListPages.bind(this)
|
|
41
|
+
handler: this.handleListPages.bind(this),
|
|
42
42
|
},
|
|
43
43
|
{
|
|
44
|
-
name:
|
|
45
|
-
description:
|
|
44
|
+
name: "wp_get_page",
|
|
45
|
+
description: "Retrieves a single page by its ID.",
|
|
46
46
|
parameters: [
|
|
47
47
|
{
|
|
48
|
-
name:
|
|
49
|
-
type:
|
|
48
|
+
name: "id",
|
|
49
|
+
type: "number",
|
|
50
50
|
required: true,
|
|
51
|
-
description:
|
|
52
|
-
}
|
|
51
|
+
description: "The unique identifier for the page.",
|
|
52
|
+
},
|
|
53
53
|
],
|
|
54
|
-
handler: this.handleGetPage.bind(this)
|
|
54
|
+
handler: this.handleGetPage.bind(this),
|
|
55
55
|
},
|
|
56
56
|
{
|
|
57
|
-
name:
|
|
58
|
-
description:
|
|
57
|
+
name: "wp_create_page",
|
|
58
|
+
description: "Creates a new page.",
|
|
59
59
|
parameters: [
|
|
60
60
|
{
|
|
61
|
-
name:
|
|
62
|
-
type:
|
|
61
|
+
name: "title",
|
|
62
|
+
type: "string",
|
|
63
63
|
required: true,
|
|
64
|
-
description:
|
|
64
|
+
description: "The title for the page.",
|
|
65
65
|
},
|
|
66
66
|
{
|
|
67
|
-
name:
|
|
68
|
-
type:
|
|
69
|
-
description:
|
|
67
|
+
name: "content",
|
|
68
|
+
type: "string",
|
|
69
|
+
description: "The content for the page, in HTML format.",
|
|
70
70
|
},
|
|
71
71
|
{
|
|
72
|
-
name:
|
|
73
|
-
type:
|
|
74
|
-
description:
|
|
75
|
-
enum: [
|
|
76
|
-
}
|
|
72
|
+
name: "status",
|
|
73
|
+
type: "string",
|
|
74
|
+
description: "The publishing status for the page.",
|
|
75
|
+
enum: ["publish", "draft", "pending", "private"],
|
|
76
|
+
},
|
|
77
77
|
],
|
|
78
|
-
handler: this.handleCreatePage.bind(this)
|
|
78
|
+
handler: this.handleCreatePage.bind(this),
|
|
79
79
|
},
|
|
80
80
|
{
|
|
81
|
-
name:
|
|
82
|
-
description:
|
|
81
|
+
name: "wp_update_page",
|
|
82
|
+
description: "Updates an existing page.",
|
|
83
83
|
parameters: [
|
|
84
84
|
{
|
|
85
|
-
name:
|
|
86
|
-
type:
|
|
85
|
+
name: "id",
|
|
86
|
+
type: "number",
|
|
87
87
|
required: true,
|
|
88
|
-
description:
|
|
88
|
+
description: "The ID of the page to update.",
|
|
89
89
|
},
|
|
90
90
|
{
|
|
91
|
-
name:
|
|
92
|
-
type:
|
|
93
|
-
description:
|
|
91
|
+
name: "title",
|
|
92
|
+
type: "string",
|
|
93
|
+
description: "The new title for the page.",
|
|
94
94
|
},
|
|
95
95
|
{
|
|
96
|
-
name:
|
|
97
|
-
type:
|
|
98
|
-
description:
|
|
96
|
+
name: "content",
|
|
97
|
+
type: "string",
|
|
98
|
+
description: "The new content for the page, in HTML format.",
|
|
99
99
|
},
|
|
100
100
|
{
|
|
101
|
-
name:
|
|
102
|
-
type:
|
|
103
|
-
description:
|
|
104
|
-
enum: [
|
|
105
|
-
}
|
|
101
|
+
name: "status",
|
|
102
|
+
type: "string",
|
|
103
|
+
description: "The new status for the page.",
|
|
104
|
+
enum: ["publish", "draft", "pending", "private"],
|
|
105
|
+
},
|
|
106
106
|
],
|
|
107
|
-
handler: this.handleUpdatePage.bind(this)
|
|
107
|
+
handler: this.handleUpdatePage.bind(this),
|
|
108
108
|
},
|
|
109
109
|
{
|
|
110
|
-
name:
|
|
111
|
-
description:
|
|
110
|
+
name: "wp_delete_page",
|
|
111
|
+
description: "Deletes a page.",
|
|
112
112
|
parameters: [
|
|
113
113
|
{
|
|
114
|
-
name:
|
|
115
|
-
type:
|
|
114
|
+
name: "id",
|
|
115
|
+
type: "number",
|
|
116
116
|
required: true,
|
|
117
|
-
description:
|
|
117
|
+
description: "The ID of the page to delete.",
|
|
118
118
|
},
|
|
119
119
|
{
|
|
120
|
-
name:
|
|
121
|
-
type:
|
|
120
|
+
name: "force",
|
|
121
|
+
type: "boolean",
|
|
122
122
|
description:
|
|
123
|
-
|
|
124
|
-
}
|
|
123
|
+
"If true, permanently delete. If false, move to trash. Defaults to false.",
|
|
124
|
+
},
|
|
125
125
|
],
|
|
126
|
-
handler: this.handleDeletePage.bind(this)
|
|
126
|
+
handler: this.handleDeletePage.bind(this),
|
|
127
127
|
},
|
|
128
128
|
{
|
|
129
|
-
name:
|
|
130
|
-
description:
|
|
129
|
+
name: "wp_get_page_revisions",
|
|
130
|
+
description: "Retrieves revisions for a specific page.",
|
|
131
131
|
parameters: [
|
|
132
132
|
{
|
|
133
|
-
name:
|
|
134
|
-
type:
|
|
133
|
+
name: "id",
|
|
134
|
+
type: "number",
|
|
135
135
|
required: true,
|
|
136
|
-
description:
|
|
137
|
-
}
|
|
136
|
+
description: "The ID of the page to get revisions for.",
|
|
137
|
+
},
|
|
138
138
|
],
|
|
139
|
-
handler: this.handleGetPageRevisions.bind(this)
|
|
140
|
-
}
|
|
139
|
+
handler: this.handleGetPageRevisions.bind(this),
|
|
140
|
+
},
|
|
141
141
|
];
|
|
142
142
|
}
|
|
143
143
|
|
|
144
144
|
public async handleListPages(
|
|
145
145
|
client: WordPressClient,
|
|
146
|
-
params: PostQueryParams
|
|
146
|
+
params: PostQueryParams,
|
|
147
147
|
): Promise<any> {
|
|
148
148
|
try {
|
|
149
149
|
const pages = await client.getPages(params);
|
|
150
150
|
if (pages.length === 0) {
|
|
151
|
-
return
|
|
151
|
+
return "No pages found matching the criteria.";
|
|
152
152
|
}
|
|
153
153
|
const content =
|
|
154
154
|
`Found ${pages.length} pages:\n\n` +
|
|
155
155
|
pages
|
|
156
156
|
.map(
|
|
157
157
|
(p) =>
|
|
158
|
-
`- ID ${p.id}: **${p.title.rendered}** (${p.status})\n Link: ${p.link}
|
|
158
|
+
`- ID ${p.id}: **${p.title.rendered}** (${p.status})\n Link: ${p.link}`,
|
|
159
159
|
)
|
|
160
|
-
.join(
|
|
160
|
+
.join("\n");
|
|
161
161
|
return content;
|
|
162
162
|
} catch (error) {
|
|
163
163
|
throw new Error(`Failed to list pages: ${getErrorMessage(error)}`);
|
|
@@ -166,7 +166,7 @@ export class PageTools {
|
|
|
166
166
|
|
|
167
167
|
public async handleGetPage(
|
|
168
168
|
client: WordPressClient,
|
|
169
|
-
params: { id: number }
|
|
169
|
+
params: { id: number },
|
|
170
170
|
): Promise<any> {
|
|
171
171
|
try {
|
|
172
172
|
const page = await client.getPage(params.id);
|
|
@@ -184,7 +184,7 @@ export class PageTools {
|
|
|
184
184
|
|
|
185
185
|
public async handleCreatePage(
|
|
186
186
|
client: WordPressClient,
|
|
187
|
-
params: CreatePostRequest
|
|
187
|
+
params: CreatePostRequest,
|
|
188
188
|
): Promise<any> {
|
|
189
189
|
try {
|
|
190
190
|
const page = await client.createPage(params);
|
|
@@ -196,7 +196,7 @@ export class PageTools {
|
|
|
196
196
|
|
|
197
197
|
public async handleUpdatePage(
|
|
198
198
|
client: WordPressClient,
|
|
199
|
-
params: UpdatePostRequest & { id: number }
|
|
199
|
+
params: UpdatePostRequest & { id: number },
|
|
200
200
|
): Promise<any> {
|
|
201
201
|
try {
|
|
202
202
|
const page = await client.updatePage(params);
|
|
@@ -208,11 +208,11 @@ export class PageTools {
|
|
|
208
208
|
|
|
209
209
|
public async handleDeletePage(
|
|
210
210
|
client: WordPressClient,
|
|
211
|
-
params: { id: number; force?: boolean }
|
|
211
|
+
params: { id: number; force?: boolean },
|
|
212
212
|
): Promise<any> {
|
|
213
213
|
try {
|
|
214
214
|
await client.deletePage(params.id, params.force);
|
|
215
|
-
const action = params.force ?
|
|
215
|
+
const action = params.force ? "permanently deleted" : "moved to trash";
|
|
216
216
|
return `✅ Page ${params.id} has been ${action}.`;
|
|
217
217
|
} catch (error) {
|
|
218
218
|
throw new Error(`Failed to delete page: ${getErrorMessage(error)}`);
|
|
@@ -221,7 +221,7 @@ export class PageTools {
|
|
|
221
221
|
|
|
222
222
|
public async handleGetPageRevisions(
|
|
223
223
|
client: WordPressClient,
|
|
224
|
-
params: { id: number }
|
|
224
|
+
params: { id: number },
|
|
225
225
|
): Promise<any> {
|
|
226
226
|
try {
|
|
227
227
|
const revisions = await client.getPageRevisions(params.id);
|
|
@@ -233,12 +233,14 @@ export class PageTools {
|
|
|
233
233
|
revisions
|
|
234
234
|
.map(
|
|
235
235
|
(r) =>
|
|
236
|
-
`- Revision by user ID ${r.author} at ${new Date(r.modified).toLocaleString()}
|
|
236
|
+
`- Revision by user ID ${r.author} at ${new Date(r.modified).toLocaleString()}`,
|
|
237
237
|
)
|
|
238
|
-
.join(
|
|
238
|
+
.join("\n");
|
|
239
239
|
return content;
|
|
240
240
|
} catch (error) {
|
|
241
|
-
throw new Error(
|
|
241
|
+
throw new Error(
|
|
242
|
+
`Failed to get page revisions: ${getErrorMessage(error)}`,
|
|
243
|
+
);
|
|
242
244
|
}
|
|
243
245
|
}
|
|
244
246
|
}
|