mcp-wordpress 3.1.8 → 3.1.10
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/dist/client/api.d.ts.map +1 -1
- package/dist/client/api.js +6 -3
- package/dist/client/api.js.map +1 -1
- package/dist/config/ServerConfiguration.d.ts.map +1 -1
- package/dist/config/ServerConfiguration.js +3 -5
- package/dist/config/ServerConfiguration.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -16
- package/dist/index.js.map +1 -1
- package/dist/performance/PerformanceAnalytics.d.ts.map +1 -1
- package/dist/performance/PerformanceAnalytics.js +9 -11
- package/dist/performance/PerformanceAnalytics.js.map +1 -1
- package/dist/security/SecurityGateExecutor.js +2 -2
- package/dist/security/SecurityGateExecutor.js.map +1 -1
- package/dist/tools/comments.d.ts.map +1 -1
- package/dist/tools/comments.js +3 -2
- package/dist/tools/comments.js.map +1 -1
- package/dist/tools/media.d.ts.map +1 -1
- package/dist/tools/media.js +3 -2
- package/dist/tools/media.js.map +1 -1
- package/dist/tools/pages.d.ts.map +1 -1
- package/dist/tools/pages.js +4 -3
- package/dist/tools/pages.js.map +1 -1
- package/dist/tools/params.d.ts +13 -0
- package/dist/tools/params.d.ts.map +1 -0
- package/dist/tools/params.js +15 -0
- package/dist/tools/params.js.map +1 -0
- package/dist/tools/taxonomies.d.ts.map +1 -1
- package/dist/tools/taxonomies.js +5 -4
- package/dist/tools/taxonomies.js.map +1 -1
- package/dist/tools/users.d.ts.map +1 -1
- package/dist/tools/users.js +3 -2
- package/dist/tools/users.js.map +1 -1
- package/package.json +25 -27
- package/src/client/api.ts +6 -3
- package/src/config/ServerConfiguration.ts +3 -5
- package/src/index.ts +6 -17
- package/src/performance/PerformanceAnalytics.ts +1 -2
- package/src/security/SecurityGateExecutor.ts +2 -2
- package/src/tools/comments.ts +3 -2
- package/src/tools/media.ts +3 -2
- package/src/tools/pages.ts +4 -3
- package/src/tools/params.ts +14 -0
- package/src/tools/taxonomies.ts +6 -10
- package/src/tools/users.ts +3 -2
package/src/tools/media.ts
CHANGED
|
@@ -2,6 +2,7 @@ import * as fs from "fs";
|
|
|
2
2
|
import { WordPressClient } from "@/client/api.js";
|
|
3
3
|
import { MediaQueryParams, UpdateMediaRequest, UploadMediaRequest } from "@/types/wordpress.js";
|
|
4
4
|
import { getErrorMessage } from "@/utils/error.js";
|
|
5
|
+
import { toolParams } from "./params.js";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Comprehensive media management tools for WordPress sites.
|
|
@@ -228,7 +229,7 @@ export class MediaTools {
|
|
|
228
229
|
}
|
|
229
230
|
|
|
230
231
|
public async handleUploadMedia(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
231
|
-
const uploadParams =
|
|
232
|
+
const uploadParams = toolParams<UploadMediaRequest & { file_path: string }>(params);
|
|
232
233
|
try {
|
|
233
234
|
try {
|
|
234
235
|
await fs.promises.access(uploadParams.file_path);
|
|
@@ -244,7 +245,7 @@ export class MediaTools {
|
|
|
244
245
|
}
|
|
245
246
|
|
|
246
247
|
public async handleUpdateMedia(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
247
|
-
const updateParams =
|
|
248
|
+
const updateParams = toolParams<UpdateMediaRequest & { id: number }>(params);
|
|
248
249
|
try {
|
|
249
250
|
const media = await client.updateMedia(updateParams);
|
|
250
251
|
return `✅ Media ${media.id} updated successfully.`;
|
package/src/tools/pages.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { WordPressClient } from "@/client/api.js";
|
|
2
2
|
import { CreatePageRequest, PostQueryParams as PageQueryParams, UpdatePageRequest } from "@/types/wordpress.js";
|
|
3
3
|
import { getErrorMessage } from "@/utils/error.js";
|
|
4
|
+
import { toolParams } from "./params.js";
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* Provides tools for managing pages on a WordPress site.
|
|
@@ -154,7 +155,7 @@ export class PageTools {
|
|
|
154
155
|
}
|
|
155
156
|
|
|
156
157
|
public async handleListPages(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
157
|
-
const queryParams = params
|
|
158
|
+
const queryParams = toolParams<PageQueryParams>(params);
|
|
158
159
|
try {
|
|
159
160
|
const pages = await client.getPages(queryParams);
|
|
160
161
|
if (pages.length === 0) {
|
|
@@ -191,7 +192,7 @@ export class PageTools {
|
|
|
191
192
|
}
|
|
192
193
|
|
|
193
194
|
public async handleCreatePage(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
194
|
-
const createParams = params
|
|
195
|
+
const createParams = toolParams<CreatePageRequest>(params);
|
|
195
196
|
try {
|
|
196
197
|
const page = await client.createPage(createParams);
|
|
197
198
|
return `✅ Page created successfully!\n- ID: ${page.id}\n- Title: ${page.title.rendered}\n- Link: ${page.link}`;
|
|
@@ -201,7 +202,7 @@ export class PageTools {
|
|
|
201
202
|
}
|
|
202
203
|
|
|
203
204
|
public async handleUpdatePage(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
204
|
-
const updateParams =
|
|
205
|
+
const updateParams = toolParams<UpdatePageRequest & { id: number }>(params);
|
|
205
206
|
try {
|
|
206
207
|
const page = await client.updatePage(updateParams);
|
|
207
208
|
return `✅ Page ${page.id} updated successfully.`;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe parameter casting for tool handlers.
|
|
3
|
+
*
|
|
4
|
+
* Tool handler parameters arrive as Record<string, unknown> but have already
|
|
5
|
+
* been validated by Zod in ToolRegistry.registerTool(). This utility provides
|
|
6
|
+
* a centralized, documented assertion that replaces scattered `as unknown as T`
|
|
7
|
+
* casts throughout tool handlers.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* const data = toolParams<CreatePostRequest>(params);
|
|
11
|
+
*/
|
|
12
|
+
export function toolParams<T>(params: Record<string, unknown>): T {
|
|
13
|
+
return params as T;
|
|
14
|
+
}
|
package/src/tools/taxonomies.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { WordPressClient } from "@/client/api.js";
|
|
2
|
-
import {
|
|
3
|
-
CreateCategoryRequest,
|
|
4
|
-
CreateTagRequest,
|
|
5
|
-
UpdateCategoryRequest,
|
|
6
|
-
UpdateTagRequest,
|
|
7
|
-
} from "@/types/wordpress.js";
|
|
2
|
+
import { CreateCategoryRequest, CreateTagRequest, UpdateCategoryRequest, UpdateTagRequest } from "@/types/wordpress.js";
|
|
8
3
|
import { getErrorMessage } from "@/utils/error.js";
|
|
4
|
+
import { toolParams } from "./params.js";
|
|
9
5
|
|
|
10
6
|
/**
|
|
11
7
|
* Provides tools for managing taxonomies (categories and tags) on a WordPress site.
|
|
@@ -216,7 +212,7 @@ export class TaxonomyTools {
|
|
|
216
212
|
}
|
|
217
213
|
|
|
218
214
|
public async handleCreateCategory(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
219
|
-
const createParams = params
|
|
215
|
+
const createParams = toolParams<CreateCategoryRequest>(params);
|
|
220
216
|
try {
|
|
221
217
|
const category = await client.createCategory(createParams);
|
|
222
218
|
return `✅ Category "${category.name}" created successfully with ID: ${category.id}.`;
|
|
@@ -226,7 +222,7 @@ export class TaxonomyTools {
|
|
|
226
222
|
}
|
|
227
223
|
|
|
228
224
|
public async handleUpdateCategory(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
229
|
-
const updateParams = params
|
|
225
|
+
const updateParams = toolParams<UpdateCategoryRequest>(params);
|
|
230
226
|
try {
|
|
231
227
|
const category = await client.updateCategory(updateParams);
|
|
232
228
|
return `✅ Category ${category.id} updated successfully.`;
|
|
@@ -277,7 +273,7 @@ export class TaxonomyTools {
|
|
|
277
273
|
}
|
|
278
274
|
|
|
279
275
|
public async handleCreateTag(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
280
|
-
const createParams = params
|
|
276
|
+
const createParams = toolParams<CreateTagRequest>(params);
|
|
281
277
|
try {
|
|
282
278
|
const tag = await client.createTag(createParams);
|
|
283
279
|
return `✅ Tag "${tag.name}" created successfully with ID: ${tag.id}.`;
|
|
@@ -287,7 +283,7 @@ export class TaxonomyTools {
|
|
|
287
283
|
}
|
|
288
284
|
|
|
289
285
|
public async handleUpdateTag(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
290
|
-
const updateParams = params
|
|
286
|
+
const updateParams = toolParams<UpdateTagRequest>(params);
|
|
291
287
|
try {
|
|
292
288
|
const tag = await client.updateTag(updateParams);
|
|
293
289
|
return `✅ Tag ${tag.id} updated successfully.`;
|
package/src/tools/users.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { WordPressClient } from "@/client/api.js";
|
|
|
2
2
|
import { CreateUserRequest, UpdateUserRequest, UserQueryParams } from "@/types/wordpress.js";
|
|
3
3
|
import { getErrorMessage } from "@/utils/error.js";
|
|
4
4
|
import { WordPressDataStreamer, StreamingUtils, StreamingResult } from "@/utils/streaming.js";
|
|
5
|
+
import { toolParams } from "./params.js";
|
|
5
6
|
|
|
6
7
|
/**
|
|
7
8
|
* Provides tools for managing users on a WordPress site.
|
|
@@ -313,7 +314,7 @@ export class UserTools {
|
|
|
313
314
|
}
|
|
314
315
|
|
|
315
316
|
public async handleCreateUser(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
316
|
-
const createParams = params
|
|
317
|
+
const createParams = toolParams<CreateUserRequest>(params);
|
|
317
318
|
try {
|
|
318
319
|
const user = await client.createUser(createParams);
|
|
319
320
|
return `✅ User "${user.name}" created successfully with ID: ${user.id}.`;
|
|
@@ -323,7 +324,7 @@ export class UserTools {
|
|
|
323
324
|
}
|
|
324
325
|
|
|
325
326
|
public async handleUpdateUser(client: WordPressClient, params: Record<string, unknown>): Promise<unknown> {
|
|
326
|
-
const updateParams = params
|
|
327
|
+
const updateParams = toolParams<UpdateUserRequest>(params);
|
|
327
328
|
try {
|
|
328
329
|
const user = await client.updateUser(updateParams);
|
|
329
330
|
return `✅ User ${user.id} updated successfully.`;
|