@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.
Files changed (172) hide show
  1. package/README.md +103 -11
  2. package/build/auth/sdkOAuthClientProvider.d.ts.map +1 -1
  3. package/build/auth/sdkOAuthClientProvider.js +1 -1
  4. package/build/auth/sdkOAuthClientProvider.js.map +1 -1
  5. package/build/commands/app/backups.d.ts +17 -0
  6. package/build/commands/app/backups.d.ts.map +1 -0
  7. package/build/commands/app/backups.js +162 -0
  8. package/build/commands/app/backups.js.map +1 -0
  9. package/build/commands/app/consolidate.d.ts +21 -0
  10. package/build/commands/app/consolidate.d.ts.map +1 -0
  11. package/build/commands/app/consolidate.js +383 -0
  12. package/build/commands/app/consolidate.js.map +1 -0
  13. package/build/commands/app/discover.d.ts +16 -0
  14. package/build/commands/app/discover.d.ts.map +1 -0
  15. package/build/commands/app/discover.js +79 -0
  16. package/build/commands/app/discover.js.map +1 -0
  17. package/build/commands/app/index.d.ts +12 -0
  18. package/build/commands/app/index.d.ts.map +1 -0
  19. package/build/commands/app/index.js +274 -0
  20. package/build/commands/app/index.js.map +1 -0
  21. package/build/commands/app/list.d.ts +16 -0
  22. package/build/commands/app/list.d.ts.map +1 -0
  23. package/build/commands/app/list.js +95 -0
  24. package/build/commands/app/list.js.map +1 -0
  25. package/build/commands/app/restore.d.ts +21 -0
  26. package/build/commands/app/restore.d.ts.map +1 -0
  27. package/build/commands/app/restore.js +265 -0
  28. package/build/commands/app/restore.js.map +1 -0
  29. package/build/commands/app/status.d.ts +16 -0
  30. package/build/commands/app/status.d.ts.map +1 -0
  31. package/build/commands/app/status.js +224 -0
  32. package/build/commands/app/status.js.map +1 -0
  33. package/build/commands/mcp/add.d.ts +19 -0
  34. package/build/commands/mcp/add.d.ts.map +1 -0
  35. package/build/commands/mcp/add.js +135 -0
  36. package/build/commands/mcp/add.js.map +1 -0
  37. package/build/commands/mcp/enable.d.ts +13 -0
  38. package/build/commands/mcp/enable.d.ts.map +1 -0
  39. package/build/commands/mcp/enable.js +100 -0
  40. package/build/commands/mcp/enable.js.map +1 -0
  41. package/build/commands/mcp/index.d.ts +12 -0
  42. package/build/commands/mcp/index.d.ts.map +1 -0
  43. package/build/commands/mcp/index.js +351 -0
  44. package/build/commands/mcp/index.js.map +1 -0
  45. package/build/commands/mcp/list.d.ts +11 -0
  46. package/build/commands/mcp/list.d.ts.map +1 -0
  47. package/build/commands/mcp/list.js +144 -0
  48. package/build/commands/mcp/list.js.map +1 -0
  49. package/build/commands/mcp/remove.d.ts +10 -0
  50. package/build/commands/mcp/remove.d.ts.map +1 -0
  51. package/build/commands/mcp/remove.js +89 -0
  52. package/build/commands/mcp/remove.js.map +1 -0
  53. package/build/commands/mcp/status.d.ts +10 -0
  54. package/build/commands/mcp/status.d.ts.map +1 -0
  55. package/build/commands/mcp/status.js +243 -0
  56. package/build/commands/mcp/status.js.map +1 -0
  57. package/build/commands/mcp/update.d.ts +18 -0
  58. package/build/commands/mcp/update.d.ts.map +1 -0
  59. package/build/commands/mcp/update.js +157 -0
  60. package/build/commands/mcp/update.js.map +1 -0
  61. package/build/commands/mcp/utils/configUtils.d.ts +64 -0
  62. package/build/commands/mcp/utils/configUtils.d.ts.map +1 -0
  63. package/build/commands/mcp/utils/configUtils.js +266 -0
  64. package/build/commands/mcp/utils/configUtils.js.map +1 -0
  65. package/build/commands/mcp/utils/doubleHyphenParser.d.ts +32 -0
  66. package/build/commands/mcp/utils/doubleHyphenParser.d.ts.map +1 -0
  67. package/build/commands/mcp/utils/doubleHyphenParser.js +61 -0
  68. package/build/commands/mcp/utils/doubleHyphenParser.js.map +1 -0
  69. package/build/commands/mcp/utils/validation.d.ts +33 -0
  70. package/build/commands/mcp/utils/validation.d.ts.map +1 -0
  71. package/build/commands/mcp/utils/validation.js +235 -0
  72. package/build/commands/mcp/utils/validation.js.map +1 -0
  73. package/build/constants.d.ts +11 -2
  74. package/build/constants.d.ts.map +1 -1
  75. package/build/constants.js +18 -5
  76. package/build/constants.js.map +1 -1
  77. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts +96 -0
  78. package/build/core/capabilities/asyncLoadingOrchestrator.d.ts.map +1 -0
  79. package/build/core/capabilities/asyncLoadingOrchestrator.js +256 -0
  80. package/build/core/capabilities/asyncLoadingOrchestrator.js.map +1 -0
  81. package/build/core/capabilities/capabilityAggregator.d.ts +114 -0
  82. package/build/core/capabilities/capabilityAggregator.d.ts.map +1 -0
  83. package/build/core/capabilities/capabilityAggregator.js +234 -0
  84. package/build/core/capabilities/capabilityAggregator.js.map +1 -0
  85. package/build/core/client/clientManager.d.ts +29 -0
  86. package/build/core/client/clientManager.d.ts.map +1 -1
  87. package/build/core/client/clientManager.js +151 -2
  88. package/build/core/client/clientManager.js.map +1 -1
  89. package/build/core/loading/loadingStateTracker.d.ts +128 -0
  90. package/build/core/loading/loadingStateTracker.d.ts.map +1 -0
  91. package/build/core/loading/loadingStateTracker.js +211 -0
  92. package/build/core/loading/loadingStateTracker.js.map +1 -0
  93. package/build/core/loading/mcpLoadingManager.d.ts +156 -0
  94. package/build/core/loading/mcpLoadingManager.d.ts.map +1 -0
  95. package/build/core/loading/mcpLoadingManager.js +352 -0
  96. package/build/core/loading/mcpLoadingManager.js.map +1 -0
  97. package/build/core/notifications/notificationManager.d.ts +111 -0
  98. package/build/core/notifications/notificationManager.d.ts.map +1 -0
  99. package/build/core/notifications/notificationManager.js +232 -0
  100. package/build/core/notifications/notificationManager.js.map +1 -0
  101. package/build/core/server/agentConfig.d.ts +50 -0
  102. package/build/core/server/agentConfig.d.ts.map +1 -1
  103. package/build/core/server/agentConfig.js +68 -1
  104. package/build/core/server/agentConfig.js.map +1 -1
  105. package/build/core/server/serverManager.d.ts +1 -0
  106. package/build/core/server/serverManager.d.ts.map +1 -1
  107. package/build/core/server/serverManager.js +3 -0
  108. package/build/core/server/serverManager.js.map +1 -1
  109. package/build/core/types/transport.d.ts +2 -2
  110. package/build/index.js +133 -34
  111. package/build/index.js.map +1 -1
  112. package/build/logger/logger.d.ts +9 -0
  113. package/build/logger/logger.d.ts.map +1 -1
  114. package/build/logger/logger.js +49 -0
  115. package/build/logger/logger.js.map +1 -1
  116. package/build/logger/secureLogger.d.ts +22 -0
  117. package/build/logger/secureLogger.d.ts.map +1 -0
  118. package/build/logger/secureLogger.js +120 -0
  119. package/build/logger/secureLogger.js.map +1 -0
  120. package/build/server.d.ts +23 -2
  121. package/build/server.d.ts.map +1 -1
  122. package/build/server.js +83 -10
  123. package/build/server.js.map +1 -1
  124. package/build/services/configReloadService.d.ts +8 -0
  125. package/build/services/configReloadService.d.ts.map +1 -1
  126. package/build/services/configReloadService.js +68 -0
  127. package/build/services/configReloadService.js.map +1 -1
  128. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.d.ts +79 -0
  129. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.d.ts.map +1 -0
  130. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js +306 -0
  131. package/build/transport/http/middlewares/mcpAvailabilityMiddleware.js.map +1 -0
  132. package/build/transport/http/routes/healthRoutes.d.ts +2 -1
  133. package/build/transport/http/routes/healthRoutes.d.ts.map +1 -1
  134. package/build/transport/http/routes/healthRoutes.js +170 -1
  135. package/build/transport/http/routes/healthRoutes.js.map +1 -1
  136. package/build/transport/http/routes/sseRoutes.d.ts +2 -1
  137. package/build/transport/http/routes/sseRoutes.d.ts.map +1 -1
  138. package/build/transport/http/routes/sseRoutes.js +13 -1
  139. package/build/transport/http/routes/sseRoutes.js.map +1 -1
  140. package/build/transport/http/routes/streamableHttpRoutes.d.ts +2 -1
  141. package/build/transport/http/routes/streamableHttpRoutes.d.ts.map +1 -1
  142. package/build/transport/http/routes/streamableHttpRoutes.js +13 -1
  143. package/build/transport/http/routes/streamableHttpRoutes.js.map +1 -1
  144. package/build/transport/http/server.d.ts +7 -1
  145. package/build/transport/http/server.d.ts.map +1 -1
  146. package/build/transport/http/server.js +15 -4
  147. package/build/transport/http/server.js.map +1 -1
  148. package/build/transport/transportFactory.d.ts +4 -0
  149. package/build/transport/transportFactory.d.ts.map +1 -1
  150. package/build/transport/transportFactory.js +1 -1
  151. package/build/transport/transportFactory.js.map +1 -1
  152. package/build/utils/appDiscovery.d.ts +75 -0
  153. package/build/utils/appDiscovery.d.ts.map +1 -0
  154. package/build/utils/appDiscovery.js +358 -0
  155. package/build/utils/appDiscovery.js.map +1 -0
  156. package/build/utils/appPresets.d.ts +88 -0
  157. package/build/utils/appPresets.d.ts.map +1 -0
  158. package/build/utils/appPresets.js +430 -0
  159. package/build/utils/appPresets.js.map +1 -0
  160. package/build/utils/backupManager.d.ts +61 -0
  161. package/build/utils/backupManager.d.ts.map +1 -0
  162. package/build/utils/backupManager.js +314 -0
  163. package/build/utils/backupManager.js.map +1 -0
  164. package/build/utils/urlDetection.d.ts +35 -0
  165. package/build/utils/urlDetection.d.ts.map +1 -0
  166. package/build/utils/urlDetection.js +115 -0
  167. package/build/utils/urlDetection.js.map +1 -0
  168. package/build/utils/validationHelpers.d.ts +62 -0
  169. package/build/utils/validationHelpers.d.ts.map +1 -0
  170. package/build/utils/validationHelpers.js +252 -0
  171. package/build/utils/validationHelpers.js.map +1 -0
  172. 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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"}
@@ -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 = "localhost";
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.16.0";
13
+ export declare const MCP_SERVER_VERSION = "0.18.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;
@@ -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"}
@@ -3,7 +3,7 @@
3
3
  */
4
4
  // Server configuration
5
5
  export const PORT = 3050;
6
- export const HOST = 'localhost';
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.16.0';
15
+ export const MCP_SERVER_VERSION = '0.18.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,
@@ -115,13 +128,13 @@ export const RATE_LIMIT_CONFIG = {
115
128
  export const MCP_SERVER_CAPABILITIES = {
116
129
  completions: {},
117
130
  resources: {
118
- listChanged: false,
131
+ listChanged: true,
119
132
  },
120
133
  tools: {
121
- listChanged: false,
134
+ listChanged: true,
122
135
  },
123
136
  prompts: {
124
- listChanged: false,
137
+ listChanged: true,
125
138
  },
126
139
  logging: {},
127
140
  };
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,uBAAuB;AACvB,MAAM,CAAC,MAAM,IAAI,GAAG,IAAI,CAAC;AACzB,MAAM,CAAC,MAAM,IAAI,GAAG,WAAW,CAAC;AAEhC,gBAAgB;AAChB,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,WAAW,CAAC;AAC7C,MAAM,CAAC,MAAM,wBAAwB,GAAG,MAAM,CAAC;AAC/C,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AAEzC,gBAAgB;AAChB,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,kBAAkB,GAAG,QAAQ,CAAC;AAE3C,MAAM,CAAC,MAAM,iBAAiB,GAAG,QAAQ,CAAC;AAE1C,sBAAsB;AACtB,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,UAAU,EAAE,EAAE;CACf,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACxD,CAAC;IAED,MAAM,SAAS,GACb,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,KAAK,OAAO;QAC3D,CAAC,CAAC,GAAG,OAAO,YAAY,eAAe,EAAE;QACzC,CAAC,CAAC,GAAG,OAAO,oBAAoB,eAAe,EAAE,CAAC;IAEtD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB;IACjC,OAAO,GAAG,kBAAkB,EAAE,IAAI,eAAe,EAAE,CAAC;AACtD,CAAC;AAED,4BAA4B;AAC5B,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,YAAY,EAAE,CAAC;IACf,gBAAgB,EAAE,IAAI;CACvB,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,6BAA6B;IAC7B,MAAM,EAAE;QACN,eAAe,EAAE,KAAK;QAEtB,6BAA6B;QAC7B,OAAO,EAAE;YACP,GAAG,EAAE,UAAU;YACf,cAAc,EAAE,OAAO;SACxB;QAED,qBAAqB;QACrB,OAAO,EAAE;YACP,WAAW,EAAE,EAAE,GAAG,EAAE,EAAE,WAAW;YACjC,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,UAAU;SACxB;QAED,4DAA4D;QAC5D,SAAS,EAAE;YACT,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,WAAW;YAC9B,SAAS,EAAE,OAAO;YAClB,WAAW,EAAE,YAAY;SAC1B;QAED,6DAA6D;QAC7D,YAAY,EAAE;YACZ,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;YACrC,SAAS,EAAE,OAAO,EAAE,uCAAuC;YAC3D,WAAW,EAAE,eAAe;SAC7B;QAED,eAAe;QACf,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,WAAW;YACxC,SAAS,EAAE,KAAK;SACjB;QAED,oBAAoB;QACpB,MAAM,EAAE;YACN,SAAS,EAAE,SAAS;SACrB;KACF;IAED,6BAA6B;IAC7B,MAAM,EAAE;QACN,KAAK,EAAE;YACL,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU;YAC5C,oBAAoB,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;YACnD,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;YAC3C,4BAA4B,EAAE,IAAI,EAAE,SAAS;YAC7C,qBAAqB,EAAE,iBAAiB;YACxC,cAAc,EAAE,EAAE;SACnB;QACD,OAAO,EAAE;YACP,MAAM,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,UAAU;YAC5C,SAAS,EAAE,QAAQ;YACnB,WAAW,EAAE,EAAE;SAChB;QACD,QAAQ,EAAE;YACR,MAAM,EAAE,MAAM;YACd,MAAM,EAAE,MAAM;YACd,QAAQ,EAAE,MAAM;YAChB,KAAK,EAAE,MAAM;SACd;KACF;CACF,CAAC;AAEF,kDAAkD;AAClD,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,KAAK,EAAE;QACL,SAAS,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;QACxC,GAAG,EAAE,GAAG,EAAE,iCAAiC;QAC3C,OAAO,EAAE,EAAE,KAAK,EAAE,4CAA4C,EAAE;KACjE;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAuB;IACzD,WAAW,EAAE,EAAE;IACf,SAAS,EAAE;QACT,WAAW,EAAE,KAAK;KACnB;IACD,KAAK,EAAE;QACL,WAAW,EAAE,KAAK;KACnB;IACD,OAAO,EAAE;QACP,WAAW,EAAE,KAAK;KACnB;IACD,OAAO,EAAE,EAAE;CACZ,CAAC;AAEF,MAAM,CAAC,MAAM,uBAAuB,GAAuB;IACzD,KAAK,EAAE;QACL,WAAW,EAAE,KAAK;KACnB;IACD,QAAQ,EAAE;QACR,WAAW,EAAE,KAAK;KACnB;IACD,WAAW,EAAE;QACX,WAAW,EAAE,KAAK;KACnB;CACF,CAAC"}
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"}