File: product_specifications.proto

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (168 lines) | stat: -rw-r--r-- 6,117 bytes parent folder | download | duplicates (5)
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
// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

edition = "2023";

package optimization_guide.proto;

import "components/optimization_guide/proto/features/common_quality_data.proto";

option optimize_for = LITE_RUNTIME;
option java_package = "org.chromium.components.optimization_guide.features.proto";

option java_outer_classname = "ProductSpecificationsProto";

// DO NOT EDIT THIS FILE DIRECTLY!
//
// This file is generated in g3 and then synced to Chrome. Instead, please refer to
// http://go/chrome-mqls-onboarding (Google-internal link), and then changes will
// be synced with Chrome automatically.

// Protos for the AiData representing the Product Specifications inference flow.
// Please note that this feature doesn't not use MES so there is no proto for
// request and response. Part of the model request and response are stored in
// the quality proto by Chrome client.

message ProductSpecificationsLoggingData {
  ProductSpecificationsQuality quality = 3 [features = { field_presence: EXPLICIT }];
}

// Data logged for each Product Specifications table by client.
// Next ID: 5
message ProductSpecificationsQuality {
  // The identifiers of the products that user is requesting product
  // specifications for.
  repeated ProductIdentifier product_identifiers = 1;

  // The product specifications data returned from server that is used to render
  // the product specifications table.
  ProductSpecificationData product_specification_data = 2 [features = { field_presence: EXPLICIT }];

  // Whether the user thumbs upped or downed the Product Specifications table.
  UserFeedback user_feedback = 3 [features = { field_presence: EXPLICIT }];

  // ID of the product specifications table. This is generated by the client and
  // is used to identify log entries from the same product specifications table.
  string table_id = 4 [features = { field_presence: EXPLICIT }];
}

// Information needed to identify a product.
// Next ID: 3
message ProductIdentifier {
  // The GPC ID of the product.
  uint64 gpc_id = 1 [features = { field_presence: EXPLICIT }];

  // The URL of the product.
  string product_url = 2 [features = { field_presence: EXPLICIT }];
}

// Next ID: 3
message ProductSpecificationData {
  // List of specification section titles and their associated keys.
  repeated ProductSpecificationSection product_specification_sections = 1;

  // List of ProductSpecifications.
  repeated ProductSpecification product_specifications = 2;
}

// Next ID: 3
message ProductSpecificationSection {
  // Key identifying the section.
  string key = 1 [features = { field_presence: EXPLICIT }];

  // Title of the section.
  string title = 2 [features = { field_presence: EXPLICIT }];
}

// Product metadata and per-product specifications.
// Next ID: 7
message ProductSpecification {
  // Available identifier of the product specification.
  ProductSpecificationIdentifiers identifiers = 1 [features = { field_presence: EXPLICIT }];

  // Title of the product.
  string title = 2 [features = { field_presence: EXPLICIT }];

  // Image URL for the product thumbnail.
  string image_url = 3 [features = { field_presence: EXPLICIT }];

  // List of product specification values.
  repeated ProductSpecificationValue product_specification_values = 4;

  // Generated summary description for the product.
  repeated DescriptionText summary_description = 5;

  // URL of the buying options page for the product.
  string buying_options_url = 6 [features = { field_presence: EXPLICIT }];
}

// Can contain any available identifiers for the product specification.
// Next ID: 3
message ProductSpecificationIdentifiers {
  // Global Product Cluster ID.
  uint64 gpc_id = 1 [features = { field_presence: EXPLICIT }];

  // KG entity identifier (mid).
  string mid = 2 [features = { field_presence: EXPLICIT }];
}

// Product specifications grouped into a Key-Factor with an optional summary.
// Next ID: 4
message ProductSpecificationValue {
  // Key identifying the associated section.
  string key = 1 [features = { field_presence: EXPLICIT }];

  // List of specification descriptions. Preferred over "descriptions".
  repeated ProductSpecificationDescription specification_descriptions = 2;

  // Summary description across entire Key-Factor. Preferred over "summary".
  repeated DescriptionText summary_description = 3;
}

// Descriptive text and associated metadata for a product specification value.
// Next ID: 5
message ProductSpecificationDescription {
  repeated Option options = 1;

  // Optional associated label or title for the text.
  string label = 2 [features = { field_presence: EXPLICIT }];

  // Optional alternative text with additional context for this description.
  string alternative_text = 3 [features = { field_presence: EXPLICIT }];

  // Associated attribute ID of the descriptive text.
  string attribute_id = 4 [features = { field_presence: EXPLICIT }];

  // Products can have several options available for an attribute.
  // Examples are: Color, Installed Memory, Drive Capacity, Screen Size, etc.
  message Option {
    // Description texts for this product option. Multiple texts may be present.
    // Substrings may have different citation URLs but these are typically 1:1.
    repeated DescriptionText description = 1;
  }
}

// Next ID: 3
message DescriptionText {
  // Text to display.
  string text = 1 [features = { field_presence: EXPLICIT }];

  // Optional resource URLs for additional contexts related to this text.
  // Citation URLs are one example.
  repeated ReferenceUrl urls = 2;

  message ReferenceUrl {
    // URL of the reference, source, or citation.
    string url = 1 [features = { field_presence: EXPLICIT }];

    // Optional title text associated with the URL.
    string title = 2 [features = { field_presence: EXPLICIT }];

    // Optional favicon URL.
    string favicon_url = 3 [features = { field_presence: EXPLICIT }];

    // Optional thumbmnail image URL.
    string thumbail_image_url = 4 [features = { field_presence: EXPLICIT }];
  }
}