@workglow/browser-control 0.2.31 → 0.2.33
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/README.md +44 -0
- package/dist/task/index.d.ts +0 -1
- package/dist/task/index.d.ts.map +1 -1
- package/dist/task.d.ts +0 -2
- package/dist/task.d.ts.map +1 -1
- package/dist/task.js +1 -957
- package/dist/task.js.map +4 -7
- package/package.json +9 -28
- package/dist/task/BunWebViewBackend.d.ts +0 -59
- package/dist/task/BunWebViewBackend.d.ts.map +0 -1
- package/dist/task/ElectronBackend.d.ts +0 -57
- package/dist/task/ElectronBackend.d.ts.map +0 -1
- package/dist/task/PlaywrightBackend.d.ts +0 -78
- package/dist/task/PlaywrightBackend.d.ts.map +0 -1
- package/dist/task/register.electron.d.ts +0 -11
- package/dist/task/register.electron.d.ts.map +0 -1
- package/dist/task/register.server.d.ts +0 -11
- package/dist/task/register.server.d.ts.map +0 -1
- package/dist/task-electron.d.ts +0 -15
- package/dist/task-electron.d.ts.map +0 -1
- package/dist/task-electron.js +0 -3449
- package/dist/task-electron.js.map +0 -42
- package/dist/task-server.d.ts +0 -15
- package/dist/task-server.d.ts.map +0 -1
- package/dist/task-server.js +0 -3468
- package/dist/task-server.js.map +0 -42
package/package.json
CHANGED
|
@@ -1,25 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@workglow/browser-control",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.2.
|
|
4
|
+
"version": "0.2.33",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
|
-
"url": "https://github.com/workglow-dev/
|
|
7
|
+
"url": "https://github.com/workglow-dev/libs.git",
|
|
8
8
|
"directory": "packages/browser-control"
|
|
9
9
|
},
|
|
10
|
-
"description": "Browser-control tasks for Workglow (
|
|
10
|
+
"description": "Browser-control tasks for Workglow (CDP base + IBrowserContext abstraction). Backends ship as separate provider packages: @workglow/playwright, @workglow/electron, @workglow/bun-webview.",
|
|
11
11
|
"scripts": {
|
|
12
12
|
"watch": "concurrently -c 'auto' 'bun:watch-*'",
|
|
13
|
-
"watch-js": "
|
|
13
|
+
"watch-js": "bun run watch-task",
|
|
14
14
|
"watch-task": "bun build --watch --no-clear-screen --sourcemap=external --packages=external --outdir ./dist ./src/task.ts",
|
|
15
|
-
"watch-task-server": "bun build --watch --no-clear-screen --target=node --sourcemap=external --packages=external --outdir ./dist ./src/task-server.ts",
|
|
16
|
-
"watch-task-electron": "bun build --watch --no-clear-screen --target=node --sourcemap=external --packages=external --outdir ./dist ./src/task-electron.ts",
|
|
17
15
|
"watch-types": "tsc --watch --preserveWatchOutput",
|
|
18
16
|
"build-package": "bun run build-js && bun run build-types",
|
|
19
|
-
"build-js": "
|
|
17
|
+
"build-js": "bun run build-task",
|
|
20
18
|
"build-task": "bun build --sourcemap=external --packages=external --outdir ./dist ./src/task.ts",
|
|
21
|
-
"build-task-server": "bun build --target=node --sourcemap=external --packages=external --outdir ./dist ./src/task-server.ts",
|
|
22
|
-
"build-task-electron": "bun build --target=node --sourcemap=external --packages=external --outdir ./dist ./src/task-electron.ts",
|
|
23
19
|
"build-clean": "rm -fr dist/* tsconfig.tsbuildinfo",
|
|
24
20
|
"build-types": "rm -f tsconfig.tsbuildinfo && tsgo",
|
|
25
21
|
"lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0",
|
|
@@ -29,25 +25,13 @@
|
|
|
29
25
|
"./task": {
|
|
30
26
|
"types": "./dist/task.d.ts",
|
|
31
27
|
"import": "./dist/task.js"
|
|
32
|
-
},
|
|
33
|
-
"./task-server": {
|
|
34
|
-
"types": "./dist/task-server.d.ts",
|
|
35
|
-
"import": "./dist/task-server.js"
|
|
36
|
-
},
|
|
37
|
-
"./task-electron": {
|
|
38
|
-
"types": "./dist/task-electron.d.ts",
|
|
39
|
-
"import": "./dist/task-electron.js"
|
|
40
28
|
}
|
|
41
29
|
},
|
|
42
30
|
"peerDependencies": {
|
|
43
|
-
"@workglow/task-graph": "0.2.
|
|
44
|
-
"@workglow/util": "0.2.
|
|
45
|
-
"playwright": "^1.59.1"
|
|
31
|
+
"@workglow/task-graph": "0.2.33",
|
|
32
|
+
"@workglow/util": "0.2.33"
|
|
46
33
|
},
|
|
47
34
|
"peerDependenciesMeta": {
|
|
48
|
-
"playwright": {
|
|
49
|
-
"optional": true
|
|
50
|
-
},
|
|
51
35
|
"@workglow/task-graph": {
|
|
52
36
|
"optional": false
|
|
53
37
|
},
|
|
@@ -56,11 +40,8 @@
|
|
|
56
40
|
}
|
|
57
41
|
},
|
|
58
42
|
"devDependencies": {
|
|
59
|
-
"@workglow/task-graph": "0.2.
|
|
60
|
-
"@workglow/util": "0.2.
|
|
61
|
-
},
|
|
62
|
-
"optionalDependencies": {
|
|
63
|
-
"playwright": "^1.59.1"
|
|
43
|
+
"@workglow/task-graph": "0.2.33",
|
|
44
|
+
"@workglow/util": "0.2.33"
|
|
64
45
|
},
|
|
65
46
|
"files": [
|
|
66
47
|
"dist",
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { CDPBrowserBackend } from "./CDPBrowserBackend";
|
|
7
|
-
import type { BrowserConnectOptions, ConsoleMessage, DialogAction, DialogInfo, DownloadOptions, DownloadResult, ElementRef, IBrowserContext, NavigateOptions, NetworkFilter, NetworkRequest, ScreenshotOptions, TabInfo, WaitOptions } from "./IBrowserContext";
|
|
8
|
-
/**
|
|
9
|
-
* IBrowserContext implementation using Bun's built-in WebView API + CDP.
|
|
10
|
-
*
|
|
11
|
-
* Bun.WebView provides a headless browser with Chrome DevTools Protocol
|
|
12
|
-
* access. This backend wraps the WebView, delegating CDP operations to the
|
|
13
|
-
* abstract CDPBrowserBackend base class and using native WebView methods
|
|
14
|
-
* for navigation, screenshots, and keyboard input.
|
|
15
|
-
*
|
|
16
|
-
* This file should only be imported in Bun environments.
|
|
17
|
-
*/
|
|
18
|
-
export declare class BunWebViewBackend extends CDPBrowserBackend implements IBrowserContext {
|
|
19
|
-
private readonly defaultChromePath?;
|
|
20
|
-
private _wv;
|
|
21
|
-
private _connected;
|
|
22
|
-
private _dialogHandler;
|
|
23
|
-
protected readonly backendName = "BunWebViewBackend";
|
|
24
|
-
/**
|
|
25
|
-
* @param defaultChromePath Optional default Chrome binary path. Used when
|
|
26
|
-
* `connect()` is called without `chromePath` in options (e.g., via
|
|
27
|
-
* BrowserSessionTask which doesn't expose chromePath in its config).
|
|
28
|
-
*/
|
|
29
|
-
constructor(defaultChromePath?: string | undefined);
|
|
30
|
-
protected cdp(method: string, params?: Record<string, unknown>): Promise<unknown>;
|
|
31
|
-
protected evaluateInPage<T>(script: string): Promise<T>;
|
|
32
|
-
connect(options?: BrowserConnectOptions): Promise<void>;
|
|
33
|
-
disconnect(): Promise<void>;
|
|
34
|
-
isConnected(): boolean;
|
|
35
|
-
private get wv();
|
|
36
|
-
navigate(url: string, options?: NavigateOptions): Promise<void>;
|
|
37
|
-
goBack(_options?: NavigateOptions): Promise<void>;
|
|
38
|
-
goForward(_options?: NavigateOptions): Promise<void>;
|
|
39
|
-
reload(_options?: NavigateOptions): Promise<void>;
|
|
40
|
-
currentUrl(): Promise<string>;
|
|
41
|
-
title(): Promise<string>;
|
|
42
|
-
content(): Promise<string>;
|
|
43
|
-
evaluate<T>(expression: string): Promise<T>;
|
|
44
|
-
screenshot(options?: ScreenshotOptions): Promise<Buffer>;
|
|
45
|
-
pressKey(key: string, _options?: WaitOptions): Promise<void>;
|
|
46
|
-
type(text: string, _options?: WaitOptions): Promise<void>;
|
|
47
|
-
download(_trigger: () => Promise<void>, _options?: DownloadOptions): Promise<DownloadResult>;
|
|
48
|
-
onDialog(handler: (info: DialogInfo) => DialogAction | Promise<DialogAction>): void;
|
|
49
|
-
tabs(): Promise<readonly TabInfo[]>;
|
|
50
|
-
switchTab(_tabId: string): Promise<void>;
|
|
51
|
-
newTab(url?: string): Promise<TabInfo>;
|
|
52
|
-
closeTab(_tabId: string): Promise<void>;
|
|
53
|
-
waitForNavigation(options?: NavigateOptions): Promise<void>;
|
|
54
|
-
waitForSelector(selector: string, options?: WaitOptions): Promise<ElementRef>;
|
|
55
|
-
waitForIdle(options?: WaitOptions): Promise<void>;
|
|
56
|
-
readonly networkRequests: (_filter?: NetworkFilter) => Promise<readonly NetworkRequest[]>;
|
|
57
|
-
readonly consoleMessages: () => Promise<readonly ConsoleMessage[]>;
|
|
58
|
-
}
|
|
59
|
-
//# sourceMappingURL=BunWebViewBackend.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BunWebViewBackend.d.ts","sourceRoot":"","sources":["../../src/task/BunWebViewBackend.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,eAAe,EACf,cAAc,EACd,UAAU,EACV,eAAe,EACf,eAAe,EACf,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,OAAO,EACP,WAAW,EACZ,MAAM,mBAAmB,CAAC;AAc3B;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,iBAAkB,YAAW,eAAe;IAerE,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC;IAd/C,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,UAAU,CAAS;IAG3B,OAAO,CAAC,cAAc,CACf;IAEP,SAAS,CAAC,QAAQ,CAAC,WAAW,uBAAuB;IAErD;;;;OAIG;IACH,YAA6B,iBAAiB,CAAC,EAAE,MAAM,YAAA,EAEtD;IAMD,UAAgB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAE1F;IAMD,UAAgB,cAAc,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAE5D;IAMK,OAAO,CAAC,OAAO,GAAE,qBAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA8ChE;IAEK,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAWhC;IAED,WAAW,IAAI,OAAO,CAErB;IAMD,OAAO,KAAK,EAAE,GAKb;IAMK,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBxE;IAEK,MAAM,CAAC,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1D;IAEK,SAAS,CAAC,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG7D;IAEK,MAAM,CAAC,QAAQ,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG1D;IAEK,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAElC;IAEK,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,CAE7B;IAMK,OAAO,IAAI,OAAO,CAAC,MAAM,CAAC,CAE/B;IAMK,QAAQ,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAEhD;IAMK,UAAU,CAAC,OAAO,GAAE,iBAAsB,GAAG,OAAO,CAAC,MAAM,CAAC,CAOjE;IAMc,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9E;IAEc,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAE3E;IAMK,QAAQ,CACZ,QAAQ,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,EAC7B,QAAQ,GAAE,eAAoB,GAC7B,OAAO,CAAC,cAAc,CAAC,CAEzB;IAMD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI,CAoClF;IAMK,IAAI,IAAI,OAAO,CAAC,SAAS,OAAO,EAAE,CAAC,CAIxC;IAEK,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE7C;IAEK,MAAM,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAS3C;IAEK,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG5C;IAMK,iBAAiB,CAAC,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpE;IAEK,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,UAAU,CAAC,CAetF;IAEK,WAAW,CAAC,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAY1D;IAMD,QAAQ,CAAC,eAAe,aAAc,aAAa,KAAG,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAEtF;IAEF,QAAQ,CAAC,eAAe,QAAO,OAAO,CAAC,SAAS,cAAc,EAAE,CAAC,CAE/D;CACH"}
|
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import { CDPBrowserBackend } from "./CDPBrowserBackend";
|
|
7
|
-
import type { BrowserConnectOptions, ConsoleMessage, DialogAction, DialogInfo, DownloadOptions, DownloadResult, ElementRef, IBrowserContext, NavigateOptions, NetworkFilter, NetworkRequest, ScreenshotOptions, TabInfo, WaitOptions } from "./IBrowserContext";
|
|
8
|
-
/**
|
|
9
|
-
* IBrowserContext implementation using Electron's native webContents + CDP.
|
|
10
|
-
*
|
|
11
|
-
* This file is only imported from the Electron main process. It must NOT be
|
|
12
|
-
* included in browser/bun/node entry points.
|
|
13
|
-
*
|
|
14
|
-
* Session isolation is achieved via `session.fromPartition(partitionString)`
|
|
15
|
-
* scoped to projectId + profileName.
|
|
16
|
-
*/
|
|
17
|
-
export declare class ElectronBackend extends CDPBrowserBackend implements IBrowserContext {
|
|
18
|
-
/** @type {AnyBrowserWindow} Electron BrowserWindow instance */
|
|
19
|
-
private _window;
|
|
20
|
-
/** @type {AnyWebContents} Electron webContents instance */
|
|
21
|
-
private _webContents;
|
|
22
|
-
private _connected;
|
|
23
|
-
private _dialogHandler;
|
|
24
|
-
protected readonly backendName = "ElectronBackend";
|
|
25
|
-
/**
|
|
26
|
-
* Send a Chrome DevTools Protocol command via the Electron debugger.
|
|
27
|
-
* @param method CDP method name (e.g. "DOM.getBoxModel")
|
|
28
|
-
* @param params CDP parameters
|
|
29
|
-
*/
|
|
30
|
-
protected cdp(method: string, params?: Record<string, unknown>): Promise<unknown>;
|
|
31
|
-
protected evaluateInPage<T>(script: string): Promise<T>;
|
|
32
|
-
connect(options?: BrowserConnectOptions): Promise<void>;
|
|
33
|
-
disconnect(): Promise<void>;
|
|
34
|
-
isConnected(): boolean;
|
|
35
|
-
private get wc();
|
|
36
|
-
navigate(url: string, _options?: NavigateOptions): Promise<void>;
|
|
37
|
-
goBack(_options?: NavigateOptions): Promise<void>;
|
|
38
|
-
goForward(_options?: NavigateOptions): Promise<void>;
|
|
39
|
-
reload(_options?: NavigateOptions): Promise<void>;
|
|
40
|
-
currentUrl(): Promise<string>;
|
|
41
|
-
title(): Promise<string>;
|
|
42
|
-
content(): Promise<string>;
|
|
43
|
-
evaluate<T>(expression: string): Promise<T>;
|
|
44
|
-
screenshot(options?: ScreenshotOptions): Promise<Buffer>;
|
|
45
|
-
download(trigger: () => Promise<void>, options?: DownloadOptions): Promise<DownloadResult>;
|
|
46
|
-
onDialog(handler: (info: DialogInfo) => DialogAction | Promise<DialogAction>): void;
|
|
47
|
-
tabs(): Promise<readonly TabInfo[]>;
|
|
48
|
-
switchTab(_tabId: string): Promise<void>;
|
|
49
|
-
newTab(url?: string): Promise<TabInfo>;
|
|
50
|
-
closeTab(_tabId: string): Promise<void>;
|
|
51
|
-
waitForNavigation(options?: NavigateOptions): Promise<void>;
|
|
52
|
-
waitForSelector(selector: string, options?: WaitOptions): Promise<ElementRef>;
|
|
53
|
-
waitForIdle(options?: WaitOptions): Promise<void>;
|
|
54
|
-
readonly networkRequests: (_filter?: NetworkFilter) => Promise<readonly NetworkRequest[]>;
|
|
55
|
-
readonly consoleMessages: () => Promise<readonly ConsoleMessage[]>;
|
|
56
|
-
}
|
|
57
|
-
//# sourceMappingURL=ElectronBackend.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ElectronBackend.d.ts","sourceRoot":"","sources":["../../src/task/ElectronBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*/
|
|
6
|
-
import type { AccessibilityTree, AriaRole, BrowserConnectOptions, ClickOptions, ConsoleMessage, DialogAction, DialogInfo, DownloadOptions, DownloadResult, ElementRef, IBrowserContext, NavigateOptions, NetworkFilter, NetworkRequest, ScreenshotOptions, SnapshotOptions, TabInfo, WaitOptions } from "./IBrowserContext";
|
|
7
|
-
type AnyBrowser = any;
|
|
8
|
-
export declare class PlaywrightBackend implements IBrowserContext {
|
|
9
|
-
private readonly sharedLocalBrowser?;
|
|
10
|
-
/**
|
|
11
|
-
* When set, `connect()` reuses this browser for local mode instead of launching a new process.
|
|
12
|
-
* Used by integration tests to avoid per-test launch/teardown flakiness. The caller must not
|
|
13
|
-
* close the browser until all backends that reference it have disconnected.
|
|
14
|
-
*/
|
|
15
|
-
constructor(sharedLocalBrowser?: AnyBrowser);
|
|
16
|
-
private _browser;
|
|
17
|
-
private _context;
|
|
18
|
-
private _page;
|
|
19
|
-
private _connected;
|
|
20
|
-
/** True when this backend launched Chromium locally (owns full process tree). */
|
|
21
|
-
private _launchedLocalChromium;
|
|
22
|
-
private _refMap;
|
|
23
|
-
private _refCounter;
|
|
24
|
-
private _dialogHandler;
|
|
25
|
-
connect(options?: BrowserConnectOptions): Promise<void>;
|
|
26
|
-
disconnect(): Promise<void>;
|
|
27
|
-
isConnected(): boolean;
|
|
28
|
-
private get page();
|
|
29
|
-
private get context();
|
|
30
|
-
/**
|
|
31
|
-
* Resolve an ElementRef to a Playwright Locator.
|
|
32
|
-
* The refMap stores descriptor strings like:
|
|
33
|
-
* "getByRole:button:Sign In"
|
|
34
|
-
* "getByText:some text"
|
|
35
|
-
* "css:.my-class"
|
|
36
|
-
* "nth:getByRole:listitem::2"
|
|
37
|
-
*/
|
|
38
|
-
private resolveRef;
|
|
39
|
-
private descriptorToLocator;
|
|
40
|
-
navigate(url: string, options?: NavigateOptions): Promise<void>;
|
|
41
|
-
goBack(options?: NavigateOptions): Promise<void>;
|
|
42
|
-
goForward(options?: NavigateOptions): Promise<void>;
|
|
43
|
-
reload(options?: NavigateOptions): Promise<void>;
|
|
44
|
-
currentUrl(): Promise<string>;
|
|
45
|
-
title(): Promise<string>;
|
|
46
|
-
snapshot(options?: SnapshotOptions): Promise<AccessibilityTree>;
|
|
47
|
-
click(ref: ElementRef, options?: ClickOptions): Promise<void>;
|
|
48
|
-
fill(ref: ElementRef, value: string, options?: WaitOptions): Promise<void>;
|
|
49
|
-
selectOption(ref: ElementRef, values: string | readonly string[], options?: WaitOptions): Promise<void>;
|
|
50
|
-
hover(ref: ElementRef, options?: WaitOptions): Promise<void>;
|
|
51
|
-
clickByRole(role: AriaRole, name: string, options?: ClickOptions): Promise<void>;
|
|
52
|
-
fillByLabel(label: string, value: string, options?: WaitOptions): Promise<void>;
|
|
53
|
-
content(): Promise<string>;
|
|
54
|
-
innerHTML(ref: ElementRef): Promise<string>;
|
|
55
|
-
textContent(ref: ElementRef): Promise<string | null>;
|
|
56
|
-
attribute(ref: ElementRef, name: string): Promise<string | null>;
|
|
57
|
-
querySelector(selector: string): Promise<ElementRef | null>;
|
|
58
|
-
querySelectorAll(selector: string): Promise<readonly ElementRef[]>;
|
|
59
|
-
evaluate<T>(expression: string): Promise<T>;
|
|
60
|
-
screenshot(options?: ScreenshotOptions): Promise<Buffer>;
|
|
61
|
-
pressKey(key: string, _options?: WaitOptions): Promise<void>;
|
|
62
|
-
type(text: string, _options?: WaitOptions): Promise<void>;
|
|
63
|
-
scroll(x: number, y: number, ref?: ElementRef): Promise<void>;
|
|
64
|
-
uploadFile(ref: ElementRef, paths: string | readonly string[]): Promise<void>;
|
|
65
|
-
download(trigger: () => Promise<void>, options?: DownloadOptions): Promise<DownloadResult>;
|
|
66
|
-
onDialog(handler: (info: DialogInfo) => DialogAction | Promise<DialogAction>): void;
|
|
67
|
-
tabs(): Promise<readonly TabInfo[]>;
|
|
68
|
-
switchTab(tabId: string): Promise<void>;
|
|
69
|
-
newTab(url?: string): Promise<TabInfo>;
|
|
70
|
-
closeTab(tabId: string): Promise<void>;
|
|
71
|
-
waitForNavigation(options?: NavigateOptions): Promise<void>;
|
|
72
|
-
waitForSelector(selector: string, options?: WaitOptions): Promise<ElementRef>;
|
|
73
|
-
waitForIdle(options?: WaitOptions): Promise<void>;
|
|
74
|
-
readonly networkRequests: (_filter?: NetworkFilter) => Promise<readonly NetworkRequest[]>;
|
|
75
|
-
readonly consoleMessages: () => Promise<readonly ConsoleMessage[]>;
|
|
76
|
-
}
|
|
77
|
-
export {};
|
|
78
|
-
//# sourceMappingURL=PlaywrightBackend.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PlaywrightBackend.d.ts","sourceRoot":"","sources":["../../src/task/PlaywrightBackend.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*
|
|
6
|
-
* Side-effect import: registers browser-control task dependencies for Electron runtimes.
|
|
7
|
-
* Uses ElectronBackend with Playwright as a fallback for "local" backend.
|
|
8
|
-
* Import @workglow/browser-control/task-electron to auto-wire this registration.
|
|
9
|
-
*/
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=register.electron.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.electron.d.ts","sourceRoot":"","sources":["../../src/task/register.electron.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*
|
|
6
|
-
* Side-effect import: registers browser-control task dependencies for Node/Bun server runtimes.
|
|
7
|
-
* Uses Playwright as the backend with filesystem-based profile storage.
|
|
8
|
-
* Import @workglow/browser-control/task-server to auto-wire this registration.
|
|
9
|
-
*/
|
|
10
|
-
export {};
|
|
11
|
-
//# sourceMappingURL=register.server.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"register.server.d.ts","sourceRoot":"","sources":["../../src/task/register.server.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
package/dist/task-electron.d.ts
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
* Copyright 2025 Steven Roussey <sroussey@gmail.com>
|
|
4
|
-
* SPDX-License-Identifier: Apache-2.0
|
|
5
|
-
*
|
|
6
|
-
* Browser-control tasks + Electron auto-registration (ElectronBackend with Playwright fallback).
|
|
7
|
-
* Import this entry point in Electron runtimes to get all browser tasks with
|
|
8
|
-
* dependencies pre-registered as a side effect.
|
|
9
|
-
*/
|
|
10
|
-
import "./task/register.electron";
|
|
11
|
-
export * from "./task/index";
|
|
12
|
-
export * from "./task/BrowserTaskDeps";
|
|
13
|
-
export * from "./task/ElectronBackend";
|
|
14
|
-
export * from "./task/PlaywrightBackend";
|
|
15
|
-
//# sourceMappingURL=task-electron.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-electron.d.ts","sourceRoot":"","sources":["../src/task-electron.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,0BAA0B,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC"}
|