@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,148 +0,0 @@
1
- export type { PlaywrightGotoOptions, PlaywrightReloadOptions, PlaywrightGoBackOptions, PlaywrightGoForwardOptions, PlaywrightNavigationOptions, PlaywrightWaitUntil, WaitUntilState, PlaywrightWaitForSelectorOptions, PlaywrightWaitForLoadStateOptions, PlaywrightWaitForURLOptions, PlaywrightWaitForNavigationOptions, PlaywrightWaitForOptions, PlaywrightWaitForFunctionOptions, PlaywrightMouseButton, PlaywrightMouseClickOptions, PlaywrightMouseDblclickOptions, PlaywrightMouseMoveOptions, PlaywrightMouseDownUpOptions, PlaywrightKeyboardOptions, PlaywrightKeyboardPressOptions, PlaywrightKeyboardTypeOptions, PlaywrightModifiers, PlaywrightPosition, PlaywrightClickOptions, PlaywrightDblclickOptions, PlaywrightFillOptions, PlaywrightTypeOptions, PlaywrightPressOptions, PlaywrightPressSequentiallyOptions, PlaywrightCheckOptions, PlaywrightUncheckOptions, PlaywrightSetCheckedOptions, PlaywrightSelectOptionOptions, PlaywrightSelectOption, PlaywrightSelectOptionValue, PlaywrightHoverOptions, PlaywrightFocusOptions, PlaywrightBlurOptions, PlaywrightTapOptions, PlaywrightClearOptions, PlaywrightTextContentOptions, PlaywrightInnerTextOptions, PlaywrightInnerHTMLOptions, PlaywrightGetAttributeOptions, PlaywrightInputValueOptions, PlaywrightIsOptions, PlaywrightElementState, PlaywrightEvaluateOptions, PlaywrightClipRegion, PlaywrightScreenshotOptions, PlaywrightPageScreenshotOptions, PlaywrightPDFMargin, PlaywrightPDFOptions, PlaywrightGetByRoleOptions, PlaywrightGetByTextOptions, PlaywrightGetByLabelOptions, PlaywrightGetByPlaceholderOptions, PlaywrightGetByAltTextOptions, PlaywrightGetByTitleOptions, PlaywrightGetByTestIdOptions, PlaywrightFilterOptions, PlaywrightAriaRole, PlaywrightViewport, PlaywrightViewportSize, PlaywrightGeolocation, PlaywrightHttpCredentials, PlaywrightHTTPCredentials, PlaywrightNewContextOptions, PlaywrightNewPageOptions, PlaywrightBoundingBoxResult, PlaywrightBoundingBox, PlaywrightBoundingBoxOptions, LocatorChainStep, SerializedLocatorChain, PlaywrightTracingStartOptions, PlaywrightTracingStopOptions, PlaywrightStartTracingOptions, PlaywrightConsoleMessageType, PlaywrightConsoleMessageLocation, PlaywrightStartCSSCoverageOptions, PlaywrightStartJSCoverageOptions, PlaywrightCSSCoverageEntry, PlaywrightJSCoverageEntry, PlaywrightDialogType, PlaywrightCookie, PlaywrightClearCookiesOptions, PlaywrightPermission, PlaywrightGrantPermissionsOptions, PlaywrightRouteOptions, PlaywrightRouteFromHAROptions, PlaywrightUnrouteAllOptions, PlaywrightStorageState, PlaywrightStorageStateOptions, PlaywrightWaitForEventOptions, PlaywrightEventInit, PlaywrightDispatchEventOptions, PlaywrightTimeoutOptions, PlaywrightFilePayload, FilePayload, PlaywrightSetInputFilesOptions, PlaywrightScrollIntoViewOptions, PlaywrightScrollIntoViewIfNeededOptions, PlaywrightDragToOptions, PlaywrightDragAndDropOptions, PlaywrightSetContentOptions, PlaywrightAddScriptTagOptions, PlaywrightAddStyleTagOptions, PlaywrightEmulateMediaOptions, PlaywrightLoadState, LoadState, PlaywrightRequest, PlaywrightResponse, PlaywrightRouteHandler, PlaywrightAPIResponse, PlaywrightAPIRequestOptions, PlaywrightConsoleMessage, PlaywrightWebSocketRoute, PlaywrightAddLocatorHandlerOptions, } from '../../contracts/drivers/playwright.js';
2
- export type { PageEvents, PlaywrightPageEvents, } from '../../contracts/drivers/playwright.js';
3
- export type { SelectOption } from '../../base/types.js';
4
- import type { PlaywrightMouseClickOptions, PlaywrightMouseMoveOptions, PlaywrightKeyboardOptions, PlaywrightClickOptions, PlaywrightFillOptions, PlaywrightTypeOptions, PlaywrightPressOptions, PlaywrightCheckOptions, PlaywrightSelectOptionOptions, PlaywrightHoverOptions, PlaywrightFocusOptions, PlaywrightTextContentOptions, PlaywrightInnerTextOptions, PlaywrightInnerHTMLOptions, PlaywrightGetAttributeOptions, PlaywrightInputValueOptions, PlaywrightIsOptions, PlaywrightWaitForOptions, PlaywrightScreenshotOptions, PlaywrightGetByRoleOptions, PlaywrightGetByTextOptions, PlaywrightGetByLabelOptions, PlaywrightGetByPlaceholderOptions, PlaywrightGetByAltTextOptions, PlaywrightGetByTitleOptions, PlaywrightGotoOptions, PlaywrightReloadOptions, PlaywrightGoBackOptions, PlaywrightGoForwardOptions, PlaywrightWaitForSelectorOptions, PlaywrightWaitForLoadStateOptions, PlaywrightWaitForURLOptions, PlaywrightPageScreenshotOptions, PlaywrightPDFOptions, PlaywrightNewContextOptions, PlaywrightNewPageOptions, PlaywrightBoundingBoxResult, SerializedLocatorChain } from '../../contracts/drivers/playwright.js';
5
- export interface PlaywrightMouse {
6
- click(x: number, y: number, options?: PlaywrightMouseClickOptions): Promise<void>;
7
- dblclick(x: number, y: number, options?: PlaywrightMouseClickOptions): Promise<void>;
8
- down(options?: {
9
- button?: 'left' | 'right' | 'middle';
10
- }): Promise<void>;
11
- up(options?: {
12
- button?: 'left' | 'right' | 'middle';
13
- }): Promise<void>;
14
- move(x: number, y: number, options?: PlaywrightMouseMoveOptions): Promise<void>;
15
- wheel(deltaX: number, deltaY: number): Promise<void>;
16
- }
17
- export interface PlaywrightKeyboard {
18
- down(key: string): Promise<void>;
19
- up(key: string): Promise<void>;
20
- press(key: string, options?: PlaywrightKeyboardOptions): Promise<void>;
21
- type(text: string, options?: PlaywrightKeyboardOptions): Promise<void>;
22
- insertText(text: string): Promise<void>;
23
- }
24
- export interface PlaywrightLocatorOptions {
25
- has?: PlaywrightLocator | SerializedLocatorChain;
26
- hasNot?: PlaywrightLocator | SerializedLocatorChain;
27
- hasText?: string | RegExp;
28
- hasNotText?: string | RegExp;
29
- }
30
- export interface PlaywrightLocatorFilterOptions {
31
- has?: PlaywrightLocator | SerializedLocatorChain;
32
- hasNot?: PlaywrightLocator | SerializedLocatorChain;
33
- hasText?: string | RegExp;
34
- hasNotText?: string | RegExp;
35
- }
36
- export interface PlaywrightLocator {
37
- locator(selector: string, options?: PlaywrightLocatorOptions): PlaywrightLocator;
38
- filter(options: PlaywrightLocatorFilterOptions): PlaywrightLocator;
39
- first(): PlaywrightLocator;
40
- last(): PlaywrightLocator;
41
- nth(index: number): PlaywrightLocator;
42
- and(locator: PlaywrightLocator): PlaywrightLocator;
43
- or(locator: PlaywrightLocator): PlaywrightLocator;
44
- getByRole(role: string, options?: PlaywrightGetByRoleOptions): PlaywrightLocator;
45
- getByText(text: string | RegExp, options?: PlaywrightGetByTextOptions): PlaywrightLocator;
46
- getByLabel(text: string | RegExp, options?: PlaywrightGetByLabelOptions): PlaywrightLocator;
47
- getByPlaceholder(text: string | RegExp, options?: PlaywrightGetByPlaceholderOptions): PlaywrightLocator;
48
- getByAltText(text: string | RegExp, options?: PlaywrightGetByAltTextOptions): PlaywrightLocator;
49
- getByTitle(text: string | RegExp, options?: PlaywrightGetByTitleOptions): PlaywrightLocator;
50
- getByTestId(testId: string): PlaywrightLocator;
51
- click(options?: PlaywrightClickOptions): Promise<void>;
52
- dblclick(options?: PlaywrightClickOptions): Promise<void>;
53
- fill(value: string, options?: PlaywrightFillOptions): Promise<void>;
54
- type(text: string, options?: PlaywrightTypeOptions): Promise<void>;
55
- press(key: string, options?: PlaywrightPressOptions): Promise<void>;
56
- check(options?: PlaywrightCheckOptions): Promise<void>;
57
- uncheck(options?: PlaywrightCheckOptions): Promise<void>;
58
- selectOption(values: string | string[] | {
59
- value?: string;
60
- label?: string;
61
- index?: number;
62
- }, options?: PlaywrightSelectOptionOptions): Promise<string[]>;
63
- hover(options?: PlaywrightHoverOptions): Promise<void>;
64
- focus(options?: PlaywrightFocusOptions): Promise<void>;
65
- clear(options?: PlaywrightFillOptions): Promise<void>;
66
- count(): Promise<number>;
67
- textContent(options?: PlaywrightTextContentOptions): Promise<string | null>;
68
- innerText(options?: PlaywrightInnerTextOptions): Promise<string>;
69
- innerHTML(options?: PlaywrightInnerHTMLOptions): Promise<string>;
70
- getAttribute(name: string, options?: PlaywrightGetAttributeOptions): Promise<string | null>;
71
- inputValue(options?: PlaywrightInputValueOptions): Promise<string>;
72
- isVisible(options?: PlaywrightIsOptions): Promise<boolean>;
73
- isHidden(options?: PlaywrightIsOptions): Promise<boolean>;
74
- isEnabled(options?: PlaywrightIsOptions): Promise<boolean>;
75
- isDisabled(options?: PlaywrightIsOptions): Promise<boolean>;
76
- isChecked(options?: PlaywrightIsOptions): Promise<boolean>;
77
- isEditable(options?: PlaywrightIsOptions): Promise<boolean>;
78
- waitFor(options?: PlaywrightWaitForOptions): Promise<void>;
79
- boundingBox(options?: {
80
- timeout?: number;
81
- }): Promise<PlaywrightBoundingBoxResult | null>;
82
- screenshot(options?: PlaywrightScreenshotOptions): Promise<Buffer>;
83
- evaluate<R, Arg = unknown>(pageFunction: (element: Element, arg: Arg) => R | Promise<R>, arg?: Arg): Promise<R>;
84
- evaluateAll<R, Arg = unknown>(pageFunction: (elements: Element[], arg: Arg) => R | Promise<R>, arg?: Arg): Promise<R>;
85
- }
86
- export interface PlaywrightPage {
87
- locator(selector: string, options?: PlaywrightLocatorOptions): PlaywrightLocator;
88
- getByRole(role: string, options?: PlaywrightGetByRoleOptions): PlaywrightLocator;
89
- getByText(text: string | RegExp, options?: PlaywrightGetByTextOptions): PlaywrightLocator;
90
- getByLabel(text: string | RegExp, options?: PlaywrightGetByLabelOptions): PlaywrightLocator;
91
- getByPlaceholder(text: string | RegExp, options?: PlaywrightGetByPlaceholderOptions): PlaywrightLocator;
92
- getByAltText(text: string | RegExp, options?: PlaywrightGetByAltTextOptions): PlaywrightLocator;
93
- getByTitle(text: string | RegExp, options?: PlaywrightGetByTitleOptions): PlaywrightLocator;
94
- getByTestId(testId: string): PlaywrightLocator;
95
- goto(url: string, options?: PlaywrightGotoOptions): Promise<void>;
96
- reload(options?: PlaywrightReloadOptions): Promise<void>;
97
- goBack(options?: PlaywrightGoBackOptions): Promise<void>;
98
- goForward(options?: PlaywrightGoForwardOptions): Promise<void>;
99
- url(): string;
100
- title(): Promise<string>;
101
- content(): Promise<string>;
102
- mouse: PlaywrightMouse;
103
- keyboard: PlaywrightKeyboard;
104
- click(selector: string, options?: PlaywrightClickOptions): Promise<void>;
105
- fill(selector: string, value: string, options?: PlaywrightFillOptions): Promise<void>;
106
- check(selector: string, options?: PlaywrightCheckOptions): Promise<void>;
107
- uncheck(selector: string, options?: PlaywrightCheckOptions): Promise<void>;
108
- isChecked(selector: string, options?: PlaywrightIsOptions): Promise<boolean>;
109
- selectOption(selector: string, values: string | string[] | {
110
- value?: string;
111
- label?: string;
112
- index?: number;
113
- }, options?: PlaywrightSelectOptionOptions): Promise<string[]>;
114
- waitForSelector(selector: string, options?: PlaywrightWaitForSelectorOptions): Promise<void>;
115
- waitForLoadState(state?: 'load' | 'domcontentloaded' | 'networkidle', options?: PlaywrightWaitForLoadStateOptions): Promise<void>;
116
- waitForTimeout(timeout: number): Promise<void>;
117
- waitForURL(url: string | RegExp | ((url: URL) => boolean), options?: PlaywrightWaitForURLOptions): Promise<void>;
118
- evaluate<R, Arg>(pageFunction: (arg: Arg) => R | Promise<R>, arg?: Arg): Promise<R>;
119
- evaluateHandle<R, Arg>(pageFunction: (arg: Arg) => R | Promise<R>, arg?: Arg): Promise<unknown>;
120
- screenshot(options?: PlaywrightPageScreenshotOptions): Promise<Buffer>;
121
- pdf(options?: PlaywrightPDFOptions): Promise<Buffer>;
122
- close(): Promise<void>;
123
- isClosed(): boolean;
124
- context(): PlaywrightBrowserContext | null;
125
- setViewportSize(viewportSize: {
126
- width: number;
127
- height: number;
128
- }): Promise<void>;
129
- viewportSize(): {
130
- width: number;
131
- height: number;
132
- } | null;
133
- bringToFront(): Promise<void>;
134
- }
135
- export interface PlaywrightBrowserContext {
136
- newPage(): Promise<PlaywrightPage>;
137
- pages(): PlaywrightPage[];
138
- close(): Promise<void>;
139
- browser(): PlaywrightBrowser | null;
140
- }
141
- export interface PlaywrightBrowser {
142
- newContext(options?: PlaywrightNewContextOptions): Promise<PlaywrightBrowserContext>;
143
- newPage(options?: PlaywrightNewPageOptions): Promise<PlaywrightPage>;
144
- contexts(): PlaywrightBrowserContext[];
145
- close(): Promise<void>;
146
- isConnected(): boolean;
147
- version(): Promise<string>;
148
- }
@@ -1,8 +0,0 @@
1
- // ============================================================================
2
- // Playwright Type Definitions
3
- // ============================================================================
4
- //
5
- // Driver option and payload types live in the SDK-local generated contract module.
6
- // This file contains interface definitions for runtime objects with methods.
7
- // ============================================================================
8
- export {};
@@ -1,50 +0,0 @@
1
- /**
2
- * Base error class for all Puppeteer errors.
3
- * @see https://pptr.dev/api/puppeteer.puppeteererror
4
- */
5
- export declare class PuppeteerError extends Error {
6
- constructor(message?: string);
7
- }
8
- /**
9
- * TimeoutError is thrown when an operation times out.
10
- *
11
- * @example
12
- * ```typescript
13
- * import { TimeoutError } from 'bctrl';
14
- *
15
- * try {
16
- * await page.waitForSelector('.element', { timeout: 5000 });
17
- * } catch (error) {
18
- * if (error instanceof TimeoutError) {
19
- * console.log('Element did not appear in time');
20
- * }
21
- * }
22
- * ```
23
- *
24
- * @see https://pptr.dev/api/puppeteer.timeouterror
25
- */
26
- export declare class TimeoutError extends PuppeteerError {
27
- constructor(message?: string);
28
- }
29
- /**
30
- * ProtocolError is thrown when a CDP protocol error occurs.
31
- * @see https://pptr.dev/api/puppeteer.protocolerror
32
- */
33
- export declare class ProtocolError extends PuppeteerError {
34
- /**
35
- * The original CDP error code, if available.
36
- */
37
- code?: number;
38
- /**
39
- * The original CDP error message, if available.
40
- */
41
- originalMessage?: string;
42
- constructor(message?: string, code?: number, originalMessage?: string);
43
- }
44
- /**
45
- * UnsupportedOperation is thrown when an operation is not supported.
46
- * @see https://pptr.dev/api/puppeteer.unsupportedoperation
47
- */
48
- export declare class UnsupportedOperation extends PuppeteerError {
49
- constructor(message?: string);
50
- }
@@ -1,71 +0,0 @@
1
- // ============================================================================
2
- // Puppeteer Error Classes
3
- // ============================================================================
4
- //
5
- // Custom error classes matching Puppeteer's error hierarchy.
6
- // @see https://pptr.dev/api/puppeteer.puppeteererror
7
- // ============================================================================
8
- /**
9
- * Base error class for all Puppeteer errors.
10
- * @see https://pptr.dev/api/puppeteer.puppeteererror
11
- */
12
- export class PuppeteerError extends Error {
13
- constructor(message) {
14
- super(message);
15
- this.name = 'PuppeteerError';
16
- }
17
- }
18
- /**
19
- * TimeoutError is thrown when an operation times out.
20
- *
21
- * @example
22
- * ```typescript
23
- * import { TimeoutError } from 'bctrl';
24
- *
25
- * try {
26
- * await page.waitForSelector('.element', { timeout: 5000 });
27
- * } catch (error) {
28
- * if (error instanceof TimeoutError) {
29
- * console.log('Element did not appear in time');
30
- * }
31
- * }
32
- * ```
33
- *
34
- * @see https://pptr.dev/api/puppeteer.timeouterror
35
- */
36
- export class TimeoutError extends PuppeteerError {
37
- constructor(message) {
38
- super(message ?? 'Timeout exceeded');
39
- this.name = 'TimeoutError';
40
- }
41
- }
42
- /**
43
- * ProtocolError is thrown when a CDP protocol error occurs.
44
- * @see https://pptr.dev/api/puppeteer.protocolerror
45
- */
46
- export class ProtocolError extends PuppeteerError {
47
- /**
48
- * The original CDP error code, if available.
49
- */
50
- code;
51
- /**
52
- * The original CDP error message, if available.
53
- */
54
- originalMessage;
55
- constructor(message, code, originalMessage) {
56
- super(message);
57
- this.name = 'ProtocolError';
58
- this.code = code;
59
- this.originalMessage = originalMessage;
60
- }
61
- }
62
- /**
63
- * UnsupportedOperation is thrown when an operation is not supported.
64
- * @see https://pptr.dev/api/puppeteer.unsupportedoperation
65
- */
66
- export class UnsupportedOperation extends PuppeteerError {
67
- constructor(message) {
68
- super(message ?? 'This operation is not supported');
69
- this.name = 'UnsupportedOperation';
70
- }
71
- }
@@ -1,145 +0,0 @@
1
- /**
2
- * Handler function type for event listeners.
3
- * @see https://pptr.dev/api/puppeteer.handler
4
- */
5
- export type Handler<T = unknown> = (event: T) => void;
6
- /**
7
- * The EventEmitter class that many Puppeteer classes extend.
8
- *
9
- * This provides a familiar event-driven interface for handling browser events
10
- * like page load, console messages, dialogs, network requests, etc.
11
- *
12
- * @example
13
- * ```ts
14
- * page.on('console', msg => {
15
- * console.log('Page logged:', msg.text());
16
- * });
17
- *
18
- * page.once('load', () => {
19
- * console.log('Page loaded!');
20
- * });
21
- * ```
22
- *
23
- * @see https://pptr.dev/api/puppeteer.eventemitter
24
- */
25
- export declare class PuppeteerEventEmitter<Events extends Record<string, unknown> = Record<string, unknown>> {
26
- /**
27
- * Map of event types to their listeners.
28
- * @internal
29
- */
30
- private _listeners;
31
- private notifyFirstListener;
32
- private notifyNoListeners;
33
- /**
34
- * Bind an event listener to fire when an event occurs.
35
- *
36
- * @param type - The event type to listen for.
37
- * @param handler - The function to call when the event occurs.
38
- * @returns `this` to allow for method chaining.
39
- *
40
- * @example
41
- * ```ts
42
- * page.on('request', request => {
43
- * console.log('Request:', request.url());
44
- * });
45
- * ```
46
- *
47
- * @see https://pptr.dev/api/puppeteer.eventemitter.on
48
- */
49
- on<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): this;
50
- /**
51
- * Remove an event listener.
52
- *
53
- * If `handler` is provided, only that specific listener is removed.
54
- * If `handler` is not provided, all listeners for that event type are removed.
55
- *
56
- * @param type - The event type.
57
- * @param handler - Optional specific handler to remove.
58
- * @returns `this` to allow for method chaining.
59
- *
60
- * @example
61
- * ```ts
62
- * const handler = msg => console.log(msg);
63
- * page.on('console', handler);
64
- * // Later...
65
- * page.off('console', handler);
66
- * ```
67
- *
68
- * @see https://pptr.dev/api/puppeteer.eventemitter.off
69
- */
70
- off<Key extends keyof Events>(type: Key, handler?: Handler<Events[Key]>): this;
71
- /**
72
- * Bind an event listener that will fire only once.
73
- *
74
- * After the handler is called once, it is automatically removed.
75
- *
76
- * @param type - The event type to listen for.
77
- * @param handler - The function to call when the event occurs.
78
- * @returns `this` to allow for method chaining.
79
- *
80
- * @example
81
- * ```ts
82
- * page.once('load', () => {
83
- * console.log('Page loaded for the first time!');
84
- * });
85
- * ```
86
- *
87
- * @see https://pptr.dev/api/puppeteer.eventemitter.once
88
- */
89
- once<Key extends keyof Events>(type: Key, handler: Handler<Events[Key]>): this;
90
- /**
91
- * Emit an event, calling all registered handlers.
92
- *
93
- * This method is typically used internally by Puppeteer classes to dispatch
94
- * events. Users rarely need to call this directly.
95
- *
96
- * @param type - The event type to emit.
97
- * @param event - The event data to pass to handlers.
98
- * @returns `true` if there were listeners for this event, `false` otherwise.
99
- *
100
- * @example
101
- * ```ts
102
- * // Internal usage example
103
- * this.emit('console', consoleMessage);
104
- * ```
105
- *
106
- * @see https://pptr.dev/api/puppeteer.eventemitter.emit
107
- */
108
- emit<Key extends keyof Events>(type: Key, event: Events[Key]): boolean;
109
- /**
110
- * Get the count of listeners for a specific event type.
111
- *
112
- * @param type - The event type.
113
- * @returns The number of registered listeners.
114
- *
115
- * @example
116
- * ```ts
117
- * const count = page.listenerCount('request');
118
- * console.log(`There are ${count} request listeners`);
119
- * ```
120
- *
121
- * @see https://pptr.dev/api/puppeteer.eventemitter.listenercount
122
- */
123
- listenerCount<Key extends keyof Events>(type: Key): number;
124
- /**
125
- * Remove all listeners.
126
- *
127
- * If `type` is provided, only listeners for that event type are removed.
128
- * If `type` is not provided, all listeners for all event types are removed.
129
- *
130
- * @param type - Optional event type to remove listeners for.
131
- * @returns `this` to allow for method chaining.
132
- *
133
- * @example
134
- * ```ts
135
- * // Remove all 'request' listeners
136
- * page.removeAllListeners('request');
137
- *
138
- * // Remove ALL listeners
139
- * page.removeAllListeners();
140
- * ```
141
- *
142
- * @see https://pptr.dev/api/puppeteer.eventemitter.removealllisteners
143
- */
144
- removeAllListeners<Key extends keyof Events>(type?: Key): this;
145
- }
@@ -1,259 +0,0 @@
1
- // ============================================================================
2
- // PuppeteerEventEmitter - EventEmitter base class for Puppeteer SDK
3
- // ============================================================================
4
- //
5
- // This class provides an EventEmitter implementation that matches the real
6
- // Puppeteer EventEmitter API 1:1. It supports local event handling on the SDK
7
- // side and can be extended by Page, Browser, and other classes.
8
- //
9
- // @see https://pptr.dev/api/puppeteer.eventemitter
10
- // ============================================================================
11
- import { getRemoteListenerBinding } from '../../base/event-binding.js';
12
- /**
13
- * The EventEmitter class that many Puppeteer classes extend.
14
- *
15
- * This provides a familiar event-driven interface for handling browser events
16
- * like page load, console messages, dialogs, network requests, etc.
17
- *
18
- * @example
19
- * ```ts
20
- * page.on('console', msg => {
21
- * console.log('Page logged:', msg.text());
22
- * });
23
- *
24
- * page.once('load', () => {
25
- * console.log('Page loaded!');
26
- * });
27
- * ```
28
- *
29
- * @see https://pptr.dev/api/puppeteer.eventemitter
30
- */
31
- export class PuppeteerEventEmitter {
32
- /**
33
- * Map of event types to their listeners.
34
- * @internal
35
- */
36
- _listeners = new Map();
37
- notifyFirstListener(event) {
38
- const binding = getRemoteListenerBinding(this);
39
- if (!binding)
40
- return;
41
- binding.onFirstListener(String(event));
42
- }
43
- notifyNoListeners(event) {
44
- const binding = getRemoteListenerBinding(this);
45
- if (!binding)
46
- return;
47
- binding.onNoListeners(String(event));
48
- }
49
- /**
50
- * Bind an event listener to fire when an event occurs.
51
- *
52
- * @param type - The event type to listen for.
53
- * @param handler - The function to call when the event occurs.
54
- * @returns `this` to allow for method chaining.
55
- *
56
- * @example
57
- * ```ts
58
- * page.on('request', request => {
59
- * console.log('Request:', request.url());
60
- * });
61
- * ```
62
- *
63
- * @see https://pptr.dev/api/puppeteer.eventemitter.on
64
- */
65
- on(type, handler) {
66
- const listeners = this._listeners.get(type) ?? [];
67
- const hadListeners = listeners.length > 0;
68
- listeners.push({ handler: handler, once: false });
69
- this._listeners.set(type, listeners);
70
- if (!hadListeners) {
71
- this.notifyFirstListener(type);
72
- }
73
- return this;
74
- }
75
- /**
76
- * Remove an event listener.
77
- *
78
- * If `handler` is provided, only that specific listener is removed.
79
- * If `handler` is not provided, all listeners for that event type are removed.
80
- *
81
- * @param type - The event type.
82
- * @param handler - Optional specific handler to remove.
83
- * @returns `this` to allow for method chaining.
84
- *
85
- * @example
86
- * ```ts
87
- * const handler = msg => console.log(msg);
88
- * page.on('console', handler);
89
- * // Later...
90
- * page.off('console', handler);
91
- * ```
92
- *
93
- * @see https://pptr.dev/api/puppeteer.eventemitter.off
94
- */
95
- off(type, handler) {
96
- if (!handler) {
97
- // Remove all listeners for this type
98
- const hadListeners = (this._listeners.get(type)?.length ?? 0) > 0;
99
- this._listeners.delete(type);
100
- if (hadListeners) {
101
- this.notifyNoListeners(type);
102
- }
103
- return this;
104
- }
105
- const listeners = this._listeners.get(type);
106
- if (!listeners) {
107
- return this;
108
- }
109
- const filtered = listeners.filter((entry) => entry.handler !== handler);
110
- if (filtered.length === 0) {
111
- this._listeners.delete(type);
112
- if (listeners.length > 0) {
113
- this.notifyNoListeners(type);
114
- }
115
- }
116
- else {
117
- this._listeners.set(type, filtered);
118
- }
119
- return this;
120
- }
121
- /**
122
- * Bind an event listener that will fire only once.
123
- *
124
- * After the handler is called once, it is automatically removed.
125
- *
126
- * @param type - The event type to listen for.
127
- * @param handler - The function to call when the event occurs.
128
- * @returns `this` to allow for method chaining.
129
- *
130
- * @example
131
- * ```ts
132
- * page.once('load', () => {
133
- * console.log('Page loaded for the first time!');
134
- * });
135
- * ```
136
- *
137
- * @see https://pptr.dev/api/puppeteer.eventemitter.once
138
- */
139
- once(type, handler) {
140
- const listeners = this._listeners.get(type) ?? [];
141
- const hadListeners = listeners.length > 0;
142
- listeners.push({ handler: handler, once: true });
143
- this._listeners.set(type, listeners);
144
- if (!hadListeners) {
145
- this.notifyFirstListener(type);
146
- }
147
- return this;
148
- }
149
- /**
150
- * Emit an event, calling all registered handlers.
151
- *
152
- * This method is typically used internally by Puppeteer classes to dispatch
153
- * events. Users rarely need to call this directly.
154
- *
155
- * @param type - The event type to emit.
156
- * @param event - The event data to pass to handlers.
157
- * @returns `true` if there were listeners for this event, `false` otherwise.
158
- *
159
- * @example
160
- * ```ts
161
- * // Internal usage example
162
- * this.emit('console', consoleMessage);
163
- * ```
164
- *
165
- * @see https://pptr.dev/api/puppeteer.eventemitter.emit
166
- */
167
- emit(type, event) {
168
- const listeners = this._listeners.get(type);
169
- if (!listeners || listeners.length === 0) {
170
- return false;
171
- }
172
- // Create a copy to avoid issues if handlers modify the listener list
173
- const listenersCopy = [...listeners];
174
- const toRemove = [];
175
- for (const entry of listenersCopy) {
176
- try {
177
- entry.handler(event);
178
- }
179
- catch (error) {
180
- // Log but don't throw to allow other handlers to run
181
- console.error(`Error in event handler for "${String(type)}":`, error);
182
- }
183
- if (entry.once) {
184
- toRemove.push(entry);
185
- }
186
- }
187
- // Remove once listeners
188
- if (toRemove.length > 0) {
189
- const remaining = listeners.filter((entry) => !toRemove.includes(entry));
190
- if (remaining.length === 0) {
191
- this._listeners.delete(type);
192
- if (listeners.length > 0) {
193
- this.notifyNoListeners(type);
194
- }
195
- }
196
- else {
197
- this._listeners.set(type, remaining);
198
- }
199
- }
200
- return true;
201
- }
202
- /**
203
- * Get the count of listeners for a specific event type.
204
- *
205
- * @param type - The event type.
206
- * @returns The number of registered listeners.
207
- *
208
- * @example
209
- * ```ts
210
- * const count = page.listenerCount('request');
211
- * console.log(`There are ${count} request listeners`);
212
- * ```
213
- *
214
- * @see https://pptr.dev/api/puppeteer.eventemitter.listenercount
215
- */
216
- listenerCount(type) {
217
- const listeners = this._listeners.get(type);
218
- return listeners?.length ?? 0;
219
- }
220
- /**
221
- * Remove all listeners.
222
- *
223
- * If `type` is provided, only listeners for that event type are removed.
224
- * If `type` is not provided, all listeners for all event types are removed.
225
- *
226
- * @param type - Optional event type to remove listeners for.
227
- * @returns `this` to allow for method chaining.
228
- *
229
- * @example
230
- * ```ts
231
- * // Remove all 'request' listeners
232
- * page.removeAllListeners('request');
233
- *
234
- * // Remove ALL listeners
235
- * page.removeAllListeners();
236
- * ```
237
- *
238
- * @see https://pptr.dev/api/puppeteer.eventemitter.removealllisteners
239
- */
240
- removeAllListeners(type) {
241
- if (type === undefined) {
242
- const existingEvents = Array.from(this._listeners.entries())
243
- .filter(([, listeners]) => listeners.length > 0)
244
- .map(([eventName]) => eventName);
245
- this._listeners.clear();
246
- for (const eventName of existingEvents) {
247
- this.notifyNoListeners(eventName);
248
- }
249
- }
250
- else {
251
- const hadListeners = (this._listeners.get(type)?.length ?? 0) > 0;
252
- this._listeners.delete(type);
253
- if (hadListeners) {
254
- this.notifyNoListeners(type);
255
- }
256
- }
257
- return this;
258
- }
259
- }