@bctrl/sdk 1.0.1 → 1.0.3

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 (277) hide show
  1. package/README.md +28 -29
  2. package/dist/bctrl.d.ts +22 -36
  3. package/dist/bctrl.js +40 -75
  4. package/dist/errors.d.ts +49 -43
  5. package/dist/errors.js +83 -120
  6. package/dist/files.d.ts +31 -0
  7. package/dist/files.js +97 -0
  8. package/dist/http.d.ts +18 -0
  9. package/dist/http.js +135 -0
  10. package/dist/index.d.ts +9 -12
  11. package/dist/index.js +7 -23
  12. package/dist/invocations.d.ts +86 -0
  13. package/dist/invocations.js +159 -0
  14. package/dist/pagination.d.ts +2 -0
  15. package/dist/pagination.js +13 -0
  16. package/dist/runs.d.ts +40 -0
  17. package/dist/runs.js +105 -0
  18. package/dist/runtimes.d.ts +69 -0
  19. package/dist/runtimes.js +202 -0
  20. package/dist/spaces.d.ts +40 -0
  21. package/dist/spaces.js +96 -0
  22. package/dist/types.d.ts +413 -0
  23. package/dist/types.js +1 -0
  24. package/dist/utils.d.ts +4 -0
  25. package/dist/utils.js +27 -0
  26. package/dist/version.js +2 -2
  27. package/package.json +4 -21
  28. package/dist/agents/browser-use/index.d.ts +0 -1
  29. package/dist/agents/browser-use/index.js +0 -9
  30. package/dist/agents/browser-use/namespace.d.ts +0 -39
  31. package/dist/agents/browser-use/namespace.js +0 -93
  32. package/dist/agents/index.d.ts +0 -2
  33. package/dist/agents/index.js +0 -17
  34. package/dist/agents/stagehand/core.d.ts +0 -93
  35. package/dist/agents/stagehand/core.js +0 -144
  36. package/dist/agents/stagehand/index.d.ts +0 -3
  37. package/dist/agents/stagehand/index.js +0 -24
  38. package/dist/agents/stagehand/namespace.d.ts +0 -51
  39. package/dist/agents/stagehand/namespace.js +0 -65
  40. package/dist/ai-credentials/client.d.ts +0 -12
  41. package/dist/ai-credentials/client.js +0 -70
  42. package/dist/ai-credentials/index.d.ts +0 -1
  43. package/dist/ai-credentials/index.js +0 -1
  44. package/dist/base/event-binding.d.ts +0 -7
  45. package/dist/base/event-binding.js +0 -23
  46. package/dist/base/types.d.ts +0 -109
  47. package/dist/base/types.js +0 -4
  48. package/dist/browser-extensions/client.d.ts +0 -15
  49. package/dist/browser-extensions/client.js +0 -72
  50. package/dist/browser-extensions/index.d.ts +0 -2
  51. package/dist/browser-extensions/index.js +0 -1
  52. package/dist/browser-profiles/client.d.ts +0 -11
  53. package/dist/browser-profiles/client.js +0 -63
  54. package/dist/browser-profiles/index.d.ts +0 -1
  55. package/dist/browser-profiles/index.js +0 -1
  56. package/dist/captcha/index.d.ts +0 -1
  57. package/dist/captcha/index.js +0 -1
  58. package/dist/captcha/namespace.d.ts +0 -34
  59. package/dist/captcha/namespace.js +0 -41
  60. package/dist/client/index.d.ts +0 -1
  61. package/dist/client/index.js +0 -1
  62. package/dist/client/rpc.d.ts +0 -83
  63. package/dist/client/rpc.js +0 -354
  64. package/dist/config.d.ts +0 -5
  65. package/dist/config.js +0 -28
  66. package/dist/constants/browser.d.ts +0 -2
  67. package/dist/constants/browser.js +0 -1
  68. package/dist/contracts/agent-tools.d.ts +0 -45
  69. package/dist/contracts/agent-tools.js +0 -31
  70. package/dist/contracts/automation.d.ts +0 -265
  71. package/dist/contracts/automation.js +0 -109
  72. package/dist/contracts/browser-management.d.ts +0 -179
  73. package/dist/contracts/browser-management.js +0 -95
  74. package/dist/contracts/browser-use.d.ts +0 -136
  75. package/dist/contracts/browser-use.js +0 -93
  76. package/dist/contracts/captcha.d.ts +0 -114
  77. package/dist/contracts/captcha.js +0 -40
  78. package/dist/contracts/desktop.d.ts +0 -223
  79. package/dist/contracts/desktop.js +0 -121
  80. package/dist/contracts/drivers/playwright.d.ts +0 -2008
  81. package/dist/contracts/drivers/playwright.js +0 -2033
  82. package/dist/contracts/drivers/puppeteer.d.ts +0 -1221
  83. package/dist/contracts/drivers/puppeteer.js +0 -941
  84. package/dist/contracts/drivers/selenium.d.ts +0 -156
  85. package/dist/contracts/drivers/selenium.js +0 -61
  86. package/dist/contracts/drivers/stagehand.d.ts +0 -155
  87. package/dist/contracts/drivers/stagehand.js +0 -7
  88. package/dist/contracts/extensions.d.ts +0 -13
  89. package/dist/contracts/extensions.js +0 -9
  90. package/dist/contracts/index.d.ts +0 -13
  91. package/dist/contracts/index.js +0 -13
  92. package/dist/contracts/public-api.d.ts +0 -360
  93. package/dist/contracts/public-api.js +0 -17
  94. package/dist/contracts/runtime.d.ts +0 -81
  95. package/dist/contracts/runtime.js +0 -16
  96. package/dist/contracts/stagehand.d.ts +0 -253
  97. package/dist/contracts/stagehand.js +0 -145
  98. package/dist/contracts/storage.d.ts +0 -51
  99. package/dist/contracts/storage.js +0 -56
  100. package/dist/contracts/vault.d.ts +0 -119
  101. package/dist/contracts/vault.js +0 -112
  102. package/dist/contracts/version.d.ts +0 -3
  103. package/dist/contracts/version.js +0 -16
  104. package/dist/desktop.d.ts +0 -2
  105. package/dist/desktop.js +0 -3
  106. package/dist/drivers/desktop/index.d.ts +0 -65
  107. package/dist/drivers/desktop/index.js +0 -68
  108. package/dist/drivers/desktop/session.d.ts +0 -313
  109. package/dist/drivers/desktop/session.js +0 -432
  110. package/dist/drivers/playwright/event-emitter.d.ts +0 -160
  111. package/dist/drivers/playwright/event-emitter.js +0 -297
  112. package/dist/drivers/playwright/generated/api-request-context.d.ts +0 -137
  113. package/dist/drivers/playwright/generated/api-request-context.js +0 -154
  114. package/dist/drivers/playwright/generated/api-response.d.ts +0 -119
  115. package/dist/drivers/playwright/generated/api-response.js +0 -123
  116. package/dist/drivers/playwright/generated/browser-context.d.ts +0 -284
  117. package/dist/drivers/playwright/generated/browser-context.js +0 -458
  118. package/dist/drivers/playwright/generated/browser.d.ts +0 -120
  119. package/dist/drivers/playwright/generated/browser.js +0 -151
  120. package/dist/drivers/playwright/generated/clock.d.ts +0 -80
  121. package/dist/drivers/playwright/generated/clock.js +0 -94
  122. package/dist/drivers/playwright/generated/console-message.d.ts +0 -94
  123. package/dist/drivers/playwright/generated/console-message.js +0 -89
  124. package/dist/drivers/playwright/generated/coverage.d.ts +0 -57
  125. package/dist/drivers/playwright/generated/coverage.js +0 -66
  126. package/dist/drivers/playwright/generated/dialog.d.ts +0 -79
  127. package/dist/drivers/playwright/generated/dialog.js +0 -80
  128. package/dist/drivers/playwright/generated/element-handle.d.ts +0 -399
  129. package/dist/drivers/playwright/generated/element-handle.js +0 -501
  130. package/dist/drivers/playwright/generated/frame-locator.d.ts +0 -34
  131. package/dist/drivers/playwright/generated/frame-locator.js +0 -63
  132. package/dist/drivers/playwright/generated/frame.d.ts +0 -557
  133. package/dist/drivers/playwright/generated/frame.js +0 -634
  134. package/dist/drivers/playwright/generated/js-handle.d.ts +0 -72
  135. package/dist/drivers/playwright/generated/js-handle.js +0 -92
  136. package/dist/drivers/playwright/generated/keyboard.d.ts +0 -103
  137. package/dist/drivers/playwright/generated/keyboard.js +0 -113
  138. package/dist/drivers/playwright/generated/locator.d.ts +0 -795
  139. package/dist/drivers/playwright/generated/locator.js +0 -974
  140. package/dist/drivers/playwright/generated/mouse.d.ts +0 -97
  141. package/dist/drivers/playwright/generated/mouse.js +0 -109
  142. package/dist/drivers/playwright/generated/page.d.ts +0 -762
  143. package/dist/drivers/playwright/generated/page.js +0 -988
  144. package/dist/drivers/playwright/generated/touchscreen.d.ts +0 -34
  145. package/dist/drivers/playwright/generated/touchscreen.js +0 -37
  146. package/dist/drivers/playwright/generated/tracing.d.ts +0 -78
  147. package/dist/drivers/playwright/generated/tracing.js +0 -80
  148. package/dist/drivers/playwright/generated/worker.d.ts +0 -53
  149. package/dist/drivers/playwright/generated/worker.js +0 -59
  150. package/dist/drivers/playwright/index.d.ts +0 -19
  151. package/dist/drivers/playwright/index.js +0 -20
  152. package/dist/drivers/playwright/remote-base.d.ts +0 -62
  153. package/dist/drivers/playwright/remote-base.js +0 -86
  154. package/dist/drivers/playwright/types.d.ts +0 -148
  155. package/dist/drivers/playwright/types.js +0 -8
  156. package/dist/drivers/puppeteer/errors.d.ts +0 -50
  157. package/dist/drivers/puppeteer/errors.js +0 -71
  158. package/dist/drivers/puppeteer/event-emitter.d.ts +0 -145
  159. package/dist/drivers/puppeteer/event-emitter.js +0 -259
  160. package/dist/drivers/puppeteer/generated/accessibility.d.ts +0 -77
  161. package/dist/drivers/puppeteer/generated/accessibility.js +0 -74
  162. package/dist/drivers/puppeteer/generated/browser-context.d.ts +0 -116
  163. package/dist/drivers/puppeteer/generated/browser-context.js +0 -168
  164. package/dist/drivers/puppeteer/generated/browser.d.ts +0 -169
  165. package/dist/drivers/puppeteer/generated/browser.js +0 -246
  166. package/dist/drivers/puppeteer/generated/console-message.d.ts +0 -54
  167. package/dist/drivers/puppeteer/generated/console-message.js +0 -69
  168. package/dist/drivers/puppeteer/generated/coverage.d.ts +0 -49
  169. package/dist/drivers/puppeteer/generated/coverage.js +0 -57
  170. package/dist/drivers/puppeteer/generated/dialog.d.ts +0 -46
  171. package/dist/drivers/puppeteer/generated/dialog.js +0 -60
  172. package/dist/drivers/puppeteer/generated/element-handle.d.ts +0 -261
  173. package/dist/drivers/puppeteer/generated/element-handle.js +0 -341
  174. package/dist/drivers/puppeteer/generated/file-chooser.d.ts +0 -34
  175. package/dist/drivers/puppeteer/generated/file-chooser.js +0 -43
  176. package/dist/drivers/puppeteer/generated/frame.d.ts +0 -221
  177. package/dist/drivers/puppeteer/generated/frame.js +0 -302
  178. package/dist/drivers/puppeteer/generated/http-request.d.ts +0 -195
  179. package/dist/drivers/puppeteer/generated/http-request.js +0 -243
  180. package/dist/drivers/puppeteer/generated/http-response.d.ts +0 -142
  181. package/dist/drivers/puppeteer/generated/http-response.js +0 -169
  182. package/dist/drivers/puppeteer/generated/js-handle.d.ts +0 -104
  183. package/dist/drivers/puppeteer/generated/js-handle.js +0 -125
  184. package/dist/drivers/puppeteer/generated/keyboard.d.ts +0 -79
  185. package/dist/drivers/puppeteer/generated/keyboard.js +0 -89
  186. package/dist/drivers/puppeteer/generated/locator.d.ts +0 -141
  187. package/dist/drivers/puppeteer/generated/locator.js +0 -164
  188. package/dist/drivers/puppeteer/generated/mouse.d.ts +0 -74
  189. package/dist/drivers/puppeteer/generated/mouse.js +0 -94
  190. package/dist/drivers/puppeteer/generated/page.d.ts +0 -604
  191. package/dist/drivers/puppeteer/generated/page.js +0 -776
  192. package/dist/drivers/puppeteer/generated/target.d.ts +0 -105
  193. package/dist/drivers/puppeteer/generated/target.js +0 -123
  194. package/dist/drivers/puppeteer/generated/touchscreen.d.ts +0 -87
  195. package/dist/drivers/puppeteer/generated/touchscreen.js +0 -103
  196. package/dist/drivers/puppeteer/generated/tracing.d.ts +0 -38
  197. package/dist/drivers/puppeteer/generated/tracing.js +0 -43
  198. package/dist/drivers/puppeteer/generated/web-worker.d.ts +0 -63
  199. package/dist/drivers/puppeteer/generated/web-worker.js +0 -73
  200. package/dist/drivers/puppeteer/index.d.ts +0 -21
  201. package/dist/drivers/puppeteer/index.js +0 -23
  202. package/dist/drivers/puppeteer/remote-base.d.ts +0 -57
  203. package/dist/drivers/puppeteer/remote-base.js +0 -79
  204. package/dist/drivers/puppeteer/types.d.ts +0 -178
  205. package/dist/drivers/puppeteer/types.js +0 -8
  206. package/dist/drivers/selenium/driver.d.ts +0 -28
  207. package/dist/drivers/selenium/driver.js +0 -169
  208. package/dist/drivers/selenium/element.d.ts +0 -34
  209. package/dist/drivers/selenium/element.js +0 -73
  210. package/dist/drivers/selenium/index.d.ts +0 -3
  211. package/dist/drivers/selenium/index.js +0 -5
  212. package/dist/drivers/selenium/types.d.ts +0 -2
  213. package/dist/drivers/selenium/types.js +0 -12
  214. package/dist/drivers/stagehand/generated/context.d.ts +0 -127
  215. package/dist/drivers/stagehand/generated/context.js +0 -153
  216. package/dist/drivers/stagehand/generated/locator.d.ts +0 -324
  217. package/dist/drivers/stagehand/generated/locator.js +0 -368
  218. package/dist/drivers/stagehand/generated/page.d.ts +0 -377
  219. package/dist/drivers/stagehand/generated/page.js +0 -439
  220. package/dist/drivers/stagehand/generated/response.d.ts +0 -197
  221. package/dist/drivers/stagehand/generated/response.js +0 -232
  222. package/dist/drivers/stagehand/index.d.ts +0 -5
  223. package/dist/drivers/stagehand/index.js +0 -8
  224. package/dist/drivers/stagehand/types.d.ts +0 -1
  225. package/dist/drivers/stagehand/types.js +0 -7
  226. package/dist/extensions/client.d.ts +0 -47
  227. package/dist/extensions/client.js +0 -154
  228. package/dist/extensions/index.d.ts +0 -1
  229. package/dist/extensions/index.js +0 -1
  230. package/dist/internal/dev-client.d.ts +0 -5
  231. package/dist/internal/dev-client.js +0 -9
  232. package/dist/internal/rpc-targets.d.ts +0 -17
  233. package/dist/internal/rpc-targets.js +0 -58
  234. package/dist/internal/serialization.d.ts +0 -32
  235. package/dist/internal/serialization.js +0 -42
  236. package/dist/internal/transport.d.ts +0 -24
  237. package/dist/internal/transport.js +0 -29
  238. package/dist/playwright.d.ts +0 -1
  239. package/dist/playwright.js +0 -2
  240. package/dist/puppeteer.d.ts +0 -1
  241. package/dist/puppeteer.js +0 -2
  242. package/dist/selenium.d.ts +0 -1
  243. package/dist/selenium.js +0 -2
  244. package/dist/stagehand.d.ts +0 -1
  245. package/dist/stagehand.js +0 -2
  246. package/dist/storage/client.d.ts +0 -151
  247. package/dist/storage/client.js +0 -329
  248. package/dist/storage/index.d.ts +0 -2
  249. package/dist/storage/index.js +0 -4
  250. package/dist/telemetry.d.ts +0 -18
  251. package/dist/telemetry.js +0 -93
  252. package/dist/updates/client.d.ts +0 -8
  253. package/dist/updates/client.js +0 -128
  254. package/dist/updates/index.d.ts +0 -1
  255. package/dist/updates/index.js +0 -1
  256. package/dist/utils/http.d.ts +0 -39
  257. package/dist/utils/http.js +0 -88
  258. package/dist/utils/index.d.ts +0 -4
  259. package/dist/utils/index.js +0 -4
  260. package/dist/utils/logger.d.ts +0 -27
  261. package/dist/utils/logger.js +0 -74
  262. package/dist/utils/schema.d.ts +0 -17
  263. package/dist/utils/schema.js +0 -31
  264. package/dist/utils/url.d.ts +0 -5
  265. package/dist/utils/url.js +0 -7
  266. package/dist/vault/client.d.ts +0 -43
  267. package/dist/vault/client.js +0 -123
  268. package/dist/vault/index.d.ts +0 -1
  269. package/dist/vault/index.js +0 -1
  270. package/dist/workspaces/browser-runtime.d.ts +0 -251
  271. package/dist/workspaces/browser-runtime.js +0 -1025
  272. package/dist/workspaces/client.d.ts +0 -48
  273. package/dist/workspaces/client.js +0 -222
  274. package/dist/workspaces/index.d.ts +0 -2
  275. package/dist/workspaces/index.js +0 -2
  276. package/dist/workspaces/runtime-event-pump.d.ts +0 -65
  277. 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
- }