@mainwp/mcp 1.0.0-beta.1
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/LICENSE +674 -0
- package/README.md +1034 -0
- package/dist/abilities.d.ts +144 -0
- package/dist/abilities.d.ts.map +1 -0
- package/dist/abilities.js +529 -0
- package/dist/abilities.js.map +1 -0
- package/dist/config.d.ts +135 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +405 -0
- package/dist/config.js.map +1 -0
- package/dist/confirmation-responses.d.ts +44 -0
- package/dist/confirmation-responses.d.ts.map +1 -0
- package/dist/confirmation-responses.js +120 -0
- package/dist/confirmation-responses.js.map +1 -0
- package/dist/errors.d.ts +118 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +206 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +17 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +506 -0
- package/dist/index.js.map +1 -0
- package/dist/logging.d.ts +34 -0
- package/dist/logging.d.ts.map +1 -0
- package/dist/logging.js +74 -0
- package/dist/logging.js.map +1 -0
- package/dist/naming.d.ts +23 -0
- package/dist/naming.d.ts.map +1 -0
- package/dist/naming.js +37 -0
- package/dist/naming.js.map +1 -0
- package/dist/prompts.d.ts +22 -0
- package/dist/prompts.d.ts.map +1 -0
- package/dist/prompts.js +414 -0
- package/dist/prompts.js.map +1 -0
- package/dist/retry.d.ts +77 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +206 -0
- package/dist/retry.js.map +1 -0
- package/dist/security.d.ts +41 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +154 -0
- package/dist/security.js.map +1 -0
- package/dist/tools.d.ts +82 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +861 -0
- package/dist/tools.js.map +1 -0
- package/package.json +73 -0
- package/settings.example.json +30 -0
- package/settings.schema.json +129 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abilities.js","sourceRoot":"","sources":["../src/abilities.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
ADDED
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MainWP MCP Server Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration is loaded from environment variables:
|
|
5
|
+
* - MAINWP_URL: Base URL of the MainWP Dashboard (e.g., https://dashboard.example.com)
|
|
6
|
+
*
|
|
7
|
+
* Authentication (one of):
|
|
8
|
+
* - MAINWP_USER + MAINWP_APP_PASSWORD: WordPress Application Password (recommended for Abilities API)
|
|
9
|
+
* - MAINWP_TOKEN: MainWP REST API Bearer token (only works with MainWP endpoints, not Abilities API)
|
|
10
|
+
*/
|
|
11
|
+
/** Allowed schema verbosity values */
|
|
12
|
+
export declare const SCHEMA_VERBOSITY_VALUES: readonly ["compact", "standard"];
|
|
13
|
+
/** Schema verbosity type derived from allowed values */
|
|
14
|
+
export type SchemaVerbosity = (typeof SCHEMA_VERBOSITY_VALUES)[number];
|
|
15
|
+
/** Allowed response format values */
|
|
16
|
+
export declare const RESPONSE_FORMAT_VALUES: readonly ["compact", "pretty"];
|
|
17
|
+
/** Response format type derived from allowed values */
|
|
18
|
+
export type ResponseFormat = (typeof RESPONSE_FORMAT_VALUES)[number];
|
|
19
|
+
export interface Config {
|
|
20
|
+
/** Base URL of the MainWP Dashboard */
|
|
21
|
+
dashboardUrl: string;
|
|
22
|
+
/** Authentication type: 'basic' (app password) or 'bearer' (MainWP token) */
|
|
23
|
+
authType: 'basic' | 'bearer';
|
|
24
|
+
/** WordPress username (for basic auth) */
|
|
25
|
+
username?: string;
|
|
26
|
+
/** WordPress Application Password (for basic auth) */
|
|
27
|
+
appPassword?: string;
|
|
28
|
+
/** Bearer token for REST API authentication (for MainWP-specific endpoints) */
|
|
29
|
+
apiToken?: string;
|
|
30
|
+
/** Whether to skip SSL verification (for local dev with self-signed certs) */
|
|
31
|
+
skipSslVerify: boolean;
|
|
32
|
+
/** Whether HTTP URLs are explicitly allowed (insecure) */
|
|
33
|
+
allowHttp: boolean;
|
|
34
|
+
/** Rate limit: max API requests per minute (0 = disabled) */
|
|
35
|
+
rateLimit: number;
|
|
36
|
+
/** Optional list of allowed tool names (whitelist). If set, only these tools are exposed. */
|
|
37
|
+
allowedTools?: string[];
|
|
38
|
+
/** Optional list of blocked tool names (blacklist). These tools are never exposed. */
|
|
39
|
+
blockedTools?: string[];
|
|
40
|
+
/** Request timeout in milliseconds (default: 30000) */
|
|
41
|
+
requestTimeout: number;
|
|
42
|
+
/** Maximum response size in bytes (default: 10485760 = 10MB) */
|
|
43
|
+
maxResponseSize: number;
|
|
44
|
+
/** Safe mode: prevents destructive operations by stripping confirm parameter */
|
|
45
|
+
safeMode: boolean;
|
|
46
|
+
/** Require explicit user confirmation for destructive operations via two-phase preview flow */
|
|
47
|
+
requireUserConfirmation: boolean;
|
|
48
|
+
/** Maximum cumulative response data per server session in bytes (default: 52428800 = 50MB) */
|
|
49
|
+
maxSessionData: number;
|
|
50
|
+
/** Schema verbosity level: 'compact' reduces token usage, 'standard' provides full descriptions */
|
|
51
|
+
schemaVerbosity: SchemaVerbosity;
|
|
52
|
+
/** Response format: 'compact' omits whitespace to reduce token usage, 'pretty' uses 2-space indentation */
|
|
53
|
+
responseFormat: ResponseFormat;
|
|
54
|
+
/** Enable retry logic for transient errors (default: true) */
|
|
55
|
+
retryEnabled: boolean;
|
|
56
|
+
/** Maximum retry attempts including initial request (default: 2) */
|
|
57
|
+
maxRetries: number;
|
|
58
|
+
/** Base delay between retries in milliseconds (default: 1000) */
|
|
59
|
+
retryBaseDelay: number;
|
|
60
|
+
/** Maximum delay between retries in milliseconds (default: 2000) */
|
|
61
|
+
retryMaxDelay: number;
|
|
62
|
+
/** Configuration source: 'environment', 'settings file', or 'mixed' */
|
|
63
|
+
configSource: 'environment' | 'settings file' | 'mixed';
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Settings file interface - all fields optional for file-based configuration
|
|
67
|
+
*/
|
|
68
|
+
export interface SettingsFile {
|
|
69
|
+
/** Base URL of the MainWP Dashboard */
|
|
70
|
+
dashboardUrl?: string;
|
|
71
|
+
/** WordPress username (for basic auth) */
|
|
72
|
+
username?: string;
|
|
73
|
+
/** WordPress Application Password (for basic auth) */
|
|
74
|
+
appPassword?: string;
|
|
75
|
+
/** Bearer token for REST API authentication (for MainWP-specific endpoints) */
|
|
76
|
+
apiToken?: string;
|
|
77
|
+
/** Whether to skip SSL verification (for local dev with self-signed certs) */
|
|
78
|
+
skipSslVerify?: boolean;
|
|
79
|
+
/** Whether HTTP URLs are explicitly allowed (insecure) */
|
|
80
|
+
allowHttp?: boolean;
|
|
81
|
+
/** Safe mode: prevents destructive operations by stripping confirm parameter */
|
|
82
|
+
safeMode?: boolean;
|
|
83
|
+
/** Require explicit user confirmation for destructive operations via two-phase preview flow */
|
|
84
|
+
requireUserConfirmation?: boolean;
|
|
85
|
+
/** Rate limit: max API requests per minute (0 = disabled) */
|
|
86
|
+
rateLimit?: number;
|
|
87
|
+
/** Request timeout in milliseconds (default: 30000) */
|
|
88
|
+
requestTimeout?: number;
|
|
89
|
+
/** Maximum response size in bytes (default: 10485760 = 10MB) */
|
|
90
|
+
maxResponseSize?: number;
|
|
91
|
+
/** Maximum cumulative response data per server session in bytes (default: 52428800 = 50MB) */
|
|
92
|
+
maxSessionData?: number;
|
|
93
|
+
/** Optional list of allowed tool names (whitelist). If set, only these tools are exposed. */
|
|
94
|
+
allowedTools?: string[];
|
|
95
|
+
/** Optional list of blocked tool names (blacklist). These tools are never exposed. */
|
|
96
|
+
blockedTools?: string[];
|
|
97
|
+
/** Schema verbosity level: 'compact' reduces token usage, 'standard' provides full descriptions */
|
|
98
|
+
schemaVerbosity?: SchemaVerbosity;
|
|
99
|
+
/** Response format: 'compact' omits whitespace to reduce token usage, 'pretty' uses 2-space indentation */
|
|
100
|
+
responseFormat?: ResponseFormat;
|
|
101
|
+
/** Enable retry logic for transient errors (default: true) */
|
|
102
|
+
retryEnabled?: boolean;
|
|
103
|
+
/** Maximum retry attempts including initial request (default: 2) */
|
|
104
|
+
maxRetries?: number;
|
|
105
|
+
/** Base delay between retries in milliseconds (default: 1000) */
|
|
106
|
+
retryBaseDelay?: number;
|
|
107
|
+
/** Maximum delay between retries in milliseconds (default: 2000) */
|
|
108
|
+
retryMaxDelay?: number;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Load settings from settings.json file
|
|
112
|
+
* Searches: CWD first, then ~/.config/mainwp-mcp/
|
|
113
|
+
* Returns null if no file found (silent fallback)
|
|
114
|
+
* Throws on validation errors
|
|
115
|
+
*/
|
|
116
|
+
export declare function loadSettingsFile(): SettingsFile | null;
|
|
117
|
+
/**
|
|
118
|
+
* Load configuration from environment variables and settings file
|
|
119
|
+
* Precedence: environment variables > settings file > defaults
|
|
120
|
+
*/
|
|
121
|
+
export declare function loadConfig(): Config;
|
|
122
|
+
/**
|
|
123
|
+
* Serialize data as JSON using the configured response format.
|
|
124
|
+
* 'compact' omits whitespace; 'pretty' uses 2-space indentation.
|
|
125
|
+
*/
|
|
126
|
+
export declare function formatJson(config: Pick<Config, 'responseFormat'>, data: unknown): string;
|
|
127
|
+
/**
|
|
128
|
+
* Build the Abilities API base URL
|
|
129
|
+
*/
|
|
130
|
+
export declare function getAbilitiesApiUrl(config: Config): string;
|
|
131
|
+
/**
|
|
132
|
+
* Get authorization headers for API requests
|
|
133
|
+
*/
|
|
134
|
+
export declare function getAuthHeaders(config: Config): Record<string, string>;
|
|
135
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
ADDED
|
@@ -0,0 +1,405 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MainWP MCP Server Configuration
|
|
3
|
+
*
|
|
4
|
+
* Configuration is loaded from environment variables:
|
|
5
|
+
* - MAINWP_URL: Base URL of the MainWP Dashboard (e.g., https://dashboard.example.com)
|
|
6
|
+
*
|
|
7
|
+
* Authentication (one of):
|
|
8
|
+
* - MAINWP_USER + MAINWP_APP_PASSWORD: WordPress Application Password (recommended for Abilities API)
|
|
9
|
+
* - MAINWP_TOKEN: MainWP REST API Bearer token (only works with MainWP endpoints, not Abilities API)
|
|
10
|
+
*/
|
|
11
|
+
import fs from 'fs';
|
|
12
|
+
import path from 'path';
|
|
13
|
+
import os from 'os';
|
|
14
|
+
/** Allowed schema verbosity values */
|
|
15
|
+
export const SCHEMA_VERBOSITY_VALUES = ['compact', 'standard'];
|
|
16
|
+
/** Allowed response format values */
|
|
17
|
+
export const RESPONSE_FORMAT_VALUES = ['compact', 'pretty'];
|
|
18
|
+
const SETTINGS_FILENAME = 'settings.json';
|
|
19
|
+
/**
|
|
20
|
+
* Validate settings file structure and types
|
|
21
|
+
* Throws on validation errors with descriptive messages
|
|
22
|
+
*/
|
|
23
|
+
function validateSettingsFile(settings, filePath) {
|
|
24
|
+
// Guard: root value must be a non-null plain object
|
|
25
|
+
if (settings === null || typeof settings !== 'object' || Array.isArray(settings)) {
|
|
26
|
+
throw new Error(`Invalid settings file: ${filePath}\n - root value must be a JSON object`);
|
|
27
|
+
}
|
|
28
|
+
const errors = [];
|
|
29
|
+
// Define expected field types
|
|
30
|
+
const stringFields = [
|
|
31
|
+
'dashboardUrl',
|
|
32
|
+
'username',
|
|
33
|
+
'appPassword',
|
|
34
|
+
'apiToken',
|
|
35
|
+
'schemaVerbosity',
|
|
36
|
+
'responseFormat',
|
|
37
|
+
];
|
|
38
|
+
const booleanFields = [
|
|
39
|
+
'skipSslVerify',
|
|
40
|
+
'allowHttp',
|
|
41
|
+
'safeMode',
|
|
42
|
+
'requireUserConfirmation',
|
|
43
|
+
'retryEnabled',
|
|
44
|
+
];
|
|
45
|
+
const numberFields = [
|
|
46
|
+
'rateLimit',
|
|
47
|
+
'requestTimeout',
|
|
48
|
+
'maxResponseSize',
|
|
49
|
+
'maxSessionData',
|
|
50
|
+
'maxRetries',
|
|
51
|
+
'retryBaseDelay',
|
|
52
|
+
'retryMaxDelay',
|
|
53
|
+
];
|
|
54
|
+
const arrayFields = ['allowedTools', 'blockedTools'];
|
|
55
|
+
// Validate string fields
|
|
56
|
+
for (const field of stringFields) {
|
|
57
|
+
if (settings[field] !== undefined && typeof settings[field] !== 'string') {
|
|
58
|
+
errors.push(`"${field}" must be a string`);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
// Validate boolean fields
|
|
62
|
+
for (const field of booleanFields) {
|
|
63
|
+
if (settings[field] !== undefined && typeof settings[field] !== 'boolean') {
|
|
64
|
+
errors.push(`"${field}" must be a boolean`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
// Validate number fields
|
|
68
|
+
for (const field of numberFields) {
|
|
69
|
+
if (settings[field] !== undefined && typeof settings[field] !== 'number') {
|
|
70
|
+
errors.push(`"${field}" must be a number`);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
// Validate array fields (must be arrays of strings)
|
|
74
|
+
for (const field of arrayFields) {
|
|
75
|
+
const value = settings[field];
|
|
76
|
+
if (value !== undefined) {
|
|
77
|
+
if (!Array.isArray(value) || !value.every((x) => typeof x === 'string')) {
|
|
78
|
+
errors.push(`"${field}" must be an array of strings`);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
// Validate schemaVerbosity enum
|
|
83
|
+
if (settings.schemaVerbosity !== undefined) {
|
|
84
|
+
if (!SCHEMA_VERBOSITY_VALUES.includes(settings.schemaVerbosity)) {
|
|
85
|
+
errors.push(`"schemaVerbosity" must be one of: ${SCHEMA_VERBOSITY_VALUES.join(', ')}; got: "${settings.schemaVerbosity}"`);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
// Validate responseFormat enum
|
|
89
|
+
if (settings.responseFormat !== undefined) {
|
|
90
|
+
if (!RESPONSE_FORMAT_VALUES.includes(settings.responseFormat)) {
|
|
91
|
+
errors.push(`"responseFormat" must be one of: ${RESPONSE_FORMAT_VALUES.join(', ')}; got: "${settings.responseFormat}"`);
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
// Detect unknown fields
|
|
95
|
+
// Valid fields: all SettingsFile properties plus _comment (for inline documentation per schema)
|
|
96
|
+
const validFields = new Set([
|
|
97
|
+
...stringFields,
|
|
98
|
+
...booleanFields,
|
|
99
|
+
...numberFields,
|
|
100
|
+
...arrayFields,
|
|
101
|
+
'_comment',
|
|
102
|
+
]);
|
|
103
|
+
for (const key of Object.keys(settings)) {
|
|
104
|
+
if (!validFields.has(key)) {
|
|
105
|
+
errors.push(`Unknown field "${key}"`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
// Report all errors at once
|
|
109
|
+
if (errors.length > 0) {
|
|
110
|
+
throw new Error(`Invalid settings file: ${filePath}\n${errors.map(e => ` - ${e}`).join('\n')}`);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Load settings from settings.json file
|
|
115
|
+
* Searches: CWD first, then ~/.config/mainwp-mcp/
|
|
116
|
+
* Returns null if no file found (silent fallback)
|
|
117
|
+
* Throws on validation errors
|
|
118
|
+
*/
|
|
119
|
+
export function loadSettingsFile() {
|
|
120
|
+
const searchPaths = [
|
|
121
|
+
path.join(process.cwd(), SETTINGS_FILENAME),
|
|
122
|
+
path.join(os.homedir(), '.config', 'mainwp-mcp', SETTINGS_FILENAME),
|
|
123
|
+
];
|
|
124
|
+
for (const filePath of searchPaths) {
|
|
125
|
+
if (fs.existsSync(filePath)) {
|
|
126
|
+
let content;
|
|
127
|
+
let parsed;
|
|
128
|
+
try {
|
|
129
|
+
content = fs.readFileSync(filePath, 'utf-8');
|
|
130
|
+
}
|
|
131
|
+
catch (error) {
|
|
132
|
+
throw new Error(`Failed to read settings file: ${filePath}\n${error.message}`, {
|
|
133
|
+
cause: error,
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
try {
|
|
137
|
+
parsed = JSON.parse(content);
|
|
138
|
+
}
|
|
139
|
+
catch (error) {
|
|
140
|
+
throw new Error(`Invalid JSON in settings file: ${filePath}\n${error.message}`, {
|
|
141
|
+
cause: error,
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
validateSettingsFile(parsed, filePath);
|
|
145
|
+
console.error('[mainwp-mcp] Loaded settings from file');
|
|
146
|
+
return parsed;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
return null;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Get string value with precedence: env var > settings file > default
|
|
153
|
+
*/
|
|
154
|
+
function getString(envVar, fileValue, defaultValue) {
|
|
155
|
+
if (envVar !== undefined && envVar !== '') {
|
|
156
|
+
return envVar;
|
|
157
|
+
}
|
|
158
|
+
if (fileValue !== undefined && fileValue !== '') {
|
|
159
|
+
return fileValue;
|
|
160
|
+
}
|
|
161
|
+
return defaultValue;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Get boolean value with precedence: env var > settings file > default
|
|
165
|
+
*/
|
|
166
|
+
function getBoolean(envVar, fileValue, defaultValue) {
|
|
167
|
+
if (envVar !== undefined && envVar !== '') {
|
|
168
|
+
return envVar === 'true';
|
|
169
|
+
}
|
|
170
|
+
if (fileValue !== undefined) {
|
|
171
|
+
return fileValue;
|
|
172
|
+
}
|
|
173
|
+
return defaultValue;
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Get number value with precedence: env var > settings file > default
|
|
177
|
+
*/
|
|
178
|
+
function getNumber(envVar, fileValue, defaultValue) {
|
|
179
|
+
if (envVar !== undefined && envVar !== '') {
|
|
180
|
+
return parseInt(envVar, 10);
|
|
181
|
+
}
|
|
182
|
+
if (fileValue !== undefined) {
|
|
183
|
+
return fileValue;
|
|
184
|
+
}
|
|
185
|
+
return defaultValue;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Get string array value with precedence: env var > settings file > default
|
|
189
|
+
*/
|
|
190
|
+
function getStringArray(envVar, fileValue, defaultValue) {
|
|
191
|
+
if (envVar !== undefined && envVar !== '') {
|
|
192
|
+
return envVar
|
|
193
|
+
.split(',')
|
|
194
|
+
.map(s => s.trim())
|
|
195
|
+
.filter(Boolean);
|
|
196
|
+
}
|
|
197
|
+
if (fileValue !== undefined) {
|
|
198
|
+
return fileValue;
|
|
199
|
+
}
|
|
200
|
+
return defaultValue;
|
|
201
|
+
}
|
|
202
|
+
/**
|
|
203
|
+
* Load configuration from environment variables and settings file
|
|
204
|
+
* Precedence: environment variables > settings file > defaults
|
|
205
|
+
*/
|
|
206
|
+
export function loadConfig() {
|
|
207
|
+
// Load settings file (returns null if not found)
|
|
208
|
+
const settings = loadSettingsFile();
|
|
209
|
+
// Determine config source based on what's available
|
|
210
|
+
const hasEnvVars = !!(process.env.MAINWP_URL ||
|
|
211
|
+
process.env.MAINWP_USER ||
|
|
212
|
+
process.env.MAINWP_APP_PASSWORD ||
|
|
213
|
+
process.env.MAINWP_TOKEN ||
|
|
214
|
+
process.env.MAINWP_SKIP_SSL_VERIFY ||
|
|
215
|
+
process.env.MAINWP_ALLOW_HTTP ||
|
|
216
|
+
process.env.MAINWP_SAFE_MODE ||
|
|
217
|
+
process.env.MAINWP_REQUIRE_USER_CONFIRMATION ||
|
|
218
|
+
process.env.MAINWP_RATE_LIMIT ||
|
|
219
|
+
process.env.MAINWP_REQUEST_TIMEOUT ||
|
|
220
|
+
process.env.MAINWP_MAX_RESPONSE_SIZE ||
|
|
221
|
+
process.env.MAINWP_MAX_SESSION_DATA ||
|
|
222
|
+
process.env.MAINWP_ALLOWED_TOOLS ||
|
|
223
|
+
process.env.MAINWP_BLOCKED_TOOLS ||
|
|
224
|
+
process.env.MAINWP_SCHEMA_VERBOSITY ||
|
|
225
|
+
process.env.MAINWP_RESPONSE_FORMAT ||
|
|
226
|
+
process.env.MAINWP_RETRY_ENABLED ||
|
|
227
|
+
process.env.MAINWP_MAX_RETRIES ||
|
|
228
|
+
process.env.MAINWP_RETRY_BASE_DELAY ||
|
|
229
|
+
process.env.MAINWP_RETRY_MAX_DELAY);
|
|
230
|
+
const configSource = settings === null ? 'environment' : !hasEnvVars ? 'settings file' : 'mixed';
|
|
231
|
+
// Merge configuration with precedence: env > file > default
|
|
232
|
+
const dashboardUrl = getString(process.env.MAINWP_URL, settings?.dashboardUrl, '');
|
|
233
|
+
const username = getString(process.env.MAINWP_USER, settings?.username, '');
|
|
234
|
+
const appPassword = getString(process.env.MAINWP_APP_PASSWORD, settings?.appPassword, '');
|
|
235
|
+
const apiToken = getString(process.env.MAINWP_TOKEN, settings?.apiToken, '');
|
|
236
|
+
const skipSslVerify = getBoolean(process.env.MAINWP_SKIP_SSL_VERIFY, settings?.skipSslVerify, false);
|
|
237
|
+
const allowHttp = getBoolean(process.env.MAINWP_ALLOW_HTTP, settings?.allowHttp, false);
|
|
238
|
+
const safeMode = getBoolean(process.env.MAINWP_SAFE_MODE, settings?.safeMode, false);
|
|
239
|
+
const requireUserConfirmation = getBoolean(process.env.MAINWP_REQUIRE_USER_CONFIRMATION, settings?.requireUserConfirmation, true);
|
|
240
|
+
// Parse rate limit (default: 60 requests/minute)
|
|
241
|
+
const rateLimit = getNumber(process.env.MAINWP_RATE_LIMIT, settings?.rateLimit, 60);
|
|
242
|
+
if (isNaN(rateLimit) || rateLimit < 0) {
|
|
243
|
+
throw new Error('MAINWP_RATE_LIMIT must be a non-negative integer (set via environment variable or settings.json)');
|
|
244
|
+
}
|
|
245
|
+
// Parse request timeout (default: 30000ms = 30 seconds)
|
|
246
|
+
const requestTimeout = getNumber(process.env.MAINWP_REQUEST_TIMEOUT, settings?.requestTimeout, 30000);
|
|
247
|
+
if (isNaN(requestTimeout) || requestTimeout <= 0) {
|
|
248
|
+
throw new Error('MAINWP_REQUEST_TIMEOUT must be a positive integer (set via environment variable or settings.json)');
|
|
249
|
+
}
|
|
250
|
+
// Parse max response size (default: 10485760 bytes = 10MB)
|
|
251
|
+
const maxResponseSize = getNumber(process.env.MAINWP_MAX_RESPONSE_SIZE, settings?.maxResponseSize, 10485760);
|
|
252
|
+
if (isNaN(maxResponseSize) || maxResponseSize <= 0) {
|
|
253
|
+
throw new Error('MAINWP_MAX_RESPONSE_SIZE must be a positive integer (set via environment variable or settings.json)');
|
|
254
|
+
}
|
|
255
|
+
// Parse max session data (default: 52428800 bytes = 50MB)
|
|
256
|
+
const maxSessionData = getNumber(process.env.MAINWP_MAX_SESSION_DATA, settings?.maxSessionData, 52428800);
|
|
257
|
+
if (isNaN(maxSessionData) || maxSessionData <= 0) {
|
|
258
|
+
throw new Error('MAINWP_MAX_SESSION_DATA must be a positive integer (set via environment variable or settings.json)');
|
|
259
|
+
}
|
|
260
|
+
// Parse allowed/blocked tool lists
|
|
261
|
+
const allowedTools = getStringArray(process.env.MAINWP_ALLOWED_TOOLS, settings?.allowedTools, []);
|
|
262
|
+
const blockedTools = getStringArray(process.env.MAINWP_BLOCKED_TOOLS, settings?.blockedTools, []);
|
|
263
|
+
// Parse schema verbosity (default: 'standard' for backwards compatibility)
|
|
264
|
+
const schemaVerbosity = getString(process.env.MAINWP_SCHEMA_VERBOSITY, settings?.schemaVerbosity, 'standard');
|
|
265
|
+
// Validate enum value
|
|
266
|
+
if (!SCHEMA_VERBOSITY_VALUES.includes(schemaVerbosity)) {
|
|
267
|
+
throw new Error(`MAINWP_SCHEMA_VERBOSITY must be one of: ${SCHEMA_VERBOSITY_VALUES.join(', ')}; got: "${schemaVerbosity}" ` +
|
|
268
|
+
`(set via environment variable or settings.json)`);
|
|
269
|
+
}
|
|
270
|
+
// Parse response format (default: 'compact' to reduce token usage)
|
|
271
|
+
const responseFormat = getString(process.env.MAINWP_RESPONSE_FORMAT, settings?.responseFormat, 'compact');
|
|
272
|
+
// Validate enum value
|
|
273
|
+
if (!RESPONSE_FORMAT_VALUES.includes(responseFormat)) {
|
|
274
|
+
throw new Error(`MAINWP_RESPONSE_FORMAT must be one of: ${RESPONSE_FORMAT_VALUES.join(', ')}; got: "${responseFormat}" ` +
|
|
275
|
+
`(set via environment variable or settings.json)`);
|
|
276
|
+
}
|
|
277
|
+
// Parse retry configuration
|
|
278
|
+
const retryEnabled = getBoolean(process.env.MAINWP_RETRY_ENABLED, settings?.retryEnabled, true);
|
|
279
|
+
const maxRetries = getNumber(process.env.MAINWP_MAX_RETRIES, settings?.maxRetries, 2);
|
|
280
|
+
if (isNaN(maxRetries) || maxRetries < 1 || maxRetries > 5) {
|
|
281
|
+
throw new Error('MAINWP_MAX_RETRIES must be between 1 and 5 (set via environment variable or settings.json)');
|
|
282
|
+
}
|
|
283
|
+
const retryBaseDelay = getNumber(process.env.MAINWP_RETRY_BASE_DELAY, settings?.retryBaseDelay, 1000);
|
|
284
|
+
if (isNaN(retryBaseDelay) || retryBaseDelay < 500 || retryBaseDelay > 10000) {
|
|
285
|
+
throw new Error('MAINWP_RETRY_BASE_DELAY must be between 500ms and 10000ms (set via environment variable or settings.json)');
|
|
286
|
+
}
|
|
287
|
+
const retryMaxDelay = getNumber(process.env.MAINWP_RETRY_MAX_DELAY, settings?.retryMaxDelay, 2000);
|
|
288
|
+
if (isNaN(retryMaxDelay) || retryMaxDelay < retryBaseDelay || retryMaxDelay > 30000) {
|
|
289
|
+
throw new Error(`MAINWP_RETRY_MAX_DELAY must be between ${retryBaseDelay}ms and 30000ms (set via environment variable or settings.json)`);
|
|
290
|
+
}
|
|
291
|
+
// Validate no conflicts between allowed and blocked lists
|
|
292
|
+
if (allowedTools.length > 0 && blockedTools.length > 0) {
|
|
293
|
+
const allowedSet = new Set(allowedTools);
|
|
294
|
+
const conflicts = blockedTools.filter(tool => allowedSet.has(tool));
|
|
295
|
+
if (conflicts.length > 0) {
|
|
296
|
+
throw new Error(`Tool allow/block list conflict: ${conflicts.join(', ')} appear in both allowedTools and blockedTools`);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
if (!dashboardUrl) {
|
|
300
|
+
throw new Error('MAINWP_URL is required (set via environment variable or settings.json)');
|
|
301
|
+
}
|
|
302
|
+
// Determine auth type
|
|
303
|
+
const hasBasicAuth = username && appPassword;
|
|
304
|
+
const hasBearerAuth = apiToken;
|
|
305
|
+
if (!hasBasicAuth && !hasBearerAuth) {
|
|
306
|
+
throw new Error('Authentication required: Set MAINWP_USER + MAINWP_APP_PASSWORD or MAINWP_TOKEN (via environment variables or settings.json)');
|
|
307
|
+
}
|
|
308
|
+
// Normalize URL (remove trailing slash)
|
|
309
|
+
const normalizedUrl = dashboardUrl.replace(/\/+$/, '');
|
|
310
|
+
// Validate URL format
|
|
311
|
+
let parsedUrl;
|
|
312
|
+
try {
|
|
313
|
+
parsedUrl = new URL(normalizedUrl);
|
|
314
|
+
}
|
|
315
|
+
catch {
|
|
316
|
+
throw new Error(`Invalid dashboardUrl: "${dashboardUrl}" is not a valid URL`);
|
|
317
|
+
}
|
|
318
|
+
// Block HTTP by default (insecure credential transmission)
|
|
319
|
+
if (parsedUrl.protocol === 'http:') {
|
|
320
|
+
if (!allowHttp) {
|
|
321
|
+
throw new Error('dashboardUrl uses HTTP which transmits credentials in plain text. ' +
|
|
322
|
+
'Use HTTPS, or set allowHttp=true to allow insecure connections (not recommended).');
|
|
323
|
+
}
|
|
324
|
+
console.error('WARNING: dashboardUrl uses HTTP - credentials will be transmitted in plain text');
|
|
325
|
+
}
|
|
326
|
+
// Prefer basic auth (Application Password) as it works with Abilities API
|
|
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 {
|
|
353
|
+
dashboardUrl: normalizedUrl,
|
|
354
|
+
authType: 'bearer',
|
|
355
|
+
apiToken,
|
|
356
|
+
skipSslVerify,
|
|
357
|
+
allowHttp,
|
|
358
|
+
rateLimit,
|
|
359
|
+
requestTimeout,
|
|
360
|
+
maxResponseSize,
|
|
361
|
+
safeMode,
|
|
362
|
+
requireUserConfirmation,
|
|
363
|
+
maxSessionData,
|
|
364
|
+
schemaVerbosity,
|
|
365
|
+
responseFormat,
|
|
366
|
+
retryEnabled,
|
|
367
|
+
maxRetries,
|
|
368
|
+
retryBaseDelay,
|
|
369
|
+
retryMaxDelay,
|
|
370
|
+
configSource,
|
|
371
|
+
...(allowedTools.length > 0 ? { allowedTools } : {}),
|
|
372
|
+
...(blockedTools.length > 0 ? { blockedTools } : {}),
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
/**
|
|
376
|
+
* Serialize data as JSON using the configured response format.
|
|
377
|
+
* 'compact' omits whitespace; 'pretty' uses 2-space indentation.
|
|
378
|
+
*/
|
|
379
|
+
export function formatJson(config, data) {
|
|
380
|
+
return config.responseFormat === 'pretty' ? JSON.stringify(data, null, 2) : JSON.stringify(data);
|
|
381
|
+
}
|
|
382
|
+
/**
|
|
383
|
+
* Build the Abilities API base URL
|
|
384
|
+
*/
|
|
385
|
+
export function getAbilitiesApiUrl(config) {
|
|
386
|
+
return `${config.dashboardUrl}/wp-json/wp-abilities/v1`;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Get authorization headers for API requests
|
|
390
|
+
*/
|
|
391
|
+
export function getAuthHeaders(config) {
|
|
392
|
+
const headers = {
|
|
393
|
+
'Content-Type': 'application/json',
|
|
394
|
+
};
|
|
395
|
+
if (config.authType === 'basic' && config.username && config.appPassword) {
|
|
396
|
+
// WordPress Application Password uses Basic Auth
|
|
397
|
+
const credentials = Buffer.from(`${config.username}:${config.appPassword}`).toString('base64');
|
|
398
|
+
headers['Authorization'] = `Basic ${credentials}`;
|
|
399
|
+
}
|
|
400
|
+
else if (config.authType === 'bearer' && config.apiToken) {
|
|
401
|
+
headers['Authorization'] = `Bearer ${config.apiToken}`;
|
|
402
|
+
}
|
|
403
|
+
return headers;
|
|
404
|
+
}
|
|
405
|
+
//# sourceMappingURL=config.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Confirmation Flow Response Builders
|
|
3
|
+
*
|
|
4
|
+
* Centralized construction of domain-level JSON payloads for the two-phase
|
|
5
|
+
* confirmation flow. These are workflow responses returned as successful
|
|
6
|
+
* tool results to guide the AI's next action - distinct from protocol-level
|
|
7
|
+
* MCP errors in errors.ts.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Common context for confirmation-related responses
|
|
11
|
+
*/
|
|
12
|
+
export interface ConfirmationContext {
|
|
13
|
+
tool: string;
|
|
14
|
+
ability: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Response when safe mode blocks a destructive operation
|
|
18
|
+
*/
|
|
19
|
+
export declare function buildSafeModeBlockedResponse(ctx: ConfirmationContext): object;
|
|
20
|
+
/**
|
|
21
|
+
* Response when user_confirmed is used on a tool without confirm parameter support
|
|
22
|
+
*/
|
|
23
|
+
export declare function buildInvalidParameterResponse(ctx: ConfirmationContext): object;
|
|
24
|
+
/**
|
|
25
|
+
* Response when user_confirmed and dry_run are both set (conflicting intent)
|
|
26
|
+
*/
|
|
27
|
+
export declare function buildConflictingParametersResponse(ctx: ConfirmationContext): object;
|
|
28
|
+
/**
|
|
29
|
+
* Response when a preview is generated and confirmation is required
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildConfirmationRequiredResponse(ctx: ConfirmationContext, preview: unknown, token: string): object;
|
|
32
|
+
/**
|
|
33
|
+
* Response when user_confirmed is set but no preview was requested first
|
|
34
|
+
*/
|
|
35
|
+
export declare function buildPreviewRequiredResponse(ctx: ConfirmationContext): object;
|
|
36
|
+
/**
|
|
37
|
+
* Response when the preview has expired (older than 5 minutes)
|
|
38
|
+
*/
|
|
39
|
+
export declare function buildPreviewExpiredResponse(ctx: ConfirmationContext): object;
|
|
40
|
+
/**
|
|
41
|
+
* Response when an idempotent operation had no effect (already in desired state)
|
|
42
|
+
*/
|
|
43
|
+
export declare function buildNoChangeResponse(ctx: ConfirmationContext, code: string, reason: string): object;
|
|
44
|
+
//# sourceMappingURL=confirmation-responses.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"confirmation-responses.d.ts","sourceRoot":"","sources":["../src/confirmation-responses.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAY7E;AAED;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAW9E;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAYnF;AAED;;GAEG;AACH,wBAAgB,iCAAiC,CAC/C,GAAG,EAAE,mBAAmB,EACxB,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM,CAgBR;AAED;;GAEG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAa7E;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,GAAG,EAAE,mBAAmB,GAAG,MAAM,CAY5E;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,mBAAmB,EACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,CAWR"}
|