-
Notifications
You must be signed in to change notification settings - Fork 9.4k
/
Copy pathlighthouse-result.proto
749 lines (580 loc) · 26.1 KB
/
lighthouse-result.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
syntax = "proto3";
package googlechrome.lighthouse;
// This comment required for Lightrider import compatibility # header
import "google/protobuf/struct.proto";
import "google/protobuf/timestamp.proto";
import "google/protobuf/wrappers.proto";
// This comment required for LightRider import compatibility # suffix
// Canonical list of errors created by Lighthouse.
enum LighthouseError {
// No error in Lighthouse; the results are reliable.
NO_ERROR = 0;
// An uncategorized error occurred, likely a JavaScript exception.
UNKNOWN_ERROR = 1;
// The trace did not contain any screenshot events.
NO_SPEEDLINE_FRAMES = 2;
// No visual change between the beginning and end of load.
SPEEDINDEX_OF_ZERO = 3;
// The trace did not contain any screenshot events.
NO_SCREENSHOTS = 4;
// The computed speedindex results are non-finite.
INVALID_SPEEDLINE = 5;
// The trace did not contain a TracingStartedInPage event.
NO_TRACING_STARTED = 6;
// The trace did not contain a navigationStart event.
NO_NAVSTART = 7;
// The trace did not contain a firstContentfulPaint event.
NO_FCP = 8;
// The trace did not contain a domContentLoaded event.
NO_DCL = 9;
// No network request could be identified as the primary HTML document.
NO_DOCUMENT_REQUEST = 10;
// The HTML document's network request failed due to Chrome-internal reasons
// (canceled, blocked, etc).
FAILED_DOCUMENT_REQUEST = 11;
// The HTML document's network request completed, but returned an HTTP status
// code of 4xx or 5xx.
ERRORED_DOCUMENT_REQUEST = 12;
// Chromium's tracing controller did not manage to begin tracing across
// processes. Typically fixed by restarting Chromium.
TRACING_ALREADY_STARTED = 13;
// The trace data wasn't parsed correctly.
PARSING_PROBLEM = 14;
// The trace data failed to stream over the protocol.
READ_FAILED = 15;
// Used when security error prevents page load.
INSECURE_DOCUMENT_REQUEST = 16;
// Used when protocol command times out.
PROTOCOL_TIMEOUT = 17;
// Used when the page is not responding after maxWaitForLoad.
PAGE_HUNG = 18;
// DNS failure on main document (no resolution, timed out, etc)
DNS_FAILURE = 19;
// A timeout in the initial connection to the debugger protocol.
CRI_TIMEOUT = 20;
// The page requested was not HTML.
NOT_HTML = 21;
// The trace did not contain a ResourceSendRequest event.
NO_RESOURCE_REQUEST = 22;
// Used when any Chrome interstitial error prevents page load.
CHROME_INTERSTITIAL_ERROR = 23;
// The page has crashed and will no longer respond to 99% of CDP commmands.
TARGET_CRASHED = 24;
}
// The overarching Lighthouse Response object (LHR)
// https://github.com/GoogleChrome/lighthouse/blob/main/types/lhr.d.ts
message LighthouseResult {
// The timestamp of when the results were generated.
google.protobuf.Timestamp fetch_time = 1;
// The url requested to lightrider.
string requested_url = 2;
// The final analyzed URL, differs from requested_url when there were
// redirects.
string final_url = 3;
// The version of Lighthouse with which these results were generated.
string lighthouse_version = 4;
// Message containing environment configuration for a LH run
message Environment {
// The user agent that was used by the network
string network_user_agent = 1;
// The user agent used by the host
string host_user_agent = 2;
// The benchmark index that indicates rough device class
google.protobuf.DoubleValue benchmark_index = 3;
// The version of libraries with which these results were generated. Ex:
// axe-core.
map<string, string> credits = 4;
}
// The environment that the audit was run in
Environment environment = 5;
// The user agent that was used to run the audit
string user_agent = 6;
// Any top level warnings that this run encountered
// default is [] hence ListValue
google.protobuf.ListValue run_warnings = 7;
// Message containing a runtime error config
message RuntimeError {
// The text repr of the error type
LighthouseError code = 1;
// The error explanitory message
string message = 2;
}
// A runtime error that was encountered during the run
RuntimeError runtime_error = 8;
// A map containing the results of the audits, keyed by audit id. Audits may
// be referenced within more than one category.
map<string, AuditResult> audits = 9;
// A map containing the categories of audits, keyed by category id.
map<string, LhrCategory> categories = 10;
// A map containing groups that categories can belong to, keyed by group id
map<string, CategoryGroup> category_groups = 11;
// Message containing the configuration settings for the LH run
// Next ID: 11
message ConfigSettings {
// The possible form factors an audit can be run in.
// This enum served the emulated_form_factor field, but in v7, that field
// was deprecated. Meanwhile in v7, the form_factor field was added and has
// a mobile/desktop enum, so we simplify reuse, minus the `none` option.
// See
// https://github.com/GoogleChrome/lighthouse/blob/main/docs/emulation.md#changes-made-in-v7
enum EmulatedFormFactor {
UNKNOWN_FORM_FACTOR = 0;
mobile = 1;
desktop = 2;
none = 3 [deprecated = true];
}
// Removed in v7. Do not use.
EmulatedFormFactor emulated_form_factor = 1 [deprecated = true];
// How Lighthouse should interpret this run in regards to scoring
// performance metrics and skipping mobile-only tests in desktop.
EmulatedFormFactor form_factor = 5;
// The locale that was active during the audit
string locale = 2;
// List of the categories that were run, empty if all were run
// nullable list of strings
google.protobuf.Value only_categories = 3;
// How Lighthouse was run, e.g. from the Chrome extension or from the npm
// module
string channel = 4;
// Next ID: 7
message ThrottlingSettings {
// The round trip time in milliseconds.
double rtt_ms = 1;
// The network throughput in kilobits per second.
double throughput_kbps = 2;
// The network request latency in milliseconds.
double request_latency_ms = 3;
// The network download throughput in kilobits per second.
double download_throughput_kbps = 4;
// The network upload throughput in kilobits per second.
double upload_throughput_kbps = 5;
// The amount of slowdown applied to the cpu (1/<cpuSlowdownMultiplier>).
double cpu_slowdown_multiplier = 6;
}
// The throttling config settings.
ThrottlingSettings throttling = 7;
// The method used to throttle the network.
string throttling_method = 8;
message ScreenEmulation {
// Overriding width value in pixels (minimum 0, maximum 10000000). 0
// disables the override.
double width = 1;
// Overriding height value in pixels (minimum 0, maximum 10000000). 0
// disables the override.
double height = 2;
// Overriding device scale factor value. 0 disables the override.
double deviceScaleFactor = 3;
// Whether to emulate mobile device. This includes viewport meta tag,
// overlay scrollbars, text autosizing and more.
bool mobile = 4;
// Whether screen emulation is disabled. If true, the other emulation
// settings are ignored.
bool disabled = 5;
}
// Screen emulation properties (width, height, dpr, mobile viewport) to
// apply or an object of `{disabled: true}` if Lighthouse should avoid
// applying screen emulation. If either emulation is applied outside of
// Lighthouse, or it's being run on a mobile device, it typically should be
// set to disabled. For desktop, we recommend applying consistent desktop
// screen emulation.
ScreenEmulation screen_emulation = 9;
// Indicating whether Lighthouse should ignore status codes.
bool ignore_status_code = 10;
}
// The settings that were used to run this audit
ConfigSettings config_settings = 12;
// i18n info in version 1 message format
I18n i18n = 13;
// Message containing the performance timing data for the Lighthouse run
message Timing {
// Corresponds to:
// https://www.w3.org/TR/performance-timeline-2/#dom-performanceentry
message PerformanceEntry {
string name = 1;
string entry_type = 2;
google.protobuf.DoubleValue start_time = 3;
google.protobuf.DoubleValue duration = 4;
// Whether timing entry was collected during artifact gathering.
bool gather = 5;
}
// The total duration of Lighthouse's run
google.protobuf.DoubleValue total = 1;
// Corresponds to:
// https://www.w3.org/TR/performance-timeline-2/#idl-def-performanceentrylist
repeated PerformanceEntry entries = 2;
}
// The performance timing data for the Lighthouse run
Timing timing = 14;
// The Stack Pack data used by audits in this run.
repeated StackPack stack_packs = 15;
// Gather mode used to collect artifacts.
string gather_mode = 16;
// URL of the main document request of the final navigation.
string main_document_url = 17;
// URL displayed on the page after Lighthouse finishes.
string final_displayed_url = 18;
// Screenshot data of the full page, along with node rects relevant to the
// audit results.
google.protobuf.Value full_page_screenshot = 19;
// Entity classification data.
repeated LhrEntity entities = 20;
}
// Message containing a category
message CategoryGroup {
// The human readable title of the group
string title = 1;
// The description of what the category is grouping
string description = 2;
}
// Message containing a category of audits and their combined weighted score.
message LhrCategory {
// the internal id of the category
string id = 1;
// The human-friendly name of the category.
string title = 2;
// A description of what this category is about (e.g. these help you validate
// your seo).
string description = 3;
// The overall score of the category, the weighted average of all its audits,
// from 0-1.
// This value is nullable, so is a `Value` type
google.protobuf.Value score = 4;
// An description for manual audits within this category.
string manual_description = 5;
// A Category's reference to an AuditResult, with a weight for category
// scoring.
message AuditRef {
// Matches a key in the top-level `audits` map.
string id = 1;
// The weight of the audit's score in the overall category score.
google.protobuf.DoubleValue weight = 2;
// The category group that the audit belongs to.
string group = 3;
// The conventional acronym for the audit/metric.
string acronym = 4;
// Any audit IDs closely relevant to this one.
repeated string relevant_audits = 5;
}
// References to all the audit members and their weight in this category.
repeated AuditRef audit_refs = 6;
// List of gather modes this category is available in.
repeated string supported_modes = 7;
}
// The ways an audit score should be interpreted:
enum ScoreDisplayMode {
// Unknown mode. This should not be used.
SCORE_DISPLAY_MODE_UNSPECIFIED = 0;
// Pass/fail audit (0 and 1 are the only possible scores).
binary = 1;
// Scores of 0-1, inclusive.
numeric = 2;
// Audit result score is determined by the metric savings and product score.
// 1 - audit passed
// 0.5 - audit failed and had no metric savings
// 0 - audit failed and had metric savings
metricSavings = 8;
// The audit is an FYI only, and can't be interpreted as pass/fail. Score is
// NaN and should be ignored.
informative = 3;
// The audit turned out to not apply to the page. Score is NaN and should be
// ignored.
not_applicable = 4;
notApplicable = 7;
// The audit exists only to tell you to review something yourself. Score is
// NaN and should be ignored
manual = 5;
// There was an error while running the audit (check `error_message` for
// details). Score is NaN and should be ignored.
error = 6;
}
// Message containing the result of an individual Lighthouse audit.
message AuditResult {
// The internal audit id
string id = 1;
// A brief description of the audit. The text can change depending on if the
// audit passed or failed.
string title = 2;
// A more detailed description that describes why the audit is important and
// links to Lighthouse documentation on the audit; markdown links supported.
string description = 3;
// The scored value determined by the audit, in the range `0-1`, or NaN if
// `score_display_mode` indicates not scored.
// This value is nullable, so is a `Value` type
google.protobuf.Value score = 4;
// The mode for how the score should be interpreted.
ScoreDisplayMode score_display_mode = 5;
// The human readable value that is displayed as the audit's result
string display_value = 6;
// An explanation of audit-related issues encountered on the test page.
string explanation = 7;
// Error message from any exception thrown while running this audit.
string error_message = 8;
// Extra information provided by some types of audits. Given as an arbitrary
// object.
google.protobuf.Struct details = 9;
// List of warnings associated with this audit
// type of `Value` since this can be null
google.protobuf.Value warnings = 10;
// A numeric value that has a meaning specific to the audit, e.g. the number
// of nodes in the DOM or the timestamp of a specific load event. More
// information can be found in the audit details, if present.
google.protobuf.DoubleValue numeric_value = 11;
// The unit of the numeric_value field. Used to format the numeric value for
// display.
string numeric_unit = 12;
// Stacktrace of error, if any occurred while processing the audit.
string errorStack = 13;
// Message containing the audit's MetricSavings.
message MetricSavings {
// Optional numeric value representing the audit's savings for the LCP
// metric.
optional google.protobuf.DoubleValue LCP = 1;
// Optional numeric value representing the audit's savings for the FCP
// metric.
optional google.protobuf.DoubleValue FCP = 2;
// Optional numeric value representing the audit's savings for the CLS
// metric.
optional google.protobuf.DoubleValue CLS = 3;
// Optional numeric value representing the audit's savings for the TBT
// metric.
optional google.protobuf.DoubleValue TBT = 4;
// Optional numeric value representing the audit's savings for the INP
// metric.
optional google.protobuf.DoubleValue INP = 5;
}
// The audit's MetricSavings.
MetricSavings metricSavings = 14;
// Message containing ScoringOptions.
message ScoringOptions {
// Scoring option's p10.
google.protobuf.DoubleValue p10 = 1;
// Scoring option's median.
google.protobuf.DoubleValue median = 2;
}
// The audit's ScoringOption.
ScoringOptions scoringOptions = 15;
// An audit's guidance level.
google.protobuf.DoubleValue guidanceLevel = 16;
}
// Message containing the i18n data for the LHR - Version 1
message I18n {
// Message holding the formatted strings used in the renderer
message RendererFormattedStrings {
// The disclaimer shown below a performance metric value
string variance_disclaimer = 1;
// The heading for the estimated page load savings opportunity of an audit
string opportunity_resource_column_label = 2;
// The heading for the estimated page load savings of opportunitu audits
string opportunity_savings_column_label = 3;
// The error string shown next to an erroring audit
string error_missing_audit_info = 4;
// The label shown next to an audit or metric that has had an error
string error_label = 5;
// The label shown above a bulleted list of warnings
string warning_header = 6;
// The tooltip text on an expandable chevron icon
string audit_group_expand_tooltip = 7;
// The heading that is shown above a list of audits that are passing
string passed_audits_group_title = 8;
// The heading shown above a list of audits that do not apply to a page
string not_applicable_audits_group_title = 9;
// The heading shown above a list of audits that were not computerd in the
// run
string manual_audits_group_title = 10;
// The label shown preceding important warnings that may have invalidated an
// entire report
string toplevel_warnings_message = 11;
// The label that explains the score gauges scale (0-49, 50-89, 90-100)
string scorescale_label = 12;
// The label for values shown in the summary of critical request chains
string crc_longest_duration_label = 13;
// The label for the initial request in a critical request chain
string crc_initial_navigation = 14;
// The disclaimer shown under performance explaining that the network can
// vary
string ls_performance_category_description = 15;
// The title of the lab data performance category
string lab_data_title = 16;
// The heading that is shown above a list of audits that have warnings
string warning_audits_group_title = 17;
// The label for the button to show all lines of a snippet
string snippet_expand_button_label = 18;
// The label for the button to show only a few lines of a snippet
string snippet_collapse_button_label = 19;
// This label is for a filter checkbox above a table of items
string third_party_resources_label = 20;
// Descriptive explanation for emulation setting when emulating a generic
// desktop form factor, as opposed to a mobile-device like form factor.
string runtime_desktop_emulation = 21;
// Descriptive explanation for emulation setting when emulating a Nexus 5X
// mobile device.
string runtime_mobile_emulation = 22;
// Descriptive explanation for emulation setting when no device emulation is
// set.
string runtime_no_emulation = 23;
// Label for a row in a table that shows the estimated CPU power of the
// machine running Lighthouse. Example row values: 532, 1492, 783.
string runtime_settings_benchmark = 24;
// Label for a row in a table that describes the CPU throttling conditions
// that were used during a Lighthouse run, if any.
string runtime_settings_CPU_throttling = 25;
// Label for a row in a table that describes the kind of device that was
// emulated for the Lighthouse run. Example values for row elements: 'No
// Emulation', 'Emulated Desktop', etc.
string runtime_settings_device = 26;
// Label for a row in a table that shows the time at which a Lighthouse run
// was conducted; formatted as a timestamp, e.g. Jan 1, 1970 12:00 AM UTC.
string runtime_settings_fetch_time = 27 [deprecated = true];
// Label for a row in a table that describes the network throttling
// conditions that were used during a Lighthouse run, if any.
string runtime_settings_network_throttling = 28;
// Title of the Runtime settings table in a Lighthouse report. Runtime
// settings are the environment configurations that a specific report used
// at auditing time.
string runtime_settings_title = 29 [deprecated = true];
// Label for a row in a table that shows the User Agent that was detected on
// the Host machine that ran Lighthouse.
string runtime_settings_UA = 30 [deprecated = true];
// Label for a row in a table that shows the User Agent that was used to
// send out all network requests during the Lighthouse run.
string runtime_settings_UA_network = 31;
// Label for a row in a table that shows the URL that was audited during a
// Lighthouse run.
string runtime_settings_Url = 32 [deprecated = true];
// Descriptive explanation for a runtime setting that is set to an unknown
// value.
string runtime_unknown = 33;
// Option in a dropdown menu that copies the Lighthouse JSON object to the
// system clipboard.
string dropdown_copy_JSON = 34;
// Option in a dropdown menu that toggles the themeing of the report between
// Light(default) and Dark themes.
string dropdown_dark_theme = 35;
// Option in a dropdown menu that opens a full Lighthouse report in a print
// dialog.
string dropdown_print_expanded = 36;
// Option in a dropdown menu that opens a small, summary report in a print
// dialog.
string dropdown_print_summary = 37;
// Option in a dropdown menu that saves the current report as a new GitHub
// Gist.
string dropdown_save_gist = 38;
// Option in a dropdown menu that saves the Lighthouse report HTML locally
// to the system as a '.html' file.
string dropdown_save_HTML = 39;
// Option in a dropdown menu that saves the Lighthouse JSON object to the
// local system as a '.json' file.
string dropdown_save_JSON = 40;
// Option in a dropdown menu that opens the current report in the Lighthouse
// Viewer Application.
string dropdown_viewer = 41;
// Label for button to create an issue against the Lighthouse GitHub
// project.
string footer_issue = 42;
// Descriptive explanation for environment throttling that was provided by
// the runtime environment instead of provided by Lighthouse throttling.
string throttling_provided = 43;
// Label for a row in a table that shows in what tool Lighthouse is being
// run (e.g. The lighthouse CLI, Chrome DevTools, Lightrider, WebPageTest,
// etc).
string runtime_settings_channel = 44 [deprecated = true];
// Text link pointing to the Lighthouse scoring calculator. This link
// immediately follows a sentence stating the performance score is
// calculated from the perf metrics.
string calculator_link = 45;
// Label for a row in a table that shows the version of the Axe library used
string runtime_settings_axe_version = 46;
// Label for a button that opens the Treemap App
string view_treemap_label = 47;
// Label preceding a radio control for filtering the list of audits. The
// radio choices are various performance metrics (FCP, LCP, TBT), and if
// chosen, the audits in the report are hidden if they are not relevant to
// the selected metric.
string show_relevant_audits = 48;
// Descriptive label that this analysis run was from a single pageload
// of a browser (not a summary of hundreds of loads)
string runtime_single_load = 49;
// Descriptive explanation that this analysis run was from a single pageload
// of a browser, whereas field data often summarizes hundreds+ of page loads
string runtime_single_load_tooltip = 50;
// Descriptive label that this analysis only considers the initial load of
// the page, and no interaction beyond when the page had "fully loaded"
string runtime_analysis_window = 51;
// Label for an interactive control that will reveal or hide a group of
// content. This control toggles between the text 'Show' and 'Hide'.
string show = 52;
// Label for an interactive control that will reveal or hide a group of
// content. This control toggles between the text 'Show' and 'Hide'.
string hide = 53;
// Label for an interactive control that will reveal or hide a group of
// content. This control toggles between the text 'Expand view' and
// 'Collapse view'.
string expand_view = 54;
// Label for an interactive control that will reveal or hide a group of
// content. This control toggles between the text 'Expand view' and
// 'Collapse view'.
string collapse_view = 55;
// Label indicating that Lighthouse throttled the page to emulate a slow 4G
// network connection.
string runtime_slow_4g = 56;
// Label indicating that Lighthouse throttled the page using custom
// throttling settings.
string runtime_custom = 57;
// This label is for a button that will show the user a trace of the page.
string view_trace_label = 58;
// This label is for a button that will show the user a trace of the page.
string view_original_trace_label = 59 [deprecated = true];
// Label for a row in a table that shows the screen emulation used
string runtime_settings_screen_emulation = 60;
// Label for a row decorative chip indiciating entity is first-party.
string first_party_chip_label = 61;
// Label for a link tooltip indicating that it will be opened in a new tab
// of the browser.
string open_in_a_new_tab_tooltip = 62;
// Label for a generic category for all resources that could not be
// attributed against a 1st or 3rd party entity.
string unattributable = 63;
// This label is for a button that will show the user a trace of the page.
string dropdown_view_unthrottled_trace = 64;
// Descriptive label that this analysis considers some arbitrary period of
// time containing user interactions
string runtime_analysis_window_timespan = 65;
// Descriptive label that this analysis considers a snapshot of the page at
// a single point in time
string runtime_analysis_window_snapshot = 66;
// Message for PWA deprecation.
string pwa_removal_message = 67;
}
// The message holding all formatted strings used in the renderer.
RendererFormattedStrings renderer_formatted_strings = 1;
// Holds all message paths used. The locale of the report has already be used
// to translated the strings in this LighthouseResult, but this field can be
// used to translate into another language.
map<string, google.protobuf.ListValue> icu_message_paths = 2;
}
// Message containing Stack Pack information.
message StackPack {
// The human readable id of the Stack Pack.
string id = 1;
// The user facing title of the Stack Pack.
string title = 2;
// The icon as a data url.
string icon_data_URL = 3;
// Map of audit-ids to Stack Pack descriptions.
map<string, string> descriptions = 4;
}
// Message containing an Entity.
message LhrEntity {
// Name of the entity.
string name = 1;
// An optional homepage URL of the entity.
optional string homepage = 2;
// An optional category name for the entity.
optional string category = 3;
// An optional flag indicating if the entity is the first party.
optional bool is_first_party = 4;
// An optional flag indicating if the entity is not recognized.
optional bool is_unrecognized = 5;
// A list of URL origin strings that belong to this entity.
repeated string origins = 6;
}