@opentabs-dev/mcp-server 0.0.26 → 0.0.28
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 +2 -2
- package/dist/browser-tools/get-console-logs.d.ts +2 -2
- 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-handlers.d.ts +1 -1
- package/dist/extension-handlers.d.ts.map +1 -1
- package/dist/extension-handlers.js +2 -2
- package/dist/extension-handlers.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/extension-protocol.js +1 -1
- package/dist/extension-protocol.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 +4 -5
- package/dist/plugin-management.d.ts.map +1 -1
- package/dist/plugin-management.js +35 -81
- package/dist/plugin-management.js.map +1 -1
- package/dist/reload.d.ts.map +1 -1
- package/dist/reload.js +7 -4
- package/dist/reload.js.map +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 +8 -7
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +20 -33
- 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
package/dist/version-check.js
CHANGED
|
@@ -6,32 +6,24 @@
|
|
|
6
6
|
* the background and stores results in server state.
|
|
7
7
|
*/
|
|
8
8
|
import { log } from './logger.js';
|
|
9
|
-
import { toErrorMessage } from '@opentabs-dev/shared';
|
|
9
|
+
import { spawnProcessSync, toErrorMessage } from '@opentabs-dev/shared';
|
|
10
10
|
/**
|
|
11
|
-
* Query the
|
|
12
|
-
*
|
|
11
|
+
* Query the latest published version of a package via `npm view`.
|
|
12
|
+
* Delegates auth to npm itself, which reads ~/.npmrc for tokens —
|
|
13
|
+
* this handles private/scoped packages without manual token management.
|
|
13
14
|
*
|
|
14
15
|
* @param packageName - npm package name (e.g., 'opentabs-plugin-slack' or '@scope/opentabs-plugin-foo')
|
|
15
|
-
* @returns The latest version string
|
|
16
|
+
* @returns The latest version string, or null on failure
|
|
16
17
|
*/
|
|
17
|
-
export const fetchLatestVersion =
|
|
18
|
+
export const fetchLatestVersion = (packageName) => {
|
|
18
19
|
try {
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
? '@' + packageName.slice(1).replace('/', '%2F')
|
|
23
|
-
: encodeURIComponent(packageName);
|
|
24
|
-
const url = `https://registry.npmjs.org/${encodedName}`;
|
|
25
|
-
const response = await fetch(url, {
|
|
26
|
-
headers: { Accept: 'application/vnd.npm.install-v1+json' },
|
|
27
|
-
signal: AbortSignal.timeout(10_000),
|
|
28
|
-
});
|
|
29
|
-
if (!response.ok) {
|
|
30
|
-
log.debug(`npm registry returned ${response.status} for ${packageName}`);
|
|
20
|
+
const result = spawnProcessSync('npm', ['view', packageName, 'version']);
|
|
21
|
+
if (result.exitCode !== 0) {
|
|
22
|
+
log.debug(`npm view failed for ${packageName}: ${result.stderr.trim()}`);
|
|
31
23
|
return null;
|
|
32
24
|
}
|
|
33
|
-
const
|
|
34
|
-
return
|
|
25
|
+
const version = result.stdout.trim();
|
|
26
|
+
return version || null;
|
|
35
27
|
}
|
|
36
28
|
catch (e) {
|
|
37
29
|
log.debug(`Failed to fetch latest version for ${packageName}: ${toErrorMessage(e)}`);
|
|
@@ -70,21 +62,21 @@ export const isNewer = (current, latest) => {
|
|
|
70
62
|
};
|
|
71
63
|
/**
|
|
72
64
|
* Check all npm-installed plugins for newer versions on the registry.
|
|
73
|
-
* Runs
|
|
74
|
-
* results in `state.outdatedPlugins`. Skips local plugins
|
|
65
|
+
* Runs `npm view` for each plugin sequentially, logs outdated entries,
|
|
66
|
+
* and stores results in `state.outdatedPlugins`. Skips local plugins.
|
|
75
67
|
*
|
|
76
68
|
* @param state - Server state containing the plugin registry and outdatedPlugins target
|
|
77
69
|
*/
|
|
78
|
-
export const checkForUpdates =
|
|
70
|
+
export const checkForUpdates = (state) => {
|
|
79
71
|
const npmPlugins = Array.from(state.registry.plugins.values()).filter(p => p.trustTier !== 'local' && p.npmPackageName);
|
|
80
72
|
if (npmPlugins.length === 0)
|
|
81
73
|
return;
|
|
82
74
|
log.info(`Checking ${npmPlugins.length} npm plugin(s) for updates...`);
|
|
83
|
-
const results =
|
|
75
|
+
const results = npmPlugins.map(plugin => {
|
|
84
76
|
const pkgName = plugin.npmPackageName;
|
|
85
77
|
if (!pkgName)
|
|
86
78
|
return { kind: 'unreachable' };
|
|
87
|
-
const latest =
|
|
79
|
+
const latest = fetchLatestVersion(pkgName);
|
|
88
80
|
if (!latest)
|
|
89
81
|
return { kind: 'unreachable' };
|
|
90
82
|
if (isNewer(plugin.version, latest)) {
|
|
@@ -99,19 +91,14 @@ export const checkForUpdates = async (state) => {
|
|
|
99
91
|
};
|
|
100
92
|
}
|
|
101
93
|
return { kind: 'up-to-date' };
|
|
102
|
-
})
|
|
94
|
+
});
|
|
103
95
|
const outdated = [];
|
|
104
96
|
let unreachableCount = 0;
|
|
105
97
|
for (const result of results) {
|
|
106
|
-
if (result.
|
|
107
|
-
|
|
108
|
-
outdated.push(result.value.entry);
|
|
109
|
-
}
|
|
110
|
-
else if (result.value.kind === 'unreachable') {
|
|
111
|
-
unreachableCount++;
|
|
112
|
-
}
|
|
98
|
+
if (result.kind === 'outdated') {
|
|
99
|
+
outdated.push(result.entry);
|
|
113
100
|
}
|
|
114
|
-
else {
|
|
101
|
+
else if (result.kind === 'unreachable') {
|
|
115
102
|
unreachableCount++;
|
|
116
103
|
}
|
|
117
104
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAMH,QAAA,IAAI,OAAO,QAAU,CAAC;AAYtB,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/version.js
CHANGED
|
@@ -5,12 +5,13 @@
|
|
|
5
5
|
* (e.g., running from a different working directory or restructured dist)
|
|
6
6
|
* falls back to '0.0.0' instead of crashing the entire module import chain.
|
|
7
7
|
*/
|
|
8
|
+
import { readJsonFile } from '@opentabs-dev/shared';
|
|
8
9
|
import { join, dirname } from 'node:path';
|
|
9
10
|
import { fileURLToPath } from 'node:url';
|
|
10
11
|
let version = '0.0.0';
|
|
11
12
|
try {
|
|
12
13
|
const pkgPath = join(dirname(fileURLToPath(import.meta.url)), '..', 'package.json');
|
|
13
|
-
const pkgJson = await
|
|
14
|
+
const pkgJson = await readJsonFile(pkgPath);
|
|
14
15
|
if (pkgJson !== null && typeof pkgJson === 'object' && 'version' in pkgJson && typeof pkgJson.version === 'string') {
|
|
15
16
|
version = pkgJson.version;
|
|
16
17
|
}
|
package/dist/version.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,OAAO,GAAG,OAAO,CAAC;AAEtB,IAAI,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACpF,MAAM,OAAO,GAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;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,OAAO,GAAG,OAAO,CAAC;AAEtB,IAAI,CAAC;IACH,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACpF,MAAM,OAAO,GAAY,MAAM,YAAY,CAAC,OAAO,CAAC,CAAC;IACrD,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnH,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,4DAA4D;AAC9D,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@opentabs-dev/mcp-server",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.28",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": "./dist/index.js"
|
|
@@ -14,15 +14,17 @@
|
|
|
14
14
|
"scripts": {
|
|
15
15
|
"build": "tsc --build",
|
|
16
16
|
"dev": "bun --hot dist/index.js --dev",
|
|
17
|
-
"start": "
|
|
17
|
+
"start": "node dist/index.js"
|
|
18
18
|
},
|
|
19
19
|
"devDependencies": {
|
|
20
|
+
"@types/ws": "^8.18.1",
|
|
20
21
|
"bun-types": "^1.3.9"
|
|
21
22
|
},
|
|
22
23
|
"dependencies": {
|
|
23
24
|
"@modelcontextprotocol/sdk": "^1.26.0",
|
|
24
|
-
"@opentabs-dev/shared": "0.0.
|
|
25
|
+
"@opentabs-dev/shared": "0.0.25",
|
|
25
26
|
"ajv": "^8.18.0",
|
|
27
|
+
"ws": "^8.19.0",
|
|
26
28
|
"zod": "^4.3.6"
|
|
27
29
|
}
|
|
28
30
|
}
|