@samanhappy/mcphub 0.8.2 → 0.8.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/dist/config/index.js +9 -3
  2. package/dist/config/index.js.map +1 -1
  3. package/dist/controllers/authController.js +16 -11
  4. package/dist/controllers/authController.js.map +1 -1
  5. package/dist/controllers/dxtController.js +3 -7
  6. package/dist/controllers/dxtController.js.map +1 -1
  7. package/dist/controllers/groupController.js +4 -1
  8. package/dist/controllers/groupController.js.map +1 -1
  9. package/dist/controllers/serverController.js +14 -2
  10. package/dist/controllers/serverController.js.map +1 -1
  11. package/dist/controllers/userController.js +239 -0
  12. package/dist/controllers/userController.js.map +1 -0
  13. package/dist/middlewares/index.js +14 -2
  14. package/dist/middlewares/index.js.map +1 -1
  15. package/dist/middlewares/userContext.js +104 -0
  16. package/dist/middlewares/userContext.js.map +1 -0
  17. package/dist/routes/index.js +8 -0
  18. package/dist/routes/index.js.map +1 -1
  19. package/dist/server.js +23 -14
  20. package/dist/server.js.map +1 -1
  21. package/dist/services/dataService.js +18 -0
  22. package/dist/services/dataService.js.map +1 -0
  23. package/dist/services/groupService.js +7 -2
  24. package/dist/services/groupService.js.map +1 -1
  25. package/dist/services/mcpService.js +220 -119
  26. package/dist/services/mcpService.js.map +1 -1
  27. package/dist/services/registry.js +34 -0
  28. package/dist/services/registry.js.map +1 -0
  29. package/dist/services/services.js +9 -0
  30. package/dist/services/services.js.map +1 -0
  31. package/dist/services/sseService.js +40 -10
  32. package/dist/services/sseService.js.map +1 -1
  33. package/dist/services/userContextService.js +49 -0
  34. package/dist/services/userContextService.js.map +1 -0
  35. package/dist/services/userService.js +100 -0
  36. package/dist/services/userService.js.map +1 -0
  37. package/dist/utils/path.js +3 -7
  38. package/dist/utils/path.js.map +1 -1
  39. package/dist/utils/serialization.js +59 -0
  40. package/dist/utils/serialization.js.map +1 -0
  41. package/dist/utils/version.js +1 -5
  42. package/dist/utils/version.js.map +1 -1
  43. package/frontend/dist/assets/index-B2iLsxRr.css +1 -0
  44. package/frontend/dist/assets/index-BXCRwJIg.js +187 -0
  45. package/frontend/dist/assets/index-BXCRwJIg.js.map +1 -0
  46. package/frontend/dist/index.html +8 -2
  47. package/package.json +3 -1
  48. package/frontend/dist/assets/index-BS_54XZ9.js +0 -186
  49. package/frontend/dist/assets/index-BS_54XZ9.js.map +0 -1
  50. package/frontend/dist/assets/index-DVcFHJ6u.css +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userController.js","sourceRoot":"","sources":["../../src/controllers/userController.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import express from 'express';
2
2
  import { auth } from './auth.js';
3
+ import { userContextMiddleware } from './userContext.js';
3
4
  import { initializeDefaultUser } from '../models/User.js';
4
5
  import config from '../config/index.js';
5
6
  export const errorHandler = (err, _req, res, _next) => {
@@ -18,7 +19,9 @@ export const initMiddlewares = (app) => {
18
19
  // TODO exclude sse responses by mcp endpoint
19
20
  if (req.path !== `${basePath}/sse` &&
20
21
  !req.path.startsWith(`${basePath}/sse/`) &&
21
- req.path !== `${basePath}/messages`) {
22
+ req.path !== `${basePath}/messages` &&
23
+ !req.path.match(new RegExp(`^${basePath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}/[^/]+/messages$`)) &&
24
+ !req.path.match(new RegExp(`^${basePath.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')}/[^/]+/sse(/.*)?$`))) {
22
25
  express.json()(req, res, next);
23
26
  }
24
27
  else {
@@ -36,7 +39,16 @@ export const initMiddlewares = (app) => {
36
39
  next();
37
40
  }
38
41
  else {
39
- auth(req, res, next);
42
+ // Apply authentication middleware first
43
+ auth(req, res, (err) => {
44
+ if (err) {
45
+ next(err);
46
+ }
47
+ else {
48
+ // Apply user context middleware after successful authentication
49
+ userContextMiddleware(req, res, next);
50
+ }
51
+ });
40
52
  }
41
53
  });
42
54
  app.use(errorHandler);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAA4C,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAU,EACV,IAAa,EACb,GAAa,EACb,KAAmB,EACb,EAAE;IACR,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,uBAAuB;KACjC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAwB,EAAQ,EAAE;IAChE,mEAAmE;IACnE,sEAAsE;IAEtE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,oFAAoF;QACpF,6CAA6C;QAC7C,IACE,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,MAAM;YAC9B,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,OAAO,CAAC;YACxC,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,WAAW,EACnC,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,gFAAgF;IAChF,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACnD,uDAAuD;QACvD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAChE,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACvB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACxB,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/middlewares/index.ts"],"names":[],"mappings":"AAAA,OAAO,OAA4C,MAAM,SAAS,CAAC;AACnE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,MAAM,MAAM,oBAAoB,CAAC;AAExC,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,GAAU,EACV,IAAa,EACb,GAAa,EACb,KAAmB,EACb,EAAE;IACR,OAAO,CAAC,KAAK,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;IACvC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;QACnB,OAAO,EAAE,KAAK;QACd,OAAO,EAAE,uBAAuB;KACjC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAwB,EAAQ,EAAE;IAChE,mEAAmE;IACnE,sEAAsE;IAEtE,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACzB,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,oFAAoF;QACpF,6CAA6C;QAC7C,IACE,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,MAAM;YAC9B,CAAC,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,QAAQ,OAAO,CAAC;YACxC,GAAG,CAAC,IAAI,KAAK,GAAG,QAAQ,WAAW;YACnC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CACb,IAAI,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,kBAAkB,CAAC,CAClF;YACD,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CACb,IAAI,MAAM,CAAC,IAAI,QAAQ,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,mBAAmB,CAAC,CACnF,EACD,CAAC;YACD,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;aAAM,CAAC;YACN,IAAI,EAAE,CAAC;QACT,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,kDAAkD;IAClD,qBAAqB,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QACpC,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,gFAAgF;IAChF,GAAG,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,QAAQ,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE;QACnD,uDAAuD;QACvD,IAAI,GAAG,CAAC,IAAI,KAAK,aAAa,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAChE,IAAI,EAAE,CAAC;QACT,CAAC;aAAM,CAAC;YACN,wCAAwC;YACxC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;gBACrB,IAAI,GAAG,EAAE,CAAC;oBACR,IAAI,CAAC,GAAG,CAAC,CAAC;gBACZ,CAAC;qBAAM,CAAC;oBACN,gEAAgE;oBAChE,qBAAqB,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;gBACxC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;AACxB,CAAC,CAAC"}
@@ -0,0 +1,104 @@
1
+ import { UserContextService } from '../services/userContextService.js';
2
+ /**
3
+ * User context middleware
4
+ * Sets user context after authentication middleware, allowing service layer to access current user information
5
+ */
6
+ export const userContextMiddleware = async (req, res, next) => {
7
+ try {
8
+ const currentUser = req.user;
9
+ if (currentUser) {
10
+ // Set user context
11
+ const userContextService = UserContextService.getInstance();
12
+ userContextService.setCurrentUser(currentUser);
13
+ // Clean up user context when response ends
14
+ res.on('finish', () => {
15
+ const userContextService = UserContextService.getInstance();
16
+ userContextService.clearCurrentUser();
17
+ });
18
+ }
19
+ next();
20
+ }
21
+ catch (error) {
22
+ console.error('Error in user context middleware:', error);
23
+ next(error);
24
+ }
25
+ };
26
+ /**
27
+ * User context middleware for SSE/MCP endpoints
28
+ * Extracts user from URL path parameter and sets user context
29
+ */
30
+ export const sseUserContextMiddleware = async (req, res, next) => {
31
+ try {
32
+ const userContextService = UserContextService.getInstance();
33
+ const username = req.params.user;
34
+ if (username) {
35
+ // For user-scoped routes, set the user context
36
+ // Note: In a real implementation, you should validate the user exists
37
+ // and has proper permissions
38
+ const user = {
39
+ username,
40
+ password: '',
41
+ isAdmin: false, // TODO: Should be retrieved from user database
42
+ };
43
+ userContextService.setCurrentUser(user);
44
+ // Clean up user context when response ends
45
+ res.on('finish', () => {
46
+ userContextService.clearCurrentUser();
47
+ });
48
+ // Also clean up on connection close for SSE
49
+ res.on('close', () => {
50
+ userContextService.clearCurrentUser();
51
+ });
52
+ console.log(`User context set for SSE/MCP endpoint: ${username}`);
53
+ }
54
+ else {
55
+ // For global routes, clear user context (admin access)
56
+ userContextService.clearCurrentUser();
57
+ console.log('Global SSE/MCP endpoint access - no user context');
58
+ }
59
+ next();
60
+ }
61
+ catch (error) {
62
+ console.error('Error in SSE user context middleware:', error);
63
+ next(error);
64
+ }
65
+ };
66
+ export class ContextAwareDataServiceImpl {
67
+ getUserContextService() {
68
+ return UserContextService.getInstance();
69
+ }
70
+ async getCurrentUserFromContext() {
71
+ const userContextService = this.getUserContextService();
72
+ return userContextService.getCurrentUser();
73
+ }
74
+ async getUserDataFromContext(dataType) {
75
+ const userContextService = this.getUserContextService();
76
+ const user = userContextService.getCurrentUser();
77
+ if (!user) {
78
+ throw new Error('No user in context');
79
+ }
80
+ console.log(`Getting ${dataType} data for user: ${user.username}`);
81
+ // Return different data based on user permissions
82
+ if (user.isAdmin) {
83
+ return {
84
+ type: dataType,
85
+ data: 'Admin level data from context',
86
+ user: user.username,
87
+ access: 'full',
88
+ };
89
+ }
90
+ else {
91
+ return {
92
+ type: dataType,
93
+ data: 'User level data from context',
94
+ user: user.username,
95
+ access: 'limited',
96
+ };
97
+ }
98
+ }
99
+ async isCurrentUserAdmin() {
100
+ const userContextService = this.getUserContextService();
101
+ return userContextService.isAdmin();
102
+ }
103
+ }
104
+ //# sourceMappingURL=userContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"userContext.js","sourceRoot":"","sources":["../../src/middlewares/userContext.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import { check } from 'express-validator';
3
3
  import config from '../config/index.js';
4
4
  import { getAllServers, getAllSettings, createServer, updateServer, deleteServer, toggleServer, toggleTool, updateToolDescription, updateSystemConfig, } from '../controllers/serverController.js';
5
5
  import { getGroups, getGroup, createNewGroup, updateExistingGroup, deleteExistingGroup, addServerToExistingGroup, removeServerFromExistingGroup, getGroupServers, updateGroupServersBatch, } from '../controllers/groupController.js';
6
+ import { getUsers, getUser, createUser, updateExistingUser, deleteExistingUser, getUserStats, } from '../controllers/userController.js';
6
7
  import { getAllMarketServers, getMarketServer, getAllMarketCategories, getAllMarketTags, searchMarketServersByQuery, getMarketServersByCategory, getMarketServersByTag, } from '../controllers/marketController.js';
7
8
  import { login, register, getCurrentUser, changePassword } from '../controllers/authController.js';
8
9
  import { getAllLogs, clearLogs, streamLogs } from '../controllers/logController.js';
@@ -33,6 +34,13 @@ export const initRoutes = (app) => {
33
34
  router.get('/groups/:id/servers', getGroupServers);
34
35
  // New route for batch updating servers in a group
35
36
  router.put('/groups/:id/servers/batch', updateGroupServersBatch);
37
+ // User management routes (admin only)
38
+ router.get('/users', getUsers);
39
+ router.get('/users/:username', getUser);
40
+ router.post('/users', createUser);
41
+ router.put('/users/:username', updateExistingUser);
42
+ router.delete('/users/:username', deleteExistingUser);
43
+ router.get('/users-stats', getUserStats);
36
44
  // Tool management routes
37
45
  router.post('/tools/call/:server', callTool);
38
46
  // DXT upload routes
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/routes/index.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -1,16 +1,15 @@
1
1
  import express from 'express';
2
2
  import config from './config/index.js';
3
3
  import path from 'path';
4
- import { fileURLToPath } from 'url';
5
4
  import fs from 'fs';
6
- import { initUpstreamServers } from './services/mcpService.js';
5
+ import { initUpstreamServers, connected } from './services/mcpService.js';
7
6
  import { initMiddlewares } from './middlewares/index.js';
8
7
  import { initRoutes } from './routes/index.js';
9
8
  import { handleSseConnection, handleSseMessage, handleMcpPostRequest, handleMcpOtherRequest, } from './services/sseService.js';
10
9
  import { initializeDefaultUser } from './models/User.js';
11
- // Get the directory name in ESM
12
- const __filename = fileURLToPath(import.meta.url);
13
- const __dirname = path.dirname(__filename);
10
+ import { sseUserContextMiddleware } from './middlewares/userContext.js';
11
+ // Get the current working directory (will be project root in most cases)
12
+ const currentFileDir = process.cwd() + '/src';
14
13
  export class AppServer {
15
14
  constructor() {
16
15
  this.frontendPath = null;
@@ -28,11 +27,18 @@ export class AppServer {
28
27
  initUpstreamServers()
29
28
  .then(() => {
30
29
  console.log('MCP server initialized successfully');
31
- this.app.get(`${this.basePath}/sse/:group?`, (req, res) => handleSseConnection(req, res));
32
- this.app.post(`${this.basePath}/messages`, handleSseMessage);
33
- this.app.post(`${this.basePath}/mcp/:group?`, handleMcpPostRequest);
34
- this.app.get(`${this.basePath}/mcp/:group?`, handleMcpOtherRequest);
35
- this.app.delete(`${this.basePath}/mcp/:group?`, handleMcpOtherRequest);
30
+ // Original routes (global and group-based)
31
+ this.app.get(`${this.basePath}/sse/:group?`, sseUserContextMiddleware, (req, res) => handleSseConnection(req, res));
32
+ this.app.post(`${this.basePath}/messages`, sseUserContextMiddleware, handleSseMessage);
33
+ this.app.post(`${this.basePath}/mcp/:group?`, sseUserContextMiddleware, handleMcpPostRequest);
34
+ this.app.get(`${this.basePath}/mcp/:group?`, sseUserContextMiddleware, handleMcpOtherRequest);
35
+ this.app.delete(`${this.basePath}/mcp/:group?`, sseUserContextMiddleware, handleMcpOtherRequest);
36
+ // User-scoped routes with user context middleware
37
+ this.app.get(`${this.basePath}/:user/sse/:group?`, sseUserContextMiddleware, (req, res) => handleSseConnection(req, res));
38
+ this.app.post(`${this.basePath}/:user/messages`, sseUserContextMiddleware, handleSseMessage);
39
+ this.app.post(`${this.basePath}/:user/mcp/:group?`, sseUserContextMiddleware, handleMcpPostRequest);
40
+ this.app.get(`${this.basePath}/:user/mcp/:group?`, sseUserContextMiddleware, handleMcpOtherRequest);
41
+ this.app.delete(`${this.basePath}/:user/mcp/:group?`, sseUserContextMiddleware, handleMcpOtherRequest);
36
42
  })
37
43
  .catch((error) => {
38
44
  console.error('Error initializing MCP server:', error);
@@ -89,6 +95,9 @@ export class AppServer {
89
95
  }
90
96
  });
91
97
  }
98
+ connected() {
99
+ return connected();
100
+ }
92
101
  getApp() {
93
102
  return this.app;
94
103
  }
@@ -98,7 +107,7 @@ export class AppServer {
98
107
  const debug = process.env.DEBUG === 'true';
99
108
  if (debug) {
100
109
  console.log('DEBUG: Current directory:', process.cwd());
101
- console.log('DEBUG: Script directory:', __dirname);
110
+ console.log('DEBUG: Script directory:', currentFileDir);
102
111
  }
103
112
  // First, find the package root directory
104
113
  const packageRoot = this.findPackageRoot();
@@ -127,13 +136,13 @@ export class AppServer {
127
136
  // Possible locations for package.json
128
137
  const possibleRoots = [
129
138
  // Standard npm package location
130
- path.resolve(__dirname, '..', '..'),
139
+ path.resolve(currentFileDir, '..', '..'),
131
140
  // Current working directory
132
141
  process.cwd(),
133
142
  // When running from dist directory
134
- path.resolve(__dirname, '..'),
143
+ path.resolve(currentFileDir, '..'),
135
144
  // When installed via npx
136
- path.resolve(__dirname, '..', '..', '..'),
145
+ path.resolve(currentFileDir, '..', '..', '..'),
137
146
  ];
138
147
  // Special handling for npx
139
148
  if (process.argv[1] && process.argv[1].includes('_npx')) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,gCAAgC;AAChC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;AAE3C,MAAM,OAAO,SAAS;IAMpB;QAHQ,iBAAY,GAAkB,IAAI,CAAC;QAIzC,IAAI,CAAC,GAAG,GAAG,OAAO,EAAE,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,UAAU;QACd,IAAI,CAAC;YACH,kDAAkD;YAClD,MAAM,qBAAqB,EAAE,CAAC;YAE9B,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrB,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;YAE/C,mBAAmB,EAAE;iBAClB,IAAI,CAAC,GAAG,EAAE;gBACT,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;gBACnD,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,cAAc,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,mBAAmB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC1F,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,WAAW,EAAE,gBAAgB,CAAC,CAAC;gBAC7D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,QAAQ,cAAc,EAAE,oBAAoB,CAAC,CAAC;gBACpE,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,cAAc,EAAE,qBAAqB,CAAC,CAAC;gBACpE,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,QAAQ,cAAc,EAAE,qBAAqB,CAAC,CAAC;YACzE,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;gBACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;gBACvD,MAAM,KAAK,CAAC;YACd,CAAC,CAAC;iBACD,OAAO,CAAC,GAAG,EAAE;gBACZ,0BAA0B;gBAC1B,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;QACP,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YACnD,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAEO,oBAAoB;QAC1B,qBAAqB;QACrB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAEhD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,0BAA0B,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;YAC3D,oCAAoC;YACpC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YAE/D,gDAAgD;YAChD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBAC9D,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;oBAC/C,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAa,EAAE,YAAY,CAAC,CAAC,CAAC;gBAC5D,CAAC,CAAC,CAAC;gBAEH,gDAAgD;gBAChD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAClB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;wBAC9B,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBAC9B,CAAC,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CAAC,sEAAsE,CAAC,CAAC;YACrF,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,GAAG,CAAC;YACtC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,EAAE,EAAE;gBACnC,GAAG;qBACA,MAAM,CAAC,GAAG,CAAC;qBACX,IAAI,CAAC,yEAAyE,CAAC,CAAC;YACrF,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,KAAK;QACH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;YAC9B,OAAO,CAAC,GAAG,CAAC,6BAA6B,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YACtD,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,yBAAyB,IAAI,CAAC,IAAI,sCAAsC,CAAC,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CACT,6CAA6C,IAAI,CAAC,IAAI,+BAA+B,CACtF,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED,qEAAqE;IAC7D,oBAAoB;QAC1B,kCAAkC;QAClC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC;QAE3C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,2BAA2B,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACxD,OAAO,CAAC,GAAG,CAAC,0BAA0B,EAAE,SAAS,CAAC,CAAC;QACrD,CAAC;QAED,yCAAyC;QACzC,MAAM,WAAW,GAAG,IAAI,CAAC,eAAe,EAAE,CAAC;QAE3C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,4BAA4B,EAAE,WAAW,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;YAC3D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mDAAmD;QACnD,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC;QAEpE,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,gCAAgC,gBAAgB,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,IACE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC;YAC/B,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,YAAY,CAAC,CAAC,EACxD,CAAC;YACD,OAAO,gBAAgB,CAAC;QAC1B,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,gBAAgB,CAAC,CAAC;QACrE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,yEAAyE;IACjE,eAAe;QACrB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,KAAK,MAAM,CAAC;QAE3C,sCAAsC;QACtC,MAAM,aAAa,GAAG;YACpB,gCAAgC;YAChC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC;YACnC,4BAA4B;YAC5B,OAAO,CAAC,GAAG,EAAE;YACb,mCAAmC;YACnC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC;YAC7B,yBAAyB;YACzB,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;SAC1C,CAAC;QAEF,2BAA2B;QAC3B,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACxD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7C,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,sCAAsC,EAAE,aAAa,CAAC,CAAC;QACrE,CAAC;QAED,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC;oBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;oBACjE,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,oBAAoB,EAAE,CAAC;wBAC/D,IAAI,KAAK,EAAE,CAAC;4BACV,OAAO,CAAC,GAAG,CAAC,gCAAgC,eAAe,EAAE,CAAC,CAAC;wBACjE,CAAC;wBACD,OAAO,IAAI,CAAC;oBACd,CAAC;gBACH,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,IAAI,KAAK,EAAE,CAAC;wBACV,OAAO,CAAC,KAAK,CAAC,0CAA0C,eAAe,GAAG,EAAE,CAAC,CAAC,CAAC;oBACjF,CAAC;oBACD,sCAAsC;gBACxC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;CACF;AAED,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export class DataServiceImpl {
2
+ foo() {
3
+ console.log('default implementation');
4
+ }
5
+ filterData(data) {
6
+ return data;
7
+ }
8
+ filterSettings(settings) {
9
+ return settings;
10
+ }
11
+ mergeSettings(all, newSettings) {
12
+ return newSettings;
13
+ }
14
+ getPermissions(_user) {
15
+ return ['*'];
16
+ }
17
+ }
18
+ //# sourceMappingURL=dataService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dataService.js","sourceRoot":"","sources":["../../src/services/dataService.ts"],"names":[],"mappings":"AAUA,MAAM,OAAO,eAAe;IAC1B,GAAG;QACD,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACxC,CAAC;IAED,UAAU,CAAC,IAAW;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,QAAqB;QAClC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,aAAa,CAAC,GAAgB,EAAE,WAAwB;QACtD,OAAO,WAAW,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,KAAY;QACzB,OAAO,CAAC,GAAG,CAAC,CAAC;IACf,CAAC;CACF"}
@@ -1,10 +1,14 @@
1
1
  import { v4 as uuidv4 } from 'uuid';
2
2
  import { loadSettings, saveSettings } from '../config/index.js';
3
3
  import { notifyToolChanged } from './mcpService.js';
4
+ import { getDataService } from './services.js';
4
5
  // Get all groups
5
6
  export const getAllGroups = () => {
6
7
  const settings = loadSettings();
7
- return settings.groups || [];
8
+ const dataService = getDataService();
9
+ return dataService.filterData
10
+ ? dataService.filterData(settings.groups || [])
11
+ : settings.groups || [];
8
12
  };
9
13
  // Get group by ID or name
10
14
  export const getGroupByIdOrName = (key) => {
@@ -17,7 +21,7 @@ export const getGroupByIdOrName = (key) => {
17
21
  return (groups.find((group) => group.id === key || (group.name === key && routingConfig.enableGroupNameRoute)) || undefined);
18
22
  };
19
23
  // Create a new group
20
- export const createGroup = (name, description, servers = []) => {
24
+ export const createGroup = (name, description, servers = [], owner) => {
21
25
  try {
22
26
  const settings = loadSettings();
23
27
  const groups = settings.groups || [];
@@ -32,6 +36,7 @@ export const createGroup = (name, description, servers = []) => {
32
36
  name,
33
37
  description,
34
38
  servers: validServers,
39
+ owner: owner || 'admin',
35
40
  };
36
41
  // Initialize groups array if it doesn't exist
37
42
  if (!settings.groups) {
@@ -1 +1 @@
1
- {"version":3,"file":"groupService.js","sourceRoot":"","sources":["../../src/services/groupService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"groupService.js","sourceRoot":"","sources":["../../src/services/groupService.ts"],"names":[],"mappings":"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"}