@samanhappy/mcphub 0.9.13 → 0.9.14
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/server.js +24 -44
- package/dist/server.js.map +1 -1
- package/dist/utils/moduleDir.js +11 -0
- package/dist/utils/moduleDir.js.map +1 -0
- package/dist/utils/path.js +160 -8
- package/dist/utils/path.js.map +1 -1
- package/dist/utils/version.js +11 -2
- package/dist/utils/version.js.map +1 -1
- package/frontend/dist/assets/{index-DtD23pxb.js → index-BdvNVffn.js} +3 -3
- package/frontend/dist/assets/{index-DtD23pxb.js.map → index-BdvNVffn.js.map} +1 -1
- package/frontend/dist/index.html +1 -1
- package/package.json +1 -1
package/dist/server.js
CHANGED
|
@@ -10,8 +10,25 @@ import { initI18n } from './utils/i18n.js';
|
|
|
10
10
|
import { handleSseConnection, handleSseMessage, handleMcpPostRequest, handleMcpOtherRequest, } from './services/sseService.js';
|
|
11
11
|
import { initializeDefaultUser } from './models/User.js';
|
|
12
12
|
import { sseUserContextMiddleware } from './middlewares/userContext.js';
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
import { findPackageRoot } from './utils/path.js';
|
|
14
|
+
import { getCurrentModuleDir } from './utils/moduleDir.js';
|
|
15
|
+
/**
|
|
16
|
+
* Get the directory of the current module
|
|
17
|
+
* This is wrapped in a function to allow easy mocking in test environments
|
|
18
|
+
*/
|
|
19
|
+
function getCurrentFileDir() {
|
|
20
|
+
// In test environments, use process.cwd() to avoid import.meta issues
|
|
21
|
+
if (process.env.NODE_ENV === 'test' || process.env.JEST_WORKER_ID !== undefined) {
|
|
22
|
+
return process.cwd();
|
|
23
|
+
}
|
|
24
|
+
try {
|
|
25
|
+
return getCurrentModuleDir();
|
|
26
|
+
}
|
|
27
|
+
catch {
|
|
28
|
+
// Fallback for environments where import.meta might not be available
|
|
29
|
+
return process.cwd();
|
|
30
|
+
}
|
|
31
|
+
}
|
|
15
32
|
export class AppServer {
|
|
16
33
|
constructor() {
|
|
17
34
|
this.frontendPath = null;
|
|
@@ -111,9 +128,10 @@ export class AppServer {
|
|
|
111
128
|
findFrontendDistPath() {
|
|
112
129
|
// Debug flag for detailed logging
|
|
113
130
|
const debug = process.env.DEBUG === 'true';
|
|
131
|
+
const currentDir = getCurrentFileDir();
|
|
114
132
|
if (debug) {
|
|
115
133
|
console.log('DEBUG: Current directory:', process.cwd());
|
|
116
|
-
console.log('DEBUG: Script directory:',
|
|
134
|
+
console.log('DEBUG: Script directory:', currentDir);
|
|
117
135
|
}
|
|
118
136
|
// First, find the package root directory
|
|
119
137
|
const packageRoot = this.findPackageRoot();
|
|
@@ -138,47 +156,9 @@ export class AppServer {
|
|
|
138
156
|
}
|
|
139
157
|
// Helper method to find the package root (where package.json is located)
|
|
140
158
|
findPackageRoot() {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
// Standard npm package location
|
|
145
|
-
path.resolve(currentFileDir, '..', '..'),
|
|
146
|
-
// Current working directory
|
|
147
|
-
process.cwd(),
|
|
148
|
-
// When running from dist directory
|
|
149
|
-
path.resolve(currentFileDir, '..'),
|
|
150
|
-
// When installed via npx
|
|
151
|
-
path.resolve(currentFileDir, '..', '..', '..'),
|
|
152
|
-
];
|
|
153
|
-
// Special handling for npx
|
|
154
|
-
if (process.argv[1] && process.argv[1].includes('_npx')) {
|
|
155
|
-
const npxDir = path.dirname(process.argv[1]);
|
|
156
|
-
possibleRoots.unshift(path.resolve(npxDir, '..'));
|
|
157
|
-
}
|
|
158
|
-
if (debug) {
|
|
159
|
-
console.log('DEBUG: Checking for package.json in:', possibleRoots);
|
|
160
|
-
}
|
|
161
|
-
for (const root of possibleRoots) {
|
|
162
|
-
const packageJsonPath = path.join(root, 'package.json');
|
|
163
|
-
if (fs.existsSync(packageJsonPath)) {
|
|
164
|
-
try {
|
|
165
|
-
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
166
|
-
if (pkg.name === 'mcphub' || pkg.name === '@samanhappy/mcphub') {
|
|
167
|
-
if (debug) {
|
|
168
|
-
console.log(`DEBUG: Found package.json at ${packageJsonPath}`);
|
|
169
|
-
}
|
|
170
|
-
return root;
|
|
171
|
-
}
|
|
172
|
-
}
|
|
173
|
-
catch (e) {
|
|
174
|
-
if (debug) {
|
|
175
|
-
console.error(`DEBUG: Failed to parse package.json at ${packageJsonPath}:`, e);
|
|
176
|
-
}
|
|
177
|
-
// Continue to the next potential root
|
|
178
|
-
}
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
return null;
|
|
159
|
+
// Use the shared utility function which properly handles ESM module paths
|
|
160
|
+
const currentDir = getCurrentFileDir();
|
|
161
|
+
return findPackageRoot(currentDir);
|
|
182
162
|
}
|
|
183
163
|
}
|
|
184
164
|
export default AppServer;
|
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,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,mBAAmB,CAAC;AACvC,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,mBAAmB,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,qBAAqB,GACtB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAE,MAAM,kBAAkB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,8BAA8B,CAAC;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { fileURLToPath } from 'url';
|
|
2
|
+
import path from 'path';
|
|
3
|
+
/**
|
|
4
|
+
* Get the directory of the current module
|
|
5
|
+
* This is in a separate file to allow mocking in test environments
|
|
6
|
+
*/
|
|
7
|
+
export function getCurrentModuleDir() {
|
|
8
|
+
const currentModuleFile = fileURLToPath(import.meta.url);
|
|
9
|
+
return path.dirname(currentModuleFile);
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=moduleDir.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"moduleDir.js","sourceRoot":"","sources":["../../src/utils/moduleDir.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;;GAGG;AACH,MAAM,UAAU,mBAAmB;IACjC,MAAM,iBAAiB,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC;AACzC,CAAC"}
|
package/dist/utils/path.js
CHANGED
|
@@ -1,8 +1,148 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
3
|
import { dirname } from 'path';
|
|
4
|
+
import { getCurrentModuleDir } from './moduleDir.js';
|
|
4
5
|
// Project root directory - use process.cwd() as a simpler alternative
|
|
5
6
|
const rootDir = process.cwd();
|
|
7
|
+
// Cache the package root for performance
|
|
8
|
+
let cachedPackageRoot = undefined;
|
|
9
|
+
/**
|
|
10
|
+
* Initialize package root by trying to find it using the module directory
|
|
11
|
+
* This should be called when the module is first loaded
|
|
12
|
+
*/
|
|
13
|
+
function initializePackageRoot() {
|
|
14
|
+
// Skip initialization in test environments
|
|
15
|
+
if (process.env.NODE_ENV === 'test' || process.env.JEST_WORKER_ID !== undefined) {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
try {
|
|
19
|
+
// Try to get the current module's directory
|
|
20
|
+
const currentModuleDir = getCurrentModuleDir();
|
|
21
|
+
// This file is in src/utils/path.ts (or dist/utils/path.js when compiled)
|
|
22
|
+
// So package.json should be 2 levels up
|
|
23
|
+
const possibleRoots = [
|
|
24
|
+
path.resolve(currentModuleDir, '..', '..'), // dist -> package root
|
|
25
|
+
path.resolve(currentModuleDir, '..'), // dist/utils -> dist -> package root
|
|
26
|
+
];
|
|
27
|
+
for (const root of possibleRoots) {
|
|
28
|
+
const packageJsonPath = path.join(root, 'package.json');
|
|
29
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
30
|
+
try {
|
|
31
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
32
|
+
if (pkg.name === 'mcphub' || pkg.name === '@samanhappy/mcphub') {
|
|
33
|
+
cachedPackageRoot = root;
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
catch {
|
|
38
|
+
// Continue checking
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
catch {
|
|
44
|
+
// If initialization fails, cachedPackageRoot remains undefined
|
|
45
|
+
// and findPackageRoot will search normally
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
// Initialize on module load (unless in test environment)
|
|
49
|
+
initializePackageRoot();
|
|
50
|
+
/**
|
|
51
|
+
* Find the package root directory (where package.json is located)
|
|
52
|
+
* This works correctly when the package is installed globally or locally
|
|
53
|
+
* @param startPath Starting path to search from (defaults to checking module paths)
|
|
54
|
+
* @returns The package root directory path, or null if not found
|
|
55
|
+
*/
|
|
56
|
+
export const findPackageRoot = (startPath) => {
|
|
57
|
+
// Return cached value if available and no specific start path is requested
|
|
58
|
+
if (cachedPackageRoot !== undefined && !startPath) {
|
|
59
|
+
return cachedPackageRoot;
|
|
60
|
+
}
|
|
61
|
+
const debug = process.env.DEBUG === 'true';
|
|
62
|
+
// Possible locations for package.json relative to the search path
|
|
63
|
+
const possibleRoots = [];
|
|
64
|
+
if (startPath) {
|
|
65
|
+
// When start path is provided (from fileURLToPath(import.meta.url))
|
|
66
|
+
possibleRoots.push(
|
|
67
|
+
// When in dist/utils (compiled code) - go up 2 levels
|
|
68
|
+
path.resolve(startPath, '..', '..'),
|
|
69
|
+
// When in dist/ (compiled code) - go up 1 level
|
|
70
|
+
path.resolve(startPath, '..'),
|
|
71
|
+
// Direct parent directories
|
|
72
|
+
path.resolve(startPath));
|
|
73
|
+
}
|
|
74
|
+
// Try to use require.resolve to find the module location (works in CommonJS and ESM with createRequire)
|
|
75
|
+
try {
|
|
76
|
+
// In ESM, we can use import.meta.resolve, but it's async in some versions
|
|
77
|
+
// So we'll try to find the module by checking the node_modules structure
|
|
78
|
+
// Check if this file is in a node_modules installation
|
|
79
|
+
const currentFile = new Error().stack?.split('\n')[2]?.match(/\((.+?):\d+:\d+\)$/)?.[1];
|
|
80
|
+
if (currentFile) {
|
|
81
|
+
const nodeModulesIndex = currentFile.indexOf('node_modules');
|
|
82
|
+
if (nodeModulesIndex !== -1) {
|
|
83
|
+
// Extract the package path from node_modules
|
|
84
|
+
const afterNodeModules = currentFile.substring(nodeModulesIndex + 'node_modules'.length + 1);
|
|
85
|
+
const packageNameEnd = afterNodeModules.indexOf(path.sep);
|
|
86
|
+
if (packageNameEnd !== -1) {
|
|
87
|
+
const packagePath = currentFile.substring(0, nodeModulesIndex + 'node_modules'.length + 1 + packageNameEnd);
|
|
88
|
+
possibleRoots.push(packagePath);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch {
|
|
94
|
+
// Ignore errors
|
|
95
|
+
}
|
|
96
|
+
// Check module.filename location (works in Node.js when available)
|
|
97
|
+
if (typeof __filename !== 'undefined') {
|
|
98
|
+
const moduleDir = path.dirname(__filename);
|
|
99
|
+
possibleRoots.push(path.resolve(moduleDir, '..', '..'), path.resolve(moduleDir, '..'));
|
|
100
|
+
}
|
|
101
|
+
// Check common installation locations
|
|
102
|
+
possibleRoots.push(
|
|
103
|
+
// Current working directory (for development/tests)
|
|
104
|
+
process.cwd(),
|
|
105
|
+
// Parent of cwd
|
|
106
|
+
path.resolve(process.cwd(), '..'));
|
|
107
|
+
if (debug) {
|
|
108
|
+
console.log('DEBUG: Searching for package.json from:', startPath || 'multiple locations');
|
|
109
|
+
console.log('DEBUG: Checking paths:', possibleRoots);
|
|
110
|
+
}
|
|
111
|
+
// Remove duplicates
|
|
112
|
+
const uniqueRoots = [...new Set(possibleRoots)];
|
|
113
|
+
for (const root of uniqueRoots) {
|
|
114
|
+
const packageJsonPath = path.join(root, 'package.json');
|
|
115
|
+
if (fs.existsSync(packageJsonPath)) {
|
|
116
|
+
try {
|
|
117
|
+
const pkg = JSON.parse(fs.readFileSync(packageJsonPath, 'utf8'));
|
|
118
|
+
if (pkg.name === 'mcphub' || pkg.name === '@samanhappy/mcphub') {
|
|
119
|
+
if (debug) {
|
|
120
|
+
console.log(`DEBUG: Found package.json at ${packageJsonPath}`);
|
|
121
|
+
}
|
|
122
|
+
// Cache the result if no specific start path was requested
|
|
123
|
+
if (!startPath) {
|
|
124
|
+
cachedPackageRoot = root;
|
|
125
|
+
}
|
|
126
|
+
return root;
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
catch (e) {
|
|
130
|
+
// Continue to the next potential root
|
|
131
|
+
if (debug) {
|
|
132
|
+
console.error(`DEBUG: Failed to parse package.json at ${packageJsonPath}:`, e);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
if (debug) {
|
|
138
|
+
console.warn('DEBUG: Could not find package root directory');
|
|
139
|
+
}
|
|
140
|
+
// Cache null result as well to avoid repeated searches
|
|
141
|
+
if (!startPath) {
|
|
142
|
+
cachedPackageRoot = null;
|
|
143
|
+
}
|
|
144
|
+
return null;
|
|
145
|
+
};
|
|
6
146
|
function getParentPath(p, filename) {
|
|
7
147
|
if (p.endsWith(filename)) {
|
|
8
148
|
p = p.slice(0, -filename.length);
|
|
@@ -34,20 +174,32 @@ export const getConfigFilePath = (filename, description = 'Configuration') => {
|
|
|
34
174
|
}
|
|
35
175
|
}
|
|
36
176
|
const potentialPaths = [
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
path.join(dirname(rootDir), filename),
|
|
44
|
-
],
|
|
177
|
+
// Prioritize process.cwd() as the first location to check
|
|
178
|
+
path.resolve(process.cwd(), filename),
|
|
179
|
+
// Use path relative to the root directory
|
|
180
|
+
path.join(rootDir, filename),
|
|
181
|
+
// If installed with npx, may need to look one level up
|
|
182
|
+
path.join(dirname(rootDir), filename),
|
|
45
183
|
];
|
|
184
|
+
// Also check in the installed package root directory
|
|
185
|
+
const packageRoot = findPackageRoot();
|
|
186
|
+
if (packageRoot) {
|
|
187
|
+
potentialPaths.push(path.join(packageRoot, filename));
|
|
188
|
+
}
|
|
46
189
|
for (const filePath of potentialPaths) {
|
|
47
190
|
if (fs.existsSync(filePath)) {
|
|
48
191
|
return filePath;
|
|
49
192
|
}
|
|
50
193
|
}
|
|
194
|
+
// If all paths do not exist, check if we have a fallback in the package root
|
|
195
|
+
// If the file exists in the package root, use it as the default
|
|
196
|
+
if (packageRoot) {
|
|
197
|
+
const packageConfigPath = path.join(packageRoot, filename);
|
|
198
|
+
if (fs.existsSync(packageConfigPath)) {
|
|
199
|
+
console.log(`Using ${description} from package: ${packageConfigPath}`);
|
|
200
|
+
return packageConfigPath;
|
|
201
|
+
}
|
|
202
|
+
}
|
|
51
203
|
// If all paths do not exist, use default path
|
|
52
204
|
// Using the default path is acceptable because it ensures the application can proceed
|
|
53
205
|
// even if the configuration file is missing. This fallback is particularly useful in
|
package/dist/utils/path.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/version.js
CHANGED
|
@@ -1,12 +1,21 @@
|
|
|
1
1
|
import fs from 'fs';
|
|
2
2
|
import path from 'path';
|
|
3
|
+
import { findPackageRoot } from './path.js';
|
|
3
4
|
/**
|
|
4
5
|
* Gets the package version from package.json
|
|
6
|
+
* @param searchPath Optional path to start searching from (defaults to cwd)
|
|
5
7
|
* @returns The version string from package.json, or 'dev' if not found
|
|
6
8
|
*/
|
|
7
|
-
export const getPackageVersion = () => {
|
|
9
|
+
export const getPackageVersion = (searchPath) => {
|
|
8
10
|
try {
|
|
9
|
-
|
|
11
|
+
// Use provided path or fallback to current working directory
|
|
12
|
+
const startPath = searchPath || process.cwd();
|
|
13
|
+
const packageRoot = findPackageRoot(startPath);
|
|
14
|
+
if (!packageRoot) {
|
|
15
|
+
console.warn('Could not find package root, using default version');
|
|
16
|
+
return 'dev';
|
|
17
|
+
}
|
|
18
|
+
const packageJsonPath = path.join(packageRoot, 'package.json');
|
|
10
19
|
const packageJsonContent = fs.readFileSync(packageJsonPath, 'utf8');
|
|
11
20
|
const packageJson = JSON.parse(packageJsonContent);
|
|
12
21
|
return packageJson.version || 'dev';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/utils/version.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,UAAmB,EAAU,EAAE;IAC/D,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,SAAS,GAAG,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAE9C,MAAM,WAAW,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACnE,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;QAC/D,MAAM,kBAAkB,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;QACpE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;QACnD,OAAO,WAAW,CAAC,OAAO,IAAI,KAAK,CAAC;IACtC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC"}
|