@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,127 +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
- import type { SimpleRpcSender } from '../../../internal/transport.js';
8
- import type { RemoteStagehandPage } from './page.js';
9
- /**
10
- * RemoteStagehandContext - Remote Puppeteer Context API over RPC.
11
- *
12
- * @see https://pptr.dev/api/puppeteer.context
13
- */
14
- export declare class RemoteStagehandContext {
15
- readonly id: string;
16
- protected sendRpc: SimpleRpcSender;
17
- constructor(id: string, sendRpc: SimpleRpcSender, createPage: (id: string) => RemoteStagehandPage);
18
- private createPage;
19
- private _isClosed;
20
- private rpc;
21
- /**
22
- * Mark this context as closed (internal use).
23
- */
24
- markClosed(): void;
25
- /**
26
- * Create a new page (tab) in the browser.
27
- * @param url - The URL to navigate to in the new page.
28
- *
29
- * @remarks
30
- * The new page is automatically set as the active page. Defaults to "about:blank" if no URL is provided.
31
- *
32
- * @example
33
- * const page = await context.newPage();
34
- *
35
- * @example
36
- * const page = await context.newPage("https://example.com");
37
- *
38
- * @see https://docs.stagehand.dev/references/context#newpage
39
- */
40
- newPage(url?: string): Promise<RemoteStagehandPage>;
41
- /**
42
- * Get all open pages in the browser context.
43
- *
44
- * @remarks
45
- * Returns an array of all open pages, ordered from oldest to newest.
46
- *
47
- * @example
48
- * const allPages = await context.pages();
49
- *
50
- * @see https://docs.stagehand.dev/references/context#pages
51
- */
52
- pages(): Promise<RemoteStagehandPage[]>;
53
- /**
54
- * Get the currently active page.
55
- *
56
- * @remarks
57
- * The active page is determined by:
58
- * 1. Most recently interacted with page
59
- * 2. Most recently created page if no interaction history
60
- * 3. undefined if all pages have been closed
61
- *
62
- * @example
63
- * const page = await context.activePage();
64
- *
65
- * @see https://docs.stagehand.dev/references/context#activepage
66
- */
67
- activePage(): Promise<RemoteStagehandPage | undefined>;
68
- /**
69
- * Set a specific page as the active page.
70
- * @param pageId - The ID of the page to set as active.
71
- *
72
- * @remarks
73
- * This method:
74
- * - Marks the page as most recently used
75
- * - Brings the tab to the foreground (in headed mode)
76
- * - Makes it the default page for subsequent operations
77
- *
78
- * Note: Pass page.id from a RemoteStagehandPage instance.
79
- *
80
- * @example
81
- * context.setActivePage(page.id);
82
- *
83
- * @see https://docs.stagehand.dev/references/context#setactivepage
84
- */
85
- setActivePage(pageId: string): Promise<void>;
86
- /**
87
- * Inject JavaScript that runs before any page scripts on every navigation.
88
- * @param script - The script to inject. Can be raw source code, a file reference, or a function.
89
- * @param arg - Extra data that is JSON-serialized and passed to your function.
90
- *
91
- * @remarks
92
- * This method:
93
- * - Runs at document start
94
- * - Installs the script on all currently open pages
95
- * - Replays it on every navigation of those pages
96
- * - Automatically applies to any pages created after calling addInitScript()
97
- *
98
- * @example
99
- * await context.addInitScript(() => {
100
- * window.alert = () => {};
101
- * window.confirm = () => true;
102
- * });
103
- *
104
- * @example
105
- * await context.addInitScript({ path: "./preloads/setup.js" });
106
- *
107
- * @see https://docs.stagehand.dev/references/context#addinitscript
108
- */
109
- addInitScript<Arg = unknown>(script: string | {
110
- path?: string;
111
- content?: string;
112
- } | ((arg: Arg) => unknown), arg?: Arg): Promise<void>;
113
- /**
114
- * Close the browser context and all associated pages.
115
- *
116
- * @remarks
117
- * This method:
118
- * - Closes the CDP connection
119
- * - Cleans up all pages
120
- * - Clears all internal mappings
121
- *
122
- * Note: This is typically called internally by stagehand.close(). You usually don't need to call this directly.
123
- *
124
- * @see https://docs.stagehand.dev/references/context#close
125
- */
126
- close(): Promise<void>;
127
- }
@@ -1,153 +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
- import { serializeFunctionSource } from '../../../internal/transport.js';
8
- /**
9
- * RemoteStagehandContext - Remote Puppeteer Context API over RPC.
10
- *
11
- * @see https://pptr.dev/api/puppeteer.context
12
- */
13
- export class RemoteStagehandContext {
14
- id;
15
- sendRpc;
16
- constructor(id, sendRpc, createPage) {
17
- this.id = id;
18
- this.sendRpc = sendRpc;
19
- this.createPage = createPage;
20
- }
21
- createPage;
22
- _isClosed = false;
23
- rpc(method, args) {
24
- if (this._isClosed) {
25
- throw new Error('Context is closed');
26
- }
27
- return this.sendRpc(method, args);
28
- }
29
- /**
30
- * Mark this context as closed (internal use).
31
- */
32
- markClosed() {
33
- this._isClosed = true;
34
- }
35
- /**
36
- * Create a new page (tab) in the browser.
37
- * @param url - The URL to navigate to in the new page.
38
- *
39
- * @remarks
40
- * The new page is automatically set as the active page. Defaults to "about:blank" if no URL is provided.
41
- *
42
- * @example
43
- * const page = await context.newPage();
44
- *
45
- * @example
46
- * const page = await context.newPage("https://example.com");
47
- *
48
- * @see https://docs.stagehand.dev/references/context#newpage
49
- */
50
- async newPage(url) {
51
- const pageId = await this.rpc('newPage', [url]);
52
- return this.createPage(pageId);
53
- }
54
- /**
55
- * Get all open pages in the browser context.
56
- *
57
- * @remarks
58
- * Returns an array of all open pages, ordered from oldest to newest.
59
- *
60
- * @example
61
- * const allPages = await context.pages();
62
- *
63
- * @see https://docs.stagehand.dev/references/context#pages
64
- */
65
- async pages() {
66
- const pageIds = await this.rpc('pages', []);
67
- return pageIds.map((id) => this.createPage(id));
68
- }
69
- /**
70
- * Get the currently active page.
71
- *
72
- * @remarks
73
- * The active page is determined by:
74
- * 1. Most recently interacted with page
75
- * 2. Most recently created page if no interaction history
76
- * 3. undefined if all pages have been closed
77
- *
78
- * @example
79
- * const page = await context.activePage();
80
- *
81
- * @see https://docs.stagehand.dev/references/context#activepage
82
- */
83
- async activePage() {
84
- const pageId = await this.rpc('activePage', []);
85
- if (!pageId)
86
- return undefined;
87
- return this.createPage(pageId);
88
- }
89
- /**
90
- * Set a specific page as the active page.
91
- * @param pageId - The ID of the page to set as active.
92
- *
93
- * @remarks
94
- * This method:
95
- * - Marks the page as most recently used
96
- * - Brings the tab to the foreground (in headed mode)
97
- * - Makes it the default page for subsequent operations
98
- *
99
- * Note: Pass page.id from a RemoteStagehandPage instance.
100
- *
101
- * @example
102
- * context.setActivePage(page.id);
103
- *
104
- * @see https://docs.stagehand.dev/references/context#setactivepage
105
- */
106
- async setActivePage(pageId) {
107
- await this.rpc('setActivePage', [pageId]);
108
- }
109
- /**
110
- * Inject JavaScript that runs before any page scripts on every navigation.
111
- * @param script - The script to inject. Can be raw source code, a file reference, or a function.
112
- * @param arg - Extra data that is JSON-serialized and passed to your function.
113
- *
114
- * @remarks
115
- * This method:
116
- * - Runs at document start
117
- * - Installs the script on all currently open pages
118
- * - Replays it on every navigation of those pages
119
- * - Automatically applies to any pages created after calling addInitScript()
120
- *
121
- * @example
122
- * await context.addInitScript(() => {
123
- * window.alert = () => {};
124
- * window.confirm = () => true;
125
- * });
126
- *
127
- * @example
128
- * await context.addInitScript({ path: "./preloads/setup.js" });
129
- *
130
- * @see https://docs.stagehand.dev/references/context#addinitscript
131
- */
132
- async addInitScript(script, arg) {
133
- const _script = serializeFunctionSource(script);
134
- await this.rpc('addInitScript', [_script, arg]);
135
- }
136
- /**
137
- * Close the browser context and all associated pages.
138
- *
139
- * @remarks
140
- * This method:
141
- * - Closes the CDP connection
142
- * - Cleans up all pages
143
- * - Clears all internal mappings
144
- *
145
- * Note: This is typically called internally by stagehand.close(). You usually don't need to call this directly.
146
- *
147
- * @see https://docs.stagehand.dev/references/context#close
148
- */
149
- async close() {
150
- await this.rpc('close', []);
151
- this.markClosed();
152
- }
153
- }
@@ -1,324 +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
- import type { SimpleRpcSender } from '../../../internal/transport.js';
8
- import type { StagehandFileInput, StagehandHighlightOptions, StagehandLocatorClickOptions, StagehandLocatorTypeOptions, StagehandSendClickEventOptions } from '../types.js';
9
- /**
10
- * RemoteStagehandLocator - Remote Puppeteer Locator API over RPC.
11
- *
12
- * @see https://pptr.dev/api/puppeteer.locator
13
- */
14
- export declare class RemoteStagehandLocator {
15
- readonly selector: string;
16
- private sendRpc;
17
- constructor(selector: string, sendRpc: SimpleRpcSender);
18
- private rpc;
19
- /**
20
- * Create a new locator with a different selector (internal helper for nth/first).
21
- */
22
- private createLocator;
23
- /**
24
- * Clones the locator.
25
- * @returns A new locator with the same configuration.
26
- */
27
- clone(): RemoteStagehandLocator;
28
- /**
29
- * Click the element at its visual center.
30
- *
31
- * @remarks
32
- * The method:
33
- * 1. Scrolls element into view
34
- * 2. Gets element geometry
35
- * 3. Moves mouse to center
36
- * 4. Dispatches mousePressed and mouseReleased events
37
- *
38
- * Options include:
39
- * - button: 'left' | 'right' | 'middle' (default: 'left')
40
- * - clickCount: Number of clicks (default: 1)
41
- *
42
- * @example
43
- * await locator.click();
44
- *
45
- * @example
46
- * await locator.click({ button: "right" });
47
- *
48
- * @example
49
- * await locator.click({ clickCount: 2 }); // Double click
50
- *
51
- * @see https://docs.stagehand.dev/references/locator#click
52
- */
53
- click(options?: StagehandLocatorClickOptions): Promise<void>;
54
- /**
55
- * Fill an input, textarea, or contenteditable element.
56
- * @param value - The text value to fill into the element.
57
- *
58
- * @remarks
59
- * The method intelligently handles different input types:
60
- * - Uses native value setter for special inputs (date, number, etc.)
61
- * - Types text character-by-character for regular inputs
62
- * - Clears existing content before filling
63
- *
64
- * @example
65
- * await locator.fill("user@example.com");
66
- *
67
- * @see https://docs.stagehand.dev/references/locator#fill
68
- */
69
- fill(value: string): Promise<void>;
70
- /**
71
- * Type text into the element with optional delay between keystrokes.
72
- * @param text - The text to type.
73
- *
74
- * @remarks
75
- * If delay is not specified, uses Input.insertText for efficiency.
76
- *
77
- * @example
78
- * await locator.type("Hello");
79
- *
80
- * @example
81
- * await locator.type("World", { delay: 100 });
82
- *
83
- * @see https://docs.stagehand.dev/references/locator#type
84
- */
85
- type(text: string, options?: StagehandLocatorTypeOptions): Promise<void>;
86
- /**
87
- * Move the mouse cursor to the element's center without clicking.
88
- *
89
- * @remarks
90
- * Scrolls the element into view and dispatches a mouse move event.
91
- *
92
- * @example
93
- * await locator.hover();
94
- *
95
- * @see https://docs.stagehand.dev/references/locator#hover
96
- */
97
- hover(): Promise<void>;
98
- /**
99
- * Select one or more options in a <select> element.
100
- * @param values - Option value(s) to select.
101
- * @returns Array of values that were actually selected.
102
- *
103
- * @remarks
104
- * For multi-select elements, pass an array of values.
105
- *
106
- * @example
107
- * await locator.selectOption("blue");
108
- *
109
- * @example
110
- * await locator.selectOption(["red", "green"]);
111
- *
112
- * @see https://docs.stagehand.dev/references/locator#selectoption
113
- */
114
- selectOption(values: string | string[]): Promise<string[]>;
115
- /**
116
- * Set files on an <input type="file"> element.
117
- * @param files - File paths or file payloads to upload.
118
- *
119
- * @remarks
120
- * Accepts:
121
- * - File path (string)
122
- * - Array of file paths
123
- * - File payload object { name, mimeType, buffer }
124
- * - Array of file payloads
125
- *
126
- * Pass an empty array to clear the file selection.
127
- *
128
- * @example
129
- * await locator.setInputFiles("./file.pdf");
130
- *
131
- * @example
132
- * await locator.setInputFiles(["file1.txt", "file2.txt"]);
133
- *
134
- * @example
135
- * await locator.setInputFiles({ name: "file.txt", mimeType: "text/plain", buffer: "..." });
136
- *
137
- * @example
138
- * await locator.setInputFiles([]); // Clear files
139
- *
140
- * @see https://docs.stagehand.dev/references/locator#setinputfiles
141
- */
142
- setInputFiles(files: StagehandFileInput): Promise<void>;
143
- /**
144
- * Check if the element is visible.
145
- * @returns true if element is attached and visible.
146
- *
147
- * @example
148
- * const visible = await locator.isVisible();
149
- *
150
- * @see https://docs.stagehand.dev/references/locator#isvisible
151
- */
152
- isVisible(): Promise<boolean>;
153
- /**
154
- * Check if a checkbox or radio button is checked.
155
- * @returns true if checked.
156
- *
157
- * @remarks
158
- * Also considers aria-checked for ARIA widgets.
159
- *
160
- * @example
161
- * const checked = await locator.isChecked();
162
- *
163
- * @see https://docs.stagehand.dev/references/locator#ischecked
164
- */
165
- isChecked(): Promise<boolean>;
166
- /**
167
- * Get the current value of an input element.
168
- * @returns The element's input value.
169
- *
170
- * @remarks
171
- * Works with: <input>, <textarea>, <select>, contenteditable elements.
172
- *
173
- * @example
174
- * const value = await locator.inputValue();
175
- *
176
- * @see https://docs.stagehand.dev/references/locator#inputvalue
177
- */
178
- inputValue(): Promise<string>;
179
- /**
180
- * Get the element's text content (raw).
181
- * @returns The element's textContent property.
182
- *
183
- * @example
184
- * const text = await locator.textContent();
185
- *
186
- * @see https://docs.stagehand.dev/references/locator#textcontent
187
- */
188
- textContent(): Promise<string>;
189
- /**
190
- * Get the element's visible text (layout-aware).
191
- * @returns The element's innerText property.
192
- *
193
- * @example
194
- * const text = await locator.innerText();
195
- *
196
- * @see https://docs.stagehand.dev/references/locator#innertext
197
- */
198
- innerText(): Promise<string>;
199
- /**
200
- * Get the element's inner HTML.
201
- * @returns The element's innerHTML property.
202
- *
203
- * @example
204
- * const html = await locator.innerHtml();
205
- *
206
- * @see https://docs.stagehand.dev/references/locator#innerhtml
207
- */
208
- innerHtml(): Promise<string>;
209
- /**
210
- * Return the number of elements matching this locator.
211
- *
212
- * @example
213
- * const count = await locator.count();
214
- *
215
- * @see https://docs.stagehand.dev/references/locator#count
216
- */
217
- count(): Promise<number>;
218
- /**
219
- * Return a locator for the nth matching element.
220
- * @param index - Zero-based index of the element.
221
- *
222
- * @remarks
223
- * Index is zero-based.
224
- *
225
- * @example
226
- * const secondItem = locator.nth(1);
227
- *
228
- * @see https://docs.stagehand.dev/references/locator#nth
229
- */
230
- nth(index: number): RemoteStagehandLocator;
231
- /**
232
- * Return a locator for the first matching element.
233
- *
234
- * @example
235
- * const firstItem = locator.first();
236
- *
237
- * @see https://docs.stagehand.dev/references/locator#first
238
- */
239
- first(): RemoteStagehandLocator;
240
- /**
241
- * Visually highlight the element with an overlay.
242
- *
243
- * @remarks
244
- * Useful for debugging and visual verification.
245
- *
246
- * Options include:
247
- * - durationMs: How long to display the highlight (default: 800)
248
- * - borderColor: Border color RGBA values
249
- * - contentColor: Content fill color RGBA values
250
- *
251
- * @example
252
- * await locator.highlight();
253
- *
254
- * @example
255
- * await locator.highlight({ durationMs: 2000 });
256
- *
257
- * @see https://docs.stagehand.dev/references/locator#highlight
258
- */
259
- highlight(options?: StagehandHighlightOptions): Promise<void>;
260
- /**
261
- * Scroll the element to a specific position.
262
- * @param percent - Scroll position as percentage (0-100).
263
- *
264
- * @remarks
265
- * For <html> or <body> elements, scrolls the window. Otherwise, scrolls the element itself.
266
- *
267
- * @example
268
- * await locator.scrollTo(50); // Scroll to 50%
269
- *
270
- * @example
271
- * await locator.scrollTo("100"); // Scroll to bottom
272
- *
273
- * @see https://docs.stagehand.dev/references/locator#scrollto
274
- */
275
- scrollTo(percent: number | string): Promise<void>;
276
- /**
277
- * Get the center coordinates of the element.
278
- * @returns Center point in CSS pixels { x, y }.
279
- *
280
- * @example
281
- * const { x, y } = await locator.centroid();
282
- *
283
- * @see https://docs.stagehand.dev/references/locator#centroid
284
- */
285
- centroid(): Promise<{
286
- x: number;
287
- y: number;
288
- }>;
289
- /**
290
- * Get the DOM backend node ID for the element.
291
- * @returns Unique identifier for the DOM node.
292
- *
293
- * @remarks
294
- * Useful for identity comparisons without maintaining element handles.
295
- *
296
- * @example
297
- * const nodeId = await locator.backendNodeId();
298
- *
299
- * @see https://docs.stagehand.dev/references/locator#backendnodeid
300
- */
301
- backendNodeId(): Promise<number>;
302
- /**
303
- * Dispatch a DOM click event directly on the element.
304
- *
305
- * @remarks
306
- * This dispatches an event directly without synthesizing real pointer input.
307
- * Useful for elements that rely on click handlers without needing hit-testing.
308
- *
309
- * Options include:
310
- * - bubbles: Whether the event bubbles (default: true)
311
- * - cancelable: Whether the event is cancelable (default: true)
312
- * - composed: Whether the event crosses shadow DOM boundaries (default: true)
313
- * - detail: Click count detail (default: 1)
314
- *
315
- * @example
316
- * await locator.sendClickEvent();
317
- *
318
- * @example
319
- * await locator.sendClickEvent({ detail: 2 }); // Double click event
320
- *
321
- * @see https://docs.stagehand.dev/references/locator#sendclickevent
322
- */
323
- sendClickEvent(options?: StagehandSendClickEventOptions): Promise<void>;
324
- }