@bctrl/sdk 1.0.1 → 1.0.3
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 +28 -29
- package/dist/bctrl.d.ts +22 -36
- package/dist/bctrl.js +40 -75
- package/dist/errors.d.ts +49 -43
- package/dist/errors.js +83 -120
- package/dist/files.d.ts +31 -0
- package/dist/files.js +97 -0
- package/dist/http.d.ts +18 -0
- package/dist/http.js +135 -0
- package/dist/index.d.ts +9 -12
- package/dist/index.js +7 -23
- package/dist/invocations.d.ts +86 -0
- package/dist/invocations.js +159 -0
- package/dist/pagination.d.ts +2 -0
- package/dist/pagination.js +13 -0
- package/dist/runs.d.ts +40 -0
- package/dist/runs.js +105 -0
- package/dist/runtimes.d.ts +69 -0
- package/dist/runtimes.js +202 -0
- package/dist/spaces.d.ts +40 -0
- package/dist/spaces.js +96 -0
- package/dist/types.d.ts +413 -0
- package/dist/types.js +1 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.js +27 -0
- package/dist/version.js +2 -2
- package/package.json +4 -21
- package/dist/agents/browser-use/index.d.ts +0 -1
- package/dist/agents/browser-use/index.js +0 -9
- package/dist/agents/browser-use/namespace.d.ts +0 -39
- package/dist/agents/browser-use/namespace.js +0 -93
- package/dist/agents/index.d.ts +0 -2
- package/dist/agents/index.js +0 -17
- package/dist/agents/stagehand/core.d.ts +0 -93
- package/dist/agents/stagehand/core.js +0 -144
- package/dist/agents/stagehand/index.d.ts +0 -3
- package/dist/agents/stagehand/index.js +0 -24
- package/dist/agents/stagehand/namespace.d.ts +0 -51
- package/dist/agents/stagehand/namespace.js +0 -65
- package/dist/ai-credentials/client.d.ts +0 -12
- package/dist/ai-credentials/client.js +0 -70
- package/dist/ai-credentials/index.d.ts +0 -1
- package/dist/ai-credentials/index.js +0 -1
- package/dist/base/event-binding.d.ts +0 -7
- package/dist/base/event-binding.js +0 -23
- package/dist/base/types.d.ts +0 -109
- package/dist/base/types.js +0 -4
- package/dist/browser-extensions/client.d.ts +0 -15
- package/dist/browser-extensions/client.js +0 -72
- package/dist/browser-extensions/index.d.ts +0 -2
- package/dist/browser-extensions/index.js +0 -1
- package/dist/browser-profiles/client.d.ts +0 -11
- package/dist/browser-profiles/client.js +0 -63
- package/dist/browser-profiles/index.d.ts +0 -1
- package/dist/browser-profiles/index.js +0 -1
- package/dist/captcha/index.d.ts +0 -1
- package/dist/captcha/index.js +0 -1
- package/dist/captcha/namespace.d.ts +0 -34
- package/dist/captcha/namespace.js +0 -41
- package/dist/client/index.d.ts +0 -1
- package/dist/client/index.js +0 -1
- package/dist/client/rpc.d.ts +0 -83
- package/dist/client/rpc.js +0 -354
- package/dist/config.d.ts +0 -5
- package/dist/config.js +0 -28
- package/dist/constants/browser.d.ts +0 -2
- package/dist/constants/browser.js +0 -1
- package/dist/contracts/agent-tools.d.ts +0 -45
- package/dist/contracts/agent-tools.js +0 -31
- package/dist/contracts/automation.d.ts +0 -265
- package/dist/contracts/automation.js +0 -109
- package/dist/contracts/browser-management.d.ts +0 -179
- package/dist/contracts/browser-management.js +0 -95
- package/dist/contracts/browser-use.d.ts +0 -136
- package/dist/contracts/browser-use.js +0 -93
- package/dist/contracts/captcha.d.ts +0 -114
- package/dist/contracts/captcha.js +0 -40
- package/dist/contracts/desktop.d.ts +0 -223
- package/dist/contracts/desktop.js +0 -121
- package/dist/contracts/drivers/playwright.d.ts +0 -2008
- package/dist/contracts/drivers/playwright.js +0 -2033
- package/dist/contracts/drivers/puppeteer.d.ts +0 -1221
- package/dist/contracts/drivers/puppeteer.js +0 -941
- package/dist/contracts/drivers/selenium.d.ts +0 -156
- package/dist/contracts/drivers/selenium.js +0 -61
- package/dist/contracts/drivers/stagehand.d.ts +0 -155
- package/dist/contracts/drivers/stagehand.js +0 -7
- package/dist/contracts/extensions.d.ts +0 -13
- package/dist/contracts/extensions.js +0 -9
- package/dist/contracts/index.d.ts +0 -13
- package/dist/contracts/index.js +0 -13
- package/dist/contracts/public-api.d.ts +0 -360
- package/dist/contracts/public-api.js +0 -17
- package/dist/contracts/runtime.d.ts +0 -81
- package/dist/contracts/runtime.js +0 -16
- package/dist/contracts/stagehand.d.ts +0 -253
- package/dist/contracts/stagehand.js +0 -145
- package/dist/contracts/storage.d.ts +0 -51
- package/dist/contracts/storage.js +0 -56
- package/dist/contracts/vault.d.ts +0 -119
- package/dist/contracts/vault.js +0 -112
- package/dist/contracts/version.d.ts +0 -3
- package/dist/contracts/version.js +0 -16
- package/dist/desktop.d.ts +0 -2
- package/dist/desktop.js +0 -3
- package/dist/drivers/desktop/index.d.ts +0 -65
- package/dist/drivers/desktop/index.js +0 -68
- package/dist/drivers/desktop/session.d.ts +0 -313
- package/dist/drivers/desktop/session.js +0 -432
- package/dist/drivers/playwright/event-emitter.d.ts +0 -160
- package/dist/drivers/playwright/event-emitter.js +0 -297
- package/dist/drivers/playwright/generated/api-request-context.d.ts +0 -137
- package/dist/drivers/playwright/generated/api-request-context.js +0 -154
- package/dist/drivers/playwright/generated/api-response.d.ts +0 -119
- package/dist/drivers/playwright/generated/api-response.js +0 -123
- package/dist/drivers/playwright/generated/browser-context.d.ts +0 -284
- package/dist/drivers/playwright/generated/browser-context.js +0 -458
- package/dist/drivers/playwright/generated/browser.d.ts +0 -120
- package/dist/drivers/playwright/generated/browser.js +0 -151
- package/dist/drivers/playwright/generated/clock.d.ts +0 -80
- package/dist/drivers/playwright/generated/clock.js +0 -94
- package/dist/drivers/playwright/generated/console-message.d.ts +0 -94
- package/dist/drivers/playwright/generated/console-message.js +0 -89
- package/dist/drivers/playwright/generated/coverage.d.ts +0 -57
- package/dist/drivers/playwright/generated/coverage.js +0 -66
- package/dist/drivers/playwright/generated/dialog.d.ts +0 -79
- package/dist/drivers/playwright/generated/dialog.js +0 -80
- package/dist/drivers/playwright/generated/element-handle.d.ts +0 -399
- package/dist/drivers/playwright/generated/element-handle.js +0 -501
- package/dist/drivers/playwright/generated/frame-locator.d.ts +0 -34
- package/dist/drivers/playwright/generated/frame-locator.js +0 -63
- package/dist/drivers/playwright/generated/frame.d.ts +0 -557
- package/dist/drivers/playwright/generated/frame.js +0 -634
- package/dist/drivers/playwright/generated/js-handle.d.ts +0 -72
- package/dist/drivers/playwright/generated/js-handle.js +0 -92
- package/dist/drivers/playwright/generated/keyboard.d.ts +0 -103
- package/dist/drivers/playwright/generated/keyboard.js +0 -113
- package/dist/drivers/playwright/generated/locator.d.ts +0 -795
- package/dist/drivers/playwright/generated/locator.js +0 -974
- package/dist/drivers/playwright/generated/mouse.d.ts +0 -97
- package/dist/drivers/playwright/generated/mouse.js +0 -109
- package/dist/drivers/playwright/generated/page.d.ts +0 -762
- package/dist/drivers/playwright/generated/page.js +0 -988
- package/dist/drivers/playwright/generated/touchscreen.d.ts +0 -34
- package/dist/drivers/playwright/generated/touchscreen.js +0 -37
- package/dist/drivers/playwright/generated/tracing.d.ts +0 -78
- package/dist/drivers/playwright/generated/tracing.js +0 -80
- package/dist/drivers/playwright/generated/worker.d.ts +0 -53
- package/dist/drivers/playwright/generated/worker.js +0 -59
- package/dist/drivers/playwright/index.d.ts +0 -19
- package/dist/drivers/playwright/index.js +0 -20
- package/dist/drivers/playwright/remote-base.d.ts +0 -62
- package/dist/drivers/playwright/remote-base.js +0 -86
- package/dist/drivers/playwright/types.d.ts +0 -148
- package/dist/drivers/playwright/types.js +0 -8
- package/dist/drivers/puppeteer/errors.d.ts +0 -50
- package/dist/drivers/puppeteer/errors.js +0 -71
- package/dist/drivers/puppeteer/event-emitter.d.ts +0 -145
- package/dist/drivers/puppeteer/event-emitter.js +0 -259
- package/dist/drivers/puppeteer/generated/accessibility.d.ts +0 -77
- package/dist/drivers/puppeteer/generated/accessibility.js +0 -74
- package/dist/drivers/puppeteer/generated/browser-context.d.ts +0 -116
- package/dist/drivers/puppeteer/generated/browser-context.js +0 -168
- package/dist/drivers/puppeteer/generated/browser.d.ts +0 -169
- package/dist/drivers/puppeteer/generated/browser.js +0 -246
- package/dist/drivers/puppeteer/generated/console-message.d.ts +0 -54
- package/dist/drivers/puppeteer/generated/console-message.js +0 -69
- package/dist/drivers/puppeteer/generated/coverage.d.ts +0 -49
- package/dist/drivers/puppeteer/generated/coverage.js +0 -57
- package/dist/drivers/puppeteer/generated/dialog.d.ts +0 -46
- package/dist/drivers/puppeteer/generated/dialog.js +0 -60
- package/dist/drivers/puppeteer/generated/element-handle.d.ts +0 -261
- package/dist/drivers/puppeteer/generated/element-handle.js +0 -341
- package/dist/drivers/puppeteer/generated/file-chooser.d.ts +0 -34
- package/dist/drivers/puppeteer/generated/file-chooser.js +0 -43
- package/dist/drivers/puppeteer/generated/frame.d.ts +0 -221
- package/dist/drivers/puppeteer/generated/frame.js +0 -302
- package/dist/drivers/puppeteer/generated/http-request.d.ts +0 -195
- package/dist/drivers/puppeteer/generated/http-request.js +0 -243
- package/dist/drivers/puppeteer/generated/http-response.d.ts +0 -142
- package/dist/drivers/puppeteer/generated/http-response.js +0 -169
- package/dist/drivers/puppeteer/generated/js-handle.d.ts +0 -104
- package/dist/drivers/puppeteer/generated/js-handle.js +0 -125
- package/dist/drivers/puppeteer/generated/keyboard.d.ts +0 -79
- package/dist/drivers/puppeteer/generated/keyboard.js +0 -89
- package/dist/drivers/puppeteer/generated/locator.d.ts +0 -141
- package/dist/drivers/puppeteer/generated/locator.js +0 -164
- package/dist/drivers/puppeteer/generated/mouse.d.ts +0 -74
- package/dist/drivers/puppeteer/generated/mouse.js +0 -94
- package/dist/drivers/puppeteer/generated/page.d.ts +0 -604
- package/dist/drivers/puppeteer/generated/page.js +0 -776
- package/dist/drivers/puppeteer/generated/target.d.ts +0 -105
- package/dist/drivers/puppeteer/generated/target.js +0 -123
- package/dist/drivers/puppeteer/generated/touchscreen.d.ts +0 -87
- package/dist/drivers/puppeteer/generated/touchscreen.js +0 -103
- package/dist/drivers/puppeteer/generated/tracing.d.ts +0 -38
- package/dist/drivers/puppeteer/generated/tracing.js +0 -43
- package/dist/drivers/puppeteer/generated/web-worker.d.ts +0 -63
- package/dist/drivers/puppeteer/generated/web-worker.js +0 -73
- package/dist/drivers/puppeteer/index.d.ts +0 -21
- package/dist/drivers/puppeteer/index.js +0 -23
- package/dist/drivers/puppeteer/remote-base.d.ts +0 -57
- package/dist/drivers/puppeteer/remote-base.js +0 -79
- package/dist/drivers/puppeteer/types.d.ts +0 -178
- package/dist/drivers/puppeteer/types.js +0 -8
- package/dist/drivers/selenium/driver.d.ts +0 -28
- package/dist/drivers/selenium/driver.js +0 -169
- package/dist/drivers/selenium/element.d.ts +0 -34
- package/dist/drivers/selenium/element.js +0 -73
- package/dist/drivers/selenium/index.d.ts +0 -3
- package/dist/drivers/selenium/index.js +0 -5
- package/dist/drivers/selenium/types.d.ts +0 -2
- package/dist/drivers/selenium/types.js +0 -12
- package/dist/drivers/stagehand/generated/context.d.ts +0 -127
- package/dist/drivers/stagehand/generated/context.js +0 -153
- package/dist/drivers/stagehand/generated/locator.d.ts +0 -324
- package/dist/drivers/stagehand/generated/locator.js +0 -368
- package/dist/drivers/stagehand/generated/page.d.ts +0 -377
- package/dist/drivers/stagehand/generated/page.js +0 -439
- package/dist/drivers/stagehand/generated/response.d.ts +0 -197
- package/dist/drivers/stagehand/generated/response.js +0 -232
- package/dist/drivers/stagehand/index.d.ts +0 -5
- package/dist/drivers/stagehand/index.js +0 -8
- package/dist/drivers/stagehand/types.d.ts +0 -1
- package/dist/drivers/stagehand/types.js +0 -7
- package/dist/extensions/client.d.ts +0 -47
- package/dist/extensions/client.js +0 -154
- package/dist/extensions/index.d.ts +0 -1
- package/dist/extensions/index.js +0 -1
- package/dist/internal/dev-client.d.ts +0 -5
- package/dist/internal/dev-client.js +0 -9
- package/dist/internal/rpc-targets.d.ts +0 -17
- package/dist/internal/rpc-targets.js +0 -58
- package/dist/internal/serialization.d.ts +0 -32
- package/dist/internal/serialization.js +0 -42
- package/dist/internal/transport.d.ts +0 -24
- package/dist/internal/transport.js +0 -29
- package/dist/playwright.d.ts +0 -1
- package/dist/playwright.js +0 -2
- package/dist/puppeteer.d.ts +0 -1
- package/dist/puppeteer.js +0 -2
- package/dist/selenium.d.ts +0 -1
- package/dist/selenium.js +0 -2
- package/dist/stagehand.d.ts +0 -1
- package/dist/stagehand.js +0 -2
- package/dist/storage/client.d.ts +0 -151
- package/dist/storage/client.js +0 -329
- package/dist/storage/index.d.ts +0 -2
- package/dist/storage/index.js +0 -4
- package/dist/telemetry.d.ts +0 -18
- package/dist/telemetry.js +0 -93
- package/dist/updates/client.d.ts +0 -8
- package/dist/updates/client.js +0 -128
- package/dist/updates/index.d.ts +0 -1
- package/dist/updates/index.js +0 -1
- package/dist/utils/http.d.ts +0 -39
- package/dist/utils/http.js +0 -88
- package/dist/utils/index.d.ts +0 -4
- package/dist/utils/index.js +0 -4
- package/dist/utils/logger.d.ts +0 -27
- package/dist/utils/logger.js +0 -74
- package/dist/utils/schema.d.ts +0 -17
- package/dist/utils/schema.js +0 -31
- package/dist/utils/url.d.ts +0 -5
- package/dist/utils/url.js +0 -7
- package/dist/vault/client.d.ts +0 -43
- package/dist/vault/client.js +0 -123
- package/dist/vault/index.d.ts +0 -1
- package/dist/vault/index.js +0 -1
- package/dist/workspaces/browser-runtime.d.ts +0 -251
- package/dist/workspaces/browser-runtime.js +0 -1025
- package/dist/workspaces/client.d.ts +0 -48
- package/dist/workspaces/client.js +0 -222
- package/dist/workspaces/index.d.ts +0 -2
- package/dist/workspaces/index.js +0 -2
- package/dist/workspaces/runtime-event-pump.d.ts +0 -65
- package/dist/workspaces/runtime-event-pump.js +0 -716
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
-
*
|
|
4
|
-
* Generated from: packages/automation-spec/src/drivers/stagehand/methods/
|
|
5
|
-
* Run `pnpm generate:stagehand` to regenerate.
|
|
6
|
-
*/
|
|
7
|
-
import type { SimpleRpcSender } from '../../../internal/transport.js';
|
|
8
|
-
import type { RemoteStagehandPage } from './page.js';
|
|
9
|
-
/**
|
|
10
|
-
* RemoteStagehandContext - Remote Puppeteer Context API over RPC.
|
|
11
|
-
*
|
|
12
|
-
* @see https://pptr.dev/api/puppeteer.context
|
|
13
|
-
*/
|
|
14
|
-
export declare class RemoteStagehandContext {
|
|
15
|
-
readonly id: string;
|
|
16
|
-
protected sendRpc: SimpleRpcSender;
|
|
17
|
-
constructor(id: string, sendRpc: SimpleRpcSender, createPage: (id: string) => RemoteStagehandPage);
|
|
18
|
-
private createPage;
|
|
19
|
-
private _isClosed;
|
|
20
|
-
private rpc;
|
|
21
|
-
/**
|
|
22
|
-
* Mark this context as closed (internal use).
|
|
23
|
-
*/
|
|
24
|
-
markClosed(): void;
|
|
25
|
-
/**
|
|
26
|
-
* Create a new page (tab) in the browser.
|
|
27
|
-
* @param url - The URL to navigate to in the new page.
|
|
28
|
-
*
|
|
29
|
-
* @remarks
|
|
30
|
-
* The new page is automatically set as the active page. Defaults to "about:blank" if no URL is provided.
|
|
31
|
-
*
|
|
32
|
-
* @example
|
|
33
|
-
* const page = await context.newPage();
|
|
34
|
-
*
|
|
35
|
-
* @example
|
|
36
|
-
* const page = await context.newPage("https://example.com");
|
|
37
|
-
*
|
|
38
|
-
* @see https://docs.stagehand.dev/references/context#newpage
|
|
39
|
-
*/
|
|
40
|
-
newPage(url?: string): Promise<RemoteStagehandPage>;
|
|
41
|
-
/**
|
|
42
|
-
* Get all open pages in the browser context.
|
|
43
|
-
*
|
|
44
|
-
* @remarks
|
|
45
|
-
* Returns an array of all open pages, ordered from oldest to newest.
|
|
46
|
-
*
|
|
47
|
-
* @example
|
|
48
|
-
* const allPages = await context.pages();
|
|
49
|
-
*
|
|
50
|
-
* @see https://docs.stagehand.dev/references/context#pages
|
|
51
|
-
*/
|
|
52
|
-
pages(): Promise<RemoteStagehandPage[]>;
|
|
53
|
-
/**
|
|
54
|
-
* Get the currently active page.
|
|
55
|
-
*
|
|
56
|
-
* @remarks
|
|
57
|
-
* The active page is determined by:
|
|
58
|
-
* 1. Most recently interacted with page
|
|
59
|
-
* 2. Most recently created page if no interaction history
|
|
60
|
-
* 3. undefined if all pages have been closed
|
|
61
|
-
*
|
|
62
|
-
* @example
|
|
63
|
-
* const page = await context.activePage();
|
|
64
|
-
*
|
|
65
|
-
* @see https://docs.stagehand.dev/references/context#activepage
|
|
66
|
-
*/
|
|
67
|
-
activePage(): Promise<RemoteStagehandPage | undefined>;
|
|
68
|
-
/**
|
|
69
|
-
* Set a specific page as the active page.
|
|
70
|
-
* @param pageId - The ID of the page to set as active.
|
|
71
|
-
*
|
|
72
|
-
* @remarks
|
|
73
|
-
* This method:
|
|
74
|
-
* - Marks the page as most recently used
|
|
75
|
-
* - Brings the tab to the foreground (in headed mode)
|
|
76
|
-
* - Makes it the default page for subsequent operations
|
|
77
|
-
*
|
|
78
|
-
* Note: Pass page.id from a RemoteStagehandPage instance.
|
|
79
|
-
*
|
|
80
|
-
* @example
|
|
81
|
-
* context.setActivePage(page.id);
|
|
82
|
-
*
|
|
83
|
-
* @see https://docs.stagehand.dev/references/context#setactivepage
|
|
84
|
-
*/
|
|
85
|
-
setActivePage(pageId: string): Promise<void>;
|
|
86
|
-
/**
|
|
87
|
-
* Inject JavaScript that runs before any page scripts on every navigation.
|
|
88
|
-
* @param script - The script to inject. Can be raw source code, a file reference, or a function.
|
|
89
|
-
* @param arg - Extra data that is JSON-serialized and passed to your function.
|
|
90
|
-
*
|
|
91
|
-
* @remarks
|
|
92
|
-
* This method:
|
|
93
|
-
* - Runs at document start
|
|
94
|
-
* - Installs the script on all currently open pages
|
|
95
|
-
* - Replays it on every navigation of those pages
|
|
96
|
-
* - Automatically applies to any pages created after calling addInitScript()
|
|
97
|
-
*
|
|
98
|
-
* @example
|
|
99
|
-
* await context.addInitScript(() => {
|
|
100
|
-
* window.alert = () => {};
|
|
101
|
-
* window.confirm = () => true;
|
|
102
|
-
* });
|
|
103
|
-
*
|
|
104
|
-
* @example
|
|
105
|
-
* await context.addInitScript({ path: "./preloads/setup.js" });
|
|
106
|
-
*
|
|
107
|
-
* @see https://docs.stagehand.dev/references/context#addinitscript
|
|
108
|
-
*/
|
|
109
|
-
addInitScript<Arg = unknown>(script: string | {
|
|
110
|
-
path?: string;
|
|
111
|
-
content?: string;
|
|
112
|
-
} | ((arg: Arg) => unknown), arg?: Arg): Promise<void>;
|
|
113
|
-
/**
|
|
114
|
-
* Close the browser context and all associated pages.
|
|
115
|
-
*
|
|
116
|
-
* @remarks
|
|
117
|
-
* This method:
|
|
118
|
-
* - Closes the CDP connection
|
|
119
|
-
* - Cleans up all pages
|
|
120
|
-
* - Clears all internal mappings
|
|
121
|
-
*
|
|
122
|
-
* Note: This is typically called internally by stagehand.close(). You usually don't need to call this directly.
|
|
123
|
-
*
|
|
124
|
-
* @see https://docs.stagehand.dev/references/context#close
|
|
125
|
-
*/
|
|
126
|
-
close(): Promise<void>;
|
|
127
|
-
}
|
|
@@ -1,153 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
-
*
|
|
4
|
-
* Generated from: packages/automation-spec/src/drivers/stagehand/methods/
|
|
5
|
-
* Run `pnpm generate:stagehand` to regenerate.
|
|
6
|
-
*/
|
|
7
|
-
import { serializeFunctionSource } from '../../../internal/transport.js';
|
|
8
|
-
/**
|
|
9
|
-
* RemoteStagehandContext - Remote Puppeteer Context API over RPC.
|
|
10
|
-
*
|
|
11
|
-
* @see https://pptr.dev/api/puppeteer.context
|
|
12
|
-
*/
|
|
13
|
-
export class RemoteStagehandContext {
|
|
14
|
-
id;
|
|
15
|
-
sendRpc;
|
|
16
|
-
constructor(id, sendRpc, createPage) {
|
|
17
|
-
this.id = id;
|
|
18
|
-
this.sendRpc = sendRpc;
|
|
19
|
-
this.createPage = createPage;
|
|
20
|
-
}
|
|
21
|
-
createPage;
|
|
22
|
-
_isClosed = false;
|
|
23
|
-
rpc(method, args) {
|
|
24
|
-
if (this._isClosed) {
|
|
25
|
-
throw new Error('Context is closed');
|
|
26
|
-
}
|
|
27
|
-
return this.sendRpc(method, args);
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Mark this context as closed (internal use).
|
|
31
|
-
*/
|
|
32
|
-
markClosed() {
|
|
33
|
-
this._isClosed = true;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Create a new page (tab) in the browser.
|
|
37
|
-
* @param url - The URL to navigate to in the new page.
|
|
38
|
-
*
|
|
39
|
-
* @remarks
|
|
40
|
-
* The new page is automatically set as the active page. Defaults to "about:blank" if no URL is provided.
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* const page = await context.newPage();
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* const page = await context.newPage("https://example.com");
|
|
47
|
-
*
|
|
48
|
-
* @see https://docs.stagehand.dev/references/context#newpage
|
|
49
|
-
*/
|
|
50
|
-
async newPage(url) {
|
|
51
|
-
const pageId = await this.rpc('newPage', [url]);
|
|
52
|
-
return this.createPage(pageId);
|
|
53
|
-
}
|
|
54
|
-
/**
|
|
55
|
-
* Get all open pages in the browser context.
|
|
56
|
-
*
|
|
57
|
-
* @remarks
|
|
58
|
-
* Returns an array of all open pages, ordered from oldest to newest.
|
|
59
|
-
*
|
|
60
|
-
* @example
|
|
61
|
-
* const allPages = await context.pages();
|
|
62
|
-
*
|
|
63
|
-
* @see https://docs.stagehand.dev/references/context#pages
|
|
64
|
-
*/
|
|
65
|
-
async pages() {
|
|
66
|
-
const pageIds = await this.rpc('pages', []);
|
|
67
|
-
return pageIds.map((id) => this.createPage(id));
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Get the currently active page.
|
|
71
|
-
*
|
|
72
|
-
* @remarks
|
|
73
|
-
* The active page is determined by:
|
|
74
|
-
* 1. Most recently interacted with page
|
|
75
|
-
* 2. Most recently created page if no interaction history
|
|
76
|
-
* 3. undefined if all pages have been closed
|
|
77
|
-
*
|
|
78
|
-
* @example
|
|
79
|
-
* const page = await context.activePage();
|
|
80
|
-
*
|
|
81
|
-
* @see https://docs.stagehand.dev/references/context#activepage
|
|
82
|
-
*/
|
|
83
|
-
async activePage() {
|
|
84
|
-
const pageId = await this.rpc('activePage', []);
|
|
85
|
-
if (!pageId)
|
|
86
|
-
return undefined;
|
|
87
|
-
return this.createPage(pageId);
|
|
88
|
-
}
|
|
89
|
-
/**
|
|
90
|
-
* Set a specific page as the active page.
|
|
91
|
-
* @param pageId - The ID of the page to set as active.
|
|
92
|
-
*
|
|
93
|
-
* @remarks
|
|
94
|
-
* This method:
|
|
95
|
-
* - Marks the page as most recently used
|
|
96
|
-
* - Brings the tab to the foreground (in headed mode)
|
|
97
|
-
* - Makes it the default page for subsequent operations
|
|
98
|
-
*
|
|
99
|
-
* Note: Pass page.id from a RemoteStagehandPage instance.
|
|
100
|
-
*
|
|
101
|
-
* @example
|
|
102
|
-
* context.setActivePage(page.id);
|
|
103
|
-
*
|
|
104
|
-
* @see https://docs.stagehand.dev/references/context#setactivepage
|
|
105
|
-
*/
|
|
106
|
-
async setActivePage(pageId) {
|
|
107
|
-
await this.rpc('setActivePage', [pageId]);
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Inject JavaScript that runs before any page scripts on every navigation.
|
|
111
|
-
* @param script - The script to inject. Can be raw source code, a file reference, or a function.
|
|
112
|
-
* @param arg - Extra data that is JSON-serialized and passed to your function.
|
|
113
|
-
*
|
|
114
|
-
* @remarks
|
|
115
|
-
* This method:
|
|
116
|
-
* - Runs at document start
|
|
117
|
-
* - Installs the script on all currently open pages
|
|
118
|
-
* - Replays it on every navigation of those pages
|
|
119
|
-
* - Automatically applies to any pages created after calling addInitScript()
|
|
120
|
-
*
|
|
121
|
-
* @example
|
|
122
|
-
* await context.addInitScript(() => {
|
|
123
|
-
* window.alert = () => {};
|
|
124
|
-
* window.confirm = () => true;
|
|
125
|
-
* });
|
|
126
|
-
*
|
|
127
|
-
* @example
|
|
128
|
-
* await context.addInitScript({ path: "./preloads/setup.js" });
|
|
129
|
-
*
|
|
130
|
-
* @see https://docs.stagehand.dev/references/context#addinitscript
|
|
131
|
-
*/
|
|
132
|
-
async addInitScript(script, arg) {
|
|
133
|
-
const _script = serializeFunctionSource(script);
|
|
134
|
-
await this.rpc('addInitScript', [_script, arg]);
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Close the browser context and all associated pages.
|
|
138
|
-
*
|
|
139
|
-
* @remarks
|
|
140
|
-
* This method:
|
|
141
|
-
* - Closes the CDP connection
|
|
142
|
-
* - Cleans up all pages
|
|
143
|
-
* - Clears all internal mappings
|
|
144
|
-
*
|
|
145
|
-
* Note: This is typically called internally by stagehand.close(). You usually don't need to call this directly.
|
|
146
|
-
*
|
|
147
|
-
* @see https://docs.stagehand.dev/references/context#close
|
|
148
|
-
*/
|
|
149
|
-
async close() {
|
|
150
|
-
await this.rpc('close', []);
|
|
151
|
-
this.markClosed();
|
|
152
|
-
}
|
|
153
|
-
}
|
|
@@ -1,324 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
-
*
|
|
4
|
-
* Generated from: packages/automation-spec/src/drivers/stagehand/methods/
|
|
5
|
-
* Run `pnpm generate:stagehand` to regenerate.
|
|
6
|
-
*/
|
|
7
|
-
import type { SimpleRpcSender } from '../../../internal/transport.js';
|
|
8
|
-
import type { StagehandFileInput, StagehandHighlightOptions, StagehandLocatorClickOptions, StagehandLocatorTypeOptions, StagehandSendClickEventOptions } from '../types.js';
|
|
9
|
-
/**
|
|
10
|
-
* RemoteStagehandLocator - Remote Puppeteer Locator API over RPC.
|
|
11
|
-
*
|
|
12
|
-
* @see https://pptr.dev/api/puppeteer.locator
|
|
13
|
-
*/
|
|
14
|
-
export declare class RemoteStagehandLocator {
|
|
15
|
-
readonly selector: string;
|
|
16
|
-
private sendRpc;
|
|
17
|
-
constructor(selector: string, sendRpc: SimpleRpcSender);
|
|
18
|
-
private rpc;
|
|
19
|
-
/**
|
|
20
|
-
* Create a new locator with a different selector (internal helper for nth/first).
|
|
21
|
-
*/
|
|
22
|
-
private createLocator;
|
|
23
|
-
/**
|
|
24
|
-
* Clones the locator.
|
|
25
|
-
* @returns A new locator with the same configuration.
|
|
26
|
-
*/
|
|
27
|
-
clone(): RemoteStagehandLocator;
|
|
28
|
-
/**
|
|
29
|
-
* Click the element at its visual center.
|
|
30
|
-
*
|
|
31
|
-
* @remarks
|
|
32
|
-
* The method:
|
|
33
|
-
* 1. Scrolls element into view
|
|
34
|
-
* 2. Gets element geometry
|
|
35
|
-
* 3. Moves mouse to center
|
|
36
|
-
* 4. Dispatches mousePressed and mouseReleased events
|
|
37
|
-
*
|
|
38
|
-
* Options include:
|
|
39
|
-
* - button: 'left' | 'right' | 'middle' (default: 'left')
|
|
40
|
-
* - clickCount: Number of clicks (default: 1)
|
|
41
|
-
*
|
|
42
|
-
* @example
|
|
43
|
-
* await locator.click();
|
|
44
|
-
*
|
|
45
|
-
* @example
|
|
46
|
-
* await locator.click({ button: "right" });
|
|
47
|
-
*
|
|
48
|
-
* @example
|
|
49
|
-
* await locator.click({ clickCount: 2 }); // Double click
|
|
50
|
-
*
|
|
51
|
-
* @see https://docs.stagehand.dev/references/locator#click
|
|
52
|
-
*/
|
|
53
|
-
click(options?: StagehandLocatorClickOptions): Promise<void>;
|
|
54
|
-
/**
|
|
55
|
-
* Fill an input, textarea, or contenteditable element.
|
|
56
|
-
* @param value - The text value to fill into the element.
|
|
57
|
-
*
|
|
58
|
-
* @remarks
|
|
59
|
-
* The method intelligently handles different input types:
|
|
60
|
-
* - Uses native value setter for special inputs (date, number, etc.)
|
|
61
|
-
* - Types text character-by-character for regular inputs
|
|
62
|
-
* - Clears existing content before filling
|
|
63
|
-
*
|
|
64
|
-
* @example
|
|
65
|
-
* await locator.fill("user@example.com");
|
|
66
|
-
*
|
|
67
|
-
* @see https://docs.stagehand.dev/references/locator#fill
|
|
68
|
-
*/
|
|
69
|
-
fill(value: string): Promise<void>;
|
|
70
|
-
/**
|
|
71
|
-
* Type text into the element with optional delay between keystrokes.
|
|
72
|
-
* @param text - The text to type.
|
|
73
|
-
*
|
|
74
|
-
* @remarks
|
|
75
|
-
* If delay is not specified, uses Input.insertText for efficiency.
|
|
76
|
-
*
|
|
77
|
-
* @example
|
|
78
|
-
* await locator.type("Hello");
|
|
79
|
-
*
|
|
80
|
-
* @example
|
|
81
|
-
* await locator.type("World", { delay: 100 });
|
|
82
|
-
*
|
|
83
|
-
* @see https://docs.stagehand.dev/references/locator#type
|
|
84
|
-
*/
|
|
85
|
-
type(text: string, options?: StagehandLocatorTypeOptions): Promise<void>;
|
|
86
|
-
/**
|
|
87
|
-
* Move the mouse cursor to the element's center without clicking.
|
|
88
|
-
*
|
|
89
|
-
* @remarks
|
|
90
|
-
* Scrolls the element into view and dispatches a mouse move event.
|
|
91
|
-
*
|
|
92
|
-
* @example
|
|
93
|
-
* await locator.hover();
|
|
94
|
-
*
|
|
95
|
-
* @see https://docs.stagehand.dev/references/locator#hover
|
|
96
|
-
*/
|
|
97
|
-
hover(): Promise<void>;
|
|
98
|
-
/**
|
|
99
|
-
* Select one or more options in a <select> element.
|
|
100
|
-
* @param values - Option value(s) to select.
|
|
101
|
-
* @returns Array of values that were actually selected.
|
|
102
|
-
*
|
|
103
|
-
* @remarks
|
|
104
|
-
* For multi-select elements, pass an array of values.
|
|
105
|
-
*
|
|
106
|
-
* @example
|
|
107
|
-
* await locator.selectOption("blue");
|
|
108
|
-
*
|
|
109
|
-
* @example
|
|
110
|
-
* await locator.selectOption(["red", "green"]);
|
|
111
|
-
*
|
|
112
|
-
* @see https://docs.stagehand.dev/references/locator#selectoption
|
|
113
|
-
*/
|
|
114
|
-
selectOption(values: string | string[]): Promise<string[]>;
|
|
115
|
-
/**
|
|
116
|
-
* Set files on an <input type="file"> element.
|
|
117
|
-
* @param files - File paths or file payloads to upload.
|
|
118
|
-
*
|
|
119
|
-
* @remarks
|
|
120
|
-
* Accepts:
|
|
121
|
-
* - File path (string)
|
|
122
|
-
* - Array of file paths
|
|
123
|
-
* - File payload object { name, mimeType, buffer }
|
|
124
|
-
* - Array of file payloads
|
|
125
|
-
*
|
|
126
|
-
* Pass an empty array to clear the file selection.
|
|
127
|
-
*
|
|
128
|
-
* @example
|
|
129
|
-
* await locator.setInputFiles("./file.pdf");
|
|
130
|
-
*
|
|
131
|
-
* @example
|
|
132
|
-
* await locator.setInputFiles(["file1.txt", "file2.txt"]);
|
|
133
|
-
*
|
|
134
|
-
* @example
|
|
135
|
-
* await locator.setInputFiles({ name: "file.txt", mimeType: "text/plain", buffer: "..." });
|
|
136
|
-
*
|
|
137
|
-
* @example
|
|
138
|
-
* await locator.setInputFiles([]); // Clear files
|
|
139
|
-
*
|
|
140
|
-
* @see https://docs.stagehand.dev/references/locator#setinputfiles
|
|
141
|
-
*/
|
|
142
|
-
setInputFiles(files: StagehandFileInput): Promise<void>;
|
|
143
|
-
/**
|
|
144
|
-
* Check if the element is visible.
|
|
145
|
-
* @returns true if element is attached and visible.
|
|
146
|
-
*
|
|
147
|
-
* @example
|
|
148
|
-
* const visible = await locator.isVisible();
|
|
149
|
-
*
|
|
150
|
-
* @see https://docs.stagehand.dev/references/locator#isvisible
|
|
151
|
-
*/
|
|
152
|
-
isVisible(): Promise<boolean>;
|
|
153
|
-
/**
|
|
154
|
-
* Check if a checkbox or radio button is checked.
|
|
155
|
-
* @returns true if checked.
|
|
156
|
-
*
|
|
157
|
-
* @remarks
|
|
158
|
-
* Also considers aria-checked for ARIA widgets.
|
|
159
|
-
*
|
|
160
|
-
* @example
|
|
161
|
-
* const checked = await locator.isChecked();
|
|
162
|
-
*
|
|
163
|
-
* @see https://docs.stagehand.dev/references/locator#ischecked
|
|
164
|
-
*/
|
|
165
|
-
isChecked(): Promise<boolean>;
|
|
166
|
-
/**
|
|
167
|
-
* Get the current value of an input element.
|
|
168
|
-
* @returns The element's input value.
|
|
169
|
-
*
|
|
170
|
-
* @remarks
|
|
171
|
-
* Works with: <input>, <textarea>, <select>, contenteditable elements.
|
|
172
|
-
*
|
|
173
|
-
* @example
|
|
174
|
-
* const value = await locator.inputValue();
|
|
175
|
-
*
|
|
176
|
-
* @see https://docs.stagehand.dev/references/locator#inputvalue
|
|
177
|
-
*/
|
|
178
|
-
inputValue(): Promise<string>;
|
|
179
|
-
/**
|
|
180
|
-
* Get the element's text content (raw).
|
|
181
|
-
* @returns The element's textContent property.
|
|
182
|
-
*
|
|
183
|
-
* @example
|
|
184
|
-
* const text = await locator.textContent();
|
|
185
|
-
*
|
|
186
|
-
* @see https://docs.stagehand.dev/references/locator#textcontent
|
|
187
|
-
*/
|
|
188
|
-
textContent(): Promise<string>;
|
|
189
|
-
/**
|
|
190
|
-
* Get the element's visible text (layout-aware).
|
|
191
|
-
* @returns The element's innerText property.
|
|
192
|
-
*
|
|
193
|
-
* @example
|
|
194
|
-
* const text = await locator.innerText();
|
|
195
|
-
*
|
|
196
|
-
* @see https://docs.stagehand.dev/references/locator#innertext
|
|
197
|
-
*/
|
|
198
|
-
innerText(): Promise<string>;
|
|
199
|
-
/**
|
|
200
|
-
* Get the element's inner HTML.
|
|
201
|
-
* @returns The element's innerHTML property.
|
|
202
|
-
*
|
|
203
|
-
* @example
|
|
204
|
-
* const html = await locator.innerHtml();
|
|
205
|
-
*
|
|
206
|
-
* @see https://docs.stagehand.dev/references/locator#innerhtml
|
|
207
|
-
*/
|
|
208
|
-
innerHtml(): Promise<string>;
|
|
209
|
-
/**
|
|
210
|
-
* Return the number of elements matching this locator.
|
|
211
|
-
*
|
|
212
|
-
* @example
|
|
213
|
-
* const count = await locator.count();
|
|
214
|
-
*
|
|
215
|
-
* @see https://docs.stagehand.dev/references/locator#count
|
|
216
|
-
*/
|
|
217
|
-
count(): Promise<number>;
|
|
218
|
-
/**
|
|
219
|
-
* Return a locator for the nth matching element.
|
|
220
|
-
* @param index - Zero-based index of the element.
|
|
221
|
-
*
|
|
222
|
-
* @remarks
|
|
223
|
-
* Index is zero-based.
|
|
224
|
-
*
|
|
225
|
-
* @example
|
|
226
|
-
* const secondItem = locator.nth(1);
|
|
227
|
-
*
|
|
228
|
-
* @see https://docs.stagehand.dev/references/locator#nth
|
|
229
|
-
*/
|
|
230
|
-
nth(index: number): RemoteStagehandLocator;
|
|
231
|
-
/**
|
|
232
|
-
* Return a locator for the first matching element.
|
|
233
|
-
*
|
|
234
|
-
* @example
|
|
235
|
-
* const firstItem = locator.first();
|
|
236
|
-
*
|
|
237
|
-
* @see https://docs.stagehand.dev/references/locator#first
|
|
238
|
-
*/
|
|
239
|
-
first(): RemoteStagehandLocator;
|
|
240
|
-
/**
|
|
241
|
-
* Visually highlight the element with an overlay.
|
|
242
|
-
*
|
|
243
|
-
* @remarks
|
|
244
|
-
* Useful for debugging and visual verification.
|
|
245
|
-
*
|
|
246
|
-
* Options include:
|
|
247
|
-
* - durationMs: How long to display the highlight (default: 800)
|
|
248
|
-
* - borderColor: Border color RGBA values
|
|
249
|
-
* - contentColor: Content fill color RGBA values
|
|
250
|
-
*
|
|
251
|
-
* @example
|
|
252
|
-
* await locator.highlight();
|
|
253
|
-
*
|
|
254
|
-
* @example
|
|
255
|
-
* await locator.highlight({ durationMs: 2000 });
|
|
256
|
-
*
|
|
257
|
-
* @see https://docs.stagehand.dev/references/locator#highlight
|
|
258
|
-
*/
|
|
259
|
-
highlight(options?: StagehandHighlightOptions): Promise<void>;
|
|
260
|
-
/**
|
|
261
|
-
* Scroll the element to a specific position.
|
|
262
|
-
* @param percent - Scroll position as percentage (0-100).
|
|
263
|
-
*
|
|
264
|
-
* @remarks
|
|
265
|
-
* For <html> or <body> elements, scrolls the window. Otherwise, scrolls the element itself.
|
|
266
|
-
*
|
|
267
|
-
* @example
|
|
268
|
-
* await locator.scrollTo(50); // Scroll to 50%
|
|
269
|
-
*
|
|
270
|
-
* @example
|
|
271
|
-
* await locator.scrollTo("100"); // Scroll to bottom
|
|
272
|
-
*
|
|
273
|
-
* @see https://docs.stagehand.dev/references/locator#scrollto
|
|
274
|
-
*/
|
|
275
|
-
scrollTo(percent: number | string): Promise<void>;
|
|
276
|
-
/**
|
|
277
|
-
* Get the center coordinates of the element.
|
|
278
|
-
* @returns Center point in CSS pixels { x, y }.
|
|
279
|
-
*
|
|
280
|
-
* @example
|
|
281
|
-
* const { x, y } = await locator.centroid();
|
|
282
|
-
*
|
|
283
|
-
* @see https://docs.stagehand.dev/references/locator#centroid
|
|
284
|
-
*/
|
|
285
|
-
centroid(): Promise<{
|
|
286
|
-
x: number;
|
|
287
|
-
y: number;
|
|
288
|
-
}>;
|
|
289
|
-
/**
|
|
290
|
-
* Get the DOM backend node ID for the element.
|
|
291
|
-
* @returns Unique identifier for the DOM node.
|
|
292
|
-
*
|
|
293
|
-
* @remarks
|
|
294
|
-
* Useful for identity comparisons without maintaining element handles.
|
|
295
|
-
*
|
|
296
|
-
* @example
|
|
297
|
-
* const nodeId = await locator.backendNodeId();
|
|
298
|
-
*
|
|
299
|
-
* @see https://docs.stagehand.dev/references/locator#backendnodeid
|
|
300
|
-
*/
|
|
301
|
-
backendNodeId(): Promise<number>;
|
|
302
|
-
/**
|
|
303
|
-
* Dispatch a DOM click event directly on the element.
|
|
304
|
-
*
|
|
305
|
-
* @remarks
|
|
306
|
-
* This dispatches an event directly without synthesizing real pointer input.
|
|
307
|
-
* Useful for elements that rely on click handlers without needing hit-testing.
|
|
308
|
-
*
|
|
309
|
-
* Options include:
|
|
310
|
-
* - bubbles: Whether the event bubbles (default: true)
|
|
311
|
-
* - cancelable: Whether the event is cancelable (default: true)
|
|
312
|
-
* - composed: Whether the event crosses shadow DOM boundaries (default: true)
|
|
313
|
-
* - detail: Click count detail (default: 1)
|
|
314
|
-
*
|
|
315
|
-
* @example
|
|
316
|
-
* await locator.sendClickEvent();
|
|
317
|
-
*
|
|
318
|
-
* @example
|
|
319
|
-
* await locator.sendClickEvent({ detail: 2 }); // Double click event
|
|
320
|
-
*
|
|
321
|
-
* @see https://docs.stagehand.dev/references/locator#sendclickevent
|
|
322
|
-
*/
|
|
323
|
-
sendClickEvent(options?: StagehandSendClickEventOptions): Promise<void>;
|
|
324
|
-
}
|