@opentabs-dev/mcp-server 0.0.34 → 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 (124) hide show
  1. package/dist/adapter-files.d.ts +1 -1
  2. package/dist/adapter-files.d.ts.map +1 -1
  3. package/dist/adapter-files.js +14 -7
  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 +11 -16
  49. package/dist/config.js.map +1 -1
  50. package/dist/dev-proxy.d.ts +12 -0
  51. package/dist/dev-proxy.d.ts.map +1 -0
  52. package/dist/dev-proxy.js +227 -0
  53. package/dist/dev-proxy.js.map +1 -0
  54. package/dist/discovery.d.ts.map +1 -1
  55. package/dist/discovery.js +6 -1
  56. package/dist/discovery.js.map +1 -1
  57. package/dist/extension-handlers.d.ts +1 -1
  58. package/dist/extension-handlers.d.ts.map +1 -1
  59. package/dist/extension-handlers.js +2 -2
  60. package/dist/extension-handlers.js.map +1 -1
  61. package/dist/extension-protocol.d.ts +4 -2
  62. package/dist/extension-protocol.d.ts.map +1 -1
  63. package/dist/extension-protocol.js +16 -15
  64. package/dist/extension-protocol.js.map +1 -1
  65. package/dist/file-watcher.d.ts +1 -1
  66. package/dist/file-watcher.d.ts.map +1 -1
  67. package/dist/file-watcher.js +25 -7
  68. package/dist/file-watcher.js.map +1 -1
  69. package/dist/http-routes.d.ts +1 -1
  70. package/dist/http-routes.d.ts.map +1 -1
  71. package/dist/http-routes.js +8 -4
  72. package/dist/http-routes.js.map +1 -1
  73. package/dist/index.d.ts +12 -22
  74. package/dist/index.d.ts.map +1 -1
  75. package/dist/index.js +20 -54
  76. package/dist/index.js.map +1 -1
  77. package/dist/loader.d.ts.map +1 -1
  78. package/dist/loader.js +12 -10
  79. package/dist/loader.js.map +1 -1
  80. package/dist/log-buffer.d.ts +3 -1
  81. package/dist/log-buffer.d.ts.map +1 -1
  82. package/dist/log-buffer.js +12 -3
  83. package/dist/log-buffer.js.map +1 -1
  84. package/dist/logger.js +1 -1
  85. package/dist/logger.js.map +1 -1
  86. package/dist/mcp-setup.d.ts +1 -1
  87. package/dist/mcp-setup.js +2 -2
  88. package/dist/mcp-tool-dispatch.d.ts +14 -1
  89. package/dist/mcp-tool-dispatch.d.ts.map +1 -1
  90. package/dist/mcp-tool-dispatch.js +4 -2
  91. package/dist/mcp-tool-dispatch.js.map +1 -1
  92. package/dist/permissions.d.ts.map +1 -1
  93. package/dist/permissions.js +5 -3
  94. package/dist/permissions.js.map +1 -1
  95. package/dist/plugin-management.d.ts +1 -1
  96. package/dist/plugin-management.d.ts.map +1 -1
  97. package/dist/plugin-management.js +41 -23
  98. package/dist/plugin-management.js.map +1 -1
  99. package/dist/reload.d.ts +6 -7
  100. package/dist/reload.d.ts.map +1 -1
  101. package/dist/reload.js +43 -15
  102. package/dist/reload.js.map +1 -1
  103. package/dist/resolver.d.ts +3 -3
  104. package/dist/resolver.d.ts.map +1 -1
  105. package/dist/resolver.js +7 -25
  106. package/dist/resolver.js.map +1 -1
  107. package/dist/sanitize-error.d.ts.map +1 -1
  108. package/dist/sanitize-error.js +10 -6
  109. package/dist/sanitize-error.js.map +1 -1
  110. package/dist/server-node.d.ts +9 -13
  111. package/dist/server-node.d.ts.map +1 -1
  112. package/dist/server-node.js +47 -18
  113. package/dist/server-node.js.map +1 -1
  114. package/dist/shutdown.d.ts +7 -6
  115. package/dist/shutdown.d.ts.map +1 -1
  116. package/dist/shutdown.js +13 -9
  117. package/dist/shutdown.js.map +1 -1
  118. package/dist/state.d.ts +1 -1
  119. package/dist/state.js +1 -1
  120. package/dist/version-check.d.ts +6 -4
  121. package/dist/version-check.d.ts.map +1 -1
  122. package/dist/version-check.js +42 -13
  123. package/dist/version-check.js.map +1 -1
  124. package/package.json +6 -7
package/dist/resolver.js CHANGED
@@ -9,7 +9,7 @@
9
9
  * directories for packages matching the opentabs-plugin-* naming convention.
10
10
  */
11
11
  import { log } from './logger.js';
12
- import { ok, err, isBun, PLUGIN_PREFIX, platformExec, toErrorMessage } from '@opentabs-dev/shared';
12
+ import { ok, err, PLUGIN_PREFIX, platformExec, toErrorMessage } from '@opentabs-dev/shared';
13
13
  import { spawnSync } from 'node:child_process';
14
14
  import { readFile, readdir, realpath, stat } from 'node:fs/promises';
15
15
  import { createRequire } from 'node:module';
@@ -77,7 +77,7 @@ const require = createRequire(import.meta.url);
77
77
  /**
78
78
  * Resolve an npm package specifier to the directory containing its package.json.
79
79
  * Uses require.resolve to locate the package's package.json, then returns
80
- * the containing directory. Works in both Node.js and Bun.
80
+ * the containing directory.
81
81
  */
82
82
  const resolveNpmPackage = (specifier) => {
83
83
  try {
@@ -130,8 +130,8 @@ const setCachedGlobalPaths = (paths) => {
130
130
  globalThis[GLOBAL_PATHS_KEY] = paths;
131
131
  };
132
132
  /**
133
- * Get global node_modules directories from npm (and bun when running under Bun).
134
- * 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
135
135
  * per process lifetime.
136
136
  */
137
137
  const getGlobalNodeModulesPaths = () => {
@@ -151,24 +151,6 @@ const getGlobalNodeModulesPaths = () => {
151
151
  catch (e) {
152
152
  log.debug(`npm root -g failed: ${toErrorMessage(e)}`);
153
153
  }
154
- // bun global node_modules (only when running under Bun — normal Node.js users
155
- // install plugins via npm, so bun's global directory is irrelevant)
156
- if (isBun) {
157
- try {
158
- const result = spawnSync(platformExec('bun'), ['pm', '-g', 'bin'], { stdio: ['ignore', 'pipe', 'pipe'] });
159
- if (!result.error && result.status === 0) {
160
- const bunBinPath = result.stdout.toString().trim();
161
- if (bunBinPath.length > 0) {
162
- const bunNodeModules = join(dirname(bunBinPath), 'node_modules');
163
- if (!paths.includes(bunNodeModules))
164
- paths.push(bunNodeModules);
165
- }
166
- }
167
- }
168
- catch (e) {
169
- log.debug(`bun pm -g bin failed: ${toErrorMessage(e)}`);
170
- }
171
- }
172
154
  setCachedGlobalPaths(paths);
173
155
  return paths;
174
156
  };
@@ -240,9 +222,9 @@ const scanGlobalDir = async (globalDir) => {
240
222
  /**
241
223
  * Discover globally installed npm plugin packages.
242
224
  *
243
- * Scans global node_modules directories (npm, and bun when available) for packages
244
- * matching the opentabs-plugin-* naming convention. Each match is validated
245
- * 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.
246
228
  *
247
229
  * Returns an array of absolute directory paths for discovered plugins,
248
230
  * plus any non-fatal errors encountered during scanning.
@@ -1 +1 @@
1
- {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,GAAG,EAAE,aAAa,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAGxD;;;;GAIG;AACH,MAAM,eAAe,GAAG,GAAa,EAAE,CAAC,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;AAE7E;;;GAGG;AACH,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAAmB,EAAE;IAC3D,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,mBAAmB,GAAG,KAAK,EAAE,YAAoB,EAAoB,EAAE;IAC3E,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;IACnC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC;IAEhE,2EAA2E;IAC3E,MAAM,QAAQ,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;IAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,GAAG,CAAC,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC;AACrF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,WAAW,GAAG,CAAC,SAAiB,EAAW,EAAE,CACjD,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;IAC1B,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;IAC3B,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;IAC3B,SAAS,CAAC,UAAU,CAAC,MAAM,CAAC;IAC5B,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;IACzB,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;IAC1B,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC;IAC3B,iBAAiB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAEpC;;;;GAIG;AACH,MAAM,gBAAgB,GAAG,CAAC,SAAiB,EAAE,SAAiB,EAAU,EAAE;IACxE,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9D,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,CAAC;IACD,OAAO,OAAO,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAE/C;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,CAAC,SAAiB,EAA0B,EAAE;IACtE,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,SAAS,eAAe,EAAE,EAAE,KAAK,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC1F,OAAO,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;IAChD,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,MAAM,iBAAiB,GAAG,KAAK,EAAE,SAAiB,EAAE,SAAiB,EAAmC,EAAE;IACxG,IAAI,WAAW,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAE5D,IAAI,CAAC,CAAC,MAAM,mBAAmB,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAC/C,OAAO,GAAG,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,2DAA2D;QAC3D,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC;YACvC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACzB,OAAO,GAAG,CAAC,4BAA4B,YAAY,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,GAAG,CAAC,mBAAmB,YAAY,mDAAmD,CAAC,CAAC;QACjG,CAAC;QAED,OAAO,EAAE,CAAC,YAAY,CAAC,CAAC;IAC1B,CAAC;IAED,OAAO,iBAAiB,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC,CAAC;AAEF,gFAAgF;AAChF,MAAM,gBAAgB,GAAG,2BAAoC,CAAC;AAE9D,mGAAmG;AACnG,MAAM,oBAAoB,GAAG,GAAoB,EAAE,CAC/C,UAAsC,CAAC,gBAAgB,CAAiC,IAAI,IAAI,CAAC;AAErG,MAAM,oBAAoB,GAAG,CAAC,KAAsB,EAAQ,EAAE;IAC3D,UAAsC,CAAC,gBAAgB,CAAC,GAAG,KAAK,CAAC;AACpE,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,yBAAyB,GAAG,GAAa,EAAE;IAC/C,MAAM,MAAM,GAAG,oBAAoB,EAAE,CAAC;IACtC,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAEnC,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,0BAA0B;IAC1B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,SAAS,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QACrG,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC;YAChD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC;gBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,uBAAuB,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACxD,CAAC;IAED,oBAAoB,CAAC,KAAK,CAAC,CAAC;IAC5B,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAW,EAAoB,EAAE;IAC/D,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAA4B,CAAC;QACtG,OAAO,OAAO,GAAG,CAAC,QAAQ,KAAK,QAAQ,IAAI,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IACnG,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,kCAAkC,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC/F,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAqB,EAAE;IACnE,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,OAAiB,CAAC;IACtB,IAAI,CAAC;QACH,OAAO,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IACrC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,GAAG,CAAC,KAAK,CAAC,gDAAgD,SAAS,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QAC7F,OAAO,KAAK,CAAC;IACf,CAAC;IAED,6DAA6D;IAC7D,MAAM,cAAc,GAAoB,EAAE,CAAC;IAC3C,MAAM,aAAa,GAAoB,EAAE,CAAC;IAE1C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,IAAI,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACxC,cAAc,CAAC,IAAI,CACjB,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;gBACtC,IAAI,KAAK;oBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC,CAAC,CACH,CAAC;QACJ,CAAC;aAAM,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,kEAAkE;YAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YACxC,aAAa,CAAC,IAAI,CAChB,OAAO,CAAC,QAAQ,CAAC;iBACd,IAAI,CAAC,KAAK,EAAC,YAAY,EAAC,EAAE;gBACzB,MAAM,WAAW,GAAoB,EAAE,CAAC;gBACxC,KAAK,MAAM,UAAU,IAAI,YAAY,EAAE,CAAC;oBACtC,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;wBACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;wBAC5C,WAAW,CAAC,IAAI,CACd,gBAAgB,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;4BACtC,IAAI,KAAK;gCAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;wBAClC,CAAC,CAAC,CACH,CAAC;oBACJ,CAAC;gBACH,CAAC;gBACD,MAAM,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,CAAU,EAAE,EAAE;gBACpB,GAAG,CAAC,KAAK,CAAC,mCAAmC,QAAQ,KAAK,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjF,CAAC,CAAC,CACL,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,cAAc,EAAE,GAAG,aAAa,CAAC,CAAC,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,wBAAwB,GAAG,KAAK,IAAmD,EAAE;IACzF,IAAI,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC,KAAK,GAAG,EAAE,CAAC;QACvD,GAAG,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC;QACxE,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;IAClC,CAAC;IAED,MAAM,WAAW,GAAG,yBAAyB,EAAE,CAAC;IAChD,MAAM,MAAM,GAAa,EAAE,CAAC;IAE5B,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC7B,GAAG,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QAC7E,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,6CAA6C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAEhF,MAAM,OAAO,GAAa,EAAE,CAAC;IAC7B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,SAAS,IAAI,WAAW,EAAE,CAAC;QACpC,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;YAC5C,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;gBACvB,kFAAkF;gBAClF,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;oBACd,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACpB,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,kBAAkB,SAAS,KAAK,GAAG,EAAE,CAAC,CAAC;QACrD,CAAC;IACH,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,mBAAmB,OAAO,CAAC,MAAM,yBAAyB,CAAC,CAAC;IACrE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC;AACnC,CAAC,CAAC;AAEF,mDAAmD;AACnD,MAAM,qBAAqB,GAAG,GAAS,EAAE;IACvC,oBAAoB,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,OAAO,EAAE,wBAAwB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-error.d.ts","sourceRoot":"","sources":["../src/sanitize-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,QAAA,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,MAkB/C,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"sanitize-error.d.ts","sourceRoot":"","sources":["../src/sanitize-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,QAAA,MAAM,oBAAoB,GAAI,SAAS,MAAM,KAAG,MAsB/C,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -6,14 +6,18 @@
6
6
  const MAX_LENGTH = 500;
7
7
  const sanitizeErrorMessage = (message) => {
8
8
  let sanitized = message
9
+ // Full URLs with protocol — must run before path regexes: the Windows path
10
+ // regex matches "[a-z]:/" which would match the "s:/" in "https://" or the
11
+ // "p:/" in "http://", and the Unix path regex would match the path portion,
12
+ // both leaving a partial URL like "htt[PATH]" instead of "[URL]"
13
+ .replace(/https?:\/\/[^\s,;)}\]]+/gi, '[URL]')
9
14
  // Windows absolute paths: C:\path\to\file or C:/path/to/file
10
15
  .replace(/[a-z]:[/\\][^\s,;)}\]]+/gi, '[PATH]')
11
- // Unix absolute paths: /path/to/file (at least 2 segments to avoid false positives like "/")
12
- .replace(/\/[a-z0-9._-]+(?:\/[a-z0-9._-]+)+/gi, '[PATH]')
13
- // Full URLs with protocol
14
- .replace(/https?:\/\/[^\s,;)}\]]+/gi, '[URL]')
15
- // localhost with port
16
- .replace(/localhost:\d+/gi, '[LOCALHOST]')
16
+ // Unix absolute paths: /path/to/file first segment must start with a letter to avoid
17
+ // false positives on numeric segments like "1/2" (fractions/ratios)
18
+ .replace(/\/[a-z][a-z0-9._-]*(?:\/[a-z0-9._-]+)*/gi, '[PATH]')
19
+ // localhost with optional port
20
+ .replace(/localhost(?::\d+)?/gi, '[LOCALHOST]')
17
21
  // IPv4 addresses
18
22
  .replace(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/g, '[IP]');
19
23
  if (sanitized.length > MAX_LENGTH) {
@@ -1 +1 @@
1
- {"version":3,"file":"sanitize-error.js","sourceRoot":"","sources":["../src/sanitize-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAU,EAAE;IACvD,IAAI,SAAS,GAAG,OAAO;QACrB,6DAA6D;SAC5D,OAAO,CAAC,2BAA2B,EAAE,QAAQ,CAAC;QAC/C,6FAA6F;SAC5F,OAAO,CAAC,qCAAqC,EAAE,QAAQ,CAAC;QACzD,0BAA0B;SACzB,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC;QAC9C,sBAAsB;SACrB,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC;QAC1C,iBAAiB;SAChB,OAAO,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;IAE1D,IAAI,SAAS,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAClC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IACzD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"sanitize-error.js","sourceRoot":"","sources":["../src/sanitize-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,UAAU,GAAG,GAAG,CAAC;AAEvB,MAAM,oBAAoB,GAAG,CAAC,OAAe,EAAU,EAAE;IACvD,IAAI,SAAS,GAAG,OAAO;QACrB,2EAA2E;QAC3E,2EAA2E;QAC3E,4EAA4E;QAC5E,iEAAiE;SAChE,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC;QAC9C,6DAA6D;SAC5D,OAAO,CAAC,2BAA2B,EAAE,QAAQ,CAAC;QAC/C,uFAAuF;QACvF,oEAAoE;SACnE,OAAO,CAAC,0CAA0C,EAAE,QAAQ,CAAC;QAC9D,+BAA+B;SAC9B,OAAO,CAAC,sBAAsB,EAAE,aAAa,CAAC;QAC/C,iBAAiB;SAChB,OAAO,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;IAE1D,IAAI,SAAS,CAAC,MAAM,GAAG,UAAU,EAAE,CAAC;QAClC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC;IACzD,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,8 +1,7 @@
1
1
  /**
2
- * Node.js HTTP + WebSocket server adapter.
2
+ * Node.js HTTP + WebSocket server.
3
3
  *
4
- * Provides the same interface as the Bun.serve() delegate shell but uses
5
- * node:http and the ws package. Converts between Node.js IncomingMessage /
4
+ * Uses node:http and the ws package. Converts between Node.js IncomingMessage /
6
5
  * ServerResponse and the Web Standard Request / Response objects that the
7
6
  * route handlers expect.
8
7
  *
@@ -10,7 +9,7 @@
10
9
  */
11
10
  import type { ServerAdapter } from './http-routes.js';
12
11
  import type { WsHandle } from '@opentabs-dev/shared';
13
- /** Configuration mirroring the subset of Bun.serve() options used by index.ts */
12
+ /** Configuration for the Node.js HTTP + WebSocket server */
14
13
  interface NodeServerOptions {
15
14
  hostname: string;
16
15
  port: number;
@@ -21,7 +20,7 @@ interface NodeServerOptions {
21
20
  close: (ws: WsHandle) => void;
22
21
  };
23
22
  }
24
- /** Return type matching the subset of Bun.serve() return used by index.ts */
23
+ /** Return type for the Node.js server */
25
24
  interface NodeServer {
26
25
  port: number;
27
26
  stop: () => void;
@@ -30,14 +29,11 @@ interface NodeServer {
30
29
  * Create a Node.js HTTP + WebSocket server that presents the ServerAdapter
31
30
  * interface to the MCP server route handlers.
32
31
  *
33
- * The tricky part is WebSocket upgrades. Bun.serve() handles upgrades inline
34
- * in the fetch handler `server.upgrade(req)` completes the handshake and
35
- * returns a boolean. Node.js + ws handle upgrades via the 'upgrade' event on
36
- * the HTTP server, which is separate from normal request handling.
37
- *
38
- * Strategy: The 'upgrade' event constructs a Web Request, calls the fetch
39
- * handler (which calls `adapter.upgrade()`), and if upgrade was requested,
40
- * completes it via `wss.handleUpgrade()`.
32
+ * WebSocket upgrades are handled via the 'upgrade' event on the HTTP server,
33
+ * which is separate from normal request handling. The 'upgrade' event
34
+ * constructs a Web Request, calls the fetch handler (which calls
35
+ * `adapter.upgrade()`), and if upgrade was requested, completes it via
36
+ * `wss.handleUpgrade()`.
41
37
  */
42
38
  declare const createNodeServer: (options: NodeServerOptions) => Promise<NodeServer>;
43
39
  export type { NodeServer, NodeServerOptions };
@@ -1 +1 @@
1
- {"version":3,"file":"server-node.d.ts","sourceRoot":"","sources":["../src/server-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAMrD,iFAAiF;AACjF,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC9E,SAAS,EAAE;QACT,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC7B,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC;QAC5E,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;KAC/B,CAAC;CACH;AAED,6EAA6E;AAC7E,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AAgLD;;;;;;;;;;;;GAYG;AACH,QAAA,MAAM,gBAAgB,GAAI,SAAS,iBAAiB,KAAG,OAAO,CAAC,UAAU,CA4ErE,CAAC;AAEL,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"server-node.d.ts","sourceRoot":"","sources":["../src/server-node.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAiBrD,4DAA4D;AAC5D,UAAU,iBAAiB;IACzB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC,CAAC;IAC9E,SAAS,EAAE;QACT,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;QAC7B,OAAO,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,KAAK,IAAI,CAAC;QAC5E,KAAK,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,IAAI,CAAC;KAC/B,CAAC;CACH;AAED,yCAAyC;AACzC,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,IAAI,CAAC;CAClB;AA8LD;;;;;;;;;GASG;AACH,QAAA,MAAM,gBAAgB,GAAI,SAAS,iBAAiB,KAAG,OAAO,CAAC,UAAU,CAsFrE,CAAC;AAEL,YAAY,EAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,8 +1,7 @@
1
1
  /**
2
- * Node.js HTTP + WebSocket server adapter.
2
+ * Node.js HTTP + WebSocket server.
3
3
  *
4
- * Provides the same interface as the Bun.serve() delegate shell but uses
5
- * node:http and the ws package. Converts between Node.js IncomingMessage /
4
+ * Uses node:http and the ws package. Converts between Node.js IncomingMessage /
6
5
  * ServerResponse and the Web Standard Request / Response objects that the
7
6
  * route handlers expect.
8
7
  *
@@ -12,6 +11,15 @@ import { log } from './logger.js';
12
11
  import { WebSocketServer } from 'ws';
13
12
  import { createServer } from 'node:http';
14
13
  import { Readable } from 'node:stream';
14
+ /** Maximum HTTP request body size (10 MB, matching the WebSocket maxPayload) */
15
+ const MAX_BODY_SIZE = 10 * 1024 * 1024;
16
+ /** Thrown by collectBody when the incoming body exceeds MAX_BODY_SIZE */
17
+ class BodyTooLargeError extends Error {
18
+ constructor() {
19
+ super(`Request body exceeds ${MAX_BODY_SIZE.toString()} byte limit`);
20
+ this.name = 'BodyTooLargeError';
21
+ }
22
+ }
15
23
  /** Send a Web Response through a Node.js ServerResponse */
16
24
  const sendResponse = (webResponse, res) => {
17
25
  res.writeHead(webResponse.status, Object.fromEntries(webResponse.headers));
@@ -58,17 +66,24 @@ const toWebRequest = (req, body) => {
58
66
  body: hasBody && body ? new Uint8Array(body) : undefined,
59
67
  };
60
68
  // Node.js 20+ requires duplex: 'half' for requests with a body.
61
- // This property is not in bun-types' RequestInit, but this file only
62
- // runs under Node.js.
63
69
  if (hasBody) {
64
70
  init['duplex'] = 'half';
65
71
  }
66
72
  return new Request(url, init);
67
73
  };
68
- /** Collect the full request body from an IncomingMessage */
74
+ /** Collect the full request body from an IncomingMessage, up to MAX_BODY_SIZE bytes */
69
75
  const collectBody = (req) => new Promise((resolve, reject) => {
70
76
  const chunks = [];
71
- req.on('data', (chunk) => chunks.push(chunk));
77
+ let totalSize = 0;
78
+ req.on('data', (chunk) => {
79
+ totalSize += chunk.length;
80
+ if (totalSize > MAX_BODY_SIZE) {
81
+ req.destroy();
82
+ reject(new BodyTooLargeError());
83
+ return;
84
+ }
85
+ chunks.push(chunk);
86
+ });
72
87
  req.on('end', () => resolve(Buffer.concat(chunks)));
73
88
  req.on('error', reject);
74
89
  });
@@ -91,6 +106,13 @@ const handleHttpRequest = (options, adapter, req, res) => {
91
106
  }
92
107
  }
93
108
  catch (err) {
109
+ if (err instanceof BodyTooLargeError) {
110
+ if (!res.headersSent) {
111
+ res.writeHead(413);
112
+ res.end('Payload Too Large');
113
+ }
114
+ return;
115
+ }
94
116
  log.error('Unhandled error in HTTP handler:', err);
95
117
  if (!res.headersSent) {
96
118
  res.writeHead(500);
@@ -163,24 +185,31 @@ const handleWsUpgradeEvent = (options, adapter, wss, getUpgradeContext, setUpgra
163
185
  * Create a Node.js HTTP + WebSocket server that presents the ServerAdapter
164
186
  * interface to the MCP server route handlers.
165
187
  *
166
- * The tricky part is WebSocket upgrades. Bun.serve() handles upgrades inline
167
- * in the fetch handler `server.upgrade(req)` completes the handshake and
168
- * returns a boolean. Node.js + ws handle upgrades via the 'upgrade' event on
169
- * the HTTP server, which is separate from normal request handling.
170
- *
171
- * Strategy: The 'upgrade' event constructs a Web Request, calls the fetch
172
- * handler (which calls `adapter.upgrade()`), and if upgrade was requested,
173
- * completes it via `wss.handleUpgrade()`.
188
+ * WebSocket upgrades are handled via the 'upgrade' event on the HTTP server,
189
+ * which is separate from normal request handling. The 'upgrade' event
190
+ * constructs a Web Request, calls the fetch handler (which calls
191
+ * `adapter.upgrade()`), and if upgrade was requested, completes it via
192
+ * `wss.handleUpgrade()`.
174
193
  */
175
194
  const createNodeServer = (options) => new Promise((resolveServer, rejectServer) => {
176
- const wss = new WebSocketServer({ noServer: true });
195
+ const wss = new WebSocketServer({
196
+ noServer: true,
197
+ /** Matches MAX_MESSAGE_SIZE in extension-protocol.ts and MAX_BODY_SIZE above */
198
+ maxPayload: MAX_BODY_SIZE,
199
+ });
177
200
  // The ws library emits 'headers' with the raw header lines just before
178
201
  // sending the 101 response. We use this to inject custom headers
179
- // (e.g., Sec-WebSocket-Protocol) from the route handler's upgrade call.
202
+ // from the route handler's upgrade call.
203
+ //
204
+ // Sec-WebSocket-Protocol is intentionally excluded here: ws selects the
205
+ // protocol automatically (first value from the client's requested list),
206
+ // so injecting it again would produce a duplicate header.
180
207
  let pendingUpgradeHeaders = {};
181
208
  wss.on('headers', (headers) => {
182
209
  for (const [key, value] of Object.entries(pendingUpgradeHeaders)) {
183
- headers.push(`${key}: ${value}`);
210
+ if (key.toLowerCase() !== 'sec-websocket-protocol') {
211
+ headers.push(`${key}: ${value}`);
212
+ }
184
213
  }
185
214
  pendingUpgradeHeaders = {};
186
215
  });
@@ -1 +1 @@
1
- {"version":3,"file":"server-node.js","sourceRoot":"","sources":["../src/server-node.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server-node.js","sourceRoot":"","sources":["../src/server-node.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,14 @@
3
3
  *
4
4
  * Installs SIGTERM and SIGINT handlers that perform orderly cleanup:
5
5
  * 1. Reject all pending dispatches immediately (fast error for MCP clients)
6
- * 2. Stop periodic session sweep timer
7
- * 3. Stop file watchers (release OS handles)
8
- * 4. Close extension WebSocket cleanly (so offscreen document reconnects)
9
- * 5. Exit the process
6
+ * 2. Reject all pending confirmations (mirrors WebSocket disconnect behavior)
7
+ * 3. Stop periodic session sweep timer
8
+ * 4. Stop file watchers (release OS handles)
9
+ * 5. Close extension WebSocket cleanly (so offscreen document reconnects)
10
+ * 6. Exit the process
10
11
  *
11
- * The handler is installed once on first load. Under bun --hot, the signal
12
- * handlers are not re-registered (they survive across module re-evaluations
12
+ * The handler is installed once on first load. Signal handlers are not
13
+ * re-registered on hot reload (they survive across module re-evaluations
13
14
  * because they reference state via the getter closure, not a stale capture).
14
15
  *
15
16
  * A globalThis flag prevents double-registration if index.ts is re-evaluated.
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C;;;;;;;GAOG;AACH,QAAA,MAAM,uBAAuB,GAAI,UAAU,MAAM,WAAW,KAAG,IA2C9D,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"shutdown.d.ts","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAI9C;;;;;;;GAOG;AACH,QAAA,MAAM,uBAAuB,GAAI,UAAU,MAAM,WAAW,KAAG,IA8C9D,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
package/dist/shutdown.js CHANGED
@@ -3,17 +3,19 @@
3
3
  *
4
4
  * Installs SIGTERM and SIGINT handlers that perform orderly cleanup:
5
5
  * 1. Reject all pending dispatches immediately (fast error for MCP clients)
6
- * 2. Stop periodic session sweep timer
7
- * 3. Stop file watchers (release OS handles)
8
- * 4. Close extension WebSocket cleanly (so offscreen document reconnects)
9
- * 5. Exit the process
6
+ * 2. Reject all pending confirmations (mirrors WebSocket disconnect behavior)
7
+ * 3. Stop periodic session sweep timer
8
+ * 4. Stop file watchers (release OS handles)
9
+ * 5. Close extension WebSocket cleanly (so offscreen document reconnects)
10
+ * 6. Exit the process
10
11
  *
11
- * The handler is installed once on first load. Under bun --hot, the signal
12
- * handlers are not re-registered (they survive across module re-evaluations
12
+ * The handler is installed once on first load. Signal handlers are not
13
+ * re-registered on hot reload (they survive across module re-evaluations
13
14
  * because they reference state via the getter closure, not a stale capture).
14
15
  *
15
16
  * A globalThis flag prevents double-registration if index.ts is re-evaluated.
16
17
  */
18
+ import { rejectAllPendingConfirmations } from './extension-handlers.js';
17
19
  import { stopFileWatching } from './file-watcher.js';
18
20
  import { log } from './logger.js';
19
21
  const SHUTDOWN_INSTALLED_KEY = '__opentabs_shutdown_installed__';
@@ -41,14 +43,16 @@ const installShutdownHandlers = (getState) => {
41
43
  pending.reject(new Error('Server shutting down'));
42
44
  }
43
45
  }
44
- // 2. Stop periodic session sweep timer
46
+ // 2. Reject all pending confirmations (mirrors WebSocket disconnect behavior)
47
+ rejectAllPendingConfirmations(state);
48
+ // 3. Stop periodic session sweep timer
45
49
  if (state.sweepTimerId !== null) {
46
50
  clearInterval(state.sweepTimerId);
47
51
  state.sweepTimerId = null;
48
52
  }
49
- // 3. Stop file watchers (release OS handles)
53
+ // 4. Stop file watchers (release OS handles)
50
54
  stopFileWatching(state);
51
- // 4. Close extension WebSocket cleanly
55
+ // 5. Close extension WebSocket cleanly
52
56
  if (state.extensionWs) {
53
57
  try {
54
58
  state.extensionWs.close(1001, 'Server shutting down');
@@ -1 +1 @@
1
- {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,MAAM,sBAAsB,GAAG,iCAA0C,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAG,CAAC,QAA2B,EAAQ,EAAE;IACpE,IAAK,UAAsC,CAAC,sBAAsB,CAAC;QAAE,OAAO;IAC3E,UAAsC,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;IAEvE,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE;QACxC,GAAG,CAAC,IAAI,CAAC,YAAY,MAAM,6BAA6B,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QAEzB,kEAAkE;QAClE,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,iBAAiB,CAAC,IAAI,uBAAuB,CAAC,CAAC;YAC3E,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACpD,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,uCAAuC;QACvC,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,6CAA6C;QAC7C,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAExB,uCAAuC;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
1
+ {"version":3,"file":"shutdown.js","sourceRoot":"","sources":["../src/shutdown.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAGlC,MAAM,sBAAsB,GAAG,iCAA0C,CAAC;AAE1E;;;;;;;GAOG;AACH,MAAM,uBAAuB,GAAG,CAAC,QAA2B,EAAQ,EAAE;IACpE,IAAK,UAAsC,CAAC,sBAAsB,CAAC;QAAE,OAAO;IAC3E,UAAsC,CAAC,sBAAsB,CAAC,GAAG,IAAI,CAAC;IAEvE,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAQ,EAAE;QACxC,GAAG,CAAC,IAAI,CAAC,YAAY,MAAM,6BAA6B,CAAC,CAAC;QAC1D,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;QAEzB,kEAAkE;QAClE,IAAI,KAAK,CAAC,iBAAiB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrC,GAAG,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,iBAAiB,CAAC,IAAI,uBAAuB,CAAC,CAAC;YAC3E,KAAK,MAAM,CAAC,EAAE,EAAE,OAAO,CAAC,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBACpD,KAAK,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;gBACnC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;gBAC9B,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;QAED,8EAA8E;QAC9E,6BAA6B,CAAC,KAAK,CAAC,CAAC;QAErC,uCAAuC;QACvC,IAAI,KAAK,CAAC,YAAY,KAAK,IAAI,EAAE,CAAC;YAChC,aAAa,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;YAClC,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC;QAC5B,CAAC;QAED,6CAA6C;QAC7C,gBAAgB,CAAC,KAAK,CAAC,CAAC;QAExB,uCAAuC;QACvC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,IAAI,CAAC;gBACH,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,IAAI,EAAE,sBAAsB,CAAC,CAAC;YACxD,CAAC;YAAC,MAAM,CAAC;gBACP,iBAAiB;YACnB,CAAC;YACD,KAAK,CAAC,WAAW,GAAG,IAAI,CAAC;QAC3B,CAAC;QAED,GAAG,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAC9B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC;IAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;AACjD,CAAC,CAAC;AAEF,OAAO,EAAE,uBAAuB,EAAE,CAAC"}
package/dist/state.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Fields that must survive hot reload (file watcher handles, timers) are stored
6
6
  * here rather than at module scope, because module-level variables reset to
7
- * fresh empty instances on each bun --hot re-evaluation.
7
+ * fresh empty instances on each hot reload re-evaluation.
8
8
  */
9
9
  import type { BrowserToolDefinition } from './browser-tools/definition.js';
10
10
  import type { PermissionsConfig } from './config.js';
package/dist/state.js CHANGED
@@ -4,7 +4,7 @@
4
4
  *
5
5
  * Fields that must survive hot reload (file watcher handles, timers) are stored
6
6
  * here rather than at module scope, because module-level variables reset to
7
- * fresh empty instances on each bun --hot re-evaluation.
7
+ * fresh empty instances on each hot reload re-evaluation.
8
8
  */
9
9
  import { appendAuditEntryToDisk } from './audit-disk.js';
10
10
  /** Timeout for tool dispatch and browser command requests (ms) */
@@ -10,11 +10,12 @@ import type { ServerState } from './state.js';
10
10
  * Query the latest published version of a package via `npm view`.
11
11
  * Delegates auth to npm itself, which reads ~/.npmrc for tokens —
12
12
  * this handles private/scoped packages without manual token management.
13
+ * Uses async `spawn` to avoid blocking the event loop.
13
14
  *
14
15
  * @param packageName - npm package name (e.g., 'opentabs-plugin-slack' or '@scope/opentabs-plugin-foo')
15
16
  * @returns The latest version string, or null on failure
16
17
  */
17
- export declare const fetchLatestVersion: (packageName: string) => string | null;
18
+ export declare const fetchLatestVersion: (packageName: string) => Promise<string | null>;
18
19
  /**
19
20
  * Compare two semver version strings (major.minor.patch only).
20
21
  * Strips prerelease suffixes (e.g., "1.0.0-beta.1" → [1, 0, 0]) and leading 'v'
@@ -27,10 +28,11 @@ export declare const fetchLatestVersion: (packageName: string) => string | null;
27
28
  export declare const isNewer: (current: string, latest: string) => boolean;
28
29
  /**
29
30
  * Check all npm-installed plugins for newer versions on the registry.
30
- * Runs `npm view` for each plugin sequentially, logs outdated entries,
31
- * and stores results in `state.outdatedPlugins`. Skips local plugins.
31
+ * Runs `npm view` queries concurrently via Promise.allSettled, logs
32
+ * outdated entries, and stores results in `state.outdatedPlugins`.
33
+ * Skips local plugins.
32
34
  *
33
35
  * @param state - Server state containing the plugin registry and outdatedPlugins target
34
36
  */
35
- export declare const checkForUpdates: (state: ServerState) => void;
37
+ export declare const checkForUpdates: (state: ServerState) => Promise<void>;
36
38
  //# sourceMappingURL=version-check.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAK9D;;;;;;;GAOG;AACH,eAAO,MAAM,kBAAkB,GAAI,aAAa,MAAM,KAAG,MAAM,GAAG,IAajE,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,OAqBzD,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,OAAO,WAAW,KAAG,IAwDpD,CAAC"}
1
+ {"version":3,"file":"version-check.d.ts","sourceRoot":"","sources":["../src/version-check.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH,OAAO,KAAK,EAAE,WAAW,EAAkB,MAAM,YAAY,CAAC;AAQ9D;;;;;;;;GAQG;AACH,eAAO,MAAM,kBAAkB,GAAU,aAAa,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAyCnF,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,OAAO,GAAI,SAAS,MAAM,EAAE,QAAQ,MAAM,KAAG,OAqBzD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,eAAe,GAAU,OAAO,WAAW,KAAG,OAAO,CAAC,IAAI,CA4DtE,CAAC"}
@@ -6,24 +6,51 @@
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';
10
- import { spawnSync } from 'node:child_process';
9
+ import { platformExec, toErrorMessage } from '@opentabs-dev/shared';
10
+ import { spawn } from 'node:child_process';
11
+ /** Timeout for a single `npm view` query (10 seconds). */
12
+ const NPM_VIEW_TIMEOUT_MS = 10_000;
11
13
  /**
12
14
  * Query the latest published version of a package via `npm view`.
13
15
  * Delegates auth to npm itself, which reads ~/.npmrc for tokens —
14
16
  * this handles private/scoped packages without manual token management.
17
+ * Uses async `spawn` to avoid blocking the event loop.
15
18
  *
16
19
  * @param packageName - npm package name (e.g., 'opentabs-plugin-slack' or '@scope/opentabs-plugin-foo')
17
20
  * @returns The latest version string, or null on failure
18
21
  */
19
- export const fetchLatestVersion = (packageName) => {
22
+ export const fetchLatestVersion = async (packageName) => {
20
23
  try {
21
- const raw = spawnSync('npm', ['view', packageName, 'version'], { stdio: ['ignore', 'pipe', 'pipe'] });
22
- if (raw.error || raw.status !== 0) {
23
- log.debug(`npm view failed for ${packageName}: ${raw.stderr.toString().trim()}`);
24
+ const child = spawn(platformExec('npm'), ['view', packageName, 'version'], {
25
+ stdio: ['ignore', 'pipe', 'pipe'],
26
+ });
27
+ const stdoutChunks = [];
28
+ const stderrChunks = [];
29
+ child.stdout.on('data', (chunk) => stdoutChunks.push(chunk));
30
+ child.stderr.on('data', (chunk) => stderrChunks.push(chunk));
31
+ const result = await new Promise((resolve, reject) => {
32
+ const timer = setTimeout(() => {
33
+ child.kill();
34
+ reject(new Error(`npm view timed out for ${packageName}`));
35
+ }, NPM_VIEW_TIMEOUT_MS);
36
+ child.on('error', err => {
37
+ clearTimeout(timer);
38
+ reject(err);
39
+ });
40
+ child.on('close', code => {
41
+ clearTimeout(timer);
42
+ resolve({
43
+ exitCode: code ?? 1,
44
+ stdout: Buffer.concat(stdoutChunks).toString(),
45
+ stderr: Buffer.concat(stderrChunks).toString(),
46
+ });
47
+ });
48
+ });
49
+ if (result.exitCode !== 0) {
50
+ log.debug(`npm view failed for ${packageName}: ${result.stderr.trim()}`);
24
51
  return null;
25
52
  }
26
- const version = raw.stdout.toString().trim();
53
+ const version = result.stdout.trim();
27
54
  return version || null;
28
55
  }
29
56
  catch (e) {
@@ -63,21 +90,22 @@ export const isNewer = (current, latest) => {
63
90
  };
64
91
  /**
65
92
  * Check all npm-installed plugins for newer versions on the registry.
66
- * Runs `npm view` for each plugin sequentially, logs outdated entries,
67
- * and stores results in `state.outdatedPlugins`. Skips local plugins.
93
+ * Runs `npm view` queries concurrently via Promise.allSettled, logs
94
+ * outdated entries, and stores results in `state.outdatedPlugins`.
95
+ * Skips local plugins.
68
96
  *
69
97
  * @param state - Server state containing the plugin registry and outdatedPlugins target
70
98
  */
71
- export const checkForUpdates = (state) => {
99
+ export const checkForUpdates = async (state) => {
72
100
  const npmPlugins = Array.from(state.registry.plugins.values()).filter(p => p.trustTier !== 'local' && p.npmPackageName);
73
101
  if (npmPlugins.length === 0)
74
102
  return;
75
103
  log.info(`Checking ${npmPlugins.length} npm plugin(s) for updates...`);
76
- const results = npmPlugins.map(plugin => {
104
+ const settled = await Promise.allSettled(npmPlugins.map(async (plugin) => {
77
105
  const pkgName = plugin.npmPackageName;
78
106
  if (!pkgName)
79
107
  return { kind: 'unreachable' };
80
- const latest = fetchLatestVersion(pkgName);
108
+ const latest = await fetchLatestVersion(pkgName);
81
109
  if (!latest)
82
110
  return { kind: 'unreachable' };
83
111
  if (isNewer(plugin.version, latest)) {
@@ -92,7 +120,8 @@ export const checkForUpdates = (state) => {
92
120
  };
93
121
  }
94
122
  return { kind: 'up-to-date' };
95
- });
123
+ }));
124
+ const results = settled.map(s => (s.status === 'fulfilled' ? s.value : { kind: 'unreachable' }));
96
125
  const outdated = [];
97
126
  let unreachableCount = 0;
98
127
  for (const result of results) {
@@ -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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"}