@samanhappy/mcphub 1.0.31 → 1.0.33

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 (311) hide show
  1. package/README.md +11 -1
  2. package/README.zh.md +12 -2
  3. package/dist/betterAuth.js +13 -5
  4. package/dist/betterAuth.js.map +1 -1
  5. package/dist/cli/commands/cache.js.map +1 -1
  6. package/dist/cli/commands/call.js +2 -2
  7. package/dist/cli/commands/call.js.map +1 -1
  8. package/dist/cli/commands/config.js.map +1 -1
  9. package/dist/cli/commands/discover.js.map +1 -1
  10. package/dist/cli/commands/export.js.map +1 -1
  11. package/dist/cli/commands/groups.js.map +1 -1
  12. package/dist/cli/commands/install.js +1 -1
  13. package/dist/cli/commands/install.js.map +1 -1
  14. package/dist/cli/commands/keys.js.map +1 -1
  15. package/dist/cli/commands/login.js.map +1 -1
  16. package/dist/cli/commands/servers.js.map +1 -1
  17. package/dist/cli/commands/tools.js +2 -2
  18. package/dist/cli/commands/tools.js.map +1 -1
  19. package/dist/cli/context.js +1 -1
  20. package/dist/cli/context.js.map +1 -1
  21. package/dist/cli/http.js +3 -1
  22. package/dist/cli/http.js.map +1 -1
  23. package/dist/clients/openapi.js +498 -76
  24. package/dist/clients/openapi.js.map +1 -1
  25. package/dist/config/DaoConfigService.js +3 -2
  26. package/dist/config/DaoConfigService.js.map +1 -1
  27. package/dist/config/configManager.js +9 -8
  28. package/dist/config/configManager.js.map +1 -1
  29. package/dist/config/index.js +54 -8
  30. package/dist/config/index.js.map +1 -1
  31. package/dist/config/jwt.js +2 -1
  32. package/dist/config/jwt.js.map +1 -1
  33. package/dist/config/migrationUtils.js +46 -45
  34. package/dist/config/migrationUtils.js.map +1 -1
  35. package/dist/constants/oauthServerDefaults.js +5 -0
  36. package/dist/constants/oauthServerDefaults.js.map +1 -1
  37. package/dist/controllers/activityController.js +6 -5
  38. package/dist/controllers/activityController.js.map +1 -1
  39. package/dist/controllers/authController.js +5 -4
  40. package/dist/controllers/authController.js.map +1 -1
  41. package/dist/controllers/bearerKeyController.js +7 -6
  42. package/dist/controllers/bearerKeyController.js.map +1 -1
  43. package/dist/controllers/betterAuthController.js +2 -1
  44. package/dist/controllers/betterAuthController.js.map +1 -1
  45. package/dist/controllers/builtinPromptController.js +13 -5
  46. package/dist/controllers/builtinPromptController.js.map +1 -1
  47. package/dist/controllers/builtinResourceController.js +14 -6
  48. package/dist/controllers/builtinResourceController.js.map +1 -1
  49. package/dist/controllers/changelogController.js +5 -2
  50. package/dist/controllers/changelogController.js.map +1 -1
  51. package/dist/controllers/cloudController.js +11 -10
  52. package/dist/controllers/cloudController.js.map +1 -1
  53. package/dist/controllers/configController.js +4 -3
  54. package/dist/controllers/configController.js.map +1 -1
  55. package/dist/controllers/contextCostController.js +3 -2
  56. package/dist/controllers/contextCostController.js.map +1 -1
  57. package/dist/controllers/groupController.js +2 -1
  58. package/dist/controllers/groupController.js.map +1 -1
  59. package/dist/controllers/healthController.js +2 -1
  60. package/dist/controllers/healthController.js.map +1 -1
  61. package/dist/controllers/hostedInternalController.js +2 -1
  62. package/dist/controllers/hostedInternalController.js.map +1 -1
  63. package/dist/controllers/logController.js +5 -4
  64. package/dist/controllers/logController.js.map +1 -1
  65. package/dist/controllers/mcpbController.js +23 -20
  66. package/dist/controllers/mcpbController.js.map +1 -1
  67. package/dist/controllers/oauthCallbackController.js +54 -27
  68. package/dist/controllers/oauthCallbackController.js.map +1 -1
  69. package/dist/controllers/oauthClientController.js +7 -6
  70. package/dist/controllers/oauthClientController.js.map +1 -1
  71. package/dist/controllers/oauthDynamicRegistrationController.js +22 -4
  72. package/dist/controllers/oauthDynamicRegistrationController.js.map +1 -1
  73. package/dist/controllers/oauthServerController.js +62 -15
  74. package/dist/controllers/oauthServerController.js.map +1 -1
  75. package/dist/controllers/openApiController.js +7 -6
  76. package/dist/controllers/openApiController.js.map +1 -1
  77. package/dist/controllers/promptController.js +2 -1
  78. package/dist/controllers/promptController.js.map +1 -1
  79. package/dist/controllers/registryController.js +4 -3
  80. package/dist/controllers/registryController.js.map +1 -1
  81. package/dist/controllers/serverController.js +154 -65
  82. package/dist/controllers/serverController.js.map +1 -1
  83. package/dist/controllers/templateController.js +3 -2
  84. package/dist/controllers/templateController.js.map +1 -1
  85. package/dist/controllers/toolController.js +2 -1
  86. package/dist/controllers/toolController.js.map +1 -1
  87. package/dist/dao/DaoFactory.js +3 -2
  88. package/dist/dao/DaoFactory.js.map +1 -1
  89. package/dist/dao/ServerDao.js.map +1 -1
  90. package/dist/dao/UserConfigDaoDbImpl.js.map +1 -1
  91. package/dist/dao/UserDao.js.map +1 -1
  92. package/dist/dao/base/JsonFileBaseDao.js +3 -2
  93. package/dist/dao/base/JsonFileBaseDao.js.map +1 -1
  94. package/dist/dao/examples.js +35 -34
  95. package/dist/dao/examples.js.map +1 -1
  96. package/dist/db/connection.js +59 -58
  97. package/dist/db/connection.js.map +1 -1
  98. package/dist/db/index.js +2 -1
  99. package/dist/db/index.js.map +1 -1
  100. package/dist/db/repositories/ServerRepository.js +3 -3
  101. package/dist/db/repositories/ServerRepository.js.map +1 -1
  102. package/dist/db/repositories/SystemConfigRepository.js +2 -1
  103. package/dist/db/repositories/SystemConfigRepository.js.map +1 -1
  104. package/dist/db/repositories/UserConfigRepository.js.map +1 -1
  105. package/dist/db/repositories/VectorEmbeddingRepository.js +6 -5
  106. package/dist/db/repositories/VectorEmbeddingRepository.js.map +1 -1
  107. package/dist/index.js +28 -19
  108. package/dist/index.js.map +1 -1
  109. package/dist/middlewares/auth.js +4 -3
  110. package/dist/middlewares/auth.js.map +1 -1
  111. package/dist/middlewares/index.js +2 -1
  112. package/dist/middlewares/index.js.map +1 -1
  113. package/dist/middlewares/userContext.js +7 -6
  114. package/dist/middlewares/userContext.js.map +1 -1
  115. package/dist/models/OAuth.js +7 -6
  116. package/dist/models/OAuth.js.map +1 -1
  117. package/dist/models/User.js +13 -12
  118. package/dist/models/User.js.map +1 -1
  119. package/dist/routes/index.js +11 -10
  120. package/dist/routes/index.js.map +1 -1
  121. package/dist/scripts/dao-demo.js +28 -27
  122. package/dist/scripts/dao-demo.js.map +1 -1
  123. package/dist/server.js +36 -30
  124. package/dist/server.js.map +1 -1
  125. package/dist/services/activityLoggingService.js +3 -2
  126. package/dist/services/activityLoggingService.js.map +1 -1
  127. package/dist/services/authorizationService.js +28 -0
  128. package/dist/services/authorizationService.js.map +1 -0
  129. package/dist/services/betterAuthConfig.js +1 -4
  130. package/dist/services/betterAuthConfig.js.map +1 -1
  131. package/dist/services/betterAuthSession.js +8 -7
  132. package/dist/services/betterAuthSession.js.map +1 -1
  133. package/dist/services/changelogService.js +5 -2
  134. package/dist/services/changelogService.js.map +1 -1
  135. package/dist/services/cimdClientService.js +195 -0
  136. package/dist/services/cimdClientService.js.map +1 -0
  137. package/dist/services/cloudService.js +10 -9
  138. package/dist/services/cloudService.js.map +1 -1
  139. package/dist/services/contextCostService.js +6 -2
  140. package/dist/services/contextCostService.js.map +1 -1
  141. package/dist/services/groupService.js +8 -7
  142. package/dist/services/groupService.js.map +1 -1
  143. package/dist/services/hostedAuthService.js +3 -2
  144. package/dist/services/hostedAuthService.js.map +1 -1
  145. package/dist/services/hostedControlPlaneClient.js.map +1 -1
  146. package/dist/services/hostedEventSubscriber.js +9 -8
  147. package/dist/services/hostedEventSubscriber.js.map +1 -1
  148. package/dist/services/hostedRuntimeCatalogNames.js +1 -3
  149. package/dist/services/hostedRuntimeCatalogNames.js.map +1 -1
  150. package/dist/services/keepAliveService.js +7 -6
  151. package/dist/services/keepAliveService.js.map +1 -1
  152. package/dist/services/marketService.js +2 -1
  153. package/dist/services/marketService.js.map +1 -1
  154. package/dist/services/mcpOAuthProvider.js +22 -21
  155. package/dist/services/mcpOAuthProvider.js.map +1 -1
  156. package/dist/services/mcpService.js +239 -130
  157. package/dist/services/mcpService.js.map +1 -1
  158. package/dist/services/oauthClientRegistration.js +30 -29
  159. package/dist/services/oauthClientRegistration.js.map +1 -1
  160. package/dist/services/oauthServerService.js +39 -18
  161. package/dist/services/oauthServerService.js.map +1 -1
  162. package/dist/services/oauthService.js +16 -15
  163. package/dist/services/oauthService.js.map +1 -1
  164. package/dist/services/oauthSettingsStore.js +4 -3
  165. package/dist/services/oauthSettingsStore.js.map +1 -1
  166. package/dist/services/openApiGeneratorService.js +1 -3
  167. package/dist/services/openApiGeneratorService.js.map +1 -1
  168. package/dist/services/openApiToolStatsService.js +37 -0
  169. package/dist/services/openApiToolStatsService.js.map +1 -0
  170. package/dist/services/registry.js +2 -1
  171. package/dist/services/registry.js.map +1 -1
  172. package/dist/services/requestContextService.js.map +1 -1
  173. package/dist/services/serverConfigPresenter.js +85 -0
  174. package/dist/services/serverConfigPresenter.js.map +1 -0
  175. package/dist/services/smartRoutingService.js +6 -5
  176. package/dist/services/smartRoutingService.js.map +1 -1
  177. package/dist/services/sseService.js +52 -51
  178. package/dist/services/sseService.js.map +1 -1
  179. package/dist/services/templateService.js +105 -23
  180. package/dist/services/templateService.js.map +1 -1
  181. package/dist/services/toolResultCompressionService.js +8 -5
  182. package/dist/services/toolResultCompressionService.js.map +1 -1
  183. package/dist/services/upstreamOAuthDisconnectService.js +9 -6
  184. package/dist/services/upstreamOAuthDisconnectService.js.map +1 -1
  185. package/dist/services/userService.js +5 -4
  186. package/dist/services/userService.js.map +1 -1
  187. package/dist/services/vectorSearchService.js +126 -112
  188. package/dist/services/vectorSearchService.js.map +1 -1
  189. package/dist/utils/cacheUtils.js +5 -4
  190. package/dist/utils/cacheUtils.js.map +1 -1
  191. package/dist/utils/corsOrigin.js +42 -0
  192. package/dist/utils/corsOrigin.js.map +1 -0
  193. package/dist/utils/dbRetry.js +2 -5
  194. package/dist/utils/dbRetry.js.map +1 -1
  195. package/dist/utils/frontendShell.js +2 -1
  196. package/dist/utils/frontendShell.js.map +1 -1
  197. package/dist/utils/i18n.js.map +1 -1
  198. package/dist/utils/logger.js +170 -0
  199. package/dist/utils/logger.js.map +1 -0
  200. package/dist/utils/migration.js +51 -50
  201. package/dist/utils/migration.js.map +1 -1
  202. package/dist/utils/oauthIssuer.js +57 -0
  203. package/dist/utils/oauthIssuer.js.map +1 -0
  204. package/dist/utils/openApiRequestBody.js +220 -0
  205. package/dist/utils/openApiRequestBody.js.map +1 -0
  206. package/dist/utils/parameterConversion.js +2 -1
  207. package/dist/utils/parameterConversion.js.map +1 -1
  208. package/dist/utils/path.js +9 -8
  209. package/dist/utils/path.js.map +1 -1
  210. package/dist/utils/processTree.js +47 -0
  211. package/dist/utils/processTree.js.map +1 -0
  212. package/dist/utils/proxyTrust.js.map +1 -1
  213. package/dist/utils/rateLimit.js +8 -0
  214. package/dist/utils/rateLimit.js.map +1 -1
  215. package/dist/utils/requireAdmin.js +15 -0
  216. package/dist/utils/requireAdmin.js.map +1 -0
  217. package/dist/utils/serverConfigPersistence.js +3 -0
  218. package/dist/utils/serverConfigPersistence.js.map +1 -1
  219. package/dist/utils/serverConfigValidation.js +13 -0
  220. package/dist/utils/serverConfigValidation.js.map +1 -0
  221. package/dist/utils/serverNameValidation.js +56 -0
  222. package/dist/utils/serverNameValidation.js.map +1 -0
  223. package/dist/utils/serverShutdown.js +3 -2
  224. package/dist/utils/serverShutdown.js.map +1 -1
  225. package/dist/utils/smartRouting.js +4 -3
  226. package/dist/utils/smartRouting.js.map +1 -1
  227. package/dist/utils/ssrf.js +23 -10
  228. package/dist/utils/ssrf.js.map +1 -1
  229. package/dist/utils/systemConfigCache.js +40 -2
  230. package/dist/utils/systemConfigCache.js.map +1 -1
  231. package/dist/utils/tokenCost.js.map +1 -1
  232. package/dist/utils/tokenTruncation.js +9 -4
  233. package/dist/utils/tokenTruncation.js.map +1 -1
  234. package/dist/utils/version.js +3 -2
  235. package/dist/utils/version.js.map +1 -1
  236. package/frontend/dist/assets/{ActivityPage-Dx53zxEM.js → ActivityPage-Du9Nh-Jy.js} +2 -2
  237. package/frontend/dist/assets/{ActivityPage-Dx53zxEM.js.map → ActivityPage-Du9Nh-Jy.js.map} +1 -1
  238. package/frontend/dist/assets/ConfirmDialog-3APts2Y9.js +2 -0
  239. package/frontend/dist/assets/ConfirmDialog-3APts2Y9.js.map +1 -0
  240. package/frontend/dist/assets/Dashboard-J4G-AZkI.js +2 -0
  241. package/frontend/dist/assets/{Dashboard-ZYVsSvOw.js.map → Dashboard-J4G-AZkI.js.map} +1 -1
  242. package/frontend/dist/assets/{DeleteDialog-DNe-zTEl.js → DeleteDialog-D9ycSRvn.js} +2 -2
  243. package/frontend/dist/assets/{DeleteDialog-DNe-zTEl.js.map → DeleteDialog-D9ycSRvn.js.map} +1 -1
  244. package/frontend/dist/assets/{EndpointCopy-ngxLPeDF.js → EndpointCopy-DFeLcU9A.js} +2 -2
  245. package/frontend/dist/assets/{EndpointCopy-ngxLPeDF.js.map → EndpointCopy-DFeLcU9A.js.map} +1 -1
  246. package/frontend/dist/assets/GroupsPage-CGMZBiXd.js +33 -0
  247. package/frontend/dist/assets/{GroupsPage-JPtupGpI.js.map → GroupsPage-CGMZBiXd.js.map} +1 -1
  248. package/frontend/dist/assets/{LoginPage-B6rU3Ugr.js → LoginPage-g5pJLBk0.js} +2 -2
  249. package/frontend/dist/assets/{LoginPage-B6rU3Ugr.js.map → LoginPage-g5pJLBk0.js.map} +1 -1
  250. package/frontend/dist/assets/{LogsPage-CXq382fb.js → LogsPage-Bkv7xhNf.js} +2 -2
  251. package/frontend/dist/assets/{LogsPage-CXq382fb.js.map → LogsPage-Bkv7xhNf.js.map} +1 -1
  252. package/frontend/dist/assets/MarketPage-WkLrckIr.js +3 -0
  253. package/frontend/dist/assets/MarketPage-WkLrckIr.js.map +1 -0
  254. package/frontend/dist/assets/{OAuthConsentPage-C-n6tv3-.js → OAuthConsentPage-CA35XoBK.js} +2 -2
  255. package/frontend/dist/assets/{OAuthConsentPage-C-n6tv3-.js.map → OAuthConsentPage-CA35XoBK.js.map} +1 -1
  256. package/frontend/dist/assets/{Pagination-DLSuQ8hw.js → Pagination-Dwko3g48.js} +2 -2
  257. package/frontend/dist/assets/{Pagination-DLSuQ8hw.js.map → Pagination-Dwko3g48.js.map} +1 -1
  258. package/frontend/dist/assets/{PromptsPage-BLpy76K4.js → PromptsPage-BuDdW69R.js} +2 -2
  259. package/frontend/dist/assets/{PromptsPage-BLpy76K4.js.map → PromptsPage-BuDdW69R.js.map} +1 -1
  260. package/frontend/dist/assets/{ResourcesPage-C5nynRqE.js → ResourcesPage-Cu-eD5e2.js} +2 -2
  261. package/frontend/dist/assets/{ResourcesPage-C5nynRqE.js.map → ResourcesPage-Cu-eD5e2.js.map} +1 -1
  262. package/frontend/dist/assets/{ServersPage-Ca5W9cPW.js → ServersPage-B1Np5x3N.js} +8 -8
  263. package/frontend/dist/assets/ServersPage-B1Np5x3N.js.map +1 -0
  264. package/frontend/dist/assets/{SettingsPage-DgFBjp_O.js → SettingsPage-BQN8-ZQh.js} +4 -4
  265. package/frontend/dist/assets/SettingsPage-BQN8-ZQh.js.map +1 -0
  266. package/frontend/dist/assets/{StatusDot-CmSkukx0.js → StatusDot-WyvgqplP.js} +2 -2
  267. package/frontend/dist/assets/{StatusDot-CmSkukx0.js.map → StatusDot-WyvgqplP.js.map} +1 -1
  268. package/frontend/dist/assets/{ToggleGroup-sG_2LQom.js → ToggleGroup-CmeedsZU.js} +2 -2
  269. package/frontend/dist/assets/{ToggleGroup-sG_2LQom.js.map → ToggleGroup-CmeedsZU.js.map} +1 -1
  270. package/frontend/dist/assets/UsersPage-DqDFrIIW.js +2 -0
  271. package/frontend/dist/assets/UsersPage-DqDFrIIW.js.map +1 -0
  272. package/frontend/dist/assets/contextCost-CilWqGWT.js +2 -0
  273. package/frontend/dist/assets/contextCost-CilWqGWT.js.map +1 -0
  274. package/frontend/dist/assets/{framework-vendor-I9Y6AgD5.js → framework-vendor-BHAQX05P.js} +3 -3
  275. package/frontend/dist/assets/{framework-vendor-I9Y6AgD5.js.map → framework-vendor-BHAQX05P.js.map} +1 -1
  276. package/frontend/dist/assets/{i18n-vendor-y9bLzIeh.js → i18n-vendor-CMcB7XUR.js} +2 -2
  277. package/frontend/dist/assets/{i18n-vendor-y9bLzIeh.js.map → i18n-vendor-CMcB7XUR.js.map} +1 -1
  278. package/frontend/dist/assets/{icons-vendor-BFl4A9fq.js → icons-vendor-HZHHWeTa.js} +2 -2
  279. package/frontend/dist/assets/{icons-vendor-BFl4A9fq.js.map → icons-vendor-HZHHWeTa.js.map} +1 -1
  280. package/frontend/dist/assets/index-BvU2-VT8.js +3 -0
  281. package/frontend/dist/assets/{index-CLugsCsy.js.map → index-BvU2-VT8.js.map} +1 -1
  282. package/frontend/dist/assets/index-DtrCVU1h.css +1 -0
  283. package/frontend/dist/assets/passwordValidation-DTLWgUy9.js +2 -0
  284. package/frontend/dist/assets/passwordValidation-DTLWgUy9.js.map +1 -0
  285. package/frontend/dist/assets/{resourceService-33rS8QGJ.js → resourceService-BFH4w47h.js} +2 -2
  286. package/frontend/dist/assets/{resourceService-33rS8QGJ.js.map → resourceService-BFH4w47h.js.map} +1 -1
  287. package/frontend/dist/assets/useCostData-CoM1SxdS.js +2 -0
  288. package/frontend/dist/assets/useCostData-CoM1SxdS.js.map +1 -0
  289. package/frontend/dist/assets/useSettingsData-DKrECrG1.js +2 -0
  290. package/frontend/dist/assets/{useSettingsData-fK2bv9oN.js.map → useSettingsData-DKrECrG1.js.map} +1 -1
  291. package/frontend/dist/assets/variableDetection-CIrYDjrq.js +16 -0
  292. package/frontend/dist/assets/variableDetection-CIrYDjrq.js.map +1 -0
  293. package/frontend/dist/index.html +5 -5
  294. package/package.json +2 -2
  295. package/frontend/dist/assets/ConfirmDialog-CYfXEuyU.js +0 -2
  296. package/frontend/dist/assets/ConfirmDialog-CYfXEuyU.js.map +0 -1
  297. package/frontend/dist/assets/Dashboard-ZYVsSvOw.js +0 -2
  298. package/frontend/dist/assets/GroupsPage-JPtupGpI.js +0 -33
  299. package/frontend/dist/assets/MarketPage-BGnQQyXK.js +0 -3
  300. package/frontend/dist/assets/MarketPage-BGnQQyXK.js.map +0 -1
  301. package/frontend/dist/assets/ServersPage-Ca5W9cPW.js.map +0 -1
  302. package/frontend/dist/assets/SettingsPage-DgFBjp_O.js.map +0 -1
  303. package/frontend/dist/assets/UsersPage-PHkFXLL8.js +0 -2
  304. package/frontend/dist/assets/UsersPage-PHkFXLL8.js.map +0 -1
  305. package/frontend/dist/assets/contextCost-D_iNNbhX.js +0 -2
  306. package/frontend/dist/assets/contextCost-D_iNNbhX.js.map +0 -1
  307. package/frontend/dist/assets/index-CGvImZ3F.css +0 -1
  308. package/frontend/dist/assets/index-CLugsCsy.js +0 -3
  309. package/frontend/dist/assets/useSettingsData-fK2bv9oN.js +0 -2
  310. package/frontend/dist/assets/variableDetection-ByJ_cnxa.js +0 -16
  311. package/frontend/dist/assets/variableDetection-ByJ_cnxa.js.map +0 -1
@@ -1,20 +1,34 @@
1
1
  import { getServerDao, getGroupDao } from '../dao/index.js';
2
+ import { isPrivilegedServerConfig } from '../utils/serverConfigValidation.js';
3
+ import { validateServerName } from '../utils/serverNameValidation.js';
2
4
  import { createGroup } from './groupService.js';
3
5
  import { addServer } from './mcpService.js';
6
+ import { getDataService } from './services.js';
4
7
  const TEMPLATE_VERSION = '1.0';
5
8
  // Env var placeholder pattern: ${VAR_NAME}
6
9
  const ENV_PLACEHOLDER_RE = /^\$\{[A-Za-z_][A-Za-z0-9_]*\}$/;
7
10
  // Fields that commonly contain secrets and should be replaced with placeholders
8
11
  const SECRET_ENV_KEYS = new Set([
9
- 'api_key', 'apikey', 'secret', 'token', 'password', 'passwd',
10
- 'access_key', 'secret_key', 'private_key', 'auth',
12
+ 'api_key',
13
+ 'apikey',
14
+ 'secret',
15
+ 'token',
16
+ 'password',
17
+ 'passwd',
18
+ 'access_key',
19
+ 'secret_key',
20
+ 'private_key',
21
+ 'auth',
11
22
  ]);
12
23
  function extractPlaceholderName(value) {
13
24
  const match = value.match(/^\$\{(.+)\}$/);
14
25
  return match ? match[1] : null;
15
26
  }
16
27
  function toPlaceholderName(value, fallback) {
17
- const normalized = value.toUpperCase().replace(/[^A-Z0-9]+/g, '_').replace(/^_+|_+$/g, '');
28
+ const normalized = value
29
+ .toUpperCase()
30
+ .replace(/[^A-Z0-9]+/g, '_')
31
+ .replace(/^_+|_+$/g, '');
18
32
  return normalized || fallback;
19
33
  }
20
34
  function sanitizeSecretValue(value, placeholder) {
@@ -35,13 +49,13 @@ function cloneJsonObject(value) {
35
49
  }
36
50
  function isSecretKey(key) {
37
51
  const lower = key.toLowerCase();
38
- return SECRET_ENV_KEYS.has(lower) ||
52
+ return (SECRET_ENV_KEYS.has(lower) ||
39
53
  lower.includes('secret') ||
40
54
  lower.includes('token') ||
41
55
  lower.includes('password') ||
42
56
  lower.includes('api_key') ||
43
57
  lower.includes('apikey') ||
44
- lower.includes('auth_key');
58
+ lower.includes('auth_key'));
45
59
  }
46
60
  /**
47
61
  * Strip secrets from a server config's env vars.
@@ -157,7 +171,10 @@ function stripOAuthSecrets(oauth) {
157
171
  }
158
172
  return { sanitized, placeholders };
159
173
  }
160
- function stripOpenApiSecuritySecrets(security) {
174
+ function stripOpenApiSecuritySecrets(security,
175
+ // Placeholder prefix, so `security` and `specSecurity` (#1079) secrets map
176
+ // to distinct required env vars instead of one var filling both slots.
177
+ placeholderPrefix = 'OPENAPI') {
161
178
  const sanitized = { type: security.type };
162
179
  const placeholders = [];
163
180
  if (security.apiKey) {
@@ -167,7 +184,7 @@ function stripOpenApiSecuritySecrets(security) {
167
184
  value: security.apiKey.value,
168
185
  };
169
186
  if (security.apiKey.value) {
170
- const { sanitizedValue, placeholder } = sanitizeSecretValue(security.apiKey.value, toPlaceholderName(security.apiKey.name, 'OPENAPI_API_KEY'));
187
+ const { sanitizedValue, placeholder } = sanitizeSecretValue(security.apiKey.value, toPlaceholderName(security.apiKey.name, `${placeholderPrefix}_API_KEY`));
171
188
  sanitized.apiKey.value = sanitizedValue;
172
189
  placeholders.push(placeholder);
173
190
  }
@@ -180,7 +197,7 @@ function stripOpenApiSecuritySecrets(security) {
180
197
  sanitized.http.bearerFormat = security.http.bearerFormat;
181
198
  }
182
199
  if (security.http.credentials) {
183
- const { sanitizedValue, placeholder } = sanitizeSecretValue(security.http.credentials, 'OPENAPI_HTTP_CREDENTIALS');
200
+ const { sanitizedValue, placeholder } = sanitizeSecretValue(security.http.credentials, `${placeholderPrefix}_HTTP_CREDENTIALS`);
184
201
  sanitized.http.credentials = sanitizedValue;
185
202
  placeholders.push(placeholder);
186
203
  }
@@ -194,12 +211,12 @@ function stripOpenApiSecuritySecrets(security) {
194
211
  if (security.oauth2.scopes)
195
212
  sanitized.oauth2.scopes = [...security.oauth2.scopes];
196
213
  if (security.oauth2.clientSecret) {
197
- const { sanitizedValue, placeholder } = sanitizeSecretValue(security.oauth2.clientSecret, 'OPENAPI_OAUTH2_CLIENT_SECRET');
214
+ const { sanitizedValue, placeholder } = sanitizeSecretValue(security.oauth2.clientSecret, `${placeholderPrefix}_OAUTH2_CLIENT_SECRET`);
198
215
  sanitized.oauth2.clientSecret = sanitizedValue;
199
216
  placeholders.push(placeholder);
200
217
  }
201
218
  if (security.oauth2.token) {
202
- const { sanitizedValue, placeholder } = sanitizeSecretValue(security.oauth2.token, 'OPENAPI_OAUTH2_TOKEN');
219
+ const { sanitizedValue, placeholder } = sanitizeSecretValue(security.oauth2.token, `${placeholderPrefix}_OAUTH2_TOKEN`);
203
220
  sanitized.oauth2.token = sanitizedValue;
204
221
  placeholders.push(placeholder);
205
222
  }
@@ -212,12 +229,12 @@ function stripOpenApiSecuritySecrets(security) {
212
229
  sanitized.openIdConnect.clientId = security.openIdConnect.clientId;
213
230
  }
214
231
  if (security.openIdConnect.clientSecret) {
215
- const { sanitizedValue, placeholder } = sanitizeSecretValue(security.openIdConnect.clientSecret, 'OPENAPI_OPENID_CLIENT_SECRET');
232
+ const { sanitizedValue, placeholder } = sanitizeSecretValue(security.openIdConnect.clientSecret, `${placeholderPrefix}_OPENID_CLIENT_SECRET`);
216
233
  sanitized.openIdConnect.clientSecret = sanitizedValue;
217
234
  placeholders.push(placeholder);
218
235
  }
219
236
  if (security.openIdConnect.token) {
220
- const { sanitizedValue, placeholder } = sanitizeSecretValue(security.openIdConnect.token, 'OPENAPI_OPENID_TOKEN');
237
+ const { sanitizedValue, placeholder } = sanitizeSecretValue(security.openIdConnect.token, `${placeholderPrefix}_OPENID_TOKEN`);
221
238
  sanitized.openIdConnect.token = sanitizedValue;
222
239
  placeholders.push(placeholder);
223
240
  }
@@ -293,21 +310,38 @@ function serverConfigToTemplate(config) {
293
310
  templateConfig.openapi.security = sanitized;
294
311
  envVars.push(...placeholders);
295
312
  }
313
+ if (config.openapi.specSecurity) {
314
+ const { sanitized, placeholders } = stripOpenApiSecuritySecrets(config.openapi.specSecurity, 'OPENAPI_SPEC');
315
+ templateConfig.openapi.specSecurity = sanitized;
316
+ envVars.push(...placeholders);
317
+ }
296
318
  }
297
319
  return { templateConfig, envVars };
298
320
  }
299
321
  /**
300
322
  * Export configuration as a shareable template.
323
+ *
324
+ * When `options.requestingUser` is a non-admin, servers and groups are
325
+ * filtered with the same ownership/visibility rules as every other read path
326
+ * (GHSA-p589-v5cm-35qg) so a user can only export what they can already see.
301
327
  */
302
328
  export async function exportTemplate(options) {
303
329
  const serverDao = getServerDao();
304
330
  const groupDao = getGroupDao();
305
331
  const allServers = await serverDao.findAll();
306
332
  const allGroups = await groupDao.findAll();
307
- // Determine which groups to include
308
- const selectedGroups = options.groupIds?.length
309
- ? allGroups.filter((g) => options.groupIds.includes(g.id))
333
+ // Apply visibility filtering for non-admin callers. No requestingUser means
334
+ // a trusted system caller — keep the legacy unfiltered behavior.
335
+ const visibleServers = options.requestingUser && !options.requestingUser.isAdmin
336
+ ? getDataService().filterData(allServers, options.requestingUser)
337
+ : allServers;
338
+ const visibleGroups = options.requestingUser && !options.requestingUser.isAdmin
339
+ ? getDataService().filterData(allGroups, options.requestingUser)
310
340
  : allGroups;
341
+ // Determine which groups to include (only among groups the caller can see)
342
+ const selectedGroups = options.groupIds?.length
343
+ ? visibleGroups.filter((g) => options.groupIds.includes(g.id))
344
+ : visibleGroups;
311
345
  // Collect server names referenced by selected groups
312
346
  const referencedServerNames = new Set();
313
347
  const normalizedGroups = selectedGroups.map((group) => ({
@@ -331,7 +365,7 @@ export async function exportTemplate(options) {
331
365
  const templateServers = {};
332
366
  const allEnvVars = [];
333
367
  const includedServerNames = new Set();
334
- for (const server of allServers) {
368
+ for (const server of visibleServers) {
335
369
  if (!referencedServerNames.has(server.name))
336
370
  continue;
337
371
  if (!options.includeDisabledServers && server.enabled === false)
@@ -359,17 +393,28 @@ export async function exportTemplate(options) {
359
393
  }
360
394
  /**
361
395
  * Export a single group as a template.
396
+ *
397
+ * Non-admin callers can only export groups they are allowed to see; anything
398
+ * else returns null (surfaced as 404 by the controller, mirroring the
399
+ * groupService mutation denial pattern).
362
400
  */
363
- export async function exportGroupTemplate(groupId, name) {
401
+ export async function exportGroupTemplate(groupId, name, requestingUser) {
364
402
  const groupDao = getGroupDao();
365
403
  const group = await groupDao.findById(groupId);
366
404
  if (!group)
367
405
  return null;
406
+ if (requestingUser && !requestingUser.isAdmin) {
407
+ const visible = getDataService()
408
+ .filterData([group], requestingUser);
409
+ if (visible.length === 0)
410
+ return null;
411
+ }
368
412
  return exportTemplate({
369
413
  name: name || `${group.name} Template`,
370
414
  description: `Template exported from group "${group.name}"`,
371
415
  groupIds: [groupId],
372
416
  includeDisabledServers: false,
417
+ requestingUser,
373
418
  });
374
419
  }
375
420
  /**
@@ -392,8 +437,13 @@ function validateTemplate(data) {
392
437
  /**
393
438
  * Import a configuration template.
394
439
  * Creates servers and groups that don't already exist.
440
+ *
441
+ * Non-admin callers cannot import privileged (stdio/command-carrying) server
442
+ * configs; each such server is reported as a failed detail item and skipped.
443
+ * No `requestingUser` means a trusted system caller — legacy unrestricted
444
+ * behavior, mirroring `exportTemplate`.
395
445
  */
396
- export async function importTemplate(template, owner) {
446
+ export async function importTemplate(template, owner, requestingUser) {
397
447
  if (!validateTemplate(template)) {
398
448
  return {
399
449
  success: false,
@@ -419,20 +469,42 @@ export async function importTemplate(template, owner) {
419
469
  serversSkipped++;
420
470
  continue;
421
471
  }
472
+ // Server names become part of downstream tool identifiers, so they must
473
+ // satisfy the same charset rule as every other create path.
474
+ const nameValidation = validateServerName(name);
475
+ if (!nameValidation.valid) {
476
+ details.push({
477
+ type: 'server',
478
+ name,
479
+ action: 'failed',
480
+ message: nameValidation.message || 'Invalid server name',
481
+ });
482
+ continue;
483
+ }
484
+ const serverName = nameValidation.normalized;
485
+ if (requestingUser && !requestingUser.isAdmin && isPrivilegedServerConfig(config)) {
486
+ details.push({
487
+ type: 'server',
488
+ name: serverName,
489
+ action: 'failed',
490
+ message: 'Only admins can import stdio-based server configurations',
491
+ });
492
+ continue;
493
+ }
422
494
  try {
423
495
  const serverConfig = {
424
496
  ...config,
425
497
  enabled: config.enabled ?? true,
426
498
  owner: owner || 'admin',
427
499
  };
428
- await addServer(name, serverConfig);
429
- details.push({ type: 'server', name, action: 'created' });
500
+ await addServer(serverName, serverConfig);
501
+ details.push({ type: 'server', name: serverName, action: 'created' });
430
502
  serversCreated++;
431
503
  }
432
504
  catch (error) {
433
505
  details.push({
434
506
  type: 'server',
435
- name,
507
+ name: serverName,
436
508
  action: 'failed',
437
509
  message: error instanceof Error ? error.message : 'Unknown error',
438
510
  });
@@ -444,7 +516,12 @@ export async function importTemplate(template, owner) {
444
516
  for (const groupDef of template.groups) {
445
517
  const existingGroup = await groupDao.findByName(groupDef.name);
446
518
  if (existingGroup) {
447
- details.push({ type: 'group', name: groupDef.name, action: 'skipped', message: 'Group already exists' });
519
+ details.push({
520
+ type: 'group',
521
+ name: groupDef.name,
522
+ action: 'skipped',
523
+ message: 'Group already exists',
524
+ });
448
525
  groupsSkipped++;
449
526
  continue;
450
527
  }
@@ -455,7 +532,12 @@ export async function importTemplate(template, owner) {
455
532
  groupsCreated++;
456
533
  }
457
534
  else {
458
- details.push({ type: 'group', name: groupDef.name, action: 'failed', message: 'Failed to create group' });
535
+ details.push({
536
+ type: 'group',
537
+ name: groupDef.name,
538
+ action: 'failed',
539
+ message: 'Failed to create group',
540
+ });
459
541
  }
460
542
  }
461
543
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"templateService.js","sourceRoot":"","sources":["../../src/services/templateService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"templateService.js","sourceRoot":"","sources":["../../src/services/templateService.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { countTokens } from '../utils/tokenCost.js';
2
2
  import { getCachedSystemConfig } from '../utils/systemConfigCache.js';
3
3
  import { getSystemConfigDao } from '../dao/index.js';
4
+ import { logger } from '../utils/logger.js';
4
5
  const DEFAULT_CONFIG = {
5
6
  enabled: false,
6
7
  minTokens: 2000,
@@ -225,9 +226,7 @@ const compressSearch = (text) => {
225
226
  const files = Array.from(byFile.entries()).slice(0, 20);
226
227
  omitted += Math.max(0, byFile.size - files.length);
227
228
  for (const [file, matches] of files) {
228
- const kept = matches.length <= 6
229
- ? matches
230
- : [...matches.slice(0, 4), ...matches.slice(-2)];
229
+ const kept = matches.length <= 6 ? matches : [...matches.slice(0, 4), ...matches.slice(-2)];
231
230
  output.push(...kept.map((match) => `${file}:${match.line}:${match.body}`));
232
231
  if (matches.length > kept.length) {
233
232
  omitted += matches.length - kept.length;
@@ -309,7 +308,11 @@ const fitToTokenBudget = async (text, maxOutputTokens) => {
309
308
  const head = lines.slice(0, headCount);
310
309
  const tail = lines.slice(Math.max(headCount, lines.length - tailCount));
311
310
  const omitted = Math.max(0, lines.length - head.length - tail.length);
312
- const candidate = [...head, `[... ${omitted} lines omitted to fit output budget]`, ...tail].join('\n');
311
+ const candidate = [
312
+ ...head,
313
+ `[... ${omitted} lines omitted to fit output budget]`,
314
+ ...tail,
315
+ ].join('\n');
313
316
  if ((await countTokens(candidate)) <= maxOutputTokens)
314
317
  return candidate;
315
318
  headCount = Math.max(5, Math.floor(headCount * 0.75));
@@ -351,7 +354,7 @@ export const maybeCompressToolResult = async (result, _context = {}) => {
351
354
  return changed ? { ...result, content } : result;
352
355
  }
353
356
  catch (error) {
354
- console.warn('Tool result compression failed, returning original result', {
357
+ logger.warn('Tool result compression failed, returning original result', {
355
358
  error: error instanceof Error ? error.message : String(error),
356
359
  });
357
360
  return result;
@@ -1 +1 @@
1
- {"version":3,"file":"toolResultCompressionService.js","sourceRoot":"","sources":["../../src/services/toolResultCompressionService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toolResultCompressionService.js","sourceRoot":"","sources":["../../src/services/toolResultCompressionService.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import { summarizeErrorForLogging } from '../utils/serialization.js';
4
4
  import { getRegisteredClient, removeRegisteredClient } from './oauthClientRegistration.js';
5
5
  import { clearOAuthData, loadServerConfig } from './oauthSettingsStore.js';
6
6
  import { getServerByName, reconnectServer, resetServerOAuthConnection } from './mcpService.js';
7
+ import { logger } from '../utils/logger.js';
7
8
  const OAUTH_RECONNECT_WAIT_TIMEOUT_MS = 3000;
8
9
  const OAUTH_RECONNECT_WAIT_INTERVAL_MS = 50;
9
10
  const getCachedRevocationEndpoint = (serverName) => {
@@ -11,7 +12,7 @@ const getCachedRevocationEndpoint = (serverName) => {
11
12
  return getRegisteredClient(serverName)?.config.serverMetadata().revocation_endpoint;
12
13
  }
13
14
  catch (error) {
14
- console.warn('Failed to read cached OAuth server metadata', {
15
+ logger.warn('Failed to read cached OAuth server metadata', {
15
16
  serverName,
16
17
  error: summarizeErrorForLogging(error),
17
18
  });
@@ -58,7 +59,7 @@ const revokeToken = async (endpoint, serverConfig, token, allowInternal) => {
58
59
  body,
59
60
  });
60
61
  if (!response.ok) {
61
- console.warn('OAuth token revocation failed', {
62
+ logger.warn('OAuth token revocation failed', {
62
63
  status: response.status,
63
64
  tokenTypeHint: token.hint,
64
65
  });
@@ -67,7 +68,7 @@ const revokeToken = async (endpoint, serverConfig, token, allowInternal) => {
67
68
  return true;
68
69
  }
69
70
  catch (error) {
70
- console.warn('OAuth token revocation request failed', {
71
+ logger.warn('OAuth token revocation request failed', {
71
72
  tokenTypeHint: token.hint,
72
73
  error: summarizeErrorForLogging(error),
73
74
  });
@@ -83,7 +84,7 @@ const canServerOwnerReachInternalUrls = async (serverConfig) => {
83
84
  return Boolean(ownerUser?.isAdmin);
84
85
  }
85
86
  catch (error) {
86
- console.warn('Failed to load server owner while disconnecting upstream OAuth', {
87
+ logger.warn('Failed to load server owner while disconnecting upstream OAuth', {
87
88
  serverName: serverConfig.owner,
88
89
  error: summarizeErrorForLogging(error),
89
90
  });
@@ -98,7 +99,9 @@ const waitForFreshAuthorizationUrl = async (serverName) => {
98
99
  if (serverInfo?.status === 'oauth_required' && serverInfo.oauth?.authorizationUrl) {
99
100
  return;
100
101
  }
101
- if (serverInfo && serverInfo.status !== 'connecting' && serverInfo.status !== 'oauth_required') {
102
+ if (serverInfo &&
103
+ serverInfo.status !== 'connecting' &&
104
+ serverInfo.status !== 'oauth_required') {
102
105
  return;
103
106
  }
104
107
  await sleep(OAUTH_RECONNECT_WAIT_INTERVAL_MS);
@@ -114,7 +117,7 @@ const restartServerOAuthFlow = async (serverName) => {
114
117
  await waitForFreshAuthorizationUrl(serverName);
115
118
  }
116
119
  catch (error) {
117
- console.warn('Failed to restart upstream OAuth authorization after disconnect', {
120
+ logger.warn('Failed to restart upstream OAuth authorization after disconnect', {
118
121
  serverName,
119
122
  error: summarizeErrorForLogging(error),
120
123
  });
@@ -1 +1 @@
1
- {"version":3,"file":"upstreamOAuthDisconnectService.js","sourceRoot":"","sources":["../../src/services/upstreamOAuthDisconnectService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upstreamOAuthDisconnectService.js","sourceRoot":"","sources":["../../src/services/upstreamOAuthDisconnectService.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import { getBearerKeyDao, getUserDao } from '../dao/index.js';
2
+ import { logger } from '../utils/logger.js';
2
3
  // Get all users
3
4
  export const getAllUsers = async () => {
4
5
  const userDao = getUserDao();
@@ -28,7 +29,7 @@ export const createNewUser = async (username, password, isAdmin = false, email)
28
29
  try {
29
30
  const reservedError = checkReservedUsername(username);
30
31
  if (reservedError) {
31
- console.warn(`User creation blocked: ${reservedError}`);
32
+ logger.warn(`User creation blocked: ${reservedError}`);
32
33
  return null;
33
34
  }
34
35
  const userDao = getUserDao();
@@ -39,7 +40,7 @@ export const createNewUser = async (username, password, isAdmin = false, email)
39
40
  return await userDao.createWithHashedPassword(username, password, isAdmin, email || undefined);
40
41
  }
41
42
  catch (error) {
42
- console.error('Failed to create user:', error);
43
+ logger.error('Failed to create user:', error);
43
44
  return null;
44
45
  }
45
46
  };
@@ -76,7 +77,7 @@ export const updateUser = async (username, data) => {
76
77
  return await userDao.findByUsername(username);
77
78
  }
78
79
  catch (error) {
79
- console.error('Failed to update user:', error);
80
+ logger.error('Failed to update user:', error);
80
81
  return null;
81
82
  }
82
83
  };
@@ -98,7 +99,7 @@ export const deleteUser = async (username) => {
98
99
  return deleted;
99
100
  }
100
101
  catch (error) {
101
- console.error('Failed to delete user:', error);
102
+ logger.error('Failed to delete user:', error);
102
103
  return false;
103
104
  }
104
105
  };
@@ -1 +1 @@
1
- {"version":3,"file":"userService.js","sourceRoot":"","sources":["../../src/services/userService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"userService.js","sourceRoot":"","sources":["../../src/services/userService.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,gBAAgB;AAChB,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,IAAsB,EAAE;IACtD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;AACjC,CAAC,CAAC;AAEF,uBAAuB;AACvB,MAAM,CAAC,MAAM,iBAAiB,GAAG,KAAK,EAAE,QAAgB,EAA8B,EAAE;IACtF,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,IAAI,IAAI,SAAS,CAAC;AAC3B,CAAC,CAAC;AAEF,4DAA4D;AAC5D,MAAM,kBAAkB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEhE;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,QAAgB,EAAiB,EAAE;IACvE,MAAM,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,aAAa,QAAQ,kCAAkC,CAAC;IACjE,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,oBAAoB;AACpB,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAChC,QAAgB,EAChB,QAAgB,EAChB,UAAmB,KAAK,EACxB,KAAc,EACS,EAAE;IACzB,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,CAAC,IAAI,CAAC,0BAA0B,aAAa,EAAE,CAAC,CAAC;YACvD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC,CAAC,sBAAsB;QACrC,CAAC;QAED,OAAO,MAAM,OAAO,CAAC,wBAAwB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,KAAK,IAAI,SAAS,CAAC,CAAC;IACjG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,0BAA0B;AAC1B,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAC7B,QAAgB,EAChB,IAAiE,EAC1C,EAAE;IACzB,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAEpD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,OAAO,IAAI,CAAC;QACd,CAAC;QAED,kCAAkC;QAClC,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;YACzE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,2BAA2B;QAC3B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC;YAC7E,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC;YACzE,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,sBAAsB;QACtB,OAAO,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,gBAAgB;AAChB,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAoB,EAAE;IACrE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;QAE7B,oCAAoC;QACpC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,YAAY,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC;QAEtE,IAAI,YAAY,EAAE,OAAO,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACrD,OAAO,KAAK,CAAC,CAAC,+BAA+B;QAC/C,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,eAAe,EAAE,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAAoB,EAAE;IACtE,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACpD,OAAO,IAAI,EAAE,OAAO,IAAI,KAAK,CAAC;AAChC,CAAC,CAAC;AAEF,iBAAiB;AACjB,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAAqB,EAAE;IACtD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,OAAO,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;AAC/B,CAAC,CAAC;AAEF,kBAAkB;AAClB,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,IAAqB,EAAE;IACvD,MAAM,OAAO,GAAG,UAAU,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,EAAE,CAAC;IAC1C,OAAO,MAAM,CAAC,MAAM,CAAC;AACvB,CAAC,CAAC"}