@opentabs-dev/mcp-server 0.0.54 → 0.0.56
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/adapter-files.js +3 -3
- package/dist/adapter-files.js.map +1 -1
- package/dist/audit-disk.js +5 -5
- package/dist/audit-disk.js.map +1 -1
- package/dist/browser-tools/analyze-site/detect-apis.js +2 -2
- package/dist/browser-tools/analyze-site/detect-apis.js.map +1 -1
- package/dist/browser-tools/analyze-site/detect-auth.js +6 -6
- package/dist/browser-tools/analyze-site/detect-auth.js.map +1 -1
- package/dist/browser-tools/analyze-site/index.d.ts +1 -1
- package/dist/browser-tools/analyze-site/index.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site/index.js +2 -2
- package/dist/browser-tools/analyze-site/index.js.map +1 -1
- package/dist/browser-tools/analyze-site.d.ts.map +1 -1
- package/dist/browser-tools/analyze-site.js +1 -1
- package/dist/browser-tools/analyze-site.js.map +1 -1
- package/dist/browser-tools/clear-console-logs.d.ts.map +1 -1
- package/dist/browser-tools/clear-console-logs.js +2 -2
- package/dist/browser-tools/clear-console-logs.js.map +1 -1
- package/dist/browser-tools/click-element.d.ts.map +1 -1
- package/dist/browser-tools/click-element.js +2 -2
- package/dist/browser-tools/click-element.js.map +1 -1
- package/dist/browser-tools/close-tab.d.ts.map +1 -1
- package/dist/browser-tools/close-tab.js +2 -2
- package/dist/browser-tools/close-tab.js.map +1 -1
- package/dist/browser-tools/definition.d.ts +1 -1
- package/dist/browser-tools/definition.d.ts.map +1 -1
- package/dist/browser-tools/delete-cookies.d.ts.map +1 -1
- package/dist/browser-tools/delete-cookies.js +2 -2
- package/dist/browser-tools/delete-cookies.js.map +1 -1
- package/dist/browser-tools/disable-network-capture.d.ts.map +1 -1
- package/dist/browser-tools/disable-network-capture.js +2 -2
- package/dist/browser-tools/disable-network-capture.js.map +1 -1
- package/dist/browser-tools/enable-network-capture.d.ts.map +1 -1
- package/dist/browser-tools/enable-network-capture.js +2 -2
- package/dist/browser-tools/enable-network-capture.js.map +1 -1
- package/dist/browser-tools/execute-script.d.ts.map +1 -1
- package/dist/browser-tools/execute-script.js +2 -2
- package/dist/browser-tools/execute-script.js.map +1 -1
- package/dist/browser-tools/export-har.d.ts.map +1 -1
- package/dist/browser-tools/export-har.js +11 -6
- package/dist/browser-tools/export-har.js.map +1 -1
- package/dist/browser-tools/extension-check-adapter.d.ts.map +1 -1
- package/dist/browser-tools/extension-check-adapter.js +2 -2
- package/dist/browser-tools/extension-check-adapter.js.map +1 -1
- package/dist/browser-tools/extension-force-reconnect.d.ts.map +1 -1
- package/dist/browser-tools/extension-force-reconnect.js +2 -2
- package/dist/browser-tools/extension-force-reconnect.js.map +1 -1
- package/dist/browser-tools/extension-get-logs.d.ts +1 -1
- package/dist/browser-tools/extension-get-logs.d.ts.map +1 -1
- package/dist/browser-tools/extension-get-logs.js +2 -2
- package/dist/browser-tools/extension-get-logs.js.map +1 -1
- package/dist/browser-tools/extension-get-side-panel.d.ts.map +1 -1
- package/dist/browser-tools/extension-get-side-panel.js +2 -2
- package/dist/browser-tools/extension-get-side-panel.js.map +1 -1
- package/dist/browser-tools/extension-get-state.d.ts.map +1 -1
- package/dist/browser-tools/extension-get-state.js +2 -2
- package/dist/browser-tools/extension-get-state.js.map +1 -1
- package/dist/browser-tools/focus-tab.d.ts.map +1 -1
- package/dist/browser-tools/focus-tab.js +2 -2
- package/dist/browser-tools/focus-tab.js.map +1 -1
- package/dist/browser-tools/get-console-logs.d.ts +2 -2
- package/dist/browser-tools/get-console-logs.d.ts.map +1 -1
- package/dist/browser-tools/get-console-logs.js +2 -2
- package/dist/browser-tools/get-console-logs.js.map +1 -1
- package/dist/browser-tools/get-cookies.d.ts.map +1 -1
- package/dist/browser-tools/get-cookies.js +2 -2
- package/dist/browser-tools/get-cookies.js.map +1 -1
- package/dist/browser-tools/get-network-requests.d.ts.map +1 -1
- package/dist/browser-tools/get-network-requests.js +2 -2
- package/dist/browser-tools/get-network-requests.js.map +1 -1
- package/dist/browser-tools/get-page-html.d.ts.map +1 -1
- package/dist/browser-tools/get-page-html.js +2 -2
- package/dist/browser-tools/get-page-html.js.map +1 -1
- package/dist/browser-tools/get-resource-content.d.ts.map +1 -1
- package/dist/browser-tools/get-resource-content.js +2 -2
- package/dist/browser-tools/get-resource-content.js.map +1 -1
- package/dist/browser-tools/get-storage.d.ts.map +1 -1
- package/dist/browser-tools/get-storage.js +2 -2
- package/dist/browser-tools/get-storage.js.map +1 -1
- package/dist/browser-tools/get-tab-content.d.ts.map +1 -1
- package/dist/browser-tools/get-tab-content.js +2 -2
- package/dist/browser-tools/get-tab-content.js.map +1 -1
- package/dist/browser-tools/get-tab-info.d.ts.map +1 -1
- package/dist/browser-tools/get-tab-info.js +2 -2
- package/dist/browser-tools/get-tab-info.js.map +1 -1
- package/dist/browser-tools/get-websocket-frames.d.ts.map +1 -1
- package/dist/browser-tools/get-websocket-frames.js +2 -2
- package/dist/browser-tools/get-websocket-frames.js.map +1 -1
- package/dist/browser-tools/handle-dialog.d.ts.map +1 -1
- package/dist/browser-tools/handle-dialog.js +2 -2
- package/dist/browser-tools/handle-dialog.js.map +1 -1
- package/dist/browser-tools/hover-element.d.ts.map +1 -1
- package/dist/browser-tools/hover-element.js +2 -2
- package/dist/browser-tools/hover-element.js.map +1 -1
- package/dist/browser-tools/index.d.ts.map +1 -1
- package/dist/browser-tools/index.js +1 -1
- package/dist/browser-tools/index.js.map +1 -1
- package/dist/browser-tools/list-resources.d.ts.map +1 -1
- package/dist/browser-tools/list-resources.js +2 -2
- package/dist/browser-tools/list-resources.js.map +1 -1
- package/dist/browser-tools/list-tabs.d.ts.map +1 -1
- package/dist/browser-tools/list-tabs.js +2 -2
- package/dist/browser-tools/list-tabs.js.map +1 -1
- package/dist/browser-tools/navigate-tab.d.ts.map +1 -1
- package/dist/browser-tools/navigate-tab.js +2 -2
- package/dist/browser-tools/navigate-tab.js.map +1 -1
- package/dist/browser-tools/open-tab.d.ts.map +1 -1
- package/dist/browser-tools/open-tab.js +2 -2
- package/dist/browser-tools/open-tab.js.map +1 -1
- package/dist/browser-tools/plugin-list-tabs.d.ts.map +1 -1
- package/dist/browser-tools/plugin-list-tabs.js +1 -1
- package/dist/browser-tools/plugin-list-tabs.js.map +1 -1
- package/dist/browser-tools/press-key.d.ts.map +1 -1
- package/dist/browser-tools/press-key.js +2 -2
- package/dist/browser-tools/press-key.js.map +1 -1
- package/dist/browser-tools/query-elements.d.ts.map +1 -1
- package/dist/browser-tools/query-elements.js +2 -2
- package/dist/browser-tools/query-elements.js.map +1 -1
- package/dist/browser-tools/reload-extension.d.ts.map +1 -1
- package/dist/browser-tools/reload-extension.js +1 -1
- package/dist/browser-tools/reload-extension.js.map +1 -1
- package/dist/browser-tools/screenshot-tab.d.ts.map +1 -1
- package/dist/browser-tools/screenshot-tab.js +2 -2
- package/dist/browser-tools/screenshot-tab.js.map +1 -1
- package/dist/browser-tools/scroll.d.ts.map +1 -1
- package/dist/browser-tools/scroll.js +2 -2
- package/dist/browser-tools/scroll.js.map +1 -1
- package/dist/browser-tools/select-option.d.ts.map +1 -1
- package/dist/browser-tools/select-option.js +2 -2
- package/dist/browser-tools/select-option.js.map +1 -1
- package/dist/browser-tools/set-cookie.d.ts.map +1 -1
- package/dist/browser-tools/set-cookie.js +2 -2
- package/dist/browser-tools/set-cookie.js.map +1 -1
- package/dist/browser-tools/type-text.d.ts.map +1 -1
- package/dist/browser-tools/type-text.js +2 -2
- package/dist/browser-tools/type-text.js.map +1 -1
- package/dist/browser-tools/wait-for-element.d.ts.map +1 -1
- package/dist/browser-tools/wait-for-element.js +2 -2
- package/dist/browser-tools/wait-for-element.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +8 -8
- package/dist/config.js.map +1 -1
- package/dist/dev-mode.js +1 -1
- package/dist/dev-mode.js.map +1 -1
- package/dist/dev-proxy.js +13 -8
- package/dist/dev-proxy.js.map +1 -1
- package/dist/discovery.d.ts +1 -1
- package/dist/discovery.d.ts.map +1 -1
- package/dist/discovery.js +2 -2
- package/dist/discovery.js.map +1 -1
- package/dist/extension-handlers.d.ts +1 -1
- package/dist/extension-handlers.d.ts.map +1 -1
- package/dist/extension-handlers.js +2 -2
- package/dist/extension-handlers.js.map +1 -1
- package/dist/extension-install.js +4 -4
- package/dist/extension-install.js.map +1 -1
- package/dist/extension-protocol.d.ts +4 -4
- package/dist/extension-protocol.d.ts.map +1 -1
- package/dist/extension-protocol.js +4 -4
- package/dist/extension-protocol.js.map +1 -1
- package/dist/file-watcher.d.ts.map +1 -1
- package/dist/file-watcher.js +4 -4
- package/dist/file-watcher.js.map +1 -1
- package/dist/http-routes.d.ts +1 -1
- package/dist/http-routes.d.ts.map +1 -1
- package/dist/http-routes.js +5 -5
- package/dist/http-routes.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/index.js.map +1 -1
- package/dist/loader.d.ts +1 -1
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +3 -3
- package/dist/loader.js.map +1 -1
- package/dist/logger.js +2 -2
- package/dist/logger.js.map +1 -1
- package/dist/mcp-setup.d.ts +3 -3
- package/dist/mcp-setup.d.ts.map +1 -1
- package/dist/mcp-setup.js +8 -8
- package/dist/mcp-setup.js.map +1 -1
- package/dist/mcp-tool-dispatch.d.ts +1 -1
- package/dist/mcp-tool-dispatch.d.ts.map +1 -1
- package/dist/mcp-tool-dispatch.js +7 -7
- package/dist/mcp-tool-dispatch.js.map +1 -1
- package/dist/plugin-management.d.ts +2 -2
- package/dist/plugin-management.d.ts.map +1 -1
- package/dist/plugin-management.js +4 -4
- package/dist/plugin-management.js.map +1 -1
- package/dist/registry.d.ts +1 -1
- package/dist/registry.d.ts.map +1 -1
- package/dist/registry.js +2 -2
- package/dist/registry.js.map +1 -1
- package/dist/reload.d.ts +1 -1
- package/dist/reload.d.ts.map +1 -1
- package/dist/reload.js +3 -3
- package/dist/reload.js.map +1 -1
- package/dist/resolver.d.ts.map +1 -1
- package/dist/resolver.js +4 -4
- package/dist/resolver.js.map +1 -1
- package/dist/sanitize-error.js +1 -1
- package/dist/sanitize-error.js.map +1 -1
- package/dist/sdk-version.js +1 -1
- package/dist/sdk-version.js.map +1 -1
- package/dist/server-node.d.ts +1 -1
- package/dist/server-node.d.ts.map +1 -1
- package/dist/server-node.js +3 -3
- package/dist/server-node.js.map +1 -1
- package/dist/skip-npm-discovery.js +1 -1
- package/dist/skip-npm-discovery.js.map +1 -1
- package/dist/skip-permissions.js +2 -2
- package/dist/skip-permissions.js.map +1 -1
- package/dist/state.d.ts +2 -2
- package/dist/state.d.ts.map +1 -1
- package/dist/state.js.map +1 -1
- package/dist/version-check.d.ts.map +1 -1
- package/dist/version-check.js +2 -2
- package/dist/version-check.js.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_handle_dialog — handle JavaScript alert/confirm/prompt dialogs via CDP.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const handleDialog = defineBrowserTool({
|
|
8
8
|
name: 'browser_handle_dialog',
|
|
9
9
|
description: 'Handle a JavaScript dialog (alert, confirm, prompt) that is blocking all script execution in a tab. ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-dialog.js","sourceRoot":"","sources":["../../src/browser-tools/handle-dialog.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"handle-dialog.js","sourceRoot":"","sources":["../../src/browser-tools/handle-dialog.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACrC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,sGAAsG;QACtG,4GAA4G;QAC5G,wGAAwG;QACxG,oFAAoF;QACpF,6GAA6G;QAC7G,iCAAiC;IACnC,IAAI,EAAE,gBAAgB;IACtB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;QACjF,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,2DAA2D,CAAC;QAC3G,UAAU,EAAE,CAAC;aACV,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CAAC,gFAAgF,CAAC;KAC9F,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE;QACjD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KAC1E,CAAC;CACL,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-element.d.ts","sourceRoot":"","sources":["../../src/browser-tools/hover-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"hover-element.d.ts","sourceRoot":"","sources":["../../src/browser-tools/hover-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,YAAY;;;kBAiBhB,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* browser_hover_element — dispatch mouse hover events on a page element to trigger
|
|
3
3
|
* dropdown menus, tooltips, and other hover-dependent UI.
|
|
4
4
|
*/
|
|
5
|
-
import { defineBrowserTool } from './definition.js';
|
|
6
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
7
5
|
import { z } from 'zod';
|
|
6
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
7
|
+
import { defineBrowserTool } from './definition.js';
|
|
8
8
|
const hoverElement = defineBrowserTool({
|
|
9
9
|
name: 'browser_hover_element',
|
|
10
10
|
description: 'Hover over an element to trigger hover events (mouseenter, mouseover, pointermove, etc.). ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hover-element.js","sourceRoot":"","sources":["../../src/browser-tools/hover-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"hover-element.js","sourceRoot":"","sources":["../../src/browser-tools/hover-element.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACrC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,4FAA4F;QAC5F,uFAAuF;QACvF,sFAAsF;QACtF,+DAA+D;IACjE,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,2CAA2C,CAAC;KAClF,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE;QACjD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;KACxB,CAAC;CACL,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/browser-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAsC7D,QAAA,MAAM,YAAY,EAAE,qBAAqB,EAyCxC,CAAC;AAkCF,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* static BROWSER_TOOLS_CATALOG (name, description, and icon). This catches drift
|
|
6
6
|
* when a tool's metadata changes without regenerating the catalog.
|
|
7
7
|
*/
|
|
8
|
+
import { BROWSER_TOOLS_CATALOG } from '@opentabs-dev/shared';
|
|
8
9
|
import { analyzeSiteTool } from './analyze-site.js';
|
|
9
10
|
import { clearConsoleLogs } from './clear-console-logs.js';
|
|
10
11
|
import { clickElement } from './click-element.js';
|
|
@@ -45,7 +46,6 @@ import { selectOption } from './select-option.js';
|
|
|
45
46
|
import { setCookie } from './set-cookie.js';
|
|
46
47
|
import { typeText } from './type-text.js';
|
|
47
48
|
import { waitForElement } from './wait-for-element.js';
|
|
48
|
-
import { BROWSER_TOOLS_CATALOG } from '@opentabs-dev/shared';
|
|
49
49
|
const browserTools = [
|
|
50
50
|
reloadExtension,
|
|
51
51
|
listTabs,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/browser-tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAE1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,YAAY,GAA4B;IAC5C,eAAe;IACf,QAAQ;IACR,OAAO;IACP,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,UAAU;IACV,aAAa;IACb,aAAa;IACb,aAAa;IACb,WAAW;IACX,UAAU;IACV,YAAY;IACZ,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,aAAa;IACb,UAAU;IACV,SAAS;IACT,aAAa;IACb,oBAAoB;IACpB,kBAAkB;IAClB,kBAAkB;IAClB,SAAS;IACT,qBAAqB;IACrB,cAAc;IACd,gBAAgB;IAChB,aAAa;IACb,kBAAkB;IAClB,QAAQ;IACR,MAAM;IACN,YAAY;IACZ,YAAY;IACZ,iBAAiB;IACjB,gBAAgB;IAChB,qBAAqB;IACrB,qBAAqB;IACrB,uBAAuB;IACvB,eAAe;IACf,cAAc;CACf,CAAC;AAEF,kFAAkF;AAClF,gFAAgF;AAChF,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC,qBAAqB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;AAEvF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;IAChC,MAAM,YAAY,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAClD,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,IAAI,gHAAgH,CAC3I,CAAC;IACJ,CAAC;IACD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC;IACxC,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,IAAI,2CAA2C,IAAI,CAAC,WAAW,sBAAsB,YAAY,CAAC,WAAW,8DAA8D,CAClM,CAAC;IACJ,CAAC;IACD,IAAI,UAAU,KAAK,YAAY,CAAC,IAAI,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CACb,iBAAiB,IAAI,CAAC,IAAI,oCAAoC,UAAU,sBAAsB,YAAY,CAAC,IAAI,8DAA8D,CAC9K,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,MAAM,KAAK,IAAI,qBAAqB,EAAE,CAAC;IAC1C,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,KAAK,CACb,mCAAmC,KAAK,CAAC,IAAI,6GAA6G,CAC3J,CAAC;IACJ,CAAC;AACH,CAAC;AAED,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-resources.d.ts","sourceRoot":"","sources":["../../src/browser-tools/list-resources.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"list-resources.d.ts","sourceRoot":"","sources":["../../src/browser-tools/list-resources.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,aAAa;;;kBAyBjB,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_list_resources — enumerate all resources loaded by a page via CDP Page.getResourceTree.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const listResources = defineBrowserTool({
|
|
8
8
|
name: 'browser_list_resources',
|
|
9
9
|
description: 'List all resources (scripts, stylesheets, documents, images, fonts, etc.) loaded by a page. ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-resources.js","sourceRoot":"","sources":["../../src/browser-tools/list-resources.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-resources.js","sourceRoot":"","sources":["../../src/browser-tools/list-resources.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,aAAa,GAAG,iBAAiB,CAAC;IACtC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,8FAA8F;QAC9F,yEAAyE;QACzE,mGAAmG;QACnG,yGAAyG;QACzG,gGAAgG;QAChG,mFAAmF;IACrF,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;QAC3E,IAAI,EAAE,CAAC;aACJ,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,sFAAsF;YACpF,yDAAyD,CAC5D;KACJ,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,EAAE;QAClD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACxD,CAAC;CACL,CAAC,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-tabs.d.ts","sourceRoot":"","sources":["../../src/browser-tools/list-tabs.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"list-tabs.d.ts","sourceRoot":"","sources":["../../src/browser-tools/list-tabs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,QAAQ,iFASZ,CAAC;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_list_tabs — lists all open browser tabs.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const listTabs = defineBrowserTool({
|
|
8
8
|
name: 'browser_list_tabs',
|
|
9
9
|
description: 'List all open browser tabs. Returns tab ID, title, URL, and active status for each tab. ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list-tabs.js","sourceRoot":"","sources":["../../src/browser-tools/list-tabs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"list-tabs.js","sourceRoot":"","sources":["../../src/browser-tools/list-tabs.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC;IACjC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,0FAA0F;QAC1F,qGAAqG;QACrG,sOAAsO;IACxO,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnB,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,EAAE,CAAC;CACpF,CAAC,CAAC;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate-tab.d.ts","sourceRoot":"","sources":["../../src/browser-tools/navigate-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"navigate-tab.d.ts","sourceRoot":"","sources":["../../src/browser-tools/navigate-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,WAAW;;;kBAUf,CAAC;AAEH,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_navigate_tab — navigates an existing tab to a new URL.
|
|
3
3
|
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
4
6
|
import { defineBrowserTool } from './definition.js';
|
|
5
7
|
import { safeUrl } from './url-validation.js';
|
|
6
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
7
|
-
import { z } from 'zod';
|
|
8
8
|
const navigateTab = defineBrowserTool({
|
|
9
9
|
name: 'browser_navigate_tab',
|
|
10
10
|
description: 'Navigate an existing browser tab to a new URL. Use browser_list_tabs to find tab IDs.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"navigate-tab.js","sourceRoot":"","sources":["../../src/browser-tools/navigate-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"navigate-tab.js","sourceRoot":"","sources":["../../src/browser-tools/navigate-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,WAAW,GAAG,iBAAiB,CAAC;IACpC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,uFAAuF;IACpG,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oBAAoB,CAAC;QACjE,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAC;KAC5C,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,qBAAqB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;CAC1F,CAAC,CAAC;AAEH,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-tab.d.ts","sourceRoot":"","sources":["../../src/browser-tools/open-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"open-tab.d.ts","sourceRoot":"","sources":["../../src/browser-tools/open-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,OAAO;;kBAUX,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_open_tab — opens a new browser tab with the given URL.
|
|
3
3
|
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
4
6
|
import { defineBrowserTool } from './definition.js';
|
|
5
7
|
import { safeUrl } from './url-validation.js';
|
|
6
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
7
|
-
import { z } from 'zod';
|
|
8
8
|
const openTab = defineBrowserTool({
|
|
9
9
|
name: 'browser_open_tab',
|
|
10
10
|
description: 'Open a new browser tab with the specified URL. Returns the new tab ID, ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"open-tab.js","sourceRoot":"","sources":["../../src/browser-tools/open-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"open-tab.js","sourceRoot":"","sources":["../../src/browser-tools/open-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,OAAO,GAAG,iBAAiB,CAAC;IAChC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,yEAAyE;QACzE,6FAA6F;IAC/F,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,0BAA0B,CAAC;KAClD,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,iBAAiB,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;CACjG,CAAC,CAAC;AAEH,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-list-tabs.d.ts","sourceRoot":"","sources":["../../src/browser-tools/plugin-list-tabs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"plugin-list-tabs.d.ts","sourceRoot":"","sources":["../../src/browser-tools/plugin-list-tabs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,cAAc;;kBAwDlB,CAAC;AAEH,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
* Reads directly from the server's tabMapping (populated by tab.syncAll and
|
|
5
5
|
* tab.stateChanged events from the extension) — no extension dispatch needed.
|
|
6
6
|
*/
|
|
7
|
-
import { defineBrowserTool } from './definition.js';
|
|
8
7
|
import { z } from 'zod';
|
|
8
|
+
import { defineBrowserTool } from './definition.js';
|
|
9
9
|
const pluginListTabs = defineBrowserTool({
|
|
10
10
|
name: 'plugin_list_tabs',
|
|
11
11
|
description: "List open browser tabs that match a plugin's URL patterns. Returns tab IDs, URLs, titles, and readiness " +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin-list-tabs.js","sourceRoot":"","sources":["../../src/browser-tools/plugin-list-tabs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin-list-tabs.js","sourceRoot":"","sources":["../../src/browser-tools/plugin-list-tabs.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,cAAc,GAAG,iBAAiB,CAAC;IACvC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,0GAA0G;QAC1G,8GAA8G;QAC9G,gHAAgH;IAClH,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,MAAM,EAAE,CAAC;aACN,MAAM,EAAE;aACR,QAAQ,EAAE;aACV,QAAQ,CACP,4GAA4G,CAC7G;KACJ,CAAC;IACF,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxB,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;QAEzB,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,UAAU,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,OAAO,OAAO,CAAC,OAAO,CAAC;oBACrB,KAAK,EAAE,WAAW,MAAM,mCAAmC,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE;iBACvH,CAAC,CAAC;YACL,CAAC;YAED,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC7C,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB;oBACE,MAAM;oBACN,WAAW,EAAE,UAAU,CAAC,WAAW;oBACnC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;oBACjC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;iBAC1B;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,OAAO,GAKR,EAAE,CAAC;QAER,KAAK,MAAM,UAAU,IAAI,KAAK,CAAC,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACzD,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC;gBACX,MAAM,EAAE,UAAU,CAAC,IAAI;gBACvB,WAAW,EAAE,UAAU,CAAC,WAAW;gBACnC,KAAK,EAAE,OAAO,EAAE,KAAK,IAAI,QAAQ;gBACjC,IAAI,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE;aAC1B,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"press-key.d.ts","sourceRoot":"","sources":["../../src/browser-tools/press-key.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"press-key.d.ts","sourceRoot":"","sources":["../../src/browser-tools/press-key.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,QAAQ;;;;;;;;;;kBAyCZ,CAAC;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_press_key — dispatch keyboard events on a page element or the active element.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const pressKey = defineBrowserTool({
|
|
8
8
|
name: 'browser_press_key',
|
|
9
9
|
description: 'Press a keyboard key on the page. Dispatches a full keyboard event sequence (keydown, keypress for printable ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"press-key.js","sourceRoot":"","sources":["../../src/browser-tools/press-key.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"press-key.js","sourceRoot":"","sources":["../../src/browser-tools/press-key.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC;IACjC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,+GAA+G;QAC/G,iHAAiH;QACjH,0GAA0G;QAC1G,sGAAsG;QACtG,yCAAyC;IAC3C,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAClF,GAAG,EAAE,CAAC;aACH,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,CACP,+GAA+G,CAChH;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CACP,yGAAyG,CAC1G;QACH,SAAS,EAAE,CAAC;aACT,MAAM,CAAC;YACN,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC;YACpD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,WAAW,CAAC;YAClD,GAAG,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;YAChD,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;SAClF,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,8CAA8C,CAAC;KAC5D,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE;QAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,EAAE,IAAI,CAAC,GAAG;QACb,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC;CACL,CAAC,CAAC;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-elements.d.ts","sourceRoot":"","sources":["../../src/browser-tools/query-elements.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"query-elements.d.ts","sourceRoot":"","sources":["../../src/browser-tools/query-elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,QAAA,MAAM,aAAa;;;;;kBAuBjB,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_query_elements — query all elements matching a CSS selector and return their attributes.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const DEFAULT_ATTRIBUTES = ['id', 'class', 'href', 'src', 'type', 'name', 'value', 'placeholder'];
|
|
8
8
|
const queryElements = defineBrowserTool({
|
|
9
9
|
name: 'browser_query_elements',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"query-elements.js","sourceRoot":"","sources":["../../src/browser-tools/query-elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"query-elements.js","sourceRoot":"","sources":["../../src/browser-tools/query-elements.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,kBAAkB,GAAG,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;AAElG,MAAM,aAAa,GAAG,iBAAiB,CAAC;IACtC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,iHAAiH;QACjH,4GAA4G;QAC5G,iDAAiD;IACnD,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QAC1E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uBAAuB,CAAC;QAC7D,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,0CAA0C,CAAC;QAClG,UAAU,EAAE,CAAC;aACV,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;aACjB,QAAQ,EAAE;aACV,QAAQ,CAAC,+FAA+F,CAAC;KAC7G,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,EAAE;QAClD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,GAAG;QACxB,UAAU,EAAE,IAAI,CAAC,UAAU,IAAI,kBAAkB;KAClD,CAAC;CACL,CAAC,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload-extension.d.ts","sourceRoot":"","sources":["../../src/browser-tools/reload-extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"reload-extension.d.ts","sourceRoot":"","sources":["../../src/browser-tools/reload-extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,QAAA,MAAM,eAAe,iFAoBnB,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -7,8 +7,8 @@
|
|
|
7
7
|
* would always hit the timeout. Instead we send the message directly on the
|
|
8
8
|
* WebSocket (matching the POST /extension/reload HTTP endpoint pattern).
|
|
9
9
|
*/
|
|
10
|
-
import { defineBrowserTool } from './definition.js';
|
|
11
10
|
import { z } from 'zod';
|
|
11
|
+
import { defineBrowserTool } from './definition.js';
|
|
12
12
|
const reloadExtension = defineBrowserTool({
|
|
13
13
|
name: 'extension_reload',
|
|
14
14
|
description: 'Reload the OpenTabs Chrome extension. The extension will briefly disconnect and automatically reconnect.',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reload-extension.js","sourceRoot":"","sources":["../../src/browser-tools/reload-extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"reload-extension.js","sourceRoot":"","sources":["../../src/browser-tools/reload-extension.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,eAAe,GAAG,iBAAiB,CAAC;IACxC,IAAI,EAAE,kBAAkB;IACxB,WAAW,EACT,0GAA0G;IAC5G,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;IACnB,OAAO,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QACxB,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;YACvB,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,yBAAyB,EAAE,CAAC,CAAC;QAC1E,CAAC;QACD,IAAI,CAAC;YACH,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,kBAAkB,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,OAAO,CAAC,OAAO,CAAC;gBACrB,EAAE,EAAE,KAAK;gBACT,KAAK,EAAE,+DAA+D;aACvE,CAAC,CAAC;QACL,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,iCAAiC,EAAE,CAAC,CAAC;IACnF,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-tab.d.ts","sourceRoot":"","sources":["../../src/browser-tools/screenshot-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"screenshot-tab.d.ts","sourceRoot":"","sources":["../../src/browser-tools/screenshot-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,aAAa;;kBAejB,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_screenshot_tab — capture a screenshot of a browser tab as a base64-encoded PNG.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const screenshotTab = defineBrowserTool({
|
|
8
8
|
name: 'browser_screenshot_tab',
|
|
9
9
|
description: 'Capture a screenshot of the visible area of a browser tab as a base64-encoded PNG image. ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"screenshot-tab.js","sourceRoot":"","sources":["../../src/browser-tools/screenshot-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"screenshot-tab.js","sourceRoot":"","sources":["../../src/browser-tools/screenshot-tab.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,aAAa,GAAG,iBAAiB,CAAC;IACtC,IAAI,EAAE,wBAAwB;IAC9B,WAAW,EACT,2FAA2F;QAC3F,wFAAwF;QACxF,8BAA8B;IAChC,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC;aACL,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,CAAC,6EAA6E,CAAC;KAC3F,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,mBAAmB,CAAC,KAAK,EAAE,uBAAuB,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC;CAC3G,CAAC,CAAC;AAEH,OAAO,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/browser-tools/scroll.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../src/browser-tools/scroll.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;kBAmDV,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
* browser_scroll — scroll the page or a specific container by direction, to a position,
|
|
3
3
|
* or to bring an element into view.
|
|
4
4
|
*/
|
|
5
|
-
import { defineBrowserTool } from './definition.js';
|
|
6
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
7
5
|
import { z } from 'zod';
|
|
6
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
7
|
+
import { defineBrowserTool } from './definition.js';
|
|
8
8
|
const scroll = defineBrowserTool({
|
|
9
9
|
name: 'browser_scroll',
|
|
10
10
|
description: 'Scroll the page or a scrollable container. Three modes: (1) provide a CSS selector to scroll that element ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/browser-tools/scroll.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../src/browser-tools/scroll.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,MAAM,GAAG,iBAAiB,CAAC;IAC/B,IAAI,EAAE,gBAAgB;IACtB,WAAW,EACT,4GAA4G;QAC5G,gHAAgH;QAChH,6GAA6G;QAC7G,oHAAoH;QACpH,kHAAkH;QAClH,6DAA6D;IAC/D,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAClF,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,wFAAwF,CAAC;QACrG,SAAS,EAAE,CAAC;aACT,IAAI,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;aACrC,QAAQ,EAAE;aACV,QAAQ,CAAC,kGAAkG,CAAC;QAC/G,QAAQ,EAAE,CAAC;aACR,MAAM,EAAE;aACR,GAAG,EAAE;aACL,QAAQ,EAAE;aACV,QAAQ,EAAE;aACV,QAAQ,CACP,yGAAyG,CAC1G;QACH,QAAQ,EAAE,CAAC;aACR,MAAM,CAAC;YACN,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+CAA+C,CAAC;YAClF,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6CAA6C,CAAC;SACjF,CAAC;aACD,QAAQ,EAAE;aACV,QAAQ,CAAC,uCAAuC,CAAC;QACpD,SAAS,EAAE,CAAC;aACT,MAAM,EAAE;aACR,GAAG,CAAC,CAAC,CAAC;aACN,QAAQ,EAAE;aACV,QAAQ,CAAC,6EAA6E,CAAC;KAC3F,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,gBAAgB,EAAE;QAC3C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACvE,CAAC;CACL,CAAC,CAAC;AAEH,OAAO,EAAE,MAAM,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-option.d.ts","sourceRoot":"","sources":["../../src/browser-tools/select-option.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"select-option.d.ts","sourceRoot":"","sources":["../../src/browser-tools/select-option.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,YAAY;;;;;kBAuBhB,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_select_option — select an option from a <select> dropdown element.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const selectOption = defineBrowserTool({
|
|
8
8
|
name: 'browser_select_option',
|
|
9
9
|
description: 'Select an option from a <select> dropdown element by option value or visible label text. Dispatches a change ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"select-option.js","sourceRoot":"","sources":["../../src/browser-tools/select-option.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"select-option.js","sourceRoot":"","sources":["../../src/browser-tools/select-option.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,YAAY,GAAG,iBAAiB,CAAC;IACrC,IAAI,EAAE,uBAAuB;IAC7B,WAAW,EACT,+GAA+G;QAC/G,iGAAiG;IACnG,IAAI,EAAE,kBAAkB;IACxB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,sCAAsC,CAAC;QAC5E,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,iEAAiE,CAAC;KACzG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YACzD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,mBAAmB,CAAC,KAAK,EAAE,sBAAsB,EAAE;YACxD,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-cookie.d.ts","sourceRoot":"","sources":["../../src/browser-tools/set-cookie.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"set-cookie.d.ts","sourceRoot":"","sources":["../../src/browser-tools/set-cookie.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,SAAS;;;;;;;;;kBA6Bb,CAAC;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_set_cookie — set a browser cookie.
|
|
3
3
|
*/
|
|
4
|
+
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
4
6
|
import { defineBrowserTool } from './definition.js';
|
|
5
7
|
import { safeUrl } from './url-validation.js';
|
|
6
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
7
|
-
import { z } from 'zod';
|
|
8
8
|
const setCookie = defineBrowserTool({
|
|
9
9
|
name: 'browser_set_cookie',
|
|
10
10
|
description: 'Set a browser cookie. Creates a new cookie or overwrites an existing one with the same name, domain, and path. ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"set-cookie.js","sourceRoot":"","sources":["../../src/browser-tools/set-cookie.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"set-cookie.js","sourceRoot":"","sources":["../../src/browser-tools/set-cookie.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,MAAM,SAAS,GAAG,iBAAiB,CAAC;IAClC,IAAI,EAAE,oBAAoB;IAC1B,WAAW,EACT,iHAAiH;QACjH,qQAAqQ;IACvQ,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,GAAG,EAAE,OAAO,CAAC,QAAQ,CAAC,kCAAkC,CAAC;QACzD,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,cAAc,CAAC;QAC1C,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4CAA4C,CAAC;QACpF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,6BAA6B,CAAC;QACnE,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,mCAAmC,CAAC;QAC5E,QAAQ,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC3E,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,4DAA4D,CAAC;KAC7G,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE;QAC7B,MAAM,MAAM,GAA4B;YACtC,GAAG,EAAE,IAAI,CAAC,GAAG;YACb,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;SAClB,CAAC;QACF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3D,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,MAAM,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACrD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3D,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS;YAAE,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjE,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACnF,OAAO,mBAAmB,CAAC,KAAK,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;CACF,CAAC,CAAC;AAEH,OAAO,EAAE,SAAS,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-text.d.ts","sourceRoot":"","sources":["../../src/browser-tools/type-text.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"type-text.d.ts","sourceRoot":"","sources":["../../src/browser-tools/type-text.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,QAAQ;;;;;kBAmBZ,CAAC;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_type_text — type text into an input field or textarea.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const typeText = defineBrowserTool({
|
|
8
8
|
name: 'browser_type_text',
|
|
9
9
|
description: 'Type text into an input field or textarea matching the CSS selector. Focuses the element, optionally clears ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"type-text.js","sourceRoot":"","sources":["../../src/browser-tools/type-text.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"type-text.js","sourceRoot":"","sources":["../../src/browser-tools/type-text.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,QAAQ,GAAG,iBAAiB,CAAC;IACjC,IAAI,EAAE,mBAAmB;IACzB,WAAW,EACT,8GAA8G;QAC9G,mHAAmH;IACrH,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,qCAAqC,CAAC;QAClF,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,uCAAuC,CAAC;QAC7E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;QAC3D,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,uDAAuD,CAAC;KAChG,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE;QAC7C,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,KAAK,EAAE,IAAI,CAAC,KAAK,IAAI,IAAI;KAC1B,CAAC;CACL,CAAC,CAAC;AAEH,OAAO,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-element.d.ts","sourceRoot":"","sources":["../../src/browser-tools/wait-for-element.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"wait-for-element.d.ts","sourceRoot":"","sources":["../../src/browser-tools/wait-for-element.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,cAAc;;;;;kBAuBlB,CAAC;AAEH,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* browser_wait_for_element — wait for an element matching a CSS selector to appear in the DOM.
|
|
3
3
|
*/
|
|
4
|
-
import { defineBrowserTool } from './definition.js';
|
|
5
|
-
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
4
|
import { z } from 'zod';
|
|
5
|
+
import { dispatchToExtension } from '../extension-protocol.js';
|
|
6
|
+
import { defineBrowserTool } from './definition.js';
|
|
7
7
|
const waitForElement = defineBrowserTool({
|
|
8
8
|
name: 'browser_wait_for_element',
|
|
9
9
|
description: 'Wait for an element matching the CSS selector to appear in the DOM. Polls the page until the element is found ' +
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wait-for-element.js","sourceRoot":"","sources":["../../src/browser-tools/wait-for-element.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"wait-for-element.js","sourceRoot":"","sources":["../../src/browser-tools/wait-for-element.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAEpD,MAAM,cAAc,GAAG,iBAAiB,CAAC;IACvC,IAAI,EAAE,0BAA0B;IAChC,WAAW,EACT,gHAAgH;QAChH,gHAAgH;QAChH,oCAAoC;IACtC,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;QAC5E,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,0BAA0B,CAAC;QAChE,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,yCAAyC,CAAC;QACnG,OAAO,EAAE,CAAC;aACP,OAAO,EAAE;aACT,QAAQ,EAAE;aACV,QAAQ,CAAC,+FAA+F,CAAC;KAC7G,CAAC;IACF,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,CAC7B,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,EAAE;QACnD,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;QAC9B,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,KAAK;KAC/B,CAAC;CACL,CAAC,CAAC;AAEH,OAAO,EAAE,cAAc,EAAE,CAAC"}
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAIH,OAAO,EAAe,cAAc,EAAE,YAAY,EAAiB,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAGjH;;;;;;GAMG;AACH,sGAAsG;AACtG,KAAK,cAAc,GAAG,OAAO,GAAG,KAAK,GAAG,MAAM,CAAC;AAE/C,6DAA6D;AAC7D,UAAU,iBAAiB;IACzB,+FAA+F;IAC/F,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,+FAA+F;IAC/F,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,gEAAgE;IAChE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC3C,gFAAgF;IAChF,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC,CAAC;CAClE;AAED,UAAU,cAAc;IACtB,+EAA+E;IAC/E,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,6FAA6F;IAC7F,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,oGAAoG;IACpG,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC3C,6DAA6D;IAC7D,WAAW,EAAE,iBAAiB,CAAC;IAC/B,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,4DAA4D;AAC5D,QAAA,MAAM,uBAAuB,QAAO,MAAsD,CAAC;AAE3F,sEAAsE;AACtE,QAAA,MAAM,cAAc,QAAO,MAA6C,CAAC;AA2MzE;;;;;;;;GAQG;AACH,QAAA,MAAM,UAAU,QAAa,OAAO,CAAC,cAAc,CAgClD,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,UAAU,GAAU,OAAO;IAAE,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,EAAE,QAAQ,cAAc,KAAG,OAAO,CAAC,IAAI,CAY1G,CAAC;AAEF;;;;;;;;;GASG;AACH,QAAA,MAAM,cAAc,GAClB,OAAO;IAAE,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,EAC1C,OAAO,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC7B,OAAO,CAAC,IAAI,CA4Bd,CAAC;AAEF;;;;;;;;GAQG;AACH,QAAA,MAAM,qBAAqB,GACzB,OAAO;IAAE,gBAAgB,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;CAAE,EAC1C,mBAAmB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KACzC,OAAO,CAAC,IAAI,CA0Bd,CAAC;AAEF;;;;GAIG;AACH,QAAA,MAAM,aAAa,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAKzD,CAAC;AAEF;;;;;GAKG;AACH,QAAA,MAAM,UAAU,QAAa,OAAO,CAAC,MAAM,CA4B1C,CAAC;AAEF,YAAY,EAAE,cAAc,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC;AAClE,OAAO,EACL,UAAU,EACV,UAAU,EACV,UAAU,EACV,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,eAAe,EACf,uBAAuB,EACvB,cAAc,GACf,CAAC"}
|
package/dist/config.js
CHANGED
|
@@ -9,10 +9,10 @@
|
|
|
9
9
|
* E2E test execution where each test worker needs its own isolated config
|
|
10
10
|
* to avoid clobbering shared state.
|
|
11
11
|
*/
|
|
12
|
-
import { log } from './logger.js';
|
|
13
|
-
import { atomicWrite, generateSecret, getConfigDir, getConfigPath, getExtensionDir } from '@opentabs-dev/shared';
|
|
14
12
|
import { access, mkdir, readFile } from 'node:fs/promises';
|
|
15
13
|
import { join } from 'node:path';
|
|
14
|
+
import { atomicWrite, generateSecret, getConfigDir, getConfigPath, getExtensionDir } from '@opentabs-dev/shared';
|
|
15
|
+
import { log } from './logger.js';
|
|
16
16
|
/** Version marker file for the managed extension install */
|
|
17
17
|
const getExtensionVersionFile = () => join(getExtensionDir(), '.opentabs-version');
|
|
18
18
|
/** Directory for plugin adapter IIFEs inside the managed extension */
|
|
@@ -202,7 +202,7 @@ const loadConfig = async () => {
|
|
|
202
202
|
browserToolPolicy: {},
|
|
203
203
|
permissions: defaultPermissions(),
|
|
204
204
|
};
|
|
205
|
-
await atomicWriteConfig(configPath, JSON.stringify(config, null, 2)
|
|
205
|
+
await atomicWriteConfig(configPath, `${JSON.stringify(config, null, 2)}\n`);
|
|
206
206
|
log.info(`Created default config at ${configPath}`);
|
|
207
207
|
return config;
|
|
208
208
|
}
|
|
@@ -228,7 +228,7 @@ const saveConfig = async (state, config) => {
|
|
|
228
228
|
const writePromise = (async () => {
|
|
229
229
|
await prev;
|
|
230
230
|
await mkdir(configDir, { recursive: true, mode: 0o700 });
|
|
231
|
-
await atomicWriteConfig(configPath, JSON.stringify(config, null, 2)
|
|
231
|
+
await atomicWriteConfig(configPath, `${JSON.stringify(config, null, 2)}\n`);
|
|
232
232
|
})();
|
|
233
233
|
// The mutex chain always fulfills so subsequent writes proceed even after a failure.
|
|
234
234
|
state.configWriteMutex = writePromise.catch(() => { });
|
|
@@ -265,7 +265,7 @@ const saveToolConfig = async (state, tools) => {
|
|
|
265
265
|
permissions: current.permissions,
|
|
266
266
|
skipPermissions: current.skipPermissions,
|
|
267
267
|
};
|
|
268
|
-
await atomicWriteConfig(configPath, JSON.stringify(updated, null, 2)
|
|
268
|
+
await atomicWriteConfig(configPath, `${JSON.stringify(updated, null, 2)}\n`);
|
|
269
269
|
})();
|
|
270
270
|
// The mutex chain always fulfills so subsequent writes proceed even after a failure.
|
|
271
271
|
state.configWriteMutex = writePromise.catch(() => { });
|
|
@@ -300,7 +300,7 @@ const saveBrowserToolPolicy = async (state, browserToolPolicy) => {
|
|
|
300
300
|
permissions: current.permissions,
|
|
301
301
|
skipPermissions: current.skipPermissions,
|
|
302
302
|
};
|
|
303
|
-
await atomicWriteConfig(configPath, JSON.stringify(updated, null, 2)
|
|
303
|
+
await atomicWriteConfig(configPath, `${JSON.stringify(updated, null, 2)}\n`);
|
|
304
304
|
})();
|
|
305
305
|
state.configWriteMutex = writePromise.catch(() => { });
|
|
306
306
|
await writePromise;
|
|
@@ -314,7 +314,7 @@ const writeAuthFile = async (secret) => {
|
|
|
314
314
|
const extensionDir = getExtensionDir();
|
|
315
315
|
await mkdir(extensionDir, { recursive: true, mode: 0o700 });
|
|
316
316
|
const authPath = join(extensionDir, 'auth.json');
|
|
317
|
-
await atomicWrite(authPath, JSON.stringify({ secret })
|
|
317
|
+
await atomicWrite(authPath, `${JSON.stringify({ secret })}\n`, 0o600);
|
|
318
318
|
};
|
|
319
319
|
/**
|
|
320
320
|
* Load the WebSocket authentication secret from auth.json.
|
|
@@ -342,7 +342,7 @@ const loadSecret = async () => {
|
|
|
342
342
|
// auth.json doesn't exist or has no valid secret — generate and write one
|
|
343
343
|
const secret = generateSecret();
|
|
344
344
|
await mkdir(extensionDir, { recursive: true, mode: 0o700 });
|
|
345
|
-
await atomicWrite(authPath, JSON.stringify({ secret })
|
|
345
|
+
await atomicWrite(authPath, `${JSON.stringify({ secret })}\n`, 0o600);
|
|
346
346
|
log.info(`Generated WebSocket authentication secret in ${authPath}`);
|
|
347
347
|
return secret;
|
|
348
348
|
};
|