@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,105 @@
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 type { PuppeteerTargetType } from '../types.js';
9
+ import type { RemotePuppeteerPage } from './page.js';
10
+ import type { RemotePuppeteerBrowser } from './browser.js';
11
+ import type { RemotePuppeteerBrowserContext } from './browser-context.js';
12
+ import type { RemotePuppeteerWebWorker } from './web-worker.js';
13
+ /**
14
+ * Factory functions for creating related objects.
15
+ * These are passed in to avoid circular dependencies.
16
+ */
17
+ export interface TargetFactories {
18
+ createPage: (pageId: string) => RemotePuppeteerPage;
19
+ createWebWorker: (workerId: string, url: string) => RemotePuppeteerWebWorker;
20
+ getBrowser: () => RemotePuppeteerBrowser;
21
+ getBrowserContext: (contextId: string) => RemotePuppeteerBrowserContext;
22
+ getTarget: (targetId: string) => RemotePuppeteerTarget | undefined;
23
+ }
24
+ /**
25
+ * Serialized target info from the backend.
26
+ */
27
+ export interface SerializedTargetInfo {
28
+ targetId: string;
29
+ type: PuppeteerTargetType;
30
+ url: string;
31
+ title?: string;
32
+ attached?: boolean;
33
+ openerId?: string;
34
+ browserContextId?: string;
35
+ }
36
+ /**
37
+ * RemotePuppeteerTarget - Remote Puppeteer Target API over RPC.
38
+ *
39
+ * @see https://pptr.dev/api/puppeteer.target
40
+ */
41
+ export declare class RemotePuppeteerTarget {
42
+ private sendRpc;
43
+ private readonly _targetId;
44
+ private readonly _type;
45
+ private readonly _url;
46
+ private readonly _openerId;
47
+ private readonly _browserContextId;
48
+ private readonly _factories;
49
+ constructor(sendRpc: SimpleRpcSender, info: SerializedTargetInfo, factories: TargetFactories);
50
+ /**
51
+ * The target ID.
52
+ */
53
+ get targetId(): string;
54
+ /**
55
+ * Forcefully creates a page for a target of any type.
56
+ * @see https://pptr.dev/api/puppeteer.target.aspage
57
+ */
58
+ asPage(): Promise<RemotePuppeteerPage>;
59
+ /**
60
+ * Get the browser the target belongs to.
61
+ * @see https://pptr.dev/api/puppeteer.target.browser
62
+ */
63
+ browser(): RemotePuppeteerBrowser;
64
+ /**
65
+ * Get the browser context the target belongs to.
66
+ * @see https://pptr.dev/api/puppeteer.target.browsercontext
67
+ */
68
+ browserContext(): RemotePuppeteerBrowserContext;
69
+ /**
70
+ * Creates a Chrome DevTools Protocol session attached to the target.
71
+ * @see https://pptr.dev/api/puppeteer.target.createcdpsession
72
+ */
73
+ createCDPSession(): Promise<{
74
+ sessionId: string;
75
+ }>;
76
+ /**
77
+ * Get the target that opened this target.
78
+ * @see https://pptr.dev/api/puppeteer.target.opener
79
+ */
80
+ opener(): RemotePuppeteerTarget | undefined;
81
+ /**
82
+ * Get the page for this target.
83
+ * @see https://pptr.dev/api/puppeteer.target.page
84
+ */
85
+ page(): Promise<RemotePuppeteerPage | null>;
86
+ /**
87
+ * Get the web worker for this target.
88
+ * @see https://pptr.dev/api/puppeteer.target.worker
89
+ */
90
+ worker(): Promise<RemotePuppeteerWebWorker | null>;
91
+ /**
92
+ * Identifies what kind of target this is.
93
+ * @returns The target type.
94
+ *
95
+ * @see https://pptr.dev/api/puppeteer.target.type
96
+ */
97
+ type(): PuppeteerTargetType;
98
+ /**
99
+ * Gets the URL of the target.
100
+ * @returns The target URL.
101
+ *
102
+ * @see https://pptr.dev/api/puppeteer.target.url
103
+ */
104
+ url(): string;
105
+ }
@@ -0,0 +1,123 @@
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
+ /**
8
+ * RemotePuppeteerTarget - Remote Puppeteer Target API over RPC.
9
+ *
10
+ * @see https://pptr.dev/api/puppeteer.target
11
+ */
12
+ export class RemotePuppeteerTarget {
13
+ sendRpc;
14
+ _targetId;
15
+ _type;
16
+ _url;
17
+ _openerId;
18
+ _browserContextId;
19
+ _factories;
20
+ constructor(sendRpc, info, factories) {
21
+ this.sendRpc = sendRpc;
22
+ this._targetId = info.targetId;
23
+ this._type = info.type;
24
+ this._url = info.url;
25
+ this._openerId = info.openerId;
26
+ this._browserContextId = info.browserContextId;
27
+ this._factories = factories;
28
+ }
29
+ /**
30
+ * The target ID.
31
+ */
32
+ get targetId() {
33
+ return this._targetId;
34
+ }
35
+ /**
36
+ * Forcefully creates a page for a target of any type.
37
+ * @see https://pptr.dev/api/puppeteer.target.aspage
38
+ */
39
+ async asPage() {
40
+ const { pageId } = await this.sendRpc('target.asPage', [this._targetId]);
41
+ return this._factories.createPage(pageId);
42
+ }
43
+ /**
44
+ * Get the browser the target belongs to.
45
+ * @see https://pptr.dev/api/puppeteer.target.browser
46
+ */
47
+ browser() {
48
+ return this._factories.getBrowser();
49
+ }
50
+ /**
51
+ * Get the browser context the target belongs to.
52
+ * @see https://pptr.dev/api/puppeteer.target.browsercontext
53
+ */
54
+ browserContext() {
55
+ if (this._browserContextId) {
56
+ return this._factories.getBrowserContext(this._browserContextId);
57
+ }
58
+ return this._factories.getBrowserContext('__default__');
59
+ }
60
+ /**
61
+ * Creates a Chrome DevTools Protocol session attached to the target.
62
+ * @see https://pptr.dev/api/puppeteer.target.createcdpsession
63
+ */
64
+ async createCDPSession() {
65
+ return this.sendRpc('target.createCDPSession', [this._targetId]);
66
+ }
67
+ /**
68
+ * Get the target that opened this target.
69
+ * @see https://pptr.dev/api/puppeteer.target.opener
70
+ */
71
+ opener() {
72
+ if (!this._openerId) {
73
+ return undefined;
74
+ }
75
+ return this._factories.getTarget(this._openerId);
76
+ }
77
+ /**
78
+ * Get the page for this target.
79
+ * @see https://pptr.dev/api/puppeteer.target.page
80
+ */
81
+ async page() {
82
+ if (this._type !== 'page' && this._type !== 'webview' && this._type !== 'background_page') {
83
+ return null;
84
+ }
85
+ const result = await this.sendRpc('target.page', [this._targetId]);
86
+ if (!result) {
87
+ return null;
88
+ }
89
+ return this._factories.createPage(result.pageId);
90
+ }
91
+ /**
92
+ * Get the web worker for this target.
93
+ * @see https://pptr.dev/api/puppeteer.target.worker
94
+ */
95
+ async worker() {
96
+ if (this._type !== 'service_worker' && this._type !== 'shared_worker') {
97
+ return null;
98
+ }
99
+ const result = await this.sendRpc('target.worker', [this._targetId]);
100
+ if (!result) {
101
+ return null;
102
+ }
103
+ return this._factories.createWebWorker(result.workerId, result.url);
104
+ }
105
+ /**
106
+ * Identifies what kind of target this is.
107
+ * @returns The target type.
108
+ *
109
+ * @see https://pptr.dev/api/puppeteer.target.type
110
+ */
111
+ type() {
112
+ return this._type;
113
+ }
114
+ /**
115
+ * Gets the URL of the target.
116
+ * @returns The target URL.
117
+ *
118
+ * @see https://pptr.dev/api/puppeteer.target.url
119
+ */
120
+ url() {
121
+ return this._url;
122
+ }
123
+ }
@@ -0,0 +1,87 @@
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 { RemoteComponentBase } from '../remote-base.js';
9
+ import type { TouchHandle } from '../types.js';
10
+ /**
11
+ * RemotePuppeteerTouchHandle - Represents a single touch point.
12
+ * Created by Touchscreen.touchStart().
13
+ *
14
+ * @see https://pptr.dev/api/puppeteer.touchhandle
15
+ */
16
+ export declare class RemotePuppeteerTouchHandle implements TouchHandle {
17
+ private sendRpc;
18
+ private readonly _touchId;
19
+ constructor(sendRpc: SimpleRpcSender, _touchId: string);
20
+ /**
21
+ * Dispatches a `touchmove` event for this touch.
22
+ * @see https://pptr.dev/api/puppeteer.touchhandle.move
23
+ */
24
+ move(x: number, y: number): Promise<void>;
25
+ /**
26
+ * Dispatches a `touchend` event for this touch.
27
+ * @see https://pptr.dev/api/puppeteer.touchhandle.end
28
+ */
29
+ end(): Promise<void>;
30
+ }
31
+ /**
32
+ * RemotePuppeteerTouchscreen - Remote Puppeteer Touchscreen API over RPC.
33
+ *
34
+ * @see https://pptr.dev/api/puppeteer.touchscreen
35
+ */
36
+ export declare class RemotePuppeteerTouchscreen extends RemoteComponentBase {
37
+ constructor(sendRpc: SimpleRpcSender);
38
+ /**
39
+ * Dispatches a `touchstart` and `touchend` event (simulates a tap).
40
+ *
41
+ * @see https://pptr.dev/api/puppeteer.touchscreen.tap
42
+ */
43
+ tap(x: number, y: number): Promise<void>;
44
+ /**
45
+ * Dispatches a `touchstart` event.
46
+ * @returns A TouchHandle for controlling this touch point.
47
+ *
48
+ * @remarks
49
+ * Returns a TouchHandle that can be used to dispatch `touchMove` and `touchEnd` events
50
+ * for this specific touch point. This allows tracking individual touches in multi-touch scenarios.
51
+ *
52
+ * The returned TouchHandle has:
53
+ * - `move(x, y)`: Dispatches a touchmove event for this touch
54
+ * - `end()`: Dispatches a touchend event for this touch
55
+ *
56
+ * @example
57
+ * Performing a swipe gesture:
58
+ * ```ts
59
+ * const touch = await page.touchscreen.touchStart(100, 100);
60
+ * await touch.move(200, 100);
61
+ * await touch.move(300, 100);
62
+ * await touch.end();
63
+ * ```
64
+ *
65
+ * @see https://pptr.dev/api/puppeteer.touchscreen.touchstart
66
+ */
67
+ touchStart(x: number, y: number): Promise<TouchHandle>;
68
+ /**
69
+ * Dispatches a `touchmove` event on the active touch.
70
+ *
71
+ * @remarks
72
+ * Note: Not every `touchMove` call results in a `touchmove` event being emitted,
73
+ * depending on the browser's optimizations.
74
+ *
75
+ * For more precise control over individual touches, use `touchStart()` which returns
76
+ * a TouchHandle with its own `move()` method.
77
+ *
78
+ * @see https://pptr.dev/api/puppeteer.touchscreen.touchmove
79
+ */
80
+ touchMove(x: number, y: number): Promise<void>;
81
+ /**
82
+ * Dispatches a `touchend` event.
83
+ *
84
+ * @see https://pptr.dev/api/puppeteer.touchscreen.touchend
85
+ */
86
+ touchEnd(): Promise<void>;
87
+ }
@@ -0,0 +1,103 @@
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 { RemoteComponentBase } from '../remote-base.js';
8
+ /**
9
+ * RemotePuppeteerTouchHandle - Represents a single touch point.
10
+ * Created by Touchscreen.touchStart().
11
+ *
12
+ * @see https://pptr.dev/api/puppeteer.touchhandle
13
+ */
14
+ export class RemotePuppeteerTouchHandle {
15
+ sendRpc;
16
+ _touchId;
17
+ constructor(sendRpc, _touchId) {
18
+ this.sendRpc = sendRpc;
19
+ this._touchId = _touchId;
20
+ }
21
+ /**
22
+ * Dispatches a `touchmove` event for this touch.
23
+ * @see https://pptr.dev/api/puppeteer.touchhandle.move
24
+ */
25
+ async move(x, y) {
26
+ await this.sendRpc('touchHandle.move', [this._touchId, x, y]);
27
+ }
28
+ /**
29
+ * Dispatches a `touchend` event for this touch.
30
+ * @see https://pptr.dev/api/puppeteer.touchhandle.end
31
+ */
32
+ async end() {
33
+ await this.sendRpc('touchHandle.end', [this._touchId]);
34
+ }
35
+ }
36
+ /**
37
+ * RemotePuppeteerTouchscreen - Remote Puppeteer Touchscreen API over RPC.
38
+ *
39
+ * @see https://pptr.dev/api/puppeteer.touchscreen
40
+ */
41
+ export class RemotePuppeteerTouchscreen extends RemoteComponentBase {
42
+ constructor(sendRpc) {
43
+ super(sendRpc);
44
+ }
45
+ /**
46
+ * Dispatches a `touchstart` and `touchend` event (simulates a tap).
47
+ *
48
+ * @see https://pptr.dev/api/puppeteer.touchscreen.tap
49
+ */
50
+ async tap(x, y) {
51
+ await this.sendRpc('touchscreen.tap', [x, y]);
52
+ }
53
+ /**
54
+ * Dispatches a `touchstart` event.
55
+ * @returns A TouchHandle for controlling this touch point.
56
+ *
57
+ * @remarks
58
+ * Returns a TouchHandle that can be used to dispatch `touchMove` and `touchEnd` events
59
+ * for this specific touch point. This allows tracking individual touches in multi-touch scenarios.
60
+ *
61
+ * The returned TouchHandle has:
62
+ * - `move(x, y)`: Dispatches a touchmove event for this touch
63
+ * - `end()`: Dispatches a touchend event for this touch
64
+ *
65
+ * @example
66
+ * Performing a swipe gesture:
67
+ * ```ts
68
+ * const touch = await page.touchscreen.touchStart(100, 100);
69
+ * await touch.move(200, 100);
70
+ * await touch.move(300, 100);
71
+ * await touch.end();
72
+ * ```
73
+ *
74
+ * @see https://pptr.dev/api/puppeteer.touchscreen.touchstart
75
+ */
76
+ async touchStart(x, y) {
77
+ const result = await this.sendRpc('touchscreen.touchStart', [x, y]);
78
+ return new RemotePuppeteerTouchHandle(this.sendRpc, result.touchId);
79
+ }
80
+ /**
81
+ * Dispatches a `touchmove` event on the active touch.
82
+ *
83
+ * @remarks
84
+ * Note: Not every `touchMove` call results in a `touchmove` event being emitted,
85
+ * depending on the browser's optimizations.
86
+ *
87
+ * For more precise control over individual touches, use `touchStart()` which returns
88
+ * a TouchHandle with its own `move()` method.
89
+ *
90
+ * @see https://pptr.dev/api/puppeteer.touchscreen.touchmove
91
+ */
92
+ async touchMove(x, y) {
93
+ await this.sendRpc('touchscreen.touchMove', [x, y]);
94
+ }
95
+ /**
96
+ * Dispatches a `touchend` event.
97
+ *
98
+ * @see https://pptr.dev/api/puppeteer.touchscreen.touchend
99
+ */
100
+ async touchEnd() {
101
+ await this.sendRpc('touchscreen.touchEnd', []);
102
+ }
103
+ }
@@ -0,0 +1,38 @@
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 { RemoteComponentBase } from '../remote-base.js';
9
+ import type { PuppeteerTracingOptions } from '../types.js';
10
+ /**
11
+ * RemotePuppeteerTracing - Remote Puppeteer Tracing API over RPC.
12
+ *
13
+ * @see https://pptr.dev/api/puppeteer.tracing
14
+ */
15
+ export declare class RemotePuppeteerTracing extends RemoteComponentBase {
16
+ constructor(sendRpc: SimpleRpcSender);
17
+ /**
18
+ * Starts a trace for the current page.
19
+ *
20
+ * @remarks
21
+ * Only one trace can be active at a time per browser.
22
+ *
23
+ * @see https://pptr.dev/api/puppeteer.tracing.start
24
+ */
25
+ start(options?: PuppeteerTracingOptions): Promise<void>;
26
+ /**
27
+ * Stops the trace and returns the trace data.
28
+ * @returns Trace data as a Buffer, or undefined if path was specified in start().
29
+ *
30
+ * @remarks
31
+ * Over RPC, the trace data is transmitted as a base64-encoded string.
32
+ * The SDK automatically converts this back to a Buffer using `Buffer.from(result, 'base64')`.
33
+ * Returns undefined if a path was specified in start() options.
34
+ *
35
+ * @see https://pptr.dev/api/puppeteer.tracing.stop
36
+ */
37
+ stop(): Promise<Buffer | undefined>;
38
+ }
@@ -0,0 +1,43 @@
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 { RemoteComponentBase } from '../remote-base.js';
8
+ /**
9
+ * RemotePuppeteerTracing - Remote Puppeteer Tracing API over RPC.
10
+ *
11
+ * @see https://pptr.dev/api/puppeteer.tracing
12
+ */
13
+ export class RemotePuppeteerTracing extends RemoteComponentBase {
14
+ constructor(sendRpc) {
15
+ super(sendRpc);
16
+ }
17
+ /**
18
+ * Starts a trace for the current page.
19
+ *
20
+ * @remarks
21
+ * Only one trace can be active at a time per browser.
22
+ *
23
+ * @see https://pptr.dev/api/puppeteer.tracing.start
24
+ */
25
+ async start(options) {
26
+ await this.rpc('tracing.start', [options]);
27
+ }
28
+ /**
29
+ * Stops the trace and returns the trace data.
30
+ * @returns Trace data as a Buffer, or undefined if path was specified in start().
31
+ *
32
+ * @remarks
33
+ * Over RPC, the trace data is transmitted as a base64-encoded string.
34
+ * The SDK automatically converts this back to a Buffer using `Buffer.from(result, 'base64')`.
35
+ * Returns undefined if a path was specified in start() options.
36
+ *
37
+ * @see https://pptr.dev/api/puppeteer.tracing.stop
38
+ */
39
+ async stop() {
40
+ const result = await this.rpc('tracing.stop', []);
41
+ return Buffer.from(result, 'base64');
42
+ }
43
+ }
@@ -0,0 +1,63 @@
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 { RemoteBase } from '../remote-base.js';
9
+ /**
10
+ * RemotePuppeteerWebWorker - Remote Puppeteer WebWorker API over RPC.
11
+ *
12
+ * @see https://pptr.dev/api/puppeteer.webworker
13
+ */
14
+ export declare class RemotePuppeteerWebWorker extends RemoteBase {
15
+ /** The URL of this web worker (cached at construction) */
16
+ private readonly _url;
17
+ constructor(id: string, sendRpc: SimpleRpcSender, url: string);
18
+ /**
19
+ * The URL of this web worker.
20
+ *
21
+ * @remarks
22
+ * This returns a cached value that was provided when the worker was created. No RPC call is made.
23
+ *
24
+ * @see https://pptr.dev/api/puppeteer.webworker.url
25
+ */
26
+ url(): string;
27
+ /**
28
+ * Closes the web worker.
29
+ *
30
+ * @see https://pptr.dev/api/puppeteer.webworker.close
31
+ */
32
+ close(): Promise<void>;
33
+ /**
34
+ * Evaluates a given function in the worker.
35
+ * @param pageFunction - Function or string expression to evaluate in the worker context.
36
+ * @param args - Arguments to pass to the function.
37
+ * @returns The result of the evaluated function.
38
+ *
39
+ * @remarks
40
+ * If the function returns a promise, evaluate will wait for the promise to resolve.
41
+ *
42
+ * As a rule of thumb, if the return value is more complicated than a JSON object
43
+ * (e.g. most classes), then evaluate will likely return some truncated value
44
+ * or `{}`. Use evaluateHandle if you need a mutable handle to the return object.
45
+ *
46
+ * @example
47
+ * Evaluating a simple expression:
48
+ * ```ts
49
+ * const result = await worker.evaluate((a, b) => a + b, 1, 2);
50
+ * console.log(result); // 3
51
+ * ```
52
+ *
53
+ * @example
54
+ * Getting the worker's name:
55
+ * ```ts
56
+ * const name = await worker.evaluate(() => self.name);
57
+ * console.log(name);
58
+ * ```
59
+ *
60
+ * @see https://pptr.dev/api/puppeteer.webworker.evaluate
61
+ */
62
+ evaluate<T = unknown>(pageFunction: string | ((...args: unknown[]) => T | Promise<T>), ...args: unknown[]): Promise<T>;
63
+ }
@@ -0,0 +1,73 @@
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 { RemoteBase } from '../remote-base.js';
8
+ import { serializeFunctionSource } from '../../../internal/transport.js';
9
+ /**
10
+ * RemotePuppeteerWebWorker - Remote Puppeteer WebWorker API over RPC.
11
+ *
12
+ * @see https://pptr.dev/api/puppeteer.webworker
13
+ */
14
+ export class RemotePuppeteerWebWorker extends RemoteBase {
15
+ /** The URL of this web worker (cached at construction) */
16
+ _url;
17
+ constructor(id, sendRpc, url) {
18
+ super(id, sendRpc);
19
+ this._url = url;
20
+ }
21
+ /**
22
+ * The URL of this web worker.
23
+ *
24
+ * @remarks
25
+ * This returns a cached value that was provided when the worker was created. No RPC call is made.
26
+ *
27
+ * @see https://pptr.dev/api/puppeteer.webworker.url
28
+ */
29
+ url() {
30
+ return this._url;
31
+ }
32
+ /**
33
+ * Closes the web worker.
34
+ *
35
+ * @see https://pptr.dev/api/puppeteer.webworker.close
36
+ */
37
+ async close() {
38
+ await this.rpc('webworker.close', [this.id]);
39
+ }
40
+ /**
41
+ * Evaluates a given function in the worker.
42
+ * @param pageFunction - Function or string expression to evaluate in the worker context.
43
+ * @param args - Arguments to pass to the function.
44
+ * @returns The result of the evaluated function.
45
+ *
46
+ * @remarks
47
+ * If the function returns a promise, evaluate will wait for the promise to resolve.
48
+ *
49
+ * As a rule of thumb, if the return value is more complicated than a JSON object
50
+ * (e.g. most classes), then evaluate will likely return some truncated value
51
+ * or `{}`. Use evaluateHandle if you need a mutable handle to the return object.
52
+ *
53
+ * @example
54
+ * Evaluating a simple expression:
55
+ * ```ts
56
+ * const result = await worker.evaluate((a, b) => a + b, 1, 2);
57
+ * console.log(result); // 3
58
+ * ```
59
+ *
60
+ * @example
61
+ * Getting the worker's name:
62
+ * ```ts
63
+ * const name = await worker.evaluate(() => self.name);
64
+ * console.log(name);
65
+ * ```
66
+ *
67
+ * @see https://pptr.dev/api/puppeteer.webworker.evaluate
68
+ */
69
+ async evaluate(pageFunction, ...args) {
70
+ const _pageFunction = serializeFunctionSource(pageFunction);
71
+ return this.rpc('webworker.evaluate', [this.id, _pageFunction, ...args]);
72
+ }
73
+ }
@@ -0,0 +1,21 @@
1
+ export * from './types.js';
2
+ export * from './generated/accessibility.js';
3
+ export * from './generated/console-message.js';
4
+ export * from './generated/dialog.js';
5
+ export * from './generated/js-handle.js';
6
+ export * from './generated/element-handle.js';
7
+ export * from './generated/mouse.js';
8
+ export * from './generated/keyboard.js';
9
+ export * from './generated/touchscreen.js';
10
+ export * from './generated/tracing.js';
11
+ export * from './generated/coverage.js';
12
+ export * from './generated/web-worker.js';
13
+ export * from './generated/http-request.js';
14
+ export * from './generated/http-response.js';
15
+ export * from './generated/frame.js';
16
+ export * from './generated/file-chooser.js';
17
+ export * from './generated/locator.js';
18
+ export * from './generated/page.js';
19
+ export * from './generated/browser-context.js';
20
+ export * from './generated/browser.js';
21
+ export * from './generated/target.js';
@@ -0,0 +1,23 @@
1
+ // Puppeteer driver exports.
2
+ export * from './types.js';
3
+ // Generated Puppeteer classes
4
+ export * from './generated/accessibility.js';
5
+ export * from './generated/console-message.js';
6
+ export * from './generated/dialog.js';
7
+ export * from './generated/js-handle.js';
8
+ export * from './generated/element-handle.js';
9
+ export * from './generated/mouse.js';
10
+ export * from './generated/keyboard.js';
11
+ export * from './generated/touchscreen.js';
12
+ export * from './generated/tracing.js';
13
+ export * from './generated/coverage.js';
14
+ export * from './generated/web-worker.js';
15
+ export * from './generated/http-request.js';
16
+ export * from './generated/http-response.js';
17
+ export * from './generated/frame.js';
18
+ export * from './generated/file-chooser.js';
19
+ export * from './generated/locator.js';
20
+ export * from './generated/page.js';
21
+ export * from './generated/browser-context.js';
22
+ export * from './generated/browser.js';
23
+ export * from './generated/target.js';