@1mcp/agent 0.16.0 → 0.17.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 +37 -2
- 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 +15 -2
- 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 +28 -0
- package/build/core/client/clientManager.d.ts.map +1 -1
- package/build/core/client/clientManager.js +120 -0
- 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 +209 -0
- package/build/core/loading/loadingStateTracker.js.map +1 -0
- package/build/core/loading/mcpLoadingManager.d.ts +139 -0
- package/build/core/loading/mcpLoadingManager.d.ts.map +1 -0
- package/build/core/loading/mcpLoadingManager.js +296 -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/index.js +115 -32
- package/build/index.js.map +1 -1
- 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/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 +243 -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,235 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation utilities for server command inputs
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Validate server name format
|
|
6
|
+
*/
|
|
7
|
+
export function validateServerName(name) {
|
|
8
|
+
if (!name || name.trim().length === 0) {
|
|
9
|
+
throw new Error('Server name cannot be empty');
|
|
10
|
+
}
|
|
11
|
+
const trimmedName = name.trim();
|
|
12
|
+
// Check for valid characters (alphanumeric, hyphens, underscores)
|
|
13
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(trimmedName)) {
|
|
14
|
+
throw new Error('Server name can only contain letters, numbers, hyphens, and underscores');
|
|
15
|
+
}
|
|
16
|
+
// Check length
|
|
17
|
+
if (trimmedName.length > 50) {
|
|
18
|
+
throw new Error('Server name must be 50 characters or less');
|
|
19
|
+
}
|
|
20
|
+
// Reserved names
|
|
21
|
+
const reservedNames = ['1mcp', 'proxy', 'server', 'client', 'config'];
|
|
22
|
+
if (reservedNames.includes(trimmedName.toLowerCase())) {
|
|
23
|
+
throw new Error(`Server name '${trimmedName}' is reserved and cannot be used`);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Validate command line arguments for different server types
|
|
28
|
+
*/
|
|
29
|
+
export function validateServerArgs(type, args) {
|
|
30
|
+
switch (type) {
|
|
31
|
+
case 'stdio':
|
|
32
|
+
validateStdioArgs(args);
|
|
33
|
+
break;
|
|
34
|
+
case 'http':
|
|
35
|
+
case 'sse':
|
|
36
|
+
validateHttpArgs(args);
|
|
37
|
+
break;
|
|
38
|
+
default:
|
|
39
|
+
throw new Error(`Unsupported server type: ${type}`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Validate stdio server arguments
|
|
44
|
+
*/
|
|
45
|
+
function validateStdioArgs(args) {
|
|
46
|
+
if (!args.command) {
|
|
47
|
+
throw new Error('Command is required for stdio servers');
|
|
48
|
+
}
|
|
49
|
+
if (typeof args.command !== 'string' || args.command.trim().length === 0) {
|
|
50
|
+
throw new Error('Command must be a non-empty string');
|
|
51
|
+
}
|
|
52
|
+
// Validate args array if provided
|
|
53
|
+
if (args.args !== undefined) {
|
|
54
|
+
if (!Array.isArray(args.args)) {
|
|
55
|
+
throw new Error('Command arguments must be an array');
|
|
56
|
+
}
|
|
57
|
+
for (const arg of args.args) {
|
|
58
|
+
if (typeof arg !== 'string') {
|
|
59
|
+
throw new Error('All command arguments must be strings');
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
// Validate cwd if provided
|
|
64
|
+
if (args.cwd !== undefined) {
|
|
65
|
+
if (typeof args.cwd !== 'string' || args.cwd.trim().length === 0) {
|
|
66
|
+
throw new Error('Working directory must be a non-empty string');
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Validate HTTP/SSE server arguments
|
|
72
|
+
*/
|
|
73
|
+
function validateHttpArgs(args) {
|
|
74
|
+
if (!args.url) {
|
|
75
|
+
throw new Error(`URL is required for ${args.type} servers`);
|
|
76
|
+
}
|
|
77
|
+
if (typeof args.url !== 'string') {
|
|
78
|
+
throw new Error('URL must be a string');
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const url = new URL(args.url);
|
|
82
|
+
// Check protocol
|
|
83
|
+
if (!['http:', 'https:'].includes(url.protocol)) {
|
|
84
|
+
throw new Error('URL must use HTTP or HTTPS protocol');
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
catch (_error) {
|
|
88
|
+
throw new Error(`Invalid URL format: ${args.url}`);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Validate environment variables
|
|
93
|
+
*/
|
|
94
|
+
export function validateEnvVars(envArray) {
|
|
95
|
+
if (!envArray)
|
|
96
|
+
return;
|
|
97
|
+
if (!Array.isArray(envArray)) {
|
|
98
|
+
throw new Error('Environment variables must be an array');
|
|
99
|
+
}
|
|
100
|
+
const seenKeys = new Set();
|
|
101
|
+
for (const envVar of envArray) {
|
|
102
|
+
if (typeof envVar !== 'string') {
|
|
103
|
+
throw new Error('Environment variable must be a string');
|
|
104
|
+
}
|
|
105
|
+
const equalIndex = envVar.indexOf('=');
|
|
106
|
+
if (equalIndex === -1) {
|
|
107
|
+
throw new Error(`Invalid environment variable format: ${envVar}. Expected key=value`);
|
|
108
|
+
}
|
|
109
|
+
const key = envVar.substring(0, equalIndex).trim();
|
|
110
|
+
if (!key) {
|
|
111
|
+
throw new Error(`Invalid environment variable format: ${envVar}. Key cannot be empty`);
|
|
112
|
+
}
|
|
113
|
+
// Check for valid environment variable name
|
|
114
|
+
if (!/^[a-zA-Z_][a-zA-Z0-9_]*$/.test(key)) {
|
|
115
|
+
throw new Error(`Invalid environment variable name: ${key}. Must start with letter or underscore, and contain only letters, numbers, and underscores`);
|
|
116
|
+
}
|
|
117
|
+
// Check for duplicates
|
|
118
|
+
if (seenKeys.has(key)) {
|
|
119
|
+
throw new Error(`Duplicate environment variable: ${key}`);
|
|
120
|
+
}
|
|
121
|
+
seenKeys.add(key);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Validate headers
|
|
126
|
+
*/
|
|
127
|
+
export function validateHeaders(headersArray) {
|
|
128
|
+
if (!headersArray)
|
|
129
|
+
return;
|
|
130
|
+
if (!Array.isArray(headersArray)) {
|
|
131
|
+
throw new Error('Headers must be an array');
|
|
132
|
+
}
|
|
133
|
+
const seenKeys = new Set();
|
|
134
|
+
for (const header of headersArray) {
|
|
135
|
+
if (typeof header !== 'string') {
|
|
136
|
+
throw new Error('Header must be a string');
|
|
137
|
+
}
|
|
138
|
+
const equalIndex = header.indexOf('=');
|
|
139
|
+
if (equalIndex === -1) {
|
|
140
|
+
throw new Error(`Invalid header format: ${header}. Expected key=value`);
|
|
141
|
+
}
|
|
142
|
+
const key = header.substring(0, equalIndex).trim();
|
|
143
|
+
if (!key) {
|
|
144
|
+
throw new Error(`Invalid header format: ${header}. Key cannot be empty`);
|
|
145
|
+
}
|
|
146
|
+
// Check for valid HTTP header name
|
|
147
|
+
if (!/^[a-zA-Z0-9!#$%&'*+\-.^_`|~]+$/.test(key)) {
|
|
148
|
+
throw new Error(`Invalid HTTP header name: ${key}`);
|
|
149
|
+
}
|
|
150
|
+
// Check for duplicates
|
|
151
|
+
const lowerKey = key.toLowerCase();
|
|
152
|
+
if (seenKeys.has(lowerKey)) {
|
|
153
|
+
throw new Error(`Duplicate header: ${key}`);
|
|
154
|
+
}
|
|
155
|
+
seenKeys.add(lowerKey);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Validate tags
|
|
160
|
+
*/
|
|
161
|
+
export function validateTags(tagsString) {
|
|
162
|
+
if (!tagsString)
|
|
163
|
+
return;
|
|
164
|
+
if (typeof tagsString !== 'string') {
|
|
165
|
+
throw new Error('Tags must be a string');
|
|
166
|
+
}
|
|
167
|
+
const tags = tagsString
|
|
168
|
+
.split(',')
|
|
169
|
+
.map((tag) => tag.trim())
|
|
170
|
+
.filter((tag) => tag.length > 0);
|
|
171
|
+
if (tags.length === 0) {
|
|
172
|
+
throw new Error('At least one tag must be provided when using --tags');
|
|
173
|
+
}
|
|
174
|
+
const seenTags = new Set();
|
|
175
|
+
for (const tag of tags) {
|
|
176
|
+
// Check for valid tag format
|
|
177
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(tag)) {
|
|
178
|
+
throw new Error(`Invalid tag format: ${tag}. Tags can only contain letters, numbers, hyphens, and underscores`);
|
|
179
|
+
}
|
|
180
|
+
// Check length
|
|
181
|
+
if (tag.length > 20) {
|
|
182
|
+
throw new Error(`Tag too long: ${tag}. Tags must be 20 characters or less`);
|
|
183
|
+
}
|
|
184
|
+
// Check for duplicates
|
|
185
|
+
if (seenTags.has(tag.toLowerCase())) {
|
|
186
|
+
throw new Error(`Duplicate tag: ${tag}`);
|
|
187
|
+
}
|
|
188
|
+
seenTags.add(tag.toLowerCase());
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
/**
|
|
192
|
+
* Validate timeout value
|
|
193
|
+
*/
|
|
194
|
+
export function validateTimeout(timeout) {
|
|
195
|
+
if (timeout === undefined)
|
|
196
|
+
return;
|
|
197
|
+
if (typeof timeout !== 'number') {
|
|
198
|
+
throw new Error('Timeout must be a number');
|
|
199
|
+
}
|
|
200
|
+
if (timeout < 0) {
|
|
201
|
+
throw new Error('Timeout must be a positive number');
|
|
202
|
+
}
|
|
203
|
+
if (timeout > 300000) {
|
|
204
|
+
// 5 minutes
|
|
205
|
+
throw new Error('Timeout cannot exceed 300000 milliseconds (5 minutes)');
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Validate complete server configuration
|
|
210
|
+
*/
|
|
211
|
+
export function validateCompleteServerConfig(name, config) {
|
|
212
|
+
validateServerName(name);
|
|
213
|
+
// Use existing validation from configUtils
|
|
214
|
+
if (!config.type) {
|
|
215
|
+
throw new Error('Server type is required');
|
|
216
|
+
}
|
|
217
|
+
validateServerArgs(config.type, config);
|
|
218
|
+
if (config.env) {
|
|
219
|
+
// Convert env object back to array format for validation
|
|
220
|
+
const envArray = Object.entries(config.env).map(([key, value]) => `${key}=${value}`);
|
|
221
|
+
validateEnvVars(envArray);
|
|
222
|
+
}
|
|
223
|
+
if (config.headers) {
|
|
224
|
+
// Convert headers object back to array format for validation
|
|
225
|
+
const headersArray = Object.entries(config.headers).map(([key, value]) => `${key}=${value}`);
|
|
226
|
+
validateHeaders(headersArray);
|
|
227
|
+
}
|
|
228
|
+
if (config.tags) {
|
|
229
|
+
// Convert tags array back to string format for validation
|
|
230
|
+
const tagsString = config.tags.join(',');
|
|
231
|
+
validateTags(tagsString);
|
|
232
|
+
}
|
|
233
|
+
validateTimeout(config.timeout);
|
|
234
|
+
}
|
|
235
|
+
//# sourceMappingURL=validation.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../../src/commands/mcp/utils/validation.ts"],"names":[],"mappings":"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"}
|
package/build/constants.d.ts
CHANGED
|
@@ -3,16 +3,17 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import { ClientCapabilities, ServerCapabilities } from '@modelcontextprotocol/sdk/types.js';
|
|
5
5
|
export declare const PORT = 3050;
|
|
6
|
-
export declare const HOST = "
|
|
6
|
+
export declare const HOST = "127.0.0.1";
|
|
7
7
|
export declare const SSE_ENDPOINT = "/sse";
|
|
8
8
|
export declare const MESSAGES_ENDPOINT = "/messages";
|
|
9
9
|
export declare const STREAMABLE_HTTP_ENDPOINT = "/mcp";
|
|
10
10
|
export declare const HEALTH_ENDPOINT = "/health";
|
|
11
11
|
export declare const MCP_CONFIG_FILE = "mcp.json";
|
|
12
12
|
export declare const MCP_SERVER_NAME = "1mcp";
|
|
13
|
-
export declare const MCP_SERVER_VERSION = "0.
|
|
13
|
+
export declare const MCP_SERVER_VERSION = "0.17.0";
|
|
14
14
|
export declare const MCP_URI_SEPARATOR = "_1mcp_";
|
|
15
15
|
export declare const CONFIG_DIR_NAME = "1mcp";
|
|
16
|
+
export declare const BACKUP_DIR_NAME = "backups";
|
|
16
17
|
export declare const DEFAULT_CONFIG: {
|
|
17
18
|
mcpServers: {};
|
|
18
19
|
};
|
|
@@ -24,6 +25,14 @@ export declare function getGlobalConfigDir(): string;
|
|
|
24
25
|
* Get the global config file path
|
|
25
26
|
*/
|
|
26
27
|
export declare function getGlobalConfigPath(): string;
|
|
28
|
+
/**
|
|
29
|
+
* Get the global backup directory path
|
|
30
|
+
*/
|
|
31
|
+
export declare function getGlobalBackupDir(): string;
|
|
32
|
+
/**
|
|
33
|
+
* Get app-specific backup directory path
|
|
34
|
+
*/
|
|
35
|
+
export declare function getAppBackupDir(appName: string): string;
|
|
27
36
|
export declare const CONNECTION_RETRY: {
|
|
28
37
|
MAX_ATTEMPTS: number;
|
|
29
38
|
INITIAL_DELAY_MS: number;
|
package/build/constants.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG5F,eAAO,MAAM,IAAI,OAAO,CAAC;AACzB,eAAO,MAAM,IAAI,cAAc,CAAC;AAGhC,eAAO,MAAM,YAAY,SAAS,CAAC;AACnC,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAC/C,eAAO,MAAM,eAAe,YAAY,CAAC;AAGzC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAY3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAGD,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEvB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;CAM7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAYrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAUrC,CAAC"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAG5F,eAAO,MAAM,IAAI,OAAO,CAAC;AACzB,eAAO,MAAM,IAAI,cAAc,CAAC;AAGhC,eAAO,MAAM,YAAY,SAAS,CAAC;AACnC,eAAO,MAAM,iBAAiB,cAAc,CAAC;AAC7C,eAAO,MAAM,wBAAwB,SAAS,CAAC;AAC/C,eAAO,MAAM,eAAe,YAAY,CAAC;AAGzC,eAAO,MAAM,eAAe,aAAa,CAAC;AAC1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,kBAAkB,WAAW,CAAC;AAE3C,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAG1C,eAAO,MAAM,eAAe,SAAS,CAAC;AACtC,eAAO,MAAM,eAAe,YAAY,CAAC;AACzC,eAAO,MAAM,cAAc;;CAE1B,CAAC;AAEF;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAY3C;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEvD;AAGD,eAAO,MAAM,gBAAgB;;;CAG5B,CAAC;AAGF,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkEvB,CAAC;AAGF,eAAO,MAAM,iBAAiB;;;;;;;;CAM7B,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAYrC,CAAC;AAEF,eAAO,MAAM,uBAAuB,EAAE,kBAUrC,CAAC"}
|
package/build/constants.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
// Server configuration
|
|
5
5
|
export const PORT = 3050;
|
|
6
|
-
export const HOST = '
|
|
6
|
+
export const HOST = '127.0.0.1';
|
|
7
7
|
// API endpoints
|
|
8
8
|
export const SSE_ENDPOINT = '/sse';
|
|
9
9
|
export const MESSAGES_ENDPOINT = '/messages';
|
|
@@ -12,10 +12,11 @@ export const HEALTH_ENDPOINT = '/health';
|
|
|
12
12
|
// MCP constants
|
|
13
13
|
export const MCP_CONFIG_FILE = 'mcp.json';
|
|
14
14
|
export const MCP_SERVER_NAME = '1mcp';
|
|
15
|
-
export const MCP_SERVER_VERSION = '0.
|
|
15
|
+
export const MCP_SERVER_VERSION = '0.17.0';
|
|
16
16
|
export const MCP_URI_SEPARATOR = '_1mcp_';
|
|
17
17
|
// Global config paths
|
|
18
18
|
export const CONFIG_DIR_NAME = '1mcp';
|
|
19
|
+
export const BACKUP_DIR_NAME = 'backups';
|
|
19
20
|
export const DEFAULT_CONFIG = {
|
|
20
21
|
mcpServers: {},
|
|
21
22
|
};
|
|
@@ -38,6 +39,18 @@ export function getGlobalConfigDir() {
|
|
|
38
39
|
export function getGlobalConfigPath() {
|
|
39
40
|
return `${getGlobalConfigDir()}/${MCP_CONFIG_FILE}`;
|
|
40
41
|
}
|
|
42
|
+
/**
|
|
43
|
+
* Get the global backup directory path
|
|
44
|
+
*/
|
|
45
|
+
export function getGlobalBackupDir() {
|
|
46
|
+
return `${getGlobalConfigDir()}/${BACKUP_DIR_NAME}`;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Get app-specific backup directory path
|
|
50
|
+
*/
|
|
51
|
+
export function getAppBackupDir(appName) {
|
|
52
|
+
return `${getGlobalBackupDir()}/${appName}`;
|
|
53
|
+
}
|
|
41
54
|
// Connection retry settings
|
|
42
55
|
export const CONNECTION_RETRY = {
|
|
43
56
|
MAX_ATTEMPTS: 3,
|
package/build/constants.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { EventEmitter } from 'events';
|
|
2
|
+
import { CapabilityAggregator, CapabilityChanges } from './capabilityAggregator.js';
|
|
3
|
+
import { NotificationManager } from '../notifications/notificationManager.js';
|
|
4
|
+
import { McpLoadingManager } from '../loading/mcpLoadingManager.js';
|
|
5
|
+
import { OutboundConnections, InboundConnection } from '../types/index.js';
|
|
6
|
+
import { ServerManager } from '../server/serverManager.js';
|
|
7
|
+
/**
|
|
8
|
+
* Events emitted by AsyncLoadingOrchestrator
|
|
9
|
+
*/
|
|
10
|
+
export interface AsyncLoadingOrchestratorEvents {
|
|
11
|
+
'orchestrator-ready': () => void;
|
|
12
|
+
'server-capabilities-updated': (serverName: string, changes: CapabilityChanges) => void;
|
|
13
|
+
'notifications-sent': (types: string[]) => void;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Orchestrates the async loading system by coordinating CapabilityAggregator,
|
|
17
|
+
* NotificationManager, and LoadingStateTracker events.
|
|
18
|
+
*
|
|
19
|
+
* This class handles the complete flow:
|
|
20
|
+
* 1. MCP server becomes ready
|
|
21
|
+
* 2. Capability aggregation detects changes
|
|
22
|
+
* 3. Notifications are sent to clients about new capabilities
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```typescript
|
|
26
|
+
* const orchestrator = new AsyncLoadingOrchestrator(
|
|
27
|
+
* outboundConnections,
|
|
28
|
+
* inboundConnection,
|
|
29
|
+
* loadingManager
|
|
30
|
+
* );
|
|
31
|
+
* orchestrator.initialize();
|
|
32
|
+
* ```
|
|
33
|
+
*/
|
|
34
|
+
export declare class AsyncLoadingOrchestrator extends EventEmitter {
|
|
35
|
+
private capabilityAggregator;
|
|
36
|
+
private notificationManager;
|
|
37
|
+
private loadingManager;
|
|
38
|
+
private serverManager;
|
|
39
|
+
private agentConfig;
|
|
40
|
+
private isInitialized;
|
|
41
|
+
private isShuttingDown;
|
|
42
|
+
constructor(outboundConnections: OutboundConnections, serverManager: ServerManager, loadingManager: McpLoadingManager);
|
|
43
|
+
/**
|
|
44
|
+
* Initialize the orchestrator and wire up event handlers
|
|
45
|
+
*/
|
|
46
|
+
initialize(): void;
|
|
47
|
+
/**
|
|
48
|
+
* Initialize notification manager when inbound connection is available
|
|
49
|
+
*/
|
|
50
|
+
initializeNotifications(inboundConnection: InboundConnection): void;
|
|
51
|
+
/**
|
|
52
|
+
* Set up the event handling chain for capability tracking
|
|
53
|
+
*/
|
|
54
|
+
private setupEventChain;
|
|
55
|
+
/**
|
|
56
|
+
* Set up notification event handlers
|
|
57
|
+
*/
|
|
58
|
+
private setupNotificationEvents;
|
|
59
|
+
/**
|
|
60
|
+
* Handle a server becoming ready by updating capabilities
|
|
61
|
+
*/
|
|
62
|
+
private handleServerReady;
|
|
63
|
+
/**
|
|
64
|
+
* Handle capability changes by sending notifications
|
|
65
|
+
*/
|
|
66
|
+
private handleCapabilityChanges;
|
|
67
|
+
/**
|
|
68
|
+
* Get the capability aggregator instance
|
|
69
|
+
*/
|
|
70
|
+
getCapabilityAggregator(): CapabilityAggregator;
|
|
71
|
+
/**
|
|
72
|
+
* Get the notification manager instance
|
|
73
|
+
*/
|
|
74
|
+
getNotificationManager(): NotificationManager | null;
|
|
75
|
+
/**
|
|
76
|
+
* Check if the orchestrator is initialized
|
|
77
|
+
*/
|
|
78
|
+
isReady(): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Force refresh capabilities and send notifications if needed
|
|
81
|
+
*/
|
|
82
|
+
refreshCapabilities(): Promise<void>;
|
|
83
|
+
/**
|
|
84
|
+
* Update configuration at runtime
|
|
85
|
+
*/
|
|
86
|
+
updateConfig(): void;
|
|
87
|
+
/**
|
|
88
|
+
* Get status summary for monitoring
|
|
89
|
+
*/
|
|
90
|
+
getStatusSummary(): string;
|
|
91
|
+
/**
|
|
92
|
+
* Shutdown the orchestrator
|
|
93
|
+
*/
|
|
94
|
+
shutdown(): void;
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=asyncLoadingOrchestrator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncLoadingOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/core/capabilities/asyncLoadingOrchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AACpF,OAAO,EAAE,mBAAmB,EAAE,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAI3D;;GAEG;AACH,MAAM,WAAW,8BAA8B;IAC7C,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,6BAA6B,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACxF,oBAAoB,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC;CACjD;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,wBAAyB,SAAQ,YAAY;IACxD,OAAO,CAAC,oBAAoB,CAAuB;IACnD,OAAO,CAAC,mBAAmB,CAAoC;IAC/D,OAAO,CAAC,cAAc,CAAoB;IAC1C,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAqB;IACxC,OAAO,CAAC,aAAa,CAAkB;IACvC,OAAO,CAAC,cAAc,CAAkB;gBAGtC,mBAAmB,EAAE,mBAAmB,EACxC,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,iBAAiB;IAanC;;OAEG;IACI,UAAU,IAAI,IAAI;IAqBzB;;OAEG;IACI,uBAAuB,CAAC,iBAAiB,EAAE,iBAAiB,GAAG,IAAI;IAwB1E;;OAEG;IACH,OAAO,CAAC,eAAe;IAoBvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAoB/B;;OAEG;YACW,iBAAiB;IAkB/B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAiB/B;;OAEG;IACI,uBAAuB,IAAI,oBAAoB;IAItD;;OAEG;IACI,sBAAsB,IAAI,mBAAmB,GAAG,IAAI;IAI3D;;OAEG;IACI,OAAO,IAAI,OAAO;IAIzB;;OAEG;IACU,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC;IAqBjD;;OAEG;IACI,YAAY,IAAI,IAAI;IAiB3B;;OAEG;IACI,gBAAgB,IAAI,MAAM;IAWjC;;OAEG;IACI,QAAQ,IAAI,IAAI;CA2BxB"}
|