@opentabs-dev/mcp-server 0.0.33 → 0.0.35
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.d.ts +10 -7
- package/dist/adapter-files.d.ts.map +1 -1
- package/dist/adapter-files.js +48 -20
- package/dist/adapter-files.js.map +1 -1
- package/dist/audit-disk.js +2 -2
- package/dist/audit-disk.js.map +1 -1
- package/dist/browser-tool-names.d.ts.map +1 -1
- package/dist/browser-tool-names.js +2 -0
- package/dist/browser-tool-names.js.map +1 -1
- package/dist/browser-tools/analyze-site/detect-apis.d.ts +16 -4
- package/dist/browser-tools/analyze-site/detect-apis.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site/detect-apis.js +51 -8
- package/dist/browser-tools/analyze-site/detect-apis.js.map +1 -1
- package/dist/browser-tools/analyze-site/detect-auth.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site/detect-auth.js +10 -5
- package/dist/browser-tools/analyze-site/detect-auth.js.map +1 -1
- package/dist/browser-tools/analyze-site/index.d.ts +37 -8
- package/dist/browser-tools/analyze-site/index.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site/index.js +67 -29
- package/dist/browser-tools/analyze-site/index.js.map +1 -1
- package/dist/browser-tools/analyze-site.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site.js +9 -8
- package/dist/browser-tools/analyze-site.js.map +1 -1
- package/dist/browser-tools/enable-network-capture.d.ts +1 -0
- package/dist/browser-tools/enable-network-capture.d.ts.map +1 -1
- package/dist/browser-tools/enable-network-capture.js +10 -2
- package/dist/browser-tools/enable-network-capture.js.map +1 -1
- package/dist/browser-tools/execute-script.js +1 -1
- package/dist/browser-tools/execute-script.js.map +1 -1
- package/dist/browser-tools/export-har.d.ts +15 -0
- package/dist/browser-tools/export-har.d.ts.map +1 -0
- package/dist/browser-tools/export-har.js +187 -0
- package/dist/browser-tools/export-har.js.map +1 -0
- package/dist/browser-tools/extension-get-logs.d.ts +3 -3
- package/dist/browser-tools/get-console-logs.d.ts +4 -4
- package/dist/browser-tools/get-websocket-frames.d.ts +10 -0
- package/dist/browser-tools/get-websocket-frames.d.ts.map +1 -0
- package/dist/browser-tools/get-websocket-frames.js +27 -0
- package/dist/browser-tools/get-websocket-frames.js.map +1 -0
- package/dist/browser-tools/index.d.ts.map +1 -1
- package/dist/browser-tools/index.js +4 -0
- package/dist/browser-tools/index.js.map +1 -1
- package/dist/browser-tools/reload-extension.d.ts.map +1 -1
- package/dist/browser-tools/reload-extension.js +1 -3
- package/dist/browser-tools/reload-extension.js.map +1 -1
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +17 -22
- package/dist/config.js.map +1 -1
- package/dist/dev-mode.d.ts.map +1 -1
- package/dist/dev-mode.js +1 -2
- package/dist/dev-mode.js.map +1 -1
- package/dist/dev-proxy.d.ts +12 -0
- package/dist/dev-proxy.d.ts.map +1 -0
- package/dist/dev-proxy.js +227 -0
- package/dist/dev-proxy.js.map +1 -0
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +6 -1
- package/dist/discovery.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 +6 -5
- package/dist/extension-install.js.map +1 -1
- package/dist/extension-protocol.d.ts +4 -2
- package/dist/extension-protocol.d.ts.map +1 -1
- package/dist/extension-protocol.js +25 -17
- package/dist/extension-protocol.js.map +1 -1
- package/dist/file-watcher.d.ts +1 -1
- package/dist/file-watcher.d.ts.map +1 -1
- package/dist/file-watcher.js +29 -10
- package/dist/file-watcher.js.map +1 -1
- package/dist/http-routes.d.ts +1 -1
- package/dist/http-routes.d.ts.map +1 -1
- package/dist/http-routes.js +8 -4
- package/dist/http-routes.js.map +1 -1
- package/dist/index.d.ts +12 -22
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -55
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +20 -17
- package/dist/loader.js.map +1 -1
- package/dist/log-buffer.d.ts +3 -1
- package/dist/log-buffer.d.ts.map +1 -1
- package/dist/log-buffer.js +12 -3
- package/dist/log-buffer.js.map +1 -1
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +2 -3
- package/dist/logger.js.map +1 -1
- package/dist/mcp-setup.d.ts +1 -1
- package/dist/mcp-setup.js +2 -2
- package/dist/mcp-tool-dispatch.d.ts +14 -1
- package/dist/mcp-tool-dispatch.d.ts.map +1 -1
- package/dist/mcp-tool-dispatch.js +4 -2
- package/dist/mcp-tool-dispatch.js.map +1 -1
- package/dist/permissions.d.ts.map +1 -1
- package/dist/permissions.js +5 -3
- package/dist/permissions.js.map +1 -1
- package/dist/plugin-management.d.ts +1 -1
- package/dist/plugin-management.d.ts.map +1 -1
- package/dist/plugin-management.js +53 -13
- package/dist/plugin-management.js.map +1 -1
- package/dist/reload.d.ts +6 -7
- package/dist/reload.d.ts.map +1 -1
- package/dist/reload.js +43 -15
- package/dist/reload.js.map +1 -1
- package/dist/resolver.d.ts +3 -3
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +15 -32
- package/dist/resolver.js.map +1 -1
- package/dist/sanitize-error.d.ts.map +1 -1
- package/dist/sanitize-error.js +10 -6
- package/dist/sanitize-error.js.map +1 -1
- package/dist/sdk-version.js +2 -2
- package/dist/sdk-version.js.map +1 -1
- package/dist/server-node.d.ts +9 -13
- package/dist/server-node.d.ts.map +1 -1
- package/dist/server-node.js +47 -18
- package/dist/server-node.js.map +1 -1
- package/dist/shutdown.d.ts +7 -6
- package/dist/shutdown.d.ts.map +1 -1
- package/dist/shutdown.js +13 -9
- package/dist/shutdown.js.map +1 -1
- package/dist/skip-confirmation.d.ts.map +1 -1
- package/dist/skip-confirmation.js +1 -2
- package/dist/skip-confirmation.js.map +1 -1
- package/dist/skip-npm-discovery.d.ts.map +1 -1
- package/dist/skip-npm-discovery.js +1 -2
- package/dist/skip-npm-discovery.js.map +1 -1
- package/dist/state.d.ts +1 -1
- package/dist/state.js +1 -1
- package/dist/version-check.d.ts +6 -4
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +39 -9
- package/dist/version-check.js.map +1 -1
- package/dist/version.js +2 -2
- package/dist/version.js.map +1 -1
- package/package.json +6 -7
package/dist/permissions.js
CHANGED
|
@@ -27,7 +27,6 @@ const TOOL_TIERS = {
|
|
|
27
27
|
browser_wait_for_element: 'observe',
|
|
28
28
|
browser_get_tab_content: 'observe',
|
|
29
29
|
browser_get_console_logs: 'observe',
|
|
30
|
-
browser_clear_console_logs: 'observe',
|
|
31
30
|
browser_list_resources: 'observe',
|
|
32
31
|
browser_get_resource_content: 'observe',
|
|
33
32
|
browser_disable_network_capture: 'observe',
|
|
@@ -35,9 +34,8 @@ const TOOL_TIERS = {
|
|
|
35
34
|
extension_get_logs: 'observe',
|
|
36
35
|
extension_get_side_panel: 'observe',
|
|
37
36
|
extension_check_adapter: 'observe',
|
|
38
|
-
extension_force_reconnect: 'observe',
|
|
39
|
-
extension_reload: 'observe',
|
|
40
37
|
// Interact tier — modifies page state or captures content
|
|
38
|
+
browser_clear_console_logs: 'interact',
|
|
41
39
|
browser_click_element: 'interact',
|
|
42
40
|
browser_type_text: 'interact',
|
|
43
41
|
browser_select_option: 'interact',
|
|
@@ -53,6 +51,10 @@ const TOOL_TIERS = {
|
|
|
53
51
|
browser_get_page_html: 'interact',
|
|
54
52
|
browser_enable_network_capture: 'interact',
|
|
55
53
|
browser_get_network_requests: 'interact',
|
|
54
|
+
browser_get_websocket_frames: 'interact',
|
|
55
|
+
browser_export_har: 'interact',
|
|
56
|
+
extension_force_reconnect: 'interact',
|
|
57
|
+
extension_reload: 'interact',
|
|
56
58
|
plugin_analyze_site: 'interact',
|
|
57
59
|
// Sensitive tier — access credentials, execute arbitrary code, modify auth
|
|
58
60
|
browser_execute_script: 'sensitive',
|
package/dist/permissions.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAQH;;;;;;GAMG;AACH,MAAM,UAAU,GAA6B;IAC3C,qCAAqC;IACrC,iBAAiB,EAAE,SAAS;IAC5B,oBAAoB,EAAE,SAAS;IAC/B,sBAAsB,EAAE,SAAS;IACjC,wBAAwB,EAAE,SAAS;IACnC,uBAAuB,EAAE,SAAS;IAClC,wBAAwB,EAAE,SAAS;IACnC,
|
|
1
|
+
{"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,7 +30,7 @@ interface PluginInstallResult {
|
|
|
30
30
|
* @throws Error with `code` property for structured JSON-RPC error handling:
|
|
31
31
|
* - code -32603: npm search failed
|
|
32
32
|
*/
|
|
33
|
-
declare const searchNpmPlugins: (query?: string) => PluginSearchResult[]
|
|
33
|
+
declare const searchNpmPlugins: (query?: string) => Promise<PluginSearchResult[]>;
|
|
34
34
|
/**
|
|
35
35
|
* Install a plugin from npm globally and trigger server rediscovery.
|
|
36
36
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-management.d.ts","sourceRoot":"","sources":["../src/plugin-management.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAKL,mBAAmB,EACnB,wBAAwB,
|
|
1
|
+
{"version":3,"file":"plugin-management.d.ts","sourceRoot":"","sources":["../src/plugin-management.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,EAKL,mBAAmB,EACnB,wBAAwB,EAGzB,MAAM,sBAAsB,CAAC;AAK9B,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAMhE,UAAU,kBAAkB;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;CACrB;AAMD,UAAU,mBAAmB;IAC3B,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AA6FD;;;;;;GAMG;AACH,QAAA,MAAM,gBAAgB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,kBAAkB,EAAE,CA0C5E,CAAC;AAMF;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,aAAa,GACjB,MAAM,MAAM,EACZ,OAAO,WAAW,EAClB,UAAU,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,KAC/D,OAAO,CAAC,mBAAmB,CA4C7B,CAAC;AAMF;;GAEG;AACH,UAAU,kBAAkB;IAC1B,EAAE,EAAE,IAAI,CAAC;IACT,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,OAAO,EAAE,MAAM,CAAC;QAChB,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH;AAED;;;;;;GAMG;AACH,QAAA,MAAM,UAAU,GAAI,OAAO,WAAW,EAAE,MAAM,MAAM,KAAG,gBAAgB,GAAG,SAYzE,CAAC;AAEF;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,YAAY,GAChB,MAAM,MAAM,EACZ,OAAO,WAAW,EAClB,UAAU,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,KAC/D,OAAO,CAAC,kBAAkB,CAkC5B,CAAC;AA+FF;;;;;;;;;;;GAWG;AACH,QAAA,MAAM,YAAY,GAChB,MAAM,MAAM,EACZ,OAAO,WAAW,EAClB,UAAU,MAAM,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC,KAC/D,OAAO,CAAC;IAAE,EAAE,EAAE,IAAI,CAAA;CAAE,CA8BtB,CAAC;AAMF;;GAEG;AACH,UAAU,kBAAkB;IAC1B,eAAe,EAAE,KAAK,CAAC;QACrB,IAAI,EAAE,MAAM,CAAC;QACb,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,EAAE,MAAM,CAAC;QACtB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ;AAED;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GAAU,OAAO,WAAW,KAAG,OAAO,CAAC,kBAAkB,CAIhF,CAAC;AAEF,YAAY,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,CAAC;AAChG,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,UAAU,GACX,CAAC"}
|
|
@@ -7,8 +7,9 @@
|
|
|
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,
|
|
11
|
-
import {
|
|
10
|
+
import { atomicWrite, getConfigDir, getConfigPath, OFFICIAL_SCOPE, normalizePluginName, isValidPluginPackageName, resolvePluginPackageCandidates, platformExec, } from '@opentabs-dev/shared';
|
|
11
|
+
import { spawn } from 'node:child_process';
|
|
12
|
+
import { mkdir, readFile } from 'node:fs/promises';
|
|
12
13
|
import { homedir } from 'node:os';
|
|
13
14
|
import { join, resolve } from 'node:path';
|
|
14
15
|
// ---------------------------------------------------------------------------
|
|
@@ -18,14 +19,38 @@ import { join, resolve } from 'node:path';
|
|
|
18
19
|
// npm subprocess timeout
|
|
19
20
|
// ---------------------------------------------------------------------------
|
|
20
21
|
const NPM_SUBPROCESS_TIMEOUT_MS = 60_000;
|
|
22
|
+
/** Spawn a process asynchronously and return a result promise and a kill handle. */
|
|
23
|
+
const spawnAsync = (cmd, args) => {
|
|
24
|
+
const child = spawn(cmd, args, { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
25
|
+
const stdoutChunks = [];
|
|
26
|
+
const stderrChunks = [];
|
|
27
|
+
child.stdout.on('data', (chunk) => stdoutChunks.push(chunk));
|
|
28
|
+
child.stderr.on('data', (chunk) => stderrChunks.push(chunk));
|
|
29
|
+
const promise = new Promise((resolve, reject) => {
|
|
30
|
+
child.on('error', reject);
|
|
31
|
+
child.on('close', code => {
|
|
32
|
+
resolve({
|
|
33
|
+
exitCode: code ?? 1,
|
|
34
|
+
stdout: Buffer.concat(stdoutChunks).toString(),
|
|
35
|
+
stderr: Buffer.concat(stderrChunks).toString(),
|
|
36
|
+
});
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
return {
|
|
40
|
+
promise,
|
|
41
|
+
kill: () => {
|
|
42
|
+
child.kill();
|
|
43
|
+
},
|
|
44
|
+
};
|
|
45
|
+
};
|
|
21
46
|
/**
|
|
22
47
|
* Run an npm command globally with the given package name.
|
|
23
|
-
* Applies a 60s timeout via Promise.race against the
|
|
48
|
+
* Applies a 60s timeout via Promise.race against the spawnAsync result.
|
|
24
49
|
*
|
|
25
50
|
* @throws Error with code -32603 and data { stderr, stdout } on non-zero exit or timeout
|
|
26
51
|
*/
|
|
27
52
|
const runNpmGlobal = async (command, packageName) => {
|
|
28
|
-
const resultPromise =
|
|
53
|
+
const { promise: resultPromise, kill } = spawnAsync(platformExec('npm'), [command, '-g', packageName]);
|
|
29
54
|
let rejectTimeout;
|
|
30
55
|
const timeoutPromise = new Promise((_, reject) => {
|
|
31
56
|
rejectTimeout = reject;
|
|
@@ -37,6 +62,7 @@ const runNpmGlobal = async (command, packageName) => {
|
|
|
37
62
|
}
|
|
38
63
|
finally {
|
|
39
64
|
clearTimeout(timerId);
|
|
65
|
+
kill();
|
|
40
66
|
}
|
|
41
67
|
if (result.exitCode !== 0) {
|
|
42
68
|
log.error(`npm ${command} failed for ${packageName}: exit code ${result.exitCode}, stderr: ${result.stderr}`);
|
|
@@ -54,9 +80,22 @@ const runNpmGlobal = async (command, packageName) => {
|
|
|
54
80
|
* @throws Error with `code` property for structured JSON-RPC error handling:
|
|
55
81
|
* - code -32603: npm search failed
|
|
56
82
|
*/
|
|
57
|
-
const searchNpmPlugins = (query) => {
|
|
83
|
+
const searchNpmPlugins = async (query) => {
|
|
58
84
|
const searchTerm = query ? `keywords:opentabs-plugin ${query}` : 'keywords:opentabs-plugin';
|
|
59
|
-
const
|
|
85
|
+
const { promise: resultPromise, kill } = spawnAsync(platformExec('npm'), ['search', searchTerm, '--json']);
|
|
86
|
+
let rejectTimeout;
|
|
87
|
+
const timeoutPromise = new Promise((_, reject) => {
|
|
88
|
+
rejectTimeout = reject;
|
|
89
|
+
});
|
|
90
|
+
const timerId = setTimeout(() => rejectTimeout(new Error(`npm search timed out after ${NPM_SUBPROCESS_TIMEOUT_MS}ms`)), NPM_SUBPROCESS_TIMEOUT_MS);
|
|
91
|
+
let result;
|
|
92
|
+
try {
|
|
93
|
+
result = await Promise.race([resultPromise, timeoutPromise]);
|
|
94
|
+
}
|
|
95
|
+
finally {
|
|
96
|
+
clearTimeout(timerId);
|
|
97
|
+
kill();
|
|
98
|
+
}
|
|
60
99
|
if (result.exitCode !== 0) {
|
|
61
100
|
const stderr = result.stderr.trim();
|
|
62
101
|
const error = new Error(stderr || 'npm search failed');
|
|
@@ -207,7 +246,7 @@ const removeLocalPlugin = async (state, pluginName) => {
|
|
|
207
246
|
await mkdir(configDir, { recursive: true, mode: 0o700 });
|
|
208
247
|
let raw;
|
|
209
248
|
try {
|
|
210
|
-
raw = await readFile(configPath);
|
|
249
|
+
raw = await readFile(configPath, 'utf-8');
|
|
211
250
|
}
|
|
212
251
|
catch {
|
|
213
252
|
log.warn('Cannot remove local plugin — config file unreadable');
|
|
@@ -233,6 +272,7 @@ const removeLocalPlugin = async (state, pluginName) => {
|
|
|
233
272
|
// We try multiple matching strategies:
|
|
234
273
|
// 1. Path ends with the plugin name directory
|
|
235
274
|
// 2. The resolved path's package.json has a matching name
|
|
275
|
+
let found = false;
|
|
236
276
|
const updatedPlugins = [];
|
|
237
277
|
for (const pluginPath of localPlugins) {
|
|
238
278
|
const resolvedPath = pluginPath.startsWith('~/')
|
|
@@ -241,16 +281,16 @@ const removeLocalPlugin = async (state, pluginName) => {
|
|
|
241
281
|
const dirName = resolvedPath.split('/').pop() ?? '';
|
|
242
282
|
// Check if the directory name matches the plugin name
|
|
243
283
|
if (dirName === pluginName || dirName === `opentabs-plugin-${pluginName}`) {
|
|
244
|
-
|
|
284
|
+
found = true;
|
|
245
285
|
continue;
|
|
246
286
|
}
|
|
247
287
|
// Check if the package.json name matches
|
|
248
288
|
try {
|
|
249
|
-
const pkg = (await
|
|
289
|
+
const pkg = JSON.parse(await readFile(join(resolvedPath, 'package.json'), 'utf-8'));
|
|
250
290
|
const pkgName = typeof pkg.name === 'string' ? pkg.name : '';
|
|
251
291
|
const derivedPkgName = pluginNameFromPackage(pkgName);
|
|
252
292
|
if (derivedPkgName === pluginName || pkgName === pluginName) {
|
|
253
|
-
|
|
293
|
+
found = true;
|
|
254
294
|
continue;
|
|
255
295
|
}
|
|
256
296
|
}
|
|
@@ -259,14 +299,14 @@ const removeLocalPlugin = async (state, pluginName) => {
|
|
|
259
299
|
}
|
|
260
300
|
updatedPlugins.push(pluginPath);
|
|
261
301
|
}
|
|
262
|
-
if (
|
|
302
|
+
if (found) {
|
|
263
303
|
record.localPlugins = updatedPlugins;
|
|
264
304
|
await atomicWrite(configPath, JSON.stringify(record, null, 2) + '\n', 0o600);
|
|
305
|
+
removed = true;
|
|
265
306
|
}
|
|
266
307
|
})().catch((err) => {
|
|
267
308
|
state.configWriteMutex = Promise.resolve();
|
|
268
309
|
log.warn(`Failed to remove local plugin from config:`, err);
|
|
269
|
-
throw err;
|
|
270
310
|
});
|
|
271
311
|
await state.configWriteMutex;
|
|
272
312
|
return removed;
|
|
@@ -317,7 +357,7 @@ const removePlugin = async (name, state, onReload) => {
|
|
|
317
357
|
*/
|
|
318
358
|
const checkPluginUpdates = async (state) => {
|
|
319
359
|
const { checkForUpdates } = await import('./version-check.js');
|
|
320
|
-
checkForUpdates(state);
|
|
360
|
+
await checkForUpdates(state);
|
|
321
361
|
return { outdatedPlugins: state.outdatedPlugins };
|
|
322
362
|
};
|
|
323
363
|
export { normalizePluginName, isValidPluginPackageName, searchNpmPlugins, installPlugin, updatePlugin, removePlugin, checkPluginUpdates, findPlugin, };
|
|
@@ -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.d.ts
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* restart, extension re-sync, client notification, and version check.
|
|
7
7
|
*
|
|
8
8
|
* Called on every module evaluation (both first load and hot reload). This
|
|
9
|
-
* separation keeps index.ts as a thin frozen shell (
|
|
9
|
+
* separation keeps index.ts as a thin frozen shell (HTTP server delegate,
|
|
10
10
|
* HotState management, handler definitions) that rarely needs to change,
|
|
11
11
|
* while all reload logic lives here and is freely editable.
|
|
12
12
|
*/
|
|
@@ -31,15 +31,14 @@ interface ReloadResult {
|
|
|
31
31
|
* before the reload attempt.
|
|
32
32
|
*
|
|
33
33
|
* A globalThis-based guard prevents concurrent reloads: if a previous reload
|
|
34
|
-
* is still running
|
|
35
|
-
* call waits for it to finish before proceeding.
|
|
34
|
+
* is still running, this call waits for it to finish before proceeding.
|
|
36
35
|
*/
|
|
37
36
|
declare const performReload: (state: ServerState, sessionServers: McpServerInstance[], transports: Map<string, WebStandardStreamableHTTPServerTransport>, isHotReload: boolean) => Promise<ReloadResult>;
|
|
38
37
|
/**
|
|
39
|
-
* Reload config and rediscover plugins at runtime
|
|
40
|
-
*
|
|
41
|
-
*
|
|
42
|
-
*
|
|
38
|
+
* Reload config and rediscover plugins at runtime via the POST /reload endpoint.
|
|
39
|
+
* Performs the same config/plugin rediscovery as performReload but without the
|
|
40
|
+
* hot reload module re-evaluation aspects (browser tools refresh, session
|
|
41
|
+
* handler re-registration).
|
|
43
42
|
*
|
|
44
43
|
* Returns the number of plugins discovered and the duration in milliseconds.
|
|
45
44
|
*/
|
package/dist/reload.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload.d.ts","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"reload.d.ts","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAuBH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,KAAK,EAAE,wCAAwC,EAAE,MAAM,+DAA+D,CAAC;AAE9H,oFAAoF;AACpF,UAAU,YAAY;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAgPD;;;;;;;;;;;;;;GAcG;AACH,QAAA,MAAM,aAAa,GACjB,OAAO,WAAW,EAClB,gBAAgB,iBAAiB,EAAE,EACnC,YAAY,GAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC,EACjE,aAAa,OAAO,KACnB,OAAO,CAAC,YAAY,CAiGtB,CAAC;AAEF;;;;;;;GAOG;AACH,QAAA,MAAM,mBAAmB,GACvB,OAAO,WAAW,EAClB,gBAAgB,iBAAiB,EAAE,EACnC,YAAY,GAAG,CAAC,MAAM,EAAE,wCAAwC,CAAC,KAChE,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAmCjD,CAAC;AAEF,YAAY,EAAE,YAAY,EAAE,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,CAAC"}
|
package/dist/reload.js
CHANGED
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* restart, extension re-sync, client notification, and version check.
|
|
7
7
|
*
|
|
8
8
|
* Called on every module evaluation (both first load and hot reload). This
|
|
9
|
-
* separation keeps index.ts as a thin frozen shell (
|
|
9
|
+
* separation keeps index.ts as a thin frozen shell (HTTP server delegate,
|
|
10
10
|
* HotState management, handler definitions) that rarely needs to change,
|
|
11
11
|
* while all reload logic lives here and is freely editable.
|
|
12
12
|
*/
|
|
@@ -18,6 +18,7 @@ import { ensureExtensionInstalled } from './extension-install.js';
|
|
|
18
18
|
import { sendSyncFull, sendPluginUpdate, sendExtensionReload, cleanupStaleExecFiles } from './extension-protocol.js';
|
|
19
19
|
import { startConfigWatching, startFileWatching, stopFileWatching } from './file-watcher.js';
|
|
20
20
|
import { sweepStaleSessions } from './http-routes.js';
|
|
21
|
+
import { pruneStaleBuffers } from './log-buffer.js';
|
|
21
22
|
import { log } from './logger.js';
|
|
22
23
|
import { registerMcpHandlers, rebuildCachedBrowserTools, notifyToolListChanged, notifyResourceListChanged, notifyPromptListChanged, } from './mcp-setup.js';
|
|
23
24
|
import { buildRegistry } from './registry.js';
|
|
@@ -26,8 +27,8 @@ import { prefixedToolName } from './state.js';
|
|
|
26
27
|
import { checkForUpdates } from './version-check.js';
|
|
27
28
|
/**
|
|
28
29
|
* globalThis key for the concurrent reload guard promise.
|
|
29
|
-
* Stored on globalThis so it survives across
|
|
30
|
-
* If a reload is in progress when
|
|
30
|
+
* Stored on globalThis so it survives across hot reload re-evaluations.
|
|
31
|
+
* If a reload is in progress when a dev mode reload triggers, the new module
|
|
31
32
|
* evaluation waits for the previous reload to finish before starting.
|
|
32
33
|
*/
|
|
33
34
|
const RELOAD_GUARD_KEY = '__opentabs_reload_guard__';
|
|
@@ -68,6 +69,8 @@ const pruneStaleState = (state) => {
|
|
|
68
69
|
if (prunedToolConfigCount > 0) {
|
|
69
70
|
log.info(`Pruned ${prunedToolConfigCount} stale tool config entry/entries`);
|
|
70
71
|
}
|
|
72
|
+
// Prune stale log buffers for removed plugins
|
|
73
|
+
pruneStaleBuffers(new Set(state.registry.plugins.keys()));
|
|
71
74
|
// Keep only outdatedPlugins entries for still-present plugins
|
|
72
75
|
const npmPkgNames = new Set(Array.from(state.registry.plugins.values())
|
|
73
76
|
.map(p => p.npmPackageName)
|
|
@@ -130,6 +133,12 @@ const reloadCore = async ({ state, sessionServers, transports }) => {
|
|
|
130
133
|
// Always stop existing watchers (cleans up handles from previous hot reload iteration)
|
|
131
134
|
stopFileWatching(state);
|
|
132
135
|
sweepStaleSessions(state, transports, sessionServers);
|
|
136
|
+
// Capture the config.json mtime that was current when the watcher last fired.
|
|
137
|
+
// stopFileWatching() cancels any pending debounce timers, so a config.json write
|
|
138
|
+
// that arrives during the async reload work below (while discoverPlugins runs) will
|
|
139
|
+
// not trigger a follow-up reload via the file watcher. After startConfigWatching()
|
|
140
|
+
// records the current mtime, we compare against this value to detect missed writes.
|
|
141
|
+
const prevConfigMtime = state.fileWatching.configLastSeenMtime;
|
|
133
142
|
let secretChanged = false;
|
|
134
143
|
try {
|
|
135
144
|
const config = await loadConfig();
|
|
@@ -151,13 +160,20 @@ const reloadCore = async ({ state, sessionServers, transports }) => {
|
|
|
151
160
|
log.info(`Config loaded: ${config.localPlugins.length} local plugin path(s), ${Object.keys(config.tools).length} tool setting(s)`);
|
|
152
161
|
rebuildCachedBrowserTools(state);
|
|
153
162
|
pruneStaleState(state);
|
|
154
|
-
|
|
155
|
-
|
|
163
|
+
}
|
|
164
|
+
catch (err) {
|
|
165
|
+
log.error('Reload failed, keeping previous state:', err);
|
|
166
|
+
}
|
|
167
|
+
// Re-read the auth secret so secret rotation takes effect without a restart.
|
|
168
|
+
// Independent of config/plugin discovery — a secret load failure keeps the
|
|
169
|
+
// previous secret without rolling back the config/registry updates above.
|
|
170
|
+
const previousSecret = state.wsSecret;
|
|
171
|
+
try {
|
|
156
172
|
state.wsSecret = await loadSecret();
|
|
157
173
|
secretChanged = previousSecret !== null && state.wsSecret !== previousSecret;
|
|
158
174
|
}
|
|
159
175
|
catch (err) {
|
|
160
|
-
log.error('
|
|
176
|
+
log.error('Failed to load auth secret, keeping previous secret:', err);
|
|
161
177
|
}
|
|
162
178
|
// File watchers, config watching, and mtime polling are dev-only features.
|
|
163
179
|
// Production mode discovers plugins once at startup; restart to reload.
|
|
@@ -166,6 +182,19 @@ const reloadCore = async ({ state, sessionServers, transports }) => {
|
|
|
166
182
|
const failedPaths = state.registry.failures.map(f => f.path);
|
|
167
183
|
startFileWatching(state, callbacks, failedPaths);
|
|
168
184
|
startConfigWatching(state, callbacks);
|
|
185
|
+
// Detect config.json writes that occurred during the async reload above.
|
|
186
|
+
// stopFileWatching() cancelled any pending debounce timers, so those writes
|
|
187
|
+
// never triggered a follow-up reload. startConfigWatching() records the current
|
|
188
|
+
// file mtime, so the mtime poll also cannot detect them (it only sees future changes).
|
|
189
|
+
// Compare the mtime startConfigWatching() just recorded with the pre-reload mtime:
|
|
190
|
+
// if it advanced, config.json was written during the reload and state.toolConfig
|
|
191
|
+
// reflects stale data — trigger a follow-up reload to apply the latest config.
|
|
192
|
+
if (prevConfigMtime !== null &&
|
|
193
|
+
state.fileWatching.configLastSeenMtime !== null &&
|
|
194
|
+
state.fileWatching.configLastSeenMtime > prevConfigMtime) {
|
|
195
|
+
log.info('Config changed during reload — triggering follow-up reload to apply latest changes');
|
|
196
|
+
callbacks.onConfigChanged();
|
|
197
|
+
}
|
|
169
198
|
}
|
|
170
199
|
if (state.extensionWs) {
|
|
171
200
|
await sendSyncFull(state);
|
|
@@ -204,8 +233,7 @@ const restartSweepTimer = (state, transports, sessionServers) => {
|
|
|
204
233
|
* before the reload attempt.
|
|
205
234
|
*
|
|
206
235
|
* A globalThis-based guard prevents concurrent reloads: if a previous reload
|
|
207
|
-
* is still running
|
|
208
|
-
* call waits for it to finish before proceeding.
|
|
236
|
+
* is still running, this call waits for it to finish before proceeding.
|
|
209
237
|
*/
|
|
210
238
|
const performReload = async (state, sessionServers, transports, isHotReload) => {
|
|
211
239
|
// Wait for any in-flight reload to complete before starting a new one
|
|
@@ -255,7 +283,7 @@ const performReload = async (state, sessionServers, transports, isHotReload) =>
|
|
|
255
283
|
catch (err) {
|
|
256
284
|
log.warn('Exec file cleanup failed:', err);
|
|
257
285
|
}
|
|
258
|
-
// Update browser tools from the fresh module import (
|
|
286
|
+
// Update browser tools from the fresh module import (hot reload re-evaluates
|
|
259
287
|
// the import chain so browserTools contains the latest definitions)
|
|
260
288
|
state.browserTools = browserTools;
|
|
261
289
|
await reloadCore({ state, sessionServers, transports });
|
|
@@ -281,9 +309,9 @@ const performReload = async (state, sessionServers, transports, isHotReload) =>
|
|
|
281
309
|
notifyPromptListChanged(srv);
|
|
282
310
|
}
|
|
283
311
|
}
|
|
284
|
-
// Version check:
|
|
312
|
+
// Version check: async via `npm view`, best-effort on every reload
|
|
285
313
|
try {
|
|
286
|
-
checkForUpdates(state);
|
|
314
|
+
await checkForUpdates(state);
|
|
287
315
|
}
|
|
288
316
|
catch {
|
|
289
317
|
// Update check is best-effort — failures are not actionable
|
|
@@ -301,10 +329,10 @@ const performReload = async (state, sessionServers, transports, isHotReload) =>
|
|
|
301
329
|
}
|
|
302
330
|
};
|
|
303
331
|
/**
|
|
304
|
-
* Reload config and rediscover plugins at runtime
|
|
305
|
-
*
|
|
306
|
-
*
|
|
307
|
-
*
|
|
332
|
+
* Reload config and rediscover plugins at runtime via the POST /reload endpoint.
|
|
333
|
+
* Performs the same config/plugin rediscovery as performReload but without the
|
|
334
|
+
* hot reload module re-evaluation aspects (browser tools refresh, session
|
|
335
|
+
* handler re-registration).
|
|
308
336
|
*
|
|
309
337
|
* Returns the number of plugins discovered and the duration in milliseconds.
|
|
310
338
|
*/
|
package/dist/reload.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"reload.js","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"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"}
|
package/dist/resolver.d.ts
CHANGED
|
@@ -35,9 +35,9 @@ declare const resolvePluginPath: (specifier: string, configDir: string) => Promi
|
|
|
35
35
|
/**
|
|
36
36
|
* Discover globally installed npm plugin packages.
|
|
37
37
|
*
|
|
38
|
-
* Scans global
|
|
39
|
-
*
|
|
40
|
-
*
|
|
38
|
+
* Scans the global npm node_modules directory for packages matching the
|
|
39
|
+
* opentabs-plugin-* naming convention. Each match is validated by checking
|
|
40
|
+
* for a package.json with an `opentabs` field.
|
|
41
41
|
*
|
|
42
42
|
* Returns an array of absolute directory paths for discovered plugins,
|
|
43
43
|
* plus any non-fatal errors encountered during scanning.
|
package/dist/resolver.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"resolver.d.ts","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AASH,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;AA+GF;;;;;;;;;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
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
* directories for packages matching the opentabs-plugin-* naming convention.
|
|
10
10
|
*/
|
|
11
11
|
import { log } from './logger.js';
|
|
12
|
-
import { ok, err,
|
|
13
|
-
import {
|
|
12
|
+
import { ok, err, PLUGIN_PREFIX, platformExec, toErrorMessage } from '@opentabs-dev/shared';
|
|
13
|
+
import { spawnSync } from 'node:child_process';
|
|
14
|
+
import { readFile, readdir, realpath, stat } from 'node:fs/promises';
|
|
14
15
|
import { createRequire } from 'node:module';
|
|
15
16
|
import { homedir, tmpdir } from 'node:os';
|
|
16
17
|
import { dirname, join, resolve, sep } from 'node:path';
|
|
@@ -19,7 +20,7 @@ import { dirname, join, resolve, sep } from 'node:path';
|
|
|
19
20
|
* Plugins must reside under the user's home directory or the system temp directory.
|
|
20
21
|
* The temp directory allowance supports E2E tests and development workflows.
|
|
21
22
|
*/
|
|
22
|
-
const getAllowedRoots = () => [homedir(), tmpdir()];
|
|
23
|
+
const getAllowedRoots = () => [homedir(), tmpdir(), process.cwd()];
|
|
23
24
|
/**
|
|
24
25
|
* Resolve a path to its canonical form, following symlinks.
|
|
25
26
|
* Falls back to the input path if realpath fails (e.g., non-existent target).
|
|
@@ -76,7 +77,7 @@ const require = createRequire(import.meta.url);
|
|
|
76
77
|
/**
|
|
77
78
|
* Resolve an npm package specifier to the directory containing its package.json.
|
|
78
79
|
* Uses require.resolve to locate the package's package.json, then returns
|
|
79
|
-
* the containing directory.
|
|
80
|
+
* the containing directory.
|
|
80
81
|
*/
|
|
81
82
|
const resolveNpmPackage = (specifier) => {
|
|
82
83
|
try {
|
|
@@ -129,8 +130,8 @@ const setCachedGlobalPaths = (paths) => {
|
|
|
129
130
|
globalThis[GLOBAL_PATHS_KEY] = paths;
|
|
130
131
|
};
|
|
131
132
|
/**
|
|
132
|
-
* Get global node_modules directories from npm
|
|
133
|
-
* Results are cached on globalThis so the shell
|
|
133
|
+
* Get global node_modules directories from npm.
|
|
134
|
+
* Results are cached on globalThis so the shell command runs at most once
|
|
134
135
|
* per process lifetime.
|
|
135
136
|
*/
|
|
136
137
|
const getGlobalNodeModulesPaths = () => {
|
|
@@ -140,9 +141,9 @@ const getGlobalNodeModulesPaths = () => {
|
|
|
140
141
|
const paths = [];
|
|
141
142
|
// npm global node_modules
|
|
142
143
|
try {
|
|
143
|
-
const result =
|
|
144
|
-
if (result.
|
|
145
|
-
const npmPath = result.stdout.trim();
|
|
144
|
+
const result = spawnSync(platformExec('npm'), ['root', '-g'], { stdio: ['ignore', 'pipe', 'pipe'] });
|
|
145
|
+
if (!result.error && result.status === 0) {
|
|
146
|
+
const npmPath = result.stdout.toString().trim();
|
|
146
147
|
if (npmPath.length > 0)
|
|
147
148
|
paths.push(npmPath);
|
|
148
149
|
}
|
|
@@ -150,24 +151,6 @@ const getGlobalNodeModulesPaths = () => {
|
|
|
150
151
|
catch (e) {
|
|
151
152
|
log.debug(`npm root -g failed: ${toErrorMessage(e)}`);
|
|
152
153
|
}
|
|
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
|
-
}
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
catch (e) {
|
|
168
|
-
log.debug(`bun pm -g bin failed: ${toErrorMessage(e)}`);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
154
|
setCachedGlobalPaths(paths);
|
|
172
155
|
return paths;
|
|
173
156
|
};
|
|
@@ -177,7 +160,7 @@ const getGlobalNodeModulesPaths = () => {
|
|
|
177
160
|
*/
|
|
178
161
|
const hasOpentabsField = async (dir) => {
|
|
179
162
|
try {
|
|
180
|
-
const raw = (await
|
|
163
|
+
const raw = JSON.parse(await readFile(join(dir, 'package.json'), 'utf-8'));
|
|
181
164
|
return typeof raw.opentabs === 'object' && raw.opentabs !== null && !Array.isArray(raw.opentabs);
|
|
182
165
|
}
|
|
183
166
|
catch (e) {
|
|
@@ -239,15 +222,15 @@ const scanGlobalDir = async (globalDir) => {
|
|
|
239
222
|
/**
|
|
240
223
|
* Discover globally installed npm plugin packages.
|
|
241
224
|
*
|
|
242
|
-
* Scans global
|
|
243
|
-
*
|
|
244
|
-
*
|
|
225
|
+
* Scans the global npm node_modules directory for packages matching the
|
|
226
|
+
* opentabs-plugin-* naming convention. Each match is validated by checking
|
|
227
|
+
* for a package.json with an `opentabs` field.
|
|
245
228
|
*
|
|
246
229
|
* Returns an array of absolute directory paths for discovered plugins,
|
|
247
230
|
* plus any non-fatal errors encountered during scanning.
|
|
248
231
|
*/
|
|
249
232
|
const discoverGlobalNpmPlugins = async () => {
|
|
250
|
-
if (
|
|
233
|
+
if (process.env['OPENTABS_SKIP_NPM_DISCOVERY'] === '1') {
|
|
251
234
|
log.info('Skipping npm auto-discovery (OPENTABS_SKIP_NPM_DISCOVERY=1)');
|
|
252
235
|
return { dirs: [], errors: [] };
|
|
253
236
|
}
|