@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.
Files changed (70) hide show
  1. package/dist/adapter-files.js +4 -4
  2. package/dist/adapter-files.js.map +1 -1
  3. package/dist/browser-tools/extension-get-logs.d.ts +2 -2
  4. package/dist/browser-tools/get-console-logs.d.ts +2 -2
  5. package/dist/config.d.ts.map +1 -1
  6. package/dist/config.js +5 -7
  7. package/dist/config.js.map +1 -1
  8. package/dist/dev-mode.d.ts.map +1 -1
  9. package/dist/dev-mode.js +2 -1
  10. package/dist/dev-mode.js.map +1 -1
  11. package/dist/extension-handlers.d.ts +1 -1
  12. package/dist/extension-handlers.d.ts.map +1 -1
  13. package/dist/extension-handlers.js +2 -2
  14. package/dist/extension-handlers.js.map +1 -1
  15. package/dist/extension-install.d.ts.map +1 -1
  16. package/dist/extension-install.js +5 -6
  17. package/dist/extension-install.js.map +1 -1
  18. package/dist/extension-protocol.js +1 -1
  19. package/dist/extension-protocol.js.map +1 -1
  20. package/dist/file-watcher.d.ts +2 -2
  21. package/dist/file-watcher.d.ts.map +1 -1
  22. package/dist/file-watcher.js +6 -6
  23. package/dist/file-watcher.js.map +1 -1
  24. package/dist/http-routes.d.ts +6 -6
  25. package/dist/http-routes.d.ts.map +1 -1
  26. package/dist/http-routes.js +10 -10
  27. package/dist/http-routes.js.map +1 -1
  28. package/dist/index.d.ts +8 -3
  29. package/dist/index.d.ts.map +1 -1
  30. package/dist/index.js +58 -21
  31. package/dist/index.js.map +1 -1
  32. package/dist/loader.d.ts.map +1 -1
  33. package/dist/loader.js +16 -13
  34. package/dist/loader.js.map +1 -1
  35. package/dist/logger.d.ts +1 -1
  36. package/dist/logger.d.ts.map +1 -1
  37. package/dist/logger.js +3 -2
  38. package/dist/logger.js.map +1 -1
  39. package/dist/plugin-management.d.ts +4 -5
  40. package/dist/plugin-management.d.ts.map +1 -1
  41. package/dist/plugin-management.js +35 -81
  42. package/dist/plugin-management.js.map +1 -1
  43. package/dist/reload.d.ts.map +1 -1
  44. package/dist/reload.js +7 -4
  45. package/dist/reload.js.map +1 -1
  46. package/dist/resolver.d.ts +3 -4
  47. package/dist/resolver.d.ts.map +1 -1
  48. package/dist/resolver.js +33 -30
  49. package/dist/resolver.js.map +1 -1
  50. package/dist/sdk-version.d.ts.map +1 -1
  51. package/dist/sdk-version.js +2 -1
  52. package/dist/sdk-version.js.map +1 -1
  53. package/dist/server-node.d.ts +45 -0
  54. package/dist/server-node.d.ts.map +1 -0
  55. package/dist/server-node.js +234 -0
  56. package/dist/server-node.js.map +1 -0
  57. package/dist/skip-confirmation.d.ts.map +1 -1
  58. package/dist/skip-confirmation.js +2 -1
  59. package/dist/skip-confirmation.js.map +1 -1
  60. package/dist/skip-npm-discovery.d.ts.map +1 -1
  61. package/dist/skip-npm-discovery.js +2 -1
  62. package/dist/skip-npm-discovery.js.map +1 -1
  63. package/dist/version-check.d.ts +8 -7
  64. package/dist/version-check.d.ts.map +1 -1
  65. package/dist/version-check.js +20 -33
  66. package/dist/version-check.js.map +1 -1
  67. package/dist/version.d.ts.map +1 -1
  68. package/dist/version.js +2 -1
  69. package/dist/version.js.map +1 -1
  70. package/package.json +5 -3
@@ -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 npm registry for the latest published version of a package.
12
- * Uses the abbreviated install metadata endpoint with a 10s timeout.
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 from the registry's dist-tags, or null on failure
16
+ * @returns The latest version string, or null on failure
16
17
  */
17
- export const fetchLatestVersion = async (packageName) => {
18
+ export const fetchLatestVersion = (packageName) => {
18
19
  try {
19
- // Scoped packages use @scope%2Fpkg-name format in the registry URL.
20
- // Encode each segment separately to preserve the @ prefix.
21
- const encodedName = packageName.startsWith('@')
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 registryResponse = (await response.json());
34
- return registryResponse['dist-tags']?.latest ?? null;
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 version checks in parallel, logs outdated entries, and stores
74
- * results in `state.outdatedPlugins`. Skips local plugins (filesystem paths).
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 = async (state) => {
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 = await Promise.allSettled(npmPlugins.map(async (plugin) => {
75
+ const results = npmPlugins.map(plugin => {
84
76
  const pkgName = plugin.npmPackageName;
85
77
  if (!pkgName)
86
78
  return { kind: 'unreachable' };
87
- const latest = await fetchLatestVersion(pkgName);
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.status === 'fulfilled') {
107
- if (result.value.kind === 'outdated') {
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":"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"}
1
+ {"version":3,"file":"version-check.js","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,QAAA,IAAI,OAAO,QAAU,CAAC;AAYtB,OAAO,EAAE,OAAO,EAAE,CAAC"}
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 Bun.file(pkgPath).json();
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
  }
@@ -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,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,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,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAC5B,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,4DAA4D;AAC9D,CAAC;AAED,OAAO,EAAE,OAAO,EAAE,CAAC"}
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.26",
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": "bun dist/index.js"
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.23",
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
  }