@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,77 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
5
+ * Run `pnpm generate:puppeteer` to regenerate.
6
+ */
7
+ import type { HasHandleId, SimpleRpcSender } from '../../../internal/transport.js';
8
+ import { RemoteComponentBase } from '../remote-base.js';
9
+ import type { PuppeteerSerializedAXNode } from '../types.js';
10
+ /**
11
+ * Options for SDK method. Wraps PuppeteerSnapshotOptions with SDK-friendly types.
12
+ */
13
+ export interface SnapshotOptions {
14
+ /**
15
+ * Prune uninteresting nodes from the tree. @default true
16
+ */
17
+ interestingOnly?: boolean;
18
+ /**
19
+ * Root element to get the accessibility tree for. Can be a handle ID string or any object with a handleId property (e.g., RemotePuppeteerElementHandle). If not provided, defaults to the root node of the entire page.
20
+ */
21
+ root?: string | HasHandleId;
22
+ }
23
+ /**
24
+ * RemotePuppeteerAccessibility - Remote Puppeteer Accessibility API over RPC.
25
+ *
26
+ * @see https://pptr.dev/api/puppeteer.accessibility
27
+ */
28
+ export declare class RemotePuppeteerAccessibility extends RemoteComponentBase {
29
+ constructor(sendRpc: SimpleRpcSender);
30
+ /**
31
+ * Captures the current state of the accessibility tree.
32
+ * @param options - Options for the snapshot.
33
+ * @returns A promise that resolves to the root AXNode object representing the snapshot of the accessibility tree, or `null` if the tree is empty.
34
+ *
35
+ * @remarks
36
+ * The accessibility tree is used by assistive technology such as screen readers or switches.
37
+ *
38
+ * Blink - Chrome's rendering engine - has a concept of "accessibility tree", which is then
39
+ * translated into different platform-specific APIs. Accessibility namespace gives users access
40
+ * to the Blink Accessibility Tree.
41
+ *
42
+ * Most of the accessibility tree gets filtered out when converting from Blink AX Tree to
43
+ * Platform-specific AX-Tree or by assistive technologies themselves. By default, Puppeteer
44
+ * tries to approximate this filtering, exposing only the "interesting" nodes of the tree.
45
+ *
46
+ * **NOTE:** The Chrome accessibility tree contains nodes that go unused on most platforms
47
+ * and by most screen readers. Puppeteer will discard them as well for an easier to process
48
+ * tree, unless `interestingOnly` is set to `false`.
49
+ *
50
+ * @example
51
+ * An example of dumping the entire accessibility tree:
52
+ * ```ts
53
+ * const snapshot = await page.accessibility.snapshot();
54
+ * console.log(snapshot);
55
+ * ```
56
+ *
57
+ * @example
58
+ * An example of logging the focused node's name:
59
+ * ```ts
60
+ * const snapshot = await page.accessibility.snapshot();
61
+ * const node = findFocusedNode(snapshot);
62
+ * console.log(node && node.name);
63
+ *
64
+ * function findFocusedNode(node: SerializedAXNode): SerializedAXNode | null {
65
+ * if (node.focused) return node;
66
+ * for (const child of node.children || []) {
67
+ * const focusedChild = findFocusedNode(child);
68
+ * if (focusedChild) return focusedChild;
69
+ * }
70
+ * return null;
71
+ * }
72
+ * ```
73
+ *
74
+ * @see https://pptr.dev/api/puppeteer.accessibility.snapshot
75
+ */
76
+ snapshot(options?: SnapshotOptions): Promise<PuppeteerSerializedAXNode | null>;
77
+ }
@@ -0,0 +1,74 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
5
+ * Run `pnpm generate:puppeteer` to regenerate.
6
+ */
7
+ import { extractHandleId } from '../../../internal/transport.js';
8
+ import { RemoteComponentBase } from '../remote-base.js';
9
+ /**
10
+ * RemotePuppeteerAccessibility - Remote Puppeteer Accessibility API over RPC.
11
+ *
12
+ * @see https://pptr.dev/api/puppeteer.accessibility
13
+ */
14
+ export class RemotePuppeteerAccessibility extends RemoteComponentBase {
15
+ constructor(sendRpc) {
16
+ super(sendRpc);
17
+ }
18
+ /**
19
+ * Captures the current state of the accessibility tree.
20
+ * @param options - Options for the snapshot.
21
+ * @returns A promise that resolves to the root AXNode object representing the snapshot of the accessibility tree, or `null` if the tree is empty.
22
+ *
23
+ * @remarks
24
+ * The accessibility tree is used by assistive technology such as screen readers or switches.
25
+ *
26
+ * Blink - Chrome's rendering engine - has a concept of "accessibility tree", which is then
27
+ * translated into different platform-specific APIs. Accessibility namespace gives users access
28
+ * to the Blink Accessibility Tree.
29
+ *
30
+ * Most of the accessibility tree gets filtered out when converting from Blink AX Tree to
31
+ * Platform-specific AX-Tree or by assistive technologies themselves. By default, Puppeteer
32
+ * tries to approximate this filtering, exposing only the "interesting" nodes of the tree.
33
+ *
34
+ * **NOTE:** The Chrome accessibility tree contains nodes that go unused on most platforms
35
+ * and by most screen readers. Puppeteer will discard them as well for an easier to process
36
+ * tree, unless `interestingOnly` is set to `false`.
37
+ *
38
+ * @example
39
+ * An example of dumping the entire accessibility tree:
40
+ * ```ts
41
+ * const snapshot = await page.accessibility.snapshot();
42
+ * console.log(snapshot);
43
+ * ```
44
+ *
45
+ * @example
46
+ * An example of logging the focused node's name:
47
+ * ```ts
48
+ * const snapshot = await page.accessibility.snapshot();
49
+ * const node = findFocusedNode(snapshot);
50
+ * console.log(node && node.name);
51
+ *
52
+ * function findFocusedNode(node: SerializedAXNode): SerializedAXNode | null {
53
+ * if (node.focused) return node;
54
+ * for (const child of node.children || []) {
55
+ * const focusedChild = findFocusedNode(child);
56
+ * if (focusedChild) return focusedChild;
57
+ * }
58
+ * return null;
59
+ * }
60
+ * ```
61
+ *
62
+ * @see https://pptr.dev/api/puppeteer.accessibility.snapshot
63
+ */
64
+ async snapshot(options) {
65
+ // Convert options to RPC-friendly format
66
+ const rpcOptions = options
67
+ ? {
68
+ interestingOnly: options.interestingOnly,
69
+ root: extractHandleId(options.root),
70
+ }
71
+ : undefined;
72
+ return this.rpc('accessibility.snapshot', [rpcOptions]);
73
+ }
74
+ }
@@ -0,0 +1,116 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
5
+ * Run `pnpm generate:puppeteer` to regenerate.
6
+ */
7
+ import type { SimpleRpcSender } from '../../../internal/transport.js';
8
+ import { PuppeteerEventEmitter } from '../event-emitter.js';
9
+ import type { RemotePuppeteerPage } from './page.js';
10
+ import type { BrowserContextEvents, PuppeteerCookie, PuppeteerCookieData, PuppeteerDeleteCookiesRequest, PuppeteerPermission, PuppeteerTarget } from '../types.js';
11
+ /**
12
+ * RemotePuppeteerBrowserContext - Remote Puppeteer BrowserContext API over RPC.
13
+ *
14
+ * @see https://pptr.dev/api/puppeteer.browsercontext
15
+ */
16
+ export declare class RemotePuppeteerBrowserContext extends PuppeteerEventEmitter<BrowserContextEvents> {
17
+ private createPage;
18
+ protected sendRpc: SimpleRpcSender;
19
+ constructor(sendRpc: SimpleRpcSender, options: {
20
+ contextId: string;
21
+ isDefault?: boolean;
22
+ }, createPage: (pageId: string) => RemotePuppeteerPage);
23
+ private _contextId;
24
+ private _isDefault;
25
+ private _isClosed;
26
+ private _pages;
27
+ /** Get the context ID. */
28
+ get id(): string;
29
+ /** Whether this is the default context. */
30
+ get isDefault(): boolean;
31
+ /** Whether this context has been closed. */
32
+ get closed(): boolean;
33
+ /**
34
+ * Mark this context as closed (internal use).
35
+ */
36
+ markClosed(): void;
37
+ private rpc;
38
+ /**
39
+ * Gets a list of all open pages inside this browser context.
40
+ * @see https://pptr.dev/api/puppeteer.browsercontext.pages
41
+ */
42
+ pages(includeAll?: boolean): Promise<RemotePuppeteerPage[]>;
43
+ /**
44
+ * Creates a new page in this browser context.
45
+ * @see https://pptr.dev/api/puppeteer.browsercontext.newpage
46
+ */
47
+ newPage(options?: {
48
+ timeout?: number;
49
+ }): Promise<RemotePuppeteerPage>;
50
+ /**
51
+ * Close this browser context.
52
+ * @see https://pptr.dev/api/puppeteer.browsercontext.close
53
+ */
54
+ close(): Promise<void>;
55
+ /**
56
+ * Gets all cookies in this browser context.
57
+ *
58
+ * @see https://pptr.dev/api/puppeteer.browsercontext.cookies
59
+ */
60
+ cookies(...urls: string[]): Promise<PuppeteerCookie[]>;
61
+ /**
62
+ * Sets cookies in this browser context.
63
+ *
64
+ * @see https://pptr.dev/api/puppeteer.browsercontext.setcookie
65
+ */
66
+ setCookie(...cookies: PuppeteerCookieData[]): Promise<void>;
67
+ /**
68
+ * Deletes cookies from this browser context.
69
+ *
70
+ * @see https://pptr.dev/api/puppeteer.browsercontext.deletecookie
71
+ */
72
+ deleteCookie(...cookies: PuppeteerCookie[]): Promise<void>;
73
+ /**
74
+ * Deletes cookies matching the filter criteria from this browser context.
75
+ *
76
+ * @see https://pptr.dev/api/puppeteer.browsercontext.deletematchingcookies
77
+ */
78
+ deleteMatchingCookies(...filters: PuppeteerDeleteCookiesRequest[]): Promise<void>;
79
+ /**
80
+ * Grants this browser context the given permissions within the given origin.
81
+ *
82
+ * @remarks
83
+ * All permissions that are not listed will be automatically denied.
84
+ *
85
+ * @example
86
+ * Grant geolocation permission:
87
+ * ```ts
88
+ * const context = browser.defaultBrowserContext();
89
+ * await context.overridePermissions('https://html5demos.com', ['geolocation']);
90
+ * ```
91
+ *
92
+ * @see https://pptr.dev/api/puppeteer.browsercontext.overridepermissions
93
+ */
94
+ overridePermissions(origin: string, permissions: PuppeteerPermission[]): Promise<void>;
95
+ /**
96
+ * Clears all permission overrides for this browser context.
97
+ *
98
+ * @example
99
+ * Clear permission overrides:
100
+ * ```ts
101
+ * const context = browser.defaultBrowserContext();
102
+ * context.overridePermissions('https://example.com', ['clipboard-read']);
103
+ * // do stuff ..
104
+ * context.clearPermissionOverrides();
105
+ * ```
106
+ *
107
+ * @see https://pptr.dev/api/puppeteer.browsercontext.clearpermissionoverrides
108
+ */
109
+ clearPermissionOverrides(): Promise<void>;
110
+ /**
111
+ * Gets all active targets inside this browser context.
112
+ *
113
+ * @see https://pptr.dev/api/puppeteer.browsercontext.targets
114
+ */
115
+ targets(): Promise<PuppeteerTarget[]>;
116
+ }
@@ -0,0 +1,168 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
5
+ * Run `pnpm generate:puppeteer` to regenerate.
6
+ */
7
+ import { PuppeteerEventEmitter } from '../event-emitter.js';
8
+ /**
9
+ * RemotePuppeteerBrowserContext - Remote Puppeteer BrowserContext API over RPC.
10
+ *
11
+ * @see https://pptr.dev/api/puppeteer.browsercontext
12
+ */
13
+ export class RemotePuppeteerBrowserContext extends PuppeteerEventEmitter {
14
+ createPage;
15
+ sendRpc;
16
+ constructor(sendRpc, options, createPage) {
17
+ super();
18
+ this.sendRpc = sendRpc;
19
+ this.createPage = createPage;
20
+ this._contextId = options?.contextId ?? "default";
21
+ this._isDefault = options?.isDefault ?? false;
22
+ }
23
+ _contextId;
24
+ _isDefault;
25
+ _isClosed = false;
26
+ _pages = new Map();
27
+ /** Get the context ID. */
28
+ get id() {
29
+ return this._contextId;
30
+ }
31
+ /** Whether this is the default context. */
32
+ get isDefault() {
33
+ return this._isDefault;
34
+ }
35
+ /** Whether this context has been closed. */
36
+ get closed() {
37
+ return this._isClosed;
38
+ }
39
+ /**
40
+ * Mark this context as closed (internal use).
41
+ */
42
+ markClosed() {
43
+ this._isClosed = true;
44
+ // Mark all pages as closed
45
+ for (const page of this._pages.values()) {
46
+ if ('markClosed' in page && typeof page.markClosed === 'function') {
47
+ page.markClosed();
48
+ }
49
+ }
50
+ }
51
+ rpc(method, args) {
52
+ if (this._isClosed) {
53
+ throw new Error('Context is closed');
54
+ }
55
+ return this.sendRpc(method, args);
56
+ }
57
+ /**
58
+ * Gets a list of all open pages inside this browser context.
59
+ * @see https://pptr.dev/api/puppeteer.browsercontext.pages
60
+ */
61
+ async pages(includeAll) {
62
+ const pageIds = await this.rpc('pages', [includeAll]);
63
+ return pageIds.map((id) => {
64
+ let page = this._pages.get(id);
65
+ if (!page) {
66
+ page = this.createPage(id);
67
+ this._pages.set(id, page);
68
+ }
69
+ return page;
70
+ });
71
+ }
72
+ /**
73
+ * Creates a new page in this browser context.
74
+ * @see https://pptr.dev/api/puppeteer.browsercontext.newpage
75
+ */
76
+ async newPage(options) {
77
+ const pageId = await this.rpc('newPage', [options]);
78
+ const page = this.createPage(pageId);
79
+ this._pages.set(pageId, page);
80
+ return page;
81
+ }
82
+ /**
83
+ * Close this browser context.
84
+ * @see https://pptr.dev/api/puppeteer.browsercontext.close
85
+ */
86
+ async close() {
87
+ if (this._isDefault) {
88
+ throw new Error('Cannot close the default context');
89
+ }
90
+ await this.rpc('close', []);
91
+ this.markClosed();
92
+ }
93
+ /**
94
+ * Gets all cookies in this browser context.
95
+ *
96
+ * @see https://pptr.dev/api/puppeteer.browsercontext.cookies
97
+ */
98
+ async cookies(...urls) {
99
+ return this.sendRpc('cookies', [...urls]);
100
+ }
101
+ /**
102
+ * Sets cookies in this browser context.
103
+ *
104
+ * @see https://pptr.dev/api/puppeteer.browsercontext.setcookie
105
+ */
106
+ async setCookie(...cookies) {
107
+ await this.sendRpc('setCookie', [...cookies]);
108
+ }
109
+ /**
110
+ * Deletes cookies from this browser context.
111
+ *
112
+ * @see https://pptr.dev/api/puppeteer.browsercontext.deletecookie
113
+ */
114
+ async deleteCookie(...cookies) {
115
+ await this.sendRpc('deleteCookie', [...cookies]);
116
+ }
117
+ /**
118
+ * Deletes cookies matching the filter criteria from this browser context.
119
+ *
120
+ * @see https://pptr.dev/api/puppeteer.browsercontext.deletematchingcookies
121
+ */
122
+ async deleteMatchingCookies(...filters) {
123
+ await this.sendRpc('deleteMatchingCookies', [...filters]);
124
+ }
125
+ /**
126
+ * Grants this browser context the given permissions within the given origin.
127
+ *
128
+ * @remarks
129
+ * All permissions that are not listed will be automatically denied.
130
+ *
131
+ * @example
132
+ * Grant geolocation permission:
133
+ * ```ts
134
+ * const context = browser.defaultBrowserContext();
135
+ * await context.overridePermissions('https://html5demos.com', ['geolocation']);
136
+ * ```
137
+ *
138
+ * @see https://pptr.dev/api/puppeteer.browsercontext.overridepermissions
139
+ */
140
+ async overridePermissions(origin, permissions) {
141
+ await this.sendRpc('overridePermissions', [origin, permissions]);
142
+ }
143
+ /**
144
+ * Clears all permission overrides for this browser context.
145
+ *
146
+ * @example
147
+ * Clear permission overrides:
148
+ * ```ts
149
+ * const context = browser.defaultBrowserContext();
150
+ * context.overridePermissions('https://example.com', ['clipboard-read']);
151
+ * // do stuff ..
152
+ * context.clearPermissionOverrides();
153
+ * ```
154
+ *
155
+ * @see https://pptr.dev/api/puppeteer.browsercontext.clearpermissionoverrides
156
+ */
157
+ async clearPermissionOverrides() {
158
+ await this.sendRpc('clearPermissionOverrides', []);
159
+ }
160
+ /**
161
+ * Gets all active targets inside this browser context.
162
+ *
163
+ * @see https://pptr.dev/api/puppeteer.browsercontext.targets
164
+ */
165
+ async targets() {
166
+ return this.sendRpc('targets', []);
167
+ }
168
+ }
@@ -0,0 +1,169 @@
1
+ /**
2
+ * AUTO-GENERATED FILE - DO NOT EDIT
3
+ *
4
+ * Generated from: packages/automation-spec/src/drivers/puppeteer/methods/puppeteer-methods.ts
5
+ * Run `pnpm generate:puppeteer` to regenerate.
6
+ */
7
+ import type { SimpleRpcSender } from '../../../internal/transport.js';
8
+ import { PuppeteerEventEmitter } from '../event-emitter.js';
9
+ import type { RemotePuppeteerPage } from './page.js';
10
+ import type { RemotePuppeteerBrowserContext } from './browser-context.js';
11
+ import type { BrowserEvents, PuppeteerBrowserContextOptions, PuppeteerCookie, PuppeteerCookieData, PuppeteerDeleteCookiesRequest, PuppeteerTarget, PuppeteerTargetFilter, PuppeteerWaitForTargetOptions, PuppeteerWindowBounds } from '../types.js';
12
+ /**
13
+ * RemotePuppeteerBrowser - Remote Puppeteer Browser API over RPC.
14
+ *
15
+ * @see https://pptr.dev/api/puppeteer.browser
16
+ */
17
+ export declare class RemotePuppeteerBrowser extends PuppeteerEventEmitter<BrowserEvents> {
18
+ private createPage;
19
+ private createContext;
20
+ protected sendRpc: SimpleRpcSender;
21
+ constructor(sendRpc: SimpleRpcSender, createPage: (pageId: string) => RemotePuppeteerPage, createContext: (contextId: string, isDefault: boolean) => RemotePuppeteerBrowserContext);
22
+ private _isConnected;
23
+ private _pages;
24
+ private _contexts;
25
+ private _defaultContext;
26
+ /** Whether the browser is connected. */
27
+ get isConnected(): boolean;
28
+ /**
29
+ * Get all open pages.
30
+ * @see https://pptr.dev/api/puppeteer.browser.pages
31
+ */
32
+ pages(includeAll?: boolean): Promise<RemotePuppeteerPage[]>;
33
+ /**
34
+ * Create a new page in the default browser context.
35
+ * @see https://pptr.dev/api/puppeteer.browser.newpage
36
+ */
37
+ newPage(options?: {
38
+ timeout?: number;
39
+ }): Promise<RemotePuppeteerPage>;
40
+ /**
41
+ * Close the browser.
42
+ * @see https://pptr.dev/api/puppeteer.browser.close
43
+ */
44
+ close(): Promise<void>;
45
+ /**
46
+ * Disconnect from the browser (without closing it).
47
+ * @see https://pptr.dev/api/puppeteer.browser.disconnect
48
+ */
49
+ disconnect(): void;
50
+ /**
51
+ * Get the default browser context.
52
+ * @see https://pptr.dev/api/puppeteer.browser.defaultbrowsercontext
53
+ */
54
+ defaultBrowserContext(): RemotePuppeteerBrowserContext;
55
+ /**
56
+ * Create a new browser context.
57
+ * @see https://pptr.dev/api/puppeteer.browser.createbrowsercontext
58
+ */
59
+ createBrowserContext(options?: PuppeteerBrowserContextOptions): Promise<RemotePuppeteerBrowserContext>;
60
+ /**
61
+ * Get all browser contexts.
62
+ * @see https://pptr.dev/api/puppeteer.browser.browsercontexts
63
+ */
64
+ browserContexts(): RemotePuppeteerBrowserContext[];
65
+ /**
66
+ * Wait for a target matching the filter.
67
+ * @see https://pptr.dev/api/puppeteer.browser.waitfortarget
68
+ */
69
+ waitForTarget(filter: PuppeteerTargetFilter, options?: PuppeteerWaitForTargetOptions): Promise<PuppeteerTarget>;
70
+ /**
71
+ * Get the browser version.
72
+ *
73
+ * @see https://pptr.dev/api/puppeteer.browser.version
74
+ */
75
+ version(): Promise<string>;
76
+ /**
77
+ * Get the browser's user agent.
78
+ *
79
+ * @see https://pptr.dev/api/puppeteer.browser.useragent
80
+ */
81
+ userAgent(): Promise<string>;
82
+ /**
83
+ * Get the WebSocket endpoint for the browser.
84
+ *
85
+ * @see https://pptr.dev/api/puppeteer.browser.wsendpoint
86
+ */
87
+ wsEndpoint(): Promise<string>;
88
+ /**
89
+ * Get browser process info (if available).
90
+ *
91
+ * @remarks
92
+ * Returns serialized process info in RPC mode.
93
+ */
94
+ process(): Promise<{
95
+ pid: number;
96
+ } | null>;
97
+ /**
98
+ * Gets the browser target.
99
+ *
100
+ * @see https://pptr.dev/api/puppeteer.browser.target
101
+ */
102
+ target(): Promise<PuppeteerTarget>;
103
+ /**
104
+ * Gets all active targets inside the browser.
105
+ *
106
+ * @remarks
107
+ * Returns serialized target data in RPC mode.
108
+ *
109
+ * @see https://pptr.dev/api/puppeteer.browser.targets
110
+ */
111
+ targets(): Promise<PuppeteerTarget[]>;
112
+ /**
113
+ * Gets cookies from the default browser context.
114
+ *
115
+ * @see https://pptr.dev/api/puppeteer.browser.cookies
116
+ */
117
+ cookies(...urls: string[]): Promise<PuppeteerCookie[]>;
118
+ /**
119
+ * Sets cookies in the default browser context.
120
+ *
121
+ * @see https://pptr.dev/api/puppeteer.browser.setcookie
122
+ */
123
+ setCookie(...cookies: PuppeteerCookieData[]): Promise<void>;
124
+ /**
125
+ * Deletes cookies from the default browser context.
126
+ *
127
+ * @see https://pptr.dev/api/puppeteer.browser.deletecookie
128
+ */
129
+ deleteCookie(...cookies: PuppeteerCookie[]): Promise<void>;
130
+ /**
131
+ * Deletes cookies matching the filter criteria from the default browser context.
132
+ *
133
+ * @see https://pptr.dev/api/puppeteer.browser.deletematchingcookies
134
+ */
135
+ deleteMatchingCookies(...filters: PuppeteerDeleteCookiesRequest[]): Promise<void>;
136
+ /**
137
+ * Gets the bounds of a browser window.
138
+ *
139
+ * @see https://pptr.dev/api/puppeteer.browser.getwindowbounds
140
+ */
141
+ getWindowBounds(windowId: number): Promise<PuppeteerWindowBounds>;
142
+ /**
143
+ * Sets the bounds of a browser window.
144
+ *
145
+ * @see https://pptr.dev/api/puppeteer.browser.setwindowbounds
146
+ */
147
+ setWindowBounds(windowId: number, bounds: PuppeteerWindowBounds): Promise<void>;
148
+ /**
149
+ * Installs a browser extension.
150
+ * @returns The extension ID.
151
+ *
152
+ * @remarks
153
+ * In Chrome, this requires the browser to be launched with `pipe: true`
154
+ * and the `--enable-unsafe-extension-debugging` flag.
155
+ *
156
+ * @see https://pptr.dev/api/puppeteer.browser.installextension
157
+ */
158
+ installExtension(path: string): Promise<string>;
159
+ /**
160
+ * Uninstalls a browser extension.
161
+ *
162
+ * @remarks
163
+ * In Chrome, this requires the browser to be launched with `pipe: true`
164
+ * and the `--enable-unsafe-extension-debugging` flag.
165
+ *
166
+ * @see https://pptr.dev/api/puppeteer.browser.uninstallextension
167
+ */
168
+ uninstallExtension(id: string): Promise<void>;
169
+ }