@opentabs-dev/mcp-server 0.0.27 → 0.0.29
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/adapter-files.js +4 -4
- package/dist/adapter-files.js.map +1 -1
- package/dist/browser-tools/extension-get-logs.d.ts +1 -1
- package/dist/browser-tools/get-console-logs.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -7
- package/dist/config.js.map +1 -1
- package/dist/dev-mode.d.ts.map +1 -1
- package/dist/dev-mode.js +2 -1
- package/dist/dev-mode.js.map +1 -1
- package/dist/extension-install.d.ts.map +1 -1
- package/dist/extension-install.js +5 -6
- package/dist/extension-install.js.map +1 -1
- package/dist/file-watcher.d.ts +2 -2
- package/dist/file-watcher.d.ts.map +1 -1
- package/dist/file-watcher.js +6 -6
- package/dist/file-watcher.js.map +1 -1
- package/dist/http-routes.d.ts +6 -6
- package/dist/http-routes.d.ts.map +1 -1
- package/dist/http-routes.js +10 -10
- package/dist/http-routes.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +58 -21
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +16 -13
- package/dist/loader.js.map +1 -1
- package/dist/logger.d.ts +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +3 -2
- package/dist/logger.js.map +1 -1
- package/dist/plugin-management.d.ts.map +1 -1
- package/dist/plugin-management.js +17 -47
- package/dist/plugin-management.js.map +1 -1
- package/dist/reload.js +1 -1
- package/dist/resolver.d.ts +3 -4
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +33 -30
- package/dist/resolver.js.map +1 -1
- package/dist/sdk-version.d.ts.map +1 -1
- package/dist/sdk-version.js +2 -1
- package/dist/sdk-version.js.map +1 -1
- package/dist/server-node.d.ts +45 -0
- package/dist/server-node.d.ts.map +1 -0
- package/dist/server-node.js +234 -0
- package/dist/server-node.js.map +1 -0
- package/dist/skip-confirmation.d.ts.map +1 -1
- package/dist/skip-confirmation.js +2 -1
- package/dist/skip-confirmation.js.map +1 -1
- package/dist/skip-npm-discovery.d.ts.map +1 -1
- package/dist/skip-npm-discovery.js +2 -1
- package/dist/skip-npm-discovery.js.map +1 -1
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +4 -6
- package/dist/version-check.js.map +1 -1
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +2 -1
- package/dist/version.js.map +1 -1
- package/package.json +5 -3
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
*/
|
|
8
8
|
import { pluginNameFromPackage } from './loader.js';
|
|
9
9
|
import { log } from './logger.js';
|
|
10
|
-
import { atomicWrite, getConfigDir, getConfigPath, OFFICIAL_SCOPE, normalizePluginName, isValidPluginPackageName, resolvePluginPackageCandidates, platformExec, } from '@opentabs-dev/shared';
|
|
10
|
+
import { atomicWrite, getConfigDir, getConfigPath, OFFICIAL_SCOPE, normalizePluginName, isValidPluginPackageName, readFile, readJsonFile, resolvePluginPackageCandidates, spawnProcess, spawnProcessSync, platformExec, } from '@opentabs-dev/shared';
|
|
11
11
|
import { mkdir } from 'node:fs/promises';
|
|
12
12
|
import { homedir } from 'node:os';
|
|
13
13
|
import { join, resolve } from 'node:path';
|
|
@@ -15,56 +15,29 @@ import { join, resolve } from 'node:path';
|
|
|
15
15
|
// Name normalization and validation — re-exported from @opentabs-dev/shared
|
|
16
16
|
// ---------------------------------------------------------------------------
|
|
17
17
|
// ---------------------------------------------------------------------------
|
|
18
|
-
// npm subprocess timeout
|
|
18
|
+
// npm subprocess timeout
|
|
19
19
|
// ---------------------------------------------------------------------------
|
|
20
20
|
const NPM_SUBPROCESS_TIMEOUT_MS = 60_000;
|
|
21
|
-
const SIGKILL_GRACE_MS = 5_000;
|
|
22
21
|
/**
|
|
23
22
|
* Run an npm command globally with the given package name.
|
|
24
|
-
* Applies a 60s timeout
|
|
25
|
-
* against an overall deadline so the function never hangs.
|
|
23
|
+
* Applies a 60s timeout via Promise.race against the spawnProcess result.
|
|
26
24
|
*
|
|
27
25
|
* @throws Error with code -32603 and data { stderr, stdout } on non-zero exit or timeout
|
|
28
26
|
*/
|
|
29
27
|
const runNpmGlobal = async (command, packageName) => {
|
|
30
|
-
const
|
|
31
|
-
|
|
32
|
-
|
|
28
|
+
const resultPromise = spawnProcess(platformExec('npm'), [command, '-g', packageName]);
|
|
29
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
30
|
+
setTimeout(() => reject(new Error(`npm ${command} timed out after ${NPM_SUBPROCESS_TIMEOUT_MS}ms`)), NPM_SUBPROCESS_TIMEOUT_MS);
|
|
33
31
|
});
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
try {
|
|
39
|
-
proc.kill('SIGKILL');
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
// Process may have already exited
|
|
43
|
-
}
|
|
44
|
-
}, SIGKILL_GRACE_MS);
|
|
45
|
-
}, NPM_SUBPROCESS_TIMEOUT_MS);
|
|
46
|
-
const [stdout, stderr] = await Promise.all([new Response(proc.stdout).text(), new Response(proc.stderr).text()]);
|
|
47
|
-
let deadlineTimerId;
|
|
48
|
-
const overallDeadlineMs = NPM_SUBPROCESS_TIMEOUT_MS + SIGKILL_GRACE_MS + 5_000;
|
|
49
|
-
const exitCode = await Promise.race([
|
|
50
|
-
proc.exited,
|
|
51
|
-
new Promise((_, reject) => {
|
|
52
|
-
deadlineTimerId = setTimeout(() => reject(new Error(`npm ${command} for ${packageName} timed out after ${NPM_SUBPROCESS_TIMEOUT_MS}ms`)), overallDeadlineMs);
|
|
53
|
-
}),
|
|
54
|
-
]);
|
|
55
|
-
clearTimeout(timeoutId);
|
|
56
|
-
if (sigkillTimerId !== undefined)
|
|
57
|
-
clearTimeout(sigkillTimerId);
|
|
58
|
-
if (deadlineTimerId !== undefined)
|
|
59
|
-
clearTimeout(deadlineTimerId);
|
|
60
|
-
if (exitCode !== 0) {
|
|
61
|
-
log.error(`npm ${command} failed for ${packageName}: exit code ${exitCode}, stderr: ${stderr}`);
|
|
62
|
-
const error = new Error(`npm ${command} failed (exit code ${exitCode})`);
|
|
32
|
+
const result = await Promise.race([resultPromise, timeoutPromise]);
|
|
33
|
+
if (result.exitCode !== 0) {
|
|
34
|
+
log.error(`npm ${command} failed for ${packageName}: exit code ${result.exitCode}, stderr: ${result.stderr}`);
|
|
35
|
+
const error = new Error(`npm ${command} failed (exit code ${result.exitCode})`);
|
|
63
36
|
error.code = -32603;
|
|
64
|
-
error.data = { stderr, stdout };
|
|
37
|
+
error.data = { stderr: result.stderr, stdout: result.stdout };
|
|
65
38
|
throw error;
|
|
66
39
|
}
|
|
67
|
-
return { stdout, stderr };
|
|
40
|
+
return { stdout: result.stdout, stderr: result.stderr };
|
|
68
41
|
};
|
|
69
42
|
/**
|
|
70
43
|
* Search the npm registry for opentabs plugins via `npm search`.
|
|
@@ -75,17 +48,15 @@ const runNpmGlobal = async (command, packageName) => {
|
|
|
75
48
|
*/
|
|
76
49
|
const searchNpmPlugins = (query) => {
|
|
77
50
|
const searchTerm = query ? `keywords:opentabs-plugin ${query}` : 'keywords:opentabs-plugin';
|
|
78
|
-
const result =
|
|
79
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
80
|
-
});
|
|
51
|
+
const result = spawnProcessSync('npm', ['search', searchTerm, '--json']);
|
|
81
52
|
if (result.exitCode !== 0) {
|
|
82
|
-
const stderr = result.stderr.
|
|
53
|
+
const stderr = result.stderr.trim();
|
|
83
54
|
const error = new Error(stderr || 'npm search failed');
|
|
84
55
|
error.code = -32603;
|
|
85
56
|
throw error;
|
|
86
57
|
}
|
|
87
58
|
try {
|
|
88
|
-
const entries = JSON.parse(result.stdout.
|
|
59
|
+
const entries = JSON.parse(result.stdout.trim());
|
|
89
60
|
return entries.map(entry => ({
|
|
90
61
|
name: entry.name,
|
|
91
62
|
description: entry.description ?? '',
|
|
@@ -228,7 +199,7 @@ const removeLocalPlugin = async (state, pluginName) => {
|
|
|
228
199
|
await mkdir(configDir, { recursive: true, mode: 0o700 });
|
|
229
200
|
let raw;
|
|
230
201
|
try {
|
|
231
|
-
raw = await
|
|
202
|
+
raw = await readFile(configPath);
|
|
232
203
|
}
|
|
233
204
|
catch {
|
|
234
205
|
log.warn('Cannot remove local plugin — config file unreadable');
|
|
@@ -267,8 +238,7 @@ const removeLocalPlugin = async (state, pluginName) => {
|
|
|
267
238
|
}
|
|
268
239
|
// Check if the package.json name matches
|
|
269
240
|
try {
|
|
270
|
-
const
|
|
271
|
-
const pkg = JSON.parse(pkgRaw);
|
|
241
|
+
const pkg = (await readJsonFile(join(resolvedPath, 'package.json')));
|
|
272
242
|
const pkgName = typeof pkg.name === 'string' ? pkg.name : '';
|
|
273
243
|
const derivedPkgName = pluginNameFromPackage(pkgName);
|
|
274
244
|
if (derivedPkgName === pluginName || pkgName === pluginName) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-management.js","sourceRoot":"","sources":["../src/plugin-management.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plugin-management.js","sourceRoot":"","sources":["../src/plugin-management.ts"],"names":[],"mappings":"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"}
|
package/dist/reload.js
CHANGED
|
@@ -227,7 +227,7 @@ const performReload = async (state, sessionServers, transports, isHotReload) =>
|
|
|
227
227
|
restartSweepTimer(state, transports, sessionServers);
|
|
228
228
|
// Ensure the managed extension in ~/.opentabs/extension/ is up to date.
|
|
229
229
|
// Isolated from the rest of reload so a transient filesystem error
|
|
230
|
-
// (cpSync, mkdirSync,
|
|
230
|
+
// (cpSync, mkdirSync, writeFile) does not block plugin discovery.
|
|
231
231
|
try {
|
|
232
232
|
const installResult = await ensureExtensionInstalled();
|
|
233
233
|
if (installResult.versionChanged) {
|
package/dist/resolver.d.ts
CHANGED
|
@@ -6,8 +6,7 @@
|
|
|
6
6
|
* path resolution from plugin loading so each phase can be tested independently.
|
|
7
7
|
*
|
|
8
8
|
* Also provides global npm plugin auto-discovery: scans global node_modules
|
|
9
|
-
* directories
|
|
10
|
-
* naming convention.
|
|
9
|
+
* directories for packages matching the opentabs-plugin-* naming convention.
|
|
11
10
|
*/
|
|
12
11
|
import type { Result } from '@opentabs-dev/shared';
|
|
13
12
|
/**
|
|
@@ -28,7 +27,7 @@ declare const isAllowedPluginPath: (resolvedPath: string) => Promise<boolean>;
|
|
|
28
27
|
* For local paths, resolves relative to configDir and validates the path is
|
|
29
28
|
* under an allowed root directory (homedir or tmpdir).
|
|
30
29
|
*
|
|
31
|
-
* For npm packages, uses
|
|
30
|
+
* For npm packages, uses require.resolve to locate the package directory.
|
|
32
31
|
*
|
|
33
32
|
* Returns the directory path containing the plugin's package.json.
|
|
34
33
|
*/
|
|
@@ -36,7 +35,7 @@ declare const resolvePluginPath: (specifier: string, configDir: string) => Promi
|
|
|
36
35
|
/**
|
|
37
36
|
* Discover globally installed npm plugin packages.
|
|
38
37
|
*
|
|
39
|
-
* Scans global node_modules directories (
|
|
38
|
+
* Scans global node_modules directories (npm, and bun when available) for packages
|
|
40
39
|
* matching the opentabs-plugin-* naming convention. Each match is validated
|
|
41
40
|
* by checking for a package.json with an `opentabs` field.
|
|
42
41
|
*
|
package/dist/resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkBH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAqBnD;;;;;;GAMG;AACH,QAAA,MAAM,mBAAmB,GAAU,cAAc,MAAM,KAAG,OAAO,CAAC,OAAO,CAQxE,CAAC;AA8CF;;;;;;;;;;;;;GAaG;AACH,QAAA,MAAM,iBAAiB,GAAU,WAAW,MAAM,EAAE,WAAW,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAsBrG,CAAC;AAgIF;;;;;;;;;GASG;AACH,QAAA,MAAM,wBAAwB,QAAa,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAqCtF,CAAC;AAEF,mDAAmD;AACnD,QAAA,MAAM,qBAAqB,QAAO,IAEjC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,CAAC"}
|
package/dist/resolver.js
CHANGED
|
@@ -6,12 +6,12 @@
|
|
|
6
6
|
* path resolution from plugin loading so each phase can be tested independently.
|
|
7
7
|
*
|
|
8
8
|
* Also provides global npm plugin auto-discovery: scans global node_modules
|
|
9
|
-
* directories
|
|
10
|
-
* naming convention.
|
|
9
|
+
* directories for packages matching the opentabs-plugin-* naming convention.
|
|
11
10
|
*/
|
|
12
11
|
import { log } from './logger.js';
|
|
13
|
-
import { ok, err, PLUGIN_PREFIX, platformExec, toErrorMessage } from '@opentabs-dev/shared';
|
|
12
|
+
import { ok, err, getEnv, isBun, PLUGIN_PREFIX, platformExec, readJsonFile, spawnProcessSync, toErrorMessage, } from '@opentabs-dev/shared';
|
|
14
13
|
import { readdir, realpath, stat } from 'node:fs/promises';
|
|
14
|
+
import { createRequire } from 'node:module';
|
|
15
15
|
import { homedir, tmpdir } from 'node:os';
|
|
16
16
|
import { dirname, join, resolve, sep } from 'node:path';
|
|
17
17
|
/**
|
|
@@ -72,14 +72,15 @@ const resolveLocalPath = (specifier, configDir) => {
|
|
|
72
72
|
}
|
|
73
73
|
return resolve(configDir, specifier);
|
|
74
74
|
};
|
|
75
|
+
const require = createRequire(import.meta.url);
|
|
75
76
|
/**
|
|
76
77
|
* Resolve an npm package specifier to the directory containing its package.json.
|
|
77
|
-
* Uses
|
|
78
|
-
* the containing directory.
|
|
78
|
+
* Uses require.resolve to locate the package's package.json, then returns
|
|
79
|
+
* the containing directory. Works in both Node.js and Bun.
|
|
79
80
|
*/
|
|
80
81
|
const resolveNpmPackage = (specifier) => {
|
|
81
82
|
try {
|
|
82
|
-
const resolved =
|
|
83
|
+
const resolved = require.resolve(`${specifier}/package.json`, { paths: [process.cwd()] });
|
|
83
84
|
return ok(dirname(resolved));
|
|
84
85
|
}
|
|
85
86
|
catch {
|
|
@@ -96,7 +97,7 @@ const resolveNpmPackage = (specifier) => {
|
|
|
96
97
|
* For local paths, resolves relative to configDir and validates the path is
|
|
97
98
|
* under an allowed root directory (homedir or tmpdir).
|
|
98
99
|
*
|
|
99
|
-
* For npm packages, uses
|
|
100
|
+
* For npm packages, uses require.resolve to locate the package directory.
|
|
100
101
|
*
|
|
101
102
|
* Returns the directory path containing the plugin's package.json.
|
|
102
103
|
*/
|
|
@@ -120,17 +121,17 @@ const resolvePluginPath = async (specifier, configDir) => {
|
|
|
120
121
|
}
|
|
121
122
|
return resolveNpmPackage(specifier);
|
|
122
123
|
};
|
|
123
|
-
/** globalThis key for persisting cached global paths across
|
|
124
|
+
/** globalThis key for persisting cached global paths across process lifetime */
|
|
124
125
|
const GLOBAL_PATHS_KEY = '__opentabs_global_paths__';
|
|
125
|
-
/** Access the cached global paths from globalThis so the value
|
|
126
|
+
/** Access the cached global paths from globalThis so the value persists across process lifetime */
|
|
126
127
|
const getCachedGlobalPaths = () => globalThis[GLOBAL_PATHS_KEY] ?? null;
|
|
127
128
|
const setCachedGlobalPaths = (paths) => {
|
|
128
129
|
globalThis[GLOBAL_PATHS_KEY] = paths;
|
|
129
130
|
};
|
|
130
131
|
/**
|
|
131
|
-
* Get global node_modules directories from
|
|
132
|
+
* Get global node_modules directories from npm (and bun when running under Bun).
|
|
132
133
|
* Results are cached on globalThis so the shell commands run at most once
|
|
133
|
-
* per process lifetime
|
|
134
|
+
* per process lifetime.
|
|
134
135
|
*/
|
|
135
136
|
const getGlobalNodeModulesPaths = () => {
|
|
136
137
|
const cached = getCachedGlobalPaths();
|
|
@@ -139,9 +140,9 @@ const getGlobalNodeModulesPaths = () => {
|
|
|
139
140
|
const paths = [];
|
|
140
141
|
// npm global node_modules
|
|
141
142
|
try {
|
|
142
|
-
const result =
|
|
143
|
+
const result = spawnProcessSync(platformExec('npm'), ['root', '-g']);
|
|
143
144
|
if (result.exitCode === 0) {
|
|
144
|
-
const npmPath = result.stdout.
|
|
145
|
+
const npmPath = result.stdout.trim();
|
|
145
146
|
if (npmPath.length > 0)
|
|
146
147
|
paths.push(npmPath);
|
|
147
148
|
}
|
|
@@ -149,21 +150,23 @@ const getGlobalNodeModulesPaths = () => {
|
|
|
149
150
|
catch (e) {
|
|
150
151
|
log.debug(`npm root -g failed: ${toErrorMessage(e)}`);
|
|
151
152
|
}
|
|
152
|
-
// bun global node_modules (
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
const
|
|
157
|
-
if (
|
|
158
|
-
const
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
paths.
|
|
153
|
+
// bun global node_modules (only when running under Bun — normal Node.js users
|
|
154
|
+
// install plugins via npm, so bun's global directory is irrelevant)
|
|
155
|
+
if (isBun) {
|
|
156
|
+
try {
|
|
157
|
+
const result = spawnProcessSync(platformExec('bun'), ['pm', '-g', 'bin']);
|
|
158
|
+
if (result.exitCode === 0) {
|
|
159
|
+
const bunBinPath = result.stdout.trim();
|
|
160
|
+
if (bunBinPath.length > 0) {
|
|
161
|
+
const bunNodeModules = join(dirname(bunBinPath), 'node_modules');
|
|
162
|
+
if (!paths.includes(bunNodeModules))
|
|
163
|
+
paths.push(bunNodeModules);
|
|
164
|
+
}
|
|
162
165
|
}
|
|
163
166
|
}
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
+
catch (e) {
|
|
168
|
+
log.debug(`bun pm -g bin failed: ${toErrorMessage(e)}`);
|
|
169
|
+
}
|
|
167
170
|
}
|
|
168
171
|
setCachedGlobalPaths(paths);
|
|
169
172
|
return paths;
|
|
@@ -174,7 +177,7 @@ const getGlobalNodeModulesPaths = () => {
|
|
|
174
177
|
*/
|
|
175
178
|
const hasOpentabsField = async (dir) => {
|
|
176
179
|
try {
|
|
177
|
-
const raw = (await
|
|
180
|
+
const raw = (await readJsonFile(join(dir, 'package.json')));
|
|
178
181
|
return typeof raw.opentabs === 'object' && raw.opentabs !== null && !Array.isArray(raw.opentabs);
|
|
179
182
|
}
|
|
180
183
|
catch (e) {
|
|
@@ -236,7 +239,7 @@ const scanGlobalDir = async (globalDir) => {
|
|
|
236
239
|
/**
|
|
237
240
|
* Discover globally installed npm plugin packages.
|
|
238
241
|
*
|
|
239
|
-
* Scans global node_modules directories (
|
|
242
|
+
* Scans global node_modules directories (npm, and bun when available) for packages
|
|
240
243
|
* matching the opentabs-plugin-* naming convention. Each match is validated
|
|
241
244
|
* by checking for a package.json with an `opentabs` field.
|
|
242
245
|
*
|
|
@@ -244,7 +247,7 @@ const scanGlobalDir = async (globalDir) => {
|
|
|
244
247
|
* plus any non-fatal errors encountered during scanning.
|
|
245
248
|
*/
|
|
246
249
|
const discoverGlobalNpmPlugins = async () => {
|
|
247
|
-
if (
|
|
250
|
+
if (getEnv('OPENTABS_SKIP_NPM_DISCOVERY') === '1') {
|
|
248
251
|
log.info('Skipping npm auto-discovery (OPENTABS_SKIP_NPM_DISCOVERY=1)');
|
|
249
252
|
return { dirs: [], errors: [] };
|
|
250
253
|
}
|
|
@@ -261,7 +264,7 @@ const discoverGlobalNpmPlugins = async () => {
|
|
|
261
264
|
try {
|
|
262
265
|
const dirs = await scanGlobalDir(globalDir);
|
|
263
266
|
for (const dir of dirs) {
|
|
264
|
-
// Deduplicate across
|
|
267
|
+
// Deduplicate across global paths (same package may appear in multiple locations)
|
|
265
268
|
if (!seen.has(dir)) {
|
|
266
269
|
seen.add(dir);
|
|
267
270
|
allDirs.push(dir);
|
package/dist/resolver.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-version.d.ts","sourceRoot":"","sources":["../src/sdk-version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"sdk-version.d.ts","sourceRoot":"","sources":["../src/sdk-version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,QAAA,IAAI,UAAU,QAAU,CAAC;AAYzB,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
package/dist/sdk-version.js
CHANGED
|
@@ -6,12 +6,13 @@
|
|
|
6
6
|
* SDK compatibility: a plugin's sdkVersion (from its tools.json) must have a
|
|
7
7
|
* major.minor <= the server's SDK major.minor.
|
|
8
8
|
*/
|
|
9
|
+
import { readJsonFile } from '@opentabs-dev/shared';
|
|
9
10
|
import { join, dirname } from 'node:path';
|
|
10
11
|
import { fileURLToPath } from 'node:url';
|
|
11
12
|
let sdkVersion = '0.0.0';
|
|
12
13
|
try {
|
|
13
14
|
const sdkPkgPath = join(dirname(fileURLToPath(import.meta.url)), '..', '..', 'plugin-sdk', 'package.json');
|
|
14
|
-
const pkgJson = await
|
|
15
|
+
const pkgJson = await readJsonFile(sdkPkgPath);
|
|
15
16
|
if (pkgJson !== null && typeof pkgJson === 'object' && 'version' in pkgJson && typeof pkgJson.version === 'string') {
|
|
16
17
|
sdkVersion = pkgJson.version;
|
|
17
18
|
}
|
package/dist/sdk-version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdk-version.js","sourceRoot":"","sources":["../src/sdk-version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,UAAU,GAAG,OAAO,CAAC;AAEzB,IAAI,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3G,MAAM,OAAO,GAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"sdk-version.js","sourceRoot":"","sources":["../src/sdk-version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,UAAU,GAAG,OAAO,CAAC;AAEzB,IAAI,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3G,MAAM,OAAO,GAAY,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC;IACxD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnH,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/B,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,uEAAuE;AACzE,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Node.js HTTP + WebSocket server adapter.
|
|
3
|
+
*
|
|
4
|
+
* Provides the same interface as the Bun.serve() delegate shell but uses
|
|
5
|
+
* node:http and the ws package. Converts between Node.js IncomingMessage /
|
|
6
|
+
* ServerResponse and the Web Standard Request / Response objects that the
|
|
7
|
+
* route handlers expect.
|
|
8
|
+
*
|
|
9
|
+
* Node.js 20+ has global Request / Response via undici, so no polyfills needed.
|
|
10
|
+
*/
|
|
11
|
+
import type { ServerAdapter } from './http-routes.js';
|
|
12
|
+
import type { WsHandle } from '@opentabs-dev/shared';
|
|
13
|
+
/** Configuration mirroring the subset of Bun.serve() options used by index.ts */
|
|
14
|
+
interface NodeServerOptions {
|
|
15
|
+
hostname: string;
|
|
16
|
+
port: number;
|
|
17
|
+
fetch: (req: Request, server: ServerAdapter) => Promise<Response | undefined>;
|
|
18
|
+
websocket: {
|
|
19
|
+
open: (ws: WsHandle) => void;
|
|
20
|
+
message: (ws: WsHandle, message: string | ArrayBuffer | Uint8Array) => void;
|
|
21
|
+
close: (ws: WsHandle) => void;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/** Return type matching the subset of Bun.serve() return used by index.ts */
|
|
25
|
+
interface NodeServer {
|
|
26
|
+
port: number;
|
|
27
|
+
stop: () => void;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Create a Node.js HTTP + WebSocket server that presents the ServerAdapter
|
|
31
|
+
* interface to the MCP server route handlers.
|
|
32
|
+
*
|
|
33
|
+
* The tricky part is WebSocket upgrades. Bun.serve() handles upgrades inline
|
|
34
|
+
* in the fetch handler — `server.upgrade(req)` completes the handshake and
|
|
35
|
+
* returns a boolean. Node.js + ws handle upgrades via the 'upgrade' event on
|
|
36
|
+
* the HTTP server, which is separate from normal request handling.
|
|
37
|
+
*
|
|
38
|
+
* Strategy: The 'upgrade' event constructs a Web Request, calls the fetch
|
|
39
|
+
* handler (which calls `adapter.upgrade()`), and if upgrade was requested,
|
|
40
|
+
* completes it via `wss.handleUpgrade()`.
|
|
41
|
+
*/
|
|
42
|
+
declare const createNodeServer: (options: NodeServerOptions) => Promise<NodeServer>;
|
|
43
|
+
export type { NodeServer, NodeServerOptions };
|
|
44
|
+
export { createNodeServer };
|
|
45
|
+
//# sourceMappingURL=server-node.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"server-node.d.ts","sourceRoot":"","sources":["../src/server-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMrD,iFAAiF;AACjF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC9E,SAAS,EAAE;QACT,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC7B,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC;QAC5E,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;KAC/B,CAAC;CACH;AAED,6EAA6E;AAC7E,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAgLD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,gBAAgB,GAAI,SAAS,iBAAiB,KAAG,OAAO,CAAC,UAAU,CA4ErE,CAAC;AAEL,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
|