xref: /aosp_15_r20/external/googleapis/google/cloud/discoveryengine/v1/common.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2022 Google LLC
2*d5c09012SAndroid Build Coastguard Worker//
3*d5c09012SAndroid Build Coastguard Worker// Licensed under the Apache License, Version 2.0 (the "License");
4*d5c09012SAndroid Build Coastguard Worker// you may not use this file except in compliance with the License.
5*d5c09012SAndroid Build Coastguard Worker// You may obtain a copy of the License at
6*d5c09012SAndroid Build Coastguard Worker//
7*d5c09012SAndroid Build Coastguard Worker//     http://www.apache.org/licenses/LICENSE-2.0
8*d5c09012SAndroid Build Coastguard Worker//
9*d5c09012SAndroid Build Coastguard Worker// Unless required by applicable law or agreed to in writing, software
10*d5c09012SAndroid Build Coastguard Worker// distributed under the License is distributed on an "AS IS" BASIS,
11*d5c09012SAndroid Build Coastguard Worker// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*d5c09012SAndroid Build Coastguard Worker// See the License for the specific language governing permissions and
13*d5c09012SAndroid Build Coastguard Worker// limitations under the License.
14*d5c09012SAndroid Build Coastguard Worker
15*d5c09012SAndroid Build Coastguard Workersyntax = "proto3";
16*d5c09012SAndroid Build Coastguard Worker
17*d5c09012SAndroid Build Coastguard Workerpackage google.cloud.discoveryengine.v1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
20*d5c09012SAndroid Build Coastguard Worker
21*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.DiscoveryEngine.V1";
22*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/discoveryengine/apiv1/discoveryenginepb;discoveryenginepb";
23*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
24*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "CommonProto";
25*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.discoveryengine.v1";
26*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DISCOVERYENGINE";
27*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1";
28*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::DiscoveryEngine::V1";
29*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
30*d5c09012SAndroid Build Coastguard Worker  type: "discoveryengine.googleapis.com/Branch"
31*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/branches/{branch}"
32*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/branches/{branch}"
33*d5c09012SAndroid Build Coastguard Worker};
34*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
35*d5c09012SAndroid Build Coastguard Worker  type: "discoveryengine.googleapis.com/Collection"
36*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/collections/{collection}"
37*d5c09012SAndroid Build Coastguard Worker};
38*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
39*d5c09012SAndroid Build Coastguard Worker  type: "discoveryengine.googleapis.com/ServingConfig"
40*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/servingConfigs/{serving_config}"
41*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/servingConfigs/{serving_config}"
42*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/servingConfigs/{serving_config}"
43*d5c09012SAndroid Build Coastguard Worker};
44*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = {
45*d5c09012SAndroid Build Coastguard Worker  type: "healthcare.googleapis.com/FhirStore"
46*d5c09012SAndroid Build Coastguard Worker  pattern: "projects/{project}/locations/{location}/datasets/{dataset}/fhirStores/{fhir_store}"
47*d5c09012SAndroid Build Coastguard Worker};
48*d5c09012SAndroid Build Coastguard Worker
49*d5c09012SAndroid Build Coastguard Worker// The industry vertical associated with the
50*d5c09012SAndroid Build Coastguard Worker// [DataStore][google.cloud.discoveryengine.v1.DataStore].
51*d5c09012SAndroid Build Coastguard Workerenum IndustryVertical {
52*d5c09012SAndroid Build Coastguard Worker  // Value used when unset.
53*d5c09012SAndroid Build Coastguard Worker  INDUSTRY_VERTICAL_UNSPECIFIED = 0;
54*d5c09012SAndroid Build Coastguard Worker
55*d5c09012SAndroid Build Coastguard Worker  // The generic vertical for documents that are not specific to any industry
56*d5c09012SAndroid Build Coastguard Worker  // vertical.
57*d5c09012SAndroid Build Coastguard Worker  GENERIC = 1;
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker  // The media industry vertical.
60*d5c09012SAndroid Build Coastguard Worker  MEDIA = 2;
61*d5c09012SAndroid Build Coastguard Worker
62*d5c09012SAndroid Build Coastguard Worker  // The healthcare FHIR vertical.
63*d5c09012SAndroid Build Coastguard Worker  HEALTHCARE_FHIR = 7;
64*d5c09012SAndroid Build Coastguard Worker}
65*d5c09012SAndroid Build Coastguard Worker
66*d5c09012SAndroid Build Coastguard Worker// The type of solution.
67*d5c09012SAndroid Build Coastguard Workerenum SolutionType {
68*d5c09012SAndroid Build Coastguard Worker  // Default value.
69*d5c09012SAndroid Build Coastguard Worker  SOLUTION_TYPE_UNSPECIFIED = 0;
70*d5c09012SAndroid Build Coastguard Worker
71*d5c09012SAndroid Build Coastguard Worker  // Used for Recommendations AI.
72*d5c09012SAndroid Build Coastguard Worker  SOLUTION_TYPE_RECOMMENDATION = 1;
73*d5c09012SAndroid Build Coastguard Worker
74*d5c09012SAndroid Build Coastguard Worker  // Used for Discovery Search.
75*d5c09012SAndroid Build Coastguard Worker  SOLUTION_TYPE_SEARCH = 2;
76*d5c09012SAndroid Build Coastguard Worker
77*d5c09012SAndroid Build Coastguard Worker  // Used for use cases related to the Generative AI agent.
78*d5c09012SAndroid Build Coastguard Worker  SOLUTION_TYPE_CHAT = 3;
79*d5c09012SAndroid Build Coastguard Worker
80*d5c09012SAndroid Build Coastguard Worker  // Used for use cases related to the Generative Chat agent.
81*d5c09012SAndroid Build Coastguard Worker  // It's used for Generative chat engine only, the associated data stores
82*d5c09012SAndroid Build Coastguard Worker  // must enrolled with `SOLUTION_TYPE_CHAT` solution.
83*d5c09012SAndroid Build Coastguard Worker  SOLUTION_TYPE_GENERATIVE_CHAT = 4;
84*d5c09012SAndroid Build Coastguard Worker}
85*d5c09012SAndroid Build Coastguard Worker
86*d5c09012SAndroid Build Coastguard Worker// Tiers of search features. Different tiers might have different
87*d5c09012SAndroid Build Coastguard Worker// pricing. To learn more, check the pricing documentation.
88*d5c09012SAndroid Build Coastguard Workerenum SearchTier {
89*d5c09012SAndroid Build Coastguard Worker  // Default value when the enum is unspecified. This is invalid to use.
90*d5c09012SAndroid Build Coastguard Worker  SEARCH_TIER_UNSPECIFIED = 0;
91*d5c09012SAndroid Build Coastguard Worker
92*d5c09012SAndroid Build Coastguard Worker  // Standard tier.
93*d5c09012SAndroid Build Coastguard Worker  SEARCH_TIER_STANDARD = 1;
94*d5c09012SAndroid Build Coastguard Worker
95*d5c09012SAndroid Build Coastguard Worker  // Enterprise tier.
96*d5c09012SAndroid Build Coastguard Worker  SEARCH_TIER_ENTERPRISE = 2;
97*d5c09012SAndroid Build Coastguard Worker}
98*d5c09012SAndroid Build Coastguard Worker
99*d5c09012SAndroid Build Coastguard Worker// Add-on that provides additional functionality for search.
100*d5c09012SAndroid Build Coastguard Workerenum SearchAddOn {
101*d5c09012SAndroid Build Coastguard Worker  // Default value when the enum is unspecified. This is invalid to use.
102*d5c09012SAndroid Build Coastguard Worker  SEARCH_ADD_ON_UNSPECIFIED = 0;
103*d5c09012SAndroid Build Coastguard Worker
104*d5c09012SAndroid Build Coastguard Worker  // Large language model add-on.
105*d5c09012SAndroid Build Coastguard Worker  SEARCH_ADD_ON_LLM = 1;
106*d5c09012SAndroid Build Coastguard Worker}
107*d5c09012SAndroid Build Coastguard Worker
108*d5c09012SAndroid Build Coastguard Worker// A floating point interval.
109*d5c09012SAndroid Build Coastguard Workermessage Interval {
110*d5c09012SAndroid Build Coastguard Worker  // The lower bound of the interval. If neither of the min fields are
111*d5c09012SAndroid Build Coastguard Worker  // set, then the lower bound is negative infinity.
112*d5c09012SAndroid Build Coastguard Worker  //
113*d5c09012SAndroid Build Coastguard Worker  // This field must be not larger than max.
114*d5c09012SAndroid Build Coastguard Worker  // Otherwise, an `INVALID_ARGUMENT` error is returned.
115*d5c09012SAndroid Build Coastguard Worker  oneof min {
116*d5c09012SAndroid Build Coastguard Worker    // Inclusive lower bound.
117*d5c09012SAndroid Build Coastguard Worker    double minimum = 1;
118*d5c09012SAndroid Build Coastguard Worker
119*d5c09012SAndroid Build Coastguard Worker    // Exclusive lower bound.
120*d5c09012SAndroid Build Coastguard Worker    double exclusive_minimum = 2;
121*d5c09012SAndroid Build Coastguard Worker  }
122*d5c09012SAndroid Build Coastguard Worker
123*d5c09012SAndroid Build Coastguard Worker  // The upper bound of the interval. If neither of the max fields are
124*d5c09012SAndroid Build Coastguard Worker  // set, then the upper bound is positive infinity.
125*d5c09012SAndroid Build Coastguard Worker  //
126*d5c09012SAndroid Build Coastguard Worker  // This field must be not smaller than min.
127*d5c09012SAndroid Build Coastguard Worker  // Otherwise, an `INVALID_ARGUMENT` error is returned.
128*d5c09012SAndroid Build Coastguard Worker  oneof max {
129*d5c09012SAndroid Build Coastguard Worker    // Inclusive upper bound.
130*d5c09012SAndroid Build Coastguard Worker    double maximum = 3;
131*d5c09012SAndroid Build Coastguard Worker
132*d5c09012SAndroid Build Coastguard Worker    // Exclusive upper bound.
133*d5c09012SAndroid Build Coastguard Worker    double exclusive_maximum = 4;
134*d5c09012SAndroid Build Coastguard Worker  }
135*d5c09012SAndroid Build Coastguard Worker}
136*d5c09012SAndroid Build Coastguard Worker
137*d5c09012SAndroid Build Coastguard Worker// A custom attribute that is not explicitly modeled in a resource, e.g.
138*d5c09012SAndroid Build Coastguard Worker// [UserEvent][google.cloud.discoveryengine.v1.UserEvent].
139*d5c09012SAndroid Build Coastguard Workermessage CustomAttribute {
140*d5c09012SAndroid Build Coastguard Worker  // The textual values of this custom attribute. For example, `["yellow",
141*d5c09012SAndroid Build Coastguard Worker  // "green"]` when the key is "color".
142*d5c09012SAndroid Build Coastguard Worker  //
143*d5c09012SAndroid Build Coastguard Worker  // Empty string is not allowed. Otherwise, an `INVALID_ARGUMENT` error is
144*d5c09012SAndroid Build Coastguard Worker  // returned.
145*d5c09012SAndroid Build Coastguard Worker  //
146*d5c09012SAndroid Build Coastguard Worker  // Exactly one of
147*d5c09012SAndroid Build Coastguard Worker  // [CustomAttribute.text][google.cloud.discoveryengine.v1.CustomAttribute.text]
148*d5c09012SAndroid Build Coastguard Worker  // or
149*d5c09012SAndroid Build Coastguard Worker  // [CustomAttribute.numbers][google.cloud.discoveryengine.v1.CustomAttribute.numbers]
150*d5c09012SAndroid Build Coastguard Worker  // should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.
151*d5c09012SAndroid Build Coastguard Worker  repeated string text = 1;
152*d5c09012SAndroid Build Coastguard Worker
153*d5c09012SAndroid Build Coastguard Worker  // The numerical values of this custom attribute. For example, `[2.3, 15.4]`
154*d5c09012SAndroid Build Coastguard Worker  // when the key is "lengths_cm".
155*d5c09012SAndroid Build Coastguard Worker  //
156*d5c09012SAndroid Build Coastguard Worker  // Exactly one of
157*d5c09012SAndroid Build Coastguard Worker  // [CustomAttribute.text][google.cloud.discoveryengine.v1.CustomAttribute.text]
158*d5c09012SAndroid Build Coastguard Worker  // or
159*d5c09012SAndroid Build Coastguard Worker  // [CustomAttribute.numbers][google.cloud.discoveryengine.v1.CustomAttribute.numbers]
160*d5c09012SAndroid Build Coastguard Worker  // should be set. Otherwise, an `INVALID_ARGUMENT` error is returned.
161*d5c09012SAndroid Build Coastguard Worker  repeated double numbers = 2;
162*d5c09012SAndroid Build Coastguard Worker}
163*d5c09012SAndroid Build Coastguard Worker
164*d5c09012SAndroid Build Coastguard Worker// Information of an end user.
165*d5c09012SAndroid Build Coastguard Workermessage UserInfo {
166*d5c09012SAndroid Build Coastguard Worker  // Highly recommended for logged-in users. Unique identifier for logged-in
167*d5c09012SAndroid Build Coastguard Worker  // user, such as a user name. Don't set for anonymous users.
168*d5c09012SAndroid Build Coastguard Worker  //
169*d5c09012SAndroid Build Coastguard Worker  // Always use a hashed value for this ID.
170*d5c09012SAndroid Build Coastguard Worker  //
171*d5c09012SAndroid Build Coastguard Worker  // Don't set the field to the same fixed ID for different users. This mixes
172*d5c09012SAndroid Build Coastguard Worker  // the event history of those users together, which results in degraded
173*d5c09012SAndroid Build Coastguard Worker  // model quality.
174*d5c09012SAndroid Build Coastguard Worker  //
175*d5c09012SAndroid Build Coastguard Worker  // The field must be a UTF-8 encoded string with a length limit of 128
176*d5c09012SAndroid Build Coastguard Worker  // characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
177*d5c09012SAndroid Build Coastguard Worker  string user_id = 1;
178*d5c09012SAndroid Build Coastguard Worker
179*d5c09012SAndroid Build Coastguard Worker  // User agent as included in the HTTP header.
180*d5c09012SAndroid Build Coastguard Worker  //
181*d5c09012SAndroid Build Coastguard Worker  // The field must be a UTF-8 encoded string with a length limit of 1,000
182*d5c09012SAndroid Build Coastguard Worker  // characters. Otherwise, an `INVALID_ARGUMENT` error is returned.
183*d5c09012SAndroid Build Coastguard Worker  //
184*d5c09012SAndroid Build Coastguard Worker  // This should not be set when using the client side event reporting with
185*d5c09012SAndroid Build Coastguard Worker  // GTM or JavaScript tag in
186*d5c09012SAndroid Build Coastguard Worker  // [UserEventService.CollectUserEvent][google.cloud.discoveryengine.v1.UserEventService.CollectUserEvent]
187*d5c09012SAndroid Build Coastguard Worker  // or if
188*d5c09012SAndroid Build Coastguard Worker  // [UserEvent.direct_user_request][google.cloud.discoveryengine.v1.UserEvent.direct_user_request]
189*d5c09012SAndroid Build Coastguard Worker  // is set.
190*d5c09012SAndroid Build Coastguard Worker  string user_agent = 2;
191*d5c09012SAndroid Build Coastguard Worker}
192