@1mcp/agent 0.16.0 → 0.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +103 -11
- package/build/auth/sdkOAuthClientProvider.d.ts.map +1 -1
- package/build/auth/sdkOAuthClientProvider.js +1 -1
- package/build/auth/sdkOAuthClientProvider.js.map +1 -1
- package/build/commands/app/backups.d.ts +17 -0
- package/build/commands/app/backups.d.ts.map +1 -0
- package/build/commands/app/backups.js +162 -0
- package/build/commands/app/backups.js.map +1 -0
- package/build/commands/app/consolidate.d.ts +21 -0
- package/build/commands/app/consolidate.d.ts.map +1 -0
- package/build/commands/app/consolidate.js +383 -0
- package/build/commands/app/consolidate.js.map +1 -0
- package/build/commands/app/discover.d.ts +16 -0
- package/build/commands/app/discover.d.ts.map +1 -0
- package/build/commands/app/discover.js +79 -0
- package/build/commands/app/discover.js.map +1 -0
- package/build/commands/app/index.d.ts +12 -0
- package/build/commands/app/index.d.ts.map +1 -0
- package/build/commands/app/index.js +274 -0
- package/build/commands/app/index.js.map +1 -0
- package/build/commands/app/list.d.ts +16 -0
- package/build/commands/app/list.d.ts.map +1 -0
- package/build/commands/app/list.js +95 -0
- package/build/commands/app/list.js.map +1 -0
- package/build/commands/app/restore.d.ts +21 -0
- package/build/commands/app/restore.d.ts.map +1 -0
- package/build/commands/app/restore.js +265 -0
- package/build/commands/app/restore.js.map +1 -0
- package/build/commands/app/status.d.ts +16 -0
- package/build/commands/app/status.d.ts.map +1 -0
- package/build/commands/app/status.js +224 -0
- package/build/commands/app/status.js.map +1 -0
- package/build/commands/mcp/add.d.ts +19 -0
- package/build/commands/mcp/add.d.ts.map +1 -0
- package/build/commands/mcp/add.js +135 -0
- package/build/commands/mcp/add.js.map +1 -0
- package/build/commands/mcp/enable.d.ts +13 -0
- package/build/commands/mcp/enable.d.ts.map +1 -0
- package/build/commands/mcp/enable.js +100 -0
- package/build/commands/mcp/enable.js.map +1 -0
- package/build/commands/mcp/index.d.ts +12 -0
- package/build/commands/mcp/index.d.ts.map +1 -0
- package/build/commands/mcp/index.js +351 -0
- package/build/commands/mcp/index.js.map +1 -0
- package/build/commands/mcp/list.d.ts +11 -0
- package/build/commands/mcp/list.d.ts.map +1 -0
- package/build/commands/mcp/list.js +144 -0
- package/build/commands/mcp/list.js.map +1 -0
- package/build/commands/mcp/remove.d.ts +10 -0
- package/build/commands/mcp/remove.d.ts.map +1 -0
- package/build/commands/mcp/remove.js +89 -0
- package/build/commands/mcp/remove.js.map +1 -0
- package/build/commands/mcp/status.d.ts +10 -0
- package/build/commands/mcp/status.d.ts.map +1 -0
- package/build/commands/mcp/status.js +243 -0
- package/build/commands/mcp/status.js.map +1 -0
- package/build/commands/mcp/update.d.ts +18 -0
- package/build/commands/mcp/update.d.ts.map +1 -0
- package/build/commands/mcp/update.js +157 -0
- package/build/commands/mcp/update.js.map +1 -0
- package/build/commands/mcp/utils/configUtils.d.ts +64 -0
- package/build/commands/mcp/utils/configUtils.d.ts.map +1 -0
- package/build/commands/mcp/utils/configUtils.js +266 -0
- package/build/commands/mcp/utils/configUtils.js.map +1 -0
- package/build/commands/mcp/utils/doubleHyphenParser.d.ts +32 -0
- package/build/commands/mcp/utils/doubleHyphenParser.d.ts.map +1 -0
- package/build/commands/mcp/utils/doubleHyphenParser.js +61 -0
- package/build/commands/mcp/utils/doubleHyphenParser.js.map +1 -0
- package/build/commands/mcp/utils/validation.d.ts +33 -0
- package/build/commands/mcp/utils/validation.d.ts.map +1 -0
- package/build/commands/mcp/utils/validation.js +235 -0
- package/build/commands/mcp/utils/validation.js.map +1 -0
- package/build/constants.d.ts +11 -2
- package/build/constants.d.ts.map +1 -1
- package/build/constants.js +18 -5
- package/build/constants.js.map +1 -1
- package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +96 -0
- package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -0
- package/build/core/capabilities/asyncLoadingOrchestrator.js +256 -0
- package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -0
- package/build/core/capabilities/capabilityAggregator.d.ts +114 -0
- package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -0
- package/build/core/capabilities/capabilityAggregator.js +234 -0
- package/build/core/capabilities/capabilityAggregator.js.map +1 -0
- package/build/core/client/clientManager.d.ts +29 -0
- package/build/core/client/clientManager.d.ts.map +1 -1
- package/build/core/client/clientManager.js +151 -2
- package/build/core/client/clientManager.js.map +1 -1
- package/build/core/loading/loadingStateTracker.d.ts +128 -0
- package/build/core/loading/loadingStateTracker.d.ts.map +1 -0
- package/build/core/loading/loadingStateTracker.js +211 -0
- package/build/core/loading/loadingStateTracker.js.map +1 -0
- package/build/core/loading/mcpLoadingManager.d.ts +156 -0
- package/build/core/loading/mcpLoadingManager.d.ts.map +1 -0
- package/build/core/loading/mcpLoadingManager.js +352 -0
- package/build/core/loading/mcpLoadingManager.js.map +1 -0
- package/build/core/notifications/notificationManager.d.ts +111 -0
- package/build/core/notifications/notificationManager.d.ts.map +1 -0
- package/build/core/notifications/notificationManager.js +232 -0
- package/build/core/notifications/notificationManager.js.map +1 -0
- package/build/core/server/agentConfig.d.ts +50 -0
- package/build/core/server/agentConfig.d.ts.map +1 -1
- package/build/core/server/agentConfig.js +68 -1
- package/build/core/server/agentConfig.js.map +1 -1
- package/build/core/server/serverManager.d.ts +1 -0
- package/build/core/server/serverManager.d.ts.map +1 -1
- package/build/core/server/serverManager.js +3 -0
- package/build/core/server/serverManager.js.map +1 -1
- package/build/core/types/transport.d.ts +2 -2
- package/build/index.js +133 -34
- package/build/index.js.map +1 -1
- package/build/logger/logger.d.ts +9 -0
- package/build/logger/logger.d.ts.map +1 -1
- package/build/logger/logger.js +49 -0
- package/build/logger/logger.js.map +1 -1
- package/build/logger/secureLogger.d.ts +22 -0
- package/build/logger/secureLogger.d.ts.map +1 -0
- package/build/logger/secureLogger.js +120 -0
- package/build/logger/secureLogger.js.map +1 -0
- package/build/server.d.ts +23 -2
- package/build/server.d.ts.map +1 -1
- package/build/server.js +83 -10
- package/build/server.js.map +1 -1
- package/build/services/configReloadService.d.ts +8 -0
- package/build/services/configReloadService.d.ts.map +1 -1
- package/build/services/configReloadService.js +68 -0
- package/build/services/configReloadService.js.map +1 -1
- package/build/transport/http/middlewares/mcpAvailabilityMiddleware.d.ts +79 -0
- package/build/transport/http/middlewares/mcpAvailabilityMiddleware.d.ts.map +1 -0
- package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js +306 -0
- package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js.map +1 -0
- package/build/transport/http/routes/healthRoutes.d.ts +2 -1
- package/build/transport/http/routes/healthRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/healthRoutes.js +170 -1
- package/build/transport/http/routes/healthRoutes.js.map +1 -1
- package/build/transport/http/routes/sseRoutes.d.ts +2 -1
- package/build/transport/http/routes/sseRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/sseRoutes.js +13 -1
- package/build/transport/http/routes/sseRoutes.js.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.d.ts +2 -1
- package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
- package/build/transport/http/routes/streamableHttpRoutes.js +13 -1
- package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
- package/build/transport/http/server.d.ts +7 -1
- package/build/transport/http/server.d.ts.map +1 -1
- package/build/transport/http/server.js +15 -4
- package/build/transport/http/server.js.map +1 -1
- package/build/transport/transportFactory.d.ts +4 -0
- package/build/transport/transportFactory.d.ts.map +1 -1
- package/build/transport/transportFactory.js +1 -1
- package/build/transport/transportFactory.js.map +1 -1
- package/build/utils/appDiscovery.d.ts +75 -0
- package/build/utils/appDiscovery.d.ts.map +1 -0
- package/build/utils/appDiscovery.js +358 -0
- package/build/utils/appDiscovery.js.map +1 -0
- package/build/utils/appPresets.d.ts +88 -0
- package/build/utils/appPresets.d.ts.map +1 -0
- package/build/utils/appPresets.js +430 -0
- package/build/utils/appPresets.js.map +1 -0
- package/build/utils/backupManager.d.ts +61 -0
- package/build/utils/backupManager.d.ts.map +1 -0
- package/build/utils/backupManager.js +314 -0
- package/build/utils/backupManager.js.map +1 -0
- package/build/utils/urlDetection.d.ts +35 -0
- package/build/utils/urlDetection.d.ts.map +1 -0
- package/build/utils/urlDetection.js +115 -0
- package/build/utils/urlDetection.js.map +1 -0
- package/build/utils/validationHelpers.d.ts +62 -0
- package/build/utils/validationHelpers.d.ts.map +1 -0
- package/build/utils/validationHelpers.js +252 -0
- package/build/utils/validationHelpers.js.map +1 -0
- package/package.json +9 -2
|
@@ -0,0 +1,358 @@
|
|
|
1
|
+
import fs from 'fs';
|
|
2
|
+
import JSON5 from 'json5';
|
|
3
|
+
import { getAppConfigPaths, getAppPreset, isAppConfigurable } from './appPresets.js';
|
|
4
|
+
/**
|
|
5
|
+
* Discover all configuration files for a given application
|
|
6
|
+
*/
|
|
7
|
+
export async function discoverAppConfigs(appName) {
|
|
8
|
+
const preset = getAppPreset(appName);
|
|
9
|
+
if (!preset || !isAppConfigurable(appName)) {
|
|
10
|
+
return {
|
|
11
|
+
app: appName,
|
|
12
|
+
configs: [],
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const configPaths = getAppConfigPaths(appName);
|
|
16
|
+
const configs = [];
|
|
17
|
+
for (const configPath of configPaths) {
|
|
18
|
+
const configInfo = await analyzeConfigFile(configPath, preset.configFormat);
|
|
19
|
+
// Determine level and priority from preset
|
|
20
|
+
const location = preset.locations.find((loc) => {
|
|
21
|
+
const resolvedPath = configPath;
|
|
22
|
+
return resolvedPath.includes(loc.path.replace('~', '').replace('%APPDATA%', ''));
|
|
23
|
+
});
|
|
24
|
+
configs.push({
|
|
25
|
+
...configInfo,
|
|
26
|
+
path: configPath,
|
|
27
|
+
level: location?.level || 'user',
|
|
28
|
+
priority: location?.priority || 5,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
app: appName,
|
|
33
|
+
configs: configs.filter((config) => config.exists),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Check if an application has already been consolidated to 1mcp
|
|
38
|
+
*/
|
|
39
|
+
export async function checkConsolidationStatus(appName) {
|
|
40
|
+
const discovery = await discoverAppConfigs(appName);
|
|
41
|
+
// Check each configuration for consolidation patterns
|
|
42
|
+
for (const config of discovery.configs) {
|
|
43
|
+
if (!config.content || !config.valid) {
|
|
44
|
+
continue;
|
|
45
|
+
}
|
|
46
|
+
const consolidationInfo = detectConsolidationPattern(config.content);
|
|
47
|
+
if (consolidationInfo.isConsolidated) {
|
|
48
|
+
return {
|
|
49
|
+
isConsolidated: true,
|
|
50
|
+
consolidatedUrl: consolidationInfo.consolidatedUrl,
|
|
51
|
+
configPath: config.path,
|
|
52
|
+
originalServers: consolidationInfo.originalServers,
|
|
53
|
+
message: `Already consolidated to ${consolidationInfo.consolidatedUrl}`,
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return { isConsolidated: false };
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Detect if a configuration file contains consolidation patterns
|
|
61
|
+
*/
|
|
62
|
+
function detectConsolidationPattern(config) {
|
|
63
|
+
// Check for different config formats
|
|
64
|
+
const serverSections = [
|
|
65
|
+
config.mcpServers, // Claude Desktop format
|
|
66
|
+
config.servers, // Cursor format
|
|
67
|
+
config['mcp.servers'], // VS Code settings.json format
|
|
68
|
+
config['claude.mcpServers'], // VS Code Claude extension format
|
|
69
|
+
config['cline.mcpServers'], // VS Code Cline extension format
|
|
70
|
+
config['continue.mcpServers'], // VS Code Continue extension format
|
|
71
|
+
config.mcp?.servers, // Alternative nested format
|
|
72
|
+
].filter(Boolean);
|
|
73
|
+
for (const servers of serverSections) {
|
|
74
|
+
const serverNames = Object.keys(servers || {});
|
|
75
|
+
// Pattern 1: Only has a single '1mcp' server entry
|
|
76
|
+
if (serverNames.length === 1 && (serverNames[0] === '1mcp' || serverNames[0].includes('1mcp'))) {
|
|
77
|
+
const server = servers[serverNames[0]];
|
|
78
|
+
const url = server.url;
|
|
79
|
+
const command = server.command;
|
|
80
|
+
// Verify it looks like a 1mcp URL or command
|
|
81
|
+
const hasValidUrl = url && (url.includes('/mcp') || url.includes('localhost') || url.includes('1mcp'));
|
|
82
|
+
const hasValidCommand = command && command.includes('@1mcp/agent');
|
|
83
|
+
if (hasValidUrl || hasValidCommand) {
|
|
84
|
+
return {
|
|
85
|
+
isConsolidated: true,
|
|
86
|
+
consolidatedUrl: url || 'detected',
|
|
87
|
+
originalServers: 1,
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
// Pattern 2: Check if all servers point to 1mcp URLs
|
|
92
|
+
if (serverNames.length > 0) {
|
|
93
|
+
const allServersAre1mcp = serverNames.every((name) => {
|
|
94
|
+
const server = servers[name];
|
|
95
|
+
return (name === '1mcp' ||
|
|
96
|
+
name.includes('1mcp') ||
|
|
97
|
+
(server.url && server.url.includes('1mcp')) ||
|
|
98
|
+
(server.command && server.command.includes('@1mcp/agent')));
|
|
99
|
+
});
|
|
100
|
+
if (allServersAre1mcp) {
|
|
101
|
+
const firstServer = servers[serverNames[0]];
|
|
102
|
+
return {
|
|
103
|
+
isConsolidated: true,
|
|
104
|
+
consolidatedUrl: firstServer.url || 'detected',
|
|
105
|
+
originalServers: serverNames.length,
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
return { isConsolidated: false };
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Analyze a single configuration file
|
|
114
|
+
*/
|
|
115
|
+
async function analyzeConfigFile(configPath, format) {
|
|
116
|
+
try {
|
|
117
|
+
// Check if file exists
|
|
118
|
+
if (!fs.existsSync(configPath)) {
|
|
119
|
+
return {
|
|
120
|
+
servers: [],
|
|
121
|
+
exists: false,
|
|
122
|
+
readable: false,
|
|
123
|
+
valid: false,
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
// Check if readable
|
|
127
|
+
try {
|
|
128
|
+
fs.accessSync(configPath, fs.constants.R_OK);
|
|
129
|
+
}
|
|
130
|
+
catch {
|
|
131
|
+
return {
|
|
132
|
+
servers: [],
|
|
133
|
+
exists: true,
|
|
134
|
+
readable: false,
|
|
135
|
+
valid: false,
|
|
136
|
+
error: 'File not readable',
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
// Read and parse file
|
|
140
|
+
const content = fs.readFileSync(configPath, 'utf8');
|
|
141
|
+
let parsedContent;
|
|
142
|
+
try {
|
|
143
|
+
// For VS Code settings, use JSON5 parser to handle comments
|
|
144
|
+
parsedContent = format === 'vscode' ? JSON5.parse(content) : JSON.parse(content);
|
|
145
|
+
}
|
|
146
|
+
catch (parseError) {
|
|
147
|
+
return {
|
|
148
|
+
servers: [],
|
|
149
|
+
exists: true,
|
|
150
|
+
readable: true,
|
|
151
|
+
valid: false,
|
|
152
|
+
error: `Invalid JSON: ${parseError}`,
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
// Extract servers based on format
|
|
156
|
+
const servers = extractServersFromConfig(parsedContent, format);
|
|
157
|
+
return {
|
|
158
|
+
servers,
|
|
159
|
+
exists: true,
|
|
160
|
+
readable: true,
|
|
161
|
+
valid: true,
|
|
162
|
+
content: parsedContent,
|
|
163
|
+
};
|
|
164
|
+
}
|
|
165
|
+
catch (error) {
|
|
166
|
+
return {
|
|
167
|
+
servers: [],
|
|
168
|
+
exists: false,
|
|
169
|
+
readable: false,
|
|
170
|
+
valid: false,
|
|
171
|
+
error: error.message,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Extract MCP server configurations from parsed config based on format
|
|
177
|
+
*/
|
|
178
|
+
function extractServersFromConfig(config, format) {
|
|
179
|
+
const servers = [];
|
|
180
|
+
try {
|
|
181
|
+
let mcpSection;
|
|
182
|
+
switch (format) {
|
|
183
|
+
case 'claude-desktop':
|
|
184
|
+
mcpSection = config.mcpServers || {};
|
|
185
|
+
break;
|
|
186
|
+
case 'vscode':
|
|
187
|
+
// VS Code stores MCP servers in settings.json under extension-specific keys
|
|
188
|
+
// Common patterns: mcp.servers, mcpServers, or extension-specific keys
|
|
189
|
+
mcpSection =
|
|
190
|
+
config['mcp.servers'] ||
|
|
191
|
+
config.mcpServers ||
|
|
192
|
+
config['claude.mcpServers'] ||
|
|
193
|
+
config['cline.mcpServers'] ||
|
|
194
|
+
config['continue.mcpServers'] ||
|
|
195
|
+
{};
|
|
196
|
+
break;
|
|
197
|
+
case 'cursor':
|
|
198
|
+
mcpSection = config.servers || config.mcpServers || {};
|
|
199
|
+
break;
|
|
200
|
+
case 'generic':
|
|
201
|
+
mcpSection = config.servers || config.mcpServers || config;
|
|
202
|
+
break;
|
|
203
|
+
default:
|
|
204
|
+
mcpSection = config.mcpServers || config.servers || {};
|
|
205
|
+
}
|
|
206
|
+
for (const [name, serverConfig] of Object.entries(mcpSection)) {
|
|
207
|
+
if (typeof serverConfig === 'object' && serverConfig !== null) {
|
|
208
|
+
const server = serverConfig;
|
|
209
|
+
// Skip existing 1mcp entries to avoid circular references
|
|
210
|
+
if (name === '1mcp' ||
|
|
211
|
+
name.includes('1mcp') ||
|
|
212
|
+
(server.url && server.url.includes('1mcp')) ||
|
|
213
|
+
(server.command && server.command.includes('@1mcp/agent'))) {
|
|
214
|
+
continue;
|
|
215
|
+
}
|
|
216
|
+
servers.push({
|
|
217
|
+
name,
|
|
218
|
+
command: server.command,
|
|
219
|
+
url: server.url,
|
|
220
|
+
args: server.args,
|
|
221
|
+
env: server.env,
|
|
222
|
+
});
|
|
223
|
+
}
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
catch (_error) {
|
|
227
|
+
// Return empty array if extraction fails
|
|
228
|
+
}
|
|
229
|
+
return servers;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Handle multiple configuration files strategy
|
|
233
|
+
*/
|
|
234
|
+
export function handleMultipleConfigs(discovery) {
|
|
235
|
+
const validConfigs = discovery.configs.filter((config) => config.exists && config.readable && config.valid);
|
|
236
|
+
if (validConfigs.length === 0) {
|
|
237
|
+
return { action: 'none' };
|
|
238
|
+
}
|
|
239
|
+
if (validConfigs.length === 1) {
|
|
240
|
+
return {
|
|
241
|
+
action: 'replace',
|
|
242
|
+
target: validConfigs[0],
|
|
243
|
+
};
|
|
244
|
+
}
|
|
245
|
+
// Multiple configs found - need user choice
|
|
246
|
+
// Sort by priority (highest first), then by number of servers
|
|
247
|
+
validConfigs.sort((a, b) => {
|
|
248
|
+
if (a.priority !== b.priority) {
|
|
249
|
+
return b.priority - a.priority;
|
|
250
|
+
}
|
|
251
|
+
return b.servers.length - a.servers.length;
|
|
252
|
+
});
|
|
253
|
+
return {
|
|
254
|
+
action: 'choose',
|
|
255
|
+
options: validConfigs,
|
|
256
|
+
target: validConfigs[0], // Default to highest priority
|
|
257
|
+
recommendation: 'highest-priority-with-servers',
|
|
258
|
+
};
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Filter and validate extracted servers
|
|
262
|
+
*/
|
|
263
|
+
export function extractAndFilterServers(appConfig, format = 'generic') {
|
|
264
|
+
const servers = extractServersFromConfig(appConfig, format);
|
|
265
|
+
return servers.filter((server) => {
|
|
266
|
+
// Must have either command or url
|
|
267
|
+
if (!server.command && !server.url) {
|
|
268
|
+
return false;
|
|
269
|
+
}
|
|
270
|
+
// Skip if it's already a 1mcp server
|
|
271
|
+
if (server.name === '1mcp' || server.name.includes('1mcp')) {
|
|
272
|
+
return false;
|
|
273
|
+
}
|
|
274
|
+
if (server.url && server.url.includes('1mcp')) {
|
|
275
|
+
return false;
|
|
276
|
+
}
|
|
277
|
+
if (server.command && server.command.includes('@1mcp/agent')) {
|
|
278
|
+
return false;
|
|
279
|
+
}
|
|
280
|
+
return true;
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Generate configuration for specific app format
|
|
285
|
+
*/
|
|
286
|
+
export function generateAppConfig(appName, url) {
|
|
287
|
+
const preset = getAppPreset(appName);
|
|
288
|
+
if (!preset) {
|
|
289
|
+
throw new Error(`Unsupported app: ${appName}`);
|
|
290
|
+
}
|
|
291
|
+
switch (preset.configFormat) {
|
|
292
|
+
case 'vscode':
|
|
293
|
+
return {
|
|
294
|
+
'mcp.servers': {
|
|
295
|
+
'1mcp': {
|
|
296
|
+
url: url,
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
};
|
|
300
|
+
case 'augment':
|
|
301
|
+
return {
|
|
302
|
+
'augment.advanced.mcpServers': {
|
|
303
|
+
'1mcp': {
|
|
304
|
+
url: url,
|
|
305
|
+
},
|
|
306
|
+
},
|
|
307
|
+
};
|
|
308
|
+
case 'claude-desktop':
|
|
309
|
+
return {
|
|
310
|
+
mcpServers: {
|
|
311
|
+
'1mcp': {
|
|
312
|
+
command: 'npx',
|
|
313
|
+
args: ['-y', '@1mcp/agent', 'serve', '--transport', 'stdio'],
|
|
314
|
+
},
|
|
315
|
+
},
|
|
316
|
+
};
|
|
317
|
+
case 'generic':
|
|
318
|
+
default:
|
|
319
|
+
return {
|
|
320
|
+
mcpServers: {
|
|
321
|
+
'1mcp': {
|
|
322
|
+
url: url,
|
|
323
|
+
},
|
|
324
|
+
},
|
|
325
|
+
};
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Discover all installed apps with MCP configurations
|
|
330
|
+
*/
|
|
331
|
+
export async function discoverInstalledApps() {
|
|
332
|
+
const configurableApps = [];
|
|
333
|
+
const manualOnlyApps = [];
|
|
334
|
+
const { APP_PRESETS } = await import('./appPresets.js');
|
|
335
|
+
for (const [appName, preset] of Object.entries(APP_PRESETS)) {
|
|
336
|
+
if (preset.configurable) {
|
|
337
|
+
const discovery = await discoverAppConfigs(appName);
|
|
338
|
+
const validConfigs = discovery.configs.filter((c) => c.exists && c.readable);
|
|
339
|
+
const totalServers = validConfigs.reduce((sum, config) => sum + config.servers.length, 0);
|
|
340
|
+
configurableApps.push({
|
|
341
|
+
name: appName,
|
|
342
|
+
displayName: preset.displayName,
|
|
343
|
+
hasConfig: validConfigs.length > 0,
|
|
344
|
+
configCount: validConfigs.length,
|
|
345
|
+
serverCount: totalServers,
|
|
346
|
+
paths: validConfigs.map((c) => c.path),
|
|
347
|
+
});
|
|
348
|
+
}
|
|
349
|
+
else {
|
|
350
|
+
manualOnlyApps.push(appName);
|
|
351
|
+
}
|
|
352
|
+
}
|
|
353
|
+
return {
|
|
354
|
+
configurable: configurableApps,
|
|
355
|
+
manualOnly: manualOnlyApps,
|
|
356
|
+
};
|
|
357
|
+
}
|
|
358
|
+
//# sourceMappingURL=appDiscovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appDiscovery.js","sourceRoot":"","sources":["../../src/utils/appDiscovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Desktop application preset configurations for MCP consolidation.
|
|
3
|
+
*
|
|
4
|
+
* Defines supported applications, their configuration file locations,
|
|
5
|
+
* and platform-specific handling.
|
|
6
|
+
*/
|
|
7
|
+
export interface AppPreset {
|
|
8
|
+
name: string;
|
|
9
|
+
displayName: string;
|
|
10
|
+
configurable: boolean;
|
|
11
|
+
locations: AppLocation[];
|
|
12
|
+
configFormat: 'augment' | 'vscode' | 'generic' | 'claude-desktop';
|
|
13
|
+
manualInstructions?: string;
|
|
14
|
+
}
|
|
15
|
+
export interface AppLocation {
|
|
16
|
+
platform: 'darwin' | 'win32' | 'linux' | 'all';
|
|
17
|
+
path: string;
|
|
18
|
+
level: 'project' | 'user' | 'system';
|
|
19
|
+
priority: number;
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Supported desktop applications with their configuration presets
|
|
23
|
+
*
|
|
24
|
+
* ⚠️ PLATFORM SUPPORT STATUS:
|
|
25
|
+
* - macOS (darwin): ✅ Fully tested and verified
|
|
26
|
+
* - Windows (win32): ⚠️ Paths researched but untested - see commented sections
|
|
27
|
+
* - Linux: ⚠️ Paths researched but untested - see commented sections
|
|
28
|
+
*
|
|
29
|
+
* 🤝 CONTRIBUTION NEEDED:
|
|
30
|
+
* If you're using Windows or Linux, please help verify these paths by:
|
|
31
|
+
* 1. Uncommenting the relevant sections for your platform
|
|
32
|
+
* 2. Testing the functionality
|
|
33
|
+
* 3. Reporting results or submitting fixes
|
|
34
|
+
*
|
|
35
|
+
* 📝 STANDARD LOCATIONS RESEARCH:
|
|
36
|
+
* The commented paths below are based on official documentation and
|
|
37
|
+
* common conventions, but have not been tested in real environments.
|
|
38
|
+
*/
|
|
39
|
+
export declare const APP_PRESETS: Record<string, AppPreset>;
|
|
40
|
+
/**
|
|
41
|
+
* Get all supported application names
|
|
42
|
+
*/
|
|
43
|
+
export declare function getSupportedApps(): string[];
|
|
44
|
+
/**
|
|
45
|
+
* Get configurable applications (can be auto-consolidated)
|
|
46
|
+
*/
|
|
47
|
+
export declare function getConfigurableApps(): string[];
|
|
48
|
+
/**
|
|
49
|
+
* Get manual-only applications (require manual setup instructions)
|
|
50
|
+
*/
|
|
51
|
+
export declare function getManualOnlyApps(): string[];
|
|
52
|
+
/**
|
|
53
|
+
* Get preset configuration for an application
|
|
54
|
+
*/
|
|
55
|
+
export declare function getAppPreset(appName: string): AppPreset | null;
|
|
56
|
+
/**
|
|
57
|
+
* Resolve platform-specific paths for an application
|
|
58
|
+
*/
|
|
59
|
+
export declare function getAppConfigPaths(appName: string): string[];
|
|
60
|
+
/**
|
|
61
|
+
* Check if the current platform has verified support for an app
|
|
62
|
+
*/
|
|
63
|
+
export declare function isPlatformTested(appName: string): boolean;
|
|
64
|
+
/**
|
|
65
|
+
* Get platform support message for CLI users
|
|
66
|
+
*/
|
|
67
|
+
export declare function getPlatformSupportMessage(_appName: string): string;
|
|
68
|
+
/**
|
|
69
|
+
* Display platform support warning for CLI commands if needed
|
|
70
|
+
*/
|
|
71
|
+
export declare function showPlatformWarningIfNeeded(): void;
|
|
72
|
+
/**
|
|
73
|
+
* Generate manual setup instructions for an app
|
|
74
|
+
*/
|
|
75
|
+
export declare function generateManualInstructions(appName: string, url: string): string;
|
|
76
|
+
/**
|
|
77
|
+
* Check if an application is supported
|
|
78
|
+
*/
|
|
79
|
+
export declare function isAppSupported(appName: string): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Check if an application is configurable (auto-consolidation supported)
|
|
82
|
+
*/
|
|
83
|
+
export declare function isAppConfigurable(appName: string): boolean;
|
|
84
|
+
/**
|
|
85
|
+
* Generate dynamic supported apps list for CLI help text
|
|
86
|
+
*/
|
|
87
|
+
export declare function generateSupportedAppsHelp(): string;
|
|
88
|
+
//# sourceMappingURL=appPresets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"appPresets.d.ts","sourceRoot":"","sources":["../../src/utils/appPresets.ts"],"names":[],"mappings":"AAGA;;;;;GAKG;AAEH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,SAAS,EAAE,WAAW,EAAE,CAAC;IACzB,YAAY,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,gBAAgB,CAAC;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,KAAK,CAAC;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CA8QjD,CAAC;AAEF;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,EAAE,CAE3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,EAAE,CAI9C;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,EAAE,CAI5C;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAE9D;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,CAe3D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAUzD;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAalE;AAED;;GAEG;AACH,wBAAgB,2BAA2B,IAAI,IAAI,CAclD;AAyBD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAO/E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,MAAM,CAmBlD"}
|