@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
package/build/index.js CHANGED
@@ -4,18 +4,17 @@ import yargs from 'yargs';
4
4
  import { hideBin } from 'yargs/helpers';
5
5
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
6
6
  import { setupServer } from './server.js';
7
- import logger, { enableConsoleTransport } from './logger/logger.js';
7
+ import logger, { configureLogger } from './logger/logger.js';
8
8
  import configReloadService from './services/configReloadService.js';
9
9
  import { McpConfigManager } from './config/mcpConfigManager.js';
10
10
  import { ExpressServer } from './transport/http/server.js';
11
11
  import { AgentConfigManager } from './core/server/agentConfig.js';
12
12
  import { PORT, HOST } from './constants.js';
13
13
  import { displayLogo } from './utils/logo.js';
14
- // Parse command line arguments
15
- const argv = yargs(hideBin(process.argv))
16
- .usage('Usage: $0 [options]')
17
- .env('ONE_MCP') // Enable environment variable parsing with ONE_MCP prefix
18
- .options({
14
+ import { setupAppCommands } from './commands/app/index.js';
15
+ import { setupMcpCommands } from './commands/mcp/index.js';
16
+ // Define server options that should only be available for serve commands
17
+ const serverOptions = {
19
18
  transport: {
20
19
  alias: 't',
21
20
  describe: 'Transport type to use (stdio or http, sse is deprecated)',
@@ -110,18 +109,58 @@ const argv = yargs(hideBin(process.argv))
110
109
  choices: ['full', 'basic', 'minimal'],
111
110
  default: 'minimal',
112
111
  },
112
+ 'enable-async-loading': {
113
+ describe: 'Enable asynchronous MCP server loading with listChanged notifications',
114
+ type: 'boolean',
115
+ default: false,
116
+ },
117
+ 'log-level': {
118
+ describe: 'Set the log level (debug, info, warn, error)',
119
+ type: 'string',
120
+ choices: ['debug', 'info', 'warn', 'error'],
121
+ default: undefined,
122
+ },
123
+ 'log-file': {
124
+ describe: 'Write logs to a file in addition to console (disables console logging only for stdio transport)',
125
+ type: 'string',
126
+ default: undefined,
127
+ },
128
+ };
129
+ // Parse command line arguments and set up commands
130
+ let yargsInstance = yargs(hideBin(process.argv));
131
+ // Set up base yargs with serve commands having server options
132
+ yargsInstance = yargsInstance
133
+ .usage('Usage: $0 [command] [options]')
134
+ .command('$0', 'Start the 1mcp server (default)', serverOptions, () => {
135
+ // Default command handler - will be processed by main()
113
136
  })
137
+ .command('serve', 'Start the 1mcp server', serverOptions, () => {
138
+ // Serve command handler - will be processed by main()
139
+ })
140
+ .env('ONE_MCP') // Enable environment variable parsing with ONE_MCP prefix
114
141
  .help()
115
- .alias('help', 'h')
116
- .parseSync();
142
+ .alias('help', 'h');
143
+ // Register command groups (these will have clean option lists without server options)
144
+ yargsInstance = setupAppCommands(yargsInstance);
145
+ yargsInstance = setupMcpCommands(yargsInstance);
117
146
  /**
118
147
  * Set up graceful shutdown handling
119
148
  */
120
- function setupGracefulShutdown(serverManager, expressServer) {
149
+ function setupGracefulShutdown(serverManager, loadingManager, expressServer) {
121
150
  const shutdown = async () => {
122
151
  logger.info('Shutting down server...');
123
152
  // Stop the configuration reload service
124
153
  configReloadService.stop();
154
+ // Shutdown loading manager if it exists
155
+ if (loadingManager && typeof loadingManager.shutdown === 'function') {
156
+ try {
157
+ loadingManager.shutdown();
158
+ logger.info('Loading manager shutdown complete');
159
+ }
160
+ catch (error) {
161
+ logger.error(`Error shutting down loading manager: ${error}`);
162
+ }
163
+ }
125
164
  // Shutdown ExpressServer if it exists
126
165
  if (expressServer) {
127
166
  try {
@@ -150,40 +189,80 @@ function setupGracefulShutdown(serverManager, expressServer) {
150
189
  process.on('SIGTERM', shutdown);
151
190
  process.on('SIGHUP', shutdown);
152
191
  }
192
+ /**
193
+ * Check if the command is a CLI command that should not start the server
194
+ */
195
+ function isCliCommand(argv) {
196
+ return argv.length >= 3 && (argv[2] === 'app' || argv[2] === 'mcp');
197
+ }
198
+ /**
199
+ * Check if the command is the serve command (or should default to serve)
200
+ */
201
+ function isServeCommand(argv) {
202
+ // If no command specified (length < 3) or first arg is not a known command, default to serve
203
+ if (argv.length < 3)
204
+ return true;
205
+ // If explicitly called serve
206
+ if (argv[2] === 'serve')
207
+ return true;
208
+ // If the third argument starts with '-', it's likely a flag, so default to serve
209
+ if (argv[2].startsWith('-'))
210
+ return true;
211
+ // Otherwise it's some other command
212
+ return false;
213
+ }
153
214
  /**
154
215
  * Start the server using the specified transport.
155
216
  */
156
217
  async function main() {
218
+ // Check if this is a CLI command - if so, let yargs handle it and exit
219
+ if (isCliCommand(process.argv)) {
220
+ await yargsInstance.parse();
221
+ return;
222
+ }
223
+ // Check if this is a serve command or should default to serve
224
+ if (!isServeCommand(process.argv)) {
225
+ // Let yargs handle other commands
226
+ await yargsInstance.parse();
227
+ return;
228
+ }
229
+ // Parse arguments asynchronously first
230
+ const parsedArgv = (await yargsInstance.parse());
157
231
  try {
158
- if (argv.transport !== 'stdio') {
159
- enableConsoleTransport();
232
+ // Configure logger with CLI options and transport awareness
233
+ configureLogger({
234
+ logLevel: parsedArgv['log-level'],
235
+ logFile: parsedArgv['log-file'],
236
+ transport: parsedArgv.transport,
237
+ });
238
+ if (parsedArgv.transport !== 'stdio' && !parsedArgv['log-file']) {
160
239
  displayLogo();
161
240
  }
162
- McpConfigManager.getInstance(argv.config);
241
+ McpConfigManager.getInstance(parsedArgv.config);
163
242
  // Configure server settings from CLI arguments
164
243
  const serverConfigManager = AgentConfigManager.getInstance();
165
244
  // Handle backward compatibility for auth flag
166
- const authEnabled = argv['enable-auth'] ?? argv['auth'] ?? false;
167
- const scopeValidationEnabled = argv['enable-scope-validation'] ?? authEnabled;
168
- const enhancedSecurityEnabled = argv['enable-enhanced-security'] ?? false;
245
+ const authEnabled = parsedArgv['enable-auth'] ?? parsedArgv['auth'] ?? false;
246
+ const scopeValidationEnabled = parsedArgv['enable-scope-validation'] ?? authEnabled;
247
+ const enhancedSecurityEnabled = parsedArgv['enable-enhanced-security'] ?? false;
169
248
  // Handle trust proxy configuration (convert 'true'/'false' strings to boolean)
170
- const trustProxyValue = argv['trust-proxy'];
249
+ const trustProxyValue = parsedArgv['trust-proxy'];
171
250
  const trustProxy = trustProxyValue === 'true' ? true : trustProxyValue === 'false' ? false : trustProxyValue;
172
251
  serverConfigManager.updateConfig({
173
- host: argv.host,
174
- port: argv.port,
175
- externalUrl: argv['external-url'],
252
+ host: parsedArgv.host,
253
+ port: parsedArgv.port,
254
+ externalUrl: parsedArgv['external-url'],
176
255
  trustProxy,
177
256
  auth: {
178
257
  enabled: authEnabled,
179
- sessionTtlMinutes: argv['session-ttl'],
180
- sessionStoragePath: argv['session-storage-path'],
258
+ sessionTtlMinutes: parsedArgv['session-ttl'],
259
+ sessionStoragePath: parsedArgv['session-storage-path'],
181
260
  oauthCodeTtlMs: 60 * 1000, // 1 minute
182
- oauthTokenTtlMs: argv['session-ttl'] * 60 * 1000, // Convert minutes to milliseconds
261
+ oauthTokenTtlMs: parsedArgv['session-ttl'] * 60 * 1000, // Convert minutes to milliseconds
183
262
  },
184
263
  rateLimit: {
185
- windowMs: argv['rate-limit-window'] * 60 * 1000, // Convert minutes to milliseconds
186
- max: argv['rate-limit-max'],
264
+ windowMs: parsedArgv['rate-limit-window'] * 60 * 1000, // Convert minutes to milliseconds
265
+ max: parsedArgv['rate-limit-max'],
187
266
  },
188
267
  features: {
189
268
  auth: authEnabled,
@@ -191,26 +270,39 @@ async function main() {
191
270
  enhancedSecurity: enhancedSecurityEnabled,
192
271
  },
193
272
  health: {
194
- detailLevel: argv['health-info-level'],
273
+ detailLevel: parsedArgv['health-info-level'],
195
274
  },
275
+ ...(parsedArgv['enable-async-loading'] && {
276
+ asyncLoading: {
277
+ enabled: true,
278
+ },
279
+ }),
196
280
  });
197
281
  // Initialize server and get server manager with custom config path if provided
198
- const serverManager = await setupServer();
282
+ const { serverManager, loadingManager, asyncOrchestrator } = await setupServer();
199
283
  let expressServer;
200
- switch (argv.transport) {
284
+ switch (parsedArgv.transport) {
201
285
  case 'stdio': {
202
286
  // Use stdio transport
203
287
  const transport = new StdioServerTransport();
204
288
  // Parse and validate tags from CLI if provided
205
289
  let tags;
206
- if (argv.tags) {
207
- tags = argv.tags.split(',').filter((tag) => tag.trim().length > 0);
208
- if (tags.length === 0) {
290
+ if (parsedArgv.tags) {
291
+ tags = parsedArgv.tags.split(',').filter((tag) => tag.trim().length > 0);
292
+ if (tags && tags.length === 0) {
209
293
  logger.warn('No valid tags provided, ignoring tags parameter');
210
294
  tags = undefined;
211
295
  }
212
296
  }
213
- await serverManager.connectTransport(transport, 'stdio', { tags, enablePagination: argv.pagination });
297
+ await serverManager.connectTransport(transport, 'stdio', { tags, enablePagination: parsedArgv.pagination });
298
+ // Initialize notifications for async loading if enabled
299
+ if (asyncOrchestrator) {
300
+ const inboundConnection = serverManager.getServer('stdio');
301
+ if (inboundConnection) {
302
+ asyncOrchestrator.initializeNotifications(inboundConnection);
303
+ logger.info('Async loading notifications initialized for stdio transport');
304
+ }
305
+ }
214
306
  logger.info('Server started with stdio transport');
215
307
  break;
216
308
  }
@@ -220,16 +312,23 @@ async function main() {
220
312
  // eslint-disable-next-line no-fallthrough
221
313
  case 'http': {
222
314
  // Use HTTP/SSE transport
223
- expressServer = new ExpressServer(serverManager);
315
+ expressServer = new ExpressServer(serverManager, loadingManager, asyncOrchestrator);
224
316
  expressServer.start();
225
317
  break;
226
318
  }
227
319
  default:
228
- logger.error(`Invalid transport: ${argv.transport}`);
320
+ logger.error(`Invalid transport: ${parsedArgv.transport}`);
229
321
  process.exit(1);
230
322
  }
231
323
  // Set up graceful shutdown handling
232
- setupGracefulShutdown(serverManager, expressServer);
324
+ setupGracefulShutdown(serverManager, loadingManager, expressServer);
325
+ // Log MCP loading progress (non-blocking)
326
+ loadingManager.on('loading-progress', (summary) => {
327
+ logger.info(`MCP loading progress: ${summary.ready}/${summary.totalServers} servers ready (${summary.loading} loading, ${summary.failed} failed)`);
328
+ });
329
+ loadingManager.on('loading-complete', (summary) => {
330
+ logger.info(`MCP loading complete: ${summary.ready}/${summary.totalServers} servers ready (${summary.successRate.toFixed(1)}% success rate)`);
331
+ });
233
332
  }
234
333
  catch (error) {
235
334
  logger.error('Server error:', error);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,14 @@ export declare function enableConsoleTransport(): void;
9
9
  * @param mcpLevel The MCP log level to set
10
10
  */
11
11
  export declare function setLogLevel(mcpLevel: string): void;
12
+ /**
13
+ * Configure logger with CLI options and transport awareness
14
+ * @param options Configuration options for the logger
15
+ */
16
+ export declare function configureLogger(options: {
17
+ logLevel?: string;
18
+ logFile?: string;
19
+ transport?: string;
20
+ }): void;
12
21
  export default logger;
13
22
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAiC9B,QAAA,MAAM,MAAM,gBAYV,CAAC;AAEH;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASlD;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAkC9B,QAAA,MAAM,MAAM,gBAYV,CAAC;AAEH;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,IAAI,CAI7C;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CASlD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CA0D1G;AAED,eAAe,MAAM,CAAC"}
@@ -4,6 +4,7 @@ const MCP_TO_WINSTON_LEVEL = {
4
4
  debug: 'debug',
5
5
  info: 'info',
6
6
  notice: 'info',
7
+ warn: 'warn', // Support both 'warn' and 'warning' for user convenience
7
8
  warning: 'warn',
8
9
  error: 'error',
9
10
  critical: 'error',
@@ -55,5 +56,53 @@ export function setLogLevel(mcpLevel) {
55
56
  transport.level = winstonLevel;
56
57
  });
57
58
  }
59
+ /**
60
+ * Configure logger with CLI options and transport awareness
61
+ * @param options Configuration options for the logger
62
+ */
63
+ export function configureLogger(options) {
64
+ // Determine log level priority: CLI > ONE_MCP_LOG_LEVEL > LOG_LEVEL (deprecated)
65
+ let logLevel = options.logLevel;
66
+ if (!logLevel) {
67
+ logLevel = process.env.ONE_MCP_LOG_LEVEL;
68
+ }
69
+ if (!logLevel) {
70
+ logLevel = process.env.LOG_LEVEL;
71
+ if (logLevel) {
72
+ logger.warn('LOG_LEVEL environment variable is deprecated. Please use ONE_MCP_LOG_LEVEL or --log-level CLI option instead.');
73
+ }
74
+ }
75
+ logLevel = logLevel || 'info';
76
+ // Convert MCP log level to Winston log level
77
+ const winstonLevel = MCP_TO_WINSTON_LEVEL[logLevel] || 'info';
78
+ // Clear existing transports
79
+ logger.clear();
80
+ // Set logger level
81
+ logger.level = winstonLevel;
82
+ // Configure transports based on options
83
+ if (options.logFile) {
84
+ // Add file transport
85
+ logger.add(new winston.transports.File({
86
+ filename: options.logFile,
87
+ format: customFormat,
88
+ level: winstonLevel,
89
+ }));
90
+ // Add console transport except for stdio transport
91
+ if (options.transport !== 'stdio') {
92
+ logger.add(new winston.transports.Console({
93
+ format: consoleFormat,
94
+ level: winstonLevel,
95
+ }));
96
+ }
97
+ }
98
+ else {
99
+ // Add console transport (default behavior)
100
+ logger.add(new winston.transports.Console({
101
+ format: consoleFormat,
102
+ level: winstonLevel,
103
+ silent: false,
104
+ }));
105
+ }
106
+ }
58
107
  export default logger;
59
108
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/logger/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Sanitize data before logging - handles all data types
3
+ */
4
+ export declare function sanitizeForLogging(data: any): any;
5
+ /**
6
+ * Safe logger that automatically sanitizes sensitive data
7
+ */
8
+ export declare const secureLogger: {
9
+ debug: (message: string, data?: any) => void;
10
+ info: (message: string, data?: any) => void;
11
+ warn: (message: string, data?: any) => void;
12
+ error: (message: string, data?: any) => void;
13
+ };
14
+ /**
15
+ * Utility function to redact OAuth server details from lists
16
+ */
17
+ export declare function sanitizeOAuthServerList(servers: string[]): string[];
18
+ /**
19
+ * Utility function to create safe error messages that don't expose sensitive data
20
+ */
21
+ export declare function createSafeErrorMessage(error: string): string;
22
+ //# sourceMappingURL=secureLogger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secureLogger.d.ts","sourceRoot":"","sources":["../../src/logger/secureLogger.ts"],"names":[],"mappings":"AAmFA;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG,CAMjD;AAgBD;;GAEG;AACH,eAAO,MAAM,YAAY;qBAbN,MAAM,SAAS,GAAG;oBAAlB,MAAM,SAAS,GAAG;oBAAlB,MAAM,SAAS,GAAG;qBAAlB,MAAM,SAAS,GAAG;CAkBpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAMnE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI5D"}
@@ -0,0 +1,120 @@
1
+ import logger from './logger.js';
2
+ /**
3
+ * Consolidated patterns for sensitive data detection
4
+ */
5
+ const SENSITIVE_PATTERNS = [
6
+ // OAuth tokens and credentials (consolidates 6 patterns)
7
+ /(?:access_token|refresh_token|authorization_code|client_secret|client_id|bearer\s+[\w\-.~+/]+=*)/gi,
8
+ // URLs with sensitive parameters (consolidates 4 patterns)
9
+ /https?:\/\/[^\s]*[?&](?:[tT]oken|[cC]ode)=[^\s&]*/gi,
10
+ // Query parameters with sensitive data (consolidates 2 patterns)
11
+ /[?&](?:[tT]oken|[cC]ode)=[^\s&]*/gi,
12
+ // OAuth configuration patterns (consolidates 4 patterns)
13
+ /(?:scopes?|redirect_uris?|with\s+scope):\s*(?:\[[^\]]*\]|[^\s,}]+(?:\s+[^\s]+)*)/gi,
14
+ // Generic secret patterns (consolidates 5 patterns)
15
+ /(?:api[_-]?key|secret|password|passwd|auth[_-]?token)/gi,
16
+ ];
17
+ /**
18
+ * Base patterns for sensitive key detection (case-insensitive)
19
+ */
20
+ const SENSITIVE_KEY_PATTERNS = ['secret', 'token', 'password', 'passwd', 'key'];
21
+ /**
22
+ * Check if a key contains sensitive patterns
23
+ */
24
+ function isSensitiveKey(key) {
25
+ const lowerKey = key.toLowerCase();
26
+ return SENSITIVE_KEY_PATTERNS.some((pattern) => lowerKey.includes(pattern));
27
+ }
28
+ /**
29
+ * Unified sanitization function for all data types
30
+ */
31
+ function sanitize(value, depth = 0) {
32
+ // Prevent infinite recursion
33
+ if (depth > 10) {
34
+ return '[MAX_DEPTH]';
35
+ }
36
+ // Handle primitives and null/undefined
37
+ if (value === null || value === undefined) {
38
+ return value;
39
+ }
40
+ if (typeof value === 'string') {
41
+ // Apply pattern-based redaction to strings
42
+ let sanitized = value;
43
+ for (const pattern of SENSITIVE_PATTERNS) {
44
+ sanitized = sanitized.replace(pattern, '[REDACTED]');
45
+ }
46
+ return sanitized;
47
+ }
48
+ if (typeof value === 'number' || typeof value === 'boolean') {
49
+ return value;
50
+ }
51
+ if (Array.isArray(value)) {
52
+ return value.map((item) => sanitize(item, depth + 1));
53
+ }
54
+ if (typeof value === 'object') {
55
+ const sanitized = {};
56
+ for (const [key, val] of Object.entries(value)) {
57
+ if (isSensitiveKey(key)) {
58
+ sanitized[key] = '[REDACTED]';
59
+ }
60
+ else {
61
+ sanitized[key] = sanitize(val, depth + 1);
62
+ }
63
+ }
64
+ return sanitized;
65
+ }
66
+ return value;
67
+ }
68
+ /**
69
+ * Sanitize data before logging - handles all data types
70
+ */
71
+ export function sanitizeForLogging(data) {
72
+ try {
73
+ return sanitize(data);
74
+ }
75
+ catch (_error) {
76
+ return '[SANITIZATION_ERROR]';
77
+ }
78
+ }
79
+ /**
80
+ * Create a secure logger method for a specific log level
81
+ */
82
+ function createLoggerMethod(level) {
83
+ return (message, data) => {
84
+ const sanitizedMessage = typeof message === 'string' ? sanitize(message) : message;
85
+ if (data !== undefined) {
86
+ logger[level](sanitizedMessage, sanitizeForLogging(data));
87
+ }
88
+ else {
89
+ logger[level](sanitizedMessage);
90
+ }
91
+ };
92
+ }
93
+ /**
94
+ * Safe logger that automatically sanitizes sensitive data
95
+ */
96
+ export const secureLogger = {
97
+ debug: createLoggerMethod('debug'),
98
+ info: createLoggerMethod('info'),
99
+ warn: createLoggerMethod('warn'),
100
+ error: createLoggerMethod('error'),
101
+ };
102
+ /**
103
+ * Utility function to redact OAuth server details from lists
104
+ */
105
+ export function sanitizeOAuthServerList(servers) {
106
+ return servers.map((server) => {
107
+ // Only show server name without any sensitive configuration
108
+ const serverName = server.split('|')[0] || server; // Extract just the name part
109
+ return serverName.replace(/[?&](client_id|client_secret|token|code)=[^&]*/gi, '[OAUTH_REDACTED]');
110
+ });
111
+ }
112
+ /**
113
+ * Utility function to create safe error messages that don't expose sensitive data
114
+ */
115
+ export function createSafeErrorMessage(error) {
116
+ return sanitize(error)
117
+ .replace(/HTTP \d+.*$/gi, 'HTTP [STATUS_CODE]') // Remove potentially sensitive HTTP response details
118
+ .replace(/server.*responding/gi, 'server connectivity issue'); // Generic server error
119
+ }
120
+ //# sourceMappingURL=secureLogger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"secureLogger.js","sourceRoot":"","sources":["../../src/logger/secureLogger.ts"],"names":[],"mappings":"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"}
package/build/server.d.ts CHANGED
@@ -1,7 +1,28 @@
1
1
  import { ServerManager } from './core/server/serverManager.js';
2
+ import { McpLoadingManager } from './core/loading/mcpLoadingManager.js';
3
+ import { AsyncLoadingOrchestrator } from './core/capabilities/asyncLoadingOrchestrator.js';
4
+ /**
5
+ * Result of server setup including both sync and async components
6
+ */
7
+ export interface ServerSetupResult {
8
+ /** Server manager ready for HTTP transport */
9
+ serverManager: ServerManager;
10
+ /** Loading manager for async MCP server initialization */
11
+ loadingManager: McpLoadingManager;
12
+ /** Promise that resolves when all MCP servers finish loading */
13
+ loadingPromise: Promise<void>;
14
+ /** Async loading orchestrator (only present in async mode) */
15
+ asyncOrchestrator?: AsyncLoadingOrchestrator;
16
+ }
2
17
  /**
3
18
  * Main function to set up the MCP server
19
+ * Conditionally uses async or legacy loading based on configuration
20
+ */
21
+ declare function setupServer(): Promise<ServerSetupResult>;
22
+ /**
23
+ * Legacy function for backward compatibility
24
+ * @deprecated Use setupServer() which returns ServerSetupResult
4
25
  */
5
- declare function setupServer(): Promise<ServerManager>;
6
- export { setupServer };
26
+ declare function setupServerLegacy(): Promise<ServerManager>;
27
+ export { setupServer, setupServerLegacy };
7
28
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAI/D;;GAEG;AACH,iBAAe,WAAW,IAAI,OAAO,CAAC,aAAa,CAAC,CA4BnD;AAED,OAAO,EAAE,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAI/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,qCAAqC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iDAAiD,CAAC;AAE3F;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,8CAA8C;IAC9C,aAAa,EAAE,aAAa,CAAC;IAC7B,0DAA0D;IAC1D,cAAc,EAAE,iBAAiB,CAAC;IAClC,gEAAgE;IAChE,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9B,8DAA8D;IAC9D,iBAAiB,CAAC,EAAE,wBAAwB,CAAC;CAC9C;AAED;;;GAGG;AACH,iBAAe,WAAW,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAqBvD;AAoFD;;;GAGG;AACH,iBAAe,iBAAiB,IAAI,OAAO,CAAC,aAAa,CAAC,CAKzD;AAED,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,CAAC"}