@samanhappy/mcphub 1.1.6 → 1.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clients/openapi.js +2 -1
- package/dist/clients/openapi.js.map +1 -1
- package/dist/controllers/authController.js +27 -1
- package/dist/controllers/authController.js.map +1 -1
- package/dist/controllers/configController.js +4 -1
- package/dist/controllers/configController.js.map +1 -1
- package/dist/controllers/groupController.js +21 -6
- package/dist/controllers/groupController.js.map +1 -1
- package/dist/controllers/metricsController.js +33 -0
- package/dist/controllers/metricsController.js.map +1 -0
- package/dist/controllers/oauthServerController.js +12 -14
- package/dist/controllers/oauthServerController.js.map +1 -1
- package/dist/controllers/serverController.js +117 -11
- package/dist/controllers/serverController.js.map +1 -1
- package/dist/dao/GroupDaoDbImpl.js +9 -0
- package/dist/dao/GroupDaoDbImpl.js.map +1 -1
- package/dist/dao/OAuthTokenDaoDbImpl.js +2 -0
- package/dist/dao/OAuthTokenDaoDbImpl.js.map +1 -1
- package/dist/dao/ServerDao.js.map +1 -1
- package/dist/dao/ServerDaoDbImpl.js.map +1 -1
- package/dist/db/entities/Group.js +8 -0
- package/dist/db/entities/Group.js.map +1 -1
- package/dist/db/entities/OAuthToken.js +4 -0
- package/dist/db/entities/OAuthToken.js.map +1 -1
- package/dist/db/entities/Server.js +4 -0
- package/dist/db/entities/Server.js.map +1 -1
- package/dist/middlewares/auth.js +7 -25
- package/dist/middlewares/auth.js.map +1 -1
- package/dist/middlewares/toolCallGuard.js +499 -0
- package/dist/middlewares/toolCallGuard.js.map +1 -0
- package/dist/middlewares/userContext.js +6 -34
- package/dist/middlewares/userContext.js.map +1 -1
- package/dist/models/OAuth.js +14 -93
- package/dist/models/OAuth.js.map +1 -1
- package/dist/routes/index.js +4 -1
- package/dist/routes/index.js.map +1 -1
- package/dist/services/betterAuthConfig.js +1 -0
- package/dist/services/betterAuthConfig.js.map +1 -1
- package/dist/services/contextCostService.js +3 -1
- package/dist/services/contextCostService.js.map +1 -1
- package/dist/services/groupService.js +1 -0
- package/dist/services/groupService.js.map +1 -1
- package/dist/services/mcpOAuthProvider.js +0 -2
- package/dist/services/mcpOAuthProvider.js.map +1 -1
- package/dist/services/mcpService.js +120 -45
- package/dist/services/mcpService.js.map +1 -1
- package/dist/services/metricsService.js +54 -0
- package/dist/services/metricsService.js.map +1 -0
- package/dist/services/oauthClientRegistration.js +1 -1
- package/dist/services/oauthClientRegistration.js.map +1 -1
- package/dist/services/oauthServerService.js +15 -1
- package/dist/services/oauthServerService.js.map +1 -1
- package/dist/services/openApiGeneratorService.js +3 -1
- package/dist/services/openApiGeneratorService.js.map +1 -1
- package/dist/services/personalOAuthService.js +70 -8
- package/dist/services/personalOAuthService.js.map +1 -1
- package/dist/services/registrationService.js +28 -0
- package/dist/services/registrationService.js.map +1 -0
- package/dist/services/smartRoutingService.js +7 -6
- package/dist/services/smartRoutingService.js.map +1 -1
- package/dist/services/templateService.js +3 -1
- package/dist/services/templateService.js.map +1 -1
- package/dist/services/toolResultCompressionService.js +26 -1
- package/dist/services/toolResultCompressionService.js.map +1 -1
- package/dist/services/userService.js +22 -4
- package/dist/services/userService.js.map +1 -1
- package/dist/utils/migration.js +4 -2
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/oauthBearer.js +4 -2
- package/dist/utils/oauthBearer.js.map +1 -1
- package/dist/utils/oauthRedirectUri.js +3 -11
- package/dist/utils/oauthRedirectUri.js.map +1 -1
- package/dist/utils/parameterConversion.js +9 -4
- package/dist/utils/parameterConversion.js.map +1 -1
- package/dist/utils/passthroughHeaders.js +17 -0
- package/dist/utils/passthroughHeaders.js.map +1 -0
- package/dist/utils/rateLimit.js +1 -1
- package/dist/utils/rateLimit.js.map +1 -1
- package/dist/utils/serialization.js +2 -5
- package/dist/utils/serialization.js.map +1 -1
- package/dist/utils/serverConfigValidation.js +2 -1
- package/dist/utils/serverConfigValidation.js.map +1 -1
- package/dist/utils/settingsSync.js +58 -5
- package/dist/utils/settingsSync.js.map +1 -1
- package/dist/utils/tokenTruncation.js +1 -1
- package/dist/utils/tokenTruncation.js.map +1 -1
- package/dist/utils/toolConfig.js +93 -0
- package/dist/utils/toolConfig.js.map +1 -0
- package/dist/utils/userSession.js +29 -0
- package/dist/utils/userSession.js.map +1 -0
- package/frontend/dist/assets/{ActivityPage-e2s2j32V.js → ActivityPage-CJdAfOUF.js} +2 -2
- package/frontend/dist/assets/{ActivityPage-e2s2j32V.js.map → ActivityPage-CJdAfOUF.js.map} +1 -1
- package/frontend/dist/assets/{CopyClientConfigDialog-B71Cl89b.js → CopyClientConfigDialog-DKktm8jj.js} +2 -2
- package/frontend/dist/assets/{CopyClientConfigDialog-B71Cl89b.js.map → CopyClientConfigDialog-DKktm8jj.js.map} +1 -1
- package/frontend/dist/assets/{CredentialsPage-BnA17pRJ.js → CredentialsPage-CPyZrp4Z.js} +2 -2
- package/frontend/dist/assets/{CredentialsPage-BnA17pRJ.js.map → CredentialsPage-CPyZrp4Z.js.map} +1 -1
- package/frontend/dist/assets/{Dashboard-gC_Z286J.js → Dashboard-DM_IiBIT.js} +2 -2
- package/frontend/dist/assets/{Dashboard-gC_Z286J.js.map → Dashboard-DM_IiBIT.js.map} +1 -1
- package/frontend/dist/assets/{EndpointCopy-BjD8ehcn.js → EndpointCopy-DHQjJesJ.js} +2 -2
- package/frontend/dist/assets/{EndpointCopy-BjD8ehcn.js.map → EndpointCopy-DHQjJesJ.js.map} +1 -1
- package/frontend/dist/assets/{GroupsPage-DiT_skCf.js → GroupsPage-VKHjil-L.js} +4 -4
- package/frontend/dist/assets/GroupsPage-VKHjil-L.js.map +1 -0
- package/frontend/dist/assets/LoginPage-CKrI0By4.js +2 -0
- package/frontend/dist/assets/LoginPage-CKrI0By4.js.map +1 -0
- package/frontend/dist/assets/{LogsPage-BzI3IAHO.js → LogsPage-Dh8gRpEH.js} +2 -2
- package/frontend/dist/assets/{LogsPage-BzI3IAHO.js.map → LogsPage-Dh8gRpEH.js.map} +1 -1
- package/frontend/dist/assets/{MarketPage-DVo32QTs.js → MarketPage-BN4qL8L9.js} +2 -2
- package/frontend/dist/assets/{MarketPage-DVo32QTs.js.map → MarketPage-BN4qL8L9.js.map} +1 -1
- package/frontend/dist/assets/{OAuthConsentPage-DUapnxQ9.js → OAuthConsentPage-Cyj-rrA4.js} +2 -2
- package/frontend/dist/assets/{OAuthConsentPage-DUapnxQ9.js.map → OAuthConsentPage-Cyj-rrA4.js.map} +1 -1
- package/frontend/dist/assets/{PromptsPage-BAqJay5m.js → PromptsPage-YWD04XeI.js} +2 -2
- package/frontend/dist/assets/{PromptsPage-BAqJay5m.js.map → PromptsPage-YWD04XeI.js.map} +1 -1
- package/frontend/dist/assets/{ResourcesPage-kIOm5X1A.js → ResourcesPage-CVRzHCf4.js} +2 -2
- package/frontend/dist/assets/{ResourcesPage-kIOm5X1A.js.map → ResourcesPage-CVRzHCf4.js.map} +1 -1
- package/frontend/dist/assets/ServersPage-DJBurfOe.js +39 -0
- package/frontend/dist/assets/ServersPage-DJBurfOe.js.map +1 -0
- package/frontend/dist/assets/{SettingsPage-DkMmUgCh.js → SettingsPage-3sK6NJRn.js} +6 -6
- package/frontend/dist/assets/SettingsPage-3sK6NJRn.js.map +1 -0
- package/frontend/dist/assets/{StatusDot-Bm_C7v3r.js → StatusDot-CLZidCyq.js} +2 -2
- package/frontend/dist/assets/{StatusDot-Bm_C7v3r.js.map → StatusDot-CLZidCyq.js.map} +1 -1
- package/frontend/dist/assets/{ToggleGroup-DcOtP3Gf.js → ToggleGroup-Dfh4jKpP.js} +2 -2
- package/frontend/dist/assets/{ToggleGroup-DcOtP3Gf.js.map → ToggleGroup-Dfh4jKpP.js.map} +1 -1
- package/frontend/dist/assets/{UsersPage-DpcbXD3K.js → UsersPage-DfFqSRVb.js} +2 -2
- package/frontend/dist/assets/{UsersPage-DpcbXD3K.js.map → UsersPage-DfFqSRVb.js.map} +1 -1
- package/frontend/dist/assets/{clipboard-CvokTzlX.js → clipboard-wUZFI68F.js} +2 -2
- package/frontend/dist/assets/{clipboard-CvokTzlX.js.map → clipboard-wUZFI68F.js.map} +1 -1
- package/frontend/dist/assets/framework-vendor-CQFm9vKd.js.map +1 -1
- package/frontend/dist/assets/index-BbogfcdA.js +3 -0
- package/frontend/dist/assets/index-BbogfcdA.js.map +1 -0
- package/frontend/dist/assets/{resourceService-CbZwkCgS.js → resourceService-D7yitP7i.js} +2 -2
- package/frontend/dist/assets/{resourceService-CbZwkCgS.js.map → resourceService-D7yitP7i.js.map} +1 -1
- package/frontend/dist/assets/{useCostData-DZ5NdhVp.js → useCostData-33G6s4EW.js} +2 -2
- package/frontend/dist/assets/{useCostData-DZ5NdhVp.js.map → useCostData-33G6s4EW.js.map} +1 -1
- package/frontend/dist/assets/{variableDetection-SMtrW-P5.js → variableDetection-BVSe56ia.js} +2 -2
- package/frontend/dist/assets/{variableDetection-SMtrW-P5.js.map → variableDetection-BVSe56ia.js.map} +1 -1
- package/frontend/dist/index.html +1 -1
- package/package.json +3 -2
- package/frontend/dist/assets/GroupsPage-DiT_skCf.js.map +0 -1
- package/frontend/dist/assets/LoginPage-DK3WmTV9.js +0 -2
- package/frontend/dist/assets/LoginPage-DK3WmTV9.js.map +0 -1
- package/frontend/dist/assets/ServersPage-CkUdGq0R.js +0 -39
- package/frontend/dist/assets/ServersPage-CkUdGq0R.js.map +0 -1
- package/frontend/dist/assets/SettingsPage-DkMmUgCh.js.map +0 -1
- package/frontend/dist/assets/index-DkQidC_d.js +0 -3
- package/frontend/dist/assets/index-DkQidC_d.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcpOAuthProvider.js","sourceRoot":"","sources":["../../src/services/mcpOAuthProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,mBAAmB,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,6BAA6B,GAE9B,MAAM,2BAA2B,CAAC;AACnC;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAU1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAEL,0BAA0B,EAE1B,4BAA4B,GAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAA8B,MAAM,yBAAyB,CAAC;AAEvF,8CAA8C;AAC9C,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAK5C;;;;;;GAMG;AACH,MAAM,OAAO,mBAAmB;IAY9B,YAAY,UAAkB,EAAE,YAA0B,EAAE,oBAA6B;QACvF,IAAI,CAAC,QAAQ,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QACxD,IAAI,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ;YAClD,MAAM,6BAA6B,CAAC,UAAU,CAAC,CAAC;QAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC;QACrD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,QAAQ;YAC/B,CAAC,CAAC,EAAE,GAAG,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE;YACxD,CAAC,CAAC,YAAY,CAAC;QACjB,IAAI,CAAC,qBAAqB,GAAG,oBAAoB,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,UAAkB,EAClB,YAA0B;QAE1B,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;QAC7C,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC;QACjD,MAAM,oBAAoB,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;QACjE,OAAO,IAAI,mBAAmB,CAAC,UAAU,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAC;IACjF,CAAC;IAEO,uBAAuB;QAC7B,OAAO,IAAI,CAAC,qBAAqB,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,QAAa;QAC5C,wEAAwE;QACxE,kEAAkE;QAClE,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACvD,IAAI,QAAQ,CAAC,QAAQ,KAAK,OAAO,IAAI,MAAM,EAAE,KAAK,EAAE,0BAA0B,KAAK,IAAI,EAAE,CAAC;YACxF,OAAO,KAAK,CAAC;QACf,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,qEAAqE,EAAE;YACjF,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,mBAAmB,EAAE,QAAQ,CAAC,MAAM;SACrC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,WAAW;QACb,OAAO,CACL,4BAA4B,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,CAAC;YAClF,0BAA0B,CAC3B,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,IAAI,cAAc;QAChB,MAAM,aAAa,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,mBAAmB,CAAC;QACnE,MAAM,QAAQ,GAAG,aAAa,EAAE,QAAQ,IAAI,EAAE,CAAC;QAE/C,2DAA2D;QAC3D,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACrC,MAAM,YAAY,GAAG,4BAA4B,CAC/C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,uBAAuB,EAAE,CAC/B,CAAC;QAEF,MAAM,uBAAuB,GAC3B,QAAQ,CAAC,0BAA0B,IAAI,QAAQ,CAAC,0BAA0B,KAAK,EAAE;YAC/E,CAAC,CAAC,QAAQ,CAAC,0BAA0B;YACrC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,YAAY;gBACrC,CAAC,CAAC,oBAAoB;gBACtB,CAAC,CAAC,MAAM,CAAC;QAEf,yFAAyF;QACzF,2FAA2F;QAC3F,4FAA4F;QAC5F,mFAAmF;QACnF,MAAM,gBAAgB,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QACzD,MAAM,KAAK,GACT,QAAQ,CAAC,KAAK,IAAI,CAAC,gBAAgB,KAAK,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;QAE7F,OAAO;YACL,GAAG,QAAQ,EAAE,yCAAyC;YACtD,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,YAAY,IAAI,CAAC,UAAU,EAAE;YAClE,aAAa,EAAE,YAAY;YAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,CAAC,oBAAoB,EAAE,eAAe,CAAC;YAC5E,cAAc,EAAE,QAAQ,CAAC,cAAc,IAAI,CAAC,MAAM,CAAC;YACnD,0BAA0B,EAAE,uBAAuB;YACnD,KAAK;SACN,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,sBAAsB;QAClC,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;QACxC,MAAM,cAAc,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,MAAM,CAAC;QAEvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,qFAAqF;QACrF,4FAA4F;QAC5F,yBAAyB;QACzB,IAAI,cAAc,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,SAAS,EACT,MAAM,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAC1C,CAAC;YACF,uFAAuF;YACvF,6BAA6B;YAC7B,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;gBACzB,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAC3D,IAAI,CAAC,UAAU,EACf,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;oBACZ,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;gBACxB,CAAC,CACF,CAAC;gBACF,IAAI,aAAa,EAAE,CAAC;oBAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;gBACpC,CAAC;gBACD,MAAM,CAAC,GAAG,CAAC,mCAAmC,EAAE;oBAC9C,UAAU,EAAE,IAAI,CAAC,UAAU;oBAC3B,MAAM;iBACP,CAAC,CAAC;gBACH,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBAChD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QAED,OAAO,cAAc,CAAC;IACxB,CAAC;IAEO,aAAa;QACnB,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,IAAI,CAAC,UAAU;YACvB,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC;SACvC,CAAC;QACF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACvE,OAAO,CACL,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;YAClC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAClE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACxB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAC5C,CAAC;QACD,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,iBAAiB;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpF,kEAAkE;QAClE,0EAA0E;QAC1E,2EAA2E;QAC3E,yCAAyC;QACzC,MAAM,uBAAuB,GAAG,IAAI,CAAC,cAAc,CAAC,0BAA0B,CAAC;QAE/E,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,kEAAkE;YAClE,2DAA2D;YAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;YAEvC,2DAA2D;YAC3D,IAAI,YAAY,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC;gBAClC,OAAO;oBACL,SAAS,EAAE,YAAY,CAAC,KAAK,CAAC,QAAQ;oBACtC,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY;oBAC9C,0BAA0B,EAAE,uBAAuB;iBACpD,CAAC;YACJ,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,SAAS,EAAE,UAAU,CAAC,QAAQ;YAC9B,aAAa,EAAE,UAAU,CAAC,YAAY;YACtC,0BAA0B,EAAE,uBAAuB;SACpD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CAAC,IAAgC;QAC1D,MAAM,CAAC,GAAG,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAE/E,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC;QACvC,MAAM,MAAM,GACV,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YAC9D,CAAC,CAAC,SAAS,CAAC;QAEhB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,wBAAwB,CAAC,IAAI,CAAC,UAAU,EAAE;gBAClF,QAAQ,EAAE,IAAI,CAAC,SAAS;gBACxB,YAAY,EAAE,IAAI,CAAC,aAAa;gBAChC,MAAM;aACP,CAAC,CAAC;YAEH,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YACpC,CAAC;YAED,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,MAAM,IAAI,CAAC,sBAAsB,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBACzD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,iFAAiF;QACjF,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC;QAEvC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC;YACtC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO;YACL,YAAY,EAAE,YAAY,CAAC,KAAK,CAAC,WAAW;YAC5C,UAAU,EAAE,QAAQ;YACpB,aAAa,EAAE,YAAY,CAAC,KAAK,CAAC,YAAY;YAC9C,kEAAkE;YAClE,gDAAgD;SACjD,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,UAAU,CAAC,MAAmB;QAClC,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC;QAC7C,MAAM,kBAAkB,GAAG,YAAY,EAAE,WAAW,KAAK,MAAM,CAAC,YAAY,CAAC;QAC7E,MAAM,oBAAoB,GAAG,MAAM,CAAC,aAAa,KAAK,SAAS,CAAC;QAChE,MAAM,mBAAmB,GACvB,oBAAoB,IAAI,YAAY,EAAE,YAAY,KAAK,MAAM,CAAC,aAAa,CAAC;QAC9E,MAAM,UAAU,GAAG,OAAO,CAAC,YAAY,EAAE,oBAAoB,CAAC,CAAC;QAE/D,IAAI,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,IAAI,CAAC,UAAU,EAAE,CAAC;YAC/D,OAAO;QACT,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,qBAAqB,EAAE;YAChC,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,cAAc,EAAE,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC;YAC5C,eAAe,EAAE,OAAO,CAAC,MAAM,CAAC,aAAa,CAAC;SAC/C,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,UAAU,EAAE;YACvE,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,YAAY,EAAE,oBAAoB,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;YAC/E,yBAAyB,EAAE,UAAU;SACtC,CAAC,CAAC;QAEH,IAAI,aAAa,EAAE,CAAC;YAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;QACpC,CAAC;QAED,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;QAC/B,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;QACjC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAE9B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,UAAU,EAAE,CAAC;YACf,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;QAC/B,CAAC;QAED,MAAM,CAAC,GAAG,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,0EAA0E;IAC1E,2EAA2E;IAC3E,kBAAkB,CAAC,KAA0B;QAC3C,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,MAAM,QAAQ,GAAG,KAAK,CAAC,2BAA2B,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,QAAQ,EAAE,MAAM,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,OAAO,CACzB,QAAQ;YACN,gDAAgD,IAAI,QAAQ;YAC5D,QAAQ,CAAC,8CAA8C,KAAK,IAAI,CACnE,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,cAAc;QAClB,IAAI,IAAI,CAAC,eAAe;YAAE,OAAO,IAAI,CAAC,eAAe,CAAC;QAEtD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,KAAK,GAAG,YAAY,EAAE,KAAK,EAAE,oBAAoB,EAAE,cAAc,CAAC;QACxE,IAAI,KAAK,IAAI,YAAY,EAAE,CAAC;YAC1B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;QACjC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,uBAAuB,CAAC,GAAQ;QACpC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,MAAM,CAAC,GAAG,CAAC,4CAA4C,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC,QAAQ;YAAE,MAAM,CAAC,GAAG,CAAC,sBAAsB,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QACvE,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,SAAS,CAAC;QAEvD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;YAC3B,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC;QAED,MAAM,gBAAgB,GAAG,GAAG,CAAC,QAAQ,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,MAAM,aAAa,GAAwE;gBACzF,gBAAgB;gBAChB,cAAc,EAAE,IAAI,CAAC,eAAe;gBACpC,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM;gBAC5E,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,KAAK;aACN,CAAC;YAEF,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,aAAa,CAAC,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;YAClD,CAAC;YAED,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAClE,IAAI,CAAC,UAAU,EACf,aAAa,CACd,CAAC;YACF,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,qDAAqD,EAAE;gBAClE,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;YACH,MAAM,KAAK,CAAC;QACd,CAAC;QAED,uEAAuE;QACvE,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChF,IAAI,UAAU,EAAE,CAAC;YACf,oEAAoE;YACpE,wEAAwE;YACxE,yEAAyE;YACzE,6EAA6E;YAC7E,0EAA0E;YAC1E,uEAAuE;YACvE,uEAAuE;YACvE,kEAAkE;YAClE,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,UAAU,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YACxC,CAAC;YACD,UAAU,CAAC,MAAM,GAAG,gBAAgB,CAAC;YACrC,UAAU,CAAC,KAAK,GAAG;gBACjB,gBAAgB;gBAChB,MAAM,EAAE,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM;gBAC5E,WAAW,EAAE,IAAI,CAAC,YAAY;gBAC9B,KAAK;gBACL,wEAAwE;gBACxE,0EAA0E;gBAC1E,uEAAuE;gBACvE,yEAAyE;gBACzE,4EAA4E;gBAC5E,6EAA6E;gBAC7E,0EAA0E;gBAC1E,kFAAkF;gBAClF,gFAAgF;gBAChF,2FAA2F;gBAC3F,kBAAkB,EAAE,OAAO,CAAC,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC;aAChE,CAAC;YACF,MAAM,CAAC,GAAG,CAAC,+CAA+C,EAAE;gBAC1D,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,6DAA6D,EAAE;gBACzE,UAAU,EAAE,IAAI,CAAC,UAAU;aAC5B,CAAC,CAAC;QACL,CAAC;QAED,kDAAkD;QAClD,4EAA4E;QAC5E,MAAM,IAAI,KAAK,CACb,2CAA2C,IAAI,CAAC,UAAU,0CAA0C,CACrG,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,gBAAgB,CAAC,QAAgB;QACrC,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,IAAI,CAAC,UAAU,EAAE;gBACpF,YAAY,EAAE,QAAQ;aACvB,CAAC,CAAC;YACH,IAAI,aAAa,EAAE,CAAC;gBAClB,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YACpC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE;gBACpD,UAAU,EAAE,IAAI,CAAC,UAAU;gBAC3B,KAAK;aACN,CAAC,CAAC;QACL,CAAC;QACD,MAAM,CAAC,GAAG,CAAC,2BAA2B,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC3E,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,YAAY;QAChB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO,IAAI,CAAC,aAAa,CAAC;QAC5B,CAAC;QAED,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC3E,MAAM,cAAc,GAAG,YAAY,EAAE,KAAK,EAAE,oBAAoB,EAAE,YAAY,CAAC;QAE/E,IAAI,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,YAAY,GAAG,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC;YACtD,IAAI,CAAC,aAAa,GAAG,cAAc,CAAC;YACpC,OAAO,cAAc,CAAC;QACxB,CAAC;QAED,MAAM,IAAI,KAAK,CAAC,uCAAuC,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,qBAAqB,CACzB,KAA6D;QAE7D,IAAI,KAAK,KAAK,WAAW,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YACrE,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;YACjC,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC;YACzB,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC;QAChC,CAAC;QACD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAE3E,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,CAAC;YACzB,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;gBAC5C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YACjC,CAAC;YACD,OAAO;QACT,CAAC;QAED,IAAI,aAAa,GAAG,YAAqC,CAAC;QAC1D,MAAM,mBAAmB,GAAG,CAAC,OAA+B,EAAE,EAAE;YAC9D,IAAI,OAAO,EAAE,CAAC;gBACZ,aAAa,GAAG,OAAO,CAAC;gBACxB,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,YAAY,GAAG,aAAa,CAAC;YACpC,CAAC;QACH,CAAC,CAAC;QAEF,mBAAmB,CAAC,aAAa,CAAC,CAAC;QACnC,IAAI,OAAO,GAAG,KAAK,CAAC;QAEpB,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1C,IAAI,aAAa,CAAC,KAAK,CAAC,WAAW,IAAI,aAAa,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;gBACxE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC9E,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC1C,MAAM,qBAAqB,GAAG,aAAa,CAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,KAAK,IAAI,CAAC;YAExF,IACE,qBAAqB;gBACrB,CAAC,aAAa,CAAC,KAAK,CAAC,QAAQ,IAAI,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,EAClE,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,QAAQ;oBAAE,sBAAsB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBAC5D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;gBAC9E,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;gBACf,MAAM,CAAC,IAAI,CAAC,mCAAmC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YACpF,CAAC;QACH,CAAC;QAED,IAAI,KAAK,KAAK,WAAW,IAAI,aAAa,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;YACtE,mBAAmB,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC,CAAC;QACxF,CAAC;QAED,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,KAAK,EAAE,CAAC;YAC5C,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,IAAI,aAAa,CAAC,KAAK,CAAC,oBAAoB,EAAE,CAAC;gBAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;gBAChF,mBAAmB,CAAC,OAAO,CAAC,CAAC;gBAC7B,OAAO,GAAG,IAAI,CAAC;YACjB,CAAC;QACH,CAAC;QAED,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;YAC/B,MAAM,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAChF,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,CAAC,MAAM,GAAG,gBAAgB,CAAC;gBACrC,UAAU,CAAC,KAAK,GAAG,SAAS,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;CACF;AAED,MAAM,0BAA0B,GAAG,KAAK,EACtC,UAAkB,EAClB,YAA0B,EACX,EAAE;IACjB,qFAAqF;IACrF,sEAAsE;IACtE,IAAI,YAAY,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,EAAE,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CACxC,YAAY,CAAC,GAAG,EAChB,MAAM,gBAAgB,CAAC,YAAY,CAAC,CACrC,CAAC;QACF,wFAAwF;QACxF,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,oFAAoF;YACpF,sFAAsF;YACtF,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;gBACxB,YAAY,CAAC,KAAK,GAAG,EAAE,CAAC;YAC1B,CAAC;YACD,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YAEnC,MAAM,KAAK,GAAG,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,mBAAmB,CAAC;YAC7E,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,mBAAmB,CAAC,UAAU,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE;gBAC9E,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC;YACxB,CAAC,CAAC,CAAC;YAEH,IAAI,aAAa,EAAE,CAAC;gBAClB,MAAM,CAAC,GAAG,CAAC,kEAAkE,EAAE;oBAC7E,UAAU;oBACV,MAAM;iBACP,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,mEAAmE,EAAE;YAC/E,UAAU;YACV,KAAK;SACN,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAAC,OAAgC,EAAW,EAAE;IAC3E,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,KAAK,CAAC;IACf,CAAC;IACD,OAAO,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,WAAW,EAAE,KAAK,eAAe,CAAC,CAAC;AACnF,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,UAAkB,EAClB,YAA0B,EACgB,EAAE;IAC5C,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC;IACjC,IAAI,gBAAgB,CAAC,YAAY,CAAC,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,YAAY,CAAC;QAC5E,MAAM,6BAA6B,CAAC,UAAU,CAAC,CAAC;IAElD,4EAA4E;IAC5E,8EAA8E;IAC9E,+EAA+E;IAC/E,iFAAiF;IACjF,iFAAiF;IACjF,iEAAiE;IACjE,MAAM,cAAc,GAAG,OAAO,CAC5B,KAAK;QACH,CAAC,KAAK,CAAC,YAAY,KAAK,UAAU;YAChC,KAAK,CAAC,QAAQ;YACd,KAAK,CAAC,WAAW;YACjB,KAAK,CAAC,YAAY;YAClB,KAAK,CAAC,qBAAqB;YAC3B,KAAK,CAAC,aAAa;YACnB,KAAK,CAAC,mBAAmB,EAAE,OAAO;YAClC,KAAK,CAAC,mBAAmB,EAAE,MAAM;YACjC,KAAK,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CACrD,CAAC;IAEF,IAAI,CAAC,cAAc,IAAI,sBAAsB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QACpE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,6FAA6F;IAC7F,MAAM,0BAA0B,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE3D,oEAAoE;IACpE,uEAAuE;IACvE,IAAI,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC;YAAE,MAAM,wBAAwB,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAChG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,uCAAuC,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,uDAAuD;IACzD,CAAC;IAED,0DAA0D;IAC1D,MAAM,QAAQ,GAAG,MAAM,mBAAmB,CAAC,MAAM,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IAE5E,MAAM,CAAC,GAAG,CAAC,wBAAwB,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;IACrE,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"mcpOAuthProvider.js","sourceRoot":"","sources":["../../src/services/mcpOAuthProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { isSafePassthroughHeader } from '../utils/passthroughHeaders.js';
|
|
2
|
+
import { observeToolCall, setMetricsServer } from './metricsService.js';
|
|
1
3
|
import { hasPersonalOAuth, PersonalOAuthContext, personalOAuthContexts, personalAuthorizationRequired, } from './personalOAuthService.js';
|
|
2
4
|
import { preserveListFreshness, combineListFreshness, remainingListTtl, } from '../utils/listFreshness.js';
|
|
3
5
|
import { expandServerConfig, getServerEnvironment } from './serverConfigEnvironment.js';
|
|
@@ -8,6 +10,8 @@ import { AsyncLocalStorage } from 'node:async_hooks';
|
|
|
8
10
|
import { createHash } from 'node:crypto';
|
|
9
11
|
import { canAccessGroupRoute } from '../utils/groupAccess.js';
|
|
10
12
|
import { canServeToolRequests } from '../utils/serverAvailability.js';
|
|
13
|
+
import { assertToolCallArgumentsSafe, isToolCallGuardEnabled, ToolCallBlockedError, } from '../middlewares/toolCallGuard.js';
|
|
14
|
+
import { applyHiddenParams, findToolConfig, removeHiddenArguments, } from '../utils/toolConfig.js';
|
|
11
15
|
import { PrincipalRuntimeService } from './principalRuntimeService.js';
|
|
12
16
|
import { UserContextService } from './userContextService.js';
|
|
13
17
|
import { deleteCredentialBindings, missingCredentialError } from './credentialBindingService.js';
|
|
@@ -230,12 +234,26 @@ export const initUpstreamServers = async () => {
|
|
|
230
234
|
// Initialize smart routing service with references to mcpService functions
|
|
231
235
|
initSmartRoutingService(getVisibleServerInfos, filterToolsByConfig, filterToolsByGroup);
|
|
232
236
|
};
|
|
237
|
+
// Blank parts are dropped; nothing left means no instructions at all, not "".
|
|
238
|
+
const joinInstructions = (...parts) => parts
|
|
239
|
+
.map((part) => part?.trim())
|
|
240
|
+
.filter(Boolean)
|
|
241
|
+
.join('\n\n') || undefined;
|
|
242
|
+
// Instructions of the group a route names ($smart/<group> or <group>), for a
|
|
243
|
+
// caller allowed on that route. Bare $smart and server-name routes have no group.
|
|
244
|
+
const getGroupInstructions = async (group) => {
|
|
245
|
+
const lookupGroup = getGroupLookupName(group);
|
|
246
|
+
const foundGroup = lookupGroup ? await findRouteGroup(lookupGroup) : null;
|
|
247
|
+
return foundGroup && canAccessGroupRoute(foundGroup) ? foundGroup.instructions : undefined;
|
|
248
|
+
};
|
|
233
249
|
const getMcpServerDescriptor = async (group) => {
|
|
250
|
+
const groupInstructions = await getGroupInstructions(group);
|
|
234
251
|
if (!group || isSmartRoutingGroup(group)) {
|
|
235
252
|
return {
|
|
236
253
|
name: config.mcpHubName,
|
|
237
254
|
version: config.mcpHubVersion,
|
|
238
255
|
group,
|
|
256
|
+
instructions: joinInstructions(groupInstructions),
|
|
239
257
|
};
|
|
240
258
|
}
|
|
241
259
|
const { filteredServerInfos } = await getFilteredServerInfosForGroup(group);
|
|
@@ -244,7 +262,7 @@ const getMcpServerDescriptor = async (group) => {
|
|
|
244
262
|
return {
|
|
245
263
|
name: serverInfo.name,
|
|
246
264
|
version: serverInfo.version || config.mcpHubVersion,
|
|
247
|
-
instructions: serverInfo.instructions,
|
|
265
|
+
instructions: joinInstructions(groupInstructions, serverInfo.instructions),
|
|
248
266
|
appendGroupSuffix: false,
|
|
249
267
|
};
|
|
250
268
|
}
|
|
@@ -252,6 +270,7 @@ const getMcpServerDescriptor = async (group) => {
|
|
|
252
270
|
name: config.mcpHubName,
|
|
253
271
|
version: config.mcpHubVersion,
|
|
254
272
|
group,
|
|
273
|
+
instructions: joinInstructions(groupInstructions),
|
|
255
274
|
appendGroupSuffix: true,
|
|
256
275
|
};
|
|
257
276
|
};
|
|
@@ -488,6 +507,8 @@ const hasDescriptionOverride = (config) => {
|
|
|
488
507
|
const resolveDescriptionOverride = (defaultDescription, config) => {
|
|
489
508
|
return hasDescriptionOverride(config) ? config?.description || '' : defaultDescription || '';
|
|
490
509
|
};
|
|
510
|
+
// The dashboard/API projection keeps the full input schema (the dashboard
|
|
511
|
+
// lists every parameter to choose what to hide) and reports the configured list.
|
|
491
512
|
const buildToolWithDescriptionMetadata = (tool, toolConfig) => {
|
|
492
513
|
const upstreamDescription = tool.description || '';
|
|
493
514
|
return {
|
|
@@ -495,13 +516,15 @@ const buildToolWithDescriptionMetadata = (tool, toolConfig) => {
|
|
|
495
516
|
description: resolveDescriptionOverride(upstreamDescription, toolConfig),
|
|
496
517
|
defaultDescription: upstreamDescription,
|
|
497
518
|
hasDescriptionOverride: hasDescriptionOverride(toolConfig),
|
|
519
|
+
...(toolConfig?.hiddenParams?.length ? { hiddenParams: toolConfig.hiddenParams } : {}),
|
|
498
520
|
enabled: toolConfig?.enabled !== false,
|
|
499
521
|
};
|
|
500
522
|
};
|
|
501
|
-
// Apply any per-tool description override before the tool
|
|
502
|
-
// Smart Routing search. Deliberately narrower than
|
|
503
|
-
// only `description` (plus the
|
|
504
|
-
// tool-set hash)
|
|
523
|
+
// Apply any per-tool description override and hidden parameters before the tool
|
|
524
|
+
// text is embedded for Smart Routing search. Deliberately narrower than
|
|
525
|
+
// buildToolWithDescriptionMetadata: only `description` (plus the
|
|
526
|
+
// hasDescriptionOverride marker used by the tool-set hash) and `inputSchema`
|
|
527
|
+
// are touched, so serverInfo.tools (built by
|
|
505
528
|
// normalizeToolForCache/updateServerToolsCache) still never carries `enabled` --
|
|
506
529
|
// preserving the existing invariant that execution gating reads the persisted
|
|
507
530
|
// config directly, not this projection. Without this step, overrides only
|
|
@@ -512,16 +535,18 @@ const applyDescriptionOverridesForEmbedding = async (serverName, tools) => {
|
|
|
512
535
|
if (!serverConfig?.tools) {
|
|
513
536
|
return tools;
|
|
514
537
|
}
|
|
538
|
+
// A partial sync passes only some tools; the key rule needs all of them
|
|
539
|
+
const runtimeNames = (getServerByName(serverName)?.tools ?? tools).map((tool) => tool.name);
|
|
515
540
|
return tools.map((tool) => {
|
|
516
|
-
const
|
|
517
|
-
const
|
|
541
|
+
const toolConfig = findToolConfig(serverConfig.tools, serverName, tool.name, runtimeNames);
|
|
542
|
+
const visibleTool = applyHiddenParams(tool, toolConfig);
|
|
518
543
|
return hasDescriptionOverride(toolConfig)
|
|
519
544
|
? {
|
|
520
|
-
...
|
|
545
|
+
...visibleTool,
|
|
521
546
|
description: resolveDescriptionOverride(tool.description, toolConfig),
|
|
522
547
|
hasDescriptionOverride: true,
|
|
523
548
|
}
|
|
524
|
-
:
|
|
549
|
+
: visibleTool;
|
|
525
550
|
});
|
|
526
551
|
};
|
|
527
552
|
// Tail of the embedding tasks queued per server. A per-user connect and a
|
|
@@ -911,6 +936,9 @@ export const getServerConnectionStats = () => {
|
|
|
911
936
|
// Personal definitions have no shared connection whose readiness can be checked.
|
|
912
937
|
return summarizeServerConnections(serverInfos.filter((info) => !hasPersonalAuthentication(info.config)));
|
|
913
938
|
};
|
|
939
|
+
export const getMetricsServerSnapshot = () => serverInfos
|
|
940
|
+
.filter((info) => info.enabled !== false && !hasPersonalAuthentication(info.config))
|
|
941
|
+
.map((info) => ({ status: info.status, type: inferServerType(info.config) || 'unknown' }));
|
|
914
942
|
// Returns true if all enabled servers are connected
|
|
915
943
|
export const connected = () => {
|
|
916
944
|
const { total, connected: connectedServers } = getServerConnectionStats();
|
|
@@ -1142,7 +1170,7 @@ export const collectPassthroughHeaders = (requestHeaders, passthroughHeaderNames
|
|
|
1142
1170
|
const passthroughHeaders = {};
|
|
1143
1171
|
for (const headerName of passthroughHeaderNames) {
|
|
1144
1172
|
const normalizedHeaderName = headerName.trim();
|
|
1145
|
-
if (!normalizedHeaderName) {
|
|
1173
|
+
if (!isSafePassthroughHeader(normalizedHeaderName)) {
|
|
1146
1174
|
continue;
|
|
1147
1175
|
}
|
|
1148
1176
|
const headerValue = headerValueToString(getHeaderValue(requestHeaders, normalizedHeaderName));
|
|
@@ -1331,6 +1359,16 @@ export const createTransportFromConfig = async (name, conf) => {
|
|
|
1331
1359
|
}
|
|
1332
1360
|
return transport;
|
|
1333
1361
|
};
|
|
1362
|
+
// Call arguments without the tool's hidden parameters; `toolName` is the bare upstream name.
|
|
1363
|
+
// Looked up by the cached runtime name: findToolConfig removes one server prefix,
|
|
1364
|
+
// so a bare name that itself starts with the prefix (server `fc`, tool
|
|
1365
|
+
// `fc-scrape`) would otherwise resolve to the wrong entry.
|
|
1366
|
+
const withoutHiddenArguments = (serverInfo, toolName, args) => {
|
|
1367
|
+
const runtimeName = `${serverInfo.name}${getNameSeparator()}${toolName}`;
|
|
1368
|
+
const tool = serverInfo.tools?.find((candidate) => candidate.name === runtimeName);
|
|
1369
|
+
const toolConfig = findToolConfig(serverInfo.config?.tools, serverInfo.name, runtimeName, (serverInfo.tools ?? []).map((candidate) => candidate.name));
|
|
1370
|
+
return removeHiddenArguments(args, tool?.inputSchema, toolConfig);
|
|
1371
|
+
};
|
|
1334
1372
|
// Helper function to handle client.callTool with reconnection logic
|
|
1335
1373
|
const callToolWithReconnect = async (serverInfo, toolParams, options, maxRetries = 1, isolated) => {
|
|
1336
1374
|
// Local, reassignable refs so a reconnect can swap in the new connection for
|
|
@@ -1341,6 +1379,11 @@ const callToolWithReconnect = async (serverInfo, toolParams, options, maxRetries
|
|
|
1341
1379
|
if (!client) {
|
|
1342
1380
|
throw new Error(`Client not found for server: ${serverInfo.name}`);
|
|
1343
1381
|
}
|
|
1382
|
+
// Both MCP call paths pass through here, so hidden parameters are dropped once.
|
|
1383
|
+
toolParams = {
|
|
1384
|
+
...toolParams,
|
|
1385
|
+
arguments: withoutHiddenArguments(serverInfo, toolParams.name, toolParams.arguments),
|
|
1386
|
+
};
|
|
1344
1387
|
if (hasPersonalAuthentication(serverInfo.config)) {
|
|
1345
1388
|
return client.callTool(toolParams, options || {});
|
|
1346
1389
|
}
|
|
@@ -2074,11 +2117,8 @@ export const getServersInfo = async (page, limit, user) => {
|
|
|
2074
2117
|
// as the dashboard sends, or bare, as a direct API call may) with no
|
|
2075
2118
|
// normalization — check both so the dashboard reflects a disable set
|
|
2076
2119
|
// either way instead of always showing enabled:true for one of them.
|
|
2077
|
-
const
|
|
2078
|
-
|
|
2079
|
-
const toolConfig = serverConfig?.tools?.[tool.name] ?? serverConfig?.tools?.[bareToolName];
|
|
2080
|
-
return buildToolWithDescriptionMetadata(tool, toolConfig);
|
|
2081
|
-
});
|
|
2120
|
+
const runtimeNames = tools.map((tool) => tool.name);
|
|
2121
|
+
const toolsWithEnabled = tools.map((tool) => buildToolWithDescriptionMetadata(tool, findToolConfig(serverConfig?.tools, name, tool.name, runtimeNames)));
|
|
2082
2122
|
const promptsWithEnabled = prompts.map((prompt) => {
|
|
2083
2123
|
const promptConfig = serverConfig?.prompts?.[prompt.name];
|
|
2084
2124
|
return {
|
|
@@ -2319,12 +2359,12 @@ const filterToolsByConfig = async (serverName, tools) => {
|
|
|
2319
2359
|
// If no tool configuration exists, all tools are enabled by default
|
|
2320
2360
|
return tools;
|
|
2321
2361
|
}
|
|
2362
|
+
// Callers may pass a subset; the key rule needs every tool of the server
|
|
2363
|
+
const runtimeNames = (getServerByName(serverName)?.tools ?? tools).map((tool) => tool.name);
|
|
2322
2364
|
return tools.filter((tool) => {
|
|
2323
|
-
//
|
|
2324
|
-
//
|
|
2325
|
-
|
|
2326
|
-
const bareToolName = normalizeToolNameForServer(serverName, tool.name);
|
|
2327
|
-
const toolConfig = serverConfig.tools?.[tool.name] ?? serverConfig.tools?.[bareToolName];
|
|
2365
|
+
// A disable may be stored under the runtime or the bare name — same key rule
|
|
2366
|
+
// as findToolOnServer's execution-time gate (findToolConfig).
|
|
2367
|
+
const toolConfig = findToolConfig(serverConfig.tools, serverName, tool.name, runtimeNames);
|
|
2328
2368
|
// If tool is not in config, it's enabled by default
|
|
2329
2369
|
return toolConfig?.enabled !== false;
|
|
2330
2370
|
});
|
|
@@ -2969,16 +3009,11 @@ const findToolOnServer = (serverInfo, toolName, allowRawName) => {
|
|
|
2969
3009
|
// which is a different object. So the persisted per-tool config must be
|
|
2970
3010
|
// consulted directly here.
|
|
2971
3011
|
//
|
|
2972
|
-
//
|
|
2973
|
-
//
|
|
2974
|
-
//
|
|
2975
|
-
//
|
|
2976
|
-
|
|
2977
|
-
// pass the bare upstream name, which then never matches a prefixed-only
|
|
2978
|
-
// lookup. Check both so a disable takes effect regardless of which form
|
|
2979
|
-
// was used to set it.
|
|
2980
|
-
const bareToolName = normalizeToolNameForServer(serverInfo.name, tool.name);
|
|
2981
|
-
const toolConfig = serverInfo.config?.tools?.[tool.name] ?? serverInfo.config?.tools?.[bareToolName];
|
|
3012
|
+
// A disable may be stored under the runtime (prefixed) name, as the
|
|
3013
|
+
// dashboard writes it, or under the bare upstream name, as a settings file
|
|
3014
|
+
// or a direct API call may. findToolConfig checks both, and never reads
|
|
3015
|
+
// another tool's runtime key as this tool's bare name.
|
|
3016
|
+
const toolConfig = findToolConfig(serverInfo.config?.tools, serverInfo.name, tool.name, serverInfo.tools.map((candidate) => candidate.name));
|
|
2982
3017
|
if (toolConfig && toolConfig.enabled === false) {
|
|
2983
3018
|
return undefined;
|
|
2984
3019
|
}
|
|
@@ -3079,12 +3114,13 @@ const listGroupTools = async (group, filteredServerInfos, serverConfigsByName, a
|
|
|
3079
3114
|
let tools = await filterToolsByConfig(serverInfo.name, serverInfo.tools);
|
|
3080
3115
|
// If this is a group request, apply group-level tool filtering
|
|
3081
3116
|
tools = await filterToolsByGroup(group, serverInfo.name, tools, groupServerConfig);
|
|
3082
|
-
// Apply custom descriptions from server configuration
|
|
3117
|
+
// Apply custom descriptions and hidden parameters from server configuration
|
|
3083
3118
|
const serverConfig = await getServerDao().findById(serverInfo.name);
|
|
3119
|
+
const runtimeNames = serverInfo.tools.map((tool) => tool.name);
|
|
3084
3120
|
const toolsWithCustomDescriptions = tools.map((tool) => {
|
|
3085
|
-
const toolConfig = serverConfig?.tools
|
|
3121
|
+
const toolConfig = findToolConfig(serverConfig?.tools, serverInfo.name, tool.name, runtimeNames);
|
|
3086
3122
|
return {
|
|
3087
|
-
...tool,
|
|
3123
|
+
...applyHiddenParams(tool, toolConfig),
|
|
3088
3124
|
description: resolveDescriptionOverride(tool.description, toolConfig),
|
|
3089
3125
|
};
|
|
3090
3126
|
});
|
|
@@ -3168,6 +3204,31 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3168
3204
|
logger.log('Handling CallToolRequest for tool', summarizeToolRequestForLogging(request.params));
|
|
3169
3205
|
const startTime = Date.now();
|
|
3170
3206
|
const activityLogger = getActivityLoggingService();
|
|
3207
|
+
// Opt-in fail-closed guard for high-confidence command-injection / SSRF /
|
|
3208
|
+
// cloud-credential-theft payloads in tool call arguments. Disabled by
|
|
3209
|
+
// default (TOOL_CALL_GUARD_ENABLED=true to enable); see
|
|
3210
|
+
// src/middlewares/toolCallGuard.ts.
|
|
3211
|
+
if (isToolCallGuardEnabled()) {
|
|
3212
|
+
try {
|
|
3213
|
+
assertToolCallArgumentsSafe(request?.params?.arguments);
|
|
3214
|
+
}
|
|
3215
|
+
catch (guardError) {
|
|
3216
|
+
if (guardError instanceof ToolCallBlockedError) {
|
|
3217
|
+
logger.warn(`Tool call blocked by guard: server/tool=${request?.params?.name ?? 'unknown'}, rule=${guardError.ruleId}`);
|
|
3218
|
+
return {
|
|
3219
|
+
content: [
|
|
3220
|
+
{
|
|
3221
|
+
type: 'text',
|
|
3222
|
+
text: `Error: ${guardError.message}`,
|
|
3223
|
+
},
|
|
3224
|
+
],
|
|
3225
|
+
isError: true,
|
|
3226
|
+
errorCode: -32001,
|
|
3227
|
+
};
|
|
3228
|
+
}
|
|
3229
|
+
throw guardError;
|
|
3230
|
+
}
|
|
3231
|
+
}
|
|
3171
3232
|
// Get request context for activity logging
|
|
3172
3233
|
const requestContextService = RequestContextService.getInstance();
|
|
3173
3234
|
const bearerKeyContext = requestContextService.getBearerKeyContext();
|
|
@@ -3271,6 +3332,7 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3271
3332
|
if (!targetServerInfo) {
|
|
3272
3333
|
throw new ToolUnavailableError(`Tool not available: ${toolName}`, classifyUnavailableReason(toolName));
|
|
3273
3334
|
}
|
|
3335
|
+
setMetricsServer(targetServerInfo.name);
|
|
3274
3336
|
// If the target is an on-demand server that is not yet running, wake it up now.
|
|
3275
3337
|
// Concurrent callers are serialised via ensureServerReady's singleton promise.
|
|
3276
3338
|
releaseOnDemandToolCall = beginOnDemandToolCall(targetServerInfo);
|
|
@@ -3318,6 +3380,8 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3318
3380
|
if (requestHeaders && targetServerInfo.config?.openapi?.passthroughHeaders) {
|
|
3319
3381
|
passthroughHeaders = {};
|
|
3320
3382
|
for (const headerName of targetServerInfo.config.openapi.passthroughHeaders) {
|
|
3383
|
+
if (!isSafePassthroughHeader(headerName))
|
|
3384
|
+
continue;
|
|
3321
3385
|
// Handle different header name cases (Express normalizes headers to lowercase)
|
|
3322
3386
|
const headerValue = requestHeaders[headerName] || requestHeaders[headerName.toLowerCase()];
|
|
3323
3387
|
if (headerValue) {
|
|
@@ -3334,7 +3398,7 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3334
3398
|
throw new Error(`OpenAPI server '${targetServerInfo.name}' requires cookie-session state and is not yet available on stateless MCP requests`);
|
|
3335
3399
|
}
|
|
3336
3400
|
await reserveHostedIfNeeded(targetServerInfo.name, cleanToolName);
|
|
3337
|
-
const result = await openApiClient.callTool(cleanToolName, finalArgs, passthroughHeaders, false, stateId);
|
|
3401
|
+
const result = await openApiClient.callTool(cleanToolName, withoutHiddenArguments(targetServerInfo, cleanToolName, finalArgs), passthroughHeaders, false, stateId);
|
|
3338
3402
|
await settleHostedIfNeeded({
|
|
3339
3403
|
success: true,
|
|
3340
3404
|
requestContent: finalArgs,
|
|
@@ -3462,6 +3526,7 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3462
3526
|
throw new ToolUnavailableError(`Tool not available: ${request.params.name}`, classifyUnavailableReason(request.params.name));
|
|
3463
3527
|
}
|
|
3464
3528
|
assertToolAvailableForRoute(tool, appsRouteContext);
|
|
3529
|
+
setMetricsServer(serverInfo.name);
|
|
3465
3530
|
// Wake the on-demand server before invoking the tool. It may be asleep with
|
|
3466
3531
|
// a cached tool list (visible above) but no live client. Mirrors the
|
|
3467
3532
|
// $smart call_tool path. See #1029.
|
|
@@ -3496,6 +3561,8 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3496
3561
|
if (requestHeaders && serverInfo.config?.openapi?.passthroughHeaders) {
|
|
3497
3562
|
passthroughHeaders = {};
|
|
3498
3563
|
for (const headerName of serverInfo.config.openapi.passthroughHeaders) {
|
|
3564
|
+
if (!isSafePassthroughHeader(headerName))
|
|
3565
|
+
continue;
|
|
3499
3566
|
// Handle different header name cases (Express normalizes headers to lowercase)
|
|
3500
3567
|
const headerValue = requestHeaders[headerName] || requestHeaders[headerName.toLowerCase()];
|
|
3501
3568
|
if (headerValue) {
|
|
@@ -3513,7 +3580,7 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3513
3580
|
throw new Error(`OpenAPI server '${serverInfo.name}' requires cookie-session state and is not yet available on stateless MCP requests`);
|
|
3514
3581
|
}
|
|
3515
3582
|
await reserveHostedIfNeeded(serverInfo.name, cleanToolName);
|
|
3516
|
-
const result = await openApiClient.callTool(cleanToolName, finalArgs, passthroughHeaders, false, stateId);
|
|
3583
|
+
const result = await openApiClient.callTool(cleanToolName, withoutHiddenArguments(serverInfo, cleanToolName, finalArgs), passthroughHeaders, false, stateId);
|
|
3517
3584
|
await settleHostedIfNeeded({
|
|
3518
3585
|
success: true,
|
|
3519
3586
|
requestContent: finalArgs,
|
|
@@ -3607,7 +3674,13 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3607
3674
|
const unavailable = error instanceof ToolUnavailableError
|
|
3608
3675
|
? { message: error.message, reason: error.reason }
|
|
3609
3676
|
: undefined;
|
|
3677
|
+
const activityToolName = getActivityToolNameFromRequest(request);
|
|
3610
3678
|
logger.error('Error handling CallToolRequest', {
|
|
3679
|
+
group,
|
|
3680
|
+
username,
|
|
3681
|
+
callerId: keyId,
|
|
3682
|
+
callerLabel: keyName,
|
|
3683
|
+
toolName: activityToolName,
|
|
3611
3684
|
...summarizeErrorForLogging(error),
|
|
3612
3685
|
...(unavailable ? { reason: unavailable.reason } : {}),
|
|
3613
3686
|
});
|
|
@@ -3618,7 +3691,6 @@ const handleCallToolRequestImpl = async (request, extra) => {
|
|
|
3618
3691
|
requestContent: getActivityInputFromToolRequest(request),
|
|
3619
3692
|
responseContent: { error: formatErrorForLogging(error) },
|
|
3620
3693
|
});
|
|
3621
|
-
const activityToolName = getActivityToolNameFromRequest(request);
|
|
3622
3694
|
const serverInfo = (typeof extra?.server === 'string' ? getServerByName(extra.server) : undefined) ||
|
|
3623
3695
|
getServerByTool(activityToolName);
|
|
3624
3696
|
const cleanToolName = stripToolServerPrefix(activityToolName, serverInfo?.name);
|
|
@@ -4320,7 +4392,8 @@ const withCacheHints = (handler, passthroughTtl = false, listField) => async (re
|
|
|
4320
4392
|
return { ...result, ttlMs, cacheScope: 'private' };
|
|
4321
4393
|
};
|
|
4322
4394
|
export const handleListToolsRequest = withPrincipalServers(withCacheHints(handleListToolsRequestImpl, false, 'tools'), 'list');
|
|
4323
|
-
|
|
4395
|
+
const callToolWithPrincipal = withPrincipalServers(handleCallToolRequestImpl, 'tool');
|
|
4396
|
+
export const handleCallToolRequest = (request, extra) => observeToolCall(() => callToolWithPrincipal(request, extra));
|
|
4324
4397
|
export const handleGetPromptRequest = withPrincipalServers(handleGetPromptRequestImpl, 'prompt');
|
|
4325
4398
|
export const handleListPromptsRequest = withPrincipalServers(withCacheHints(handleListPromptsRequestImpl, false, 'prompts'), 'list');
|
|
4326
4399
|
export const handleListResourcesRequest = withPrincipalServers(withCacheHints(handleListResourcesRequestImpl, false, 'resources'), 'list');
|
|
@@ -4357,19 +4430,21 @@ export const createMcpServer = (name, version, options) => {
|
|
|
4357
4430
|
server.setRequestHandler('resources/read', handleReadResourceRequest);
|
|
4358
4431
|
return server;
|
|
4359
4432
|
};
|
|
4433
|
+
// The group a route segment names: by name, or by id when it is a UUID.
|
|
4434
|
+
const findRouteGroup = async (group) => {
|
|
4435
|
+
const groupDao = getGroupDao();
|
|
4436
|
+
const foundGroup = await groupDao.findByName(group);
|
|
4437
|
+
if (foundGroup)
|
|
4438
|
+
return foundGroup;
|
|
4439
|
+
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
4440
|
+
return uuidRegex.test(group) ? groupDao.findById(group) : null;
|
|
4441
|
+
};
|
|
4360
4442
|
export const getFilteredServerInfosForGroup = async (group, options) => {
|
|
4361
4443
|
// Resolve raw groups so legacy routing remains compatible, then enforce explicit visibility.
|
|
4362
4444
|
let matchedGroup = false;
|
|
4363
4445
|
let serverConfigs = [];
|
|
4364
4446
|
if (group) {
|
|
4365
|
-
const
|
|
4366
|
-
let foundGroup = await groupDao.findByName(group);
|
|
4367
|
-
if (!foundGroup) {
|
|
4368
|
-
const uuidRegex = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
|
|
4369
|
-
if (uuidRegex.test(group)) {
|
|
4370
|
-
foundGroup = await groupDao.findById(group);
|
|
4371
|
-
}
|
|
4372
|
-
}
|
|
4447
|
+
const foundGroup = await findRouteGroup(group);
|
|
4373
4448
|
if (foundGroup) {
|
|
4374
4449
|
matchedGroup = true;
|
|
4375
4450
|
if (!canAccessGroupRoute(foundGroup)) {
|