@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
package/dist/server.js
CHANGED
|
@@ -16,9 +16,11 @@ import { initOAuthProvider, getOAuthRouter } from './services/oauthService.js';
|
|
|
16
16
|
import { initOAuthServer } from './services/oauthServerService.js';
|
|
17
17
|
import { safeStringify } from './utils/serialization.js';
|
|
18
18
|
import { resolveTrustProxySetting } from './utils/proxyTrust.js';
|
|
19
|
+
import { resolveCorsOrigin } from './utils/corsOrigin.js';
|
|
19
20
|
import { setFrontendDistPath } from './utils/frontendShell.js';
|
|
20
|
-
import { mcpConnectionRateLimiter } from './utils/rateLimit.js';
|
|
21
|
+
import { mcpConnectionRateLimiter, spaPageRateLimiter } from './utils/rateLimit.js';
|
|
21
22
|
import { closeHttpServer } from './utils/serverShutdown.js';
|
|
23
|
+
import { logger } from './utils/logger.js';
|
|
22
24
|
/**
|
|
23
25
|
* Get the directory of the current module
|
|
24
26
|
* This is wrapped in a function to allow easy mocking in test environments
|
|
@@ -43,9 +45,11 @@ export class AppServer {
|
|
|
43
45
|
this.frontendPath = null;
|
|
44
46
|
this.app = express();
|
|
45
47
|
this.app.set('trust proxy', resolveTrustProxySetting());
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
48
|
+
// Delegate-based CORS so the Host header is available for the same-host
|
|
49
|
+
// check inside resolveCorsOrigin.
|
|
50
|
+
this.app.use(cors((req, callback) => {
|
|
51
|
+
const origin = resolveCorsOrigin(req.headers.origin, req.headers.host, process.env.ALLOWED_ORIGINS);
|
|
52
|
+
callback(null, { origin: origin === false ? false : origin, credentials: true });
|
|
49
53
|
}));
|
|
50
54
|
this.port = config.port;
|
|
51
55
|
this.basePath = config.basePath;
|
|
@@ -55,7 +59,7 @@ export class AppServer {
|
|
|
55
59
|
try {
|
|
56
60
|
// Initialize i18n before other components
|
|
57
61
|
await initI18n();
|
|
58
|
-
|
|
62
|
+
logger.log('i18n initialized successfully');
|
|
59
63
|
// Initialize default admin user if no users exist
|
|
60
64
|
await initializeDefaultUser();
|
|
61
65
|
// Initialize OAuth provider if configured (for proxying upstream MCP OAuth)
|
|
@@ -65,16 +69,16 @@ export class AppServer {
|
|
|
65
69
|
// Mount OAuth router at the root level (before other routes)
|
|
66
70
|
// This must be at root level as per MCP OAuth specification
|
|
67
71
|
this.app.use(oauthRouter);
|
|
68
|
-
|
|
72
|
+
logger.log('OAuth router mounted successfully');
|
|
69
73
|
}
|
|
70
74
|
// Initialize OAuth authorization server (for MCPHub's own OAuth)
|
|
71
75
|
await initOAuthServer();
|
|
72
76
|
initMiddlewares(this.app);
|
|
73
77
|
await initRoutes(this.app);
|
|
74
|
-
|
|
78
|
+
logger.log('Server initialized successfully');
|
|
75
79
|
initUpstreamServers()
|
|
76
80
|
.then(() => {
|
|
77
|
-
|
|
81
|
+
logger.log('MCP server initialized successfully');
|
|
78
82
|
// Original routes (global and group-based)
|
|
79
83
|
this.app.get(`${this.basePath}/sse/:group(.*)?`, mcpConnectionRateLimiter, sseUserContextMiddleware, (req, res) => handleSseConnection(req, res));
|
|
80
84
|
this.app.post(`${this.basePath}/messages`, mcpConnectionRateLimiter, sseUserContextMiddleware, handleSseMessage);
|
|
@@ -89,7 +93,7 @@ export class AppServer {
|
|
|
89
93
|
this.app.delete(`${this.basePath}/:user/mcp/:group(.*)?`, mcpConnectionRateLimiter, sseUserContextMiddleware, handleMcpOtherRequest);
|
|
90
94
|
})
|
|
91
95
|
.catch((error) => {
|
|
92
|
-
|
|
96
|
+
logger.error('Error initializing MCP server', safeStringify({ error }));
|
|
93
97
|
throw error;
|
|
94
98
|
})
|
|
95
99
|
.finally(() => {
|
|
@@ -98,13 +102,13 @@ export class AppServer {
|
|
|
98
102
|
});
|
|
99
103
|
}
|
|
100
104
|
catch (error) {
|
|
101
|
-
|
|
105
|
+
logger.error('Error initializing server', safeStringify({ error }));
|
|
102
106
|
throw error;
|
|
103
107
|
}
|
|
104
108
|
}
|
|
105
109
|
findAndServeFrontend() {
|
|
106
110
|
if (this.disableWeb) {
|
|
107
|
-
|
|
111
|
+
logger.log('Web UI disabled via DISABLE_WEB=true. Server will run without frontend.');
|
|
108
112
|
this.registerFrontendUnavailableRoute();
|
|
109
113
|
return;
|
|
110
114
|
}
|
|
@@ -114,12 +118,12 @@ export class AppServer {
|
|
|
114
118
|
// OAuth consent screen) can boot the shell with injected context.
|
|
115
119
|
setFrontendDistPath(this.frontendPath);
|
|
116
120
|
if (this.frontendPath) {
|
|
117
|
-
|
|
121
|
+
logger.log('Serving frontend', JSON.stringify({ frontendPath: this.frontendPath }));
|
|
118
122
|
// Serve static files with base path
|
|
119
123
|
this.app.use(this.basePath, express.static(this.frontendPath));
|
|
120
124
|
// Add the wildcard route for SPA with base path
|
|
121
125
|
if (fs.existsSync(path.join(this.frontendPath, 'index.html'))) {
|
|
122
|
-
this.app.get(`${this.basePath}/*`, (_req, res) => {
|
|
126
|
+
this.app.get(`${this.basePath}/*`, spaPageRateLimiter, (_req, res) => {
|
|
123
127
|
res.sendFile(path.join(this.frontendPath, 'index.html'));
|
|
124
128
|
});
|
|
125
129
|
// Also handle root redirect if base path is set
|
|
@@ -131,18 +135,18 @@ export class AppServer {
|
|
|
131
135
|
}
|
|
132
136
|
}
|
|
133
137
|
else {
|
|
134
|
-
|
|
138
|
+
logger.warn('Frontend dist directory not found. Server will run without frontend.');
|
|
135
139
|
this.registerFrontendUnavailableRoute();
|
|
136
140
|
}
|
|
137
141
|
}
|
|
138
142
|
start() {
|
|
139
143
|
this.server = this.app.listen(this.port, () => {
|
|
140
|
-
|
|
144
|
+
logger.log(`Server is running on port ${this.port}`);
|
|
141
145
|
if (this.frontendPath && !this.disableWeb) {
|
|
142
|
-
|
|
146
|
+
logger.log(`Open http://localhost:${this.port} in your browser to access MCPHub UI`);
|
|
143
147
|
}
|
|
144
148
|
else {
|
|
145
|
-
|
|
149
|
+
logger.log(`MCPHub API is running on http://localhost:${this.port}, but the UI is not available`);
|
|
146
150
|
}
|
|
147
151
|
});
|
|
148
152
|
this.server.on('connection', (socket) => {
|
|
@@ -154,7 +158,7 @@ export class AppServer {
|
|
|
154
158
|
* Gracefully shutdown the server
|
|
155
159
|
*/
|
|
156
160
|
async shutdown() {
|
|
157
|
-
|
|
161
|
+
logger.log('[SHUTDOWN] Starting graceful shutdown...');
|
|
158
162
|
// Stop accepting new connections while existing requests finish within the grace period.
|
|
159
163
|
const httpShutdown = this.server
|
|
160
164
|
? closeHttpServer(this.server, this.connections)
|
|
@@ -162,10 +166,10 @@ export class AppServer {
|
|
|
162
166
|
// Close all MCP clients
|
|
163
167
|
try {
|
|
164
168
|
cleanupAllServers();
|
|
165
|
-
|
|
169
|
+
logger.log('[SHUTDOWN] MCP clients closed');
|
|
166
170
|
}
|
|
167
171
|
catch (error) {
|
|
168
|
-
|
|
172
|
+
logger.error('[SHUTDOWN] Error closing MCP clients', safeStringify({ error }));
|
|
169
173
|
}
|
|
170
174
|
await httpShutdown;
|
|
171
175
|
this.server = null;
|
|
@@ -175,13 +179,13 @@ export class AppServer {
|
|
|
175
179
|
try {
|
|
176
180
|
const { closeDatabase } = await import('./db/connection.js');
|
|
177
181
|
await closeDatabase();
|
|
178
|
-
|
|
182
|
+
logger.log('[SHUTDOWN] Database connection closed');
|
|
179
183
|
}
|
|
180
184
|
catch (error) {
|
|
181
|
-
|
|
185
|
+
logger.error('[SHUTDOWN] Error closing database', safeStringify({ error }));
|
|
182
186
|
}
|
|
183
187
|
}
|
|
184
|
-
|
|
188
|
+
logger.log('[SHUTDOWN] Graceful shutdown completed');
|
|
185
189
|
}
|
|
186
190
|
connected() {
|
|
187
191
|
return connected();
|
|
@@ -195,28 +199,28 @@ export class AppServer {
|
|
|
195
199
|
const debug = process.env.DEBUG === 'true';
|
|
196
200
|
const currentDir = getCurrentFileDir();
|
|
197
201
|
if (debug) {
|
|
198
|
-
|
|
199
|
-
|
|
202
|
+
logger.log('DEBUG: Current directory:', process.cwd());
|
|
203
|
+
logger.log('DEBUG: Script directory:', currentDir);
|
|
200
204
|
}
|
|
201
205
|
// First, find the package root directory
|
|
202
206
|
const packageRoot = this.findPackageRoot();
|
|
203
207
|
if (debug) {
|
|
204
|
-
|
|
208
|
+
logger.log('DEBUG: Using package root:', packageRoot);
|
|
205
209
|
}
|
|
206
210
|
if (!packageRoot) {
|
|
207
|
-
|
|
211
|
+
logger.warn('Could not determine package root directory');
|
|
208
212
|
return null;
|
|
209
213
|
}
|
|
210
214
|
// Check for frontend dist in the standard location
|
|
211
215
|
const frontendDistPath = path.join(packageRoot, 'frontend', 'dist');
|
|
212
216
|
if (debug) {
|
|
213
|
-
|
|
217
|
+
logger.log(`DEBUG: Checking frontend at: ${frontendDistPath}`);
|
|
214
218
|
}
|
|
215
219
|
if (fs.existsSync(frontendDistPath) &&
|
|
216
220
|
fs.existsSync(path.join(frontendDistPath, 'index.html'))) {
|
|
217
221
|
return frontendDistPath;
|
|
218
222
|
}
|
|
219
|
-
|
|
223
|
+
logger.warn('Frontend distribution not found', { frontendDistPath });
|
|
220
224
|
return null;
|
|
221
225
|
}
|
|
222
226
|
// Helper method to find the package root (where package.json is located)
|
|
@@ -228,7 +232,9 @@ export class AppServer {
|
|
|
228
232
|
registerFrontendUnavailableRoute() {
|
|
229
233
|
const rootPath = this.basePath || '/';
|
|
230
234
|
this.app.get(rootPath, (_req, res) => {
|
|
231
|
-
res
|
|
235
|
+
res
|
|
236
|
+
.status(404)
|
|
237
|
+
.send('Frontend not found. MCPHub API is running, but the UI is not available.');
|
|
232
238
|
});
|
|
233
239
|
}
|
|
234
240
|
}
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getActivityDao, isActivityLoggingEnabled } from '../dao/DaoFactory.js';
|
|
2
|
-
import { stringifyWithoutRedaction, sanitizeStringForLogging
|
|
2
|
+
import { stringifyWithoutRedaction, sanitizeStringForLogging } from '../utils/serialization.js';
|
|
3
3
|
import { getCachedSystemConfig } from '../utils/systemConfigCache.js';
|
|
4
|
+
import { logger } from '../utils/logger.js';
|
|
4
5
|
const PAYLOAD_OMITTED = JSON.stringify({
|
|
5
6
|
_omitted: true,
|
|
6
7
|
_reason: 'activityLog.storeToolPayload is disabled',
|
|
@@ -59,7 +60,7 @@ export class ActivityLoggingService {
|
|
|
59
60
|
}
|
|
60
61
|
catch (error) {
|
|
61
62
|
// Don't let logging failures affect the main flow
|
|
62
|
-
|
|
63
|
+
logger.error('Failed to log activity:', error);
|
|
63
64
|
}
|
|
64
65
|
}
|
|
65
66
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"activityLoggingService.js","sourceRoot":"","sources":["../../src/services/activityLoggingService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhF,OAAO,
|
|
1
|
+
{"version":3,"file":"activityLoggingService.js","sourceRoot":"","sources":["../../src/services/activityLoggingService.ts"],"names":[],"mappings":"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"}
|
|
@@ -172,10 +172,7 @@ export const resolveBetterAuthRuntimeConfig = (systemConfig) => {
|
|
|
172
172
|
const oidcPrompt = resolvePromptSetting(process.env.BETTER_AUTH_OIDC_PROMPT, oidcSettings.prompt);
|
|
173
173
|
const oidcTrustEmail = resolveBooleanSetting(process.env.BETTER_AUTH_OIDC_TRUST_EMAIL, undefined, false);
|
|
174
174
|
const oidcEnabledSetting = resolveBooleanSetting(process.env.BETTER_AUTH_OIDC_ENABLED, oidcSettings.enabled, false);
|
|
175
|
-
const oidcEnabled = betterAuthEnabled &&
|
|
176
|
-
oidcEnabledSetting &&
|
|
177
|
-
Boolean(oidcDiscoveryUrl) &&
|
|
178
|
-
oidcEnvConfigured;
|
|
175
|
+
const oidcEnabled = betterAuthEnabled && oidcEnabledSetting && Boolean(oidcDiscoveryUrl) && oidcEnvConfigured;
|
|
179
176
|
const googleEnabled = betterAuthEnabled &&
|
|
180
177
|
resolveBooleanSetting(process.env.BETTER_AUTH_GOOGLE_ENABLED, providerSettings.google?.enabled, true) &&
|
|
181
178
|
googleEnvConfigured;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"betterAuthConfig.js","sourceRoot":"","sources":["../../src/services/betterAuthConfig.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"betterAuthConfig.js","sourceRoot":"","sources":["../../src/services/betterAuthConfig.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import crypto from 'crypto';
|
|
2
|
-
import { createUser, findUserByUsername, findUserByEmail, findUserBySsoUserId } from '../models/User.js';
|
|
2
|
+
import { createUser, findUserByUsername, findUserByEmail, findUserBySsoUserId, } from '../models/User.js';
|
|
3
3
|
import { getBetterAuthRuntimeConfig } from './betterAuthConfig.js';
|
|
4
4
|
import { getUserDao } from '../dao/index.js';
|
|
5
|
+
import { logger } from '../utils/logger.js';
|
|
5
6
|
export const getBetterAuthSession = async (req) => {
|
|
6
7
|
if (!(await getBetterAuthRuntimeConfig()).enabled) {
|
|
7
8
|
return null;
|
|
@@ -16,7 +17,7 @@ export const getBetterAuthSession = async (req) => {
|
|
|
16
17
|
return session || null;
|
|
17
18
|
}
|
|
18
19
|
catch (error) {
|
|
19
|
-
|
|
20
|
+
logger.warn('Better Auth session lookup failed:', error);
|
|
20
21
|
return null;
|
|
21
22
|
}
|
|
22
23
|
};
|
|
@@ -39,7 +40,7 @@ export const resolveBetterAuthUser = async (req) => {
|
|
|
39
40
|
await userDao.update(ssoMatch.username, { email });
|
|
40
41
|
}
|
|
41
42
|
catch (backfillError) {
|
|
42
|
-
|
|
43
|
+
logger.warn('Email backfill failed (non-critical):', backfillError);
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
return ssoMatch;
|
|
@@ -56,7 +57,7 @@ export const resolveBetterAuthUser = async (req) => {
|
|
|
56
57
|
await userDao.update(emailMatch.username, { ssoUserId });
|
|
57
58
|
}
|
|
58
59
|
catch (backfillError) {
|
|
59
|
-
|
|
60
|
+
logger.warn('ssoUserId backfill failed (non-critical):', backfillError);
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
return emailMatch;
|
|
@@ -74,7 +75,7 @@ export const resolveBetterAuthUser = async (req) => {
|
|
|
74
75
|
await userDao.update(usernameMatch.username, { ssoUserId });
|
|
75
76
|
}
|
|
76
77
|
catch (backfillError) {
|
|
77
|
-
|
|
78
|
+
logger.warn('ssoUserId backfill failed (non-critical):', backfillError);
|
|
78
79
|
}
|
|
79
80
|
}
|
|
80
81
|
if (email && !usernameMatch.email) {
|
|
@@ -82,7 +83,7 @@ export const resolveBetterAuthUser = async (req) => {
|
|
|
82
83
|
await userDao.update(usernameMatch.username, { email });
|
|
83
84
|
}
|
|
84
85
|
catch (backfillError) {
|
|
85
|
-
|
|
86
|
+
logger.warn('Email backfill failed (non-critical):', backfillError);
|
|
86
87
|
}
|
|
87
88
|
}
|
|
88
89
|
return usernameMatch;
|
|
@@ -94,7 +95,7 @@ export const resolveBetterAuthUser = async (req) => {
|
|
|
94
95
|
}
|
|
95
96
|
const runtimeConfig = await getBetterAuthRuntimeConfig();
|
|
96
97
|
if (runtimeConfig.disableAutoCreate) {
|
|
97
|
-
|
|
98
|
+
logger.warn(`SSO auto-creation disabled: user "${username}" not found in system`);
|
|
98
99
|
return null;
|
|
99
100
|
}
|
|
100
101
|
const generatedPassword = crypto.randomUUID();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"betterAuthSession.js","sourceRoot":"","sources":["../../src/services/betterAuthSession.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,
|
|
1
|
+
{"version":3,"file":"betterAuthSession.js","sourceRoot":"","sources":["../../src/services/betterAuthSession.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { logger } from '../utils/logger.js';
|
|
1
2
|
const DEFAULT_CHANGELOG_API_BASE = 'https://www.mcphub.app/api/v1/changelog';
|
|
2
3
|
const DEFAULT_NPM_LATEST_URL = 'https://registry.npmjs.org/@samanhappy/mcphub/latest';
|
|
3
4
|
const DEFAULT_TIMEOUT_MS = 5000;
|
|
@@ -27,7 +28,7 @@ export async function getChangelogUpdateInfo(input) {
|
|
|
27
28
|
return cachedUpdateInfo.data;
|
|
28
29
|
}
|
|
29
30
|
const data = await fetchUpdateInfoFromMcphubWeb(currentVersion, locale).catch(async (error) => {
|
|
30
|
-
|
|
31
|
+
logger.warn('[changelog] mcphub-web update check failed, falling back to npm latest', {
|
|
31
32
|
error: error instanceof Error ? error.message : String(error),
|
|
32
33
|
});
|
|
33
34
|
return fetchNpmFallback(currentVersion, locale);
|
|
@@ -48,7 +49,9 @@ async function fetchUpdateInfoFromMcphubWeb(currentVersion, locale) {
|
|
|
48
49
|
headers: { Accept: 'application/json' },
|
|
49
50
|
signal: AbortSignal.timeout(timeoutMs()),
|
|
50
51
|
});
|
|
51
|
-
const envelope = (await response
|
|
52
|
+
const envelope = (await response
|
|
53
|
+
.json()
|
|
54
|
+
.catch(() => null));
|
|
52
55
|
if (!response.ok || !envelope?.success || !envelope.data) {
|
|
53
56
|
throw new Error(envelope?.message || `Changelog request failed: ${response.status}`);
|
|
54
57
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"changelogService.js","sourceRoot":"","sources":["../../src/services/changelogService.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"changelogService.js","sourceRoot":"","sources":["../../src/services/changelogService.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
2
|
import { getSystemConfigDao } from '../dao/index.js';
|
|
3
|
+
import { logger } from '../utils/logger.js';
|
|
3
4
|
// MCPRouter API default base URL
|
|
4
5
|
const DEFAULT_MCPROUTER_API_BASE = 'https://api.mcprouter.to/v1';
|
|
5
6
|
// Get MCPRouter API config from system configuration
|
|
@@ -39,7 +40,7 @@ export const getCloudServers = async () => {
|
|
|
39
40
|
return data.data.servers || [];
|
|
40
41
|
}
|
|
41
42
|
catch (error) {
|
|
42
|
-
|
|
43
|
+
logger.error('Error fetching cloud market servers', { error });
|
|
43
44
|
throw error;
|
|
44
45
|
}
|
|
45
46
|
};
|
|
@@ -50,7 +51,7 @@ export const getCloudServerByName = async (name) => {
|
|
|
50
51
|
return servers.find((server) => server.name === name || server.config_name === name) || null;
|
|
51
52
|
}
|
|
52
53
|
catch (error) {
|
|
53
|
-
|
|
54
|
+
logger.error('Error fetching cloud server', { name, error });
|
|
54
55
|
throw error;
|
|
55
56
|
}
|
|
56
57
|
};
|
|
@@ -73,7 +74,7 @@ export const getCloudServerTools = async (serverKey) => {
|
|
|
73
74
|
return data.data.tools || [];
|
|
74
75
|
}
|
|
75
76
|
catch (error) {
|
|
76
|
-
|
|
77
|
+
logger.error('Error fetching cloud server tools', { serverKey, error });
|
|
77
78
|
throw error;
|
|
78
79
|
}
|
|
79
80
|
};
|
|
@@ -98,7 +99,7 @@ export const callCloudServerTool = async (serverName, toolName, args) => {
|
|
|
98
99
|
return data.data;
|
|
99
100
|
}
|
|
100
101
|
catch (error) {
|
|
101
|
-
|
|
102
|
+
logger.error('Error calling cloud server tool', { serverName, toolName, error });
|
|
102
103
|
throw error;
|
|
103
104
|
}
|
|
104
105
|
};
|
|
@@ -124,7 +125,7 @@ export const getCloudCategories = async () => {
|
|
|
124
125
|
return Array.from(categories).sort();
|
|
125
126
|
}
|
|
126
127
|
catch (error) {
|
|
127
|
-
|
|
128
|
+
logger.error('Error fetching cloud market categories', { error });
|
|
128
129
|
throw error;
|
|
129
130
|
}
|
|
130
131
|
};
|
|
@@ -149,7 +150,7 @@ export const getCloudTags = async () => {
|
|
|
149
150
|
return Array.from(tags).sort();
|
|
150
151
|
}
|
|
151
152
|
catch (error) {
|
|
152
|
-
|
|
153
|
+
logger.error('Error fetching cloud market tags', { error });
|
|
153
154
|
throw error;
|
|
154
155
|
}
|
|
155
156
|
};
|
|
@@ -178,7 +179,7 @@ export const searchCloudServers = async (query) => {
|
|
|
178
179
|
});
|
|
179
180
|
}
|
|
180
181
|
catch (error) {
|
|
181
|
-
|
|
182
|
+
logger.error('Error searching cloud market servers', { query, error });
|
|
182
183
|
throw error;
|
|
183
184
|
}
|
|
184
185
|
};
|
|
@@ -195,7 +196,7 @@ export const filterCloudServersByCategory = async (category) => {
|
|
|
195
196
|
});
|
|
196
197
|
}
|
|
197
198
|
catch (error) {
|
|
198
|
-
|
|
199
|
+
logger.error('Error filtering cloud market servers by category', { category, error });
|
|
199
200
|
throw error;
|
|
200
201
|
}
|
|
201
202
|
};
|
|
@@ -212,7 +213,7 @@ export const filterCloudServersByTag = async (tag) => {
|
|
|
212
213
|
});
|
|
213
214
|
}
|
|
214
215
|
catch (error) {
|
|
215
|
-
|
|
216
|
+
logger.error('Error filtering cloud market servers by tag', { tag, error });
|
|
216
217
|
throw error;
|
|
217
218
|
}
|
|
218
219
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cloudService.js","sourceRoot":"","sources":["../../src/services/cloudService.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AASlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,iCAAiC;AACjC,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;AAEjE,qDAAqD;AACrD,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;IACpC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,YAAY,EAAE,SAAS,CAAC;IAEhD,OAAO;QACL,MAAM,EAAE,eAAe,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACtE,OAAO,EAAE,eAAe,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,wBAAwB;QAC9F,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ;QACxE,OAAO,EACL,eAAe,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,0BAA0B;KAC3F,CAAC;AACJ,CAAC,CAAC;AAEF,0CAA0C;AAC1C,MAAM,cAAc,GAAG,KAAK,IAAiC,EAAE;IAC7D,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEnD,OAAO;QACL,OAAO,EAAE;YACP,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;YAC/E,cAAc,EAAE,eAAe,CAAC,OAAO,IAAI,wBAAwB;YACnE,SAAS,EAAE,eAAe,CAAC,KAAK,IAAI,QAAQ;YAC5C,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAA4B,EAAE;IAChE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,eAAe,CAAC,OAAO,eAAe,EACzC,EAAE,EACF,WAAW,CACZ,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,
|
|
1
|
+
{"version":3,"file":"cloudService.js","sourceRoot":"","sources":["../../src/services/cloudService.ts"],"names":[],"mappings":"AAAA,OAAO,KAA6B,MAAM,OAAO,CAAC;AASlD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,iCAAiC;AACjC,MAAM,0BAA0B,GAAG,6BAA6B,CAAC;AAEjE,qDAAqD;AACrD,MAAM,kBAAkB,GAAG,KAAK,IAAI,EAAE;IACpC,MAAM,eAAe,GAAG,kBAAkB,EAAE,CAAC;IAC7C,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC;IACjD,MAAM,eAAe,GAAG,YAAY,EAAE,SAAS,CAAC;IAEhD,OAAO;QACL,MAAM,EAAE,eAAe,EAAE,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,EAAE;QACtE,OAAO,EAAE,eAAe,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,wBAAwB;QAC9F,KAAK,EAAE,eAAe,EAAE,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,QAAQ;QACxE,OAAO,EACL,eAAe,EAAE,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,IAAI,0BAA0B;KAC3F,CAAC;AACJ,CAAC,CAAC;AAEF,0CAA0C;AAC1C,MAAM,cAAc,GAAG,KAAK,IAAiC,EAAE;IAC7D,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;IAEnD,OAAO;QACL,OAAO,EAAE;YACP,aAAa,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,eAAe,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE;YAC/E,cAAc,EAAE,eAAe,CAAC,OAAO,IAAI,wBAAwB;YACnE,SAAS,EAAE,eAAe,CAAC,KAAK,IAAI,QAAQ;YAC5C,cAAc,EAAE,kBAAkB;SACnC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,eAAe,GAAG,KAAK,IAA4B,EAAE;IAChE,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEnD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,eAAe,CAAC,OAAO,eAAe,EACzC,EAAE,EACF,WAAW,CACZ,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,yBAAyB,CAAC,CAAC;QAC7D,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,qCAAqC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,sCAAsC;AACtC,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,EAAE,IAAY,EAA+B,EAAE;IACtF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;QACxC,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,CAAC,WAAW,KAAK,IAAI,CAAC,IAAI,IAAI,CAAC;IAC/F,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC7D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,yCAAyC;AACzC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EAAE,SAAiB,EAAwB,EAAE;IACnF,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEnD,IACE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC;YACvC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,SAAS,EAClD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,eAAe,CAAC,OAAO,aAAa,EACvC;YACE,MAAM,EAAE,SAAS;SAClB,EACD,WAAW,CACZ,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3B,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,uBAAuB,CAAC,CAAC;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACxE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,gCAAgC;AAChC,MAAM,CAAC,MAAM,mBAAmB,GAAG,KAAK,EACtC,UAAkB,EAClB,QAAgB,EAChB,IAAyB,EACW,EAAE;IACtC,IAAI,CAAC;QACH,MAAM,WAAW,GAAG,MAAM,cAAc,EAAE,CAAC;QAC3C,MAAM,eAAe,GAAG,MAAM,kBAAkB,EAAE,CAAC;QAEnD,IACE,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC,eAAe,CAAC;YACvC,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,KAAK,SAAS,EAClD,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QACtD,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,IAAI,CAC/B,GAAG,eAAe,CAAC,OAAO,YAAY,EACtC;YACE,MAAM,EAAE,UAAU;YAClB,IAAI,EAAE,QAAQ;YACd,SAAS,EAAE,IAAI;SAChB,EACD,WAAW,CACZ,CAAC;QAEF,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;QAE3B,IAAI,IAAI,CAAC,IAAI,KAAK,CAAC,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,OAAO,IAAI,qBAAqB,CAAC,CAAC;QACzD,CAAC;QAED,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACjF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,wCAAwC;AACxC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,IAAuB,EAAE;IAC9D,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;QAErC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,iDAAiD;YACjD,4FAA4F;YAC5F,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,eAAe,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;gBAC1E,IAAI,eAAe,EAAE,CAAC;oBACpB,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBAChC,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC7D,IAAI,QAAQ;4BAAE,UAAU,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;oBACzC,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IACvC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,wCAAwC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAClE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,kCAAkC;AAClC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,IAAuB,EAAE;IACxD,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;QACxC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAE/B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YACzB,2CAA2C;YAC3C,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBACpE,IAAI,UAAU,EAAE,CAAC;oBACf,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;wBAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;wBACvD,IAAI,GAAG;4BAAE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACzB,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,gCAAgC;AAChC,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,EAAE,KAAa,EAA0B,EAAE;IAChF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;QACxC,MAAM,WAAW,GAAG,KAAK;aACtB,WAAW,EAAE;aACb,KAAK,CAAC,GAAG,CAAC;aACV,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAErC,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC7B,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,UAAU,GAAG;gBACjB,MAAM,CAAC,IAAI;gBACX,MAAM,CAAC,KAAK;gBACZ,MAAM,CAAC,WAAW;gBAClB,MAAM,CAAC,OAAO;gBACd,MAAM,CAAC,WAAW;aACnB;iBACE,IAAI,CAAC,GAAG,CAAC;iBACT,WAAW,EAAE,CAAC;YAEjB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,sCAAsC,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;QACvE,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,mCAAmC;AACnC,MAAM,CAAC,MAAM,4BAA4B,GAAG,KAAK,EAAE,QAAgB,EAA0B,EAAE;IAC7F,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;QAExC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC;QAClD,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,kDAAkD,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACtF,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF,8BAA8B;AAC9B,MAAM,CAAC,MAAM,uBAAuB,GAAG,KAAK,EAAE,GAAW,EAA0B,EAAE;IACnF,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,eAAe,EAAE,CAAC;QAExC,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,OAAO,OAAO,CAAC;QACjB,CAAC;QAED,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE;YAC/B,MAAM,OAAO,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;YACrD,OAAO,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,KAAK,CAAC,6CAA6C,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAC5E,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { itemCostForTool, itemCostForPrompt, itemCostForResource, countTokens, serializeToolDefinition } from '../utils/tokenCost.js';
|
|
1
|
+
import { itemCostForTool, itemCostForPrompt, itemCostForResource, countTokens, serializeToolDefinition, } from '../utils/tokenCost.js';
|
|
2
2
|
import { getServersInfo } from './mcpService.js';
|
|
3
3
|
import { getNameSeparator } from '../config/index.js';
|
|
4
4
|
import { getAllGroups, normalizeGroupServers } from './groupService.js';
|
|
@@ -45,7 +45,11 @@ const isSelected = (selection, short) => selection === undefined || selection ==
|
|
|
45
45
|
const smartRoutingCostFor = async (groupName) => {
|
|
46
46
|
const ref = `$smart/${groupName}`;
|
|
47
47
|
const sumCost = async (tools) => {
|
|
48
|
-
const counts = await Promise.all(tools.map((t) => countTokens(serializeToolDefinition({
|
|
48
|
+
const counts = await Promise.all(tools.map((t) => countTokens(serializeToolDefinition({
|
|
49
|
+
name: t.name,
|
|
50
|
+
description: t.description,
|
|
51
|
+
inputSchema: t.inputSchema,
|
|
52
|
+
}))));
|
|
49
53
|
return counts.reduce((a, b) => a + b, 0);
|
|
50
54
|
};
|
|
51
55
|
const [baseTools, pdTools] = await Promise.all([
|