@samanhappy/mcphub 1.0.31 → 1.0.32
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/betterAuth.js +13 -5
- package/dist/betterAuth.js.map +1 -1
- package/dist/cli/commands/cache.js.map +1 -1
- package/dist/cli/commands/call.js +2 -2
- package/dist/cli/commands/call.js.map +1 -1
- package/dist/cli/commands/config.js.map +1 -1
- package/dist/cli/commands/discover.js.map +1 -1
- package/dist/cli/commands/export.js.map +1 -1
- package/dist/cli/commands/groups.js.map +1 -1
- package/dist/cli/commands/install.js +1 -1
- package/dist/cli/commands/install.js.map +1 -1
- package/dist/cli/commands/keys.js.map +1 -1
- package/dist/cli/commands/login.js.map +1 -1
- package/dist/cli/commands/servers.js.map +1 -1
- package/dist/cli/commands/tools.js +2 -2
- package/dist/cli/commands/tools.js.map +1 -1
- package/dist/cli/context.js +1 -1
- package/dist/cli/context.js.map +1 -1
- package/dist/cli/http.js +3 -1
- package/dist/cli/http.js.map +1 -1
- package/dist/clients/openapi.js +62 -7
- package/dist/clients/openapi.js.map +1 -1
- package/dist/config/DaoConfigService.js +3 -2
- package/dist/config/DaoConfigService.js.map +1 -1
- package/dist/config/configManager.js +9 -8
- package/dist/config/configManager.js.map +1 -1
- package/dist/config/index.js +30 -6
- package/dist/config/index.js.map +1 -1
- package/dist/config/jwt.js +2 -1
- package/dist/config/jwt.js.map +1 -1
- package/dist/config/migrationUtils.js +46 -45
- package/dist/config/migrationUtils.js.map +1 -1
- package/dist/constants/oauthServerDefaults.js.map +1 -1
- package/dist/controllers/activityController.js +6 -5
- package/dist/controllers/activityController.js.map +1 -1
- package/dist/controllers/authController.js +5 -4
- package/dist/controllers/authController.js.map +1 -1
- package/dist/controllers/bearerKeyController.js +7 -6
- package/dist/controllers/bearerKeyController.js.map +1 -1
- package/dist/controllers/betterAuthController.js +2 -1
- package/dist/controllers/betterAuthController.js.map +1 -1
- package/dist/controllers/builtinPromptController.js +13 -5
- package/dist/controllers/builtinPromptController.js.map +1 -1
- package/dist/controllers/builtinResourceController.js +14 -6
- package/dist/controllers/builtinResourceController.js.map +1 -1
- package/dist/controllers/changelogController.js +5 -2
- package/dist/controllers/changelogController.js.map +1 -1
- package/dist/controllers/cloudController.js +11 -10
- package/dist/controllers/cloudController.js.map +1 -1
- package/dist/controllers/configController.js +4 -3
- package/dist/controllers/configController.js.map +1 -1
- package/dist/controllers/contextCostController.js +3 -2
- package/dist/controllers/contextCostController.js.map +1 -1
- package/dist/controllers/groupController.js +2 -1
- package/dist/controllers/groupController.js.map +1 -1
- package/dist/controllers/healthController.js +2 -1
- package/dist/controllers/healthController.js.map +1 -1
- package/dist/controllers/hostedInternalController.js +2 -1
- package/dist/controllers/hostedInternalController.js.map +1 -1
- package/dist/controllers/logController.js +5 -4
- package/dist/controllers/logController.js.map +1 -1
- package/dist/controllers/mcpbController.js +17 -7
- package/dist/controllers/mcpbController.js.map +1 -1
- package/dist/controllers/oauthCallbackController.js +28 -27
- package/dist/controllers/oauthCallbackController.js.map +1 -1
- package/dist/controllers/oauthClientController.js +7 -6
- package/dist/controllers/oauthClientController.js.map +1 -1
- package/dist/controllers/oauthDynamicRegistrationController.js +22 -4
- package/dist/controllers/oauthDynamicRegistrationController.js.map +1 -1
- package/dist/controllers/oauthServerController.js +22 -11
- package/dist/controllers/oauthServerController.js.map +1 -1
- package/dist/controllers/openApiController.js +7 -6
- package/dist/controllers/openApiController.js.map +1 -1
- package/dist/controllers/promptController.js +2 -1
- package/dist/controllers/promptController.js.map +1 -1
- package/dist/controllers/registryController.js +4 -3
- package/dist/controllers/registryController.js.map +1 -1
- package/dist/controllers/serverController.js +46 -34
- package/dist/controllers/serverController.js.map +1 -1
- package/dist/controllers/templateController.js +2 -1
- package/dist/controllers/templateController.js.map +1 -1
- package/dist/controllers/toolController.js +2 -1
- package/dist/controllers/toolController.js.map +1 -1
- package/dist/dao/DaoFactory.js +3 -2
- package/dist/dao/DaoFactory.js.map +1 -1
- package/dist/dao/ServerDao.js.map +1 -1
- package/dist/dao/UserConfigDaoDbImpl.js.map +1 -1
- package/dist/dao/UserDao.js.map +1 -1
- package/dist/dao/base/JsonFileBaseDao.js +3 -2
- package/dist/dao/base/JsonFileBaseDao.js.map +1 -1
- package/dist/dao/examples.js +35 -34
- package/dist/dao/examples.js.map +1 -1
- package/dist/db/connection.js +59 -58
- package/dist/db/connection.js.map +1 -1
- package/dist/db/index.js +2 -1
- package/dist/db/index.js.map +1 -1
- package/dist/db/repositories/ServerRepository.js +3 -3
- package/dist/db/repositories/ServerRepository.js.map +1 -1
- package/dist/db/repositories/SystemConfigRepository.js +2 -1
- package/dist/db/repositories/SystemConfigRepository.js.map +1 -1
- package/dist/db/repositories/UserConfigRepository.js.map +1 -1
- package/dist/db/repositories/VectorEmbeddingRepository.js +6 -5
- package/dist/db/repositories/VectorEmbeddingRepository.js.map +1 -1
- package/dist/index.js +28 -19
- package/dist/index.js.map +1 -1
- package/dist/middlewares/auth.js +4 -3
- package/dist/middlewares/auth.js.map +1 -1
- package/dist/middlewares/index.js +2 -1
- package/dist/middlewares/index.js.map +1 -1
- package/dist/middlewares/userContext.js +7 -6
- package/dist/middlewares/userContext.js.map +1 -1
- package/dist/models/OAuth.js +7 -6
- package/dist/models/OAuth.js.map +1 -1
- package/dist/models/User.js +13 -12
- package/dist/models/User.js.map +1 -1
- package/dist/routes/index.js +9 -9
- package/dist/routes/index.js.map +1 -1
- package/dist/scripts/dao-demo.js +28 -27
- package/dist/scripts/dao-demo.js.map +1 -1
- package/dist/server.js +36 -30
- package/dist/server.js.map +1 -1
- package/dist/services/activityLoggingService.js +3 -2
- package/dist/services/activityLoggingService.js.map +1 -1
- package/dist/services/betterAuthConfig.js +1 -4
- package/dist/services/betterAuthConfig.js.map +1 -1
- package/dist/services/betterAuthSession.js +8 -7
- package/dist/services/betterAuthSession.js.map +1 -1
- package/dist/services/changelogService.js +5 -2
- package/dist/services/changelogService.js.map +1 -1
- package/dist/services/cloudService.js +10 -9
- package/dist/services/cloudService.js.map +1 -1
- package/dist/services/contextCostService.js +6 -2
- package/dist/services/contextCostService.js.map +1 -1
- package/dist/services/groupService.js +8 -7
- package/dist/services/groupService.js.map +1 -1
- package/dist/services/hostedAuthService.js +3 -2
- package/dist/services/hostedAuthService.js.map +1 -1
- package/dist/services/hostedControlPlaneClient.js.map +1 -1
- package/dist/services/hostedEventSubscriber.js +9 -8
- package/dist/services/hostedEventSubscriber.js.map +1 -1
- package/dist/services/hostedRuntimeCatalogNames.js +1 -3
- package/dist/services/hostedRuntimeCatalogNames.js.map +1 -1
- package/dist/services/keepAliveService.js +7 -6
- package/dist/services/keepAliveService.js.map +1 -1
- package/dist/services/marketService.js +2 -1
- package/dist/services/marketService.js.map +1 -1
- package/dist/services/mcpOAuthProvider.js +22 -21
- package/dist/services/mcpOAuthProvider.js.map +1 -1
- package/dist/services/mcpService.js +133 -121
- package/dist/services/mcpService.js.map +1 -1
- package/dist/services/oauthClientRegistration.js +30 -29
- package/dist/services/oauthClientRegistration.js.map +1 -1
- package/dist/services/oauthServerService.js +22 -17
- package/dist/services/oauthServerService.js.map +1 -1
- package/dist/services/oauthService.js +16 -15
- package/dist/services/oauthService.js.map +1 -1
- package/dist/services/oauthSettingsStore.js +4 -3
- package/dist/services/oauthSettingsStore.js.map +1 -1
- package/dist/services/openApiGeneratorService.js +1 -3
- package/dist/services/openApiGeneratorService.js.map +1 -1
- package/dist/services/registry.js +2 -1
- package/dist/services/registry.js.map +1 -1
- package/dist/services/requestContextService.js.map +1 -1
- package/dist/services/smartRoutingService.js +6 -5
- package/dist/services/smartRoutingService.js.map +1 -1
- package/dist/services/sseService.js +52 -51
- package/dist/services/sseService.js.map +1 -1
- package/dist/services/templateService.js +57 -12
- package/dist/services/templateService.js.map +1 -1
- package/dist/services/toolResultCompressionService.js +8 -5
- package/dist/services/toolResultCompressionService.js.map +1 -1
- package/dist/services/upstreamOAuthDisconnectService.js +9 -6
- package/dist/services/upstreamOAuthDisconnectService.js.map +1 -1
- package/dist/services/userService.js +5 -4
- package/dist/services/userService.js.map +1 -1
- package/dist/services/vectorSearchService.js +126 -112
- package/dist/services/vectorSearchService.js.map +1 -1
- package/dist/utils/cacheUtils.js +5 -4
- package/dist/utils/cacheUtils.js.map +1 -1
- package/dist/utils/corsOrigin.js +42 -0
- package/dist/utils/corsOrigin.js.map +1 -0
- package/dist/utils/dbRetry.js +2 -5
- package/dist/utils/dbRetry.js.map +1 -1
- package/dist/utils/frontendShell.js +2 -1
- package/dist/utils/frontendShell.js.map +1 -1
- package/dist/utils/i18n.js.map +1 -1
- package/dist/utils/logger.js +170 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/migration.js +51 -50
- package/dist/utils/migration.js.map +1 -1
- package/dist/utils/parameterConversion.js +2 -1
- package/dist/utils/parameterConversion.js.map +1 -1
- package/dist/utils/path.js +9 -8
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/proxyTrust.js.map +1 -1
- package/dist/utils/rateLimit.js +8 -0
- package/dist/utils/rateLimit.js.map +1 -1
- package/dist/utils/requireAdmin.js +15 -0
- package/dist/utils/requireAdmin.js.map +1 -0
- package/dist/utils/serverConfigPersistence.js.map +1 -1
- package/dist/utils/serverShutdown.js +3 -2
- package/dist/utils/serverShutdown.js.map +1 -1
- package/dist/utils/smartRouting.js +4 -3
- package/dist/utils/smartRouting.js.map +1 -1
- package/dist/utils/ssrf.js +19 -6
- package/dist/utils/ssrf.js.map +1 -1
- package/dist/utils/tokenCost.js.map +1 -1
- package/dist/utils/tokenTruncation.js +9 -4
- package/dist/utils/tokenTruncation.js.map +1 -1
- package/dist/utils/version.js +3 -2
- package/dist/utils/version.js.map +1 -1
- package/frontend/dist/assets/{ActivityPage-Dx53zxEM.js → ActivityPage-C6m1hGLq.js} +2 -2
- package/frontend/dist/assets/{ActivityPage-Dx53zxEM.js.map → ActivityPage-C6m1hGLq.js.map} +1 -1
- package/frontend/dist/assets/{ConfirmDialog-CYfXEuyU.js → ConfirmDialog-BCMNzi21.js} +2 -2
- package/frontend/dist/assets/{ConfirmDialog-CYfXEuyU.js.map → ConfirmDialog-BCMNzi21.js.map} +1 -1
- package/frontend/dist/assets/{Dashboard-ZYVsSvOw.js → Dashboard-DFKfjPff.js} +2 -2
- package/frontend/dist/assets/{Dashboard-ZYVsSvOw.js.map → Dashboard-DFKfjPff.js.map} +1 -1
- package/frontend/dist/assets/{DeleteDialog-DNe-zTEl.js → DeleteDialog-D9ycSRvn.js} +2 -2
- package/frontend/dist/assets/{DeleteDialog-DNe-zTEl.js.map → DeleteDialog-D9ycSRvn.js.map} +1 -1
- package/frontend/dist/assets/{EndpointCopy-ngxLPeDF.js → EndpointCopy-CP_Fb1To.js} +2 -2
- package/frontend/dist/assets/{EndpointCopy-ngxLPeDF.js.map → EndpointCopy-CP_Fb1To.js.map} +1 -1
- package/frontend/dist/assets/{GroupsPage-JPtupGpI.js → GroupsPage-Cwfm5q-a.js} +2 -2
- package/frontend/dist/assets/{GroupsPage-JPtupGpI.js.map → GroupsPage-Cwfm5q-a.js.map} +1 -1
- package/frontend/dist/assets/{LoginPage-B6rU3Ugr.js → LoginPage-CnF44h_n.js} +2 -2
- package/frontend/dist/assets/{LoginPage-B6rU3Ugr.js.map → LoginPage-CnF44h_n.js.map} +1 -1
- package/frontend/dist/assets/{LogsPage-CXq382fb.js → LogsPage-BFIpICsM.js} +2 -2
- package/frontend/dist/assets/{LogsPage-CXq382fb.js.map → LogsPage-BFIpICsM.js.map} +1 -1
- package/frontend/dist/assets/{MarketPage-BGnQQyXK.js → MarketPage-Du-NqiEl.js} +2 -2
- package/frontend/dist/assets/{MarketPage-BGnQQyXK.js.map → MarketPage-Du-NqiEl.js.map} +1 -1
- package/frontend/dist/assets/{OAuthConsentPage-C-n6tv3-.js → OAuthConsentPage-zqXUvKMF.js} +2 -2
- package/frontend/dist/assets/{OAuthConsentPage-C-n6tv3-.js.map → OAuthConsentPage-zqXUvKMF.js.map} +1 -1
- package/frontend/dist/assets/{Pagination-DLSuQ8hw.js → Pagination-Dwko3g48.js} +2 -2
- package/frontend/dist/assets/{Pagination-DLSuQ8hw.js.map → Pagination-Dwko3g48.js.map} +1 -1
- package/frontend/dist/assets/{PromptsPage-BLpy76K4.js → PromptsPage-Cm8ykiI4.js} +2 -2
- package/frontend/dist/assets/{PromptsPage-BLpy76K4.js.map → PromptsPage-Cm8ykiI4.js.map} +1 -1
- package/frontend/dist/assets/{ResourcesPage-C5nynRqE.js → ResourcesPage-UMyO6mQ4.js} +2 -2
- package/frontend/dist/assets/{ResourcesPage-C5nynRqE.js.map → ResourcesPage-UMyO6mQ4.js.map} +1 -1
- package/frontend/dist/assets/{ServersPage-Ca5W9cPW.js → ServersPage-B0RoM8ez.js} +8 -8
- package/frontend/dist/assets/ServersPage-B0RoM8ez.js.map +1 -0
- package/frontend/dist/assets/{SettingsPage-DgFBjp_O.js → SettingsPage-BTB-36-n.js} +2 -2
- package/frontend/dist/assets/{SettingsPage-DgFBjp_O.js.map → SettingsPage-BTB-36-n.js.map} +1 -1
- package/frontend/dist/assets/{StatusDot-CmSkukx0.js → StatusDot-BAMXeT2x.js} +2 -2
- package/frontend/dist/assets/{StatusDot-CmSkukx0.js.map → StatusDot-BAMXeT2x.js.map} +1 -1
- package/frontend/dist/assets/{ToggleGroup-sG_2LQom.js → ToggleGroup-Cfgt5lJo.js} +2 -2
- package/frontend/dist/assets/{ToggleGroup-sG_2LQom.js.map → ToggleGroup-Cfgt5lJo.js.map} +1 -1
- package/frontend/dist/assets/{UsersPage-PHkFXLL8.js → UsersPage-DlzYf7Su.js} +2 -2
- package/frontend/dist/assets/{UsersPage-PHkFXLL8.js.map → UsersPage-DlzYf7Su.js.map} +1 -1
- package/frontend/dist/assets/{contextCost-D_iNNbhX.js → contextCost-kp2vZYp7.js} +2 -2
- package/frontend/dist/assets/{contextCost-D_iNNbhX.js.map → contextCost-kp2vZYp7.js.map} +1 -1
- package/frontend/dist/assets/{framework-vendor-I9Y6AgD5.js → framework-vendor-BHAQX05P.js} +3 -3
- package/frontend/dist/assets/{framework-vendor-I9Y6AgD5.js.map → framework-vendor-BHAQX05P.js.map} +1 -1
- package/frontend/dist/assets/{i18n-vendor-y9bLzIeh.js → i18n-vendor-CMcB7XUR.js} +2 -2
- package/frontend/dist/assets/{i18n-vendor-y9bLzIeh.js.map → i18n-vendor-CMcB7XUR.js.map} +1 -1
- package/frontend/dist/assets/{icons-vendor-BFl4A9fq.js → icons-vendor-HZHHWeTa.js} +2 -2
- package/frontend/dist/assets/{icons-vendor-BFl4A9fq.js.map → icons-vendor-HZHHWeTa.js.map} +1 -1
- package/frontend/dist/assets/{index-CLugsCsy.js → index-CvXw771N.js} +3 -3
- package/frontend/dist/assets/{index-CLugsCsy.js.map → index-CvXw771N.js.map} +1 -1
- package/frontend/dist/assets/{resourceService-33rS8QGJ.js → resourceService-D2QmlFby.js} +2 -2
- package/frontend/dist/assets/{resourceService-33rS8QGJ.js.map → resourceService-D2QmlFby.js.map} +1 -1
- package/frontend/dist/assets/useSettingsData-CeCvZ2nU.js +2 -0
- package/frontend/dist/assets/{useSettingsData-fK2bv9oN.js.map → useSettingsData-CeCvZ2nU.js.map} +1 -1
- package/frontend/dist/assets/{variableDetection-ByJ_cnxa.js → variableDetection-DKPiHkxr.js} +2 -2
- package/frontend/dist/assets/{variableDetection-ByJ_cnxa.js.map → variableDetection-DKPiHkxr.js.map} +1 -1
- package/frontend/dist/index.html +4 -4
- package/package.json +2 -2
- package/frontend/dist/assets/ServersPage-Ca5W9cPW.js.map +0 -1
- package/frontend/dist/assets/useSettingsData-fK2bv9oN.js +0 -2
|
@@ -16,9 +16,7 @@ function convertToolSchemaToOpenAPI(tool) {
|
|
|
16
16
|
const properties = schema.properties;
|
|
17
17
|
const required = Array.isArray(schema.required) ? schema.required : [];
|
|
18
18
|
// For simple tools with only primitive parameters, use query parameters
|
|
19
|
-
const hasComplexTypes = Object.values(properties).some((prop) => prop.type === 'object' ||
|
|
20
|
-
prop.type === 'array' ||
|
|
21
|
-
prop.type === 'string');
|
|
19
|
+
const hasComplexTypes = Object.values(properties).some((prop) => prop.type === 'object' || prop.type === 'array' || prop.type === 'string');
|
|
22
20
|
if (!hasComplexTypes && Object.keys(properties).length <= 10) {
|
|
23
21
|
// Use query parameters for simple tools
|
|
24
22
|
const parameters = Object.entries(properties).map(([name, prop]) => ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openApiGeneratorService.js","sourceRoot":"","sources":["../../src/services/openApiGeneratorService.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,MAAM,EAAE,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAiB9D;;GAEG;AACH,SAAS,0BAA0B,CAAC,IAAU;IAI5C,MAAM,MAAM,GAAG,IAAI,CAAC,WAAkB,CAAC;IAEvC,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;QAC1C,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,uEAAuE;IACvE,IAAI,MAAM,CAAC,UAAU,IAAI,OAAO,MAAM,CAAC,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC/D,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAEvE,wEAAwE;QACxE,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CACpD,CAAC,IAAS,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"openApiGeneratorService.js","sourceRoot":"","sources":["../../src/services/openApiGeneratorService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { join } from 'path';
|
|
2
2
|
import { pathToFileURL } from 'url';
|
|
3
|
+
import { logger } from '../utils/logger.js';
|
|
3
4
|
const registry = new Map();
|
|
4
5
|
const instances = new Map();
|
|
5
6
|
async function tryLoadOverride(key, overridePath) {
|
|
@@ -14,7 +15,7 @@ async function tryLoadOverride(key, overridePath) {
|
|
|
14
15
|
catch (error) {
|
|
15
16
|
// Ignore not-found errors and keep trying other paths; surface other errors for visibility
|
|
16
17
|
if (error?.code !== 'ERR_MODULE_NOT_FOUND' && error?.code !== 'MODULE_NOT_FOUND') {
|
|
17
|
-
|
|
18
|
+
logger.warn('Failed to load service override', { overridePath, error });
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
return undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/services/registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../src/services/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"requestContextService.js","sourceRoot":"","sources":["../../src/services/requestContextService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,MAAM,MAAM,WAAW,CAAC;AAoB/B,MAAM,sBAAsB,GAAG,CAAC,aAAsB,EAAsB,EAAE;IAC5E,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,oBAAoB,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IAClD,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACzD,IAAI,aAAa,YAAY,MAAM,CAAC,IAAI,IAAI,aAAa,CAAC,mBAAmB,EAAE,EAAE,CAAC;YAChF,OAAO,aAAa,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,OAAO,qBAAqB;IAIhC;QAFiB,sBAAiB,GAAG,IAAI,iBAAiB,EAAyB,CAAC;IAE7D,CAAC;IAEjB,MAAM,CAAC,WAAW;QACvB,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,CAAC;YACpC,qBAAqB,CAAC,QAAQ,GAAG,IAAI,qBAAqB,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,qBAAqB,CAAC,QAAQ,CAAC;IACxC,CAAC;IAEO,oBAAoB,CAAC,GAAY;QACvC,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,SAAS,EAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAY,IAAI,SAAS;YACjE,SAAS,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,CAAW;YAC9C,aAAa,EAAE,sBAAsB,CAAC,GAAG,CAAC,EAAE,IAAI,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC;SAC3E,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,OAAuB;QACjD,OAAO;YACL,GAAG,OAAO;YACV,OAAO,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE;YAC/B,aAAa,EAAE,sBAAsB,CAAC,OAAO,CAAC,aAAa,CAAC;SAC7D,CAAC;IACJ,CAAC;IAIM,qBAAqB,CAAI,GAAY,EAAE,QAA8B;QAC1E,OAAO,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9E,CAAC;
|
|
1
|
+
{"version":3,"file":"requestContextService.js","sourceRoot":"","sources":["../../src/services/requestContextService.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ import { getServerDao } from '../dao/index.js';
|
|
|
11
11
|
import { getGroup } from './sseService.js';
|
|
12
12
|
import { isAppOnlyTool } from '../utils/mcpApps.js';
|
|
13
13
|
import { getNameSeparator } from '../config/index.js';
|
|
14
|
+
import { logger } from '../utils/logger.js';
|
|
14
15
|
// Reference to serverInfos from mcpService - will be set via init
|
|
15
16
|
let serverInfosRef = [];
|
|
16
17
|
let getServerInfosFn = () => serverInfosRef;
|
|
@@ -289,7 +290,7 @@ export const handleSearchToolsRequest = async (query, limit, sessionId) => {
|
|
|
289
290
|
if (query.length > 30 || query.includes('specific') || query.includes('exact')) {
|
|
290
291
|
thresholdNum = 0.4;
|
|
291
292
|
}
|
|
292
|
-
|
|
293
|
+
logger.log(`Using similarity threshold: ${thresholdNum} for query: "${query}"`);
|
|
293
294
|
// Determine server filtering based on group
|
|
294
295
|
let group = getGroup(sessionId);
|
|
295
296
|
const visibleServerNames = new Set(getServerInfos().map((serverInfo) => serverInfo.name));
|
|
@@ -306,15 +307,15 @@ export const handleSearchToolsRequest = async (query, limit, sessionId) => {
|
|
|
306
307
|
if (serversInGroup !== undefined && serversInGroup !== null) {
|
|
307
308
|
servers = serversInGroup.filter((serverName) => visibleServerNames.has(serverName));
|
|
308
309
|
if (servers && servers.length > 0) {
|
|
309
|
-
|
|
310
|
+
logger.log(`Filtering search to servers in group "${targetGroup}": ${servers.join(', ')}`);
|
|
310
311
|
}
|
|
311
312
|
else {
|
|
312
|
-
|
|
313
|
+
logger.log(`Group "${targetGroup}" has no servers, search will return no results`);
|
|
313
314
|
}
|
|
314
315
|
}
|
|
315
316
|
}
|
|
316
317
|
const searchResults = servers.length > 0 ? await searchToolsByVector(query, limitNum, thresholdNum, servers) : [];
|
|
317
|
-
|
|
318
|
+
logger.log(`Search results: ${JSON.stringify(searchResults)}`);
|
|
318
319
|
// Get smart routing config to check progressive disclosure setting
|
|
319
320
|
const smartRoutingConfig = await getSmartRoutingConfig();
|
|
320
321
|
const progressiveDisclosure = smartRoutingConfig.progressiveDisclosure ?? false;
|
|
@@ -443,7 +444,7 @@ export const handleDescribeToolRequest = async (toolName, sessionId) => {
|
|
|
443
444
|
if (!toolName || typeof toolName !== 'string') {
|
|
444
445
|
throw new Error('toolName parameter is required and must be a string');
|
|
445
446
|
}
|
|
446
|
-
|
|
447
|
+
logger.log(`Handling describe_tool request for: ${toolName}`);
|
|
447
448
|
// Determine group filtering
|
|
448
449
|
let group = getGroup(sessionId);
|
|
449
450
|
const targetGroup = getSmartTargetGroup(group);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"smartRoutingService.js","sourceRoot":"","sources":["../../src/services/smartRoutingService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"smartRoutingService.js","sourceRoot":"","sources":["../../src/services/smartRoutingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,6 +12,7 @@ import { safeCompare } from '../utils/safeCompare.js';
|
|
|
12
12
|
import { getBearerAuthHeaderValue, getBearerTokenFromHeaders } from '../utils/bearerAuth.js';
|
|
13
13
|
import { HostedAuthUnavailableError, isHostedApiKey, validateHostedBearer, } from './hostedAuthService.js';
|
|
14
14
|
import { isHostedModeEnabled } from './hostedMode.js';
|
|
15
|
+
import { logger } from '../utils/logger.js';
|
|
15
16
|
export const transports = {};
|
|
16
17
|
const SESSION_NOT_FOUND_CODE = -32001;
|
|
17
18
|
const SESSION_NOT_FOUND_MESSAGE = 'Session not found. Please reinitialize the session.';
|
|
@@ -39,7 +40,7 @@ const cleanupSessionState = (sessionId) => {
|
|
|
39
40
|
const session = transports[sessionId];
|
|
40
41
|
if (session?.transport && typeof session.transport.close === 'function') {
|
|
41
42
|
session.transport.close().catch((err) => {
|
|
42
|
-
|
|
43
|
+
logger.error('[SESSION] Error closing transport during cleanup for %s:', sessionId, err);
|
|
43
44
|
});
|
|
44
45
|
}
|
|
45
46
|
delete transports[sessionId];
|
|
@@ -176,11 +177,11 @@ const isBearerKeyAllowedForRequest = async (req, key) => {
|
|
|
176
177
|
return false;
|
|
177
178
|
}
|
|
178
179
|
// Step 3: Not a valid group or server, deny access
|
|
179
|
-
|
|
180
|
+
logger.warn(`Bearer key access denied: parameter '${paramValue}' does not match any group or server`);
|
|
180
181
|
return false;
|
|
181
182
|
}
|
|
182
183
|
catch (error) {
|
|
183
|
-
|
|
184
|
+
logger.error('Error checking bearer key request access:', error);
|
|
184
185
|
return false;
|
|
185
186
|
}
|
|
186
187
|
};
|
|
@@ -263,15 +264,15 @@ const validateBearerAuth = async (req) => {
|
|
|
263
264
|
}
|
|
264
265
|
const allowed = await isBearerKeyAllowedForRequest(req, matchingKey);
|
|
265
266
|
if (allowed) {
|
|
266
|
-
|
|
267
|
+
logger.log(`Bearer key recognized (auth disabled): id=${matchingKey.id}, name=${matchingKey.name}, accessType=${matchingKey.accessType}`);
|
|
267
268
|
return userKeyResult;
|
|
268
269
|
}
|
|
269
|
-
|
|
270
|
+
logger.warn(`Bearer key matched but rejected due to scope restrictions (auth disabled): id=${matchingKey.id}, name=${matchingKey.name}, accessType=${matchingKey.accessType}`);
|
|
270
271
|
return { valid: true };
|
|
271
272
|
}
|
|
272
273
|
const oauthUser = await resolveOAuthUserFromToken(token);
|
|
273
274
|
if (oauthUser) {
|
|
274
|
-
|
|
275
|
+
logger.log('Recognized OAuth bearer token (auth disabled)');
|
|
275
276
|
return { valid: true, user: oauthUser, keyName: OAUTH_AUTH_METHOD_LABEL };
|
|
276
277
|
}
|
|
277
278
|
return { valid: true };
|
|
@@ -286,10 +287,10 @@ const validateBearerAuth = async (req) => {
|
|
|
286
287
|
if (enabledKeys.length === 0) {
|
|
287
288
|
const oauthUser = await resolveOAuthUserFromToken(token);
|
|
288
289
|
if (oauthUser) {
|
|
289
|
-
|
|
290
|
+
logger.log('Authenticated request using OAuth bearer token without configured keys');
|
|
290
291
|
return { valid: true, user: oauthUser, keyName: OAUTH_AUTH_METHOD_LABEL };
|
|
291
292
|
}
|
|
292
|
-
|
|
293
|
+
logger.warn('Bearer authentication failed: no configured keys and token is not a valid OAuth token');
|
|
293
294
|
return { valid: false, reason: 'invalid' };
|
|
294
295
|
}
|
|
295
296
|
const matchingKey = enabledKeys.find((key) => safeCompare(key.token, token));
|
|
@@ -300,18 +301,18 @@ const validateBearerAuth = async (req) => {
|
|
|
300
301
|
}
|
|
301
302
|
const allowed = await isBearerKeyAllowedForRequest(req, matchingKey);
|
|
302
303
|
if (!allowed) {
|
|
303
|
-
|
|
304
|
+
logger.warn(`Bearer key rejected due to scope restrictions: id=${matchingKey.id}, name=${matchingKey.name}, accessType=${matchingKey.accessType}`);
|
|
304
305
|
return { valid: false, reason: 'invalid' };
|
|
305
306
|
}
|
|
306
|
-
|
|
307
|
+
logger.log(`Bearer key authenticated: id=${matchingKey.id}, name=${matchingKey.name}, accessType=${matchingKey.accessType}`);
|
|
307
308
|
return userKeyResult;
|
|
308
309
|
}
|
|
309
310
|
const oauthUser = await resolveOAuthUserFromToken(token);
|
|
310
311
|
if (oauthUser) {
|
|
311
|
-
|
|
312
|
+
logger.log('Authenticated request using OAuth bearer token (no matching static key)');
|
|
312
313
|
return { valid: true, user: oauthUser, keyName: OAUTH_AUTH_METHOD_LABEL };
|
|
313
314
|
}
|
|
314
|
-
|
|
315
|
+
logger.warn('Bearer authentication failed: token did not match any key or OAuth user');
|
|
315
316
|
return { valid: false, reason: 'invalid' };
|
|
316
317
|
};
|
|
317
318
|
const attachUserContextFromBearer = (result, res) => {
|
|
@@ -384,7 +385,7 @@ const sendBearerAuthError = (req, res, reason) => {
|
|
|
384
385
|
if (resourceMetadataUrl) {
|
|
385
386
|
headerParts.push(`resource_metadata="${escapeHeaderValue(resourceMetadataUrl)}"`);
|
|
386
387
|
}
|
|
387
|
-
|
|
388
|
+
logger.warn(reason === 'missing'
|
|
388
389
|
? 'Bearer authentication required but no authorization header was provided'
|
|
389
390
|
: 'Bearer authentication failed due to invalid bearer token');
|
|
390
391
|
res.setHeader('WWW-Authenticate', `Bearer ${headerParts.join(', ')}`);
|
|
@@ -420,20 +421,20 @@ export const handleSseConnection = async (req, res) => {
|
|
|
420
421
|
const group = req.params.group;
|
|
421
422
|
// Check if this is a global route (no group) and if it's allowed
|
|
422
423
|
if (!group && !routingConfig.enableGlobalRoute) {
|
|
423
|
-
|
|
424
|
+
logger.warn('Global routes are disabled, group ID is required');
|
|
424
425
|
res.status(403).send('Global routes are disabled. Please specify a group ID.');
|
|
425
426
|
return;
|
|
426
427
|
}
|
|
427
428
|
// For user-scoped routes, validate that the user has access to the requested group
|
|
428
429
|
if (username && group) {
|
|
429
430
|
// Additional validation can be added here to check if user has access to the group
|
|
430
|
-
|
|
431
|
+
logger.log(`User ${username} accessing group: ${group}`);
|
|
431
432
|
}
|
|
432
433
|
// Construct the appropriate messages path based on user context
|
|
433
434
|
const messagesPath = username
|
|
434
435
|
? `${config.basePath}/${username}/messages`
|
|
435
436
|
: `${config.basePath}/messages`;
|
|
436
|
-
|
|
437
|
+
logger.log(`Creating SSE transport with messages path: ${messagesPath}`);
|
|
437
438
|
const transport = new SSEServerTransport(messagesPath, res);
|
|
438
439
|
transports[transport.sessionId] = {
|
|
439
440
|
transport,
|
|
@@ -445,9 +446,9 @@ export const handleSseConnection = async (req, res) => {
|
|
|
445
446
|
res.on('close', () => {
|
|
446
447
|
delete transports[transport.sessionId];
|
|
447
448
|
deleteMcpServer(transport.sessionId);
|
|
448
|
-
|
|
449
|
+
logger.log(`SSE connection closed: ${transport.sessionId}`);
|
|
449
450
|
});
|
|
450
|
-
|
|
451
|
+
logger.log(`New SSE connection established: ${transport.sessionId} with group: ${group || 'global'}${username ? ` for user: ${username}` : ''}`);
|
|
451
452
|
const server = await getMcpServer(transport.sessionId, group);
|
|
452
453
|
await server.connect(transport);
|
|
453
454
|
};
|
|
@@ -479,21 +480,21 @@ export const handleSseMessage = async (req, res) => {
|
|
|
479
480
|
const sessionId = req.query.sessionId;
|
|
480
481
|
// Validate sessionId
|
|
481
482
|
if (!sessionId) {
|
|
482
|
-
|
|
483
|
+
logger.error('Missing sessionId in query parameters');
|
|
483
484
|
res.status(400).send('Missing sessionId parameter');
|
|
484
485
|
return;
|
|
485
486
|
}
|
|
486
487
|
// Check if transport exists before destructuring
|
|
487
488
|
const transportData = transports[sessionId];
|
|
488
489
|
if (!transportData) {
|
|
489
|
-
|
|
490
|
+
logger.warn(`No transport found for sessionId: ${sessionId}`);
|
|
490
491
|
res.status(404).send('No transport found for sessionId');
|
|
491
492
|
return;
|
|
492
493
|
}
|
|
493
494
|
const { transport, group, keyId, keyName } = transportData;
|
|
494
495
|
req.params.group = group;
|
|
495
496
|
req.query.group = group;
|
|
496
|
-
|
|
497
|
+
logger.log(`Received message for sessionId: ${sessionId} in group: ${group}${username ? ` for user: ${username}` : ''}`);
|
|
497
498
|
const requestContextService = RequestContextService.getInstance();
|
|
498
499
|
const currentKeyId = bearerAuthResult.keyId || keyId;
|
|
499
500
|
const currentKeyName = bearerAuthResult.keyName || keyName;
|
|
@@ -510,58 +511,58 @@ export const handleSseMessage = async (req, res) => {
|
|
|
510
511
|
};
|
|
511
512
|
// Helper function to create a session with a specific sessionId
|
|
512
513
|
async function createSessionWithId(sessionId, group, username, hostedAuth) {
|
|
513
|
-
|
|
514
|
+
logger.log(`[SESSION REBUILD] Starting session rebuild for ID: ${sessionId}${username ? ` for user: ${username}` : ''}`);
|
|
514
515
|
// Create a new server instance to ensure clean state
|
|
515
516
|
const server = await getMcpServer(sessionId, group);
|
|
516
517
|
const transport = new StreamableHTTPServerTransport({
|
|
517
518
|
sessionIdGenerator: () => sessionId, // Use the specified sessionId
|
|
518
519
|
onsessioninitialized: (initializedSessionId) => {
|
|
519
|
-
|
|
520
|
+
logger.log(`[SESSION REBUILD] onsessioninitialized triggered for ID: ${initializedSessionId}`); // New log
|
|
520
521
|
if (initializedSessionId === sessionId) {
|
|
521
522
|
transports[sessionId] = { transport, group, hostedAuth };
|
|
522
|
-
|
|
523
|
+
logger.log(`[SESSION REBUILD] Session ${sessionId} initialized successfully${username ? ` for user: ${username}` : ''}`);
|
|
523
524
|
}
|
|
524
525
|
else {
|
|
525
|
-
|
|
526
|
+
logger.warn(`[SESSION REBUILD] Session ID mismatch: expected ${sessionId}, got ${initializedSessionId}`);
|
|
526
527
|
}
|
|
527
528
|
},
|
|
528
529
|
});
|
|
529
530
|
transport.onclose = () => {
|
|
530
|
-
|
|
531
|
+
logger.log(`[SESSION REBUILD] Transport closed: ${sessionId}`);
|
|
531
532
|
delete transports[sessionId];
|
|
532
533
|
deleteMcpServer(sessionId);
|
|
533
534
|
};
|
|
534
535
|
// Connect to MCP server
|
|
535
536
|
await server.connect(transport);
|
|
536
537
|
if (!rehydrateRebuiltTransport(transport, sessionId)) {
|
|
537
|
-
|
|
538
|
+
logger.error(`[SESSION REBUILD] Failed to rehydrate transport state for session ${sessionId}`);
|
|
538
539
|
await transport.close();
|
|
539
540
|
throw new Error('Failed to rebuild session transport state');
|
|
540
541
|
}
|
|
541
542
|
transports[sessionId] = { transport, group, hostedAuth };
|
|
542
|
-
|
|
543
|
-
|
|
543
|
+
logger.log(`[SESSION REBUILD] Rehydrated session ${sessionId} for immediate request handling.`);
|
|
544
|
+
logger.log(`[SESSION REBUILD] Successfully rebuilt session ${sessionId} in group: ${group}`);
|
|
544
545
|
return transport;
|
|
545
546
|
}
|
|
546
547
|
// Helper function to create a completely new session
|
|
547
548
|
async function createNewSession(group, username, hostedAuth) {
|
|
548
549
|
const newSessionId = randomUUID();
|
|
549
|
-
|
|
550
|
+
logger.log(`[SESSION NEW] Creating new session with ID: ${newSessionId}${username ? ` for user: ${username}` : ''}`);
|
|
550
551
|
const transport = new StreamableHTTPServerTransport({
|
|
551
552
|
sessionIdGenerator: () => newSessionId,
|
|
552
553
|
onsessioninitialized: (sessionId) => {
|
|
553
554
|
transports[sessionId] = { transport, group, hostedAuth };
|
|
554
|
-
|
|
555
|
+
logger.log(`[SESSION NEW] New session ${sessionId} initialized successfully${username ? ` for user: ${username}` : ''}`);
|
|
555
556
|
},
|
|
556
557
|
});
|
|
557
558
|
transport.onclose = () => {
|
|
558
|
-
|
|
559
|
+
logger.log(`[SESSION NEW] Transport closed: ${newSessionId}`);
|
|
559
560
|
delete transports[newSessionId];
|
|
560
561
|
deleteMcpServer(newSessionId);
|
|
561
562
|
};
|
|
562
563
|
const mcpServer = await getMcpServer(newSessionId, group);
|
|
563
564
|
await mcpServer.connect(transport);
|
|
564
|
-
|
|
565
|
+
logger.log(`[SESSION NEW] Successfully created new session ${newSessionId} in group: ${group}`);
|
|
565
566
|
return transport;
|
|
566
567
|
}
|
|
567
568
|
export const handleMcpPostRequest = async (req, res) => {
|
|
@@ -579,7 +580,7 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
579
580
|
const sessionId = req.headers['mcp-session-id'];
|
|
580
581
|
const group = req.params.group;
|
|
581
582
|
const body = req.body;
|
|
582
|
-
|
|
583
|
+
logger.log(`Handling MCP post request for sessionId: ${sessionId} and group: ${group}${username ? ` for user: ${username}` : ''} with body: ${JSON.stringify(body)}`);
|
|
583
584
|
// Get filtered settings based on user context (after setting user context)
|
|
584
585
|
const systemConfigDao = getSystemConfigDao();
|
|
585
586
|
const systemConfig = await systemConfigDao.get();
|
|
@@ -598,29 +599,29 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
598
599
|
}
|
|
599
600
|
if (sessionId && transportInfo) {
|
|
600
601
|
// Case 1: Session exists and is valid, reuse it
|
|
601
|
-
|
|
602
|
+
logger.log(`[SESSION REUSE] Reusing existing session: ${sessionId}${username ? ` for user: ${username}` : ''}`);
|
|
602
603
|
transport = transportInfo.transport;
|
|
603
604
|
}
|
|
604
605
|
else if (sessionId) {
|
|
605
606
|
// Case 2: SessionId exists but transport is missing (server restart), check if session rebuild is enabled
|
|
606
607
|
const enableSessionRebuild = systemConfig?.enableSessionRebuild || false;
|
|
607
608
|
if (enableSessionRebuild) {
|
|
608
|
-
|
|
609
|
+
logger.log(`[SESSION AUTO-REBUILD] Session ${sessionId} not found, initiating transparent rebuild${username ? ` for user: ${username}` : ''}`);
|
|
609
610
|
const ownsSessionCreationLock = sessionCreationLocks[sessionId] === undefined;
|
|
610
611
|
if (ownsSessionCreationLock) {
|
|
611
612
|
sessionCreationLocks[sessionId] = createSessionWithId(sessionId, group, username, bearerAuthResult.hostedAuth);
|
|
612
613
|
}
|
|
613
614
|
else {
|
|
614
|
-
|
|
615
|
+
logger.log(`[SESSION AUTO-REBUILD] Session creation in progress for ${sessionId}, waiting...`);
|
|
615
616
|
}
|
|
616
617
|
try {
|
|
617
618
|
transport = await sessionCreationLocks[sessionId];
|
|
618
619
|
if (ownsSessionCreationLock) {
|
|
619
|
-
|
|
620
|
+
logger.log(`[SESSION AUTO-REBUILD] Successfully transparently rebuilt session: ${sessionId}`);
|
|
620
621
|
}
|
|
621
622
|
}
|
|
622
623
|
catch (error) {
|
|
623
|
-
|
|
624
|
+
logger.error('[SESSION AUTO-REBUILD] Failed to rebuild session', {
|
|
624
625
|
sessionId,
|
|
625
626
|
error,
|
|
626
627
|
});
|
|
@@ -640,7 +641,7 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
640
641
|
}
|
|
641
642
|
else {
|
|
642
643
|
// Session rebuild is disabled, return error
|
|
643
|
-
|
|
644
|
+
logger.warn(`[SESSION ERROR] Session ${sessionId} not found and session rebuild is disabled${username ? ` for user: ${username}` : ''}`);
|
|
644
645
|
res.status(400).json({
|
|
645
646
|
jsonrpc: '2.0',
|
|
646
647
|
error: {
|
|
@@ -654,20 +655,20 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
654
655
|
}
|
|
655
656
|
else if (isInitializeRequest(req.body)) {
|
|
656
657
|
// Case 3: No sessionId and this is an initialize request, create new session
|
|
657
|
-
|
|
658
|
+
logger.log(`[SESSION CREATE] No session ID provided for initialize request, creating new session${username ? ` for user: ${username}` : ''}`);
|
|
658
659
|
transport = await createNewSession(group, username, bearerAuthResult.hostedAuth);
|
|
659
660
|
}
|
|
660
661
|
else if (req.body &&
|
|
661
662
|
typeof req.body.method === 'string' &&
|
|
662
663
|
req.body.method.startsWith('notifications/')) {
|
|
663
664
|
// Case 4: Session-less notification requests should be acknowledged and ignored
|
|
664
|
-
|
|
665
|
+
logger.log(`[SESSION SKIP] Ignoring session-less notification request (method: ${req.body.method})${username ? ` for user: ${username}` : ''}`);
|
|
665
666
|
res.status(200).end();
|
|
666
667
|
return;
|
|
667
668
|
}
|
|
668
669
|
else {
|
|
669
670
|
// Case 5: No sessionId and not an initialize/notification request, return error
|
|
670
|
-
|
|
671
|
+
logger.warn(`[SESSION ERROR] No session ID provided for non-initialize request (method: ${req.body?.method})${username ? ` for user: ${username}` : ''}`);
|
|
671
672
|
res.status(400).json({
|
|
672
673
|
jsonrpc: '2.0',
|
|
673
674
|
error: {
|
|
@@ -678,7 +679,7 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
678
679
|
});
|
|
679
680
|
return;
|
|
680
681
|
}
|
|
681
|
-
|
|
682
|
+
logger.log(`Handling request using transport with type ${transport.constructor.name}`);
|
|
682
683
|
const requestContextService = RequestContextService.getInstance();
|
|
683
684
|
await requestContextService.runWithRequestContext(req, async () => {
|
|
684
685
|
// Set bearer key and group context for activity logging
|
|
@@ -692,7 +693,7 @@ export const handleMcpPostRequest = async (req, res) => {
|
|
|
692
693
|
}
|
|
693
694
|
catch (error) {
|
|
694
695
|
if (sessionId && error?.message?.includes('Server not initialized')) {
|
|
695
|
-
|
|
696
|
+
logger.warn(`[SESSION AUTO-REBUILD] Rebuilt session ${sessionId} is not initialized. Returning explicit session-not-found response.`);
|
|
696
697
|
cleanupSessionState(sessionId);
|
|
697
698
|
if (!res.headersSent) {
|
|
698
699
|
sendSessionNotFoundJsonRpc(res);
|
|
@@ -718,7 +719,7 @@ export const handleMcpOtherRequest = async (req, res) => {
|
|
|
718
719
|
attachUserContextFromBearer(bearerAuthResult, res);
|
|
719
720
|
const currentUser = userContextService.getCurrentUser();
|
|
720
721
|
const username = currentUser?.username;
|
|
721
|
-
|
|
722
|
+
logger.log(`Handling MCP other request${username ? ` for user: ${username}` : ''}`);
|
|
722
723
|
const sessionId = req.headers['mcp-session-id'];
|
|
723
724
|
if (!sessionId) {
|
|
724
725
|
res.status(400).send('Invalid or missing session ID');
|
|
@@ -731,7 +732,7 @@ export const handleMcpOtherRequest = async (req, res) => {
|
|
|
731
732
|
const systemConfig = await systemConfigDao.get();
|
|
732
733
|
const enableSessionRebuild = systemConfig?.enableSessionRebuild || false;
|
|
733
734
|
if (enableSessionRebuild) {
|
|
734
|
-
|
|
735
|
+
logger.log(`[SESSION AUTO-REBUILD] Session ${sessionId} not found in handleMcpOtherRequest, initiating transparent rebuild`);
|
|
735
736
|
try {
|
|
736
737
|
// Check if user context exists
|
|
737
738
|
if (!currentUser) {
|
|
@@ -742,12 +743,12 @@ export const handleMcpOtherRequest = async (req, res) => {
|
|
|
742
743
|
const group = req.params.group;
|
|
743
744
|
const rebuiltSession = await createSessionWithId(sessionId, group, currentUser.username, bearerAuthResult.hostedAuth);
|
|
744
745
|
if (rebuiltSession) {
|
|
745
|
-
|
|
746
|
+
logger.log(`[SESSION AUTO-REBUILD] Successfully transparently rebuilt session: ${sessionId}`);
|
|
746
747
|
transportEntry = transports[sessionId];
|
|
747
748
|
}
|
|
748
749
|
}
|
|
749
750
|
catch (error) {
|
|
750
|
-
|
|
751
|
+
logger.error('[SESSION AUTO-REBUILD] Failed to rebuild session', {
|
|
751
752
|
sessionId,
|
|
752
753
|
error,
|
|
753
754
|
});
|
|
@@ -757,7 +758,7 @@ export const handleMcpOtherRequest = async (req, res) => {
|
|
|
757
758
|
}
|
|
758
759
|
}
|
|
759
760
|
else {
|
|
760
|
-
|
|
761
|
+
logger.warn(`[SESSION ERROR] Session ${sessionId} not found and session rebuild is disabled in handleMcpOtherRequest`);
|
|
761
762
|
res.status(400).send('Invalid or missing session ID');
|
|
762
763
|
return;
|
|
763
764
|
}
|
|
@@ -772,7 +773,7 @@ export const handleMcpOtherRequest = async (req, res) => {
|
|
|
772
773
|
}
|
|
773
774
|
catch (error) {
|
|
774
775
|
if (error?.message?.includes('Server not initialized')) {
|
|
775
|
-
|
|
776
|
+
logger.warn(`[SESSION AUTO-REBUILD] Rebuilt session ${sessionId} is not initialized for auxiliary request. Returning explicit session-not-found response.`);
|
|
776
777
|
cleanupSessionState(sessionId);
|
|
777
778
|
if (!res.headersSent) {
|
|
778
779
|
sendSessionNotFoundText(res);
|