@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.
Files changed (260) hide show
  1. package/README.md +75 -0
  2. package/dist/agents/browser-use/index.d.ts +1 -0
  3. package/dist/agents/browser-use/index.js +9 -0
  4. package/dist/agents/browser-use/namespace.d.ts +39 -0
  5. package/dist/agents/browser-use/namespace.js +93 -0
  6. package/dist/agents/index.d.ts +2 -0
  7. package/dist/agents/index.js +17 -0
  8. package/dist/agents/stagehand/core.d.ts +93 -0
  9. package/dist/agents/stagehand/core.js +144 -0
  10. package/dist/agents/stagehand/index.d.ts +3 -0
  11. package/dist/agents/stagehand/index.js +24 -0
  12. package/dist/agents/stagehand/namespace.d.ts +51 -0
  13. package/dist/agents/stagehand/namespace.js +65 -0
  14. package/dist/ai-credentials/client.d.ts +12 -0
  15. package/dist/ai-credentials/client.js +70 -0
  16. package/dist/ai-credentials/index.d.ts +1 -0
  17. package/dist/ai-credentials/index.js +1 -0
  18. package/dist/base/event-binding.d.ts +7 -0
  19. package/dist/base/event-binding.js +23 -0
  20. package/dist/base/types.d.ts +109 -0
  21. package/dist/base/types.js +4 -0
  22. package/dist/bctrl.d.ts +37 -0
  23. package/dist/bctrl.js +77 -0
  24. package/dist/browser-extensions/client.d.ts +15 -0
  25. package/dist/browser-extensions/client.js +72 -0
  26. package/dist/browser-extensions/index.d.ts +2 -0
  27. package/dist/browser-extensions/index.js +1 -0
  28. package/dist/browser-profiles/client.d.ts +11 -0
  29. package/dist/browser-profiles/client.js +63 -0
  30. package/dist/browser-profiles/index.d.ts +1 -0
  31. package/dist/browser-profiles/index.js +1 -0
  32. package/dist/captcha/index.d.ts +1 -0
  33. package/dist/captcha/index.js +1 -0
  34. package/dist/captcha/namespace.d.ts +34 -0
  35. package/dist/captcha/namespace.js +41 -0
  36. package/dist/client/index.d.ts +1 -0
  37. package/dist/client/index.js +1 -0
  38. package/dist/client/rpc.d.ts +83 -0
  39. package/dist/client/rpc.js +354 -0
  40. package/dist/config.d.ts +5 -0
  41. package/dist/config.js +28 -0
  42. package/dist/constants/browser.d.ts +2 -0
  43. package/dist/constants/browser.js +1 -0
  44. package/dist/contracts/agent-tools.d.ts +45 -0
  45. package/dist/contracts/agent-tools.js +31 -0
  46. package/dist/contracts/automation.d.ts +265 -0
  47. package/dist/contracts/automation.js +109 -0
  48. package/dist/contracts/browser-management.d.ts +179 -0
  49. package/dist/contracts/browser-management.js +95 -0
  50. package/dist/contracts/browser-use.d.ts +136 -0
  51. package/dist/contracts/browser-use.js +93 -0
  52. package/dist/contracts/captcha.d.ts +114 -0
  53. package/dist/contracts/captcha.js +40 -0
  54. package/dist/contracts/desktop.d.ts +223 -0
  55. package/dist/contracts/desktop.js +121 -0
  56. package/dist/contracts/drivers/playwright.d.ts +2008 -0
  57. package/dist/contracts/drivers/playwright.js +2033 -0
  58. package/dist/contracts/drivers/puppeteer.d.ts +1221 -0
  59. package/dist/contracts/drivers/puppeteer.js +941 -0
  60. package/dist/contracts/drivers/selenium.d.ts +156 -0
  61. package/dist/contracts/drivers/selenium.js +61 -0
  62. package/dist/contracts/drivers/stagehand.d.ts +155 -0
  63. package/dist/contracts/drivers/stagehand.js +7 -0
  64. package/dist/contracts/extensions.d.ts +13 -0
  65. package/dist/contracts/extensions.js +9 -0
  66. package/dist/contracts/index.d.ts +13 -0
  67. package/dist/contracts/index.js +13 -0
  68. package/dist/contracts/public-api.d.ts +360 -0
  69. package/dist/contracts/public-api.js +17 -0
  70. package/dist/contracts/runtime.d.ts +81 -0
  71. package/dist/contracts/runtime.js +16 -0
  72. package/dist/contracts/stagehand.d.ts +253 -0
  73. package/dist/contracts/stagehand.js +145 -0
  74. package/dist/contracts/storage.d.ts +51 -0
  75. package/dist/contracts/storage.js +56 -0
  76. package/dist/contracts/vault.d.ts +119 -0
  77. package/dist/contracts/vault.js +112 -0
  78. package/dist/contracts/version.d.ts +3 -0
  79. package/dist/contracts/version.js +16 -0
  80. package/dist/desktop.d.ts +2 -0
  81. package/dist/desktop.js +3 -0
  82. package/dist/drivers/desktop/index.d.ts +65 -0
  83. package/dist/drivers/desktop/index.js +68 -0
  84. package/dist/drivers/desktop/session.d.ts +313 -0
  85. package/dist/drivers/desktop/session.js +432 -0
  86. package/dist/drivers/playwright/event-emitter.d.ts +160 -0
  87. package/dist/drivers/playwright/event-emitter.js +297 -0
  88. package/dist/drivers/playwright/generated/api-request-context.d.ts +137 -0
  89. package/dist/drivers/playwright/generated/api-request-context.js +154 -0
  90. package/dist/drivers/playwright/generated/api-response.d.ts +119 -0
  91. package/dist/drivers/playwright/generated/api-response.js +123 -0
  92. package/dist/drivers/playwright/generated/browser-context.d.ts +284 -0
  93. package/dist/drivers/playwright/generated/browser-context.js +458 -0
  94. package/dist/drivers/playwright/generated/browser.d.ts +120 -0
  95. package/dist/drivers/playwright/generated/browser.js +151 -0
  96. package/dist/drivers/playwright/generated/clock.d.ts +80 -0
  97. package/dist/drivers/playwright/generated/clock.js +94 -0
  98. package/dist/drivers/playwright/generated/console-message.d.ts +94 -0
  99. package/dist/drivers/playwright/generated/console-message.js +89 -0
  100. package/dist/drivers/playwright/generated/coverage.d.ts +57 -0
  101. package/dist/drivers/playwright/generated/coverage.js +66 -0
  102. package/dist/drivers/playwright/generated/dialog.d.ts +79 -0
  103. package/dist/drivers/playwright/generated/dialog.js +80 -0
  104. package/dist/drivers/playwright/generated/element-handle.d.ts +399 -0
  105. package/dist/drivers/playwright/generated/element-handle.js +501 -0
  106. package/dist/drivers/playwright/generated/frame-locator.d.ts +34 -0
  107. package/dist/drivers/playwright/generated/frame-locator.js +63 -0
  108. package/dist/drivers/playwright/generated/frame.d.ts +557 -0
  109. package/dist/drivers/playwright/generated/frame.js +634 -0
  110. package/dist/drivers/playwright/generated/js-handle.d.ts +72 -0
  111. package/dist/drivers/playwright/generated/js-handle.js +92 -0
  112. package/dist/drivers/playwright/generated/keyboard.d.ts +103 -0
  113. package/dist/drivers/playwright/generated/keyboard.js +113 -0
  114. package/dist/drivers/playwright/generated/locator.d.ts +795 -0
  115. package/dist/drivers/playwright/generated/locator.js +974 -0
  116. package/dist/drivers/playwright/generated/mouse.d.ts +97 -0
  117. package/dist/drivers/playwright/generated/mouse.js +109 -0
  118. package/dist/drivers/playwright/generated/page.d.ts +762 -0
  119. package/dist/drivers/playwright/generated/page.js +988 -0
  120. package/dist/drivers/playwright/generated/touchscreen.d.ts +34 -0
  121. package/dist/drivers/playwright/generated/touchscreen.js +37 -0
  122. package/dist/drivers/playwright/generated/tracing.d.ts +78 -0
  123. package/dist/drivers/playwright/generated/tracing.js +80 -0
  124. package/dist/drivers/playwright/generated/worker.d.ts +53 -0
  125. package/dist/drivers/playwright/generated/worker.js +59 -0
  126. package/dist/drivers/playwright/index.d.ts +19 -0
  127. package/dist/drivers/playwright/index.js +20 -0
  128. package/dist/drivers/playwright/remote-base.d.ts +62 -0
  129. package/dist/drivers/playwright/remote-base.js +86 -0
  130. package/dist/drivers/playwright/types.d.ts +148 -0
  131. package/dist/drivers/playwright/types.js +8 -0
  132. package/dist/drivers/puppeteer/errors.d.ts +50 -0
  133. package/dist/drivers/puppeteer/errors.js +71 -0
  134. package/dist/drivers/puppeteer/event-emitter.d.ts +145 -0
  135. package/dist/drivers/puppeteer/event-emitter.js +259 -0
  136. package/dist/drivers/puppeteer/generated/accessibility.d.ts +77 -0
  137. package/dist/drivers/puppeteer/generated/accessibility.js +74 -0
  138. package/dist/drivers/puppeteer/generated/browser-context.d.ts +116 -0
  139. package/dist/drivers/puppeteer/generated/browser-context.js +168 -0
  140. package/dist/drivers/puppeteer/generated/browser.d.ts +169 -0
  141. package/dist/drivers/puppeteer/generated/browser.js +246 -0
  142. package/dist/drivers/puppeteer/generated/console-message.d.ts +54 -0
  143. package/dist/drivers/puppeteer/generated/console-message.js +69 -0
  144. package/dist/drivers/puppeteer/generated/coverage.d.ts +49 -0
  145. package/dist/drivers/puppeteer/generated/coverage.js +57 -0
  146. package/dist/drivers/puppeteer/generated/dialog.d.ts +46 -0
  147. package/dist/drivers/puppeteer/generated/dialog.js +60 -0
  148. package/dist/drivers/puppeteer/generated/element-handle.d.ts +261 -0
  149. package/dist/drivers/puppeteer/generated/element-handle.js +341 -0
  150. package/dist/drivers/puppeteer/generated/file-chooser.d.ts +34 -0
  151. package/dist/drivers/puppeteer/generated/file-chooser.js +43 -0
  152. package/dist/drivers/puppeteer/generated/frame.d.ts +221 -0
  153. package/dist/drivers/puppeteer/generated/frame.js +302 -0
  154. package/dist/drivers/puppeteer/generated/http-request.d.ts +195 -0
  155. package/dist/drivers/puppeteer/generated/http-request.js +243 -0
  156. package/dist/drivers/puppeteer/generated/http-response.d.ts +142 -0
  157. package/dist/drivers/puppeteer/generated/http-response.js +169 -0
  158. package/dist/drivers/puppeteer/generated/js-handle.d.ts +104 -0
  159. package/dist/drivers/puppeteer/generated/js-handle.js +125 -0
  160. package/dist/drivers/puppeteer/generated/keyboard.d.ts +79 -0
  161. package/dist/drivers/puppeteer/generated/keyboard.js +89 -0
  162. package/dist/drivers/puppeteer/generated/locator.d.ts +141 -0
  163. package/dist/drivers/puppeteer/generated/locator.js +164 -0
  164. package/dist/drivers/puppeteer/generated/mouse.d.ts +74 -0
  165. package/dist/drivers/puppeteer/generated/mouse.js +94 -0
  166. package/dist/drivers/puppeteer/generated/page.d.ts +604 -0
  167. package/dist/drivers/puppeteer/generated/page.js +776 -0
  168. package/dist/drivers/puppeteer/generated/target.d.ts +105 -0
  169. package/dist/drivers/puppeteer/generated/target.js +123 -0
  170. package/dist/drivers/puppeteer/generated/touchscreen.d.ts +87 -0
  171. package/dist/drivers/puppeteer/generated/touchscreen.js +103 -0
  172. package/dist/drivers/puppeteer/generated/tracing.d.ts +38 -0
  173. package/dist/drivers/puppeteer/generated/tracing.js +43 -0
  174. package/dist/drivers/puppeteer/generated/web-worker.d.ts +63 -0
  175. package/dist/drivers/puppeteer/generated/web-worker.js +73 -0
  176. package/dist/drivers/puppeteer/index.d.ts +21 -0
  177. package/dist/drivers/puppeteer/index.js +23 -0
  178. package/dist/drivers/puppeteer/remote-base.d.ts +57 -0
  179. package/dist/drivers/puppeteer/remote-base.js +79 -0
  180. package/dist/drivers/puppeteer/types.d.ts +178 -0
  181. package/dist/drivers/puppeteer/types.js +8 -0
  182. package/dist/drivers/selenium/driver.d.ts +28 -0
  183. package/dist/drivers/selenium/driver.js +169 -0
  184. package/dist/drivers/selenium/element.d.ts +34 -0
  185. package/dist/drivers/selenium/element.js +73 -0
  186. package/dist/drivers/selenium/index.d.ts +3 -0
  187. package/dist/drivers/selenium/index.js +5 -0
  188. package/dist/drivers/selenium/types.d.ts +2 -0
  189. package/dist/drivers/selenium/types.js +12 -0
  190. package/dist/drivers/stagehand/generated/context.d.ts +127 -0
  191. package/dist/drivers/stagehand/generated/context.js +153 -0
  192. package/dist/drivers/stagehand/generated/locator.d.ts +324 -0
  193. package/dist/drivers/stagehand/generated/locator.js +368 -0
  194. package/dist/drivers/stagehand/generated/page.d.ts +377 -0
  195. package/dist/drivers/stagehand/generated/page.js +439 -0
  196. package/dist/drivers/stagehand/generated/response.d.ts +197 -0
  197. package/dist/drivers/stagehand/generated/response.js +232 -0
  198. package/dist/drivers/stagehand/index.d.ts +5 -0
  199. package/dist/drivers/stagehand/index.js +8 -0
  200. package/dist/drivers/stagehand/types.d.ts +1 -0
  201. package/dist/drivers/stagehand/types.js +7 -0
  202. package/dist/errors.d.ts +47 -0
  203. package/dist/errors.js +157 -0
  204. package/dist/extensions/client.d.ts +47 -0
  205. package/dist/extensions/client.js +154 -0
  206. package/dist/extensions/index.d.ts +1 -0
  207. package/dist/extensions/index.js +1 -0
  208. package/dist/index.d.ts +12 -0
  209. package/dist/index.js +23 -0
  210. package/dist/internal/dev-client.d.ts +5 -0
  211. package/dist/internal/dev-client.js +9 -0
  212. package/dist/internal/rpc-targets.d.ts +17 -0
  213. package/dist/internal/rpc-targets.js +58 -0
  214. package/dist/internal/serialization.d.ts +32 -0
  215. package/dist/internal/serialization.js +42 -0
  216. package/dist/internal/transport.d.ts +24 -0
  217. package/dist/internal/transport.js +29 -0
  218. package/dist/playwright.d.ts +1 -0
  219. package/dist/playwright.js +2 -0
  220. package/dist/puppeteer.d.ts +1 -0
  221. package/dist/puppeteer.js +2 -0
  222. package/dist/selenium.d.ts +1 -0
  223. package/dist/selenium.js +2 -0
  224. package/dist/stagehand.d.ts +1 -0
  225. package/dist/stagehand.js +2 -0
  226. package/dist/storage/client.d.ts +151 -0
  227. package/dist/storage/client.js +329 -0
  228. package/dist/storage/index.d.ts +2 -0
  229. package/dist/storage/index.js +4 -0
  230. package/dist/telemetry.d.ts +18 -0
  231. package/dist/telemetry.js +93 -0
  232. package/dist/updates/client.d.ts +8 -0
  233. package/dist/updates/client.js +128 -0
  234. package/dist/updates/index.d.ts +1 -0
  235. package/dist/updates/index.js +1 -0
  236. package/dist/utils/http.d.ts +39 -0
  237. package/dist/utils/http.js +88 -0
  238. package/dist/utils/index.d.ts +4 -0
  239. package/dist/utils/index.js +4 -0
  240. package/dist/utils/logger.d.ts +27 -0
  241. package/dist/utils/logger.js +74 -0
  242. package/dist/utils/schema.d.ts +17 -0
  243. package/dist/utils/schema.js +31 -0
  244. package/dist/utils/url.d.ts +5 -0
  245. package/dist/utils/url.js +7 -0
  246. package/dist/vault/client.d.ts +43 -0
  247. package/dist/vault/client.js +123 -0
  248. package/dist/vault/index.d.ts +1 -0
  249. package/dist/vault/index.js +1 -0
  250. package/dist/version.d.ts +1 -0
  251. package/dist/version.js +4 -0
  252. package/dist/workspaces/browser-runtime.d.ts +251 -0
  253. package/dist/workspaces/browser-runtime.js +1025 -0
  254. package/dist/workspaces/client.d.ts +48 -0
  255. package/dist/workspaces/client.js +222 -0
  256. package/dist/workspaces/index.d.ts +2 -0
  257. package/dist/workspaces/index.js +2 -0
  258. package/dist/workspaces/runtime-event-pump.d.ts +65 -0
  259. package/dist/workspaces/runtime-event-pump.js +716 -0
  260. package/package.json +56 -0
@@ -0,0 +1,261 @@
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 { RemoteBase } from '../remote-base.js';
9
+ import type { PuppeteerAutofillData, PuppeteerBoundingBox, PuppeteerBoxModel, PuppeteerClickOptions, PuppeteerDragData, PuppeteerKeyPressOptions, PuppeteerKeyboardTypeOptions, PuppeteerOffset, PuppeteerPoint, PuppeteerWaitForSelectorOptions, TouchHandle } from '../types.js';
10
+ import type { RemotePuppeteerFrame } from './frame.js';
11
+ import type { RemotePuppeteerLocator } from './locator.js';
12
+ /**
13
+ * RemotePuppeteerElementHandle - Remote Puppeteer ElementHandle API over RPC.
14
+ *
15
+ * @see https://pptr.dev/api/puppeteer.elementhandle
16
+ */
17
+ export declare class RemotePuppeteerElementHandle extends RemoteBase {
18
+ /** The handle ID (alias for id, for compatibility). */
19
+ handleId: string;
20
+ private createElementHandle;
21
+ private createFrame;
22
+ private createLocator;
23
+ private createTouchHandle;
24
+ constructor(id: string, sendRpc: SimpleRpcSender, createElementHandle: (handleId: string) => RemotePuppeteerElementHandle, createFrame: (frameId: string) => RemotePuppeteerFrame, createLocator: (handleId: string) => RemotePuppeteerLocator, createTouchHandle: (touchId: string) => TouchHandle);
25
+ /**
26
+ * Click the element.
27
+ *
28
+ * @see https://pptr.dev/api/puppeteer.elementhandle.click
29
+ */
30
+ click(options?: PuppeteerClickOptions): Promise<void>;
31
+ /**
32
+ * Hover over the element.
33
+ *
34
+ * @see https://pptr.dev/api/puppeteer.elementhandle.hover
35
+ */
36
+ hover(): Promise<void>;
37
+ /**
38
+ * Tap the element (for touch devices).
39
+ *
40
+ * @see https://pptr.dev/api/puppeteer.elementhandle.tap
41
+ */
42
+ tap(): Promise<void>;
43
+ /**
44
+ * Focus the element.
45
+ *
46
+ * @see https://pptr.dev/api/puppeteer.elementhandle.focus
47
+ */
48
+ focus(): Promise<void>;
49
+ /**
50
+ * Type text into the element.
51
+ *
52
+ * @see https://pptr.dev/api/puppeteer.elementhandle.type
53
+ */
54
+ type(text: string, options?: PuppeteerKeyboardTypeOptions): Promise<void>;
55
+ /**
56
+ * Press a key while focused on the element.
57
+ *
58
+ * @see https://pptr.dev/api/puppeteer.elementhandle.press
59
+ */
60
+ press(key: string, options?: PuppeteerKeyPressOptions): Promise<void>;
61
+ /**
62
+ * Select options in a <select> element.
63
+ * @returns An array of selected option values.
64
+ *
65
+ * @see https://pptr.dev/api/puppeteer.elementhandle.select
66
+ */
67
+ select(...values: string[]): Promise<string[]>;
68
+ /**
69
+ * Upload files to a file input element.
70
+ *
71
+ * @see https://pptr.dev/api/puppeteer.elementhandle.uploadfile
72
+ */
73
+ uploadFile(...filePaths: string[]): Promise<void>;
74
+ /**
75
+ * Scroll the element into view.
76
+ *
77
+ * @see https://pptr.dev/api/puppeteer.elementhandle.scrollintoview
78
+ */
79
+ scrollIntoView(): Promise<void>;
80
+ /**
81
+ * Test if the form is compatible with browser autofill. Currently supports credit card autofill in Chrome headless/headful only.
82
+ *
83
+ * @see https://pptr.dev/api/puppeteer.elementhandle.autofill
84
+ */
85
+ autofill(data: PuppeteerAutofillData): Promise<void>;
86
+ /**
87
+ * Query for a child element.
88
+ * @returns The matching element or null if not found.
89
+ *
90
+ * @see https://pptr.dev/api/puppeteer.elementhandle._
91
+ */
92
+ $(selector: string): Promise<RemotePuppeteerElementHandle | null>;
93
+ /**
94
+ * Query for all matching child elements.
95
+ * @returns An array of matching elements.
96
+ *
97
+ * @see https://pptr.dev/api/puppeteer.elementhandle.__
98
+ */
99
+ $$(selector: string): Promise<RemotePuppeteerElementHandle[]>;
100
+ /**
101
+ * Get a property value.
102
+ *
103
+ * @see https://pptr.dev/api/puppeteer.elementhandle.getproperty
104
+ */
105
+ getProperty<T = unknown>(propertyName: string): Promise<T>;
106
+ /**
107
+ * Get the JSON value of the element.
108
+ *
109
+ * @see https://pptr.dev/api/puppeteer.jshandle.jsonvalue
110
+ */
111
+ jsonValue<T = unknown>(): Promise<T>;
112
+ /**
113
+ * Check if the element is visible.
114
+ *
115
+ * @see https://pptr.dev/api/puppeteer.elementhandle.isvisible
116
+ */
117
+ isVisible(): Promise<boolean>;
118
+ /**
119
+ * Check if the element is hidden.
120
+ *
121
+ * @see https://pptr.dev/api/puppeteer.elementhandle.ishidden
122
+ */
123
+ isHidden(): Promise<boolean>;
124
+ /**
125
+ * Check if the element intersects the viewport.
126
+ *
127
+ * @see https://pptr.dev/api/puppeteer.elementhandle.isintersectingviewport
128
+ */
129
+ isIntersectingViewport(options?: {
130
+ threshold?: number;
131
+ }): Promise<boolean>;
132
+ /**
133
+ * Get the bounding box of the element.
134
+ * @returns The bounding box or null if the element is not visible.
135
+ *
136
+ * @see https://pptr.dev/api/puppeteer.elementhandle.boundingbox
137
+ */
138
+ boundingBox(): Promise<PuppeteerBoundingBox | null>;
139
+ /**
140
+ * Get the CSS box model of the element.
141
+ * @returns The box model or null if the element is not visible.
142
+ *
143
+ * @see https://pptr.dev/api/puppeteer.elementhandle.boxmodel
144
+ */
145
+ boxModel(): Promise<PuppeteerBoxModel | null>;
146
+ /**
147
+ * Get a clickable point within the element.
148
+ *
149
+ * @see https://pptr.dev/api/puppeteer.elementhandle.clickablepoint
150
+ */
151
+ clickablePoint(offset?: PuppeteerOffset): Promise<PuppeteerPoint>;
152
+ /**
153
+ * Evaluate a function in the context of the element.
154
+ *
155
+ * @remarks
156
+ * The element is passed as the first argument to the function.
157
+ *
158
+ * @see https://pptr.dev/api/puppeteer.elementhandle.evaluate
159
+ */
160
+ evaluate<T = unknown>(pageFunction: string | ((element: Element, ...args: unknown[]) => T | Promise<T>), ...args: unknown[]): Promise<T>;
161
+ /**
162
+ * Evaluate a function on the first child matching the selector.
163
+ *
164
+ * @see https://pptr.dev/api/puppeteer.elementhandle._eval
165
+ */
166
+ $eval<T = unknown>(selector: string, pageFunction: string | ((element: Element, ...args: unknown[]) => T | Promise<T>), ...args: unknown[]): Promise<T>;
167
+ /**
168
+ * Evaluate a function on all children matching the selector.
169
+ *
170
+ * @see https://pptr.dev/api/puppeteer.elementhandle.__eval
171
+ */
172
+ $$eval<T = unknown>(selector: string, pageFunction: string | ((elements: Element[], ...args: unknown[]) => T | Promise<T>), ...args: unknown[]): Promise<T>;
173
+ /**
174
+ * Get the content frame for iframe elements.
175
+ * @returns The frame or null if not an iframe.
176
+ *
177
+ * @see https://pptr.dev/api/puppeteer.elementhandle.contentframe
178
+ */
179
+ contentFrame(): Promise<RemotePuppeteerFrame | null>;
180
+ /**
181
+ * Drag the element to the given target.
182
+ * @param target - Target point or element to drag to.
183
+ *
184
+ * @see https://pptr.dev/api/puppeteer.elementhandle.drag
185
+ */
186
+ drag(target: PuppeteerPoint | RemotePuppeteerElementHandle): Promise<PuppeteerDragData | void>;
187
+ /**
188
+ * Dispatch a dragenter event.
189
+ *
190
+ * @remarks
191
+ * Deprecated: dragenter is automatically performed during dragging.
192
+ *
193
+ * @see https://pptr.dev/api/puppeteer.elementhandle.dragenter
194
+ */
195
+ dragEnter(data?: PuppeteerDragData): Promise<void>;
196
+ /**
197
+ * Dispatch a dragover event.
198
+ *
199
+ * @remarks
200
+ * Deprecated: dragover is automatically performed during dragging.
201
+ *
202
+ * @see https://pptr.dev/api/puppeteer.elementhandle.dragover
203
+ */
204
+ dragOver(data?: PuppeteerDragData): Promise<void>;
205
+ /**
206
+ * Drag and drop to another element or point.
207
+ * @param target - Target element or point to drop onto.
208
+ *
209
+ * @see https://pptr.dev/api/puppeteer.elementhandle.draganddrop
210
+ */
211
+ dragAndDrop(target: RemotePuppeteerElementHandle | PuppeteerPoint, options?: {
212
+ delay?: number;
213
+ }): Promise<void>;
214
+ /**
215
+ * Drop the given element onto the current one.
216
+ * @param element - Element to drop.
217
+ *
218
+ * @see https://pptr.dev/api/puppeteer.elementhandle.drop
219
+ */
220
+ drop(element: RemotePuppeteerElementHandle): Promise<void>;
221
+ /**
222
+ * Move the touch to the center of the element.
223
+ *
224
+ * @remarks
225
+ * Scrolls element into view if needed.
226
+ *
227
+ * @see https://pptr.dev/api/puppeteer.elementhandle.touchmove
228
+ */
229
+ touchMove(touch?: {
230
+ touchId?: string;
231
+ }): Promise<void>;
232
+ /**
233
+ * End the first active touch.
234
+ *
235
+ * @see https://pptr.dev/api/puppeteer.elementhandle.touchend
236
+ */
237
+ touchEnd(): Promise<void>;
238
+ /**
239
+ * Wait for a child element to appear.
240
+ *
241
+ * @see https://pptr.dev/api/puppeteer.elementhandle.waitforselector
242
+ */
243
+ waitForSelector(selector: string, options?: PuppeteerWaitForSelectorOptions): Promise<RemotePuppeteerElementHandle | null>;
244
+ /**
245
+ * Convert to a typed element handle.
246
+ *
247
+ * @remarks
248
+ * Throws if the element is not of the specified tag type. Do NOT dispose the original handle - both handles reference the same element.
249
+ *
250
+ * @example
251
+ * Converting to an anchor element:
252
+ * ```ts
253
+ * const element = await page.$('.class-name-of-anchor');
254
+ * const anchor = await element.toElement('a');
255
+ * // anchor.href is now typed
256
+ * ```
257
+ *
258
+ * @see https://pptr.dev/api/puppeteer.elementhandle.toelement
259
+ */
260
+ toElement<K extends keyof HTMLElementTagNameMap>(tagName: K): Promise<RemotePuppeteerElementHandle>;
261
+ }
@@ -0,0 +1,341 @@
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 { extractHandleId, serializeFunctionSource, toHandleRef, } from '../../../internal/transport.js';
8
+ import { RemoteBase } from '../remote-base.js';
9
+ /**
10
+ * RemotePuppeteerElementHandle - Remote Puppeteer ElementHandle API over RPC.
11
+ *
12
+ * @see https://pptr.dev/api/puppeteer.elementhandle
13
+ */
14
+ export class RemotePuppeteerElementHandle extends RemoteBase {
15
+ /** The handle ID (alias for id, for compatibility). */
16
+ handleId;
17
+ createElementHandle;
18
+ createFrame;
19
+ createLocator;
20
+ createTouchHandle;
21
+ constructor(id, sendRpc, createElementHandle, createFrame, createLocator, createTouchHandle) {
22
+ super(id, sendRpc);
23
+ this.createElementHandle = createElementHandle;
24
+ this.createFrame = createFrame;
25
+ this.createLocator = createLocator;
26
+ this.createTouchHandle = createTouchHandle;
27
+ }
28
+ /**
29
+ * Click the element.
30
+ *
31
+ * @see https://pptr.dev/api/puppeteer.elementhandle.click
32
+ */
33
+ async click(options) {
34
+ await this.rpc('click', [options]);
35
+ }
36
+ /**
37
+ * Hover over the element.
38
+ *
39
+ * @see https://pptr.dev/api/puppeteer.elementhandle.hover
40
+ */
41
+ async hover() {
42
+ await this.rpc('hover', []);
43
+ }
44
+ /**
45
+ * Tap the element (for touch devices).
46
+ *
47
+ * @see https://pptr.dev/api/puppeteer.elementhandle.tap
48
+ */
49
+ async tap() {
50
+ await this.rpc('tap', []);
51
+ }
52
+ /**
53
+ * Focus the element.
54
+ *
55
+ * @see https://pptr.dev/api/puppeteer.elementhandle.focus
56
+ */
57
+ async focus() {
58
+ await this.rpc('focus', []);
59
+ }
60
+ /**
61
+ * Type text into the element.
62
+ *
63
+ * @see https://pptr.dev/api/puppeteer.elementhandle.type
64
+ */
65
+ async type(text, options) {
66
+ await this.rpc('type', [text, options]);
67
+ }
68
+ /**
69
+ * Press a key while focused on the element.
70
+ *
71
+ * @see https://pptr.dev/api/puppeteer.elementhandle.press
72
+ */
73
+ async press(key, options) {
74
+ await this.rpc('press', [key, options]);
75
+ }
76
+ /**
77
+ * Select options in a <select> element.
78
+ * @returns An array of selected option values.
79
+ *
80
+ * @see https://pptr.dev/api/puppeteer.elementhandle.select
81
+ */
82
+ async select(...values) {
83
+ return this.rpc('select', [...values]);
84
+ }
85
+ /**
86
+ * Upload files to a file input element.
87
+ *
88
+ * @see https://pptr.dev/api/puppeteer.elementhandle.uploadfile
89
+ */
90
+ async uploadFile(...filePaths) {
91
+ await this.rpc('uploadFile', [...filePaths]);
92
+ }
93
+ /**
94
+ * Scroll the element into view.
95
+ *
96
+ * @see https://pptr.dev/api/puppeteer.elementhandle.scrollintoview
97
+ */
98
+ async scrollIntoView() {
99
+ await this.rpc('scrollIntoView', []);
100
+ }
101
+ /**
102
+ * Test if the form is compatible with browser autofill. Currently supports credit card autofill in Chrome headless/headful only.
103
+ *
104
+ * @see https://pptr.dev/api/puppeteer.elementhandle.autofill
105
+ */
106
+ async autofill(data) {
107
+ await this.rpc('autofill', [data]);
108
+ }
109
+ /**
110
+ * Query for a child element.
111
+ * @returns The matching element or null if not found.
112
+ *
113
+ * @see https://pptr.dev/api/puppeteer.elementhandle._
114
+ */
115
+ async $(selector) {
116
+ const result = await this.rpc('$', [selector]);
117
+ if (!result)
118
+ return null;
119
+ return this.createElementHandle(result.id);
120
+ }
121
+ /**
122
+ * Query for all matching child elements.
123
+ * @returns An array of matching elements.
124
+ *
125
+ * @see https://pptr.dev/api/puppeteer.elementhandle.__
126
+ */
127
+ async $$(selector) {
128
+ const results = await this.rpc('$$', [selector]);
129
+ return results.map((r) => this.createElementHandle(r.id));
130
+ }
131
+ /**
132
+ * Get a property value.
133
+ *
134
+ * @see https://pptr.dev/api/puppeteer.elementhandle.getproperty
135
+ */
136
+ async getProperty(propertyName) {
137
+ return this.rpc('getProperty', [propertyName]);
138
+ }
139
+ /**
140
+ * Get the JSON value of the element.
141
+ *
142
+ * @see https://pptr.dev/api/puppeteer.jshandle.jsonvalue
143
+ */
144
+ async jsonValue() {
145
+ return this.rpc('jsonValue', []);
146
+ }
147
+ /**
148
+ * Check if the element is visible.
149
+ *
150
+ * @see https://pptr.dev/api/puppeteer.elementhandle.isvisible
151
+ */
152
+ async isVisible() {
153
+ return this.rpc('isVisible', []);
154
+ }
155
+ /**
156
+ * Check if the element is hidden.
157
+ *
158
+ * @see https://pptr.dev/api/puppeteer.elementhandle.ishidden
159
+ */
160
+ async isHidden() {
161
+ return this.rpc('isHidden', []);
162
+ }
163
+ /**
164
+ * Check if the element intersects the viewport.
165
+ *
166
+ * @see https://pptr.dev/api/puppeteer.elementhandle.isintersectingviewport
167
+ */
168
+ async isIntersectingViewport(options) {
169
+ return this.rpc('isIntersectingViewport', [options]);
170
+ }
171
+ /**
172
+ * Get the bounding box of the element.
173
+ * @returns The bounding box or null if the element is not visible.
174
+ *
175
+ * @see https://pptr.dev/api/puppeteer.elementhandle.boundingbox
176
+ */
177
+ async boundingBox() {
178
+ return this.rpc('boundingBox', []);
179
+ }
180
+ /**
181
+ * Get the CSS box model of the element.
182
+ * @returns The box model or null if the element is not visible.
183
+ *
184
+ * @see https://pptr.dev/api/puppeteer.elementhandle.boxmodel
185
+ */
186
+ async boxModel() {
187
+ return this.rpc('boxModel', []);
188
+ }
189
+ /**
190
+ * Get a clickable point within the element.
191
+ *
192
+ * @see https://pptr.dev/api/puppeteer.elementhandle.clickablepoint
193
+ */
194
+ async clickablePoint(offset) {
195
+ return this.rpc('clickablePoint', [offset]);
196
+ }
197
+ /**
198
+ * Evaluate a function in the context of the element.
199
+ *
200
+ * @remarks
201
+ * The element is passed as the first argument to the function.
202
+ *
203
+ * @see https://pptr.dev/api/puppeteer.elementhandle.evaluate
204
+ */
205
+ async evaluate(pageFunction, ...args) {
206
+ const _pageFunction = serializeFunctionSource(pageFunction);
207
+ return this.rpc('evaluate', [_pageFunction, ...args]);
208
+ }
209
+ /**
210
+ * Evaluate a function on the first child matching the selector.
211
+ *
212
+ * @see https://pptr.dev/api/puppeteer.elementhandle._eval
213
+ */
214
+ async $eval(selector, pageFunction, ...args) {
215
+ const _pageFunction = serializeFunctionSource(pageFunction);
216
+ return this.rpc('$eval', [selector, _pageFunction, ...args]);
217
+ }
218
+ /**
219
+ * Evaluate a function on all children matching the selector.
220
+ *
221
+ * @see https://pptr.dev/api/puppeteer.elementhandle.__eval
222
+ */
223
+ async $$eval(selector, pageFunction, ...args) {
224
+ const _pageFunction = serializeFunctionSource(pageFunction);
225
+ return this.rpc('$$eval', [selector, _pageFunction, ...args]);
226
+ }
227
+ /**
228
+ * Get the content frame for iframe elements.
229
+ * @returns The frame or null if not an iframe.
230
+ *
231
+ * @see https://pptr.dev/api/puppeteer.elementhandle.contentframe
232
+ */
233
+ async contentFrame() {
234
+ const result = await this.rpc('contentFrame', []);
235
+ if (!result)
236
+ return null;
237
+ return this.createFrame(result.id);
238
+ }
239
+ /**
240
+ * Drag the element to the given target.
241
+ * @param target - Target point or element to drag to.
242
+ *
243
+ * @see https://pptr.dev/api/puppeteer.elementhandle.drag
244
+ */
245
+ async drag(target) {
246
+ const _target = toHandleRef(target);
247
+ return this.rpc('drag', [_target]);
248
+ }
249
+ /**
250
+ * Dispatch a dragenter event.
251
+ *
252
+ * @remarks
253
+ * Deprecated: dragenter is automatically performed during dragging.
254
+ *
255
+ * @see https://pptr.dev/api/puppeteer.elementhandle.dragenter
256
+ */
257
+ async dragEnter(data) {
258
+ await this.rpc('dragEnter', [data]);
259
+ }
260
+ /**
261
+ * Dispatch a dragover event.
262
+ *
263
+ * @remarks
264
+ * Deprecated: dragover is automatically performed during dragging.
265
+ *
266
+ * @see https://pptr.dev/api/puppeteer.elementhandle.dragover
267
+ */
268
+ async dragOver(data) {
269
+ await this.rpc('dragOver', [data]);
270
+ }
271
+ /**
272
+ * Drag and drop to another element or point.
273
+ * @param target - Target element or point to drop onto.
274
+ *
275
+ * @see https://pptr.dev/api/puppeteer.elementhandle.draganddrop
276
+ */
277
+ async dragAndDrop(target, options) {
278
+ const _target = toHandleRef(target);
279
+ await this.rpc('dragAndDrop', [_target, options]);
280
+ }
281
+ /**
282
+ * Drop the given element onto the current one.
283
+ * @param element - Element to drop.
284
+ *
285
+ * @see https://pptr.dev/api/puppeteer.elementhandle.drop
286
+ */
287
+ async drop(element) {
288
+ const _element = extractHandleId(element);
289
+ await this.rpc('drop', [_element]);
290
+ }
291
+ /**
292
+ * Move the touch to the center of the element.
293
+ *
294
+ * @remarks
295
+ * Scrolls element into view if needed.
296
+ *
297
+ * @see https://pptr.dev/api/puppeteer.elementhandle.touchmove
298
+ */
299
+ async touchMove(touch) {
300
+ await this.rpc('touchMove', [touch]);
301
+ }
302
+ /**
303
+ * End the first active touch.
304
+ *
305
+ * @see https://pptr.dev/api/puppeteer.elementhandle.touchend
306
+ */
307
+ async touchEnd() {
308
+ await this.rpc('touchEnd', []);
309
+ }
310
+ /**
311
+ * Wait for a child element to appear.
312
+ *
313
+ * @see https://pptr.dev/api/puppeteer.elementhandle.waitforselector
314
+ */
315
+ async waitForSelector(selector, options) {
316
+ const result = await this.rpc('waitForSelector', [selector, options]);
317
+ if (!result)
318
+ return null;
319
+ return this.createElementHandle(result.id);
320
+ }
321
+ /**
322
+ * Convert to a typed element handle.
323
+ *
324
+ * @remarks
325
+ * Throws if the element is not of the specified tag type. Do NOT dispose the original handle - both handles reference the same element.
326
+ *
327
+ * @example
328
+ * Converting to an anchor element:
329
+ * ```ts
330
+ * const element = await page.$('.class-name-of-anchor');
331
+ * const anchor = await element.toElement('a');
332
+ * // anchor.href is now typed
333
+ * ```
334
+ *
335
+ * @see https://pptr.dev/api/puppeteer.elementhandle.toelement
336
+ */
337
+ async toElement(tagName) {
338
+ const result = await this.rpc('toElement', [tagName]);
339
+ return this.createElementHandle(result.id);
340
+ }
341
+ }
@@ -0,0 +1,34 @@
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
+ /**
9
+ * RemotePuppeteerFileChooser - Remote Puppeteer FileChooser API over RPC.
10
+ *
11
+ * @see https://pptr.dev/api/puppeteer.filechooser
12
+ */
13
+ export declare class RemotePuppeteerFileChooser {
14
+ readonly id: string;
15
+ protected sendRpc: SimpleRpcSender;
16
+ /** Whether the file chooser allows multiple file selection. */
17
+ private readonly _isMultiple;
18
+ constructor(id: string, sendRpc: SimpleRpcSender, isMultiple: boolean);
19
+ /**
20
+ * Whether file chooser allows multiple file selection.
21
+ * @see https://pptr.dev/api/puppeteer.filechooser.ismultiple
22
+ */
23
+ isMultiple(): boolean;
24
+ /**
25
+ * Accept the file chooser request with the given file paths.
26
+ * @see https://pptr.dev/api/puppeteer.filechooser.accept
27
+ */
28
+ accept(paths: string[]): Promise<void>;
29
+ /**
30
+ * Close the file chooser without selecting any files.
31
+ * @see https://pptr.dev/api/puppeteer.filechooser.cancel
32
+ */
33
+ cancel(): Promise<void>;
34
+ }
@@ -0,0 +1,43 @@
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
+ * RemotePuppeteerFileChooser - Remote Puppeteer FileChooser API over RPC.
9
+ *
10
+ * @see https://pptr.dev/api/puppeteer.filechooser
11
+ */
12
+ export class RemotePuppeteerFileChooser {
13
+ id;
14
+ sendRpc;
15
+ /** Whether the file chooser allows multiple file selection. */
16
+ _isMultiple;
17
+ constructor(id, sendRpc, isMultiple) {
18
+ this.id = id;
19
+ this.sendRpc = sendRpc;
20
+ this._isMultiple = isMultiple;
21
+ }
22
+ /**
23
+ * Whether file chooser allows multiple file selection.
24
+ * @see https://pptr.dev/api/puppeteer.filechooser.ismultiple
25
+ */
26
+ isMultiple() {
27
+ return this._isMultiple;
28
+ }
29
+ /**
30
+ * Accept the file chooser request with the given file paths.
31
+ * @see https://pptr.dev/api/puppeteer.filechooser.accept
32
+ */
33
+ async accept(paths) {
34
+ await this.sendRpc('fileChooser:accept', [this.id, paths]);
35
+ }
36
+ /**
37
+ * Close the file chooser without selecting any files.
38
+ * @see https://pptr.dev/api/puppeteer.filechooser.cancel
39
+ */
40
+ async cancel() {
41
+ await this.sendRpc('fileChooser:cancel', [this.id]);
42
+ }
43
+ }