@1mcp/agent 0.30.3 → 0.31.0-beta2

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 (241) hide show
  1. package/README.md +75 -2
  2. package/build/commands/auth/index.d.ts +3 -0
  3. package/build/commands/auth/index.d.ts.map +1 -0
  4. package/build/commands/auth/index.js +47 -0
  5. package/build/commands/auth/index.js.map +1 -0
  6. package/build/commands/auth/login.d.ts +7 -0
  7. package/build/commands/auth/login.d.ts.map +1 -0
  8. package/build/commands/auth/login.js +83 -0
  9. package/build/commands/auth/login.js.map +1 -0
  10. package/build/commands/auth/logout.d.ts +7 -0
  11. package/build/commands/auth/logout.d.ts.map +1 -0
  12. package/build/commands/auth/logout.js +46 -0
  13. package/build/commands/auth/logout.js.map +1 -0
  14. package/build/commands/auth/status.d.ts +6 -0
  15. package/build/commands/auth/status.d.ts.map +1 -0
  16. package/build/commands/auth/status.js +54 -0
  17. package/build/commands/auth/status.js.map +1 -0
  18. package/build/commands/cliSetup/cliSetup.d.ts +12 -0
  19. package/build/commands/cliSetup/cliSetup.d.ts.map +1 -0
  20. package/build/commands/cliSetup/cliSetup.js +49 -0
  21. package/build/commands/cliSetup/cliSetup.js.map +1 -0
  22. package/build/commands/cliSetup/index.d.ts +3 -0
  23. package/build/commands/cliSetup/index.d.ts.map +1 -0
  24. package/build/commands/cliSetup/index.js +52 -0
  25. package/build/commands/cliSetup/index.js.map +1 -0
  26. package/build/commands/cliSetup/setupFiles.d.ts +24 -0
  27. package/build/commands/cliSetup/setupFiles.d.ts.map +1 -0
  28. package/build/commands/cliSetup/setupFiles.js +233 -0
  29. package/build/commands/cliSetup/setupFiles.js.map +1 -0
  30. package/build/commands/inspect/index.d.ts +3 -0
  31. package/build/commands/inspect/index.d.ts.map +1 -0
  32. package/build/commands/inspect/index.js +60 -0
  33. package/build/commands/inspect/index.js.map +1 -0
  34. package/build/commands/inspect/inspect.d.ts +36 -0
  35. package/build/commands/inspect/inspect.d.ts.map +1 -0
  36. package/build/commands/inspect/inspect.js +274 -0
  37. package/build/commands/inspect/inspect.js.map +1 -0
  38. package/build/commands/inspect/inspectUtils.d.ts +76 -0
  39. package/build/commands/inspect/inspectUtils.d.ts.map +1 -0
  40. package/build/commands/inspect/inspectUtils.js +303 -0
  41. package/build/commands/inspect/inspectUtils.js.map +1 -0
  42. package/build/commands/instructions/index.d.ts +3 -0
  43. package/build/commands/instructions/index.d.ts.map +1 -0
  44. package/build/commands/instructions/index.js +34 -0
  45. package/build/commands/instructions/index.js.map +1 -0
  46. package/build/commands/instructions/instructions.d.ts +10 -0
  47. package/build/commands/instructions/instructions.d.ts.map +1 -0
  48. package/build/commands/instructions/instructions.js +86 -0
  49. package/build/commands/instructions/instructions.js.map +1 -0
  50. package/build/commands/instructions/instructionsUtils.d.ts +24 -0
  51. package/build/commands/instructions/instructionsUtils.d.ts.map +1 -0
  52. package/build/commands/instructions/instructionsUtils.js +74 -0
  53. package/build/commands/instructions/instructionsUtils.js.map +1 -0
  54. package/build/commands/mcp/add.d.ts.map +1 -1
  55. package/build/commands/mcp/add.js +21 -2
  56. package/build/commands/mcp/add.js.map +1 -1
  57. package/build/commands/mcp/index.d.ts.map +1 -1
  58. package/build/commands/mcp/index.js +5 -4
  59. package/build/commands/mcp/index.js.map +1 -1
  60. package/build/commands/mcp/list.d.ts.map +1 -1
  61. package/build/commands/mcp/list.js +52 -8
  62. package/build/commands/mcp/list.js.map +1 -1
  63. package/build/commands/mcp/status.d.ts.map +1 -1
  64. package/build/commands/mcp/status.js +59 -26
  65. package/build/commands/mcp/status.js.map +1 -1
  66. package/build/commands/proxy/proxy.d.ts.map +1 -1
  67. package/build/commands/proxy/proxy.js +26 -30
  68. package/build/commands/proxy/proxy.js.map +1 -1
  69. package/build/commands/run/index.d.ts +3 -0
  70. package/build/commands/run/index.d.ts.map +1 -0
  71. package/build/commands/run/index.js +62 -0
  72. package/build/commands/run/index.js.map +1 -0
  73. package/build/commands/run/run.d.ts +35 -0
  74. package/build/commands/run/run.d.ts.map +1 -0
  75. package/build/commands/run/run.js +340 -0
  76. package/build/commands/run/run.js.map +1 -0
  77. package/build/commands/run/runUtils.d.ts +49 -0
  78. package/build/commands/run/runUtils.d.ts.map +1 -0
  79. package/build/commands/run/runUtils.js +195 -0
  80. package/build/commands/run/runUtils.js.map +1 -0
  81. package/build/commands/serve/index.d.ts +0 -22
  82. package/build/commands/serve/index.d.ts.map +1 -1
  83. package/build/commands/serve/index.js +0 -23
  84. package/build/commands/serve/index.js.map +1 -1
  85. package/build/commands/serve/serve.d.ts +23 -23
  86. package/build/commands/serve/serve.d.ts.map +1 -1
  87. package/build/commands/serve/serve.js +67 -51
  88. package/build/commands/serve/serve.js.map +1 -1
  89. package/build/commands/shared/apiClient.d.ts +27 -0
  90. package/build/commands/shared/apiClient.d.ts.map +1 -0
  91. package/build/commands/shared/apiClient.js +96 -0
  92. package/build/commands/shared/apiClient.js.map +1 -0
  93. package/build/commands/shared/authProfileStore.d.ts +16 -0
  94. package/build/commands/shared/authProfileStore.d.ts.map +1 -0
  95. package/build/commands/shared/authProfileStore.js +109 -0
  96. package/build/commands/shared/authProfileStore.js.map +1 -0
  97. package/build/commands/shared/baseConfigUtils.d.ts +15 -1
  98. package/build/commands/shared/baseConfigUtils.d.ts.map +1 -1
  99. package/build/commands/shared/baseConfigUtils.js +171 -40
  100. package/build/commands/shared/baseConfigUtils.js.map +1 -1
  101. package/build/commands/shared/cliContext.d.ts +13 -0
  102. package/build/commands/shared/cliContext.d.ts.map +1 -0
  103. package/build/commands/shared/cliContext.js +71 -0
  104. package/build/commands/shared/cliContext.js.map +1 -0
  105. package/build/commands/shared/commandRunner.d.ts +3 -0
  106. package/build/commands/shared/commandRunner.d.ts.map +1 -0
  107. package/build/commands/shared/commandRunner.js +13 -0
  108. package/build/commands/shared/commandRunner.js.map +1 -0
  109. package/build/commands/shared/serveClient.d.ts +68 -0
  110. package/build/commands/shared/serveClient.d.ts.map +1 -0
  111. package/build/commands/shared/serveClient.js +204 -0
  112. package/build/commands/shared/serveClient.js.map +1 -0
  113. package/build/commands/shared/serveTargetResolver.d.ts +21 -0
  114. package/build/commands/shared/serveTargetResolver.d.ts.map +1 -0
  115. package/build/commands/shared/serveTargetResolver.js +33 -0
  116. package/build/commands/shared/serveTargetResolver.js.map +1 -0
  117. package/build/config/configLoader.d.ts +28 -2
  118. package/build/config/configLoader.d.ts.map +1 -1
  119. package/build/config/configLoader.js +155 -28
  120. package/build/config/configLoader.js.map +1 -1
  121. package/build/config/configManager.d.ts +12 -1
  122. package/build/config/configManager.d.ts.map +1 -1
  123. package/build/config/configManager.js +74 -6
  124. package/build/config/configManager.js.map +1 -1
  125. package/build/config/mcpConfigManager.d.ts +18 -5
  126. package/build/config/mcpConfigManager.d.ts.map +1 -1
  127. package/build/config/mcpConfigManager.js +51 -44
  128. package/build/config/mcpConfigManager.js.map +1 -1
  129. package/build/config/mcpConfigMerge.d.ts +15 -0
  130. package/build/config/mcpConfigMerge.d.ts.map +1 -0
  131. package/build/config/mcpConfigMerge.js +87 -0
  132. package/build/config/mcpConfigMerge.js.map +1 -0
  133. package/build/config/projectConfigLoader.d.ts +9 -0
  134. package/build/config/projectConfigLoader.d.ts.map +1 -1
  135. package/build/config/projectConfigLoader.js +72 -20
  136. package/build/config/projectConfigLoader.js.map +1 -1
  137. package/build/config/templateProcessor.d.ts.map +1 -1
  138. package/build/config/templateProcessor.js +2 -2
  139. package/build/config/templateProcessor.js.map +1 -1
  140. package/build/constants/api.d.ts +6 -0
  141. package/build/constants/api.d.ts.map +1 -1
  142. package/build/constants/api.js +7 -0
  143. package/build/constants/api.js.map +1 -1
  144. package/build/constants/mcp.d.ts +2 -1
  145. package/build/constants/mcp.d.ts.map +1 -1
  146. package/build/constants/mcp.js +2 -1
  147. package/build/constants/mcp.js.map +1 -1
  148. package/build/constants/paths.d.ts +5 -0
  149. package/build/constants/paths.d.ts.map +1 -1
  150. package/build/constants/paths.js +9 -1
  151. package/build/constants/paths.js.map +1 -1
  152. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts +7 -2
  153. package/build/core/capabilities/lazyLoadingOrchestrator.d.ts.map +1 -1
  154. package/build/core/capabilities/lazyLoadingOrchestrator.js +12 -12
  155. package/build/core/capabilities/lazyLoadingOrchestrator.js.map +1 -1
  156. package/build/core/capabilities/metaToolProvider.d.ts +1 -1
  157. package/build/core/capabilities/metaToolProvider.d.ts.map +1 -1
  158. package/build/core/capabilities/metaToolProvider.js +22 -21
  159. package/build/core/capabilities/metaToolProvider.js.map +1 -1
  160. package/build/core/server/connectionResolver.d.ts +4 -0
  161. package/build/core/server/connectionResolver.d.ts.map +1 -1
  162. package/build/core/server/connectionResolver.js +18 -11
  163. package/build/core/server/connectionResolver.js.map +1 -1
  164. package/build/core/server/serverManager.d.ts +4 -0
  165. package/build/core/server/serverManager.d.ts.map +1 -1
  166. package/build/core/server/serverManager.js +6 -0
  167. package/build/core/server/serverManager.js.map +1 -1
  168. package/build/core/tools/handlers/serverManagementHandler.d.ts +7 -2
  169. package/build/core/tools/handlers/serverManagementHandler.d.ts.map +1 -1
  170. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts +1 -0
  171. package/build/core/tools/internal/adapters/helpers/configTransformers.d.ts.map +1 -1
  172. package/build/core/tools/internal/schemas/discovery.d.ts +3 -3
  173. package/build/core/tools/internal/schemas/index.d.ts +4 -4
  174. package/build/core/tools/internal/schemas/management.d.ts +1 -1
  175. package/build/core/types/transport.d.ts +146 -0
  176. package/build/core/types/transport.d.ts.map +1 -1
  177. package/build/core/types/transport.js +75 -0
  178. package/build/core/types/transport.js.map +1 -1
  179. package/build/globalOptions.d.ts +6 -0
  180. package/build/globalOptions.d.ts.map +1 -1
  181. package/build/globalOptions.js +5 -0
  182. package/build/globalOptions.js.map +1 -1
  183. package/build/index.d.ts +2 -0
  184. package/build/index.d.ts.map +1 -1
  185. package/build/index.js +24 -4
  186. package/build/index.js.map +1 -1
  187. package/build/transport/http/routes/apiRoutes.d.ts +10 -0
  188. package/build/transport/http/routes/apiRoutes.d.ts.map +1 -0
  189. package/build/transport/http/routes/apiRoutes.js +18 -0
  190. package/build/transport/http/routes/apiRoutes.js.map +1 -0
  191. package/build/transport/http/routes/cliTokenRoute.d.ts +4 -0
  192. package/build/transport/http/routes/cliTokenRoute.d.ts.map +1 -0
  193. package/build/transport/http/routes/cliTokenRoute.js +35 -0
  194. package/build/transport/http/routes/cliTokenRoute.js.map +1 -0
  195. package/build/transport/http/routes/inspectHelpers.d.ts +68 -0
  196. package/build/transport/http/routes/inspectHelpers.d.ts.map +1 -0
  197. package/build/transport/http/routes/inspectHelpers.js +141 -0
  198. package/build/transport/http/routes/inspectHelpers.js.map +1 -0
  199. package/build/transport/http/routes/inspectRoutes.d.ts +8 -0
  200. package/build/transport/http/routes/inspectRoutes.d.ts.map +1 -0
  201. package/build/transport/http/routes/inspectRoutes.js +348 -0
  202. package/build/transport/http/routes/inspectRoutes.js.map +1 -0
  203. package/build/transport/http/routes/toolRoutes.d.ts +5 -0
  204. package/build/transport/http/routes/toolRoutes.d.ts.map +1 -0
  205. package/build/transport/http/routes/toolRoutes.js +204 -0
  206. package/build/transport/http/routes/toolRoutes.js.map +1 -0
  207. package/build/transport/http/server.d.ts.map +1 -1
  208. package/build/transport/http/server.js +16 -1
  209. package/build/transport/http/server.js.map +1 -1
  210. package/build/transport/http/utils/contextExtractor.d.ts +5 -1
  211. package/build/transport/http/utils/contextExtractor.d.ts.map +1 -1
  212. package/build/transport/http/utils/contextExtractor.js +75 -12
  213. package/build/transport/http/utils/contextExtractor.js.map +1 -1
  214. package/build/transport/stdioProxyTransport.d.ts +2 -2
  215. package/build/transport/stdioProxyTransport.d.ts.map +1 -1
  216. package/build/transport/stdioProxyTransport.js +11 -75
  217. package/build/transport/stdioProxyTransport.js.map +1 -1
  218. package/build/types/context.d.ts +1 -0
  219. package/build/types/context.d.ts.map +1 -1
  220. package/build/types/context.js.map +1 -1
  221. package/build/utils/cli/normalizedArgv.d.ts +3 -0
  222. package/build/utils/cli/normalizedArgv.d.ts.map +1 -0
  223. package/build/utils/cli/normalizedArgv.js +9 -0
  224. package/build/utils/cli/normalizedArgv.js.map +1 -0
  225. package/build/utils/context/contextHash.d.ts +11 -0
  226. package/build/utils/context/contextHash.d.ts.map +1 -0
  227. package/build/utils/context/contextHash.js +37 -0
  228. package/build/utils/context/contextHash.js.map +1 -0
  229. package/build/utils/typeGuards.d.ts +2 -0
  230. package/build/utils/typeGuards.d.ts.map +1 -0
  231. package/build/utils/typeGuards.js +4 -0
  232. package/build/utils/typeGuards.js.map +1 -0
  233. package/build/utils/urlUtils.d.ts +2 -0
  234. package/build/utils/urlUtils.d.ts.map +1 -0
  235. package/build/utils/urlUtils.js +4 -0
  236. package/build/utils/urlUtils.js.map +1 -0
  237. package/build/utils/validation/urlDetection.d.ts +1 -0
  238. package/build/utils/validation/urlDetection.d.ts.map +1 -1
  239. package/build/utils/validation/urlDetection.js +10 -4
  240. package/build/utils/validation/urlDetection.js.map +1 -1
  241. package/package.json +6 -4
@@ -3,17 +3,32 @@ import path from 'path';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import ConfigContext from '../../config/configContext.js';
5
5
  import { ConfigManager } from '../../config/configManager.js';
6
- import { getDefaultInstructionsTemplatePath } from '../../constants.js';
7
- import { getConfigDir } from '../../constants.js';
6
+ import { getConfigDir, getDefaultInstructionsTemplatePath, HOST, PORT } from '../../constants.js';
8
7
  import { FlagManager } from '../../core/flags/flagManager.js';
9
8
  import { formatValidationError, validateTemplateContent } from '../../core/instructions/templateValidator.js';
10
9
  import { AgentConfigManager } from '../../core/server/agentConfig.js';
11
10
  import { cleanupPidFileOnExit, registerPidFileCleanup, writePidFile } from '../../core/server/pidFileManager.js';
12
11
  import { TagQueryParser } from '../../domains/preset/parsers/tagQueryParser.js';
12
+ import { configureGlobalLogger } from '../../logger/configureGlobalLogger.js';
13
13
  import logger, { debugIf } from '../../logger/logger.js';
14
14
  import { setupServer } from '../../server.js';
15
15
  import { ExpressServer } from '../../transport/http/server.js';
16
16
  import { displayLogo } from '../../utils/ui/logo.js';
17
+ function parseCommaSeparatedList(value) {
18
+ return value ? value.split(',').map((entry) => entry.trim()) : [];
19
+ }
20
+ function parseInternalToolsList(value) {
21
+ if (!value) {
22
+ return [];
23
+ }
24
+ try {
25
+ return FlagManager.getInstance().parseToolsList(value);
26
+ }
27
+ catch (error) {
28
+ logger.error(`Failed to parse internal-tools list: ${error instanceof Error ? error.message : String(error)}`);
29
+ process.exit(1);
30
+ }
31
+ }
17
32
  /**
18
33
  * Load custom instructions template from file with validation
19
34
  * @param templatePath Path to template file (CLI option or default)
@@ -181,29 +196,40 @@ export async function serveCommand(parsedArgv) {
181
196
  // Initialize MCP config manager using resolved config path
182
197
  const configFilePath = configContext.getResolvedConfigPath();
183
198
  const mcpConfigManager = ConfigManager.getInstance(configFilePath);
199
+ // Load app-level config from config.toml (CLI args take precedence)
200
+ const appConfig = mcpConfigManager.getAppConfig();
184
201
  // Get server count for logo display
185
202
  const transportConfig = mcpConfigManager.getTransportConfig();
186
203
  const serverCount = Object.keys(transportConfig).length;
187
204
  // Handle backward compatibility for auth flag
188
- const authEnabled = parsedArgv['enable-auth'] ?? parsedArgv['auth'] ?? false;
205
+ const authEnabled = parsedArgv['enable-auth'] ?? parsedArgv['auth'] ?? appConfig.auth?.enabled ?? false;
189
206
  // Display logo with runtime information (skip for stdio or when logging to file)
190
- if (parsedArgv.transport !== 'stdio' && !parsedArgv['log-file']) {
207
+ const effectiveTransport = parsedArgv.transport ?? appConfig.transport ?? 'http';
208
+ const effectivePort = parsedArgv.port ?? appConfig.port ?? PORT;
209
+ const effectiveHost = parsedArgv.host ?? appConfig.host ?? HOST;
210
+ configureGlobalLogger({
211
+ ...parsedArgv,
212
+ 'log-level': parsedArgv['log-level'] ?? appConfig.logLevel,
213
+ 'log-file': parsedArgv['log-file'] ?? appConfig.logFile,
214
+ }, effectiveTransport);
215
+ const effectiveLogFile = parsedArgv['log-file'] ?? appConfig.logFile;
216
+ if (effectiveTransport !== 'stdio' && !effectiveLogFile) {
191
217
  displayLogo({
192
- transport: parsedArgv.transport,
193
- port: parsedArgv.port,
194
- host: parsedArgv.host,
218
+ transport: effectiveTransport,
219
+ port: effectivePort,
220
+ host: effectiveHost,
195
221
  serverCount,
196
222
  authEnabled,
197
- logLevel: parsedArgv['log-level'],
223
+ logLevel: parsedArgv['log-level'] ?? appConfig.logLevel,
198
224
  configDir: getConfigDir(parsedArgv['config-dir']),
199
225
  });
200
226
  }
201
- // Configure server settings from CLI arguments
227
+ // Configure server settings from CLI arguments (CLI args take precedence over appConfig)
202
228
  const serverConfigManager = AgentConfigManager.getInstance();
203
- const scopeValidationEnabled = parsedArgv['enable-scope-validation'] ?? authEnabled;
204
- const enhancedSecurityEnabled = parsedArgv['enable-enhanced-security'] ?? false;
229
+ const scopeValidationEnabled = parsedArgv['enable-scope-validation'] ?? appConfig.auth?.enableScopeValidation ?? true;
230
+ const enhancedSecurityEnabled = parsedArgv['enable-enhanced-security'] ?? appConfig.auth?.enableEnhancedSecurity ?? false;
205
231
  // Handle trust proxy configuration (convert 'true'/'false' strings to boolean)
206
- const trustProxyValue = parsedArgv['trust-proxy'];
232
+ const trustProxyValue = parsedArgv['trust-proxy'] ?? appConfig.auth?.trustProxy ?? 'loopback';
207
233
  const trustProxy = trustProxyValue === 'true' ? true : trustProxyValue === 'false' ? false : trustProxyValue;
208
234
  // Derive session storage path: explicit option > config-dir/sessions > global default
209
235
  let sessionStoragePath = parsedArgv['session-storage-path'];
@@ -212,74 +238,64 @@ export async function serveCommand(parsedArgv) {
212
238
  // store sessions within the config directory to maintain isolation
213
239
  sessionStoragePath = path.join(parsedArgv['config-dir'], 'sessions');
214
240
  }
241
+ const internalToolsList = parseInternalToolsList(parsedArgv['internal-tools']);
242
+ const directExpose = parseCommaSeparatedList(parsedArgv['lazy-direct-expose']);
243
+ const preloadPatterns = parseCommaSeparatedList(parsedArgv['lazy-preload']);
244
+ const preloadKeywords = parseCommaSeparatedList(parsedArgv['lazy-preload-keywords']);
245
+ const sessionTtlMinutes = parsedArgv['session-ttl'] ?? appConfig.auth?.sessionTtl ?? 1440;
215
246
  serverConfigManager.updateConfig({
216
- host: parsedArgv.host,
217
- port: parsedArgv.port,
247
+ host: effectiveHost,
248
+ port: effectivePort,
218
249
  externalUrl: parsedArgv['external-url'],
219
250
  trustProxy,
220
251
  auth: {
221
252
  enabled: authEnabled,
222
- sessionTtlMinutes: parsedArgv['session-ttl'],
253
+ sessionTtlMinutes,
223
254
  sessionStoragePath,
224
255
  oauthCodeTtlMs: 60 * 1000, // 1 minute
225
- oauthTokenTtlMs: parsedArgv['session-ttl'] * 60 * 1000, // Convert minutes to milliseconds
256
+ oauthTokenTtlMs: sessionTtlMinutes * 60 * 1000,
226
257
  },
227
258
  rateLimit: {
228
- windowMs: parsedArgv['rate-limit-window'] * 60 * 1000, // Convert minutes to milliseconds
229
- max: parsedArgv['rate-limit-max'],
259
+ windowMs: (parsedArgv['rate-limit-window'] ?? appConfig.auth?.rateLimitWindow ?? 15) * 60 * 1000,
260
+ max: parsedArgv['rate-limit-max'] ?? appConfig.auth?.rateLimitMax ?? 100,
230
261
  },
231
262
  features: {
232
263
  auth: authEnabled,
233
264
  scopeValidation: scopeValidationEnabled,
234
265
  enhancedSecurity: enhancedSecurityEnabled,
235
- configReload: parsedArgv['enable-config-reload'],
266
+ configReload: parsedArgv['enable-config-reload'] ?? appConfig.configReload?.enabled ?? true,
236
267
  envSubstitution: parsedArgv['enable-env-substitution'],
237
268
  sessionPersistence: parsedArgv['enable-session-persistence'],
238
269
  clientNotifications: parsedArgv['enable-client-notifications'],
239
270
  jsonRpcErrorLogging: parsedArgv['enable-jsonrpc-error-logging'],
240
271
  // Internal tool configuration from CLI flags
241
272
  internalTools: parsedArgv['enable-internal-tools'],
242
- internalToolsList: parsedArgv['internal-tools']
243
- ? (() => {
244
- try {
245
- const flagManager = FlagManager.getInstance();
246
- return flagManager.parseToolsList(parsedArgv['internal-tools']);
247
- }
248
- catch (error) {
249
- logger.error(`Failed to parse internal-tools list: ${error instanceof Error ? error.message : String(error)}`);
250
- process.exit(1);
251
- }
252
- })()
253
- : [],
273
+ internalToolsList,
254
274
  },
255
275
  health: {
256
276
  detailLevel: parsedArgv['health-info-level'],
257
277
  },
258
278
  asyncLoading: {
259
- enabled: parsedArgv['enable-async-loading'],
279
+ enabled: parsedArgv['enable-async-loading'] ?? appConfig.asyncLoading?.enabled ?? false,
260
280
  notifyOnServerReady: parsedArgv['async-notify-on-ready'],
261
- waitForMinimumServers: parsedArgv['async-min-servers'],
262
- initialLoadTimeoutMs: parsedArgv['async-timeout'],
263
- batchNotifications: parsedArgv['async-batch-notifications'],
264
- batchDelayMs: parsedArgv['async-batch-delay'],
281
+ waitForMinimumServers: parsedArgv['async-min-servers'] ?? appConfig.asyncLoading?.minServers ?? 1,
282
+ initialLoadTimeoutMs: parsedArgv['async-timeout'] ?? appConfig.asyncLoading?.timeout ?? 30000,
283
+ batchNotifications: parsedArgv['async-batch-notifications'] ?? appConfig.asyncLoading?.batchNotifications ?? true,
284
+ batchDelayMs: parsedArgv['async-batch-delay'] ?? appConfig.asyncLoading?.batchDelay ?? 100,
265
285
  },
266
286
  lazyLoading: {
267
- enabled: parsedArgv['enable-lazy-loading'],
268
- inlineCatalog: parsedArgv['lazy-inline-catalog'],
287
+ enabled: parsedArgv['enable-lazy-loading'] ?? appConfig.lazyLoading?.enabled ?? false,
288
+ inlineCatalog: parsedArgv['lazy-inline-catalog'] ?? appConfig.lazyLoading?.inlineCatalog ?? false,
269
289
  catalogFormat: (parsedArgv['lazy-catalog-format'] || 'grouped'),
270
- directExpose: parsedArgv['lazy-direct-expose']
271
- ? parsedArgv['lazy-direct-expose'].split(',').map((s) => s.trim())
272
- : [],
290
+ directExpose,
273
291
  cache: {
274
- maxEntries: parsedArgv['lazy-cache-max-entries'],
292
+ maxEntries: parsedArgv['lazy-cache-max-entries'] ?? appConfig.lazyLoading?.cacheMaxEntries ?? 1000,
275
293
  strategy: 'lru',
276
294
  ttlMs: parsedArgv['lazy-cache-ttl'],
277
295
  },
278
296
  preload: {
279
- patterns: parsedArgv['lazy-preload'] ? parsedArgv['lazy-preload'].split(',').map((s) => s.trim()) : [],
280
- keywords: parsedArgv['lazy-preload-keywords']
281
- ? parsedArgv['lazy-preload-keywords'].split(',').map((s) => s.trim())
282
- : [],
297
+ patterns: preloadPatterns,
298
+ keywords: preloadKeywords,
283
299
  },
284
300
  fallback: {
285
301
  onError: (parsedArgv['lazy-fallback-on-error'] || 'skip'),
@@ -287,7 +303,7 @@ export async function serveCommand(parsedArgv) {
287
303
  },
288
304
  },
289
305
  configReload: {
290
- debounceMs: parsedArgv['config-reload-debounce'],
306
+ debounceMs: parsedArgv['config-reload-debounce'] ?? appConfig.configReload?.debounce ?? 500,
291
307
  },
292
308
  sessionPersistence: {
293
309
  persistRequests: parsedArgv['session-persist-requests'],
@@ -304,7 +320,7 @@ export async function serveCommand(parsedArgv) {
304
320
  // Load custom instructions template if provided (applies to all transport types)
305
321
  const customTemplate = loadInstructionsTemplate(parsedArgv['instructions-template'], parsedArgv['config-dir']);
306
322
  let expressServer;
307
- switch (parsedArgv.transport) {
323
+ switch (effectiveTransport) {
308
324
  case 'stdio': {
309
325
  // DEPRECATION WARNING
310
326
  logger.warn('⚠️ DEPRECATION WARNING: `serve --transport stdio` is deprecated');
@@ -434,8 +450,8 @@ export async function serveCommand(parsedArgv) {
434
450
  writePidFile(configDir, {
435
451
  pid: process.pid,
436
452
  url: `${serverUrl}/mcp`,
437
- port: parsedArgv.port,
438
- host: parsedArgv.host,
453
+ port: effectivePort,
454
+ host: effectiveHost,
439
455
  transport: 'http',
440
456
  startedAt: new Date().toISOString(),
441
457
  configDir,
@@ -445,7 +461,7 @@ export async function serveCommand(parsedArgv) {
445
461
  break;
446
462
  }
447
463
  default:
448
- logger.error(`Invalid transport: ${parsedArgv.transport}`);
464
+ logger.error(`Invalid transport: ${effectiveTransport}`);
449
465
  process.exit(1);
450
466
  }
451
467
  // Set up graceful shutdown handling
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/serve/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../../src/commands/serve/serve.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { ContextData } from '../../types/context.js';
2
+ export interface ApiClientOptions {
3
+ baseUrl: string;
4
+ bearerToken?: string;
5
+ timeout?: number;
6
+ sessionId?: string;
7
+ context?: ContextData;
8
+ }
9
+ export interface ApiResponse<T> {
10
+ ok: boolean;
11
+ status: number;
12
+ data?: T;
13
+ error?: string;
14
+ sessionId?: string;
15
+ }
16
+ export declare class ApiClient {
17
+ private readonly baseUrl;
18
+ private readonly bearerToken?;
19
+ private readonly timeout;
20
+ private readonly sessionId?;
21
+ private readonly context?;
22
+ constructor(options: ApiClientOptions);
23
+ get<T>(path: string, query?: Record<string, string>): Promise<ApiResponse<T>>;
24
+ post<T>(path: string, body: unknown): Promise<ApiResponse<T>>;
25
+ private request;
26
+ }
27
+ //# sourceMappingURL=apiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiClient.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/apiClient.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,WAAW,CAAC;CACvB;AAED,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAS;IACtC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAc;gBAE3B,OAAO,EAAE,gBAAgB;IAQ/B,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAe7E,IAAI,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;YAKrD,OAAO;CAkEtB"}
@@ -0,0 +1,96 @@
1
+ import { MCP_SERVER_VERSION } from '../../constants.js';
2
+ import { CONTEXT_HEADERS, encodeContextValue } from '../../transport/http/utils/contextExtractor.js';
3
+ export class ApiClient {
4
+ baseUrl;
5
+ bearerToken;
6
+ timeout;
7
+ sessionId;
8
+ context;
9
+ constructor(options) {
10
+ this.baseUrl = options.baseUrl.replace(/\/$/, '');
11
+ this.bearerToken = options.bearerToken;
12
+ this.timeout = options.timeout ?? 10_000;
13
+ this.sessionId = options.sessionId;
14
+ this.context = options.context;
15
+ }
16
+ async get(path, query) {
17
+ const url = new URL(`${this.baseUrl}${path}`);
18
+ if (query) {
19
+ for (const [key, value] of Object.entries(query)) {
20
+ if (value !== undefined && value !== '') {
21
+ url.searchParams.set(key, value);
22
+ }
23
+ }
24
+ }
25
+ if (this.context) {
26
+ url.searchParams.set('context', encodeContextValue(this.context));
27
+ }
28
+ return this.request(url.toString(), 'GET');
29
+ }
30
+ async post(path, body) {
31
+ const url = `${this.baseUrl}${path}`;
32
+ return this.request(url, 'POST', body);
33
+ }
34
+ async request(url, method, body) {
35
+ const controller = new AbortController();
36
+ const timer = setTimeout(() => controller.abort(), this.timeout);
37
+ const headers = {
38
+ 'User-Agent': `1MCP/${MCP_SERVER_VERSION}`,
39
+ Accept: 'application/json',
40
+ };
41
+ if (this.bearerToken) {
42
+ headers.Authorization = `Bearer ${this.bearerToken}`;
43
+ }
44
+ if (this.sessionId) {
45
+ headers[CONTEXT_HEADERS.SESSION_ID] = this.sessionId;
46
+ }
47
+ if (body !== undefined) {
48
+ headers['Content-Type'] = 'application/json';
49
+ }
50
+ try {
51
+ const response = await fetch(url, {
52
+ method,
53
+ headers,
54
+ body: body !== undefined ? JSON.stringify(body) : undefined,
55
+ signal: controller.signal,
56
+ });
57
+ clearTimeout(timer);
58
+ const sessionId = response.headers.get('mcp-session-id') ?? undefined;
59
+ let data;
60
+ let error;
61
+ const contentType = response.headers.get('content-type') ?? '';
62
+ if (contentType.includes('application/json')) {
63
+ try {
64
+ const json = (await response.json());
65
+ if (response.ok) {
66
+ data = json;
67
+ }
68
+ else {
69
+ const errObj = json;
70
+ error =
71
+ typeof errObj.error === 'string'
72
+ ? errObj.error
73
+ : typeof errObj.message === 'string'
74
+ ? errObj.message
75
+ : `HTTP ${response.status}`;
76
+ }
77
+ }
78
+ catch {
79
+ error = `HTTP ${response.status}: invalid JSON response`;
80
+ }
81
+ }
82
+ else if (!response.ok) {
83
+ error = `HTTP ${response.status}`;
84
+ }
85
+ return { ok: response.ok, status: response.status, data, error, sessionId };
86
+ }
87
+ catch (err) {
88
+ clearTimeout(timer);
89
+ if (err instanceof Error && err.name === 'AbortError') {
90
+ return { ok: false, status: 0, error: `Request timed out after ${this.timeout}ms` };
91
+ }
92
+ return { ok: false, status: 0, error: err instanceof Error ? err.message : String(err) };
93
+ }
94
+ }
95
+ }
96
+ //# sourceMappingURL=apiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../src/commands/shared/apiClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export interface AuthProfile {
2
+ serverUrl: string;
3
+ token: string;
4
+ savedAt: number;
5
+ label?: string;
6
+ }
7
+ /**
8
+ * Normalize a server URL for consistent keying.
9
+ * Strips /mcp suffix, trailing slash, query params, and lowercases the host.
10
+ */
11
+ export declare function normalizeServerUrl(url: string): string;
12
+ export declare function saveAuthProfile(configDir: string | undefined, profile: AuthProfile): Promise<void>;
13
+ export declare function loadAuthProfile(configDir: string | undefined, serverUrl: string): Promise<AuthProfile | null>;
14
+ export declare function deleteAuthProfile(configDir: string | undefined, serverUrl: string): Promise<boolean>;
15
+ export declare function listAuthProfiles(configDir?: string): Promise<AuthProfile[]>;
16
+ //# sourceMappingURL=authProfileStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authProfileStore.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/authProfileStore.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAkBtD;AAeD,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAWxG;AAED,wBAAsB,eAAe,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAYnH;AAED,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS1G;AAED,wBAAsB,gBAAgB,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAqBjF"}
@@ -0,0 +1,109 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { access, mkdir, readdir, readFile, rename, rm, writeFile } from 'node:fs/promises';
3
+ import path from 'node:path';
4
+ import { getConfigDir } from '../../constants.js';
5
+ const AUTH_PROFILES_DIR = 'auth-profiles';
6
+ /**
7
+ * Normalize a server URL for consistent keying.
8
+ * Strips /mcp suffix, trailing slash, query params, and lowercases the host.
9
+ */
10
+ export function normalizeServerUrl(url) {
11
+ try {
12
+ const parsed = new URL(url);
13
+ parsed.search = '';
14
+ parsed.hash = '';
15
+ parsed.hostname = parsed.hostname.toLowerCase();
16
+ let normalized = parsed.toString().replace(/\/$/, '');
17
+ // Strip /mcp suffix
18
+ if (normalized.endsWith('/mcp')) {
19
+ normalized = normalized.slice(0, -4);
20
+ }
21
+ return normalized;
22
+ }
23
+ catch {
24
+ return url
25
+ .toLowerCase()
26
+ .replace(/\/$/, '')
27
+ .replace(/\/mcp$/, '');
28
+ }
29
+ }
30
+ function profileKey(serverUrl) {
31
+ const normalized = normalizeServerUrl(serverUrl);
32
+ return createHash('sha256').update(normalized).digest('hex');
33
+ }
34
+ function profilesDir(configDir) {
35
+ return path.join(getConfigDir(configDir), AUTH_PROFILES_DIR);
36
+ }
37
+ function profilePath(configDir, serverUrl) {
38
+ return path.join(profilesDir(configDir), `${profileKey(serverUrl)}.json`);
39
+ }
40
+ export async function saveAuthProfile(configDir, profile) {
41
+ const dir = profilesDir(configDir);
42
+ await mkdir(dir, { recursive: true });
43
+ const filePath = profilePath(configDir, profile.serverUrl);
44
+ const tempPath = `${filePath}.tmp.${process.pid}`;
45
+ const data = {
46
+ ...profile,
47
+ serverUrl: normalizeServerUrl(profile.serverUrl),
48
+ };
49
+ await writeFile(tempPath, JSON.stringify(data), 'utf8');
50
+ await rename(tempPath, filePath);
51
+ }
52
+ export async function loadAuthProfile(configDir, serverUrl) {
53
+ try {
54
+ const filePath = profilePath(configDir, serverUrl);
55
+ const raw = await readFile(filePath, 'utf8');
56
+ const parsed = JSON.parse(raw);
57
+ if (!isAuthProfile(parsed)) {
58
+ return null;
59
+ }
60
+ return parsed;
61
+ }
62
+ catch {
63
+ return null;
64
+ }
65
+ }
66
+ export async function deleteAuthProfile(configDir, serverUrl) {
67
+ try {
68
+ const filePath = profilePath(configDir, serverUrl);
69
+ await access(filePath);
70
+ await rm(filePath, { force: true });
71
+ return true;
72
+ }
73
+ catch {
74
+ return false;
75
+ }
76
+ }
77
+ export async function listAuthProfiles(configDir) {
78
+ const dir = profilesDir(configDir);
79
+ try {
80
+ const files = await readdir(dir);
81
+ const results = await Promise.all(files
82
+ .filter((file) => file.endsWith('.json'))
83
+ .map(async (file) => {
84
+ try {
85
+ const raw = await readFile(path.join(dir, file), 'utf8');
86
+ const parsed = JSON.parse(raw);
87
+ return isAuthProfile(parsed) ? parsed : null;
88
+ }
89
+ catch {
90
+ return null;
91
+ }
92
+ }));
93
+ return results.filter((p) => p !== null);
94
+ }
95
+ catch {
96
+ return [];
97
+ }
98
+ }
99
+ function isAuthProfile(value) {
100
+ return (typeof value === 'object' &&
101
+ value !== null &&
102
+ 'serverUrl' in value &&
103
+ typeof value.serverUrl === 'string' &&
104
+ 'token' in value &&
105
+ typeof value.token === 'string' &&
106
+ 'savedAt' in value &&
107
+ typeof value.savedAt === 'number');
108
+ }
109
+ //# sourceMappingURL=authProfileStore.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"authProfileStore.js","sourceRoot":"","sources":["../../../src/commands/shared/authProfileStore.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { MCPServerParams } from '../../core/types/index.js';
1
+ import { GlobalTransportConfig, MCPServerParams } from '../../core/types/index.js';
2
2
  /**
3
3
  * Configuration file utilities for server management commands
4
4
  */
@@ -8,6 +8,7 @@ import { MCPServerParams } from '../../core/types/index.js';
8
8
  */
9
9
  export declare function initializeConfigContext(configPath?: string, configDir?: string): void;
10
10
  export interface ServerConfig {
11
+ serverDefaults?: GlobalTransportConfig;
11
12
  mcpServers: Record<string, MCPServerParams>;
12
13
  }
13
14
  /**
@@ -28,6 +29,14 @@ export declare function serverExists(serverName: string): boolean;
28
29
  * Get a specific server configuration
29
30
  */
30
31
  export declare function getServer(serverName: string): MCPServerParams | null;
32
+ /**
33
+ * Get global MCP configuration from file.
34
+ */
35
+ export declare function getGlobalConfig(): GlobalTransportConfig;
36
+ /**
37
+ * Get effective merged configuration for a specific server.
38
+ */
39
+ export declare function getEffectiveServerConfig(serverName: string): MCPServerParams | null;
31
40
  /**
32
41
  * Add or update a server in the configuration
33
42
  */
@@ -40,6 +49,10 @@ export declare function removeServer(serverName: string): boolean;
40
49
  * Get all servers in the configuration
41
50
  */
42
51
  export declare function getAllServers(): Record<string, MCPServerParams>;
52
+ /**
53
+ * Get all effective server configurations after applying global inheritance.
54
+ */
55
+ export declare function getAllEffectiveServers(): Record<string, MCPServerParams>;
43
56
  /**
44
57
  * Parse environment variables from key=value format
45
58
  */
@@ -68,4 +81,5 @@ export declare function validateServerConfig(serverConfig: MCPServerParams): voi
68
81
  * Reload MCP config manager after configuration changes
69
82
  */
70
83
  export declare function reloadMcpConfig(): void;
84
+ export declare function getInheritedKeys(rawConfig: MCPServerParams, effectiveConfig: MCPServerParams, globalConfig: GlobalTransportConfig): string[];
71
85
  //# sourceMappingURL=baseConfigUtils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"baseConfigUtils.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/baseConfigUtils.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAG3D;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAUrF;AAED,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CA+C5D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAmBrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAOpE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,IAAI,CAiBjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAexD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAO/D;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CASvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAkDxE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAYtC"}
1
+ {"version":3,"file":"baseConfigUtils.d.ts","sourceRoot":"","sources":["../../../src/commands/shared/baseConfigUtils.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAIlF;;GAEG;AAEH;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAgBrF;AAwBD,MAAM,WAAW,YAAY;IAC3B,cAAc,CAAC,EAAE,qBAAqB,CAAC;IACvC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AA0CD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,YAAY,CAE5D;AASD;;;GAGG;AACH,wBAAgB,UAAU,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAmBrD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAOxD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAWpE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,qBAAqB,CAWvD;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAkBnF;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,eAAe,GAAG,IAAI,CAiBjF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAexD;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAW/D;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAUxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwB5E;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CASvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAuB9D;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAcrC;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,YAAY,EAAE,eAAe,GAAG,IAAI,CAmDxE;AAED;;GAEG;AACH,wBAAgB,eAAe,IAAI,IAAI,CAYtC;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,eAAe,EAC1B,eAAe,EAAE,eAAe,EAChC,YAAY,EAAE,qBAAqB,GAClC,MAAM,EAAE,CAsDV"}