@bctrl/sdk 1.0.1 → 1.0.3

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