patchright-core 1.57.0 → 1.59.0

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 (307) hide show
  1. package/ThirdPartyNotices.txt +2688 -297
  2. package/browsers.json +23 -22
  3. package/lib/bootstrap.js +77 -0
  4. package/lib/cli/browserActions.js +308 -0
  5. package/lib/cli/driver.js +3 -2
  6. package/lib/cli/installActions.js +171 -0
  7. package/lib/cli/program.js +48 -413
  8. package/lib/client/android.js +4 -4
  9. package/lib/client/api.js +3 -0
  10. package/lib/client/browser.js +11 -5
  11. package/lib/client/browserContext.js +20 -23
  12. package/lib/client/browserType.js +23 -54
  13. package/lib/client/cdpSession.js +6 -2
  14. package/lib/client/channelOwner.js +1 -1
  15. package/lib/client/clientHelper.js +2 -1
  16. package/lib/client/clock.js +0 -1
  17. package/lib/client/{webSocket.js → connect.js} +57 -7
  18. package/lib/client/connection.js +8 -0
  19. package/lib/client/consoleMessage.js +3 -0
  20. package/lib/client/debugger.js +57 -0
  21. package/lib/client/dialog.js +8 -1
  22. package/lib/client/disposable.js +76 -0
  23. package/lib/client/electron.js +1 -0
  24. package/lib/client/elementHandle.js +1 -1
  25. package/lib/client/events.js +3 -0
  26. package/lib/client/fetch.js +2 -4
  27. package/lib/client/frame.js +9 -13
  28. package/lib/client/harRouter.js +13 -1
  29. package/lib/client/jsHandle.js +4 -8
  30. package/lib/client/locator.js +13 -36
  31. package/lib/client/network.js +14 -11
  32. package/lib/client/page.js +44 -50
  33. package/lib/client/screencast.js +88 -0
  34. package/lib/client/selectors.js +3 -1
  35. package/lib/client/tracing.js +11 -5
  36. package/lib/client/video.js +13 -20
  37. package/lib/client/worker.js +6 -6
  38. package/lib/generated/bindingsControllerSource.js +1 -1
  39. package/lib/generated/clockSource.js +1 -1
  40. package/lib/generated/injectedScriptSource.js +1 -1
  41. package/lib/generated/pollingRecorderSource.js +1 -1
  42. package/lib/generated/storageScriptSource.js +1 -1
  43. package/lib/generated/utilityScriptSource.js +1 -1
  44. package/lib/mcpBundle.js +78 -0
  45. package/lib/mcpBundleImpl.js +91 -0
  46. package/lib/protocol/serializers.js +5 -0
  47. package/lib/protocol/validator.js +228 -58
  48. package/lib/protocol/validatorPrimitives.js +1 -1
  49. package/lib/remote/playwrightConnection.js +10 -8
  50. package/lib/remote/playwrightPipeServer.js +100 -0
  51. package/lib/remote/playwrightServer.js +14 -10
  52. package/lib/remote/playwrightWebSocketServer.js +73 -0
  53. package/lib/remote/serverTransport.js +96 -0
  54. package/lib/server/android/android.js +2 -2
  55. package/lib/server/artifact.js +1 -1
  56. package/lib/server/bidi/bidiBrowser.js +80 -14
  57. package/lib/server/bidi/bidiChromium.js +23 -14
  58. package/lib/server/bidi/bidiConnection.js +1 -0
  59. package/lib/server/bidi/bidiDeserializer.js +116 -0
  60. package/lib/server/bidi/bidiExecutionContext.js +75 -29
  61. package/lib/server/bidi/bidiFirefox.js +6 -8
  62. package/lib/server/bidi/bidiNetworkManager.js +40 -12
  63. package/lib/server/bidi/bidiPage.js +67 -40
  64. package/lib/server/bidi/third_party/bidiProtocolCore.js +1 -0
  65. package/lib/server/bidi/third_party/firefoxPrefs.js +3 -1
  66. package/lib/server/browser.js +84 -21
  67. package/lib/server/browserContext.js +137 -77
  68. package/lib/server/browserType.js +26 -16
  69. package/lib/server/chromium/chromium.js +28 -31
  70. package/lib/server/chromium/chromiumSwitches.js +16 -4
  71. package/lib/server/chromium/crBrowser.js +40 -27
  72. package/lib/server/chromium/crConnection.js +0 -5
  73. package/lib/server/chromium/crDevTools.js +1 -2
  74. package/lib/server/chromium/crNetworkManager.js +54 -229
  75. package/lib/server/chromium/crPage.js +74 -260
  76. package/lib/server/chromium/crServiceWorker.js +7 -14
  77. package/lib/server/clock.js +33 -41
  78. package/lib/server/codegen/javascript.js +6 -29
  79. package/lib/server/console.js +5 -1
  80. package/lib/server/debugController.js +12 -6
  81. package/lib/server/debugger.js +40 -47
  82. package/lib/server/deviceDescriptorsSource.json +137 -137
  83. package/lib/server/dispatchers/browserContextDispatcher.js +30 -30
  84. package/lib/server/dispatchers/browserDispatcher.js +11 -5
  85. package/lib/server/dispatchers/browserTypeDispatcher.js +7 -0
  86. package/lib/server/dispatchers/cdpSessionDispatcher.js +4 -1
  87. package/lib/server/dispatchers/debuggerDispatcher.js +84 -0
  88. package/lib/server/dispatchers/dispatcher.js +7 -14
  89. package/lib/server/dispatchers/disposableDispatcher.js +39 -0
  90. package/lib/server/dispatchers/electronDispatcher.js +2 -1
  91. package/lib/server/dispatchers/frameDispatcher.js +7 -7
  92. package/lib/server/dispatchers/localUtilsDispatcher.js +37 -1
  93. package/lib/server/dispatchers/networkDispatchers.js +6 -5
  94. package/lib/server/dispatchers/pageDispatcher.js +101 -34
  95. package/lib/server/dispatchers/webSocketRouteDispatcher.js +4 -5
  96. package/lib/server/disposable.js +41 -0
  97. package/lib/server/dom.js +56 -29
  98. package/lib/server/download.js +3 -2
  99. package/lib/server/electron/electron.js +17 -9
  100. package/lib/server/firefox/ffBrowser.js +9 -29
  101. package/lib/server/firefox/ffConnection.js +0 -5
  102. package/lib/server/firefox/ffInput.js +21 -5
  103. package/lib/server/firefox/ffNetworkManager.js +4 -4
  104. package/lib/server/firefox/ffPage.js +27 -33
  105. package/lib/server/firefox/firefox.js +6 -8
  106. package/lib/server/frameSelectors.js +14 -169
  107. package/lib/server/frames.js +263 -551
  108. package/lib/server/har/harRecorder.js +2 -2
  109. package/lib/server/har/harTracer.js +5 -4
  110. package/lib/server/input.js +49 -4
  111. package/lib/server/instrumentation.js +8 -0
  112. package/lib/server/javascript.js +6 -22
  113. package/lib/server/launchApp.js +0 -1
  114. package/lib/server/localUtils.js +6 -6
  115. package/lib/server/network.js +59 -20
  116. package/lib/server/overlay.js +138 -0
  117. package/lib/server/page.js +179 -157
  118. package/lib/server/progress.js +32 -6
  119. package/lib/server/recorder/recorderApp.js +84 -104
  120. package/lib/server/recorder.js +76 -40
  121. package/lib/server/registry/browserFetcher.js +6 -4
  122. package/lib/server/registry/index.js +222 -226
  123. package/lib/server/registry/nativeDeps.js +1 -0
  124. package/lib/server/registry/oopDownloadBrowserMain.js +3 -0
  125. package/lib/server/screencast.js +137 -0
  126. package/lib/server/trace/recorder/snapshotter.js +2 -2
  127. package/lib/server/trace/recorder/snapshotterInjected.js +21 -1
  128. package/lib/server/trace/recorder/tracing.js +98 -47
  129. package/lib/server/trace/viewer/traceViewer.js +24 -21
  130. package/lib/server/usKeyboardLayout.js +7 -0
  131. package/lib/server/utils/comparators.js +1 -1
  132. package/lib/server/utils/disposable.js +32 -0
  133. package/lib/server/utils/eventsHelper.js +3 -1
  134. package/lib/server/utils/expectUtils.js +87 -2
  135. package/lib/server/utils/fileUtils.js +16 -2
  136. package/lib/server/utils/happyEyeballs.js +15 -12
  137. package/lib/server/utils/httpServer.js +10 -23
  138. package/lib/server/utils/network.js +39 -29
  139. package/lib/server/utils/processLauncher.js +8 -6
  140. package/lib/server/utils/zipFile.js +2 -2
  141. package/lib/server/videoRecorder.js +194 -0
  142. package/lib/server/webkit/webkit.js +4 -6
  143. package/lib/server/webkit/wkBrowser.js +1 -10
  144. package/lib/server/webkit/wkConnection.js +1 -6
  145. package/lib/server/webkit/wkInterceptableRequest.js +29 -1
  146. package/lib/server/webkit/wkPage.js +88 -57
  147. package/lib/server/webkit/wkWorkers.js +2 -1
  148. package/lib/serverRegistry.js +156 -0
  149. package/lib/tools/backend/browserBackend.js +79 -0
  150. package/lib/tools/backend/common.js +63 -0
  151. package/lib/tools/backend/config.js +41 -0
  152. package/lib/tools/backend/console.js +66 -0
  153. package/lib/tools/backend/context.js +296 -0
  154. package/lib/tools/backend/cookies.js +152 -0
  155. package/lib/tools/backend/devtools.js +69 -0
  156. package/lib/tools/backend/dialogs.js +59 -0
  157. package/lib/tools/backend/evaluate.js +64 -0
  158. package/lib/tools/backend/files.js +60 -0
  159. package/lib/tools/backend/form.js +64 -0
  160. package/lib/tools/backend/keyboard.js +155 -0
  161. package/lib/tools/backend/logFile.js +95 -0
  162. package/lib/tools/backend/mouse.js +168 -0
  163. package/lib/tools/backend/navigate.js +106 -0
  164. package/lib/tools/backend/network.js +135 -0
  165. package/lib/tools/backend/pdf.js +48 -0
  166. package/lib/tools/backend/response.js +305 -0
  167. package/lib/tools/backend/route.js +140 -0
  168. package/lib/tools/backend/runCode.js +77 -0
  169. package/lib/tools/backend/screenshot.js +88 -0
  170. package/lib/tools/backend/sessionLog.js +74 -0
  171. package/lib/tools/backend/snapshot.js +208 -0
  172. package/lib/tools/backend/storage.js +68 -0
  173. package/lib/tools/backend/tab.js +445 -0
  174. package/lib/tools/backend/tabs.js +67 -0
  175. package/lib/tools/backend/tool.js +47 -0
  176. package/lib/tools/backend/tools.js +102 -0
  177. package/lib/tools/backend/tracing.js +78 -0
  178. package/lib/tools/backend/utils.js +83 -0
  179. package/lib/tools/backend/verify.js +151 -0
  180. package/lib/tools/backend/video.js +98 -0
  181. package/lib/tools/backend/wait.js +63 -0
  182. package/lib/tools/backend/webstorage.js +223 -0
  183. package/lib/tools/cli-client/cli.js +6 -0
  184. package/lib/tools/cli-client/help.json +399 -0
  185. package/lib/tools/cli-client/minimist.js +128 -0
  186. package/lib/tools/cli-client/program.js +350 -0
  187. package/lib/tools/cli-client/registry.js +176 -0
  188. package/lib/tools/cli-client/session.js +289 -0
  189. package/lib/tools/cli-client/skill/SKILL.md +328 -0
  190. package/lib/tools/cli-client/skill/references/element-attributes.md +23 -0
  191. package/lib/tools/cli-client/skill/references/playwright-tests.md +39 -0
  192. package/lib/tools/cli-client/skill/references/request-mocking.md +87 -0
  193. package/lib/tools/cli-client/skill/references/running-code.md +231 -0
  194. package/lib/tools/cli-client/skill/references/session-management.md +169 -0
  195. package/lib/tools/cli-client/skill/references/storage-state.md +275 -0
  196. package/lib/tools/cli-client/skill/references/test-generation.md +88 -0
  197. package/lib/tools/cli-client/skill/references/tracing.md +139 -0
  198. package/lib/tools/cli-client/skill/references/video-recording.md +143 -0
  199. package/lib/tools/cli-daemon/command.js +73 -0
  200. package/lib/tools/cli-daemon/commands.js +956 -0
  201. package/lib/tools/cli-daemon/daemon.js +157 -0
  202. package/lib/tools/cli-daemon/helpGenerator.js +177 -0
  203. package/lib/tools/cli-daemon/program.js +129 -0
  204. package/lib/tools/dashboard/appIcon.png +0 -0
  205. package/lib/tools/dashboard/dashboardApp.js +284 -0
  206. package/lib/tools/dashboard/dashboardController.js +296 -0
  207. package/lib/tools/exports.js +60 -0
  208. package/lib/tools/mcp/browserFactory.js +233 -0
  209. package/lib/tools/mcp/cdpRelay.js +352 -0
  210. package/lib/tools/mcp/cli-stub.js +7 -0
  211. package/lib/tools/mcp/config.d.js +16 -0
  212. package/lib/tools/mcp/config.js +446 -0
  213. package/lib/tools/mcp/configIni.js +189 -0
  214. package/lib/tools/mcp/extensionContextFactory.js +55 -0
  215. package/lib/tools/mcp/index.js +62 -0
  216. package/lib/tools/mcp/log.js +35 -0
  217. package/lib/tools/mcp/program.js +107 -0
  218. package/lib/tools/mcp/protocol.js +28 -0
  219. package/lib/tools/mcp/watchdog.js +44 -0
  220. package/lib/tools/trace/SKILL.md +171 -0
  221. package/lib/tools/trace/installSkill.js +48 -0
  222. package/lib/tools/trace/traceActions.js +142 -0
  223. package/lib/tools/trace/traceAttachments.js +69 -0
  224. package/lib/tools/trace/traceCli.js +87 -0
  225. package/lib/tools/trace/traceConsole.js +97 -0
  226. package/lib/tools/trace/traceErrors.js +55 -0
  227. package/lib/tools/trace/traceOpen.js +69 -0
  228. package/lib/tools/trace/traceParser.js +96 -0
  229. package/lib/tools/trace/traceRequests.js +182 -0
  230. package/lib/tools/trace/traceScreenshot.js +68 -0
  231. package/lib/tools/trace/traceSnapshot.js +149 -0
  232. package/lib/tools/trace/traceUtils.js +153 -0
  233. package/lib/tools/utils/connect.js +32 -0
  234. package/lib/tools/utils/mcp/http.js +152 -0
  235. package/lib/tools/utils/mcp/server.js +230 -0
  236. package/lib/tools/utils/mcp/tool.js +47 -0
  237. package/lib/tools/utils/socketConnection.js +108 -0
  238. package/lib/utils/isomorphic/ariaSnapshot.js +60 -2
  239. package/lib/utils/isomorphic/formatUtils.js +64 -0
  240. package/lib/utils/isomorphic/jsonSchema.js +89 -0
  241. package/lib/utils/isomorphic/lruCache.js +51 -0
  242. package/lib/utils/isomorphic/mimeType.js +7 -2
  243. package/lib/utils/isomorphic/protocolFormatter.js +2 -2
  244. package/lib/utils/isomorphic/protocolMetainfo.js +127 -98
  245. package/lib/utils/isomorphic/stringUtils.js +49 -0
  246. package/lib/utils/isomorphic/timeoutRunner.js +3 -3
  247. package/lib/utils/isomorphic/trace/entries.js +16 -0
  248. package/lib/utils/isomorphic/trace/snapshotRenderer.js +492 -0
  249. package/lib/utils/isomorphic/trace/snapshotServer.js +120 -0
  250. package/lib/utils/isomorphic/trace/snapshotStorage.js +89 -0
  251. package/lib/utils/isomorphic/trace/traceLoader.js +132 -0
  252. package/lib/utils/isomorphic/trace/traceModel.js +366 -0
  253. package/lib/utils/isomorphic/trace/traceModernizer.js +401 -0
  254. package/lib/utils/isomorphic/trace/versions/traceV3.js +16 -0
  255. package/lib/utils/isomorphic/trace/versions/traceV4.js +16 -0
  256. package/lib/utils/isomorphic/trace/versions/traceV5.js +16 -0
  257. package/lib/utils/isomorphic/trace/versions/traceV6.js +16 -0
  258. package/lib/utils/isomorphic/trace/versions/traceV7.js +16 -0
  259. package/lib/utils/isomorphic/trace/versions/traceV8.js +16 -0
  260. package/lib/utils/isomorphic/urlMatch.js +54 -1
  261. package/lib/utils/isomorphic/utilityScriptSerializers.js +11 -0
  262. package/lib/utils/isomorphic/yaml.js +84 -0
  263. package/lib/utils.js +8 -2
  264. package/lib/utilsBundle.js +5 -26
  265. package/lib/utilsBundleImpl/index.js +172 -173
  266. package/lib/vite/dashboard/assets/index-BAOybkp8.js +50 -0
  267. package/lib/vite/dashboard/assets/index-CZAYOG76.css +1 -0
  268. package/lib/vite/dashboard/index.html +28 -0
  269. package/lib/vite/htmlReport/index.html +2 -70
  270. package/lib/vite/htmlReport/report.css +1 -0
  271. package/lib/vite/htmlReport/report.js +72 -0
  272. package/lib/vite/recorder/assets/codeMirrorModule-C8KMvO9L.js +32 -0
  273. package/lib/vite/recorder/assets/{codeMirrorModule-C3UTv-Ge.css → codeMirrorModule-DYBRYzYX.css} +1 -1
  274. package/lib/vite/recorder/assets/{index-Ri0uHF7I.css → index-BSjZa4pk.css} +1 -1
  275. package/lib/vite/recorder/assets/index-CqAYX1I3.js +193 -0
  276. package/lib/vite/recorder/index.html +2 -2
  277. package/lib/vite/traceViewer/assets/codeMirrorModule-DS0FLvoc.js +32 -0
  278. package/lib/vite/traceViewer/assets/defaultSettingsView-GTWI-W_B.js +262 -0
  279. package/lib/vite/traceViewer/{codeMirrorModule.C3UTv-Ge.css → codeMirrorModule.DYBRYzYX.css} +1 -1
  280. package/lib/vite/traceViewer/defaultSettingsView.B4dS75f0.css +1 -0
  281. package/lib/vite/traceViewer/index.CzXZzn5A.css +1 -0
  282. package/lib/vite/traceViewer/index.Dtstcb7U.js +2 -0
  283. package/lib/vite/traceViewer/index.html +4 -4
  284. package/lib/vite/traceViewer/sw.bundle.js +5 -3
  285. package/lib/vite/traceViewer/uiMode.Vipi55dB.js +6 -0
  286. package/lib/vite/traceViewer/uiMode.html +3 -3
  287. package/lib/zipBundleImpl.js +2 -2
  288. package/lib/zodBundle.js +39 -0
  289. package/lib/zodBundleImpl.js +40 -0
  290. package/package.json +7 -1
  291. package/types/protocol.d.ts +1696 -221
  292. package/types/types.d.ts +879 -112
  293. package/lib/server/bidi/third_party/bidiDeserializer.js +0 -98
  294. package/lib/server/chromium/videoRecorder.js +0 -115
  295. package/lib/server/pageBinding.js +0 -87
  296. package/lib/server/trace/test/inMemorySnapshotter.js +0 -87
  297. package/lib/utils/isomorphic/oldUtilityScriptSerializers.js +0 -248
  298. package/lib/vite/recorder/assets/codeMirrorModule-CBbSe-ZI.js +0 -25
  299. package/lib/vite/recorder/assets/index-CpZVd2nA.js +0 -193
  300. package/lib/vite/traceViewer/assets/codeMirrorModule-DHz0wP2C.js +0 -25
  301. package/lib/vite/traceViewer/assets/defaultSettingsView-WsZP88O6.js +0 -266
  302. package/lib/vite/traceViewer/defaultSettingsView.ConWv5KN.css +0 -1
  303. package/lib/vite/traceViewer/index.C4Y3Aw8n.css +0 -1
  304. package/lib/vite/traceViewer/index.C8xAeo93.js +0 -2
  305. package/lib/vite/traceViewer/uiMode.BltraIJB.js +0 -5
  306. /package/lib/{server/utils → utils/isomorphic}/imageUtils.js +0 -0
  307. /package/lib/utils/isomorphic/{traceUtils.js → trace/traceUtils.js} +0 -0
@@ -20,12 +20,16 @@ var mimeType_exports = {};
20
20
  __export(mimeType_exports, {
21
21
  getMimeTypeForPath: () => getMimeTypeForPath,
22
22
  isJsonMimeType: () => isJsonMimeType,
23
- isTextualMimeType: () => isTextualMimeType
23
+ isTextualMimeType: () => isTextualMimeType,
24
+ isXmlMimeType: () => isXmlMimeType
24
25
  });
25
26
  module.exports = __toCommonJS(mimeType_exports);
26
27
  function isJsonMimeType(mimeType) {
27
28
  return !!mimeType.match(/^(application\/json|application\/.*?\+json|text\/(x-)?json)(;\s*charset=.*)?$/);
28
29
  }
30
+ function isXmlMimeType(mimeType) {
31
+ return !!mimeType.match(/^(application\/xml|application\/.*?\+xml|text\/xml)(;\s*charset=.*)?$/);
32
+ }
29
33
  function isTextualMimeType(mimeType) {
30
34
  return !!mimeType.match(/^(text\/.*?|application\/(json|(x-)?javascript|xml.*?|ecmascript|graphql|x-www-form-urlencoded)|image\/svg(\+xml)?|application\/.*?(\+json|\+xml))(;\s*charset=.*)?$/);
31
35
  }
@@ -455,5 +459,6 @@ const types = /* @__PURE__ */ new Map([
455
459
  0 && (module.exports = {
456
460
  getMimeTypeForPath,
457
461
  isJsonMimeType,
458
- isTextualMimeType
462
+ isTextualMimeType,
463
+ isXmlMimeType
459
464
  });
@@ -65,13 +65,13 @@ function deepParam(params, name) {
65
65
  return String(current);
66
66
  }
67
67
  function renderTitleForCall(metadata) {
68
- const titleFormat = metadata.title ?? import_protocolMetainfo.methodMetainfo.get(metadata.type + "." + metadata.method)?.title ?? metadata.method;
68
+ const titleFormat = metadata.title ?? (0, import_protocolMetainfo.getMetainfo)(metadata)?.title ?? metadata.method;
69
69
  return titleFormat.replace(/\{([^}]+)\}/g, (fullMatch, p1) => {
70
70
  return formatProtocolParam(metadata.params, p1) ?? fullMatch;
71
71
  });
72
72
  }
73
73
  function getActionGroup(metadata) {
74
- return import_protocolMetainfo.methodMetainfo.get(metadata.type + "." + metadata.method)?.group;
74
+ return (0, import_protocolMetainfo.getMetainfo)(metadata)?.group;
75
75
  }
76
76
  // Annotate the CommonJS export names for ESM import in node:
77
77
  0 && (module.exports = {
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var protocolMetainfo_exports = {};
20
20
  __export(protocolMetainfo_exports, {
21
+ getMetainfo: () => getMetainfo,
21
22
  methodMetainfo: () => methodMetainfo
22
23
  });
23
24
  module.exports = __toCommonJS(protocolMetainfo_exports);
@@ -25,7 +26,7 @@ const methodMetainfo = /* @__PURE__ */ new Map([
25
26
  ["APIRequestContext.fetch", { title: '{method} "{url}"' }],
26
27
  ["APIRequestContext.fetchResponseBody", { title: "Get response body", group: "getter" }],
27
28
  ["APIRequestContext.fetchLog", { internal: true }],
28
- ["APIRequestContext.storageState", { title: "Get storage state" }],
29
+ ["APIRequestContext.storageState", { title: "Get storage state", group: "configuration" }],
29
30
  ["APIRequestContext.disposeAPIResponse", { internal: true }],
30
31
  ["APIRequestContext.dispose", { internal: true }],
31
32
  ["LocalUtils.zip", { internal: true }],
@@ -55,7 +56,10 @@ const methodMetainfo = /* @__PURE__ */ new Map([
55
56
  ["BrowserType.launch", { title: "Launch browser" }],
56
57
  ["BrowserType.launchPersistentContext", { title: "Launch persistent context" }],
57
58
  ["BrowserType.connectOverCDP", { title: "Connect over CDP" }],
58
- ["Browser.close", { title: "Close browser", pausesBeforeAction: true }],
59
+ ["BrowserType.connectOverCDPTransport", { title: "Connect over CDP transport" }],
60
+ ["Browser.startServer", { title: "Start server" }],
61
+ ["Browser.stopServer", { title: "Stop server" }],
62
+ ["Browser.close", { title: "Close browser", pause: true }],
59
63
  ["Browser.killForTests", { internal: true }],
60
64
  ["Browser.defaultUserAgentForTest", { internal: true }],
61
65
  ["Browser.newContext", { title: "Create context" }],
@@ -69,13 +73,14 @@ const methodMetainfo = /* @__PURE__ */ new Map([
69
73
  ["Page.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
70
74
  ["Worker.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
71
75
  ["WebSocket.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
76
+ ["Debugger.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
72
77
  ["ElectronApplication.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
73
78
  ["AndroidDevice.waitForEventInfo", { title: 'Wait for event "{info.event}"', snapshot: true }],
74
79
  ["BrowserContext.addCookies", { title: "Add cookies", group: "configuration" }],
75
80
  ["BrowserContext.addInitScript", { title: "Add init script", group: "configuration" }],
76
81
  ["BrowserContext.clearCookies", { title: "Clear cookies", group: "configuration" }],
77
82
  ["BrowserContext.clearPermissions", { title: "Clear permissions", group: "configuration" }],
78
- ["BrowserContext.close", { title: "Close context", pausesBeforeAction: true }],
83
+ ["BrowserContext.close", { title: "Close context", pause: true }],
79
84
  ["BrowserContext.cookies", { title: "Get cookies", group: "getter" }],
80
85
  ["BrowserContext.exposeBinding", { title: "Expose binding", group: "configuration" }],
81
86
  ["BrowserContext.grantPermissions", { title: "Grant permissions", group: "configuration" }],
@@ -88,10 +93,12 @@ const methodMetainfo = /* @__PURE__ */ new Map([
88
93
  ["BrowserContext.setNetworkInterceptionPatterns", { title: "Route requests", group: "route" }],
89
94
  ["BrowserContext.setWebSocketInterceptionPatterns", { title: "Route WebSockets", group: "route" }],
90
95
  ["BrowserContext.setOffline", { title: "Set offline mode" }],
91
- ["BrowserContext.storageState", { title: "Get storage state" }],
96
+ ["BrowserContext.storageState", { title: "Get storage state", group: "configuration" }],
97
+ ["BrowserContext.setStorageState", { title: "Set storage state", group: "configuration" }],
92
98
  ["BrowserContext.pause", { title: "Pause" }],
93
99
  ["BrowserContext.enableRecorder", { internal: true }],
94
100
  ["BrowserContext.disableRecorder", { internal: true }],
101
+ ["BrowserContext.exposeConsoleApi", { internal: true }],
95
102
  ["BrowserContext.newCDPSession", { title: "Create CDP session", group: "configuration" }],
96
103
  ["BrowserContext.harStart", { internal: true }],
97
104
  ["BrowserContext.harExport", { internal: true }],
@@ -105,141 +112,154 @@ const methodMetainfo = /* @__PURE__ */ new Map([
105
112
  ["BrowserContext.clockSetFixedTime", { title: 'Set fixed time "{timeNumber|timeString}"' }],
106
113
  ["BrowserContext.clockSetSystemTime", { title: 'Set system time "{timeNumber|timeString}"' }],
107
114
  ["Page.addInitScript", { title: "Add init script", group: "configuration" }],
108
- ["Page.close", { title: "Close page", pausesBeforeAction: true }],
115
+ ["Page.close", { title: "Close page", pause: true }],
116
+ ["Page.clearConsoleMessages", { title: "Clear console messages" }],
109
117
  ["Page.consoleMessages", { title: "Get console messages", group: "getter" }],
110
- ["Page.emulateMedia", { title: "Emulate media", snapshot: true, pausesBeforeAction: true }],
118
+ ["Page.emulateMedia", { title: "Emulate media", snapshot: true, pause: true }],
111
119
  ["Page.exposeBinding", { title: "Expose binding", group: "configuration" }],
112
- ["Page.goBack", { title: "Go back", slowMo: true, snapshot: true, pausesBeforeAction: true }],
113
- ["Page.goForward", { title: "Go forward", slowMo: true, snapshot: true, pausesBeforeAction: true }],
120
+ ["Page.goBack", { title: "Go back", slowMo: true, snapshot: true, pause: true }],
121
+ ["Page.goForward", { title: "Go forward", slowMo: true, snapshot: true, pause: true }],
114
122
  ["Page.requestGC", { title: "Request garbage collection", group: "configuration" }],
115
123
  ["Page.registerLocatorHandler", { title: "Register locator handler" }],
116
124
  ["Page.resolveLocatorHandlerNoReply", { internal: true }],
117
125
  ["Page.unregisterLocatorHandler", { title: "Unregister locator handler" }],
118
- ["Page.reload", { title: "Reload", slowMo: true, snapshot: true, pausesBeforeAction: true }],
119
- ["Page.expectScreenshot", { title: "Expect screenshot", snapshot: true, pausesBeforeAction: true }],
120
- ["Page.screenshot", { title: "Screenshot", snapshot: true, pausesBeforeAction: true }],
126
+ ["Page.reload", { title: "Reload", slowMo: true, snapshot: true, pause: true }],
127
+ ["Page.expectScreenshot", { title: "Expect screenshot", snapshot: true, pause: true }],
128
+ ["Page.screenshot", { title: "Screenshot", snapshot: true, pause: true }],
121
129
  ["Page.setExtraHTTPHeaders", { title: "Set extra HTTP headers", group: "configuration" }],
122
130
  ["Page.setNetworkInterceptionPatterns", { title: "Route requests", group: "route" }],
123
131
  ["Page.setWebSocketInterceptionPatterns", { title: "Route WebSockets", group: "route" }],
124
- ["Page.setViewportSize", { title: "Set viewport size", snapshot: true, pausesBeforeAction: true }],
125
- ["Page.keyboardDown", { title: 'Key down "{key}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
126
- ["Page.keyboardUp", { title: 'Key up "{key}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
127
- ["Page.keyboardInsertText", { title: 'Insert "{text}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
128
- ["Page.keyboardType", { title: 'Type "{text}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
129
- ["Page.keyboardPress", { title: 'Press "{key}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
130
- ["Page.mouseMove", { title: "Mouse move", slowMo: true, snapshot: true, pausesBeforeAction: true }],
131
- ["Page.mouseDown", { title: "Mouse down", slowMo: true, snapshot: true, pausesBeforeAction: true }],
132
- ["Page.mouseUp", { title: "Mouse up", slowMo: true, snapshot: true, pausesBeforeAction: true }],
133
- ["Page.mouseClick", { title: "Click", slowMo: true, snapshot: true, pausesBeforeAction: true }],
134
- ["Page.mouseWheel", { title: "Mouse wheel", slowMo: true, snapshot: true, pausesBeforeAction: true }],
135
- ["Page.touchscreenTap", { title: "Tap", slowMo: true, snapshot: true, pausesBeforeAction: true }],
132
+ ["Page.setViewportSize", { title: "Set viewport size", snapshot: true, pause: true }],
133
+ ["Page.keyboardDown", { title: 'Key down "{key}"', slowMo: true, snapshot: true, pause: true, input: true }],
134
+ ["Page.keyboardUp", { title: 'Key up "{key}"', slowMo: true, snapshot: true, pause: true, input: true }],
135
+ ["Page.keyboardInsertText", { title: 'Insert "{text}"', slowMo: true, snapshot: true, pause: true, input: true }],
136
+ ["Page.keyboardType", { title: 'Type "{text}"', slowMo: true, snapshot: true, pause: true, input: true }],
137
+ ["Page.keyboardPress", { title: 'Press "{key}"', slowMo: true, snapshot: true, pause: true, input: true }],
138
+ ["Page.mouseMove", { title: "Mouse move", slowMo: true, snapshot: true, pause: true, input: true }],
139
+ ["Page.mouseDown", { title: "Mouse down", slowMo: true, snapshot: true, pause: true, input: true }],
140
+ ["Page.mouseUp", { title: "Mouse up", slowMo: true, snapshot: true, pause: true, input: true }],
141
+ ["Page.mouseClick", { title: "Click", slowMo: true, snapshot: true, pause: true, input: true }],
142
+ ["Page.mouseWheel", { title: "Mouse wheel", slowMo: true, snapshot: true, pause: true, input: true }],
143
+ ["Page.touchscreenTap", { title: "Tap", slowMo: true, snapshot: true, pause: true, input: true }],
144
+ ["Page.clearPageErrors", { title: "Clear page errors" }],
136
145
  ["Page.pageErrors", { title: "Get page errors", group: "getter" }],
137
146
  ["Page.pdf", { title: "PDF" }],
138
147
  ["Page.requests", { title: "Get network requests", group: "getter" }],
139
- ["Page.snapshotForAI", { internal: true }],
140
148
  ["Page.startJSCoverage", { title: "Start JS coverage", group: "configuration" }],
141
149
  ["Page.stopJSCoverage", { title: "Stop JS coverage", group: "configuration" }],
142
150
  ["Page.startCSSCoverage", { title: "Start CSS coverage", group: "configuration" }],
143
151
  ["Page.stopCSSCoverage", { title: "Stop CSS coverage", group: "configuration" }],
144
152
  ["Page.bringToFront", { title: "Bring to front" }],
153
+ ["Page.pickLocator", { title: "Pick locator", group: "configuration" }],
154
+ ["Page.cancelPickLocator", { title: "Cancel pick locator", group: "configuration" }],
155
+ ["Page.screencastShowOverlay", { title: "Show overlay", group: "configuration" }],
156
+ ["Page.screencastRemoveOverlay", { title: "Remove overlay", group: "configuration" }],
157
+ ["Page.screencastChapter", { title: "Show chapter overlay", group: "configuration" }],
158
+ ["Page.screencastSetOverlayVisible", { title: "Set overlay visibility", group: "configuration" }],
159
+ ["Page.screencastShowActions", { title: "Show actions", group: "configuration" }],
160
+ ["Page.screencastHideActions", { title: "Remove actions", group: "configuration" }],
161
+ ["Page.screencastStart", { title: "Start screencast", group: "configuration" }],
162
+ ["Page.screencastStop", { title: "Stop screencast", group: "configuration" }],
145
163
  ["Page.updateSubscription", { internal: true }],
146
- ["Frame.evalOnSelector", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
147
- ["Frame.evalOnSelectorAll", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
148
- ["Frame.addScriptTag", { title: "Add script tag", snapshot: true, pausesBeforeAction: true }],
149
- ["Frame.addStyleTag", { title: "Add style tag", snapshot: true, pausesBeforeAction: true }],
150
- ["Frame.ariaSnapshot", { title: "Aria snapshot", snapshot: true, pausesBeforeAction: true }],
151
- ["Frame.blur", { title: "Blur", slowMo: true, snapshot: true, pausesBeforeAction: true }],
152
- ["Frame.check", { title: "Check", slowMo: true, snapshot: true, pausesBeforeInput: true }],
153
- ["Frame.click", { title: "Click", slowMo: true, snapshot: true, pausesBeforeInput: true }],
154
- ["Frame.content", { title: "Get content", snapshot: true, pausesBeforeAction: true }],
155
- ["Frame.dragAndDrop", { title: "Drag and drop", slowMo: true, snapshot: true, pausesBeforeInput: true }],
156
- ["Frame.dblclick", { title: "Double click", slowMo: true, snapshot: true, pausesBeforeInput: true }],
157
- ["Frame.dispatchEvent", { title: 'Dispatch "{type}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
158
- ["Frame.evaluateExpression", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
159
- ["Frame.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
160
- ["Frame.fill", { title: 'Fill "{value}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
161
- ["Frame.focus", { title: "Focus", slowMo: true, snapshot: true, pausesBeforeAction: true }],
164
+ ["Page.setDockTile", { internal: true }],
165
+ ["Frame.evalOnSelector", { title: "Evaluate", snapshot: true, pause: true }],
166
+ ["Frame.evalOnSelectorAll", { title: "Evaluate", snapshot: true, pause: true }],
167
+ ["Frame.addScriptTag", { title: "Add script tag", snapshot: true, pause: true }],
168
+ ["Frame.addStyleTag", { title: "Add style tag", snapshot: true, pause: true }],
169
+ ["Frame.ariaSnapshot", { title: "Aria snapshot", group: "getter" }],
170
+ ["Frame.blur", { title: "Blur", slowMo: true, snapshot: true, pause: true }],
171
+ ["Frame.check", { title: "Check", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
172
+ ["Frame.click", { title: "Click", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
173
+ ["Frame.content", { title: "Get content", snapshot: true, pause: true }],
174
+ ["Frame.dragAndDrop", { title: "Drag and drop", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
175
+ ["Frame.dblclick", { title: "Double click", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
176
+ ["Frame.dispatchEvent", { title: 'Dispatch "{type}"', slowMo: true, snapshot: true, pause: true }],
177
+ ["Frame.evaluateExpression", { title: "Evaluate", snapshot: true, pause: true }],
178
+ ["Frame.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pause: true }],
179
+ ["Frame.fill", { title: 'Fill "{value}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
180
+ ["Frame.focus", { title: "Focus", slowMo: true, snapshot: true, pause: true }],
162
181
  ["Frame.frameElement", { title: "Get frame element", group: "getter" }],
163
182
  ["Frame.resolveSelector", { internal: true }],
164
183
  ["Frame.highlight", { title: "Highlight element", group: "configuration" }],
165
- ["Frame.getAttribute", { title: 'Get attribute "{name}"', snapshot: true, pausesBeforeAction: true, group: "getter" }],
166
- ["Frame.goto", { title: 'Navigate to "{url}"', slowMo: true, snapshot: true, pausesBeforeAction: true }],
167
- ["Frame.hover", { title: "Hover", slowMo: true, snapshot: true, pausesBeforeInput: true }],
168
- ["Frame.innerHTML", { title: "Get HTML", snapshot: true, pausesBeforeAction: true, group: "getter" }],
169
- ["Frame.innerText", { title: "Get inner text", snapshot: true, pausesBeforeAction: true, group: "getter" }],
170
- ["Frame.inputValue", { title: "Get input value", snapshot: true, pausesBeforeAction: true, group: "getter" }],
171
- ["Frame.isChecked", { title: "Is checked", snapshot: true, pausesBeforeAction: true, group: "getter" }],
172
- ["Frame.isDisabled", { title: "Is disabled", snapshot: true, pausesBeforeAction: true, group: "getter" }],
173
- ["Frame.isEnabled", { title: "Is enabled", snapshot: true, pausesBeforeAction: true, group: "getter" }],
174
- ["Frame.isHidden", { title: "Is hidden", snapshot: true, pausesBeforeAction: true, group: "getter" }],
175
- ["Frame.isVisible", { title: "Is visible", snapshot: true, pausesBeforeAction: true, group: "getter" }],
176
- ["Frame.isEditable", { title: "Is editable", snapshot: true, pausesBeforeAction: true, group: "getter" }],
177
- ["Frame.press", { title: 'Press "{key}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
184
+ ["Frame.getAttribute", { title: 'Get attribute "{name}"', snapshot: true, pause: true, group: "getter" }],
185
+ ["Frame.goto", { title: 'Navigate to "{url}"', slowMo: true, snapshot: true, pause: true }],
186
+ ["Frame.hover", { title: "Hover", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
187
+ ["Frame.innerHTML", { title: "Get HTML", snapshot: true, pause: true, group: "getter" }],
188
+ ["Frame.innerText", { title: "Get inner text", snapshot: true, pause: true, group: "getter" }],
189
+ ["Frame.inputValue", { title: "Get input value", snapshot: true, pause: true, group: "getter" }],
190
+ ["Frame.isChecked", { title: "Is checked", snapshot: true, pause: true, group: "getter" }],
191
+ ["Frame.isDisabled", { title: "Is disabled", snapshot: true, pause: true, group: "getter" }],
192
+ ["Frame.isEnabled", { title: "Is enabled", snapshot: true, pause: true, group: "getter" }],
193
+ ["Frame.isHidden", { title: "Is hidden", snapshot: true, pause: true, group: "getter" }],
194
+ ["Frame.isVisible", { title: "Is visible", snapshot: true, pause: true, group: "getter" }],
195
+ ["Frame.isEditable", { title: "Is editable", snapshot: true, pause: true, group: "getter" }],
196
+ ["Frame.press", { title: 'Press "{key}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
178
197
  ["Frame.querySelector", { title: "Query selector", snapshot: true }],
179
198
  ["Frame.querySelectorAll", { title: "Query selector all", snapshot: true }],
180
- ["Frame.queryCount", { title: "Query count", snapshot: true, pausesBeforeAction: true }],
181
- ["Frame.selectOption", { title: "Select option", slowMo: true, snapshot: true, pausesBeforeInput: true }],
182
- ["Frame.setContent", { title: "Set content", snapshot: true, pausesBeforeAction: true }],
183
- ["Frame.setInputFiles", { title: "Set input files", slowMo: true, snapshot: true, pausesBeforeInput: true }],
184
- ["Frame.tap", { title: "Tap", slowMo: true, snapshot: true, pausesBeforeInput: true }],
185
- ["Frame.textContent", { title: "Get text content", snapshot: true, pausesBeforeAction: true, group: "getter" }],
199
+ ["Frame.queryCount", { title: "Query count", snapshot: true, pause: true }],
200
+ ["Frame.selectOption", { title: "Select option", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
201
+ ["Frame.setContent", { title: "Set content", snapshot: true, pause: true }],
202
+ ["Frame.setInputFiles", { title: "Set input files", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
203
+ ["Frame.tap", { title: "Tap", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
204
+ ["Frame.textContent", { title: "Get text content", snapshot: true, pause: true, group: "getter" }],
186
205
  ["Frame.title", { title: "Get page title", group: "getter" }],
187
- ["Frame.type", { title: 'Type "{text}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
188
- ["Frame.uncheck", { title: "Uncheck", slowMo: true, snapshot: true, pausesBeforeInput: true }],
206
+ ["Frame.type", { title: 'Type "{text}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
207
+ ["Frame.uncheck", { title: "Uncheck", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
189
208
  ["Frame.waitForTimeout", { title: "Wait for timeout", snapshot: true }],
190
- ["Frame.waitForFunction", { title: "Wait for function", snapshot: true, pausesBeforeAction: true }],
209
+ ["Frame.waitForFunction", { title: "Wait for function", snapshot: true, pause: true }],
191
210
  ["Frame.waitForSelector", { title: "Wait for selector", snapshot: true }],
192
- ["Frame.expect", { title: 'Expect "{expression}"', snapshot: true, pausesBeforeAction: true }],
211
+ ["Frame.expect", { title: 'Expect "{expression}"', snapshot: true, pause: true }],
193
212
  ["Worker.evaluateExpression", { title: "Evaluate" }],
194
213
  ["Worker.evaluateExpressionHandle", { title: "Evaluate" }],
195
214
  ["Worker.updateSubscription", { internal: true }],
215
+ ["Disposable.dispose", { internal: true }],
196
216
  ["JSHandle.dispose", { internal: true }],
197
217
  ["ElementHandle.dispose", { internal: true }],
198
- ["JSHandle.evaluateExpression", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
199
- ["ElementHandle.evaluateExpression", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
200
- ["JSHandle.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
201
- ["ElementHandle.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
218
+ ["JSHandle.evaluateExpression", { title: "Evaluate", snapshot: true, pause: true }],
219
+ ["ElementHandle.evaluateExpression", { title: "Evaluate", snapshot: true, pause: true }],
220
+ ["JSHandle.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pause: true }],
221
+ ["ElementHandle.evaluateExpressionHandle", { title: "Evaluate", snapshot: true, pause: true }],
202
222
  ["JSHandle.getPropertyList", { title: "Get property list", group: "getter" }],
203
223
  ["ElementHandle.getPropertyList", { title: "Get property list", group: "getter" }],
204
224
  ["JSHandle.getProperty", { title: "Get JS property", group: "getter" }],
205
225
  ["ElementHandle.getProperty", { title: "Get JS property", group: "getter" }],
206
226
  ["JSHandle.jsonValue", { title: "Get JSON value", group: "getter" }],
207
227
  ["ElementHandle.jsonValue", { title: "Get JSON value", group: "getter" }],
208
- ["ElementHandle.evalOnSelector", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
209
- ["ElementHandle.evalOnSelectorAll", { title: "Evaluate", snapshot: true, pausesBeforeAction: true }],
210
- ["ElementHandle.boundingBox", { title: "Get bounding box", snapshot: true, pausesBeforeAction: true }],
211
- ["ElementHandle.check", { title: "Check", slowMo: true, snapshot: true, pausesBeforeInput: true }],
212
- ["ElementHandle.click", { title: "Click", slowMo: true, snapshot: true, pausesBeforeInput: true }],
228
+ ["ElementHandle.evalOnSelector", { title: "Evaluate", snapshot: true, pause: true }],
229
+ ["ElementHandle.evalOnSelectorAll", { title: "Evaluate", snapshot: true, pause: true }],
230
+ ["ElementHandle.boundingBox", { title: "Get bounding box", snapshot: true, pause: true }],
231
+ ["ElementHandle.check", { title: "Check", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
232
+ ["ElementHandle.click", { title: "Click", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
213
233
  ["ElementHandle.contentFrame", { title: "Get content frame", group: "getter" }],
214
- ["ElementHandle.dblclick", { title: "Double click", slowMo: true, snapshot: true, pausesBeforeInput: true }],
215
- ["ElementHandle.dispatchEvent", { title: "Dispatch event", slowMo: true, snapshot: true, pausesBeforeAction: true }],
216
- ["ElementHandle.fill", { title: 'Fill "{value}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
217
- ["ElementHandle.focus", { title: "Focus", slowMo: true, snapshot: true, pausesBeforeAction: true }],
218
- ["ElementHandle.getAttribute", { title: "Get attribute", snapshot: true, pausesBeforeAction: true, group: "getter" }],
219
- ["ElementHandle.hover", { title: "Hover", slowMo: true, snapshot: true, pausesBeforeInput: true }],
220
- ["ElementHandle.innerHTML", { title: "Get HTML", snapshot: true, pausesBeforeAction: true, group: "getter" }],
221
- ["ElementHandle.innerText", { title: "Get inner text", snapshot: true, pausesBeforeAction: true, group: "getter" }],
222
- ["ElementHandle.inputValue", { title: "Get input value", snapshot: true, pausesBeforeAction: true, group: "getter" }],
223
- ["ElementHandle.isChecked", { title: "Is checked", snapshot: true, pausesBeforeAction: true, group: "getter" }],
224
- ["ElementHandle.isDisabled", { title: "Is disabled", snapshot: true, pausesBeforeAction: true, group: "getter" }],
225
- ["ElementHandle.isEditable", { title: "Is editable", snapshot: true, pausesBeforeAction: true, group: "getter" }],
226
- ["ElementHandle.isEnabled", { title: "Is enabled", snapshot: true, pausesBeforeAction: true, group: "getter" }],
227
- ["ElementHandle.isHidden", { title: "Is hidden", snapshot: true, pausesBeforeAction: true, group: "getter" }],
228
- ["ElementHandle.isVisible", { title: "Is visible", snapshot: true, pausesBeforeAction: true, group: "getter" }],
234
+ ["ElementHandle.dblclick", { title: "Double click", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
235
+ ["ElementHandle.dispatchEvent", { title: "Dispatch event", slowMo: true, snapshot: true, pause: true }],
236
+ ["ElementHandle.fill", { title: 'Fill "{value}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
237
+ ["ElementHandle.focus", { title: "Focus", slowMo: true, snapshot: true, pause: true }],
238
+ ["ElementHandle.getAttribute", { title: "Get attribute", snapshot: true, pause: true, group: "getter" }],
239
+ ["ElementHandle.hover", { title: "Hover", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
240
+ ["ElementHandle.innerHTML", { title: "Get HTML", snapshot: true, pause: true, group: "getter" }],
241
+ ["ElementHandle.innerText", { title: "Get inner text", snapshot: true, pause: true, group: "getter" }],
242
+ ["ElementHandle.inputValue", { title: "Get input value", snapshot: true, pause: true, group: "getter" }],
243
+ ["ElementHandle.isChecked", { title: "Is checked", snapshot: true, pause: true, group: "getter" }],
244
+ ["ElementHandle.isDisabled", { title: "Is disabled", snapshot: true, pause: true, group: "getter" }],
245
+ ["ElementHandle.isEditable", { title: "Is editable", snapshot: true, pause: true, group: "getter" }],
246
+ ["ElementHandle.isEnabled", { title: "Is enabled", snapshot: true, pause: true, group: "getter" }],
247
+ ["ElementHandle.isHidden", { title: "Is hidden", snapshot: true, pause: true, group: "getter" }],
248
+ ["ElementHandle.isVisible", { title: "Is visible", snapshot: true, pause: true, group: "getter" }],
229
249
  ["ElementHandle.ownerFrame", { title: "Get owner frame", group: "getter" }],
230
- ["ElementHandle.press", { title: 'Press "{key}"', slowMo: true, snapshot: true, pausesBeforeInput: true }],
250
+ ["ElementHandle.press", { title: 'Press "{key}"', slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
231
251
  ["ElementHandle.querySelector", { title: "Query selector", snapshot: true }],
232
252
  ["ElementHandle.querySelectorAll", { title: "Query selector all", snapshot: true }],
233
- ["ElementHandle.screenshot", { title: "Screenshot", snapshot: true, pausesBeforeAction: true }],
234
- ["ElementHandle.scrollIntoViewIfNeeded", { title: "Scroll into view", slowMo: true, snapshot: true, pausesBeforeAction: true }],
235
- ["ElementHandle.selectOption", { title: "Select option", slowMo: true, snapshot: true, pausesBeforeInput: true }],
236
- ["ElementHandle.selectText", { title: "Select text", slowMo: true, snapshot: true, pausesBeforeAction: true }],
237
- ["ElementHandle.setInputFiles", { title: "Set input files", slowMo: true, snapshot: true, pausesBeforeInput: true }],
238
- ["ElementHandle.tap", { title: "Tap", slowMo: true, snapshot: true, pausesBeforeInput: true }],
239
- ["ElementHandle.textContent", { title: "Get text content", snapshot: true, pausesBeforeAction: true, group: "getter" }],
240
- ["ElementHandle.type", { title: "Type", slowMo: true, snapshot: true, pausesBeforeInput: true }],
241
- ["ElementHandle.uncheck", { title: "Uncheck", slowMo: true, snapshot: true, pausesBeforeInput: true }],
242
- ["ElementHandle.waitForElementState", { title: "Wait for state", snapshot: true, pausesBeforeAction: true }],
253
+ ["ElementHandle.screenshot", { title: "Screenshot", snapshot: true, pause: true }],
254
+ ["ElementHandle.scrollIntoViewIfNeeded", { title: "Scroll into view", slowMo: true, snapshot: true, pause: true }],
255
+ ["ElementHandle.selectOption", { title: "Select option", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
256
+ ["ElementHandle.selectText", { title: "Select text", slowMo: true, snapshot: true, pause: true }],
257
+ ["ElementHandle.setInputFiles", { title: "Set input files", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
258
+ ["ElementHandle.tap", { title: "Tap", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
259
+ ["ElementHandle.textContent", { title: "Get text content", snapshot: true, pause: true, group: "getter" }],
260
+ ["ElementHandle.type", { title: "Type", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
261
+ ["ElementHandle.uncheck", { title: "Uncheck", slowMo: true, snapshot: true, pause: true, input: true, isAutoWaiting: true }],
262
+ ["ElementHandle.waitForElementState", { title: "Wait for state", snapshot: true, pause: true }],
243
263
  ["ElementHandle.waitForSelector", { title: "Wait for selector", snapshot: true }],
244
264
  ["Request.response", { internal: true }],
245
265
  ["Request.rawRequestHeaders", { internal: true }],
@@ -257,9 +277,14 @@ const methodMetainfo = /* @__PURE__ */ new Map([
257
277
  ["Response.securityDetails", { internal: true }],
258
278
  ["Response.serverAddr", { internal: true }],
259
279
  ["Response.rawResponseHeaders", { internal: true }],
280
+ ["Response.httpVersion", { internal: true }],
260
281
  ["Response.sizes", { internal: true }],
261
282
  ["BindingCall.reject", { internal: true }],
262
283
  ["BindingCall.resolve", { internal: true }],
284
+ ["Debugger.requestPause", { title: "Pause on next call", group: "configuration" }],
285
+ ["Debugger.resume", { title: "Resume", group: "configuration" }],
286
+ ["Debugger.next", { title: "Step to next call", group: "configuration" }],
287
+ ["Debugger.runTo", { title: "Run to location", group: "configuration" }],
263
288
  ["Dialog.accept", { title: "Accept dialog" }],
264
289
  ["Dialog.dismiss", { title: "Dismiss dialog" }],
265
290
  ["Tracing.tracingStart", { title: "Start tracing", group: "configuration" }],
@@ -316,7 +341,11 @@ const methodMetainfo = /* @__PURE__ */ new Map([
316
341
  ["JsonPipe.send", { internal: true }],
317
342
  ["JsonPipe.close", { internal: true }]
318
343
  ]);
344
+ function getMetainfo(metadata) {
345
+ return methodMetainfo.get(metadata.type + "." + metadata.method);
346
+ }
319
347
  // Annotate the CommonJS export names for ESM import in node:
320
348
  0 && (module.exports = {
349
+ getMetainfo,
321
350
  methodMetainfo
322
351
  });
@@ -18,6 +18,7 @@ var __copyProps = (to, from, except, desc) => {
18
18
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
19
  var stringUtils_exports = {};
20
20
  __export(stringUtils_exports, {
21
+ ansiRegex: () => ansiRegex,
21
22
  cacheNormalizedWhitespaces: () => cacheNormalizedWhitespaces,
22
23
  escapeForAttributeSelector: () => escapeForAttributeSelector,
23
24
  escapeForTextSelector: () => escapeForTextSelector,
@@ -26,11 +27,15 @@ __export(stringUtils_exports, {
26
27
  escapeRegExp: () => escapeRegExp,
27
28
  escapeTemplateString: () => escapeTemplateString,
28
29
  escapeWithQuotes: () => escapeWithQuotes,
30
+ formatObject: () => formatObject,
31
+ formatObjectOrVoid: () => formatObjectOrVoid,
29
32
  isString: () => isString,
30
33
  longestCommonSubstring: () => longestCommonSubstring,
31
34
  normalizeEscapedRegexQuotes: () => normalizeEscapedRegexQuotes,
32
35
  normalizeWhiteSpace: () => normalizeWhiteSpace,
36
+ parseRegex: () => parseRegex,
33
37
  quoteCSSAttributeValue: () => quoteCSSAttributeValue,
38
+ stripAnsiEscapes: () => stripAnsiEscapes,
34
39
  toSnakeCase: () => toSnakeCase,
35
40
  toTitleCase: () => toTitleCase,
36
41
  trimString: () => trimString,
@@ -60,6 +65,31 @@ function toTitleCase(name) {
60
65
  function toSnakeCase(name) {
61
66
  return name.replace(/([a-z0-9])([A-Z])/g, "$1_$2").replace(/([A-Z])([A-Z][a-z])/g, "$1_$2").toLowerCase();
62
67
  }
68
+ function formatObject(value, indent = " ", mode = "multiline") {
69
+ if (typeof value === "string")
70
+ return escapeWithQuotes(value, "'");
71
+ if (Array.isArray(value))
72
+ return `[${value.map((o) => formatObject(o)).join(", ")}]`;
73
+ if (typeof value === "object") {
74
+ const keys = Object.keys(value).filter((key) => key !== "timeout" && value[key] !== void 0).sort();
75
+ if (!keys.length)
76
+ return "{}";
77
+ const tokens = [];
78
+ for (const key of keys)
79
+ tokens.push(`${key}: ${formatObject(value[key])}`);
80
+ if (mode === "multiline")
81
+ return `{
82
+ ${tokens.map((t) => indent + t).join(`,
83
+ `)}
84
+ }`;
85
+ return `{ ${tokens.join(", ")} }`;
86
+ }
87
+ return String(value);
88
+ }
89
+ function formatObjectOrVoid(value, indent = " ") {
90
+ const result = formatObject(value, indent);
91
+ return result === "{}" ? "" : result;
92
+ }
63
93
  function quoteCSSAttributeValue(text) {
64
94
  return `"${text.replace(/["\\]/g, (char) => "\\" + char)}"`;
65
95
  }
@@ -133,8 +163,23 @@ function longestCommonSubstring(s1, s2) {
133
163
  }
134
164
  return s1.slice(endingIndex - maxLen, endingIndex);
135
165
  }
166
+ function parseRegex(regex) {
167
+ if (regex[0] !== "/")
168
+ throw new Error(`Invalid regex, must start with '/': ${regex}`);
169
+ const lastSlash = regex.lastIndexOf("/");
170
+ if (lastSlash <= 0)
171
+ throw new Error(`Invalid regex, must end with '/' followed by optional flags: ${regex}`);
172
+ const source = regex.slice(1, lastSlash);
173
+ const flags = regex.slice(lastSlash + 1);
174
+ return new RegExp(source, flags);
175
+ }
176
+ const ansiRegex = new RegExp("([\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)|(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~])))", "g");
177
+ function stripAnsiEscapes(str) {
178
+ return str.replace(ansiRegex, "");
179
+ }
136
180
  // Annotate the CommonJS export names for ESM import in node:
137
181
  0 && (module.exports = {
182
+ ansiRegex,
138
183
  cacheNormalizedWhitespaces,
139
184
  escapeForAttributeSelector,
140
185
  escapeForTextSelector,
@@ -143,11 +188,15 @@ function longestCommonSubstring(s1, s2) {
143
188
  escapeRegExp,
144
189
  escapeTemplateString,
145
190
  escapeWithQuotes,
191
+ formatObject,
192
+ formatObjectOrVoid,
146
193
  isString,
147
194
  longestCommonSubstring,
148
195
  normalizeEscapedRegexQuotes,
149
196
  normalizeWhiteSpace,
197
+ parseRegex,
150
198
  quoteCSSAttributeValue,
199
+ stripAnsiEscapes,
151
200
  toSnakeCase,
152
201
  toTitleCase,
153
202
  trimString,
@@ -30,9 +30,9 @@ async function raceAgainstDeadline(cb, deadline) {
30
30
  return { result, timedOut: false };
31
31
  }),
32
32
  new Promise((resolve) => {
33
- const kMaxDeadline = 2147483647;
34
- const timeout = (deadline || kMaxDeadline) - (0, import_time.monotonicTime)();
35
- timer = setTimeout(() => resolve({ timedOut: true }), timeout);
33
+ if (!deadline)
34
+ return;
35
+ timer = setTimeout(() => resolve({ timedOut: true }), deadline - (0, import_time.monotonicTime)());
36
36
  })
37
37
  ]).finally(() => {
38
38
  clearTimeout(timer);
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __copyProps = (to, from, except, desc) => {
7
+ if (from && typeof from === "object" || typeof from === "function") {
8
+ for (let key of __getOwnPropNames(from))
9
+ if (!__hasOwnProp.call(to, key) && key !== except)
10
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
11
+ }
12
+ return to;
13
+ };
14
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
15
+ var entries_exports = {};
16
+ module.exports = __toCommonJS(entries_exports);