chrome-devtools-frontend 1.0.1611825 → 1.0.1613625

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 (56) hide show
  1. package/.agents/skills/verification/SKILL.md +5 -1
  2. package/front_end/Images/src/flowsheet.svg +1 -0
  3. package/front_end/core/common/Color.ts +3 -2
  4. package/front_end/core/common/MapWithDefault.ts +2 -2
  5. package/front_end/core/common/Object.ts +9 -6
  6. package/front_end/core/platform/StringUtilities.ts +5 -0
  7. package/front_end/core/sdk/NetworkManager.ts +7 -0
  8. package/front_end/generated/InspectorBackendCommands.ts +2 -2
  9. package/front_end/generated/protocol.ts +12 -2
  10. package/front_end/models/ai_assistance/agents/README.md +77 -0
  11. package/front_end/models/greendev/Prototypes.ts +7 -4
  12. package/front_end/models/har/HARFormat.ts +30 -0
  13. package/front_end/models/har/Importer.ts +12 -1
  14. package/front_end/models/har/Log.ts +28 -0
  15. package/front_end/models/heap_snapshot/HeapSnapshotProxy.ts +6 -4
  16. package/front_end/panels/ai_assistance/AiAssistancePanel.ts +62 -22
  17. package/front_end/panels/ai_assistance/PatchWidget.ts +7 -23
  18. package/front_end/panels/ai_assistance/SelectWorkspaceDialog.ts +3 -3
  19. package/front_end/panels/ai_assistance/ai_assistance-meta.ts +7 -0
  20. package/front_end/panels/ai_assistance/ai_assistance.ts +1 -0
  21. package/front_end/panels/ai_assistance/components/ChatMessage.ts +13 -3
  22. package/front_end/panels/ai_assistance/components/ChatView.ts +4 -0
  23. package/front_end/panels/ai_assistance/components/ExportForAgentsDialog.ts +14 -7
  24. package/front_end/panels/ai_assistance/components/OptInChangeDialog.ts +179 -0
  25. package/front_end/panels/ai_assistance/components/WalkthroughView.ts +4 -3
  26. package/front_end/panels/ai_assistance/components/optInChangeDialog.css +95 -0
  27. package/front_end/panels/ai_assistance/components/walkthroughView.css +1 -1
  28. package/front_end/panels/application/CookieItemsView.ts +3 -2
  29. package/front_end/panels/changes/ChangesView.ts +0 -12
  30. package/front_end/panels/common/common.ts +0 -1
  31. package/front_end/panels/console/ConsolePrompt.ts +2 -2
  32. package/front_end/panels/elements/StylePropertyTreeElement.ts +2 -1
  33. package/front_end/panels/elements/StylesSidebarPane.ts +6 -2
  34. package/front_end/panels/elements/elements-meta.ts +14 -0
  35. package/front_end/panels/emulation/DeviceModeToolbar.ts +13 -4
  36. package/front_end/panels/network/NetworkLogView.ts +58 -28
  37. package/front_end/panels/profiler/HeapSnapshotDataGrids.ts +1 -1
  38. package/front_end/panels/profiler/HeapSnapshotGridNodes.ts +9 -17
  39. package/front_end/panels/protocol_monitor/JSONEditor.ts +30 -4
  40. package/front_end/panels/recorder/RecorderController.ts +4 -4
  41. package/front_end/panels/recorder/models/RecordingPlayer.ts +1 -1
  42. package/front_end/panels/settings/AISettingsTab.ts +53 -6
  43. package/front_end/panels/settings/SettingsScreen.ts +2 -2
  44. package/front_end/services/puppeteer/PuppeteerConnection.ts +1 -1
  45. package/front_end/third_party/chromium/README.chromium +1 -1
  46. package/front_end/ui/kit/icons/Icon.ts +1 -0
  47. package/front_end/ui/legacy/SplitWidget.ts +9 -6
  48. package/front_end/ui/legacy/TextPrompt.ts +1 -1
  49. package/front_end/ui/legacy/Treeoutline.ts +3 -2
  50. package/front_end/ui/legacy/components/data_grid/DataGridElement.ts +4 -3
  51. package/front_end/ui/legacy/components/settings_ui/SettingsUI.ts +3 -3
  52. package/front_end/ui/legacy/components/source_frame/FontView.ts +101 -88
  53. package/front_end/ui/legacy/components/source_frame/SourceFrame.ts +4 -4
  54. package/front_end/ui/visual_logging/KnownContextValues.ts +13 -0
  55. package/package.json +2 -2
  56. package/front_end/panels/common/CopyChangesToPrompt.ts +0 -233
@@ -422,9 +422,9 @@ export class SplitWidget extends Common.ObjectWrapper.eventMixin<EventTypes, typ
422
422
  */
423
423
  #totalSizeDIP(): number {
424
424
  if (!this.#totalSizeCSS) {
425
- this.#totalSizeCSS = this.#isVertical ? this.contentElement.offsetWidth : this.contentElement.offsetHeight;
426
- this.#totalSizeOtherDimensionCSS =
427
- this.#isVertical ? this.contentElement.offsetHeight : this.contentElement.offsetWidth;
425
+ const {width, height} = this.contentElement.getBoundingClientRect();
426
+ this.#totalSizeCSS = this.#isVertical ? width : height;
427
+ this.#totalSizeOtherDimensionCSS = this.#isVertical ? height : width;
428
428
  }
429
429
  return ZoomManager.instance().cssToDIP(this.#totalSizeCSS);
430
430
  }
@@ -457,9 +457,12 @@ export class SplitWidget extends Common.ObjectWrapper.eventMixin<EventTypes, typ
457
457
  this.#removeAllLayoutProperties();
458
458
 
459
459
  // this.#totalSizeDIP is available below since we successfully applied constraints.
460
- const roundSizeCSS = Math.round(ZoomManager.instance().dipToCSS(sizeDIP));
461
- const sidebarSizeValue = roundSizeCSS + 'px';
462
- const mainSizeValue = (this.#totalSizeCSS - roundSizeCSS) + 'px';
460
+ const sizeCSS = ZoomManager.instance().dipToCSS(sizeDIP);
461
+ const sidebarSizeValue = sizeCSS + 'px';
462
+ const mainSizeValue = (this.#totalSizeCSS - sizeCSS) + 'px';
463
+ // With `box-sizing: border-box` on the sidebar (set in splitWidget.css),
464
+ // flex-basis, width, and height all include the border, so the sidebar's
465
+ // border does not steal space from the main pane.
463
466
  this.#sidebarElement.style.flexBasis = sidebarSizeValue;
464
467
 
465
468
  // Make both sides relayout boundaries.
@@ -251,7 +251,7 @@ export class TextPrompt extends Common.ObjectWrapper.ObjectWrapper<EventTypes> i
251
251
  private proxyElementDisplay: string;
252
252
  private autocompletionTimeout: number;
253
253
  #title: string;
254
- private queryRange: TextUtils.TextRange.TextRange|null;
254
+ protected queryRange: TextUtils.TextRange.TextRange|null;
255
255
  private previousText: string;
256
256
  private currentSuggestion: Suggestion|null;
257
257
  private completionRequestId: number;
@@ -1932,7 +1932,7 @@ export namespace TreeViewElement {
1932
1932
  }
1933
1933
  }
1934
1934
 
1935
- export const ifExpanded = Lit.Directive.directive(class extends Lit.Directive.Directive {
1935
+ class IfExpandedDirective extends Lit.Directive.Directive {
1936
1936
  #partInfo: {type: Lit.Directive.PartType, startNode: Node};
1937
1937
  constructor(partInfo: Lit.Directive.PartInfo) {
1938
1938
  if (partInfo.type !== Lit.Directive.PartType.CHILD) {
@@ -1969,7 +1969,8 @@ export const ifExpanded = Lit.Directive.directive(class extends Lit.Directive.Di
1969
1969
  }
1970
1970
  return node.expanded;
1971
1971
  }
1972
- });
1972
+ }
1973
+ export const ifExpanded = Lit.Directive.directive(IfExpandedDirective);
1973
1974
 
1974
1975
  export class TreeElementWrapper extends HTMLElement {
1975
1976
  #treeElement?: TreeElement;
@@ -50,7 +50,7 @@ const DUMMY_COLUMN_ID = 'dummy'; // SortableDataGrid.create requires at least o
50
50
  * @attribute striped If true, the data grid will have striped rows.
51
51
  * @attribute displayName
52
52
  */
53
- class DataGridElement extends UI.UIUtils.HTMLElementWithLightDOMTemplate {
53
+ export class DataGridElement extends UI.UIUtils.HTMLElementWithLightDOMTemplate {
54
54
  static readonly observedAttributes = ['striped', 'name', 'inline', 'resize'];
55
55
 
56
56
  #dataGrid = SortableDataGrid.create([DUMMY_COLUMN_ID], [], '') as SortableDataGrid<DataGridElementNode>;
@@ -609,7 +609,7 @@ const INTERNAL_TOKEN: DataGridInternalToken = {
609
609
  token: 'DataGridInternalToken'
610
610
  };
611
611
 
612
- export const ifExpanded = Lit.Directive.directive(class extends Lit.Directive.Directive {
612
+ class IfExpandedDirective extends Lit.Directive.Directive {
613
613
  #partInfo: {type: Lit.Directive.PartType, startNode: Node};
614
614
  constructor(partInfo: Lit.Directive.PartInfo) {
615
615
  if (partInfo.type !== Lit.Directive.PartType.CHILD) {
@@ -639,4 +639,5 @@ export const ifExpanded = Lit.Directive.directive(class extends Lit.Directive.Di
639
639
  }
640
640
  return node.expanded;
641
641
  }
642
- });
642
+ }
643
+ export const ifExpanded = Lit.Directive.directive(IfExpandedDirective);
@@ -105,7 +105,7 @@ export function renderSettingSelect(setting: Common.Settings.Setting<unknown>, s
105
105
  }
106
106
 
107
107
  export const renderControlForSetting = function(
108
- setting: Common.Settings.Setting<unknown>, subtitle?: string): TemplateResult|null {
108
+ setting: Common.Settings.Setting<unknown>, subtitle?: string): TemplateResult|typeof nothing {
109
109
  switch (setting.type()) {
110
110
  case Common.Settings.SettingType.BOOLEAN: {
111
111
  const onchange = (): void => {
@@ -123,14 +123,14 @@ export const renderControlForSetting = function(
123
123
  }
124
124
  default:
125
125
  console.error('Invalid setting type: ' + setting.type());
126
- return null;
126
+ return nothing;
127
127
  }
128
128
  };
129
129
 
130
130
  export const createControlForSetting = function(
131
131
  setting: Common.Settings.Setting<unknown>, subtitle?: string): HTMLElement|null {
132
132
  const template = renderControlForSetting(setting, subtitle);
133
- if (template === null) {
133
+ if (template === nothing) {
134
134
  return null;
135
135
  }
136
136
  const fragment = document.createDocumentFragment();
@@ -1,7 +1,6 @@
1
1
  // Copyright 2021 The Chromium Authors
2
2
  // Use of this source code is governed by a BSD-style license that can be
3
3
  // found in the LICENSE file.
4
- /* eslint-disable @devtools/no-imperative-dom-api */
5
4
 
6
5
  /*
7
6
  * Copyright (C) 2007, 2008 Apple Inc. All rights reserved.
@@ -34,6 +33,7 @@
34
33
  import * as i18n from '../../../../core/i18n/i18n.js';
35
34
  import * as Platform from '../../../../core/platform/platform.js';
36
35
  import * as TextUtils from '../../../../models/text_utils/text_utils.js';
36
+ import {Directives, html, render} from '../../../lit/lit.js';
37
37
  import * as VisualLogging from '../../../visual_logging/visual_logging.js';
38
38
  import * as UI from '../../legacy.js';
39
39
 
@@ -52,24 +52,70 @@ const UIStrings = {
52
52
  } as const;
53
53
  const str_ = i18n.i18n.registerUIStrings('ui/legacy/components/source_frame/FontView.ts', UIStrings);
54
54
  const i18nString = i18n.i18n.getLocalizedString.bind(undefined, str_);
55
+
56
+ const FONT_PREVIEW_LINES = ['ABCDEFGHIJKLM', 'NOPQRSTUVWXYZ', 'abcdefghijklm', 'nopqrstuvwxyz', '1234567890'];
57
+ const MEASURE_FONT_SIZE = 50;
58
+
59
+ export interface ViewInput {
60
+ url: Platform.DevToolsPath.UrlString;
61
+ fontFaceRule: string;
62
+ fontFamily: string;
63
+ previewFontSize: string;
64
+ previewVisible: boolean;
65
+ }
66
+
67
+ export interface ViewOutput {
68
+ measureDimensions?: () => {
69
+ width: number, height: number,
70
+ };
71
+ }
72
+
73
+ export type View = (input: ViewInput, output: ViewOutput, target: HTMLElement) => void;
74
+
75
+ // clang-format off
76
+ export const DEFAULT_VIEW: View = (input, output, target) => {
77
+ let dummyEl: HTMLElement|undefined;
78
+ render(html`
79
+ <style>${fontViewStyles}</style>
80
+ <style>${input.fontFaceRule}</style>
81
+ <div class="font-view"
82
+ aria-label=${i18nString(UIStrings.previewOfFontFromS, {PH1: input.url})}
83
+ style="font-family: ${input.fontFamily}; font-size: ${input.previewFontSize}"
84
+ aria-hidden="true"
85
+ ?hidden=${!input.previewVisible}
86
+ >${FONT_PREVIEW_LINES.map((line, i) => html`${i > 0 ? html`<br>` : ''}${line}`)}</div>
87
+ <div ${Directives.ref(el => { dummyEl = el as HTMLElement; })}
88
+ style="visibility: hidden; z-index: -1; display: inline; position: absolute; font-family: ${input.fontFamily}; font-size: ${MEASURE_FONT_SIZE}px"
89
+ >${FONT_PREVIEW_LINES.map((line, i) => html`${i > 0 ? html`<br>` : ''}${line}`)}</div>
90
+ `, target);
91
+ output.measureDimensions = () => {
92
+ if (!dummyEl) {
93
+ return {width: 0, height: 0};
94
+ }
95
+ return {width: dummyEl.offsetWidth, height: dummyEl.offsetHeight};
96
+ };
97
+ };
98
+ // clang-format on
99
+
55
100
  export class FontView extends UI.View.SimpleView {
56
101
  private readonly url: Platform.DevToolsPath.UrlString;
57
102
  private readonly contentProvider: TextUtils.ContentProvider.ContentProvider;
58
103
  private readonly mimeTypeLabel: UI.Toolbar.ToolbarText;
59
- fontPreviewElement!: HTMLElement|null;
60
- private dummyElement!: HTMLElement|null;
61
- fontStyleElement!: HTMLStyleElement|null;
62
- private inResize!: boolean|null;
63
- constructor(mimeType: string, contentProvider: TextUtils.ContentProvider.ContentProvider) {
104
+ readonly #view: View;
105
+ #fontFaceRule = '';
106
+ #fontFamily = '';
107
+ #previewFontSize = '';
108
+ #previewVisible = false;
109
+ #contentLoaded = false;
110
+
111
+ constructor(mimeType: string, contentProvider: TextUtils.ContentProvider.ContentProvider, view: View = DEFAULT_VIEW) {
64
112
  super({
65
113
  title: i18nString(UIStrings.font),
66
114
  viewId: 'font',
67
115
  jslog: `${VisualLogging.pane('font-view')}`,
68
116
  });
69
- this.registerRequiredCSS(fontViewStyles);
70
- this.element.classList.add('font-view');
117
+ this.#view = view;
71
118
  this.url = contentProvider.contentURL();
72
- UI.ARIAUtils.setLabel(this.element, i18nString(UIStrings.previewOfFontFromS, {PH1: this.url}));
73
119
  this.contentProvider = contentProvider;
74
120
  this.mimeTypeLabel = new UI.Toolbar.ToolbarText(mimeType);
75
121
  }
@@ -78,96 +124,39 @@ export class FontView extends UI.View.SimpleView {
78
124
  return [this.mimeTypeLabel];
79
125
  }
80
126
 
81
- private onFontContentLoaded(uniqueFontName: string, contentData: TextUtils.ContentData.ContentDataOrError): void {
82
- const url = TextUtils.ContentData.ContentData.isError(contentData) ? this.url : contentData.asDataUrl();
83
- if (!this.fontStyleElement) {
84
- return;
85
- }
86
- this.fontStyleElement.textContent =
87
- Platform.StringUtilities.sprintf('@font-face { font-family: "%s"; src: url(%s); }', uniqueFontName, url);
88
- this.updateFontPreviewSize();
89
- }
90
-
91
- private createContentIfNeeded(): void {
92
- if (this.fontPreviewElement) {
127
+ #loadContentIfNeeded(): void {
128
+ if (this.#contentLoaded) {
93
129
  return;
94
130
  }
131
+ this.#contentLoaded = true;
95
132
 
96
- const uniqueFontName = `WebInspectorFontPreview${++fontId}`;
97
- this.fontStyleElement = document.createElement('style');
133
+ this.#fontFamily = `WebInspectorFontPreview${++fontId}`;
98
134
  void this.contentProvider.requestContentData().then(contentData => {
99
- this.onFontContentLoaded(uniqueFontName, contentData);
135
+ const url = TextUtils.ContentData.ContentData.isError(contentData) ? this.url : contentData.asDataUrl();
136
+ this.#fontFaceRule =
137
+ Platform.StringUtilities.sprintf('@font-face { font-family: "%s"; src: url(%s); }', this.#fontFamily, url);
138
+ this.#previewVisible = true;
139
+ this.requestUpdate();
100
140
  });
101
- this.element.appendChild(this.fontStyleElement);
102
-
103
- const fontPreview = document.createElement('div');
104
- for (let i = 0; i < FONT_PREVIEW_LINES.length; ++i) {
105
- if (i > 0) {
106
- fontPreview.createChild('br');
107
- }
108
- UI.UIUtils.createTextChild(fontPreview, FONT_PREVIEW_LINES[i]);
109
- }
110
- this.fontPreviewElement = (fontPreview.cloneNode(true) as HTMLDivElement);
111
- if (!this.fontPreviewElement) {
112
- return;
113
- }
114
- UI.ARIAUtils.setHidden(this.fontPreviewElement, true);
115
- this.fontPreviewElement.style.overflow = 'hidden';
116
- this.fontPreviewElement.style.setProperty('font-family', uniqueFontName);
117
- this.fontPreviewElement.style.setProperty('visibility', 'hidden');
118
-
119
- this.dummyElement = fontPreview;
120
- this.dummyElement.style.visibility = 'hidden';
121
- this.dummyElement.style.zIndex = '-1';
122
- this.dummyElement.style.display = 'inline';
123
- this.dummyElement.style.position = 'absolute';
124
- this.dummyElement.style.setProperty('font-family', uniqueFontName);
125
- this.dummyElement.style.setProperty('font-size', MEASUURE_FONT_SIZE + 'px');
126
-
127
- this.element.appendChild(this.fontPreviewElement);
128
141
  }
129
142
 
130
143
  override wasShown(): void {
131
144
  super.wasShown();
132
- this.createContentIfNeeded();
133
-
134
- this.updateFontPreviewSize();
145
+ this.#loadContentIfNeeded();
146
+ this.requestUpdate();
135
147
  }
136
148
 
137
149
  override onResize(): void {
138
- if (this.inResize) {
139
- return;
140
- }
141
-
142
- this.inResize = true;
143
- try {
144
- this.updateFontPreviewSize();
145
- } finally {
146
- this.inResize = null;
147
- }
150
+ this.requestUpdate();
148
151
  }
149
152
 
150
- private measureElement(): {
153
+ #calculateFontPreviewSize(dimension: {
151
154
  width: number,
152
155
  height: number,
153
- } {
154
- if (!this.dummyElement) {
155
- throw new Error('No font preview loaded');
156
+ }): string {
157
+ if (!this.#previewVisible || !this.isShowing()) {
158
+ return '';
156
159
  }
157
- this.element.appendChild(this.dummyElement);
158
- const result = {width: this.dummyElement.offsetWidth, height: this.dummyElement.offsetHeight};
159
- this.element.removeChild(this.dummyElement);
160
-
161
- return result;
162
- }
163
-
164
- updateFontPreviewSize(): void {
165
- if (!this.fontPreviewElement || !this.isShowing()) {
166
- return;
167
- }
168
-
169
- this.fontPreviewElement.style.removeProperty('visibility');
170
- const dimension = this.measureElement();
171
160
 
172
161
  const height = dimension.height;
173
162
  const width = dimension.width;
@@ -177,18 +166,42 @@ export class FontView extends UI.View.SimpleView {
177
166
  const containerHeight = this.element.offsetHeight - 30;
178
167
 
179
168
  if (!height || !width || !containerWidth || !containerHeight) {
180
- this.fontPreviewElement.style.removeProperty('font-size');
181
- return;
169
+ return '';
182
170
  }
183
171
 
184
172
  const widthRatio = containerWidth / width;
185
173
  const heightRatio = containerHeight / height;
186
- const finalFontSize = Math.floor(MEASUURE_FONT_SIZE * Math.min(widthRatio, heightRatio)) - 2;
174
+ const finalFontSize = Math.floor(MEASURE_FONT_SIZE * Math.min(widthRatio, heightRatio)) - 2;
187
175
 
188
- this.fontPreviewElement.style.setProperty('font-size', finalFontSize + 'px', undefined);
176
+ return `${finalFontSize}px`;
177
+ }
178
+
179
+ override performUpdate(): void {
180
+ const output: ViewOutput = {};
181
+ this.#view(
182
+ {
183
+ url: this.url,
184
+ fontFaceRule: this.#fontFaceRule,
185
+ fontFamily: this.#fontFamily,
186
+ previewFontSize: this.#previewFontSize,
187
+ previewVisible: this.#previewVisible,
188
+ },
189
+ output,
190
+ this.contentElement,
191
+ );
192
+
193
+ if (!output.measureDimensions) {
194
+ return;
195
+ }
196
+
197
+ const requestedFontSize = this.#calculateFontPreviewSize(output.measureDimensions());
198
+ if (requestedFontSize === this.#previewFontSize) {
199
+ return;
200
+ }
201
+
202
+ this.#previewFontSize = requestedFontSize;
203
+ this.requestUpdate();
189
204
  }
190
205
  }
191
206
 
192
207
  let fontId = 0;
193
- const FONT_PREVIEW_LINES = ['ABCDEFGHIJKLM', 'NOPQRSTUVWXYZ', 'abcdefghijklm', 'nopqrstuvwxyz', '1234567890'];
194
- const MEASUURE_FONT_SIZE = 50;
@@ -65,20 +65,20 @@ const UIStrings = {
65
65
  */
66
66
  doYouTrustThisCode: 'Do you trust this code?',
67
67
  /**
68
- * @description Warning shown to users when pasting text/code into DevTools.
68
+ * @description Warning shown to users when pasting text/code into DevTools. IMPORTANT: keep double quotes around PH1 and do not use single quotes.
69
69
  * @example {allow pasting} PH1
70
70
  */
71
71
  doNotPaste:
72
- 'Don\'t paste code you do not understand or have not reviewed yourself into DevTools. This could allow attackers to steal your identity or take control of your computer. Please type \'\'{PH1}\'\' below to allow pasting.',
72
+ 'Don\'t paste code you do not understand or have not reviewed yourself into DevTools. This could allow attackers to steal your identity or take control of your computer. Please type {PH1} below to allow pasting.',
73
73
  /**
74
74
  * @description Text a user needs to type in order to confirm that they are aware of the danger of pasting code into the DevTools console.
75
75
  */
76
76
  allowPasting: 'allow pasting',
77
77
  /**
78
- * @description Input box placeholder which instructs the user to type 'allow pasting' into the input box.
78
+ * @description Input box placeholder which instructs the user to type 'allow pasting' into the input box. IMPORTANT: keep double quotes around PH1 and do not use single quotes.
79
79
  * @example {allow pasting} PH1
80
80
  */
81
- typeAllowPasting: 'Type \'\'{PH1}\'\'',
81
+ typeAllowPasting: 'Type {PH1}',
82
82
  /**
83
83
  * @description Error message shown when the user tries to open a file that contains non-readable data. "Editor" refers to
84
84
  * a text editor.
@@ -345,6 +345,9 @@ export const knownContextValues = new Set([
345
345
  'ai-assistance-history-images',
346
346
  'ai-assistance-patching-fre-completed',
347
347
  'ai-assistance-patching-selected-project-id',
348
+ 'ai-assistance-v2-opt-in-change-dialog-seen',
349
+ 'ai-assistance-v2-opt-in.got-it',
350
+ 'ai-assistance-v2-opt-in.manage-settings',
348
351
  'ai-code-completion-citations',
349
352
  'ai-code-completion-citations.citation-link',
350
353
  'ai-code-completion-disclaimer',
@@ -366,6 +369,7 @@ export const knownContextValues = new Set([
366
369
  'ai-export-for-agents.save-as-markdown',
367
370
  'ai-hide-walkthrough-sidebar',
368
371
  'ai-show-walkthrough-sidebar',
372
+ 'ai-v2-opt-in-change-dialog',
369
373
  'ai_assistance',
370
374
  'align-content',
371
375
  'align-content-center',
@@ -1046,6 +1050,7 @@ export const knownContextValues = new Set([
1046
1050
  'copy-visible-styled-selection',
1047
1051
  'copy-watch-expression-value',
1048
1052
  'copy-xpath',
1053
+ 'core-web-vitals',
1049
1054
  'corner-block-end-shape',
1050
1055
  'corner-block-start-shape',
1051
1056
  'corner-bottom-left-shape',
@@ -1104,6 +1109,7 @@ export const knownContextValues = new Set([
1104
1109
  'css',
1105
1110
  'css-angle',
1106
1111
  'css-animation-name',
1112
+ 'css-animations-only-when-animations-tab-open',
1107
1113
  'css-font-palette',
1108
1114
  'css-function',
1109
1115
  'css-layers',
@@ -1358,6 +1364,7 @@ export const knownContextValues = new Set([
1358
1364
  'dom-node-inserted-into-document',
1359
1365
  'dom-node-removed',
1360
1366
  'dom-node-removed-from-document',
1367
+ 'dom-snapshot',
1361
1368
  'dom-subtree-modified',
1362
1369
  'dom-window.close',
1363
1370
  'dom-word-wrap',
@@ -1809,6 +1816,7 @@ export const knownContextValues = new Set([
1809
1816
  'greendev',
1810
1817
  'greendev-ai-annotations-enabled',
1811
1818
  'greendev-artifact-viewer-enabled',
1819
+ 'greendev-beyond-styling-enabled',
1812
1820
  'greendev-breakpoint-debugger-agent-enabled',
1813
1821
  'greendev-copy-to-gemini-enabled',
1814
1822
  'greendev-emulation-capabilities-enabled',
@@ -2242,6 +2250,7 @@ export const knownContextValues = new Set([
2242
2250
  'layout',
2243
2251
  'layout-count',
2244
2252
  'layout-shifts',
2253
+ 'lcp-breakdown',
2245
2254
  'learn-more',
2246
2255
  'learn-more.ai-annotations',
2247
2256
  'learn-more.ai-assistance',
@@ -2969,6 +2978,7 @@ export const knownContextValues = new Set([
2969
2978
  'performance-full-default',
2970
2979
  'performance-insights',
2971
2980
  'performance-insights-default',
2981
+ 'performance-trace',
2972
2982
  'performance.history-item',
2973
2983
  'performance.monitor',
2974
2984
  'performance.sidebar-insights-category-select',
@@ -3956,6 +3966,7 @@ export const knownContextValues = new Set([
3956
3966
  'timeline-overview',
3957
3967
  'timeline-persisted-main-flamechart-track-config',
3958
3968
  'timeline-persisted-network-flamechart-track-config',
3969
+ 'timeline-range-summary',
3959
3970
  'timeline-save-as-gz',
3960
3971
  'timeline-scope',
3961
3972
  'timeline-settings-pane',
@@ -4307,6 +4318,8 @@ export const knownContextValues = new Set([
4307
4318
  'vw',
4308
4319
  'waiting',
4309
4320
  'waiting-entry-inspect',
4321
+ 'walkthrough',
4322
+ 'walkthrough-container',
4310
4323
  'warning',
4311
4324
  'wasm',
4312
4325
  'wasm-auto-stepping',
package/package.json CHANGED
@@ -89,7 +89,7 @@
89
89
  "svgo": "3.3.2",
90
90
  "terser": "5.44.1",
91
91
  "ts-lit-plugin": "2.0.2",
92
- "typescript": "5.9.3",
92
+ "typescript": "6.0.2",
93
93
  "typescript-eslint": "8.58.0",
94
94
  "uuid": "13.0.0",
95
95
  "webidl2": "24.5.0",
@@ -104,5 +104,5 @@
104
104
  "flat-cache": "6.1.12"
105
105
  }
106
106
  },
107
- "version": "1.0.1611825"
107
+ "version": "1.0.1613625"
108
108
  }