@bctrl/sdk 1.0.1 → 1.0.2
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 +24 -29
- package/dist/bctrl.d.ts +22 -36
- package/dist/bctrl.js +40 -75
- package/dist/browsers.d.ts +24 -0
- package/dist/browsers.js +82 -0
- 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 +8 -23
- package/dist/invocations.d.ts +24 -0
- package/dist/invocations.js +66 -0
- package/dist/pagination.d.ts +2 -0
- package/dist/pagination.js +13 -0
- package/dist/runs.d.ts +38 -0
- package/dist/runs.js +99 -0
- package/dist/runtimes.d.ts +73 -0
- package/dist/runtimes.js +205 -0
- package/dist/spaces.d.ts +41 -0
- package/dist/spaces.js +96 -0
- package/dist/types.d.ts +386 -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 +12 -31
- 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,941 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* AUTO-GENERATED FILE - DO NOT EDIT
|
|
3
|
-
*
|
|
4
|
-
* Generated from: packages/automation-spec/src/drivers/puppeteer/options.ts
|
|
5
|
-
* Run `pnpm generate:sdk-contracts` to regenerate.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Puppeteer-specific option schemas
|
|
9
|
-
*
|
|
10
|
-
* These match the real Puppeteer API 1:1.
|
|
11
|
-
* @see https://pptr.dev/api
|
|
12
|
-
*/
|
|
13
|
-
import { z } from 'zod';
|
|
14
|
-
// ============================================================================
|
|
15
|
-
// Puppeteer Wait Until Values
|
|
16
|
-
// ============================================================================
|
|
17
|
-
export const PuppeteerWaitUntilSchema = z.enum([
|
|
18
|
-
'load',
|
|
19
|
-
'domcontentloaded',
|
|
20
|
-
'networkidle0',
|
|
21
|
-
'networkidle2',
|
|
22
|
-
]);
|
|
23
|
-
// waitUntil can be a single value or array of values
|
|
24
|
-
export const PuppeteerWaitUntilOptionSchema = z.union([
|
|
25
|
-
PuppeteerWaitUntilSchema,
|
|
26
|
-
z.array(PuppeteerWaitUntilSchema),
|
|
27
|
-
]);
|
|
28
|
-
// ============================================================================
|
|
29
|
-
// Navigation Options
|
|
30
|
-
// ============================================================================
|
|
31
|
-
export const PuppeteerGotoOptionsSchema = z.object({
|
|
32
|
-
waitUntil: PuppeteerWaitUntilOptionSchema.optional(),
|
|
33
|
-
timeout: z.number().nonnegative().optional(),
|
|
34
|
-
referer: z.string().optional(),
|
|
35
|
-
referrerPolicy: z.string().optional(),
|
|
36
|
-
});
|
|
37
|
-
export const PuppeteerWaitForNavigationOptionsSchema = z.object({
|
|
38
|
-
waitUntil: PuppeteerWaitUntilOptionSchema.optional(),
|
|
39
|
-
timeout: z.number().nonnegative().optional(),
|
|
40
|
-
});
|
|
41
|
-
// ReloadOptions extends WaitForOptions - https://pptr.dev/api/puppeteer.reloadoptions
|
|
42
|
-
export const PuppeteerReloadOptionsSchema = PuppeteerWaitForNavigationOptionsSchema.extend({
|
|
43
|
-
ignoreCache: z.boolean().optional(),
|
|
44
|
-
});
|
|
45
|
-
// WaitForNetworkIdleOptions - https://pptr.dev/api/puppeteer.waitfornetworkidleoptions
|
|
46
|
-
export const PuppeteerWaitForNetworkIdleOptionsSchema = z.object({
|
|
47
|
-
/** Maximum number of concurrent network connections to be considered inactive. Default: 0 */
|
|
48
|
-
concurrency: z.number().int().nonnegative().optional(),
|
|
49
|
-
/** Time in milliseconds the network should be idle. Default: 500 */
|
|
50
|
-
idleTime: z.number().nonnegative().optional(),
|
|
51
|
-
/** Maximum wait time in milliseconds. Pass 0 to disable timeout. Default: 30000 */
|
|
52
|
-
timeout: z.number().nonnegative().optional(),
|
|
53
|
-
});
|
|
54
|
-
// ============================================================================
|
|
55
|
-
// HTTP Response (serialized for RPC)
|
|
56
|
-
// ============================================================================
|
|
57
|
-
// RemoteAddress - https://pptr.dev/api/puppeteer.remoteaddress
|
|
58
|
-
export const PuppeteerRemoteAddressSchema = z.object({
|
|
59
|
-
ip: z.string().optional(),
|
|
60
|
-
port: z.number().optional(),
|
|
61
|
-
});
|
|
62
|
-
// SecurityDetails - https://pptr.dev/api/puppeteer.securitydetails
|
|
63
|
-
export const PuppeteerSecurityDetailsSchema = z.object({
|
|
64
|
-
issuer: z.string(),
|
|
65
|
-
protocol: z.string(),
|
|
66
|
-
subjectName: z.string(),
|
|
67
|
-
validFrom: z.number(),
|
|
68
|
-
validTo: z.number(),
|
|
69
|
-
subjectAlternativeNames: z.array(z.string()),
|
|
70
|
-
});
|
|
71
|
-
// ResourceTiming - https://developer.chrome.com/docs/devtools/network/reference/#timing
|
|
72
|
-
// Based on CDP Network.ResourceTiming
|
|
73
|
-
export const PuppeteerResourceTimingSchema = z.object({
|
|
74
|
-
requestTime: z.number(),
|
|
75
|
-
proxyStart: z.number(),
|
|
76
|
-
proxyEnd: z.number(),
|
|
77
|
-
dnsStart: z.number(),
|
|
78
|
-
dnsEnd: z.number(),
|
|
79
|
-
connectStart: z.number(),
|
|
80
|
-
connectEnd: z.number(),
|
|
81
|
-
sslStart: z.number(),
|
|
82
|
-
sslEnd: z.number(),
|
|
83
|
-
workerStart: z.number(),
|
|
84
|
-
workerReady: z.number(),
|
|
85
|
-
workerFetchStart: z.number(),
|
|
86
|
-
workerRespondWithSettled: z.number(),
|
|
87
|
-
sendStart: z.number(),
|
|
88
|
-
sendEnd: z.number(),
|
|
89
|
-
pushStart: z.number(),
|
|
90
|
-
pushEnd: z.number(),
|
|
91
|
-
receiveHeadersStart: z.number(),
|
|
92
|
-
receiveHeadersEnd: z.number(),
|
|
93
|
-
});
|
|
94
|
-
// HTTPResponse (serialized for RPC) - https://pptr.dev/api/puppeteer.httpresponse
|
|
95
|
-
// Extended with responseId for RPC tracking and all synchronous properties serialized
|
|
96
|
-
export const PuppeteerHTTPResponseSchema = z.object({
|
|
97
|
-
responseId: z.string(),
|
|
98
|
-
url: z.string(),
|
|
99
|
-
status: z.number(),
|
|
100
|
-
statusText: z.string(),
|
|
101
|
-
headers: z.record(z.string(), z.string()),
|
|
102
|
-
ok: z.boolean(),
|
|
103
|
-
fromCache: z.boolean(),
|
|
104
|
-
fromServiceWorker: z.boolean(),
|
|
105
|
-
remoteAddress: PuppeteerRemoteAddressSchema.optional(),
|
|
106
|
-
securityDetails: PuppeteerSecurityDetailsSchema.optional(),
|
|
107
|
-
timing: PuppeteerResourceTimingSchema.optional(),
|
|
108
|
-
// References for related objects (fetched via RPC if needed)
|
|
109
|
-
requestId: z.string().optional(),
|
|
110
|
-
frameId: z.string().optional(),
|
|
111
|
-
});
|
|
112
|
-
// ============================================================================
|
|
113
|
-
// Mouse Options
|
|
114
|
-
// ============================================================================
|
|
115
|
-
// MouseButton - https://pptr.dev/api/puppeteer.mousebutton
|
|
116
|
-
export const PuppeteerMouseButtonSchema = z.enum(['left', 'right', 'middle', 'back', 'forward']);
|
|
117
|
-
// Point - https://pptr.dev/api/puppeteer.point
|
|
118
|
-
export const PuppeteerPointSchema = z.object({
|
|
119
|
-
x: z.number(),
|
|
120
|
-
y: z.number(),
|
|
121
|
-
});
|
|
122
|
-
// Offset - https://pptr.dev/api/puppeteer.offset
|
|
123
|
-
export const PuppeteerOffsetSchema = z.object({
|
|
124
|
-
x: z.number(),
|
|
125
|
-
y: z.number(),
|
|
126
|
-
});
|
|
127
|
-
// MouseOptions - https://pptr.dev/api/puppeteer.mouseoptions
|
|
128
|
-
export const PuppeteerMouseOptionsSchema = z.object({
|
|
129
|
-
button: PuppeteerMouseButtonSchema.optional(),
|
|
130
|
-
clickCount: z.number().int().positive().optional(), // deprecated
|
|
131
|
-
});
|
|
132
|
-
// MouseClickOptions extends MouseOptions - https://pptr.dev/api/puppeteer.mouseclickoptions
|
|
133
|
-
export const PuppeteerMouseClickOptionsSchema = PuppeteerMouseOptionsSchema.extend({
|
|
134
|
-
count: z.number().int().positive().optional(),
|
|
135
|
-
delay: z.number().nonnegative().optional(),
|
|
136
|
-
});
|
|
137
|
-
// ClickOptions extends MouseClickOptions - https://pptr.dev/api/puppeteer.clickoptions
|
|
138
|
-
export const PuppeteerClickOptionsSchema = PuppeteerMouseClickOptionsSchema.extend({
|
|
139
|
-
offset: PuppeteerOffsetSchema.optional(),
|
|
140
|
-
/** @experimental If true, highlights the click location for debugging. */
|
|
141
|
-
debugHighlight: z.boolean().optional(),
|
|
142
|
-
});
|
|
143
|
-
// MouseMoveOptions - https://pptr.dev/api/puppeteer.mousemoveoptions
|
|
144
|
-
export const PuppeteerMouseMoveOptionsSchema = z.object({
|
|
145
|
-
steps: z.number().int().positive().optional(),
|
|
146
|
-
});
|
|
147
|
-
// MouseWheelOptions - https://pptr.dev/api/puppeteer.mousewheeloptions
|
|
148
|
-
export const PuppeteerMouseWheelOptionsSchema = z.object({
|
|
149
|
-
deltaX: z.number().optional(),
|
|
150
|
-
deltaY: z.number().optional(),
|
|
151
|
-
});
|
|
152
|
-
// DragData - https://chromedevtools.github.io/devtools-protocol/tot/Input/#type-DragData
|
|
153
|
-
// Used by drag, dragEnter, dragOver, drop methods
|
|
154
|
-
export const PuppeteerDragDataItemSchema = z.object({
|
|
155
|
-
mimeType: z.string(),
|
|
156
|
-
data: z.string(),
|
|
157
|
-
title: z.string().optional(),
|
|
158
|
-
baseURL: z.string().optional(),
|
|
159
|
-
});
|
|
160
|
-
export const PuppeteerDragDataSchema = z.object({
|
|
161
|
-
items: z.array(PuppeteerDragDataItemSchema),
|
|
162
|
-
files: z.array(z.string()).optional(),
|
|
163
|
-
dragOperationsMask: z.number().int(),
|
|
164
|
-
});
|
|
165
|
-
// KeyboardTypeOptions - https://pptr.dev/api/puppeteer.keyboardtypeoptions
|
|
166
|
-
export const PuppeteerKeyboardTypeOptionsSchema = z.object({
|
|
167
|
-
delay: z.number().nonnegative().optional(),
|
|
168
|
-
});
|
|
169
|
-
// KeyDownOptions - https://pptr.dev/api/puppeteer.keydownoptions
|
|
170
|
-
export const PuppeteerKeyDownOptionsSchema = z.object({
|
|
171
|
-
text: z.string().optional(),
|
|
172
|
-
commands: z.array(z.string()).optional(),
|
|
173
|
-
});
|
|
174
|
-
// KeyPressOptions - https://pptr.dev/api/puppeteer.keypressoptions
|
|
175
|
-
export const PuppeteerKeyPressOptionsSchema = z.object({
|
|
176
|
-
delay: z.number().nonnegative().optional(),
|
|
177
|
-
text: z.string().optional(),
|
|
178
|
-
commands: z.array(z.string()).optional(),
|
|
179
|
-
});
|
|
180
|
-
// ============================================================================
|
|
181
|
-
// Wait Options
|
|
182
|
-
// ============================================================================
|
|
183
|
-
export const PuppeteerWaitForOptionsSchema = z.object({
|
|
184
|
-
timeout: z.number().positive().optional(),
|
|
185
|
-
visible: z.boolean().optional(),
|
|
186
|
-
hidden: z.boolean().optional(),
|
|
187
|
-
});
|
|
188
|
-
// ============================================================================
|
|
189
|
-
// Screenshot Options
|
|
190
|
-
// ============================================================================
|
|
191
|
-
// ScreenshotClip extends BoundingBox - https://pptr.dev/api/puppeteer.screenshotclip
|
|
192
|
-
export const PuppeteerScreenshotClipSchema = z.object({
|
|
193
|
-
x: z.number(),
|
|
194
|
-
y: z.number(),
|
|
195
|
-
width: z.number().positive(),
|
|
196
|
-
height: z.number().positive(),
|
|
197
|
-
scale: z.number().positive().optional(), // default: 1
|
|
198
|
-
});
|
|
199
|
-
// Keep alias for backwards compatibility
|
|
200
|
-
/** @deprecated Use PuppeteerScreenshotClipSchema instead */
|
|
201
|
-
export const PuppeteerClipRegionSchema = PuppeteerScreenshotClipSchema;
|
|
202
|
-
// ImageFormat - https://pptr.dev/api/puppeteer.imageformat
|
|
203
|
-
export const PuppeteerImageFormatSchema = z.enum(['png', 'jpeg', 'webp']);
|
|
204
|
-
export const PuppeteerScreenshotOptionsSchema = z.object({
|
|
205
|
-
path: z.string().optional(),
|
|
206
|
-
type: PuppeteerImageFormatSchema.optional(),
|
|
207
|
-
quality: z.number().int().min(0).max(100).optional(),
|
|
208
|
-
fullPage: z.boolean().optional(),
|
|
209
|
-
clip: PuppeteerScreenshotClipSchema.optional(),
|
|
210
|
-
omitBackground: z.boolean().optional(),
|
|
211
|
-
encoding: z.enum(['base64', 'binary']).optional(),
|
|
212
|
-
captureBeyondViewport: z.boolean().optional(),
|
|
213
|
-
fromSurface: z.boolean().optional(), // default: true - capture from surface rather than view
|
|
214
|
-
optimizeForSpeed: z.boolean().optional(), // default: false
|
|
215
|
-
});
|
|
216
|
-
// ============================================================================
|
|
217
|
-
// PDF Options
|
|
218
|
-
// ============================================================================
|
|
219
|
-
export const PuppeteerPDFMarginSchema = z.object({
|
|
220
|
-
top: z.union([z.string(), z.number()]).optional(),
|
|
221
|
-
right: z.union([z.string(), z.number()]).optional(),
|
|
222
|
-
bottom: z.union([z.string(), z.number()]).optional(),
|
|
223
|
-
left: z.union([z.string(), z.number()]).optional(),
|
|
224
|
-
});
|
|
225
|
-
// PaperFormat - https://pptr.dev/api/puppeteer.paperformat
|
|
226
|
-
export const PuppeteerPaperFormatSchema = z.enum([
|
|
227
|
-
'letter',
|
|
228
|
-
'legal',
|
|
229
|
-
'tabloid',
|
|
230
|
-
'ledger',
|
|
231
|
-
'a0',
|
|
232
|
-
'a1',
|
|
233
|
-
'a2',
|
|
234
|
-
'a3',
|
|
235
|
-
'a4',
|
|
236
|
-
'a5',
|
|
237
|
-
'a6',
|
|
238
|
-
]);
|
|
239
|
-
export const PuppeteerPDFOptionsSchema = z.object({
|
|
240
|
-
path: z.string().optional(),
|
|
241
|
-
scale: z.number().positive().optional(),
|
|
242
|
-
displayHeaderFooter: z.boolean().optional(),
|
|
243
|
-
headerTemplate: z.string().optional(),
|
|
244
|
-
footerTemplate: z.string().optional(),
|
|
245
|
-
printBackground: z.boolean().optional(),
|
|
246
|
-
landscape: z.boolean().optional(),
|
|
247
|
-
pageRanges: z.string().optional(),
|
|
248
|
-
format: z.union([PuppeteerPaperFormatSchema, z.string()]).optional(),
|
|
249
|
-
width: z.union([z.string(), z.number()]).optional(),
|
|
250
|
-
height: z.union([z.string(), z.number()]).optional(),
|
|
251
|
-
margin: PuppeteerPDFMarginSchema.optional(),
|
|
252
|
-
preferCSSPageSize: z.boolean().optional(),
|
|
253
|
-
omitBackground: z.boolean().optional(),
|
|
254
|
-
timeout: z.number().nonnegative().optional(), // 0 disables timeout
|
|
255
|
-
/** @experimental Generate a document outline. */
|
|
256
|
-
outline: z.boolean().optional(),
|
|
257
|
-
/** @experimental Generate a tagged (accessible) PDF. Default: true */
|
|
258
|
-
tagged: z.boolean().optional(),
|
|
259
|
-
/** Wait for document.fonts.ready before generating PDF. Default: true */
|
|
260
|
-
waitForFonts: z.boolean().optional(),
|
|
261
|
-
});
|
|
262
|
-
// ============================================================================
|
|
263
|
-
// Viewport Options
|
|
264
|
-
// ============================================================================
|
|
265
|
-
export const PuppeteerViewportSchema = z.object({
|
|
266
|
-
width: z.number().int().positive(),
|
|
267
|
-
height: z.number().int().positive(),
|
|
268
|
-
deviceScaleFactor: z.number().positive().optional(),
|
|
269
|
-
isMobile: z.boolean().optional(),
|
|
270
|
-
hasTouch: z.boolean().optional(),
|
|
271
|
-
isLandscape: z.boolean().optional(),
|
|
272
|
-
});
|
|
273
|
-
// ============================================================================
|
|
274
|
-
// Cookie Options
|
|
275
|
-
// ============================================================================
|
|
276
|
-
// CookiePartitionKey - https://pptr.dev/api/puppeteer.cookiepartitionkey
|
|
277
|
-
// Represents a cookie partition key in Chrome
|
|
278
|
-
export const PuppeteerCookiePartitionKeySchema = z.object({
|
|
279
|
-
sourceOrigin: z.string(), // Required - site of top-level URL
|
|
280
|
-
hasCrossSiteAncestor: z.boolean().optional(), // Chrome only
|
|
281
|
-
});
|
|
282
|
-
// CookieSameSite - https://pptr.dev/api/puppeteer.cookiesamesite
|
|
283
|
-
export const PuppeteerCookieSameSiteSchema = z.enum(['Strict', 'Lax', 'None']);
|
|
284
|
-
// CookiePriority - https://pptr.dev/api/puppeteer.cookiepriority
|
|
285
|
-
export const PuppeteerCookiePrioritySchema = z.enum(['Low', 'Medium', 'High']);
|
|
286
|
-
// CookieSourceScheme - https://pptr.dev/api/puppeteer.cookiesourcescheme
|
|
287
|
-
export const PuppeteerCookieSourceSchemeSchema = z.enum(['Unset', 'NonSecure', 'Secure']);
|
|
288
|
-
// Cookie - returned by cookies() method
|
|
289
|
-
export const PuppeteerCookieSchema = z.object({
|
|
290
|
-
name: z.string(),
|
|
291
|
-
value: z.string(),
|
|
292
|
-
domain: z.string().optional(),
|
|
293
|
-
path: z.string().optional(),
|
|
294
|
-
expires: z.number().optional(),
|
|
295
|
-
httpOnly: z.boolean().optional(),
|
|
296
|
-
secure: z.boolean().optional(),
|
|
297
|
-
sameSite: PuppeteerCookieSameSiteSchema.optional(),
|
|
298
|
-
});
|
|
299
|
-
// CookieData - for browser.setCookie() - https://pptr.dev/api/puppeteer.cookiedata
|
|
300
|
-
export const PuppeteerCookieDataSchema = z.object({
|
|
301
|
-
name: z.string(),
|
|
302
|
-
value: z.string(),
|
|
303
|
-
domain: z.string(),
|
|
304
|
-
path: z.string().optional(),
|
|
305
|
-
expires: z.number().optional(),
|
|
306
|
-
httpOnly: z.boolean().optional(),
|
|
307
|
-
secure: z.boolean().optional(),
|
|
308
|
-
sameSite: PuppeteerCookieSameSiteSchema.optional(),
|
|
309
|
-
priority: PuppeteerCookiePrioritySchema.optional(),
|
|
310
|
-
sameParty: z.boolean().optional(),
|
|
311
|
-
sourceScheme: PuppeteerCookieSourceSchemeSchema.optional(),
|
|
312
|
-
partitionKey: z.union([PuppeteerCookiePartitionKeySchema, z.string()]).optional(),
|
|
313
|
-
});
|
|
314
|
-
// DeleteCookiesRequest - for deleteMatchingCookies() - https://pptr.dev/api/puppeteer.deletecookiesrequest
|
|
315
|
-
export const PuppeteerDeleteCookiesRequestSchema = z.object({
|
|
316
|
-
name: z.string(),
|
|
317
|
-
domain: z.string().optional(),
|
|
318
|
-
path: z.string().optional(),
|
|
319
|
-
url: z.string().optional(),
|
|
320
|
-
partitionKey: z.union([PuppeteerCookiePartitionKeySchema, z.string()]).optional(),
|
|
321
|
-
});
|
|
322
|
-
// ============================================================================
|
|
323
|
-
// Window Options
|
|
324
|
-
// ============================================================================
|
|
325
|
-
// WindowState - https://pptr.dev/api/puppeteer.windowstate
|
|
326
|
-
export const PuppeteerWindowStateSchema = z.enum([
|
|
327
|
-
'normal',
|
|
328
|
-
'minimized',
|
|
329
|
-
'maximized',
|
|
330
|
-
'fullscreen',
|
|
331
|
-
]);
|
|
332
|
-
// WindowBounds - https://pptr.dev/api/puppeteer.windowbounds
|
|
333
|
-
export const PuppeteerWindowBoundsSchema = z.object({
|
|
334
|
-
left: z.number().optional(),
|
|
335
|
-
top: z.number().optional(),
|
|
336
|
-
width: z.number().optional(),
|
|
337
|
-
height: z.number().optional(),
|
|
338
|
-
windowState: PuppeteerWindowStateSchema.optional(),
|
|
339
|
-
});
|
|
340
|
-
// ============================================================================
|
|
341
|
-
// Target Options
|
|
342
|
-
// ============================================================================
|
|
343
|
-
// TargetType - https://pptr.dev/api/puppeteer.targettype
|
|
344
|
-
export const PuppeteerTargetTypeSchema = z.enum([
|
|
345
|
-
'background_page',
|
|
346
|
-
'browser',
|
|
347
|
-
'other',
|
|
348
|
-
'page',
|
|
349
|
-
'service_worker',
|
|
350
|
-
'shared_worker',
|
|
351
|
-
'webview',
|
|
352
|
-
]);
|
|
353
|
-
// Target (serialized for RPC) - https://pptr.dev/api/puppeteer.target
|
|
354
|
-
export const PuppeteerTargetSchema = z.object({
|
|
355
|
-
targetId: z.string(),
|
|
356
|
-
type: PuppeteerTargetTypeSchema,
|
|
357
|
-
url: z.string(),
|
|
358
|
-
title: z.string().optional(),
|
|
359
|
-
attached: z.boolean().optional(),
|
|
360
|
-
openerId: z.string().optional(),
|
|
361
|
-
browserContextId: z.string().optional(),
|
|
362
|
-
});
|
|
363
|
-
// WaitForTargetOptions - https://pptr.dev/api/puppeteer.waitfortargetoptions
|
|
364
|
-
// Note: AbortSignal cannot be serialized over RPC, so it's omitted
|
|
365
|
-
export const PuppeteerWaitForTargetOptionsSchema = z.object({
|
|
366
|
-
timeout: z.number().optional(), // default 30000ms, 0 to disable
|
|
367
|
-
});
|
|
368
|
-
// TargetFilter - for RPC-based waitForTarget (replaces predicate function)
|
|
369
|
-
// Since functions can't be serialized, we use filter criteria instead
|
|
370
|
-
export const PuppeteerTargetFilterSchema = z.object({
|
|
371
|
-
type: PuppeteerTargetTypeSchema.optional(),
|
|
372
|
-
url: z.string().optional(), // exact match or regex pattern
|
|
373
|
-
urlPattern: z.string().optional(), // regex pattern for URL matching
|
|
374
|
-
});
|
|
375
|
-
// ============================================================================
|
|
376
|
-
// Browser Context Options
|
|
377
|
-
// ============================================================================
|
|
378
|
-
// DownloadPolicy - https://pptr.dev/api/puppeteer.downloadpolicy
|
|
379
|
-
export const PuppeteerDownloadPolicySchema = z.enum(['deny', 'allow', 'allowAndName', 'default']);
|
|
380
|
-
// DownloadBehavior - https://pptr.dev/api/puppeteer.downloadbehavior
|
|
381
|
-
export const PuppeteerDownloadBehaviorSchema = z.object({
|
|
382
|
-
policy: PuppeteerDownloadPolicySchema,
|
|
383
|
-
downloadPath: z.string().optional(),
|
|
384
|
-
});
|
|
385
|
-
// BrowserContextOptions - https://pptr.dev/api/puppeteer.browsercontextoptions
|
|
386
|
-
export const PuppeteerBrowserContextOptionsSchema = z.object({
|
|
387
|
-
/** Proxy server with optional port to use for all requests. */
|
|
388
|
-
proxyServer: z.string().optional(),
|
|
389
|
-
/** Bypass the proxy for the given list of hosts. */
|
|
390
|
-
proxyBypassList: z.array(z.string()).optional(),
|
|
391
|
-
/** Behavior definition for when downloading a file. */
|
|
392
|
-
downloadBehavior: PuppeteerDownloadBehaviorSchema.optional(),
|
|
393
|
-
});
|
|
394
|
-
// ============================================================================
|
|
395
|
-
// Permission Options
|
|
396
|
-
// ============================================================================
|
|
397
|
-
// Permission - https://pptr.dev/api/puppeteer.permission
|
|
398
|
-
export const PuppeteerPermissionSchema = z.enum([
|
|
399
|
-
'geolocation',
|
|
400
|
-
'midi',
|
|
401
|
-
'notifications',
|
|
402
|
-
'camera',
|
|
403
|
-
'microphone',
|
|
404
|
-
'background-sync',
|
|
405
|
-
'ambient-light-sensor',
|
|
406
|
-
'accelerometer',
|
|
407
|
-
'gyroscope',
|
|
408
|
-
'magnetometer',
|
|
409
|
-
'accessibility-events',
|
|
410
|
-
'clipboard-read',
|
|
411
|
-
'clipboard-write',
|
|
412
|
-
'clipboard-sanitized-write',
|
|
413
|
-
'payment-handler',
|
|
414
|
-
'persistent-storage',
|
|
415
|
-
'idle-detection',
|
|
416
|
-
'midi-sysex',
|
|
417
|
-
]);
|
|
418
|
-
// ============================================================================
|
|
419
|
-
// Geolocation Options
|
|
420
|
-
// ============================================================================
|
|
421
|
-
export const PuppeteerGeolocationSchema = z.object({
|
|
422
|
-
latitude: z.number().min(-90).max(90),
|
|
423
|
-
longitude: z.number().min(-180).max(180),
|
|
424
|
-
accuracy: z.number().positive().optional(),
|
|
425
|
-
});
|
|
426
|
-
// ============================================================================
|
|
427
|
-
// Bounding Box Result
|
|
428
|
-
// ============================================================================
|
|
429
|
-
export const PuppeteerBoundingBoxSchema = z.object({
|
|
430
|
-
x: z.number(),
|
|
431
|
-
y: z.number(),
|
|
432
|
-
width: z.number(),
|
|
433
|
-
height: z.number(),
|
|
434
|
-
});
|
|
435
|
-
// ============================================================================
|
|
436
|
-
// Box Model
|
|
437
|
-
// ============================================================================
|
|
438
|
-
// BoxModel - https://pptr.dev/api/puppeteer.boxmodel
|
|
439
|
-
export const PuppeteerBoxModelSchema = z.object({
|
|
440
|
-
content: z.array(PuppeteerPointSchema),
|
|
441
|
-
padding: z.array(PuppeteerPointSchema),
|
|
442
|
-
border: z.array(PuppeteerPointSchema),
|
|
443
|
-
margin: z.array(PuppeteerPointSchema),
|
|
444
|
-
width: z.number(),
|
|
445
|
-
height: z.number(),
|
|
446
|
-
});
|
|
447
|
-
// ============================================================================
|
|
448
|
-
// Autofill Options
|
|
449
|
-
// ============================================================================
|
|
450
|
-
// CreditCard - https://pptr.dev/api/puppeteer.elementhandle.autofill
|
|
451
|
-
export const PuppeteerCreditCardSchema = z.object({
|
|
452
|
-
number: z.string(),
|
|
453
|
-
name: z.string(),
|
|
454
|
-
expiryMonth: z.string(),
|
|
455
|
-
expiryYear: z.string(),
|
|
456
|
-
cvc: z.string(),
|
|
457
|
-
});
|
|
458
|
-
// AutofillData - https://pptr.dev/api/puppeteer.elementhandle.autofill
|
|
459
|
-
export const PuppeteerAutofillDataSchema = z.object({
|
|
460
|
-
creditCard: PuppeteerCreditCardSchema,
|
|
461
|
-
});
|
|
462
|
-
// ============================================================================
|
|
463
|
-
// Wait for Selector Options
|
|
464
|
-
// ============================================================================
|
|
465
|
-
// WaitForSelectorOptions - https://pptr.dev/api/puppeteer.waitforselectoroptions
|
|
466
|
-
export const PuppeteerWaitForSelectorOptionsSchema = z.object({
|
|
467
|
-
visible: z.boolean().optional(),
|
|
468
|
-
hidden: z.boolean().optional(),
|
|
469
|
-
timeout: z.number().optional(),
|
|
470
|
-
});
|
|
471
|
-
// ============================================================================
|
|
472
|
-
// Frame Add Script/Style Tag Options
|
|
473
|
-
// ============================================================================
|
|
474
|
-
// FrameAddScriptTagOptions - https://pptr.dev/api/puppeteer.frameaddscripttagoptions
|
|
475
|
-
export const PuppeteerFrameAddScriptTagOptionsSchema = z.object({
|
|
476
|
-
url: z.string().optional(),
|
|
477
|
-
path: z.string().optional(),
|
|
478
|
-
content: z.string().optional(),
|
|
479
|
-
type: z.string().optional(),
|
|
480
|
-
id: z.string().optional(),
|
|
481
|
-
});
|
|
482
|
-
// FrameAddStyleTagOptions - https://pptr.dev/api/puppeteer.frameaddstyletagoptions
|
|
483
|
-
export const PuppeteerFrameAddStyleTagOptionsSchema = z.object({
|
|
484
|
-
url: z.string().optional(),
|
|
485
|
-
path: z.string().optional(),
|
|
486
|
-
content: z.string().optional(),
|
|
487
|
-
});
|
|
488
|
-
// ============================================================================
|
|
489
|
-
// Select Option
|
|
490
|
-
// ============================================================================
|
|
491
|
-
export const PuppeteerSelectOptionSchema = z.object({
|
|
492
|
-
value: z.string().optional(),
|
|
493
|
-
label: z.string().optional(),
|
|
494
|
-
index: z.number().int().optional(),
|
|
495
|
-
});
|
|
496
|
-
// ============================================================================
|
|
497
|
-
// Serialized Element (for RPC)
|
|
498
|
-
// ============================================================================
|
|
499
|
-
export const PuppeteerSerializedElementSchema = z.object({
|
|
500
|
-
tagName: z.string(),
|
|
501
|
-
id: z.string().optional(),
|
|
502
|
-
className: z.string().optional(),
|
|
503
|
-
textContent: z.string().optional(),
|
|
504
|
-
innerText: z.string().optional(),
|
|
505
|
-
innerHTML: z.string().optional(),
|
|
506
|
-
attributes: z.record(z.string(), z.string()).optional(),
|
|
507
|
-
});
|
|
508
|
-
// ============================================================================
|
|
509
|
-
// Device Emulation
|
|
510
|
-
// ============================================================================
|
|
511
|
-
// Device - https://pptr.dev/api/puppeteer.device
|
|
512
|
-
export const PuppeteerDeviceSchema = z.object({
|
|
513
|
-
name: z.string(),
|
|
514
|
-
userAgent: z.string(),
|
|
515
|
-
viewport: PuppeteerViewportSchema,
|
|
516
|
-
});
|
|
517
|
-
// ============================================================================
|
|
518
|
-
// Idle State Emulation
|
|
519
|
-
// ============================================================================
|
|
520
|
-
// IdleOverrides - for emulateIdleState
|
|
521
|
-
export const PuppeteerIdleOverridesSchema = z.object({
|
|
522
|
-
isUserActive: z.boolean(),
|
|
523
|
-
isScreenUnlocked: z.boolean(),
|
|
524
|
-
});
|
|
525
|
-
// ============================================================================
|
|
526
|
-
// Media Features
|
|
527
|
-
// ============================================================================
|
|
528
|
-
// MediaFeature - for emulateMediaFeatures
|
|
529
|
-
export const PuppeteerMediaFeatureSchema = z.object({
|
|
530
|
-
name: z.string(),
|
|
531
|
-
value: z.string(),
|
|
532
|
-
});
|
|
533
|
-
// ============================================================================
|
|
534
|
-
// Network Conditions
|
|
535
|
-
// ============================================================================
|
|
536
|
-
// NetworkConditions - for emulateNetworkConditions
|
|
537
|
-
export const PuppeteerNetworkConditionsSchema = z.object({
|
|
538
|
-
download: z.number(), // Download speed (bytes/s), -1 to disable
|
|
539
|
-
upload: z.number(), // Upload speed (bytes/s), -1 to disable
|
|
540
|
-
latency: z.number(), // Latency (ms)
|
|
541
|
-
});
|
|
542
|
-
// ============================================================================
|
|
543
|
-
// HTTP Request (serialized for RPC)
|
|
544
|
-
// ============================================================================
|
|
545
|
-
// ResourceType - https://pptr.dev/api/puppeteer.resourcetype
|
|
546
|
-
export const PuppeteerResourceTypeSchema = z.enum([
|
|
547
|
-
'document',
|
|
548
|
-
'stylesheet',
|
|
549
|
-
'image',
|
|
550
|
-
'media',
|
|
551
|
-
'font',
|
|
552
|
-
'script',
|
|
553
|
-
'texttrack',
|
|
554
|
-
'xhr',
|
|
555
|
-
'fetch',
|
|
556
|
-
'prefetch',
|
|
557
|
-
'eventsource',
|
|
558
|
-
'websocket',
|
|
559
|
-
'manifest',
|
|
560
|
-
'signedexchange',
|
|
561
|
-
'ping',
|
|
562
|
-
'cspviolationreport',
|
|
563
|
-
'preflight',
|
|
564
|
-
'other',
|
|
565
|
-
]);
|
|
566
|
-
// ErrorCode - https://pptr.dev/api/puppeteer.errorcode
|
|
567
|
-
// Network error codes for HTTPRequest.abort()
|
|
568
|
-
export const PuppeteerErrorCodeSchema = z.enum([
|
|
569
|
-
'aborted',
|
|
570
|
-
'accessdenied',
|
|
571
|
-
'addressunreachable',
|
|
572
|
-
'blockedbyclient',
|
|
573
|
-
'blockedbyresponse',
|
|
574
|
-
'connectionaborted',
|
|
575
|
-
'connectionclosed',
|
|
576
|
-
'connectionfailed',
|
|
577
|
-
'connectionrefused',
|
|
578
|
-
'connectionreset',
|
|
579
|
-
'internetdisconnected',
|
|
580
|
-
'namenotresolved',
|
|
581
|
-
'timedout',
|
|
582
|
-
'failed',
|
|
583
|
-
]);
|
|
584
|
-
// InterceptResolutionAction - https://pptr.dev/api/puppeteer.interceptresolutionaction
|
|
585
|
-
export const PuppeteerInterceptResolutionActionSchema = z.enum([
|
|
586
|
-
'abort',
|
|
587
|
-
'already-handled',
|
|
588
|
-
'continue',
|
|
589
|
-
'disabled',
|
|
590
|
-
'none',
|
|
591
|
-
'respond',
|
|
592
|
-
]);
|
|
593
|
-
// InterceptResolutionState - https://pptr.dev/api/puppeteer.interceptresolutionstate
|
|
594
|
-
export const PuppeteerInterceptResolutionStateSchema = z.object({
|
|
595
|
-
action: PuppeteerInterceptResolutionActionSchema,
|
|
596
|
-
priority: z.number().optional(),
|
|
597
|
-
});
|
|
598
|
-
// ContinueRequestOverrides - https://pptr.dev/api/puppeteer.continuerequestoverrides
|
|
599
|
-
export const PuppeteerContinueRequestOverridesSchema = z.object({
|
|
600
|
-
url: z.string().optional(),
|
|
601
|
-
method: z.string().optional(),
|
|
602
|
-
postData: z.string().optional(),
|
|
603
|
-
headers: z.record(z.string(), z.string()).optional(),
|
|
604
|
-
});
|
|
605
|
-
// ResponseForRequest - https://pptr.dev/api/puppeteer.responseforrequest
|
|
606
|
-
export const PuppeteerResponseForRequestSchema = z.object({
|
|
607
|
-
status: z.number(),
|
|
608
|
-
headers: z.record(z.string(), z.unknown()).optional(),
|
|
609
|
-
contentType: z.string().optional(),
|
|
610
|
-
body: z.union([z.string(), z.instanceof(Uint8Array)]).optional(),
|
|
611
|
-
});
|
|
612
|
-
// Initiator - CDP Network.Initiator type
|
|
613
|
-
// @see https://chromedevtools.github.io/devtools-protocol/tot/Network/#type-Initiator
|
|
614
|
-
export const PuppeteerInitiatorTypeSchema = z.enum([
|
|
615
|
-
'parser',
|
|
616
|
-
'script',
|
|
617
|
-
'preload',
|
|
618
|
-
'SignedExchange',
|
|
619
|
-
'preflight',
|
|
620
|
-
'other',
|
|
621
|
-
]);
|
|
622
|
-
export const PuppeteerInitiatorSchema = z.object({
|
|
623
|
-
type: PuppeteerInitiatorTypeSchema,
|
|
624
|
-
url: z.string().optional(),
|
|
625
|
-
lineNumber: z.number().optional(),
|
|
626
|
-
columnNumber: z.number().optional(),
|
|
627
|
-
requestId: z.string().optional(),
|
|
628
|
-
});
|
|
629
|
-
// HTTPRequest (serialized) - https://pptr.dev/api/puppeteer.httprequest
|
|
630
|
-
// Extended to include requestId for RPC tracking
|
|
631
|
-
export const PuppeteerHTTPRequestSchema = z.object({
|
|
632
|
-
requestId: z.string(),
|
|
633
|
-
url: z.string(),
|
|
634
|
-
method: z.string(),
|
|
635
|
-
headers: z.record(z.string(), z.string()),
|
|
636
|
-
postData: z.string().optional(),
|
|
637
|
-
hasPostData: z.boolean().optional(),
|
|
638
|
-
resourceType: PuppeteerResourceTypeSchema,
|
|
639
|
-
isNavigationRequest: z.boolean(),
|
|
640
|
-
initiator: PuppeteerInitiatorSchema.optional(),
|
|
641
|
-
redirectChain: z.array(z.string()).optional(), // Array of requestIds
|
|
642
|
-
responseId: z.string().optional(), // Reference to associated response
|
|
643
|
-
frameId: z.string().optional(), // Reference to frame that initiated
|
|
644
|
-
});
|
|
645
|
-
// ============================================================================
|
|
646
|
-
// Frame (serialized for RPC)
|
|
647
|
-
// ============================================================================
|
|
648
|
-
// Frame (serialized) - https://pptr.dev/api/puppeteer.frame
|
|
649
|
-
export const PuppeteerFrameSchema = z.object({
|
|
650
|
-
frameId: z.string(),
|
|
651
|
-
url: z.string(),
|
|
652
|
-
name: z.string().optional(),
|
|
653
|
-
parentFrameId: z.string().optional(),
|
|
654
|
-
isDetached: z.boolean().optional(),
|
|
655
|
-
isOOPFrame: z.boolean().optional(),
|
|
656
|
-
});
|
|
657
|
-
// ============================================================================
|
|
658
|
-
// WebWorker (serialized for RPC)
|
|
659
|
-
// ============================================================================
|
|
660
|
-
// WebWorker (serialized) - https://pptr.dev/api/puppeteer.webworker
|
|
661
|
-
export const PuppeteerWebWorkerSchema = z.object({
|
|
662
|
-
workerId: z.string(),
|
|
663
|
-
url: z.string(),
|
|
664
|
-
});
|
|
665
|
-
// ============================================================================
|
|
666
|
-
// RemoteObject (CDP Protocol types for JSHandle)
|
|
667
|
-
// ============================================================================
|
|
668
|
-
// RemoteObjectType - from CDP Protocol.Runtime.RemoteObject.type
|
|
669
|
-
// @see https://chromedevtools.github.io/devtools-protocol/tot/Runtime/#type-RemoteObject
|
|
670
|
-
export const PuppeteerRemoteObjectTypeSchema = z.enum([
|
|
671
|
-
'object',
|
|
672
|
-
'function',
|
|
673
|
-
'undefined',
|
|
674
|
-
'string',
|
|
675
|
-
'number',
|
|
676
|
-
'boolean',
|
|
677
|
-
'symbol',
|
|
678
|
-
'bigint',
|
|
679
|
-
]);
|
|
680
|
-
// RemoteObjectSubtype - from CDP Protocol.Runtime.RemoteObject.subtype
|
|
681
|
-
export const PuppeteerRemoteObjectSubtypeSchema = z.enum([
|
|
682
|
-
'array',
|
|
683
|
-
'null',
|
|
684
|
-
'node',
|
|
685
|
-
'regexp',
|
|
686
|
-
'date',
|
|
687
|
-
'map',
|
|
688
|
-
'set',
|
|
689
|
-
'weakmap',
|
|
690
|
-
'weakset',
|
|
691
|
-
'iterator',
|
|
692
|
-
'generator',
|
|
693
|
-
'error',
|
|
694
|
-
'proxy',
|
|
695
|
-
'promise',
|
|
696
|
-
'typedarray',
|
|
697
|
-
'arraybuffer',
|
|
698
|
-
'dataview',
|
|
699
|
-
'webassemblymemory',
|
|
700
|
-
'wasmvalue',
|
|
701
|
-
]);
|
|
702
|
-
// RemoteObject - CDP Protocol.Runtime.RemoteObject (simplified for RPC)
|
|
703
|
-
export const PuppeteerRemoteObjectSchema = z.object({
|
|
704
|
-
type: PuppeteerRemoteObjectTypeSchema,
|
|
705
|
-
subtype: PuppeteerRemoteObjectSubtypeSchema.optional(),
|
|
706
|
-
className: z.string().optional(),
|
|
707
|
-
value: z.unknown().optional(),
|
|
708
|
-
unserializableValue: z.string().optional(),
|
|
709
|
-
description: z.string().optional(),
|
|
710
|
-
objectId: z.string().optional(),
|
|
711
|
-
});
|
|
712
|
-
// ============================================================================
|
|
713
|
-
// Vision Deficiency
|
|
714
|
-
// ============================================================================
|
|
715
|
-
export const PuppeteerVisionDeficiencySchema = z.enum([
|
|
716
|
-
'none',
|
|
717
|
-
'achromatopsia',
|
|
718
|
-
'blurredVision',
|
|
719
|
-
'deuteranopia',
|
|
720
|
-
'protanopia',
|
|
721
|
-
'tritanopia',
|
|
722
|
-
]);
|
|
723
|
-
// SerializedAXNode Zod schema
|
|
724
|
-
export const PuppeteerSerializedAXNodeSchema = z.lazy(() => z.object({
|
|
725
|
-
// Required - the role of the node (e.g., 'button', 'heading', 'link')
|
|
726
|
-
role: z.string(),
|
|
727
|
-
// Common properties
|
|
728
|
-
name: z.string().optional(),
|
|
729
|
-
value: z.union([z.string(), z.number()]).optional(),
|
|
730
|
-
description: z.string().optional(),
|
|
731
|
-
keyshortcuts: z.string().optional(),
|
|
732
|
-
roledescription: z.string().optional(),
|
|
733
|
-
valuetext: z.string().optional(),
|
|
734
|
-
url: z.string().optional(),
|
|
735
|
-
// Boolean state properties
|
|
736
|
-
disabled: z.boolean().optional(),
|
|
737
|
-
expanded: z.boolean().optional(),
|
|
738
|
-
focused: z.boolean().optional(),
|
|
739
|
-
modal: z.boolean().optional(),
|
|
740
|
-
multiline: z.boolean().optional(),
|
|
741
|
-
multiselectable: z.boolean().optional(),
|
|
742
|
-
readonly: z.boolean().optional(),
|
|
743
|
-
required: z.boolean().optional(),
|
|
744
|
-
selected: z.boolean().optional(),
|
|
745
|
-
// Mixed state properties (can be boolean or 'mixed')
|
|
746
|
-
checked: z.union([z.boolean(), z.literal('mixed')]).optional(),
|
|
747
|
-
pressed: z.union([z.boolean(), z.literal('mixed')]).optional(),
|
|
748
|
-
// Numeric properties
|
|
749
|
-
level: z.number().optional(),
|
|
750
|
-
valuemin: z.number().optional(),
|
|
751
|
-
valuemax: z.number().optional(),
|
|
752
|
-
// Enum properties
|
|
753
|
-
autocomplete: z.enum(['none', 'inline', 'list', 'both']).optional(),
|
|
754
|
-
haspopup: z.enum(['false', 'menu', 'listbox', 'tree', 'grid', 'dialog']).optional(),
|
|
755
|
-
invalid: z.enum(['grammar', 'spelling', 'page', 'step', 'true', 'false']).optional(),
|
|
756
|
-
orientation: z.enum(['vertical', 'horizontal']).optional(),
|
|
757
|
-
// Recursive children
|
|
758
|
-
children: z.array(PuppeteerSerializedAXNodeSchema).optional(),
|
|
759
|
-
}));
|
|
760
|
-
// SnapshotOptions - https://pptr.dev/api/puppeteer.snapshotoptions
|
|
761
|
-
// Options for Accessibility.snapshot()
|
|
762
|
-
export const PuppeteerSnapshotOptionsSchema = z.object({
|
|
763
|
-
/**
|
|
764
|
-
* Prune uninteresting nodes from the tree.
|
|
765
|
-
* @default true
|
|
766
|
-
*/
|
|
767
|
-
interestingOnly: z.boolean().optional(),
|
|
768
|
-
/**
|
|
769
|
-
* Root element handle to get the accessibility tree for.
|
|
770
|
-
* Note: For RPC, we use an element handle ID string instead of the actual ElementHandle.
|
|
771
|
-
* If not provided, defaults to the root node of the entire page.
|
|
772
|
-
*/
|
|
773
|
-
root: z.string().optional(),
|
|
774
|
-
});
|
|
775
|
-
// ============================================================================
|
|
776
|
-
// Tracing Options
|
|
777
|
-
// ============================================================================
|
|
778
|
-
// TracingOptions - https://pptr.dev/api/puppeteer.tracingoptions
|
|
779
|
-
export const PuppeteerTracingOptionsSchema = z.object({
|
|
780
|
-
categories: z.array(z.string()).optional(),
|
|
781
|
-
path: z.string().optional(),
|
|
782
|
-
screenshots: z.boolean().optional(),
|
|
783
|
-
});
|
|
784
|
-
// ============================================================================
|
|
785
|
-
// Dialog Options
|
|
786
|
-
// ============================================================================
|
|
787
|
-
// DialogType - https://pptr.dev/api/puppeteer.dialog
|
|
788
|
-
export const PuppeteerDialogTypeSchema = z.enum(['alert', 'confirm', 'prompt', 'beforeunload']);
|
|
789
|
-
// Dialog (serialized for RPC) - https://pptr.dev/api/puppeteer.dialog
|
|
790
|
-
export const PuppeteerDialogSchema = z.object({
|
|
791
|
-
dialogId: z.string(),
|
|
792
|
-
type: PuppeteerDialogTypeSchema,
|
|
793
|
-
message: z.string(),
|
|
794
|
-
defaultValue: z.string(),
|
|
795
|
-
});
|
|
796
|
-
// ============================================================================
|
|
797
|
-
// ConsoleMessage Options
|
|
798
|
-
// ============================================================================
|
|
799
|
-
// ConsoleMessageType - https://pptr.dev/api/puppeteer.consolemessagetype
|
|
800
|
-
export const PuppeteerConsoleMessageTypeSchema = z.enum([
|
|
801
|
-
'log',
|
|
802
|
-
'debug',
|
|
803
|
-
'info',
|
|
804
|
-
'error',
|
|
805
|
-
'warn',
|
|
806
|
-
'dir',
|
|
807
|
-
'dirxml',
|
|
808
|
-
'table',
|
|
809
|
-
'trace',
|
|
810
|
-
'clear',
|
|
811
|
-
'startGroup',
|
|
812
|
-
'startGroupCollapsed',
|
|
813
|
-
'endGroup',
|
|
814
|
-
'assert',
|
|
815
|
-
'profile',
|
|
816
|
-
'profileEnd',
|
|
817
|
-
'count',
|
|
818
|
-
'timeEnd',
|
|
819
|
-
'verbose',
|
|
820
|
-
]);
|
|
821
|
-
// ConsoleMessageLocation - https://pptr.dev/api/puppeteer.consolemessagelocation
|
|
822
|
-
export const PuppeteerConsoleMessageLocationSchema = z.object({
|
|
823
|
-
url: z.string().optional(),
|
|
824
|
-
lineNumber: z.number().optional(),
|
|
825
|
-
columnNumber: z.number().optional(),
|
|
826
|
-
});
|
|
827
|
-
// ConsoleMessage (serialized for RPC) - https://pptr.dev/api/puppeteer.consolemessage
|
|
828
|
-
export const PuppeteerConsoleMessageSchema = z.object({
|
|
829
|
-
type: PuppeteerConsoleMessageTypeSchema,
|
|
830
|
-
text: z.string(),
|
|
831
|
-
location: PuppeteerConsoleMessageLocationSchema,
|
|
832
|
-
stackTrace: z.array(PuppeteerConsoleMessageLocationSchema),
|
|
833
|
-
args: z.array(z.unknown()), // Serialized JSON values (JSHandles can't be serialized)
|
|
834
|
-
});
|
|
835
|
-
// ============================================================================
|
|
836
|
-
// TouchHandle (serialized for RPC)
|
|
837
|
-
// ============================================================================
|
|
838
|
-
// TouchHandle - https://pptr.dev/api/puppeteer.touchhandle
|
|
839
|
-
// Serialized version for RPC - contains touch ID to track the touch on the server
|
|
840
|
-
export const PuppeteerTouchHandleSchema = z.object({
|
|
841
|
-
touchId: z.string(),
|
|
842
|
-
});
|
|
843
|
-
// ============================================================================
|
|
844
|
-
// Locator Options
|
|
845
|
-
// ============================================================================
|
|
846
|
-
// VisibilityOption - https://pptr.dev/api/puppeteer.visibilityoption
|
|
847
|
-
export const PuppeteerVisibilityOptionSchema = z.enum(['visible', 'hidden']).nullable();
|
|
848
|
-
// ActionOptions - base for all locator actions
|
|
849
|
-
// Note: AbortSignal cannot be serialized over RPC, so it's omitted
|
|
850
|
-
export const PuppeteerActionOptionsSchema = z.object({
|
|
851
|
-
timeout: z.number().nonnegative().optional(),
|
|
852
|
-
});
|
|
853
|
-
// LocatorScrollOptions extends ActionOptions
|
|
854
|
-
export const PuppeteerLocatorScrollOptionsSchema = PuppeteerActionOptionsSchema.extend({
|
|
855
|
-
scrollLeft: z.number().optional(),
|
|
856
|
-
scrollTop: z.number().optional(),
|
|
857
|
-
});
|
|
858
|
-
// LocatorClickOptions extends ClickOptions (which extends MouseClickOptions)
|
|
859
|
-
// https://pptr.dev/api/puppeteer.locatorclickoptions
|
|
860
|
-
export const PuppeteerLocatorClickOptionsSchema = PuppeteerClickOptionsSchema.extend({
|
|
861
|
-
timeout: z.number().nonnegative().optional(),
|
|
862
|
-
});
|
|
863
|
-
// ============================================================================
|
|
864
|
-
// Coverage Options
|
|
865
|
-
// ============================================================================
|
|
866
|
-
// CSSCoverageOptions - https://pptr.dev/api/puppeteer.csscoverageoptions
|
|
867
|
-
export const PuppeteerCSSCoverageOptionsSchema = z.object({
|
|
868
|
-
resetOnNavigation: z.boolean().optional(),
|
|
869
|
-
});
|
|
870
|
-
// JSCoverageOptions - https://pptr.dev/api/puppeteer.jscoverageoptions
|
|
871
|
-
export const PuppeteerJSCoverageOptionsSchema = z.object({
|
|
872
|
-
resetOnNavigation: z.boolean().optional(),
|
|
873
|
-
reportAnonymousScripts: z.boolean().optional(),
|
|
874
|
-
includeRawScriptCoverage: z.boolean().optional(),
|
|
875
|
-
useBlockCoverage: z.boolean().optional(),
|
|
876
|
-
});
|
|
877
|
-
// CoverageRange - part of CoverageEntry
|
|
878
|
-
export const PuppeteerCoverageRangeSchema = z.object({
|
|
879
|
-
start: z.number(),
|
|
880
|
-
end: z.number(),
|
|
881
|
-
});
|
|
882
|
-
// CoverageEntry - https://pptr.dev/api/puppeteer.coverageentry
|
|
883
|
-
export const PuppeteerCoverageEntrySchema = z.object({
|
|
884
|
-
url: z.string(),
|
|
885
|
-
text: z.string(),
|
|
886
|
-
ranges: z.array(PuppeteerCoverageRangeSchema),
|
|
887
|
-
});
|
|
888
|
-
// JSCoverageEntry extends CoverageEntry - https://pptr.dev/api/puppeteer.jscoverageentry
|
|
889
|
-
// Note: rawScriptCoverage is from CDP Protocol.Profiler.ScriptCoverage, simplified for RPC
|
|
890
|
-
export const PuppeteerJSCoverageEntrySchema = PuppeteerCoverageEntrySchema.extend({
|
|
891
|
-
rawScriptCoverage: z
|
|
892
|
-
.object({
|
|
893
|
-
scriptId: z.string(),
|
|
894
|
-
url: z.string(),
|
|
895
|
-
functions: z.array(z.object({
|
|
896
|
-
functionName: z.string(),
|
|
897
|
-
ranges: z.array(z.object({
|
|
898
|
-
startOffset: z.number(),
|
|
899
|
-
endOffset: z.number(),
|
|
900
|
-
count: z.number(),
|
|
901
|
-
})),
|
|
902
|
-
isBlockCoverage: z.boolean(),
|
|
903
|
-
})),
|
|
904
|
-
})
|
|
905
|
-
.optional(),
|
|
906
|
-
});
|
|
907
|
-
// PageEvent - https://pptr.dev/api/puppeteer.pageevent
|
|
908
|
-
export const PuppeteerPageEventSchema = z.enum([
|
|
909
|
-
'close',
|
|
910
|
-
'console',
|
|
911
|
-
'dialog',
|
|
912
|
-
'domcontentloaded',
|
|
913
|
-
'error',
|
|
914
|
-
'frameattached',
|
|
915
|
-
'framedetached',
|
|
916
|
-
'framenavigated',
|
|
917
|
-
'load',
|
|
918
|
-
'metrics',
|
|
919
|
-
'pageerror',
|
|
920
|
-
'popup',
|
|
921
|
-
'request',
|
|
922
|
-
'requestfailed',
|
|
923
|
-
'requestfinished',
|
|
924
|
-
'requestservedfromcache',
|
|
925
|
-
'response',
|
|
926
|
-
'workercreated',
|
|
927
|
-
'workerdestroyed',
|
|
928
|
-
]);
|
|
929
|
-
// BrowserEvent - https://pptr.dev/api/puppeteer.browserevent
|
|
930
|
-
export const PuppeteerBrowserEventSchema = z.enum([
|
|
931
|
-
'disconnected',
|
|
932
|
-
'targetchanged',
|
|
933
|
-
'targetcreated',
|
|
934
|
-
'targetdestroyed',
|
|
935
|
-
]);
|
|
936
|
-
// BrowserContextEvent - https://pptr.dev/api/puppeteer.browsercontextevent
|
|
937
|
-
export const PuppeteerBrowserContextEventSchema = z.enum([
|
|
938
|
-
'targetchanged',
|
|
939
|
-
'targetcreated',
|
|
940
|
-
'targetdestroyed',
|
|
941
|
-
]);
|