@bctrl/sdk 1.0.1
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 +75 -0
- package/dist/agents/browser-use/index.d.ts +1 -0
- package/dist/agents/browser-use/index.js +9 -0
- package/dist/agents/browser-use/namespace.d.ts +39 -0
- package/dist/agents/browser-use/namespace.js +93 -0
- package/dist/agents/index.d.ts +2 -0
- package/dist/agents/index.js +17 -0
- package/dist/agents/stagehand/core.d.ts +93 -0
- package/dist/agents/stagehand/core.js +144 -0
- package/dist/agents/stagehand/index.d.ts +3 -0
- package/dist/agents/stagehand/index.js +24 -0
- package/dist/agents/stagehand/namespace.d.ts +51 -0
- package/dist/agents/stagehand/namespace.js +65 -0
- package/dist/ai-credentials/client.d.ts +12 -0
- package/dist/ai-credentials/client.js +70 -0
- package/dist/ai-credentials/index.d.ts +1 -0
- package/dist/ai-credentials/index.js +1 -0
- package/dist/base/event-binding.d.ts +7 -0
- package/dist/base/event-binding.js +23 -0
- package/dist/base/types.d.ts +109 -0
- package/dist/base/types.js +4 -0
- package/dist/bctrl.d.ts +37 -0
- package/dist/bctrl.js +77 -0
- package/dist/browser-extensions/client.d.ts +15 -0
- package/dist/browser-extensions/client.js +72 -0
- package/dist/browser-extensions/index.d.ts +2 -0
- package/dist/browser-extensions/index.js +1 -0
- package/dist/browser-profiles/client.d.ts +11 -0
- package/dist/browser-profiles/client.js +63 -0
- package/dist/browser-profiles/index.d.ts +1 -0
- package/dist/browser-profiles/index.js +1 -0
- package/dist/captcha/index.d.ts +1 -0
- package/dist/captcha/index.js +1 -0
- package/dist/captcha/namespace.d.ts +34 -0
- package/dist/captcha/namespace.js +41 -0
- package/dist/client/index.d.ts +1 -0
- package/dist/client/index.js +1 -0
- package/dist/client/rpc.d.ts +83 -0
- package/dist/client/rpc.js +354 -0
- package/dist/config.d.ts +5 -0
- package/dist/config.js +28 -0
- package/dist/constants/browser.d.ts +2 -0
- package/dist/constants/browser.js +1 -0
- package/dist/contracts/agent-tools.d.ts +45 -0
- package/dist/contracts/agent-tools.js +31 -0
- package/dist/contracts/automation.d.ts +265 -0
- package/dist/contracts/automation.js +109 -0
- package/dist/contracts/browser-management.d.ts +179 -0
- package/dist/contracts/browser-management.js +95 -0
- package/dist/contracts/browser-use.d.ts +136 -0
- package/dist/contracts/browser-use.js +93 -0
- package/dist/contracts/captcha.d.ts +114 -0
- package/dist/contracts/captcha.js +40 -0
- package/dist/contracts/desktop.d.ts +223 -0
- package/dist/contracts/desktop.js +121 -0
- package/dist/contracts/drivers/playwright.d.ts +2008 -0
- package/dist/contracts/drivers/playwright.js +2033 -0
- package/dist/contracts/drivers/puppeteer.d.ts +1221 -0
- package/dist/contracts/drivers/puppeteer.js +941 -0
- package/dist/contracts/drivers/selenium.d.ts +156 -0
- package/dist/contracts/drivers/selenium.js +61 -0
- package/dist/contracts/drivers/stagehand.d.ts +155 -0
- package/dist/contracts/drivers/stagehand.js +7 -0
- package/dist/contracts/extensions.d.ts +13 -0
- package/dist/contracts/extensions.js +9 -0
- package/dist/contracts/index.d.ts +13 -0
- package/dist/contracts/index.js +13 -0
- package/dist/contracts/public-api.d.ts +360 -0
- package/dist/contracts/public-api.js +17 -0
- package/dist/contracts/runtime.d.ts +81 -0
- package/dist/contracts/runtime.js +16 -0
- package/dist/contracts/stagehand.d.ts +253 -0
- package/dist/contracts/stagehand.js +145 -0
- package/dist/contracts/storage.d.ts +51 -0
- package/dist/contracts/storage.js +56 -0
- package/dist/contracts/vault.d.ts +119 -0
- package/dist/contracts/vault.js +112 -0
- package/dist/contracts/version.d.ts +3 -0
- package/dist/contracts/version.js +16 -0
- package/dist/desktop.d.ts +2 -0
- package/dist/desktop.js +3 -0
- package/dist/drivers/desktop/index.d.ts +65 -0
- package/dist/drivers/desktop/index.js +68 -0
- package/dist/drivers/desktop/session.d.ts +313 -0
- package/dist/drivers/desktop/session.js +432 -0
- package/dist/drivers/playwright/event-emitter.d.ts +160 -0
- package/dist/drivers/playwright/event-emitter.js +297 -0
- package/dist/drivers/playwright/generated/api-request-context.d.ts +137 -0
- package/dist/drivers/playwright/generated/api-request-context.js +154 -0
- package/dist/drivers/playwright/generated/api-response.d.ts +119 -0
- package/dist/drivers/playwright/generated/api-response.js +123 -0
- package/dist/drivers/playwright/generated/browser-context.d.ts +284 -0
- package/dist/drivers/playwright/generated/browser-context.js +458 -0
- package/dist/drivers/playwright/generated/browser.d.ts +120 -0
- package/dist/drivers/playwright/generated/browser.js +151 -0
- package/dist/drivers/playwright/generated/clock.d.ts +80 -0
- package/dist/drivers/playwright/generated/clock.js +94 -0
- package/dist/drivers/playwright/generated/console-message.d.ts +94 -0
- package/dist/drivers/playwright/generated/console-message.js +89 -0
- package/dist/drivers/playwright/generated/coverage.d.ts +57 -0
- package/dist/drivers/playwright/generated/coverage.js +66 -0
- package/dist/drivers/playwright/generated/dialog.d.ts +79 -0
- package/dist/drivers/playwright/generated/dialog.js +80 -0
- package/dist/drivers/playwright/generated/element-handle.d.ts +399 -0
- package/dist/drivers/playwright/generated/element-handle.js +501 -0
- package/dist/drivers/playwright/generated/frame-locator.d.ts +34 -0
- package/dist/drivers/playwright/generated/frame-locator.js +63 -0
- package/dist/drivers/playwright/generated/frame.d.ts +557 -0
- package/dist/drivers/playwright/generated/frame.js +634 -0
- package/dist/drivers/playwright/generated/js-handle.d.ts +72 -0
- package/dist/drivers/playwright/generated/js-handle.js +92 -0
- package/dist/drivers/playwright/generated/keyboard.d.ts +103 -0
- package/dist/drivers/playwright/generated/keyboard.js +113 -0
- package/dist/drivers/playwright/generated/locator.d.ts +795 -0
- package/dist/drivers/playwright/generated/locator.js +974 -0
- package/dist/drivers/playwright/generated/mouse.d.ts +97 -0
- package/dist/drivers/playwright/generated/mouse.js +109 -0
- package/dist/drivers/playwright/generated/page.d.ts +762 -0
- package/dist/drivers/playwright/generated/page.js +988 -0
- package/dist/drivers/playwright/generated/touchscreen.d.ts +34 -0
- package/dist/drivers/playwright/generated/touchscreen.js +37 -0
- package/dist/drivers/playwright/generated/tracing.d.ts +78 -0
- package/dist/drivers/playwright/generated/tracing.js +80 -0
- package/dist/drivers/playwright/generated/worker.d.ts +53 -0
- package/dist/drivers/playwright/generated/worker.js +59 -0
- package/dist/drivers/playwright/index.d.ts +19 -0
- package/dist/drivers/playwright/index.js +20 -0
- package/dist/drivers/playwright/remote-base.d.ts +62 -0
- package/dist/drivers/playwright/remote-base.js +86 -0
- package/dist/drivers/playwright/types.d.ts +148 -0
- package/dist/drivers/playwright/types.js +8 -0
- package/dist/drivers/puppeteer/errors.d.ts +50 -0
- package/dist/drivers/puppeteer/errors.js +71 -0
- package/dist/drivers/puppeteer/event-emitter.d.ts +145 -0
- package/dist/drivers/puppeteer/event-emitter.js +259 -0
- package/dist/drivers/puppeteer/generated/accessibility.d.ts +77 -0
- package/dist/drivers/puppeteer/generated/accessibility.js +74 -0
- package/dist/drivers/puppeteer/generated/browser-context.d.ts +116 -0
- package/dist/drivers/puppeteer/generated/browser-context.js +168 -0
- package/dist/drivers/puppeteer/generated/browser.d.ts +169 -0
- package/dist/drivers/puppeteer/generated/browser.js +246 -0
- package/dist/drivers/puppeteer/generated/console-message.d.ts +54 -0
- package/dist/drivers/puppeteer/generated/console-message.js +69 -0
- package/dist/drivers/puppeteer/generated/coverage.d.ts +49 -0
- package/dist/drivers/puppeteer/generated/coverage.js +57 -0
- package/dist/drivers/puppeteer/generated/dialog.d.ts +46 -0
- package/dist/drivers/puppeteer/generated/dialog.js +60 -0
- package/dist/drivers/puppeteer/generated/element-handle.d.ts +261 -0
- package/dist/drivers/puppeteer/generated/element-handle.js +341 -0
- package/dist/drivers/puppeteer/generated/file-chooser.d.ts +34 -0
- package/dist/drivers/puppeteer/generated/file-chooser.js +43 -0
- package/dist/drivers/puppeteer/generated/frame.d.ts +221 -0
- package/dist/drivers/puppeteer/generated/frame.js +302 -0
- package/dist/drivers/puppeteer/generated/http-request.d.ts +195 -0
- package/dist/drivers/puppeteer/generated/http-request.js +243 -0
- package/dist/drivers/puppeteer/generated/http-response.d.ts +142 -0
- package/dist/drivers/puppeteer/generated/http-response.js +169 -0
- package/dist/drivers/puppeteer/generated/js-handle.d.ts +104 -0
- package/dist/drivers/puppeteer/generated/js-handle.js +125 -0
- package/dist/drivers/puppeteer/generated/keyboard.d.ts +79 -0
- package/dist/drivers/puppeteer/generated/keyboard.js +89 -0
- package/dist/drivers/puppeteer/generated/locator.d.ts +141 -0
- package/dist/drivers/puppeteer/generated/locator.js +164 -0
- package/dist/drivers/puppeteer/generated/mouse.d.ts +74 -0
- package/dist/drivers/puppeteer/generated/mouse.js +94 -0
- package/dist/drivers/puppeteer/generated/page.d.ts +604 -0
- package/dist/drivers/puppeteer/generated/page.js +776 -0
- package/dist/drivers/puppeteer/generated/target.d.ts +105 -0
- package/dist/drivers/puppeteer/generated/target.js +123 -0
- package/dist/drivers/puppeteer/generated/touchscreen.d.ts +87 -0
- package/dist/drivers/puppeteer/generated/touchscreen.js +103 -0
- package/dist/drivers/puppeteer/generated/tracing.d.ts +38 -0
- package/dist/drivers/puppeteer/generated/tracing.js +43 -0
- package/dist/drivers/puppeteer/generated/web-worker.d.ts +63 -0
- package/dist/drivers/puppeteer/generated/web-worker.js +73 -0
- package/dist/drivers/puppeteer/index.d.ts +21 -0
- package/dist/drivers/puppeteer/index.js +23 -0
- package/dist/drivers/puppeteer/remote-base.d.ts +57 -0
- package/dist/drivers/puppeteer/remote-base.js +79 -0
- package/dist/drivers/puppeteer/types.d.ts +178 -0
- package/dist/drivers/puppeteer/types.js +8 -0
- package/dist/drivers/selenium/driver.d.ts +28 -0
- package/dist/drivers/selenium/driver.js +169 -0
- package/dist/drivers/selenium/element.d.ts +34 -0
- package/dist/drivers/selenium/element.js +73 -0
- package/dist/drivers/selenium/index.d.ts +3 -0
- package/dist/drivers/selenium/index.js +5 -0
- package/dist/drivers/selenium/types.d.ts +2 -0
- package/dist/drivers/selenium/types.js +12 -0
- package/dist/drivers/stagehand/generated/context.d.ts +127 -0
- package/dist/drivers/stagehand/generated/context.js +153 -0
- package/dist/drivers/stagehand/generated/locator.d.ts +324 -0
- package/dist/drivers/stagehand/generated/locator.js +368 -0
- package/dist/drivers/stagehand/generated/page.d.ts +377 -0
- package/dist/drivers/stagehand/generated/page.js +439 -0
- package/dist/drivers/stagehand/generated/response.d.ts +197 -0
- package/dist/drivers/stagehand/generated/response.js +232 -0
- package/dist/drivers/stagehand/index.d.ts +5 -0
- package/dist/drivers/stagehand/index.js +8 -0
- package/dist/drivers/stagehand/types.d.ts +1 -0
- package/dist/drivers/stagehand/types.js +7 -0
- package/dist/errors.d.ts +47 -0
- package/dist/errors.js +157 -0
- package/dist/extensions/client.d.ts +47 -0
- package/dist/extensions/client.js +154 -0
- package/dist/extensions/index.d.ts +1 -0
- package/dist/extensions/index.js +1 -0
- package/dist/index.d.ts +12 -0
- package/dist/index.js +23 -0
- package/dist/internal/dev-client.d.ts +5 -0
- package/dist/internal/dev-client.js +9 -0
- package/dist/internal/rpc-targets.d.ts +17 -0
- package/dist/internal/rpc-targets.js +58 -0
- package/dist/internal/serialization.d.ts +32 -0
- package/dist/internal/serialization.js +42 -0
- package/dist/internal/transport.d.ts +24 -0
- package/dist/internal/transport.js +29 -0
- package/dist/playwright.d.ts +1 -0
- package/dist/playwright.js +2 -0
- package/dist/puppeteer.d.ts +1 -0
- package/dist/puppeteer.js +2 -0
- package/dist/selenium.d.ts +1 -0
- package/dist/selenium.js +2 -0
- package/dist/stagehand.d.ts +1 -0
- package/dist/stagehand.js +2 -0
- package/dist/storage/client.d.ts +151 -0
- package/dist/storage/client.js +329 -0
- package/dist/storage/index.d.ts +2 -0
- package/dist/storage/index.js +4 -0
- package/dist/telemetry.d.ts +18 -0
- package/dist/telemetry.js +93 -0
- package/dist/updates/client.d.ts +8 -0
- package/dist/updates/client.js +128 -0
- package/dist/updates/index.d.ts +1 -0
- package/dist/updates/index.js +1 -0
- package/dist/utils/http.d.ts +39 -0
- package/dist/utils/http.js +88 -0
- package/dist/utils/index.d.ts +4 -0
- package/dist/utils/index.js +4 -0
- package/dist/utils/logger.d.ts +27 -0
- package/dist/utils/logger.js +74 -0
- package/dist/utils/schema.d.ts +17 -0
- package/dist/utils/schema.js +31 -0
- package/dist/utils/url.d.ts +5 -0
- package/dist/utils/url.js +7 -0
- package/dist/vault/client.d.ts +43 -0
- package/dist/vault/client.js +123 -0
- package/dist/vault/index.d.ts +1 -0
- package/dist/vault/index.js +1 -0
- package/dist/version.d.ts +1 -0
- package/dist/version.js +4 -0
- package/dist/workspaces/browser-runtime.d.ts +251 -0
- package/dist/workspaces/browser-runtime.js +1025 -0
- package/dist/workspaces/client.d.ts +48 -0
- package/dist/workspaces/client.js +222 -0
- package/dist/workspaces/index.d.ts +2 -0
- package/dist/workspaces/index.js +2 -0
- package/dist/workspaces/runtime-event-pump.d.ts +65 -0
- package/dist/workspaces/runtime-event-pump.js +716 -0
- package/package.json +56 -0
|
@@ -0,0 +1,169 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
*
|
|
4
|
+
* Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
|
|
5
|
+
* Run `pnpm generate:puppeteer` to regenerate.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Type guard to check if a value is a serialized HTTPResponse.
|
|
9
|
+
*/
|
|
10
|
+
export function isSerializedHTTPResponse(value) {
|
|
11
|
+
return (typeof value === 'object' &&
|
|
12
|
+
value !== null &&
|
|
13
|
+
'responseId' in value &&
|
|
14
|
+
'url' in value &&
|
|
15
|
+
'status' in value);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* RemotePuppeteerHTTPResponse - Remote Puppeteer HTTPResponse API over RPC.
|
|
19
|
+
*
|
|
20
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse
|
|
21
|
+
*/
|
|
22
|
+
export class RemotePuppeteerHTTPResponse {
|
|
23
|
+
sendRpc;
|
|
24
|
+
_responseId;
|
|
25
|
+
_factories;
|
|
26
|
+
constructor(sendRpc, data, factories) {
|
|
27
|
+
this.sendRpc = sendRpc;
|
|
28
|
+
this._responseId = data.responseId;
|
|
29
|
+
this._factories = factories;
|
|
30
|
+
this._data = data;
|
|
31
|
+
}
|
|
32
|
+
_data;
|
|
33
|
+
/**
|
|
34
|
+
* The response ID.
|
|
35
|
+
* @internal
|
|
36
|
+
*/
|
|
37
|
+
get id() {
|
|
38
|
+
return this._data.responseId;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Helper to send RPC calls prefixed with the response ID.
|
|
42
|
+
* @internal
|
|
43
|
+
*/
|
|
44
|
+
rpc(method, args) {
|
|
45
|
+
return this.sendRpc(`response:${this._data.responseId}:${method}`, args);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The URL of the response.
|
|
49
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.url
|
|
50
|
+
*/
|
|
51
|
+
url() {
|
|
52
|
+
return this._data.url;
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* The status code of the response (e.g., 200, 404).
|
|
56
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.status
|
|
57
|
+
*/
|
|
58
|
+
status() {
|
|
59
|
+
return this._data.status;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* The status text of the response (e.g., 'OK', 'Not Found').
|
|
63
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.statustext
|
|
64
|
+
*/
|
|
65
|
+
statusText() {
|
|
66
|
+
return this._data.statusText;
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* An object with HTTP headers associated with the response.
|
|
70
|
+
* All header names are lowercase.
|
|
71
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.headers
|
|
72
|
+
*/
|
|
73
|
+
headers() {
|
|
74
|
+
return this._data.headers;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* True if the response was successful (status in the range 200-299).
|
|
78
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.ok
|
|
79
|
+
*/
|
|
80
|
+
ok() {
|
|
81
|
+
return this._data.ok;
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* True if the response was served from the browser's disk cache.
|
|
85
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.fromcache
|
|
86
|
+
*/
|
|
87
|
+
fromCache() {
|
|
88
|
+
return this._data.fromCache;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* True if the response was served by a service worker.
|
|
92
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.fromserviceworker
|
|
93
|
+
*/
|
|
94
|
+
fromServiceWorker() {
|
|
95
|
+
return this._data.fromServiceWorker;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* The IP address and port number used to connect to the remote server.
|
|
99
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.remoteaddress
|
|
100
|
+
*/
|
|
101
|
+
remoteAddress() {
|
|
102
|
+
return this._data.remoteAddress ?? { ip: undefined, port: undefined };
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Security details if the response was received over HTTPS, null otherwise.
|
|
106
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.securitydetails
|
|
107
|
+
*/
|
|
108
|
+
securityDetails() {
|
|
109
|
+
return this._data.securityDetails ?? null;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Timing information related to the response.
|
|
113
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.timing
|
|
114
|
+
*/
|
|
115
|
+
timing() {
|
|
116
|
+
return this._data.timing ?? null;
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Promise which resolves to a buffer with the response body.
|
|
120
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.buffer
|
|
121
|
+
*/
|
|
122
|
+
async buffer() {
|
|
123
|
+
const base64 = await this.rpc('buffer', []);
|
|
124
|
+
return Buffer.from(base64, 'base64');
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Promise which resolves to the response body as text.
|
|
128
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.text
|
|
129
|
+
*/
|
|
130
|
+
async text() {
|
|
131
|
+
return this.rpc('text', []);
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Promise which resolves to the response body as JSON.
|
|
135
|
+
* @throws Error if the response body cannot be parsed as JSON.
|
|
136
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.json
|
|
137
|
+
*/
|
|
138
|
+
async json() {
|
|
139
|
+
return this.rpc('json', []);
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Alias for text() - returns the response body as a string.
|
|
143
|
+
* Note: In real Puppeteer, content() is an internal method.
|
|
144
|
+
* This is provided for convenience.
|
|
145
|
+
*/
|
|
146
|
+
async content() {
|
|
147
|
+
return this.text();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* A matching HTTPRequest object for this response.
|
|
151
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.request
|
|
152
|
+
*/
|
|
153
|
+
request() {
|
|
154
|
+
if (!this._data.requestId || !this._factories?.createRequest) {
|
|
155
|
+
return null;
|
|
156
|
+
}
|
|
157
|
+
return this._factories.createRequest(this._data.requestId);
|
|
158
|
+
}
|
|
159
|
+
/**
|
|
160
|
+
* The Frame that initiated this response, or null if navigating to error pages.
|
|
161
|
+
* @see https://pptr.dev/api/puppeteer.httpresponse.frame
|
|
162
|
+
*/
|
|
163
|
+
frame() {
|
|
164
|
+
if (!this._data.frameId || !this._factories?.createFrame) {
|
|
165
|
+
return null;
|
|
166
|
+
}
|
|
167
|
+
return this._factories.createFrame(this._data.frameId);
|
|
168
|
+
}
|
|
169
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
*
|
|
4
|
+
* Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
|
|
5
|
+
* Run `pnpm generate:puppeteer` to regenerate.
|
|
6
|
+
*/
|
|
7
|
+
import type { RemotePuppeteerElementHandle } from './element-handle.js';
|
|
8
|
+
/** RPC sender function type for JSHandle operations. */
|
|
9
|
+
export type JSHandleRpcSender = <T = unknown>(method: string, args: unknown[]) => Promise<T>;
|
|
10
|
+
/** Factory function to create new JSHandle instances. */
|
|
11
|
+
export type JSHandleFactory = (handleId: string) => RemotePuppeteerJSHandle;
|
|
12
|
+
/** Factory function to create ElementHandle instances (for asElement). */
|
|
13
|
+
export type ElementHandleFactoryForJSHandle = (handleId: string) => RemotePuppeteerElementHandle;
|
|
14
|
+
/** Serialized JSHandle response from backend. */
|
|
15
|
+
export interface SerializedJSHandle {
|
|
16
|
+
__bctrl_type: 'JSHandle';
|
|
17
|
+
id: string;
|
|
18
|
+
handleType: 'JSHandle' | 'ElementHandle';
|
|
19
|
+
}
|
|
20
|
+
/** Type guard for serialized JSHandle responses. */
|
|
21
|
+
export declare function isSerializedJSHandle(value: unknown): value is SerializedJSHandle;
|
|
22
|
+
/**
|
|
23
|
+
* RemotePuppeteerJSHandle - Remote Puppeteer JSHandle API over RPC.
|
|
24
|
+
*
|
|
25
|
+
* @see https://pptr.dev/api/puppeteer.jshandle
|
|
26
|
+
*/
|
|
27
|
+
export declare class RemotePuppeteerJSHandle<T = unknown> {
|
|
28
|
+
readonly handleId: string;
|
|
29
|
+
protected sendRpc: JSHandleRpcSender;
|
|
30
|
+
protected createJSHandle: JSHandleFactory;
|
|
31
|
+
protected elementHandleFactory: ElementHandleFactoryForJSHandle | undefined;
|
|
32
|
+
constructor(handleId: string, sendRpc: JSHandleRpcSender, createJSHandle: JSHandleFactory, elementHandleFactory?: ElementHandleFactoryForJSHandle);
|
|
33
|
+
protected _disposed: boolean;
|
|
34
|
+
/**
|
|
35
|
+
* Check if this handle has been disposed.
|
|
36
|
+
*/
|
|
37
|
+
get disposed(): boolean;
|
|
38
|
+
/**
|
|
39
|
+
* Internal RPC helper that checks disposed state.
|
|
40
|
+
*/
|
|
41
|
+
protected rpc<R = unknown>(method: string, args: unknown[]): Promise<R>;
|
|
42
|
+
/**
|
|
43
|
+
* Evaluates the given function with the current handle as its first argument.
|
|
44
|
+
* @param pageFunction - Function to evaluate, receiving this handle's value as first arg.
|
|
45
|
+
* @param args - Additional arguments to pass to the function.
|
|
46
|
+
*
|
|
47
|
+
* @remarks
|
|
48
|
+
* The element/value referenced by this handle is passed as the first argument to the function.
|
|
49
|
+
*
|
|
50
|
+
* @example
|
|
51
|
+
* ```typescript
|
|
52
|
+
* const windowHandle = await page.evaluateHandle(() => window);
|
|
53
|
+
* const href = await windowHandle.evaluate(win => win.location.href);
|
|
54
|
+
* ```
|
|
55
|
+
*
|
|
56
|
+
* @see https://pptr.dev/api/puppeteer.jshandle.evaluate
|
|
57
|
+
*/
|
|
58
|
+
evaluate<Params extends unknown[] = unknown[], Func extends (value: T, ...args: Params) => unknown = (value: T, ...args: Params) => unknown>(pageFunction: Func | string, ...args: unknown[]): Promise<Awaited<ReturnType<Func>>>;
|
|
59
|
+
/**
|
|
60
|
+
* Evaluates the given function with the current handle as its first argument and returns a new JSHandle.
|
|
61
|
+
* @param pageFunction - Function to evaluate, receiving this handle's value as first arg.
|
|
62
|
+
* @param args - Additional arguments to pass to the function.
|
|
63
|
+
*
|
|
64
|
+
* @example
|
|
65
|
+
* ```typescript
|
|
66
|
+
* const windowHandle = await page.evaluateHandle(() => window);
|
|
67
|
+
* const documentHandle = await windowHandle.evaluateHandle(win => win.document);
|
|
68
|
+
* ```
|
|
69
|
+
*
|
|
70
|
+
* @see https://pptr.dev/api/puppeteer.jshandle.evaluatehandle
|
|
71
|
+
*/
|
|
72
|
+
evaluateHandle<Params extends unknown[] = unknown[], Func extends (value: T, ...args: Params) => unknown = (value: T, ...args: Params) => unknown>(pageFunction: Func | string, ...args: unknown[]): Promise<RemotePuppeteerJSHandle<Awaited<ReturnType<Func>>>>;
|
|
73
|
+
/**
|
|
74
|
+
* Fetches a single property from the referenced object.
|
|
75
|
+
* @param propertyName - The name of the property to fetch.
|
|
76
|
+
* @returns A JSHandle for the property value.
|
|
77
|
+
*
|
|
78
|
+
* @example
|
|
79
|
+
* ```typescript
|
|
80
|
+
* const handle = await page.evaluateHandle(() => ({ foo: 'bar' }));
|
|
81
|
+
* const fooHandle = await handle.getProperty('foo');
|
|
82
|
+
* console.log(await fooHandle.jsonValue()); // 'bar'
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* @see https://pptr.dev/api/puppeteer.jshandle.getproperty
|
|
86
|
+
*/
|
|
87
|
+
getProperty<K extends keyof T>(propertyName: K | string): Promise<RemotePuppeteerJSHandle<T[K]>>;
|
|
88
|
+
/**
|
|
89
|
+
* Returns a vanilla object representing the serializable portions of the referenced object.
|
|
90
|
+
*
|
|
91
|
+
* @remarks
|
|
92
|
+
* If the object has a `toJSON` function, it will **not** be called.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* const handle = await page.evaluateHandle(() => ({ foo: 'bar' }));
|
|
97
|
+
* const value = await handle.jsonValue();
|
|
98
|
+
* console.log(value); // { foo: 'bar' }
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @see https://pptr.dev/api/puppeteer.jshandle.jsonvalue
|
|
102
|
+
*/
|
|
103
|
+
jsonValue(): Promise<T>;
|
|
104
|
+
}
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
*
|
|
4
|
+
* Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
|
|
5
|
+
* Run `pnpm generate:puppeteer` to regenerate.
|
|
6
|
+
*/
|
|
7
|
+
import { serializeFunctionSource } from '../../../internal/transport.js';
|
|
8
|
+
/** Type guard for serialized JSHandle responses. */
|
|
9
|
+
export function isSerializedJSHandle(value) {
|
|
10
|
+
return (value !== null &&
|
|
11
|
+
typeof value === 'object' &&
|
|
12
|
+
'__bctrl_type' in value &&
|
|
13
|
+
value.__bctrl_type === 'JSHandle' &&
|
|
14
|
+
'id' in value &&
|
|
15
|
+
typeof value.id === 'string' &&
|
|
16
|
+
'handleType' in value &&
|
|
17
|
+
typeof value.handleType === 'string');
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* RemotePuppeteerJSHandle - Remote Puppeteer JSHandle API over RPC.
|
|
21
|
+
*
|
|
22
|
+
* @see https://pptr.dev/api/puppeteer.jshandle
|
|
23
|
+
*/
|
|
24
|
+
export class RemotePuppeteerJSHandle {
|
|
25
|
+
handleId;
|
|
26
|
+
sendRpc;
|
|
27
|
+
createJSHandle;
|
|
28
|
+
elementHandleFactory;
|
|
29
|
+
constructor(handleId, sendRpc, createJSHandle, elementHandleFactory) {
|
|
30
|
+
this.handleId = handleId;
|
|
31
|
+
this.sendRpc = sendRpc;
|
|
32
|
+
this.createJSHandle = createJSHandle;
|
|
33
|
+
this.elementHandleFactory = elementHandleFactory;
|
|
34
|
+
}
|
|
35
|
+
_disposed = false;
|
|
36
|
+
/**
|
|
37
|
+
* Check if this handle has been disposed.
|
|
38
|
+
*/
|
|
39
|
+
get disposed() {
|
|
40
|
+
return this._disposed;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Internal RPC helper that checks disposed state.
|
|
44
|
+
*/
|
|
45
|
+
async rpc(method, args) {
|
|
46
|
+
if (this._disposed) {
|
|
47
|
+
throw new Error('JSHandle has been disposed');
|
|
48
|
+
}
|
|
49
|
+
return this.sendRpc(method, args);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Evaluates the given function with the current handle as its first argument.
|
|
53
|
+
* @param pageFunction - Function to evaluate, receiving this handle's value as first arg.
|
|
54
|
+
* @param args - Additional arguments to pass to the function.
|
|
55
|
+
*
|
|
56
|
+
* @remarks
|
|
57
|
+
* The element/value referenced by this handle is passed as the first argument to the function.
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* const windowHandle = await page.evaluateHandle(() => window);
|
|
62
|
+
* const href = await windowHandle.evaluate(win => win.location.href);
|
|
63
|
+
* ```
|
|
64
|
+
*
|
|
65
|
+
* @see https://pptr.dev/api/puppeteer.jshandle.evaluate
|
|
66
|
+
*/
|
|
67
|
+
async evaluate(pageFunction, ...args) {
|
|
68
|
+
const _pageFunction = serializeFunctionSource(pageFunction);
|
|
69
|
+
return this.rpc('evaluate', [_pageFunction, ...args]);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Evaluates the given function with the current handle as its first argument and returns a new JSHandle.
|
|
73
|
+
* @param pageFunction - Function to evaluate, receiving this handle's value as first arg.
|
|
74
|
+
* @param args - Additional arguments to pass to the function.
|
|
75
|
+
*
|
|
76
|
+
* @example
|
|
77
|
+
* ```typescript
|
|
78
|
+
* const windowHandle = await page.evaluateHandle(() => window);
|
|
79
|
+
* const documentHandle = await windowHandle.evaluateHandle(win => win.document);
|
|
80
|
+
* ```
|
|
81
|
+
*
|
|
82
|
+
* @see https://pptr.dev/api/puppeteer.jshandle.evaluatehandle
|
|
83
|
+
*/
|
|
84
|
+
async evaluateHandle(pageFunction, ...args) {
|
|
85
|
+
const _pageFunction = serializeFunctionSource(pageFunction);
|
|
86
|
+
const result = await this.rpc('evaluateHandle', [_pageFunction, ...args]);
|
|
87
|
+
return this.createJSHandle(result.id);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Fetches a single property from the referenced object.
|
|
91
|
+
* @param propertyName - The name of the property to fetch.
|
|
92
|
+
* @returns A JSHandle for the property value.
|
|
93
|
+
*
|
|
94
|
+
* @example
|
|
95
|
+
* ```typescript
|
|
96
|
+
* const handle = await page.evaluateHandle(() => ({ foo: 'bar' }));
|
|
97
|
+
* const fooHandle = await handle.getProperty('foo');
|
|
98
|
+
* console.log(await fooHandle.jsonValue()); // 'bar'
|
|
99
|
+
* ```
|
|
100
|
+
*
|
|
101
|
+
* @see https://pptr.dev/api/puppeteer.jshandle.getproperty
|
|
102
|
+
*/
|
|
103
|
+
async getProperty(propertyName) {
|
|
104
|
+
const result = await this.rpc('getProperty', [propertyName]);
|
|
105
|
+
return this.createJSHandle(result.id);
|
|
106
|
+
}
|
|
107
|
+
/**
|
|
108
|
+
* Returns a vanilla object representing the serializable portions of the referenced object.
|
|
109
|
+
*
|
|
110
|
+
* @remarks
|
|
111
|
+
* If the object has a `toJSON` function, it will **not** be called.
|
|
112
|
+
*
|
|
113
|
+
* @example
|
|
114
|
+
* ```typescript
|
|
115
|
+
* const handle = await page.evaluateHandle(() => ({ foo: 'bar' }));
|
|
116
|
+
* const value = await handle.jsonValue();
|
|
117
|
+
* console.log(value); // { foo: 'bar' }
|
|
118
|
+
* ```
|
|
119
|
+
*
|
|
120
|
+
* @see https://pptr.dev/api/puppeteer.jshandle.jsonvalue
|
|
121
|
+
*/
|
|
122
|
+
async jsonValue() {
|
|
123
|
+
return this.rpc('jsonValue', []);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
*
|
|
4
|
+
* Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
|
|
5
|
+
* Run `pnpm generate:puppeteer` to regenerate.
|
|
6
|
+
*/
|
|
7
|
+
import type { SimpleRpcSender } from '../../../internal/transport.js';
|
|
8
|
+
import { RemoteComponentBase } from '../remote-base.js';
|
|
9
|
+
import type { PuppeteerKeyDownOptions, PuppeteerKeyInput, PuppeteerKeyPressOptions, PuppeteerKeyboardTypeOptions } from '../types.js';
|
|
10
|
+
/**
|
|
11
|
+
* RemotePuppeteerKeyboard - Remote Puppeteer Keyboard API over RPC.
|
|
12
|
+
*
|
|
13
|
+
* @see https://pptr.dev/api/puppeteer.keyboard
|
|
14
|
+
*/
|
|
15
|
+
export declare class RemotePuppeteerKeyboard extends RemoteComponentBase {
|
|
16
|
+
constructor(sendRpc: SimpleRpcSender);
|
|
17
|
+
/**
|
|
18
|
+
* Dispatches a `keydown` event.
|
|
19
|
+
* @param key - Name of key to press, such as `ArrowLeft`.
|
|
20
|
+
* @param options - Options for the key down event.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* If `key` is a single character and no modifier keys besides `Shift` are being held down,
|
|
24
|
+
* a `keypress`/`input` event will also be generated. The `text` option can be specified
|
|
25
|
+
* to force an input event to be generated.
|
|
26
|
+
*
|
|
27
|
+
* Modifier keys DO affect `keyboard.down`. Holding down `Shift` will type the text in upper case.
|
|
28
|
+
*
|
|
29
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.down
|
|
30
|
+
*/
|
|
31
|
+
down(key: PuppeteerKeyInput, options?: PuppeteerKeyDownOptions): Promise<void>;
|
|
32
|
+
/**
|
|
33
|
+
* Dispatches a `keyup` event.
|
|
34
|
+
* @param key - Name of key to release, such as `ArrowLeft`.
|
|
35
|
+
*
|
|
36
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.up
|
|
37
|
+
*/
|
|
38
|
+
up(key: PuppeteerKeyInput): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Shortcut for `Keyboard.down` and `Keyboard.up`.
|
|
41
|
+
* @param key - Name of key to press, such as `ArrowLeft`.
|
|
42
|
+
* @param options - Options for the key press event including `delay`, `text`, and `commands`.
|
|
43
|
+
*
|
|
44
|
+
* @remarks
|
|
45
|
+
* If `key` is a single character and no modifier keys besides `Shift` are being held down,
|
|
46
|
+
* a `keypress`/`input` event will also be generated. The `text` option can be specified
|
|
47
|
+
* to force an input event to be generated.
|
|
48
|
+
*
|
|
49
|
+
* Modifier keys DO affect `keyboard.press`. Holding down `Shift` will type the text in upper case.
|
|
50
|
+
*
|
|
51
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.press
|
|
52
|
+
*/
|
|
53
|
+
press(key: PuppeteerKeyInput, options?: PuppeteerKeyPressOptions): Promise<void>;
|
|
54
|
+
/**
|
|
55
|
+
* Dispatches a `keypress` and `input` event. This does not send a `keydown` or `keyup` event.
|
|
56
|
+
* @param char - Character to send into the page.
|
|
57
|
+
*
|
|
58
|
+
* @remarks
|
|
59
|
+
* Modifier keys DO NOT affect `keyboard.sendCharacter`. Holding down `Shift` will not
|
|
60
|
+
* type the text in upper case.
|
|
61
|
+
*
|
|
62
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.sendcharacter
|
|
63
|
+
*/
|
|
64
|
+
sendCharacter(char: string): Promise<void>;
|
|
65
|
+
/**
|
|
66
|
+
* Sends a `keydown`, `keypress`/`input`, and `keyup` event for each character in the text.
|
|
67
|
+
* @param text - A text to type into a focused element.
|
|
68
|
+
* @param options - Options for typing including `delay` between key presses.
|
|
69
|
+
*
|
|
70
|
+
* @remarks
|
|
71
|
+
* To press a special key, like `Control` or `ArrowDown`, use `Keyboard.press`.
|
|
72
|
+
*
|
|
73
|
+
* Modifier keys DO NOT affect `keyboard.type`. Holding down `Shift` will not type the text
|
|
74
|
+
* in upper case.
|
|
75
|
+
*
|
|
76
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.type
|
|
77
|
+
*/
|
|
78
|
+
type(text: string, options?: PuppeteerKeyboardTypeOptions): Promise<void>;
|
|
79
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
+
*
|
|
4
|
+
* Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
|
|
5
|
+
* Run `pnpm generate:puppeteer` to regenerate.
|
|
6
|
+
*/
|
|
7
|
+
import { RemoteComponentBase } from '../remote-base.js';
|
|
8
|
+
/**
|
|
9
|
+
* RemotePuppeteerKeyboard - Remote Puppeteer Keyboard API over RPC.
|
|
10
|
+
*
|
|
11
|
+
* @see https://pptr.dev/api/puppeteer.keyboard
|
|
12
|
+
*/
|
|
13
|
+
export class RemotePuppeteerKeyboard extends RemoteComponentBase {
|
|
14
|
+
constructor(sendRpc) {
|
|
15
|
+
super(sendRpc);
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Dispatches a `keydown` event.
|
|
19
|
+
* @param key - Name of key to press, such as `ArrowLeft`.
|
|
20
|
+
* @param options - Options for the key down event.
|
|
21
|
+
*
|
|
22
|
+
* @remarks
|
|
23
|
+
* If `key` is a single character and no modifier keys besides `Shift` are being held down,
|
|
24
|
+
* a `keypress`/`input` event will also be generated. The `text` option can be specified
|
|
25
|
+
* to force an input event to be generated.
|
|
26
|
+
*
|
|
27
|
+
* Modifier keys DO affect `keyboard.down`. Holding down `Shift` will type the text in upper case.
|
|
28
|
+
*
|
|
29
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.down
|
|
30
|
+
*/
|
|
31
|
+
async down(key, options) {
|
|
32
|
+
await this.rpc('keyboard.down', [key, options]);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Dispatches a `keyup` event.
|
|
36
|
+
* @param key - Name of key to release, such as `ArrowLeft`.
|
|
37
|
+
*
|
|
38
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.up
|
|
39
|
+
*/
|
|
40
|
+
async up(key) {
|
|
41
|
+
await this.rpc('keyboard.up', [key]);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Shortcut for `Keyboard.down` and `Keyboard.up`.
|
|
45
|
+
* @param key - Name of key to press, such as `ArrowLeft`.
|
|
46
|
+
* @param options - Options for the key press event including `delay`, `text`, and `commands`.
|
|
47
|
+
*
|
|
48
|
+
* @remarks
|
|
49
|
+
* If `key` is a single character and no modifier keys besides `Shift` are being held down,
|
|
50
|
+
* a `keypress`/`input` event will also be generated. The `text` option can be specified
|
|
51
|
+
* to force an input event to be generated.
|
|
52
|
+
*
|
|
53
|
+
* Modifier keys DO affect `keyboard.press`. Holding down `Shift` will type the text in upper case.
|
|
54
|
+
*
|
|
55
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.press
|
|
56
|
+
*/
|
|
57
|
+
async press(key, options) {
|
|
58
|
+
await this.rpc('keyboard.press', [key, options]);
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Dispatches a `keypress` and `input` event. This does not send a `keydown` or `keyup` event.
|
|
62
|
+
* @param char - Character to send into the page.
|
|
63
|
+
*
|
|
64
|
+
* @remarks
|
|
65
|
+
* Modifier keys DO NOT affect `keyboard.sendCharacter`. Holding down `Shift` will not
|
|
66
|
+
* type the text in upper case.
|
|
67
|
+
*
|
|
68
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.sendcharacter
|
|
69
|
+
*/
|
|
70
|
+
async sendCharacter(char) {
|
|
71
|
+
await this.rpc('keyboard.sendCharacter', [char]);
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Sends a `keydown`, `keypress`/`input`, and `keyup` event for each character in the text.
|
|
75
|
+
* @param text - A text to type into a focused element.
|
|
76
|
+
* @param options - Options for typing including `delay` between key presses.
|
|
77
|
+
*
|
|
78
|
+
* @remarks
|
|
79
|
+
* To press a special key, like `Control` or `ArrowDown`, use `Keyboard.press`.
|
|
80
|
+
*
|
|
81
|
+
* Modifier keys DO NOT affect `keyboard.type`. Holding down `Shift` will not type the text
|
|
82
|
+
* in upper case.
|
|
83
|
+
*
|
|
84
|
+
* @see https://pptr.dev/api/puppeteer.keyboard.type
|
|
85
|
+
*/
|
|
86
|
+
async type(text, options) {
|
|
87
|
+
await this.rpc('keyboard.type', [text, options]);
|
|
88
|
+
}
|
|
89
|
+
}
|