@mainwp/mcp 1.0.0-beta.1 → 1.0.0-beta.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -0
- package/dist/abilities.d.ts +3 -65
- package/dist/abilities.d.ts.map +1 -1
- package/dist/abilities.js +59 -249
- package/dist/abilities.js.map +1 -1
- package/dist/config.d.ts +0 -3
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +28 -36
- package/dist/config.js.map +1 -1
- package/dist/confirmation.d.ts +55 -0
- package/dist/confirmation.d.ts.map +1 -0
- package/dist/confirmation.js +229 -0
- package/dist/confirmation.js.map +1 -0
- package/dist/errors.d.ts +4 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -1
- package/dist/errors.js.map +1 -1
- package/dist/help.d.ts +58 -0
- package/dist/help.d.ts.map +1 -0
- package/dist/help.js +75 -0
- package/dist/help.js.map +1 -0
- package/dist/http-client.d.ts +40 -0
- package/dist/http-client.d.ts.map +1 -0
- package/dist/http-client.js +167 -0
- package/dist/http-client.js.map +1 -0
- package/dist/index.js +32 -96
- package/dist/index.js.map +1 -1
- package/dist/logging.d.ts.map +1 -1
- package/dist/logging.js +21 -29
- package/dist/logging.js.map +1 -1
- package/dist/prompts.js +2 -2
- package/dist/prompts.js.map +1 -1
- package/dist/security.d.ts +3 -1
- package/dist/security.d.ts.map +1 -1
- package/dist/security.js +26 -1
- package/dist/security.js.map +1 -1
- package/dist/session.d.ts +44 -0
- package/dist/session.d.ts.map +1 -0
- package/dist/session.js +87 -0
- package/dist/session.js.map +1 -0
- package/dist/tool-schema.d.ts +40 -0
- package/dist/tool-schema.d.ts.map +1 -0
- package/dist/tool-schema.js +309 -0
- package/dist/tool-schema.js.map +1 -0
- package/dist/tools.d.ts +1 -42
- package/dist/tools.d.ts.map +1 -1
- package/dist/tools.js +30 -647
- package/dist/tools.js.map +1 -1
- package/package.json +5 -4
package/dist/config.js
CHANGED
|
@@ -142,7 +142,17 @@ export function loadSettingsFile() {
|
|
|
142
142
|
});
|
|
143
143
|
}
|
|
144
144
|
validateSettingsFile(parsed, filePath);
|
|
145
|
-
|
|
145
|
+
// Warn when settings are loaded from CWD — a malicious settings.json in a shared
|
|
146
|
+
// or attacker-writable directory could redirect API calls to capture credentials.
|
|
147
|
+
const cwdPath = searchPaths[0];
|
|
148
|
+
const homePath = searchPaths[1];
|
|
149
|
+
if (filePath === cwdPath && cwdPath !== homePath) {
|
|
150
|
+
console.error(`[mainwp-mcp] WARNING: Loading settings from working directory (${filePath}). ` +
|
|
151
|
+
`Ensure this file is trusted. Prefer ~/.config/mainwp-mcp/settings.json for production.`);
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
console.error('[mainwp-mcp] Loaded settings from file');
|
|
155
|
+
}
|
|
146
156
|
return parsed;
|
|
147
157
|
}
|
|
148
158
|
}
|
|
@@ -299,13 +309,11 @@ export function loadConfig() {
|
|
|
299
309
|
if (!dashboardUrl) {
|
|
300
310
|
throw new Error('MAINWP_URL is required (set via environment variable or settings.json)');
|
|
301
311
|
}
|
|
302
|
-
// Determine auth type
|
|
303
312
|
const hasBasicAuth = username && appPassword;
|
|
304
313
|
const hasBearerAuth = apiToken;
|
|
305
314
|
if (!hasBasicAuth && !hasBearerAuth) {
|
|
306
315
|
throw new Error('Authentication required: Set MAINWP_USER + MAINWP_APP_PASSWORD or MAINWP_TOKEN (via environment variables or settings.json)');
|
|
307
316
|
}
|
|
308
|
-
// Normalize URL (remove trailing slash)
|
|
309
317
|
const normalizedUrl = dashboardUrl.replace(/\/+$/, '');
|
|
310
318
|
// Validate URL format
|
|
311
319
|
let parsedUrl;
|
|
@@ -323,36 +331,8 @@ export function loadConfig() {
|
|
|
323
331
|
}
|
|
324
332
|
console.error('WARNING: dashboardUrl uses HTTP - credentials will be transmitted in plain text');
|
|
325
333
|
}
|
|
326
|
-
|
|
327
|
-
if (hasBasicAuth) {
|
|
328
|
-
return {
|
|
329
|
-
dashboardUrl: normalizedUrl,
|
|
330
|
-
authType: 'basic',
|
|
331
|
-
username,
|
|
332
|
-
appPassword,
|
|
333
|
-
skipSslVerify,
|
|
334
|
-
allowHttp,
|
|
335
|
-
rateLimit,
|
|
336
|
-
requestTimeout,
|
|
337
|
-
maxResponseSize,
|
|
338
|
-
safeMode,
|
|
339
|
-
requireUserConfirmation,
|
|
340
|
-
maxSessionData,
|
|
341
|
-
schemaVerbosity,
|
|
342
|
-
responseFormat,
|
|
343
|
-
retryEnabled,
|
|
344
|
-
maxRetries,
|
|
345
|
-
retryBaseDelay,
|
|
346
|
-
retryMaxDelay,
|
|
347
|
-
configSource,
|
|
348
|
-
...(allowedTools.length > 0 ? { allowedTools } : {}),
|
|
349
|
-
...(blockedTools.length > 0 ? { blockedTools } : {}),
|
|
350
|
-
};
|
|
351
|
-
}
|
|
352
|
-
return {
|
|
334
|
+
const shared = {
|
|
353
335
|
dashboardUrl: normalizedUrl,
|
|
354
|
-
authType: 'bearer',
|
|
355
|
-
apiToken,
|
|
356
336
|
skipSslVerify,
|
|
357
337
|
allowHttp,
|
|
358
338
|
rateLimit,
|
|
@@ -371,6 +351,11 @@ export function loadConfig() {
|
|
|
371
351
|
...(allowedTools.length > 0 ? { allowedTools } : {}),
|
|
372
352
|
...(blockedTools.length > 0 ? { blockedTools } : {}),
|
|
373
353
|
};
|
|
354
|
+
// Prefer basic auth (Application Password) as it works with Abilities API
|
|
355
|
+
if (hasBasicAuth) {
|
|
356
|
+
return { ...shared, authType: 'basic', username, appPassword };
|
|
357
|
+
}
|
|
358
|
+
return { ...shared, authType: 'bearer', apiToken };
|
|
374
359
|
}
|
|
375
360
|
/**
|
|
376
361
|
* Serialize data as JSON using the configured response format.
|
|
@@ -386,20 +371,27 @@ export function getAbilitiesApiUrl(config) {
|
|
|
386
371
|
return `${config.dashboardUrl}/wp-json/wp-abilities/v1`;
|
|
387
372
|
}
|
|
388
373
|
/**
|
|
389
|
-
* Get authorization headers for API requests
|
|
374
|
+
* Get authorization headers for API requests.
|
|
375
|
+
* Computed once per config object and cached — credentials don't change during a server's lifetime.
|
|
390
376
|
*/
|
|
377
|
+
let cachedHeaders;
|
|
378
|
+
let cachedAuthConfig;
|
|
391
379
|
export function getAuthHeaders(config) {
|
|
380
|
+
if (config === cachedAuthConfig && cachedHeaders) {
|
|
381
|
+
return cachedHeaders;
|
|
382
|
+
}
|
|
383
|
+
cachedAuthConfig = config;
|
|
392
384
|
const headers = {
|
|
393
385
|
'Content-Type': 'application/json',
|
|
394
386
|
};
|
|
395
387
|
if (config.authType === 'basic' && config.username && config.appPassword) {
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
headers['Authorization'] = `Basic ${credentials}`;
|
|
388
|
+
headers['Authorization'] =
|
|
389
|
+
`Basic ${Buffer.from(`${config.username}:${config.appPassword}`).toString('base64')}`;
|
|
399
390
|
}
|
|
400
391
|
else if (config.authType === 'bearer' && config.apiToken) {
|
|
401
392
|
headers['Authorization'] = `Bearer ${config.apiToken}`;
|
|
402
393
|
}
|
|
394
|
+
cachedHeaders = headers;
|
|
403
395
|
return headers;
|
|
404
396
|
}
|
|
405
397
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Two-Phase Confirmation Flow
|
|
3
|
+
*
|
|
4
|
+
* Manages the preview → confirm → execute lifecycle for destructive operations.
|
|
5
|
+
* Owns the pending preview state (pendingPreviews, tokenIndex) and all
|
|
6
|
+
* confirmation validation logic.
|
|
7
|
+
*/
|
|
8
|
+
import type { TextContent } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import { type Ability } from './abilities.js';
|
|
10
|
+
import { Config } from './config.js';
|
|
11
|
+
import type { Logger } from './logging.js';
|
|
12
|
+
/**
|
|
13
|
+
* Clear pending previews (for testing only).
|
|
14
|
+
* @internal
|
|
15
|
+
*/
|
|
16
|
+
export declare function clearPendingPreviews(): void;
|
|
17
|
+
/**
|
|
18
|
+
* Result of the confirmation flow evaluation.
|
|
19
|
+
*
|
|
20
|
+
* - `respond`: return the response directly to the client (preview, error, etc.)
|
|
21
|
+
* - `execute`: proceed with execution using the (possibly modified) effectiveArgs
|
|
22
|
+
* - `skip`: confirmation flow does not apply — proceed with original args
|
|
23
|
+
*/
|
|
24
|
+
export type ConfirmationResult = {
|
|
25
|
+
action: 'respond';
|
|
26
|
+
response: TextContent[];
|
|
27
|
+
} | {
|
|
28
|
+
action: 'execute';
|
|
29
|
+
effectiveArgs: Record<string, unknown>;
|
|
30
|
+
} | {
|
|
31
|
+
action: 'skip';
|
|
32
|
+
};
|
|
33
|
+
/**
|
|
34
|
+
* Parameters for the confirmation flow handler
|
|
35
|
+
*/
|
|
36
|
+
export interface ConfirmationFlowParams {
|
|
37
|
+
config: Config;
|
|
38
|
+
ability: Ability;
|
|
39
|
+
toolName: string;
|
|
40
|
+
abilityName: string;
|
|
41
|
+
args: Record<string, unknown>;
|
|
42
|
+
effectiveArgs: Record<string, unknown>;
|
|
43
|
+
logger: Logger;
|
|
44
|
+
signal?: AbortSignal;
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Handle the two-phase confirmation flow for destructive operations.
|
|
48
|
+
*
|
|
49
|
+
* Evaluates the tool call arguments and returns one of:
|
|
50
|
+
* - `respond`: early-return response (preview, validation error, expired)
|
|
51
|
+
* - `execute`: proceed with modified args (user confirmed)
|
|
52
|
+
* - `skip`: confirmation flow doesn't apply (dry_run, no confirm param, etc.)
|
|
53
|
+
*/
|
|
54
|
+
export declare function handleConfirmationFlow(params: ConfirmationFlowParams): Promise<ConfirmationResult>;
|
|
55
|
+
//# sourceMappingURL=confirmation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmation.d.ts","sourceRoot":"","sources":["../src/confirmation.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACtE,OAAO,EAAkB,KAAK,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAc,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AA6B3C;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,IAAI,CAG3C;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAC1B;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,WAAW,EAAE,CAAA;CAAE,GAC9C;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,GAC7D;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9B,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB;AAiDD;;;;;;;GAOG;AACH,wBAAsB,sBAAsB,CAC1C,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,kBAAkB,CAAC,CA0L7B"}
|
|
@@ -0,0 +1,229 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Two-Phase Confirmation Flow
|
|
3
|
+
*
|
|
4
|
+
* Manages the preview → confirm → execute lifecycle for destructive operations.
|
|
5
|
+
* Owns the pending preview state (pendingPreviews, tokenIndex) and all
|
|
6
|
+
* confirmation validation logic.
|
|
7
|
+
*/
|
|
8
|
+
import crypto from 'crypto';
|
|
9
|
+
import { executeAbility } from './abilities.js';
|
|
10
|
+
import { formatJson } from './config.js';
|
|
11
|
+
import { trackSessionData } from './session.js';
|
|
12
|
+
import { buildInvalidParameterResponse, buildConflictingParametersResponse, buildConfirmationRequiredResponse, buildPreviewRequiredResponse, buildPreviewExpiredResponse, } from './confirmation-responses.js';
|
|
13
|
+
/**
|
|
14
|
+
* Preview tracking for two-phase confirmation flow.
|
|
15
|
+
* Maps preview keys to timestamps for validation and expiry.
|
|
16
|
+
*/
|
|
17
|
+
const pendingPreviews = new Map();
|
|
18
|
+
/**
|
|
19
|
+
* Token index for confirmation flow.
|
|
20
|
+
* Maps confirmation tokens (UUIDs) to preview keys for secure token-based confirmation.
|
|
21
|
+
*/
|
|
22
|
+
const tokenIndex = new Map();
|
|
23
|
+
/** Preview expiry time: 5 minutes in milliseconds */
|
|
24
|
+
const PREVIEW_EXPIRY_MS = 5 * 60 * 1000;
|
|
25
|
+
/** Maximum number of pending previews to prevent memory exhaustion */
|
|
26
|
+
const MAX_PENDING_PREVIEWS = 100;
|
|
27
|
+
/**
|
|
28
|
+
* Clear pending previews (for testing only).
|
|
29
|
+
* @internal
|
|
30
|
+
*/
|
|
31
|
+
export function clearPendingPreviews() {
|
|
32
|
+
pendingPreviews.clear();
|
|
33
|
+
tokenIndex.clear();
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Generate a unique preview key for a tool call.
|
|
37
|
+
* Excludes confirmation-related parameters (confirm, user_confirmed, dry_run)
|
|
38
|
+
* from the key to ensure preview and execution calls match.
|
|
39
|
+
*/
|
|
40
|
+
function getPreviewKey(toolName, args) {
|
|
41
|
+
const { confirm: _confirm, user_confirmed: _user_confirmed, dry_run: _dry_run, confirmation_token: _confirmation_token, ...relevantArgs } = args;
|
|
42
|
+
const sortedKeys = Object.keys(relevantArgs).sort();
|
|
43
|
+
return `${toolName}:${JSON.stringify(relevantArgs, sortedKeys)}`;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Clean up expired preview keys and enforce maximum preview limit.
|
|
47
|
+
*/
|
|
48
|
+
function cleanupExpiredPreviews() {
|
|
49
|
+
const now = Date.now();
|
|
50
|
+
// First pass: Remove expired entries
|
|
51
|
+
for (const [key, timestamp] of pendingPreviews.entries()) {
|
|
52
|
+
if (now - timestamp > PREVIEW_EXPIRY_MS) {
|
|
53
|
+
pendingPreviews.delete(key);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
// Second pass: Enforce max size limit by removing oldest entries
|
|
57
|
+
if (pendingPreviews.size > MAX_PENDING_PREVIEWS) {
|
|
58
|
+
const sortedEntries = Array.from(pendingPreviews.entries()).sort((a, b) => a[1] - b[1]);
|
|
59
|
+
const toRemove = sortedEntries.slice(0, pendingPreviews.size - MAX_PENDING_PREVIEWS);
|
|
60
|
+
for (const [key] of toRemove) {
|
|
61
|
+
pendingPreviews.delete(key);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Third pass: Clean up orphaned tokens whose preview keys no longer exist
|
|
65
|
+
for (const [token, previewKey] of tokenIndex.entries()) {
|
|
66
|
+
if (!pendingPreviews.has(previewKey)) {
|
|
67
|
+
tokenIndex.delete(token);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Handle the two-phase confirmation flow for destructive operations.
|
|
73
|
+
*
|
|
74
|
+
* Evaluates the tool call arguments and returns one of:
|
|
75
|
+
* - `respond`: early-return response (preview, validation error, expired)
|
|
76
|
+
* - `execute`: proceed with modified args (user confirmed)
|
|
77
|
+
* - `skip`: confirmation flow doesn't apply (dry_run, no confirm param, etc.)
|
|
78
|
+
*/
|
|
79
|
+
export async function handleConfirmationFlow(params) {
|
|
80
|
+
const { config, ability, toolName, abilityName, args, effectiveArgs, logger, signal } = params;
|
|
81
|
+
const ctx = { tool: toolName, ability: abilityName };
|
|
82
|
+
// Check if tool supports confirmation parameter
|
|
83
|
+
const schemaProps = ability.input_schema?.properties;
|
|
84
|
+
const hasConfirmParam = schemaProps !== null && typeof schemaProps === 'object' && 'confirm' in schemaProps;
|
|
85
|
+
// Validation: user_confirmed on tools without confirm parameter
|
|
86
|
+
if (!hasConfirmParam && args.user_confirmed === true) {
|
|
87
|
+
logger.warning('Invalid parameter: user_confirmed on tool without confirm support', {
|
|
88
|
+
toolName,
|
|
89
|
+
abilityName,
|
|
90
|
+
});
|
|
91
|
+
return {
|
|
92
|
+
action: 'respond',
|
|
93
|
+
response: [{ type: 'text', text: formatJson(config, buildInvalidParameterResponse(ctx)) }],
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
if (!hasConfirmParam) {
|
|
97
|
+
return { action: 'skip' };
|
|
98
|
+
}
|
|
99
|
+
// Validation: Conflicting parameters (user_confirmed + dry_run)
|
|
100
|
+
if (args.user_confirmed === true && args.dry_run === true) {
|
|
101
|
+
logger.warning('Conflicting parameters: user_confirmed and dry_run both set', {
|
|
102
|
+
toolName,
|
|
103
|
+
abilityName,
|
|
104
|
+
userConfirmed: args.user_confirmed,
|
|
105
|
+
dryRun: args.dry_run,
|
|
106
|
+
});
|
|
107
|
+
return {
|
|
108
|
+
action: 'respond',
|
|
109
|
+
response: [
|
|
110
|
+
{ type: 'text', text: formatJson(config, buildConflictingParametersResponse(ctx)) },
|
|
111
|
+
],
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
// Case 1: Explicit dry_run bypass - skip confirmation flow entirely
|
|
115
|
+
if (args.dry_run === true) {
|
|
116
|
+
logger.debug('Explicit dry_run bypasses confirmation flow', { toolName });
|
|
117
|
+
return { action: 'skip' };
|
|
118
|
+
}
|
|
119
|
+
// Case 2: Preview request (confirm: true without user_confirmed)
|
|
120
|
+
if (args.confirm === true && args.user_confirmed !== true) {
|
|
121
|
+
cleanupExpiredPreviews();
|
|
122
|
+
// Execute preview with dry_run: true
|
|
123
|
+
const previewArgs = { ...effectiveArgs, dry_run: true, confirm: undefined };
|
|
124
|
+
const previewResult = await executeAbility(config, abilityName, previewArgs, logger, ability, signal);
|
|
125
|
+
// Store preview for later validation
|
|
126
|
+
const previewKey = getPreviewKey(toolName, args);
|
|
127
|
+
pendingPreviews.set(previewKey, Date.now());
|
|
128
|
+
// Clean up any existing token for this preview key before generating a new one
|
|
129
|
+
for (const [existingToken, existingKey] of tokenIndex.entries()) {
|
|
130
|
+
if (existingKey === previewKey) {
|
|
131
|
+
tokenIndex.delete(existingToken);
|
|
132
|
+
break;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
// Generate confirmation token for secure token-based confirmation
|
|
136
|
+
const token = crypto.randomUUID();
|
|
137
|
+
tokenIndex.set(token, previewKey);
|
|
138
|
+
logger.info('Preview generated for confirmation', { toolName });
|
|
139
|
+
const confirmationResponse = buildConfirmationRequiredResponse(ctx, previewResult, token);
|
|
140
|
+
const previewResponse = formatJson(config, confirmationResponse);
|
|
141
|
+
trackSessionData(previewResponse, config, logger, 'during preview');
|
|
142
|
+
return {
|
|
143
|
+
action: 'respond',
|
|
144
|
+
response: [{ type: 'text', text: previewResponse }],
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
// Case 3: Confirmed execution (user_confirmed: true)
|
|
148
|
+
if (args.user_confirmed === true) {
|
|
149
|
+
// Warning: Ambiguous parameters (confirm + user_confirmed both set)
|
|
150
|
+
if (args.confirm === true) {
|
|
151
|
+
logger.warning('Ambiguous parameters: both confirm and user_confirmed set, treating as confirmation', { toolName, abilityName });
|
|
152
|
+
}
|
|
153
|
+
// Resolve preview key: prefer token-based lookup, fall back to key-based
|
|
154
|
+
let previewKey;
|
|
155
|
+
const confirmationToken = typeof args.confirmation_token === 'string' ? args.confirmation_token : undefined;
|
|
156
|
+
if (confirmationToken) {
|
|
157
|
+
const tokenPreviewKey = tokenIndex.get(confirmationToken);
|
|
158
|
+
if (!tokenPreviewKey) {
|
|
159
|
+
logger.warning('Confirmation failed - invalid confirmation token', { toolName });
|
|
160
|
+
return {
|
|
161
|
+
action: 'respond',
|
|
162
|
+
response: [{ type: 'text', text: formatJson(config, buildPreviewRequiredResponse(ctx)) }],
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
// Verify token belongs to this tool (prevent cross-tool reuse)
|
|
166
|
+
if (!tokenPreviewKey.startsWith(`${toolName}:`)) {
|
|
167
|
+
tokenIndex.delete(confirmationToken);
|
|
168
|
+
logger.warning('Confirmation failed - token belongs to different tool', { toolName });
|
|
169
|
+
return {
|
|
170
|
+
action: 'respond',
|
|
171
|
+
response: [{ type: 'text', text: formatJson(config, buildPreviewRequiredResponse(ctx)) }],
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
// Verify token matches current arguments (prevent arg-swap)
|
|
175
|
+
const currentPreviewKey = getPreviewKey(toolName, args);
|
|
176
|
+
if (currentPreviewKey !== tokenPreviewKey) {
|
|
177
|
+
tokenIndex.delete(confirmationToken);
|
|
178
|
+
logger.warning('Confirmation failed - arguments do not match preview', { toolName });
|
|
179
|
+
return {
|
|
180
|
+
action: 'respond',
|
|
181
|
+
response: [{ type: 'text', text: formatJson(config, buildPreviewRequiredResponse(ctx)) }],
|
|
182
|
+
};
|
|
183
|
+
}
|
|
184
|
+
previewKey = tokenPreviewKey;
|
|
185
|
+
}
|
|
186
|
+
else {
|
|
187
|
+
previewKey = getPreviewKey(toolName, args);
|
|
188
|
+
}
|
|
189
|
+
// Check preview expiry BEFORE running cleanup for more helpful error messages
|
|
190
|
+
const previewTimestamp = pendingPreviews.get(previewKey);
|
|
191
|
+
if (previewTimestamp === undefined) {
|
|
192
|
+
logger.warning('Confirmation failed - no preview found', { toolName });
|
|
193
|
+
return {
|
|
194
|
+
action: 'respond',
|
|
195
|
+
response: [{ type: 'text', text: formatJson(config, buildPreviewRequiredResponse(ctx)) }],
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
if (Date.now() - previewTimestamp > PREVIEW_EXPIRY_MS) {
|
|
199
|
+
pendingPreviews.delete(previewKey);
|
|
200
|
+
if (confirmationToken)
|
|
201
|
+
tokenIndex.delete(confirmationToken);
|
|
202
|
+
logger.warning('Confirmation failed - preview expired', { toolName });
|
|
203
|
+
return {
|
|
204
|
+
action: 'respond',
|
|
205
|
+
response: [{ type: 'text', text: formatJson(config, buildPreviewExpiredResponse(ctx)) }],
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
// Preview is valid - proceed with execution
|
|
209
|
+
pendingPreviews.delete(previewKey);
|
|
210
|
+
if (confirmationToken)
|
|
211
|
+
tokenIndex.delete(confirmationToken);
|
|
212
|
+
const previewAge = Date.now() - previewTimestamp;
|
|
213
|
+
logger.info('User confirmation validated', { toolName, previewAge });
|
|
214
|
+
// Remove user_confirmed and confirmation_token flags, keep confirm: true for the actual execution
|
|
215
|
+
const { user_confirmed: _user_confirmed, confirmation_token: _confirmation_token, ...confirmedArgs } = effectiveArgs;
|
|
216
|
+
return {
|
|
217
|
+
action: 'execute',
|
|
218
|
+
effectiveArgs: { ...confirmedArgs, confirm: true },
|
|
219
|
+
};
|
|
220
|
+
}
|
|
221
|
+
// Default case: no confirm or user_confirmed provided
|
|
222
|
+
// Log warning but proceed to maintain backward compatibility
|
|
223
|
+
logger.warning('Destructive tool called without confirmation parameters', {
|
|
224
|
+
toolName,
|
|
225
|
+
abilityName,
|
|
226
|
+
});
|
|
227
|
+
return { action: 'skip' };
|
|
228
|
+
}
|
|
229
|
+
//# sourceMappingURL=confirmation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmation.js","sourceRoot":"","sources":["../src/confirmation.ts"],"names":[],"mappings":"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"}
|
package/dist/errors.d.ts
CHANGED
|
@@ -37,6 +37,10 @@ export interface McpErrorResponse {
|
|
|
37
37
|
data?: Record<string, unknown>;
|
|
38
38
|
};
|
|
39
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Extract a human-readable message from an unknown thrown value.
|
|
42
|
+
*/
|
|
43
|
+
export declare function getErrorMessage(error: unknown): string;
|
|
40
44
|
/**
|
|
41
45
|
* Custom error class for MCP errors with code support
|
|
42
46
|
*/
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAoBlB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,IAAI,EAAE,YAAY,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;CACH;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE5B,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAO/E;;OAEG;IACH,UAAU,IAAI,gBAAgB;CAY/B;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B;;OAEG;2BACoB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAIxE;;OAEG;2BACoB,MAAM,GAAG,QAAQ;IAMxC;;OAEG;0BACmB,MAAM,GAAG,QAAQ;IAIvC;;OAEG;+BACwB,MAAM,GAAG,QAAQ;IAM5C;;OAEG;iCAC0B,MAAM,GAAG,QAAQ;IAM9C;;OAEG;+BACwB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAI5E;;OAEG;sBACe,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAInE;;OAEG;iBACU,QAAQ;IAIrB;;OAEG;wCAC8C,QAAQ;IAIzD;;OAEG;oCACqC,QAAQ;IAIhD;;OAEG;mBACY,QAAQ;IAIvB;;OAEG;+BACqC,QAAQ;IAIhD;;OAEG;oBACa,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;CAGlE,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GACjC,gBAAgB,CA+ClB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAE9F"}
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;CAoBlB,CAAC;AAEX,MAAM,MAAM,YAAY,GAAG,CAAC,OAAO,eAAe,CAAC,CAAC,MAAM,OAAO,eAAe,CAAC,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE;QACL,IAAI,EAAE,YAAY,CAAC;QACnB,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KAChC,CAAC;CACH;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAEtD;AAED;;GAEG;AACH,qBAAa,QAAS,SAAQ,KAAK;IACjC,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;gBAE5B,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAO/E;;OAEG;IACH,UAAU,IAAI,gBAAgB;CAY/B;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;IAC1B;;OAEG;2BACoB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAIxE;;OAEG;2BACoB,MAAM,GAAG,QAAQ;IAMxC;;OAEG;0BACmB,MAAM,GAAG,QAAQ;IAIvC;;OAEG;+BACwB,MAAM,GAAG,QAAQ;IAM5C;;OAEG;iCAC0B,MAAM,GAAG,QAAQ;IAM9C;;OAEG;+BACwB,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAI5E;;OAEG;sBACe,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;IAInE;;OAEG;iBACU,QAAQ;IAIrB;;OAEG;wCAC8C,QAAQ;IAIzD;;OAEG;oCACqC,QAAQ;IAIhD;;OAEG;mBACY,QAAQ;IAIvB;;OAEG;+BACqC,QAAQ;IAIhD;;OAEG;oBACa,MAAM,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,QAAQ;CAGlE,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GACjC,gBAAgB,CA+ClB;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,MAAM,CAE9F"}
|
package/dist/errors.js
CHANGED
|
@@ -28,6 +28,12 @@ export const MCP_ERROR_CODES = {
|
|
|
28
28
|
RATE_LIMITED: -32029,
|
|
29
29
|
CANCELLED: -32099,
|
|
30
30
|
};
|
|
31
|
+
/**
|
|
32
|
+
* Extract a human-readable message from an unknown thrown value.
|
|
33
|
+
*/
|
|
34
|
+
export function getErrorMessage(error) {
|
|
35
|
+
return error instanceof Error ? error.message : String(error);
|
|
36
|
+
}
|
|
31
37
|
/**
|
|
32
38
|
* Custom error class for MCP errors with code support
|
|
33
39
|
*/
|
|
@@ -162,7 +168,7 @@ export function toMcpErrorResponse(error, sanitize) {
|
|
|
162
168
|
}
|
|
163
169
|
return error.toResponse();
|
|
164
170
|
}
|
|
165
|
-
const message =
|
|
171
|
+
const message = getErrorMessage(error);
|
|
166
172
|
const sanitizedMessage = sanitize ? sanitize(message) : message;
|
|
167
173
|
// Try to infer error code from message
|
|
168
174
|
let code = MCP_ERROR_CODES.INTERNAL_ERROR;
|
package/dist/errors.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/help.d.ts
ADDED
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Help Documentation Generation
|
|
3
|
+
*
|
|
4
|
+
* Generates structured help documents from MainWP ability metadata.
|
|
5
|
+
* Purely functional — no state, no side effects.
|
|
6
|
+
*/
|
|
7
|
+
import type { Ability } from './abilities.js';
|
|
8
|
+
/**
|
|
9
|
+
* Help documentation for a single tool
|
|
10
|
+
*/
|
|
11
|
+
export interface ToolHelp {
|
|
12
|
+
toolName: string;
|
|
13
|
+
abilityName: string;
|
|
14
|
+
label: string;
|
|
15
|
+
description: string;
|
|
16
|
+
category: string;
|
|
17
|
+
annotations: {
|
|
18
|
+
readonly: boolean;
|
|
19
|
+
destructive: boolean;
|
|
20
|
+
idempotent: boolean;
|
|
21
|
+
instructions?: string;
|
|
22
|
+
};
|
|
23
|
+
safetyFeatures: {
|
|
24
|
+
supportsDryRun: boolean;
|
|
25
|
+
requiresConfirm: boolean;
|
|
26
|
+
};
|
|
27
|
+
parameters: Array<{
|
|
28
|
+
name: string;
|
|
29
|
+
type: string;
|
|
30
|
+
required: boolean;
|
|
31
|
+
description?: string;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Complete help document structure
|
|
36
|
+
*/
|
|
37
|
+
export interface HelpDocument {
|
|
38
|
+
version: string;
|
|
39
|
+
generated: string;
|
|
40
|
+
overview: {
|
|
41
|
+
totalTools: number;
|
|
42
|
+
categories: string[];
|
|
43
|
+
safetyConventions: Record<string, string>;
|
|
44
|
+
};
|
|
45
|
+
destructiveTools: string[];
|
|
46
|
+
toolsWithDryRun: string[];
|
|
47
|
+
toolsRequiringConfirm: string[];
|
|
48
|
+
toolsByCategory: Record<string, ToolHelp[]>;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Generate help documentation for a single ability
|
|
52
|
+
*/
|
|
53
|
+
export declare function generateToolHelp(ability: Ability): ToolHelp;
|
|
54
|
+
/**
|
|
55
|
+
* Generate complete help document from all abilities
|
|
56
|
+
*/
|
|
57
|
+
export declare function generateHelpDocument(abilities: Ability[]): HelpDocument;
|
|
58
|
+
//# sourceMappingURL=help.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../src/help.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAE9C;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE;QACX,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,EAAE,OAAO,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,cAAc,EAAE;QACd,cAAc,EAAE,OAAO,CAAC;QACxB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,UAAU,EAAE,KAAK,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,OAAO,CAAC;QAClB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC,CAAC;CACJ;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QACR,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,EAAE,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KAC3C,CAAC;IACF,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;CAC7C;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CA8B3D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,OAAO,EAAE,GAAG,YAAY,CAiCvE"}
|