xref: /aosp_15_r20/external/googleapis/google/cloud/discoveryengine/v1beta/answer.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.v1beta;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
22*d5c09012SAndroid Build Coastguard Worker
23*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.DiscoveryEngine.V1Beta";
24*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/discoveryengine/apiv1beta/discoveryenginepb;discoveryenginepb";
25*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
26*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "AnswerProto";
27*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.discoveryengine.v1beta";
28*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DISCOVERYENGINE";
29*d5c09012SAndroid Build Coastguard Workeroption php_namespace = "Google\\Cloud\\DiscoveryEngine\\V1beta";
30*d5c09012SAndroid Build Coastguard Workeroption ruby_package = "Google::Cloud::DiscoveryEngine::V1beta";
31*d5c09012SAndroid Build Coastguard Worker
32*d5c09012SAndroid Build Coastguard Worker// Defines an answer.
33*d5c09012SAndroid Build Coastguard Workermessage Answer {
34*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
35*d5c09012SAndroid Build Coastguard Worker    type: "discoveryengine.googleapis.com/Answer"
36*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/dataStores/{data_store}/sessions/{session}/answers/{answer}"
37*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/collections/{collection}/dataStores/{data_store}/sessions/{session}/answers/{answer}"
38*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/collections/{collection}/engines/{engine}/sessions/{session}/answers/{answer}"
39*d5c09012SAndroid Build Coastguard Worker  };
40*d5c09012SAndroid Build Coastguard Worker
41*d5c09012SAndroid Build Coastguard Worker  // Citation info for a segment.
42*d5c09012SAndroid Build Coastguard Worker  message Citation {
43*d5c09012SAndroid Build Coastguard Worker    // Index indicates the start of the segment, measured in bytes (UTF-8
44*d5c09012SAndroid Build Coastguard Worker    // unicode).
45*d5c09012SAndroid Build Coastguard Worker    int64 start_index = 1;
46*d5c09012SAndroid Build Coastguard Worker
47*d5c09012SAndroid Build Coastguard Worker    // End of the attributed segment, exclusive.
48*d5c09012SAndroid Build Coastguard Worker    int64 end_index = 2;
49*d5c09012SAndroid Build Coastguard Worker
50*d5c09012SAndroid Build Coastguard Worker    // Citation sources for the attributed segment.
51*d5c09012SAndroid Build Coastguard Worker    repeated CitationSource sources = 3;
52*d5c09012SAndroid Build Coastguard Worker  }
53*d5c09012SAndroid Build Coastguard Worker
54*d5c09012SAndroid Build Coastguard Worker  // Citation source.
55*d5c09012SAndroid Build Coastguard Worker  message CitationSource {
56*d5c09012SAndroid Build Coastguard Worker    // ID of the citation source.
57*d5c09012SAndroid Build Coastguard Worker    string reference_id = 1;
58*d5c09012SAndroid Build Coastguard Worker  }
59*d5c09012SAndroid Build Coastguard Worker
60*d5c09012SAndroid Build Coastguard Worker  // Reference.
61*d5c09012SAndroid Build Coastguard Worker  message Reference {
62*d5c09012SAndroid Build Coastguard Worker    // Unstructured document information.
63*d5c09012SAndroid Build Coastguard Worker    message UnstructuredDocumentInfo {
64*d5c09012SAndroid Build Coastguard Worker      // Chunk content.
65*d5c09012SAndroid Build Coastguard Worker      message ChunkContent {
66*d5c09012SAndroid Build Coastguard Worker        // Chunk textual content.
67*d5c09012SAndroid Build Coastguard Worker        string content = 1;
68*d5c09012SAndroid Build Coastguard Worker
69*d5c09012SAndroid Build Coastguard Worker        // Page identifier.
70*d5c09012SAndroid Build Coastguard Worker        string page_identifier = 2;
71*d5c09012SAndroid Build Coastguard Worker      }
72*d5c09012SAndroid Build Coastguard Worker
73*d5c09012SAndroid Build Coastguard Worker      // Document resource name.
74*d5c09012SAndroid Build Coastguard Worker      string document = 1 [(google.api.resource_reference) = {
75*d5c09012SAndroid Build Coastguard Worker        type: "discoveryengine.googleapis.com/Document"
76*d5c09012SAndroid Build Coastguard Worker      }];
77*d5c09012SAndroid Build Coastguard Worker
78*d5c09012SAndroid Build Coastguard Worker      // URI for the document.
79*d5c09012SAndroid Build Coastguard Worker      string uri = 2;
80*d5c09012SAndroid Build Coastguard Worker
81*d5c09012SAndroid Build Coastguard Worker      // Title.
82*d5c09012SAndroid Build Coastguard Worker      string title = 3;
83*d5c09012SAndroid Build Coastguard Worker
84*d5c09012SAndroid Build Coastguard Worker      // List of cited chunk contents derived from document content.
85*d5c09012SAndroid Build Coastguard Worker      repeated ChunkContent chunk_contents = 4;
86*d5c09012SAndroid Build Coastguard Worker    }
87*d5c09012SAndroid Build Coastguard Worker
88*d5c09012SAndroid Build Coastguard Worker    // Chunk information.
89*d5c09012SAndroid Build Coastguard Worker    message ChunkInfo {
90*d5c09012SAndroid Build Coastguard Worker      // Document metadata.
91*d5c09012SAndroid Build Coastguard Worker      message DocumentMetadata {
92*d5c09012SAndroid Build Coastguard Worker        // Document resource name.
93*d5c09012SAndroid Build Coastguard Worker        string document = 1 [(google.api.resource_reference) = {
94*d5c09012SAndroid Build Coastguard Worker          type: "discoveryengine.googleapis.com/Document"
95*d5c09012SAndroid Build Coastguard Worker        }];
96*d5c09012SAndroid Build Coastguard Worker
97*d5c09012SAndroid Build Coastguard Worker        // URI for the document.
98*d5c09012SAndroid Build Coastguard Worker        string uri = 2;
99*d5c09012SAndroid Build Coastguard Worker
100*d5c09012SAndroid Build Coastguard Worker        // Title.
101*d5c09012SAndroid Build Coastguard Worker        string title = 3;
102*d5c09012SAndroid Build Coastguard Worker
103*d5c09012SAndroid Build Coastguard Worker        // Page identifier.
104*d5c09012SAndroid Build Coastguard Worker        string page_identifier = 4;
105*d5c09012SAndroid Build Coastguard Worker      }
106*d5c09012SAndroid Build Coastguard Worker
107*d5c09012SAndroid Build Coastguard Worker      // Chunk resource name.
108*d5c09012SAndroid Build Coastguard Worker      string chunk = 1 [(google.api.resource_reference) = {
109*d5c09012SAndroid Build Coastguard Worker        type: "discoveryengine.googleapis.com/Chunk"
110*d5c09012SAndroid Build Coastguard Worker      }];
111*d5c09012SAndroid Build Coastguard Worker
112*d5c09012SAndroid Build Coastguard Worker      // Chunk textual content.
113*d5c09012SAndroid Build Coastguard Worker      string content = 2;
114*d5c09012SAndroid Build Coastguard Worker
115*d5c09012SAndroid Build Coastguard Worker      // Relevance score.
116*d5c09012SAndroid Build Coastguard Worker      optional float relevance_score = 3;
117*d5c09012SAndroid Build Coastguard Worker
118*d5c09012SAndroid Build Coastguard Worker      // Document metadata.
119*d5c09012SAndroid Build Coastguard Worker      DocumentMetadata document_metadata = 4;
120*d5c09012SAndroid Build Coastguard Worker    }
121*d5c09012SAndroid Build Coastguard Worker
122*d5c09012SAndroid Build Coastguard Worker    // Search result content.
123*d5c09012SAndroid Build Coastguard Worker    oneof content {
124*d5c09012SAndroid Build Coastguard Worker      // Unstructured document information.
125*d5c09012SAndroid Build Coastguard Worker      UnstructuredDocumentInfo unstructured_document_info = 1;
126*d5c09012SAndroid Build Coastguard Worker
127*d5c09012SAndroid Build Coastguard Worker      // Chunk information.
128*d5c09012SAndroid Build Coastguard Worker      ChunkInfo chunk_info = 2;
129*d5c09012SAndroid Build Coastguard Worker    }
130*d5c09012SAndroid Build Coastguard Worker  }
131*d5c09012SAndroid Build Coastguard Worker
132*d5c09012SAndroid Build Coastguard Worker  // Step information.
133*d5c09012SAndroid Build Coastguard Worker  message Step {
134*d5c09012SAndroid Build Coastguard Worker    // Action.
135*d5c09012SAndroid Build Coastguard Worker    message Action {
136*d5c09012SAndroid Build Coastguard Worker      // Search action.
137*d5c09012SAndroid Build Coastguard Worker      message SearchAction {
138*d5c09012SAndroid Build Coastguard Worker        // The query to search.
139*d5c09012SAndroid Build Coastguard Worker        string query = 1;
140*d5c09012SAndroid Build Coastguard Worker      }
141*d5c09012SAndroid Build Coastguard Worker
142*d5c09012SAndroid Build Coastguard Worker      // Observation.
143*d5c09012SAndroid Build Coastguard Worker      message Observation {
144*d5c09012SAndroid Build Coastguard Worker        message SearchResult {
145*d5c09012SAndroid Build Coastguard Worker          // Snippet information.
146*d5c09012SAndroid Build Coastguard Worker          message SnippetInfo {
147*d5c09012SAndroid Build Coastguard Worker            // Snippet content.
148*d5c09012SAndroid Build Coastguard Worker            string snippet = 1;
149*d5c09012SAndroid Build Coastguard Worker
150*d5c09012SAndroid Build Coastguard Worker            // Status of the snippet defined by the search team.
151*d5c09012SAndroid Build Coastguard Worker            string snippet_status = 2;
152*d5c09012SAndroid Build Coastguard Worker          }
153*d5c09012SAndroid Build Coastguard Worker
154*d5c09012SAndroid Build Coastguard Worker          // Chunk information.
155*d5c09012SAndroid Build Coastguard Worker          message ChunkInfo {
156*d5c09012SAndroid Build Coastguard Worker            // Chunk resource name.
157*d5c09012SAndroid Build Coastguard Worker            string chunk = 1;
158*d5c09012SAndroid Build Coastguard Worker
159*d5c09012SAndroid Build Coastguard Worker            // Chunk textual content.
160*d5c09012SAndroid Build Coastguard Worker            string content = 2;
161*d5c09012SAndroid Build Coastguard Worker
162*d5c09012SAndroid Build Coastguard Worker            // Relevance score.
163*d5c09012SAndroid Build Coastguard Worker            optional float relevance_score = 3;
164*d5c09012SAndroid Build Coastguard Worker          }
165*d5c09012SAndroid Build Coastguard Worker
166*d5c09012SAndroid Build Coastguard Worker          // Document resource name.
167*d5c09012SAndroid Build Coastguard Worker          string document = 1;
168*d5c09012SAndroid Build Coastguard Worker
169*d5c09012SAndroid Build Coastguard Worker          // URI for the document.
170*d5c09012SAndroid Build Coastguard Worker          string uri = 2;
171*d5c09012SAndroid Build Coastguard Worker
172*d5c09012SAndroid Build Coastguard Worker          // Title.
173*d5c09012SAndroid Build Coastguard Worker          string title = 3;
174*d5c09012SAndroid Build Coastguard Worker
175*d5c09012SAndroid Build Coastguard Worker          // If citation_type is DOCUMENT_LEVEL_CITATION, populate document
176*d5c09012SAndroid Build Coastguard Worker          // level snippets.
177*d5c09012SAndroid Build Coastguard Worker          repeated SnippetInfo snippet_info = 4;
178*d5c09012SAndroid Build Coastguard Worker
179*d5c09012SAndroid Build Coastguard Worker          // If citation_type is CHUNK_LEVEL_CITATION and chunk mode is on,
180*d5c09012SAndroid Build Coastguard Worker          // populate chunk info.
181*d5c09012SAndroid Build Coastguard Worker          repeated ChunkInfo chunk_info = 5;
182*d5c09012SAndroid Build Coastguard Worker        }
183*d5c09012SAndroid Build Coastguard Worker
184*d5c09012SAndroid Build Coastguard Worker        // Search results observed by the search action, it can be snippets info
185*d5c09012SAndroid Build Coastguard Worker        // or chunk info, depending on the citation type set by the user.
186*d5c09012SAndroid Build Coastguard Worker        repeated SearchResult search_results = 2;
187*d5c09012SAndroid Build Coastguard Worker      }
188*d5c09012SAndroid Build Coastguard Worker
189*d5c09012SAndroid Build Coastguard Worker      // The action.
190*d5c09012SAndroid Build Coastguard Worker      oneof action {
191*d5c09012SAndroid Build Coastguard Worker        // Search action.
192*d5c09012SAndroid Build Coastguard Worker        SearchAction search_action = 2;
193*d5c09012SAndroid Build Coastguard Worker      }
194*d5c09012SAndroid Build Coastguard Worker
195*d5c09012SAndroid Build Coastguard Worker      // Observation.
196*d5c09012SAndroid Build Coastguard Worker      Observation observation = 3;
197*d5c09012SAndroid Build Coastguard Worker    }
198*d5c09012SAndroid Build Coastguard Worker
199*d5c09012SAndroid Build Coastguard Worker    // Enumeration of the state of the step.
200*d5c09012SAndroid Build Coastguard Worker    enum State {
201*d5c09012SAndroid Build Coastguard Worker      // Unknown.
202*d5c09012SAndroid Build Coastguard Worker      STATE_UNSPECIFIED = 0;
203*d5c09012SAndroid Build Coastguard Worker
204*d5c09012SAndroid Build Coastguard Worker      // Step is currently in progress.
205*d5c09012SAndroid Build Coastguard Worker      IN_PROGRESS = 1;
206*d5c09012SAndroid Build Coastguard Worker
207*d5c09012SAndroid Build Coastguard Worker      // Step currently failed.
208*d5c09012SAndroid Build Coastguard Worker      FAILED = 2;
209*d5c09012SAndroid Build Coastguard Worker
210*d5c09012SAndroid Build Coastguard Worker      // Step has succeeded.
211*d5c09012SAndroid Build Coastguard Worker      SUCCEEDED = 3;
212*d5c09012SAndroid Build Coastguard Worker    }
213*d5c09012SAndroid Build Coastguard Worker
214*d5c09012SAndroid Build Coastguard Worker    // The state of the step.
215*d5c09012SAndroid Build Coastguard Worker    State state = 1;
216*d5c09012SAndroid Build Coastguard Worker
217*d5c09012SAndroid Build Coastguard Worker    // The description of the step.
218*d5c09012SAndroid Build Coastguard Worker    string description = 2;
219*d5c09012SAndroid Build Coastguard Worker
220*d5c09012SAndroid Build Coastguard Worker    // The thought of the step.
221*d5c09012SAndroid Build Coastguard Worker    string thought = 3;
222*d5c09012SAndroid Build Coastguard Worker
223*d5c09012SAndroid Build Coastguard Worker    // Actions.
224*d5c09012SAndroid Build Coastguard Worker    repeated Action actions = 4;
225*d5c09012SAndroid Build Coastguard Worker  }
226*d5c09012SAndroid Build Coastguard Worker
227*d5c09012SAndroid Build Coastguard Worker  // Query understanding information.
228*d5c09012SAndroid Build Coastguard Worker  message QueryUnderstandingInfo {
229*d5c09012SAndroid Build Coastguard Worker    // Query classification information.
230*d5c09012SAndroid Build Coastguard Worker    message QueryClassificationInfo {
231*d5c09012SAndroid Build Coastguard Worker      // Query classification types.
232*d5c09012SAndroid Build Coastguard Worker      enum Type {
233*d5c09012SAndroid Build Coastguard Worker        // Unspecified query classification type.
234*d5c09012SAndroid Build Coastguard Worker        TYPE_UNSPECIFIED = 0;
235*d5c09012SAndroid Build Coastguard Worker
236*d5c09012SAndroid Build Coastguard Worker        // Adversarial query classification type.
237*d5c09012SAndroid Build Coastguard Worker        ADVERSARIAL_QUERY = 1;
238*d5c09012SAndroid Build Coastguard Worker
239*d5c09012SAndroid Build Coastguard Worker        // Non-answer-seeking query classification type.
240*d5c09012SAndroid Build Coastguard Worker        NON_ANSWER_SEEKING_QUERY = 2;
241*d5c09012SAndroid Build Coastguard Worker      }
242*d5c09012SAndroid Build Coastguard Worker
243*d5c09012SAndroid Build Coastguard Worker      // Query classification type.
244*d5c09012SAndroid Build Coastguard Worker      Type type = 1;
245*d5c09012SAndroid Build Coastguard Worker
246*d5c09012SAndroid Build Coastguard Worker      // Classification output.
247*d5c09012SAndroid Build Coastguard Worker      bool positive = 2;
248*d5c09012SAndroid Build Coastguard Worker    }
249*d5c09012SAndroid Build Coastguard Worker
250*d5c09012SAndroid Build Coastguard Worker    // Query classification information.
251*d5c09012SAndroid Build Coastguard Worker    repeated QueryClassificationInfo query_classification_info = 1;
252*d5c09012SAndroid Build Coastguard Worker  }
253*d5c09012SAndroid Build Coastguard Worker
254*d5c09012SAndroid Build Coastguard Worker  // Enumeration of the state of the answer generation.
255*d5c09012SAndroid Build Coastguard Worker  enum State {
256*d5c09012SAndroid Build Coastguard Worker    // Unknown.
257*d5c09012SAndroid Build Coastguard Worker    STATE_UNSPECIFIED = 0;
258*d5c09012SAndroid Build Coastguard Worker
259*d5c09012SAndroid Build Coastguard Worker    // Answer generation is currently in progress.
260*d5c09012SAndroid Build Coastguard Worker    IN_PROGRESS = 1;
261*d5c09012SAndroid Build Coastguard Worker
262*d5c09012SAndroid Build Coastguard Worker    // Answer generation currently failed.
263*d5c09012SAndroid Build Coastguard Worker    FAILED = 2;
264*d5c09012SAndroid Build Coastguard Worker
265*d5c09012SAndroid Build Coastguard Worker    // Answer generation has succeeded.
266*d5c09012SAndroid Build Coastguard Worker    SUCCEEDED = 3;
267*d5c09012SAndroid Build Coastguard Worker  }
268*d5c09012SAndroid Build Coastguard Worker
269*d5c09012SAndroid Build Coastguard Worker  // An enum for answer skipped reasons.
270*d5c09012SAndroid Build Coastguard Worker  enum AnswerSkippedReason {
271*d5c09012SAndroid Build Coastguard Worker    // Default value. The answer skipped reason is not specified.
272*d5c09012SAndroid Build Coastguard Worker    ANSWER_SKIPPED_REASON_UNSPECIFIED = 0;
273*d5c09012SAndroid Build Coastguard Worker
274*d5c09012SAndroid Build Coastguard Worker    // The adversarial query ignored case.
275*d5c09012SAndroid Build Coastguard Worker    ADVERSARIAL_QUERY_IGNORED = 1;
276*d5c09012SAndroid Build Coastguard Worker
277*d5c09012SAndroid Build Coastguard Worker    // The non-answer seeking query ignored case.
278*d5c09012SAndroid Build Coastguard Worker    NON_ANSWER_SEEKING_QUERY_IGNORED = 2;
279*d5c09012SAndroid Build Coastguard Worker
280*d5c09012SAndroid Build Coastguard Worker    // The out-of-domain query ignored case.
281*d5c09012SAndroid Build Coastguard Worker    //
282*d5c09012SAndroid Build Coastguard Worker    // Google skips the answer if there are no high-relevance search results.
283*d5c09012SAndroid Build Coastguard Worker    OUT_OF_DOMAIN_QUERY_IGNORED = 3;
284*d5c09012SAndroid Build Coastguard Worker
285*d5c09012SAndroid Build Coastguard Worker    // The potential policy violation case.
286*d5c09012SAndroid Build Coastguard Worker    //
287*d5c09012SAndroid Build Coastguard Worker    // Google skips the answer if there is a potential policy violation
288*d5c09012SAndroid Build Coastguard Worker    // detected. This includes content that may be violent or toxic.
289*d5c09012SAndroid Build Coastguard Worker    POTENTIAL_POLICY_VIOLATION = 4;
290*d5c09012SAndroid Build Coastguard Worker  }
291*d5c09012SAndroid Build Coastguard Worker
292*d5c09012SAndroid Build Coastguard Worker  // Immutable. Fully qualified name
293*d5c09012SAndroid Build Coastguard Worker  // `project/*/locations/global/collections/{collection}/engines/{engine}/sessions/*/answers/*`
294*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = IMMUTABLE];
295*d5c09012SAndroid Build Coastguard Worker
296*d5c09012SAndroid Build Coastguard Worker  // The state of the answer generation.
297*d5c09012SAndroid Build Coastguard Worker  State state = 2;
298*d5c09012SAndroid Build Coastguard Worker
299*d5c09012SAndroid Build Coastguard Worker  // The textual answer.
300*d5c09012SAndroid Build Coastguard Worker  string answer_text = 3;
301*d5c09012SAndroid Build Coastguard Worker
302*d5c09012SAndroid Build Coastguard Worker  // Citations.
303*d5c09012SAndroid Build Coastguard Worker  repeated Citation citations = 4;
304*d5c09012SAndroid Build Coastguard Worker
305*d5c09012SAndroid Build Coastguard Worker  // References.
306*d5c09012SAndroid Build Coastguard Worker  repeated Reference references = 5;
307*d5c09012SAndroid Build Coastguard Worker
308*d5c09012SAndroid Build Coastguard Worker  // Suggested related questions.
309*d5c09012SAndroid Build Coastguard Worker  repeated string related_questions = 6;
310*d5c09012SAndroid Build Coastguard Worker
311*d5c09012SAndroid Build Coastguard Worker  // Answer generation steps.
312*d5c09012SAndroid Build Coastguard Worker  repeated Step steps = 7;
313*d5c09012SAndroid Build Coastguard Worker
314*d5c09012SAndroid Build Coastguard Worker  // Query understanding information.
315*d5c09012SAndroid Build Coastguard Worker  QueryUnderstandingInfo query_understanding_info = 10;
316*d5c09012SAndroid Build Coastguard Worker
317*d5c09012SAndroid Build Coastguard Worker  // Additional answer-skipped reasons. This provides the reason for ignored
318*d5c09012SAndroid Build Coastguard Worker  // cases. If nothing is skipped, this field is not set.
319*d5c09012SAndroid Build Coastguard Worker  repeated AnswerSkippedReason answer_skipped_reasons = 11;
320*d5c09012SAndroid Build Coastguard Worker
321*d5c09012SAndroid Build Coastguard Worker  // Output only. Answer creation timestamp.
322*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 8
323*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
324*d5c09012SAndroid Build Coastguard Worker
325*d5c09012SAndroid Build Coastguard Worker  // Output only. Answer completed timestamp.
326*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp complete_time = 9
327*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
328*d5c09012SAndroid Build Coastguard Worker}
329