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.
Files changed (251) hide show
  1. package/README.md +210 -182
  2. package/dist/cache/CacheInvalidation.d.ts +3 -3
  3. package/dist/cache/CacheInvalidation.d.ts.map +1 -1
  4. package/dist/cache/CacheInvalidation.js +119 -119
  5. package/dist/cache/CacheInvalidation.js.map +1 -1
  6. package/dist/cache/CacheManager.d.ts +5 -0
  7. package/dist/cache/CacheManager.d.ts.map +1 -1
  8. package/dist/cache/CacheManager.js +26 -16
  9. package/dist/cache/CacheManager.js.map +1 -1
  10. package/dist/cache/HttpCacheWrapper.d.ts +1 -1
  11. package/dist/cache/HttpCacheWrapper.d.ts.map +1 -1
  12. package/dist/cache/HttpCacheWrapper.js +29 -29
  13. package/dist/cache/HttpCacheWrapper.js.map +1 -1
  14. package/dist/cache/__tests__/CacheInvalidation.test.js +96 -94
  15. package/dist/cache/__tests__/CacheInvalidation.test.js.map +1 -1
  16. package/dist/cache/__tests__/CacheManager.test.js +113 -113
  17. package/dist/cache/__tests__/CacheManager.test.js.map +1 -1
  18. package/dist/cache/__tests__/CachedWordPressClient.test.js +102 -99
  19. package/dist/cache/__tests__/CachedWordPressClient.test.js.map +1 -1
  20. package/dist/cache/__tests__/HttpCacheWrapper.test.js +98 -95
  21. package/dist/cache/__tests__/HttpCacheWrapper.test.js.map +1 -1
  22. package/dist/cache/index.d.ts +7 -7
  23. package/dist/cache/index.d.ts.map +1 -1
  24. package/dist/cache/index.js +4 -4
  25. package/dist/cache/index.js.map +1 -1
  26. package/dist/client/CachedWordPressClient.d.ts +4 -4
  27. package/dist/client/CachedWordPressClient.d.ts.map +1 -1
  28. package/dist/client/CachedWordPressClient.js +55 -51
  29. package/dist/client/CachedWordPressClient.js.map +1 -1
  30. package/dist/client/api.d.ts +10 -10
  31. package/dist/client/api.js +158 -158
  32. package/dist/client/api.js.map +1 -1
  33. package/dist/client/auth.d.ts +2 -2
  34. package/dist/client/auth.js +72 -72
  35. package/dist/client/managers/AuthenticationManager.d.ts +2 -2
  36. package/dist/client/managers/AuthenticationManager.js +46 -46
  37. package/dist/client/managers/BaseManager.d.ts +1 -1
  38. package/dist/client/managers/BaseManager.js +9 -9
  39. package/dist/client/managers/RequestManager.d.ts +5 -3
  40. package/dist/client/managers/RequestManager.d.ts.map +1 -1
  41. package/dist/client/managers/RequestManager.js +39 -19
  42. package/dist/client/managers/RequestManager.js.map +1 -1
  43. package/dist/client/managers/index.d.ts +3 -3
  44. package/dist/client/managers/index.js +3 -3
  45. package/dist/config/ConfigurationSchema.d.ts +2 -2
  46. package/dist/config/ConfigurationSchema.d.ts.map +1 -1
  47. package/dist/config/ConfigurationSchema.js +40 -40
  48. package/dist/config/ConfigurationSchema.js.map +1 -1
  49. package/dist/config/ServerConfiguration.d.ts +2 -2
  50. package/dist/config/ServerConfiguration.js +35 -35
  51. package/dist/config/ServerConfiguration.js.map +1 -1
  52. package/dist/docs/DocumentationGenerator.d.ts.map +1 -1
  53. package/dist/docs/DocumentationGenerator.js +296 -255
  54. package/dist/docs/DocumentationGenerator.js.map +1 -1
  55. package/dist/docs/MarkdownFormatter.d.ts +1 -1
  56. package/dist/docs/MarkdownFormatter.d.ts.map +1 -1
  57. package/dist/docs/MarkdownFormatter.js +60 -51
  58. package/dist/docs/MarkdownFormatter.js.map +1 -1
  59. package/dist/docs/index.d.ts +3 -3
  60. package/dist/docs/index.d.ts.map +1 -1
  61. package/dist/docs/index.js +2 -2
  62. package/dist/index.d.ts.map +1 -1
  63. package/dist/index.js +16 -16
  64. package/dist/index.js.map +1 -1
  65. package/dist/mcp-wordpress-1.3.0.tgz +0 -0
  66. package/dist/performance/MetricsCollector.d.ts +3 -3
  67. package/dist/performance/MetricsCollector.d.ts.map +1 -1
  68. package/dist/performance/MetricsCollector.js +33 -27
  69. package/dist/performance/MetricsCollector.js.map +1 -1
  70. package/dist/performance/PerformanceAnalytics.d.ts +12 -12
  71. package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
  72. package/dist/performance/PerformanceAnalytics.js +200 -154
  73. package/dist/performance/PerformanceAnalytics.js.map +1 -1
  74. package/dist/performance/PerformanceMonitor.d.ts +5 -5
  75. package/dist/performance/PerformanceMonitor.d.ts.map +1 -1
  76. package/dist/performance/PerformanceMonitor.js +53 -52
  77. package/dist/performance/PerformanceMonitor.js.map +1 -1
  78. package/dist/performance/index.d.ts +6 -6
  79. package/dist/performance/index.d.ts.map +1 -1
  80. package/dist/performance/index.js +3 -3
  81. package/dist/security/InputValidator.d.ts +1 -1
  82. package/dist/security/InputValidator.d.ts.map +1 -1
  83. package/dist/security/InputValidator.js +111 -88
  84. package/dist/security/InputValidator.js.map +1 -1
  85. package/dist/security/SecurityConfig.d.ts +5 -5
  86. package/dist/security/SecurityConfig.js +92 -92
  87. package/dist/security/SecurityConfig.js.map +1 -1
  88. package/dist/server/ConnectionTester.d.ts +1 -1
  89. package/dist/server/ConnectionTester.d.ts.map +1 -1
  90. package/dist/server/ConnectionTester.js +4 -4
  91. package/dist/server/ConnectionTester.js.map +1 -1
  92. package/dist/server/ToolRegistry.d.ts +2 -2
  93. package/dist/server/ToolRegistry.d.ts.map +1 -1
  94. package/dist/server/ToolRegistry.js +35 -32
  95. package/dist/server/ToolRegistry.js.map +1 -1
  96. package/dist/server.d.ts +2 -2
  97. package/dist/server.js +2 -2
  98. package/dist/tools/BaseToolManager.js +5 -5
  99. package/dist/tools/auth.d.ts +2 -2
  100. package/dist/tools/auth.d.ts.map +1 -1
  101. package/dist/tools/auth.js +32 -31
  102. package/dist/tools/auth.js.map +1 -1
  103. package/dist/tools/cache.d.ts +1 -1
  104. package/dist/tools/cache.d.ts.map +1 -1
  105. package/dist/tools/cache.js +71 -71
  106. package/dist/tools/cache.js.map +1 -1
  107. package/dist/tools/comments.d.ts +2 -2
  108. package/dist/tools/comments.d.ts.map +1 -1
  109. package/dist/tools/comments.js +79 -79
  110. package/dist/tools/comments.js.map +1 -1
  111. package/dist/tools/index.d.ts +10 -10
  112. package/dist/tools/index.js +10 -10
  113. package/dist/tools/media.d.ts +2 -2
  114. package/dist/tools/media.js +80 -80
  115. package/dist/tools/pages.d.ts +2 -2
  116. package/dist/tools/pages.d.ts.map +1 -1
  117. package/dist/tools/pages.js +75 -75
  118. package/dist/tools/pages.js.map +1 -1
  119. package/dist/tools/performance.d.ts +1 -1
  120. package/dist/tools/performance.d.ts.map +1 -1
  121. package/dist/tools/performance.js +311 -287
  122. package/dist/tools/performance.js.map +1 -1
  123. package/dist/tools/posts.d.ts +2 -2
  124. package/dist/tools/posts.d.ts.map +1 -1
  125. package/dist/tools/posts.js +94 -94
  126. package/dist/tools/posts.js.map +1 -1
  127. package/dist/tools/site.d.ts +2 -2
  128. package/dist/tools/site.d.ts.map +1 -1
  129. package/dist/tools/site.js +60 -60
  130. package/dist/tools/site.js.map +1 -1
  131. package/dist/tools/taxonomies.d.ts +2 -2
  132. package/dist/tools/taxonomies.js +89 -89
  133. package/dist/tools/users.d.ts +2 -2
  134. package/dist/tools/users.js +68 -68
  135. package/dist/tools/users.js.map +1 -1
  136. package/dist/types/client.d.ts +13 -13
  137. package/dist/types/client.d.ts.map +1 -1
  138. package/dist/types/client.js +12 -12
  139. package/dist/types/client.js.map +1 -1
  140. package/dist/types/index.d.ts +19 -19
  141. package/dist/types/index.d.ts.map +1 -1
  142. package/dist/types/index.js +3 -3
  143. package/dist/types/mcp.d.ts +7 -7
  144. package/dist/types/wordpress.d.ts +21 -21
  145. package/dist/types/wordpress.d.ts.map +1 -1
  146. package/dist/utils/debug.d.ts +2 -2
  147. package/dist/utils/debug.js +28 -28
  148. package/dist/utils/error.d.ts.map +1 -1
  149. package/dist/utils/error.js +13 -13
  150. package/dist/utils/error.js.map +1 -1
  151. package/dist/utils/toolWrapper.d.ts.map +1 -1
  152. package/dist/utils/toolWrapper.js +5 -5
  153. package/dist/utils/toolWrapper.js.map +1 -1
  154. package/dist/utils/validation.d.ts.map +1 -1
  155. package/dist/utils/validation.js +41 -31
  156. package/dist/utils/validation.js.map +1 -1
  157. package/docs/CACHING.md +36 -2
  158. package/docs/DOCKER.md +24 -18
  159. package/docs/PERFORMANCE_MONITORING.md +49 -1
  160. package/docs/SECURITY_TESTING.md +30 -1
  161. package/docs/api/README.md +9 -1
  162. package/docs/api/summary.json +1 -1
  163. package/docs/contract-testing.md +24 -3
  164. package/docs/developer/GITHUB_ACTIONS_SETUP.md +8 -2
  165. package/docs/developer/MAINTENANCE.md +29 -3
  166. package/docs/developer/MIGRATION_GUIDE.md +13 -1
  167. package/docs/developer/NPM_AUTH_SETUP.md +13 -2
  168. package/docs/developer/REFACTORING.md +31 -1
  169. package/docs/releases/COMMUNITY_ANNOUNCEMENT_v1.1.2.md +18 -7
  170. package/docs/releases/RELEASE_NOTES_v1.1.2.md +31 -5
  171. package/docs/user-guides/DOCKER_SETUP.md +264 -0
  172. package/docs/user-guides/DTX_SETUP.md +327 -0
  173. package/docs/user-guides/NPM_SETUP.md +109 -0
  174. package/docs/user-guides/NPX_SETUP.md +281 -0
  175. package/docs/wordpress-rest-api-authentication-troubleshooting.md +13 -2
  176. package/package.json +27 -8
  177. package/src/cache/CacheInvalidation.ts +140 -132
  178. package/src/cache/CacheManager.ts +40 -29
  179. package/src/cache/HttpCacheWrapper.ts +105 -68
  180. package/src/cache/__tests__/CacheInvalidation.test.ts +123 -118
  181. package/src/cache/__tests__/CacheManager.test.ts +156 -152
  182. package/src/cache/__tests__/CachedWordPressClient.test.ts +131 -116
  183. package/src/cache/__tests__/HttpCacheWrapper.test.ts +118 -115
  184. package/src/cache/index.ts +13 -13
  185. package/src/client/CachedWordPressClient.ts +90 -80
  186. package/src/client/api.ts +205 -205
  187. package/src/client/auth.ts +80 -80
  188. package/src/client/managers/AuthenticationManager.ts +61 -61
  189. package/src/client/managers/BaseManager.ts +11 -11
  190. package/src/client/managers/RequestManager.ts +79 -47
  191. package/src/client/managers/index.ts +3 -3
  192. package/src/config/ConfigurationSchema.ts +44 -44
  193. package/src/config/ServerConfiguration.ts +39 -39
  194. package/src/docs/DocumentationGenerator.ts +402 -295
  195. package/src/docs/MarkdownFormatter.ts +94 -69
  196. package/src/docs/index.ts +4 -4
  197. package/src/index.ts +24 -21
  198. package/src/performance/MetricsCollector.ts +90 -58
  199. package/src/performance/PerformanceAnalytics.ts +386 -262
  200. package/src/performance/PerformanceMonitor.ts +152 -118
  201. package/src/performance/index.ts +9 -9
  202. package/src/security/InputValidator.ts +148 -91
  203. package/src/security/SecurityConfig.ts +94 -94
  204. package/src/server/ConnectionTester.ts +21 -15
  205. package/src/server/ToolRegistry.ts +64 -51
  206. package/src/server.ts +2 -2
  207. package/src/tools/BaseToolManager.ts +6 -6
  208. package/src/tools/auth.ts +42 -37
  209. package/src/tools/cache.ts +85 -81
  210. package/src/tools/comments.ts +93 -91
  211. package/src/tools/index.ts +10 -10
  212. package/src/tools/media.ts +89 -89
  213. package/src/tools/pages.ts +89 -87
  214. package/src/tools/performance.ts +443 -352
  215. package/src/tools/posts.ts +109 -107
  216. package/src/tools/site.ts +86 -77
  217. package/src/tools/taxonomies.ts +102 -102
  218. package/src/tools/users.ts +77 -77
  219. package/src/types/client.ts +157 -60
  220. package/src/types/index.ts +49 -27
  221. package/src/types/mcp.ts +15 -15
  222. package/src/types/wordpress.ts +57 -29
  223. package/src/utils/debug.ts +37 -37
  224. package/src/utils/error.ts +47 -25
  225. package/src/utils/toolWrapper.ts +12 -8
  226. package/src/utils/validation.ts +116 -65
  227. package/dist/client/WordPressClient.d.ts +0 -81
  228. package/dist/client/WordPressClient.d.ts.map +0 -1
  229. package/dist/client/WordPressClient.js +0 -354
  230. package/dist/client/WordPressClient.js.map +0 -1
  231. package/dist/performance/AnomalyDetector.d.ts +0 -63
  232. package/dist/performance/AnomalyDetector.d.ts.map +0 -1
  233. package/dist/performance/AnomalyDetector.js +0 -222
  234. package/dist/performance/AnomalyDetector.js.map +0 -1
  235. package/dist/performance/BenchmarkAnalyzer.d.ts +0 -67
  236. package/dist/performance/BenchmarkAnalyzer.d.ts.map +0 -1
  237. package/dist/performance/BenchmarkAnalyzer.js +0 -301
  238. package/dist/performance/BenchmarkAnalyzer.js.map +0 -1
  239. package/dist/performance/TrendAnalyzer.d.ts +0 -69
  240. package/dist/performance/TrendAnalyzer.d.ts.map +0 -1
  241. package/dist/performance/TrendAnalyzer.js +0 -203
  242. package/dist/performance/TrendAnalyzer.js.map +0 -1
  243. package/dist/tools/BaseToolClass.d.ts +0 -76
  244. package/dist/tools/BaseToolClass.d.ts.map +0 -1
  245. package/dist/tools/BaseToolClass.js +0 -104
  246. package/dist/tools/BaseToolClass.js.map +0 -1
  247. package/dist/tools/base.d.ts +0 -37
  248. package/dist/tools/base.d.ts.map +0 -1
  249. package/dist/tools/base.js +0 -60
  250. package/dist/tools/base.js.map +0 -1
  251. package/docs/user-guides/CLAUDE_DESKTOP_SETUP.md +0 -187
@@ -1,10 +1,10 @@
1
- import { WordPressClient } from '../client/api.js';
1
+ import { WordPressClient } from "../client/api.js";
2
2
  import {
3
3
  CreatePostRequest,
4
4
  PostQueryParams,
5
- UpdatePostRequest
6
- } from '../types/wordpress.js';
7
- import { getErrorMessage } from '../utils/error.js';
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: 'wp_list_pages',
22
- description: 'Lists pages from a WordPress site, with filters.',
21
+ name: "wp_list_pages",
22
+ description: "Lists pages from a WordPress site, with filters.",
23
23
  parameters: [
24
24
  {
25
- name: 'per_page',
26
- type: 'number',
27
- description: 'Number of items to return per page (max 100).'
25
+ name: "per_page",
26
+ type: "number",
27
+ description: "Number of items to return per page (max 100).",
28
28
  },
29
29
  {
30
- name: 'search',
31
- type: 'string',
32
- description: 'Limit results to those matching a search term.'
30
+ name: "search",
31
+ type: "string",
32
+ description: "Limit results to those matching a search term.",
33
33
  },
34
34
  {
35
- name: 'status',
36
- type: 'string',
37
- description: 'Filter by page status.',
38
- enum: ['publish', 'future', 'draft', 'pending', 'private']
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: 'wp_get_page',
45
- description: 'Retrieves a single page by its ID.',
44
+ name: "wp_get_page",
45
+ description: "Retrieves a single page by its ID.",
46
46
  parameters: [
47
47
  {
48
- name: 'id',
49
- type: 'number',
48
+ name: "id",
49
+ type: "number",
50
50
  required: true,
51
- description: 'The unique identifier for the page.'
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: 'wp_create_page',
58
- description: 'Creates a new page.',
57
+ name: "wp_create_page",
58
+ description: "Creates a new page.",
59
59
  parameters: [
60
60
  {
61
- name: 'title',
62
- type: 'string',
61
+ name: "title",
62
+ type: "string",
63
63
  required: true,
64
- description: 'The title for the page.'
64
+ description: "The title for the page.",
65
65
  },
66
66
  {
67
- name: 'content',
68
- type: 'string',
69
- description: 'The content for the page, in HTML format.'
67
+ name: "content",
68
+ type: "string",
69
+ description: "The content for the page, in HTML format.",
70
70
  },
71
71
  {
72
- name: 'status',
73
- type: 'string',
74
- description: 'The publishing status for the page.',
75
- enum: ['publish', 'draft', 'pending', 'private']
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: 'wp_update_page',
82
- description: 'Updates an existing page.',
81
+ name: "wp_update_page",
82
+ description: "Updates an existing page.",
83
83
  parameters: [
84
84
  {
85
- name: 'id',
86
- type: 'number',
85
+ name: "id",
86
+ type: "number",
87
87
  required: true,
88
- description: 'The ID of the page to update.'
88
+ description: "The ID of the page to update.",
89
89
  },
90
90
  {
91
- name: 'title',
92
- type: 'string',
93
- description: 'The new title for the page.'
91
+ name: "title",
92
+ type: "string",
93
+ description: "The new title for the page.",
94
94
  },
95
95
  {
96
- name: 'content',
97
- type: 'string',
98
- description: 'The new content for the page, in HTML format.'
96
+ name: "content",
97
+ type: "string",
98
+ description: "The new content for the page, in HTML format.",
99
99
  },
100
100
  {
101
- name: 'status',
102
- type: 'string',
103
- description: 'The new status for the page.',
104
- enum: ['publish', 'draft', 'pending', 'private']
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: 'wp_delete_page',
111
- description: 'Deletes a page.',
110
+ name: "wp_delete_page",
111
+ description: "Deletes a page.",
112
112
  parameters: [
113
113
  {
114
- name: 'id',
115
- type: 'number',
114
+ name: "id",
115
+ type: "number",
116
116
  required: true,
117
- description: 'The ID of the page to delete.'
117
+ description: "The ID of the page to delete.",
118
118
  },
119
119
  {
120
- name: 'force',
121
- type: 'boolean',
120
+ name: "force",
121
+ type: "boolean",
122
122
  description:
123
- 'If true, permanently delete. If false, move to trash. Defaults to false.'
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: 'wp_get_page_revisions',
130
- description: 'Retrieves revisions for a specific page.',
129
+ name: "wp_get_page_revisions",
130
+ description: "Retrieves revisions for a specific page.",
131
131
  parameters: [
132
132
  {
133
- name: 'id',
134
- type: 'number',
133
+ name: "id",
134
+ type: "number",
135
135
  required: true,
136
- description: 'The ID of the page to get revisions for.'
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 'No pages found matching the criteria.';
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('\n');
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 ? 'permanently deleted' : 'moved to trash';
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('\n');
238
+ .join("\n");
239
239
  return content;
240
240
  } catch (error) {
241
- throw new Error(`Failed to get page revisions: ${getErrorMessage(error)}`);
241
+ throw new Error(
242
+ `Failed to get page revisions: ${getErrorMessage(error)}`,
243
+ );
242
244
  }
243
245
  }
244
246
  }