patchright-bun-core 1.58.2 → 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 (272) hide show
  1. package/ThirdPartyNotices.txt +126 -650
  2. package/browsers.json +16 -14
  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 +47 -411
  8. package/lib/client/android.js +4 -4
  9. package/lib/client/api.js +3 -3
  10. package/lib/client/browser.js +8 -0
  11. package/lib/client/browserContext.js +18 -37
  12. package/lib/client/browserType.js +19 -51
  13. package/lib/client/cdpSession.js +6 -2
  14. package/lib/client/channelOwner.js +1 -1
  15. package/lib/client/{webSocket.js → connect.js} +57 -7
  16. package/lib/client/connection.js +8 -4
  17. package/lib/client/consoleMessage.js +3 -0
  18. package/lib/client/debugger.js +57 -0
  19. package/lib/client/dialog.js +8 -1
  20. package/lib/client/disposable.js +76 -0
  21. package/lib/client/electron.js +1 -0
  22. package/lib/client/elementHandle.js +1 -4
  23. package/lib/client/events.js +3 -3
  24. package/lib/client/fetch.js +0 -1
  25. package/lib/client/frame.js +0 -5
  26. package/lib/client/harRouter.js +13 -1
  27. package/lib/client/jsHandle.js +0 -4
  28. package/lib/client/locator.js +5 -7
  29. package/lib/client/network.js +14 -11
  30. package/lib/client/page.js +34 -48
  31. package/lib/client/platform.js +0 -3
  32. package/lib/client/screencast.js +88 -0
  33. package/lib/client/selectors.js +3 -1
  34. package/lib/client/tracing.js +11 -4
  35. package/lib/client/video.js +13 -20
  36. package/lib/generated/bindingsControllerSource.js +1 -1
  37. package/lib/generated/clockSource.js +1 -1
  38. package/lib/generated/injectedScriptSource.js +1 -1
  39. package/lib/generated/pollingRecorderSource.js +1 -1
  40. package/lib/generated/storageScriptSource.js +1 -1
  41. package/lib/generated/utilityScriptSource.js +1 -1
  42. package/lib/mcpBundle.js +0 -6
  43. package/lib/mcpBundleImpl.js +91 -0
  44. package/lib/protocol/validator.js +216 -118
  45. package/lib/protocol/validatorPrimitives.js +1 -1
  46. package/lib/remote/playwrightConnection.js +10 -8
  47. package/lib/remote/playwrightPipeServer.js +100 -0
  48. package/lib/remote/playwrightServer.js +13 -8
  49. package/lib/remote/playwrightWebSocketServer.js +73 -0
  50. package/lib/remote/serverTransport.js +96 -0
  51. package/lib/server/android/android.js +2 -2
  52. package/lib/server/bidi/bidiBrowser.js +30 -8
  53. package/lib/server/bidi/bidiChromium.js +18 -5
  54. package/lib/server/bidi/bidiNetworkManager.js +39 -11
  55. package/lib/server/bidi/bidiPage.js +31 -15
  56. package/lib/server/bidi/third_party/firefoxPrefs.js +3 -1
  57. package/lib/server/browser.js +84 -21
  58. package/lib/server/browserContext.js +97 -58
  59. package/lib/server/browserType.js +14 -12
  60. package/lib/server/chromium/chromium.js +15 -13
  61. package/lib/server/chromium/crBrowser.js +18 -10
  62. package/lib/server/chromium/crNetworkManager.js +4 -4
  63. package/lib/server/chromium/crPage.js +26 -64
  64. package/lib/server/chromium/crServiceWorker.js +5 -4
  65. package/lib/server/clock.js +33 -33
  66. package/lib/server/console.js +5 -1
  67. package/lib/server/debugController.js +12 -6
  68. package/lib/server/debugger.js +40 -47
  69. package/lib/server/deviceDescriptorsSource.json +137 -137
  70. package/lib/server/dispatchers/browserContextDispatcher.js +27 -30
  71. package/lib/server/dispatchers/browserDispatcher.js +11 -5
  72. package/lib/server/dispatchers/browserTypeDispatcher.js +7 -0
  73. package/lib/server/dispatchers/cdpSessionDispatcher.js +4 -1
  74. package/lib/server/dispatchers/debuggerDispatcher.js +84 -0
  75. package/lib/server/dispatchers/dispatcher.js +1 -1
  76. package/lib/server/dispatchers/disposableDispatcher.js +39 -0
  77. package/lib/server/dispatchers/electronDispatcher.js +2 -1
  78. package/lib/server/dispatchers/frameDispatcher.js +3 -3
  79. package/lib/server/dispatchers/localUtilsDispatcher.js +37 -1
  80. package/lib/server/dispatchers/networkDispatchers.js +6 -5
  81. package/lib/server/dispatchers/pageDispatcher.js +101 -38
  82. package/lib/server/dispatchers/webSocketRouteDispatcher.js +4 -5
  83. package/lib/server/disposable.js +41 -0
  84. package/lib/server/dom.js +44 -26
  85. package/lib/server/download.js +3 -2
  86. package/lib/server/electron/electron.js +12 -7
  87. package/lib/server/firefox/ffBrowser.js +9 -19
  88. package/lib/server/firefox/ffInput.js +21 -5
  89. package/lib/server/firefox/ffNetworkManager.js +2 -2
  90. package/lib/server/firefox/ffPage.js +24 -27
  91. package/lib/server/frames.js +40 -11
  92. package/lib/server/har/harRecorder.js +2 -2
  93. package/lib/server/har/harTracer.js +5 -4
  94. package/lib/server/input.js +49 -4
  95. package/lib/server/instrumentation.js +5 -0
  96. package/lib/server/launchApp.js +0 -1
  97. package/lib/server/localUtils.js +6 -6
  98. package/lib/server/network.js +9 -8
  99. package/lib/server/overlay.js +138 -0
  100. package/lib/server/page.js +111 -51
  101. package/lib/server/progress.js +6 -0
  102. package/lib/server/recorder/recorderApp.js +9 -8
  103. package/lib/server/recorder.js +76 -40
  104. package/lib/server/registry/index.js +54 -81
  105. package/lib/server/registry/nativeDeps.js +1 -0
  106. package/lib/server/screencast.js +90 -143
  107. package/lib/server/trace/recorder/snapshotter.js +2 -2
  108. package/lib/server/trace/recorder/tracing.js +87 -36
  109. package/lib/server/trace/viewer/traceViewer.js +3 -4
  110. package/lib/server/usKeyboardLayout.js +7 -0
  111. package/lib/server/utils/comparators.js +1 -1
  112. package/lib/server/utils/disposable.js +32 -0
  113. package/lib/server/utils/eventsHelper.js +3 -1
  114. package/lib/server/utils/fileUtils.js +16 -2
  115. package/lib/server/utils/happyEyeballs.js +15 -12
  116. package/lib/server/utils/hostPlatform.js +0 -15
  117. package/lib/server/utils/httpServer.js +5 -3
  118. package/lib/server/utils/network.js +2 -1
  119. package/lib/server/utils/nodePlatform.js +0 -6
  120. package/lib/server/utils/processLauncher.js +8 -6
  121. package/lib/server/utils/zipFile.js +2 -2
  122. package/lib/server/videoRecorder.js +82 -12
  123. package/lib/server/webkit/wkBrowser.js +1 -6
  124. package/lib/server/webkit/wkPage.js +27 -25
  125. package/lib/server/webkit/wkWorkers.js +2 -1
  126. package/lib/serverRegistry.js +156 -0
  127. package/lib/tools/backend/browserBackend.js +79 -0
  128. package/lib/tools/backend/common.js +63 -0
  129. package/lib/tools/backend/config.js +41 -0
  130. package/lib/tools/backend/console.js +66 -0
  131. package/lib/tools/backend/context.js +296 -0
  132. package/lib/tools/backend/cookies.js +152 -0
  133. package/lib/tools/backend/devtools.js +69 -0
  134. package/lib/tools/backend/dialogs.js +59 -0
  135. package/lib/tools/backend/evaluate.js +64 -0
  136. package/lib/tools/backend/files.js +60 -0
  137. package/lib/tools/backend/form.js +64 -0
  138. package/lib/tools/backend/keyboard.js +155 -0
  139. package/lib/tools/backend/logFile.js +95 -0
  140. package/lib/tools/backend/mouse.js +168 -0
  141. package/lib/tools/backend/navigate.js +106 -0
  142. package/lib/tools/backend/network.js +135 -0
  143. package/lib/tools/backend/pdf.js +48 -0
  144. package/lib/tools/backend/response.js +305 -0
  145. package/lib/tools/backend/route.js +140 -0
  146. package/lib/tools/backend/runCode.js +77 -0
  147. package/lib/tools/backend/screenshot.js +88 -0
  148. package/lib/tools/backend/sessionLog.js +74 -0
  149. package/lib/tools/backend/snapshot.js +208 -0
  150. package/lib/tools/backend/storage.js +68 -0
  151. package/lib/tools/backend/tab.js +445 -0
  152. package/lib/tools/backend/tabs.js +67 -0
  153. package/lib/tools/backend/tool.js +47 -0
  154. package/lib/tools/backend/tools.js +102 -0
  155. package/lib/tools/backend/tracing.js +78 -0
  156. package/lib/tools/backend/utils.js +83 -0
  157. package/lib/tools/backend/verify.js +151 -0
  158. package/lib/tools/backend/video.js +98 -0
  159. package/lib/tools/backend/wait.js +63 -0
  160. package/lib/tools/backend/webstorage.js +223 -0
  161. package/lib/tools/cli-client/cli.js +6 -0
  162. package/lib/tools/cli-client/help.json +399 -0
  163. package/lib/tools/cli-client/minimist.js +128 -0
  164. package/lib/tools/cli-client/program.js +350 -0
  165. package/lib/tools/cli-client/registry.js +176 -0
  166. package/lib/tools/cli-client/session.js +289 -0
  167. package/lib/tools/cli-client/skill/SKILL.md +328 -0
  168. package/lib/tools/cli-client/skill/references/element-attributes.md +23 -0
  169. package/lib/tools/cli-client/skill/references/playwright-tests.md +39 -0
  170. package/lib/tools/cli-client/skill/references/request-mocking.md +87 -0
  171. package/lib/tools/cli-client/skill/references/running-code.md +231 -0
  172. package/lib/tools/cli-client/skill/references/session-management.md +169 -0
  173. package/lib/tools/cli-client/skill/references/storage-state.md +275 -0
  174. package/lib/tools/cli-client/skill/references/test-generation.md +88 -0
  175. package/lib/tools/cli-client/skill/references/tracing.md +139 -0
  176. package/lib/tools/cli-client/skill/references/video-recording.md +143 -0
  177. package/lib/tools/cli-daemon/command.js +73 -0
  178. package/lib/tools/cli-daemon/commands.js +956 -0
  179. package/lib/tools/cli-daemon/daemon.js +157 -0
  180. package/lib/tools/cli-daemon/helpGenerator.js +177 -0
  181. package/lib/tools/cli-daemon/program.js +129 -0
  182. package/lib/tools/dashboard/appIcon.png +0 -0
  183. package/lib/tools/dashboard/dashboardApp.js +284 -0
  184. package/lib/tools/dashboard/dashboardController.js +296 -0
  185. package/lib/tools/exports.js +60 -0
  186. package/lib/tools/mcp/browserFactory.js +233 -0
  187. package/lib/tools/mcp/cdpRelay.js +352 -0
  188. package/lib/tools/mcp/cli-stub.js +7 -0
  189. package/lib/tools/mcp/config.d.js +16 -0
  190. package/lib/tools/mcp/config.js +446 -0
  191. package/lib/tools/mcp/configIni.js +189 -0
  192. package/lib/tools/mcp/extensionContextFactory.js +55 -0
  193. package/lib/tools/mcp/index.js +62 -0
  194. package/lib/tools/mcp/log.js +35 -0
  195. package/lib/tools/mcp/program.js +107 -0
  196. package/lib/tools/mcp/protocol.js +28 -0
  197. package/lib/tools/mcp/watchdog.js +44 -0
  198. package/lib/tools/trace/SKILL.md +171 -0
  199. package/lib/{server/trace/viewer/traceParser.js → tools/trace/installSkill.js} +15 -39
  200. package/lib/tools/trace/traceActions.js +142 -0
  201. package/lib/tools/trace/traceAttachments.js +69 -0
  202. package/lib/tools/trace/traceCli.js +87 -0
  203. package/lib/tools/trace/traceConsole.js +97 -0
  204. package/lib/tools/trace/traceErrors.js +55 -0
  205. package/lib/tools/trace/traceOpen.js +69 -0
  206. package/lib/tools/trace/traceParser.js +96 -0
  207. package/lib/tools/trace/traceRequests.js +182 -0
  208. package/lib/tools/trace/traceScreenshot.js +68 -0
  209. package/lib/tools/trace/traceSnapshot.js +149 -0
  210. package/lib/tools/trace/traceUtils.js +153 -0
  211. package/lib/tools/utils/connect.js +32 -0
  212. package/lib/tools/utils/mcp/http.js +152 -0
  213. package/lib/tools/utils/mcp/server.js +230 -0
  214. package/lib/tools/utils/mcp/tool.js +47 -0
  215. package/lib/tools/utils/socketConnection.js +108 -0
  216. package/lib/utils/isomorphic/formatUtils.js +64 -0
  217. package/lib/utils/isomorphic/jsonSchema.js +89 -0
  218. package/lib/utils/isomorphic/mimeType.js +7 -2
  219. package/lib/utils/isomorphic/protocolFormatter.js +2 -2
  220. package/lib/utils/isomorphic/protocolMetainfo.js +127 -106
  221. package/lib/utils/isomorphic/stringUtils.js +3 -3
  222. package/lib/utils/isomorphic/timeoutRunner.js +3 -3
  223. package/lib/utils/isomorphic/trace/snapshotRenderer.js +35 -42
  224. package/lib/utils/isomorphic/trace/traceLoader.js +15 -14
  225. package/lib/utils/isomorphic/trace/traceModel.js +3 -2
  226. package/lib/utils/isomorphic/trace/traceModernizer.js +1 -0
  227. package/lib/utils/isomorphic/urlMatch.js +54 -1
  228. package/lib/utils/isomorphic/utilityScriptSerializers.js +11 -0
  229. package/lib/utils.js +6 -2
  230. package/lib/utilsBundle.js +3 -21
  231. package/lib/utilsBundleImpl/index.js +132 -133
  232. package/lib/vite/dashboard/assets/index-BAOybkp8.js +50 -0
  233. package/lib/vite/dashboard/assets/index-CZAYOG76.css +1 -0
  234. package/lib/vite/dashboard/index.html +28 -0
  235. package/lib/vite/htmlReport/index.html +2 -70
  236. package/lib/vite/htmlReport/report.css +1 -0
  237. package/lib/vite/htmlReport/report.js +72 -0
  238. package/lib/vite/recorder/assets/{codeMirrorModule-DadYNm1I.js → codeMirrorModule-C8KMvO9L.js} +20 -20
  239. package/lib/vite/recorder/assets/index-CqAYX1I3.js +193 -0
  240. package/lib/vite/recorder/index.html +1 -1
  241. package/lib/vite/traceViewer/assets/{codeMirrorModule-a5XoALAZ.js → codeMirrorModule-DS0FLvoc.js} +20 -20
  242. package/lib/vite/traceViewer/assets/defaultSettingsView-GTWI-W_B.js +262 -0
  243. package/lib/vite/traceViewer/defaultSettingsView.B4dS75f0.css +1 -0
  244. package/lib/vite/traceViewer/{index.BVu7tZDe.css → index.CzXZzn5A.css} +1 -1
  245. package/lib/vite/traceViewer/{index.BDwrLSGN.js → index.Dtstcb7U.js} +1 -1
  246. package/lib/vite/traceViewer/index.html +4 -4
  247. package/lib/vite/traceViewer/sw.bundle.js +4 -4
  248. package/lib/vite/traceViewer/uiMode.Vipi55dB.js +6 -0
  249. package/lib/vite/traceViewer/uiMode.html +3 -3
  250. package/lib/zipBundleImpl.js +2 -2
  251. package/lib/zodBundle.js +39 -0
  252. package/lib/zodBundleImpl.js +40 -0
  253. package/package.json +6 -1
  254. package/types/protocol.d.ts +947 -51
  255. package/types/types.d.ts +854 -74
  256. package/lib/client/pageAgent.js +0 -64
  257. package/lib/mcpBundleImpl/index.js +0 -147
  258. package/lib/server/agent/actionRunner.js +0 -335
  259. package/lib/server/agent/actions.js +0 -128
  260. package/lib/server/agent/codegen.js +0 -111
  261. package/lib/server/agent/context.js +0 -150
  262. package/lib/server/agent/expectTools.js +0 -156
  263. package/lib/server/agent/pageAgent.js +0 -204
  264. package/lib/server/agent/performTools.js +0 -262
  265. package/lib/server/agent/tool.js +0 -109
  266. package/lib/server/dispatchers/pageAgentDispatcher.js +0 -96
  267. package/lib/vite/recorder/assets/index-BhTWtUlo.js +0 -193
  268. package/lib/vite/traceViewer/assets/defaultSettingsView-CJSZINFr.js +0 -266
  269. package/lib/vite/traceViewer/defaultSettingsView.7ch9cixO.css +0 -1
  270. package/lib/vite/traceViewer/uiMode.CQJ9SCIQ.js +0 -5
  271. /package/lib/{server/utils → utils/isomorphic}/imageUtils.js +0 -0
  272. /package/lib/utils/isomorphic/{traceUtils.js → trace/traceUtils.js} +0 -0
@@ -27,7 +27,7 @@ __export(traceModel_exports, {
27
27
  stats: () => stats
28
28
  });
29
29
  module.exports = __toCommonJS(traceModel_exports);
30
- var import_protocolFormatter = require("@isomorphic/protocolFormatter");
30
+ var import_protocolFormatter = require("../protocolFormatter");
31
31
  const contextSymbol = Symbol("context");
32
32
  const nextInContextSymbol = Symbol("nextInContext");
33
33
  const prevByEndTimeSymbol = Symbol("prevByEndTime");
@@ -46,6 +46,7 @@ class TraceModel {
46
46
  this.playwrightVersion = contexts.find((c) => c.playwrightVersion)?.playwrightVersion;
47
47
  this.title = libraryContext?.title || "";
48
48
  this.options = libraryContext?.options || {};
49
+ this.testTimeout = contexts.find((c) => c.origin === "testRunner")?.testTimeout;
49
50
  this.actions = mergeActionsAndUpdateTiming(contexts);
50
51
  this.pages = [].concat(...contexts.map((c) => c.pages));
51
52
  this.wallTime = contexts.map((c) => c.wallTime).reduce((prev, cur) => Math.min(prev || Number.MAX_VALUE, cur), Number.MAX_VALUE);
@@ -56,7 +57,7 @@ class TraceModel {
56
57
  this.errors = [].concat(...contexts.map((c) => c.errors));
57
58
  this.hasSource = contexts.some((c) => c.hasSource);
58
59
  this.hasStepData = contexts.some((context2) => context2.origin === "testRunner");
59
- this.resources = [...contexts.map((c) => c.resources)].flat();
60
+ this.resources = [...contexts.map((c) => c.resources)].flat().map((entry) => ({ ...entry, id: `${entry.pageref}-${entry.time}-${entry.request.url}` }));
60
61
  this.attachments = this.actions.flatMap((action) => action.attachments?.map((attachment) => ({ ...attachment, callId: action.callId, traceUri })) ?? []);
61
62
  this.visibleAttachments = this.attachments.filter((attachment) => !attachment.name.startsWith("_"));
62
63
  this.events.sort((a1, a2) => a1.time - a2.time);
@@ -83,6 +83,7 @@ class TraceModernizer {
83
83
  contextEntry.options = event.options;
84
84
  contextEntry.testIdAttributeName = event.testIdAttributeName;
85
85
  contextEntry.contextId = event.contextId ?? "";
86
+ contextEntry.testTimeout = event.testTimeout;
86
87
  break;
87
88
  }
88
89
  case "screencast-frame": {
@@ -19,8 +19,12 @@ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: tru
19
19
  var urlMatch_exports = {};
20
20
  __export(urlMatch_exports, {
21
21
  constructURLBasedOnBaseURL: () => constructURLBasedOnBaseURL,
22
+ deserializeURLMatch: () => deserializeURLMatch,
22
23
  globToRegexPattern: () => globToRegexPattern,
24
+ isURLPattern: () => isURLPattern,
23
25
  resolveGlobToRegexPattern: () => resolveGlobToRegexPattern,
26
+ serializeURLMatch: () => serializeURLMatch,
27
+ serializeURLPattern: () => serializeURLPattern,
24
28
  urlMatches: () => urlMatches,
25
29
  urlMatchesEqual: () => urlMatchesEqual
26
30
  });
@@ -86,6 +90,49 @@ function globToRegexPattern(glob) {
86
90
  function isRegExp(obj) {
87
91
  return obj instanceof RegExp || Object.prototype.toString.call(obj) === "[object RegExp]";
88
92
  }
93
+ const isURLPattern = (v) => typeof globalThis.URLPattern === "function" && v instanceof globalThis.URLPattern;
94
+ function serializeURLPattern(v) {
95
+ return {
96
+ hash: v.hash,
97
+ hostname: v.hostname,
98
+ password: v.password,
99
+ pathname: v.pathname,
100
+ port: v.port,
101
+ protocol: v.protocol,
102
+ search: v.search,
103
+ username: v.username
104
+ };
105
+ }
106
+ function serializeURLMatch(match) {
107
+ if ((0, import_stringUtils.isString)(match))
108
+ return { glob: match };
109
+ if (isRegExp(match))
110
+ return { regexSource: match.source, regexFlags: match.flags };
111
+ if (isURLPattern(match))
112
+ return { urlPattern: serializeURLPattern(match) };
113
+ return void 0;
114
+ }
115
+ function deserializeURLPattern(v) {
116
+ if (typeof globalThis.URLPattern !== "function")
117
+ return () => true;
118
+ return new globalThis.URLPattern({
119
+ hash: v.hash,
120
+ hostname: v.hostname,
121
+ password: v.password,
122
+ pathname: v.pathname,
123
+ port: v.port,
124
+ protocol: v.protocol,
125
+ search: v.search,
126
+ username: v.username
127
+ });
128
+ }
129
+ function deserializeURLMatch(match) {
130
+ if (match.regexSource)
131
+ return new RegExp(match.regexSource, match.regexFlags);
132
+ if (match.urlPattern)
133
+ return deserializeURLPattern(match.urlPattern);
134
+ return match.glob;
135
+ }
89
136
  function urlMatchesEqual(match1, match2) {
90
137
  if (isRegExp(match1) && isRegExp(match2))
91
138
  return match1.source === match2.source && match1.flags === match2.flags;
@@ -103,8 +150,10 @@ function urlMatches(baseURL, urlString, match, webSocketUrl) {
103
150
  const url = parseURL(urlString);
104
151
  if (!url)
105
152
  return false;
153
+ if (isURLPattern(match))
154
+ return match.test(url.href);
106
155
  if (typeof match !== "function")
107
- throw new Error("url parameter should be string, RegExp or function");
156
+ throw new Error("url parameter should be string, RegExp, URLPattern or function");
108
157
  return match(url);
109
158
  }
110
159
  function resolveGlobToRegexPattern(baseURL, glob, webSocketUrl) {
@@ -183,8 +232,12 @@ function resolveBaseURL(baseURL, givenURL) {
183
232
  // Annotate the CommonJS export names for ESM import in node:
184
233
  0 && (module.exports = {
185
234
  constructURLBasedOnBaseURL,
235
+ deserializeURLMatch,
186
236
  globToRegexPattern,
237
+ isURLPattern,
187
238
  resolveGlobToRegexPattern,
239
+ serializeURLMatch,
240
+ serializeURLPattern,
188
241
  urlMatches,
189
242
  urlMatchesEqual
190
243
  });
@@ -57,6 +57,13 @@ function isTypedArray(obj, constructor) {
57
57
  return false;
58
58
  }
59
59
  }
60
+ function isArrayBuffer(obj) {
61
+ try {
62
+ return obj instanceof ArrayBuffer || Object.prototype.toString.call(obj) === "[object ArrayBuffer]";
63
+ } catch (error) {
64
+ return false;
65
+ }
66
+ }
60
67
  const typedArrayConstructors = {
61
68
  i8: Int8Array,
62
69
  ui8: Uint8Array,
@@ -141,6 +148,8 @@ function parseEvaluationResultValue(value, handles = [], refs = /* @__PURE__ */
141
148
  return handles[value.h];
142
149
  if ("ta" in value)
143
150
  return base64ToTypedArray(value.ta.b, typedArrayConstructors[value.ta.k]);
151
+ if ("ab" in value)
152
+ return base64ToTypedArray(value.ab.b, Uint8Array).buffer;
144
153
  }
145
154
  return value;
146
155
  }
@@ -206,6 +215,8 @@ ${value.stack}`;
206
215
  if (isTypedArray(value, ctor))
207
216
  return { ta: { b: typedArrayToBase64(value), k } };
208
217
  }
218
+ if (isArrayBuffer(value))
219
+ return { ab: { b: typedArrayToBase64(new Uint8Array(value)) } };
209
220
  const id = visitorInfo.visited.get(value);
210
221
  if (id)
211
222
  return { ref: id };
package/lib/utils.js CHANGED
@@ -26,6 +26,8 @@ __reExport(utils_exports, require("./utils/isomorphic/ariaSnapshot"), module.exp
26
26
  __reExport(utils_exports, require("./utils/isomorphic/assert"), module.exports);
27
27
  __reExport(utils_exports, require("./utils/isomorphic/colors"), module.exports);
28
28
  __reExport(utils_exports, require("./utils/isomorphic/headers"), module.exports);
29
+ __reExport(utils_exports, require("./utils/isomorphic/imageUtils"), module.exports);
30
+ __reExport(utils_exports, require("./utils/isomorphic/jsonSchema"), module.exports);
29
31
  __reExport(utils_exports, require("./utils/isomorphic/locatorGenerators"), module.exports);
30
32
  __reExport(utils_exports, require("./utils/isomorphic/manualPromise"), module.exports);
31
33
  __reExport(utils_exports, require("./utils/isomorphic/mimeType"), module.exports);
@@ -36,6 +38,7 @@ __reExport(utils_exports, require("./utils/isomorphic/rtti"), module.exports);
36
38
  __reExport(utils_exports, require("./utils/isomorphic/semaphore"), module.exports);
37
39
  __reExport(utils_exports, require("./utils/isomorphic/stackTrace"), module.exports);
38
40
  __reExport(utils_exports, require("./utils/isomorphic/stringUtils"), module.exports);
41
+ __reExport(utils_exports, require("./utils/isomorphic/formatUtils"), module.exports);
39
42
  __reExport(utils_exports, require("./utils/isomorphic/time"), module.exports);
40
43
  __reExport(utils_exports, require("./utils/isomorphic/timeoutRunner"), module.exports);
41
44
  __reExport(utils_exports, require("./utils/isomorphic/urlMatch"), module.exports);
@@ -51,7 +54,6 @@ __reExport(utils_exports, require("./server/utils/expectUtils"), module.exports)
51
54
  __reExport(utils_exports, require("./server/utils/fileUtils"), module.exports);
52
55
  __reExport(utils_exports, require("./server/utils/hostPlatform"), module.exports);
53
56
  __reExport(utils_exports, require("./server/utils/httpServer"), module.exports);
54
- __reExport(utils_exports, require("./server/utils/imageUtils"), module.exports);
55
57
  __reExport(utils_exports, require("./server/utils/network"), module.exports);
56
58
  __reExport(utils_exports, require("./server/utils/nodePlatform"), module.exports);
57
59
  __reExport(utils_exports, require("./server/utils/processLauncher"), module.exports);
@@ -71,6 +73,8 @@ var import_utilsBundle = require("./utilsBundle");
71
73
  ...require("./utils/isomorphic/assert"),
72
74
  ...require("./utils/isomorphic/colors"),
73
75
  ...require("./utils/isomorphic/headers"),
76
+ ...require("./utils/isomorphic/imageUtils"),
77
+ ...require("./utils/isomorphic/jsonSchema"),
74
78
  ...require("./utils/isomorphic/locatorGenerators"),
75
79
  ...require("./utils/isomorphic/manualPromise"),
76
80
  ...require("./utils/isomorphic/mimeType"),
@@ -81,6 +85,7 @@ var import_utilsBundle = require("./utilsBundle");
81
85
  ...require("./utils/isomorphic/semaphore"),
82
86
  ...require("./utils/isomorphic/stackTrace"),
83
87
  ...require("./utils/isomorphic/stringUtils"),
88
+ ...require("./utils/isomorphic/formatUtils"),
84
89
  ...require("./utils/isomorphic/time"),
85
90
  ...require("./utils/isomorphic/timeoutRunner"),
86
91
  ...require("./utils/isomorphic/urlMatch"),
@@ -96,7 +101,6 @@ var import_utilsBundle = require("./utilsBundle");
96
101
  ...require("./server/utils/fileUtils"),
97
102
  ...require("./server/utils/hostPlatform"),
98
103
  ...require("./server/utils/httpServer"),
99
- ...require("./server/utils/imageUtils"),
100
104
  ...require("./server/utils/network"),
101
105
  ...require("./server/utils/nodePlatform"),
102
106
  ...require("./server/utils/processLauncher"),
@@ -27,11 +27,11 @@ __export(utilsBundle_exports, {
27
27
  diff: () => diff,
28
28
  dotenv: () => dotenv,
29
29
  getProxyForUrl: () => getProxyForUrl,
30
+ ini: () => ini,
30
31
  jpegjs: () => jpegjs,
31
32
  lockfile: () => lockfile,
32
33
  mime: () => mime,
33
34
  minimatch: () => minimatch,
34
- ms: () => ms,
35
35
  open: () => open,
36
36
  program: () => program,
37
37
  progress: () => progress,
@@ -46,6 +46,7 @@ const colors = require("./utilsBundleImpl").colors;
46
46
  const debug = require("./utilsBundleImpl").debug;
47
47
  const diff = require("./utilsBundleImpl").diff;
48
48
  const dotenv = require("./utilsBundleImpl").dotenv;
49
+ const ini = require("./utilsBundleImpl").ini;
49
50
  const getProxyForUrl = require("./utilsBundleImpl").getProxyForUrl;
50
51
  const HttpsProxyAgent = require("./utilsBundleImpl").HttpsProxyAgent;
51
52
  const jpegjs = require("./utilsBundleImpl").jpegjs;
@@ -63,25 +64,6 @@ const wsServer = require("./utilsBundleImpl").wsServer;
63
64
  const wsReceiver = require("./utilsBundleImpl").wsReceiver;
64
65
  const wsSender = require("./utilsBundleImpl").wsSender;
65
66
  const yaml = require("./utilsBundleImpl").yaml;
66
- function ms(ms2) {
67
- if (!isFinite(ms2))
68
- return "-";
69
- if (ms2 === 0)
70
- return "0ms";
71
- if (ms2 < 1e3)
72
- return ms2.toFixed(0) + "ms";
73
- const seconds = ms2 / 1e3;
74
- if (seconds < 60)
75
- return seconds.toFixed(1) + "s";
76
- const minutes = seconds / 60;
77
- if (minutes < 60)
78
- return minutes.toFixed(1) + "m";
79
- const hours = minutes / 60;
80
- if (hours < 24)
81
- return hours.toFixed(1) + "h";
82
- const days = hours / 24;
83
- return days.toFixed(1) + "d";
84
- }
85
67
  // Annotate the CommonJS export names for ESM import in node:
86
68
  0 && (module.exports = {
87
69
  HttpsProxyAgent,
@@ -93,11 +75,11 @@ function ms(ms2) {
93
75
  diff,
94
76
  dotenv,
95
77
  getProxyForUrl,
78
+ ini,
96
79
  jpegjs,
97
80
  lockfile,
98
81
  mime,
99
82
  minimatch,
100
- ms,
101
83
  open,
102
84
  program,
103
85
  progress,