@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.
Files changed (141) hide show
  1. package/dist/adapter-files.d.ts +10 -7
  2. package/dist/adapter-files.d.ts.map +1 -1
  3. package/dist/adapter-files.js +48 -20
  4. package/dist/adapter-files.js.map +1 -1
  5. package/dist/audit-disk.js +2 -2
  6. package/dist/audit-disk.js.map +1 -1
  7. package/dist/browser-tool-names.d.ts.map +1 -1
  8. package/dist/browser-tool-names.js +2 -0
  9. package/dist/browser-tool-names.js.map +1 -1
  10. package/dist/browser-tools/analyze-site/detect-apis.d.ts +16 -4
  11. package/dist/browser-tools/analyze-site/detect-apis.d.ts.map +1 -1
  12. package/dist/browser-tools/analyze-site/detect-apis.js +51 -8
  13. package/dist/browser-tools/analyze-site/detect-apis.js.map +1 -1
  14. package/dist/browser-tools/analyze-site/detect-auth.d.ts.map +1 -1
  15. package/dist/browser-tools/analyze-site/detect-auth.js +10 -5
  16. package/dist/browser-tools/analyze-site/detect-auth.js.map +1 -1
  17. package/dist/browser-tools/analyze-site/index.d.ts +37 -8
  18. package/dist/browser-tools/analyze-site/index.d.ts.map +1 -1
  19. package/dist/browser-tools/analyze-site/index.js +67 -29
  20. package/dist/browser-tools/analyze-site/index.js.map +1 -1
  21. package/dist/browser-tools/analyze-site.d.ts.map +1 -1
  22. package/dist/browser-tools/analyze-site.js +9 -8
  23. package/dist/browser-tools/analyze-site.js.map +1 -1
  24. package/dist/browser-tools/enable-network-capture.d.ts +1 -0
  25. package/dist/browser-tools/enable-network-capture.d.ts.map +1 -1
  26. package/dist/browser-tools/enable-network-capture.js +10 -2
  27. package/dist/browser-tools/enable-network-capture.js.map +1 -1
  28. package/dist/browser-tools/execute-script.js +1 -1
  29. package/dist/browser-tools/execute-script.js.map +1 -1
  30. package/dist/browser-tools/export-har.d.ts +15 -0
  31. package/dist/browser-tools/export-har.d.ts.map +1 -0
  32. package/dist/browser-tools/export-har.js +187 -0
  33. package/dist/browser-tools/export-har.js.map +1 -0
  34. package/dist/browser-tools/extension-get-logs.d.ts +3 -3
  35. package/dist/browser-tools/get-console-logs.d.ts +4 -4
  36. package/dist/browser-tools/get-websocket-frames.d.ts +10 -0
  37. package/dist/browser-tools/get-websocket-frames.d.ts.map +1 -0
  38. package/dist/browser-tools/get-websocket-frames.js +27 -0
  39. package/dist/browser-tools/get-websocket-frames.js.map +1 -0
  40. package/dist/browser-tools/index.d.ts.map +1 -1
  41. package/dist/browser-tools/index.js +4 -0
  42. package/dist/browser-tools/index.js.map +1 -1
  43. package/dist/browser-tools/reload-extension.d.ts.map +1 -1
  44. package/dist/browser-tools/reload-extension.js +1 -3
  45. package/dist/browser-tools/reload-extension.js.map +1 -1
  46. package/dist/config.d.ts +1 -1
  47. package/dist/config.d.ts.map +1 -1
  48. package/dist/config.js +17 -22
  49. package/dist/config.js.map +1 -1
  50. package/dist/dev-mode.d.ts.map +1 -1
  51. package/dist/dev-mode.js +1 -2
  52. package/dist/dev-mode.js.map +1 -1
  53. package/dist/dev-proxy.d.ts +12 -0
  54. package/dist/dev-proxy.d.ts.map +1 -0
  55. package/dist/dev-proxy.js +227 -0
  56. package/dist/dev-proxy.js.map +1 -0
  57. package/dist/discovery.d.ts.map +1 -1
  58. package/dist/discovery.js +6 -1
  59. package/dist/discovery.js.map +1 -1
  60. package/dist/extension-handlers.d.ts +1 -1
  61. package/dist/extension-handlers.d.ts.map +1 -1
  62. package/dist/extension-handlers.js +2 -2
  63. package/dist/extension-handlers.js.map +1 -1
  64. package/dist/extension-install.d.ts.map +1 -1
  65. package/dist/extension-install.js +6 -5
  66. package/dist/extension-install.js.map +1 -1
  67. package/dist/extension-protocol.d.ts +4 -2
  68. package/dist/extension-protocol.d.ts.map +1 -1
  69. package/dist/extension-protocol.js +25 -17
  70. package/dist/extension-protocol.js.map +1 -1
  71. package/dist/file-watcher.d.ts +1 -1
  72. package/dist/file-watcher.d.ts.map +1 -1
  73. package/dist/file-watcher.js +29 -10
  74. package/dist/file-watcher.js.map +1 -1
  75. package/dist/http-routes.d.ts +1 -1
  76. package/dist/http-routes.d.ts.map +1 -1
  77. package/dist/http-routes.js +8 -4
  78. package/dist/http-routes.js.map +1 -1
  79. package/dist/index.d.ts +12 -22
  80. package/dist/index.d.ts.map +1 -1
  81. package/dist/index.js +21 -55
  82. package/dist/index.js.map +1 -1
  83. package/dist/loader.d.ts.map +1 -1
  84. package/dist/loader.js +20 -17
  85. package/dist/loader.js.map +1 -1
  86. package/dist/log-buffer.d.ts +3 -1
  87. package/dist/log-buffer.d.ts.map +1 -1
  88. package/dist/log-buffer.js +12 -3
  89. package/dist/log-buffer.js.map +1 -1
  90. package/dist/logger.d.ts.map +1 -1
  91. package/dist/logger.js +2 -3
  92. package/dist/logger.js.map +1 -1
  93. package/dist/mcp-setup.d.ts +1 -1
  94. package/dist/mcp-setup.js +2 -2
  95. package/dist/mcp-tool-dispatch.d.ts +14 -1
  96. package/dist/mcp-tool-dispatch.d.ts.map +1 -1
  97. package/dist/mcp-tool-dispatch.js +4 -2
  98. package/dist/mcp-tool-dispatch.js.map +1 -1
  99. package/dist/permissions.d.ts.map +1 -1
  100. package/dist/permissions.js +5 -3
  101. package/dist/permissions.js.map +1 -1
  102. package/dist/plugin-management.d.ts +1 -1
  103. package/dist/plugin-management.d.ts.map +1 -1
  104. package/dist/plugin-management.js +53 -13
  105. package/dist/plugin-management.js.map +1 -1
  106. package/dist/reload.d.ts +6 -7
  107. package/dist/reload.d.ts.map +1 -1
  108. package/dist/reload.js +43 -15
  109. package/dist/reload.js.map +1 -1
  110. package/dist/resolver.d.ts +3 -3
  111. package/dist/resolver.d.ts.map +1 -1
  112. package/dist/resolver.js +15 -32
  113. package/dist/resolver.js.map +1 -1
  114. package/dist/sanitize-error.d.ts.map +1 -1
  115. package/dist/sanitize-error.js +10 -6
  116. package/dist/sanitize-error.js.map +1 -1
  117. package/dist/sdk-version.js +2 -2
  118. package/dist/sdk-version.js.map +1 -1
  119. package/dist/server-node.d.ts +9 -13
  120. package/dist/server-node.d.ts.map +1 -1
  121. package/dist/server-node.js +47 -18
  122. package/dist/server-node.js.map +1 -1
  123. package/dist/shutdown.d.ts +7 -6
  124. package/dist/shutdown.d.ts.map +1 -1
  125. package/dist/shutdown.js +13 -9
  126. package/dist/shutdown.js.map +1 -1
  127. package/dist/skip-confirmation.d.ts.map +1 -1
  128. package/dist/skip-confirmation.js +1 -2
  129. package/dist/skip-confirmation.js.map +1 -1
  130. package/dist/skip-npm-discovery.d.ts.map +1 -1
  131. package/dist/skip-npm-discovery.js +1 -2
  132. package/dist/skip-npm-discovery.js.map +1 -1
  133. package/dist/state.d.ts +1 -1
  134. package/dist/state.js +1 -1
  135. package/dist/version-check.d.ts +6 -4
  136. package/dist/version-check.d.ts.map +1 -1
  137. package/dist/version-check.js +39 -9
  138. package/dist/version-check.js.map +1 -1
  139. package/dist/version.js +2 -2
  140. package/dist/version.js.map +1 -1
  141. package/package.json +6 -7
@@ -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',
@@ -1 +1 @@
1
- {"version":3,"file":"permissions.js","sourceRoot":"","sources":["../src/permissions.ts"],"names":[],"mappings":"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"}
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,EAOzB,MAAM,sBAAsB,CAAC;AAI9B,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;AAgED;;;;;;GAMG;AACH,QAAA,MAAM,gBAAgB,GAAI,QAAQ,MAAM,KAAG,kBAAkB,EAyB5D,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;AA8FF;;;;;;;;;;;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"}
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, readFile, readJsonFile, resolvePluginPackageCandidates, spawnProcess, spawnProcessSync, platformExec, } from '@opentabs-dev/shared';
11
- import { mkdir } from 'node:fs/promises';
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 spawnProcess result.
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 = spawnProcess(platformExec('npm'), [command, '-g', packageName]);
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 result = spawnProcessSync(platformExec('npm'), ['search', searchTerm, '--json']);
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
- removed = true;
284
+ found = true;
245
285
  continue;
246
286
  }
247
287
  // Check if the package.json name matches
248
288
  try {
249
- const pkg = (await readJsonFile(join(resolvedPath, 'package.json')));
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
- removed = true;
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 (removed) {
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 (Bun.serve() delegate,
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 (e.g., bun --hot fires twice in quick succession), this
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 without bun --hot.
40
- * Called from the POST /reload HTTP endpoint. Performs the same config/plugin
41
- * rediscovery as performReload but without the bun --hot-specific module
42
- * re-evaluation aspects (browser tools refresh, session handler re-registration).
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
  */
@@ -1 +1 @@
1
- {"version":3,"file":"reload.d.ts","sourceRoot":"","sources":["../src/reload.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAsBH,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;AAgND;;;;;;;;;;;;;;;GAeG;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"}
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 (Bun.serve() delegate,
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 bun --hot re-evaluations.
30
- * If a reload is in progress when bun --hot triggers, the new module
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
- // Re-read the auth secret so secret rotation takes effect without a restart.
155
- const previousSecret = state.wsSecret;
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('Reload failed, keeping previous state:', err);
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 (e.g., bun --hot fires twice in quick succession), this
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 (bun --hot re-evaluates
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: synchronous via `npm view`, best-effort on every reload
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 without bun --hot.
305
- * Called from the POST /reload HTTP endpoint. Performs the same config/plugin
306
- * rediscovery as performReload but without the bun --hot-specific module
307
- * re-evaluation aspects (browser tools refresh, session handler re-registration).
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
  */
@@ -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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"}
@@ -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 node_modules directories (npm, and bun when available) for packages
39
- * matching the opentabs-plugin-* naming convention. Each match is validated
40
- * by checking for a package.json with an `opentabs` field.
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.
@@ -1 +1 @@
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"}
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, getEnv, isBun, PLUGIN_PREFIX, platformExec, readJsonFile, spawnProcessSync, toErrorMessage, } from '@opentabs-dev/shared';
13
- import { readdir, realpath, stat } from 'node:fs/promises';
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. Works in both Node.js and Bun.
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 (and bun when running under Bun).
133
- * Results are cached on globalThis so the shell commands run at most once
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 = spawnProcessSync(platformExec('npm'), ['root', '-g']);
144
- if (result.exitCode === 0) {
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 readJsonFile(join(dir, 'package.json')));
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 node_modules directories (npm, and bun when available) for packages
243
- * matching the opentabs-plugin-* naming convention. Each match is validated
244
- * by checking for a package.json with an `opentabs` field.
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 (getEnv('OPENTABS_SKIP_NPM_DISCOVERY') === '1') {
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
  }