@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,377 @@
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
+ import type { SimpleRpcSender } from '../../../internal/transport.js';
8
+ import type { StagehandClickOptions, StagehandDragAndDropOptions, StagehandGotoOptions, StagehandHoverOptions, StagehandLoadState, StagehandReloadOptions, StagehandScreenshotOptions, StagehandSnapshotOptions, StagehandSnapshotResult, StagehandTypeOptions, StagehandViewportOptions, StagehandWaitForSelectorOptions } from '../types.js';
9
+ import { RemoteStagehandLocator } from './locator.js';
10
+ import type { RemoteStagehandResponse } from './response.js';
11
+ /**
12
+ * RemoteStagehandPage - Remote Puppeteer Page API over RPC.
13
+ *
14
+ * @see https://pptr.dev/api/puppeteer.page
15
+ */
16
+ export declare class RemoteStagehandPage {
17
+ readonly id: string;
18
+ protected sendRpc: SimpleRpcSender;
19
+ constructor(id: string, sendRpc: SimpleRpcSender, createLocator: (selector: string) => RemoteStagehandLocator, createDeepLocator: (selector: string) => RemoteStagehandLocator, createResponse: (data: unknown) => RemoteStagehandResponse);
20
+ private createLocator;
21
+ private createDeepLocator;
22
+ private createResponse;
23
+ private _url;
24
+ private _eventListeners;
25
+ private rpc;
26
+ /**
27
+ * Register an event listener.
28
+ * @see https://docs.stagehand.dev/references/page#events
29
+ */
30
+ on(event: string, handler: Function): this;
31
+ /**
32
+ * Register a one-time event listener.
33
+ * @see https://docs.stagehand.dev/references/page#events
34
+ */
35
+ once(event: string, handler: Function): this;
36
+ /**
37
+ * Remove an event listener.
38
+ * @see https://docs.stagehand.dev/references/page#events
39
+ */
40
+ off(event: string, handler: Function): this;
41
+ /**
42
+ * Navigate the page to a URL.
43
+ * @param url - URL to navigate to.
44
+ *
45
+ * @remarks
46
+ * Options include:
47
+ * - waitUntil: 'load' | 'domcontentloaded' | 'networkidle'
48
+ * - timeoutMs: Maximum navigation time in milliseconds
49
+ *
50
+ * @example
51
+ * await page.goto("https://example.com");
52
+ *
53
+ * @example
54
+ * await page.goto("https://example.com", { waitUntil: "networkidle" });
55
+ *
56
+ * @see https://docs.stagehand.dev/references/page#goto
57
+ */
58
+ goto(url: string, options?: StagehandGotoOptions): Promise<RemoteStagehandResponse | null>;
59
+ /**
60
+ * Reload the current page.
61
+ *
62
+ * @remarks
63
+ * Options include:
64
+ * - waitUntil: 'load' | 'domcontentloaded' | 'networkidle'
65
+ * - timeoutMs: Maximum reload time in milliseconds
66
+ * - ignoreCache: Whether to bypass the browser cache
67
+ *
68
+ * @example
69
+ * await page.reload();
70
+ *
71
+ * @example
72
+ * await page.reload({ ignoreCache: true });
73
+ *
74
+ * @see https://docs.stagehand.dev/references/page#reload
75
+ */
76
+ reload(options?: StagehandReloadOptions): Promise<RemoteStagehandResponse | null>;
77
+ /**
78
+ * Navigate to the previous page in history.
79
+ *
80
+ * @remarks
81
+ * Returns null if there is no previous page.
82
+ *
83
+ * @example
84
+ * await page.goBack();
85
+ *
86
+ * @see https://docs.stagehand.dev/references/page#goback
87
+ */
88
+ goBack(options?: StagehandGotoOptions): Promise<RemoteStagehandResponse | null>;
89
+ /**
90
+ * Navigate to the next page in history.
91
+ *
92
+ * @remarks
93
+ * Returns null if there is no next page.
94
+ *
95
+ * @example
96
+ * await page.goForward();
97
+ *
98
+ * @see https://docs.stagehand.dev/references/page#goforward
99
+ */
100
+ goForward(options?: StagehandGotoOptions): Promise<RemoteStagehandResponse | null>;
101
+ /**
102
+ * Get the current URL of the page.
103
+ *
104
+ * @remarks
105
+ * This is a synchronous method that returns the current URL.
106
+ *
107
+ * @example
108
+ * const currentUrl = page.url();
109
+ *
110
+ * @see https://docs.stagehand.dev/references/page#url
111
+ */
112
+ url(): string;
113
+ /**
114
+ * Get the title of the page.
115
+ *
116
+ * @example
117
+ * const title = await page.title();
118
+ *
119
+ * @see https://docs.stagehand.dev/references/page#title
120
+ */
121
+ title(): Promise<string>;
122
+ /**
123
+ * Click at the specified coordinates.
124
+ * @param x - X coordinate to click.
125
+ * @param y - Y coordinate to click.
126
+ *
127
+ * @remarks
128
+ * Options include:
129
+ * - button: 'left' | 'right' | 'middle' (default: 'left')
130
+ * - clickCount: Number of clicks (default: 1, use 2 for double-click)
131
+ * - returnXpath: If true, returns the XPath of the clicked element
132
+ *
133
+ * @example
134
+ * await page.click(100, 200);
135
+ *
136
+ * @example
137
+ * await page.click(100, 200, { clickCount: 2 }); // Double click
138
+ *
139
+ * @example
140
+ * const xpath = await page.click(100, 200, { returnXpath: true });
141
+ *
142
+ * @see https://docs.stagehand.dev/references/page#click
143
+ */
144
+ click(x: number, y: number, options?: StagehandClickOptions): Promise<string | void>;
145
+ /**
146
+ * Hover at the specified coordinates.
147
+ * @param x - X coordinate to hover over.
148
+ * @param y - Y coordinate to hover over.
149
+ *
150
+ * @remarks
151
+ * If returnXpath is true, returns the XPath of the hovered element.
152
+ *
153
+ * @example
154
+ * await page.hover(300, 150);
155
+ *
156
+ * @example
157
+ * const xpath = await page.hover(300, 150, { returnXpath: true });
158
+ *
159
+ * @see https://docs.stagehand.dev/references/page#hover
160
+ */
161
+ hover(x: number, y: number, options?: StagehandHoverOptions): Promise<string | void>;
162
+ /**
163
+ * Scroll at the specified position by the given delta.
164
+ * @param x - X coordinate of scroll origin.
165
+ * @param y - Y coordinate of scroll origin.
166
+ * @param deltaX - Horizontal scroll amount in pixels.
167
+ * @param deltaY - Vertical scroll amount in pixels.
168
+ *
169
+ * @remarks
170
+ * Positive deltaY scrolls down, negative scrolls up.
171
+ *
172
+ * @example
173
+ * await page.scroll(400, 300, 0, 200); // Scroll down 200px
174
+ *
175
+ * @example
176
+ * await page.scroll(400, 300, 0, -200); // Scroll up 200px
177
+ *
178
+ * @see https://docs.stagehand.dev/references/page#scroll
179
+ */
180
+ scroll(x: number, y: number, deltaX: number, deltaY: number): Promise<void>;
181
+ /**
182
+ * Drag from one point to another.
183
+ * @param fromX - Starting X coordinate.
184
+ * @param fromY - Starting Y coordinate.
185
+ * @param toX - Ending X coordinate.
186
+ * @param toY - Ending Y coordinate.
187
+ *
188
+ * @remarks
189
+ * If returnXpath is true, returns [fromXpath, toXpath] of the dragged elements.
190
+ *
191
+ * @example
192
+ * await page.dragAndDrop(100, 100, 300, 300);
193
+ *
194
+ * @example
195
+ * const [from, to] = await page.dragAndDrop(100, 100, 300, 300, { returnXpath: true });
196
+ *
197
+ * @see https://docs.stagehand.dev/references/page#draganddrop
198
+ */
199
+ dragAndDrop(fromX: number, fromY: number, toX: number, toY: number, options?: StagehandDragAndDropOptions): Promise<[string, string] | void>;
200
+ /**
201
+ * Type text into the currently focused element.
202
+ * @param text - Text to type.
203
+ *
204
+ * @remarks
205
+ * The delay option adds a pause between keystrokes for realistic typing.
206
+ *
207
+ * @example
208
+ * await page.type("Hello, World!");
209
+ *
210
+ * @example
211
+ * await page.type("Slow typing", { delay: 100 });
212
+ *
213
+ * @see https://docs.stagehand.dev/references/page#type
214
+ */
215
+ type(text: string, options?: StagehandTypeOptions): Promise<void>;
216
+ /**
217
+ * Create a locator for an element using a CSS or XPath selector.
218
+ * @param selector - CSS or XPath selector.
219
+ *
220
+ * @remarks
221
+ * Locators support automatic shadow DOM traversal.
222
+ *
223
+ * @example
224
+ * const button = page.locator("button.submit");
225
+ *
226
+ * @example
227
+ * const input = page.locator("#email");
228
+ *
229
+ * @example
230
+ * const elem = page.locator("//button[@type=\"submit\"]");
231
+ *
232
+ * @see https://docs.stagehand.dev/references/page#locator
233
+ */
234
+ locator(selector: string): RemoteStagehandLocator;
235
+ /**
236
+ * Create a deep locator that can traverse iframes and shadow roots.
237
+ * @param selector - Selector with optional hop notation for iframes.
238
+ *
239
+ * @remarks
240
+ * Deep locators use hop notation to navigate through iframes:
241
+ * - Use >>> to hop into an iframe
242
+ * - Example: "#outer-frame >>> #inner-frame >>> button"
243
+ *
244
+ * @example
245
+ * const nestedButton = page.deepLocator("button.nested-action");
246
+ *
247
+ * @example
248
+ * const frameElement = page.deepLocator("#frame >>> .inside-frame");
249
+ *
250
+ * @see https://docs.stagehand.dev/references/deep-locator
251
+ */
252
+ deepLocator(selector: string): RemoteStagehandLocator;
253
+ /**
254
+ * Execute JavaScript code within the page context.
255
+ * @param pageFunction - Function or expression to evaluate in the page context.
256
+ * @param arg - Argument to pass to the function.
257
+ *
258
+ * @remarks
259
+ * The return value must be JSON-serializable.
260
+ *
261
+ * @example
262
+ * const title = await page.evaluate(() => document.title);
263
+ *
264
+ * @example
265
+ * const text = await page.evaluate((sel) => document.querySelector(sel)?.textContent, "#heading");
266
+ *
267
+ * @see https://docs.stagehand.dev/references/page#evaluate
268
+ */
269
+ evaluate<R, Arg = unknown>(pageFunction: string | ((arg: Arg) => R | Promise<R>), arg?: Arg): Promise<R>;
270
+ /**
271
+ * Add an initialization script that runs before page scripts.
272
+ * @param script - The script to inject.
273
+ * @param arg - Argument to pass to the function.
274
+ *
275
+ * @remarks
276
+ * The script runs on every navigation.
277
+ *
278
+ * @example
279
+ * await page.addInitScript(() => { window.injected = true; });
280
+ *
281
+ * @see https://docs.stagehand.dev/references/page#addinitscript
282
+ */
283
+ addInitScript<Arg = unknown>(script: string | {
284
+ path?: string;
285
+ content?: string;
286
+ } | ((arg: Arg) => unknown), arg?: Arg): Promise<void>;
287
+ /**
288
+ * Capture a screenshot of the page.
289
+ *
290
+ * @remarks
291
+ * Options include:
292
+ * - path: File path to save the screenshot
293
+ * - fullPage: Capture the full scrollable page
294
+ * - type: 'png' | 'jpeg'
295
+ * - quality: JPEG quality (0-100)
296
+ * - clip: Specific region to capture
297
+ *
298
+ * @example
299
+ * const buffer = await page.screenshot();
300
+ *
301
+ * @example
302
+ * await page.screenshot({ path: "./screenshot.png", fullPage: true });
303
+ *
304
+ * @see https://docs.stagehand.dev/references/page#screenshot
305
+ */
306
+ screenshot(options?: StagehandScreenshotOptions): Promise<Buffer>;
307
+ /**
308
+ * Get a snapshot of the page DOM.
309
+ *
310
+ * @remarks
311
+ * Returns a structured representation of the page content.
312
+ *
313
+ * @example
314
+ * const snapshot = await page.snapshot();
315
+ *
316
+ * @see https://docs.stagehand.dev/references/page#snapshot
317
+ */
318
+ snapshot(options?: StagehandSnapshotOptions): Promise<StagehandSnapshotResult>;
319
+ /**
320
+ * Set the viewport size of the page.
321
+ * @param width - Viewport width in pixels.
322
+ * @param height - Viewport height in pixels.
323
+ * @param options - Additional viewport options.
324
+ *
325
+ * @example
326
+ * await page.setViewportSize(1280, 720);
327
+ *
328
+ * @example
329
+ * await page.setViewportSize(375, 667, { deviceScaleFactor: 2 });
330
+ *
331
+ * @see https://docs.stagehand.dev/references/page#setviewportsize
332
+ */
333
+ setViewportSize(width: number, height: number, options?: StagehandViewportOptions): Promise<void>;
334
+ /**
335
+ * Wait for the page to reach a specific load state.
336
+ * @param state - Load state to wait for.
337
+ *
338
+ * @remarks
339
+ * States:
340
+ * - 'load': Wait for the load event
341
+ * - 'domcontentloaded': Wait for DOMContentLoaded event
342
+ * - 'networkidle': Wait until no network connections for 500ms
343
+ *
344
+ * @example
345
+ * await page.waitForLoadState("domcontentloaded");
346
+ *
347
+ * @example
348
+ * await page.waitForLoadState("networkidle");
349
+ *
350
+ * @see https://docs.stagehand.dev/references/page#waitforloadstate
351
+ */
352
+ waitForLoadState(state?: StagehandLoadState, options?: {
353
+ timeout?: number;
354
+ }): Promise<void>;
355
+ /**
356
+ * Wait for an element matching the selector to appear.
357
+ * @param selector - Selector to wait for.
358
+ *
359
+ * @remarks
360
+ * Options include:
361
+ * - state: 'visible' | 'hidden' | 'attached' | 'detached'
362
+ * - timeout: Maximum wait time in milliseconds
363
+ * - pierceShadow: Whether to pierce shadow DOM (default: true)
364
+ *
365
+ * @example
366
+ * await page.waitForSelector("#submit-btn");
367
+ *
368
+ * @example
369
+ * await page.waitForSelector(".loading", { state: "hidden" });
370
+ *
371
+ * @example
372
+ * await page.waitForSelector(".modal", { state: "detached" });
373
+ *
374
+ * @see https://docs.stagehand.dev/references/page#waitforselector
375
+ */
376
+ waitForSelector(selector: string, options?: StagehandWaitForSelectorOptions): Promise<void>;
377
+ }