@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,501 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/playwright/methods/
5
+ * Run `pnpm generate:playwright` to regenerate.
6
+ */
7
+ import { serializeFunctionSource, } from '../../../internal/transport.js';
8
+ import { RemoteBase } from '../remote-base.js';
9
+ /**
10
+ * RemotePlaywrightElementHandle - Remote Playwright ElementHandle API over RPC.
11
+ *
12
+ * @see https://playwright.dev/docs/api/class-elementhandle
13
+ */
14
+ export class RemotePlaywrightElementHandle extends RemoteBase {
15
+ createElementHandle;
16
+ createFrame;
17
+ createJSHandle;
18
+ constructor(id, sendRpc, createElementHandle, createFrame, createJSHandle) {
19
+ super(id, sendRpc);
20
+ this.createElementHandle = createElementHandle;
21
+ this.createFrame = createFrame;
22
+ this.createJSHandle = createJSHandle;
23
+ }
24
+ /**
25
+ * Return this handle as an ElementHandle.
26
+ * Since this is already an ElementHandle, returns itself.
27
+ * @see https://playwright.dev/docs/api/class-jshandle#js-handle-as-element
28
+ */
29
+ asElement() {
30
+ return this;
31
+ }
32
+ /**
33
+ * Click the element.
34
+ *
35
+ * @remarks
36
+ * This method clicks the element by performing actionability checks, scrolling into view, and simulating a mouse click. Discouraged in favor of locator.click().
37
+ *
38
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-click
39
+ */
40
+ async click(options) {
41
+ await this.rpc('click', [options]);
42
+ }
43
+ /**
44
+ * Double-click the element.
45
+ *
46
+ * @remarks
47
+ * Discouraged in favor of locator.dblclick().
48
+ *
49
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-dblclick
50
+ */
51
+ async dblclick(options) {
52
+ await this.rpc('dblclick', [options]);
53
+ }
54
+ /**
55
+ * Fill an input, textarea, or contenteditable element with the specified value.
56
+ *
57
+ * @remarks
58
+ * This method waits for actionability checks, focuses the element, fills it, and triggers an input event. Pass empty string to clear. Discouraged in favor of locator.fill().
59
+ *
60
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-fill
61
+ */
62
+ async fill(value, options) {
63
+ await this.rpc('fill', [value, options]);
64
+ }
65
+ /**
66
+ * Focus the element and type text into it character by character.
67
+ *
68
+ * @remarks
69
+ * Deprecated: In most cases use locator.fill() instead. Only use this for special keyboard handling. For special keys use press().
70
+ *
71
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-type
72
+ */
73
+ async type(text, options) {
74
+ await this.rpc('type', [text, options]);
75
+ }
76
+ /**
77
+ * Focus the element and press a key or key combination.
78
+ *
79
+ * @remarks
80
+ * Key can be a single character or a special key like "Enter", "Control+a", "Shift+ArrowDown". Discouraged in favor of locator.press().
81
+ *
82
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-press
83
+ */
84
+ async press(key, options) {
85
+ await this.rpc('press', [key, options]);
86
+ }
87
+ /**
88
+ * Hover over the element.
89
+ *
90
+ * @remarks
91
+ * This method hovers over the element by performing actionability checks, scrolling into view, and simulating mouse hover. Discouraged in favor of locator.hover().
92
+ *
93
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-hover
94
+ */
95
+ async hover(options) {
96
+ await this.rpc('hover', [options]);
97
+ }
98
+ /**
99
+ * Focus the element.
100
+ *
101
+ * @remarks
102
+ * Discouraged in favor of locator.focus().
103
+ *
104
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-focus
105
+ */
106
+ async focus() {
107
+ await this.rpc('focus', []);
108
+ }
109
+ /**
110
+ * Tap the element (for touch devices).
111
+ *
112
+ * @remarks
113
+ * This method taps the element by performing actionability checks, scrolling into view, centering, and dispatching touchstart/touchend events. Discouraged in favor of locator.tap().
114
+ *
115
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-tap
116
+ */
117
+ async tap(options) {
118
+ await this.rpc('tap', [options]);
119
+ }
120
+ /**
121
+ * Check a checkbox or radio element.
122
+ *
123
+ * @remarks
124
+ * If the element is already checked, this method returns immediately. Discouraged in favor of locator.check().
125
+ *
126
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-check
127
+ */
128
+ async check(options) {
129
+ await this.rpc('check', [options]);
130
+ }
131
+ /**
132
+ * Uncheck a checkbox element.
133
+ *
134
+ * @remarks
135
+ * If the element is already unchecked, this method returns immediately. Discouraged in favor of locator.uncheck().
136
+ *
137
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-uncheck
138
+ */
139
+ async uncheck(options) {
140
+ await this.rpc('uncheck', [options]);
141
+ }
142
+ /**
143
+ * Check or uncheck a checkbox or radio element.
144
+ *
145
+ * @remarks
146
+ * Discouraged in favor of locator.setChecked().
147
+ *
148
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-set-checked
149
+ */
150
+ async setChecked(checked, options) {
151
+ await this.rpc('setChecked', [checked, options]);
152
+ }
153
+ /**
154
+ * Select one or more options in a <select> element.
155
+ * @param values - Options to select. Can be value, label, or option object.
156
+ * @returns An array of selected option values.
157
+ *
158
+ * @remarks
159
+ * Discouraged in favor of locator.selectOption().
160
+ *
161
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-select-option
162
+ */
163
+ async selectOption(values, options) {
164
+ return this.rpc('selectOption', [values, options]);
165
+ }
166
+ /**
167
+ * Set the files for a file input element.
168
+ * @param files - File paths or file payloads to upload.
169
+ *
170
+ * @remarks
171
+ * Sets the value of the file input to these file paths or files. If some paths are relative, they are resolved relative to the current working directory. Clears selected files if empty array is passed. Discouraged in favor of locator.setInputFiles().
172
+ *
173
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-set-input-files
174
+ */
175
+ async setInputFiles(files, options) {
176
+ await this.rpc('setInputFiles', [files, options]);
177
+ }
178
+ /**
179
+ * Scroll the element into view if not already visible.
180
+ *
181
+ * @remarks
182
+ * If the element is detached from DOM, throws an error. Discouraged in favor of locator.scrollIntoViewIfNeeded().
183
+ *
184
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-scroll-into-view-if-needed
185
+ */
186
+ async scrollIntoViewIfNeeded(options) {
187
+ await this.rpc('scrollIntoViewIfNeeded', [options]);
188
+ }
189
+ /**
190
+ * Dispatch a DOM event on the element.
191
+ * @param type - DOM event type, e.g., "click".
192
+ * @param eventInit - Event-specific initialization properties.
193
+ *
194
+ * @remarks
195
+ * The event is composed, cancelable and bubbles by default. Regardless of visibility, this will dispatch the event. Discouraged in favor of locator.dispatchEvent().
196
+ *
197
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-dispatch-event
198
+ */
199
+ async dispatchEvent(type, eventInit) {
200
+ await this.rpc('dispatchEvent', [type, eventInit]);
201
+ }
202
+ /**
203
+ * Get the innerHTML of the element.
204
+ *
205
+ * @remarks
206
+ * Discouraged in favor of locator.innerHTML().
207
+ *
208
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-inner-html
209
+ */
210
+ async innerHTML() {
211
+ return this.rpc('innerHTML', []);
212
+ }
213
+ /**
214
+ * Get the innerText of the element.
215
+ *
216
+ * @remarks
217
+ * Discouraged in favor of locator.innerText().
218
+ *
219
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-inner-text
220
+ */
221
+ async innerText() {
222
+ return this.rpc('innerText', []);
223
+ }
224
+ /**
225
+ * Get the textContent of the element.
226
+ *
227
+ * @remarks
228
+ * Discouraged in favor of locator.textContent().
229
+ *
230
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-text-content
231
+ */
232
+ async textContent() {
233
+ return this.rpc('textContent', []);
234
+ }
235
+ /**
236
+ * Get an attribute value of the element.
237
+ * @param name - Attribute name to get.
238
+ *
239
+ * @remarks
240
+ * Discouraged in favor of locator.getAttribute().
241
+ *
242
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-get-attribute
243
+ */
244
+ async getAttribute(name) {
245
+ return this.rpc('getAttribute', [name]);
246
+ }
247
+ /**
248
+ * Get the input value for input, textarea, or select elements.
249
+ *
250
+ * @remarks
251
+ * Throws for non-input elements. Discouraged in favor of locator.inputValue().
252
+ *
253
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-input-value
254
+ */
255
+ async inputValue(options) {
256
+ return this.rpc('inputValue', [options]);
257
+ }
258
+ /**
259
+ * Check if the element is visible.
260
+ *
261
+ * @remarks
262
+ * Returns true if element is visible. Non-attached elements return false. Discouraged in favor of locator.isVisible().
263
+ *
264
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-is-visible
265
+ */
266
+ async isVisible() {
267
+ return this.rpc('isVisible', []);
268
+ }
269
+ /**
270
+ * Check if the element is hidden.
271
+ *
272
+ * @remarks
273
+ * Returns true if element is hidden. Non-attached elements return true. Discouraged in favor of locator.isHidden().
274
+ *
275
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-is-hidden
276
+ */
277
+ async isHidden() {
278
+ return this.rpc('isHidden', []);
279
+ }
280
+ /**
281
+ * Check if the element is enabled.
282
+ *
283
+ * @remarks
284
+ * Discouraged in favor of locator.isEnabled().
285
+ *
286
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-is-enabled
287
+ */
288
+ async isEnabled() {
289
+ return this.rpc('isEnabled', []);
290
+ }
291
+ /**
292
+ * Check if the element is disabled.
293
+ *
294
+ * @remarks
295
+ * Discouraged in favor of locator.isDisabled().
296
+ *
297
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-is-disabled
298
+ */
299
+ async isDisabled() {
300
+ return this.rpc('isDisabled', []);
301
+ }
302
+ /**
303
+ * Check if a checkbox or radio is checked.
304
+ *
305
+ * @remarks
306
+ * Throws if element is not a checkbox or radio. Discouraged in favor of locator.isChecked().
307
+ *
308
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-is-checked
309
+ */
310
+ async isChecked() {
311
+ return this.rpc('isChecked', []);
312
+ }
313
+ /**
314
+ * Check if the element is editable.
315
+ *
316
+ * @remarks
317
+ * Discouraged in favor of locator.isEditable().
318
+ *
319
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-is-editable
320
+ */
321
+ async isEditable() {
322
+ return this.rpc('isEditable', []);
323
+ }
324
+ /**
325
+ * Get the bounding box of the element.
326
+ * @returns Bounding box with x, y, width, height, or null if element is not visible.
327
+ *
328
+ * @remarks
329
+ * Discouraged in favor of locator.boundingBox().
330
+ *
331
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-bounding-box
332
+ */
333
+ async boundingBox() {
334
+ return this.rpc('boundingBox', []);
335
+ }
336
+ /**
337
+ * Get the content frame for iframe elements.
338
+ * @returns The frame content, or null if not an iframe.
339
+ *
340
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-content-frame
341
+ */
342
+ async contentFrame() {
343
+ const result = await this.rpc('contentFrame', []);
344
+ if (!result)
345
+ return null;
346
+ return this.createFrame(result.id);
347
+ }
348
+ /**
349
+ * Get the frame that owns this element.
350
+ * @returns The owner frame, or null if element is detached.
351
+ *
352
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-owner-frame
353
+ */
354
+ async ownerFrame() {
355
+ const result = await this.rpc('ownerFrame', []);
356
+ if (!result)
357
+ return null;
358
+ return this.createFrame(result.id);
359
+ }
360
+ /**
361
+ * Evaluate a function in the context of the element.
362
+ * @param pageFunction - Function or string to evaluate in the page context.
363
+ * @param arg - Argument to pass to the function.
364
+ *
365
+ * @remarks
366
+ * The element is passed as the first argument to the function. If the function returns a Promise, it will be awaited.
367
+ *
368
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-evaluate
369
+ */
370
+ async evaluate(pageFunction, arg) {
371
+ const _pageFunction = serializeFunctionSource(pageFunction);
372
+ return this.rpc('evaluate', [_pageFunction, arg]);
373
+ }
374
+ /**
375
+ * Evaluate a function and return a JSHandle to the result.
376
+ * @param pageFunction - Function or string to evaluate in the page context.
377
+ * @param arg - Argument to pass to the function.
378
+ *
379
+ * @remarks
380
+ * The element is passed as the first argument. Note: Returns serialized handle reference. Full JSHandle support not yet available.
381
+ *
382
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-evaluate-handle
383
+ */
384
+ async evaluateHandle(pageFunction, arg) {
385
+ const _pageFunction = serializeFunctionSource(pageFunction);
386
+ return this.rpc('evaluateHandle', [_pageFunction, arg]);
387
+ }
388
+ /**
389
+ * Query for a child element matching the selector.
390
+ * @returns The matching element or null if not found.
391
+ *
392
+ * @remarks
393
+ * Discouraged in favor of locator-based locator.locator().
394
+ *
395
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-query-selector
396
+ */
397
+ async $(selector) {
398
+ const result = await this.rpc('$', [selector]);
399
+ if (!result)
400
+ return null;
401
+ return this.createElementHandle(result.id);
402
+ }
403
+ /**
404
+ * Query for all child elements matching the selector.
405
+ * @returns An array of matching elements.
406
+ *
407
+ * @remarks
408
+ * Discouraged in favor of locator-based locator.locator().
409
+ *
410
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-query-selector-all
411
+ */
412
+ async $$(selector) {
413
+ const results = await this.rpc('$$', [selector]);
414
+ return results.map((r) => this.createElementHandle(r.id));
415
+ }
416
+ /**
417
+ * Evaluate a function on a child element matching the selector.
418
+ *
419
+ * @remarks
420
+ * Throws if no element matches. Discouraged in favor of locator.evaluate().
421
+ *
422
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-eval-on-selector
423
+ */
424
+ async $eval(selector, pageFunction, arg) {
425
+ const _pageFunction = serializeFunctionSource(pageFunction);
426
+ return this.rpc('$eval', [selector, _pageFunction, arg]);
427
+ }
428
+ /**
429
+ * Evaluate a function on all child elements matching the selector.
430
+ *
431
+ * @remarks
432
+ * Discouraged in favor of locator.evaluateAll().
433
+ *
434
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-eval-on-selector-all
435
+ */
436
+ async $$eval(selector, pageFunction, arg) {
437
+ const _pageFunction = serializeFunctionSource(pageFunction);
438
+ return this.rpc('$$eval', [selector, _pageFunction, arg]);
439
+ }
440
+ /**
441
+ * Wait for the element to reach a specific state.
442
+ * @param state - State to wait for: "visible", "hidden", "stable", "enabled", or "disabled".
443
+ *
444
+ * @remarks
445
+ * Discouraged in favor of web-first assertions.
446
+ *
447
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-wait-for-element-state
448
+ */
449
+ async waitForElementState(state, options) {
450
+ await this.rpc('waitForElementState', [state, options]);
451
+ }
452
+ /**
453
+ * Wait for a child element matching the selector.
454
+ * @returns The matching element, or null if waiting for hidden/detached.
455
+ *
456
+ * @remarks
457
+ * Discouraged in favor of locator-based assertions.
458
+ *
459
+ * @see https://playwright.dev/docs/api/class-elementhandle#element-handle-wait-for-selector
460
+ */
461
+ async waitForSelector(selector, options) {
462
+ const result = await this.rpc('waitForSelector', [selector, options]);
463
+ if (!result)
464
+ return null;
465
+ return this.createElementHandle(result.id);
466
+ }
467
+ /**
468
+ * Dispose of the handle, releasing it from the browser.
469
+ *
470
+ * @remarks
471
+ * After disposal, any method calls will throw. The SDK sets the disposed flag before the RPC call to prevent race conditions.
472
+ *
473
+ * @see https://playwright.dev/docs/api/class-jshandle#js-handle-dispose
474
+ */
475
+ async dispose() {
476
+ await this.rpc('dispose', []);
477
+ this.markClosed();
478
+ }
479
+ /**
480
+ * Get a JSHandle for a property of this element.
481
+ *
482
+ * @remarks
483
+ * Note: Returns serialized handle reference. Full JSHandle support not yet available.
484
+ *
485
+ * @see https://playwright.dev/docs/api/class-jshandle#js-handle-get-property
486
+ */
487
+ async getProperty(propertyName) {
488
+ return this.rpc('getProperty', [propertyName]);
489
+ }
490
+ /**
491
+ * Get the JSON value of the element.
492
+ *
493
+ * @remarks
494
+ * Throws if the object cannot be serialized to JSON (e.g., DOM nodes).
495
+ *
496
+ * @see https://playwright.dev/docs/api/class-jshandle#js-handle-json-value
497
+ */
498
+ async jsonValue() {
499
+ return this.rpc('jsonValue', []);
500
+ }
501
+ }
@@ -0,0 +1,34 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/playwright/methods/
5
+ * Run `pnpm generate:playwright` to regenerate.
6
+ */
7
+ import type { SimpleRpcSender } from '../../../internal/transport.js';
8
+ import type { PlaywrightAriaRole, PlaywrightGetByRoleOptions, PlaywrightGetByTextOptions, PlaywrightGetByLabelOptions, PlaywrightGetByPlaceholderOptions, PlaywrightGetByAltTextOptions, PlaywrightGetByTitleOptions } from '../types.js';
9
+ import { RemoteComponentBase } from '../remote-base.js';
10
+ import type { RemotePlaywrightLocator } from './locator.js';
11
+ /**
12
+ * RemotePlaywrightFrameLocator - Remote Playwright FrameLocator API over RPC.
13
+ *
14
+ * @see https://playwright.dev/docs/api/class-framelocator
15
+ */
16
+ export declare class RemotePlaywrightFrameLocator extends RemoteComponentBase {
17
+ private frameSelector;
18
+ private createLocator;
19
+ constructor(sendRpc: SimpleRpcSender, frameSelector: string, createLocator: (selector: string) => RemotePlaywrightLocator);
20
+ private scoped;
21
+ locator(selector: string): RemotePlaywrightLocator;
22
+ getByRole(role: PlaywrightAriaRole, options?: PlaywrightGetByRoleOptions): RemotePlaywrightLocator;
23
+ getByText(text: string | RegExp, options?: PlaywrightGetByTextOptions): RemotePlaywrightLocator;
24
+ getByLabel(text: string | RegExp, options?: PlaywrightGetByLabelOptions): RemotePlaywrightLocator;
25
+ getByPlaceholder(text: string | RegExp, options?: PlaywrightGetByPlaceholderOptions): RemotePlaywrightLocator;
26
+ getByAltText(text: string | RegExp, options?: PlaywrightGetByAltTextOptions): RemotePlaywrightLocator;
27
+ getByTitle(text: string | RegExp, options?: PlaywrightGetByTitleOptions): RemotePlaywrightLocator;
28
+ getByTestId(testId: string | RegExp): RemotePlaywrightLocator;
29
+ first(): RemotePlaywrightFrameLocator;
30
+ last(): RemotePlaywrightFrameLocator;
31
+ nth(index: number): RemotePlaywrightFrameLocator;
32
+ frameLocator(selector: string): RemotePlaywrightFrameLocator;
33
+ owner(): RemotePlaywrightLocator;
34
+ }
@@ -0,0 +1,63 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/playwright/methods/
5
+ * Run `pnpm generate:playwright` to regenerate.
6
+ */
7
+ import { RemoteComponentBase } from '../remote-base.js';
8
+ /**
9
+ * RemotePlaywrightFrameLocator - Remote Playwright FrameLocator API over RPC.
10
+ *
11
+ * @see https://playwright.dev/docs/api/class-framelocator
12
+ */
13
+ export class RemotePlaywrightFrameLocator extends RemoteComponentBase {
14
+ frameSelector;
15
+ createLocator;
16
+ constructor(sendRpc, frameSelector, createLocator) {
17
+ super(sendRpc);
18
+ this.frameSelector = frameSelector;
19
+ this.createLocator = createLocator;
20
+ }
21
+ scoped(selector) {
22
+ return `${this.frameSelector} >> ${selector}`;
23
+ }
24
+ locator(selector) {
25
+ return this.createLocator(this.scoped(selector));
26
+ }
27
+ getByRole(role, options) {
28
+ return this.createLocator(this.frameSelector).getByRole(role, options);
29
+ }
30
+ getByText(text, options) {
31
+ return this.createLocator(this.frameSelector).getByText(text, options);
32
+ }
33
+ getByLabel(text, options) {
34
+ return this.createLocator(this.frameSelector).getByLabel(text, options);
35
+ }
36
+ getByPlaceholder(text, options) {
37
+ return this.createLocator(this.frameSelector).getByPlaceholder(text, options);
38
+ }
39
+ getByAltText(text, options) {
40
+ return this.createLocator(this.frameSelector).getByAltText(text, options);
41
+ }
42
+ getByTitle(text, options) {
43
+ return this.createLocator(this.frameSelector).getByTitle(text, options);
44
+ }
45
+ getByTestId(testId) {
46
+ return this.createLocator(this.frameSelector).getByTestId(testId);
47
+ }
48
+ first() {
49
+ return this.nth(0);
50
+ }
51
+ last() {
52
+ return new RemotePlaywrightFrameLocator(this.sendRpc, this.scoped('nth=-1'), this.createLocator);
53
+ }
54
+ nth(index) {
55
+ return new RemotePlaywrightFrameLocator(this.sendRpc, this.scoped(`nth=${index}`), this.createLocator);
56
+ }
57
+ frameLocator(selector) {
58
+ return new RemotePlaywrightFrameLocator(this.sendRpc, this.scoped(selector), this.createLocator);
59
+ }
60
+ owner() {
61
+ return this.createLocator(this.frameSelector);
62
+ }
63
+ }