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 }];
}
}
|