@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,439 @@
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 { serializeFunctionSource } from '../../../internal/transport.js';
8
+ /**
9
+ * RemoteStagehandPage - Remote Puppeteer Page API over RPC.
10
+ *
11
+ * @see https://pptr.dev/api/puppeteer.page
12
+ */
13
+ export class RemoteStagehandPage {
14
+ id;
15
+ sendRpc;
16
+ constructor(id, sendRpc, createLocator, createDeepLocator, createResponse) {
17
+ this.id = id;
18
+ this.sendRpc = sendRpc;
19
+ this.createLocator = createLocator;
20
+ this.createDeepLocator = createDeepLocator;
21
+ this.createResponse = createResponse;
22
+ this._url = "";
23
+ }
24
+ createLocator;
25
+ createDeepLocator;
26
+ createResponse;
27
+ _url;
28
+ _eventListeners = new Map();
29
+ rpc(method, args) {
30
+ return this.sendRpc(method, args);
31
+ }
32
+ /**
33
+ * Register an event listener.
34
+ * @see https://docs.stagehand.dev/references/page#events
35
+ */
36
+ on(event, handler) {
37
+ if (!this._eventListeners.has(event)) {
38
+ this._eventListeners.set(event, new Set());
39
+ }
40
+ this._eventListeners.get(event).add(handler);
41
+ return this;
42
+ }
43
+ /**
44
+ * Register a one-time event listener.
45
+ * @see https://docs.stagehand.dev/references/page#events
46
+ */
47
+ once(event, handler) {
48
+ const wrapper = (...args) => {
49
+ this.off(event, wrapper);
50
+ handler(...args);
51
+ };
52
+ return this.on(event, wrapper);
53
+ }
54
+ /**
55
+ * Remove an event listener.
56
+ * @see https://docs.stagehand.dev/references/page#events
57
+ */
58
+ off(event, handler) {
59
+ const handlers = this._eventListeners.get(event);
60
+ if (handlers) {
61
+ handlers.delete(handler);
62
+ }
63
+ return this;
64
+ }
65
+ /**
66
+ * Navigate the page to a URL.
67
+ * @param url - URL to navigate to.
68
+ *
69
+ * @remarks
70
+ * Options include:
71
+ * - waitUntil: 'load' | 'domcontentloaded' | 'networkidle'
72
+ * - timeoutMs: Maximum navigation time in milliseconds
73
+ *
74
+ * @example
75
+ * await page.goto("https://example.com");
76
+ *
77
+ * @example
78
+ * await page.goto("https://example.com", { waitUntil: "networkidle" });
79
+ *
80
+ * @see https://docs.stagehand.dev/references/page#goto
81
+ */
82
+ async goto(url, options) {
83
+ return this.rpc('goto', [url, options]);
84
+ }
85
+ /**
86
+ * Reload the current page.
87
+ *
88
+ * @remarks
89
+ * Options include:
90
+ * - waitUntil: 'load' | 'domcontentloaded' | 'networkidle'
91
+ * - timeoutMs: Maximum reload time in milliseconds
92
+ * - ignoreCache: Whether to bypass the browser cache
93
+ *
94
+ * @example
95
+ * await page.reload();
96
+ *
97
+ * @example
98
+ * await page.reload({ ignoreCache: true });
99
+ *
100
+ * @see https://docs.stagehand.dev/references/page#reload
101
+ */
102
+ async reload(options) {
103
+ return this.rpc('reload', [options]);
104
+ }
105
+ /**
106
+ * Navigate to the previous page in history.
107
+ *
108
+ * @remarks
109
+ * Returns null if there is no previous page.
110
+ *
111
+ * @example
112
+ * await page.goBack();
113
+ *
114
+ * @see https://docs.stagehand.dev/references/page#goback
115
+ */
116
+ async goBack(options) {
117
+ return this.rpc('goBack', [options]);
118
+ }
119
+ /**
120
+ * Navigate to the next page in history.
121
+ *
122
+ * @remarks
123
+ * Returns null if there is no next page.
124
+ *
125
+ * @example
126
+ * await page.goForward();
127
+ *
128
+ * @see https://docs.stagehand.dev/references/page#goforward
129
+ */
130
+ async goForward(options) {
131
+ return this.rpc('goForward', [options]);
132
+ }
133
+ /**
134
+ * Get the current URL of the page.
135
+ *
136
+ * @remarks
137
+ * This is a synchronous method that returns the current URL.
138
+ *
139
+ * @example
140
+ * const currentUrl = page.url();
141
+ *
142
+ * @see https://docs.stagehand.dev/references/page#url
143
+ */
144
+ url() {
145
+ return this._url;
146
+ }
147
+ /**
148
+ * Get the title of the page.
149
+ *
150
+ * @example
151
+ * const title = await page.title();
152
+ *
153
+ * @see https://docs.stagehand.dev/references/page#title
154
+ */
155
+ async title() {
156
+ return this.rpc('title', []);
157
+ }
158
+ /**
159
+ * Click at the specified coordinates.
160
+ * @param x - X coordinate to click.
161
+ * @param y - Y coordinate to click.
162
+ *
163
+ * @remarks
164
+ * Options include:
165
+ * - button: 'left' | 'right' | 'middle' (default: 'left')
166
+ * - clickCount: Number of clicks (default: 1, use 2 for double-click)
167
+ * - returnXpath: If true, returns the XPath of the clicked element
168
+ *
169
+ * @example
170
+ * await page.click(100, 200);
171
+ *
172
+ * @example
173
+ * await page.click(100, 200, { clickCount: 2 }); // Double click
174
+ *
175
+ * @example
176
+ * const xpath = await page.click(100, 200, { returnXpath: true });
177
+ *
178
+ * @see https://docs.stagehand.dev/references/page#click
179
+ */
180
+ async click(x, y, options) {
181
+ return this.rpc('click', [x, y, options]);
182
+ }
183
+ /**
184
+ * Hover at the specified coordinates.
185
+ * @param x - X coordinate to hover over.
186
+ * @param y - Y coordinate to hover over.
187
+ *
188
+ * @remarks
189
+ * If returnXpath is true, returns the XPath of the hovered element.
190
+ *
191
+ * @example
192
+ * await page.hover(300, 150);
193
+ *
194
+ * @example
195
+ * const xpath = await page.hover(300, 150, { returnXpath: true });
196
+ *
197
+ * @see https://docs.stagehand.dev/references/page#hover
198
+ */
199
+ async hover(x, y, options) {
200
+ return this.rpc('hover', [x, y, options]);
201
+ }
202
+ /**
203
+ * Scroll at the specified position by the given delta.
204
+ * @param x - X coordinate of scroll origin.
205
+ * @param y - Y coordinate of scroll origin.
206
+ * @param deltaX - Horizontal scroll amount in pixels.
207
+ * @param deltaY - Vertical scroll amount in pixels.
208
+ *
209
+ * @remarks
210
+ * Positive deltaY scrolls down, negative scrolls up.
211
+ *
212
+ * @example
213
+ * await page.scroll(400, 300, 0, 200); // Scroll down 200px
214
+ *
215
+ * @example
216
+ * await page.scroll(400, 300, 0, -200); // Scroll up 200px
217
+ *
218
+ * @see https://docs.stagehand.dev/references/page#scroll
219
+ */
220
+ async scroll(x, y, deltaX, deltaY) {
221
+ await this.rpc('scroll', [x, y, deltaX, deltaY]);
222
+ }
223
+ /**
224
+ * Drag from one point to another.
225
+ * @param fromX - Starting X coordinate.
226
+ * @param fromY - Starting Y coordinate.
227
+ * @param toX - Ending X coordinate.
228
+ * @param toY - Ending Y coordinate.
229
+ *
230
+ * @remarks
231
+ * If returnXpath is true, returns [fromXpath, toXpath] of the dragged elements.
232
+ *
233
+ * @example
234
+ * await page.dragAndDrop(100, 100, 300, 300);
235
+ *
236
+ * @example
237
+ * const [from, to] = await page.dragAndDrop(100, 100, 300, 300, { returnXpath: true });
238
+ *
239
+ * @see https://docs.stagehand.dev/references/page#draganddrop
240
+ */
241
+ async dragAndDrop(fromX, fromY, toX, toY, options) {
242
+ return this.rpc('dragAndDrop', [fromX, fromY, toX, toY, options]);
243
+ }
244
+ /**
245
+ * Type text into the currently focused element.
246
+ * @param text - Text to type.
247
+ *
248
+ * @remarks
249
+ * The delay option adds a pause between keystrokes for realistic typing.
250
+ *
251
+ * @example
252
+ * await page.type("Hello, World!");
253
+ *
254
+ * @example
255
+ * await page.type("Slow typing", { delay: 100 });
256
+ *
257
+ * @see https://docs.stagehand.dev/references/page#type
258
+ */
259
+ async type(text, options) {
260
+ await this.rpc('type', [text, options]);
261
+ }
262
+ /**
263
+ * Create a locator for an element using a CSS or XPath selector.
264
+ * @param selector - CSS or XPath selector.
265
+ *
266
+ * @remarks
267
+ * Locators support automatic shadow DOM traversal.
268
+ *
269
+ * @example
270
+ * const button = page.locator("button.submit");
271
+ *
272
+ * @example
273
+ * const input = page.locator("#email");
274
+ *
275
+ * @example
276
+ * const elem = page.locator("//button[@type=\"submit\"]");
277
+ *
278
+ * @see https://docs.stagehand.dev/references/page#locator
279
+ */
280
+ locator(selector) {
281
+ return this.createLocator(selector);
282
+ }
283
+ /**
284
+ * Create a deep locator that can traverse iframes and shadow roots.
285
+ * @param selector - Selector with optional hop notation for iframes.
286
+ *
287
+ * @remarks
288
+ * Deep locators use hop notation to navigate through iframes:
289
+ * - Use >>> to hop into an iframe
290
+ * - Example: "#outer-frame >>> #inner-frame >>> button"
291
+ *
292
+ * @example
293
+ * const nestedButton = page.deepLocator("button.nested-action");
294
+ *
295
+ * @example
296
+ * const frameElement = page.deepLocator("#frame >>> .inside-frame");
297
+ *
298
+ * @see https://docs.stagehand.dev/references/deep-locator
299
+ */
300
+ deepLocator(selector) {
301
+ return this.createDeepLocator(selector);
302
+ }
303
+ /**
304
+ * Execute JavaScript code within the page context.
305
+ * @param pageFunction - Function or expression to evaluate in the page context.
306
+ * @param arg - Argument to pass to the function.
307
+ *
308
+ * @remarks
309
+ * The return value must be JSON-serializable.
310
+ *
311
+ * @example
312
+ * const title = await page.evaluate(() => document.title);
313
+ *
314
+ * @example
315
+ * const text = await page.evaluate((sel) => document.querySelector(sel)?.textContent, "#heading");
316
+ *
317
+ * @see https://docs.stagehand.dev/references/page#evaluate
318
+ */
319
+ async evaluate(pageFunction, arg) {
320
+ const _pageFunction = serializeFunctionSource(pageFunction);
321
+ return this.rpc('evaluate', [_pageFunction, arg]);
322
+ }
323
+ /**
324
+ * Add an initialization script that runs before page scripts.
325
+ * @param script - The script to inject.
326
+ * @param arg - Argument to pass to the function.
327
+ *
328
+ * @remarks
329
+ * The script runs on every navigation.
330
+ *
331
+ * @example
332
+ * await page.addInitScript(() => { window.injected = true; });
333
+ *
334
+ * @see https://docs.stagehand.dev/references/page#addinitscript
335
+ */
336
+ async addInitScript(script, arg) {
337
+ const _script = serializeFunctionSource(script);
338
+ await this.rpc('addInitScript', [_script, arg]);
339
+ }
340
+ /**
341
+ * Capture a screenshot of the page.
342
+ *
343
+ * @remarks
344
+ * Options include:
345
+ * - path: File path to save the screenshot
346
+ * - fullPage: Capture the full scrollable page
347
+ * - type: 'png' | 'jpeg'
348
+ * - quality: JPEG quality (0-100)
349
+ * - clip: Specific region to capture
350
+ *
351
+ * @example
352
+ * const buffer = await page.screenshot();
353
+ *
354
+ * @example
355
+ * await page.screenshot({ path: "./screenshot.png", fullPage: true });
356
+ *
357
+ * @see https://docs.stagehand.dev/references/page#screenshot
358
+ */
359
+ async screenshot(options) {
360
+ const result = await this.rpc('screenshot', [options]);
361
+ return Buffer.from(result, 'base64');
362
+ }
363
+ /**
364
+ * Get a snapshot of the page DOM.
365
+ *
366
+ * @remarks
367
+ * Returns a structured representation of the page content.
368
+ *
369
+ * @example
370
+ * const snapshot = await page.snapshot();
371
+ *
372
+ * @see https://docs.stagehand.dev/references/page#snapshot
373
+ */
374
+ async snapshot(options) {
375
+ return this.rpc('snapshot', [options]);
376
+ }
377
+ /**
378
+ * Set the viewport size of the page.
379
+ * @param width - Viewport width in pixels.
380
+ * @param height - Viewport height in pixels.
381
+ * @param options - Additional viewport options.
382
+ *
383
+ * @example
384
+ * await page.setViewportSize(1280, 720);
385
+ *
386
+ * @example
387
+ * await page.setViewportSize(375, 667, { deviceScaleFactor: 2 });
388
+ *
389
+ * @see https://docs.stagehand.dev/references/page#setviewportsize
390
+ */
391
+ async setViewportSize(width, height, options) {
392
+ await this.rpc('setViewportSize', [width, height, options]);
393
+ }
394
+ /**
395
+ * Wait for the page to reach a specific load state.
396
+ * @param state - Load state to wait for.
397
+ *
398
+ * @remarks
399
+ * States:
400
+ * - 'load': Wait for the load event
401
+ * - 'domcontentloaded': Wait for DOMContentLoaded event
402
+ * - 'networkidle': Wait until no network connections for 500ms
403
+ *
404
+ * @example
405
+ * await page.waitForLoadState("domcontentloaded");
406
+ *
407
+ * @example
408
+ * await page.waitForLoadState("networkidle");
409
+ *
410
+ * @see https://docs.stagehand.dev/references/page#waitforloadstate
411
+ */
412
+ async waitForLoadState(state, options) {
413
+ await this.rpc('waitForLoadState', [state, options]);
414
+ }
415
+ /**
416
+ * Wait for an element matching the selector to appear.
417
+ * @param selector - Selector to wait for.
418
+ *
419
+ * @remarks
420
+ * Options include:
421
+ * - state: 'visible' | 'hidden' | 'attached' | 'detached'
422
+ * - timeout: Maximum wait time in milliseconds
423
+ * - pierceShadow: Whether to pierce shadow DOM (default: true)
424
+ *
425
+ * @example
426
+ * await page.waitForSelector("#submit-btn");
427
+ *
428
+ * @example
429
+ * await page.waitForSelector(".loading", { state: "hidden" });
430
+ *
431
+ * @example
432
+ * await page.waitForSelector(".modal", { state: "detached" });
433
+ *
434
+ * @see https://docs.stagehand.dev/references/page#waitforselector
435
+ */
436
+ async waitForSelector(selector, options) {
437
+ await this.rpc('waitForSelector', [selector, options]);
438
+ }
439
+ }
@@ -0,0 +1,197 @@
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 { StagehandHeaderEntry, StagehandSecurityDetails, StagehandServerAddr } from '../types.js';
9
+ export interface StagehandResponseData {
10
+ id: string;
11
+ url: string;
12
+ status: number;
13
+ statusText: string;
14
+ ok: boolean;
15
+ headers: Record<string, string>;
16
+ fromServiceWorker: boolean;
17
+ }
18
+ /**
19
+ * RemoteStagehandResponse - Remote Puppeteer Response API over RPC.
20
+ *
21
+ * @see https://pptr.dev/api/puppeteer.response
22
+ */
23
+ export declare class RemoteStagehandResponse {
24
+ private sendRpc;
25
+ private readonly _id;
26
+ private readonly _url;
27
+ private readonly _status;
28
+ private readonly _statusText;
29
+ private readonly _ok;
30
+ private readonly _headers;
31
+ private readonly _fromServiceWorker;
32
+ constructor(sendRpc: SimpleRpcSender, data: StagehandResponseData);
33
+ private rpc;
34
+ /**
35
+ * Get the frame that initiated this response (synchronous version).
36
+ * Note: Not fully supported in remote SDK.
37
+ */
38
+ frame(): unknown;
39
+ /**
40
+ * Get the URL of the response.
41
+ *
42
+ * @example
43
+ * const url = response.url();
44
+ *
45
+ * @see https://docs.stagehand.dev/references/response#url
46
+ */
47
+ url(): string;
48
+ /**
49
+ * Get the HTTP status code of the response.
50
+ *
51
+ * @example
52
+ * const statusCode = response.status();
53
+ *
54
+ * @see https://docs.stagehand.dev/references/response#status
55
+ */
56
+ status(): number;
57
+ /**
58
+ * Get the HTTP status text of the response.
59
+ *
60
+ * @example
61
+ * const text = response.statusText();
62
+ *
63
+ * @see https://docs.stagehand.dev/references/response#statustext
64
+ */
65
+ statusText(): string;
66
+ /**
67
+ * Check if the response status is in the 200-299 range.
68
+ *
69
+ * @example
70
+ * if (response.ok()) { console.log("success"); }
71
+ *
72
+ * @see https://docs.stagehand.dev/references/response#ok
73
+ */
74
+ ok(): boolean;
75
+ /**
76
+ * Check if the response was served from a service worker.
77
+ *
78
+ * @example
79
+ * const fromSW = response.fromServiceWorker();
80
+ *
81
+ * @see https://docs.stagehand.dev/references/response#fromserviceworker
82
+ */
83
+ fromServiceWorker(): boolean;
84
+ /**
85
+ * Get the security details of the response (for HTTPS).
86
+ *
87
+ * @remarks
88
+ * Returns null for non-HTTPS responses.
89
+ *
90
+ * @example
91
+ * const security = await response.securityDetails();
92
+ *
93
+ * @see https://docs.stagehand.dev/references/response#securitydetails
94
+ */
95
+ securityDetails(): Promise<StagehandSecurityDetails | null>;
96
+ /**
97
+ * Get the server address (IP and port) that served the response.
98
+ *
99
+ * @example
100
+ * const addr = await response.serverAddr();
101
+ *
102
+ * @see https://docs.stagehand.dev/references/response#serveraddr
103
+ */
104
+ serverAddr(): Promise<StagehandServerAddr | null>;
105
+ /**
106
+ * Get all response headers as an object.
107
+ *
108
+ * @remarks
109
+ * Header names are lower-cased. Multiple values for the same header are joined with ", ".
110
+ *
111
+ * @example
112
+ * const headers = response.headers();
113
+ *
114
+ * @see https://docs.stagehand.dev/references/response#headers
115
+ */
116
+ headers(): Record<string, string>;
117
+ /**
118
+ * Get all response headers including those not exposed by the standard API.
119
+ *
120
+ * @example
121
+ * const allHeaders = await response.allHeaders();
122
+ *
123
+ * @see https://docs.stagehand.dev/references/response#allheaders
124
+ */
125
+ allHeaders(): Promise<Record<string, string>>;
126
+ /**
127
+ * Get the value of a specific header.
128
+ * @param name - Header name (case-insensitive).
129
+ *
130
+ * @example
131
+ * const contentType = await response.headerValue("content-type");
132
+ *
133
+ * @see https://docs.stagehand.dev/references/response#headervalue
134
+ */
135
+ headerValue(name: string): Promise<string | null>;
136
+ /**
137
+ * Get all values of a specific header (for headers with multiple values).
138
+ * @param name - Header name (case-insensitive).
139
+ *
140
+ * @example
141
+ * const cookies = await response.headerValues("set-cookie");
142
+ *
143
+ * @see https://docs.stagehand.dev/references/response#headervalues
144
+ */
145
+ headerValues(name: string): Promise<string[]>;
146
+ /**
147
+ * Get all response headers as an array of { name, value } objects.
148
+ *
149
+ * @remarks
150
+ * Preserves multiple values for the same header as separate entries.
151
+ *
152
+ * @example
153
+ * const headersArray = await response.headersArray();
154
+ *
155
+ * @see https://docs.stagehand.dev/references/response#headersarray
156
+ */
157
+ headersArray(): Promise<StagehandHeaderEntry[]>;
158
+ /**
159
+ * Get the response body as a Buffer.
160
+ *
161
+ * @example
162
+ * const buffer = await response.body();
163
+ *
164
+ * @see https://docs.stagehand.dev/references/response#body
165
+ */
166
+ body(): Promise<Buffer>;
167
+ /**
168
+ * Get the response body as text.
169
+ *
170
+ * @example
171
+ * const text = await response.text();
172
+ *
173
+ * @see https://docs.stagehand.dev/references/response#text
174
+ */
175
+ text(): Promise<string>;
176
+ /**
177
+ * Get the response body parsed as JSON.
178
+ *
179
+ * @example
180
+ * const data = await response.json();
181
+ *
182
+ * @see https://docs.stagehand.dev/references/response#json
183
+ */
184
+ json(): Promise<unknown>;
185
+ /**
186
+ * Wait for the response to finish and get any error message.
187
+ *
188
+ * @remarks
189
+ * Returns null if the response was successful, or an error message if it failed.
190
+ *
191
+ * @example
192
+ * const error = await response.finished();
193
+ *
194
+ * @see https://docs.stagehand.dev/references/response#finished
195
+ */
196
+ finished(): Promise<string | null>;
197
+ }