@local-labs-jpollock/local-cli 0.0.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/addon-dist/bin/mcp-stdio.js +2808 -0
- package/addon-dist/lib/common/constants.d.ts +22 -0
- package/addon-dist/lib/common/constants.js +26 -0
- package/addon-dist/lib/common/theme.d.ts +68 -0
- package/addon-dist/lib/common/theme.js +126 -0
- package/addon-dist/lib/common/types.d.ts +298 -0
- package/addon-dist/lib/common/types.js +6 -0
- package/addon-dist/lib/main/config/ConnectionInfo.d.ts +25 -0
- package/addon-dist/lib/main/config/ConnectionInfo.js +82 -0
- package/addon-dist/lib/main/index.d.ts +12 -0
- package/addon-dist/lib/main/index.js +3322 -0
- package/addon-dist/lib/main/mcp/McpAuth.d.ts +37 -0
- package/addon-dist/lib/main/mcp/McpAuth.js +87 -0
- package/addon-dist/lib/main/mcp/McpServer.d.ts +67 -0
- package/addon-dist/lib/main/mcp/McpServer.js +343 -0
- package/addon-dist/lib/main/mcp/tools/changePhpVersion.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/changePhpVersion.js +81 -0
- package/addon-dist/lib/main/mcp/tools/cloneSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/cloneSite.js +66 -0
- package/addon-dist/lib/main/mcp/tools/createSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/createSite.js +137 -0
- package/addon-dist/lib/main/mcp/tools/deleteSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/deleteSite.js +72 -0
- package/addon-dist/lib/main/mcp/tools/exportDatabase.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/exportDatabase.js +72 -0
- package/addon-dist/lib/main/mcp/tools/exportSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/exportSite.js +103 -0
- package/addon-dist/lib/main/mcp/tools/getLocalInfo.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/getLocalInfo.js +72 -0
- package/addon-dist/lib/main/mcp/tools/getSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/getSite.js +68 -0
- package/addon-dist/lib/main/mcp/tools/getSiteLogs.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/getSiteLogs.js +149 -0
- package/addon-dist/lib/main/mcp/tools/helpers.d.ts +59 -0
- package/addon-dist/lib/main/mcp/tools/helpers.js +179 -0
- package/addon-dist/lib/main/mcp/tools/importDatabase.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/importDatabase.js +109 -0
- package/addon-dist/lib/main/mcp/tools/importSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/importSite.js +149 -0
- package/addon-dist/lib/main/mcp/tools/index.d.ts +26 -0
- package/addon-dist/lib/main/mcp/tools/index.js +117 -0
- package/addon-dist/lib/main/mcp/tools/listBlueprints.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/listBlueprints.js +54 -0
- package/addon-dist/lib/main/mcp/tools/listServices.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/listServices.js +112 -0
- package/addon-dist/lib/main/mcp/tools/listSites.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/listSites.js +62 -0
- package/addon-dist/lib/main/mcp/tools/openAdminer.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/openAdminer.js +59 -0
- package/addon-dist/lib/main/mcp/tools/openSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/openSite.js +62 -0
- package/addon-dist/lib/main/mcp/tools/renameSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/renameSite.js +70 -0
- package/addon-dist/lib/main/mcp/tools/restartSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/restartSite.js +56 -0
- package/addon-dist/lib/main/mcp/tools/saveBlueprint.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/saveBlueprint.js +89 -0
- package/addon-dist/lib/main/mcp/tools/startSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/startSite.js +54 -0
- package/addon-dist/lib/main/mcp/tools/stopSite.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/stopSite.js +54 -0
- package/addon-dist/lib/main/mcp/tools/toggleXdebug.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/toggleXdebug.js +69 -0
- package/addon-dist/lib/main/mcp/tools/trustSsl.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/trustSsl.js +59 -0
- package/addon-dist/lib/main/mcp/tools/wpCli.d.ts +7 -0
- package/addon-dist/lib/main/mcp/tools/wpCli.js +110 -0
- package/addon-dist/lib/main.d.ts +1 -0
- package/addon-dist/lib/main.js +10 -0
- package/addon-dist/lib/renderer/index.d.ts +7 -0
- package/addon-dist/lib/renderer/index.js +479 -0
- package/addon-dist/package.json +73 -0
- package/bin/lwp.js +10 -0
- package/lib/bootstrap/index.d.ts +98 -0
- package/lib/bootstrap/index.js +493 -0
- package/lib/bootstrap/paths.d.ts +28 -0
- package/lib/bootstrap/paths.js +96 -0
- package/lib/client/GraphQLClient.d.ts +38 -0
- package/lib/client/GraphQLClient.js +71 -0
- package/lib/client/index.d.ts +4 -0
- package/lib/client/index.js +10 -0
- package/lib/formatters/index.d.ts +75 -0
- package/lib/formatters/index.js +139 -0
- package/lib/index.d.ts +8 -0
- package/lib/index.js +1173 -0
- package/package.json +72 -0
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server Constants
|
|
3
|
+
*/
|
|
4
|
+
export declare const MCP_SERVER: {
|
|
5
|
+
readonly NAME: "Local MCP Server";
|
|
6
|
+
readonly VERSION: "1.0.0";
|
|
7
|
+
readonly DEFAULT_PORT: 10789;
|
|
8
|
+
readonly PORT_RANGE: {
|
|
9
|
+
readonly MIN: 10789;
|
|
10
|
+
readonly MAX: 10889;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
export declare const MCP_ENDPOINTS: {
|
|
14
|
+
readonly SSE: "/mcp/sse";
|
|
15
|
+
readonly MESSAGES: "/mcp/messages";
|
|
16
|
+
readonly HEALTH: "/health";
|
|
17
|
+
readonly GRAPHQL: "/graphql";
|
|
18
|
+
};
|
|
19
|
+
export declare const CONNECTION_INFO_FILENAME = "mcp-connection-info.json";
|
|
20
|
+
export declare const TRUSTED_IPS: readonly ["127.0.0.1", "::1", "::ffff:127.0.0.1"];
|
|
21
|
+
export declare const AUTH_TOKEN_LENGTH = 128;
|
|
22
|
+
export declare const REQUEST_TIMEOUT_MS = 30000;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP Server Constants
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.REQUEST_TIMEOUT_MS = exports.AUTH_TOKEN_LENGTH = exports.TRUSTED_IPS = exports.CONNECTION_INFO_FILENAME = exports.MCP_ENDPOINTS = exports.MCP_SERVER = void 0;
|
|
7
|
+
exports.MCP_SERVER = {
|
|
8
|
+
NAME: 'Local MCP Server',
|
|
9
|
+
VERSION: '1.0.0',
|
|
10
|
+
DEFAULT_PORT: 10789,
|
|
11
|
+
PORT_RANGE: {
|
|
12
|
+
MIN: 10789,
|
|
13
|
+
MAX: 10889,
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
exports.MCP_ENDPOINTS = {
|
|
17
|
+
SSE: '/mcp/sse',
|
|
18
|
+
MESSAGES: '/mcp/messages',
|
|
19
|
+
HEALTH: '/health',
|
|
20
|
+
GRAPHQL: '/graphql',
|
|
21
|
+
};
|
|
22
|
+
exports.CONNECTION_INFO_FILENAME = 'mcp-connection-info.json';
|
|
23
|
+
exports.TRUSTED_IPS = ['127.0.0.1', '::1', '::ffff:127.0.0.1'];
|
|
24
|
+
exports.AUTH_TOKEN_LENGTH = 128;
|
|
25
|
+
exports.REQUEST_TIMEOUT_MS = 30000;
|
|
26
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbW1vbi9jb25zdGFudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBOztHQUVHOzs7QUFFVSxRQUFBLFVBQVUsR0FBRztJQUN4QixJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLFlBQVksRUFBRSxLQUFLO0lBQ25CLFVBQVUsRUFBRTtRQUNWLEdBQUcsRUFBRSxLQUFLO1FBQ1YsR0FBRyxFQUFFLEtBQUs7S0FDWDtDQUNPLENBQUM7QUFFRSxRQUFBLGFBQWEsR0FBRztJQUMzQixHQUFHLEVBQUUsVUFBVTtJQUNmLFFBQVEsRUFBRSxlQUFlO0lBQ3pCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE9BQU8sRUFBRSxVQUFVO0NBQ1gsQ0FBQztBQUVFLFFBQUEsd0JBQXdCLEdBQUcsMEJBQTBCLENBQUM7QUFFdEQsUUFBQSxXQUFXLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxFQUFFLGtCQUFrQixDQUFVLENBQUM7QUFFaEUsUUFBQSxpQkFBaUIsR0FBRyxHQUFHLENBQUM7QUFFeEIsUUFBQSxrQkFBa0IsR0FBRyxLQUFLLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIE1DUCBTZXJ2ZXIgQ29uc3RhbnRzXG4gKi9cblxuZXhwb3J0IGNvbnN0IE1DUF9TRVJWRVIgPSB7XG4gIE5BTUU6ICdMb2NhbCBNQ1AgU2VydmVyJyxcbiAgVkVSU0lPTjogJzEuMC4wJyxcbiAgREVGQVVMVF9QT1JUOiAxMDc4OSxcbiAgUE9SVF9SQU5HRToge1xuICAgIE1JTjogMTA3ODksXG4gICAgTUFYOiAxMDg4OSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbmV4cG9ydCBjb25zdCBNQ1BfRU5EUE9JTlRTID0ge1xuICBTU0U6ICcvbWNwL3NzZScsXG4gIE1FU1NBR0VTOiAnL21jcC9tZXNzYWdlcycsXG4gIEhFQUxUSDogJy9oZWFsdGgnLFxuICBHUkFQSFFMOiAnL2dyYXBocWwnLFxufSBhcyBjb25zdDtcblxuZXhwb3J0IGNvbnN0IENPTk5FQ1RJT05fSU5GT19GSUxFTkFNRSA9ICdtY3AtY29ubmVjdGlvbi1pbmZvLmpzb24nO1xuXG5leHBvcnQgY29uc3QgVFJVU1RFRF9JUFMgPSBbJzEyNy4wLjAuMScsICc6OjEnLCAnOjpmZmZmOjEyNy4wLjAuMSddIGFzIGNvbnN0O1xuXG5leHBvcnQgY29uc3QgQVVUSF9UT0tFTl9MRU5HVEggPSAxMjg7XG5cbmV4cG9ydCBjb25zdCBSRVFVRVNUX1RJTUVPVVRfTVMgPSAzMDAwMDtcbiJdfQ==
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme Utilities for MCP Server Addon
|
|
3
|
+
*
|
|
4
|
+
* Provides theme detection and color management to match Local's theme preference.
|
|
5
|
+
* Local uses CSS classes on document.documentElement: .Theme__Dark or .Theme__Light
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Theme color palette for consistent styling across components.
|
|
9
|
+
*/
|
|
10
|
+
export interface ThemeColors {
|
|
11
|
+
panelBg: string;
|
|
12
|
+
panelBgSecondary: string;
|
|
13
|
+
panelBgCode: string;
|
|
14
|
+
textPrimary: string;
|
|
15
|
+
textSecondary: string;
|
|
16
|
+
textMuted: string;
|
|
17
|
+
border: string;
|
|
18
|
+
borderLight: string;
|
|
19
|
+
successBg: string;
|
|
20
|
+
successText: string;
|
|
21
|
+
errorBg: string;
|
|
22
|
+
errorText: string;
|
|
23
|
+
infoBg: string;
|
|
24
|
+
infoBorder: string;
|
|
25
|
+
infoText: string;
|
|
26
|
+
inputBg: string;
|
|
27
|
+
inputBorder: string;
|
|
28
|
+
primary: string;
|
|
29
|
+
primaryHover: string;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Light theme color palette.
|
|
33
|
+
*/
|
|
34
|
+
declare const LIGHT_COLORS: ThemeColors;
|
|
35
|
+
/**
|
|
36
|
+
* Dark theme color palette.
|
|
37
|
+
*/
|
|
38
|
+
declare const DARK_COLORS: ThemeColors;
|
|
39
|
+
/**
|
|
40
|
+
* Check if Local is currently in dark mode.
|
|
41
|
+
*
|
|
42
|
+
* Local sets CSS classes on document.documentElement:
|
|
43
|
+
* - .Theme__Dark for dark mode
|
|
44
|
+
* - .Theme__Light for light mode
|
|
45
|
+
*
|
|
46
|
+
* @returns true if dark mode is active, false otherwise
|
|
47
|
+
*/
|
|
48
|
+
export declare function isDarkMode(): boolean;
|
|
49
|
+
/**
|
|
50
|
+
* Get theme-appropriate colors based on current Local theme.
|
|
51
|
+
*
|
|
52
|
+
* @returns ThemeColors object with colors for the current theme
|
|
53
|
+
*/
|
|
54
|
+
export declare function getThemeColors(): ThemeColors;
|
|
55
|
+
/**
|
|
56
|
+
* Subscribe to theme changes via MutationObserver.
|
|
57
|
+
*
|
|
58
|
+
* Local toggles CSS classes on document.documentElement when theme changes.
|
|
59
|
+
* This function watches for those changes and calls the callback.
|
|
60
|
+
*
|
|
61
|
+
* @param callback Function called when theme changes
|
|
62
|
+
* @returns Cleanup function to stop observing
|
|
63
|
+
*/
|
|
64
|
+
export declare function onThemeChange(callback: () => void): () => void;
|
|
65
|
+
/**
|
|
66
|
+
* Export color constants for direct access if needed.
|
|
67
|
+
*/
|
|
68
|
+
export { LIGHT_COLORS, DARK_COLORS };
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Theme Utilities for MCP Server Addon
|
|
4
|
+
*
|
|
5
|
+
* Provides theme detection and color management to match Local's theme preference.
|
|
6
|
+
* Local uses CSS classes on document.documentElement: .Theme__Dark or .Theme__Light
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.DARK_COLORS = exports.LIGHT_COLORS = void 0;
|
|
10
|
+
exports.isDarkMode = isDarkMode;
|
|
11
|
+
exports.getThemeColors = getThemeColors;
|
|
12
|
+
exports.onThemeChange = onThemeChange;
|
|
13
|
+
/**
|
|
14
|
+
* Light theme color palette.
|
|
15
|
+
*/
|
|
16
|
+
const LIGHT_COLORS = {
|
|
17
|
+
// Backgrounds
|
|
18
|
+
panelBg: '#ffffff',
|
|
19
|
+
panelBgSecondary: '#f5f5f5',
|
|
20
|
+
panelBgCode: '#2d2d2d',
|
|
21
|
+
// Text
|
|
22
|
+
textPrimary: '#1a1a1a',
|
|
23
|
+
textSecondary: '#666666',
|
|
24
|
+
textMuted: '#999999',
|
|
25
|
+
// Borders
|
|
26
|
+
border: '#dddddd',
|
|
27
|
+
borderLight: '#eeeeee',
|
|
28
|
+
// Status colors
|
|
29
|
+
successBg: '#d4edda',
|
|
30
|
+
successText: '#28a745',
|
|
31
|
+
errorBg: '#f8d7da',
|
|
32
|
+
errorText: '#dc3545',
|
|
33
|
+
infoBg: '#e7f3ff',
|
|
34
|
+
infoBorder: '#b3d9ff',
|
|
35
|
+
infoText: '#333333',
|
|
36
|
+
// Interactive elements
|
|
37
|
+
inputBg: '#ffffff',
|
|
38
|
+
inputBorder: '#cccccc',
|
|
39
|
+
// Brand/accent colors
|
|
40
|
+
primary: '#007bff',
|
|
41
|
+
primaryHover: '#0056b3',
|
|
42
|
+
};
|
|
43
|
+
exports.LIGHT_COLORS = LIGHT_COLORS;
|
|
44
|
+
/**
|
|
45
|
+
* Dark theme color palette.
|
|
46
|
+
*/
|
|
47
|
+
const DARK_COLORS = {
|
|
48
|
+
// Backgrounds
|
|
49
|
+
panelBg: '#2d2d2d',
|
|
50
|
+
panelBgSecondary: '#3d3d3d',
|
|
51
|
+
panelBgCode: '#1a1a1a',
|
|
52
|
+
// Text
|
|
53
|
+
textPrimary: '#e0e0e0',
|
|
54
|
+
textSecondary: '#a0a0a0',
|
|
55
|
+
textMuted: '#808080',
|
|
56
|
+
// Borders
|
|
57
|
+
border: '#4a4a4a',
|
|
58
|
+
borderLight: '#3d3d3d',
|
|
59
|
+
// Status colors
|
|
60
|
+
successBg: '#1a4d2e',
|
|
61
|
+
successText: '#68d391',
|
|
62
|
+
errorBg: '#4d1a1a',
|
|
63
|
+
errorText: '#fc8181',
|
|
64
|
+
infoBg: '#1a3a4d',
|
|
65
|
+
infoBorder: '#2d5a7b',
|
|
66
|
+
infoText: '#e0e0e0',
|
|
67
|
+
// Interactive elements
|
|
68
|
+
inputBg: '#3d3d3d',
|
|
69
|
+
inputBorder: '#5a5a5a',
|
|
70
|
+
// Brand/accent colors
|
|
71
|
+
primary: '#4da3ff',
|
|
72
|
+
primaryHover: '#2d8aff',
|
|
73
|
+
};
|
|
74
|
+
exports.DARK_COLORS = DARK_COLORS;
|
|
75
|
+
/**
|
|
76
|
+
* Check if Local is currently in dark mode.
|
|
77
|
+
*
|
|
78
|
+
* Local sets CSS classes on document.documentElement:
|
|
79
|
+
* - .Theme__Dark for dark mode
|
|
80
|
+
* - .Theme__Light for light mode
|
|
81
|
+
*
|
|
82
|
+
* @returns true if dark mode is active, false otherwise
|
|
83
|
+
*/
|
|
84
|
+
function isDarkMode() {
|
|
85
|
+
// Guard for SSR/Node environment
|
|
86
|
+
if (typeof document === 'undefined') {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
return document.documentElement.classList.contains('Theme__Dark');
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Get theme-appropriate colors based on current Local theme.
|
|
93
|
+
*
|
|
94
|
+
* @returns ThemeColors object with colors for the current theme
|
|
95
|
+
*/
|
|
96
|
+
function getThemeColors() {
|
|
97
|
+
return isDarkMode() ? DARK_COLORS : LIGHT_COLORS;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Subscribe to theme changes via MutationObserver.
|
|
101
|
+
*
|
|
102
|
+
* Local toggles CSS classes on document.documentElement when theme changes.
|
|
103
|
+
* This function watches for those changes and calls the callback.
|
|
104
|
+
*
|
|
105
|
+
* @param callback Function called when theme changes
|
|
106
|
+
* @returns Cleanup function to stop observing
|
|
107
|
+
*/
|
|
108
|
+
function onThemeChange(callback) {
|
|
109
|
+
// Guard for SSR/Node environment
|
|
110
|
+
if (typeof document === 'undefined') {
|
|
111
|
+
return () => { };
|
|
112
|
+
}
|
|
113
|
+
const observer = new MutationObserver((mutations) => {
|
|
114
|
+
for (const mutation of mutations) {
|
|
115
|
+
if (mutation.attributeName === 'class') {
|
|
116
|
+
callback();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
observer.observe(document.documentElement, {
|
|
121
|
+
attributes: true,
|
|
122
|
+
attributeFilter: ['class'],
|
|
123
|
+
});
|
|
124
|
+
return () => observer.disconnect();
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhlbWUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL3RoZW1lLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7R0FLRzs7O0FBdUhILGdDQU9DO0FBT0Qsd0NBRUM7QUFXRCxzQ0FvQkM7QUFoSUQ7O0dBRUc7QUFDSCxNQUFNLFlBQVksR0FBZ0I7SUFDaEMsY0FBYztJQUNkLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLGdCQUFnQixFQUFFLFNBQVM7SUFDM0IsV0FBVyxFQUFFLFNBQVM7SUFFdEIsT0FBTztJQUNQLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLFNBQVMsRUFBRSxTQUFTO0lBRXBCLFVBQVU7SUFDVixNQUFNLEVBQUUsU0FBUztJQUNqQixXQUFXLEVBQUUsU0FBUztJQUV0QixnQkFBZ0I7SUFDaEIsU0FBUyxFQUFFLFNBQVM7SUFDcEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsU0FBUyxFQUFFLFNBQVM7SUFDcEIsTUFBTSxFQUFFLFNBQVM7SUFDakIsVUFBVSxFQUFFLFNBQVM7SUFDckIsUUFBUSxFQUFFLFNBQVM7SUFFbkIsdUJBQXVCO0lBQ3ZCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFdBQVcsRUFBRSxTQUFTO0lBRXRCLHNCQUFzQjtJQUN0QixPQUFPLEVBQUUsU0FBUztJQUNsQixZQUFZLEVBQUUsU0FBUztDQUN4QixDQUFDO0FBbUdPLG9DQUFZO0FBakdyQjs7R0FFRztBQUNILE1BQU0sV0FBVyxHQUFnQjtJQUMvQixjQUFjO0lBQ2QsT0FBTyxFQUFFLFNBQVM7SUFDbEIsZ0JBQWdCLEVBQUUsU0FBUztJQUMzQixXQUFXLEVBQUUsU0FBUztJQUV0QixPQUFPO0lBQ1AsV0FBVyxFQUFFLFNBQVM7SUFDdEIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsU0FBUyxFQUFFLFNBQVM7SUFFcEIsVUFBVTtJQUNWLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLFdBQVcsRUFBRSxTQUFTO0lBRXRCLGdCQUFnQjtJQUNoQixTQUFTLEVBQUUsU0FBUztJQUNwQixXQUFXLEVBQUUsU0FBUztJQUN0QixPQUFPLEVBQUUsU0FBUztJQUNsQixTQUFTLEVBQUUsU0FBUztJQUNwQixNQUFNLEVBQUUsU0FBUztJQUNqQixVQUFVLEVBQUUsU0FBUztJQUNyQixRQUFRLEVBQUUsU0FBUztJQUVuQix1QkFBdUI7SUFDdkIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsV0FBVyxFQUFFLFNBQVM7SUFFdEIsc0JBQXNCO0lBQ3RCLE9BQU8sRUFBRSxTQUFTO0lBQ2xCLFlBQVksRUFBRSxTQUFTO0NBQ3hCLENBQUM7QUErRHFCLGtDQUFXO0FBN0RsQzs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLFVBQVU7SUFDeEIsaUNBQWlDO0lBQ2pDLElBQUksT0FBTyxRQUFRLEtBQUssV0FBVyxFQUFFLENBQUM7UUFDcEMsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQsT0FBTyxRQUFRLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7QUFDcEUsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxTQUFnQixjQUFjO0lBQzVCLE9BQU8sVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDO0FBQ25ELENBQUM7QUFFRDs7Ozs7Ozs7R0FRRztBQUNILFNBQWdCLGFBQWEsQ0FBQyxRQUFvQjtJQUNoRCxpQ0FBaUM7SUFDakMsSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUUsQ0FBQztRQUNwQyxPQUFPLEdBQUcsRUFBRSxHQUFFLENBQUMsQ0FBQztJQUNsQixDQUFDO0lBRUQsTUFBTSxRQUFRLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFO1FBQ2xELEtBQUssTUFBTSxRQUFRLElBQUksU0FBUyxFQUFFLENBQUM7WUFDakMsSUFBSSxRQUFRLENBQUMsYUFBYSxLQUFLLE9BQU8sRUFBRSxDQUFDO2dCQUN2QyxRQUFRLEVBQUUsQ0FBQztZQUNiLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxlQUFlLEVBQUU7UUFDekMsVUFBVSxFQUFFLElBQUk7UUFDaEIsZUFBZSxFQUFFLENBQUMsT0FBTyxDQUFDO0tBQzNCLENBQUMsQ0FBQztJQUVILE9BQU8sR0FBRyxFQUFFLENBQUMsUUFBUSxDQUFDLFVBQVUsRUFBRSxDQUFDO0FBQ3JDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIFRoZW1lIFV0aWxpdGllcyBmb3IgTUNQIFNlcnZlciBBZGRvblxuICpcbiAqIFByb3ZpZGVzIHRoZW1lIGRldGVjdGlvbiBhbmQgY29sb3IgbWFuYWdlbWVudCB0byBtYXRjaCBMb2NhbCdzIHRoZW1lIHByZWZlcmVuY2UuXG4gKiBMb2NhbCB1c2VzIENTUyBjbGFzc2VzIG9uIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudDogLlRoZW1lX19EYXJrIG9yIC5UaGVtZV9fTGlnaHRcbiAqL1xuXG4vKipcbiAqIFRoZW1lIGNvbG9yIHBhbGV0dGUgZm9yIGNvbnNpc3RlbnQgc3R5bGluZyBhY3Jvc3MgY29tcG9uZW50cy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUaGVtZUNvbG9ycyB7XG4gIC8vIEJhY2tncm91bmRzXG4gIHBhbmVsQmc6IHN0cmluZztcbiAgcGFuZWxCZ1NlY29uZGFyeTogc3RyaW5nO1xuICBwYW5lbEJnQ29kZTogc3RyaW5nO1xuXG4gIC8vIFRleHRcbiAgdGV4dFByaW1hcnk6IHN0cmluZztcbiAgdGV4dFNlY29uZGFyeTogc3RyaW5nO1xuICB0ZXh0TXV0ZWQ6IHN0cmluZztcblxuICAvLyBCb3JkZXJzXG4gIGJvcmRlcjogc3RyaW5nO1xuICBib3JkZXJMaWdodDogc3RyaW5nO1xuXG4gIC8vIFN0YXR1cyBjb2xvcnNcbiAgc3VjY2Vzc0JnOiBzdHJpbmc7XG4gIHN1Y2Nlc3NUZXh0OiBzdHJpbmc7XG4gIGVycm9yQmc6IHN0cmluZztcbiAgZXJyb3JUZXh0OiBzdHJpbmc7XG4gIGluZm9CZzogc3RyaW5nO1xuICBpbmZvQm9yZGVyOiBzdHJpbmc7XG4gIGluZm9UZXh0OiBzdHJpbmc7XG5cbiAgLy8gSW50ZXJhY3RpdmUgZWxlbWVudHNcbiAgaW5wdXRCZzogc3RyaW5nO1xuICBpbnB1dEJvcmRlcjogc3RyaW5nO1xuXG4gIC8vIEJyYW5kL2FjY2VudCBjb2xvcnNcbiAgcHJpbWFyeTogc3RyaW5nO1xuICBwcmltYXJ5SG92ZXI6IHN0cmluZztcbn1cblxuLyoqXG4gKiBMaWdodCB0aGVtZSBjb2xvciBwYWxldHRlLlxuICovXG5jb25zdCBMSUdIVF9DT0xPUlM6IFRoZW1lQ29sb3JzID0ge1xuICAvLyBCYWNrZ3JvdW5kc1xuICBwYW5lbEJnOiAnI2ZmZmZmZicsXG4gIHBhbmVsQmdTZWNvbmRhcnk6ICcjZjVmNWY1JyxcbiAgcGFuZWxCZ0NvZGU6ICcjMmQyZDJkJyxcblxuICAvLyBUZXh0XG4gIHRleHRQcmltYXJ5OiAnIzFhMWExYScsXG4gIHRleHRTZWNvbmRhcnk6ICcjNjY2NjY2JyxcbiAgdGV4dE11dGVkOiAnIzk5OTk5OScsXG5cbiAgLy8gQm9yZGVyc1xuICBib3JkZXI6ICcjZGRkZGRkJyxcbiAgYm9yZGVyTGlnaHQ6ICcjZWVlZWVlJyxcblxuICAvLyBTdGF0dXMgY29sb3JzXG4gIHN1Y2Nlc3NCZzogJyNkNGVkZGEnLFxuICBzdWNjZXNzVGV4dDogJyMyOGE3NDUnLFxuICBlcnJvckJnOiAnI2Y4ZDdkYScsXG4gIGVycm9yVGV4dDogJyNkYzM1NDUnLFxuICBpbmZvQmc6ICcjZTdmM2ZmJyxcbiAgaW5mb0JvcmRlcjogJyNiM2Q5ZmYnLFxuICBpbmZvVGV4dDogJyMzMzMzMzMnLFxuXG4gIC8vIEludGVyYWN0aXZlIGVsZW1lbnRzXG4gIGlucHV0Qmc6ICcjZmZmZmZmJyxcbiAgaW5wdXRCb3JkZXI6ICcjY2NjY2NjJyxcblxuICAvLyBCcmFuZC9hY2NlbnQgY29sb3JzXG4gIHByaW1hcnk6ICcjMDA3YmZmJyxcbiAgcHJpbWFyeUhvdmVyOiAnIzAwNTZiMycsXG59O1xuXG4vKipcbiAqIERhcmsgdGhlbWUgY29sb3IgcGFsZXR0ZS5cbiAqL1xuY29uc3QgREFSS19DT0xPUlM6IFRoZW1lQ29sb3JzID0ge1xuICAvLyBCYWNrZ3JvdW5kc1xuICBwYW5lbEJnOiAnIzJkMmQyZCcsXG4gIHBhbmVsQmdTZWNvbmRhcnk6ICcjM2QzZDNkJyxcbiAgcGFuZWxCZ0NvZGU6ICcjMWExYTFhJyxcblxuICAvLyBUZXh0XG4gIHRleHRQcmltYXJ5OiAnI2UwZTBlMCcsXG4gIHRleHRTZWNvbmRhcnk6ICcjYTBhMGEwJyxcbiAgdGV4dE11dGVkOiAnIzgwODA4MCcsXG5cbiAgLy8gQm9yZGVyc1xuICBib3JkZXI6ICcjNGE0YTRhJyxcbiAgYm9yZGVyTGlnaHQ6ICcjM2QzZDNkJyxcblxuICAvLyBTdGF0dXMgY29sb3JzXG4gIHN1Y2Nlc3NCZzogJyMxYTRkMmUnLFxuICBzdWNjZXNzVGV4dDogJyM2OGQzOTEnLFxuICBlcnJvckJnOiAnIzRkMWExYScsXG4gIGVycm9yVGV4dDogJyNmYzgxODEnLFxuICBpbmZvQmc6ICcjMWEzYTRkJyxcbiAgaW5mb0JvcmRlcjogJyMyZDVhN2InLFxuICBpbmZvVGV4dDogJyNlMGUwZTAnLFxuXG4gIC8vIEludGVyYWN0aXZlIGVsZW1lbnRzXG4gIGlucHV0Qmc6ICcjM2QzZDNkJyxcbiAgaW5wdXRCb3JkZXI6ICcjNWE1YTVhJyxcblxuICAvLyBCcmFuZC9hY2NlbnQgY29sb3JzXG4gIHByaW1hcnk6ICcjNGRhM2ZmJyxcbiAgcHJpbWFyeUhvdmVyOiAnIzJkOGFmZicsXG59O1xuXG4vKipcbiAqIENoZWNrIGlmIExvY2FsIGlzIGN1cnJlbnRseSBpbiBkYXJrIG1vZGUuXG4gKlxuICogTG9jYWwgc2V0cyBDU1MgY2xhc3NlcyBvbiBkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQ6XG4gKiAtIC5UaGVtZV9fRGFyayBmb3IgZGFyayBtb2RlXG4gKiAtIC5UaGVtZV9fTGlnaHQgZm9yIGxpZ2h0IG1vZGVcbiAqXG4gKiBAcmV0dXJucyB0cnVlIGlmIGRhcmsgbW9kZSBpcyBhY3RpdmUsIGZhbHNlIG90aGVyd2lzZVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNEYXJrTW9kZSgpOiBib29sZWFuIHtcbiAgLy8gR3VhcmQgZm9yIFNTUi9Ob2RlIGVudmlyb25tZW50XG4gIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9XG5cbiAgcmV0dXJuIGRvY3VtZW50LmRvY3VtZW50RWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ1RoZW1lX19EYXJrJyk7XG59XG5cbi8qKlxuICogR2V0IHRoZW1lLWFwcHJvcHJpYXRlIGNvbG9ycyBiYXNlZCBvbiBjdXJyZW50IExvY2FsIHRoZW1lLlxuICpcbiAqIEByZXR1cm5zIFRoZW1lQ29sb3JzIG9iamVjdCB3aXRoIGNvbG9ycyBmb3IgdGhlIGN1cnJlbnQgdGhlbWVcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldFRoZW1lQ29sb3JzKCk6IFRoZW1lQ29sb3JzIHtcbiAgcmV0dXJuIGlzRGFya01vZGUoKSA/IERBUktfQ09MT1JTIDogTElHSFRfQ09MT1JTO1xufVxuXG4vKipcbiAqIFN1YnNjcmliZSB0byB0aGVtZSBjaGFuZ2VzIHZpYSBNdXRhdGlvbk9ic2VydmVyLlxuICpcbiAqIExvY2FsIHRvZ2dsZXMgQ1NTIGNsYXNzZXMgb24gZG9jdW1lbnQuZG9jdW1lbnRFbGVtZW50IHdoZW4gdGhlbWUgY2hhbmdlcy5cbiAqIFRoaXMgZnVuY3Rpb24gd2F0Y2hlcyBmb3IgdGhvc2UgY2hhbmdlcyBhbmQgY2FsbHMgdGhlIGNhbGxiYWNrLlxuICpcbiAqIEBwYXJhbSBjYWxsYmFjayBGdW5jdGlvbiBjYWxsZWQgd2hlbiB0aGVtZSBjaGFuZ2VzXG4gKiBAcmV0dXJucyBDbGVhbnVwIGZ1bmN0aW9uIHRvIHN0b3Agb2JzZXJ2aW5nXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvblRoZW1lQ2hhbmdlKGNhbGxiYWNrOiAoKSA9PiB2b2lkKTogKCkgPT4gdm9pZCB7XG4gIC8vIEd1YXJkIGZvciBTU1IvTm9kZSBlbnZpcm9ubWVudFxuICBpZiAodHlwZW9mIGRvY3VtZW50ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiAoKSA9PiB7fTtcbiAgfVxuXG4gIGNvbnN0IG9ic2VydmVyID0gbmV3IE11dGF0aW9uT2JzZXJ2ZXIoKG11dGF0aW9ucykgPT4ge1xuICAgIGZvciAoY29uc3QgbXV0YXRpb24gb2YgbXV0YXRpb25zKSB7XG4gICAgICBpZiAobXV0YXRpb24uYXR0cmlidXRlTmFtZSA9PT0gJ2NsYXNzJykge1xuICAgICAgICBjYWxsYmFjaygpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG5cbiAgb2JzZXJ2ZXIub2JzZXJ2ZShkb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsIHtcbiAgICBhdHRyaWJ1dGVzOiB0cnVlLFxuICAgIGF0dHJpYnV0ZUZpbHRlcjogWydjbGFzcyddLFxuICB9KTtcblxuICByZXR1cm4gKCkgPT4gb2JzZXJ2ZXIuZGlzY29ubmVjdCgpO1xufVxuXG4vKipcbiAqIEV4cG9ydCBjb2xvciBjb25zdGFudHMgZm9yIGRpcmVjdCBhY2Nlc3MgaWYgbmVlZGVkLlxuICovXG5leHBvcnQgeyBMSUdIVF9DT0xPUlMsIERBUktfQ09MT1JTIH07XG4iXX0=
|
|
@@ -0,0 +1,298 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MCP Server Types
|
|
3
|
+
*/
|
|
4
|
+
export interface McpConnectionInfo {
|
|
5
|
+
url: string;
|
|
6
|
+
authToken: string;
|
|
7
|
+
port: number;
|
|
8
|
+
version: string;
|
|
9
|
+
tools: string[];
|
|
10
|
+
}
|
|
11
|
+
export interface McpServerConfig {
|
|
12
|
+
port: number;
|
|
13
|
+
authToken?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface McpServerStatus {
|
|
16
|
+
running: boolean;
|
|
17
|
+
port: number;
|
|
18
|
+
uptime: number;
|
|
19
|
+
error?: string;
|
|
20
|
+
}
|
|
21
|
+
export interface McpToolDefinition {
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
inputSchema: {
|
|
25
|
+
type: 'object';
|
|
26
|
+
properties: Record<string, unknown>;
|
|
27
|
+
required?: string[];
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export interface McpToolResult {
|
|
31
|
+
content: Array<{
|
|
32
|
+
type: 'text';
|
|
33
|
+
text: string;
|
|
34
|
+
}>;
|
|
35
|
+
isError?: boolean;
|
|
36
|
+
}
|
|
37
|
+
export interface McpRequest {
|
|
38
|
+
jsonrpc: '2.0';
|
|
39
|
+
id: number | string;
|
|
40
|
+
method: string;
|
|
41
|
+
params?: {
|
|
42
|
+
name?: string;
|
|
43
|
+
arguments?: Record<string, unknown>;
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export interface McpResponse {
|
|
47
|
+
jsonrpc: '2.0';
|
|
48
|
+
id: number | string;
|
|
49
|
+
result?: unknown;
|
|
50
|
+
error?: {
|
|
51
|
+
code: number;
|
|
52
|
+
message: string;
|
|
53
|
+
data?: unknown;
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
export interface LocalServices {
|
|
57
|
+
siteData: {
|
|
58
|
+
getSites(): any[];
|
|
59
|
+
getSite(id: string): any | undefined;
|
|
60
|
+
updateSite?(siteID: string, site: Partial<{
|
|
61
|
+
name: string;
|
|
62
|
+
xdebugEnabled: boolean;
|
|
63
|
+
}>): void;
|
|
64
|
+
};
|
|
65
|
+
siteProcessManager: {
|
|
66
|
+
start(site: any): Promise<void>;
|
|
67
|
+
stop(site: any): Promise<void>;
|
|
68
|
+
restart(site: any): Promise<void>;
|
|
69
|
+
getSiteStatus(site: any): Promise<string>;
|
|
70
|
+
};
|
|
71
|
+
wpCli: {
|
|
72
|
+
run(site: any, args: string[], opts?: any): Promise<string | null>;
|
|
73
|
+
};
|
|
74
|
+
deleteSite: {
|
|
75
|
+
deleteSite(opts: {
|
|
76
|
+
site: any;
|
|
77
|
+
trashFiles: boolean;
|
|
78
|
+
updateHosts: boolean;
|
|
79
|
+
}): Promise<void>;
|
|
80
|
+
};
|
|
81
|
+
addSite: {
|
|
82
|
+
addSite(opts: {
|
|
83
|
+
newSiteInfo: {
|
|
84
|
+
siteName: string;
|
|
85
|
+
siteDomain: string;
|
|
86
|
+
sitePath?: string;
|
|
87
|
+
multiSite?: 'no' | 'ms-subdir' | 'ms-subdomain';
|
|
88
|
+
phpVersion?: string;
|
|
89
|
+
webServer?: 'nginx' | 'apache';
|
|
90
|
+
database?: 'mysql' | 'mariadb';
|
|
91
|
+
};
|
|
92
|
+
wpCredentials?: {
|
|
93
|
+
adminUsername?: string;
|
|
94
|
+
adminPassword?: string;
|
|
95
|
+
adminEmail?: string;
|
|
96
|
+
};
|
|
97
|
+
goToSite?: boolean;
|
|
98
|
+
}): Promise<any>;
|
|
99
|
+
};
|
|
100
|
+
localLogger: {
|
|
101
|
+
info(message: string, ...args: any[]): void;
|
|
102
|
+
warn(message: string, ...args: any[]): void;
|
|
103
|
+
error(message: string, ...args: any[]): void;
|
|
104
|
+
debug(message: string, ...args: any[]): void;
|
|
105
|
+
};
|
|
106
|
+
browserManager?: {
|
|
107
|
+
openURL(url: string): Promise<void>;
|
|
108
|
+
};
|
|
109
|
+
cloneSite?: (site: any, newName: string) => Promise<any>;
|
|
110
|
+
exportSite?: (site: any, outputPath: string) => Promise<void>;
|
|
111
|
+
blueprints?: {
|
|
112
|
+
getBlueprints(): Promise<any[]>;
|
|
113
|
+
saveBlueprint(site: any, options: {
|
|
114
|
+
name: string;
|
|
115
|
+
description?: string;
|
|
116
|
+
}): Promise<any>;
|
|
117
|
+
};
|
|
118
|
+
adminer?: {
|
|
119
|
+
open(site: any): Promise<void>;
|
|
120
|
+
};
|
|
121
|
+
x509Cert?: {
|
|
122
|
+
trustCert(site: any): Promise<void>;
|
|
123
|
+
};
|
|
124
|
+
siteProvisioner?: {
|
|
125
|
+
swapService(site: any, role: string, serviceName: string, serviceBinVersion: string, restartRouter?: boolean): Promise<void>;
|
|
126
|
+
};
|
|
127
|
+
importSite?: {
|
|
128
|
+
run(settings: {
|
|
129
|
+
importType?: string;
|
|
130
|
+
zipPath: string;
|
|
131
|
+
siteName: string;
|
|
132
|
+
}): Promise<any>;
|
|
133
|
+
};
|
|
134
|
+
lightningServices?: {
|
|
135
|
+
getRegisteredServices(role?: string): Record<string, Record<string, any>>;
|
|
136
|
+
getServices(role?: string): Promise<Record<string, Record<string, any>>>;
|
|
137
|
+
};
|
|
138
|
+
wpeOAuth?: {
|
|
139
|
+
getAccessToken(): Promise<string | undefined>;
|
|
140
|
+
authenticate(): Promise<{
|
|
141
|
+
accessToken: string;
|
|
142
|
+
refreshToken: string;
|
|
143
|
+
idToken: string;
|
|
144
|
+
}>;
|
|
145
|
+
clearTokens(): Promise<void>;
|
|
146
|
+
};
|
|
147
|
+
capi?: {
|
|
148
|
+
getInstallList(): Promise<any[] | undefined>;
|
|
149
|
+
getAccountList(): Promise<any[] | undefined>;
|
|
150
|
+
getCurrentUser(): Promise<{
|
|
151
|
+
id?: string;
|
|
152
|
+
email?: string;
|
|
153
|
+
} | undefined>;
|
|
154
|
+
getInstall(installId: string): Promise<{
|
|
155
|
+
id: string;
|
|
156
|
+
name: string;
|
|
157
|
+
environment?: string;
|
|
158
|
+
cname?: string;
|
|
159
|
+
} | undefined>;
|
|
160
|
+
};
|
|
161
|
+
wpePush?: {
|
|
162
|
+
push(args: {
|
|
163
|
+
includeSql?: boolean;
|
|
164
|
+
wpengineInstallName: string;
|
|
165
|
+
wpengineInstallId: string;
|
|
166
|
+
wpengineSiteId: string;
|
|
167
|
+
wpenginePrimaryDomain: string;
|
|
168
|
+
localSiteId: string;
|
|
169
|
+
environment?: string;
|
|
170
|
+
files?: string[];
|
|
171
|
+
isMagicSync?: boolean;
|
|
172
|
+
}): Promise<void>;
|
|
173
|
+
pushDatabase(args: {
|
|
174
|
+
wpengineInstallName: string;
|
|
175
|
+
localSiteId: string;
|
|
176
|
+
wpenginePrimaryDomain: string;
|
|
177
|
+
}): Promise<void>;
|
|
178
|
+
};
|
|
179
|
+
wpePull?: {
|
|
180
|
+
pull(args: {
|
|
181
|
+
includeSql?: boolean;
|
|
182
|
+
wpengineInstallName: string;
|
|
183
|
+
wpengineInstallId: string;
|
|
184
|
+
wpengineSiteId: string;
|
|
185
|
+
wpenginePrimaryDomain: string;
|
|
186
|
+
localSiteId: string;
|
|
187
|
+
environment?: string;
|
|
188
|
+
files?: string[];
|
|
189
|
+
isMagicSync?: boolean;
|
|
190
|
+
}): Promise<void>;
|
|
191
|
+
pullDatabase(args: {
|
|
192
|
+
wpengineInstallName: string;
|
|
193
|
+
localSiteId: string;
|
|
194
|
+
wpenginePrimaryDomain: string;
|
|
195
|
+
}): Promise<void>;
|
|
196
|
+
};
|
|
197
|
+
connectHistory?: {
|
|
198
|
+
getEvents(siteId: string): Array<{
|
|
199
|
+
remoteInstallName?: string;
|
|
200
|
+
timestamp: number;
|
|
201
|
+
environment: string;
|
|
202
|
+
direction: 'push' | 'pull';
|
|
203
|
+
status?: 'started' | 'failed' | 'completed';
|
|
204
|
+
}>;
|
|
205
|
+
};
|
|
206
|
+
wpeConnectBase?: {
|
|
207
|
+
listModifications(args: {
|
|
208
|
+
connectArgs: {
|
|
209
|
+
wpengineInstallName: string;
|
|
210
|
+
wpengineInstallId: string;
|
|
211
|
+
wpengineSiteId: string;
|
|
212
|
+
wpenginePrimaryDomain: string;
|
|
213
|
+
localSiteId: string;
|
|
214
|
+
};
|
|
215
|
+
direction: 'push' | 'pull';
|
|
216
|
+
includeIgnored?: boolean;
|
|
217
|
+
}): Promise<Array<{
|
|
218
|
+
path: string;
|
|
219
|
+
type: string;
|
|
220
|
+
size: number;
|
|
221
|
+
mtime: number;
|
|
222
|
+
instruction: string;
|
|
223
|
+
}>>;
|
|
224
|
+
};
|
|
225
|
+
backup?: {
|
|
226
|
+
createBackup(args: {
|
|
227
|
+
site: any;
|
|
228
|
+
provider: 'dropbox' | 'googleDrive';
|
|
229
|
+
accountId: string;
|
|
230
|
+
note?: string;
|
|
231
|
+
}): Promise<{
|
|
232
|
+
snapshotId: string;
|
|
233
|
+
timestamp: string;
|
|
234
|
+
}>;
|
|
235
|
+
listBackups(args: {
|
|
236
|
+
site: any;
|
|
237
|
+
provider: 'dropbox' | 'googleDrive';
|
|
238
|
+
accountId: string;
|
|
239
|
+
}): Promise<Array<{
|
|
240
|
+
snapshotId: string;
|
|
241
|
+
timestamp: string;
|
|
242
|
+
note?: string;
|
|
243
|
+
siteDomain: string;
|
|
244
|
+
services: Record<string, string>;
|
|
245
|
+
}>>;
|
|
246
|
+
restoreBackup(args: {
|
|
247
|
+
site: any;
|
|
248
|
+
provider: 'dropbox' | 'googleDrive';
|
|
249
|
+
accountId: string;
|
|
250
|
+
snapshotId: string;
|
|
251
|
+
}): Promise<void>;
|
|
252
|
+
deleteBackup(args: {
|
|
253
|
+
site: any;
|
|
254
|
+
provider: 'dropbox' | 'googleDrive';
|
|
255
|
+
accountId: string;
|
|
256
|
+
snapshotId: string;
|
|
257
|
+
}): Promise<void>;
|
|
258
|
+
downloadZip(args: {
|
|
259
|
+
site: any;
|
|
260
|
+
provider: 'dropbox' | 'googleDrive';
|
|
261
|
+
accountId: string;
|
|
262
|
+
snapshotId: string;
|
|
263
|
+
}): Promise<string>;
|
|
264
|
+
editBackupDescription(args: {
|
|
265
|
+
site: any;
|
|
266
|
+
provider: 'dropbox' | 'googleDrive';
|
|
267
|
+
accountId: string;
|
|
268
|
+
snapshotId: string;
|
|
269
|
+
newDescription: string;
|
|
270
|
+
}): Promise<void>;
|
|
271
|
+
};
|
|
272
|
+
dropbox?: {
|
|
273
|
+
isAuthenticated(accountId: string): Promise<boolean>;
|
|
274
|
+
getAccount(accountId: string): Promise<{
|
|
275
|
+
id: string;
|
|
276
|
+
email: string;
|
|
277
|
+
} | undefined>;
|
|
278
|
+
};
|
|
279
|
+
googleDrive?: {
|
|
280
|
+
isAuthenticated(accountId: string): Promise<boolean>;
|
|
281
|
+
getAccount(accountId: string): Promise<{
|
|
282
|
+
id: string;
|
|
283
|
+
email: string;
|
|
284
|
+
} | undefined>;
|
|
285
|
+
};
|
|
286
|
+
featureFlags?: {
|
|
287
|
+
isFeatureEnabled(flag: string): boolean;
|
|
288
|
+
};
|
|
289
|
+
userData?: {
|
|
290
|
+
get(opts: {
|
|
291
|
+
name: string;
|
|
292
|
+
defaults: any;
|
|
293
|
+
includeCreatedTime?: boolean;
|
|
294
|
+
persistDefaults?: boolean;
|
|
295
|
+
persistDefaultsEncrypted?: boolean;
|
|
296
|
+
}): any;
|
|
297
|
+
};
|
|
298
|
+
}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* MCP Server Types
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tbW9uL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7R0FFRyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogTUNQIFNlcnZlciBUeXBlc1xuICovXG5cbmV4cG9ydCBpbnRlcmZhY2UgTWNwQ29ubmVjdGlvbkluZm8ge1xuICB1cmw6IHN0cmluZztcbiAgYXV0aFRva2VuOiBzdHJpbmc7XG4gIHBvcnQ6IG51bWJlcjtcbiAgdmVyc2lvbjogc3RyaW5nO1xuICB0b29sczogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWNwU2VydmVyQ29uZmlnIHtcbiAgcG9ydDogbnVtYmVyO1xuICBhdXRoVG9rZW4/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWNwU2VydmVyU3RhdHVzIHtcbiAgcnVubmluZzogYm9vbGVhbjtcbiAgcG9ydDogbnVtYmVyO1xuICB1cHRpbWU6IG51bWJlcjtcbiAgZXJyb3I/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWNwVG9vbERlZmluaXRpb24ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGlucHV0U2NoZW1hOiB7XG4gICAgdHlwZTogJ29iamVjdCc7XG4gICAgcHJvcGVydGllczogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gICAgcmVxdWlyZWQ/OiBzdHJpbmdbXTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNY3BUb29sUmVzdWx0IHtcbiAgY29udGVudDogQXJyYXk8e1xuICAgIHR5cGU6ICd0ZXh0JztcbiAgICB0ZXh0OiBzdHJpbmc7XG4gIH0+O1xuICBpc0Vycm9yPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNY3BSZXF1ZXN0IHtcbiAganNvbnJwYzogJzIuMCc7XG4gIGlkOiBudW1iZXIgfCBzdHJpbmc7XG4gIG1ldGhvZDogc3RyaW5nO1xuICBwYXJhbXM/OiB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBhcmd1bWVudHM/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNY3BSZXNwb25zZSB7XG4gIGpzb25ycGM6ICcyLjAnO1xuICBpZDogbnVtYmVyIHwgc3RyaW5nO1xuICByZXN1bHQ/OiB1bmtub3duO1xuICBlcnJvcj86IHtcbiAgICBjb2RlOiBudW1iZXI7XG4gICAgbWVzc2FnZTogc3RyaW5nO1xuICAgIGRhdGE/OiB1bmtub3duO1xuICB9O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExvY2FsU2VydmljZXMge1xuICBzaXRlRGF0YToge1xuICAgIGdldFNpdGVzKCk6IGFueVtdO1xuICAgIGdldFNpdGUoaWQ6IHN0cmluZyk6IGFueSB8IHVuZGVmaW5lZDtcbiAgICB1cGRhdGVTaXRlPyhzaXRlSUQ6IHN0cmluZywgc2l0ZTogUGFydGlhbDx7IG5hbWU6IHN0cmluZzsgeGRlYnVnRW5hYmxlZDogYm9vbGVhbiB9Pik6IHZvaWQ7XG4gIH07XG4gIHNpdGVQcm9jZXNzTWFuYWdlcjoge1xuICAgIHN0YXJ0KHNpdGU6IGFueSk6IFByb21pc2U8dm9pZD47XG4gICAgc3RvcChzaXRlOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xuICAgIHJlc3RhcnQoc2l0ZTogYW55KTogUHJvbWlzZTx2b2lkPjtcbiAgICBnZXRTaXRlU3RhdHVzKHNpdGU6IGFueSk6IFByb21pc2U8c3RyaW5nPjtcbiAgfTtcbiAgd3BDbGk6IHtcbiAgICBydW4oc2l0ZTogYW55LCBhcmdzOiBzdHJpbmdbXSwgb3B0cz86IGFueSk6IFByb21pc2U8c3RyaW5nIHwgbnVsbD47XG4gIH07XG4gIGRlbGV0ZVNpdGU6IHtcbiAgICBkZWxldGVTaXRlKG9wdHM6IHsgc2l0ZTogYW55OyB0cmFzaEZpbGVzOiBib29sZWFuOyB1cGRhdGVIb3N0czogYm9vbGVhbiB9KTogUHJvbWlzZTx2b2lkPjtcbiAgfTtcbiAgYWRkU2l0ZToge1xuICAgIGFkZFNpdGUob3B0czoge1xuICAgICAgbmV3U2l0ZUluZm86IHtcbiAgICAgICAgc2l0ZU5hbWU6IHN0cmluZztcbiAgICAgICAgc2l0ZURvbWFpbjogc3RyaW5nO1xuICAgICAgICBzaXRlUGF0aD86IHN0cmluZztcbiAgICAgICAgbXVsdGlTaXRlPzogJ25vJyB8ICdtcy1zdWJkaXInIHwgJ21zLXN1YmRvbWFpbic7XG4gICAgICAgIHBocFZlcnNpb24/OiBzdHJpbmc7XG4gICAgICAgIHdlYlNlcnZlcj86ICduZ2lueCcgfCAnYXBhY2hlJztcbiAgICAgICAgZGF0YWJhc2U/OiAnbXlzcWwnIHwgJ21hcmlhZGInO1xuICAgICAgfTtcbiAgICAgIHdwQ3JlZGVudGlhbHM/OiB7XG4gICAgICAgIGFkbWluVXNlcm5hbWU/OiBzdHJpbmc7XG4gICAgICAgIGFkbWluUGFzc3dvcmQ/OiBzdHJpbmc7XG4gICAgICAgIGFkbWluRW1haWw/OiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgZ29Ub1NpdGU/OiBib29sZWFuO1xuICAgIH0pOiBQcm9taXNlPGFueT47XG4gIH07XG4gIGxvY2FsTG9nZ2VyOiB7XG4gICAgaW5mbyhtZXNzYWdlOiBzdHJpbmcsIC4uLmFyZ3M6IGFueVtdKTogdm9pZDtcbiAgICB3YXJuKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkO1xuICAgIGVycm9yKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkO1xuICAgIGRlYnVnKG1lc3NhZ2U6IHN0cmluZywgLi4uYXJnczogYW55W10pOiB2b2lkO1xuICB9O1xuICAvLyBPcHRpb25hbCBzZXJ2aWNlcyBmb3IgZXh0ZW5kZWQgZnVuY3Rpb25hbGl0eVxuICBicm93c2VyTWFuYWdlcj86IHtcbiAgICBvcGVuVVJMKHVybDogc3RyaW5nKTogUHJvbWlzZTx2b2lkPjtcbiAgfTtcbiAgY2xvbmVTaXRlPzogKHNpdGU6IGFueSwgbmV3TmFtZTogc3RyaW5nKSA9PiBQcm9taXNlPGFueT47XG4gIGV4cG9ydFNpdGU/OiAoc2l0ZTogYW55LCBvdXRwdXRQYXRoOiBzdHJpbmcpID0+IFByb21pc2U8dm9pZD47XG4gIGJsdWVwcmludHM/OiB7XG4gICAgZ2V0Qmx1ZXByaW50cygpOiBQcm9taXNlPGFueVtdPjtcbiAgICBzYXZlQmx1ZXByaW50KHNpdGU6IGFueSwgb3B0aW9uczogeyBuYW1lOiBzdHJpbmc7IGRlc2NyaXB0aW9uPzogc3RyaW5nIH0pOiBQcm9taXNlPGFueT47XG4gIH07XG4gIC8vIFBoYXNlIDggc2VydmljZXNcbiAgYWRtaW5lcj86IHtcbiAgICBvcGVuKHNpdGU6IGFueSk6IFByb21pc2U8dm9pZD47XG4gIH07XG4gIHg1MDlDZXJ0Pzoge1xuICAgIHRydXN0Q2VydChzaXRlOiBhbnkpOiBQcm9taXNlPHZvaWQ+O1xuICB9O1xuICBzaXRlUHJvdmlzaW9uZXI/OiB7XG4gICAgc3dhcFNlcnZpY2UoXG4gICAgICBzaXRlOiBhbnksXG4gICAgICByb2xlOiBzdHJpbmcsXG4gICAgICBzZXJ2aWNlTmFtZTogc3RyaW5nLFxuICAgICAgc2VydmljZUJpblZlcnNpb246IHN0cmluZyxcbiAgICAgIHJlc3RhcnRSb3V0ZXI/OiBib29sZWFuXG4gICAgKTogUHJvbWlzZTx2b2lkPjtcbiAgfTtcbiAgaW1wb3J0U2l0ZT86IHtcbiAgICBydW4oc2V0dGluZ3M6IHsgaW1wb3J0VHlwZT86IHN0cmluZzsgemlwUGF0aDogc3RyaW5nOyBzaXRlTmFtZTogc3RyaW5nIH0pOiBQcm9taXNlPGFueT47XG4gIH07XG4gIC8vIFBoYXNlIDkgc2VydmljZXNcbiAgbGlnaHRuaW5nU2VydmljZXM/OiB7XG4gICAgZ2V0UmVnaXN0ZXJlZFNlcnZpY2VzKHJvbGU/OiBzdHJpbmcpOiBSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+PjtcbiAgICBnZXRTZXJ2aWNlcyhyb2xlPzogc3RyaW5nKTogUHJvbWlzZTxSZWNvcmQ8c3RyaW5nLCBSZWNvcmQ8c3RyaW5nLCBhbnk+Pj47XG4gIH07XG4gIC8vIFBoYXNlIDExOiBXUCBFbmdpbmUgQ29ubmVjdCBzZXJ2aWNlc1xuICB3cGVPQXV0aD86IHtcbiAgICBnZXRBY2Nlc3NUb2tlbigpOiBQcm9taXNlPHN0cmluZyB8IHVuZGVmaW5lZD47XG4gICAgYXV0aGVudGljYXRlKCk6IFByb21pc2U8eyBhY2Nlc3NUb2tlbjogc3RyaW5nOyByZWZyZXNoVG9rZW46IHN0cmluZzsgaWRUb2tlbjogc3RyaW5nIH0+O1xuICAgIGNsZWFyVG9rZW5zKCk6IFByb21pc2U8dm9pZD47XG4gIH07XG4gIGNhcGk/OiB7XG4gICAgZ2V0SW5zdGFsbExpc3QoKTogUHJvbWlzZTxhbnlbXSB8IHVuZGVmaW5lZD47XG4gICAgZ2V0QWNjb3VudExpc3QoKTogUHJvbWlzZTxhbnlbXSB8IHVuZGVmaW5lZD47XG4gICAgZ2V0Q3VycmVudFVzZXIoKTogUHJvbWlzZTx7IGlkPzogc3RyaW5nOyBlbWFpbD86IHN0cmluZyB9IHwgdW5kZWZpbmVkPjtcbiAgICBnZXRJbnN0YWxsKFxuICAgICAgaW5zdGFsbElkOiBzdHJpbmdcbiAgICApOiBQcm9taXNlPHsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nOyBlbnZpcm9ubWVudD86IHN0cmluZzsgY25hbWU/OiBzdHJpbmcgfSB8IHVuZGVmaW5lZD47XG4gIH07XG4gIC8vIFBoYXNlIDExYzogU3luYyBzZXJ2aWNlc1xuICB3cGVQdXNoPzoge1xuICAgIHB1c2goYXJnczoge1xuICAgICAgaW5jbHVkZVNxbD86IGJvb2xlYW47XG4gICAgICB3cGVuZ2luZUluc3RhbGxOYW1lOiBzdHJpbmc7XG4gICAgICB3cGVuZ2luZUluc3RhbGxJZDogc3RyaW5nO1xuICAgICAgd3BlbmdpbmVTaXRlSWQ6IHN0cmluZztcbiAgICAgIHdwZW5naW5lUHJpbWFyeURvbWFpbjogc3RyaW5nO1xuICAgICAgbG9jYWxTaXRlSWQ6IHN0cmluZztcbiAgICAgIGVudmlyb25tZW50Pzogc3RyaW5nO1xuICAgICAgZmlsZXM/OiBzdHJpbmdbXTtcbiAgICAgIGlzTWFnaWNTeW5jPzogYm9vbGVhbjtcbiAgICB9KTogUHJvbWlzZTx2b2lkPjtcbiAgICBwdXNoRGF0YWJhc2UoYXJnczoge1xuICAgICAgd3BlbmdpbmVJbnN0YWxsTmFtZTogc3RyaW5nO1xuICAgICAgbG9jYWxTaXRlSWQ6IHN0cmluZztcbiAgICAgIHdwZW5naW5lUHJpbWFyeURvbWFpbjogc3RyaW5nO1xuICAgIH0pOiBQcm9taXNlPHZvaWQ+O1xuICB9O1xuICB3cGVQdWxsPzoge1xuICAgIHB1bGwoYXJnczoge1xuICAgICAgaW5jbHVkZVNxbD86IGJvb2xlYW47XG4gICAgICB3cGVuZ2luZUluc3RhbGxOYW1lOiBzdHJpbmc7XG4gICAgICB3cGVuZ2luZUluc3RhbGxJZDogc3RyaW5nO1xuICAgICAgd3BlbmdpbmVTaXRlSWQ6IHN0cmluZztcbiAgICAgIHdwZW5naW5lUHJpbWFyeURvbWFpbjogc3RyaW5nO1xuICAgICAgbG9jYWxTaXRlSWQ6IHN0cmluZztcbiAgICAgIGVudmlyb25tZW50Pzogc3RyaW5nO1xuICAgICAgZmlsZXM/OiBzdHJpbmdbXTtcbiAgICAgIGlzTWFnaWNTeW5jPzogYm9vbGVhbjtcbiAgICB9KTogUHJvbWlzZTx2b2lkPjtcbiAgICBwdWxsRGF0YWJhc2UoYXJnczoge1xuICAgICAgd3BlbmdpbmVJbnN0YWxsTmFtZTogc3RyaW5nO1xuICAgICAgbG9jYWxTaXRlSWQ6IHN0cmluZztcbiAgICAgIHdwZW5naW5lUHJpbWFyeURvbWFpbjogc3RyaW5nO1xuICAgIH0pOiBQcm9taXNlPHZvaWQ+O1xuICB9O1xuICBjb25uZWN0SGlzdG9yeT86IHtcbiAgICBnZXRFdmVudHMoc2l0ZUlkOiBzdHJpbmcpOiBBcnJheTx7XG4gICAgICByZW1vdGVJbnN0YWxsTmFtZT86IHN0cmluZztcbiAgICAgIHRpbWVzdGFtcDogbnVtYmVyO1xuICAgICAgZW52aXJvbm1lbnQ6IHN0cmluZztcbiAgICAgIGRpcmVjdGlvbjogJ3B1c2gnIHwgJ3B1bGwnO1xuICAgICAgc3RhdHVzPzogJ3N0YXJ0ZWQnIHwgJ2ZhaWxlZCcgfCAnY29tcGxldGVkJztcbiAgICB9PjtcbiAgfTtcbiAgLy8gTWFnaWMgU3luYyBjaGFuZ2UgZGV0ZWN0aW9uXG4gIHdwZUNvbm5lY3RCYXNlPzoge1xuICAgIGxpc3RNb2RpZmljYXRpb25zKGFyZ3M6IHtcbiAgICAgIGNvbm5lY3RBcmdzOiB7XG4gICAgICAgIHdwZW5naW5lSW5zdGFsbE5hbWU6IHN0cmluZztcbiAgICAgICAgd3BlbmdpbmVJbnN0YWxsSWQ6IHN0cmluZztcbiAgICAgICAgd3BlbmdpbmVTaXRlSWQ6IHN0cmluZztcbiAgICAgICAgd3BlbmdpbmVQcmltYXJ5RG9tYWluOiBzdHJpbmc7XG4gICAgICAgIGxvY2FsU2l0ZUlkOiBzdHJpbmc7XG4gICAgICB9O1xuICAgICAgZGlyZWN0aW9uOiAncHVzaCcgfCAncHVsbCc7XG4gICAgICBpbmNsdWRlSWdub3JlZD86IGJvb2xlYW47XG4gICAgfSk6IFByb21pc2U8XG4gICAgICBBcnJheTx7XG4gICAgICAgIHBhdGg6IHN0cmluZztcbiAgICAgICAgdHlwZTogc3RyaW5nO1xuICAgICAgICBzaXplOiBudW1iZXI7XG4gICAgICAgIG10aW1lOiBudW1iZXI7XG4gICAgICAgIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gICAgICB9PlxuICAgID47XG4gIH07XG4gIC8vIFBoYXNlIDEwOiBDbG91ZCBCYWNrdXAgc2VydmljZXNcbiAgYmFja3VwPzoge1xuICAgIGNyZWF0ZUJhY2t1cChhcmdzOiB7XG4gICAgICBzaXRlOiBhbnk7XG4gICAgICBwcm92aWRlcjogJ2Ryb3Bib3gnIHwgJ2dvb2dsZURyaXZlJztcbiAgICAgIGFjY291bnRJZDogc3RyaW5nO1xuICAgICAgbm90ZT86IHN0cmluZztcbiAgICB9KTogUHJvbWlzZTx7IHNuYXBzaG90SWQ6IHN0cmluZzsgdGltZXN0YW1wOiBzdHJpbmcgfT47XG4gICAgbGlzdEJhY2t1cHMoYXJnczoge1xuICAgICAgc2l0ZTogYW55O1xuICAgICAgcHJvdmlkZXI6ICdkcm9wYm94JyB8ICdnb29nbGVEcml2ZSc7XG4gICAgICBhY2NvdW50SWQ6IHN0cmluZztcbiAgICB9KTogUHJvbWlzZTxcbiAgICAgIEFycmF5PHtcbiAgICAgICAgc25hcHNob3RJZDogc3RyaW5nO1xuICAgICAgICB0aW1lc3RhbXA6IHN0cmluZztcbiAgICAgICAgbm90ZT86IHN0cmluZztcbiAgICAgICAgc2l0ZURvbWFpbjogc3RyaW5nO1xuICAgICAgICBzZXJ2aWNlczogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgICAgIH0+XG4gICAgPjtcbiAgICByZXN0b3JlQmFja3VwKGFyZ3M6IHtcbiAgICAgIHNpdGU6IGFueTtcbiAgICAgIHByb3ZpZGVyOiAnZHJvcGJveCcgfCAnZ29vZ2xlRHJpdmUnO1xuICAgICAgYWNjb3VudElkOiBzdHJpbmc7XG4gICAgICBzbmFwc2hvdElkOiBzdHJpbmc7XG4gICAgfSk6IFByb21pc2U8dm9pZD47XG4gICAgZGVsZXRlQmFja3VwKGFyZ3M6IHtcbiAgICAgIHNpdGU6IGFueTtcbiAgICAgIHByb3ZpZGVyOiAnZHJvcGJveCcgfCAnZ29vZ2xlRHJpdmUnO1xuICAgICAgYWNjb3VudElkOiBzdHJpbmc7XG4gICAgICBzbmFwc2hvdElkOiBzdHJpbmc7XG4gICAgfSk6IFByb21pc2U8dm9pZD47XG4gICAgZG93bmxvYWRaaXAoYXJnczoge1xuICAgICAgc2l0ZTogYW55O1xuICAgICAgcHJvdmlkZXI6ICdkcm9wYm94JyB8ICdnb29nbGVEcml2ZSc7XG4gICAgICBhY2NvdW50SWQ6IHN0cmluZztcbiAgICAgIHNuYXBzaG90SWQ6IHN0cmluZztcbiAgICB9KTogUHJvbWlzZTxzdHJpbmc+OyAvLyBSZXR1cm5zIGZpbGUgcGF0aFxuICAgIGVkaXRCYWNrdXBEZXNjcmlwdGlvbihhcmdzOiB7XG4gICAgICBzaXRlOiBhbnk7XG4gICAgICBwcm92aWRlcjogJ2Ryb3Bib3gnIHwgJ2dvb2dsZURyaXZlJztcbiAgICAgIGFjY291bnRJZDogc3RyaW5nO1xuICAgICAgc25hcHNob3RJZDogc3RyaW5nO1xuICAgICAgbmV3RGVzY3JpcHRpb246IHN0cmluZztcbiAgICB9KTogUHJvbWlzZTx2b2lkPjtcbiAgfTtcbiAgZHJvcGJveD86IHtcbiAgICBpc0F1dGhlbnRpY2F0ZWQoYWNjb3VudElkOiBzdHJpbmcpOiBQcm9taXNlPGJvb2xlYW4+O1xuICAgIGdldEFjY291bnQoYWNjb3VudElkOiBzdHJpbmcpOiBQcm9taXNlPHsgaWQ6IHN0cmluZzsgZW1haWw6IHN0cmluZyB9IHwgdW5kZWZpbmVkPjtcbiAgfTtcbiAgZ29vZ2xlRHJpdmU/OiB7XG4gICAgaXNBdXRoZW50aWNhdGVkKGFjY291bnRJZDogc3RyaW5nKTogUHJvbWlzZTxib29sZWFuPjtcbiAgICBnZXRBY2NvdW50KGFjY291bnRJZDogc3RyaW5nKTogUHJvbWlzZTx7IGlkOiBzdHJpbmc7IGVtYWlsOiBzdHJpbmcgfSB8IHVuZGVmaW5lZD47XG4gIH07XG4gIGZlYXR1cmVGbGFncz86IHtcbiAgICBpc0ZlYXR1cmVFbmFibGVkKGZsYWc6IHN0cmluZyk6IGJvb2xlYW47XG4gIH07XG4gIC8vIFVzZXJEYXRhIGZvciByZWFkaW5nIGNsb3VkIHN0b3JhZ2UgYWNjb3VudHNcbiAgdXNlckRhdGE/OiB7XG4gICAgZ2V0KG9wdHM6IHtcbiAgICAgIG5hbWU6IHN0cmluZztcbiAgICAgIGRlZmF1bHRzOiBhbnk7XG4gICAgICBpbmNsdWRlQ3JlYXRlZFRpbWU/OiBib29sZWFuO1xuICAgICAgcGVyc2lzdERlZmF1bHRzPzogYm9vbGVhbjtcbiAgICAgIHBlcnNpc3REZWZhdWx0c0VuY3J5cHRlZD86IGJvb2xlYW47XG4gICAgfSk6IGFueTtcbiAgfTtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Connection Info Manager
|
|
3
|
+
* Handles saving/loading MCP connection info for external tools
|
|
4
|
+
*/
|
|
5
|
+
import { McpConnectionInfo } from '../../common/types';
|
|
6
|
+
export declare class ConnectionInfoManager {
|
|
7
|
+
private logger;
|
|
8
|
+
constructor(logger: any);
|
|
9
|
+
/**
|
|
10
|
+
* Get platform-specific path for connection info file
|
|
11
|
+
*/
|
|
12
|
+
getFilePath(): string;
|
|
13
|
+
/**
|
|
14
|
+
* Save connection info to file
|
|
15
|
+
*/
|
|
16
|
+
save(info: McpConnectionInfo): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Load connection info from file
|
|
19
|
+
*/
|
|
20
|
+
load(): Promise<McpConnectionInfo | null>;
|
|
21
|
+
/**
|
|
22
|
+
* Delete connection info file
|
|
23
|
+
*/
|
|
24
|
+
delete(): Promise<void>;
|
|
25
|
+
}
|