@mcp-b/chrome-devtools-mcp 1.0.2 → 1.0.3-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (657) hide show
  1. package/README.md +41 -7
  2. package/build/src/index.js +0 -0
  3. package/package.json +21 -22
  4. package/build/node_modules/chrome-devtools-frontend/LICENSE +0 -27
  5. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/App.js +0 -4
  6. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/AppProvider.js +0 -17
  7. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Base64.js +0 -43
  8. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/CharacterIdMap.js +0 -27
  9. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Color.js +0 -2033
  10. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorConverter.js +0 -332
  11. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorUtils.js +0 -221
  12. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Console.js +0 -79
  13. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Debouncer.js +0 -14
  14. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/EventTarget.js +0 -14
  15. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Gzip.js +0 -66
  16. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/JavaScriptMetaData.js +0 -4
  17. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Lazy.js +0 -29
  18. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/MapWithDefault.js +0 -22
  19. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Mutex.js +0 -49
  20. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Object.js +0 -86
  21. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ParsedURL.js +0 -449
  22. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Progress.js +0 -144
  23. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResolverBase.js +0 -69
  24. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResourceType.js +0 -495
  25. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ReturnToPanel.js +0 -15
  26. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Revealer.js +0 -164
  27. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Runnable.js +0 -24
  28. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SegmentedRange.js +0 -78
  29. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SettingRegistration.js +0 -164
  30. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Settings.js +0 -1263
  31. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SimpleHistoryManager.js +0 -97
  32. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/StringOutputStream.js +0 -14
  33. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/TextDictionary.js +0 -40
  34. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Throttler.js +0 -71
  35. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Trie.js +0 -127
  36. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/common.js +0 -41
  37. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +0 -434
  38. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/DispatchHttpRequestClient.js +0 -66
  39. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/GdpClient.js +0 -202
  40. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +0 -92
  41. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostAPI.js +0 -69
  42. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostStub.js +0 -430
  43. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/Platform.js +0 -61
  44. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +0 -220
  45. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +0 -968
  46. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/host.js +0 -13
  47. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/ByteUtilities.js +0 -72
  48. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/DevToolsLocale.js +0 -64
  49. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/NumberFormatter.js +0 -67
  50. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/collect-ui-strings.js +0 -73
  51. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/generate-locales-js.js +0 -51
  52. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18n.js +0 -9
  53. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18nImpl.js +0 -135
  54. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18nTypes.js +0 -4
  55. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/locales.js +0 -14
  56. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/time-utilities.js +0 -148
  57. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/ArrayUtilities.js +0 -199
  58. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Brand.js +0 -4
  59. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Constructor.js +0 -4
  60. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DateUtilities.js +0 -13
  61. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DevToolsPath.js +0 -27
  62. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/HostRuntime.js +0 -19
  63. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/KeyboardUtilities.js +0 -21
  64. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MapUtilities.js +0 -79
  65. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MimeType.js +0 -143
  66. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/NumberUtilities.js +0 -72
  67. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +0 -538
  68. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Timing.js +0 -9
  69. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypedArrayUtilities.js +0 -157
  70. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypescriptUtilities.js +0 -24
  71. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UIString.js +0 -4
  72. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UserVisibleError.js +0 -22
  73. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/HostRuntime.js +0 -4
  74. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/api.js +0 -5
  75. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/HostRuntime.js +0 -63
  76. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/browser.js +0 -5
  77. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/HostRuntime.js +0 -72
  78. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/node.js +0 -5
  79. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/platform.js +0 -26
  80. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/CDPConnection.js +0 -17
  81. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/ConnectionTransport.js +0 -12
  82. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/DevToolsCDPConnection.js +0 -138
  83. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +0 -539
  84. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +0 -8
  85. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/DevToolsContext.js +0 -54
  86. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/Runtime.js +0 -11
  87. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/root.js +0 -6
  88. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AccessibilityModel.js +0 -281
  89. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AnimationModel.js +0 -845
  90. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AutofillModel.js +0 -155
  91. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUProfilerModel.js +0 -99
  92. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +0 -217
  93. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSContainerQuery.js +0 -98
  94. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSFontFace.js +0 -31
  95. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSLayer.js +0 -22
  96. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +0 -1318
  97. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMedia.js +0 -100
  98. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +0 -1532
  99. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +0 -908
  100. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +0 -312
  101. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParser.js +0 -574
  102. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +0 -1346
  103. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSQuery.js +0 -53
  104. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +0 -403
  105. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSScope.js +0 -22
  106. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStartingStyle.js +0 -21
  107. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleDeclaration.js +0 -275
  108. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleSheetHeader.js +0 -166
  109. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSSupports.js +0 -24
  110. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CategorizedBreakpoint.js +0 -29
  111. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +0 -236
  112. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CompilerSourceMappingContentProvider.js +0 -47
  113. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Connections.js +0 -205
  114. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModel.js +0 -629
  115. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModelTypes.js +0 -14
  116. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Cookie.js +0 -241
  117. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieModel.js +0 -198
  118. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieParser.js +0 -163
  119. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMDebuggerModel.js +0 -597
  120. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +0 -1635
  121. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +0 -1216
  122. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EmulationModel.js +0 -527
  123. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EnhancedTracesParser.js +0 -364
  124. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EventBreakpointsModel.js +0 -127
  125. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameAssociated.js +0 -4
  126. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameManager.js +0 -199
  127. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HeapProfilerModel.js +0 -130
  128. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HttpReasonPhraseStrings.js +0 -75
  129. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +0 -80
  130. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IsolateManager.js +0 -208
  131. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IssuesModel.js +0 -41
  132. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LayerTreeBase.js +0 -95
  133. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LogModel.js +0 -34
  134. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +0 -2223
  135. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +0 -1654
  136. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayColorGenerator.js +0 -48
  137. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayModel.js +0 -765
  138. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayPersistentHighlighter.js +0 -384
  139. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageLoad.js +0 -25
  140. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageResourceLoader.js +0 -310
  141. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PaintProfiler.js +0 -67
  142. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PerformanceMetricsModel.js +0 -62
  143. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PreloadingModel.js +0 -608
  144. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingConnection.js +0 -413
  145. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingObject.js +0 -4
  146. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +0 -908
  147. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Resource.js +0 -163
  148. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +0 -923
  149. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RuntimeModel.js +0 -535
  150. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SDKModel.js +0 -45
  151. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScopeTreeCache.js +0 -36
  152. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScreenCaptureModel.js +0 -176
  153. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Script.js +0 -420
  154. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SecurityOriginManager.js +0 -54
  155. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEvents.js +0 -67
  156. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +0 -113
  157. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerTiming.js +0 -216
  158. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerCacheModel.js +0 -271
  159. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerManager.js +0 -511
  160. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMap.js +0 -691
  161. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapCache.js +0 -57
  162. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapFunctionRanges.js +0 -132
  163. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +0 -201
  164. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopeChainEntry.js +0 -156
  165. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +0 -508
  166. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageBucketsModel.js +0 -143
  167. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageKeyManager.js +0 -53
  168. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +0 -257
  169. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +0 -395
  170. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TraceObject.js +0 -55
  171. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/WebAuthnModel.js +0 -66
  172. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +0 -1166
  173. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk.js +0 -91
  174. package/build/node_modules/chrome-devtools-frontend/front_end/foundation/Universe.js +0 -34
  175. package/build/node_modules/chrome-devtools-frontend/front_end/foundation/foundation.js +0 -5
  176. package/build/node_modules/chrome-devtools-frontend/front_end/generated/ARIAProperties.js +0 -2640
  177. package/build/node_modules/chrome-devtools-frontend/front_end/generated/Deprecation.js +0 -384
  178. package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +0 -1532
  179. package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +0 -7602
  180. package/build/node_modules/chrome-devtools-frontend/front_end/generated/protocol.js +0 -4
  181. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js +0 -289
  182. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +0 -995
  183. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +0 -664
  184. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/UnitFormatters.js +0 -139
  185. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +0 -377
  186. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIContext.js +0 -131
  187. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +0 -149
  188. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +0 -245
  189. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +0 -486
  190. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ContentProviderBasedProject.js +0 -130
  191. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerLanguagePlugins.js +0 -992
  192. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +0 -592
  193. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DefaultScriptMapping.js +0 -112
  194. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/FileUtils.js +0 -186
  195. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/LiveLocation.js +0 -60
  196. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/NetworkProject.js +0 -107
  197. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/PresentationConsoleMessageHelper.js +0 -244
  198. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +0 -564
  199. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceScriptMapping.js +0 -437
  200. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceUtils.js +0 -87
  201. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/SASSSourceMapping.js +0 -182
  202. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/StylesSourceMapping.js +0 -268
  203. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/TempFile.js +0 -55
  204. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/bindings.js +0 -20
  205. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +0 -516
  206. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/ProfileTreeModel.js +0 -89
  207. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/cpu_profile.js +0 -6
  208. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/CrUXManager.js +0 -285
  209. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/crux-manager.js +0 -4
  210. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/DeviceModeModel.js +0 -775
  211. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/EmulatedDevices.js +0 -1706
  212. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/emulation.js +0 -6
  213. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +0 -145
  214. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/ScriptFormatter.js +0 -77
  215. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/formatter.js +0 -6
  216. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/GeometryImpl.js +0 -347
  217. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/geometry.js +0 -4
  218. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/AttributionReportingIssue.js +0 -201
  219. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/BounceTrackingIssue.js +0 -49
  220. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CheckFormsIssuesTrigger.js +0 -31
  221. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ClientHintIssue.js +0 -71
  222. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContentSecurityPolicyIssue.js +0 -135
  223. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContrastCheckTrigger.js +0 -59
  224. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieDeprecationMetadataIssue.js +0 -58
  225. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js +0 -514
  226. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CorsIssue.js +0 -244
  227. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.js +0 -110
  228. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/DeprecationIssue.js +0 -90
  229. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ElementAccessibilityIssue.js +0 -95
  230. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthRequestIssue.js +0 -231
  231. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.js +0 -141
  232. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/GenericIssue.js +0 -212
  233. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/HeavyAdIssue.js +0 -52
  234. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/Issue.js +0 -152
  235. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueAggregator.js +0 -314
  236. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueResolver.js +0 -40
  237. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManager.js +0 -416
  238. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManagerEvents.js +0 -4
  239. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/LowTextContrastIssue.js +0 -48
  240. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MarkdownIssueDescription.js +0 -104
  241. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MixedContentIssue.js +0 -55
  242. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PartitioningBlobURLIssue.js +0 -58
  243. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PropertyRuleIssue.js +0 -58
  244. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/QuirksModeIssue.js +0 -48
  245. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/RelatedIssue.js +0 -70
  246. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SRIMessageSignatureIssue.js +0 -87
  247. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedArrayBufferIssue.js +0 -49
  248. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedDictionaryIssue.js +0 -292
  249. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SourceFrameIssuesManager.js +0 -81
  250. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/StylesheetLoadingIssue.js +0 -59
  251. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/UnencodedDigestIssue.js +0 -62
  252. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +0 -4
  253. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +0 -8
  254. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +0 -18
  255. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameSite.md +0 -7
  256. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +0 -10
  257. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CompatibilityModeQuirks.md +0 -5
  258. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +0 -5
  259. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/LowTextContrast.md +0 -5
  260. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +0 -8
  261. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +0 -8
  262. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +0 -8
  263. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +0 -8
  264. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +0 -8
  265. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +0 -8
  266. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +0 -8
  267. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +0 -8
  268. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteSamePartyCrossPartyContextSet.md +0 -10
  269. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +0 -9
  270. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +0 -9
  271. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +0 -8
  272. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +0 -8
  273. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +0 -8
  274. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInsecureContext.md +0 -7
  275. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +0 -5
  276. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +0 -5
  277. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +0 -5
  278. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +0 -5
  279. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +0 -5
  280. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +0 -5
  281. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +0 -6
  282. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +0 -5
  283. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +0 -5
  284. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +0 -5
  285. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +0 -5
  286. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +0 -4
  287. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +0 -18
  288. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +0 -19
  289. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +0 -8
  290. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +0 -9
  291. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arSourceIgnored.md +0 -13
  292. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +0 -12
  293. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +0 -10
  294. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +0 -11
  295. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/bounceTrackingMitigations.md +0 -3
  296. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +0 -4
  297. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +0 -4
  298. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieCrossSiteRedirectDowngrade.md +0 -12
  299. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +0 -4
  300. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +0 -11
  301. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +0 -8
  302. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +0 -7
  303. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutRead.md +0 -6
  304. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutSet.md +0 -6
  305. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +0 -11
  306. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnMetadataGrantRead.md +0 -4
  307. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnMetadataGrantSet.md +0 -4
  308. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutRead.md +0 -6
  309. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutSet.md +0 -6
  310. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +0 -6
  311. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsDisabledScheme.md +0 -7
  312. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsDisallowedByMode.md +0 -7
  313. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +0 -5
  314. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +0 -10
  315. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsInvalidHeaderValues.md +0 -7
  316. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +0 -19
  317. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +0 -5
  318. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +0 -5
  319. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsOriginMismatch.md +0 -6
  320. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +0 -10
  321. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +0 -5
  322. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPrivateNetworkPermissionDenied.md +0 -10
  323. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +0 -5
  324. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +0 -8
  325. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspEvalViolation.md +0 -9
  326. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspInlineViolation.md +0 -10
  327. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +0 -5
  328. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +0 -8
  329. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspURLViolation.md +0 -10
  330. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/deprecation.md +0 -3
  331. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +0 -1
  332. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +0 -1
  333. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +0 -1
  334. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +0 -1
  335. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +0 -1
  336. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +0 -1
  337. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +0 -1
  338. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md +0 -1
  339. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +0 -1
  340. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +0 -1
  341. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +0 -1
  342. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +0 -1
  343. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +0 -1
  344. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +0 -1
  345. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +0 -1
  346. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +0 -1
  347. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +0 -1
  348. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +0 -1
  349. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +0 -1
  350. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +0 -1
  351. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +0 -1
  352. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +0 -1
  353. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +0 -1
  354. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +0 -1
  355. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +0 -1
  356. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +0 -1
  357. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +0 -1
  358. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +0 -1
  359. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/fetchingPartitionedBlobURL.md +0 -7
  360. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingIdError.md +0 -8
  361. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +0 -5
  362. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +0 -5
  363. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +0 -5
  364. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +0 -5
  365. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +0 -5
  366. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +0 -5
  367. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +0 -5
  368. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelForNameError.md +0 -5
  369. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +0 -5
  370. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +0 -7
  371. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericResponseWasBlockedByORB.md +0 -4
  372. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/heavyAd.md +0 -10
  373. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/mixedContent.md +0 -5
  374. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/navigatingPartitionedBlobURL.md +0 -5
  375. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +0 -3
  376. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/propertyRuleInvalidNameIssue.md +0 -3
  377. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/propertyRuleIssue.md +0 -7
  378. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +0 -7
  379. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedSelectChild.md +0 -7
  380. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +0 -3
  381. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +0 -3
  382. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +0 -3
  383. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +0 -3
  384. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedArrayBuffer.md +0 -7
  385. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +0 -1
  386. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +0 -3
  387. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +0 -3
  388. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +0 -1
  389. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +0 -1
  390. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +0 -1
  391. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorExpiredResponse.md +0 -3
  392. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +0 -3
  393. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInsufficientResources.md +0 -1
  394. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +0 -1
  395. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +0 -1
  396. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +0 -1
  397. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNavigationRequest.md +0 -3
  398. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNoMatchField.md +0 -1
  399. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +0 -1
  400. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +0 -1
  401. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonSecureContext.md +0 -3
  402. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringIdField.md +0 -1
  403. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +0 -1
  404. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +0 -1
  405. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +0 -1
  406. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorRequestAborted.md +0 -1
  407. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorShuttingDown.md +0 -1
  408. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorTooLongIdField.md +0 -3
  409. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorUnsupportedType.md +0 -3
  410. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriInvalidSignatureHeader.md +0 -14
  411. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriInvalidSignatureInputHeader.md +0 -15
  412. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriMissingSignatureHeader.md +0 -8
  413. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriMissingSignatureInputHeader.md +0 -7
  414. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsIncorrectLength.md +0 -11
  415. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsNotByteSequence.md +0 -14
  416. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsParameterized.md +0 -15
  417. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentName.md +0 -8
  418. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentType.md +0 -13
  419. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +0 -4
  420. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +0 -5
  421. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidParameter.md +0 -11
  422. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderKeyIdLength.md +0 -12
  423. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingLabel.md +0 -6
  424. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +0 -8
  425. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueMissingComponents.md +0 -11
  426. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +0 -11
  427. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +0 -10
  428. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedInvalidLength.md +0 -5
  429. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureExpired.md +0 -6
  430. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureMismatch.md +0 -11
  431. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/stylesheetLateImport.md +0 -4
  432. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/stylesheetRequestFailed.md +0 -3
  433. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +0 -3
  434. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +0 -12
  435. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +0 -17
  436. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +0 -14
  437. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +0 -15
  438. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/issues_manager.js +0 -35
  439. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/LogManager.js +0 -67
  440. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +0 -494
  441. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/RequestResolver.js +0 -49
  442. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs-meta.js +0 -73
  443. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs.js +0 -7
  444. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/Calculator.js +0 -4
  445. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/NetworkTimeCalculator.js +0 -256
  446. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/RequestTimeRanges.js +0 -122
  447. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/network_time_calculator.js +0 -6
  448. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/FunctionCodeResolver.js +0 -192
  449. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/NamesResolver.js +0 -622
  450. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeChainModel.js +0 -59
  451. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/source_map_scopes.js +0 -7
  452. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTrace.js +0 -4
  453. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceImpl.js +0 -67
  454. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceModel.js +0 -97
  455. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/Trie.js +0 -121
  456. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace.js +0 -5
  457. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace_impl.js +0 -7
  458. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/CodeMirrorUtils.js +0 -32
  459. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentData.js +0 -173
  460. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentProvider.js +0 -30
  461. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StaticContentProvider.js +0 -32
  462. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StreamingContentData.js +0 -79
  463. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/Text.js +0 -69
  464. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextCursor.js +0 -35
  465. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextRange.js +0 -231
  466. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextUtils.js +0 -355
  467. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/WasmDisassembly.js +0 -68
  468. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/text_utils.js +0 -14
  469. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EntityMapper.js +0 -122
  470. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +0 -81
  471. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +0 -371
  472. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +0 -169
  473. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Name.js +0 -114
  474. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +0 -555
  475. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +0 -815
  476. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/FilmStrip.js +0 -44
  477. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/MainThreadActivity.js +0 -76
  478. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ScriptDuplication.js +0 -162
  479. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/StackTraceForEvent.js +0 -191
  480. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ThirdParties.js +0 -118
  481. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceFilter.js +0 -50
  482. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +0 -599
  483. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +0 -10
  484. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationFramesHandler.js +0 -109
  485. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationHandler.js +0 -26
  486. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AsyncJSCallsHandler.js +0 -187
  487. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AuctionWorkletsHandler.js +0 -162
  488. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/DOMStatsHandler.js +0 -21
  489. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ExtensionTraceDataHandler.js +0 -263
  490. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FlowsHandler.js +0 -148
  491. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FramesHandler.js +0 -485
  492. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/GPUHandler.js +0 -35
  493. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ImagePaintingHandler.js +0 -147
  494. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InitiatorsHandler.js +0 -180
  495. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InvalidationsHandler.js +0 -126
  496. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +0 -85
  497. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestTextPaintHandler.js +0 -27
  498. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayerTreeHandler.js +0 -103
  499. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +0 -449
  500. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MemoryHandler.js +0 -21
  501. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +0 -404
  502. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ModelHandlers.js +0 -33
  503. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +0 -566
  504. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageFramesHandler.js +0 -42
  505. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +0 -349
  506. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/RendererHandler.js +0 -346
  507. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +0 -260
  508. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScreenshotsHandler.js +0 -97
  509. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +0 -276
  510. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SelectorStatsHandler.js +0 -71
  511. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/Threads.js +0 -101
  512. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserInteractionsHandler.js +0 -317
  513. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserTimingsHandler.js +0 -183
  514. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WarningsHandler.js +0 -134
  515. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WorkersHandler.js +0 -33
  516. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/handlers.js +0 -7
  517. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/helpers.js +0 -163
  518. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/types.js +0 -1
  519. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Extensions.js +0 -41
  520. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Network.js +0 -102
  521. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SamplesIntegrator.js +0 -495
  522. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SyntheticEvents.js +0 -74
  523. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +0 -186
  524. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Trace.js +0 -820
  525. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/TreeHelpers.js +0 -254
  526. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/helpers.js +0 -10
  527. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/CLSCulprits.js +0 -489
  528. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Cache.js +0 -209
  529. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +0 -340
  530. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DOMSize.js +0 -181
  531. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DocumentLatency.js +0 -258
  532. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DuplicatedJavaScript.js +0 -90
  533. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/FontDisplay.js +0 -82
  534. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ForcedReflow.js +0 -161
  535. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/INPBreakdown.js +0 -129
  536. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ImageDelivery.js +0 -263
  537. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +0 -199
  538. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +0 -183
  539. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LegacyJavaScript.js +0 -90
  540. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Models.js +0 -21
  541. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ModernHTTP.js +0 -200
  542. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +0 -545
  543. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +0 -192
  544. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/SlowCSSSelector.js +0 -136
  545. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Statistics.js +0 -92
  546. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ThirdParties.js +0 -98
  547. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Viewport.js +0 -102
  548. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/insights.js +0 -9
  549. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/types.js +0 -18
  550. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/LanternError.js +0 -6
  551. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/NetworkAnalyzer.js +0 -488
  552. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/core.js +0 -5
  553. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/BaseNode.js +0 -276
  554. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/CPUNode.js +0 -63
  555. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/NetworkNode.js +0 -82
  556. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/PageDependencyGraph.js +0 -551
  557. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/graph.js +0 -7
  558. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/lantern.js +0 -9
  559. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/FirstContentfulPaint.js +0 -136
  560. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Interactive.js +0 -67
  561. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/LargestContentfulPaint.js +0 -68
  562. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/MaxPotentialFID.js +0 -48
  563. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Metric.js +0 -68
  564. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/SpeedIndex.js +0 -101
  565. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TBTUtils.js +0 -64
  566. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TotalBlockingTime.js +0 -78
  567. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/metrics.js +0 -11
  568. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/ConnectionPool.js +0 -115
  569. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Constants.js +0 -42
  570. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/DNSCache.js +0 -47
  571. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/SimulationTimingMap.js +0 -134
  572. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Simulator.js +0 -450
  573. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/TCPConnection.js +0 -154
  574. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/simulation.js +0 -9
  575. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/Lantern.js +0 -24
  576. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/types.js +0 -4
  577. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/trace.js +0 -17
  578. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Configuration.js +0 -18
  579. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Extensions.js +0 -37
  580. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/File.js +0 -57
  581. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Overlays.js +0 -4
  582. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Timing.js +0 -15
  583. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +0 -580
  584. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/types.js +0 -9
  585. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/SourceMapsResolver.js +0 -224
  586. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.js +0 -4
  587. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/FileManager.js +0 -64
  588. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +0 -504
  589. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/SearchConfig.js +0 -113
  590. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/UISourceCode.js +0 -601
  591. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +0 -201
  592. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace-meta.js +0 -34
  593. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace.js +0 -9
  594. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/codemirror.next/codemirror.next.js +0 -1
  595. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/LICENSE +0 -202
  596. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n-impl.js +0 -46
  597. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n.js +0 -6
  598. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/localized-string-set.js +0 -122
  599. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/LICENSE +0 -33
  600. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/intl-messageformat.js +0 -5
  601. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/index.js +0 -13
  602. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +0 -1725
  603. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +0 -1840
  604. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/index.js +0 -10
  605. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/core.js +0 -233
  606. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/error.js +0 -48
  607. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +0 -177
  608. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/core.js +0 -236
  609. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/error.js +0 -51
  610. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/formatters.js +0 -182
  611. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/LICENSE +0 -202
  612. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/legacy-javascript.js +0 -2
  613. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +0 -940
  614. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/LICENSE +0 -39
  615. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/marked.js +0 -2
  616. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/main.js +0 -255
  617. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/marked.js +0 -11
  618. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.esm.js +0 -2695
  619. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.js +0 -2233
  620. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.umd.js +0 -2719
  621. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Lexer.js +0 -453
  622. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Parser.js +0 -233
  623. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Renderer.js +0 -137
  624. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Slugger.js +0 -46
  625. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/TextRenderer.js +0 -34
  626. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Tokenizer.js +0 -683
  627. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/defaults.js +0 -27
  628. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/helpers.js +0 -240
  629. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/marked.js +0 -318
  630. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/rules.js +0 -243
  631. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/LICENSE +0 -26
  632. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +0 -196
  633. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +0 -226
  634. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/codec.js +0 -4
  635. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +0 -394
  636. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +0 -24
  637. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +0 -283
  638. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/mod.js +0 -7
  639. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/util.js +0 -9
  640. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +0 -84
  641. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.js +0 -4
  642. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/LICENSE +0 -20
  643. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/lib/nostats-subset.js +0 -146
  644. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +0 -2
  645. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-subset.js +0 -2
  646. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +0 -118
  647. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +0 -40
  648. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/entities.test.js +0 -26
  649. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.js +0 -4
  650. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.test.js +0 -215
  651. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +0 -4
  652. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +0 -4
  653. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +0 -4
  654. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/nostats-subset.js +0 -2
  655. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/third-party-web.js +0 -2
  656. package/build/node_modules/chrome-devtools-frontend/mcp/HostBindings.js +0 -222
  657. package/build/node_modules/chrome-devtools-frontend/mcp/mcp.js +0 -35
@@ -1,995 +0,0 @@
1
- // Copyright 2025 The Chromium Authors
2
- // Use of this source code is governed by a BSD-style license that can be
3
- // found in the LICENSE file.
4
- import * as Common from '../../../core/common/common.js';
5
- import * as Trace from '../../trace/trace.js';
6
- import { PerformanceTraceFormatter } from './PerformanceTraceFormatter.js';
7
- import { bytes, millis } from './UnitFormatters.js';
8
- /**
9
- * For a given frame ID and navigation ID, returns the LCP Event and the LCP Request, if the resource was an image.
10
- */
11
- function getLCPData(parsedTrace, frameId, navigationId) {
12
- const navMetrics = parsedTrace.data.PageLoadMetrics.metricScoresByFrameId.get(frameId)?.get(navigationId);
13
- if (!navMetrics) {
14
- return null;
15
- }
16
- const metric = navMetrics.get("LCP" /* Trace.Handlers.ModelHandlers.PageLoadMetrics.MetricName.LCP */);
17
- if (!metric || !Trace.Handlers.ModelHandlers.PageLoadMetrics.metricIsLCP(metric)) {
18
- return null;
19
- }
20
- const lcpEvent = metric?.event;
21
- if (!lcpEvent || !Trace.Types.Events.isLargestContentfulPaintCandidate(lcpEvent)) {
22
- return null;
23
- }
24
- return {
25
- lcpEvent,
26
- lcpRequest: parsedTrace.data.LargestImagePaint.lcpRequestByNavigationId.get(navigationId),
27
- metricScore: metric,
28
- };
29
- }
30
- export class PerformanceInsightFormatter {
31
- #traceFormatter;
32
- #insight;
33
- #parsedTrace;
34
- constructor(focus, insight) {
35
- this.#traceFormatter = new PerformanceTraceFormatter(focus);
36
- this.#insight = insight;
37
- this.#parsedTrace = focus.parsedTrace;
38
- }
39
- #formatMilli(x) {
40
- if (x === undefined) {
41
- return '';
42
- }
43
- return millis(x);
44
- }
45
- #formatMicro(x) {
46
- if (x === undefined) {
47
- return '';
48
- }
49
- return this.#formatMilli(Trace.Helpers.Timing.microToMilli(x));
50
- }
51
- #formatRequestUrl(request) {
52
- return `${request.args.data.url} ${this.#traceFormatter.serializeEvent(request)}`;
53
- }
54
- #formatScriptUrl(script) {
55
- if (script.request) {
56
- return this.#formatRequestUrl(script.request);
57
- }
58
- return script.url ?? script.sourceUrl ?? script.scriptId;
59
- }
60
- #formatUrl(url) {
61
- const request = this.#parsedTrace.data.NetworkRequests.byTime.find(request => request.args.data.url === url);
62
- if (request) {
63
- return this.#formatRequestUrl(request);
64
- }
65
- return url;
66
- }
67
- /**
68
- * Information about LCP which we pass to the LLM for all insights that relate to LCP.
69
- */
70
- #lcpMetricSharedContext() {
71
- if (!this.#insight.navigationId) {
72
- // No navigation ID = no LCP.
73
- return '';
74
- }
75
- if (!this.#insight.frameId || !this.#insight.navigationId) {
76
- return '';
77
- }
78
- const data = getLCPData(this.#parsedTrace, this.#insight.frameId, this.#insight.navigationId);
79
- if (!data) {
80
- return '';
81
- }
82
- const { metricScore, lcpRequest, lcpEvent } = data;
83
- const theLcpElement = lcpEvent.args.data?.nodeName ?
84
- `The LCP element (${lcpEvent.args.data.nodeName}, nodeId: ${lcpEvent.args.data.nodeId})` :
85
- 'The LCP element';
86
- const parts = [
87
- `The Largest Contentful Paint (LCP) time for this navigation was ${this.#formatMicro(metricScore.timing)}.`,
88
- ];
89
- if (lcpRequest) {
90
- parts.push(`${theLcpElement} is an image fetched from ${this.#formatRequestUrl(lcpRequest)}.`);
91
- const request = this.#traceFormatter.formatNetworkRequests([lcpRequest], { verbose: true, customTitle: 'LCP resource network request' });
92
- parts.push(request);
93
- }
94
- else {
95
- parts.push(`${theLcpElement} is text and was not fetched from the network.`);
96
- }
97
- return parts.join('\n');
98
- }
99
- insightIsSupported() {
100
- // Although our types don't show it, Insights can end up as Errors if there
101
- // is an issue in the processing stage. In this case we should gracefully
102
- // ignore this error.
103
- if (this.#insight instanceof Error) {
104
- return false;
105
- }
106
- return this.#description().length > 0;
107
- }
108
- getSuggestions() {
109
- switch (this.#insight.insightKey) {
110
- case 'CLSCulprits':
111
- return [
112
- { title: 'Help me optimize my CLS score' },
113
- { title: 'How can I prevent layout shifts on this page?' },
114
- ];
115
- case 'DocumentLatency':
116
- return [
117
- { title: 'How do I decrease the initial loading time of my page?' },
118
- { title: 'Did anything slow down the request for this document?' },
119
- ];
120
- case 'DOMSize':
121
- return [{ title: 'How can I reduce the size of my DOM?' }];
122
- case 'DuplicatedJavaScript':
123
- return [
124
- { title: 'How do I deduplicate the identified scripts in my bundle?' },
125
- { title: 'Which duplicated JavaScript modules are the most problematic?' }
126
- ];
127
- case 'FontDisplay':
128
- return [
129
- { title: 'How can I update my CSS to avoid layout shifts caused by incorrect `font-display` properties?' }
130
- ];
131
- case 'ForcedReflow':
132
- return [
133
- { title: 'How can I avoid forced reflows and layout thrashing?' },
134
- { title: 'What is forced reflow and why is it problematic?' }
135
- ];
136
- case 'ImageDelivery':
137
- return [
138
- { title: 'What should I do to improve and optimize the time taken to fetch and display images on the page?' },
139
- { title: 'Are all images on my site optimized?' },
140
- ];
141
- case 'INPBreakdown':
142
- return [
143
- { title: 'Suggest fixes for my longest interaction' }, { title: 'Why is a large INP score problematic?' },
144
- { title: 'What\'s the biggest contributor to my longest interaction?' }
145
- ];
146
- case 'LCPDiscovery':
147
- return [
148
- { title: 'Suggest fixes to reduce my LCP' }, { title: 'What can I do to reduce my LCP discovery time?' },
149
- { title: 'Why is LCP discovery time important?' }
150
- ];
151
- case 'LCPBreakdown':
152
- return [
153
- { title: 'Help me optimize my LCP score' }, { title: 'Which LCP phase was most problematic?' },
154
- { title: 'What can I do to reduce the LCP time for this page load?' }
155
- ];
156
- case 'NetworkDependencyTree':
157
- return [{ title: 'How do I optimize my network dependency tree?' }];
158
- case 'RenderBlocking':
159
- return [
160
- { title: 'Show me the most impactful render blocking requests that I should focus on' },
161
- { title: 'How can I reduce the number of render blocking requests?' }
162
- ];
163
- case 'SlowCSSSelector':
164
- return [{ title: 'How can I optimize my CSS to increase the performance of CSS selectors?' }];
165
- case 'ThirdParties':
166
- return [{ title: 'Which third parties are having the largest impact on my page performance?' }];
167
- case 'Cache':
168
- return [{ title: 'What caching strategies can I apply to improve my page performance?' }];
169
- case 'Viewport':
170
- return [{ title: 'How do I make sure my page is optimized for mobile viewing?' }];
171
- case 'ModernHTTP':
172
- return [
173
- { title: 'Is my site using the best HTTP practices?' },
174
- { title: 'Which resources are not using a modern HTTP protocol?' },
175
- ];
176
- case 'LegacyJavaScript':
177
- return [
178
- { title: 'Is my site polyfilling modern JavaScript features?' },
179
- { title: 'How can I reduce the amount of legacy JavaScript on my page?' },
180
- ];
181
- default:
182
- throw new Error('Unknown insight key');
183
- }
184
- }
185
- /**
186
- * Create an AI prompt string out of the Cache Insight model to use with Ask AI.
187
- * Note: This function accesses the UIStrings within Cache to help build the
188
- * AI prompt, but does not (and should not) call i18nString to localize these strings. They
189
- * should all be sent in English (at least for now).
190
- * @param insight The Cache Insight Model to query.
191
- * @returns a string formatted for sending to Ask AI.
192
- */
193
- formatCacheInsight(insight) {
194
- if (insight.requests.length === 0) {
195
- return Trace.Insights.Models.Cache.UIStrings.noRequestsToCache + '.';
196
- }
197
- let output = 'The following resources were associated with ineffficient cache policies:\n';
198
- for (const entry of insight.requests) {
199
- output += `\n- ${this.#formatRequestUrl(entry.request)}`;
200
- output += `\n - Cache Time to Live (TTL): ${entry.ttl} seconds`;
201
- output += `\n - Wasted bytes: ${bytes(entry.wastedBytes)}`;
202
- }
203
- output += '\n\n' + Trace.Insights.Models.Cache.UIStrings.description;
204
- return output;
205
- }
206
- #formatLayoutShift(shift, index, rootCauses) {
207
- const baseTime = this.#parsedTrace.data.Meta.traceBounds.min;
208
- const potentialRootCauses = [];
209
- if (rootCauses) {
210
- rootCauses.iframes.forEach(iframe => potentialRootCauses.push(`- An iframe (id: ${iframe.frame}, url: ${iframe.url ?? 'unknown'} was injected into the page)`));
211
- rootCauses.webFonts.forEach(req => {
212
- potentialRootCauses.push(`- A font that was loaded over the network: ${this.#formatRequestUrl(req)}.`);
213
- });
214
- rootCauses.nonCompositedAnimations.forEach(nonCompositedFailure => {
215
- potentialRootCauses.push('- A non-composited animation:');
216
- const animationInfoOutput = [];
217
- potentialRootCauses.push(`- non-composited animation: \`${nonCompositedFailure.name || '(unnamed)'}\``);
218
- if (nonCompositedFailure.name) {
219
- animationInfoOutput.push(`Animation name: ${nonCompositedFailure.name}`);
220
- }
221
- if (nonCompositedFailure.unsupportedProperties) {
222
- animationInfoOutput.push('Unsupported CSS properties:');
223
- animationInfoOutput.push('- ' + nonCompositedFailure.unsupportedProperties.join(', '));
224
- }
225
- animationInfoOutput.push('Failure reasons:');
226
- animationInfoOutput.push(' - ' + nonCompositedFailure.failureReasons.join(', '));
227
- // Extra padding to the detail to not mess up the indentation.
228
- potentialRootCauses.push(animationInfoOutput.map(l => ' '.repeat(4) + l).join('\n'));
229
- });
230
- rootCauses.unsizedImages.forEach(img => {
231
- // TODO(b/413284569): if we store a nice human readable name for this
232
- // image in the trace metadata, we can do something much nicer here.
233
- const url = img.paintImageEvent.args.data.url;
234
- const nodeName = img.paintImageEvent.args.data.nodeName;
235
- const extraText = url ? `url: ${this.#formatUrl(url)}` : `id: ${img.backendNodeId}`;
236
- potentialRootCauses.push(`- An unsized image (${nodeName}) (${extraText}).`);
237
- });
238
- }
239
- const rootCauseText = potentialRootCauses.length ? `- Potential root causes:\n ${potentialRootCauses.join('\n')}` :
240
- '- No potential root causes identified';
241
- const startTime = Trace.Helpers.Timing.microToMilli(Trace.Types.Timing.Micro(shift.ts - baseTime));
242
- const impactedNodeNames = shift.rawSourceEvent.args.data?.impacted_nodes?.map(n => n.debug_name).filter(name => name !== undefined) ?? [];
243
- const impactedNodeText = impactedNodeNames.length ? `\n- Impacted elements:\n - ${impactedNodeNames.join('\n - ')}\n` : '';
244
- return `### Layout shift ${index + 1}:${impactedNodeText}
245
- - Start time: ${millis(startTime)}
246
- - Score: ${shift.args.data?.weighted_score_delta.toFixed(4)}
247
- ${rootCauseText}`;
248
- }
249
- /**
250
- * Create an AI prompt string out of the CLS Culprits Insight model to use with Ask AI.
251
- * @param insight The CLS Culprits Model to query.
252
- * @returns a string formatted for sending to Ask AI.
253
- */
254
- formatClsCulpritsInsight(insight) {
255
- const { worstCluster, shifts } = insight;
256
- if (!worstCluster) {
257
- return 'No layout shifts were found.';
258
- }
259
- const baseTime = this.#parsedTrace.data.Meta.traceBounds.min;
260
- const clusterTimes = {
261
- start: worstCluster.ts - baseTime,
262
- end: worstCluster.ts + worstCluster.dur - baseTime,
263
- };
264
- const shiftsFormatted = worstCluster.events.map((layoutShift, index) => {
265
- return this.#formatLayoutShift(layoutShift, index, shifts.get(layoutShift));
266
- });
267
- return `The worst layout shift cluster was the cluster that started at ${this.#formatMicro(clusterTimes.start)} and ended at ${this.#formatMicro(clusterTimes.end)}, with a duration of ${this.#formatMicro(worstCluster.dur)}.
268
- The score for this cluster is ${worstCluster.clusterCumulativeScore.toFixed(4)}.
269
-
270
- Layout shifts in this cluster:
271
- ${shiftsFormatted.join('\n')}`;
272
- }
273
- /**
274
- * Create an AI prompt string out of the Document Latency Insight model to use with Ask AI.
275
- * @param insight The Document Latency Model to query.
276
- * @returns a string formatted for sending to Ask AI.
277
- */
278
- formatDocumentLatencyInsight(insight) {
279
- if (!insight.data) {
280
- return '';
281
- }
282
- const { checklist, documentRequest } = insight.data;
283
- if (!documentRequest) {
284
- return '';
285
- }
286
- const checklistBulletPoints = [];
287
- checklistBulletPoints.push({
288
- name: 'The request was not redirected',
289
- passed: checklist.noRedirects.value,
290
- });
291
- checklistBulletPoints.push({
292
- name: 'Server responded quickly',
293
- passed: checklist.serverResponseIsFast.value,
294
- });
295
- checklistBulletPoints.push({
296
- name: 'Compression was applied',
297
- passed: checklist.usesCompression.value,
298
- });
299
- return `${this.#lcpMetricSharedContext()}
300
-
301
- ${this.#traceFormatter.formatNetworkRequests([documentRequest], {
302
- verbose: true,
303
- customTitle: 'Document network request'
304
- })}
305
-
306
- The result of the checks for this insight are:
307
- ${checklistBulletPoints.map(point => `- ${point.name}: ${point.passed ? 'PASSED' : 'FAILED'}`).join('\n')}`;
308
- }
309
- /**
310
- * Create an AI prompt string out of the DOM Size model to use with Ask AI.
311
- * Note: This function accesses the UIStrings within DomSize to help build the
312
- * AI prompt, but does not (and should not) call i18nString to localize these strings. They
313
- * should all be sent in English (at least for now).
314
- * @param insight The DOM Size Insight Model to query.
315
- * @returns a string formatted for sending to Ask AI.
316
- */
317
- formatDomSizeInsight(insight) {
318
- if (insight.state === 'pass') {
319
- return 'No DOM size issues were detected.';
320
- }
321
- let output = Trace.Insights.Models.DOMSize.UIStrings.description + '\n';
322
- if (insight.maxDOMStats) {
323
- output += '\n' + Trace.Insights.Models.DOMSize.UIStrings.statistic + ':\n\n';
324
- const maxDepthStats = insight.maxDOMStats.args.data.maxDepth;
325
- const maxChildrenStats = insight.maxDOMStats.args.data.maxChildren;
326
- output += Trace.Insights.Models.DOMSize.UIStrings.totalElements + ': ' +
327
- insight.maxDOMStats.args.data.totalElements + '.\n';
328
- if (maxDepthStats) {
329
- output += Trace.Insights.Models.DOMSize.UIStrings.maxDOMDepth + ': ' + maxDepthStats.depth +
330
- ` nodes, starting with element '${maxDepthStats.nodeName}'` +
331
- ' (node id: ' + maxDepthStats.nodeId + ').\n';
332
- }
333
- if (maxChildrenStats) {
334
- output += Trace.Insights.Models.DOMSize.UIStrings.maxChildren + ': ' + maxChildrenStats.numChildren +
335
- `, for parent '${maxChildrenStats.nodeName}'` +
336
- ' (node id: ' + maxChildrenStats.nodeId + ').\n';
337
- }
338
- }
339
- if (insight.largeLayoutUpdates.length > 0 || insight.largeStyleRecalcs.length > 0) {
340
- output += `\nLarge layout updates/style calculations:\n`;
341
- }
342
- if (insight.largeLayoutUpdates.length > 0) {
343
- for (const update of insight.largeLayoutUpdates) {
344
- output += `\n - Layout update: Duration: ${this.#formatMicro(update.dur)},`;
345
- output += ` with ${update.args.beginData.dirtyObjects} of ${update.args.beginData.totalObjects} nodes needing layout.`;
346
- }
347
- }
348
- if (insight.largeStyleRecalcs.length > 0) {
349
- for (const recalc of insight.largeStyleRecalcs) {
350
- output += `\n - Style recalculation: Duration: ${this.#formatMicro(recalc.dur)}, `;
351
- output += `with ${recalc.args.elementCount} elements affected.`;
352
- }
353
- }
354
- return output;
355
- }
356
- /**
357
- * Create an AI prompt string out of the Duplicated JavaScript Insight model to use with Ask AI.
358
- * @param insight The Duplicated JavaScript Model to query.
359
- * @returns a string formatted for sending to Ask AI.
360
- */
361
- formatDuplicatedJavaScriptInsight(insight) {
362
- const totalWastedBytes = insight.wastedBytes;
363
- const duplicatedScriptsByModule = insight.duplicationGroupedByNodeModules;
364
- if (duplicatedScriptsByModule.size === 0) {
365
- return 'There is no duplicated JavaScript in the page modules';
366
- }
367
- const filesFormatted = Array.from(duplicatedScriptsByModule)
368
- .map(([module, duplication]) => `- Source: ${module} - Duplicated bytes: ${duplication.estimatedDuplicateBytes} bytes`)
369
- .join('\n');
370
- return `Total wasted bytes: ${totalWastedBytes} bytes.
371
-
372
- Duplication grouped by Node modules: ${filesFormatted}`;
373
- }
374
- /**
375
- * Create an AI prompt string out of the NetworkDependencyTree Insight model to use with Ask AI.
376
- * Note: This function accesses the UIStrings within NetworkDependencyTree to help build the
377
- * AI prompt, but does not (and should not) call i18nString to localize these strings. They
378
- * should all be sent in English (at least for now).
379
- * @param insight The Network Dependency Tree Insight Model to query.
380
- * @returns a string formatted for sending to Ask AI.
381
- */
382
- formatFontDisplayInsight(insight) {
383
- if (insight.fonts.length === 0) {
384
- return 'No font display issues were detected.';
385
- }
386
- let output = 'The following font display issues were found:\n';
387
- for (const font of insight.fonts) {
388
- let fontName = font.name;
389
- if (!fontName) {
390
- const url = new Common.ParsedURL.ParsedURL(font.request.args.data.url);
391
- fontName = url.isValid ? url.lastPathComponent : '(not available)';
392
- }
393
- output += `\n - Font name: ${fontName}, URL: ${this.#formatRequestUrl(font.request)}, Property 'font-display' set to: '${font.display}', Wasted time: ${this.#formatMilli(font.wastedTime)}.`;
394
- }
395
- output += '\n\n' + Trace.Insights.Models.FontDisplay.UIStrings.description;
396
- return output;
397
- }
398
- /**
399
- * Create an AI prompt string out of the Forced Reflow Insight model to use with Ask AI.
400
- * Note: This function accesses the UIStrings within ForcedReflow model to help build the
401
- * AI prompt, but does not (and should not) call i18nString to localize these strings. They
402
- * should all be sent in English (at least for now).
403
- * @param insight The ForcedReflow Insight Model to query.
404
- * @returns a string formatted for sending to Ask AI.
405
- */
406
- formatForcedReflowInsight(insight) {
407
- let output = Trace.Insights.Models.ForcedReflow.UIStrings.description + '\n\n';
408
- if (insight.topLevelFunctionCallData || insight.aggregatedBottomUpData.length > 0) {
409
- output += 'The forced reflow checks revealed one or more problems.\n\n';
410
- }
411
- else {
412
- output += 'The forced reflow checks revealed no problems.';
413
- return output;
414
- }
415
- function callFrameToString(frame) {
416
- if (frame === null) {
417
- return Trace.Insights.Models.ForcedReflow.UIStrings.unattributed;
418
- }
419
- let result = `${frame.functionName || Trace.Insights.Models.ForcedReflow.UIStrings.anonymous}`;
420
- if (frame.url) {
421
- result += ` @ ${frame.url}:${frame.lineNumber}:${frame.columnNumber}`;
422
- }
423
- else {
424
- result += ' @ unknown location';
425
- }
426
- return result;
427
- }
428
- if (insight.topLevelFunctionCallData) {
429
- output += 'The following is the top function call that caused forced reflow(s):\n\n';
430
- output += ' - ' + callFrameToString(insight.topLevelFunctionCallData.topLevelFunctionCall);
431
- output += `\n\n${Trace.Insights.Models.ForcedReflow.UIStrings.totalReflowTime}: ${this.#formatMicro(insight.topLevelFunctionCallData.totalReflowTime)}\n`;
432
- }
433
- else {
434
- output += 'No top-level functions causing forced reflows were identified.\n';
435
- }
436
- if (insight.aggregatedBottomUpData.length > 0) {
437
- output += '\n' + Trace.Insights.Models.ForcedReflow.UIStrings.reflowCallFrames + ' (including total time):\n';
438
- for (const data of insight.aggregatedBottomUpData) {
439
- output += `\n - ${this.#formatMicro(data.totalTime)} in ${callFrameToString(data.bottomUpData)}`;
440
- }
441
- }
442
- else {
443
- output += '\nNo aggregated bottom-up causes of forced reflows were identified.';
444
- }
445
- return output;
446
- }
447
- /**
448
- * Create an AI prompt string out of the INP Brekdown Insight model to use with Ask AI.
449
- * @param insight The INP Breakdown Model to query.
450
- * @returns a string formatted for sending to Ask AI.
451
- */
452
- formatImageDeliveryInsight(insight) {
453
- const optimizableImages = insight.optimizableImages;
454
- if (optimizableImages.length === 0) {
455
- return 'There are no unoptimized images on this page.';
456
- }
457
- const imageDetails = optimizableImages
458
- .map(image => {
459
- // List potential optimizations for the image
460
- const optimizations = image.optimizations
461
- .map(optimization => {
462
- const message = Trace.Insights.Models.ImageDelivery.getOptimizationMessage(optimization);
463
- const byteSavings = bytes(optimization.byteSavings);
464
- return `${message} (Est ${byteSavings})`;
465
- })
466
- .join('\n');
467
- return `### ${this.#formatRequestUrl(image.request)}
468
- - Potential savings: ${bytes(image.byteSavings)}
469
- - Optimizations:\n${optimizations}`;
470
- })
471
- .join('\n\n');
472
- return `Total potential savings: ${bytes(insight.wastedBytes)}
473
-
474
- The following images could be optimized:\n\n${imageDetails}`;
475
- }
476
- /**
477
- * Create an AI prompt string out of the INP Brekdown Insight model to use with Ask AI.
478
- * @param insight The INP Breakdown Model to query.
479
- * @returns a string formatted for sending to Ask AI.
480
- */
481
- formatInpBreakdownInsight(insight) {
482
- const event = insight.longestInteractionEvent;
483
- if (!event) {
484
- return '';
485
- }
486
- const inpInfoForEvent = `The longest interaction on the page was a \`${event.type}\` which had a total duration of \`${this.#formatMicro(event.dur)}\`. The timings of each of the three phases were:
487
-
488
- 1. Input delay: ${this.#formatMicro(event.inputDelay)}
489
- 2. Processing duration: ${this.#formatMicro(event.mainThreadHandling)}
490
- 3. Presentation delay: ${this.#formatMicro(event.presentationDelay)}.`;
491
- return inpInfoForEvent;
492
- }
493
- /**
494
- * Create an AI prompt string out of the LCP Brekdown Insight model to use with Ask AI.
495
- * @param insight The LCP Breakdown Model to query.
496
- * @returns a string formatted for sending to Ask AI.
497
- */
498
- formatLcpBreakdownInsight(insight) {
499
- const { subparts, lcpMs } = insight;
500
- if (!lcpMs || !subparts) {
501
- return '';
502
- }
503
- // Text based LCP has TTFB & Render delay
504
- // Image based has TTFB, Load delay, Load time and Render delay
505
- // Note that we expect every trace + LCP to have TTFB + Render delay, but
506
- // very old traces are missing the data, so we have to code defensively
507
- // in case the subparts are not present.
508
- const phaseBulletPoints = [];
509
- Object.values(subparts).forEach((subpart) => {
510
- const phaseMilli = Trace.Helpers.Timing.microToMilli(subpart.range);
511
- const percentage = (phaseMilli / lcpMs * 100).toFixed(1);
512
- phaseBulletPoints.push({ name: subpart.label, value: this.#formatMilli(phaseMilli), percentage });
513
- });
514
- return `${this.#lcpMetricSharedContext()}
515
-
516
- We can break this time down into the ${phaseBulletPoints.length} phases that combine to make the LCP time:
517
-
518
- ${phaseBulletPoints.map(phase => `- ${phase.name}: ${phase.value} (${phase.percentage}% of total LCP time)`)
519
- .join('\n')}`;
520
- }
521
- /**
522
- * Create an AI prompt string out of the LCP Brekdown Insight model to use with Ask AI.
523
- * @param insight The LCP Breakdown Model to query.
524
- * @returns a string formatted for sending to Ask AI.
525
- */
526
- formatLcpDiscoveryInsight(insight) {
527
- const { checklist, lcpEvent, lcpRequest, earliestDiscoveryTimeTs } = insight;
528
- if (!checklist || !lcpEvent || !lcpRequest || !earliestDiscoveryTimeTs) {
529
- return '';
530
- }
531
- const checklistBulletPoints = [];
532
- checklistBulletPoints.push({
533
- name: checklist.priorityHinted.label,
534
- passed: checklist.priorityHinted.value,
535
- });
536
- checklistBulletPoints.push({
537
- name: checklist.eagerlyLoaded.label,
538
- passed: checklist.eagerlyLoaded.value,
539
- });
540
- checklistBulletPoints.push({
541
- name: checklist.requestDiscoverable.label,
542
- passed: checklist.requestDiscoverable.value,
543
- });
544
- return `${this.#lcpMetricSharedContext()}
545
-
546
- The result of the checks for this insight are:
547
- ${checklistBulletPoints.map(point => `- ${point.name}: ${point.passed ? 'PASSED' : 'FAILED'}`).join('\n')}`;
548
- }
549
- /**
550
- * Create an AI prompt string out of the Legacy JavaScript Insight model to use with Ask AI.
551
- * @param insight The Legacy JavaScript Model to query.
552
- * @returns a string formatted for sending to Ask AI.
553
- */
554
- formatLegacyJavaScriptInsight(insight) {
555
- const legacyJavaScriptResults = insight.legacyJavaScriptResults;
556
- if (legacyJavaScriptResults.size === 0) {
557
- return 'There is no significant amount of legacy JavaScript on the page.';
558
- }
559
- const filesFormatted = Array.from(legacyJavaScriptResults)
560
- .map(([script, result]) => `\n- Script: ${this.#formatScriptUrl(script)} - Wasted bytes: ${result.estimatedByteSavings} bytes
561
- Matches:
562
- ${result.matches.map(match => `Line: ${match.line}, Column: ${match.column}, Name: ${match.name}`).join('\n')}`)
563
- .join('\n');
564
- return `Total legacy JavaScript: ${legacyJavaScriptResults.size} files.
565
-
566
- Legacy JavaScript by file:
567
- ${filesFormatted}`;
568
- }
569
- /**
570
- * Create an AI prompt string out of the Modern HTTP Insight model to use with Ask AI.
571
- * @param insight The Modern HTTP Model to query.
572
- * @returns a string formatted for sending to Ask AI.
573
- */
574
- formatModernHttpInsight(insight) {
575
- const requestSummary = (insight.http1Requests.length === 1) ?
576
- this.#traceFormatter.formatNetworkRequests(insight.http1Requests, { verbose: true }) :
577
- this.#traceFormatter.formatNetworkRequests(insight.http1Requests);
578
- if (requestSummary.length === 0) {
579
- return 'There are no requests that were served over a legacy HTTP protocol.';
580
- }
581
- return `Here is a list of the network requests that were served over a legacy HTTP protocol:
582
- ${requestSummary}`;
583
- }
584
- /**
585
- * Create an AI prompt string out of the NetworkDependencyTree Insight model to use with Ask AI.
586
- * Note: This function accesses the UIStrings within NetworkDependencyTree to help build the
587
- * AI prompt, but does not (and should not) call i18nString to localize these strings. They
588
- * should all be sent in English (at least for now).
589
- * @param insight The Network Dependency Tree Insight Model to query.
590
- * @returns a string formatted for sending to Ask AI.
591
- */
592
- formatNetworkDependencyTreeInsight(insight) {
593
- let output = insight.fail ?
594
- 'The network dependency tree checks found one or more problems.\n\n' :
595
- 'The network dependency tree checks revealed no problems, but optimization suggestions may be available.\n\n';
596
- const rootNodes = insight.rootNodes;
597
- if (rootNodes.length > 0) {
598
- output += `Max critical path latency is ${this.#formatMicro(insight.maxTime)}\n\n`;
599
- output += 'The following is the critical request chain:\n';
600
- function formatNode(node, indent) {
601
- const url = this.#formatRequestUrl(node.request);
602
- const time = this.#formatMicro(node.timeFromInitialRequest);
603
- const isLongest = node.isLongest ? ' (longest chain)' : '';
604
- let nodeString = `${indent}- ${url} (${time})${isLongest}\n`;
605
- for (const child of node.children) {
606
- nodeString += formatNode.call(this, child, indent + ' ');
607
- }
608
- return nodeString;
609
- }
610
- for (const rootNode of rootNodes) {
611
- output += formatNode.call(this, rootNode, '');
612
- }
613
- output += '\n';
614
- }
615
- else {
616
- output += `${Trace.Insights.Models.NetworkDependencyTree.UIStrings.noNetworkDependencyTree}.\n\n`;
617
- }
618
- if (insight.preconnectedOrigins?.length > 0) {
619
- output += `${Trace.Insights.Models.NetworkDependencyTree.UIStrings.preconnectOriginsTableTitle}:\n`;
620
- output += `${Trace.Insights.Models.NetworkDependencyTree.UIStrings.preconnectOriginsTableDescription}\n`;
621
- for (const origin of insight.preconnectedOrigins) {
622
- const headerText = 'headerText' in origin ? `'${origin.headerText}'` : ``;
623
- output += `
624
- - ${origin.url}
625
- - ${Trace.Insights.Models.NetworkDependencyTree.UIStrings.columnSource}: '${origin.source}'`;
626
- if (headerText) {
627
- output += `\n - Header: ${headerText}`;
628
- }
629
- if (origin.unused) {
630
- output += `\n - Warning: ${Trace.Insights.Models.NetworkDependencyTree.UIStrings.unusedWarning}`;
631
- }
632
- if (origin.crossorigin) {
633
- output += `\n - Warning: ${Trace.Insights.Models.NetworkDependencyTree.UIStrings.crossoriginWarning}`;
634
- }
635
- }
636
- if (insight.preconnectedOrigins.length >
637
- Trace.Insights.Models.NetworkDependencyTree.TOO_MANY_PRECONNECTS_THRESHOLD) {
638
- output +=
639
- `\n\n**Warning**: ${Trace.Insights.Models.NetworkDependencyTree.UIStrings.tooManyPreconnectLinksWarning}`;
640
- }
641
- }
642
- else {
643
- output += `${Trace.Insights.Models.NetworkDependencyTree.UIStrings.noPreconnectOrigins}.`;
644
- }
645
- if (insight.preconnectCandidates.length > 0 &&
646
- insight.preconnectedOrigins.length <
647
- Trace.Insights.Models.NetworkDependencyTree.TOO_MANY_PRECONNECTS_THRESHOLD) {
648
- output += `\n\n${Trace.Insights.Models.NetworkDependencyTree.UIStrings.estSavingTableTitle}:\n${Trace.Insights.Models.NetworkDependencyTree.UIStrings.estSavingTableDescription}\n`;
649
- for (const candidate of insight.preconnectCandidates) {
650
- output += `\nAdding [preconnect] to origin '${candidate.origin}' would save ${this.#formatMilli(candidate.wastedMs)}.`;
651
- }
652
- }
653
- return output;
654
- }
655
- /**
656
- * Create an AI prompt string out of the Render Blocking Insight model to use with Ask AI.
657
- * @param insight The Render Blocking Model to query.
658
- * @returns a string formatted for sending to Ask AI.
659
- */
660
- formatRenderBlockingInsight(insight) {
661
- const requestSummary = this.#traceFormatter.formatNetworkRequests(insight.renderBlockingRequests);
662
- if (requestSummary.length === 0) {
663
- return 'There are no network requests that are render blocking.';
664
- }
665
- return `Here is a list of the network requests that were render blocking on this page and their duration:
666
-
667
- ${requestSummary}`;
668
- }
669
- /**
670
- * Create an AI prompt string out of the Slow CSS Selector Insight model to use with Ask AI.
671
- * Note: This function accesses the UIStrings within SlowCSSSelector to help build the
672
- * AI prompt, but does not (and should not) call i18nString to localize these strings. They
673
- * should all be sent in English (at least for now).
674
- * @param insight The Network Dependency Tree Insight Model to query.
675
- * @returns a string formatted for sending to Ask AI.
676
- */
677
- formatSlowCssSelectorsInsight(insight) {
678
- let output = '';
679
- if (!insight.topSelectorElapsedMs && !insight.topSelectorMatchAttempts) {
680
- return Trace.Insights.Models.SlowCSSSelector.UIStrings.enableSelectorData;
681
- }
682
- output += 'One or more slow CSS selectors were identified as negatively affecting page performance:\n\n';
683
- if (insight.topSelectorElapsedMs) {
684
- output += `${Trace.Insights.Models.SlowCSSSelector.UIStrings.topSelectorElapsedTime} (as ranked by elapsed time in ms):\n`;
685
- output += `${this.#formatMicro(insight.topSelectorElapsedMs['elapsed (us)'])}: ${insight.topSelectorElapsedMs.selector}\n\n`;
686
- }
687
- if (insight.topSelectorMatchAttempts) {
688
- output += Trace.Insights.Models.SlowCSSSelector.UIStrings.topSelectorMatchAttempt + ':\n';
689
- output += `${insight.topSelectorMatchAttempts.match_attempts} attempts for selector: '${insight.topSelectorMatchAttempts.selector}'\n\n`;
690
- }
691
- output += `${Trace.Insights.Models.SlowCSSSelector.UIStrings.total}:\n`;
692
- output +=
693
- `${Trace.Insights.Models.SlowCSSSelector.UIStrings.elapsed}: ${this.#formatMicro(insight.totalElapsedMs)}\n`;
694
- output += `${Trace.Insights.Models.SlowCSSSelector.UIStrings.matchAttempts}: ${insight.totalMatchAttempts}\n`;
695
- output += `${Trace.Insights.Models.SlowCSSSelector.UIStrings.matchCount}: ${insight.totalMatchCount}\n\n`;
696
- output += Trace.Insights.Models.SlowCSSSelector.UIStrings.description;
697
- return output;
698
- }
699
- /**
700
- * Create an AI prompt string out of the ThirdParties Insight model to use with Ask AI.
701
- * Note: This function accesses the UIStrings within ThirdParties to help build the
702
- * AI prompt, but does not (and should not) call i18nString to localize these strings. They
703
- * should all be sent in English (at least for now).
704
- * @param insight The Third Parties Insight Model to query.
705
- * @returns a string formatted for sending to Ask AI.
706
- */
707
- formatThirdPartiesInsight(insight) {
708
- let output = '';
709
- const entitySummaries = insight.entitySummaries ?? [];
710
- const firstPartyEntity = insight.firstPartyEntity;
711
- const thirdPartyTransferSizeEntries = entitySummaries.filter(s => s.entity !== firstPartyEntity).toSorted((a, b) => b.transferSize - a.transferSize);
712
- const thirdPartyMainThreadTimeEntries = entitySummaries.filter(s => s.entity !== firstPartyEntity)
713
- .toSorted((a, b) => b.mainThreadTime - a.mainThreadTime);
714
- if (!thirdPartyTransferSizeEntries.length && !thirdPartyMainThreadTimeEntries.length) {
715
- return `No 3rd party scripts were found on this page.`;
716
- }
717
- if (thirdPartyTransferSizeEntries.length) {
718
- output += `The following list contains the largest transfer sizes by a 3rd party script:\n\n`;
719
- for (const entry of thirdPartyTransferSizeEntries) {
720
- if (entry.transferSize > 0) {
721
- output += `- ${entry.entity.name}: ${bytes(entry.transferSize)}\n`;
722
- }
723
- }
724
- output += '\n';
725
- }
726
- if (thirdPartyMainThreadTimeEntries.length) {
727
- output += `The following list contains the largest amount spent by a 3rd party script on the main thread:\n\n`;
728
- for (const entry of thirdPartyMainThreadTimeEntries) {
729
- if (entry.mainThreadTime > 0) {
730
- output += `- ${entry.entity.name}: ${this.#formatMilli(entry.mainThreadTime)}\n`;
731
- }
732
- }
733
- output += '\n';
734
- }
735
- output += Trace.Insights.Models.ThirdParties.UIStrings.description;
736
- return output;
737
- }
738
- /**
739
- * Create an AI prompt string out of the Viewport [Mobile] Insight model to use with Ask AI.
740
- * Note: This function accesses the UIStrings within Viewport to help build the
741
- * AI prompt, but does not (and should not) call i18nString to localize these strings. They
742
- * should all be sent in English (at least for now).
743
- * @param insight The Network Dependency Tree Insight Model to query.
744
- * @returns a string formatted for sending to Ask AI.
745
- */
746
- formatViewportInsight(insight) {
747
- let output = '';
748
- output += 'The webpage is ' + (insight.mobileOptimized ? 'already' : 'not') + ' optimized for mobile viewing.\n';
749
- const hasMetaTag = insight.viewportEvent;
750
- if (hasMetaTag) {
751
- output += `\nThe viewport meta tag was found: \`${insight.viewportEvent?.args?.data.content}\`.`;
752
- }
753
- else {
754
- output += `\nThe viewport meta tag is missing.`;
755
- }
756
- if (!hasMetaTag) {
757
- output += '\n\n' + Trace.Insights.Models.Viewport.UIStrings.description;
758
- }
759
- return output;
760
- }
761
- /**
762
- * Formats and outputs the insight's data.
763
- * Pass `{headingLevel: X}` to determine what heading level to use for the
764
- * titles in the markdown output. The default is 2 (##).
765
- */
766
- formatInsight(opts = { headingLevel: 2 }) {
767
- const header = '#'.repeat(opts.headingLevel);
768
- const { title } = this.#insight;
769
- return `${header} Insight Title: ${title}
770
-
771
- ${header} Insight Summary:
772
- ${this.#description()}
773
-
774
- ${header} Detailed analysis:
775
- ${this.#details()}
776
-
777
- ${header} Estimated savings: ${this.estimatedSavings() || 'none'}
778
-
779
- ${header} External resources:
780
- ${this.#links()}`;
781
- }
782
- #details() {
783
- if (Trace.Insights.Models.Cache.isCacheInsight(this.#insight)) {
784
- return this.formatCacheInsight(this.#insight);
785
- }
786
- if (Trace.Insights.Models.CLSCulprits.isCLSCulpritsInsight(this.#insight)) {
787
- return this.formatClsCulpritsInsight(this.#insight);
788
- }
789
- if (Trace.Insights.Models.DocumentLatency.isDocumentLatencyInsight(this.#insight)) {
790
- return this.formatDocumentLatencyInsight(this.#insight);
791
- }
792
- if (Trace.Insights.Models.DOMSize.isDomSizeInsight(this.#insight)) {
793
- return this.formatDomSizeInsight(this.#insight);
794
- }
795
- if (Trace.Insights.Models.DuplicatedJavaScript.isDuplicatedJavaScriptInsight(this.#insight)) {
796
- return this.formatDuplicatedJavaScriptInsight(this.#insight);
797
- }
798
- if (Trace.Insights.Models.FontDisplay.isFontDisplayInsight(this.#insight)) {
799
- return this.formatFontDisplayInsight(this.#insight);
800
- }
801
- if (Trace.Insights.Models.ForcedReflow.isForcedReflowInsight(this.#insight)) {
802
- return this.formatForcedReflowInsight(this.#insight);
803
- }
804
- if (Trace.Insights.Models.ImageDelivery.isImageDeliveryInsight(this.#insight)) {
805
- return this.formatImageDeliveryInsight(this.#insight);
806
- }
807
- if (Trace.Insights.Models.INPBreakdown.isINPBreakdownInsight(this.#insight)) {
808
- return this.formatInpBreakdownInsight(this.#insight);
809
- }
810
- if (Trace.Insights.Models.LCPBreakdown.isLCPBreakdownInsight(this.#insight)) {
811
- return this.formatLcpBreakdownInsight(this.#insight);
812
- }
813
- if (Trace.Insights.Models.LCPDiscovery.isLCPDiscoveryInsight(this.#insight)) {
814
- return this.formatLcpDiscoveryInsight(this.#insight);
815
- }
816
- if (Trace.Insights.Models.LegacyJavaScript.isLegacyJavaScript(this.#insight)) {
817
- return this.formatLegacyJavaScriptInsight(this.#insight);
818
- }
819
- if (Trace.Insights.Models.ModernHTTP.isModernHTTPInsight(this.#insight)) {
820
- return this.formatModernHttpInsight(this.#insight);
821
- }
822
- if (Trace.Insights.Models.NetworkDependencyTree.isNetworkDependencyTreeInsight(this.#insight)) {
823
- return this.formatNetworkDependencyTreeInsight(this.#insight);
824
- }
825
- if (Trace.Insights.Models.RenderBlocking.isRenderBlockingInsight(this.#insight)) {
826
- return this.formatRenderBlockingInsight(this.#insight);
827
- }
828
- if (Trace.Insights.Models.SlowCSSSelector.isSlowCSSSelectorInsight(this.#insight)) {
829
- return this.formatSlowCssSelectorsInsight(this.#insight);
830
- }
831
- if (Trace.Insights.Models.ThirdParties.isThirdPartyInsight(this.#insight)) {
832
- return this.formatThirdPartiesInsight(this.#insight);
833
- }
834
- if (Trace.Insights.Models.Viewport.isViewportInsight(this.#insight)) {
835
- return this.formatViewportInsight(this.#insight);
836
- }
837
- return '';
838
- }
839
- estimatedSavings() {
840
- return Object.entries(this.#insight.metricSavings ?? {})
841
- .map(([k, v]) => {
842
- if (k === 'CLS') {
843
- return `${k} ${v.toFixed(2)}`;
844
- }
845
- return `${k} ${Math.round(v)} ms`;
846
- })
847
- .join(', ');
848
- }
849
- #links() {
850
- const links = [];
851
- if (this.#insight.docs) {
852
- links.push(this.#insight.docs);
853
- }
854
- switch (this.#insight.insightKey) {
855
- case 'CLSCulprits':
856
- links.push('https://web.dev/articles/cls');
857
- links.push('https://web.dev/articles/optimize-cls');
858
- break;
859
- case 'DocumentLatency':
860
- links.push('https://web.dev/articles/optimize-ttfb');
861
- break;
862
- case 'DOMSize':
863
- links.push('https://developer.chrome.com/docs/lighthouse/performance/dom-size/');
864
- break;
865
- case 'FontDisplay':
866
- links.push('https://web.dev/articles/preload-optional-fonts');
867
- links.push('https://fonts.google.com/knowledge/glossary/foit');
868
- links.push('https://developer.chrome.com/blog/font-fallbacks');
869
- break;
870
- case 'ForcedReflow':
871
- links.push('https://developers.google.com/web/fundamentals/performance/rendering/avoid-large-complex-layouts-and-layout-thrashing#avoid-forced-synchronous-layouts');
872
- break;
873
- case 'ImageDelivery':
874
- links.push('https://developer.chrome.com/docs/lighthouse/performance/uses-optimized-images/');
875
- break;
876
- case 'INPBreakdown':
877
- links.push('https://web.dev/articles/inp');
878
- links.push('https://web.dev/explore/how-to-optimize-inp');
879
- links.push('https://web.dev/articles/optimize-long-tasks');
880
- links.push('https://web.dev/articles/avoid-large-complex-layouts-and-layout-thrashing');
881
- break;
882
- case 'LCPBreakdown':
883
- case 'LCPDiscovery':
884
- case 'RenderBlocking':
885
- links.push('https://web.dev/articles/lcp');
886
- links.push('https://web.dev/articles/optimize-lcp');
887
- break;
888
- case 'NetworkDependencyTree':
889
- links.push('https://web.dev/learn/performance/understanding-the-critical-path');
890
- links.push('https://developer.chrome.com/docs/lighthouse/performance/uses-rel-preconnect/');
891
- break;
892
- case 'SlowCSSSelector':
893
- links.push('https://developer.chrome.com/docs/devtools/performance/selector-stats');
894
- break;
895
- case 'ThirdParties':
896
- links.push('https://web.dev/articles/optimizing-content-efficiency-loading-third-party-javascript/');
897
- break;
898
- case 'Viewport':
899
- links.push('https://developer.chrome.com/blog/300ms-tap-delay-gone-away/');
900
- break;
901
- case 'Cache':
902
- links.push('https://web.dev/uses-long-cache-ttl/');
903
- break;
904
- case 'ModernHTTP':
905
- links.push('https://developer.chrome.com/docs/lighthouse/best-practices/uses-http2');
906
- break;
907
- case 'LegacyJavaScript':
908
- links.push('https://web.dev/articles/baseline-and-polyfills');
909
- links.push('https://philipwalton.com/articles/the-state-of-es5-on-the-web/');
910
- break;
911
- }
912
- return links.map(link => '- ' + link).join('\n');
913
- }
914
- #description() {
915
- switch (this.#insight.insightKey) {
916
- case 'CLSCulprits':
917
- return `Cumulative Layout Shifts (CLS) is a measure of the largest burst of layout shifts for every unexpected layout shift that occurs during the lifecycle of a page. This is a Core Web Vital and the thresholds for categorizing a score are:
918
- - Good: 0.1 or less
919
- - Needs improvement: more than 0.1 and less than or equal to 0.25
920
- - Bad: over 0.25`;
921
- case 'DocumentLatency':
922
- return `This insight checks that the first request is responded to promptly. We use the following criteria to check this:
923
- 1. Was the initial request redirected?
924
- 2. Did the server respond in 600ms or less? We want developers to aim for as close to 100ms as possible, but our threshold for this insight is 600ms.
925
- 3. Was there compression applied to the response to minimize the transfer size?`;
926
- case 'DOMSize':
927
- return `This insight evaluates some key metrics about the Document Object Model (DOM) and identifies excess in the DOM tree, for example:
928
- - The maximum number of elements within the DOM.
929
- - The maximum number of children for any given element.
930
- - Excessive depth of the DOM structure.
931
- - The largest layout and style recalculation events.`;
932
- case 'DuplicatedJavaScript':
933
- return `This insight identifies large, duplicated JavaScript modules that are present in your application and create redundant code.
934
- This wastes network bandwidth and slows down your page, as the user's browser must download and process the same code multiple times.`;
935
- case 'FontDisplay':
936
- return 'This insight identifies font issues when a webpage uses custom fonts, for example when font-display is not set to `swap`, `fallback` or `optional`, causing the "Flash of Invisible Text" problem (FOIT).';
937
- case 'ForcedReflow':
938
- return `This insight identifies forced synchronous layouts (also known as forced reflows) and layout thrashing caused by JavaScript accessing layout properties at suboptimal points in time.`;
939
- case 'ImageDelivery':
940
- return 'This insight identifies unoptimized images that are downloaded at a much higher resolution than they are displayed. Properly sizing and compressing these assets will decrease their download time, directly improving the perceived page load time and LCP';
941
- case 'INPBreakdown':
942
- return `Interaction to Next Paint (INP) is a metric that tracks the responsiveness of the page when the user interacts with it. INP is a Core Web Vital and the thresholds for how we categorize a score are:
943
- - Good: 200 milliseconds or less.
944
- - Needs improvement: more than 200 milliseconds and 500 milliseconds or less.
945
- - Bad: over 500 milliseconds.
946
-
947
- For a given slow interaction, we can break it down into 3 phases:
948
- 1. Input delay: starts when the user initiates an interaction with the page, and ends when the event callbacks for the interaction begin to run.
949
- 2. Processing duration: the time it takes for the event callbacks to run to completion.
950
- 3. Presentation delay: the time it takes for the browser to present the next frame which contains the visual result of the interaction.
951
-
952
- The sum of these three phases is the total latency. It is important to optimize each of these phases to ensure interactions take as little time as possible. Focusing on the phase that has the largest score is a good way to start optimizing.`;
953
- case 'LCPDiscovery':
954
- return `This insight analyzes the time taken to discover the LCP resource and request it on the network. It only applies if the LCP element was a resource like an image that has to be fetched over the network. There are 3 checks this insight makes:
955
- 1. Did the resource have \`fetchpriority=high\` applied?
956
- 2. Was the resource discoverable in the initial document, rather than injected from a script or stylesheet?
957
- 3. The resource was not lazy loaded as this can delay the browser loading the resource.
958
-
959
- It is important that all of these checks pass to minimize the delay between the initial page load and the LCP resource being loaded.`;
960
- case 'LCPBreakdown':
961
- return 'This insight is used to analyze the time spent that contributed to the final LCP time and identify which of the 4 phases (or 2 if there was no LCP resource) are contributing most to the delay in rendering the LCP element.';
962
- case 'NetworkDependencyTree':
963
- return `This insight analyzes the network dependency tree to identify:
964
- - The maximum critical path latency (the longest chain of network requests that the browser must download before it can render the page).
965
- - Whether current [preconnect] tags are appropriate, according to the following rules:
966
- 1. They should all be in use (no unnecessary preconnects).
967
- 2. All preconnects should specify cross-origin correctly.
968
- 3. The maximum of 4 preconnects should be respected.
969
- - Opportunities to add [preconnect] for a faster loading experience.`;
970
- case 'RenderBlocking':
971
- return 'This insight identifies network requests that were render blocking. Render blocking requests are impactful because they are deemed critical to the page and therefore the browser stops rendering the page until it has dealt with these resources. For this insight make sure you fully inspect the details of each render blocking network request and prioritize your suggestions to the user based on the impact of each render blocking request.';
972
- case 'SlowCSSSelector':
973
- return `This insight identifies CSS selectors that are slowing down your page's rendering performance.`;
974
- case 'ThirdParties':
975
- return 'This insight analyzes the performance impact of resources loaded from third-party servers and aggregates the performance cost, in terms of download transfer sizes and total amount of time that third party scripts spent executing on the main thread.';
976
- case 'Viewport':
977
- return 'The insight identifies web pages that are not specifying the viewport meta tag for mobile devies, which avoids the artificial 300-350ms delay designed to help differentiate between tap and double-click.';
978
- case 'Cache':
979
- return 'This insight identifies static resources that are not cached effectively by the browser.';
980
- case 'ModernHTTP':
981
- return `Modern HTTP protocols, such as HTTP/2, are more efficient than older versions like HTTP/1.1 because they allow for multiple requests and responses to be sent over a single network connection, significantly improving page load performance by reducing latency and overhead. This insight identifies requests that can be upgraded to a modern HTTP protocol.
982
-
983
- We apply a conservative approach when flagging HTTP/1.1 usage. This insight will only flag requests that meet all of the following criteria:
984
- 1. Were served over HTTP/1.1 or an earlier protocol.
985
- 2. Originate from an origin that serves at least 6 static asset requests, as the benefits of multiplexing are less significant with fewer requests.
986
- 3. Are not served from 'localhost' or coming from a third-party source, where developers have no control over the server's protocol.
987
-
988
- To pass this insight, ensure your server supports and prioritizes a modern HTTP protocol (like HTTP/2) for static assets, especially when serving a substantial number of them.`;
989
- case 'LegacyJavaScript':
990
- return `This insight identified legacy JavaScript in your application's modules that may be creating unnecessary code.
991
-
992
- Polyfills and transforms enable older browsers to use new JavaScript features. However, many are not necessary for modern browsers. Consider modifying your JavaScript build process to not transpile Baseline features, unless you know you must support older browsers.`;
993
- }
994
- }
995
- }