@mcp-b/chrome-devtools-mcp 1.1.0 → 1.1.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 (656) hide show
  1. package/build/node_modules/chrome-devtools-frontend/LICENSE +27 -0
  2. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/App.js +4 -0
  3. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/AppProvider.js +17 -0
  4. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Base64.js +43 -0
  5. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/CharacterIdMap.js +27 -0
  6. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Color.js +2033 -0
  7. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorConverter.js +332 -0
  8. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ColorUtils.js +221 -0
  9. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Console.js +79 -0
  10. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Debouncer.js +14 -0
  11. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/EventTarget.js +14 -0
  12. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Gzip.js +66 -0
  13. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/JavaScriptMetaData.js +4 -0
  14. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Lazy.js +29 -0
  15. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/MapWithDefault.js +22 -0
  16. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Mutex.js +49 -0
  17. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Object.js +86 -0
  18. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ParsedURL.js +449 -0
  19. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Progress.js +144 -0
  20. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResolverBase.js +69 -0
  21. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ResourceType.js +495 -0
  22. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/ReturnToPanel.js +15 -0
  23. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Revealer.js +164 -0
  24. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Runnable.js +24 -0
  25. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SegmentedRange.js +78 -0
  26. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SettingRegistration.js +164 -0
  27. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Settings.js +1263 -0
  28. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/SimpleHistoryManager.js +97 -0
  29. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/StringOutputStream.js +14 -0
  30. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/TextDictionary.js +40 -0
  31. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Throttler.js +71 -0
  32. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/Trie.js +127 -0
  33. package/build/node_modules/chrome-devtools-frontend/front_end/core/common/common.js +41 -0
  34. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/AidaClient.js +434 -0
  35. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/DispatchHttpRequestClient.js +66 -0
  36. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/GdpClient.js +202 -0
  37. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHost.js +92 -0
  38. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostAPI.js +69 -0
  39. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/InspectorFrontendHostStub.js +430 -0
  40. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/Platform.js +61 -0
  41. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/ResourceLoader.js +220 -0
  42. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/UserMetrics.js +968 -0
  43. package/build/node_modules/chrome-devtools-frontend/front_end/core/host/host.js +13 -0
  44. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/ByteUtilities.js +72 -0
  45. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/DevToolsLocale.js +64 -0
  46. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/NumberFormatter.js +67 -0
  47. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/collect-ui-strings.js +73 -0
  48. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/generate-locales-js.js +51 -0
  49. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18n.js +9 -0
  50. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18nImpl.js +135 -0
  51. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/i18nTypes.js +4 -0
  52. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/locales.js +14 -0
  53. package/build/node_modules/chrome-devtools-frontend/front_end/core/i18n/time-utilities.js +148 -0
  54. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/ArrayUtilities.js +199 -0
  55. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Brand.js +4 -0
  56. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Constructor.js +4 -0
  57. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DateUtilities.js +13 -0
  58. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/DevToolsPath.js +27 -0
  59. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/HostRuntime.js +19 -0
  60. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/KeyboardUtilities.js +21 -0
  61. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MapUtilities.js +79 -0
  62. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/MimeType.js +143 -0
  63. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/NumberUtilities.js +72 -0
  64. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/StringUtilities.js +538 -0
  65. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/Timing.js +9 -0
  66. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypedArrayUtilities.js +157 -0
  67. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/TypescriptUtilities.js +24 -0
  68. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UIString.js +4 -0
  69. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/UserVisibleError.js +22 -0
  70. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/HostRuntime.js +4 -0
  71. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/api/api.js +5 -0
  72. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/HostRuntime.js +63 -0
  73. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/browser/browser.js +5 -0
  74. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/HostRuntime.js +72 -0
  75. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/node/node.js +5 -0
  76. package/build/node_modules/chrome-devtools-frontend/front_end/core/platform/platform.js +26 -0
  77. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/CDPConnection.js +17 -0
  78. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/ConnectionTransport.js +12 -0
  79. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/DevToolsCDPConnection.js +138 -0
  80. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/InspectorBackend.js +539 -0
  81. package/build/node_modules/chrome-devtools-frontend/front_end/core/protocol_client/protocol_client.js +8 -0
  82. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/DevToolsContext.js +54 -0
  83. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/Runtime.js +11 -0
  84. package/build/node_modules/chrome-devtools-frontend/front_end/core/root/root.js +6 -0
  85. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AccessibilityModel.js +281 -0
  86. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AnimationModel.js +845 -0
  87. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/AutofillModel.js +155 -0
  88. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUProfilerModel.js +99 -0
  89. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CPUThrottlingManager.js +217 -0
  90. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSContainerQuery.js +98 -0
  91. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSFontFace.js +31 -0
  92. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSLayer.js +22 -0
  93. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMatchedStyles.js +1318 -0
  94. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMedia.js +100 -0
  95. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSMetadata.js +1532 -0
  96. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSModel.js +908 -0
  97. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSProperty.js +312 -0
  98. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParser.js +574 -0
  99. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSPropertyParserMatchers.js +1346 -0
  100. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSQuery.js +53 -0
  101. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSRule.js +403 -0
  102. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSScope.js +22 -0
  103. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStartingStyle.js +21 -0
  104. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleDeclaration.js +275 -0
  105. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSStyleSheetHeader.js +166 -0
  106. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CSSSupports.js +24 -0
  107. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CategorizedBreakpoint.js +29 -0
  108. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ChildTargetManager.js +236 -0
  109. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CompilerSourceMappingContentProvider.js +47 -0
  110. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Connections.js +205 -0
  111. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModel.js +629 -0
  112. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ConsoleModelTypes.js +14 -0
  113. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Cookie.js +241 -0
  114. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieModel.js +198 -0
  115. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/CookieParser.js +163 -0
  116. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMDebuggerModel.js +597 -0
  117. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DOMModel.js +1635 -0
  118. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/DebuggerModel.js +1216 -0
  119. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EmulationModel.js +527 -0
  120. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EnhancedTracesParser.js +364 -0
  121. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/EventBreakpointsModel.js +127 -0
  122. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameAssociated.js +4 -0
  123. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/FrameManager.js +199 -0
  124. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HeapProfilerModel.js +130 -0
  125. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/HttpReasonPhraseStrings.js +75 -0
  126. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IOModel.js +80 -0
  127. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IsolateManager.js +208 -0
  128. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/IssuesModel.js +41 -0
  129. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LayerTreeBase.js +95 -0
  130. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/LogModel.js +34 -0
  131. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkManager.js +2223 -0
  132. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/NetworkRequest.js +1654 -0
  133. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayColorGenerator.js +48 -0
  134. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayModel.js +765 -0
  135. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/OverlayPersistentHighlighter.js +384 -0
  136. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageLoad.js +25 -0
  137. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PageResourceLoader.js +310 -0
  138. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PaintProfiler.js +67 -0
  139. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PerformanceMetricsModel.js +62 -0
  140. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/PreloadingModel.js +608 -0
  141. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingConnection.js +413 -0
  142. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RehydratingObject.js +4 -0
  143. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RemoteObject.js +908 -0
  144. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Resource.js +163 -0
  145. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ResourceTreeModel.js +923 -0
  146. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/RuntimeModel.js +535 -0
  147. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SDKModel.js +45 -0
  148. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScopeTreeCache.js +36 -0
  149. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ScreenCaptureModel.js +176 -0
  150. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Script.js +420 -0
  151. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SecurityOriginManager.js +54 -0
  152. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEvents.js +67 -0
  153. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerSentEventsProtocol.js +113 -0
  154. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServerTiming.js +216 -0
  155. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerCacheModel.js +271 -0
  156. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/ServiceWorkerManager.js +511 -0
  157. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMap.js +691 -0
  158. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapCache.js +57 -0
  159. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapFunctionRanges.js +132 -0
  160. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapManager.js +201 -0
  161. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopeChainEntry.js +156 -0
  162. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/SourceMapScopesInfo.js +508 -0
  163. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageBucketsModel.js +143 -0
  164. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/StorageKeyManager.js +53 -0
  165. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/Target.js +257 -0
  166. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TargetManager.js +395 -0
  167. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/TraceObject.js +55 -0
  168. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/WebAuthnModel.js +66 -0
  169. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk-meta.js +1166 -0
  170. package/build/node_modules/chrome-devtools-frontend/front_end/core/sdk/sdk.js +91 -0
  171. package/build/node_modules/chrome-devtools-frontend/front_end/foundation/Universe.js +34 -0
  172. package/build/node_modules/chrome-devtools-frontend/front_end/foundation/foundation.js +5 -0
  173. package/build/node_modules/chrome-devtools-frontend/front_end/generated/ARIAProperties.js +2640 -0
  174. package/build/node_modules/chrome-devtools-frontend/front_end/generated/Deprecation.js +384 -0
  175. package/build/node_modules/chrome-devtools-frontend/front_end/generated/InspectorBackendCommands.js +1532 -0
  176. package/build/node_modules/chrome-devtools-frontend/front_end/generated/SupportedCSSProperties.js +7602 -0
  177. package/build/node_modules/chrome-devtools-frontend/front_end/generated/protocol.js +4 -0
  178. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/NetworkRequestFormatter.js +289 -0
  179. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceInsightFormatter.js +995 -0
  180. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.js +664 -0
  181. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/data_formatters/UnitFormatters.js +139 -0
  182. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AICallTree.js +377 -0
  183. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIContext.js +131 -0
  184. package/build/node_modules/chrome-devtools-frontend/front_end/models/ai_assistance/performance/AIQueries.js +149 -0
  185. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CSSWorkspaceBinding.js +245 -0
  186. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/CompilerScriptMapping.js +486 -0
  187. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ContentProviderBasedProject.js +130 -0
  188. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerLanguagePlugins.js +992 -0
  189. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DebuggerWorkspaceBinding.js +592 -0
  190. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/DefaultScriptMapping.js +112 -0
  191. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/FileUtils.js +186 -0
  192. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/LiveLocation.js +60 -0
  193. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/NetworkProject.js +107 -0
  194. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/PresentationConsoleMessageHelper.js +244 -0
  195. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceMapping.js +564 -0
  196. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceScriptMapping.js +437 -0
  197. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/ResourceUtils.js +87 -0
  198. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/SASSSourceMapping.js +182 -0
  199. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/StylesSourceMapping.js +268 -0
  200. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/TempFile.js +55 -0
  201. package/build/node_modules/chrome-devtools-frontend/front_end/models/bindings/bindings.js +20 -0
  202. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/CPUProfileDataModel.js +516 -0
  203. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/ProfileTreeModel.js +89 -0
  204. package/build/node_modules/chrome-devtools-frontend/front_end/models/cpu_profile/cpu_profile.js +6 -0
  205. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/CrUXManager.js +285 -0
  206. package/build/node_modules/chrome-devtools-frontend/front_end/models/crux-manager/crux-manager.js +4 -0
  207. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/DeviceModeModel.js +775 -0
  208. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/EmulatedDevices.js +1706 -0
  209. package/build/node_modules/chrome-devtools-frontend/front_end/models/emulation/emulation.js +6 -0
  210. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/FormatterWorkerPool.js +145 -0
  211. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/ScriptFormatter.js +77 -0
  212. package/build/node_modules/chrome-devtools-frontend/front_end/models/formatter/formatter.js +6 -0
  213. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/GeometryImpl.js +347 -0
  214. package/build/node_modules/chrome-devtools-frontend/front_end/models/geometry/geometry.js +4 -0
  215. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/AttributionReportingIssue.js +201 -0
  216. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/BounceTrackingIssue.js +49 -0
  217. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CheckFormsIssuesTrigger.js +31 -0
  218. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ClientHintIssue.js +71 -0
  219. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContentSecurityPolicyIssue.js +135 -0
  220. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ContrastCheckTrigger.js +59 -0
  221. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieDeprecationMetadataIssue.js +58 -0
  222. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CookieIssue.js +514 -0
  223. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CorsIssue.js +244 -0
  224. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/CrossOriginEmbedderPolicyIssue.js +110 -0
  225. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/DeprecationIssue.js +90 -0
  226. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/ElementAccessibilityIssue.js +95 -0
  227. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthRequestIssue.js +231 -0
  228. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/FederatedAuthUserInfoRequestIssue.js +141 -0
  229. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/GenericIssue.js +212 -0
  230. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/HeavyAdIssue.js +52 -0
  231. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/Issue.js +152 -0
  232. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueAggregator.js +314 -0
  233. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssueResolver.js +40 -0
  234. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManager.js +416 -0
  235. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/IssuesManagerEvents.js +4 -0
  236. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/LowTextContrastIssue.js +48 -0
  237. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MarkdownIssueDescription.js +104 -0
  238. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/MixedContentIssue.js +55 -0
  239. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PartitioningBlobURLIssue.js +58 -0
  240. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/PropertyRuleIssue.js +58 -0
  241. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/QuirksModeIssue.js +48 -0
  242. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/RelatedIssue.js +70 -0
  243. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SRIMessageSignatureIssue.js +87 -0
  244. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedArrayBufferIssue.js +49 -0
  245. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SharedDictionaryIssue.js +292 -0
  246. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/SourceFrameIssuesManager.js +81 -0
  247. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/StylesheetLoadingIssue.js +59 -0
  248. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/UnencodedDigestIssue.js +62 -0
  249. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCoopSandboxedIframeCannotNavigateToCoopPage.md +4 -0
  250. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameOrigin.md +8 -0
  251. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameOriginAfterDefaultedToSameOriginByCoep.md +18 -0
  252. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepCorpNotSameSite.md +7 -0
  253. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CoepFrameResourceNeedsCoepHeader.md +10 -0
  254. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CompatibilityModeQuirks.md +5 -0
  255. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/CookieAttributeValueExceedsMaxSize.md +5 -0
  256. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/LowTextContrast.md +5 -0
  257. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeRead.md +8 -0
  258. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeContextDowngradeSet.md +8 -0
  259. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteExcludeNavigationContextDowngrade.md +8 -0
  260. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteInvalidSameParty.md +8 -0
  261. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorRead.md +8 -0
  262. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureErrorSet.md +8 -0
  263. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnRead.md +8 -0
  264. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteNoneInsecureWarnSet.md +8 -0
  265. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteSamePartyCrossPartyContextSet.md +10 -0
  266. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeRead.md +9 -0
  267. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteUnspecifiedLaxAllowUnsafeSet.md +9 -0
  268. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeRead.md +8 -0
  269. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnCrossDowngradeSet.md +8 -0
  270. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/SameSiteWarnStrictLaxDowngradeStrict.md +8 -0
  271. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInsecureContext.md +7 -0
  272. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidInfoHeader.md +5 -0
  273. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterOsSourceHeader.md +5 -0
  274. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterOsTriggerHeader.md +5 -0
  275. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterSourceHeader.md +5 -0
  276. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arInvalidRegisterTriggerHeader.md +5 -0
  277. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNavigationRegistrationUniqueScopeAlreadySet.md +5 -0
  278. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNavigationRegistrationWithoutTransientUserActivation.md +6 -0
  279. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterOsSourceHeader.md +5 -0
  280. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterOsTriggerHeader.md +5 -0
  281. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterSourceHeader.md +5 -0
  282. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoRegisterTriggerHeader.md +5 -0
  283. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arNoWebOrOsSupport.md +4 -0
  284. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arOsSourceIgnored.md +18 -0
  285. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arOsTriggerIgnored.md +19 -0
  286. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arPermissionPolicyDisabled.md +8 -0
  287. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arSourceAndTriggerHeaders.md +9 -0
  288. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arSourceIgnored.md +13 -0
  289. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arTriggerIgnored.md +12 -0
  290. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arUntrustworthyReportingOrigin.md +10 -0
  291. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/arWebAndOsHeaders.md +11 -0
  292. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/bounceTrackingMitigations.md +3 -0
  293. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/clientHintMetaTagAllowListInvalidOrigin.md +4 -0
  294. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/clientHintMetaTagModifiedHTML.md +4 -0
  295. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieCrossSiteRedirectDowngrade.md +12 -0
  296. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeBlockedWithinRelatedWebsiteSet.md +4 -0
  297. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeDomainNonAscii.md +11 -0
  298. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
  299. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
  300. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutRead.md +6 -0
  301. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieExcludeThirdPartyPhaseoutSet.md +6 -0
  302. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnDomainNonAscii.md +11 -0
  303. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnMetadataGrantRead.md +4 -0
  304. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnMetadataGrantSet.md +4 -0
  305. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutRead.md +6 -0
  306. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cookieWarnThirdPartyPhaseoutSet.md +6 -0
  307. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsAllowCredentialsRequired.md +6 -0
  308. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsDisabledScheme.md +7 -0
  309. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsDisallowedByMode.md +7 -0
  310. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsHeaderDisallowedByPreflightResponse.md +5 -0
  311. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsInsecurePrivateNetwork.md +10 -0
  312. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsInvalidHeaderValues.md +7 -0
  313. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsLocalNetworkAccessPermissionDenied.md +19 -0
  314. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsMethodDisallowedByPreflightResponse.md +5 -0
  315. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsNoCorsRedirectModeNotFollow.md +5 -0
  316. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsOriginMismatch.md +6 -0
  317. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPreflightAllowPrivateNetworkError.md +10 -0
  318. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPreflightResponseInvalid.md +5 -0
  319. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsPrivateNetworkPermissionDenied.md +10 -0
  320. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsRedirectContainsCredentials.md +5 -0
  321. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/corsWildcardOriginNotAllowed.md +8 -0
  322. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspEvalViolation.md +9 -0
  323. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspInlineViolation.md +10 -0
  324. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspTrustedTypesPolicyViolation.md +5 -0
  325. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspTrustedTypesSinkViolation.md +8 -0
  326. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/cspURLViolation.md +10 -0
  327. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/deprecation.md +3 -0
  328. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsHttpNotFound.md +1 -0
  329. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsInvalidResponse.md +1 -0
  330. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestAccountsNoResponse.md +1 -0
  331. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestApprovalDeclined.md +1 -0
  332. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestCanceled.md +1 -0
  333. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataHttpNotFound.md +1 -0
  334. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataInvalidResponse.md +1 -0
  335. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestClientMetadataNoResponse.md +1 -0
  336. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorFetchingSignin.md +1 -0
  337. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestErrorIdToken.md +1 -0
  338. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenHttpNotFound.md +1 -0
  339. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidRequest.md +1 -0
  340. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenInvalidResponse.md +1 -0
  341. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestIdTokenNoResponse.md +1 -0
  342. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestInvalidSigninResponse.md +1 -0
  343. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestHttpNotFound.md +1 -0
  344. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestInvalidResponse.md +1 -0
  345. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestManifestNoResponse.md +1 -0
  346. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthRequestTooManyRequests.md +1 -0
  347. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidAccountsResponse.md +1 -0
  348. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestInvalidConfigOrWellKnown.md +1 -0
  349. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoAccountSharingPermission.md +1 -0
  350. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoApiPermission.md +1 -0
  351. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNoReturningUserFromFetchedAccounts.md +1 -0
  352. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotIframe.md +1 -0
  353. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotPotentiallyTrustworthy.md +1 -0
  354. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSameOrigin.md +1 -0
  355. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/federatedAuthUserInfoRequestNotSignedInWithIdp.md +1 -0
  356. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/fetchingPartitionedBlobURL.md +7 -0
  357. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormAriaLabelledByToNonExistingIdError.md +8 -0
  358. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormAutocompleteAttributeEmptyError.md +5 -0
  359. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormDuplicateIdForInputError.md +5 -0
  360. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormEmptyIdAndNameAttributesForInputError.md +5 -0
  361. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputAssignedAutocompleteValueToIdOrNameAttributeError.md +5 -0
  362. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputHasWrongButWellIntendedAutocompleteValueError.md +5 -0
  363. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormInputWithNoLabelError.md +5 -0
  364. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelForMatchesNonExistingIdError.md +5 -0
  365. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelForNameError.md +5 -0
  366. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericFormLabelHasNeitherForNorNestedInputError.md +5 -0
  367. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericNavigationEntryMarkedSkippable.md +7 -0
  368. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/genericResponseWasBlockedByORB.md +4 -0
  369. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/heavyAd.md +10 -0
  370. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/mixedContent.md +5 -0
  371. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/navigatingPartitionedBlobURL.md +5 -0
  372. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/placeholderDescriptionForInvisibleIssues.md +3 -0
  373. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/propertyRuleInvalidNameIssue.md +3 -0
  374. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/propertyRuleIssue.md +7 -0
  375. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedOptGroupChild.md +7 -0
  376. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityDisallowedSelectChild.md +7 -0
  377. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentAttributesSelectDescendant.md +3 -0
  378. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentLegendChild.md +3 -0
  379. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityInteractiveContentOptionChild.md +3 -0
  380. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/selectElementAccessibilityNonPhrasingContentOptionChild.md +3 -0
  381. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedArrayBuffer.md +7 -0
  382. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorCrossOriginNoCorsRequest.md +1 -0
  383. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorDictionaryLoadFailure.md +3 -0
  384. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorMatchingDictionaryNotUsed.md +3 -0
  385. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryUseErrorUnexpectedContentDictionaryHeader.md +1 -0
  386. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorCossOriginNoCorsRequest.md +1 -0
  387. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorDisallowedBySettings.md +1 -0
  388. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorExpiredResponse.md +3 -0
  389. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorFeatureDisabled.md +3 -0
  390. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInsufficientResources.md +1 -0
  391. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidMatchField.md +1 -0
  392. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidStructuredHeader.md +1 -0
  393. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorInvalidTTLField.md +1 -0
  394. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNavigationRequest.md +3 -0
  395. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNoMatchField.md +1 -0
  396. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonIntegerTTLField.md +1 -0
  397. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonListMatchDestField.md +1 -0
  398. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonSecureContext.md +3 -0
  399. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringIdField.md +1 -0
  400. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringInMatchDestList.md +1 -0
  401. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonStringMatchField.md +1 -0
  402. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorNonTokenTypeField.md +1 -0
  403. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorRequestAborted.md +1 -0
  404. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorShuttingDown.md +1 -0
  405. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorTooLongIdField.md +3 -0
  406. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sharedDictionaryWriteErrorUnsupportedType.md +3 -0
  407. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriInvalidSignatureHeader.md +14 -0
  408. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriInvalidSignatureInputHeader.md +15 -0
  409. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriMissingSignatureHeader.md +8 -0
  410. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriMissingSignatureInputHeader.md +7 -0
  411. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsIncorrectLength.md +11 -0
  412. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsNotByteSequence.md +14 -0
  413. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureHeaderValueIsParameterized.md +15 -0
  414. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentName.md +8 -0
  415. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidComponentType.md +13 -0
  416. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidDerivedComponentParameter.md +4 -0
  417. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidHeaderComponentParameter.md +5 -0
  418. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderInvalidParameter.md +11 -0
  419. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderKeyIdLength.md +12 -0
  420. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingLabel.md +6 -0
  421. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderMissingRequiredParameters.md +8 -0
  422. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueMissingComponents.md +11 -0
  423. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriSignatureInputHeaderValueNotInnerList.md +11 -0
  424. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedIntegrityMismatch.md +10 -0
  425. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedInvalidLength.md +5 -0
  426. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureExpired.md +6 -0
  427. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/sriValidationFailedSignatureMismatch.md +11 -0
  428. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/stylesheetLateImport.md +4 -0
  429. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/stylesheetRequestFailed.md +3 -0
  430. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/summaryElementAccessibilityInteractiveContentSummaryDescendant.md +3 -0
  431. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestLength.md +12 -0
  432. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestIncorrectDigestType.md +17 -0
  433. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestMalformedDictionary.md +14 -0
  434. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/descriptions/unencodedDigestUnknownAlgorithm.md +15 -0
  435. package/build/node_modules/chrome-devtools-frontend/front_end/models/issues_manager/issues_manager.js +35 -0
  436. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/LogManager.js +67 -0
  437. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/NetworkLog.js +494 -0
  438. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/RequestResolver.js +49 -0
  439. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs-meta.js +73 -0
  440. package/build/node_modules/chrome-devtools-frontend/front_end/models/logs/logs.js +7 -0
  441. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/Calculator.js +4 -0
  442. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/NetworkTimeCalculator.js +256 -0
  443. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/RequestTimeRanges.js +122 -0
  444. package/build/node_modules/chrome-devtools-frontend/front_end/models/network_time_calculator/network_time_calculator.js +6 -0
  445. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/FunctionCodeResolver.js +192 -0
  446. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/NamesResolver.js +622 -0
  447. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/ScopeChainModel.js +59 -0
  448. package/build/node_modules/chrome-devtools-frontend/front_end/models/source_map_scopes/source_map_scopes.js +7 -0
  449. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTrace.js +4 -0
  450. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceImpl.js +67 -0
  451. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/StackTraceModel.js +97 -0
  452. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/Trie.js +121 -0
  453. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace.js +5 -0
  454. package/build/node_modules/chrome-devtools-frontend/front_end/models/stack_trace/stack_trace_impl.js +7 -0
  455. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/CodeMirrorUtils.js +32 -0
  456. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentData.js +173 -0
  457. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/ContentProvider.js +30 -0
  458. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StaticContentProvider.js +32 -0
  459. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/StreamingContentData.js +79 -0
  460. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/Text.js +69 -0
  461. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextCursor.js +35 -0
  462. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextRange.js +231 -0
  463. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/TextUtils.js +355 -0
  464. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/WasmDisassembly.js +68 -0
  465. package/build/node_modules/chrome-devtools-frontend/front_end/models/text_utils/text_utils.js +14 -0
  466. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EntityMapper.js +122 -0
  467. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/EventsSerializer.js +81 -0
  468. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/LanternComputationData.js +371 -0
  469. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/ModelImpl.js +169 -0
  470. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Name.js +114 -0
  471. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Processor.js +555 -0
  472. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/Styles.js +815 -0
  473. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/FilmStrip.js +44 -0
  474. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/MainThreadActivity.js +76 -0
  475. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ScriptDuplication.js +162 -0
  476. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/StackTraceForEvent.js +191 -0
  477. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/ThirdParties.js +118 -0
  478. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceFilter.js +50 -0
  479. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/TraceTree.js +599 -0
  480. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/extras/extras.js +10 -0
  481. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationFramesHandler.js +109 -0
  482. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AnimationHandler.js +26 -0
  483. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AsyncJSCallsHandler.js +187 -0
  484. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/AuctionWorkletsHandler.js +162 -0
  485. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/DOMStatsHandler.js +21 -0
  486. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ExtensionTraceDataHandler.js +263 -0
  487. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FlowsHandler.js +148 -0
  488. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/FramesHandler.js +485 -0
  489. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/GPUHandler.js +35 -0
  490. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ImagePaintingHandler.js +147 -0
  491. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InitiatorsHandler.js +180 -0
  492. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/InvalidationsHandler.js +126 -0
  493. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestImagePaintHandler.js +85 -0
  494. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LargestTextPaintHandler.js +27 -0
  495. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayerTreeHandler.js +103 -0
  496. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/LayoutShiftsHandler.js +449 -0
  497. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MemoryHandler.js +21 -0
  498. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/MetaHandler.js +404 -0
  499. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ModelHandlers.js +33 -0
  500. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/NetworkRequestsHandler.js +566 -0
  501. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageFramesHandler.js +42 -0
  502. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/PageLoadMetricsHandler.js +349 -0
  503. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/RendererHandler.js +346 -0
  504. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SamplesHandler.js +260 -0
  505. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScreenshotsHandler.js +97 -0
  506. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/ScriptsHandler.js +276 -0
  507. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/SelectorStatsHandler.js +71 -0
  508. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/Threads.js +101 -0
  509. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserInteractionsHandler.js +317 -0
  510. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/UserTimingsHandler.js +183 -0
  511. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WarningsHandler.js +134 -0
  512. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/WorkersHandler.js +33 -0
  513. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/handlers.js +7 -0
  514. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/helpers.js +163 -0
  515. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/handlers/types.js +1 -0
  516. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Extensions.js +41 -0
  517. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Network.js +102 -0
  518. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SamplesIntegrator.js +495 -0
  519. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/SyntheticEvents.js +74 -0
  520. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Timing.js +186 -0
  521. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/Trace.js +820 -0
  522. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/TreeHelpers.js +254 -0
  523. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/helpers/helpers.js +10 -0
  524. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/CLSCulprits.js +489 -0
  525. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Cache.js +209 -0
  526. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Common.js +340 -0
  527. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DOMSize.js +181 -0
  528. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DocumentLatency.js +258 -0
  529. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/DuplicatedJavaScript.js +90 -0
  530. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/FontDisplay.js +82 -0
  531. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ForcedReflow.js +161 -0
  532. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/INPBreakdown.js +129 -0
  533. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ImageDelivery.js +263 -0
  534. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPBreakdown.js +199 -0
  535. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LCPDiscovery.js +183 -0
  536. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/LegacyJavaScript.js +90 -0
  537. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Models.js +21 -0
  538. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ModernHTTP.js +200 -0
  539. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/NetworkDependencyTree.js +545 -0
  540. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/RenderBlocking.js +192 -0
  541. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/SlowCSSSelector.js +136 -0
  542. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Statistics.js +92 -0
  543. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/ThirdParties.js +98 -0
  544. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/Viewport.js +102 -0
  545. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/insights.js +9 -0
  546. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/insights/types.js +18 -0
  547. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/LanternError.js +6 -0
  548. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/NetworkAnalyzer.js +488 -0
  549. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/core/core.js +5 -0
  550. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/BaseNode.js +276 -0
  551. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/CPUNode.js +63 -0
  552. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/NetworkNode.js +82 -0
  553. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/PageDependencyGraph.js +551 -0
  554. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/graph/graph.js +7 -0
  555. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/lantern.js +9 -0
  556. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/FirstContentfulPaint.js +136 -0
  557. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Interactive.js +67 -0
  558. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/LargestContentfulPaint.js +68 -0
  559. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/MaxPotentialFID.js +48 -0
  560. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/Metric.js +68 -0
  561. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/SpeedIndex.js +101 -0
  562. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TBTUtils.js +64 -0
  563. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/TotalBlockingTime.js +78 -0
  564. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/metrics/metrics.js +11 -0
  565. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/ConnectionPool.js +115 -0
  566. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Constants.js +42 -0
  567. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/DNSCache.js +47 -0
  568. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/SimulationTimingMap.js +134 -0
  569. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/Simulator.js +450 -0
  570. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/TCPConnection.js +154 -0
  571. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/simulation/simulation.js +9 -0
  572. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/Lantern.js +24 -0
  573. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/lantern/types/types.js +4 -0
  574. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/trace.js +17 -0
  575. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Configuration.js +18 -0
  576. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Extensions.js +37 -0
  577. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/File.js +57 -0
  578. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Overlays.js +4 -0
  579. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/Timing.js +15 -0
  580. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/TraceEvents.js +580 -0
  581. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace/types/types.js +9 -0
  582. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/SourceMapsResolver.js +224 -0
  583. package/build/node_modules/chrome-devtools-frontend/front_end/models/trace_source_maps_resolver/trace_source_maps_resolver.js +4 -0
  584. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/FileManager.js +64 -0
  585. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/IgnoreListManager.js +504 -0
  586. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/SearchConfig.js +113 -0
  587. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/UISourceCode.js +601 -0
  588. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/WorkspaceImpl.js +201 -0
  589. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace-meta.js +34 -0
  590. package/build/node_modules/chrome-devtools-frontend/front_end/models/workspace/workspace.js +9 -0
  591. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/codemirror.next/codemirror.next.js +1 -0
  592. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/LICENSE +202 -0
  593. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n-impl.js +46 -0
  594. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/i18n.js +6 -0
  595. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/i18n/localized-string-set.js +122 -0
  596. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/LICENSE +33 -0
  597. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/intl-messageformat.js +5 -0
  598. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/index.js +13 -0
  599. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.esm.js +1725 -0
  600. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/intl-messageformat.iife.js +1840 -0
  601. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/index.js +10 -0
  602. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/core.js +233 -0
  603. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/error.js +48 -0
  604. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/lib/src/formatters.js +177 -0
  605. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/core.js +236 -0
  606. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/error.js +51 -0
  607. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/intl-messageformat/package/src/formatters.js +182 -0
  608. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/LICENSE +202 -0
  609. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/legacy-javascript.js +2 -0
  610. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/legacy-javascript/lib/legacy-javascript.js +940 -0
  611. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/LICENSE +39 -0
  612. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/marked.js +2 -0
  613. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/main.js +255 -0
  614. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/bin/marked.js +11 -0
  615. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.esm.js +2695 -0
  616. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.js +2233 -0
  617. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/lib/marked.umd.js +2719 -0
  618. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Lexer.js +453 -0
  619. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Parser.js +233 -0
  620. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Renderer.js +137 -0
  621. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Slugger.js +46 -0
  622. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/TextRenderer.js +34 -0
  623. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/Tokenizer.js +683 -0
  624. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/defaults.js +27 -0
  625. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/helpers.js +240 -0
  626. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/marked.js +318 -0
  627. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/marked/package/src/rules.js +243 -0
  628. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/LICENSE +26 -0
  629. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/builder.js +196 -0
  630. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/builder/safe_builder.js +226 -0
  631. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/codec.js +4 -0
  632. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/decode/decode.js +394 -0
  633. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encode.js +24 -0
  634. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/encode/encoder.js +283 -0
  635. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/mod.js +7 -0
  636. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/util.js +9 -0
  637. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/package/src/vlq.js +84 -0
  638. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/source-map-scopes-codec/source-map-scopes-codec.js +4 -0
  639. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/LICENSE +20 -0
  640. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/lib/nostats-subset.js +146 -0
  641. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-nostats-subset.js +2 -0
  642. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/httparchive-subset.js +2 -0
  643. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.js +118 -0
  644. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/create-entity-finder-api.test.js +40 -0
  645. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/entities.test.js +26 -0
  646. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.js +4 -0
  647. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/index.test.js +215 -0
  648. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive-nostats.js +4 -0
  649. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/httparchive.js +4 -0
  650. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/lib/subsets/nostats.js +4 -0
  651. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/package/nostats-subset.js +2 -0
  652. package/build/node_modules/chrome-devtools-frontend/front_end/third_party/third-party-web/third-party-web.js +2 -0
  653. package/build/node_modules/chrome-devtools-frontend/mcp/HostBindings.js +222 -0
  654. package/build/node_modules/chrome-devtools-frontend/mcp/mcp.js +35 -0
  655. package/build/src/index.js +0 -0
  656. package/package.json +21 -20
@@ -0,0 +1,664 @@
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 CrUXManager from '../../crux-manager/crux-manager.js';
5
+ import * as Trace from '../../trace/trace.js';
6
+ import { AIQueries } from '../performance/AIQueries.js';
7
+ import { NetworkRequestFormatter } from './NetworkRequestFormatter.js';
8
+ import { PerformanceInsightFormatter } from './PerformanceInsightFormatter.js';
9
+ import { bytes, micros, millis } from './UnitFormatters.js';
10
+ export class PerformanceTraceFormatter {
11
+ #focus;
12
+ #parsedTrace;
13
+ #insightSet;
14
+ #eventsSerializer;
15
+ constructor(focus) {
16
+ this.#focus = focus;
17
+ this.#parsedTrace = focus.parsedTrace;
18
+ this.#insightSet = focus.primaryInsightSet;
19
+ this.#eventsSerializer = focus.eventsSerializer;
20
+ }
21
+ serializeEvent(event) {
22
+ const key = this.#eventsSerializer.keyForEvent(event);
23
+ return `(eventKey: ${key}, ts: ${event.ts})`;
24
+ }
25
+ serializeBounds(bounds) {
26
+ return `{min: ${bounds.min}, max: ${bounds.max}}`;
27
+ }
28
+ /**
29
+ * Fetching the Crux summary can error outside of DevTools, hence the
30
+ * try-catch around it here.
31
+ */
32
+ #getCruxTraceSummary(insightSet) {
33
+ if (insightSet === null) {
34
+ return [];
35
+ }
36
+ try {
37
+ const cruxScope = CrUXManager.CrUXManager.instance().getSelectedScope();
38
+ const parts = [];
39
+ const fieldMetrics = Trace.Insights.Common.getFieldMetricsForInsightSet(insightSet, this.#parsedTrace.metadata, cruxScope);
40
+ const fieldLcp = fieldMetrics?.lcp;
41
+ const fieldInp = fieldMetrics?.inp;
42
+ const fieldCls = fieldMetrics?.cls;
43
+ if (fieldLcp || fieldInp || fieldCls) {
44
+ parts.push('Metrics (field / real users):');
45
+ const serializeFieldMetricTimingResult = (fieldMetric) => {
46
+ return `${Math.round(fieldMetric.value / 1000)} ms (scope: ${fieldMetric.pageScope})`;
47
+ };
48
+ const serializeFieldMetricNumberResult = (fieldMetric) => {
49
+ return `${fieldMetric.value.toFixed(2)} (scope: ${fieldMetric.pageScope})`;
50
+ };
51
+ if (fieldLcp) {
52
+ parts.push(` - LCP: ${serializeFieldMetricTimingResult(fieldLcp)}`);
53
+ const fieldLcpBreakdown = fieldMetrics?.lcpBreakdown;
54
+ if (fieldLcpBreakdown &&
55
+ (fieldLcpBreakdown.ttfb || fieldLcpBreakdown.loadDelay || fieldLcpBreakdown.loadDuration ||
56
+ fieldLcpBreakdown.renderDelay)) {
57
+ parts.push(' - LCP breakdown:');
58
+ if (fieldLcpBreakdown.ttfb) {
59
+ parts.push(` - TTFB: ${serializeFieldMetricTimingResult(fieldLcpBreakdown.ttfb)}`);
60
+ }
61
+ if (fieldLcpBreakdown.loadDelay) {
62
+ parts.push(` - Load delay: ${serializeFieldMetricTimingResult(fieldLcpBreakdown.loadDelay)}`);
63
+ }
64
+ if (fieldLcpBreakdown.loadDuration) {
65
+ parts.push(` - Load duration: ${serializeFieldMetricTimingResult(fieldLcpBreakdown.loadDuration)}`);
66
+ }
67
+ if (fieldLcpBreakdown.renderDelay) {
68
+ parts.push(` - Render delay: ${serializeFieldMetricTimingResult(fieldLcpBreakdown.renderDelay)}`);
69
+ }
70
+ }
71
+ }
72
+ if (fieldInp) {
73
+ parts.push(` - INP: ${serializeFieldMetricTimingResult(fieldInp)}`);
74
+ }
75
+ if (fieldCls) {
76
+ parts.push(` - CLS: ${serializeFieldMetricNumberResult(fieldCls)}`);
77
+ }
78
+ parts.push(' - The above data is from CrUX–Chrome User Experience Report. It\'s how the page performs for real users.');
79
+ parts.push(' - The values shown above are the p75 measure of all real Chrome users');
80
+ parts.push(' - The scope indicates if the data came from the entire origin, or a specific url');
81
+ parts.push(' - Lab metrics describe how this specific page load performed, while field metrics are an aggregation ' +
82
+ 'of results from real-world users. Best practice is to prioritize metrics that are bad in field data. ' +
83
+ 'Lab metrics may be better or worse than fields metrics depending on the developer\'s machine, network, or the ' +
84
+ 'actions performed while tracing.');
85
+ }
86
+ return parts;
87
+ }
88
+ catch {
89
+ return [];
90
+ }
91
+ }
92
+ formatTraceSummary() {
93
+ const parsedTrace = this.#parsedTrace;
94
+ const traceMetadata = this.#parsedTrace.metadata;
95
+ const data = parsedTrace.data;
96
+ const parts = [];
97
+ parts.push(`URL: ${data.Meta.mainFrameURL}`);
98
+ parts.push(`Trace bounds: ${this.serializeBounds(data.Meta.traceBounds)}`);
99
+ parts.push('CPU throttling: ' + (traceMetadata.cpuThrottling ? `${traceMetadata.cpuThrottling}x` : 'none'));
100
+ parts.push(`Network throttling: ${traceMetadata.networkThrottling ?? 'none'}`);
101
+ parts.push('\n# Available insight sets\n');
102
+ parts.push('The following is a list of insight sets. An insight set covers a specific part of the trace, split by navigations. The insights within each insight set are specific to that part of the trace. Be sure to consider the insight set id and bounds when calling functions. If no specific insight set or navigation is mentioned, assume the user is referring to the first one.');
103
+ for (const insightSet of parsedTrace.insights?.values() ?? []) {
104
+ const lcp = insightSet ? Trace.Insights.Common.getLCP(insightSet) : null;
105
+ const cls = insightSet ? Trace.Insights.Common.getCLS(insightSet) : null;
106
+ const inp = insightSet ? Trace.Insights.Common.getINP(insightSet) : null;
107
+ parts.push(`\n## insight set id: ${insightSet.id}\n`);
108
+ parts.push(`URL: ${insightSet.url}`);
109
+ parts.push(`Bounds: ${this.serializeBounds(insightSet.bounds)}`);
110
+ if (lcp || cls || inp) {
111
+ parts.push('Metrics (lab / observed):');
112
+ if (lcp) {
113
+ const nodeId = insightSet?.model.LCPBreakdown.lcpEvent?.args.data?.nodeId;
114
+ const nodeIdText = nodeId !== undefined ? `, nodeId: ${nodeId}` : '';
115
+ parts.push(` - LCP: ${Math.round(lcp.value / 1000)} ms, event: ${this.serializeEvent(lcp.event)}${nodeIdText}`);
116
+ const subparts = insightSet?.model.LCPBreakdown.subparts;
117
+ if (subparts) {
118
+ const serializeSubpart = (subpart) => {
119
+ return `${micros(subpart.range)}, bounds: ${this.serializeBounds(subpart)}`;
120
+ };
121
+ parts.push(' - LCP breakdown:');
122
+ parts.push(` - TTFB: ${serializeSubpart(subparts.ttfb)}`);
123
+ if (subparts.loadDelay !== undefined) {
124
+ parts.push(` - Load delay: ${serializeSubpart(subparts.loadDelay)}`);
125
+ }
126
+ if (subparts.loadDuration !== undefined) {
127
+ parts.push(` - Load duration: ${serializeSubpart(subparts.loadDuration)}`);
128
+ }
129
+ parts.push(` - Render delay: ${serializeSubpart(subparts.renderDelay)}`);
130
+ }
131
+ }
132
+ if (inp) {
133
+ parts.push(` - INP: ${Math.round(inp.value / 1000)} ms, event: ${this.serializeEvent(inp.event)}`);
134
+ }
135
+ if (cls) {
136
+ const eventText = cls.worstClusterEvent ? `, event: ${this.serializeEvent(cls.worstClusterEvent)}` : '';
137
+ parts.push(` - CLS: ${cls.value.toFixed(2)}${eventText}`);
138
+ }
139
+ }
140
+ else {
141
+ parts.push('Metrics (lab / observed): n/a');
142
+ }
143
+ const cruxParts = insightSet && this.#getCruxTraceSummary(insightSet);
144
+ if (cruxParts?.length) {
145
+ parts.push(...cruxParts);
146
+ }
147
+ else {
148
+ parts.push('Metrics (field / real users): n/a – no data for this page in CrUX');
149
+ }
150
+ parts.push('Available insights:');
151
+ for (const [insightName, model] of Object.entries(insightSet.model)) {
152
+ if (model.state === 'pass') {
153
+ continue;
154
+ }
155
+ const formatter = new PerformanceInsightFormatter(this.#focus, model);
156
+ if (!formatter.insightIsSupported()) {
157
+ continue;
158
+ }
159
+ const insightBounds = Trace.Insights.Common.insightBounds(model, insightSet.bounds);
160
+ const insightParts = [
161
+ `insight name: ${insightName}`,
162
+ `description: ${model.description}`,
163
+ `relevant trace bounds: ${this.serializeBounds(insightBounds)}`,
164
+ ];
165
+ const metricSavingsText = formatter.estimatedSavings();
166
+ if (metricSavingsText) {
167
+ insightParts.push(`estimated metric savings: ${metricSavingsText}`);
168
+ }
169
+ if (model.wastedBytes) {
170
+ insightParts.push(`estimated wasted bytes: ${bytes(model.wastedBytes)}`);
171
+ }
172
+ for (const suggestion of formatter.getSuggestions()) {
173
+ insightParts.push(`example question: ${suggestion.title}`);
174
+ }
175
+ const insightPartsText = insightParts.join('\n ');
176
+ parts.push(` - ${insightPartsText}`);
177
+ }
178
+ }
179
+ return parts.join('\n');
180
+ }
181
+ #formatFactByInsightSet(options) {
182
+ const { insights, title, description, empty, cb } = options;
183
+ const lines = [`# ${title}\n`];
184
+ if (description) {
185
+ lines.push(`${description}\n`);
186
+ }
187
+ if (insights?.size) {
188
+ const multipleInsightSets = insights.size > 1;
189
+ for (const insightSet of insights.values()) {
190
+ if (multipleInsightSets) {
191
+ lines.push(`## insight set id: ${insightSet.id}\n`);
192
+ }
193
+ lines.push((cb(insightSet) ?? empty) + '\n');
194
+ }
195
+ }
196
+ else {
197
+ lines.push(empty + '\n');
198
+ }
199
+ return lines.join('\n');
200
+ }
201
+ formatCriticalRequests() {
202
+ const parsedTrace = this.#parsedTrace;
203
+ return this.#formatFactByInsightSet({
204
+ insights: parsedTrace.insights,
205
+ title: 'Critical network requests',
206
+ empty: 'none',
207
+ cb: insightSet => {
208
+ const criticalRequests = [];
209
+ const walkRequest = (node) => {
210
+ criticalRequests.push(node.request);
211
+ node.children.forEach(walkRequest);
212
+ };
213
+ insightSet.model.NetworkDependencyTree.rootNodes.forEach(walkRequest);
214
+ return criticalRequests.length ? this.formatNetworkRequests(criticalRequests, { verbose: false }) : null;
215
+ },
216
+ });
217
+ }
218
+ #serializeBottomUpRootNode(rootNode, limit) {
219
+ // Sorted by selfTime.
220
+ // No nodes less than 1 ms.
221
+ // Limit.
222
+ const topNodes = [...rootNode.children().values()]
223
+ .filter(n => n.totalTime >= 1)
224
+ .sort((a, b) => b.selfTime - a.selfTime)
225
+ .slice(0, limit);
226
+ function nodeToText(node) {
227
+ const event = node.event;
228
+ let frame;
229
+ if (Trace.Types.Events.isProfileCall(event)) {
230
+ frame = event.callFrame;
231
+ }
232
+ else {
233
+ frame = Trace.Helpers.Trace.getStackTraceTopCallFrameInEventPayload(event);
234
+ }
235
+ let source = Trace.Name.forEntry(event);
236
+ if (frame?.url) {
237
+ source += ` (url: ${frame.url}`;
238
+ if (frame.lineNumber !== -1) {
239
+ source += `, line: ${frame.lineNumber}`;
240
+ }
241
+ if (frame.columnNumber !== -1) {
242
+ source += `, column: ${frame.columnNumber}`;
243
+ }
244
+ source += ')';
245
+ }
246
+ return `- self: ${millis(node.selfTime)}, total: ${millis(node.totalTime)}, source: ${source}`;
247
+ }
248
+ return topNodes.map(node => nodeToText.call(this, node)).join('\n');
249
+ }
250
+ #getSerializeBottomUpRootNodeFormat(limit) {
251
+ return `This is the bottom-up summary for the entire trace. Only the top ${limit} activities (sorted by self time) are shown. An activity is all the aggregated time spent on the same type of work. For example, it can be all the time spent in a specific JavaScript function, or all the time spent in a specific browser rendering stage (like layout, v8 compile, parsing html). "Self time" represents the aggregated time spent directly in an activity, across all occurrences. "Total time" represents the aggregated time spent in an activity or any of its children.`;
252
+ }
253
+ formatMainThreadBottomUpSummary() {
254
+ const parsedTrace = this.#parsedTrace;
255
+ const limit = 10;
256
+ return this.#formatFactByInsightSet({
257
+ insights: parsedTrace.insights,
258
+ title: 'Main thread bottom-up summary',
259
+ description: this.#getSerializeBottomUpRootNodeFormat(limit),
260
+ empty: 'no activity',
261
+ cb: insightSet => {
262
+ const rootNode = AIQueries.mainThreadActivityBottomUpSingleNavigation(insightSet.navigation?.args.data?.navigationId, insightSet.bounds, parsedTrace);
263
+ return rootNode ? this.#serializeBottomUpRootNode(rootNode, limit) : null;
264
+ },
265
+ });
266
+ }
267
+ #formatThirdPartyEntitySummaries(summaries) {
268
+ const topMainThreadTimeEntries = summaries.toSorted((a, b) => b.mainThreadTime - a.mainThreadTime).slice(0, 5);
269
+ if (!topMainThreadTimeEntries.length) {
270
+ return '';
271
+ }
272
+ const listText = topMainThreadTimeEntries
273
+ .map(s => {
274
+ const transferSize = `${bytes(s.transferSize)}`;
275
+ return `- name: ${s.entity.name}, main thread time: ${millis(s.mainThreadTime)}, network transfer size: ${transferSize}`;
276
+ })
277
+ .join('\n');
278
+ return listText;
279
+ }
280
+ formatThirdPartySummary() {
281
+ const parsedTrace = this.#parsedTrace;
282
+ return this.#formatFactByInsightSet({
283
+ insights: parsedTrace.insights,
284
+ title: '3rd party summary',
285
+ empty: 'no 3rd parties',
286
+ cb: insightSet => {
287
+ const thirdPartySummaries = Trace.Extras.ThirdParties.summarizeByThirdParty(parsedTrace.data, insightSet.bounds);
288
+ return thirdPartySummaries.length ? this.#formatThirdPartyEntitySummaries(thirdPartySummaries) : null;
289
+ },
290
+ });
291
+ }
292
+ formatLongestTasks() {
293
+ const parsedTrace = this.#parsedTrace;
294
+ return this.#formatFactByInsightSet({
295
+ insights: parsedTrace.insights,
296
+ title: 'Longest tasks',
297
+ empty: 'none',
298
+ cb: insightSet => {
299
+ const longestTaskTrees = AIQueries.longestTasks(insightSet.navigation?.args.data?.navigationId, insightSet.bounds, parsedTrace, 3);
300
+ if (!longestTaskTrees?.length) {
301
+ return null;
302
+ }
303
+ return longestTaskTrees
304
+ .map(tree => {
305
+ const time = millis(tree.rootNode.totalTime);
306
+ return `- total time: ${time}, event: ${this.serializeEvent(tree.rootNode.event)}`;
307
+ })
308
+ .join('\n');
309
+ },
310
+ });
311
+ }
312
+ #serializeRelatedInsightsForEvents(events) {
313
+ if (!events.length) {
314
+ return '';
315
+ }
316
+ const insightNameToRelatedEvents = new Map();
317
+ if (this.#insightSet) {
318
+ for (const model of Object.values(this.#insightSet.model)) {
319
+ if (!model.relatedEvents) {
320
+ continue;
321
+ }
322
+ const modeRelatedEvents = Array.isArray(model.relatedEvents) ? model.relatedEvents : [...model.relatedEvents.keys()];
323
+ if (!modeRelatedEvents.length) {
324
+ continue;
325
+ }
326
+ const relatedEvents = modeRelatedEvents.filter(e => events.includes(e));
327
+ if (relatedEvents.length) {
328
+ insightNameToRelatedEvents.set(model.insightKey, relatedEvents);
329
+ }
330
+ }
331
+ }
332
+ if (!insightNameToRelatedEvents.size) {
333
+ return '';
334
+ }
335
+ const results = [];
336
+ for (const [insightKey, events] of insightNameToRelatedEvents) {
337
+ // Limit to 5, because some insights (namely ThirdParties) can have a huge
338
+ // number of related events. Mostly, insights probably don't have more than
339
+ // 5.
340
+ const eventsString = events.slice(0, 5).map(e => Trace.Name.forEntry(e) + ' ' + this.serializeEvent(e)).join(', ');
341
+ results.push(`- ${insightKey}: ${eventsString}`);
342
+ }
343
+ return results.join('\n');
344
+ }
345
+ formatMainThreadTrackSummary(bounds) {
346
+ if (!this.#parsedTrace.insights) {
347
+ return 'No main thread activity found';
348
+ }
349
+ const results = [];
350
+ const insightSet = this.#parsedTrace.insights?.values().find(insightSet => Trace.Helpers.Timing.boundsIncludeTimeRange({ bounds, timeRange: insightSet.bounds }));
351
+ const topDownTree = AIQueries.mainThreadActivityTopDown(insightSet?.navigation?.args.data?.navigationId, bounds, this.#parsedTrace);
352
+ if (topDownTree) {
353
+ results.push('# Top-down main thread summary');
354
+ results.push(this.formatCallTree(topDownTree, 2 /* headerLevel */));
355
+ }
356
+ const bottomUpRootNode = AIQueries.mainThreadActivityBottomUp(bounds, this.#parsedTrace);
357
+ if (bottomUpRootNode) {
358
+ results.push('# Bottom-up main thread summary');
359
+ const limit = 20;
360
+ results.push(this.#getSerializeBottomUpRootNodeFormat(limit));
361
+ results.push(this.#serializeBottomUpRootNode(bottomUpRootNode, limit));
362
+ }
363
+ const thirdPartySummaries = Trace.Extras.ThirdParties.summarizeByThirdParty(this.#parsedTrace.data, bounds);
364
+ if (thirdPartySummaries.length) {
365
+ results.push('# Third parties');
366
+ results.push(this.#formatThirdPartyEntitySummaries(thirdPartySummaries));
367
+ }
368
+ const relatedInsightsText = this.#serializeRelatedInsightsForEvents([...topDownTree?.rootNode.events ?? [], ...bottomUpRootNode?.events ?? []]);
369
+ if (relatedInsightsText) {
370
+ results.push('# Related insights');
371
+ results.push('Here are all the insights that contain some related event from the main thread in the given range.');
372
+ results.push(relatedInsightsText);
373
+ }
374
+ if (!results.length) {
375
+ return 'No main thread activity found';
376
+ }
377
+ return results.join('\n\n');
378
+ }
379
+ formatNetworkTrackSummary(bounds) {
380
+ const results = [];
381
+ const requests = this.#parsedTrace.data.NetworkRequests.byTime.filter(request => Trace.Helpers.Timing.eventIsInBounds(request, bounds));
382
+ const requestsText = this.formatNetworkRequests(requests, { verbose: false });
383
+ results.push('# Network requests summary');
384
+ results.push(requestsText || 'No requests in the given bounds');
385
+ const relatedInsightsText = this.#serializeRelatedInsightsForEvents(requests);
386
+ if (relatedInsightsText) {
387
+ results.push('# Related insights');
388
+ results.push('Here are all the insights that contain some related request from the given range.');
389
+ results.push(relatedInsightsText);
390
+ }
391
+ return results.join('\n\n');
392
+ }
393
+ formatCallTree(tree, headerLevel = 1) {
394
+ return `${tree.serialize(headerLevel)}\n\nIMPORTANT: Never show eventKey to the user.`;
395
+ }
396
+ formatNetworkRequests(requests, options) {
397
+ if (requests.length === 0) {
398
+ return '';
399
+ }
400
+ let verbose;
401
+ if (options?.verbose !== undefined) {
402
+ verbose = options.verbose;
403
+ }
404
+ else {
405
+ verbose = requests.length === 1;
406
+ }
407
+ // Use verbose format for a single network request. With the compressed format, a format description
408
+ // needs to be provided, which is not worth sending if only one network request is being stringified.
409
+ if (verbose) {
410
+ return requests.map(request => this.#networkRequestVerbosely(request, options)).join('\n');
411
+ }
412
+ return this.#networkRequestsArrayCompressed(requests);
413
+ }
414
+ #getOrAssignUrlIndex(urlIdToIndex, url) {
415
+ let index = urlIdToIndex.get(url);
416
+ if (index !== undefined) {
417
+ return index;
418
+ }
419
+ index = urlIdToIndex.size;
420
+ urlIdToIndex.set(url, index);
421
+ return index;
422
+ }
423
+ #getInitiatorChain(parsedTrace, request) {
424
+ const initiators = [];
425
+ let cur = request;
426
+ while (cur) {
427
+ const initiator = parsedTrace.data.NetworkRequests.eventToInitiator.get(cur);
428
+ if (initiator) {
429
+ // Should never happen, but if it did that would be an infinite loop.
430
+ if (initiators.includes(initiator)) {
431
+ return [];
432
+ }
433
+ initiators.unshift(initiator);
434
+ }
435
+ cur = initiator;
436
+ }
437
+ return initiators;
438
+ }
439
+ /**
440
+ * This is the data passed to a network request when the Performance Insights
441
+ * agent is asking for information. It is a slimmed down version of the
442
+ * request's data to avoid using up too much of the context window.
443
+ * IMPORTANT: these set of fields have been reviewed by Chrome Privacy &
444
+ * Security; be careful about adding new data here. If you are in doubt please
445
+ * talk to jacktfranklin@.
446
+ */
447
+ #networkRequestVerbosely(request, options) {
448
+ const { url, statusCode, initialPriority, priority, fromServiceWorker, mimeType, responseHeaders, syntheticData, protocol } = request.args.data;
449
+ const parsedTrace = this.#parsedTrace;
450
+ const titlePrefix = `## ${options?.customTitle ?? 'Network request'}`;
451
+ // Note: unlike other agents, we do have the ability to include
452
+ // cross-origins, hence why we do not sanitize the URLs here.
453
+ const navigationForEvent = Trace.Helpers.Trace.getNavigationForTraceEvent(request, request.args.data.frame, parsedTrace.data.Meta.navigationsByFrameId);
454
+ const baseTime = navigationForEvent?.ts ?? parsedTrace.data.Meta.traceBounds.min;
455
+ // Gets all the timings for this request, relative to the base time.
456
+ // Note that this is the start time, not total time. E.g. "queuedAt: X"
457
+ // means that the request was queued at Xms, not that it queued for Xms.
458
+ const startTimesForLifecycle = {
459
+ queuedAt: request.ts - baseTime,
460
+ requestSentAt: syntheticData.sendStartTime - baseTime,
461
+ downloadCompletedAt: syntheticData.finishTime - baseTime,
462
+ processingCompletedAt: request.ts + request.dur - baseTime,
463
+ };
464
+ const mainThreadProcessingDuration = startTimesForLifecycle.processingCompletedAt - startTimesForLifecycle.downloadCompletedAt;
465
+ const downloadTime = syntheticData.finishTime - syntheticData.downloadStart;
466
+ const renderBlocking = Trace.Helpers.Network.isSyntheticNetworkRequestEventRenderBlocking(request);
467
+ const initiator = parsedTrace.data.NetworkRequests.eventToInitiator.get(request);
468
+ const priorityLines = [];
469
+ if (initialPriority === priority) {
470
+ priorityLines.push(`Priority: ${priority}`);
471
+ }
472
+ else {
473
+ priorityLines.push(`Initial priority: ${initialPriority}`);
474
+ priorityLines.push(`Final priority: ${priority}`);
475
+ }
476
+ const redirects = request.args.data.redirects.map((redirect, index) => {
477
+ const startTime = redirect.ts - baseTime;
478
+ return `#### Redirect ${index + 1}: ${redirect.url}
479
+ - Start time: ${micros(startTime)}
480
+ - Duration: ${micros(redirect.dur)}`;
481
+ });
482
+ const initiators = this.#getInitiatorChain(parsedTrace, request);
483
+ const initiatorUrls = initiators.map(initiator => initiator.args.data.url);
484
+ const eventKey = this.#eventsSerializer.keyForEvent(request);
485
+ const eventKeyLine = eventKey ? `eventKey: ${eventKey}\n` : '';
486
+ return `${titlePrefix}: ${url}
487
+ ${eventKeyLine}Timings:
488
+ - Queued at: ${micros(startTimesForLifecycle.queuedAt)}
489
+ - Request sent at: ${micros(startTimesForLifecycle.requestSentAt)}
490
+ - Download complete at: ${micros(startTimesForLifecycle.downloadCompletedAt)}
491
+ - Main thread processing completed at: ${micros(startTimesForLifecycle.processingCompletedAt)}
492
+ Durations:
493
+ - Download time: ${micros(downloadTime)}
494
+ - Main thread processing time: ${micros(mainThreadProcessingDuration)}
495
+ - Total duration: ${micros(request.dur)}${initiator ? `\nInitiator: ${initiator.args.data.url}` : ''}
496
+ Redirects:${redirects.length ? '\n' + redirects.join('\n') : ' no redirects'}
497
+ Status code: ${statusCode}
498
+ MIME Type: ${mimeType}
499
+ Protocol: ${protocol}
500
+ ${priorityLines.join('\n')}
501
+ Render blocking: ${renderBlocking ? 'Yes' : 'No'}
502
+ From a service worker: ${fromServiceWorker ? 'Yes' : 'No'}
503
+ Initiators (root request to the request that directly loaded this one): ${initiatorUrls.join(', ') || 'none'}
504
+ ${NetworkRequestFormatter.formatHeaders('Response headers', responseHeaders ?? [], true)}`;
505
+ }
506
+ // A compact network requests format designed to save tokens when sending multiple network requests to the model.
507
+ // It creates a map that maps request URLs to IDs and references the IDs in the compressed format.
508
+ //
509
+ // Important: Do not use this method for stringifying a single network request. With this format, a format description
510
+ // needs to be provided, which is not worth sending if only one network request is being stringified.
511
+ // For a single request, use `formatRequestVerbosely`, which formats with all fields specified and does not require a
512
+ // format description.
513
+ #networkRequestsArrayCompressed(requests) {
514
+ const networkDataString = `
515
+ Network requests data:
516
+
517
+ `;
518
+ const urlIdToIndex = new Map();
519
+ const allRequestsText = requests
520
+ .map(request => {
521
+ const urlIndex = this.#getOrAssignUrlIndex(urlIdToIndex, request.args.data.url);
522
+ return this.#networkRequestCompressedFormat(urlIndex, request, urlIdToIndex);
523
+ })
524
+ .join('\n');
525
+ const urlsMapString = 'allUrls = ' +
526
+ `[${Array.from(urlIdToIndex.entries())
527
+ .map(([url, index]) => {
528
+ return `${index}: ${url}`;
529
+ })
530
+ .join(', ')}]`;
531
+ return networkDataString + '\n\n' + urlsMapString + '\n\n' + allRequestsText;
532
+ }
533
+ static callFrameDataFormatDescription = `Each call frame is presented in the following format:
534
+
535
+ 'id;eventKey;name;duration;selfTime;urlIndex;childRange;[line];[column];[S]'
536
+
537
+ Key definitions:
538
+
539
+ * id: A unique numerical identifier for the call frame. Never mention this id in the output to the user.
540
+ * eventKey: String that uniquely identifies this event in the flame chart.
541
+ * name: A concise string describing the call frame (e.g., 'Evaluate Script', 'render', 'fetchData').
542
+ * duration: The total execution time of the call frame, including its children.
543
+ * selfTime: The time spent directly within the call frame, excluding its children's execution.
544
+ * urlIndex: Index referencing the "All URLs" list. Empty if no specific script URL is associated.
545
+ * childRange: Specifies the direct children of this node using their IDs. If empty ('' or 'S' at the end), the node has no children. If a single number (e.g., '4'), the node has one child with that ID. If in the format 'firstId-lastId' (e.g., '4-5'), it indicates a consecutive range of child IDs from 'firstId' to 'lastId', inclusive.
546
+ * line: An optional field for a call frame's line number. This is where the function is defined.
547
+ * column: An optional field for a call frame's column number. This is where the function is defined.
548
+ * S: _Optional_. The letter 'S' terminates the line if that call frame was selected by the user.
549
+
550
+ Example Call Tree:
551
+
552
+ 1;r-123;main;500;100;0;1;;
553
+ 2;r-124;update;200;50;;3;0;1;
554
+ 3;p-49575-15428179-2834-374;animate;150;20;0;4-5;0;1;S
555
+ 4;p-49575-15428179-3505-1162;calculatePosition;80;80;0;1;;
556
+ 5;p-49575-15428179-5391-2767;applyStyles;50;50;0;1;;
557
+ `;
558
+ /**
559
+ * Network requests format description that is sent to the model as a fact.
560
+ */
561
+ static networkDataFormatDescription = `Network requests are formatted like this:
562
+ \`urlIndex;eventKey;queuedTime;requestSentTime;downloadCompleteTime;processingCompleteTime;totalDuration;downloadDuration;mainThreadProcessingDuration;statusCode;mimeType;priority;initialPriority;finalPriority;renderBlocking;protocol;fromServiceWorker;initiators;redirects:[[redirectUrlIndex|startTime|duration]];responseHeaders:[header1Value|header2Value|...]\`
563
+
564
+ - \`urlIndex\`: Numerical index for the request's URL, referencing the "All URLs" list.
565
+ - \`eventKey\`: String that uniquely identifies this request's trace event.
566
+ Timings (all in milliseconds, relative to navigation start):
567
+ - \`queuedTime\`: When the request was queued.
568
+ - \`requestSentTime\`: When the request was sent.
569
+ - \`downloadCompleteTime\`: When the download completed.
570
+ - \`processingCompleteTime\`: When main thread processing finished.
571
+ Durations (all in milliseconds):
572
+ - \`totalDuration\`: Total time from the request being queued until its main thread processing completed.
573
+ - \`downloadDuration\`: Time spent actively downloading the resource.
574
+ - \`mainThreadProcessingDuration\`: Time spent on the main thread after the download completed.
575
+ - \`statusCode\`: The HTTP status code of the response (e.g., 200, 404).
576
+ - \`mimeType\`: The MIME type of the resource (e.g., "text/html", "application/javascript").
577
+ - \`priority\`: The final network request priority (e.g., "VeryHigh", "Low").
578
+ - \`initialPriority\`: The initial network request priority.
579
+ - \`finalPriority\`: The final network request priority (redundant if \`priority\` is always final, but kept for clarity if \`initialPriority\` and \`priority\` differ).
580
+ - \`renderBlocking\`: 't' if the request was render-blocking, 'f' otherwise.
581
+ - \`protocol\`: The network protocol used (e.g., "h2", "http/1.1").
582
+ - \`fromServiceWorker\`: 't' if the request was served from a service worker, 'f' otherwise.
583
+ - \`initiators\`: A list (separated by ,) of URL indices for the initiator chain of this request. Listed in order starting from the root request to the request that directly loaded this one. This represents the network dependencies necessary to load this request. If there is no initiator, this is empty.
584
+ - \`redirects\`: A comma-separated list of redirects, enclosed in square brackets. Each redirect is formatted as
585
+ \`[redirectUrlIndex|startTime|duration]\`, where: \`redirectUrlIndex\`: Numerical index for the redirect's URL. \`startTime\`: The start time of the redirect in milliseconds, relative to navigation start. \`duration\`: The duration of the redirect in milliseconds.
586
+ - \`responseHeaders\`: A list (separated by '|') of values for specific, pre-defined response headers, enclosed in square brackets.
587
+ The order of headers corresponds to an internal fixed list. If a header is not present, its value will be empty.
588
+ `;
589
+ /**
590
+ * This is the network request data passed to the Performance agent.
591
+ *
592
+ * The `urlIdToIndex` Map is used to map URLs to numerical indices in order to not need to pass whole url every time it's mentioned.
593
+ * The map content is passed in the response together will all the requests data.
594
+ *
595
+ * See `networkDataFormatDescription` above for specifics.
596
+ */
597
+ #networkRequestCompressedFormat(urlIndex, request, urlIdToIndex) {
598
+ const { statusCode, initialPriority, priority, fromServiceWorker, mimeType, responseHeaders, syntheticData, protocol, } = request.args.data;
599
+ const parsedTrace = this.#parsedTrace;
600
+ const navigationForEvent = Trace.Helpers.Trace.getNavigationForTraceEvent(request, request.args.data.frame, parsedTrace.data.Meta.navigationsByFrameId);
601
+ const baseTime = navigationForEvent?.ts ?? parsedTrace.data.Meta.traceBounds.min;
602
+ const queuedTime = micros(request.ts - baseTime);
603
+ const requestSentTime = micros(syntheticData.sendStartTime - baseTime);
604
+ const downloadCompleteTime = micros(syntheticData.finishTime - baseTime);
605
+ const processingCompleteTime = micros(request.ts + request.dur - baseTime);
606
+ const totalDuration = micros(request.dur);
607
+ const downloadDuration = micros(syntheticData.finishTime - syntheticData.downloadStart);
608
+ const mainThreadProcessingDuration = micros(request.ts + request.dur - syntheticData.finishTime);
609
+ const renderBlocking = Trace.Helpers.Network.isSyntheticNetworkRequestEventRenderBlocking(request) ? 't' : 'f';
610
+ const finalPriority = priority;
611
+ const headerValues = responseHeaders
612
+ ?.map(header => {
613
+ const value = NetworkRequestFormatter.allowHeader(header.name) ? header.value : '<redacted>';
614
+ return `${header.name}: ${value}`;
615
+ })
616
+ .join('|');
617
+ const redirects = request.args.data.redirects
618
+ .map(redirect => {
619
+ const urlIndex = this.#getOrAssignUrlIndex(urlIdToIndex, redirect.url);
620
+ const redirectStartTime = micros(redirect.ts - baseTime);
621
+ const redirectDuration = micros(redirect.dur);
622
+ return `[${urlIndex}|${redirectStartTime}|${redirectDuration}]`;
623
+ })
624
+ .join(',');
625
+ const initiators = this.#getInitiatorChain(parsedTrace, request);
626
+ const initiatorUrlIndices = initiators.map(initiator => this.#getOrAssignUrlIndex(urlIdToIndex, initiator.args.data.url));
627
+ const parts = [
628
+ urlIndex,
629
+ this.#eventsSerializer.keyForEvent(request) ?? '',
630
+ queuedTime,
631
+ requestSentTime,
632
+ downloadCompleteTime,
633
+ processingCompleteTime,
634
+ totalDuration,
635
+ downloadDuration,
636
+ mainThreadProcessingDuration,
637
+ statusCode,
638
+ mimeType,
639
+ priority,
640
+ initialPriority,
641
+ finalPriority,
642
+ renderBlocking,
643
+ protocol,
644
+ fromServiceWorker ? 't' : 'f',
645
+ initiatorUrlIndices.join(','),
646
+ `[${redirects}]`,
647
+ `[${headerValues ?? ''}]`,
648
+ ];
649
+ return parts.join(';');
650
+ }
651
+ formatFunctionCode(code) {
652
+ const { startLine, startColumn } = code.range;
653
+ const { startLine: contextStartLine, startColumn: contextStartColumn, endLine: contextEndLine, endColumn: contextEndColumn } = code.rangeWithContext;
654
+ const name = code.functionBounds.name;
655
+ const url = code.functionBounds.uiSourceCode.url();
656
+ const parts = [];
657
+ parts.push(`${name} @ ${url}:${startLine}:${startColumn}. With added context, chunk is from ${contextStartLine}:${contextStartColumn} to ${contextEndLine}:${contextEndColumn}`);
658
+ parts.push('\nThe following is a markdown block of JavaScript. <FUNCTION_START> and <FUNCTION_END> marks the exact function declaration, and everything outside that is provided for additional context. Comments at the end of each line indicate the runtime performance cost of that code. Do not show the user the function markers or the additional context.\n');
659
+ parts.push('```');
660
+ parts.push(code.codeWithContext);
661
+ parts.push('```');
662
+ return parts.join('\n');
663
+ }
664
+ }