@opentabs-dev/mcp-server 0.0.19

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 (309) hide show
  1. package/dist/audit-disk.d.ts +23 -0
  2. package/dist/audit-disk.d.ts.map +1 -0
  3. package/dist/audit-disk.js +74 -0
  4. package/dist/audit-disk.js.map +1 -0
  5. package/dist/browser-tools/analyze-site/detect-apis.d.ts +36 -0
  6. package/dist/browser-tools/analyze-site/detect-apis.d.ts.map +1 -0
  7. package/dist/browser-tools/analyze-site/detect-apis.js +383 -0
  8. package/dist/browser-tools/analyze-site/detect-apis.js.map +1 -0
  9. package/dist/browser-tools/analyze-site/detect-auth.d.ts +72 -0
  10. package/dist/browser-tools/analyze-site/detect-auth.d.ts.map +1 -0
  11. package/dist/browser-tools/analyze-site/detect-auth.js +384 -0
  12. package/dist/browser-tools/analyze-site/detect-auth.js.map +1 -0
  13. package/dist/browser-tools/analyze-site/detect-dom.d.ts +65 -0
  14. package/dist/browser-tools/analyze-site/detect-dom.d.ts.map +1 -0
  15. package/dist/browser-tools/analyze-site/detect-dom.js +45 -0
  16. package/dist/browser-tools/analyze-site/detect-dom.js.map +1 -0
  17. package/dist/browser-tools/analyze-site/detect-framework.d.ts +48 -0
  18. package/dist/browser-tools/analyze-site/detect-framework.d.ts.map +1 -0
  19. package/dist/browser-tools/analyze-site/detect-framework.js +31 -0
  20. package/dist/browser-tools/analyze-site/detect-framework.js.map +1 -0
  21. package/dist/browser-tools/analyze-site/detect-globals.d.ts +41 -0
  22. package/dist/browser-tools/analyze-site/detect-globals.d.ts.map +1 -0
  23. package/dist/browser-tools/analyze-site/detect-globals.js +42 -0
  24. package/dist/browser-tools/analyze-site/detect-globals.js.map +1 -0
  25. package/dist/browser-tools/analyze-site/detect-storage.d.ts +39 -0
  26. package/dist/browser-tools/analyze-site/detect-storage.d.ts.map +1 -0
  27. package/dist/browser-tools/analyze-site/detect-storage.js +34 -0
  28. package/dist/browser-tools/analyze-site/detect-storage.js.map +1 -0
  29. package/dist/browser-tools/analyze-site/index.d.ts +52 -0
  30. package/dist/browser-tools/analyze-site/index.d.ts.map +1 -0
  31. package/dist/browser-tools/analyze-site/index.js +827 -0
  32. package/dist/browser-tools/analyze-site/index.js.map +1 -0
  33. package/dist/browser-tools/analyze-site.d.ts +17 -0
  34. package/dist/browser-tools/analyze-site.d.ts.map +1 -0
  35. package/dist/browser-tools/analyze-site.js +41 -0
  36. package/dist/browser-tools/analyze-site.js.map +1 -0
  37. package/dist/browser-tools/clear-console-logs.d.ts +9 -0
  38. package/dist/browser-tools/clear-console-logs.d.ts.map +1 -0
  39. package/dist/browser-tools/clear-console-logs.js +16 -0
  40. package/dist/browser-tools/clear-console-logs.js.map +1 -0
  41. package/dist/browser-tools/click-element.d.ts +10 -0
  42. package/dist/browser-tools/click-element.d.ts.map +1 -0
  43. package/dist/browser-tools/click-element.js +22 -0
  44. package/dist/browser-tools/click-element.js.map +1 -0
  45. package/dist/browser-tools/close-tab.d.ts +9 -0
  46. package/dist/browser-tools/close-tab.d.ts.map +1 -0
  47. package/dist/browser-tools/close-tab.js +16 -0
  48. package/dist/browser-tools/close-tab.js.map +1 -0
  49. package/dist/browser-tools/definition.d.ts +26 -0
  50. package/dist/browser-tools/definition.d.ts.map +1 -0
  51. package/dist/browser-tools/definition.js +16 -0
  52. package/dist/browser-tools/definition.js.map +1 -0
  53. package/dist/browser-tools/delete-cookies.d.ts +10 -0
  54. package/dist/browser-tools/delete-cookies.d.ts.map +1 -0
  55. package/dist/browser-tools/delete-cookies.js +19 -0
  56. package/dist/browser-tools/delete-cookies.js.map +1 -0
  57. package/dist/browser-tools/disable-network-capture.d.ts +9 -0
  58. package/dist/browser-tools/disable-network-capture.d.ts.map +1 -0
  59. package/dist/browser-tools/disable-network-capture.js +16 -0
  60. package/dist/browser-tools/disable-network-capture.js.map +1 -0
  61. package/dist/browser-tools/enable-network-capture.d.ts +12 -0
  62. package/dist/browser-tools/enable-network-capture.d.ts.map +1 -0
  63. package/dist/browser-tools/enable-network-capture.js +42 -0
  64. package/dist/browser-tools/enable-network-capture.js.map +1 -0
  65. package/dist/browser-tools/execute-script.d.ts +19 -0
  66. package/dist/browser-tools/execute-script.d.ts.map +1 -0
  67. package/dist/browser-tools/execute-script.js +51 -0
  68. package/dist/browser-tools/execute-script.js.map +1 -0
  69. package/dist/browser-tools/extension-check-adapter.d.ts +11 -0
  70. package/dist/browser-tools/extension-check-adapter.d.ts.map +1 -0
  71. package/dist/browser-tools/extension-check-adapter.js +22 -0
  72. package/dist/browser-tools/extension-check-adapter.js.map +1 -0
  73. package/dist/browser-tools/extension-force-reconnect.d.ts +9 -0
  74. package/dist/browser-tools/extension-force-reconnect.d.ts.map +1 -0
  75. package/dist/browser-tools/extension-force-reconnect.js +19 -0
  76. package/dist/browser-tools/extension-force-reconnect.js.map +1 -0
  77. package/dist/browser-tools/extension-get-logs.d.ts +24 -0
  78. package/dist/browser-tools/extension-get-logs.d.ts.map +1 -0
  79. package/dist/browser-tools/extension-get-logs.js +34 -0
  80. package/dist/browser-tools/extension-get-logs.js.map +1 -0
  81. package/dist/browser-tools/extension-get-side-panel.d.ts +8 -0
  82. package/dist/browser-tools/extension-get-side-panel.d.ts.map +1 -0
  83. package/dist/browser-tools/extension-get-side-panel.js +17 -0
  84. package/dist/browser-tools/extension-get-side-panel.js.map +1 -0
  85. package/dist/browser-tools/extension-get-state.d.ts +9 -0
  86. package/dist/browser-tools/extension-get-state.d.ts.map +1 -0
  87. package/dist/browser-tools/extension-get-state.js +19 -0
  88. package/dist/browser-tools/extension-get-state.js.map +1 -0
  89. package/dist/browser-tools/focus-tab.d.ts +9 -0
  90. package/dist/browser-tools/focus-tab.d.ts.map +1 -0
  91. package/dist/browser-tools/focus-tab.js +17 -0
  92. package/dist/browser-tools/focus-tab.js.map +1 -0
  93. package/dist/browser-tools/get-console-logs.d.ts +18 -0
  94. package/dist/browser-tools/get-console-logs.d.ts.map +1 -0
  95. package/dist/browser-tools/get-console-logs.js +30 -0
  96. package/dist/browser-tools/get-console-logs.js.map +1 -0
  97. package/dist/browser-tools/get-cookies.d.ts +10 -0
  98. package/dist/browser-tools/get-cookies.d.ts.map +1 -0
  99. package/dist/browser-tools/get-cookies.js +23 -0
  100. package/dist/browser-tools/get-cookies.js.map +1 -0
  101. package/dist/browser-tools/get-network-requests.d.ts +10 -0
  102. package/dist/browser-tools/get-network-requests.d.ts.map +1 -0
  103. package/dist/browser-tools/get-network-requests.js +27 -0
  104. package/dist/browser-tools/get-network-requests.js.map +1 -0
  105. package/dist/browser-tools/get-page-html.d.ts +11 -0
  106. package/dist/browser-tools/get-page-html.d.ts.map +1 -0
  107. package/dist/browser-tools/get-page-html.js +32 -0
  108. package/dist/browser-tools/get-page-html.js.map +1 -0
  109. package/dist/browser-tools/get-resource-content.d.ts +11 -0
  110. package/dist/browser-tools/get-resource-content.d.ts.map +1 -0
  111. package/dist/browser-tools/get-resource-content.js +31 -0
  112. package/dist/browser-tools/get-resource-content.js.map +1 -0
  113. package/dist/browser-tools/get-storage.d.ts +14 -0
  114. package/dist/browser-tools/get-storage.d.ts.map +1 -0
  115. package/dist/browser-tools/get-storage.js +28 -0
  116. package/dist/browser-tools/get-storage.js.map +1 -0
  117. package/dist/browser-tools/get-tab-content.d.ts +11 -0
  118. package/dist/browser-tools/get-tab-content.d.ts.map +1 -0
  119. package/dist/browser-tools/get-tab-content.js +29 -0
  120. package/dist/browser-tools/get-tab-content.js.map +1 -0
  121. package/dist/browser-tools/get-tab-info.d.ts +9 -0
  122. package/dist/browser-tools/get-tab-info.d.ts.map +1 -0
  123. package/dist/browser-tools/get-tab-info.js +17 -0
  124. package/dist/browser-tools/get-tab-info.js.map +1 -0
  125. package/dist/browser-tools/handle-dialog.d.ts +14 -0
  126. package/dist/browser-tools/handle-dialog.d.ts.map +1 -0
  127. package/dist/browser-tools/handle-dialog.js +30 -0
  128. package/dist/browser-tools/handle-dialog.js.map +1 -0
  129. package/dist/browser-tools/hover-element.d.ts +11 -0
  130. package/dist/browser-tools/hover-element.d.ts.map +1 -0
  131. package/dist/browser-tools/hover-element.js +24 -0
  132. package/dist/browser-tools/hover-element.js.map +1 -0
  133. package/dist/browser-tools/index.d.ts +7 -0
  134. package/dist/browser-tools/index.d.ts.map +1 -0
  135. package/dist/browser-tools/index.js +81 -0
  136. package/dist/browser-tools/index.js.map +1 -0
  137. package/dist/browser-tools/list-resources.d.ts +10 -0
  138. package/dist/browser-tools/list-resources.d.ts.map +1 -0
  139. package/dist/browser-tools/list-resources.js +29 -0
  140. package/dist/browser-tools/list-resources.js.map +1 -0
  141. package/dist/browser-tools/list-tabs.d.ts +7 -0
  142. package/dist/browser-tools/list-tabs.d.ts.map +1 -0
  143. package/dist/browser-tools/list-tabs.js +16 -0
  144. package/dist/browser-tools/list-tabs.js.map +1 -0
  145. package/dist/browser-tools/navigate-tab.d.ts +10 -0
  146. package/dist/browser-tools/navigate-tab.d.ts.map +1 -0
  147. package/dist/browser-tools/navigate-tab.js +18 -0
  148. package/dist/browser-tools/navigate-tab.js.map +1 -0
  149. package/dist/browser-tools/open-tab.d.ts +9 -0
  150. package/dist/browser-tools/open-tab.d.ts.map +1 -0
  151. package/dist/browser-tools/open-tab.js +18 -0
  152. package/dist/browser-tools/open-tab.js.map +1 -0
  153. package/dist/browser-tools/press-key.d.ts +17 -0
  154. package/dist/browser-tools/press-key.d.ts.map +1 -0
  155. package/dist/browser-tools/press-key.js +43 -0
  156. package/dist/browser-tools/press-key.js.map +1 -0
  157. package/dist/browser-tools/query-elements.d.ts +12 -0
  158. package/dist/browser-tools/query-elements.d.ts.map +1 -0
  159. package/dist/browser-tools/query-elements.js +30 -0
  160. package/dist/browser-tools/query-elements.js.map +1 -0
  161. package/dist/browser-tools/reload-extension.d.ts +13 -0
  162. package/dist/browser-tools/reload-extension.d.ts.map +1 -0
  163. package/dist/browser-tools/reload-extension.js +35 -0
  164. package/dist/browser-tools/reload-extension.js.map +1 -0
  165. package/dist/browser-tools/screenshot-tab.d.ts +9 -0
  166. package/dist/browser-tools/screenshot-tab.d.ts.map +1 -0
  167. package/dist/browser-tools/screenshot-tab.js +22 -0
  168. package/dist/browser-tools/screenshot-tab.js.map +1 -0
  169. package/dist/browser-tools/scroll.d.ts +23 -0
  170. package/dist/browser-tools/scroll.d.ts.map +1 -0
  171. package/dist/browser-tools/scroll.js +56 -0
  172. package/dist/browser-tools/scroll.js.map +1 -0
  173. package/dist/browser-tools/select-option.d.ts +12 -0
  174. package/dist/browser-tools/select-option.d.ts.map +1 -0
  175. package/dist/browser-tools/select-option.js +25 -0
  176. package/dist/browser-tools/select-option.js.map +1 -0
  177. package/dist/browser-tools/set-cookie.d.ts +16 -0
  178. package/dist/browser-tools/set-cookie.d.ts.map +1 -0
  179. package/dist/browser-tools/set-cookie.js +42 -0
  180. package/dist/browser-tools/set-cookie.js.map +1 -0
  181. package/dist/browser-tools/type-text.d.ts +12 -0
  182. package/dist/browser-tools/type-text.d.ts.map +1 -0
  183. package/dist/browser-tools/type-text.js +25 -0
  184. package/dist/browser-tools/type-text.js.map +1 -0
  185. package/dist/browser-tools/url-validation.d.ts +13 -0
  186. package/dist/browser-tools/url-validation.d.ts.map +1 -0
  187. package/dist/browser-tools/url-validation.js +23 -0
  188. package/dist/browser-tools/url-validation.js.map +1 -0
  189. package/dist/browser-tools/wait-for-element.d.ts +12 -0
  190. package/dist/browser-tools/wait-for-element.d.ts.map +1 -0
  191. package/dist/browser-tools/wait-for-element.js +29 -0
  192. package/dist/browser-tools/wait-for-element.js.map +1 -0
  193. package/dist/config.d.ts +99 -0
  194. package/dist/config.d.ts.map +1 -0
  195. package/dist/config.js +344 -0
  196. package/dist/config.js.map +1 -0
  197. package/dist/dev-mode.d.ts +14 -0
  198. package/dist/dev-mode.d.ts.map +1 -0
  199. package/dist/dev-mode.js +15 -0
  200. package/dist/dev-mode.js.map +1 -0
  201. package/dist/discovery-legacy.d.ts +32 -0
  202. package/dist/discovery-legacy.d.ts.map +1 -0
  203. package/dist/discovery-legacy.js +415 -0
  204. package/dist/discovery-legacy.js.map +1 -0
  205. package/dist/discovery.d.ts +28 -0
  206. package/dist/discovery.d.ts.map +1 -0
  207. package/dist/discovery.js +97 -0
  208. package/dist/discovery.js.map +1 -0
  209. package/dist/extension-install.d.ts +27 -0
  210. package/dist/extension-install.d.ts.map +1 -0
  211. package/dist/extension-install.js +75 -0
  212. package/dist/extension-install.js.map +1 -0
  213. package/dist/extension-protocol.d.ts +130 -0
  214. package/dist/extension-protocol.d.ts.map +1 -0
  215. package/dist/extension-protocol.js +869 -0
  216. package/dist/extension-protocol.js.map +1 -0
  217. package/dist/file-watcher.d.ts +75 -0
  218. package/dist/file-watcher.d.ts.map +1 -0
  219. package/dist/file-watcher.js +616 -0
  220. package/dist/file-watcher.js.map +1 -0
  221. package/dist/http-routes.d.ts +88 -0
  222. package/dist/http-routes.d.ts.map +1 -0
  223. package/dist/http-routes.js +545 -0
  224. package/dist/http-routes.js.map +1 -0
  225. package/dist/index.d.ts +45 -0
  226. package/dist/index.d.ts.map +1 -0
  227. package/dist/index.js +187 -0
  228. package/dist/index.js.map +1 -0
  229. package/dist/loader.d.ts +100 -0
  230. package/dist/loader.d.ts.map +1 -0
  231. package/dist/loader.js +402 -0
  232. package/dist/loader.js.map +1 -0
  233. package/dist/log-buffer.d.ts +33 -0
  234. package/dist/log-buffer.d.ts.map +1 -0
  235. package/dist/log-buffer.js +64 -0
  236. package/dist/log-buffer.js.map +1 -0
  237. package/dist/logger.d.ts +34 -0
  238. package/dist/logger.d.ts.map +1 -0
  239. package/dist/logger.js +81 -0
  240. package/dist/logger.js.map +1 -0
  241. package/dist/manifest-schema.d.ts +14 -0
  242. package/dist/manifest-schema.d.ts.map +1 -0
  243. package/dist/manifest-schema.js +51 -0
  244. package/dist/manifest-schema.js.map +1 -0
  245. package/dist/mcp-setup.d.ts +131 -0
  246. package/dist/mcp-setup.d.ts.map +1 -0
  247. package/dist/mcp-setup.js +673 -0
  248. package/dist/mcp-setup.js.map +1 -0
  249. package/dist/permissions.d.ts +59 -0
  250. package/dist/permissions.d.ts.map +1 -0
  251. package/dist/permissions.js +141 -0
  252. package/dist/permissions.js.map +1 -0
  253. package/dist/registry.d.ts +78 -0
  254. package/dist/registry.d.ts.map +1 -0
  255. package/dist/registry.js +187 -0
  256. package/dist/registry.js.map +1 -0
  257. package/dist/reload.d.ts +52 -0
  258. package/dist/reload.d.ts.map +1 -0
  259. package/dist/reload.js +326 -0
  260. package/dist/reload.js.map +1 -0
  261. package/dist/resolver.d.ts +53 -0
  262. package/dist/resolver.d.ts.map +1 -0
  263. package/dist/resolver.js +272 -0
  264. package/dist/resolver.js.map +1 -0
  265. package/dist/sanitize-error.d.ts +8 -0
  266. package/dist/sanitize-error.d.ts.map +1 -0
  267. package/dist/sanitize-error.js +25 -0
  268. package/dist/sanitize-error.js.map +1 -0
  269. package/dist/sanitize-tool-output.d.ts +20 -0
  270. package/dist/sanitize-tool-output.d.ts.map +1 -0
  271. package/dist/sanitize-tool-output.js +52 -0
  272. package/dist/sanitize-tool-output.js.map +1 -0
  273. package/dist/sdk-version.d.ts +11 -0
  274. package/dist/sdk-version.d.ts.map +1 -0
  275. package/dist/sdk-version.js +23 -0
  276. package/dist/sdk-version.js.map +1 -0
  277. package/dist/shutdown.d.ts +28 -0
  278. package/dist/shutdown.d.ts.map +1 -0
  279. package/dist/shutdown.js +68 -0
  280. package/dist/shutdown.js.map +1 -0
  281. package/dist/skip-confirmation.d.ts +15 -0
  282. package/dist/skip-confirmation.d.ts.map +1 -0
  283. package/dist/skip-confirmation.js +16 -0
  284. package/dist/skip-confirmation.js.map +1 -0
  285. package/dist/skip-sanitization.d.ts +17 -0
  286. package/dist/skip-sanitization.d.ts.map +1 -0
  287. package/dist/skip-sanitization.js +18 -0
  288. package/dist/skip-sanitization.js.map +1 -0
  289. package/dist/skip-verification.d.ts +11 -0
  290. package/dist/skip-verification.d.ts.map +1 -0
  291. package/dist/skip-verification.js +12 -0
  292. package/dist/skip-verification.js.map +1 -0
  293. package/dist/state.d.ts +290 -0
  294. package/dist/state.d.ts.map +1 -0
  295. package/dist/state.js +111 -0
  296. package/dist/state.js.map +1 -0
  297. package/dist/verify-plugin.d.ts +53 -0
  298. package/dist/verify-plugin.d.ts.map +1 -0
  299. package/dist/verify-plugin.js +123 -0
  300. package/dist/verify-plugin.js.map +1 -0
  301. package/dist/version-check.d.ts +35 -0
  302. package/dist/version-check.d.ts.map +1 -0
  303. package/dist/version-check.js +111 -0
  304. package/dist/version-check.js.map +1 -0
  305. package/dist/version.d.ts +10 -0
  306. package/dist/version.d.ts.map +1 -0
  307. package/dist/version.js +22 -0
  308. package/dist/version.js.map +1 -0
  309. package/package.json +28 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolver.js","sourceRoot":"","sources":["../src/resolver.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Sanitize error messages before returning them to external clients.
3
+ * Strips absolute file paths, URLs, localhost references, and IP addresses
4
+ * to prevent leaking internal system details. Truncates to 500 characters.
5
+ */
6
+ declare const sanitizeErrorMessage: (message: string) => string;
7
+ export { sanitizeErrorMessage };
8
+ //# sourceMappingURL=sanitize-error.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,25 @@
1
+ /**
2
+ * Sanitize error messages before returning them to external clients.
3
+ * Strips absolute file paths, URLs, localhost references, and IP addresses
4
+ * to prevent leaking internal system details. Truncates to 500 characters.
5
+ */
6
+ const MAX_LENGTH = 500;
7
+ const sanitizeErrorMessage = (message) => {
8
+ let sanitized = message
9
+ // Windows absolute paths: C:\path\to\file or C:/path/to/file
10
+ .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]')
17
+ // IPv4 addresses
18
+ .replace(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/g, '[IP]');
19
+ if (sanitized.length > MAX_LENGTH) {
20
+ sanitized = sanitized.slice(0, MAX_LENGTH - 3) + '...';
21
+ }
22
+ return sanitized;
23
+ };
24
+ export { sanitizeErrorMessage };
25
+ //# sourceMappingURL=sanitize-error.js.map
@@ -0,0 +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"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Sanitize successful tool output before returning to MCP clients.
3
+ *
4
+ * Applies the same path, URL, localhost, and IP replacement patterns
5
+ * as sanitizeErrorMessage (from sanitize-error.ts) but operates
6
+ * recursively on all string values within an object tree. Numbers,
7
+ * booleans, nulls, and object keys are left untouched.
8
+ *
9
+ * This prevents internal system details (filesystem paths, local IP
10
+ * addresses) from leaking to AI agents in tool output. Error messages
11
+ * are sanitized separately by sanitizeErrorMessage and are not affected
12
+ * by the skipSanitization flag.
13
+ */
14
+ /**
15
+ * Recursively sanitize all string values within an object.
16
+ * Leaves numbers, booleans, nulls, and object keys unchanged.
17
+ */
18
+ declare const sanitizeToolOutput: (obj: unknown, depth?: number) => unknown;
19
+ export { sanitizeToolOutput };
20
+ //# sourceMappingURL=sanitize-tool-output.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-tool-output.d.ts","sourceRoot":"","sources":["../src/sanitize-tool-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAsBH;;;GAGG;AACH,QAAA,MAAM,kBAAkB,GAAI,KAAK,OAAO,EAAE,cAAS,KAAG,OAerD,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Sanitize successful tool output before returning to MCP clients.
3
+ *
4
+ * Applies the same path, URL, localhost, and IP replacement patterns
5
+ * as sanitizeErrorMessage (from sanitize-error.ts) but operates
6
+ * recursively on all string values within an object tree. Numbers,
7
+ * booleans, nulls, and object keys are left untouched.
8
+ *
9
+ * This prevents internal system details (filesystem paths, local IP
10
+ * addresses) from leaking to AI agents in tool output. Error messages
11
+ * are sanitized separately by sanitizeErrorMessage and are not affected
12
+ * by the skipSanitization flag.
13
+ */
14
+ const MAX_DEPTH = 50;
15
+ /**
16
+ * Sanitize a single string value using the same patterns as sanitizeErrorMessage.
17
+ * Does NOT truncate — tool output can be arbitrarily long (truncation is only
18
+ * for error messages where brevity matters).
19
+ */
20
+ const sanitizeString = (value) => value
21
+ // Windows absolute paths: C:\path\to\file or C:/path/to/file
22
+ .replace(/[a-z]:[/\\][^\s,;)}\]]+/gi, '[PATH]')
23
+ // Unix absolute paths: /path/to/file (at least 2 segments to avoid false positives like "/")
24
+ .replace(/\/[a-z0-9._-]+(?:\/[a-z0-9._-]+)+/gi, '[PATH]')
25
+ // Full URLs with protocol
26
+ .replace(/https?:\/\/[^\s,;)}\]]+/gi, '[URL]')
27
+ // localhost with port
28
+ .replace(/localhost:\d+/gi, '[LOCALHOST]')
29
+ // IPv4 addresses
30
+ .replace(/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/g, '[IP]');
31
+ /**
32
+ * Recursively sanitize all string values within an object.
33
+ * Leaves numbers, booleans, nulls, and object keys unchanged.
34
+ */
35
+ const sanitizeToolOutput = (obj, depth = 0) => {
36
+ if (depth > MAX_DEPTH)
37
+ return obj;
38
+ if (typeof obj === 'string')
39
+ return sanitizeString(obj);
40
+ if (obj === null || obj === undefined || typeof obj !== 'object')
41
+ return obj;
42
+ if (Array.isArray(obj)) {
43
+ return obj.map(item => sanitizeToolOutput(item, depth + 1));
44
+ }
45
+ const result = {};
46
+ for (const [key, value] of Object.entries(obj)) {
47
+ result[key] = sanitizeToolOutput(value, depth + 1);
48
+ }
49
+ return result;
50
+ };
51
+ export { sanitizeToolOutput };
52
+ //# sourceMappingURL=sanitize-tool-output.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sanitize-tool-output.js","sourceRoot":"","sources":["../src/sanitize-tool-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,SAAS,GAAG,EAAE,CAAC;AAErB;;;;GAIG;AACH,MAAM,cAAc,GAAG,CAAC,KAAa,EAAU,EAAE,CAC/C,KAAK;IACH,6DAA6D;KAC5D,OAAO,CAAC,2BAA2B,EAAE,QAAQ,CAAC;IAC/C,6FAA6F;KAC5F,OAAO,CAAC,qCAAqC,EAAE,QAAQ,CAAC;IACzD,0BAA0B;KACzB,OAAO,CAAC,2BAA2B,EAAE,OAAO,CAAC;IAC9C,sBAAsB;KACrB,OAAO,CAAC,iBAAiB,EAAE,aAAa,CAAC;IAC1C,iBAAiB;KAChB,OAAO,CAAC,qCAAqC,EAAE,MAAM,CAAC,CAAC;AAE5D;;;GAGG;AACH,MAAM,kBAAkB,GAAG,CAAC,GAAY,EAAE,KAAK,GAAG,CAAC,EAAW,EAAE;IAC9D,IAAI,KAAK,GAAG,SAAS;QAAE,OAAO,GAAG,CAAC;IAElC,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,cAAc,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,GAAG,CAAC;IAE7E,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,MAAM,MAAM,GAA4B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAA8B,CAAC,EAAE,CAAC;QAC1E,MAAM,CAAC,GAAG,CAAC,GAAG,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACrD,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,OAAO,EAAE,kBAAkB,EAAE,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * SDK version that the MCP server is built against.
3
+ *
4
+ * Reads the version from platform/plugin-sdk/package.json (resolved relative
5
+ * to this file's location in the monorepo). Used at plugin load time to check
6
+ * SDK compatibility: a plugin's sdkVersion (from its tools.json) must have a
7
+ * major.minor <= the server's SDK major.minor.
8
+ */
9
+ declare let sdkVersion: string;
10
+ export { sdkVersion };
11
+ //# sourceMappingURL=sdk-version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-version.d.ts","sourceRoot":"","sources":["../src/sdk-version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,QAAA,IAAI,UAAU,QAAU,CAAC;AAYzB,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * SDK version that the MCP server is built against.
3
+ *
4
+ * Reads the version from platform/plugin-sdk/package.json (resolved relative
5
+ * to this file's location in the monorepo). Used at plugin load time to check
6
+ * SDK compatibility: a plugin's sdkVersion (from its tools.json) must have a
7
+ * major.minor <= the server's SDK major.minor.
8
+ */
9
+ import { join, dirname } from 'node:path';
10
+ import { fileURLToPath } from 'node:url';
11
+ let sdkVersion = '0.0.0';
12
+ try {
13
+ const sdkPkgPath = join(dirname(fileURLToPath(import.meta.url)), '..', '..', 'plugin-sdk', 'package.json');
14
+ const pkgJson = await Bun.file(sdkPkgPath).json();
15
+ if (pkgJson !== null && typeof pkgJson === 'object' && 'version' in pkgJson && typeof pkgJson.version === 'string') {
16
+ sdkVersion = pkgJson.version;
17
+ }
18
+ }
19
+ catch {
20
+ // plugin-sdk package.json missing or unreadable — use fallback version
21
+ }
22
+ export { sdkVersion };
23
+ //# sourceMappingURL=sdk-version.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk-version.js","sourceRoot":"","sources":["../src/sdk-version.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,IAAI,UAAU,GAAG,OAAO,CAAC;AAEzB,IAAI,CAAC;IACH,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;IAC3G,MAAM,OAAO,GAAY,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAC;IAC3D,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,SAAS,IAAI,OAAO,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;QACnH,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC;IAC/B,CAAC;AACH,CAAC;AAAC,MAAM,CAAC;IACP,uEAAuE;AACzE,CAAC;AAED,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Graceful shutdown handler for the MCP server.
3
+ *
4
+ * Installs SIGTERM and SIGINT handlers that perform orderly cleanup:
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
10
+ *
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
13
+ * because they reference state via the getter closure, not a stale capture).
14
+ *
15
+ * A globalThis flag prevents double-registration if index.ts is re-evaluated.
16
+ */
17
+ import type { ServerState } from './state.js';
18
+ /**
19
+ * Install graceful shutdown handlers for SIGTERM and SIGINT.
20
+ * Safe to call on every module evaluation — only installs once per process.
21
+ *
22
+ * @param getState - Getter that returns the current ServerState. Using a getter
23
+ * instead of a direct reference ensures the handler always operates on the
24
+ * latest state after hot reloads.
25
+ */
26
+ declare const installShutdownHandlers: (getState: () => ServerState) => void;
27
+ export { installShutdownHandlers };
28
+ //# sourceMappingURL=shutdown.d.ts.map
@@ -0,0 +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"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Graceful shutdown handler for the MCP server.
3
+ *
4
+ * Installs SIGTERM and SIGINT handlers that perform orderly cleanup:
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
10
+ *
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
13
+ * because they reference state via the getter closure, not a stale capture).
14
+ *
15
+ * A globalThis flag prevents double-registration if index.ts is re-evaluated.
16
+ */
17
+ import { stopFileWatching } from './file-watcher.js';
18
+ import { log } from './logger.js';
19
+ const SHUTDOWN_INSTALLED_KEY = '__opentabs_shutdown_installed__';
20
+ /**
21
+ * Install graceful shutdown handlers for SIGTERM and SIGINT.
22
+ * Safe to call on every module evaluation — only installs once per process.
23
+ *
24
+ * @param getState - Getter that returns the current ServerState. Using a getter
25
+ * instead of a direct reference ensures the handler always operates on the
26
+ * latest state after hot reloads.
27
+ */
28
+ const installShutdownHandlers = (getState) => {
29
+ if (globalThis[SHUTDOWN_INSTALLED_KEY])
30
+ return;
31
+ globalThis[SHUTDOWN_INSTALLED_KEY] = true;
32
+ const shutdown = (signal) => {
33
+ log.info(`Received ${signal} — shutting down gracefully`);
34
+ const state = getState();
35
+ // 1. Reject all pending dispatches so MCP clients get fast errors
36
+ if (state.pendingDispatches.size > 0) {
37
+ log.info(`Rejecting ${state.pendingDispatches.size} pending dispatch(es)`);
38
+ for (const [id, pending] of state.pendingDispatches) {
39
+ state.pendingDispatches.delete(id);
40
+ clearTimeout(pending.timerId);
41
+ pending.reject(new Error('Server shutting down'));
42
+ }
43
+ }
44
+ // 2. Stop periodic session sweep timer
45
+ if (state.sweepTimerId !== null) {
46
+ clearInterval(state.sweepTimerId);
47
+ state.sweepTimerId = null;
48
+ }
49
+ // 3. Stop file watchers (release OS handles)
50
+ stopFileWatching(state);
51
+ // 4. Close extension WebSocket cleanly
52
+ if (state.extensionWs) {
53
+ try {
54
+ state.extensionWs.close(1001, 'Server shutting down');
55
+ }
56
+ catch {
57
+ // Already closed
58
+ }
59
+ state.extensionWs = null;
60
+ }
61
+ log.info('Shutdown complete');
62
+ process.exit(0);
63
+ };
64
+ process.on('SIGTERM', () => shutdown('SIGTERM'));
65
+ process.on('SIGINT', () => shutdown('SIGINT'));
66
+ };
67
+ export { installShutdownHandlers };
68
+ //# sourceMappingURL=shutdown.js.map
@@ -0,0 +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"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Confirmation bypass detection — determined once at startup.
3
+ *
4
+ * The --dangerously-skip-confirmation flag (or OPENTABS_SKIP_CONFIRMATION=1
5
+ * env var) bypasses all browser tool confirmation prompts. This is a
6
+ * dangerous option that disables human-in-the-loop safety for sensitive
7
+ * browser operations. It exists for CI/testing environments where no human
8
+ * is available to approve tool calls.
9
+ *
10
+ * The config.json `skipConfirmation` field is checked separately at reload
11
+ * time and combined with this flag in state.skipConfirmation.
12
+ */
13
+ /** Whether the CLI flag or env var requests confirmation bypass */
14
+ export declare const isCliSkipConfirmation: () => boolean;
15
+ //# sourceMappingURL=skip-confirmation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-confirmation.d.ts","sourceRoot":"","sources":["../src/skip-confirmation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAKH,mEAAmE;AACnE,eAAO,MAAM,qBAAqB,QAAO,OAA8B,CAAC"}
@@ -0,0 +1,16 @@
1
+ /**
2
+ * Confirmation bypass detection — determined once at startup.
3
+ *
4
+ * The --dangerously-skip-confirmation flag (or OPENTABS_SKIP_CONFIRMATION=1
5
+ * env var) bypasses all browser tool confirmation prompts. This is a
6
+ * dangerous option that disables human-in-the-loop safety for sensitive
7
+ * browser operations. It exists for CI/testing environments where no human
8
+ * is available to approve tool calls.
9
+ *
10
+ * The config.json `skipConfirmation` field is checked separately at reload
11
+ * time and combined with this flag in state.skipConfirmation.
12
+ */
13
+ const cliSkipConfirmation = Bun.argv.includes('--dangerously-skip-confirmation') || Bun.env.OPENTABS_SKIP_CONFIRMATION === '1';
14
+ /** Whether the CLI flag or env var requests confirmation bypass */
15
+ export const isCliSkipConfirmation = () => cliSkipConfirmation;
16
+ //# sourceMappingURL=skip-confirmation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-confirmation.js","sourceRoot":"","sources":["../src/skip-confirmation.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,MAAM,mBAAmB,GACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,GAAG,CAAC;AAErG,mEAAmE;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAY,EAAE,CAAC,mBAAmB,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Output sanitization bypass detection — determined once at startup.
3
+ *
4
+ * The --dangerously-skip-sanitization flag (or OPENTABS_SKIP_SANITIZATION=1
5
+ * env var) disables path/IP sanitization of successful tool output. This is
6
+ * useful when raw output is needed for debugging or when the AI agent needs
7
+ * actual filesystem paths.
8
+ *
9
+ * Error message sanitization (via sanitizeErrorMessage) is never affected
10
+ * by this flag — errors are always sanitized regardless.
11
+ *
12
+ * The config.json `skipSanitization` field is checked separately at reload
13
+ * time and combined with this flag in state.skipSanitization.
14
+ */
15
+ /** Whether the CLI flag or env var requests output sanitization bypass */
16
+ export declare const isCliSkipSanitization: () => boolean;
17
+ //# sourceMappingURL=skip-sanitization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-sanitization.d.ts","sourceRoot":"","sources":["../src/skip-sanitization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAKH,0EAA0E;AAC1E,eAAO,MAAM,qBAAqB,QAAO,OAA8B,CAAC"}
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Output sanitization bypass detection — determined once at startup.
3
+ *
4
+ * The --dangerously-skip-sanitization flag (or OPENTABS_SKIP_SANITIZATION=1
5
+ * env var) disables path/IP sanitization of successful tool output. This is
6
+ * useful when raw output is needed for debugging or when the AI agent needs
7
+ * actual filesystem paths.
8
+ *
9
+ * Error message sanitization (via sanitizeErrorMessage) is never affected
10
+ * by this flag — errors are always sanitized regardless.
11
+ *
12
+ * The config.json `skipSanitization` field is checked separately at reload
13
+ * time and combined with this flag in state.skipSanitization.
14
+ */
15
+ const cliSkipSanitization = Bun.argv.includes('--dangerously-skip-sanitization') || Bun.env.OPENTABS_SKIP_SANITIZATION === '1';
16
+ /** Whether the CLI flag or env var requests output sanitization bypass */
17
+ export const isCliSkipSanitization = () => cliSkipSanitization;
18
+ //# sourceMappingURL=skip-sanitization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-sanitization.js","sourceRoot":"","sources":["../src/skip-sanitization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,MAAM,mBAAmB,GACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,iCAAiC,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,0BAA0B,KAAK,GAAG,CAAC;AAErG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAY,EAAE,CAAC,mBAAmB,CAAC"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Plugin verification bypass detection — determined once at startup.
3
+ *
4
+ * The --skip-plugin-verification flag (or OPENTABS_SKIP_PLUGIN_VERIFICATION=1
5
+ * env var) disables npm registry signature verification for official plugins.
6
+ * This is intended for air-gapped environments where the npm registry is
7
+ * unreachable.
8
+ */
9
+ /** Whether the CLI flag or env var requests plugin verification bypass */
10
+ export declare const isSkipPluginVerification: () => boolean;
11
+ //# sourceMappingURL=skip-verification.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-verification.d.ts","sourceRoot":"","sources":["../src/skip-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAKH,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB,QAAO,OAA8B,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Plugin verification bypass detection — determined once at startup.
3
+ *
4
+ * The --skip-plugin-verification flag (or OPENTABS_SKIP_PLUGIN_VERIFICATION=1
5
+ * env var) disables npm registry signature verification for official plugins.
6
+ * This is intended for air-gapped environments where the npm registry is
7
+ * unreachable.
8
+ */
9
+ const cliSkipVerification = Bun.argv.includes('--skip-plugin-verification') || Bun.env.OPENTABS_SKIP_PLUGIN_VERIFICATION === '1';
10
+ /** Whether the CLI flag or env var requests plugin verification bypass */
11
+ export const isSkipPluginVerification = () => cliSkipVerification;
12
+ //# sourceMappingURL=skip-verification.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"skip-verification.js","sourceRoot":"","sources":["../src/skip-verification.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,mBAAmB,GACvB,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,iCAAiC,KAAK,GAAG,CAAC;AAEvG,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAY,EAAE,CAAC,mBAAmB,CAAC"}