chrome-devtools-frontend 1.0.1683520 → 1.0.1689415

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 (661) hide show
  1. package/.agents/skills/gerrit-cli/SKILL.md +29 -8
  2. package/.agents/skills/gerrit-cli/references/commands.md +51 -18
  3. package/.agents/skills/gerrit-cli/references/workflows.md +6 -6
  4. package/.agents/skills/gerrit-cli/scripts/import_upstream.py +43 -70
  5. package/AUTHORS +1 -0
  6. package/config/typescript/tsconfig.base.json +1 -0
  7. package/config/typescript/tsconfig.eslint.json +9 -0
  8. package/docs/contributing/issues.md +1 -1
  9. package/docs/styleguide/ux/writing.md +2 -2
  10. package/eslint.config.mjs +18 -10
  11. package/front_end/core/common/Base64.ts +1 -1
  12. package/front_end/core/common/Color.ts +28 -6
  13. package/front_end/core/common/ColorConverter.ts +12 -0
  14. package/front_end/core/common/Console.ts +2 -1
  15. package/front_end/core/common/Object.ts +2 -2
  16. package/front_end/core/common/ResourceType.ts +12 -13
  17. package/front_end/core/common/Revealer.ts +1 -1
  18. package/front_end/core/common/Settings.ts +2 -2
  19. package/front_end/core/common/TextDictionary.ts +2 -2
  20. package/front_end/core/common/Throttler.ts +1 -1
  21. package/front_end/core/host/InspectorFrontendHostAPI.ts +2 -2
  22. package/front_end/core/host/UserMetrics.ts +51 -37
  23. package/front_end/core/host/host.ts +1 -1
  24. package/front_end/core/i18n/i18nImpl.ts +1 -1
  25. package/front_end/core/platform/HostRuntime.ts +3 -3
  26. package/front_end/core/platform/KeyboardUtilities.ts +1 -1
  27. package/front_end/core/protocol_client/InspectorBackend.ts +7 -6
  28. package/front_end/core/root/Runtime.ts +4 -2
  29. package/front_end/core/sdk/AnimationModel.ts +1 -1
  30. package/front_end/core/sdk/CPUThrottlingManager.ts +198 -0
  31. package/front_end/core/sdk/CSSMetadata.ts +11 -6
  32. package/front_end/core/sdk/CSSPropertyParser.ts +5 -3
  33. package/front_end/core/sdk/CSSPropertyParserMatchers.ts +90 -59
  34. package/front_end/core/sdk/ConsoleModel.ts +1 -1
  35. package/front_end/core/sdk/DOMModel.ts +3 -3
  36. package/front_end/core/sdk/DebuggerModel.ts +1 -1
  37. package/front_end/core/sdk/EmulationModel.ts +5 -0
  38. package/front_end/core/sdk/LayerTreeBase.ts +1 -1
  39. package/front_end/core/sdk/NetworkManager.ts +1 -1
  40. package/front_end/core/sdk/README.md +40 -0
  41. package/front_end/core/sdk/RehydratingConnection.ts +1 -1
  42. package/front_end/core/sdk/RemoteObject.ts +1 -1
  43. package/front_end/core/sdk/ResourceTreeModel.ts +2 -2
  44. package/front_end/core/sdk/SDKModel.ts +1 -1
  45. package/front_end/core/sdk/SDKSettings.ts +6 -0
  46. package/front_end/core/sdk/Script.ts +2 -1
  47. package/front_end/core/sdk/SecurityOrigin.ts +48 -0
  48. package/front_end/core/sdk/ServiceWorkerCacheModel.ts +0 -7
  49. package/front_end/core/sdk/ServiceWorkerManager.ts +75 -17
  50. package/front_end/core/sdk/StorageBucketsModel.ts +0 -6
  51. package/front_end/core/sdk/sdk.ts +2 -0
  52. package/front_end/core/text_utils/ContentData.ts +1 -1
  53. package/front_end/entrypoints/formatter_worker/FormattedContentBuilder.ts +3 -1
  54. package/front_end/entrypoints/formatter_worker/FormatterWorker.ts +1 -1
  55. package/front_end/entrypoints/formatter_worker/ScopeParser.ts +2 -2
  56. package/front_end/entrypoints/formatter_worker/Substitute.ts +1 -1
  57. package/front_end/entrypoints/formatter_worker/formatter_worker-entrypoint.ts +1 -1
  58. package/front_end/entrypoints/inspector_main/InspectorMain.ts +1 -1
  59. package/front_end/entrypoints/inspector_main/OutermostTargetSelector.ts +1 -1
  60. package/front_end/entrypoints/inspector_main/nodeIcon.css +1 -1
  61. package/front_end/entrypoints/inspector_main/outermostTargetSelector.css +3 -3
  62. package/front_end/entrypoints/inspector_main/renderingOptions.css +3 -3
  63. package/front_end/entrypoints/js_app/js_app.ts +25 -9
  64. package/front_end/entrypoints/main/MainImpl.ts +2 -1
  65. package/front_end/entrypoints/main/main-meta.ts +5 -31
  66. package/front_end/entrypoints/node_app/app/nodeConnectionsPanel.css +5 -5
  67. package/front_end/entrypoints/node_app/node_app.ts +1 -1
  68. package/front_end/foundation/Universe.ts +7 -0
  69. package/front_end/generated/ARIAProperties.ts +39 -1
  70. package/front_end/generated/InspectorBackendCommands.ts +13 -22
  71. package/front_end/generated/SupportedCSSProperties.ts +60 -119
  72. package/front_end/generated/protocol-mapping.d.ts +18 -59
  73. package/front_end/generated/protocol-proxy-api.d.ts +14 -47
  74. package/front_end/generated/protocol.ts +104 -331
  75. package/front_end/models/ai_assistance/AiAgent2.ts +25 -11
  76. package/front_end/models/ai_assistance/AiConversation.ts +23 -14
  77. package/front_end/models/ai_assistance/AiHistoryStorage.ts +2 -2
  78. package/front_end/models/ai_assistance/AiUtils.ts +16 -0
  79. package/front_end/models/ai_assistance/EvaluateAction.ts +1 -1
  80. package/front_end/models/ai_assistance/README.md +1 -1
  81. package/front_end/models/ai_assistance/agents/AccessibilityAgent.ts +2 -3
  82. package/front_end/models/ai_assistance/agents/AiAgent.ts +40 -25
  83. package/front_end/models/ai_assistance/agents/ContextSelectionAgent.ts +4 -3
  84. package/front_end/models/ai_assistance/agents/FileAgent.ts +2 -2
  85. package/front_end/models/ai_assistance/agents/NetworkAgent.ts +2 -2
  86. package/front_end/models/ai_assistance/agents/PerformanceAgent.ts +1 -1
  87. package/front_end/models/ai_assistance/agents/StorageAgent.ts +13 -11
  88. package/front_end/models/ai_assistance/agents/StylingAgent.snapshot.txt +2 -2
  89. package/front_end/models/ai_assistance/agents/StylingAgent.ts +9 -7
  90. package/front_end/models/ai_assistance/ai_assistance.ts +12 -0
  91. package/front_end/models/ai_assistance/contexts/AccessibilityContext.ts +16 -1
  92. package/front_end/models/ai_assistance/contexts/FileContext.ts +6 -0
  93. package/front_end/models/ai_assistance/data_formatters/PerformanceTraceFormatter.snapshot.txt +150 -325
  94. package/front_end/models/ai_assistance/injected.ts +5 -3
  95. package/front_end/models/ai_assistance/performance/AIContext.ts +1 -1
  96. package/front_end/models/ai_assistance/skills/README.md +1 -1
  97. package/front_end/models/ai_assistance/skills/accessibility.md +19 -10
  98. package/front_end/models/ai_assistance/skills/network.md +13 -7
  99. package/front_end/models/ai_assistance/skills/performance.md +22 -16
  100. package/front_end/models/ai_assistance/skills/sources.md +13 -7
  101. package/front_end/models/ai_assistance/skills/storage.md +19 -18
  102. package/front_end/models/ai_assistance/skills/styling.md +30 -37
  103. package/front_end/models/ai_assistance/tools/CookieUtils.ts +120 -0
  104. package/front_end/models/ai_assistance/tools/DOMStorageUtils.ts +53 -4
  105. package/front_end/models/ai_assistance/tools/ExecuteJavaScript.ts +8 -32
  106. package/front_end/models/ai_assistance/tools/GetCookieValues.ts +146 -0
  107. package/front_end/models/ai_assistance/tools/GetDetailedCallTree.ts +11 -9
  108. package/front_end/models/ai_assistance/tools/GetElementAccessibilityDetails.ts +17 -5
  109. package/front_end/models/ai_assistance/tools/GetFunctionCode.ts +12 -11
  110. package/front_end/models/ai_assistance/tools/GetInsightDetails.ts +11 -11
  111. package/front_end/models/ai_assistance/tools/GetLighthouseAudits.ts +15 -8
  112. package/front_end/models/ai_assistance/tools/GetNetworkRequestDetails.ts +3 -3
  113. package/front_end/models/ai_assistance/tools/GetResourceContent.ts +12 -12
  114. package/front_end/models/ai_assistance/tools/GetSourceContent.ts +3 -2
  115. package/front_end/models/ai_assistance/tools/GetStorageBreakdown.ts +132 -0
  116. package/front_end/models/ai_assistance/tools/GetStorageValues.ts +18 -5
  117. package/front_end/models/ai_assistance/tools/GetStyles.ts +3 -3
  118. package/front_end/models/ai_assistance/tools/GetTraceEventByKey.ts +9 -8
  119. package/front_end/models/ai_assistance/tools/GetTraceMainThreadSummary.ts +13 -14
  120. package/front_end/models/ai_assistance/tools/GetTraceNetworkSummary.ts +12 -10
  121. package/front_end/models/ai_assistance/tools/ListCookies.ts +93 -0
  122. package/front_end/models/ai_assistance/tools/ListNetworkRequests.ts +15 -6
  123. package/front_end/models/ai_assistance/tools/ListPageOrigins.ts +3 -3
  124. package/front_end/models/ai_assistance/tools/ListSources.ts +5 -3
  125. package/front_end/models/ai_assistance/tools/ListStorageKeys.ts +17 -5
  126. package/front_end/models/ai_assistance/tools/RecordPerformanceTrace.ts +3 -2
  127. package/front_end/models/ai_assistance/tools/ResolveDevtoolsNodePath.ts +4 -3
  128. package/front_end/models/ai_assistance/tools/RunLighthouse.ts +14 -17
  129. package/front_end/models/ai_assistance/tools/SelectTraceEventByKey.ts +9 -8
  130. package/front_end/models/ai_assistance/tools/Tool.ts +36 -13
  131. package/front_end/models/ai_assistance/tools/ToolRegistry.ts +41 -8
  132. package/front_end/models/badges/AiExplorerBadge.ts +3 -3
  133. package/front_end/models/badges/CodeWhispererBadge.ts +2 -2
  134. package/front_end/models/badges/DOMDetectiveBadge.ts +3 -3
  135. package/front_end/models/badges/SpeedsterBadge.ts +3 -3
  136. package/front_end/models/badges/StarterBadge.ts +4 -4
  137. package/front_end/models/bindings/CompilerScriptMapping.ts +11 -2
  138. package/front_end/models/bindings/ContentProviderBasedProject.ts +3 -2
  139. package/front_end/models/breakpoints/BreakpointManager.ts +1 -1
  140. package/front_end/models/emulation/EmulatedDevices.ts +2 -2
  141. package/front_end/models/formatter/FormatterWorkerPool.ts +2 -2
  142. package/front_end/models/formatter/ScriptFormatter.ts +1 -2
  143. package/front_end/models/geometry/GeometryImpl.ts +2 -2
  144. package/front_end/models/heap_snapshot/HeapSnapshotModel.ts +1 -1
  145. package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +3 -2
  146. package/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts +5 -5
  147. package/front_end/models/issues_manager/DOMIssuesManager.ts +144 -0
  148. package/front_end/models/issues_manager/ElementAccessibilityIssue.ts +13 -1
  149. package/front_end/models/issues_manager/GenericIssue.ts +32 -20
  150. package/front_end/models/issues_manager/IssuesManager.ts +0 -1
  151. package/front_end/models/issues_manager/StylesheetLoadingIssue.ts +1 -1
  152. package/front_end/models/issues_manager/issues_manager.ts +2 -0
  153. package/front_end/models/javascript_metadata/{NativeFunctions.js → NativeFunctions.ts} +29 -9
  154. package/front_end/models/live-metrics/LiveMetrics.ts +9 -3
  155. package/front_end/models/live-metrics/web-vitals-injected/spec/spec.ts +58 -6
  156. package/front_end/models/live-metrics/web-vitals-injected/web-vitals-injected.ts +2 -62
  157. package/front_end/models/network_time_calculator/RequestTimeRanges.ts +2 -2
  158. package/front_end/models/persistence/AutomaticFileSystemWorkspaceBinding.ts +5 -0
  159. package/front_end/models/persistence/IsolatedFileSystem.ts +1 -1
  160. package/front_end/models/persistence/NetworkPersistenceManager.ts +35 -6
  161. package/front_end/models/stack_trace/StackTraceImpl.ts +2 -2
  162. package/front_end/models/trace/LanternComputationData.ts +2 -3
  163. package/front_end/models/trace/extras/StackTraceForEvent.ts +3 -2
  164. package/front_end/models/trace/extras/ThirdParties.ts +9 -9
  165. package/front_end/models/trace/handlers/AsyncJSCallsHandler.ts +7 -4
  166. package/front_end/models/trace/handlers/FramesHandler.ts +3 -3
  167. package/front_end/models/trace/handlers/LayoutShiftsHandler.ts +2 -2
  168. package/front_end/models/trace/handlers/SamplesHandler.ts +4 -2
  169. package/front_end/models/trace/handlers/UserInteractionsHandler.ts +1 -1
  170. package/front_end/models/trace/handlers/WarningsHandler.ts +2 -2
  171. package/front_end/models/trace/helpers/Network.ts +3 -3
  172. package/front_end/models/trace/helpers/Trace.ts +1 -1
  173. package/front_end/models/trace/insights/CLSCulprits.ts +2 -1
  174. package/front_end/models/trace/insights/Cache.ts +3 -1
  175. package/front_end/models/trace/insights/CharacterSet.ts +3 -1
  176. package/front_end/models/trace/insights/DOMSize.ts +3 -1
  177. package/front_end/models/trace/insights/DocumentLatency.ts +3 -1
  178. package/front_end/models/trace/insights/DuplicatedJavaScript.ts +3 -1
  179. package/front_end/models/trace/insights/FontDisplay.ts +2 -1
  180. package/front_end/models/trace/insights/ForcedReflow.ts +2 -1
  181. package/front_end/models/trace/insights/INPBreakdown.ts +3 -1
  182. package/front_end/models/trace/insights/ImageDelivery.ts +3 -1
  183. package/front_end/models/trace/insights/LCPBreakdown.ts +3 -1
  184. package/front_end/models/trace/insights/LCPDiscovery.ts +3 -1
  185. package/front_end/models/trace/insights/LegacyJavaScript.ts +3 -1
  186. package/front_end/models/trace/insights/ModernHTTP.ts +2 -1
  187. package/front_end/models/trace/insights/NetworkDependencyTree.ts +2 -1
  188. package/front_end/models/trace/insights/RenderBlocking.ts +5 -4
  189. package/front_end/models/trace/insights/SlowCSSSelector.ts +3 -1
  190. package/front_end/models/trace/insights/ThirdParties.ts +5 -3
  191. package/front_end/models/trace/insights/Viewport.ts +2 -1
  192. package/front_end/models/trace/lantern/simulation/Constants.ts +34 -2
  193. package/front_end/models/trace/lantern/simulation/DNSCache.ts +1 -1
  194. package/front_end/models/trace/types/TraceEvents.ts +8 -3
  195. package/front_end/models/trace_source_maps_resolver/SourceMapsResolver.ts +2 -1
  196. package/front_end/models/workspace/WorkspaceImpl.ts +18 -2
  197. package/front_end/panels/accessibility/AccessibilityAnnouncementRecordingView.ts +686 -2
  198. package/front_end/panels/accessibility/accessibilityNode.css +4 -4
  199. package/front_end/panels/accessibility/accessibilityProperties.css +1 -1
  200. package/front_end/panels/accessibility/accessibilitySidebarView.css +2 -2
  201. package/front_end/panels/accessibility/axBreadcrumbs.css +13 -13
  202. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +14 -14
  203. package/front_end/panels/ai_assistance/ExternalHandler.ts +89 -0
  204. package/front_end/panels/ai_assistance/aiAssistancePanel.css +1 -1
  205. package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
  206. package/front_end/panels/ai_assistance/components/ChatInput.ts +3 -2
  207. package/front_end/panels/ai_assistance/components/ChatView.ts +1 -1
  208. package/front_end/panels/ai_assistance/components/DisabledWidget.ts +1 -1
  209. package/front_end/panels/ai_assistance/components/ExploreWidget.ts +1 -1
  210. package/front_end/panels/ai_assistance/components/chatInput.css +12 -12
  211. package/front_end/panels/ai_assistance/components/chatMessage.css +16 -16
  212. package/front_end/panels/ai_assistance/components/chatView.css +2 -2
  213. package/front_end/panels/ai_assistance/components/exploreWidget.css +1 -1
  214. package/front_end/panels/ai_assistance/components/exportForAgentsDialog.css +4 -0
  215. package/front_end/panels/ai_assistance/components/walkthroughView.css +6 -6
  216. package/front_end/panels/animation/animationTimeline.css +62 -62
  217. package/front_end/panels/application/ApplicationPanelSidebar.ts +6 -1
  218. package/front_end/panels/application/BackgroundServiceModel.ts +4 -3
  219. package/front_end/panels/application/BackgroundServiceView.ts +290 -252
  220. package/front_end/panels/application/IndexedDBModel.ts +0 -7
  221. package/front_end/panels/application/WebMCPView.ts +15 -7
  222. package/front_end/panels/application/appManifestView.css +5 -5
  223. package/front_end/panels/application/backgroundServiceView.css +18 -2
  224. package/front_end/panels/application/components/AdsView.ts +100 -4
  225. package/front_end/panels/application/components/adsView.css +8 -5
  226. package/front_end/panels/application/components/backForwardCacheView.css +5 -5
  227. package/front_end/panels/application/components/bounceTrackingMitigationsView.css +1 -1
  228. package/front_end/panels/application/components/endpointsGrid.css +1 -1
  229. package/front_end/panels/application/components/permissionsPolicySection.css +1 -1
  230. package/front_end/panels/application/components/protocolHandlersView.css +6 -6
  231. package/front_end/panels/application/components/reportsGrid.css +1 -1
  232. package/front_end/panels/application/components/serviceWorkerRouterView.css +4 -4
  233. package/front_end/panels/application/components/trustTokensView.css +7 -7
  234. package/front_end/panels/application/cookieItemsView.css +3 -3
  235. package/front_end/panels/application/deviceBoundSessionsView.css +3 -3
  236. package/front_end/panels/application/frameDetailsReportView.css +11 -11
  237. package/front_end/panels/application/indexedDBViews.css +7 -7
  238. package/front_end/panels/application/originTrialTokenRows.css +2 -2
  239. package/front_end/panels/application/originTrialTreeView.css +3 -3
  240. package/front_end/panels/application/preloading/components/RuleSetDetailsView.css +2 -2
  241. package/front_end/panels/application/preloading/components/preloadingDetailsReportView.css +1 -1
  242. package/front_end/panels/application/preloading/components/preloadingDisabledInfobar.css +2 -2
  243. package/front_end/panels/application/preloading/components/preloadingGrid.css +2 -2
  244. package/front_end/panels/application/preloading/components/usedPreloadingView.css +7 -7
  245. package/front_end/panels/application/preloading/preloadingView.css +1 -1
  246. package/front_end/panels/application/preloading/preloadingViewDropDown.css +3 -3
  247. package/front_end/panels/application/serviceWorkerCacheViews.css +5 -5
  248. package/front_end/panels/application/serviceWorkerUpdateCycleView.css +12 -12
  249. package/front_end/panels/application/serviceWorkersView.css +15 -16
  250. package/front_end/panels/application/storageView.css +5 -5
  251. package/front_end/panels/application/webMCPView.css +9 -9
  252. package/front_end/panels/autofill/autofillView.css +4 -4
  253. package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +4 -4
  254. package/front_end/panels/browser_debugger/domBreakpointsSidebarPane.css +5 -3
  255. package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +4 -4
  256. package/front_end/panels/changes/changesSidebar.css +1 -1
  257. package/front_end/panels/changes/changesView.css +1 -1
  258. package/front_end/panels/changes/combinedDiffView.css +1 -1
  259. package/front_end/panels/common/CPUThrottlingOption.ts +5 -10
  260. package/front_end/panels/common/badgeNotification.css +2 -2
  261. package/front_end/panels/common/domLinkifier.css +1 -1
  262. package/front_end/panels/common/gdpSignUpDialog.css +3 -3
  263. package/front_end/panels/common/geminiRebrandPromoDialog.css +1 -1
  264. package/front_end/panels/console/ConsolePrompt.ts +6 -3
  265. package/front_end/panels/console/ConsoleView.ts +23 -19
  266. package/front_end/panels/console/ConsoleViewMessage.ts +7 -2
  267. package/front_end/panels/console/console-meta.ts +9 -43
  268. package/front_end/panels/console/consoleContextSelector.css +2 -2
  269. package/front_end/panels/console/consolePinPane.css +9 -9
  270. package/front_end/panels/console/consolePrompt.css +5 -5
  271. package/front_end/panels/console/consoleView.css +39 -39
  272. package/front_end/panels/coverage/coverageListView.css +2 -2
  273. package/front_end/panels/css_overview/cssOverviewCompletedView.css +34 -34
  274. package/front_end/panels/css_overview/cssOverviewProcessingView.css +5 -5
  275. package/front_end/panels/css_overview/cssOverviewSidebarPanel.css +1 -1
  276. package/front_end/panels/css_overview/cssOverviewStartView.css +17 -17
  277. package/front_end/panels/elements/AdoptedStyleSheetTreeElement.ts +209 -62
  278. package/front_end/panels/elements/ColorSwatchPopoverIcon.ts +4 -4
  279. package/front_end/panels/elements/DOMTreeContextMenu.ts +59 -54
  280. package/front_end/panels/elements/ElementIssueUtils.ts +10 -2
  281. package/front_end/panels/elements/ElementsPanel.ts +5 -2
  282. package/front_end/panels/elements/ElementsTreeElement.ts +212 -255
  283. package/front_end/panels/elements/ElementsTreeOutline.ts +1804 -495
  284. package/front_end/panels/elements/ShortcutTreeElement.ts +6 -3
  285. package/front_end/panels/elements/StandaloneStylesContainer.ts +5 -11
  286. package/front_end/panels/elements/StylePropertiesSection.ts +65 -8
  287. package/front_end/panels/elements/StylePropertyTreeElement.ts +8 -0
  288. package/front_end/panels/elements/StylesContainer.ts +1 -0
  289. package/front_end/panels/elements/StylesSidebarPane.ts +317 -159
  290. package/front_end/panels/elements/classesPaneWidget.css +6 -6
  291. package/front_end/panels/elements/components/stylePropertyEditor.css +7 -7
  292. package/front_end/panels/elements/computedStyleWidget.css +1 -1
  293. package/front_end/panels/elements/elementStatePaneWidget.css +8 -8
  294. package/front_end/panels/elements/elements-meta.ts +14 -0
  295. package/front_end/panels/elements/elementsPanel.css +4 -4
  296. package/front_end/panels/elements/elementsTreeOutline.css +222 -38
  297. package/front_end/panels/elements/layersWidget.css +4 -4
  298. package/front_end/panels/elements/layoutPane.css +18 -18
  299. package/front_end/panels/elements/metricsSidebarPane.css +11 -11
  300. package/front_end/panels/elements/platformFontsWidget.css +5 -5
  301. package/front_end/panels/elements/propertiesWidget.css +2 -2
  302. package/front_end/panels/elements/stylePropertiesTreeOutline.css +20 -20
  303. package/front_end/panels/elements/stylesSidebarPane.css +37 -20
  304. package/front_end/panels/emulation/deviceModeView.css +49 -49
  305. package/front_end/panels/emulation/mediaQueryInspector.css +18 -18
  306. package/front_end/panels/event_listeners/eventListenersView.css +1 -1
  307. package/front_end/panels/explain/components/consoleInsight.css +29 -29
  308. package/front_end/panels/issues/components/elementsPanelLink.css +2 -2
  309. package/front_end/panels/issues/components/hideIssuesMenu.css +1 -1
  310. package/front_end/panels/issues/issuesPane.css +2 -2
  311. package/front_end/panels/issues/issuesTree.css +50 -50
  312. package/front_end/panels/layer_viewer/Layers3DView.ts +9 -10
  313. package/front_end/panels/layer_viewer/layerDetailsView.css +1 -1
  314. package/front_end/panels/layer_viewer/layerTreeOutline.css +2 -2
  315. package/front_end/panels/layer_viewer/layers3DView.css +1 -1
  316. package/front_end/panels/layer_viewer/paintProfiler.css +1 -1
  317. package/front_end/panels/lighthouse/LighthouseReportSelector.ts +2 -2
  318. package/front_end/panels/media/playerListView.css +9 -9
  319. package/front_end/panels/media/playerMessagesView.css +8 -8
  320. package/front_end/panels/media/playerPropertiesView.css +6 -6
  321. package/front_end/panels/mobile_throttling/NetworkPanelIndicator.ts +1 -1
  322. package/front_end/panels/mobile_throttling/throttlingSettingsTab.css +9 -9
  323. package/front_end/panels/network/NetworkDataGridNode.ts +1 -0
  324. package/front_end/panels/network/NetworkPanel.ts +9 -4
  325. package/front_end/panels/network/RequestConditionsDrawer.ts +12 -12
  326. package/front_end/panels/network/RequestPayloadView.ts +78 -26
  327. package/front_end/panels/network/binaryResourceView.css +1 -1
  328. package/front_end/panels/network/components/EditableSpan.css +3 -3
  329. package/front_end/panels/network/components/HeaderSectionRow.css +14 -14
  330. package/front_end/panels/network/components/RequestHeaderSection.css +7 -7
  331. package/front_end/panels/network/components/RequestHeadersView.css +18 -18
  332. package/front_end/panels/network/components/RequestTrustTokensView.css +1 -1
  333. package/front_end/panels/network/network-meta.ts +9 -9
  334. package/front_end/panels/network/networkConfigView.css +11 -11
  335. package/front_end/panels/network/networkLogView.css +35 -35
  336. package/front_end/panels/network/networkManageCustomHeadersView.css +1 -1
  337. package/front_end/panels/network/networkPanel.css +7 -7
  338. package/front_end/panels/network/networkTimingTable.css +13 -13
  339. package/front_end/panels/network/requestConditionsDrawer.css +4 -4
  340. package/front_end/panels/network/requestCookiesView.css +5 -5
  341. package/front_end/panels/network/requestDeviceBoundSessionsView.css +1 -1
  342. package/front_end/panels/network/requestHTMLView.css +1 -1
  343. package/front_end/panels/network/requestHeadersTree.css +19 -19
  344. package/front_end/panels/network/requestInitiatorView.css +1 -1
  345. package/front_end/panels/network/requestInitiatorViewTree.css +3 -3
  346. package/front_end/panels/network/requestPayloadTree.css +5 -5
  347. package/front_end/panels/network/requestPayloadView.css +1 -1
  348. package/front_end/panels/network/resourceChunkView.css +3 -3
  349. package/front_end/panels/network/signedExchangeInfoTree.css +6 -6
  350. package/front_end/panels/profiler/heapProfiler.css +15 -15
  351. package/front_end/panels/profiler/profileLauncherView.css +10 -10
  352. package/front_end/panels/recorder/RecordingView.ts +1 -1
  353. package/front_end/panels/recorder/StepEditor.ts +86 -7
  354. package/front_end/panels/recorder/TimelineSection.ts +2 -1
  355. package/front_end/panels/recorder/createRecordingView.css +17 -17
  356. package/front_end/panels/recorder/extensionView.css +5 -5
  357. package/front_end/panels/recorder/injected/RecordingClient.ts +1 -1
  358. package/front_end/panels/recorder/models/SchemaUtils.ts +2 -2
  359. package/front_end/panels/recorder/models/ScreenshotStorage.ts +1 -1
  360. package/front_end/panels/recorder/recorderPanel.css +7 -7
  361. package/front_end/panels/recorder/recordingListView.css +12 -12
  362. package/front_end/panels/recorder/recordingView.css +47 -47
  363. package/front_end/panels/recorder/stepEditor.css +2 -2
  364. package/front_end/panels/recorder/stepView.css +20 -20
  365. package/front_end/panels/recorder/timelineSection.css +9 -9
  366. package/front_end/panels/screencast/screencastView.css +12 -12
  367. package/front_end/panels/search/searchResultsPane.css +10 -10
  368. package/front_end/panels/search/searchView.css +9 -9
  369. package/front_end/panels/security/SecurityPanel.ts +84 -54
  370. package/front_end/panels/security/SecurityPanelSidebar.ts +0 -32
  371. package/front_end/panels/security/mainView.css +26 -26
  372. package/front_end/panels/security/originView.css +15 -15
  373. package/front_end/panels/sensors/locationsSettingsTab.css +6 -6
  374. package/front_end/panels/sensors/sensors.css +28 -28
  375. package/front_end/panels/settings/KeybindsSettingsTab.ts +5 -2
  376. package/front_end/panels/settings/components/syncSection.css +5 -5
  377. package/front_end/panels/settings/emulation/components/userAgentClientHintsForm.css +13 -13
  378. package/front_end/panels/settings/emulation/devicesSettingsTab.css +16 -16
  379. package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +2 -2
  380. package/front_end/panels/settings/keybindsSettingsTab.css +2 -2
  381. package/front_end/panels/settings/settingsScreen.css +5 -5
  382. package/front_end/panels/sources/UISourceCodeFrame.ts +1 -1
  383. package/front_end/panels/sources/breakpointEditDialog.css +9 -9
  384. package/front_end/panels/sources/breakpointsView.css +25 -25
  385. package/front_end/panels/sources/callStackSidebarPane.css +10 -10
  386. package/front_end/panels/sources/components/HeadersView.css +6 -6
  387. package/front_end/panels/sources/debuggerPausedMessage.css +4 -4
  388. package/front_end/panels/sources/dialog.css +2 -2
  389. package/front_end/panels/sources/navigatorTree.css +2 -2
  390. package/front_end/panels/sources/navigatorView.css +2 -2
  391. package/front_end/panels/sources/scopeChainSidebarPane.css +1 -1
  392. package/front_end/panels/sources/sourcesNavigator.css +1 -1
  393. package/front_end/panels/sources/sourcesPanel.css +2 -2
  394. package/front_end/panels/sources/sourcesView.css +1 -1
  395. package/front_end/panels/sources/threadsSidebarPane.css +5 -5
  396. package/front_end/panels/sources/watchExpressionsSidebarPane.css +8 -8
  397. package/front_end/panels/timeline/TimelineDetailsView.ts +9 -21
  398. package/front_end/panels/timeline/TimelineFlameChartView.ts +3 -5
  399. package/front_end/panels/timeline/TimelineMiniMap.ts +3 -3
  400. package/front_end/panels/timeline/components/BreadcrumbsUI.ts +2 -6
  401. package/front_end/panels/timeline/components/CWVMetrics.ts +9 -10
  402. package/front_end/panels/timeline/components/DetailsView.ts +12 -16
  403. package/front_end/panels/timeline/components/ExportTraceOptions.ts +13 -13
  404. package/front_end/panels/timeline/components/FieldSettingsDialog.ts +19 -19
  405. package/front_end/panels/timeline/components/IgnoreListSetting.ts +7 -9
  406. package/front_end/panels/timeline/components/InteractionBreakdown.ts +3 -3
  407. package/front_end/panels/timeline/components/LayoutShiftDetails.ts +13 -13
  408. package/front_end/panels/timeline/components/LiveMetricsView.ts +65 -65
  409. package/front_end/panels/timeline/components/MetricCard.ts +25 -25
  410. package/front_end/panels/timeline/components/NetworkRequestDetails.ts +22 -22
  411. package/front_end/panels/timeline/components/NetworkRequestTooltip.ts +9 -9
  412. package/front_end/panels/timeline/components/OriginMap.ts +7 -7
  413. package/front_end/panels/timeline/components/RelatedInsightChips.ts +2 -2
  414. package/front_end/panels/timeline/components/SidebarAnnotationsTab.ts +19 -20
  415. package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +1 -1
  416. package/front_end/panels/timeline/components/TimelineSummary.ts +2 -2
  417. package/front_end/panels/timeline/components/Utils.ts +2 -6
  418. package/front_end/panels/timeline/components/breadcrumbsUI.css +3 -3
  419. package/front_end/panels/timeline/components/exportTraceOptions.css +1 -1
  420. package/front_end/panels/timeline/components/fieldSettingsDialog.css +13 -13
  421. package/front_end/panels/timeline/components/ignoreListSetting.css +3 -3
  422. package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +6 -9
  423. package/front_end/panels/timeline/components/insights/Checklist.ts +2 -2
  424. package/front_end/panels/timeline/components/insights/Table.ts +1 -1
  425. package/front_end/panels/timeline/components/liveMetricsView.css +39 -39
  426. package/front_end/panels/timeline/components/metricCard.css +20 -20
  427. package/front_end/panels/timeline/components/networkRequestDetails.css +9 -9
  428. package/front_end/panels/timeline/components/networkRequestTooltip.css +14 -14
  429. package/front_end/panels/timeline/components/networkTrackWidget.css +2 -2
  430. package/front_end/panels/timeline/components/originMap.css +4 -4
  431. package/front_end/panels/timeline/components/relatedInsightChips.css +1 -1
  432. package/front_end/panels/timeline/components/sidebarAnnotationsTab.css +4 -4
  433. package/front_end/panels/timeline/components/sidebarInsightsTab.css +5 -5
  434. package/front_end/panels/timeline/components/sidebarSingleInsightSet.css +1 -1
  435. package/front_end/panels/timeline/components/timelineSummary.css +4 -4
  436. package/front_end/panels/timeline/overlays/OverlaysImpl.ts +4 -4
  437. package/front_end/panels/timeline/overlays/components/EntriesLinkOverlay.ts +1 -1
  438. package/front_end/panels/timeline/overlays/components/EntryLabelOverlay.ts +6 -6
  439. package/front_end/panels/timeline/overlays/components/TimeRangeOverlay.ts +1 -1
  440. package/front_end/panels/timeline/thirdPartyTreeView.css +5 -5
  441. package/front_end/panels/timeline/timeline-meta.ts +0 -6
  442. package/front_end/panels/timeline/timelineDetailsView.css +11 -11
  443. package/front_end/panels/timeline/timelinePanel.css +20 -20
  444. package/front_end/panels/timeline/timelineTreeView.css +8 -8
  445. package/front_end/panels/webauthn/webauthnPane.css +6 -6
  446. package/front_end/panels/whats_new/ReleaseNoteText.ts +2 -2
  447. package/front_end/third_party/chromium/README.chromium +1 -1
  448. package/front_end/third_party/i18n/i18n-impl.ts +1 -1
  449. package/front_end/third_party/puppeteer/README.chromium +2 -2
  450. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +15 -1
  451. package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +42 -8
  452. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.d.ts +4 -0
  453. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.d.ts.map +1 -1
  454. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.js +15 -2
  455. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/Frame.js.map +1 -1
  456. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.d.ts +14 -1
  457. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.d.ts.map +1 -1
  458. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.js +23 -1
  459. package/front_end/third_party/puppeteer/package/lib/puppeteer/cdp/WebMCP.js.map +1 -1
  460. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts +1 -1
  461. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.d.ts.map +1 -1
  462. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js +1 -1
  463. package/front_end/third_party/puppeteer/package/lib/puppeteer/generated/injected.js.map +1 -1
  464. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.d.ts.map +1 -1
  465. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.js +77 -6
  466. package/front_end/third_party/puppeteer/package/lib/puppeteer/injected/Poller.js.map +1 -1
  467. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.d.ts +3 -3
  468. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js +3 -3
  469. package/front_end/third_party/puppeteer/package/lib/puppeteer/revisions.js.map +1 -1
  470. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.d.ts +1 -1
  471. package/front_end/third_party/puppeteer/package/lib/puppeteer/util/version.js +1 -1
  472. package/front_end/third_party/puppeteer/package/lib/types.d.ts +15 -1
  473. package/front_end/third_party/puppeteer/package/package.json +2 -2
  474. package/front_end/third_party/puppeteer/package/src/cdp/Frame.ts +16 -2
  475. package/front_end/third_party/puppeteer/package/src/cdp/WebMCP.ts +36 -1
  476. package/front_end/third_party/puppeteer/package/src/generated/injected.ts +1 -1
  477. package/front_end/third_party/puppeteer/package/src/injected/Poller.ts +86 -6
  478. package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
  479. package/front_end/third_party/puppeteer/package/src/util/version.ts +1 -1
  480. package/front_end/third_party/web-vitals/README.chromium +2 -2
  481. package/front_end/third_party/web-vitals/package/README.md +22 -7
  482. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onINP.js +6 -2
  483. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.d.ts +2 -2
  484. package/front_end/third_party/web-vitals/package/dist/modules/attribution/onLCP.js +30 -3
  485. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.d.ts +14 -0
  486. package/front_end/third_party/web-vitals/package/dist/modules/lib/InteractionManager.js +19 -13
  487. package/front_end/third_party/web-vitals/package/dist/modules/lib/bindReporter.d.ts +1 -1
  488. package/front_end/third_party/web-vitals/package/dist/modules/lib/doubleRAF.js +1 -1
  489. package/front_end/third_party/web-vitals/package/dist/modules/lib/initMetric.d.ts +3 -3
  490. package/front_end/third_party/web-vitals/package/dist/modules/lib/softNavs.js +3 -1
  491. package/front_end/third_party/web-vitals/package/dist/modules/types/lcp.d.ts +15 -1
  492. package/front_end/third_party/web-vitals/package/package.json +1 -2
  493. package/front_end/third_party/web-vitals/package/src/attribution/onINP.ts +9 -2
  494. package/front_end/third_party/web-vitals/package/src/attribution/onLCP.ts +36 -5
  495. package/front_end/third_party/web-vitals/package/src/lib/InteractionManager.ts +21 -15
  496. package/front_end/third_party/web-vitals/package/src/lib/doubleRAF.ts +1 -1
  497. package/front_end/third_party/web-vitals/package/src/lib/softNavs.ts +4 -1
  498. package/front_end/third_party/web-vitals/package/src/types/lcp.ts +16 -1
  499. package/front_end/third_party/web-vitals/rebuild.sh +3 -3
  500. package/front_end/ui/comments/CommentAnchorResolver.ts +109 -4
  501. package/front_end/ui/comments/CommentOverlayManager.ts +16 -32
  502. package/front_end/ui/comments/commentsOverlay.css +6 -5
  503. package/front_end/ui/components/adorners/Adorner.ts +1 -1
  504. package/front_end/ui/components/adorners/adorner.css +6 -6
  505. package/front_end/ui/components/buttons/FloatingButton.ts +1 -1
  506. package/front_end/ui/components/buttons/button.css +9 -9
  507. package/front_end/ui/components/buttons/floatingButton.css +2 -2
  508. package/front_end/ui/components/buttons/textButton.css +12 -12
  509. package/front_end/ui/components/dialogs/Dialog.ts +1 -1
  510. package/front_end/ui/components/dialogs/dialog.css +1 -1
  511. package/front_end/ui/components/diff_view/diffView.css +3 -3
  512. package/front_end/ui/components/expandable_list/expandableList.css +9 -9
  513. package/front_end/ui/components/highlighting/HighlightElement.ts +1 -1
  514. package/front_end/ui/components/highlighting/HighlightManager.ts +4 -0
  515. package/front_end/ui/components/icon_button/iconButton.css +2 -2
  516. package/front_end/ui/components/input/checkbox.css +8 -8
  517. package/front_end/ui/components/input/textInput.css +3 -3
  518. package/front_end/ui/components/issue_counter/issueLinkIcon.css +2 -2
  519. package/front_end/ui/components/linkifier/linkifierImpl.css +1 -1
  520. package/front_end/ui/components/markdown_view/MarkdownImagesMap.ts +1 -1
  521. package/front_end/ui/components/markdown_view/MarkdownLinksMap.ts +1 -1
  522. package/front_end/ui/components/markdown_view/codeBlock.css +2 -2
  523. package/front_end/ui/components/markdown_view/markdownView.css +7 -7
  524. package/front_end/ui/components/menus/menuGroup.css +2 -2
  525. package/front_end/ui/components/menus/menuItem.css +2 -2
  526. package/front_end/ui/components/menus/selectMenu.css +2 -2
  527. package/front_end/ui/components/menus/selectMenuButton.css +4 -4
  528. package/front_end/ui/components/panel_feedback/panelFeedback.css +15 -15
  529. package/front_end/ui/components/panel_feedback/previewToggle.css +2 -2
  530. package/front_end/ui/components/panel_introduction_steps/panelIntroductionSteps.css +7 -7
  531. package/front_end/ui/components/report_view/report.css +3 -3
  532. package/front_end/ui/components/report_view/reportSectionDivider.css +1 -1
  533. package/front_end/ui/components/report_view/reportValue.css +1 -1
  534. package/front_end/ui/components/request_link_icon/requestLinkIcon.css +2 -2
  535. package/front_end/ui/components/settings/settingCheckbox.css +6 -6
  536. package/front_end/ui/components/text_editor/TextEditor.ts +3 -1
  537. package/front_end/ui/components/text_editor/config.ts +16 -4
  538. package/front_end/ui/kit/icons/icon.css +4 -4
  539. package/front_end/ui/kit/link/link.css +1 -1
  540. package/front_end/ui/legacy/ActionRegistration.ts +23 -23
  541. package/front_end/ui/legacy/Dialog.ts +1 -1
  542. package/front_end/ui/legacy/DockController.ts +7 -4
  543. package/front_end/ui/legacy/EmptyWidget.ts +13 -34
  544. package/front_end/ui/legacy/FilterBar.ts +4 -4
  545. package/front_end/ui/legacy/Infobar.ts +2 -2
  546. package/front_end/ui/legacy/InspectorDrawerView.ts +6 -6
  547. package/front_end/ui/legacy/InspectorView.ts +22 -27
  548. package/front_end/ui/legacy/KeyboardShortcut.ts +4 -7
  549. package/front_end/ui/legacy/ListWidget.ts +7 -7
  550. package/front_end/ui/legacy/PlusButton.ts +1 -3
  551. package/front_end/ui/legacy/RemoteDebuggingTerminatedScreen.ts +6 -6
  552. package/front_end/ui/legacy/SearchableView.ts +18 -17
  553. package/front_end/ui/legacy/ShortcutRegistry.ts +6 -3
  554. package/front_end/ui/legacy/SoftContextMenu.ts +8 -8
  555. package/front_end/ui/legacy/SoftDropDown.ts +1 -1
  556. package/front_end/ui/legacy/SuggestBox.ts +2 -2
  557. package/front_end/ui/legacy/TabbedPane.ts +10 -10
  558. package/front_end/ui/legacy/TargetCrashedScreen.ts +2 -2
  559. package/front_end/ui/legacy/Toolbar.ts +5 -5
  560. package/front_end/ui/legacy/Treeoutline.ts +1 -1
  561. package/front_end/ui/legacy/UIUtils.ts +90 -26
  562. package/front_end/ui/legacy/ViewManager.ts +1 -1
  563. package/front_end/ui/legacy/ViewRegistration.ts +7 -7
  564. package/front_end/ui/legacy/Widget.ts +5 -5
  565. package/front_end/ui/legacy/checkboxTextLabel.css +3 -3
  566. package/front_end/ui/legacy/components/color_picker/ColorFormatSpec.ts +16 -0
  567. package/front_end/ui/legacy/components/color_picker/FormatPickerContextMenu.ts +1 -0
  568. package/front_end/ui/legacy/components/color_picker/spectrum.css +90 -90
  569. package/front_end/ui/legacy/components/cookie_table/CookiesTable.ts +23 -24
  570. package/front_end/ui/legacy/components/cookie_table/cookiesTable.css +1 -1
  571. package/front_end/ui/legacy/components/data_grid/DataGrid.ts +26 -28
  572. package/front_end/ui/legacy/components/data_grid/ShowMoreDataGridNode.ts +3 -7
  573. package/front_end/ui/legacy/components/inline_editor/bezierEditor.css +13 -13
  574. package/front_end/ui/legacy/components/inline_editor/colorSwatch.css +7 -7
  575. package/front_end/ui/legacy/components/inline_editor/cssAngleEditor.css +5 -5
  576. package/front_end/ui/legacy/components/inline_editor/cssShadowEditor.css +18 -18
  577. package/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts +104 -86
  578. package/front_end/ui/legacy/components/object_ui/ObjectPropertiesSection.ts +8 -6
  579. package/front_end/ui/legacy/components/object_ui/objectPopover.css +4 -4
  580. package/front_end/ui/legacy/components/object_ui/objectPropertiesSection.css +6 -6
  581. package/front_end/ui/legacy/components/perf_ui/BrickBreaker.ts +2 -2
  582. package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +28 -11
  583. package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +6 -6
  584. package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +14 -15
  585. package/front_end/ui/legacy/components/perf_ui/GCActionDelegate.ts +1 -1
  586. package/front_end/ui/legacy/components/perf_ui/NetworkPriorities.ts +5 -5
  587. package/front_end/ui/legacy/components/perf_ui/OverviewGrid.ts +5 -5
  588. package/front_end/ui/legacy/components/perf_ui/PieChart.ts +1 -1
  589. package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +0 -4
  590. package/front_end/ui/legacy/components/perf_ui/chartViewport.css +4 -4
  591. package/front_end/ui/legacy/components/perf_ui/filmStripView.css +6 -6
  592. package/front_end/ui/legacy/components/perf_ui/flameChart.css +7 -7
  593. package/front_end/ui/legacy/components/perf_ui/overviewGrid.css +11 -11
  594. package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +4 -6
  595. package/front_end/ui/legacy/components/perf_ui/pieChart.css +6 -6
  596. package/front_end/ui/legacy/components/perf_ui/timelineGrid.css +5 -5
  597. package/front_end/ui/legacy/components/quick_open/filteredListWidget.css +3 -3
  598. package/front_end/ui/legacy/components/source_frame/FontView.ts +2 -2
  599. package/front_end/ui/legacy/components/source_frame/ImageView.ts +13 -13
  600. package/front_end/ui/legacy/components/source_frame/JSONView.ts +1 -1
  601. package/front_end/ui/legacy/components/source_frame/PreviewFactory.ts +2 -2
  602. package/front_end/ui/legacy/components/source_frame/ResourceSourceFrame.ts +2 -2
  603. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +15 -18
  604. package/front_end/ui/legacy/components/source_frame/XMLView.ts +1 -1
  605. package/front_end/ui/legacy/components/source_frame/imageView.css +1 -1
  606. package/front_end/ui/legacy/components/source_frame/jsonView.css +1 -1
  607. package/front_end/ui/legacy/components/source_frame/resourceSourceFrame.css +1 -1
  608. package/front_end/ui/legacy/components/source_frame/source_frame-meta.ts +10 -10
  609. package/front_end/ui/legacy/components/source_frame/xmlTree.css +3 -3
  610. package/front_end/ui/legacy/components/utils/imagePreview.css +1 -1
  611. package/front_end/ui/legacy/components/utils/jsUtils.css +10 -10
  612. package/front_end/ui/legacy/dropTarget.css +2 -2
  613. package/front_end/ui/legacy/emptyWidget.css +6 -0
  614. package/front_end/ui/legacy/filter.css +19 -19
  615. package/front_end/ui/legacy/infobar.css +2 -2
  616. package/front_end/ui/legacy/inspectorCommon.css +67 -67
  617. package/front_end/ui/legacy/inspectorDrawerTabbedPane.css +1 -1
  618. package/front_end/ui/legacy/listWidget.css +5 -5
  619. package/front_end/ui/legacy/progressIndicator.css +4 -4
  620. package/front_end/ui/legacy/reportView.css +7 -7
  621. package/front_end/ui/legacy/searchableView.css +5 -5
  622. package/front_end/ui/legacy/smallBubble.css +3 -3
  623. package/front_end/ui/legacy/softContextMenu.css +4 -4
  624. package/front_end/ui/legacy/softDropDownButton.css +1 -1
  625. package/front_end/ui/legacy/splitWidget.css +9 -31
  626. package/front_end/ui/legacy/suggestBox.css +4 -4
  627. package/front_end/ui/legacy/tabbedPane.css +17 -17
  628. package/front_end/ui/legacy/textPrompt.css +2 -2
  629. package/front_end/ui/legacy/toolbar.css +4 -4
  630. package/front_end/ui/legacy/treeoutline.css +14 -14
  631. package/front_end/ui/legacy/viewContainers.css +6 -6
  632. package/front_end/ui/settings/ConsoleSettings.ts +66 -0
  633. package/front_end/ui/settings/MainSettings.ts +47 -0
  634. package/front_end/ui/settings/settings.ts +2 -0
  635. package/front_end/ui/visual_logging/KnownContextValues.ts +12 -0
  636. package/inspector_overlay/common.ts +12 -12
  637. package/inspector_overlay/css_grid_label_helpers.ts +16 -17
  638. package/inspector_overlay/drag_resize_handler.ts +2 -2
  639. package/inspector_overlay/highlight_common.ts +11 -13
  640. package/inspector_overlay/highlight_container_query.ts +2 -2
  641. package/inspector_overlay/highlight_flex_common.ts +6 -7
  642. package/inspector_overlay/highlight_grid_common.ts +3 -3
  643. package/inspector_overlay/highlight_isolated_element.ts +12 -3
  644. package/inspector_overlay/highlight_scroll_snap.ts +2 -2
  645. package/inspector_overlay/loadCSS.rollup.js +0 -1
  646. package/inspector_overlay/testing/InspectorOverlayHelpers.ts +13 -13
  647. package/inspector_overlay/tool_green_dev_anchors.ts +3 -3
  648. package/inspector_overlay/tool_highlight.ts +9 -9
  649. package/inspector_overlay/tool_paused.ts +4 -4
  650. package/inspector_overlay/tool_persistent.ts +11 -11
  651. package/inspector_overlay/tool_screenshot.ts +7 -7
  652. package/inspector_overlay/tool_source_order.ts +4 -4
  653. package/inspector_overlay/tool_viewport_size.ts +3 -3
  654. package/inspector_overlay/tool_window_controls.ts +4 -4
  655. package/mcp/mcp.ts +1 -0
  656. package/package.json +2 -2
  657. package/front_end/generated/protocol-tsconfig.json +0 -10
  658. package/front_end/panels/js_timeline/DIR_METADATA +0 -3
  659. package/front_end/panels/js_timeline/js_timeline-meta.ts +0 -193
  660. package/front_end/panels/js_timeline/js_timeline.ts +0 -1
  661. /package/front_end/entrypoints/{formatter_worker/FormatterActions.ts → formatter_actions/formatter_actions.ts} +0 -0
@@ -5,6 +5,7 @@
5
5
  import * as Common from '../../../core/common/common.js';
6
6
  import * as Host from '../../../core/host/host.js';
7
7
  import * as i18n from '../../../core/i18n/i18n.js';
8
+ import * as Platform from '../../../core/platform/platform.js';
8
9
  import * as SDK from '../../../core/sdk/sdk.js';
9
10
  import type {FunctionHandlerOptions} from '../agents/AiAgent.js';
10
11
  import {areOriginsEquivalent, extractContextOrigin, isOpaqueOrigin} from '../AiOrigins.js';
@@ -45,10 +46,11 @@ export interface GetStorageValuesResult {
45
46
 
46
47
  export class GetStorageValuesTool implements DataTool<GetStorageValuesArgs, GetStorageValuesResult,
47
48
  BaseToolCapability&OriginLockCapability&ServerLoggingCapability> {
48
- readonly name = ToolName.GET_STORAGE_VALUES;
49
- readonly description = 'Retrieve specific string values from storage partitions for requested keys across origins.';
49
+ readonly name: ToolName = ToolName.GET_STORAGE_VALUES;
50
+ readonly description: string =
51
+ 'Retrieve specific string values from storage partitions for requested keys across origins.';
50
52
 
51
- readonly annotations = [ToolAnnotation.REDACT_FROM_HISTORY];
53
+ readonly annotations: ToolAnnotation[] = [ToolAnnotation.REDACT_FROM_HISTORY];
52
54
 
53
55
  readonly parameters: Host.AidaClient.FunctionObjectParam<keyof GetStorageValuesArgs> = {
54
56
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -86,8 +88,19 @@ export class GetStorageValuesTool implements DataTool<GetStorageValuesArgs, GetS
86
88
  title: string,
87
89
  action: string,
88
90
  } {
91
+ let title: string;
92
+ switch (args.type) {
93
+ case 'localStorage':
94
+ title = lockedString('Reading local storage values');
95
+ break;
96
+ case 'sessionStorage':
97
+ title = lockedString('Reading session storage values');
98
+ break;
99
+ default:
100
+ Platform.TypeScriptUtilities.assertNever(args.type, `Unknown storage type: ${args.type}`);
101
+ }
89
102
  return {
90
- title: lockedString('Reading storage values'),
103
+ title,
91
104
  action: `getStorageValues('${args.type}', ${JSON.stringify(args.keys)}, ${JSON.stringify(args.origins)})`,
92
105
  };
93
106
  }
@@ -97,7 +110,7 @@ export class GetStorageValuesTool implements DataTool<GetStorageValuesArgs, GetS
97
110
  context: BaseToolCapability&OriginLockCapability&ServerLoggingCapability,
98
111
  options?: FunctionHandlerOptions,
99
112
  ): Promise<DataHandlerResult<GetStorageValuesResult>> {
100
- context.setLoggingEnabled(false);
113
+ context.disableLogging();
101
114
 
102
115
  // eslint-disable-next-line @devtools/no-instance-of-migrated-singletons
103
116
  const targetManager = SDK.TargetManager.TargetManager.instance();
@@ -26,9 +26,9 @@ export interface GetStylesArgs extends ToolArgs {
26
26
 
27
27
  export class GetStylesTool implements
28
28
  DataTool<GetStylesArgs, unknown, BaseToolCapability&TargetCapability&OriginLockCapability> {
29
- readonly name = ToolName.GET_STYLES;
30
- readonly description =
31
- `Get computed and source styles for one or multiple elements on the inspected page for multiple elements at once by uid.
29
+ readonly name: ToolName = ToolName.GET_STYLES;
30
+ readonly description: string =
31
+ `Retrieves computed and authored CSS styles for one or more elements by their backend node IDs (uids).
32
32
 
33
33
  **CRITICAL** An element uid is a number, not a selector.
34
34
  **CRITICAL** Use selectors to refer to elements in the text output. Do not use uids.
@@ -4,13 +4,13 @@
4
4
 
5
5
  import * as Host from '../../../core/host/host.js';
6
6
  import * as i18n from '../../../core/i18n/i18n.js';
7
- import {PerformanceTraceContext} from '../contexts/PerformanceTraceContext.js';
8
7
  import {formatEventForAI} from '../data_formatters/PerformanceTraceFormatter.js';
9
8
 
10
9
  import {
11
10
  type BaseToolCapability,
12
11
  type DataHandlerResult,
13
12
  type DataTool,
13
+ type PerformanceTraceCapability,
14
14
  type ToolArgs,
15
15
  ToolName,
16
16
  } from './Tool.js';
@@ -25,9 +25,10 @@ export interface GetTraceEventByKeyArgs extends ToolArgs {
25
25
  eventKey: string;
26
26
  }
27
27
 
28
- export class GetTraceEventByKeyTool implements DataTool<GetTraceEventByKeyArgs, string, BaseToolCapability> {
29
- readonly name = ToolName.GET_TRACE_EVENT_BY_KEY;
30
- readonly description = 'Get details for a specific trace event by its event key.';
28
+ export class GetTraceEventByKeyTool implements
29
+ DataTool<GetTraceEventByKeyArgs, string, BaseToolCapability&PerformanceTraceCapability> {
30
+ readonly name: ToolName = ToolName.GET_TRACE_EVENT_BY_KEY;
31
+ readonly description: string = 'Retrieves details for a specific trace event by its event key.';
31
32
 
32
33
  readonly parameters: Host.AidaClient.FunctionObjectParam<keyof GetTraceEventByKeyArgs> = {
33
34
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -55,14 +56,14 @@ export class GetTraceEventByKeyTool implements DataTool<GetTraceEventByKeyArgs,
55
56
 
56
57
  async handler(
57
58
  params: GetTraceEventByKeyArgs,
58
- capabilities: BaseToolCapability,
59
+ capabilities: BaseToolCapability&PerformanceTraceCapability,
59
60
  ): Promise<DataHandlerResult<string>> {
60
- const conversationContext = capabilities.conversationContext;
61
- if (!conversationContext || !(conversationContext instanceof PerformanceTraceContext)) {
61
+ const performanceTraceContext = capabilities.getPerformanceTraceContext();
62
+ if (!performanceTraceContext) {
62
63
  return {error: 'Performance trace context is not available.'};
63
64
  }
64
65
 
65
- const focus = conversationContext.getItem();
66
+ const focus = performanceTraceContext.getItem();
66
67
  const event = focus.lookupEvent(params.eventKey);
67
68
  if (!event) {
68
69
  return {error: `Could not find event with key "${params.eventKey}".`};
@@ -4,16 +4,14 @@
4
4
 
5
5
  import * as Host from '../../../core/host/host.js';
6
6
  import * as i18n from '../../../core/i18n/i18n.js';
7
- import {
8
- type MainThreadSectionLabel,
9
- PerformanceTraceContext,
10
- } from '../contexts/PerformanceTraceContext.js';
7
+ import type {MainThreadSectionLabel} from '../contexts/PerformanceTraceContext.js';
11
8
 
12
9
  import {
13
10
  type BaseToolCapability,
14
11
  type DataHandlerResult,
15
12
  type DataTool,
16
13
  MAX_FUNCTION_RESULT_BYTE_LENGTH,
14
+ type PerformanceTraceCapability,
17
15
  type ToolArgs,
18
16
  ToolName,
19
17
  } from './Tool.js';
@@ -29,9 +27,10 @@ export interface GetTraceMainThreadSummaryArgs extends ToolArgs {
29
27
  }
30
28
 
31
29
  export class GetTraceMainThreadSummaryTool implements
32
- DataTool<GetTraceMainThreadSummaryArgs, string, BaseToolCapability> {
33
- readonly name = ToolName.GET_TRACE_MAIN_THREAD_SUMMARY;
34
- readonly description = 'Returns a focused, detailed summary of the main thread for a predefined labeled period.';
30
+ DataTool<GetTraceMainThreadSummaryArgs, string, BaseToolCapability&PerformanceTraceCapability> {
31
+ readonly name: ToolName = ToolName.GET_TRACE_MAIN_THREAD_SUMMARY;
32
+ readonly description: string =
33
+ 'Retrieves a focused, bottom-up summary of main thread activity for a predefined labeled period (e.g. \'nav-to-lcp\', \'lcp-ttfb\', \'lcp-render-delay\', \'trace-bounds\', or insight names).';
35
34
 
36
35
  readonly parameters: Host.AidaClient.FunctionObjectParam<keyof GetTraceMainThreadSummaryArgs> = {
37
36
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -41,7 +40,7 @@ export class GetTraceMainThreadSummaryTool implements
41
40
  label: {
42
41
  type: Host.AidaClient.ParametersTypes.STRING,
43
42
  description:
44
- 'The label of the period to investigate (e.g., \'LCPBreakdown\', \'CLSCulprits\', \'nav-to-lcp\').',
43
+ 'The label of the period to investigate (e.g., \'LCPBreakdown\', \'CLSCulprits\', \'nav-to-lcp\', \'lcp-render-delay\', \'trace-bounds\').',
45
44
  nullable: false,
46
45
  },
47
46
  },
@@ -60,20 +59,20 @@ export class GetTraceMainThreadSummaryTool implements
60
59
 
61
60
  async handler(
62
61
  params: GetTraceMainThreadSummaryArgs,
63
- capabilities: BaseToolCapability,
62
+ capabilities: BaseToolCapability&PerformanceTraceCapability,
64
63
  ): Promise<DataHandlerResult<string>> {
65
- const conversationContext = capabilities.conversationContext;
66
- if (!conversationContext || !(conversationContext instanceof PerformanceTraceContext)) {
64
+ const performanceTraceContext = capabilities.getPerformanceTraceContext();
65
+ if (!performanceTraceContext) {
67
66
  return {error: 'Performance trace context is not available.'};
68
67
  }
69
68
 
70
- const focus = conversationContext.getItem();
71
- const bounds = conversationContext.getBoundsForLabel(params.label);
69
+ const focus = performanceTraceContext.getItem();
70
+ const bounds = performanceTraceContext.getBoundsForLabel(params.label);
72
71
  if (!bounds) {
73
72
  return {error: `Invalid label: ${params.label}`};
74
73
  }
75
74
 
76
- const formatter = conversationContext.createFormatter();
75
+ const formatter = performanceTraceContext.createFormatter();
77
76
  const summary = await formatter.formatMainThreadTrackSummary(bounds);
78
77
  if (summary.length > MAX_FUNCTION_RESULT_BYTE_LENGTH) {
79
78
  return {
@@ -4,13 +4,13 @@
4
4
 
5
5
  import * as Host from '../../../core/host/host.js';
6
6
  import * as i18n from '../../../core/i18n/i18n.js';
7
- import {PerformanceTraceContext} from '../contexts/PerformanceTraceContext.js';
8
7
 
9
8
  import {
10
9
  type BaseToolCapability,
11
10
  type DataHandlerResult,
12
11
  type DataTool,
13
12
  MAX_FUNCTION_RESULT_BYTE_LENGTH,
13
+ type PerformanceTraceCapability,
14
14
  type ToolArgs,
15
15
  ToolName,
16
16
  } from './Tool.js';
@@ -26,9 +26,11 @@ export interface GetTraceNetworkSummaryArgs extends ToolArgs {
26
26
  max?: number;
27
27
  }
28
28
 
29
- export class GetTraceNetworkSummaryTool implements DataTool<GetTraceNetworkSummaryArgs, string, BaseToolCapability> {
30
- readonly name = ToolName.GET_TRACE_NETWORK_SUMMARY;
31
- readonly description = 'Returns a summary of the network requests for the given bounds.';
29
+ export class GetTraceNetworkSummaryTool implements
30
+ DataTool<GetTraceNetworkSummaryArgs, string, BaseToolCapability&PerformanceTraceCapability> {
31
+ readonly name: ToolName = ToolName.GET_TRACE_NETWORK_SUMMARY;
32
+ readonly description: string =
33
+ 'Retrieves a summary of network requests recorded in the trace within the given time bounds.';
32
34
 
33
35
  readonly parameters: Host.AidaClient.FunctionObjectParam<keyof GetTraceNetworkSummaryArgs> = {
34
36
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -68,20 +70,20 @@ export class GetTraceNetworkSummaryTool implements DataTool<GetTraceNetworkSumma
68
70
 
69
71
  async handler(
70
72
  params: GetTraceNetworkSummaryArgs,
71
- capabilities: BaseToolCapability,
73
+ capabilities: BaseToolCapability&PerformanceTraceCapability,
72
74
  ): Promise<DataHandlerResult<string>> {
73
- const conversationContext = capabilities.conversationContext;
74
- if (!conversationContext || !(conversationContext instanceof PerformanceTraceContext)) {
75
+ const performanceTraceContext = capabilities.getPerformanceTraceContext();
76
+ if (!performanceTraceContext) {
75
77
  return {error: 'Performance trace context is not available.'};
76
78
  }
77
79
 
78
- const focus = conversationContext.getItem();
79
- const bounds = conversationContext.createBounds(params.min, params.max);
80
+ const focus = performanceTraceContext.getItem();
81
+ const bounds = performanceTraceContext.createBounds(params.min, params.max);
80
82
  if (!bounds) {
81
83
  return {error: 'Invalid bounds.'};
82
84
  }
83
85
 
84
- const formatter = conversationContext.createFormatter();
86
+ const formatter = performanceTraceContext.createFormatter();
85
87
  const summary = formatter.formatNetworkTrackSummary(bounds);
86
88
  if (summary.length > MAX_FUNCTION_RESULT_BYTE_LENGTH) {
87
89
  return {
@@ -0,0 +1,93 @@
1
+ // Copyright 2026 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
+
5
+ import * as Host from '../../../core/host/host.js';
6
+ import * as i18n from '../../../core/i18n/i18n.js';
7
+ import * as SDK from '../../../core/sdk/sdk.js';
8
+
9
+ import {getCookiesForOrigin, resolveAllowedTargetOrigins} from './CookieUtils.js';
10
+ import {
11
+ type BaseToolCapability,
12
+ type DataHandlerResult,
13
+ type DataTool,
14
+ type OriginLockCapability,
15
+ type ServerLoggingCapability,
16
+ ToolAnnotation,
17
+ type ToolArgs,
18
+ ToolName,
19
+ } from './Tool.js';
20
+
21
+ const lockedString = i18n.i18n.lockedString;
22
+
23
+ export interface ListCookiesArgs extends ToolArgs {
24
+ origins?: string[];
25
+ }
26
+
27
+ export interface ListCookiesResult {
28
+ cookieNamesByOrigin: Record<string, {cookies: string[]}|{error: string}>;
29
+ }
30
+
31
+ export class ListCookiesTool implements
32
+ DataTool<ListCookiesArgs, ListCookiesResult, BaseToolCapability&OriginLockCapability&ServerLoggingCapability> {
33
+ readonly name: ToolName = ToolName.LIST_COOKIES;
34
+ readonly description: string =
35
+ 'Lists all cookie names for requested origins (or the current page origin if omitted), strictly excluding their values.';
36
+
37
+ readonly annotations: ToolAnnotation[] = [ToolAnnotation.REDACT_FROM_HISTORY];
38
+
39
+ readonly parameters: Host.AidaClient.FunctionObjectParam<keyof ListCookiesArgs> = {
40
+ type: Host.AidaClient.ParametersTypes.OBJECT,
41
+ description: '',
42
+ nullable: false,
43
+ properties: {
44
+ origins: {
45
+ type: Host.AidaClient.ParametersTypes.ARRAY,
46
+ description: 'Optional list of origins to list cookies for. Defaults to the current page origin if omitted.',
47
+ items: {type: Host.AidaClient.ParametersTypes.STRING, description: 'An origin URL.'},
48
+ nullable: true,
49
+ },
50
+ },
51
+ required: [],
52
+ };
53
+
54
+ displayInfoFromArgs(args: ListCookiesArgs): {
55
+ title: string,
56
+ action: string,
57
+ } {
58
+ return {
59
+ title: lockedString('Reading cookies'),
60
+ action: `listCookies(${JSON.stringify(args?.origins ?? [])})`,
61
+ };
62
+ }
63
+
64
+ async handler(
65
+ args: ListCookiesArgs,
66
+ context: BaseToolCapability&OriginLockCapability&ServerLoggingCapability,
67
+ ): Promise<DataHandlerResult<ListCookiesResult>> {
68
+ context.disableLogging();
69
+
70
+ // eslint-disable-next-line @devtools/no-instance-of-migrated-singletons
71
+ const targetManager = SDK.TargetManager.TargetManager.instance();
72
+ const targetOriginsResult = resolveAllowedTargetOrigins(args?.origins, context, targetManager);
73
+ if ('error' in targetOriginsResult) {
74
+ return {error: targetOriginsResult.error};
75
+ }
76
+ const {targetOrigins, primaryPageTarget} = targetOriginsResult;
77
+
78
+ const cookieNamesByOrigin: ListCookiesResult['cookieNamesByOrigin'] = {};
79
+
80
+ await Promise.all(targetOrigins.map(async origin => {
81
+ const result = await getCookiesForOrigin(origin, targetManager, primaryPageTarget);
82
+ if ('error' in result) {
83
+ cookieNamesByOrigin[origin] = {error: result.error};
84
+ return;
85
+ }
86
+
87
+ const uniqueNames = Array.from(new Set(result.cookies.map(c => c.name())));
88
+ cookieNamesByOrigin[origin] = {cookies: uniqueNames};
89
+ }));
90
+
91
+ return {result: {cookieNamesByOrigin}};
92
+ }
93
+ }
@@ -38,8 +38,9 @@ interface NetworkRequestSummary {
38
38
  */
39
39
  export class ListNetworkRequestsTool implements
40
40
  DataTool<Record<string, never>, unknown, BaseToolCapability&OriginLockCapability> {
41
- readonly name = ToolName.LIST_NETWORK_REQUESTS;
42
- readonly description = 'Gives a list of network requests including URL, status code, and duration.';
41
+ readonly name: ToolName = ToolName.LIST_NETWORK_REQUESTS;
42
+ readonly description: string =
43
+ 'Lists recorded network requests for the active origin, including request ID, URL, HTTP status code, duration, and transfer size.';
43
44
 
44
45
  readonly #networkLog?: Logs.NetworkLog.NetworkLog;
45
46
 
@@ -112,11 +113,19 @@ export class ListNetworkRequestsTool implements
112
113
  }
113
114
 
114
115
  if (requests.length === 0) {
116
+ if (hasCrossOriginRequest) {
117
+ return {
118
+ error: `No requests showing with origin ${origin}. Tell the user to start a new chat`,
119
+ };
120
+ }
115
121
  return {
116
- // If there were requests but they were filtered out due to the origin lock,
117
- // we ask the user to start a new chat so they can select a request from the other origin.
118
- error: hasCrossOriginRequest ? `No requests showing with origin ${origin}. Tell the user to start a new chat` :
119
- 'No requests recorded by DevTools',
122
+ result: JSON.stringify([]),
123
+ widgets: [{
124
+ name: 'NETWORK_REQUESTS_LIST',
125
+ data: {
126
+ requests: [],
127
+ },
128
+ }],
120
129
  };
121
130
  }
122
131
 
@@ -20,9 +20,9 @@ const lockedString = i18n.i18n.lockedString;
20
20
 
21
21
  export class ListPageOriginsTool implements
22
22
  DataTool<Record<string, never>, {origins: string[]}, BaseToolCapability&OriginLockCapability> {
23
- readonly name = ToolName.LIST_PAGE_ORIGINS;
24
- readonly description =
25
- 'Lists all active, non-empty frame origins loaded by the page. Use this first when generic category context is active to discover all page origins, then pass them to listCookies or listStorageKeys, unless the user\'s explicit request hints at focusing only on the primary page.';
23
+ readonly name: ToolName = ToolName.LIST_PAGE_ORIGINS;
24
+ readonly description: string =
25
+ 'Lists all active, non-empty frame origins loaded by the page. Call this first to discover all page origins before calling listCookies or listStorageKeys, unless the user\'s explicit request focuses only on the primary page.';
26
26
 
27
27
  readonly parameters: Host.AidaClient.FunctionObjectParam<never> = {
28
28
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -33,11 +33,13 @@ interface SourceSummary {
33
33
  */
34
34
  export class ListSourcesTool implements
35
35
  DataTool<Record<string, never>, {files: SourceSummary[]}, BaseToolCapability&OriginLockCapability> {
36
- readonly name = ToolName.LIST_SOURCES;
37
- readonly description = 'Lists all source files in the workspace with their name and a unique ID.';
36
+ readonly name: ToolName = ToolName.LIST_SOURCES;
37
+ readonly description: string =
38
+ 'Lists deployed and authored source files in the workspace (including source-mapped files) with their display name and unique numeric ID.';
38
39
 
39
40
  static lastSourceId = 0;
40
- static uiSourceCodeId = new WeakMap<Workspace.UISourceCode.UISourceCode, number>();
41
+ static uiSourceCodeId: WeakMap<Workspace.UISourceCode.UISourceCode, number> =
42
+ new WeakMap<Workspace.UISourceCode.UISourceCode, number>();
41
43
 
42
44
  static reset(): void {
43
45
  ListSourcesTool.lastSourceId = 0;
@@ -5,6 +5,7 @@
5
5
  import * as Common from '../../../core/common/common.js';
6
6
  import * as Host from '../../../core/host/host.js';
7
7
  import * as i18n from '../../../core/i18n/i18n.js';
8
+ import * as Platform from '../../../core/platform/platform.js';
8
9
  import * as SDK from '../../../core/sdk/sdk.js';
9
10
  import {areOriginsEquivalent, extractContextOrigin, isOpaqueOrigin} from '../AiOrigins.js';
10
11
 
@@ -39,11 +40,11 @@ export interface ListStorageKeysResult {
39
40
 
40
41
  export class ListStorageKeysTool implements DataTool<ListStorageKeysArgs, ListStorageKeysResult,
41
42
  BaseToolCapability&OriginLockCapability&ServerLoggingCapability> {
42
- readonly name = ToolName.LIST_STORAGE_KEYS;
43
- readonly description =
43
+ readonly name: ToolName = ToolName.LIST_STORAGE_KEYS;
44
+ readonly description: string =
44
45
  'Lists all keys for a given storage type for requested origins. Returns keys grouped by storage partition under their origin.';
45
46
 
46
- readonly annotations = [ToolAnnotation.REDACT_FROM_HISTORY];
47
+ readonly annotations: ToolAnnotation[] = [ToolAnnotation.REDACT_FROM_HISTORY];
47
48
 
48
49
  readonly parameters: Host.AidaClient.FunctionObjectParam<keyof ListStorageKeysArgs> = {
49
50
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -74,8 +75,19 @@ export class ListStorageKeysTool implements DataTool<ListStorageKeysArgs, ListSt
74
75
  title: string,
75
76
  action: string,
76
77
  } {
78
+ let title: string;
79
+ switch (args.type) {
80
+ case 'localStorage':
81
+ title = lockedString('Reading local storage keys');
82
+ break;
83
+ case 'sessionStorage':
84
+ title = lockedString('Reading session storage keys');
85
+ break;
86
+ default:
87
+ Platform.TypeScriptUtilities.assertNever(args.type, `Unknown storage type: ${args.type}`);
88
+ }
77
89
  return {
78
- title: lockedString('Reading storage keys'),
90
+ title,
79
91
  action: `listStorageKeys('${args.type}', ${JSON.stringify(args.origins)})`,
80
92
  };
81
93
  }
@@ -84,7 +96,7 @@ export class ListStorageKeysTool implements DataTool<ListStorageKeysArgs, ListSt
84
96
  args: ListStorageKeysArgs,
85
97
  context: BaseToolCapability&OriginLockCapability&ServerLoggingCapability,
86
98
  ): Promise<DataHandlerResult<ListStorageKeysResult>> {
87
- context.setLoggingEnabled(false);
99
+ context.disableLogging();
88
100
 
89
101
  // eslint-disable-next-line @devtools/no-instance-of-migrated-singletons
90
102
  const targetManager = SDK.TargetManager.TargetManager.instance();
@@ -23,8 +23,9 @@ const lockedString = i18n.i18n.lockedString;
23
23
 
24
24
  export class RecordPerformanceTraceTool implements
25
25
  ContextTool<Record<string, never>, AgentFocus, BaseToolCapability&PerformanceRecordingCapability> {
26
- readonly name = ToolName.RECORD_PERFORMANCE_TRACE;
27
- readonly description = 'Records a new performance trace to measure, analyze, and debug page performance.';
26
+ readonly name: ToolName = ToolName.RECORD_PERFORMANCE_TRACE;
27
+ readonly description: string =
28
+ 'Reloads the page and records a new performance trace to measure, analyze, and debug page performance.';
28
29
 
29
30
  readonly parameters: Host.AidaClient.FunctionObjectParam<never> = {
30
31
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -38,8 +38,9 @@ export interface ResolveDevtoolsNodePathArgs extends ToolArgs {
38
38
  */
39
39
  export class ResolveDevtoolsNodePathTool implements DataTool<ResolveDevtoolsNodePathArgs, {backendNodeId: number},
40
40
  BaseToolCapability&TargetCapability&OriginLockCapability> {
41
- readonly name = ToolName.RESOLVE_DEVTOOLS_NODE_PATH;
42
- readonly description = 'Resolves a DevTools node path to a backend node ID.';
41
+ readonly name: ToolName = ToolName.RESOLVE_DEVTOOLS_NODE_PATH;
42
+ readonly description: string =
43
+ 'Resolves a DevTools node path (e.g. from a Lighthouse audit snippet) to an element backend node ID for further DOM, style, or accessibility inspection.';
43
44
 
44
45
  readonly parameters: Host.AidaClient.FunctionObjectParam<keyof ResolveDevtoolsNodePathArgs> = {
45
46
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -53,7 +54,7 @@ export class ResolveDevtoolsNodePathTool implements DataTool<ResolveDevtoolsNode
53
54
  },
54
55
  path: {
55
56
  type: Host.AidaClient.ParametersTypes.STRING,
56
- description: 'DevTools node path string.',
57
+ description: 'DevTools node path string (e.g. "1,HTML,1,BODY,2,DIV").',
57
58
  nullable: false,
58
59
  },
59
60
  },
@@ -10,21 +10,21 @@ import {
10
10
  type BaseToolCapability,
11
11
  type DataHandlerResult,
12
12
  type DataTool,
13
- type LighthouseCapability,
13
+ type LighthouseRecordingCapability,
14
14
  type ToolArgs,
15
15
  ToolName,
16
16
  } from './Tool.js';
17
17
 
18
18
  export interface RunLighthouseArgs extends ToolArgs {
19
19
  explanation: string;
20
- category: LHModel.RunTypes.CategoryId;
20
+ categoryId: LHModel.RunTypes.CategoryId;
21
21
  mode?: LHModel.RunTypes.RunMode;
22
22
  }
23
23
 
24
24
  export class RunLighthouseTool implements
25
- DataTool<RunLighthouseArgs, {audits: string}, BaseToolCapability&LighthouseCapability> {
26
- readonly name = ToolName.RUN_LIGHTHOUSE;
27
- readonly description =
25
+ DataTool<RunLighthouseArgs, {audits: string}, BaseToolCapability&LighthouseRecordingCapability> {
26
+ readonly name: ToolName = ToolName.RUN_LIGHTHOUSE;
27
+ readonly description: string =
28
28
  'Runs Lighthouse audits on the active page. Supports "navigation" (for full initial page load audits), "snapshot" (for inspecting live in-page modifications without reload), and "timespan" (for interactions).';
29
29
 
30
30
  readonly parameters: Host.AidaClient.FunctionObjectParam<keyof RunLighthouseArgs> = {
@@ -37,7 +37,7 @@ export class RunLighthouseTool implements
37
37
  description: 'Reason for running new audits.',
38
38
  nullable: false,
39
39
  },
40
- category: {
40
+ categoryId: {
41
41
  type: Host.AidaClient.ParametersTypes.STRING,
42
42
  description: 'Lighthouse category. E.g. "accessibility", "performance".',
43
43
  nullable: false,
@@ -49,34 +49,31 @@ export class RunLighthouseTool implements
49
49
  nullable: true,
50
50
  },
51
51
  },
52
- required: ['explanation', 'category'],
52
+ required: ['explanation', 'categoryId'],
53
53
  };
54
54
 
55
55
  displayInfoFromArgs(params: RunLighthouseArgs): {title: string, thought: string, action: string} {
56
56
  return {
57
- title: `Running Lighthouse audits: ${params.category} (${params.mode ?? 'snapshot'})`,
57
+ title: `Running Lighthouse audits: ${params.categoryId} (${params.mode ?? 'snapshot'})`,
58
58
  thought: params.explanation,
59
- action: `runLighthouse('${params.category}', '${params.mode ?? 'snapshot'}')`,
59
+ action: `runLighthouse('${params.categoryId}', '${params.mode ?? 'snapshot'}')`,
60
60
  };
61
61
  }
62
62
 
63
- async handler(params: RunLighthouseArgs,
64
- context: BaseToolCapability&LighthouseCapability): Promise<DataHandlerResult<{audits: string}>> {
65
- if (!context.lighthouseRecording) {
66
- return {error: 'Error: Lighthouse recording capability is not available.'};
67
- }
63
+ async handler(params: RunLighthouseArgs, context: BaseToolCapability&LighthouseRecordingCapability):
64
+ Promise<DataHandlerResult<{audits: string}>> {
68
65
  const mode = params.mode ?? 'snapshot';
69
66
  try {
70
- const report = await context.lighthouseRecording({
67
+ const report = await context.runLighthouse({
71
68
  mode,
72
- categoryIds: [params.category],
69
+ categoryIds: [params.categoryId],
73
70
  isAIControlled: true,
74
71
  });
75
72
  if (!report) {
76
73
  return {error: 'Error: Failed to record new audits.'};
77
74
  }
78
75
 
79
- const audits = new LighthouseFormatter().audits(report, params.category);
76
+ const audits = new LighthouseFormatter().audits(report, params.categoryId);
80
77
  const isSnapshot = mode === 'snapshot';
81
78
  return {
82
79
  result: {audits},
@@ -6,12 +6,12 @@ import * as Common from '../../../core/common/common.js';
6
6
  import * as Host from '../../../core/host/host.js';
7
7
  import * as i18n from '../../../core/i18n/i18n.js';
8
8
  import * as SDK from '../../../core/sdk/sdk.js';
9
- import {PerformanceTraceContext} from '../contexts/PerformanceTraceContext.js';
10
9
 
11
10
  import {
12
11
  type BaseToolCapability,
13
12
  type DataHandlerResult,
14
13
  type DataTool,
14
+ type PerformanceTraceCapability,
15
15
  type ToolArgs,
16
16
  ToolName,
17
17
  } from './Tool.js';
@@ -26,9 +26,10 @@ export interface SelectTraceEventByKeyArgs extends ToolArgs {
26
26
  eventKey: string;
27
27
  }
28
28
 
29
- export class SelectTraceEventByKeyTool implements DataTool<SelectTraceEventByKeyArgs, string, BaseToolCapability> {
30
- readonly name = ToolName.SELECT_TRACE_EVENT_BY_KEY;
31
- readonly description = 'Selects and reveals a specific event by its key in the Performance panel Flamechart.';
29
+ export class SelectTraceEventByKeyTool implements
30
+ DataTool<SelectTraceEventByKeyArgs, string, BaseToolCapability&PerformanceTraceCapability> {
31
+ readonly name: ToolName = ToolName.SELECT_TRACE_EVENT_BY_KEY;
32
+ readonly description: string = 'Selects and reveals a specific event by its key in the Performance panel Flamechart.';
32
33
 
33
34
  readonly parameters: Host.AidaClient.FunctionObjectParam<keyof SelectTraceEventByKeyArgs> = {
34
35
  type: Host.AidaClient.ParametersTypes.OBJECT,
@@ -56,14 +57,14 @@ export class SelectTraceEventByKeyTool implements DataTool<SelectTraceEventByKey
56
57
 
57
58
  async handler(
58
59
  params: SelectTraceEventByKeyArgs,
59
- capabilities: BaseToolCapability,
60
+ capabilities: BaseToolCapability&PerformanceTraceCapability,
60
61
  ): Promise<DataHandlerResult<string>> {
61
- const conversationContext = capabilities.conversationContext;
62
- if (!conversationContext || !(conversationContext instanceof PerformanceTraceContext)) {
62
+ const performanceTraceContext = capabilities.getPerformanceTraceContext();
63
+ if (!performanceTraceContext) {
63
64
  return {error: 'Performance trace context is not available.'};
64
65
  }
65
66
 
66
- const focus = conversationContext.getItem();
67
+ const focus = performanceTraceContext.getItem();
67
68
  const event = focus.lookupEvent(params.eventKey);
68
69
  if (!event) {
69
70
  return {error: `Could not find event with key "${params.eventKey}".`};