@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.
- package/dist/audit-disk.d.ts +23 -0
- package/dist/audit-disk.d.ts.map +1 -0
- package/dist/audit-disk.js +74 -0
- package/dist/audit-disk.js.map +1 -0
- package/dist/browser-tools/analyze-site/detect-apis.d.ts +36 -0
- package/dist/browser-tools/analyze-site/detect-apis.d.ts.map +1 -0
- package/dist/browser-tools/analyze-site/detect-apis.js +383 -0
- package/dist/browser-tools/analyze-site/detect-apis.js.map +1 -0
- package/dist/browser-tools/analyze-site/detect-auth.d.ts +72 -0
- package/dist/browser-tools/analyze-site/detect-auth.d.ts.map +1 -0
- package/dist/browser-tools/analyze-site/detect-auth.js +384 -0
- package/dist/browser-tools/analyze-site/detect-auth.js.map +1 -0
- package/dist/browser-tools/analyze-site/detect-dom.d.ts +65 -0
- package/dist/browser-tools/analyze-site/detect-dom.d.ts.map +1 -0
- package/dist/browser-tools/analyze-site/detect-dom.js +45 -0
- package/dist/browser-tools/analyze-site/detect-dom.js.map +1 -0
- package/dist/browser-tools/analyze-site/detect-framework.d.ts +48 -0
- package/dist/browser-tools/analyze-site/detect-framework.d.ts.map +1 -0
- package/dist/browser-tools/analyze-site/detect-framework.js +31 -0
- package/dist/browser-tools/analyze-site/detect-framework.js.map +1 -0
- package/dist/browser-tools/analyze-site/detect-globals.d.ts +41 -0
- package/dist/browser-tools/analyze-site/detect-globals.d.ts.map +1 -0
- package/dist/browser-tools/analyze-site/detect-globals.js +42 -0
- package/dist/browser-tools/analyze-site/detect-globals.js.map +1 -0
- package/dist/browser-tools/analyze-site/detect-storage.d.ts +39 -0
- package/dist/browser-tools/analyze-site/detect-storage.d.ts.map +1 -0
- package/dist/browser-tools/analyze-site/detect-storage.js +34 -0
- package/dist/browser-tools/analyze-site/detect-storage.js.map +1 -0
- package/dist/browser-tools/analyze-site/index.d.ts +52 -0
- package/dist/browser-tools/analyze-site/index.d.ts.map +1 -0
- package/dist/browser-tools/analyze-site/index.js +827 -0
- package/dist/browser-tools/analyze-site/index.js.map +1 -0
- package/dist/browser-tools/analyze-site.d.ts +17 -0
- package/dist/browser-tools/analyze-site.d.ts.map +1 -0
- package/dist/browser-tools/analyze-site.js +41 -0
- package/dist/browser-tools/analyze-site.js.map +1 -0
- package/dist/browser-tools/clear-console-logs.d.ts +9 -0
- package/dist/browser-tools/clear-console-logs.d.ts.map +1 -0
- package/dist/browser-tools/clear-console-logs.js +16 -0
- package/dist/browser-tools/clear-console-logs.js.map +1 -0
- package/dist/browser-tools/click-element.d.ts +10 -0
- package/dist/browser-tools/click-element.d.ts.map +1 -0
- package/dist/browser-tools/click-element.js +22 -0
- package/dist/browser-tools/click-element.js.map +1 -0
- package/dist/browser-tools/close-tab.d.ts +9 -0
- package/dist/browser-tools/close-tab.d.ts.map +1 -0
- package/dist/browser-tools/close-tab.js +16 -0
- package/dist/browser-tools/close-tab.js.map +1 -0
- package/dist/browser-tools/definition.d.ts +26 -0
- package/dist/browser-tools/definition.d.ts.map +1 -0
- package/dist/browser-tools/definition.js +16 -0
- package/dist/browser-tools/definition.js.map +1 -0
- package/dist/browser-tools/delete-cookies.d.ts +10 -0
- package/dist/browser-tools/delete-cookies.d.ts.map +1 -0
- package/dist/browser-tools/delete-cookies.js +19 -0
- package/dist/browser-tools/delete-cookies.js.map +1 -0
- package/dist/browser-tools/disable-network-capture.d.ts +9 -0
- package/dist/browser-tools/disable-network-capture.d.ts.map +1 -0
- package/dist/browser-tools/disable-network-capture.js +16 -0
- package/dist/browser-tools/disable-network-capture.js.map +1 -0
- package/dist/browser-tools/enable-network-capture.d.ts +12 -0
- package/dist/browser-tools/enable-network-capture.d.ts.map +1 -0
- package/dist/browser-tools/enable-network-capture.js +42 -0
- package/dist/browser-tools/enable-network-capture.js.map +1 -0
- package/dist/browser-tools/execute-script.d.ts +19 -0
- package/dist/browser-tools/execute-script.d.ts.map +1 -0
- package/dist/browser-tools/execute-script.js +51 -0
- package/dist/browser-tools/execute-script.js.map +1 -0
- package/dist/browser-tools/extension-check-adapter.d.ts +11 -0
- package/dist/browser-tools/extension-check-adapter.d.ts.map +1 -0
- package/dist/browser-tools/extension-check-adapter.js +22 -0
- package/dist/browser-tools/extension-check-adapter.js.map +1 -0
- package/dist/browser-tools/extension-force-reconnect.d.ts +9 -0
- package/dist/browser-tools/extension-force-reconnect.d.ts.map +1 -0
- package/dist/browser-tools/extension-force-reconnect.js +19 -0
- package/dist/browser-tools/extension-force-reconnect.js.map +1 -0
- package/dist/browser-tools/extension-get-logs.d.ts +24 -0
- package/dist/browser-tools/extension-get-logs.d.ts.map +1 -0
- package/dist/browser-tools/extension-get-logs.js +34 -0
- package/dist/browser-tools/extension-get-logs.js.map +1 -0
- package/dist/browser-tools/extension-get-side-panel.d.ts +8 -0
- package/dist/browser-tools/extension-get-side-panel.d.ts.map +1 -0
- package/dist/browser-tools/extension-get-side-panel.js +17 -0
- package/dist/browser-tools/extension-get-side-panel.js.map +1 -0
- package/dist/browser-tools/extension-get-state.d.ts +9 -0
- package/dist/browser-tools/extension-get-state.d.ts.map +1 -0
- package/dist/browser-tools/extension-get-state.js +19 -0
- package/dist/browser-tools/extension-get-state.js.map +1 -0
- package/dist/browser-tools/focus-tab.d.ts +9 -0
- package/dist/browser-tools/focus-tab.d.ts.map +1 -0
- package/dist/browser-tools/focus-tab.js +17 -0
- package/dist/browser-tools/focus-tab.js.map +1 -0
- package/dist/browser-tools/get-console-logs.d.ts +18 -0
- package/dist/browser-tools/get-console-logs.d.ts.map +1 -0
- package/dist/browser-tools/get-console-logs.js +30 -0
- package/dist/browser-tools/get-console-logs.js.map +1 -0
- package/dist/browser-tools/get-cookies.d.ts +10 -0
- package/dist/browser-tools/get-cookies.d.ts.map +1 -0
- package/dist/browser-tools/get-cookies.js +23 -0
- package/dist/browser-tools/get-cookies.js.map +1 -0
- package/dist/browser-tools/get-network-requests.d.ts +10 -0
- package/dist/browser-tools/get-network-requests.d.ts.map +1 -0
- package/dist/browser-tools/get-network-requests.js +27 -0
- package/dist/browser-tools/get-network-requests.js.map +1 -0
- package/dist/browser-tools/get-page-html.d.ts +11 -0
- package/dist/browser-tools/get-page-html.d.ts.map +1 -0
- package/dist/browser-tools/get-page-html.js +32 -0
- package/dist/browser-tools/get-page-html.js.map +1 -0
- package/dist/browser-tools/get-resource-content.d.ts +11 -0
- package/dist/browser-tools/get-resource-content.d.ts.map +1 -0
- package/dist/browser-tools/get-resource-content.js +31 -0
- package/dist/browser-tools/get-resource-content.js.map +1 -0
- package/dist/browser-tools/get-storage.d.ts +14 -0
- package/dist/browser-tools/get-storage.d.ts.map +1 -0
- package/dist/browser-tools/get-storage.js +28 -0
- package/dist/browser-tools/get-storage.js.map +1 -0
- package/dist/browser-tools/get-tab-content.d.ts +11 -0
- package/dist/browser-tools/get-tab-content.d.ts.map +1 -0
- package/dist/browser-tools/get-tab-content.js +29 -0
- package/dist/browser-tools/get-tab-content.js.map +1 -0
- package/dist/browser-tools/get-tab-info.d.ts +9 -0
- package/dist/browser-tools/get-tab-info.d.ts.map +1 -0
- package/dist/browser-tools/get-tab-info.js +17 -0
- package/dist/browser-tools/get-tab-info.js.map +1 -0
- package/dist/browser-tools/handle-dialog.d.ts +14 -0
- package/dist/browser-tools/handle-dialog.d.ts.map +1 -0
- package/dist/browser-tools/handle-dialog.js +30 -0
- package/dist/browser-tools/handle-dialog.js.map +1 -0
- package/dist/browser-tools/hover-element.d.ts +11 -0
- package/dist/browser-tools/hover-element.d.ts.map +1 -0
- package/dist/browser-tools/hover-element.js +24 -0
- package/dist/browser-tools/hover-element.js.map +1 -0
- package/dist/browser-tools/index.d.ts +7 -0
- package/dist/browser-tools/index.d.ts.map +1 -0
- package/dist/browser-tools/index.js +81 -0
- package/dist/browser-tools/index.js.map +1 -0
- package/dist/browser-tools/list-resources.d.ts +10 -0
- package/dist/browser-tools/list-resources.d.ts.map +1 -0
- package/dist/browser-tools/list-resources.js +29 -0
- package/dist/browser-tools/list-resources.js.map +1 -0
- package/dist/browser-tools/list-tabs.d.ts +7 -0
- package/dist/browser-tools/list-tabs.d.ts.map +1 -0
- package/dist/browser-tools/list-tabs.js +16 -0
- package/dist/browser-tools/list-tabs.js.map +1 -0
- package/dist/browser-tools/navigate-tab.d.ts +10 -0
- package/dist/browser-tools/navigate-tab.d.ts.map +1 -0
- package/dist/browser-tools/navigate-tab.js +18 -0
- package/dist/browser-tools/navigate-tab.js.map +1 -0
- package/dist/browser-tools/open-tab.d.ts +9 -0
- package/dist/browser-tools/open-tab.d.ts.map +1 -0
- package/dist/browser-tools/open-tab.js +18 -0
- package/dist/browser-tools/open-tab.js.map +1 -0
- package/dist/browser-tools/press-key.d.ts +17 -0
- package/dist/browser-tools/press-key.d.ts.map +1 -0
- package/dist/browser-tools/press-key.js +43 -0
- package/dist/browser-tools/press-key.js.map +1 -0
- package/dist/browser-tools/query-elements.d.ts +12 -0
- package/dist/browser-tools/query-elements.d.ts.map +1 -0
- package/dist/browser-tools/query-elements.js +30 -0
- package/dist/browser-tools/query-elements.js.map +1 -0
- package/dist/browser-tools/reload-extension.d.ts +13 -0
- package/dist/browser-tools/reload-extension.d.ts.map +1 -0
- package/dist/browser-tools/reload-extension.js +35 -0
- package/dist/browser-tools/reload-extension.js.map +1 -0
- package/dist/browser-tools/screenshot-tab.d.ts +9 -0
- package/dist/browser-tools/screenshot-tab.d.ts.map +1 -0
- package/dist/browser-tools/screenshot-tab.js +22 -0
- package/dist/browser-tools/screenshot-tab.js.map +1 -0
- package/dist/browser-tools/scroll.d.ts +23 -0
- package/dist/browser-tools/scroll.d.ts.map +1 -0
- package/dist/browser-tools/scroll.js +56 -0
- package/dist/browser-tools/scroll.js.map +1 -0
- package/dist/browser-tools/select-option.d.ts +12 -0
- package/dist/browser-tools/select-option.d.ts.map +1 -0
- package/dist/browser-tools/select-option.js +25 -0
- package/dist/browser-tools/select-option.js.map +1 -0
- package/dist/browser-tools/set-cookie.d.ts +16 -0
- package/dist/browser-tools/set-cookie.d.ts.map +1 -0
- package/dist/browser-tools/set-cookie.js +42 -0
- package/dist/browser-tools/set-cookie.js.map +1 -0
- package/dist/browser-tools/type-text.d.ts +12 -0
- package/dist/browser-tools/type-text.d.ts.map +1 -0
- package/dist/browser-tools/type-text.js +25 -0
- package/dist/browser-tools/type-text.js.map +1 -0
- package/dist/browser-tools/url-validation.d.ts +13 -0
- package/dist/browser-tools/url-validation.d.ts.map +1 -0
- package/dist/browser-tools/url-validation.js +23 -0
- package/dist/browser-tools/url-validation.js.map +1 -0
- package/dist/browser-tools/wait-for-element.d.ts +12 -0
- package/dist/browser-tools/wait-for-element.d.ts.map +1 -0
- package/dist/browser-tools/wait-for-element.js +29 -0
- package/dist/browser-tools/wait-for-element.js.map +1 -0
- package/dist/config.d.ts +99 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +344 -0
- package/dist/config.js.map +1 -0
- package/dist/dev-mode.d.ts +14 -0
- package/dist/dev-mode.d.ts.map +1 -0
- package/dist/dev-mode.js +15 -0
- package/dist/dev-mode.js.map +1 -0
- package/dist/discovery-legacy.d.ts +32 -0
- package/dist/discovery-legacy.d.ts.map +1 -0
- package/dist/discovery-legacy.js +415 -0
- package/dist/discovery-legacy.js.map +1 -0
- package/dist/discovery.d.ts +28 -0
- package/dist/discovery.d.ts.map +1 -0
- package/dist/discovery.js +97 -0
- package/dist/discovery.js.map +1 -0
- package/dist/extension-install.d.ts +27 -0
- package/dist/extension-install.d.ts.map +1 -0
- package/dist/extension-install.js +75 -0
- package/dist/extension-install.js.map +1 -0
- package/dist/extension-protocol.d.ts +130 -0
- package/dist/extension-protocol.d.ts.map +1 -0
- package/dist/extension-protocol.js +869 -0
- package/dist/extension-protocol.js.map +1 -0
- package/dist/file-watcher.d.ts +75 -0
- package/dist/file-watcher.d.ts.map +1 -0
- package/dist/file-watcher.js +616 -0
- package/dist/file-watcher.js.map +1 -0
- package/dist/http-routes.d.ts +88 -0
- package/dist/http-routes.d.ts.map +1 -0
- package/dist/http-routes.js +545 -0
- package/dist/http-routes.js.map +1 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +187 -0
- package/dist/index.js.map +1 -0
- package/dist/loader.d.ts +100 -0
- package/dist/loader.d.ts.map +1 -0
- package/dist/loader.js +402 -0
- package/dist/loader.js.map +1 -0
- package/dist/log-buffer.d.ts +33 -0
- package/dist/log-buffer.d.ts.map +1 -0
- package/dist/log-buffer.js +64 -0
- package/dist/log-buffer.js.map +1 -0
- package/dist/logger.d.ts +34 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +81 -0
- package/dist/logger.js.map +1 -0
- package/dist/manifest-schema.d.ts +14 -0
- package/dist/manifest-schema.d.ts.map +1 -0
- package/dist/manifest-schema.js +51 -0
- package/dist/manifest-schema.js.map +1 -0
- package/dist/mcp-setup.d.ts +131 -0
- package/dist/mcp-setup.d.ts.map +1 -0
- package/dist/mcp-setup.js +673 -0
- package/dist/mcp-setup.js.map +1 -0
- package/dist/permissions.d.ts +59 -0
- package/dist/permissions.d.ts.map +1 -0
- package/dist/permissions.js +141 -0
- package/dist/permissions.js.map +1 -0
- package/dist/registry.d.ts +78 -0
- package/dist/registry.d.ts.map +1 -0
- package/dist/registry.js +187 -0
- package/dist/registry.js.map +1 -0
- package/dist/reload.d.ts +52 -0
- package/dist/reload.d.ts.map +1 -0
- package/dist/reload.js +326 -0
- package/dist/reload.js.map +1 -0
- package/dist/resolver.d.ts +53 -0
- package/dist/resolver.d.ts.map +1 -0
- package/dist/resolver.js +272 -0
- package/dist/resolver.js.map +1 -0
- package/dist/sanitize-error.d.ts +8 -0
- package/dist/sanitize-error.d.ts.map +1 -0
- package/dist/sanitize-error.js +25 -0
- package/dist/sanitize-error.js.map +1 -0
- package/dist/sanitize-tool-output.d.ts +20 -0
- package/dist/sanitize-tool-output.d.ts.map +1 -0
- package/dist/sanitize-tool-output.js +52 -0
- package/dist/sanitize-tool-output.js.map +1 -0
- package/dist/sdk-version.d.ts +11 -0
- package/dist/sdk-version.d.ts.map +1 -0
- package/dist/sdk-version.js +23 -0
- package/dist/sdk-version.js.map +1 -0
- package/dist/shutdown.d.ts +28 -0
- package/dist/shutdown.d.ts.map +1 -0
- package/dist/shutdown.js +68 -0
- package/dist/shutdown.js.map +1 -0
- package/dist/skip-confirmation.d.ts +15 -0
- package/dist/skip-confirmation.d.ts.map +1 -0
- package/dist/skip-confirmation.js +16 -0
- package/dist/skip-confirmation.js.map +1 -0
- package/dist/skip-sanitization.d.ts +17 -0
- package/dist/skip-sanitization.d.ts.map +1 -0
- package/dist/skip-sanitization.js +18 -0
- package/dist/skip-sanitization.js.map +1 -0
- package/dist/skip-verification.d.ts +11 -0
- package/dist/skip-verification.d.ts.map +1 -0
- package/dist/skip-verification.js +12 -0
- package/dist/skip-verification.js.map +1 -0
- package/dist/state.d.ts +290 -0
- package/dist/state.d.ts.map +1 -0
- package/dist/state.js +111 -0
- package/dist/state.js.map +1 -0
- package/dist/verify-plugin.d.ts +53 -0
- package/dist/verify-plugin.d.ts.map +1 -0
- package/dist/verify-plugin.js +123 -0
- package/dist/verify-plugin.js.map +1 -0
- package/dist/version-check.d.ts +35 -0
- package/dist/version-check.d.ts.map +1 -0
- package/dist/version-check.js +111 -0
- package/dist/version-check.js.map +1 -0
- package/dist/version.d.ts +10 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +22 -0
- package/dist/version.js.map +1 -0
- 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"}
|
package/dist/shutdown.js
ADDED
|
@@ -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"}
|