chrome-devtools-frontend 1.0.1380117 → 1.0.1386602
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.
- package/.stylelintrc.json +2 -1
- package/config/gni/devtools_grd_files.gni +25 -4
- package/config/gni/devtools_image_files.gni +2 -0
- package/docs/README.md +4 -0
- package/docs/contributing/issues.md +13 -10
- package/docs/get_the_code.md +4 -1
- package/docs/policy/README.md +6 -0
- package/docs/policy/slow-close.md +52 -0
- package/docs/styleguide/ux/README.md +1 -0
- package/docs/styleguide/ux/numbers.md +106 -0
- package/front_end/Images/src/cookie_off.svg +3 -0
- package/front_end/Images/src/domain.svg +3 -0
- package/front_end/core/common/Color.ts +3 -3
- package/front_end/core/common/SettingRegistration.ts +7 -0
- package/front_end/core/host/AidaClient.ts +3 -3
- package/front_end/core/host/InspectorFrontendHostAPI.ts +0 -1
- package/front_end/core/host/UserMetrics.ts +0 -8
- package/front_end/core/i18n/locales/af.json +1031 -887
- package/front_end/core/i18n/locales/am.json +1036 -892
- package/front_end/core/i18n/locales/ar.json +1039 -895
- package/front_end/core/i18n/locales/as.json +1032 -888
- package/front_end/core/i18n/locales/az.json +1034 -890
- package/front_end/core/i18n/locales/be.json +1031 -887
- package/front_end/core/i18n/locales/bg.json +1031 -887
- package/front_end/core/i18n/locales/bn.json +1033 -889
- package/front_end/core/i18n/locales/bs.json +1036 -892
- package/front_end/core/i18n/locales/ca.json +1031 -887
- package/front_end/core/i18n/locales/cs.json +1030 -886
- package/front_end/core/i18n/locales/cy.json +1032 -888
- package/front_end/core/i18n/locales/da.json +1031 -887
- package/front_end/core/i18n/locales/de.json +1033 -889
- package/front_end/core/i18n/locales/el.json +1031 -887
- package/front_end/core/i18n/locales/en-GB.json +1033 -889
- package/front_end/core/i18n/locales/es-419.json +1029 -885
- package/front_end/core/i18n/locales/es.json +1032 -888
- package/front_end/core/i18n/locales/et.json +1033 -889
- package/front_end/core/i18n/locales/eu.json +1031 -887
- package/front_end/core/i18n/locales/fa.json +1035 -891
- package/front_end/core/i18n/locales/fi.json +1035 -891
- package/front_end/core/i18n/locales/fil.json +1034 -890
- package/front_end/core/i18n/locales/fr-CA.json +1031 -887
- package/front_end/core/i18n/locales/fr.json +1049 -905
- package/front_end/core/i18n/locales/gl.json +1032 -888
- package/front_end/core/i18n/locales/gu.json +1035 -891
- package/front_end/core/i18n/locales/he.json +1031 -887
- package/front_end/core/i18n/locales/hi.json +1034 -890
- package/front_end/core/i18n/locales/hr.json +1031 -887
- package/front_end/core/i18n/locales/hu.json +1033 -889
- package/front_end/core/i18n/locales/hy.json +1046 -902
- package/front_end/core/i18n/locales/id.json +1023 -879
- package/front_end/core/i18n/locales/is.json +1032 -888
- package/front_end/core/i18n/locales/it.json +1031 -887
- package/front_end/core/i18n/locales/ja.json +1042 -898
- package/front_end/core/i18n/locales/ka.json +1034 -890
- package/front_end/core/i18n/locales/kk.json +1035 -891
- package/front_end/core/i18n/locales/km.json +1035 -891
- package/front_end/core/i18n/locales/kn.json +1036 -892
- package/front_end/core/i18n/locales/ko.json +1031 -887
- package/front_end/core/i18n/locales/ky.json +1032 -888
- package/front_end/core/i18n/locales/lo.json +1030 -886
- package/front_end/core/i18n/locales/lt.json +1032 -888
- package/front_end/core/i18n/locales/lv.json +1032 -888
- package/front_end/core/i18n/locales/mk.json +1032 -888
- package/front_end/core/i18n/locales/ml.json +1033 -889
- package/front_end/core/i18n/locales/mn.json +1034 -890
- package/front_end/core/i18n/locales/mr.json +1035 -891
- package/front_end/core/i18n/locales/ms.json +1033 -889
- package/front_end/core/i18n/locales/my.json +1033 -889
- package/front_end/core/i18n/locales/ne.json +1036 -892
- package/front_end/core/i18n/locales/nl.json +1033 -889
- package/front_end/core/i18n/locales/no.json +1036 -892
- package/front_end/core/i18n/locales/or.json +1043 -899
- package/front_end/core/i18n/locales/pa.json +1030 -886
- package/front_end/core/i18n/locales/pl.json +1032 -888
- package/front_end/core/i18n/locales/pt-PT.json +1033 -889
- package/front_end/core/i18n/locales/pt.json +1033 -889
- package/front_end/core/i18n/locales/ro.json +1029 -885
- package/front_end/core/i18n/locales/ru.json +1026 -882
- package/front_end/core/i18n/locales/si.json +1031 -887
- package/front_end/core/i18n/locales/sk.json +1033 -889
- package/front_end/core/i18n/locales/sl.json +1031 -887
- package/front_end/core/i18n/locales/sq.json +1061 -917
- package/front_end/core/i18n/locales/sr-Latn.json +1033 -889
- package/front_end/core/i18n/locales/sr.json +1033 -889
- package/front_end/core/i18n/locales/sv.json +1031 -887
- package/front_end/core/i18n/locales/sw.json +1033 -889
- package/front_end/core/i18n/locales/ta.json +1058 -914
- package/front_end/core/i18n/locales/te.json +1037 -893
- package/front_end/core/i18n/locales/th.json +1032 -888
- package/front_end/core/i18n/locales/tr.json +1031 -887
- package/front_end/core/i18n/locales/uk.json +1030 -886
- package/front_end/core/i18n/locales/ur.json +1031 -887
- package/front_end/core/i18n/locales/uz.json +1023 -879
- package/front_end/core/i18n/locales/vi.json +1032 -888
- package/front_end/core/i18n/locales/zh-HK.json +1032 -888
- package/front_end/core/i18n/locales/zh-TW.json +1032 -888
- package/front_end/core/i18n/locales/zh.json +1033 -889
- package/front_end/core/i18n/locales/zu.json +1032 -888
- package/front_end/core/root/Runtime.ts +0 -1
- package/front_end/core/sdk/NetworkManager.test.ts +50 -0
- package/front_end/core/sdk/NetworkManager.ts +6 -4
- package/front_end/core/sdk/SourceMap.test.ts +5 -5
- package/front_end/core/sdk/SourceMapScopeChainEntry.test.ts +7 -2
- package/front_end/core/sdk/SourceMapScopeChainEntry.ts +2 -2
- package/front_end/core/sdk/SourceMapScopes.test.ts +112 -45
- package/front_end/core/sdk/SourceMapScopes.ts +39 -14
- package/front_end/core/sdk/SourceMapScopesInfo.test.ts +51 -50
- package/front_end/core/sdk/SourceMapScopesInfo.ts +1 -1
- package/front_end/core/sdk/sdk-meta.ts +27 -0
- package/front_end/devtools_compatibility.js +0 -1
- package/front_end/entrypoints/devtools_app/devtools_app.ts +1 -0
- package/front_end/entrypoints/inspector_main/renderingOptions.css +1 -1
- package/front_end/entrypoints/main/ExecutionContextSelector.test.ts +13 -3
- package/front_end/entrypoints/main/ExecutionContextSelector.ts +23 -1
- package/front_end/entrypoints/main/MainImpl.ts +0 -5
- package/front_end/generated/Deprecation.ts +0 -15
- package/front_end/generated/InspectorBackendCommands.js +1 -1
- package/front_end/generated/SupportedCSSProperties.js +0 -40
- package/front_end/generated/protocol.ts +1 -0
- package/front_end/models/bindings/IgnoreListManager.ts +25 -2
- package/front_end/models/crux-manager/CrUXManager.test.ts +25 -6
- package/front_end/models/crux-manager/CrUXManager.ts +23 -4
- package/front_end/models/extensions/ExtensionServer.test.ts +14 -0
- package/front_end/models/extensions/ExtensionServer.ts +28 -15
- package/front_end/models/issues_manager/CookieIssue.ts +79 -2
- package/front_end/models/issues_manager/IssuesManager.ts +1 -1
- package/front_end/models/issues_manager/descriptions/cookieExcludePortMismatch.md +8 -0
- package/front_end/models/issues_manager/descriptions/cookieExcludeSchemeMismatch.md +7 -0
- package/front_end/models/javascript_metadata/NativeFunctions.js +14 -4
- package/front_end/models/persistence/EditFileSystemView.ts +2 -2
- package/front_end/models/persistence/editFileSystemView.css +6 -3
- package/front_end/models/persistence/workspaceSettingsTab.css +2 -2
- package/front_end/models/trace/extras/Metadata.test.ts +35 -2
- package/front_end/models/trace/extras/Metadata.ts +24 -5
- package/front_end/models/trace/extras/TraceTree.ts +28 -18
- package/front_end/models/trace/extras/URLForEntry.ts +6 -5
- package/front_end/models/trace/handlers/ImagePaintingHandler.ts +12 -0
- package/front_end/models/trace/helpers/Timing.ts +8 -0
- package/front_end/models/trace/insights/CLSCulprits.ts +11 -3
- package/front_end/models/trace/insights/DocumentLatency.ts +16 -3
- package/front_end/models/trace/insights/FontDisplay.ts +10 -3
- package/front_end/models/trace/insights/ImageDelivery.test.ts +98 -0
- package/front_end/models/trace/insights/ImageDelivery.ts +183 -0
- package/front_end/models/trace/insights/InteractionToNextPaint.ts +9 -3
- package/front_end/models/trace/insights/LCPDiscovery.ts +24 -3
- package/front_end/models/trace/insights/LCPPhases.ts +25 -3
- package/front_end/models/trace/insights/Models.ts +1 -0
- package/front_end/models/trace/insights/RenderBlocking.ts +10 -2
- package/front_end/models/trace/insights/SlowCSSSelector.ts +10 -3
- package/front_end/models/trace/insights/ThirdParties.ts +11 -3
- package/front_end/models/trace/insights/Viewport.ts +16 -3
- package/front_end/models/trace/insights/types.ts +13 -2
- package/front_end/models/trace/types/File.ts +7 -0
- package/front_end/models/trace/types/TraceEvents.ts +9 -2
- package/front_end/panels/animation/AnimationTimeline.ts +2 -4
- package/front_end/panels/application/ApplicationPanelSidebar.test.ts +0 -5
- package/front_end/panels/application/ApplicationPanelSidebar.ts +15 -21
- package/front_end/panels/application/IndexedDBViews.ts +4 -1
- package/front_end/panels/application/ServiceWorkerCacheViews.ts +4 -1
- package/front_end/panels/application/StorageView.test.ts +1 -1
- package/front_end/panels/application/resourcesSidebar.css +1 -1
- package/front_end/panels/browser_debugger/CategorizedBreakpointsSidebarPane.ts +1 -1
- package/front_end/panels/browser_debugger/DOMBreakpointsSidebarPane.ts +1 -1
- package/front_end/panels/browser_debugger/XHRBreakpointsSidebarPane.ts +1 -1
- package/front_end/panels/browser_debugger/categorizedBreakpointsSidebarPane.css +1 -1
- package/front_end/panels/browser_debugger/xhrBreakpointsSidebarPane.css +1 -1
- package/front_end/panels/console/ConsoleViewMessage.test.ts +25 -0
- package/front_end/panels/console/ConsoleViewMessage.ts +23 -0
- package/front_end/panels/coverage/CoverageListView.ts +1 -1
- package/front_end/panels/developer_resources/DeveloperResourcesListView.ts +1 -1
- package/front_end/panels/elements/ClassesPaneWidget.ts +1 -1
- package/front_end/panels/elements/ElementStatePaneWidget.test.ts +3 -2
- package/front_end/panels/elements/ElementStatePaneWidget.ts +7 -2
- package/front_end/panels/elements/ElementsSidebarPane.ts +3 -3
- package/front_end/panels/elements/ElementsTreeElement.ts +1 -0
- package/front_end/panels/elements/LayersWidget.ts +1 -1
- package/front_end/panels/elements/PropertyMatchers.test.ts +7 -0
- package/front_end/panels/elements/PropertyMatchers.ts +3 -0
- package/front_end/panels/elements/classesPaneWidget.css +1 -1
- package/front_end/panels/emulation/DeviceModeView.ts +1 -1
- package/front_end/panels/emulation/DeviceModeWrapper.ts +1 -1
- package/front_end/panels/emulation/InspectedPagePlaceholder.ts +1 -1
- package/front_end/panels/freestyler/AiAgent.test.ts +319 -50
- package/front_end/panels/freestyler/AiAgent.ts +193 -141
- package/front_end/panels/freestyler/AiHistoryStorage.test.ts +159 -0
- package/front_end/panels/freestyler/AiHistoryStorage.ts +73 -0
- package/front_end/panels/freestyler/DrJonesFileAgent.test.ts +14 -15
- package/front_end/panels/freestyler/DrJonesFileAgent.ts +3 -14
- package/front_end/panels/freestyler/DrJonesNetworkAgent.test.ts +14 -13
- package/front_end/panels/freestyler/DrJonesNetworkAgent.ts +3 -3
- package/front_end/panels/freestyler/DrJonesPerformanceAgent.test.ts +38 -36
- package/front_end/panels/freestyler/DrJonesPerformanceAgent.ts +3 -14
- package/front_end/panels/freestyler/FreestylerAgent.test.ts +195 -14
- package/front_end/panels/freestyler/FreestylerAgent.ts +13 -18
- package/front_end/panels/freestyler/FreestylerPanel.test.ts +71 -0
- package/front_end/panels/freestyler/FreestylerPanel.ts +99 -74
- package/front_end/panels/freestyler/components/FreestylerChatUi.ts +128 -29
- package/front_end/panels/freestyler/components/UserActionRow.ts +1 -0
- package/front_end/panels/freestyler/components/freestylerChatUi.css +21 -1
- package/front_end/panels/freestyler/components/userActionRow.css +2 -1
- package/front_end/panels/freestyler/freestyler.ts +1 -0
- package/front_end/panels/issues/IssueAggregator.test.ts +50 -0
- package/front_end/panels/issues/IssueAggregator.ts +10 -10
- package/front_end/panels/issues/issuesTree.css +1 -1
- package/front_end/panels/layer_viewer/LayerDetailsView.ts +1 -1
- package/front_end/panels/layer_viewer/Layers3DView.ts +1 -1
- package/front_end/panels/layer_viewer/PaintProfilerView.ts +1 -1
- package/front_end/panels/layers/LayersPanel.ts +1 -1
- package/front_end/panels/lighthouse/lighthouseStartView.css +1 -1
- package/front_end/panels/media/TickingFlameChart.ts +1 -1
- package/front_end/panels/mobile_throttling/ThrottlingSettingsTab.ts +1 -1
- package/front_end/panels/network/BlockedURLsPane.ts +1 -1
- package/front_end/panels/network/NetworkDataGridNode.ts +1 -0
- package/front_end/panels/network/NetworkLogView.test.ts +1 -1
- package/front_end/panels/network/NetworkPanel.ts +40 -32
- package/front_end/panels/network/NetworkWaterfallColumn.ts +1 -1
- package/front_end/panels/profiler/HeapProfileView.ts +9 -9
- package/front_end/panels/profiler/HeapTimelineOverview.ts +1 -1
- package/front_end/panels/profiler/IsolateSelector.ts +1 -1
- package/front_end/panels/profiler/LiveHeapProfileView.ts +3 -1
- package/front_end/panels/profiler/ProfileFlameChartDataProvider.ts +3 -3
- package/front_end/panels/profiler/ProfileView.ts +2 -2
- package/front_end/panels/profiler/profileLauncherView.css +1 -1
- package/front_end/panels/profiler/profilesSidebarTree.css +1 -1
- package/front_end/panels/recorder/recorderController.css +1 -1
- package/front_end/panels/security/CookieControlsTreeElement.ts +18 -0
- package/front_end/panels/security/CookieControlsView.test.ts +29 -0
- package/front_end/panels/security/CookieControlsView.ts +265 -0
- package/front_end/panels/security/CookieReportView.test.ts +157 -0
- package/front_end/panels/security/CookieReportView.ts +208 -12
- package/front_end/panels/security/SecurityPanel.ts +5 -3
- package/front_end/panels/security/SecurityPanelSidebar.ts +6 -1
- package/front_end/panels/security/cookieControlsView.css +101 -0
- package/front_end/panels/security/cookieReportView.css +26 -3
- package/front_end/panels/security/security.ts +4 -0
- package/front_end/panels/security/sidebar.css +1 -1
- package/front_end/panels/settings/KeybindsSettingsTab.ts +3 -2
- package/front_end/panels/settings/SettingsScreen.ts +5 -1
- package/front_end/panels/settings/frameworkIgnoreListSettingsTab.css +1 -1
- package/front_end/panels/settings/keybindsSettingsTab.css +6 -1
- package/front_end/panels/settings/settings-meta.ts +3 -1
- package/front_end/panels/settings/settingsScreen.css +10 -0
- package/front_end/panels/sources/CallStackSidebarPane.ts +2 -2
- package/front_end/panels/sources/NavigatorView.ts +1 -0
- package/front_end/panels/sources/navigatorTree.css +1 -1
- package/front_end/panels/sources/sourcesPanel.css +2 -2
- package/front_end/panels/timeline/AnimationsTrackAppender.ts +1 -7
- package/front_end/panels/timeline/AppenderUtils.ts +1 -1
- package/front_end/panels/timeline/CompatibilityTracksAppender.ts +38 -41
- package/front_end/panels/timeline/ExtensionTrackAppender.ts +4 -13
- package/front_end/panels/timeline/InteractionsTrackAppender.ts +3 -4
- package/front_end/panels/timeline/LayoutShiftsTrackAppender.ts +6 -12
- package/front_end/panels/timeline/ServerTimingsTrackAppender.ts +1 -10
- package/front_end/panels/timeline/ThreadAppender.ts +9 -12
- package/front_end/panels/timeline/TimelineController.ts +1 -1
- package/front_end/panels/timeline/TimelineDetailsView.test.ts +3 -2
- package/front_end/panels/timeline/TimelineDetailsView.ts +18 -17
- package/front_end/panels/timeline/TimelineFlameChartDataProvider.ts +55 -36
- package/front_end/panels/timeline/TimelineFlameChartNetworkDataProvider.ts +1 -1
- package/front_end/panels/timeline/TimelineFlameChartView.ts +33 -14
- package/front_end/panels/timeline/TimelineHistoryManager.test.ts +20 -15
- package/front_end/panels/timeline/TimelineHistoryManager.ts +46 -58
- package/front_end/panels/timeline/TimelineLayersView.ts +1 -1
- package/front_end/panels/timeline/TimelineLoader.ts +16 -0
- package/front_end/panels/timeline/TimelineMiniMap.ts +2 -2
- package/front_end/panels/timeline/TimelinePaintProfilerView.ts +1 -1
- package/front_end/panels/timeline/TimelinePanel.ts +145 -28
- package/front_end/panels/timeline/TimelineTreeView.ts +65 -16
- package/front_end/panels/timeline/TimelineUIUtils.ts +44 -0
- package/front_end/panels/timeline/TimingsTrackAppender.ts +6 -13
- package/front_end/panels/timeline/components/FieldSettingsDialog.test.ts +1 -0
- package/front_end/panels/timeline/components/FieldSettingsDialog.ts +6 -1
- package/front_end/panels/timeline/components/LiveMetricsView.test.ts +12 -0
- package/front_end/panels/timeline/components/LiveMetricsView.ts +13 -18
- package/front_end/panels/timeline/components/Sidebar.ts +1 -4
- package/front_end/panels/timeline/components/SidebarAnnotationsTab.test.ts +1 -1
- package/front_end/panels/timeline/components/SidebarInsightsTab.ts +1 -1
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.test.ts +21 -35
- package/front_end/panels/timeline/components/SidebarSingleInsightSet.ts +16 -9
- package/front_end/panels/timeline/components/TimelineSummary.test.ts +75 -0
- package/front_end/panels/timeline/components/TimelineSummary.ts +101 -0
- package/front_end/panels/timeline/components/Utils.test.ts +49 -0
- package/front_end/panels/timeline/components/Utils.ts +2 -2
- package/front_end/panels/timeline/components/components.ts +2 -0
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.test.ts +84 -0
- package/front_end/panels/timeline/components/insights/BaseInsightComponent.ts +291 -0
- package/front_end/panels/timeline/components/insights/CLSCulprits.ts +17 -41
- package/front_end/panels/timeline/components/insights/DocumentLatency.ts +28 -46
- package/front_end/panels/timeline/components/insights/EventRef.ts +70 -2
- package/front_end/panels/timeline/components/insights/FontDisplay.ts +28 -46
- package/front_end/panels/timeline/components/insights/Helpers.ts +5 -208
- package/front_end/panels/timeline/components/insights/ImageDelivery.ts +142 -0
- package/front_end/panels/timeline/components/insights/InteractionToNextPaint.ts +30 -53
- package/front_end/panels/timeline/components/insights/LCPDiscovery.ts +36 -75
- package/front_end/panels/timeline/components/insights/LCPPhases.ts +15 -49
- package/front_end/panels/timeline/components/insights/RenderBlocking.ts +27 -44
- package/front_end/panels/timeline/components/insights/SidebarInsight.ts +3 -197
- package/front_end/panels/timeline/components/insights/SlowCSSSelector.ts +51 -74
- package/front_end/panels/timeline/components/insights/Table.ts +6 -5
- package/front_end/panels/timeline/components/insights/ThirdParties.ts +41 -61
- package/front_end/panels/timeline/components/insights/Viewport.ts +20 -31
- package/front_end/panels/timeline/components/insights/{sidebarInsight.css → baseInsightComponent.css} +9 -9
- package/front_end/panels/timeline/components/insights/insights.ts +4 -0
- package/front_end/panels/timeline/components/insights/types.ts +0 -7
- package/front_end/panels/timeline/components/liveMetricsView.css +5 -5
- package/front_end/panels/timeline/components/timelineSummary.css +67 -0
- package/front_end/panels/timeline/docs/flame_chart_migration.md +1 -1
- package/front_end/panels/timeline/fixtures/traces/README.md +4 -0
- package/front_end/panels/timeline/fixtures/traces/image-delivery.json.gz +0 -0
- package/front_end/panels/timeline/overlays/OverlaysImpl.ts +22 -0
- package/front_end/panels/timeline/timeline-meta.ts +1 -1
- package/front_end/panels/timeline/timelineFlamechartPopover.css +14 -4
- package/front_end/panels/timeline/timelineHistoryManager.css +7 -3
- package/front_end/panels/timeline/timelinePanel.css +0 -1
- package/front_end/panels/timeline/track_appenders/CompatibilityTracksAppender.test.ts +5 -5
- package/front_end/panels/timeline/track_appenders/ExtensionTrackAppender.test.ts +5 -6
- package/front_end/panels/timeline/track_appenders/LayoutShiftsTrackAppender.test.ts +11 -2
- package/front_end/panels/timeline/track_appenders/ServerTimingsTrackAppender.test.ts +0 -9
- package/front_end/panels/timeline/track_appenders/ThreadAppender.test.ts +37 -44
- package/front_end/panels/timeline/track_appenders/TimingsTrackAppender.test.ts +44 -30
- package/front_end/panels/timeline/utils/EntryName.ts +1 -2
- package/front_end/panels/timeline/utils/Helpers.ts +19 -0
- package/front_end/panels/timeline/utils/IgnoreList.test.ts +52 -0
- package/front_end/panels/timeline/utils/IgnoreList.ts +68 -7
- package/front_end/panels/timeline/utils/SourceMapsResolver.ts +2 -0
- package/front_end/panels/webauthn/webauthnPane.css +1 -1
- package/front_end/panels/whats_new/ReleaseNote.test.ts +90 -0
- package/front_end/panels/whats_new/ReleaseNoteText.ts +52 -0
- package/front_end/panels/whats_new/ReleaseNoteView.ts +157 -0
- package/front_end/panels/whats_new/WhatsNewImpl.ts +102 -0
- package/front_end/panels/whats_new/releaseNoteView.css +121 -0
- package/front_end/panels/whats_new/resources/WNDT.md +6 -0
- package/front_end/panels/whats_new/resources/whatsnew.avif +0 -0
- package/front_end/panels/whats_new/whats_new-meta.ts +142 -0
- package/front_end/panels/whats_new/whats_new.ts +13 -0
- package/front_end/services/puppeteer/PuppeteerConnection.ts +4 -3
- package/front_end/testing/EnvironmentHelpers.ts +1 -2
- package/front_end/testing/SourceMapEncoder.ts +27 -11
- package/front_end/testing/TraceHelpers.ts +2 -1
- package/front_end/testing/TraceLoader.ts +6 -2
- package/front_end/third_party/lighthouse/README.chromium +2 -2
- package/front_end/third_party/lighthouse/lighthouse-dt-bundle.js +1380 -1369
- package/front_end/third_party/lighthouse/locales/ar-XB.json +88 -85
- package/front_end/third_party/lighthouse/locales/ar.json +98 -95
- package/front_end/third_party/lighthouse/locales/bg.json +88 -85
- package/front_end/third_party/lighthouse/locales/ca.json +91 -88
- package/front_end/third_party/lighthouse/locales/cs.json +91 -88
- package/front_end/third_party/lighthouse/locales/da.json +94 -91
- package/front_end/third_party/lighthouse/locales/de.json +92 -89
- package/front_end/third_party/lighthouse/locales/el.json +92 -89
- package/front_end/third_party/lighthouse/locales/en-GB.json +89 -86
- package/front_end/third_party/lighthouse/locales/en-US.json +23 -20
- package/front_end/third_party/lighthouse/locales/en-XA.json +88 -85
- package/front_end/third_party/lighthouse/locales/en-XL.json +23 -20
- package/front_end/third_party/lighthouse/locales/es-419.json +92 -89
- package/front_end/third_party/lighthouse/locales/es.json +91 -88
- package/front_end/third_party/lighthouse/locales/fi.json +92 -89
- package/front_end/third_party/lighthouse/locales/fil.json +93 -90
- package/front_end/third_party/lighthouse/locales/fr.json +94 -91
- package/front_end/third_party/lighthouse/locales/he.json +97 -94
- package/front_end/third_party/lighthouse/locales/hi.json +92 -89
- package/front_end/third_party/lighthouse/locales/hr.json +90 -87
- package/front_end/third_party/lighthouse/locales/hu.json +90 -87
- package/front_end/third_party/lighthouse/locales/id.json +91 -88
- package/front_end/third_party/lighthouse/locales/it.json +90 -87
- package/front_end/third_party/lighthouse/locales/ja.json +90 -87
- package/front_end/third_party/lighthouse/locales/ko.json +90 -87
- package/front_end/third_party/lighthouse/locales/lt.json +90 -87
- package/front_end/third_party/lighthouse/locales/lv.json +91 -88
- package/front_end/third_party/lighthouse/locales/nl.json +90 -87
- package/front_end/third_party/lighthouse/locales/no.json +92 -89
- package/front_end/third_party/lighthouse/locales/pl.json +90 -87
- package/front_end/third_party/lighthouse/locales/pt-PT.json +111 -108
- package/front_end/third_party/lighthouse/locales/pt.json +97 -94
- package/front_end/third_party/lighthouse/locales/ro.json +94 -91
- package/front_end/third_party/lighthouse/locales/ru.json +93 -90
- package/front_end/third_party/lighthouse/locales/sk.json +93 -90
- package/front_end/third_party/lighthouse/locales/sl.json +91 -88
- package/front_end/third_party/lighthouse/locales/sr-Latn.json +91 -88
- package/front_end/third_party/lighthouse/locales/sr.json +91 -88
- package/front_end/third_party/lighthouse/locales/sv.json +92 -89
- package/front_end/third_party/lighthouse/locales/ta.json +101 -98
- package/front_end/third_party/lighthouse/locales/te.json +92 -89
- package/front_end/third_party/lighthouse/locales/th.json +95 -92
- package/front_end/third_party/lighthouse/locales/tr.json +91 -88
- package/front_end/third_party/lighthouse/locales/uk.json +93 -90
- package/front_end/third_party/lighthouse/locales/vi.json +95 -92
- package/front_end/third_party/lighthouse/locales/zh-HK.json +92 -89
- package/front_end/third_party/lighthouse/locales/zh-TW.json +98 -95
- package/front_end/third_party/lighthouse/locales/zh.json +96 -93
- package/front_end/third_party/puppeteer/README.chromium +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts +8 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js +10 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts +1 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js +24 -12
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts +30 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js +8 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/DownloadBehavior.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/common.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/injected/injected.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/util/Mutex.d.ts +2 -2
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.d.ts +49 -0
- package/front_end/third_party/puppeteer/package/lib/es5-iife/puppeteer-core-browser.js +118 -88
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts +8 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js +3 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Frame.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts +4 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/api/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/bidi/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts +3 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js +10 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Browser.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserConnector.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts +2 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/BrowserContext.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPRequest.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts +1 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js +4 -4
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/HTTPResponse.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js +24 -12
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/NetworkManager.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js +3 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/cdp/Page.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts +5 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/ConnectOptions.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts +30 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.d.ts.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js +7 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/DownloadBehavior.js.map +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts +1 -0
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/common.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.d.ts +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/generated/version.js +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.d.ts.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js +2 -2
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.d.ts +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js +3 -3
- package/front_end/third_party/puppeteer/package/lib/esm/puppeteer/revisions.js.map +1 -1
- package/front_end/third_party/puppeteer/package/lib/types.d.ts +49 -0
- package/front_end/third_party/puppeteer/package/package.json +3 -3
- package/front_end/third_party/puppeteer/package/src/api/Browser.ts +8 -0
- package/front_end/third_party/puppeteer/package/src/api/Frame.ts +3 -1
- package/front_end/third_party/puppeteer/package/src/api/HTTPRequest.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/api/Page.ts +5 -0
- package/front_end/third_party/puppeteer/package/src/bidi/Page.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/Browser.ts +11 -3
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserConnector.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/cdp/BrowserContext.ts +11 -0
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPRequest.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/cdp/HTTPResponse.ts +3 -5
- package/front_end/third_party/puppeteer/package/src/cdp/NetworkManager.ts +34 -17
- package/front_end/third_party/puppeteer/package/src/cdp/Page.ts +4 -0
- package/front_end/third_party/puppeteer/package/src/common/ConnectOptions.ts +5 -0
- package/front_end/third_party/puppeteer/package/src/common/DownloadBehavior.ts +31 -0
- package/front_end/third_party/puppeteer/package/src/common/common.ts +1 -0
- package/front_end/third_party/puppeteer/package/src/generated/version.ts +1 -1
- package/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts +2 -0
- package/front_end/third_party/puppeteer/package/src/revisions.ts +3 -3
- package/front_end/third_party/puppeteer/puppeteer-tsconfig.json +1 -0
- package/front_end/ui/components/data_grid/DataGridControllerIntegrator.ts +4 -1
- package/front_end/ui/components/dialogs/ButtonDialog.test.ts +78 -0
- package/front_end/ui/components/dialogs/ButtonDialog.ts +131 -0
- package/front_end/ui/components/dialogs/Dialog.test.ts +43 -0
- package/front_end/ui/components/dialogs/Dialog.ts +64 -2
- package/front_end/ui/components/dialogs/ShortcutDialog.test.ts +15 -1
- package/front_end/ui/components/dialogs/ShortcutDialog.ts +28 -20
- package/front_end/ui/components/dialogs/buttonDialog.css +9 -0
- package/front_end/ui/components/dialogs/dialog.css +15 -0
- package/front_end/ui/components/dialogs/dialogs.ts +2 -0
- package/front_end/ui/components/dialogs/shortcutDialog.css +34 -6
- package/front_end/ui/components/docs/dialog/button_dialog.html +28 -0
- package/front_end/ui/components/docs/dialog/button_dialog.ts +29 -0
- package/front_end/ui/components/docs/performance_panel/basic.ts +1 -1
- package/front_end/ui/components/docs/performance_panel/timeline_history_manager.ts +6 -4
- package/front_end/ui/components/floating_button/FloatingButton.ts +3 -2
- package/front_end/ui/components/icon_button/fileSourceIcon.css +7 -3
- package/front_end/ui/components/issue_counter/IssueCounter.ts +15 -2
- package/front_end/ui/components/legacy_wrapper/LegacyWrapper.ts +1 -1
- package/front_end/ui/components/markdown_view/MarkdownView.ts +15 -0
- package/front_end/ui/components/markdown_view/markdownView.css +1 -1
- package/front_end/ui/components/render_coordinator/RenderCoordinator.ts +24 -18
- package/front_end/ui/components/switch/SwitchImpl.ts +2 -2
- package/front_end/ui/legacy/Infobar.ts +6 -0
- package/front_end/ui/legacy/InspectorView.ts +40 -0
- package/front_end/ui/legacy/ListWidget.ts +4 -2
- package/front_end/ui/legacy/ThrottledWidget.ts +2 -2
- package/front_end/ui/legacy/Toolbar.ts +3 -3
- package/front_end/ui/legacy/UIUtils.ts +8 -6
- package/front_end/ui/legacy/Widget.ts +32 -0
- package/front_end/ui/legacy/components/data_grid/DataGrid.test.ts +6 -9
- package/front_end/ui/legacy/components/data_grid/DataGrid.ts +35 -34
- package/front_end/ui/legacy/components/data_grid/ViewportDataGrid.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/ChartViewport.ts +2 -2
- package/front_end/ui/legacy/components/perf_ui/FilmStripView.ts +1 -1
- package/front_end/ui/legacy/components/perf_ui/FlameChart.ts +32 -25
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewCalculator.ts +18 -4
- package/front_end/ui/legacy/components/perf_ui/TimelineOverviewPane.ts +80 -39
- package/front_end/ui/legacy/components/perf_ui/perf_ui-meta.ts +4 -4
- package/front_end/ui/legacy/components/utils/jsUtils.css +8 -0
- package/front_end/ui/legacy/filter.css +1 -1
- package/front_end/ui/legacy/inspectorCommon.css +1 -1
- package/front_end/ui/legacy/listWidget.css +4 -1
- package/front_end/ui/legacy/reportView.css +1 -1
- package/front_end/ui/legacy/toolbar.css +3 -6
- package/front_end/ui/legacy/treeoutline.css +3 -1
- package/front_end/ui/visual_logging/KnownContextValues.ts +12 -1
- package/front_end/ui/visual_logging/LoggingDriver.test.ts +27 -1
- package/front_end/ui/visual_logging/LoggingDriver.ts +7 -4
- package/package.json +2 -3
- package/scripts/build/wasm-as.py +1 -1
- package/scripts/freestyler/auto_freestyler.js +12 -4
- package/scripts/freestyler/to_tsv.mjs +40 -0
- package/scripts/tools/update_goldens.py +11 -13
- package/front_end/panels/timeline/components/insights/SidebarInsight.test.ts +0 -72
- package/front_end/ui/components/docs/two_states_counter/basic.html +0 -27
- package/front_end/ui/components/docs/two_states_counter/basic.ts +0 -45
- package/front_end/ui/components/two_states_counter/TwoStatesCounter.test.ts +0 -73
- package/front_end/ui/components/two_states_counter/TwoStatesCounter.ts +0 -104
- package/front_end/ui/components/two_states_counter/twoStatesCounter.css +0 -37
- package/front_end/ui/components/two_states_counter/two_states_counter.ts +0 -9
@@ -5,6 +5,8 @@
|
|
5
5
|
import * as Host from '../../core/host/host.js';
|
6
6
|
import type * as LitHtml from '../../ui/lit-html/lit-html.js';
|
7
7
|
|
8
|
+
import {AiHistoryStorage} from './AiHistoryStorage.js';
|
9
|
+
|
8
10
|
export const enum ResponseType {
|
9
11
|
CONTEXT = 'context',
|
10
12
|
TITLE = 'title',
|
@@ -87,31 +89,26 @@ export interface UserQuery {
|
|
87
89
|
export type ResponseData = AnswerResponse|ErrorResponse|ActionResponse|SideEffectResponse|ThoughtResponse|TitleResponse|
|
88
90
|
QueryResponse|ContextResponse|UserQuery;
|
89
91
|
|
90
|
-
export interface
|
92
|
+
export interface BuildRequestOptions {
|
91
93
|
input: string;
|
92
94
|
}
|
93
95
|
|
94
|
-
export interface
|
95
|
-
text: string;
|
96
|
-
entity: Host.AidaClient.Entity;
|
97
|
-
}
|
98
|
-
|
99
|
-
export interface AidaRequestOptions {
|
96
|
+
export interface RequestOptions {
|
100
97
|
temperature?: number;
|
101
98
|
modelId?: string;
|
102
99
|
}
|
103
100
|
|
104
|
-
interface AgentOptions {
|
101
|
+
export interface AgentOptions {
|
105
102
|
aidaClient: Host.AidaClient.AidaClient;
|
106
103
|
serverSideLoggingEnabled?: boolean;
|
107
104
|
}
|
108
105
|
|
109
|
-
interface ParsedResponseAnswer {
|
106
|
+
export interface ParsedResponseAnswer {
|
110
107
|
answer: string;
|
111
108
|
suggestions?: [string, ...string[]];
|
112
109
|
}
|
113
110
|
|
114
|
-
interface ParsedResponseStep {
|
111
|
+
export interface ParsedResponseStep {
|
115
112
|
thought?: string;
|
116
113
|
title?: string;
|
117
114
|
action?: string;
|
@@ -126,7 +123,14 @@ export const enum AgentType {
|
|
126
123
|
DRJONES_PERFORMANCE = 'drjones-performance',
|
127
124
|
}
|
128
125
|
|
126
|
+
export interface SerializedAgent {
|
127
|
+
id: string;
|
128
|
+
type: AgentType;
|
129
|
+
history: HistoryEntryStorage;
|
130
|
+
}
|
131
|
+
|
129
132
|
const MAX_STEP = 10;
|
133
|
+
export type HistoryEntryStorage = ResponseData[];
|
130
134
|
|
131
135
|
export abstract class ConversationContext<T> {
|
132
136
|
abstract getOrigin(): string;
|
@@ -152,43 +156,52 @@ export abstract class AiAgent<T> {
|
|
152
156
|
}
|
153
157
|
|
154
158
|
abstract type: AgentType;
|
159
|
+
#id: string = crypto.randomUUID();
|
155
160
|
readonly #sessionId: string = crypto.randomUUID();
|
156
161
|
#aidaClient: Host.AidaClient.AidaClient;
|
157
162
|
#serverSideLoggingEnabled: boolean;
|
158
163
|
abstract readonly preamble: string;
|
159
|
-
abstract readonly options:
|
164
|
+
abstract readonly options: RequestOptions;
|
160
165
|
abstract readonly clientFeature: Host.AidaClient.ClientFeature;
|
161
166
|
abstract readonly userTier: string|undefined;
|
162
167
|
abstract handleContextDetails(select: ConversationContext<T>|null): AsyncGenerator<ContextResponse, void, void>;
|
163
168
|
#generatedFromHistory = false;
|
164
169
|
|
165
170
|
/**
|
166
|
-
*
|
167
|
-
* the history chuck it created
|
171
|
+
* Historical responses.
|
168
172
|
*/
|
169
|
-
#history =
|
173
|
+
#history: HistoryEntryStorage = [];
|
170
174
|
/**
|
171
175
|
* Might need to be part of history in case we allow chatting in
|
172
176
|
* historical conversations.
|
173
177
|
*/
|
174
178
|
#origin?: string;
|
175
179
|
#context?: ConversationContext<T>;
|
180
|
+
#structuredLog: Array<{
|
181
|
+
request: Host.AidaClient.AidaRequest,
|
182
|
+
response: string,
|
183
|
+
rawResponse?: Host.AidaClient.AidaResponse,
|
184
|
+
}> = [];
|
176
185
|
|
177
186
|
constructor(opts: AgentOptions) {
|
178
187
|
this.#aidaClient = opts.aidaClient;
|
179
188
|
this.#serverSideLoggingEnabled = opts.serverSideLoggingEnabled ?? false;
|
180
189
|
}
|
181
190
|
|
182
|
-
get chatHistoryForTesting(): Array<HistoryChunk> {
|
183
|
-
return this.#
|
191
|
+
get chatHistoryForTesting(): Array<Host.AidaClient.HistoryChunk> {
|
192
|
+
return this.#chatHistoryForAida;
|
184
193
|
}
|
185
194
|
|
186
|
-
set chatNewHistoryForTesting(history:
|
195
|
+
set chatNewHistoryForTesting(history: HistoryEntryStorage) {
|
187
196
|
this.#history = history;
|
188
197
|
}
|
189
198
|
|
199
|
+
get id(): string {
|
200
|
+
return this.#id;
|
201
|
+
}
|
202
|
+
|
190
203
|
get isEmpty(): boolean {
|
191
|
-
return this.#history.
|
204
|
+
return this.#history.length === 0;
|
192
205
|
}
|
193
206
|
|
194
207
|
get origin(): string|undefined {
|
@@ -200,8 +213,7 @@ export abstract class AiAgent<T> {
|
|
200
213
|
}
|
201
214
|
|
202
215
|
get title(): string|undefined {
|
203
|
-
return
|
204
|
-
.flat()
|
216
|
+
return this.#history
|
205
217
|
.filter(response => {
|
206
218
|
return response.type === ResponseType.USER_QUERY;
|
207
219
|
})
|
@@ -213,22 +225,25 @@ export abstract class AiAgent<T> {
|
|
213
225
|
return this.#generatedFromHistory;
|
214
226
|
}
|
215
227
|
|
216
|
-
|
217
|
-
|
218
|
-
|
219
|
-
|
220
|
-
|
221
|
-
|
222
|
-
|
223
|
-
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
input,
|
230
|
-
});
|
228
|
+
serialized(): SerializedAgent {
|
229
|
+
return {
|
230
|
+
id: this.id,
|
231
|
+
type: this.type,
|
232
|
+
history: this.#history,
|
233
|
+
};
|
234
|
+
}
|
235
|
+
|
236
|
+
populateHistoryFromStorage(entry: SerializedAgent): void {
|
237
|
+
this.#id = entry.id;
|
238
|
+
this.#history = entry.history;
|
239
|
+
this.#generatedFromHistory = true;
|
240
|
+
}
|
231
241
|
|
242
|
+
async *
|
243
|
+
aidaFetch(
|
244
|
+
request: Host.AidaClient.AidaRequest,
|
245
|
+
options?: {signal?: AbortSignal},
|
246
|
+
): AsyncGenerator<{parsedResponse: ParsedResponse, completed: boolean, rpcId?: number}, void, void> {
|
232
247
|
let rawResponse: Host.AidaClient.AidaResponse|undefined = undefined;
|
233
248
|
let response = '';
|
234
249
|
let rpcId: number|undefined;
|
@@ -239,6 +254,8 @@ export abstract class AiAgent<T> {
|
|
239
254
|
meta => meta.attributionAction === Host.AidaClient.RecitationAction.BLOCK)) {
|
240
255
|
throw new Error('Attribution action does not allow providing the response');
|
241
256
|
}
|
257
|
+
const parsedResponse = this.parseResponse(response);
|
258
|
+
yield {rpcId, parsedResponse, completed: rawResponse.completed};
|
242
259
|
}
|
243
260
|
|
244
261
|
debugLog({
|
@@ -252,16 +269,15 @@ export abstract class AiAgent<T> {
|
|
252
269
|
rawResponse,
|
253
270
|
});
|
254
271
|
localStorage.setItem('freestylerStructuredLog', JSON.stringify(this.#structuredLog));
|
255
|
-
|
256
|
-
return {response, rpcId};
|
257
272
|
}
|
258
273
|
|
259
|
-
buildRequest(opts:
|
274
|
+
buildRequest(opts: BuildRequestOptions): Host.AidaClient.AidaRequest {
|
275
|
+
const history = this.#chatHistoryForAida;
|
260
276
|
const request: Host.AidaClient.AidaRequest = {
|
261
277
|
input: opts.input,
|
262
278
|
preamble: this.preamble,
|
263
279
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
264
|
-
chat_history:
|
280
|
+
chat_history: history.length ? history : undefined,
|
265
281
|
client: Host.AidaClient.CLIENT_NAME,
|
266
282
|
options: {
|
267
283
|
temperature: AiAgent.validTemperature(this.options.temperature),
|
@@ -297,105 +313,100 @@ export abstract class AiAgent<T> {
|
|
297
313
|
};
|
298
314
|
}
|
299
315
|
|
300
|
-
|
301
|
-
return
|
316
|
+
formatParsedResponseAnswer(step: ParsedResponseAnswer): string {
|
317
|
+
return step.answer;
|
302
318
|
}
|
303
319
|
|
304
|
-
|
305
|
-
title?: string,
|
306
|
-
thought?: string,
|
307
|
-
action?: string,
|
308
|
-
}): string {
|
320
|
+
formatParsedResponseStep(step: ParsedResponseStep): string {
|
309
321
|
let text = '';
|
310
|
-
if (
|
311
|
-
text = `THOUGHT: ${
|
322
|
+
if (step.thought) {
|
323
|
+
text = `THOUGHT: ${step.thought}`;
|
312
324
|
}
|
313
|
-
if (
|
314
|
-
text += `\nTITLE: ${
|
325
|
+
if (step.title) {
|
326
|
+
text += `\nTITLE: ${step.title}`;
|
315
327
|
}
|
316
|
-
if (
|
328
|
+
if (step.action) {
|
317
329
|
text += `\nACTION
|
318
|
-
${
|
330
|
+
${step.action}
|
319
331
|
STOP`;
|
320
332
|
}
|
321
333
|
|
322
334
|
return text;
|
323
335
|
}
|
324
336
|
|
325
|
-
get #
|
326
|
-
const
|
327
|
-
|
328
|
-
|
329
|
-
|
330
|
-
|
331
|
-
|
332
|
-
|
333
|
-
|
334
|
-
|
335
|
-
|
336
|
-
|
337
|
-
|
338
|
-
|
339
|
-
|
340
|
-
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
history.push({
|
345
|
-
entity: Host.AidaClient.Entity.SYSTEM,
|
346
|
-
text: observation,
|
347
|
-
});
|
348
|
-
response = {};
|
349
|
-
}
|
350
|
-
|
351
|
-
history.push({
|
352
|
-
entity: Host.AidaClient.Entity.USER,
|
353
|
-
text: data.query,
|
354
|
-
});
|
355
|
-
break;
|
356
|
-
}
|
357
|
-
case ResponseType.ANSWER:
|
337
|
+
get #chatHistoryForAida(): Host.AidaClient.HistoryChunk[] {
|
338
|
+
const history: Array<Host.AidaClient.HistoryChunk> = [];
|
339
|
+
let response: {
|
340
|
+
title?: string,
|
341
|
+
thought?: string,
|
342
|
+
action?: string,
|
343
|
+
} = {};
|
344
|
+
let lastRunStartIdx = 0;
|
345
|
+
for (const data of this.#history) {
|
346
|
+
switch (data.type) {
|
347
|
+
case ResponseType.CONTEXT:
|
348
|
+
case ResponseType.SIDE_EFFECT:
|
349
|
+
break;
|
350
|
+
case ResponseType.USER_QUERY:
|
351
|
+
lastRunStartIdx = history.length;
|
352
|
+
break;
|
353
|
+
case ResponseType.QUERYING: {
|
354
|
+
const thought = this.formatParsedResponseStep(response);
|
355
|
+
if (thought) {
|
358
356
|
history.push({
|
359
357
|
entity: Host.AidaClient.Entity.SYSTEM,
|
360
|
-
text:
|
358
|
+
text: thought,
|
361
359
|
});
|
362
|
-
|
363
|
-
|
364
|
-
|
365
|
-
|
366
|
-
|
367
|
-
|
368
|
-
|
369
|
-
case ResponseType.ACTION:
|
370
|
-
response.action = data.code;
|
371
|
-
break;
|
372
|
-
case ResponseType.ERROR:
|
373
|
-
historyAll.delete(id);
|
374
|
-
break;
|
360
|
+
response = {};
|
361
|
+
}
|
362
|
+
history.push({
|
363
|
+
entity: Host.AidaClient.Entity.USER,
|
364
|
+
text: data.query,
|
365
|
+
});
|
366
|
+
break;
|
375
367
|
}
|
376
|
-
|
377
|
-
|
378
|
-
|
379
|
-
|
380
|
-
|
381
|
-
|
382
|
-
|
368
|
+
case ResponseType.ANSWER:
|
369
|
+
history.push({
|
370
|
+
entity: Host.AidaClient.Entity.SYSTEM,
|
371
|
+
text: this.formatParsedResponseAnswer({answer: data.text}),
|
372
|
+
});
|
373
|
+
break;
|
374
|
+
case ResponseType.TITLE:
|
375
|
+
response.title = data.title;
|
376
|
+
break;
|
377
|
+
case ResponseType.THOUGHT:
|
378
|
+
response.thought = data.thought;
|
379
|
+
break;
|
380
|
+
case ResponseType.ACTION:
|
381
|
+
response.action = data.code;
|
382
|
+
break;
|
383
|
+
case ResponseType.ERROR:
|
384
|
+
// Delete the end of history.
|
385
|
+
history.splice(lastRunStartIdx);
|
386
|
+
response = {};
|
387
|
+
break;
|
383
388
|
}
|
384
389
|
}
|
385
|
-
|
386
|
-
|
390
|
+
// Trailing history, should be the same as handling the
|
391
|
+
// ResponseType.QUERYING branch above.
|
392
|
+
const thought = this.formatParsedResponseStep(response);
|
393
|
+
if (thought) {
|
394
|
+
history.push({
|
395
|
+
entity: Host.AidaClient.Entity.SYSTEM,
|
396
|
+
text: thought,
|
397
|
+
});
|
398
|
+
}
|
399
|
+
return history;
|
387
400
|
}
|
388
401
|
|
389
|
-
#addHistory(
|
390
|
-
|
391
|
-
|
392
|
-
|
393
|
-
|
402
|
+
#addHistory(data: ResponseData): void {
|
403
|
+
this.#history.push(data);
|
404
|
+
// Remove condition to store the history in storage
|
405
|
+
if (isHistoryEnabled()) {
|
406
|
+
void AiHistoryStorage.instance().upsertHistoryEntry(this.serialized());
|
394
407
|
}
|
395
|
-
this.#history.set(id, [data]);
|
396
408
|
}
|
397
409
|
|
398
|
-
#runId = 0;
|
399
410
|
async * run(query: string, options: {
|
400
411
|
signal?: AbortSignal, selected: ConversationContext<T>|null,
|
401
412
|
}): AsyncGenerator<ResponseData, void, void> {
|
@@ -411,38 +422,53 @@ STOP`;
|
|
411
422
|
if (options.selected && !this.#context) {
|
412
423
|
this.#context = options.selected;
|
413
424
|
}
|
414
|
-
|
425
|
+
|
426
|
+
const enhancedQuery = await this.enhanceQuery(query, options.selected);
|
427
|
+
|
428
|
+
Host.userMetrics.freestylerQueryLength(enhancedQuery.length);
|
429
|
+
|
430
|
+
// Request is built here to capture history up to this point.
|
431
|
+
let request = this.buildRequest({
|
432
|
+
input: enhancedQuery,
|
433
|
+
});
|
415
434
|
|
416
435
|
const response = {
|
417
436
|
type: ResponseType.USER_QUERY,
|
418
437
|
query,
|
419
438
|
} as const;
|
420
|
-
this.#addHistory(
|
439
|
+
this.#addHistory(response);
|
421
440
|
yield response;
|
422
441
|
|
423
442
|
for await (const response of this.handleContextDetails(options.selected)) {
|
424
|
-
this.#addHistory(
|
443
|
+
this.#addHistory(response);
|
425
444
|
yield response;
|
426
445
|
}
|
427
446
|
|
428
|
-
query =
|
447
|
+
query = enhancedQuery;
|
429
448
|
|
430
449
|
for (let i = 0; i < MAX_STEP; i++) {
|
431
450
|
const queryResponse = {
|
432
451
|
type: ResponseType.QUERYING,
|
433
452
|
query,
|
434
453
|
} as const;
|
435
|
-
this.#addHistory(
|
454
|
+
this.#addHistory(queryResponse);
|
436
455
|
yield queryResponse;
|
437
|
-
let response: string;
|
438
456
|
let rpcId: number|undefined;
|
457
|
+
let parsedResponse: ParsedResponse|undefined = undefined;
|
439
458
|
try {
|
440
|
-
const fetchResult
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
459
|
+
for await (const fetchResult of this.aidaFetch(request, {signal: options.signal})) {
|
460
|
+
rpcId = fetchResult.rpcId;
|
461
|
+
parsedResponse = fetchResult.parsedResponse;
|
462
|
+
|
463
|
+
// Only yield partial responses here and do not add partial answers to the history.
|
464
|
+
if (!fetchResult.completed && 'answer' in parsedResponse && parsedResponse.answer) {
|
465
|
+
yield {
|
466
|
+
type: ResponseType.ANSWER,
|
467
|
+
text: parsedResponse.answer,
|
468
|
+
rpcId,
|
469
|
+
};
|
470
|
+
}
|
471
|
+
}
|
446
472
|
} catch (err) {
|
447
473
|
debugLog('Error calling the AIDA API', err);
|
448
474
|
|
@@ -452,7 +478,7 @@ STOP`;
|
|
452
478
|
error: ErrorType.ABORT,
|
453
479
|
rpcId,
|
454
480
|
} as const;
|
455
|
-
this.#addHistory(
|
481
|
+
this.#addHistory(response);
|
456
482
|
yield response;
|
457
483
|
break;
|
458
484
|
}
|
@@ -463,13 +489,23 @@ STOP`;
|
|
463
489
|
rpcId,
|
464
490
|
} as const;
|
465
491
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.AiAssistanceError);
|
466
|
-
this.#addHistory(
|
492
|
+
this.#addHistory(response);
|
467
493
|
yield response;
|
468
494
|
|
469
495
|
break;
|
470
496
|
}
|
471
497
|
|
472
|
-
|
498
|
+
if (!parsedResponse) {
|
499
|
+
const response = {
|
500
|
+
type: ResponseType.ERROR,
|
501
|
+
error: ErrorType.UNKNOWN,
|
502
|
+
rpcId,
|
503
|
+
} as const;
|
504
|
+
Host.userMetrics.actionTaken(Host.UserMetrics.Action.AiAssistanceError);
|
505
|
+
this.#addHistory(response);
|
506
|
+
yield response;
|
507
|
+
break;
|
508
|
+
}
|
473
509
|
|
474
510
|
if ('answer' in parsedResponse) {
|
475
511
|
const {
|
@@ -484,7 +520,7 @@ STOP`;
|
|
484
520
|
suggestions,
|
485
521
|
} as const;
|
486
522
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.AiAssistanceAnswerReceived);
|
487
|
-
this.#addHistory(
|
523
|
+
this.#addHistory(response);
|
488
524
|
yield response;
|
489
525
|
} else {
|
490
526
|
const response = {
|
@@ -493,7 +529,7 @@ STOP`;
|
|
493
529
|
rpcId,
|
494
530
|
} as const;
|
495
531
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.AiAssistanceError);
|
496
|
-
this.#addHistory(
|
532
|
+
this.#addHistory(response);
|
497
533
|
yield response;
|
498
534
|
}
|
499
535
|
|
@@ -512,7 +548,7 @@ STOP`;
|
|
512
548
|
title,
|
513
549
|
rpcId,
|
514
550
|
} as const;
|
515
|
-
this.#addHistory(
|
551
|
+
this.#addHistory(response);
|
516
552
|
yield response;
|
517
553
|
}
|
518
554
|
|
@@ -522,15 +558,19 @@ STOP`;
|
|
522
558
|
thought,
|
523
559
|
rpcId,
|
524
560
|
} as const;
|
525
|
-
this.#addHistory(
|
561
|
+
this.#addHistory(response);
|
526
562
|
yield response;
|
527
563
|
}
|
528
564
|
|
529
565
|
if (action) {
|
530
566
|
const result = yield* this.handleAction(action, rpcId);
|
531
|
-
this.#addHistory(
|
532
|
-
yield result;
|
567
|
+
this.#addHistory(result);
|
533
568
|
query = `OBSERVATION: ${result.output}`;
|
569
|
+
// Capture history state for the next iteration query.
|
570
|
+
request = this.buildRequest({
|
571
|
+
input: query,
|
572
|
+
});
|
573
|
+
yield result;
|
534
574
|
}
|
535
575
|
|
536
576
|
if (i === MAX_STEP - 1) {
|
@@ -539,7 +579,7 @@ STOP`;
|
|
539
579
|
error: ErrorType.MAX_STEPS,
|
540
580
|
} as const;
|
541
581
|
Host.userMetrics.actionTaken(Host.UserMetrics.Action.AiAssistanceError);
|
542
|
-
this.#addHistory(
|
582
|
+
this.#addHistory(response);
|
543
583
|
yield response;
|
544
584
|
break;
|
545
585
|
}
|
@@ -555,10 +595,8 @@ STOP`;
|
|
555
595
|
}
|
556
596
|
|
557
597
|
this.#generatedFromHistory = true;
|
558
|
-
for (const
|
559
|
-
|
560
|
-
yield entry;
|
561
|
-
}
|
598
|
+
for (const entry of this.#history) {
|
599
|
+
yield entry;
|
562
600
|
}
|
563
601
|
}
|
564
602
|
}
|
@@ -585,3 +623,17 @@ function setDebugFreestylerEnabled(enabled: boolean): void {
|
|
585
623
|
}
|
586
624
|
// @ts-ignore
|
587
625
|
globalThis.setDebugFreestylerEnabled = setDebugFreestylerEnabled;
|
626
|
+
|
627
|
+
export function isHistoryEnabled(): boolean {
|
628
|
+
return Boolean(localStorage.getItem('persistentHistoryAiAssistance'));
|
629
|
+
}
|
630
|
+
|
631
|
+
function setAiAssistancePersistentHistory(enabled: boolean): void {
|
632
|
+
if (enabled) {
|
633
|
+
localStorage.setItem('persistentHistoryAiAssistance', 'true');
|
634
|
+
} else {
|
635
|
+
localStorage.removeItem('persistentHistoryAiAssistance');
|
636
|
+
}
|
637
|
+
}
|
638
|
+
// @ts-ignore
|
639
|
+
globalThis.setAiAssistancePersistentHistory = setAiAssistancePersistentHistory;
|