@samanhappy/mcphub 0.7.3 → 0.7.5

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.
@@ -3,7 +3,7 @@ import { DataSource } from 'typeorm';
3
3
  import entities from './entities/index.js';
4
4
  import { registerPostgresVectorType } from './types/postgresVectorType.js';
5
5
  import { VectorEmbeddingSubscriber } from './subscribers/VectorEmbeddingSubscriber.js';
6
- import { loadSettings } from '../config/index.js';
6
+ import { getSmartRoutingConfig } from '../utils/smartRouting.js';
7
7
  // Helper function to create required PostgreSQL extensions
8
8
  const createRequiredExtensions = async (dataSource) => {
9
9
  try {
@@ -25,19 +25,7 @@ const createRequiredExtensions = async (dataSource) => {
25
25
  };
26
26
  // Get database URL from smart routing config or fallback to environment variable
27
27
  const getDatabaseUrl = () => {
28
- try {
29
- const settings = loadSettings();
30
- const smartRouting = settings.systemConfig?.smartRouting;
31
- // Use smart routing dbUrl if smart routing is enabled and dbUrl is configured
32
- if (smartRouting?.enabled && smartRouting?.dbUrl) {
33
- console.log('Using smart routing database URL');
34
- return smartRouting.dbUrl;
35
- }
36
- }
37
- catch (error) {
38
- console.warn('Failed to load settings for smart routing database URL, falling back to environment variable:', error);
39
- }
40
- return '';
28
+ return getSmartRoutingConfig().dbUrl;
41
29
  };
42
30
  // Default database configuration
43
31
  const defaultConfig = {
@@ -48,7 +36,9 @@ const defaultConfig = {
48
36
  subscribers: [VectorEmbeddingSubscriber],
49
37
  };
50
38
  // AppDataSource is the TypeORM data source
51
- let AppDataSource = new DataSource(defaultConfig);
39
+ let appDataSource = new DataSource(defaultConfig);
40
+ // Global promise to track initialization status
41
+ let initializationPromise = null;
52
42
  // Function to create a new DataSource with updated configuration
53
43
  export const updateDataSourceConfig = () => {
54
44
  const newConfig = {
@@ -56,27 +46,31 @@ export const updateDataSourceConfig = () => {
56
46
  url: getDatabaseUrl(),
57
47
  };
58
48
  // If the configuration has changed, we need to create a new DataSource
59
- const currentUrl = AppDataSource.options.url;
49
+ const currentUrl = appDataSource.options.url;
60
50
  if (currentUrl !== newConfig.url) {
61
51
  console.log('Database URL configuration changed, updating DataSource...');
62
- AppDataSource = new DataSource(newConfig);
52
+ appDataSource = new DataSource(newConfig);
53
+ // Reset initialization promise when configuration changes
54
+ initializationPromise = null;
63
55
  }
64
- return AppDataSource;
56
+ return appDataSource;
65
57
  };
66
58
  // Get the current AppDataSource instance
67
59
  export const getAppDataSource = () => {
68
- return AppDataSource;
60
+ return appDataSource;
69
61
  };
70
62
  // Reconnect database with updated configuration
71
63
  export const reconnectDatabase = async () => {
72
64
  try {
73
65
  // Close existing connection if it exists
74
- if (AppDataSource.isInitialized) {
66
+ if (appDataSource.isInitialized) {
75
67
  console.log('Closing existing database connection...');
76
- await AppDataSource.destroy();
68
+ await appDataSource.destroy();
77
69
  }
70
+ // Reset initialization promise to allow fresh initialization
71
+ initializationPromise = null;
78
72
  // Update configuration and reconnect
79
- AppDataSource = updateDataSourceConfig();
73
+ appDataSource = updateDataSourceConfig();
80
74
  return await initializeDatabase();
81
75
  }
82
76
  catch (error) {
@@ -84,22 +78,48 @@ export const reconnectDatabase = async () => {
84
78
  throw error;
85
79
  }
86
80
  };
87
- // Initialize database connection
81
+ // Initialize database connection with concurrency control
88
82
  export const initializeDatabase = async () => {
83
+ // If initialization is already in progress, wait for it to complete
84
+ if (initializationPromise) {
85
+ console.log('Database initialization already in progress, waiting for completion...');
86
+ return initializationPromise;
87
+ }
88
+ // If already initialized, return the existing instance
89
+ if (appDataSource.isInitialized) {
90
+ console.log('Database already initialized, returning existing instance');
91
+ return Promise.resolve(appDataSource);
92
+ }
93
+ // Create a new initialization promise
94
+ initializationPromise = performDatabaseInitialization();
95
+ try {
96
+ const result = await initializationPromise;
97
+ console.log('Database initialization completed successfully');
98
+ return result;
99
+ }
100
+ catch (error) {
101
+ // Reset the promise on error so initialization can be retried
102
+ initializationPromise = null;
103
+ console.error('Database initialization failed:', error);
104
+ throw error;
105
+ }
106
+ };
107
+ // Internal function to perform the actual database initialization
108
+ const performDatabaseInitialization = async () => {
89
109
  try {
90
110
  // Update configuration before initializing
91
- AppDataSource = updateDataSourceConfig();
92
- if (!AppDataSource.isInitialized) {
111
+ appDataSource = updateDataSourceConfig();
112
+ if (!appDataSource.isInitialized) {
93
113
  console.log('Initializing database connection...');
94
114
  // Register the vector type with TypeORM
95
- await AppDataSource.initialize();
96
- registerPostgresVectorType(AppDataSource);
115
+ await appDataSource.initialize();
116
+ registerPostgresVectorType(appDataSource);
97
117
  // Create required PostgreSQL extensions
98
- await createRequiredExtensions(AppDataSource);
118
+ await createRequiredExtensions(appDataSource);
99
119
  // Set up vector column and index with a more direct approach
100
120
  try {
101
121
  // Check if table exists first
102
- const tableExists = await AppDataSource.query(`
122
+ const tableExists = await appDataSource.query(`
103
123
  SELECT EXISTS (
104
124
  SELECT FROM information_schema.tables
105
125
  WHERE table_schema = 'public'
@@ -111,7 +131,7 @@ export const initializeDatabase = async () => {
111
131
  console.log('Configuring vector support for embeddings table...');
112
132
  // Step 1: Drop any existing index on the column
113
133
  try {
114
- await AppDataSource.query(`DROP INDEX IF EXISTS idx_vector_embeddings_embedding;`);
134
+ await appDataSource.query(`DROP INDEX IF EXISTS idx_vector_embeddings_embedding;`);
115
135
  }
116
136
  catch (dropError) {
117
137
  console.warn('Note: Could not drop existing index:', dropError.message);
@@ -119,13 +139,13 @@ export const initializeDatabase = async () => {
119
139
  // Step 2: Alter column type to vector (if it's not already)
120
140
  try {
121
141
  // Check column type first
122
- const columnType = await AppDataSource.query(`
142
+ const columnType = await appDataSource.query(`
123
143
  SELECT data_type FROM information_schema.columns
124
144
  WHERE table_schema = 'public' AND table_name = 'vector_embeddings'
125
145
  AND column_name = 'embedding';
126
146
  `);
127
147
  if (columnType.length > 0 && columnType[0].data_type !== 'vector') {
128
- await AppDataSource.query(`
148
+ await appDataSource.query(`
129
149
  ALTER TABLE vector_embeddings
130
150
  ALTER COLUMN embedding TYPE vector USING embedding::vector;
131
151
  `);
@@ -139,7 +159,7 @@ export const initializeDatabase = async () => {
139
159
  // Step 3: Try to create appropriate indices
140
160
  try {
141
161
  // First, let's check if there are any records to determine the dimensions
142
- const records = await AppDataSource.query(`
162
+ const records = await appDataSource.query(`
143
163
  SELECT dimensions FROM vector_embeddings LIMIT 1;
144
164
  `);
145
165
  let dimensions = 1536; // Default to common OpenAI embedding size
@@ -152,12 +172,12 @@ export const initializeDatabase = async () => {
152
172
  }
153
173
  // Set the vector dimensions explicitly only if table has data
154
174
  if (records && records.length > 0) {
155
- await AppDataSource.query(`
175
+ await appDataSource.query(`
156
176
  ALTER TABLE vector_embeddings
157
177
  ALTER COLUMN embedding TYPE vector(${dimensions});
158
178
  `);
159
179
  // Now try to create the index
160
- await AppDataSource.query(`
180
+ await appDataSource.query(`
161
181
  CREATE INDEX IF NOT EXISTS idx_vector_embeddings_embedding
162
182
  ON vector_embeddings USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);
163
183
  `);
@@ -172,7 +192,7 @@ export const initializeDatabase = async () => {
172
192
  console.warn('Trying alternative index type...');
173
193
  try {
174
194
  // Try HNSW index instead
175
- await AppDataSource.query(`
195
+ await appDataSource.query(`
176
196
  CREATE INDEX IF NOT EXISTS idx_vector_embeddings_embedding
177
197
  ON vector_embeddings USING hnsw (embedding vector_cosine_ops);
178
198
  `);
@@ -183,7 +203,7 @@ export const initializeDatabase = async () => {
183
203
  console.warn('HNSW index creation failed too. Using simple L2 distance index.');
184
204
  try {
185
205
  // Create a basic GIN index as last resort
186
- await AppDataSource.query(`
206
+ await appDataSource.query(`
187
207
  CREATE INDEX IF NOT EXISTS idx_vector_embeddings_embedding
188
208
  ON vector_embeddings USING gin (embedding);
189
209
  `);
@@ -207,69 +227,67 @@ export const initializeDatabase = async () => {
207
227
  console.log('Database connection established successfully.');
208
228
  // Run one final setup check after schema synchronization is done
209
229
  if (defaultConfig.synchronize) {
210
- setTimeout(async () => {
211
- try {
212
- console.log('Running final vector configuration check...');
213
- // Try setup again with the same code from above
214
- const tableExists = await AppDataSource.query(`
230
+ try {
231
+ console.log('Running final vector configuration check...');
232
+ // Try setup again with the same code from above
233
+ const tableExists = await appDataSource.query(`
215
234
  SELECT EXISTS (
216
235
  SELECT FROM information_schema.tables
217
236
  WHERE table_schema = 'public'
218
237
  AND table_name = 'vector_embeddings'
219
238
  );
220
239
  `);
221
- if (tableExists[0].exists) {
222
- console.log('Vector embeddings table found, checking configuration...');
223
- // Get the dimension size first
224
- try {
225
- // Try to get dimensions from an existing record
226
- const records = await AppDataSource.query(`
240
+ if (tableExists[0].exists) {
241
+ console.log('Vector embeddings table found, checking configuration...');
242
+ // Get the dimension size first
243
+ try {
244
+ // Try to get dimensions from an existing record
245
+ const records = await appDataSource.query(`
227
246
  SELECT dimensions FROM vector_embeddings LIMIT 1;
228
247
  `);
229
- // Only proceed if we have existing data, otherwise let vector service handle it
230
- if (records && records.length > 0 && records[0].dimensions) {
231
- const dimensions = records[0].dimensions;
232
- console.log(`Found vector dimension from database: ${dimensions}`);
233
- // Ensure column type is vector with explicit dimensions
234
- await AppDataSource.query(`
248
+ // Only proceed if we have existing data, otherwise let vector service handle it
249
+ if (records && records.length > 0 && records[0].dimensions) {
250
+ const dimensions = records[0].dimensions;
251
+ console.log(`Found vector dimension from database: ${dimensions}`);
252
+ // Ensure column type is vector with explicit dimensions
253
+ await appDataSource.query(`
235
254
  ALTER TABLE vector_embeddings
236
255
  ALTER COLUMN embedding TYPE vector(${dimensions});
237
256
  `);
238
- console.log('Vector embedding column type updated in final check.');
239
- // One more attempt at creating the index with dimensions
240
- try {
241
- // Drop existing index if any
242
- await AppDataSource.query(`
257
+ console.log('Vector embedding column type updated in final check.');
258
+ // One more attempt at creating the index with dimensions
259
+ try {
260
+ // Drop existing index if any
261
+ await appDataSource.query(`
243
262
  DROP INDEX IF EXISTS idx_vector_embeddings_embedding;
244
263
  `);
245
- // Create new index with proper dimensions
246
- await AppDataSource.query(`
264
+ // Create new index with proper dimensions
265
+ await appDataSource.query(`
247
266
  CREATE INDEX idx_vector_embeddings_embedding
248
267
  ON vector_embeddings USING ivfflat (embedding vector_cosine_ops) WITH (lists = 100);
249
268
  `);
250
- console.log('Created IVFFlat index in final check.');
251
- }
252
- catch (indexError) {
253
- console.warn('Final index creation attempt did not succeed:', indexError.message);
254
- console.warn('Using basic lookup without vector index.');
255
- }
269
+ console.log('Created IVFFlat index in final check.');
256
270
  }
257
- else {
258
- console.log('No existing vector data found, vector dimensions will be configured by vector service.');
271
+ catch (indexError) {
272
+ console.warn('Final index creation attempt did not succeed:', indexError.message);
273
+ console.warn('Using basic lookup without vector index.');
259
274
  }
260
275
  }
261
- catch (setupError) {
262
- console.warn('Vector setup in final check failed:', setupError.message);
276
+ else {
277
+ console.log('No existing vector data found, vector dimensions will be configured by vector service.');
263
278
  }
264
279
  }
280
+ catch (setupError) {
281
+ console.warn('Vector setup in final check failed:', setupError.message);
282
+ }
265
283
  }
266
- catch (error) {
267
- console.warn('Post-initialization vector setup failed:', error.message);
268
- }
269
- }, 3000); // Give synchronize some time to complete
284
+ }
285
+ catch (error) {
286
+ console.warn('Post-initialization vector setup failed:', error.message);
287
+ }
270
288
  }
271
289
  }
272
- return AppDataSource;
290
+ return appDataSource;
273
291
  }
274
292
  catch (error) {
275
293
  console.error('Error during database initialization:', error);
@@ -278,16 +296,16 @@ export const initializeDatabase = async () => {
278
296
  };
279
297
  // Get database connection status
280
298
  export const isDatabaseConnected = () => {
281
- return AppDataSource.isInitialized;
299
+ return appDataSource.isInitialized;
282
300
  };
283
301
  // Close database connection
284
302
  export const closeDatabase = async () => {
285
- if (AppDataSource.isInitialized) {
286
- await AppDataSource.destroy();
303
+ if (appDataSource.isInitialized) {
304
+ await appDataSource.destroy();
287
305
  console.log('Database connection closed.');
288
306
  }
289
307
  };
290
308
  // Export AppDataSource for backward compatibility
291
- export { AppDataSource };
309
+ export const AppDataSource = appDataSource;
292
310
  export default getAppDataSource;
293
311
  //# sourceMappingURL=connection.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connection.js","sourceRoot":"","sources":["../../src/db/connection.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import express from 'express';
2
2
  import { check } from 'express-validator';
3
3
  import config from '../config/index.js';
4
- import { getAllServers, getAllSettings, createServer, updateServer, deleteServer, toggleServer, updateSystemConfig, } from '../controllers/serverController.js';
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
6
  import { getAllMarketServers, getMarketServer, getAllMarketCategories, getAllMarketTags, searchMarketServersByQuery, getMarketServersByCategory, getMarketServersByTag, } from '../controllers/marketController.js';
7
7
  import { login, register, getCurrentUser, changePassword } from '../controllers/authController.js';
8
8
  import { getAllLogs, clearLogs, streamLogs } from '../controllers/logController.js';
9
9
  import { getRuntimeConfig } from '../controllers/configController.js';
10
+ import { callTool } from '../controllers/toolController.js';
10
11
  import { auth } from '../middlewares/auth.js';
11
12
  const router = express.Router();
12
13
  export const initRoutes = (app) => {
@@ -17,6 +18,8 @@ export const initRoutes = (app) => {
17
18
  router.put('/servers/:name', updateServer);
18
19
  router.delete('/servers/:name', deleteServer);
19
20
  router.post('/servers/:name/toggle', toggleServer);
21
+ router.post('/servers/:serverName/tools/:toolName/toggle', toggleTool);
22
+ router.put('/servers/:serverName/tools/:toolName/description', updateToolDescription);
20
23
  router.put('/system-config', updateSystemConfig);
21
24
  // Group management routes
22
25
  router.get('/groups', getGroups);
@@ -29,6 +32,8 @@ export const initRoutes = (app) => {
29
32
  router.get('/groups/:id/servers', getGroupServers);
30
33
  // New route for batch updating servers in a group
31
34
  router.put('/groups/:id/servers/batch', updateGroupServersBatch);
35
+ // Tool management routes
36
+ router.post('/tools/call/:server', callTool);
32
37
  // Market routes
33
38
  router.get('/market/servers', getAllMarketServers);
34
39
  router.get('/market/servers/search', searchMarketServersByQuery);
@@ -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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"}