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