xref: /aosp_15_r20/external/googleapis/google/cloud/dialogflow/v2beta1/participant.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
1*d5c09012SAndroid Build Coastguard Worker// Copyright 2023 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.dialogflow.v2beta1;
18*d5c09012SAndroid Build Coastguard Worker
19*d5c09012SAndroid Build Coastguard Workerimport "google/api/annotations.proto";
20*d5c09012SAndroid Build Coastguard Workerimport "google/api/client.proto";
21*d5c09012SAndroid Build Coastguard Workerimport "google/api/field_behavior.proto";
22*d5c09012SAndroid Build Coastguard Workerimport "google/api/resource.proto";
23*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/audio_config.proto";
24*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/session.proto";
25*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto";
26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto";
27*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto";
28*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto";
29*d5c09012SAndroid Build Coastguard Worker
30*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true;
31*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dialogflow.V2Beta1";
32*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dialogflow/apiv2beta1/dialogflowpb;dialogflowpb";
33*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true;
34*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ParticipantProto";
35*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dialogflow.v2beta1";
36*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DF";
37*d5c09012SAndroid Build Coastguard Worker
38*d5c09012SAndroid Build Coastguard Worker// Service for managing
39*d5c09012SAndroid Build Coastguard Worker// [Participants][google.cloud.dialogflow.v2beta1.Participant].
40*d5c09012SAndroid Build Coastguard Workerservice Participants {
41*d5c09012SAndroid Build Coastguard Worker  option (google.api.default_host) = "dialogflow.googleapis.com";
42*d5c09012SAndroid Build Coastguard Worker  option (google.api.oauth_scopes) =
43*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/cloud-platform,"
44*d5c09012SAndroid Build Coastguard Worker      "https://www.googleapis.com/auth/dialogflow";
45*d5c09012SAndroid Build Coastguard Worker
46*d5c09012SAndroid Build Coastguard Worker  // Creates a new participant in a conversation.
47*d5c09012SAndroid Build Coastguard Worker  rpc CreateParticipant(CreateParticipantRequest) returns (Participant) {
48*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
49*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta1/{parent=projects/*/conversations/*}/participants"
50*d5c09012SAndroid Build Coastguard Worker      body: "participant"
51*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
52*d5c09012SAndroid Build Coastguard Worker        post: "/v2beta1/{parent=projects/*/locations/*/conversations/*}/participants"
53*d5c09012SAndroid Build Coastguard Worker        body: "participant"
54*d5c09012SAndroid Build Coastguard Worker      }
55*d5c09012SAndroid Build Coastguard Worker    };
56*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent,participant";
57*d5c09012SAndroid Build Coastguard Worker  }
58*d5c09012SAndroid Build Coastguard Worker
59*d5c09012SAndroid Build Coastguard Worker  // Retrieves a conversation participant.
60*d5c09012SAndroid Build Coastguard Worker  rpc GetParticipant(GetParticipantRequest) returns (Participant) {
61*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
62*d5c09012SAndroid Build Coastguard Worker      get: "/v2beta1/{name=projects/*/conversations/*/participants/*}"
63*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
64*d5c09012SAndroid Build Coastguard Worker        get: "/v2beta1/{name=projects/*/locations/*/conversations/*/participants/*}"
65*d5c09012SAndroid Build Coastguard Worker      }
66*d5c09012SAndroid Build Coastguard Worker    };
67*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "name";
68*d5c09012SAndroid Build Coastguard Worker  }
69*d5c09012SAndroid Build Coastguard Worker
70*d5c09012SAndroid Build Coastguard Worker  // Returns the list of all participants in the specified conversation.
71*d5c09012SAndroid Build Coastguard Worker  rpc ListParticipants(ListParticipantsRequest)
72*d5c09012SAndroid Build Coastguard Worker      returns (ListParticipantsResponse) {
73*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
74*d5c09012SAndroid Build Coastguard Worker      get: "/v2beta1/{parent=projects/*/conversations/*}/participants"
75*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
76*d5c09012SAndroid Build Coastguard Worker        get: "/v2beta1/{parent=projects/*/locations/*/conversations/*}/participants"
77*d5c09012SAndroid Build Coastguard Worker      }
78*d5c09012SAndroid Build Coastguard Worker    };
79*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
80*d5c09012SAndroid Build Coastguard Worker  }
81*d5c09012SAndroid Build Coastguard Worker
82*d5c09012SAndroid Build Coastguard Worker  // Updates the specified participant.
83*d5c09012SAndroid Build Coastguard Worker  rpc UpdateParticipant(UpdateParticipantRequest) returns (Participant) {
84*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
85*d5c09012SAndroid Build Coastguard Worker      patch: "/v2beta1/{participant.name=projects/*/conversations/*/participants/*}"
86*d5c09012SAndroid Build Coastguard Worker      body: "participant"
87*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
88*d5c09012SAndroid Build Coastguard Worker        patch: "/v2beta1/{participant.name=projects/*/locations/*/conversations/*/participants/*}"
89*d5c09012SAndroid Build Coastguard Worker        body: "participant"
90*d5c09012SAndroid Build Coastguard Worker      }
91*d5c09012SAndroid Build Coastguard Worker    };
92*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "participant,update_mask";
93*d5c09012SAndroid Build Coastguard Worker  }
94*d5c09012SAndroid Build Coastguard Worker
95*d5c09012SAndroid Build Coastguard Worker  // Adds a text (chat, for example), or audio (phone recording, for example)
96*d5c09012SAndroid Build Coastguard Worker  // message from a participant into the conversation.
97*d5c09012SAndroid Build Coastguard Worker  //
98*d5c09012SAndroid Build Coastguard Worker  // Note: Always use agent versions for production traffic
99*d5c09012SAndroid Build Coastguard Worker  // sent to virtual agents. See [Versions and
100*d5c09012SAndroid Build Coastguard Worker  // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).
101*d5c09012SAndroid Build Coastguard Worker  rpc AnalyzeContent(AnalyzeContentRequest) returns (AnalyzeContentResponse) {
102*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
103*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta1/{participant=projects/*/conversations/*/participants/*}:analyzeContent"
104*d5c09012SAndroid Build Coastguard Worker      body: "*"
105*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
106*d5c09012SAndroid Build Coastguard Worker        post: "/v2beta1/{participant=projects/*/locations/*/conversations/*/participants/*}:analyzeContent"
107*d5c09012SAndroid Build Coastguard Worker        body: "*"
108*d5c09012SAndroid Build Coastguard Worker      }
109*d5c09012SAndroid Build Coastguard Worker    };
110*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "participant,text_input";
111*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "participant,audio_input";
112*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "participant,event_input";
113*d5c09012SAndroid Build Coastguard Worker  }
114*d5c09012SAndroid Build Coastguard Worker
115*d5c09012SAndroid Build Coastguard Worker  // Adds a text (e.g., chat) or audio (e.g., phone recording) message from a
116*d5c09012SAndroid Build Coastguard Worker  // participant into the conversation.
117*d5c09012SAndroid Build Coastguard Worker  // Note: This method is only available through the gRPC API (not REST).
118*d5c09012SAndroid Build Coastguard Worker  //
119*d5c09012SAndroid Build Coastguard Worker  // The top-level message sent to the client by the server is
120*d5c09012SAndroid Build Coastguard Worker  // `StreamingAnalyzeContentResponse`. Multiple response messages can be
121*d5c09012SAndroid Build Coastguard Worker  // returned in order. The first one or more messages contain the
122*d5c09012SAndroid Build Coastguard Worker  // `recognition_result` field. Each result represents a more complete
123*d5c09012SAndroid Build Coastguard Worker  // transcript of what the user said. The next message contains the
124*d5c09012SAndroid Build Coastguard Worker  // `reply_text` field, and potentially the `reply_audio` and/or the
125*d5c09012SAndroid Build Coastguard Worker  // `automated_agent_reply` fields.
126*d5c09012SAndroid Build Coastguard Worker  //
127*d5c09012SAndroid Build Coastguard Worker  // Note: Always use agent versions for production traffic
128*d5c09012SAndroid Build Coastguard Worker  // sent to virtual agents. See [Versions and
129*d5c09012SAndroid Build Coastguard Worker  // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions).
130*d5c09012SAndroid Build Coastguard Worker  rpc StreamingAnalyzeContent(stream StreamingAnalyzeContentRequest)
131*d5c09012SAndroid Build Coastguard Worker      returns (stream StreamingAnalyzeContentResponse) {}
132*d5c09012SAndroid Build Coastguard Worker
133*d5c09012SAndroid Build Coastguard Worker  // Gets suggested articles for a participant based on specific historical
134*d5c09012SAndroid Build Coastguard Worker  // messages.
135*d5c09012SAndroid Build Coastguard Worker  //
136*d5c09012SAndroid Build Coastguard Worker  // Note that
137*d5c09012SAndroid Build Coastguard Worker  // [ListSuggestions][google.cloud.dialogflow.v2beta1.Participants.ListSuggestions]
138*d5c09012SAndroid Build Coastguard Worker  // will only list the auto-generated suggestions, while
139*d5c09012SAndroid Build Coastguard Worker  // [CompileSuggestion][google.cloud.dialogflow.v2beta1.Participants.CompileSuggestion]
140*d5c09012SAndroid Build Coastguard Worker  // will try to compile suggestion based on the provided conversation context
141*d5c09012SAndroid Build Coastguard Worker  // in the real time.
142*d5c09012SAndroid Build Coastguard Worker  rpc SuggestArticles(SuggestArticlesRequest)
143*d5c09012SAndroid Build Coastguard Worker      returns (SuggestArticlesResponse) {
144*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
145*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta1/{parent=projects/*/conversations/*/participants/*}/suggestions:suggestArticles"
146*d5c09012SAndroid Build Coastguard Worker      body: "*"
147*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
148*d5c09012SAndroid Build Coastguard Worker        post: "/v2beta1/{parent=projects/*/locations/*/conversations/*/participants/*}/suggestions:suggestArticles"
149*d5c09012SAndroid Build Coastguard Worker        body: "*"
150*d5c09012SAndroid Build Coastguard Worker      }
151*d5c09012SAndroid Build Coastguard Worker    };
152*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
153*d5c09012SAndroid Build Coastguard Worker  }
154*d5c09012SAndroid Build Coastguard Worker
155*d5c09012SAndroid Build Coastguard Worker  // Gets suggested faq answers for a participant based on specific historical
156*d5c09012SAndroid Build Coastguard Worker  // messages.
157*d5c09012SAndroid Build Coastguard Worker  rpc SuggestFaqAnswers(SuggestFaqAnswersRequest)
158*d5c09012SAndroid Build Coastguard Worker      returns (SuggestFaqAnswersResponse) {
159*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
160*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta1/{parent=projects/*/conversations/*/participants/*}/suggestions:suggestFaqAnswers"
161*d5c09012SAndroid Build Coastguard Worker      body: "*"
162*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
163*d5c09012SAndroid Build Coastguard Worker        post: "/v2beta1/{parent=projects/*/locations/*/conversations/*/participants/*}/suggestions:suggestFaqAnswers"
164*d5c09012SAndroid Build Coastguard Worker        body: "*"
165*d5c09012SAndroid Build Coastguard Worker      }
166*d5c09012SAndroid Build Coastguard Worker    };
167*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
168*d5c09012SAndroid Build Coastguard Worker  }
169*d5c09012SAndroid Build Coastguard Worker
170*d5c09012SAndroid Build Coastguard Worker  // Gets smart replies for a participant based on specific historical
171*d5c09012SAndroid Build Coastguard Worker  // messages.
172*d5c09012SAndroid Build Coastguard Worker  rpc SuggestSmartReplies(SuggestSmartRepliesRequest)
173*d5c09012SAndroid Build Coastguard Worker      returns (SuggestSmartRepliesResponse) {
174*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
175*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta1/{parent=projects/*/conversations/*/participants/*}/suggestions:suggestSmartReplies"
176*d5c09012SAndroid Build Coastguard Worker      body: "*"
177*d5c09012SAndroid Build Coastguard Worker      additional_bindings {
178*d5c09012SAndroid Build Coastguard Worker        post: "/v2beta1/{parent=projects/*/locations/*/conversations/*/participants/*}/suggestions:suggestSmartReplies"
179*d5c09012SAndroid Build Coastguard Worker        body: "*"
180*d5c09012SAndroid Build Coastguard Worker      }
181*d5c09012SAndroid Build Coastguard Worker    };
182*d5c09012SAndroid Build Coastguard Worker    option (google.api.method_signature) = "parent";
183*d5c09012SAndroid Build Coastguard Worker  }
184*d5c09012SAndroid Build Coastguard Worker
185*d5c09012SAndroid Build Coastguard Worker  // Deprecated: Use inline suggestion, event based suggestion or
186*d5c09012SAndroid Build Coastguard Worker  // Suggestion* API instead.
187*d5c09012SAndroid Build Coastguard Worker  // See
188*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.name][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.name]
189*d5c09012SAndroid Build Coastguard Worker  // for more details. Removal Date: 2020-09-01.
190*d5c09012SAndroid Build Coastguard Worker  //
191*d5c09012SAndroid Build Coastguard Worker  // Retrieves suggestions for live agents.
192*d5c09012SAndroid Build Coastguard Worker  //
193*d5c09012SAndroid Build Coastguard Worker  // This method should be used by human agent client software to fetch auto
194*d5c09012SAndroid Build Coastguard Worker  // generated suggestions in real-time, while the conversation with an end user
195*d5c09012SAndroid Build Coastguard Worker  // is in progress. The functionality is implemented in terms of the
196*d5c09012SAndroid Build Coastguard Worker  // [list
197*d5c09012SAndroid Build Coastguard Worker  // pagination](https://cloud.google.com/apis/design/design_patterns#list_pagination)
198*d5c09012SAndroid Build Coastguard Worker  // design pattern. The client app should use the `next_page_token` field
199*d5c09012SAndroid Build Coastguard Worker  // to fetch the next batch of suggestions. `suggestions` are sorted by
200*d5c09012SAndroid Build Coastguard Worker  // `create_time` in descending order.
201*d5c09012SAndroid Build Coastguard Worker  // To fetch latest suggestion, just set `page_size` to 1.
202*d5c09012SAndroid Build Coastguard Worker  // To fetch new suggestions without duplication, send request with filter
203*d5c09012SAndroid Build Coastguard Worker  // `create_time_epoch_microseconds > [first item's create_time of previous
204*d5c09012SAndroid Build Coastguard Worker  // request]` and empty page_token.
205*d5c09012SAndroid Build Coastguard Worker  rpc ListSuggestions(ListSuggestionsRequest)
206*d5c09012SAndroid Build Coastguard Worker      returns (ListSuggestionsResponse) {
207*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
208*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
209*d5c09012SAndroid Build Coastguard Worker      get: "/v2beta1/{parent=projects/*/conversations/*/participants/*}/suggestions"
210*d5c09012SAndroid Build Coastguard Worker    };
211*d5c09012SAndroid Build Coastguard Worker  }
212*d5c09012SAndroid Build Coastguard Worker
213*d5c09012SAndroid Build Coastguard Worker  // Deprecated. use
214*d5c09012SAndroid Build Coastguard Worker  // [SuggestArticles][google.cloud.dialogflow.v2beta1.Participants.SuggestArticles]
215*d5c09012SAndroid Build Coastguard Worker  // and
216*d5c09012SAndroid Build Coastguard Worker  // [SuggestFaqAnswers][google.cloud.dialogflow.v2beta1.Participants.SuggestFaqAnswers]
217*d5c09012SAndroid Build Coastguard Worker  // instead.
218*d5c09012SAndroid Build Coastguard Worker  //
219*d5c09012SAndroid Build Coastguard Worker  // Gets suggestions for a participant based on specific historical
220*d5c09012SAndroid Build Coastguard Worker  // messages.
221*d5c09012SAndroid Build Coastguard Worker  //
222*d5c09012SAndroid Build Coastguard Worker  // Note that
223*d5c09012SAndroid Build Coastguard Worker  // [ListSuggestions][google.cloud.dialogflow.v2beta1.Participants.ListSuggestions]
224*d5c09012SAndroid Build Coastguard Worker  // will only list the auto-generated suggestions, while
225*d5c09012SAndroid Build Coastguard Worker  // [CompileSuggestion][google.cloud.dialogflow.v2beta1.Participants.CompileSuggestion]
226*d5c09012SAndroid Build Coastguard Worker  // will try to compile suggestion based on the provided conversation context
227*d5c09012SAndroid Build Coastguard Worker  // in the real time.
228*d5c09012SAndroid Build Coastguard Worker  rpc CompileSuggestion(CompileSuggestionRequest)
229*d5c09012SAndroid Build Coastguard Worker      returns (CompileSuggestionResponse) {
230*d5c09012SAndroid Build Coastguard Worker    option deprecated = true;
231*d5c09012SAndroid Build Coastguard Worker    option (google.api.http) = {
232*d5c09012SAndroid Build Coastguard Worker      post: "/v2beta1/{parent=projects/*/conversations/*/participants/*}/suggestions:compile"
233*d5c09012SAndroid Build Coastguard Worker      body: "*"
234*d5c09012SAndroid Build Coastguard Worker    };
235*d5c09012SAndroid Build Coastguard Worker  }
236*d5c09012SAndroid Build Coastguard Worker}
237*d5c09012SAndroid Build Coastguard Worker
238*d5c09012SAndroid Build Coastguard Worker// Represents a conversation participant (human agent, virtual agent, end-user).
239*d5c09012SAndroid Build Coastguard Workermessage Participant {
240*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
241*d5c09012SAndroid Build Coastguard Worker    type: "dialogflow.googleapis.com/Participant"
242*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/conversations/{conversation}/participants/{participant}"
243*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/conversations/{conversation}/participants/{participant}"
244*d5c09012SAndroid Build Coastguard Worker  };
245*d5c09012SAndroid Build Coastguard Worker
246*d5c09012SAndroid Build Coastguard Worker  // Enumeration of the roles a participant can play in a conversation.
247*d5c09012SAndroid Build Coastguard Worker  enum Role {
248*d5c09012SAndroid Build Coastguard Worker    // Participant role not set.
249*d5c09012SAndroid Build Coastguard Worker    ROLE_UNSPECIFIED = 0;
250*d5c09012SAndroid Build Coastguard Worker
251*d5c09012SAndroid Build Coastguard Worker    // Participant is a human agent.
252*d5c09012SAndroid Build Coastguard Worker    HUMAN_AGENT = 1;
253*d5c09012SAndroid Build Coastguard Worker
254*d5c09012SAndroid Build Coastguard Worker    // Participant is an automated agent, such as a Dialogflow agent.
255*d5c09012SAndroid Build Coastguard Worker    AUTOMATED_AGENT = 2;
256*d5c09012SAndroid Build Coastguard Worker
257*d5c09012SAndroid Build Coastguard Worker    // Participant is an end user that has called or chatted with
258*d5c09012SAndroid Build Coastguard Worker    // Dialogflow services.
259*d5c09012SAndroid Build Coastguard Worker    END_USER = 3;
260*d5c09012SAndroid Build Coastguard Worker  }
261*d5c09012SAndroid Build Coastguard Worker
262*d5c09012SAndroid Build Coastguard Worker  // Optional. The unique identifier of this participant.
263*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
264*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
265*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OPTIONAL];
266*d5c09012SAndroid Build Coastguard Worker
267*d5c09012SAndroid Build Coastguard Worker  // Immutable. The role this participant plays in the conversation. This field
268*d5c09012SAndroid Build Coastguard Worker  // must be set during participant creation and is then immutable.
269*d5c09012SAndroid Build Coastguard Worker  Role role = 2 [(google.api.field_behavior) = IMMUTABLE];
270*d5c09012SAndroid Build Coastguard Worker
271*d5c09012SAndroid Build Coastguard Worker  // Optional. Obfuscated user id that should be associated with the created
272*d5c09012SAndroid Build Coastguard Worker  // participant.
273*d5c09012SAndroid Build Coastguard Worker  //
274*d5c09012SAndroid Build Coastguard Worker  // You can specify a user id as follows:
275*d5c09012SAndroid Build Coastguard Worker  //
276*d5c09012SAndroid Build Coastguard Worker  // 1. If you set this field in
277*d5c09012SAndroid Build Coastguard Worker  //    [CreateParticipantRequest][google.cloud.dialogflow.v2beta1.CreateParticipantRequest.participant]
278*d5c09012SAndroid Build Coastguard Worker  //    or
279*d5c09012SAndroid Build Coastguard Worker  //    [UpdateParticipantRequest][google.cloud.dialogflow.v2beta1.UpdateParticipantRequest.participant],
280*d5c09012SAndroid Build Coastguard Worker  //    Dialogflow adds the obfuscated user id with the participant.
281*d5c09012SAndroid Build Coastguard Worker  //
282*d5c09012SAndroid Build Coastguard Worker  // 2. If you set this field in
283*d5c09012SAndroid Build Coastguard Worker  //    [AnalyzeContent][google.cloud.dialogflow.v2beta1.AnalyzeContentRequest.obfuscated_external_user_id]
284*d5c09012SAndroid Build Coastguard Worker  //    or
285*d5c09012SAndroid Build Coastguard Worker  //    [StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.obfuscated_external_user_id],
286*d5c09012SAndroid Build Coastguard Worker  //    Dialogflow will update
287*d5c09012SAndroid Build Coastguard Worker  //    [Participant.obfuscated_external_user_id][google.cloud.dialogflow.v2beta1.Participant.obfuscated_external_user_id].
288*d5c09012SAndroid Build Coastguard Worker  //
289*d5c09012SAndroid Build Coastguard Worker  // Dialogflow uses this user id for billing and measurement. If a user with
290*d5c09012SAndroid Build Coastguard Worker  // the same obfuscated_external_user_id is created in a later conversation,
291*d5c09012SAndroid Build Coastguard Worker  // Dialogflow will know it's the same user.
292*d5c09012SAndroid Build Coastguard Worker  //
293*d5c09012SAndroid Build Coastguard Worker  // Dialogflow also uses this user id for Agent Assist suggestion
294*d5c09012SAndroid Build Coastguard Worker  // personalization. For example, Dialogflow can use it to provide personalized
295*d5c09012SAndroid Build Coastguard Worker  // smart reply suggestions for this user.
296*d5c09012SAndroid Build Coastguard Worker  //
297*d5c09012SAndroid Build Coastguard Worker  // Note:
298*d5c09012SAndroid Build Coastguard Worker  //
299*d5c09012SAndroid Build Coastguard Worker  // * Please never pass raw user ids to Dialogflow. Always obfuscate your user
300*d5c09012SAndroid Build Coastguard Worker  //   id first.
301*d5c09012SAndroid Build Coastguard Worker  // * Dialogflow only accepts a UTF-8 encoded string, e.g., a hex digest of a
302*d5c09012SAndroid Build Coastguard Worker  //   hash function like SHA-512.
303*d5c09012SAndroid Build Coastguard Worker  // * The length of the user id must be <= 256 characters.
304*d5c09012SAndroid Build Coastguard Worker  string obfuscated_external_user_id = 7
305*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
306*d5c09012SAndroid Build Coastguard Worker
307*d5c09012SAndroid Build Coastguard Worker  // Optional. Key-value filters on the metadata of documents returned by
308*d5c09012SAndroid Build Coastguard Worker  // article suggestion. If specified, article suggestion only returns suggested
309*d5c09012SAndroid Build Coastguard Worker  // documents that match all filters in their
310*d5c09012SAndroid Build Coastguard Worker  // [Document.metadata][google.cloud.dialogflow.v2beta1.Document.metadata].
311*d5c09012SAndroid Build Coastguard Worker  // Multiple values for a metadata key should be concatenated by comma. For
312*d5c09012SAndroid Build Coastguard Worker  // example, filters to match all documents that have 'US' or 'CA' in their
313*d5c09012SAndroid Build Coastguard Worker  // market metadata values and 'agent' in their user metadata values will be
314*d5c09012SAndroid Build Coastguard Worker  // ```
315*d5c09012SAndroid Build Coastguard Worker  // documents_metadata_filters {
316*d5c09012SAndroid Build Coastguard Worker  //   key: "market"
317*d5c09012SAndroid Build Coastguard Worker  //   value: "US,CA"
318*d5c09012SAndroid Build Coastguard Worker  // }
319*d5c09012SAndroid Build Coastguard Worker  // documents_metadata_filters {
320*d5c09012SAndroid Build Coastguard Worker  //   key: "user"
321*d5c09012SAndroid Build Coastguard Worker  //   value: "agent"
322*d5c09012SAndroid Build Coastguard Worker  // }
323*d5c09012SAndroid Build Coastguard Worker  // ```
324*d5c09012SAndroid Build Coastguard Worker  map<string, string> documents_metadata_filters = 8
325*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
326*d5c09012SAndroid Build Coastguard Worker}
327*d5c09012SAndroid Build Coastguard Worker
328*d5c09012SAndroid Build Coastguard Worker// Represents a message posted into a conversation.
329*d5c09012SAndroid Build Coastguard Workermessage Message {
330*d5c09012SAndroid Build Coastguard Worker  option (google.api.resource) = {
331*d5c09012SAndroid Build Coastguard Worker    type: "dialogflow.googleapis.com/Message"
332*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/conversations/{conversation}/messages/{message}"
333*d5c09012SAndroid Build Coastguard Worker    pattern: "projects/{project}/locations/{location}/conversations/{conversation}/messages/{message}"
334*d5c09012SAndroid Build Coastguard Worker  };
335*d5c09012SAndroid Build Coastguard Worker
336*d5c09012SAndroid Build Coastguard Worker  // Optional. The unique identifier of the message.
337*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
338*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
339*d5c09012SAndroid Build Coastguard Worker  string name = 1 [(google.api.field_behavior) = OPTIONAL];
340*d5c09012SAndroid Build Coastguard Worker
341*d5c09012SAndroid Build Coastguard Worker  // Required. The message content.
342*d5c09012SAndroid Build Coastguard Worker  string content = 2 [(google.api.field_behavior) = REQUIRED];
343*d5c09012SAndroid Build Coastguard Worker
344*d5c09012SAndroid Build Coastguard Worker  // Optional. The message language.
345*d5c09012SAndroid Build Coastguard Worker  // This should be a [BCP-47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt)
346*d5c09012SAndroid Build Coastguard Worker  // language tag. Example: "en-US".
347*d5c09012SAndroid Build Coastguard Worker  string language_code = 3 [(google.api.field_behavior) = OPTIONAL];
348*d5c09012SAndroid Build Coastguard Worker
349*d5c09012SAndroid Build Coastguard Worker  // Output only. The participant that sends this message.
350*d5c09012SAndroid Build Coastguard Worker  string participant = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
351*d5c09012SAndroid Build Coastguard Worker
352*d5c09012SAndroid Build Coastguard Worker  // Output only. The role of the participant.
353*d5c09012SAndroid Build Coastguard Worker  Participant.Role participant_role = 5
354*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
355*d5c09012SAndroid Build Coastguard Worker
356*d5c09012SAndroid Build Coastguard Worker  // Output only. The time when the message was created in Contact Center AI.
357*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 6
358*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
359*d5c09012SAndroid Build Coastguard Worker
360*d5c09012SAndroid Build Coastguard Worker  // Optional. The time when the message was sent.
361*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp send_time = 9
362*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
363*d5c09012SAndroid Build Coastguard Worker
364*d5c09012SAndroid Build Coastguard Worker  // Output only. The annotation for the message.
365*d5c09012SAndroid Build Coastguard Worker  MessageAnnotation message_annotation = 7
366*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
367*d5c09012SAndroid Build Coastguard Worker
368*d5c09012SAndroid Build Coastguard Worker  // Output only. The sentiment analysis result for the message.
369*d5c09012SAndroid Build Coastguard Worker  SentimentAnalysisResult sentiment_analysis = 8
370*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OUTPUT_ONLY];
371*d5c09012SAndroid Build Coastguard Worker}
372*d5c09012SAndroid Build Coastguard Worker
373*d5c09012SAndroid Build Coastguard Worker// The request message for
374*d5c09012SAndroid Build Coastguard Worker// [Participants.CreateParticipant][google.cloud.dialogflow.v2beta1.Participants.CreateParticipant].
375*d5c09012SAndroid Build Coastguard Workermessage CreateParticipantRequest {
376*d5c09012SAndroid Build Coastguard Worker  // Required. Resource identifier of the conversation adding the participant.
377*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
378*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>`.
379*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
380*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
381*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
382*d5c09012SAndroid Build Coastguard Worker      child_type: "dialogflow.googleapis.com/Participant"
383*d5c09012SAndroid Build Coastguard Worker    }
384*d5c09012SAndroid Build Coastguard Worker  ];
385*d5c09012SAndroid Build Coastguard Worker
386*d5c09012SAndroid Build Coastguard Worker  // Required. The participant to create.
387*d5c09012SAndroid Build Coastguard Worker  Participant participant = 2 [(google.api.field_behavior) = REQUIRED];
388*d5c09012SAndroid Build Coastguard Worker}
389*d5c09012SAndroid Build Coastguard Worker
390*d5c09012SAndroid Build Coastguard Worker// The request message for
391*d5c09012SAndroid Build Coastguard Worker// [Participants.GetParticipant][google.cloud.dialogflow.v2beta1.Participants.GetParticipant].
392*d5c09012SAndroid Build Coastguard Workermessage GetParticipantRequest {
393*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the participant. Format:
394*d5c09012SAndroid Build Coastguard Worker  // `projects/<Project ID>/locations/<Location ID>/conversations/<Conversation
395*d5c09012SAndroid Build Coastguard Worker  // ID>/participants/<Participant ID>`.
396*d5c09012SAndroid Build Coastguard Worker  string name = 1 [
397*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
398*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
399*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Participant"
400*d5c09012SAndroid Build Coastguard Worker    }
401*d5c09012SAndroid Build Coastguard Worker  ];
402*d5c09012SAndroid Build Coastguard Worker}
403*d5c09012SAndroid Build Coastguard Worker
404*d5c09012SAndroid Build Coastguard Worker// The request message for
405*d5c09012SAndroid Build Coastguard Worker// [Participants.ListParticipants][google.cloud.dialogflow.v2beta1.Participants.ListParticipants].
406*d5c09012SAndroid Build Coastguard Workermessage ListParticipantsRequest {
407*d5c09012SAndroid Build Coastguard Worker  // Required. The conversation to list all participants from.
408*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
409*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>`.
410*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
411*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
412*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
413*d5c09012SAndroid Build Coastguard Worker      child_type: "dialogflow.googleapis.com/Participant"
414*d5c09012SAndroid Build Coastguard Worker    }
415*d5c09012SAndroid Build Coastguard Worker  ];
416*d5c09012SAndroid Build Coastguard Worker
417*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of items to return in a single page. By
418*d5c09012SAndroid Build Coastguard Worker  // default 100 and at most 1000.
419*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
420*d5c09012SAndroid Build Coastguard Worker
421*d5c09012SAndroid Build Coastguard Worker  // Optional. The next_page_token value returned from a previous list request.
422*d5c09012SAndroid Build Coastguard Worker  string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
423*d5c09012SAndroid Build Coastguard Worker}
424*d5c09012SAndroid Build Coastguard Worker
425*d5c09012SAndroid Build Coastguard Worker// The response message for
426*d5c09012SAndroid Build Coastguard Worker// [Participants.ListParticipants][google.cloud.dialogflow.v2beta1.Participants.ListParticipants].
427*d5c09012SAndroid Build Coastguard Workermessage ListParticipantsResponse {
428*d5c09012SAndroid Build Coastguard Worker  // The list of participants. There is a maximum number of items
429*d5c09012SAndroid Build Coastguard Worker  // returned based on the page_size field in the request.
430*d5c09012SAndroid Build Coastguard Worker  repeated Participant participants = 1;
431*d5c09012SAndroid Build Coastguard Worker
432*d5c09012SAndroid Build Coastguard Worker  // Token to retrieve the next page of results or empty if there are no
433*d5c09012SAndroid Build Coastguard Worker  // more results in the list.
434*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
435*d5c09012SAndroid Build Coastguard Worker}
436*d5c09012SAndroid Build Coastguard Worker
437*d5c09012SAndroid Build Coastguard Worker// The request message for
438*d5c09012SAndroid Build Coastguard Worker// [Participants.UpdateParticipant][google.cloud.dialogflow.v2beta1.Participants.UpdateParticipant].
439*d5c09012SAndroid Build Coastguard Workermessage UpdateParticipantRequest {
440*d5c09012SAndroid Build Coastguard Worker  // Required. The participant to update.
441*d5c09012SAndroid Build Coastguard Worker  Participant participant = 1 [(google.api.field_behavior) = REQUIRED];
442*d5c09012SAndroid Build Coastguard Worker
443*d5c09012SAndroid Build Coastguard Worker  // Required. The mask to specify which fields to update.
444*d5c09012SAndroid Build Coastguard Worker  google.protobuf.FieldMask update_mask = 2
445*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = REQUIRED];
446*d5c09012SAndroid Build Coastguard Worker}
447*d5c09012SAndroid Build Coastguard Worker
448*d5c09012SAndroid Build Coastguard Worker// Represents the natural language speech audio to be processed.
449*d5c09012SAndroid Build Coastguard Workermessage AudioInput {
450*d5c09012SAndroid Build Coastguard Worker  // Required. Instructs the speech recognizer how to process the speech audio.
451*d5c09012SAndroid Build Coastguard Worker  InputAudioConfig config = 1;
452*d5c09012SAndroid Build Coastguard Worker
453*d5c09012SAndroid Build Coastguard Worker  // Required. The natural language speech audio to be processed.
454*d5c09012SAndroid Build Coastguard Worker  // A single request can contain up to 1 minute of speech audio data.
455*d5c09012SAndroid Build Coastguard Worker  // The transcribed text cannot contain more than 256 bytes for virtual agent
456*d5c09012SAndroid Build Coastguard Worker  // interactions.
457*d5c09012SAndroid Build Coastguard Worker  bytes audio = 2;
458*d5c09012SAndroid Build Coastguard Worker}
459*d5c09012SAndroid Build Coastguard Worker
460*d5c09012SAndroid Build Coastguard Worker// Represents the natural language speech audio to be played to the end user.
461*d5c09012SAndroid Build Coastguard Workermessage OutputAudio {
462*d5c09012SAndroid Build Coastguard Worker  // Required. Instructs the speech synthesizer how to generate the speech
463*d5c09012SAndroid Build Coastguard Worker  // audio.
464*d5c09012SAndroid Build Coastguard Worker  OutputAudioConfig config = 1;
465*d5c09012SAndroid Build Coastguard Worker
466*d5c09012SAndroid Build Coastguard Worker  // Required. The natural language speech audio.
467*d5c09012SAndroid Build Coastguard Worker  bytes audio = 2;
468*d5c09012SAndroid Build Coastguard Worker}
469*d5c09012SAndroid Build Coastguard Worker
470*d5c09012SAndroid Build Coastguard Worker// Represents a response from an automated agent.
471*d5c09012SAndroid Build Coastguard Workermessage AutomatedAgentReply {
472*d5c09012SAndroid Build Coastguard Worker  // Represents different automated agent reply types.
473*d5c09012SAndroid Build Coastguard Worker  enum AutomatedAgentReplyType {
474*d5c09012SAndroid Build Coastguard Worker    // Not specified. This should never happen.
475*d5c09012SAndroid Build Coastguard Worker    AUTOMATED_AGENT_REPLY_TYPE_UNSPECIFIED = 0;
476*d5c09012SAndroid Build Coastguard Worker
477*d5c09012SAndroid Build Coastguard Worker    // Partial reply. e.g. Aggregated responses in a `Fulfillment` that enables
478*d5c09012SAndroid Build Coastguard Worker    // `return_partial_response` can be returned as partial reply.
479*d5c09012SAndroid Build Coastguard Worker    // WARNING: partial reply is not eligible for barge-in.
480*d5c09012SAndroid Build Coastguard Worker    PARTIAL = 1;
481*d5c09012SAndroid Build Coastguard Worker
482*d5c09012SAndroid Build Coastguard Worker    // Final reply.
483*d5c09012SAndroid Build Coastguard Worker    FINAL = 2;
484*d5c09012SAndroid Build Coastguard Worker  }
485*d5c09012SAndroid Build Coastguard Worker
486*d5c09012SAndroid Build Coastguard Worker  // Required.
487*d5c09012SAndroid Build Coastguard Worker  oneof response {
488*d5c09012SAndroid Build Coastguard Worker    // Response of the Dialogflow
489*d5c09012SAndroid Build Coastguard Worker    // [Sessions.DetectIntent][google.cloud.dialogflow.v2beta1.Sessions.DetectIntent]
490*d5c09012SAndroid Build Coastguard Worker    // call.
491*d5c09012SAndroid Build Coastguard Worker    DetectIntentResponse detect_intent_response = 1;
492*d5c09012SAndroid Build Coastguard Worker  }
493*d5c09012SAndroid Build Coastguard Worker
494*d5c09012SAndroid Build Coastguard Worker  // Response messages from the automated agent.
495*d5c09012SAndroid Build Coastguard Worker  repeated ResponseMessage response_messages = 3;
496*d5c09012SAndroid Build Coastguard Worker
497*d5c09012SAndroid Build Coastguard Worker  // Info on the query match for the automated agent response.
498*d5c09012SAndroid Build Coastguard Worker  oneof match {
499*d5c09012SAndroid Build Coastguard Worker    // Name of the intent if an intent is matched for the query.
500*d5c09012SAndroid Build Coastguard Worker    // For a V2 query, the value format is `projects/<Project ID>/locations/
501*d5c09012SAndroid Build Coastguard Worker    // <Location ID>/agent/intents/<Intent ID>`.
502*d5c09012SAndroid Build Coastguard Worker    // For a V3 query, the value format is `projects/<Project ID>/locations/
503*d5c09012SAndroid Build Coastguard Worker    // <Location ID>/agents/<Agent ID>/intents/<Intent ID>`.
504*d5c09012SAndroid Build Coastguard Worker    string intent = 4 [(google.api.resource_reference) = {
505*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Intent"
506*d5c09012SAndroid Build Coastguard Worker    }];
507*d5c09012SAndroid Build Coastguard Worker
508*d5c09012SAndroid Build Coastguard Worker    // Event name if an event is triggered for the query.
509*d5c09012SAndroid Build Coastguard Worker    string event = 5;
510*d5c09012SAndroid Build Coastguard Worker  }
511*d5c09012SAndroid Build Coastguard Worker
512*d5c09012SAndroid Build Coastguard Worker  // The confidence of the match. Values range from 0.0 (completely uncertain)
513*d5c09012SAndroid Build Coastguard Worker  // to 1.0 (completely certain).
514*d5c09012SAndroid Build Coastguard Worker  // This value is for informational purpose only and is only used to help match
515*d5c09012SAndroid Build Coastguard Worker  // the best intent within the classification threshold. This value may change
516*d5c09012SAndroid Build Coastguard Worker  // for the same end-user expression at any time due to a model retraining or
517*d5c09012SAndroid Build Coastguard Worker  // change in implementation.
518*d5c09012SAndroid Build Coastguard Worker  float match_confidence = 9;
519*d5c09012SAndroid Build Coastguard Worker
520*d5c09012SAndroid Build Coastguard Worker  // The collection of current parameters at the time of this response.
521*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Struct parameters = 10;
522*d5c09012SAndroid Build Coastguard Worker
523*d5c09012SAndroid Build Coastguard Worker  // The collection of current Dialogflow CX agent session parameters at the
524*d5c09012SAndroid Build Coastguard Worker  // time of this response.
525*d5c09012SAndroid Build Coastguard Worker  // Deprecated: Use `parameters` instead.
526*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Struct cx_session_parameters = 6 [deprecated = true];
527*d5c09012SAndroid Build Coastguard Worker
528*d5c09012SAndroid Build Coastguard Worker  // AutomatedAgentReply type.
529*d5c09012SAndroid Build Coastguard Worker  AutomatedAgentReplyType automated_agent_reply_type = 7;
530*d5c09012SAndroid Build Coastguard Worker
531*d5c09012SAndroid Build Coastguard Worker  // Indicates whether the partial automated agent reply is interruptible when a
532*d5c09012SAndroid Build Coastguard Worker  // later reply message arrives. e.g. if the agent specified some music as
533*d5c09012SAndroid Build Coastguard Worker  // partial response, it can be cancelled.
534*d5c09012SAndroid Build Coastguard Worker  bool allow_cancellation = 8;
535*d5c09012SAndroid Build Coastguard Worker
536*d5c09012SAndroid Build Coastguard Worker  // The unique identifier of the current Dialogflow CX conversation page.
537*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
538*d5c09012SAndroid Build Coastguard Worker  // ID>/flows/<Flow ID>/pages/<Page ID>`.
539*d5c09012SAndroid Build Coastguard Worker  string cx_current_page = 11;
540*d5c09012SAndroid Build Coastguard Worker}
541*d5c09012SAndroid Build Coastguard Worker
542*d5c09012SAndroid Build Coastguard Worker// Represents the selection of a suggestion.
543*d5c09012SAndroid Build Coastguard Workermessage SuggestionInput {
544*d5c09012SAndroid Build Coastguard Worker  // Required. The ID of a suggestion selected by the human agent.
545*d5c09012SAndroid Build Coastguard Worker  // The suggestion(s) were generated in a previous call to
546*d5c09012SAndroid Build Coastguard Worker  // request Dialogflow assist.
547*d5c09012SAndroid Build Coastguard Worker  // The format is:
548*d5c09012SAndroid Build Coastguard Worker  // `projects/<Project ID>/locations/<Location ID>/answerRecords/<Answer Record
549*d5c09012SAndroid Build Coastguard Worker  // ID>` where <Answer Record ID> is an alphanumeric string.
550*d5c09012SAndroid Build Coastguard Worker  string answer_record = 1;
551*d5c09012SAndroid Build Coastguard Worker
552*d5c09012SAndroid Build Coastguard Worker  // Optional. If the customer edited the suggestion before using it, include
553*d5c09012SAndroid Build Coastguard Worker  // the revised text here.
554*d5c09012SAndroid Build Coastguard Worker  TextInput text_override = 2;
555*d5c09012SAndroid Build Coastguard Worker
556*d5c09012SAndroid Build Coastguard Worker  // In Dialogflow assist for v3, the user can submit a form by sending
557*d5c09012SAndroid Build Coastguard Worker  // a [SuggestionInput][google.cloud.dialogflow.v2beta1.SuggestionInput]. The
558*d5c09012SAndroid Build Coastguard Worker  // form is uniquely determined by the
559*d5c09012SAndroid Build Coastguard Worker  // [answer_record][google.cloud.dialogflow.v2beta1.SuggestionInput.answer_record]
560*d5c09012SAndroid Build Coastguard Worker  // field, which identifies a v3
561*d5c09012SAndroid Build Coastguard Worker  // [QueryResult][google.cloud.dialogflow.v3alpha1.QueryResult] containing the
562*d5c09012SAndroid Build Coastguard Worker  // current [page][google.cloud.dialogflow.v3alpha1.Page]. The form parameters
563*d5c09012SAndroid Build Coastguard Worker  // are specified via the
564*d5c09012SAndroid Build Coastguard Worker  // [parameters][google.cloud.dialogflow.v2beta1.SuggestionInput.parameters]
565*d5c09012SAndroid Build Coastguard Worker  // field.
566*d5c09012SAndroid Build Coastguard Worker  //
567*d5c09012SAndroid Build Coastguard Worker  // Depending on your protocol or client library language, this is a
568*d5c09012SAndroid Build Coastguard Worker  // map, associative array, symbol table, dictionary, or JSON object
569*d5c09012SAndroid Build Coastguard Worker  // composed of a collection of (MapKey, MapValue) pairs:
570*d5c09012SAndroid Build Coastguard Worker  //
571*d5c09012SAndroid Build Coastguard Worker  // * MapKey type: string
572*d5c09012SAndroid Build Coastguard Worker  // * MapKey value: parameter name
573*d5c09012SAndroid Build Coastguard Worker  // * MapValue type: If parameter's entity type is a composite entity then use
574*d5c09012SAndroid Build Coastguard Worker  // map, otherwise, depending on the parameter value type, it could be one of
575*d5c09012SAndroid Build Coastguard Worker  // string, number, boolean, null, list or map.
576*d5c09012SAndroid Build Coastguard Worker  // * MapValue value: If parameter's entity type is a composite entity then use
577*d5c09012SAndroid Build Coastguard Worker  // map from composite entity property names to property values, otherwise,
578*d5c09012SAndroid Build Coastguard Worker  // use parameter value.
579*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Struct parameters = 4;
580*d5c09012SAndroid Build Coastguard Worker
581*d5c09012SAndroid Build Coastguard Worker  // The intent to be triggered on V3 agent.
582*d5c09012SAndroid Build Coastguard Worker  IntentInput intent_input = 6;
583*d5c09012SAndroid Build Coastguard Worker}
584*d5c09012SAndroid Build Coastguard Worker
585*d5c09012SAndroid Build Coastguard Worker// Represents the intent to trigger programmatically rather than as a result of
586*d5c09012SAndroid Build Coastguard Worker// natural language processing. The intent input is only used for V3 agent.
587*d5c09012SAndroid Build Coastguard Workermessage IntentInput {
588*d5c09012SAndroid Build Coastguard Worker  // Required. The unique identifier of the intent in V3 agent.
589*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location ID>/locations/<Location
590*d5c09012SAndroid Build Coastguard Worker  // ID>/agents/<Agent ID>/intents/<Intent ID>`.
591*d5c09012SAndroid Build Coastguard Worker  string intent = 1 [(google.api.field_behavior) = REQUIRED];
592*d5c09012SAndroid Build Coastguard Worker
593*d5c09012SAndroid Build Coastguard Worker  // Required. The language of this conversational query. See [Language
594*d5c09012SAndroid Build Coastguard Worker  // Support](https://cloud.google.com/dialogflow/docs/reference/language)
595*d5c09012SAndroid Build Coastguard Worker  // for a list of the currently supported language codes.
596*d5c09012SAndroid Build Coastguard Worker  string language_code = 3 [(google.api.field_behavior) = REQUIRED];
597*d5c09012SAndroid Build Coastguard Worker}
598*d5c09012SAndroid Build Coastguard Worker
599*d5c09012SAndroid Build Coastguard Worker// The type of Human Agent Assistant API suggestion to perform, and the maximum
600*d5c09012SAndroid Build Coastguard Worker// number of results to return for that type. Multiple `Feature` objects can
601*d5c09012SAndroid Build Coastguard Worker// be specified in the `features` list.
602*d5c09012SAndroid Build Coastguard Workermessage SuggestionFeature {
603*d5c09012SAndroid Build Coastguard Worker  // Defines the type of Human Agent Assistant feature.
604*d5c09012SAndroid Build Coastguard Worker  enum Type {
605*d5c09012SAndroid Build Coastguard Worker    // Unspecified feature type.
606*d5c09012SAndroid Build Coastguard Worker    TYPE_UNSPECIFIED = 0;
607*d5c09012SAndroid Build Coastguard Worker
608*d5c09012SAndroid Build Coastguard Worker    // Run article suggestion model for chat.
609*d5c09012SAndroid Build Coastguard Worker    ARTICLE_SUGGESTION = 1;
610*d5c09012SAndroid Build Coastguard Worker
611*d5c09012SAndroid Build Coastguard Worker    // Run FAQ model.
612*d5c09012SAndroid Build Coastguard Worker    FAQ = 2;
613*d5c09012SAndroid Build Coastguard Worker
614*d5c09012SAndroid Build Coastguard Worker    // Run smart reply model for chat.
615*d5c09012SAndroid Build Coastguard Worker    SMART_REPLY = 3;
616*d5c09012SAndroid Build Coastguard Worker
617*d5c09012SAndroid Build Coastguard Worker    // Run Dialogflow assist model for chat, which will return automated agent
618*d5c09012SAndroid Build Coastguard Worker    // response as suggestion.
619*d5c09012SAndroid Build Coastguard Worker    DIALOGFLOW_ASSIST = 4;
620*d5c09012SAndroid Build Coastguard Worker
621*d5c09012SAndroid Build Coastguard Worker    // Run conversation summarization model for chat.
622*d5c09012SAndroid Build Coastguard Worker    CONVERSATION_SUMMARIZATION = 8;
623*d5c09012SAndroid Build Coastguard Worker
624*d5c09012SAndroid Build Coastguard Worker    // Run knowledge search with text input from agent or text generated query.
625*d5c09012SAndroid Build Coastguard Worker    KNOWLEDGE_SEARCH = 14;
626*d5c09012SAndroid Build Coastguard Worker  }
627*d5c09012SAndroid Build Coastguard Worker
628*d5c09012SAndroid Build Coastguard Worker  // Type of Human Agent Assistant API feature to request.
629*d5c09012SAndroid Build Coastguard Worker  Type type = 1;
630*d5c09012SAndroid Build Coastguard Worker}
631*d5c09012SAndroid Build Coastguard Worker
632*d5c09012SAndroid Build Coastguard Worker// Represents the parameters of human assist query.
633*d5c09012SAndroid Build Coastguard Workermessage AssistQueryParameters {
634*d5c09012SAndroid Build Coastguard Worker  // Key-value filters on the metadata of documents returned by article
635*d5c09012SAndroid Build Coastguard Worker  // suggestion. If specified, article suggestion only returns suggested
636*d5c09012SAndroid Build Coastguard Worker  // documents that match all filters in their
637*d5c09012SAndroid Build Coastguard Worker  // [Document.metadata][google.cloud.dialogflow.v2beta1.Document.metadata].
638*d5c09012SAndroid Build Coastguard Worker  // Multiple values for a metadata key should be concatenated by comma. For
639*d5c09012SAndroid Build Coastguard Worker  // example, filters to match all documents that have 'US' or 'CA' in their
640*d5c09012SAndroid Build Coastguard Worker  // market metadata values and 'agent' in their user metadata values will be
641*d5c09012SAndroid Build Coastguard Worker  // ```
642*d5c09012SAndroid Build Coastguard Worker  // documents_metadata_filters {
643*d5c09012SAndroid Build Coastguard Worker  //   key: "market"
644*d5c09012SAndroid Build Coastguard Worker  //   value: "US,CA"
645*d5c09012SAndroid Build Coastguard Worker  // }
646*d5c09012SAndroid Build Coastguard Worker  // documents_metadata_filters {
647*d5c09012SAndroid Build Coastguard Worker  //   key: "user"
648*d5c09012SAndroid Build Coastguard Worker  //   value: "agent"
649*d5c09012SAndroid Build Coastguard Worker  // }
650*d5c09012SAndroid Build Coastguard Worker  // ```
651*d5c09012SAndroid Build Coastguard Worker  map<string, string> documents_metadata_filters = 1;
652*d5c09012SAndroid Build Coastguard Worker}
653*d5c09012SAndroid Build Coastguard Worker
654*d5c09012SAndroid Build Coastguard Worker// The request message for
655*d5c09012SAndroid Build Coastguard Worker// [Participants.AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent].
656*d5c09012SAndroid Build Coastguard Workermessage AnalyzeContentRequest {
657*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the participant this text comes from.
658*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
659*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
660*d5c09012SAndroid Build Coastguard Worker  string participant = 1 [
661*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
662*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
663*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Participant"
664*d5c09012SAndroid Build Coastguard Worker    }
665*d5c09012SAndroid Build Coastguard Worker  ];
666*d5c09012SAndroid Build Coastguard Worker
667*d5c09012SAndroid Build Coastguard Worker  // Required. The input content.
668*d5c09012SAndroid Build Coastguard Worker  oneof input {
669*d5c09012SAndroid Build Coastguard Worker    // The natural language text to be processed.
670*d5c09012SAndroid Build Coastguard Worker    TextInput text_input = 6;
671*d5c09012SAndroid Build Coastguard Worker
672*d5c09012SAndroid Build Coastguard Worker    // The natural language speech audio to be processed.
673*d5c09012SAndroid Build Coastguard Worker    AudioInput audio_input = 7;
674*d5c09012SAndroid Build Coastguard Worker
675*d5c09012SAndroid Build Coastguard Worker    // An input event to send to Dialogflow.
676*d5c09012SAndroid Build Coastguard Worker    EventInput event_input = 8;
677*d5c09012SAndroid Build Coastguard Worker
678*d5c09012SAndroid Build Coastguard Worker    // An input representing the selection of a suggestion.
679*d5c09012SAndroid Build Coastguard Worker    SuggestionInput suggestion_input = 12;
680*d5c09012SAndroid Build Coastguard Worker
681*d5c09012SAndroid Build Coastguard Worker    // The intent to be triggered on V3 agent.
682*d5c09012SAndroid Build Coastguard Worker    IntentInput intent_input = 13;
683*d5c09012SAndroid Build Coastguard Worker  }
684*d5c09012SAndroid Build Coastguard Worker
685*d5c09012SAndroid Build Coastguard Worker  // Speech synthesis configuration.
686*d5c09012SAndroid Build Coastguard Worker  // The speech synthesis settings for a virtual agent that may be configured
687*d5c09012SAndroid Build Coastguard Worker  // for the associated conversation profile are not used when calling
688*d5c09012SAndroid Build Coastguard Worker  // AnalyzeContent. If this configuration is not supplied, speech synthesis
689*d5c09012SAndroid Build Coastguard Worker  // is disabled.
690*d5c09012SAndroid Build Coastguard Worker  OutputAudioConfig reply_audio_config = 5;
691*d5c09012SAndroid Build Coastguard Worker
692*d5c09012SAndroid Build Coastguard Worker  // Parameters for a Dialogflow virtual-agent query.
693*d5c09012SAndroid Build Coastguard Worker  QueryParameters query_params = 9;
694*d5c09012SAndroid Build Coastguard Worker
695*d5c09012SAndroid Build Coastguard Worker  // Parameters for a human assist query.
696*d5c09012SAndroid Build Coastguard Worker  AssistQueryParameters assist_query_params = 14;
697*d5c09012SAndroid Build Coastguard Worker
698*d5c09012SAndroid Build Coastguard Worker  // Additional parameters to be put into Dialogflow CX session parameters. To
699*d5c09012SAndroid Build Coastguard Worker  // remove a parameter from the session, clients should explicitly set the
700*d5c09012SAndroid Build Coastguard Worker  // parameter value to null.
701*d5c09012SAndroid Build Coastguard Worker  //
702*d5c09012SAndroid Build Coastguard Worker  // Note: this field should only be used if you are connecting to a Dialogflow
703*d5c09012SAndroid Build Coastguard Worker  // CX agent.
704*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Struct cx_parameters = 18;
705*d5c09012SAndroid Build Coastguard Worker
706*d5c09012SAndroid Build Coastguard Worker  // The unique identifier of the CX page to override the `current_page` in the
707*d5c09012SAndroid Build Coastguard Worker  // session.
708*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
709*d5c09012SAndroid Build Coastguard Worker  // ID>/flows/<Flow ID>/pages/<Page ID>`.
710*d5c09012SAndroid Build Coastguard Worker  //
711*d5c09012SAndroid Build Coastguard Worker  // If `cx_current_page` is specified, the previous state of the session will
712*d5c09012SAndroid Build Coastguard Worker  // be ignored by Dialogflow CX, including the [previous
713*d5c09012SAndroid Build Coastguard Worker  // page][QueryResult.current_page] and the [previous session
714*d5c09012SAndroid Build Coastguard Worker  // parameters][QueryResult.parameters]. In most cases, `cx_current_page` and
715*d5c09012SAndroid Build Coastguard Worker  // `cx_parameters` should be configured together to direct a session to a
716*d5c09012SAndroid Build Coastguard Worker  // specific state.
717*d5c09012SAndroid Build Coastguard Worker  //
718*d5c09012SAndroid Build Coastguard Worker  // Note: this field should only be used if you are connecting to a Dialogflow
719*d5c09012SAndroid Build Coastguard Worker  // CX agent.
720*d5c09012SAndroid Build Coastguard Worker  string cx_current_page = 20;
721*d5c09012SAndroid Build Coastguard Worker
722*d5c09012SAndroid Build Coastguard Worker  // Optional. The send time of the message from end user or human agent's
723*d5c09012SAndroid Build Coastguard Worker  // perspective. It is used for identifying the same message under one
724*d5c09012SAndroid Build Coastguard Worker  // participant.
725*d5c09012SAndroid Build Coastguard Worker  //
726*d5c09012SAndroid Build Coastguard Worker  // Given two messages under the same participant:
727*d5c09012SAndroid Build Coastguard Worker  // * If send time are different regardless of whether the content of the
728*d5c09012SAndroid Build Coastguard Worker  // messages are exactly the same, the conversation will regard them as
729*d5c09012SAndroid Build Coastguard Worker  // two distinct messages sent by the participant.
730*d5c09012SAndroid Build Coastguard Worker  // * If send time is the same regardless of whether the content of the
731*d5c09012SAndroid Build Coastguard Worker  // messages are exactly the same, the conversation will regard them as
732*d5c09012SAndroid Build Coastguard Worker  // same message, and ignore the message received later.
733*d5c09012SAndroid Build Coastguard Worker  //
734*d5c09012SAndroid Build Coastguard Worker  // If the value is not provided, a new request will always be regarded as a
735*d5c09012SAndroid Build Coastguard Worker  // new message without any de-duplication.
736*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp message_send_time = 10;
737*d5c09012SAndroid Build Coastguard Worker
738*d5c09012SAndroid Build Coastguard Worker  // A unique identifier for this request. Restricted to 36 ASCII characters.
739*d5c09012SAndroid Build Coastguard Worker  // A random UUID is recommended.
740*d5c09012SAndroid Build Coastguard Worker  // This request is only idempotent if a `request_id` is provided.
741*d5c09012SAndroid Build Coastguard Worker  string request_id = 11;
742*d5c09012SAndroid Build Coastguard Worker}
743*d5c09012SAndroid Build Coastguard Worker
744*d5c09012SAndroid Build Coastguard Worker// The message in the response that indicates the parameters of DTMF.
745*d5c09012SAndroid Build Coastguard Workermessage DtmfParameters {
746*d5c09012SAndroid Build Coastguard Worker  // Indicates whether DTMF input can be handled in the next request.
747*d5c09012SAndroid Build Coastguard Worker  bool accepts_dtmf_input = 1;
748*d5c09012SAndroid Build Coastguard Worker}
749*d5c09012SAndroid Build Coastguard Worker
750*d5c09012SAndroid Build Coastguard Worker// The response message for
751*d5c09012SAndroid Build Coastguard Worker// [Participants.AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent].
752*d5c09012SAndroid Build Coastguard Workermessage AnalyzeContentResponse {
753*d5c09012SAndroid Build Coastguard Worker  // Output only. The output text content.
754*d5c09012SAndroid Build Coastguard Worker  // This field is set if the automated agent responded with text to show to
755*d5c09012SAndroid Build Coastguard Worker  // the user.
756*d5c09012SAndroid Build Coastguard Worker  string reply_text = 1;
757*d5c09012SAndroid Build Coastguard Worker
758*d5c09012SAndroid Build Coastguard Worker  // Optional. The audio data bytes encoded as specified in the request.
759*d5c09012SAndroid Build Coastguard Worker  // This field is set if:
760*d5c09012SAndroid Build Coastguard Worker  //
761*d5c09012SAndroid Build Coastguard Worker  //  - `reply_audio_config` was specified in the request, or
762*d5c09012SAndroid Build Coastguard Worker  //  - The automated agent responded with audio to play to the user. In such
763*d5c09012SAndroid Build Coastguard Worker  //    case, `reply_audio.config` contains settings used to synthesize the
764*d5c09012SAndroid Build Coastguard Worker  //    speech.
765*d5c09012SAndroid Build Coastguard Worker  //
766*d5c09012SAndroid Build Coastguard Worker  // In some scenarios, multiple output audio fields may be present in the
767*d5c09012SAndroid Build Coastguard Worker  // response structure. In these cases, only the top-most-level audio output
768*d5c09012SAndroid Build Coastguard Worker  // has content.
769*d5c09012SAndroid Build Coastguard Worker  OutputAudio reply_audio = 2;
770*d5c09012SAndroid Build Coastguard Worker
771*d5c09012SAndroid Build Coastguard Worker  // Optional. Only set if a Dialogflow automated agent has responded.
772*d5c09012SAndroid Build Coastguard Worker  // Note that: [AutomatedAgentReply.detect_intent_response.output_audio][]
773*d5c09012SAndroid Build Coastguard Worker  // and [AutomatedAgentReply.detect_intent_response.output_audio_config][]
774*d5c09012SAndroid Build Coastguard Worker  // are always empty, use
775*d5c09012SAndroid Build Coastguard Worker  // [reply_audio][google.cloud.dialogflow.v2beta1.AnalyzeContentResponse.reply_audio]
776*d5c09012SAndroid Build Coastguard Worker  // instead.
777*d5c09012SAndroid Build Coastguard Worker  AutomatedAgentReply automated_agent_reply = 3;
778*d5c09012SAndroid Build Coastguard Worker
779*d5c09012SAndroid Build Coastguard Worker  // Output only. Message analyzed by CCAI.
780*d5c09012SAndroid Build Coastguard Worker  Message message = 5;
781*d5c09012SAndroid Build Coastguard Worker
782*d5c09012SAndroid Build Coastguard Worker  // The suggestions for most recent human agent. The order is the same as
783*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.SuggestionConfig.feature_configs][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.SuggestionConfig.feature_configs]
784*d5c09012SAndroid Build Coastguard Worker  // of
785*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.human_agent_suggestion_config][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.human_agent_suggestion_config].
786*d5c09012SAndroid Build Coastguard Worker  //
787*d5c09012SAndroid Build Coastguard Worker  // Note that any failure of Agent Assist features will not lead to the overall
788*d5c09012SAndroid Build Coastguard Worker  // failure of an AnalyzeContent API call. Instead, the features will
789*d5c09012SAndroid Build Coastguard Worker  // fail silently with the error field set in the corresponding
790*d5c09012SAndroid Build Coastguard Worker  // SuggestionResult.
791*d5c09012SAndroid Build Coastguard Worker  repeated SuggestionResult human_agent_suggestion_results = 6;
792*d5c09012SAndroid Build Coastguard Worker
793*d5c09012SAndroid Build Coastguard Worker  // The suggestions for end user. The order is the same as
794*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.SuggestionConfig.feature_configs][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.SuggestionConfig.feature_configs]
795*d5c09012SAndroid Build Coastguard Worker  // of
796*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.end_user_suggestion_config][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.end_user_suggestion_config].
797*d5c09012SAndroid Build Coastguard Worker  //
798*d5c09012SAndroid Build Coastguard Worker  // Same as human_agent_suggestion_results, any failure of Agent Assist
799*d5c09012SAndroid Build Coastguard Worker  // features will not lead to the overall failure of an AnalyzeContent API
800*d5c09012SAndroid Build Coastguard Worker  // call. Instead, the features will fail silently with the error field set in
801*d5c09012SAndroid Build Coastguard Worker  // the corresponding SuggestionResult.
802*d5c09012SAndroid Build Coastguard Worker  repeated SuggestionResult end_user_suggestion_results = 7;
803*d5c09012SAndroid Build Coastguard Worker
804*d5c09012SAndroid Build Coastguard Worker  // Indicates the parameters of DTMF.
805*d5c09012SAndroid Build Coastguard Worker  DtmfParameters dtmf_parameters = 9;
806*d5c09012SAndroid Build Coastguard Worker}
807*d5c09012SAndroid Build Coastguard Worker
808*d5c09012SAndroid Build Coastguard Worker// Defines the language used in the input text.
809*d5c09012SAndroid Build Coastguard Workermessage InputTextConfig {
810*d5c09012SAndroid Build Coastguard Worker  // Required. The language of this conversational query. See [Language
811*d5c09012SAndroid Build Coastguard Worker  // Support](https://cloud.google.com/dialogflow/docs/reference/language)
812*d5c09012SAndroid Build Coastguard Worker  // for a list of the currently supported language codes.
813*d5c09012SAndroid Build Coastguard Worker  string language_code = 1;
814*d5c09012SAndroid Build Coastguard Worker}
815*d5c09012SAndroid Build Coastguard Worker
816*d5c09012SAndroid Build Coastguard Worker// The top-level message sent by the client to the
817*d5c09012SAndroid Build Coastguard Worker// [Participants.StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.StreamingAnalyzeContent]
818*d5c09012SAndroid Build Coastguard Worker// method.
819*d5c09012SAndroid Build Coastguard Worker//
820*d5c09012SAndroid Build Coastguard Worker// Multiple request messages should be sent in order:
821*d5c09012SAndroid Build Coastguard Worker//
822*d5c09012SAndroid Build Coastguard Worker// 1.  The first message must contain
823*d5c09012SAndroid Build Coastguard Worker//     [participant][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.participant],
824*d5c09012SAndroid Build Coastguard Worker//     [config][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.config]
825*d5c09012SAndroid Build Coastguard Worker//     and optionally
826*d5c09012SAndroid Build Coastguard Worker//     [query_params][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.query_params].
827*d5c09012SAndroid Build Coastguard Worker//     If you want to receive an audio response, it should also contain
828*d5c09012SAndroid Build Coastguard Worker//     [reply_audio_config][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.reply_audio_config].
829*d5c09012SAndroid Build Coastguard Worker//     The message must not contain
830*d5c09012SAndroid Build Coastguard Worker//     [input][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.input].
831*d5c09012SAndroid Build Coastguard Worker//
832*d5c09012SAndroid Build Coastguard Worker// 2.  If
833*d5c09012SAndroid Build Coastguard Worker// [config][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.config]
834*d5c09012SAndroid Build Coastguard Worker// in the first message
835*d5c09012SAndroid Build Coastguard Worker//     was set to
836*d5c09012SAndroid Build Coastguard Worker//     [audio_config][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.audio_config],
837*d5c09012SAndroid Build Coastguard Worker//     all subsequent messages must contain
838*d5c09012SAndroid Build Coastguard Worker//     [input_audio][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.input_audio]
839*d5c09012SAndroid Build Coastguard Worker//     to continue with Speech recognition. If you decide to rather analyze text
840*d5c09012SAndroid Build Coastguard Worker//     input after you already started Speech recognition, please send a message
841*d5c09012SAndroid Build Coastguard Worker//     with
842*d5c09012SAndroid Build Coastguard Worker//     [StreamingAnalyzeContentRequest.input_text][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.input_text].
843*d5c09012SAndroid Build Coastguard Worker//
844*d5c09012SAndroid Build Coastguard Worker//     However, note that:
845*d5c09012SAndroid Build Coastguard Worker//
846*d5c09012SAndroid Build Coastguard Worker//     * Dialogflow will bill you for the audio so far.
847*d5c09012SAndroid Build Coastguard Worker//     * Dialogflow discards all Speech recognition results in favor of the
848*d5c09012SAndroid Build Coastguard Worker//       text input.
849*d5c09012SAndroid Build Coastguard Worker//
850*d5c09012SAndroid Build Coastguard Worker//  3. If
851*d5c09012SAndroid Build Coastguard Worker//  [StreamingAnalyzeContentRequest.config][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.config]
852*d5c09012SAndroid Build Coastguard Worker//  in the first message was set
853*d5c09012SAndroid Build Coastguard Worker//    to
854*d5c09012SAndroid Build Coastguard Worker//    [StreamingAnalyzeContentRequest.text_config][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.text_config],
855*d5c09012SAndroid Build Coastguard Worker//    then the second message must contain only
856*d5c09012SAndroid Build Coastguard Worker//    [input_text][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentRequest.input_text].
857*d5c09012SAndroid Build Coastguard Worker//    Moreover, you must not send more than two messages.
858*d5c09012SAndroid Build Coastguard Worker//
859*d5c09012SAndroid Build Coastguard Worker//  After you sent all input, you must half-close or abort the request stream.
860*d5c09012SAndroid Build Coastguard Workermessage StreamingAnalyzeContentRequest {
861*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the participant this text comes from.
862*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
863*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
864*d5c09012SAndroid Build Coastguard Worker  string participant = 1 [
865*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
866*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
867*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Participant"
868*d5c09012SAndroid Build Coastguard Worker    }
869*d5c09012SAndroid Build Coastguard Worker  ];
870*d5c09012SAndroid Build Coastguard Worker
871*d5c09012SAndroid Build Coastguard Worker  // Required. The input config.
872*d5c09012SAndroid Build Coastguard Worker  oneof config {
873*d5c09012SAndroid Build Coastguard Worker    // Instructs the speech recognizer how to process the speech audio.
874*d5c09012SAndroid Build Coastguard Worker    InputAudioConfig audio_config = 2;
875*d5c09012SAndroid Build Coastguard Worker
876*d5c09012SAndroid Build Coastguard Worker    // The natural language text to be processed.
877*d5c09012SAndroid Build Coastguard Worker    InputTextConfig text_config = 3;
878*d5c09012SAndroid Build Coastguard Worker  }
879*d5c09012SAndroid Build Coastguard Worker
880*d5c09012SAndroid Build Coastguard Worker  // Speech synthesis configuration.
881*d5c09012SAndroid Build Coastguard Worker  // The speech synthesis settings for a virtual agent that may be configured
882*d5c09012SAndroid Build Coastguard Worker  // for the associated conversation profile are not used when calling
883*d5c09012SAndroid Build Coastguard Worker  // StreamingAnalyzeContent. If this configuration is not supplied, speech
884*d5c09012SAndroid Build Coastguard Worker  // synthesis is disabled.
885*d5c09012SAndroid Build Coastguard Worker  OutputAudioConfig reply_audio_config = 4;
886*d5c09012SAndroid Build Coastguard Worker
887*d5c09012SAndroid Build Coastguard Worker  // Required. The input.
888*d5c09012SAndroid Build Coastguard Worker  oneof input {
889*d5c09012SAndroid Build Coastguard Worker    // The input audio content to be recognized. Must be sent if `audio_config`
890*d5c09012SAndroid Build Coastguard Worker    // is set in the first message. The complete audio over all streaming
891*d5c09012SAndroid Build Coastguard Worker    // messages must not exceed 1 minute.
892*d5c09012SAndroid Build Coastguard Worker    bytes input_audio = 5;
893*d5c09012SAndroid Build Coastguard Worker
894*d5c09012SAndroid Build Coastguard Worker    // The UTF-8 encoded natural language text to be processed. Must be sent if
895*d5c09012SAndroid Build Coastguard Worker    // `text_config` is set in the first message. Text length must not exceed
896*d5c09012SAndroid Build Coastguard Worker    // 256 bytes for virtual agent interactions. The `input_text` field can be
897*d5c09012SAndroid Build Coastguard Worker    // only sent once, and would cancel the speech recognition if any ongoing.
898*d5c09012SAndroid Build Coastguard Worker    string input_text = 6;
899*d5c09012SAndroid Build Coastguard Worker
900*d5c09012SAndroid Build Coastguard Worker    // The DTMF digits used to invoke intent and fill in parameter value.
901*d5c09012SAndroid Build Coastguard Worker    //
902*d5c09012SAndroid Build Coastguard Worker    // This input is ignored if the previous response indicated that DTMF input
903*d5c09012SAndroid Build Coastguard Worker    // is not accepted.
904*d5c09012SAndroid Build Coastguard Worker    TelephonyDtmfEvents input_dtmf = 9;
905*d5c09012SAndroid Build Coastguard Worker
906*d5c09012SAndroid Build Coastguard Worker    // The intent to be triggered on V3 agent.
907*d5c09012SAndroid Build Coastguard Worker    // Format: `projects/<Project ID>/locations/<Location ID>/locations/
908*d5c09012SAndroid Build Coastguard Worker    // <Location ID>/agents/<Agent ID>/intents/<Intent ID>`.
909*d5c09012SAndroid Build Coastguard Worker    string input_intent = 17;
910*d5c09012SAndroid Build Coastguard Worker
911*d5c09012SAndroid Build Coastguard Worker    // The input event name.
912*d5c09012SAndroid Build Coastguard Worker    // This can only be sent once and would cancel the ongoing speech
913*d5c09012SAndroid Build Coastguard Worker    // recognition if any.
914*d5c09012SAndroid Build Coastguard Worker    string input_event = 20;
915*d5c09012SAndroid Build Coastguard Worker  }
916*d5c09012SAndroid Build Coastguard Worker
917*d5c09012SAndroid Build Coastguard Worker  // Parameters for a Dialogflow virtual-agent query.
918*d5c09012SAndroid Build Coastguard Worker  QueryParameters query_params = 7;
919*d5c09012SAndroid Build Coastguard Worker
920*d5c09012SAndroid Build Coastguard Worker  // Parameters for a human assist query.
921*d5c09012SAndroid Build Coastguard Worker  AssistQueryParameters assist_query_params = 8;
922*d5c09012SAndroid Build Coastguard Worker
923*d5c09012SAndroid Build Coastguard Worker  // Additional parameters to be put into Dialogflow CX session parameters. To
924*d5c09012SAndroid Build Coastguard Worker  // remove a parameter from the session, clients should explicitly set the
925*d5c09012SAndroid Build Coastguard Worker  // parameter value to null.
926*d5c09012SAndroid Build Coastguard Worker  //
927*d5c09012SAndroid Build Coastguard Worker  // Note: this field should only be used if you are connecting to a Dialogflow
928*d5c09012SAndroid Build Coastguard Worker  // CX agent.
929*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Struct cx_parameters = 13;
930*d5c09012SAndroid Build Coastguard Worker
931*d5c09012SAndroid Build Coastguard Worker  // The unique identifier of the CX page to override the `current_page` in the
932*d5c09012SAndroid Build Coastguard Worker  // session.
933*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location ID>/agents/<Agent
934*d5c09012SAndroid Build Coastguard Worker  // ID>/flows/<Flow ID>/pages/<Page ID>`.
935*d5c09012SAndroid Build Coastguard Worker  //
936*d5c09012SAndroid Build Coastguard Worker  // If `cx_current_page` is specified, the previous state of the session will
937*d5c09012SAndroid Build Coastguard Worker  // be ignored by Dialogflow CX, including the [previous
938*d5c09012SAndroid Build Coastguard Worker  // page][QueryResult.current_page] and the [previous session
939*d5c09012SAndroid Build Coastguard Worker  // parameters][QueryResult.parameters]. In most cases, `cx_current_page` and
940*d5c09012SAndroid Build Coastguard Worker  // `cx_parameters` should be configured together to direct a session to a
941*d5c09012SAndroid Build Coastguard Worker  // specific state.
942*d5c09012SAndroid Build Coastguard Worker  //
943*d5c09012SAndroid Build Coastguard Worker  // Note: this field should only be used if you are connecting to a Dialogflow
944*d5c09012SAndroid Build Coastguard Worker  // CX agent.
945*d5c09012SAndroid Build Coastguard Worker  string cx_current_page = 15;
946*d5c09012SAndroid Build Coastguard Worker
947*d5c09012SAndroid Build Coastguard Worker  // Optional. Enable full bidirectional streaming. You can keep streaming the
948*d5c09012SAndroid Build Coastguard Worker  // audio until timeout, and there's no need to half close the stream to get
949*d5c09012SAndroid Build Coastguard Worker  // the response.
950*d5c09012SAndroid Build Coastguard Worker  //
951*d5c09012SAndroid Build Coastguard Worker  // Restrictions:
952*d5c09012SAndroid Build Coastguard Worker  //
953*d5c09012SAndroid Build Coastguard Worker  // - Timeout: 3 mins.
954*d5c09012SAndroid Build Coastguard Worker  // - Audio Encoding: only supports
955*d5c09012SAndroid Build Coastguard Worker  // [AudioEncoding.AUDIO_ENCODING_LINEAR_16][google.cloud.dialogflow.v2beta1.AudioEncoding.AUDIO_ENCODING_LINEAR_16]
956*d5c09012SAndroid Build Coastguard Worker  // and
957*d5c09012SAndroid Build Coastguard Worker  // [AudioEncoding.AUDIO_ENCODING_MULAW][google.cloud.dialogflow.v2beta1.AudioEncoding.AUDIO_ENCODING_MULAW]
958*d5c09012SAndroid Build Coastguard Worker  // - Lifecycle: conversation should be in `Assist Stage`, go to
959*d5c09012SAndroid Build Coastguard Worker  //   [Conversation.CreateConversation][] for more information.
960*d5c09012SAndroid Build Coastguard Worker  //
961*d5c09012SAndroid Build Coastguard Worker  // InvalidArgument Error will be returned if the one of restriction checks
962*d5c09012SAndroid Build Coastguard Worker  // failed.
963*d5c09012SAndroid Build Coastguard Worker  //
964*d5c09012SAndroid Build Coastguard Worker  // You can find more details in
965*d5c09012SAndroid Build Coastguard Worker  // https://cloud.google.com/agent-assist/docs/extended-streaming
966*d5c09012SAndroid Build Coastguard Worker  bool enable_extended_streaming = 11 [(google.api.field_behavior) = OPTIONAL];
967*d5c09012SAndroid Build Coastguard Worker
968*d5c09012SAndroid Build Coastguard Worker  // Enable partial virtual agent responses. If this flag is not enabled,
969*d5c09012SAndroid Build Coastguard Worker  // response stream still contains only one final response even if some
970*d5c09012SAndroid Build Coastguard Worker  // `Fulfillment`s in Dialogflow virtual agent have been configured to return
971*d5c09012SAndroid Build Coastguard Worker  // partial responses.
972*d5c09012SAndroid Build Coastguard Worker  bool enable_partial_automated_agent_reply = 12;
973*d5c09012SAndroid Build Coastguard Worker
974*d5c09012SAndroid Build Coastguard Worker  // if true, `StreamingAnalyzeContentResponse.debugging_info` will get
975*d5c09012SAndroid Build Coastguard Worker  // populated.
976*d5c09012SAndroid Build Coastguard Worker  bool enable_debugging_info = 19;
977*d5c09012SAndroid Build Coastguard Worker}
978*d5c09012SAndroid Build Coastguard Worker
979*d5c09012SAndroid Build Coastguard Worker// The top-level message returned from the `StreamingAnalyzeContent` method.
980*d5c09012SAndroid Build Coastguard Worker//
981*d5c09012SAndroid Build Coastguard Worker// Multiple response messages can be returned in order:
982*d5c09012SAndroid Build Coastguard Worker//
983*d5c09012SAndroid Build Coastguard Worker// 1.  If the input was set to streaming audio, the first one or more messages
984*d5c09012SAndroid Build Coastguard Worker//     contain `recognition_result`. Each `recognition_result` represents a more
985*d5c09012SAndroid Build Coastguard Worker//     complete transcript of what the user said. The last `recognition_result`
986*d5c09012SAndroid Build Coastguard Worker//     has `is_final` set to `true`.
987*d5c09012SAndroid Build Coastguard Worker//
988*d5c09012SAndroid Build Coastguard Worker// 2.  In virtual agent stage: if `enable_partial_automated_agent_reply` is
989*d5c09012SAndroid Build Coastguard Worker//     true, the following N (currently 1 <= N <= 4) messages
990*d5c09012SAndroid Build Coastguard Worker//     contain `automated_agent_reply` and optionally `reply_audio`
991*d5c09012SAndroid Build Coastguard Worker//     returned by the virtual agent. The first (N-1)
992*d5c09012SAndroid Build Coastguard Worker//     `automated_agent_reply`s will have `automated_agent_reply_type` set to
993*d5c09012SAndroid Build Coastguard Worker//     `PARTIAL`. The last `automated_agent_reply` has
994*d5c09012SAndroid Build Coastguard Worker//     `automated_agent_reply_type` set to `FINAL`.
995*d5c09012SAndroid Build Coastguard Worker//     If `enable_partial_automated_agent_reply` is not enabled, response stream
996*d5c09012SAndroid Build Coastguard Worker//     only contains the final reply.
997*d5c09012SAndroid Build Coastguard Worker//
998*d5c09012SAndroid Build Coastguard Worker//     In human assist stage: the following N (N >= 1) messages contain
999*d5c09012SAndroid Build Coastguard Worker//     `human_agent_suggestion_results`, `end_user_suggestion_results` or
1000*d5c09012SAndroid Build Coastguard Worker//     `message`.
1001*d5c09012SAndroid Build Coastguard Workermessage StreamingAnalyzeContentResponse {
1002*d5c09012SAndroid Build Coastguard Worker  // The result of speech recognition.
1003*d5c09012SAndroid Build Coastguard Worker  StreamingRecognitionResult recognition_result = 1;
1004*d5c09012SAndroid Build Coastguard Worker
1005*d5c09012SAndroid Build Coastguard Worker  // Optional. The output text content.
1006*d5c09012SAndroid Build Coastguard Worker  // This field is set if an automated agent responded with a text for the user.
1007*d5c09012SAndroid Build Coastguard Worker  string reply_text = 2;
1008*d5c09012SAndroid Build Coastguard Worker
1009*d5c09012SAndroid Build Coastguard Worker  // Optional. The audio data bytes encoded as specified in the request.
1010*d5c09012SAndroid Build Coastguard Worker  // This field is set if:
1011*d5c09012SAndroid Build Coastguard Worker  //
1012*d5c09012SAndroid Build Coastguard Worker  //  - The `reply_audio_config` field is specified in the request.
1013*d5c09012SAndroid Build Coastguard Worker  //  - The automated agent, which this output comes from, responded with audio.
1014*d5c09012SAndroid Build Coastguard Worker  //    In such case, the `reply_audio.config` field contains settings used to
1015*d5c09012SAndroid Build Coastguard Worker  //    synthesize the speech.
1016*d5c09012SAndroid Build Coastguard Worker  //
1017*d5c09012SAndroid Build Coastguard Worker  // In some scenarios, multiple output audio fields may be present in the
1018*d5c09012SAndroid Build Coastguard Worker  // response structure. In these cases, only the top-most-level audio output
1019*d5c09012SAndroid Build Coastguard Worker  // has content.
1020*d5c09012SAndroid Build Coastguard Worker  OutputAudio reply_audio = 3;
1021*d5c09012SAndroid Build Coastguard Worker
1022*d5c09012SAndroid Build Coastguard Worker  // Optional. Only set if a Dialogflow automated agent has responded.
1023*d5c09012SAndroid Build Coastguard Worker  // Note that: [AutomatedAgentReply.detect_intent_response.output_audio][]
1024*d5c09012SAndroid Build Coastguard Worker  // and [AutomatedAgentReply.detect_intent_response.output_audio_config][]
1025*d5c09012SAndroid Build Coastguard Worker  // are always empty, use
1026*d5c09012SAndroid Build Coastguard Worker  // [reply_audio][google.cloud.dialogflow.v2beta1.StreamingAnalyzeContentResponse.reply_audio]
1027*d5c09012SAndroid Build Coastguard Worker  // instead.
1028*d5c09012SAndroid Build Coastguard Worker  AutomatedAgentReply automated_agent_reply = 4;
1029*d5c09012SAndroid Build Coastguard Worker
1030*d5c09012SAndroid Build Coastguard Worker  // Output only. Message analyzed by CCAI.
1031*d5c09012SAndroid Build Coastguard Worker  Message message = 6;
1032*d5c09012SAndroid Build Coastguard Worker
1033*d5c09012SAndroid Build Coastguard Worker  // The suggestions for most recent human agent. The order is the same as
1034*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.SuggestionConfig.feature_configs][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.SuggestionConfig.feature_configs]
1035*d5c09012SAndroid Build Coastguard Worker  // of
1036*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.human_agent_suggestion_config][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.human_agent_suggestion_config].
1037*d5c09012SAndroid Build Coastguard Worker  repeated SuggestionResult human_agent_suggestion_results = 7;
1038*d5c09012SAndroid Build Coastguard Worker
1039*d5c09012SAndroid Build Coastguard Worker  // The suggestions for end user. The order is the same as
1040*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.SuggestionConfig.feature_configs][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.SuggestionConfig.feature_configs]
1041*d5c09012SAndroid Build Coastguard Worker  // of
1042*d5c09012SAndroid Build Coastguard Worker  // [HumanAgentAssistantConfig.end_user_suggestion_config][google.cloud.dialogflow.v2beta1.HumanAgentAssistantConfig.end_user_suggestion_config].
1043*d5c09012SAndroid Build Coastguard Worker  repeated SuggestionResult end_user_suggestion_results = 8;
1044*d5c09012SAndroid Build Coastguard Worker
1045*d5c09012SAndroid Build Coastguard Worker  // Indicates the parameters of DTMF.
1046*d5c09012SAndroid Build Coastguard Worker  DtmfParameters dtmf_parameters = 10;
1047*d5c09012SAndroid Build Coastguard Worker
1048*d5c09012SAndroid Build Coastguard Worker  // Debugging info that would get populated when
1049*d5c09012SAndroid Build Coastguard Worker  // `StreamingAnalyzeContentRequest.enable_debugging_info` is set to true.
1050*d5c09012SAndroid Build Coastguard Worker  CloudConversationDebuggingInfo debugging_info = 11;
1051*d5c09012SAndroid Build Coastguard Worker}
1052*d5c09012SAndroid Build Coastguard Worker
1053*d5c09012SAndroid Build Coastguard Worker// Represents a part of a message possibly annotated with an entity. The part
1054*d5c09012SAndroid Build Coastguard Worker// can be an entity or purely a part of the message between two entities or
1055*d5c09012SAndroid Build Coastguard Worker// message start/end.
1056*d5c09012SAndroid Build Coastguard Workermessage AnnotatedMessagePart {
1057*d5c09012SAndroid Build Coastguard Worker  // Required. A part of a message possibly annotated with an entity.
1058*d5c09012SAndroid Build Coastguard Worker  string text = 1;
1059*d5c09012SAndroid Build Coastguard Worker
1060*d5c09012SAndroid Build Coastguard Worker  // Optional. The [Dialogflow system entity
1061*d5c09012SAndroid Build Coastguard Worker  // type](https://cloud.google.com/dialogflow/docs/reference/system-entities)
1062*d5c09012SAndroid Build Coastguard Worker  // of this message part. If this is empty, Dialogflow could not annotate the
1063*d5c09012SAndroid Build Coastguard Worker  // phrase part with a system entity.
1064*d5c09012SAndroid Build Coastguard Worker  string entity_type = 2;
1065*d5c09012SAndroid Build Coastguard Worker
1066*d5c09012SAndroid Build Coastguard Worker  // Optional. The [Dialogflow system entity formatted value
1067*d5c09012SAndroid Build Coastguard Worker  // ](https://cloud.google.com/dialogflow/docs/reference/system-entities) of
1068*d5c09012SAndroid Build Coastguard Worker  // this message part. For example for a system entity of type
1069*d5c09012SAndroid Build Coastguard Worker  // `@sys.unit-currency`, this may contain:
1070*d5c09012SAndroid Build Coastguard Worker  // <pre>
1071*d5c09012SAndroid Build Coastguard Worker  // {
1072*d5c09012SAndroid Build Coastguard Worker  //   "amount": 5,
1073*d5c09012SAndroid Build Coastguard Worker  //   "currency": "USD"
1074*d5c09012SAndroid Build Coastguard Worker  // }
1075*d5c09012SAndroid Build Coastguard Worker  // </pre>
1076*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Value formatted_value = 3;
1077*d5c09012SAndroid Build Coastguard Worker}
1078*d5c09012SAndroid Build Coastguard Worker
1079*d5c09012SAndroid Build Coastguard Worker// Represents the result of annotation for the message.
1080*d5c09012SAndroid Build Coastguard Workermessage MessageAnnotation {
1081*d5c09012SAndroid Build Coastguard Worker  // Optional. The collection of annotated message parts ordered by their
1082*d5c09012SAndroid Build Coastguard Worker  // position in the message. You can recover the annotated message by
1083*d5c09012SAndroid Build Coastguard Worker  // concatenating [AnnotatedMessagePart.text].
1084*d5c09012SAndroid Build Coastguard Worker  repeated AnnotatedMessagePart parts = 1;
1085*d5c09012SAndroid Build Coastguard Worker
1086*d5c09012SAndroid Build Coastguard Worker  // Required. Indicates whether the text message contains entities.
1087*d5c09012SAndroid Build Coastguard Worker  bool contain_entities = 2;
1088*d5c09012SAndroid Build Coastguard Worker}
1089*d5c09012SAndroid Build Coastguard Worker
1090*d5c09012SAndroid Build Coastguard Worker// Represents article answer.
1091*d5c09012SAndroid Build Coastguard Workermessage ArticleAnswer {
1092*d5c09012SAndroid Build Coastguard Worker  // The article title.
1093*d5c09012SAndroid Build Coastguard Worker  string title = 1;
1094*d5c09012SAndroid Build Coastguard Worker
1095*d5c09012SAndroid Build Coastguard Worker  // The article URI.
1096*d5c09012SAndroid Build Coastguard Worker  string uri = 2;
1097*d5c09012SAndroid Build Coastguard Worker
1098*d5c09012SAndroid Build Coastguard Worker  // Output only. Article snippets.
1099*d5c09012SAndroid Build Coastguard Worker  repeated string snippets = 3;
1100*d5c09012SAndroid Build Coastguard Worker
1101*d5c09012SAndroid Build Coastguard Worker  // A map that contains metadata about the answer and the
1102*d5c09012SAndroid Build Coastguard Worker  // document from which it originates.
1103*d5c09012SAndroid Build Coastguard Worker  map<string, string> metadata = 5;
1104*d5c09012SAndroid Build Coastguard Worker
1105*d5c09012SAndroid Build Coastguard Worker  // The name of answer record, in the format of
1106*d5c09012SAndroid Build Coastguard Worker  // "projects/<Project ID>/locations/<Location ID>/answerRecords/<Answer Record
1107*d5c09012SAndroid Build Coastguard Worker  // ID>"
1108*d5c09012SAndroid Build Coastguard Worker  string answer_record = 6;
1109*d5c09012SAndroid Build Coastguard Worker}
1110*d5c09012SAndroid Build Coastguard Worker
1111*d5c09012SAndroid Build Coastguard Worker// Represents answer from "frequently asked questions".
1112*d5c09012SAndroid Build Coastguard Workermessage FaqAnswer {
1113*d5c09012SAndroid Build Coastguard Worker  // The piece of text from the `source` knowledge base document.
1114*d5c09012SAndroid Build Coastguard Worker  string answer = 1;
1115*d5c09012SAndroid Build Coastguard Worker
1116*d5c09012SAndroid Build Coastguard Worker  // The system's confidence score that this Knowledge answer is a good match
1117*d5c09012SAndroid Build Coastguard Worker  // for this conversational query, range from 0.0 (completely uncertain)
1118*d5c09012SAndroid Build Coastguard Worker  // to 1.0 (completely certain).
1119*d5c09012SAndroid Build Coastguard Worker  float confidence = 2;
1120*d5c09012SAndroid Build Coastguard Worker
1121*d5c09012SAndroid Build Coastguard Worker  // The corresponding FAQ question.
1122*d5c09012SAndroid Build Coastguard Worker  string question = 3;
1123*d5c09012SAndroid Build Coastguard Worker
1124*d5c09012SAndroid Build Coastguard Worker  // Indicates which Knowledge Document this answer was extracted
1125*d5c09012SAndroid Build Coastguard Worker  // from.
1126*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1127*d5c09012SAndroid Build Coastguard Worker  // ID>/agent/knowledgeBases/<Knowledge Base ID>/documents/<Document ID>`.
1128*d5c09012SAndroid Build Coastguard Worker  string source = 4;
1129*d5c09012SAndroid Build Coastguard Worker
1130*d5c09012SAndroid Build Coastguard Worker  // A map that contains metadata about the answer and the
1131*d5c09012SAndroid Build Coastguard Worker  // document from which it originates.
1132*d5c09012SAndroid Build Coastguard Worker  map<string, string> metadata = 5;
1133*d5c09012SAndroid Build Coastguard Worker
1134*d5c09012SAndroid Build Coastguard Worker  // The name of answer record, in the format of
1135*d5c09012SAndroid Build Coastguard Worker  // "projects/<Project ID>/locations/<Location ID>/answerRecords/<Answer Record
1136*d5c09012SAndroid Build Coastguard Worker  // ID>"
1137*d5c09012SAndroid Build Coastguard Worker  string answer_record = 6;
1138*d5c09012SAndroid Build Coastguard Worker}
1139*d5c09012SAndroid Build Coastguard Worker
1140*d5c09012SAndroid Build Coastguard Worker// Represents a smart reply answer.
1141*d5c09012SAndroid Build Coastguard Workermessage SmartReplyAnswer {
1142*d5c09012SAndroid Build Coastguard Worker  // The content of the reply.
1143*d5c09012SAndroid Build Coastguard Worker  string reply = 1;
1144*d5c09012SAndroid Build Coastguard Worker
1145*d5c09012SAndroid Build Coastguard Worker  // Smart reply confidence.
1146*d5c09012SAndroid Build Coastguard Worker  // The system's confidence score that this reply is a good match for
1147*d5c09012SAndroid Build Coastguard Worker  // this conversation, as a value from 0.0 (completely uncertain) to 1.0
1148*d5c09012SAndroid Build Coastguard Worker  // (completely certain).
1149*d5c09012SAndroid Build Coastguard Worker  float confidence = 2;
1150*d5c09012SAndroid Build Coastguard Worker
1151*d5c09012SAndroid Build Coastguard Worker  // The name of answer record, in the format of
1152*d5c09012SAndroid Build Coastguard Worker  // "projects/<Project ID>/locations/<Location ID>/answerRecords/<Answer Record
1153*d5c09012SAndroid Build Coastguard Worker  // ID>"
1154*d5c09012SAndroid Build Coastguard Worker  string answer_record = 3 [(google.api.resource_reference) = {
1155*d5c09012SAndroid Build Coastguard Worker    type: "dialogflow.googleapis.com/AnswerRecord"
1156*d5c09012SAndroid Build Coastguard Worker  }];
1157*d5c09012SAndroid Build Coastguard Worker}
1158*d5c09012SAndroid Build Coastguard Worker
1159*d5c09012SAndroid Build Coastguard Worker// Represents an intent suggestion.
1160*d5c09012SAndroid Build Coastguard Workermessage IntentSuggestion {
1161*d5c09012SAndroid Build Coastguard Worker  // The display name of the intent.
1162*d5c09012SAndroid Build Coastguard Worker  string display_name = 1;
1163*d5c09012SAndroid Build Coastguard Worker
1164*d5c09012SAndroid Build Coastguard Worker  // The name of the intent.
1165*d5c09012SAndroid Build Coastguard Worker  oneof intent {
1166*d5c09012SAndroid Build Coastguard Worker    // The unique identifier of this
1167*d5c09012SAndroid Build Coastguard Worker    // [intent][google.cloud.dialogflow.v2beta1.Intent]. Format:
1168*d5c09012SAndroid Build Coastguard Worker    // `projects/<Project ID>/locations/<Location ID>/agent/intents/<Intent
1169*d5c09012SAndroid Build Coastguard Worker    // ID>`.
1170*d5c09012SAndroid Build Coastguard Worker    string intent_v2 = 2;
1171*d5c09012SAndroid Build Coastguard Worker  }
1172*d5c09012SAndroid Build Coastguard Worker
1173*d5c09012SAndroid Build Coastguard Worker  // Human readable description for better understanding an intent like its
1174*d5c09012SAndroid Build Coastguard Worker  // scope, content, result etc. Maximum character limit: 140 characters.
1175*d5c09012SAndroid Build Coastguard Worker  string description = 5;
1176*d5c09012SAndroid Build Coastguard Worker}
1177*d5c09012SAndroid Build Coastguard Worker
1178*d5c09012SAndroid Build Coastguard Worker// Represents a Dialogflow assist answer.
1179*d5c09012SAndroid Build Coastguard Workermessage DialogflowAssistAnswer {
1180*d5c09012SAndroid Build Coastguard Worker  // Result from DetectIntent for one matched intent.
1181*d5c09012SAndroid Build Coastguard Worker  oneof result {
1182*d5c09012SAndroid Build Coastguard Worker    // Result from v2 agent.
1183*d5c09012SAndroid Build Coastguard Worker    QueryResult query_result = 1;
1184*d5c09012SAndroid Build Coastguard Worker
1185*d5c09012SAndroid Build Coastguard Worker    // An intent suggestion generated from conversation.
1186*d5c09012SAndroid Build Coastguard Worker    IntentSuggestion intent_suggestion = 5;
1187*d5c09012SAndroid Build Coastguard Worker  }
1188*d5c09012SAndroid Build Coastguard Worker
1189*d5c09012SAndroid Build Coastguard Worker  // The name of answer record, in the format of
1190*d5c09012SAndroid Build Coastguard Worker  // "projects/<Project ID>/locations/<Location ID>/answerRecords/<Answer Record
1191*d5c09012SAndroid Build Coastguard Worker  // ID>"
1192*d5c09012SAndroid Build Coastguard Worker  string answer_record = 2;
1193*d5c09012SAndroid Build Coastguard Worker}
1194*d5c09012SAndroid Build Coastguard Worker
1195*d5c09012SAndroid Build Coastguard Worker// One response of different type of suggestion response which is used in
1196*d5c09012SAndroid Build Coastguard Worker// the response of
1197*d5c09012SAndroid Build Coastguard Worker// [Participants.AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent]
1198*d5c09012SAndroid Build Coastguard Worker// and
1199*d5c09012SAndroid Build Coastguard Worker// [Participants.AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent],
1200*d5c09012SAndroid Build Coastguard Worker// as well as
1201*d5c09012SAndroid Build Coastguard Worker// [HumanAgentAssistantEvent][google.cloud.dialogflow.v2beta1.HumanAgentAssistantEvent].
1202*d5c09012SAndroid Build Coastguard Workermessage SuggestionResult {
1203*d5c09012SAndroid Build Coastguard Worker  // Different type of suggestion response.
1204*d5c09012SAndroid Build Coastguard Worker  oneof suggestion_response {
1205*d5c09012SAndroid Build Coastguard Worker    // Error status if the request failed.
1206*d5c09012SAndroid Build Coastguard Worker    google.rpc.Status error = 1;
1207*d5c09012SAndroid Build Coastguard Worker
1208*d5c09012SAndroid Build Coastguard Worker    // SuggestArticlesResponse if request is for ARTICLE_SUGGESTION.
1209*d5c09012SAndroid Build Coastguard Worker    SuggestArticlesResponse suggest_articles_response = 2;
1210*d5c09012SAndroid Build Coastguard Worker
1211*d5c09012SAndroid Build Coastguard Worker    // SuggestFaqAnswersResponse if request is for FAQ_ANSWER.
1212*d5c09012SAndroid Build Coastguard Worker    SuggestFaqAnswersResponse suggest_faq_answers_response = 3;
1213*d5c09012SAndroid Build Coastguard Worker
1214*d5c09012SAndroid Build Coastguard Worker    // SuggestSmartRepliesResponse if request is for SMART_REPLY.
1215*d5c09012SAndroid Build Coastguard Worker    SuggestSmartRepliesResponse suggest_smart_replies_response = 4;
1216*d5c09012SAndroid Build Coastguard Worker
1217*d5c09012SAndroid Build Coastguard Worker    // SuggestDialogflowAssistsResponse if request is for DIALOGFLOW_ASSIST.
1218*d5c09012SAndroid Build Coastguard Worker    SuggestDialogflowAssistsResponse suggest_dialogflow_assists_response = 5;
1219*d5c09012SAndroid Build Coastguard Worker
1220*d5c09012SAndroid Build Coastguard Worker    // SuggestDialogflowAssistsResponse if request is for ENTITY_EXTRACTION.
1221*d5c09012SAndroid Build Coastguard Worker    SuggestDialogflowAssistsResponse suggest_entity_extraction_response = 7;
1222*d5c09012SAndroid Build Coastguard Worker  }
1223*d5c09012SAndroid Build Coastguard Worker}
1224*d5c09012SAndroid Build Coastguard Worker
1225*d5c09012SAndroid Build Coastguard Worker// The request message for
1226*d5c09012SAndroid Build Coastguard Worker// [Participants.SuggestArticles][google.cloud.dialogflow.v2beta1.Participants.SuggestArticles].
1227*d5c09012SAndroid Build Coastguard Workermessage SuggestArticlesRequest {
1228*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the participant to fetch suggestion for.
1229*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1230*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
1231*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1232*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1233*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1234*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Participant"
1235*d5c09012SAndroid Build Coastguard Worker    }
1236*d5c09012SAndroid Build Coastguard Worker  ];
1237*d5c09012SAndroid Build Coastguard Worker
1238*d5c09012SAndroid Build Coastguard Worker  // Optional. The name of the latest conversation message to compile suggestion
1239*d5c09012SAndroid Build Coastguard Worker  // for. If empty, it will be the latest message of the conversation.
1240*d5c09012SAndroid Build Coastguard Worker  //
1241*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1242*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1243*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2 [
1244*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
1245*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1246*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Message"
1247*d5c09012SAndroid Build Coastguard Worker    }
1248*d5c09012SAndroid Build Coastguard Worker  ];
1249*d5c09012SAndroid Build Coastguard Worker
1250*d5c09012SAndroid Build Coastguard Worker  // Optional. Max number of messages prior to and including
1251*d5c09012SAndroid Build Coastguard Worker  // [latest_message][google.cloud.dialogflow.v2beta1.SuggestArticlesRequest.latest_message]
1252*d5c09012SAndroid Build Coastguard Worker  // to use as context when compiling the suggestion. By default 20 and at
1253*d5c09012SAndroid Build Coastguard Worker  // most 50.
1254*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3 [(google.api.field_behavior) = OPTIONAL];
1255*d5c09012SAndroid Build Coastguard Worker
1256*d5c09012SAndroid Build Coastguard Worker  // Optional. Parameters for a human assist query.
1257*d5c09012SAndroid Build Coastguard Worker  AssistQueryParameters assist_query_params = 4
1258*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
1259*d5c09012SAndroid Build Coastguard Worker}
1260*d5c09012SAndroid Build Coastguard Worker
1261*d5c09012SAndroid Build Coastguard Worker// The response message for
1262*d5c09012SAndroid Build Coastguard Worker// [Participants.SuggestArticles][google.cloud.dialogflow.v2beta1.Participants.SuggestArticles].
1263*d5c09012SAndroid Build Coastguard Workermessage SuggestArticlesResponse {
1264*d5c09012SAndroid Build Coastguard Worker  // Output only. Articles ordered by score in descending order.
1265*d5c09012SAndroid Build Coastguard Worker  repeated ArticleAnswer article_answers = 1;
1266*d5c09012SAndroid Build Coastguard Worker
1267*d5c09012SAndroid Build Coastguard Worker  // The name of the latest conversation message used to compile
1268*d5c09012SAndroid Build Coastguard Worker  // suggestion for.
1269*d5c09012SAndroid Build Coastguard Worker  //
1270*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1271*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1272*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2;
1273*d5c09012SAndroid Build Coastguard Worker
1274*d5c09012SAndroid Build Coastguard Worker  // Number of messages prior to and including
1275*d5c09012SAndroid Build Coastguard Worker  // [latest_message][google.cloud.dialogflow.v2beta1.SuggestArticlesResponse.latest_message]
1276*d5c09012SAndroid Build Coastguard Worker  // to compile the suggestion. It may be smaller than the
1277*d5c09012SAndroid Build Coastguard Worker  // [SuggestArticlesResponse.context_size][google.cloud.dialogflow.v2beta1.SuggestArticlesResponse.context_size]
1278*d5c09012SAndroid Build Coastguard Worker  // field in the request if there aren't that many messages in the
1279*d5c09012SAndroid Build Coastguard Worker  // conversation.
1280*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3;
1281*d5c09012SAndroid Build Coastguard Worker}
1282*d5c09012SAndroid Build Coastguard Worker
1283*d5c09012SAndroid Build Coastguard Worker// The request message for
1284*d5c09012SAndroid Build Coastguard Worker// [Participants.SuggestFaqAnswers][google.cloud.dialogflow.v2beta1.Participants.SuggestFaqAnswers].
1285*d5c09012SAndroid Build Coastguard Workermessage SuggestFaqAnswersRequest {
1286*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the participant to fetch suggestion for.
1287*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1288*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
1289*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1290*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1291*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1292*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Participant"
1293*d5c09012SAndroid Build Coastguard Worker    }
1294*d5c09012SAndroid Build Coastguard Worker  ];
1295*d5c09012SAndroid Build Coastguard Worker
1296*d5c09012SAndroid Build Coastguard Worker  // Optional. The name of the latest conversation message to compile suggestion
1297*d5c09012SAndroid Build Coastguard Worker  // for. If empty, it will be the latest message of the conversation.
1298*d5c09012SAndroid Build Coastguard Worker  //
1299*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1300*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1301*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2 [
1302*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = OPTIONAL,
1303*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1304*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Message"
1305*d5c09012SAndroid Build Coastguard Worker    }
1306*d5c09012SAndroid Build Coastguard Worker  ];
1307*d5c09012SAndroid Build Coastguard Worker
1308*d5c09012SAndroid Build Coastguard Worker  // Optional. Max number of messages prior to and including
1309*d5c09012SAndroid Build Coastguard Worker  // [latest_message] to use as context when compiling the
1310*d5c09012SAndroid Build Coastguard Worker  // suggestion. By default 20 and at most 50.
1311*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3 [(google.api.field_behavior) = OPTIONAL];
1312*d5c09012SAndroid Build Coastguard Worker
1313*d5c09012SAndroid Build Coastguard Worker  // Optional. Parameters for a human assist query.
1314*d5c09012SAndroid Build Coastguard Worker  AssistQueryParameters assist_query_params = 4
1315*d5c09012SAndroid Build Coastguard Worker      [(google.api.field_behavior) = OPTIONAL];
1316*d5c09012SAndroid Build Coastguard Worker}
1317*d5c09012SAndroid Build Coastguard Worker
1318*d5c09012SAndroid Build Coastguard Worker// The request message for
1319*d5c09012SAndroid Build Coastguard Worker// [Participants.SuggestFaqAnswers][google.cloud.dialogflow.v2beta1.Participants.SuggestFaqAnswers].
1320*d5c09012SAndroid Build Coastguard Workermessage SuggestFaqAnswersResponse {
1321*d5c09012SAndroid Build Coastguard Worker  // Output only. Answers extracted from FAQ documents.
1322*d5c09012SAndroid Build Coastguard Worker  repeated FaqAnswer faq_answers = 1;
1323*d5c09012SAndroid Build Coastguard Worker
1324*d5c09012SAndroid Build Coastguard Worker  // The name of the latest conversation message used to compile
1325*d5c09012SAndroid Build Coastguard Worker  // suggestion for.
1326*d5c09012SAndroid Build Coastguard Worker  //
1327*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1328*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1329*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2;
1330*d5c09012SAndroid Build Coastguard Worker
1331*d5c09012SAndroid Build Coastguard Worker  // Number of messages prior to and including
1332*d5c09012SAndroid Build Coastguard Worker  // [latest_message][google.cloud.dialogflow.v2beta1.SuggestFaqAnswersResponse.latest_message]
1333*d5c09012SAndroid Build Coastguard Worker  // to compile the suggestion. It may be smaller than the
1334*d5c09012SAndroid Build Coastguard Worker  // [SuggestFaqAnswersRequest.context_size][google.cloud.dialogflow.v2beta1.SuggestFaqAnswersRequest.context_size]
1335*d5c09012SAndroid Build Coastguard Worker  // field in the request if there aren't that many messages in the
1336*d5c09012SAndroid Build Coastguard Worker  // conversation.
1337*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3;
1338*d5c09012SAndroid Build Coastguard Worker}
1339*d5c09012SAndroid Build Coastguard Worker
1340*d5c09012SAndroid Build Coastguard Worker// The request message for
1341*d5c09012SAndroid Build Coastguard Worker// [Participants.SuggestSmartReplies][google.cloud.dialogflow.v2beta1.Participants.SuggestSmartReplies].
1342*d5c09012SAndroid Build Coastguard Workermessage SuggestSmartRepliesRequest {
1343*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the participant to fetch suggestion for.
1344*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1345*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
1346*d5c09012SAndroid Build Coastguard Worker  string parent = 1 [
1347*d5c09012SAndroid Build Coastguard Worker    (google.api.field_behavior) = REQUIRED,
1348*d5c09012SAndroid Build Coastguard Worker    (google.api.resource_reference) = {
1349*d5c09012SAndroid Build Coastguard Worker      type: "dialogflow.googleapis.com/Participant"
1350*d5c09012SAndroid Build Coastguard Worker    }
1351*d5c09012SAndroid Build Coastguard Worker  ];
1352*d5c09012SAndroid Build Coastguard Worker
1353*d5c09012SAndroid Build Coastguard Worker  // The current natural language text segment to compile suggestion
1354*d5c09012SAndroid Build Coastguard Worker  // for. This provides a way for user to get follow up smart reply suggestion
1355*d5c09012SAndroid Build Coastguard Worker  // after a smart reply selection, without sending a text message.
1356*d5c09012SAndroid Build Coastguard Worker  TextInput current_text_input = 4;
1357*d5c09012SAndroid Build Coastguard Worker
1358*d5c09012SAndroid Build Coastguard Worker  // The name of the latest conversation message to compile suggestion
1359*d5c09012SAndroid Build Coastguard Worker  // for. If empty, it will be the latest message of the conversation.
1360*d5c09012SAndroid Build Coastguard Worker  //
1361*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1362*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1363*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2 [(google.api.resource_reference) = {
1364*d5c09012SAndroid Build Coastguard Worker    type: "dialogflow.googleapis.com/Message"
1365*d5c09012SAndroid Build Coastguard Worker  }];
1366*d5c09012SAndroid Build Coastguard Worker
1367*d5c09012SAndroid Build Coastguard Worker  // Optional. Max number of messages prior to and including
1368*d5c09012SAndroid Build Coastguard Worker  // [latest_message] to use as context when compiling the
1369*d5c09012SAndroid Build Coastguard Worker  // suggestion. By default 20 and at most 50.
1370*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3;
1371*d5c09012SAndroid Build Coastguard Worker}
1372*d5c09012SAndroid Build Coastguard Worker
1373*d5c09012SAndroid Build Coastguard Worker// The response message for
1374*d5c09012SAndroid Build Coastguard Worker// [Participants.SuggestSmartReplies][google.cloud.dialogflow.v2beta1.Participants.SuggestSmartReplies].
1375*d5c09012SAndroid Build Coastguard Workermessage SuggestSmartRepliesResponse {
1376*d5c09012SAndroid Build Coastguard Worker  // Output only. Multiple reply options provided by smart reply service. The
1377*d5c09012SAndroid Build Coastguard Worker  // order is based on the rank of the model prediction.
1378*d5c09012SAndroid Build Coastguard Worker  // The maximum number of the returned replies is set in SmartReplyConfig.
1379*d5c09012SAndroid Build Coastguard Worker  repeated SmartReplyAnswer smart_reply_answers = 1;
1380*d5c09012SAndroid Build Coastguard Worker
1381*d5c09012SAndroid Build Coastguard Worker  // The name of the latest conversation message used to compile
1382*d5c09012SAndroid Build Coastguard Worker  // suggestion for.
1383*d5c09012SAndroid Build Coastguard Worker  //
1384*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1385*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1386*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2 [(google.api.resource_reference) = {
1387*d5c09012SAndroid Build Coastguard Worker    type: "dialogflow.googleapis.com/Message"
1388*d5c09012SAndroid Build Coastguard Worker  }];
1389*d5c09012SAndroid Build Coastguard Worker
1390*d5c09012SAndroid Build Coastguard Worker  // Number of messages prior to and including
1391*d5c09012SAndroid Build Coastguard Worker  // [latest_message][google.cloud.dialogflow.v2beta1.SuggestSmartRepliesResponse.latest_message]
1392*d5c09012SAndroid Build Coastguard Worker  // to compile the suggestion. It may be smaller than the
1393*d5c09012SAndroid Build Coastguard Worker  // [SuggestSmartRepliesRequest.context_size][google.cloud.dialogflow.v2beta1.SuggestSmartRepliesRequest.context_size]
1394*d5c09012SAndroid Build Coastguard Worker  // field in the request if there aren't that many messages in the
1395*d5c09012SAndroid Build Coastguard Worker  // conversation.
1396*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3;
1397*d5c09012SAndroid Build Coastguard Worker}
1398*d5c09012SAndroid Build Coastguard Worker
1399*d5c09012SAndroid Build Coastguard Worker// The response message for
1400*d5c09012SAndroid Build Coastguard Worker// [Participants.SuggestDialogflowAssists][google.cloud.dialogflow.v2beta1.Participants.SuggestDialogflowAssists].
1401*d5c09012SAndroid Build Coastguard Workermessage SuggestDialogflowAssistsResponse {
1402*d5c09012SAndroid Build Coastguard Worker  // Output only. Multiple reply options provided by Dialogflow assist
1403*d5c09012SAndroid Build Coastguard Worker  // service. The order is based on the rank of the model prediction.
1404*d5c09012SAndroid Build Coastguard Worker  repeated DialogflowAssistAnswer dialogflow_assist_answers = 1;
1405*d5c09012SAndroid Build Coastguard Worker
1406*d5c09012SAndroid Build Coastguard Worker  // The name of the latest conversation message used to suggest answer.
1407*d5c09012SAndroid Build Coastguard Worker  //
1408*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1409*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1410*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2;
1411*d5c09012SAndroid Build Coastguard Worker
1412*d5c09012SAndroid Build Coastguard Worker  // Number of messages prior to and including
1413*d5c09012SAndroid Build Coastguard Worker  // [latest_message][google.cloud.dialogflow.v2beta1.SuggestDialogflowAssistsResponse.latest_message]
1414*d5c09012SAndroid Build Coastguard Worker  // to compile the suggestion. It may be smaller than the
1415*d5c09012SAndroid Build Coastguard Worker  // [SuggestDialogflowAssistsRequest.context_size][google.cloud.dialogflow.v2beta1.SuggestDialogflowAssistsRequest.context_size]
1416*d5c09012SAndroid Build Coastguard Worker  // field in the request if there aren't that many messages in the
1417*d5c09012SAndroid Build Coastguard Worker  // conversation.
1418*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3;
1419*d5c09012SAndroid Build Coastguard Worker}
1420*d5c09012SAndroid Build Coastguard Worker
1421*d5c09012SAndroid Build Coastguard Worker// Represents a suggestion for a human agent.
1422*d5c09012SAndroid Build Coastguard Workermessage Suggestion {
1423*d5c09012SAndroid Build Coastguard Worker  option deprecated = true;
1424*d5c09012SAndroid Build Coastguard Worker
1425*d5c09012SAndroid Build Coastguard Worker  // Represents suggested article.
1426*d5c09012SAndroid Build Coastguard Worker  message Article {
1427*d5c09012SAndroid Build Coastguard Worker    // Output only. The article title.
1428*d5c09012SAndroid Build Coastguard Worker    string title = 1;
1429*d5c09012SAndroid Build Coastguard Worker
1430*d5c09012SAndroid Build Coastguard Worker    // Output only. The article URI.
1431*d5c09012SAndroid Build Coastguard Worker    string uri = 2;
1432*d5c09012SAndroid Build Coastguard Worker
1433*d5c09012SAndroid Build Coastguard Worker    // Output only. Article snippets.
1434*d5c09012SAndroid Build Coastguard Worker    repeated string snippets = 3;
1435*d5c09012SAndroid Build Coastguard Worker
1436*d5c09012SAndroid Build Coastguard Worker    // Output only. A map that contains metadata about the answer and the
1437*d5c09012SAndroid Build Coastguard Worker    // document from which it originates.
1438*d5c09012SAndroid Build Coastguard Worker    map<string, string> metadata = 5;
1439*d5c09012SAndroid Build Coastguard Worker
1440*d5c09012SAndroid Build Coastguard Worker    // Output only. The name of answer record, in the format of
1441*d5c09012SAndroid Build Coastguard Worker    // "projects/<Project ID>/locations/<Location ID>/answerRecords/<Answer
1442*d5c09012SAndroid Build Coastguard Worker    // Record ID>"
1443*d5c09012SAndroid Build Coastguard Worker    string answer_record = 6;
1444*d5c09012SAndroid Build Coastguard Worker  }
1445*d5c09012SAndroid Build Coastguard Worker
1446*d5c09012SAndroid Build Coastguard Worker  // Represents suggested answer from "frequently asked questions".
1447*d5c09012SAndroid Build Coastguard Worker  message FaqAnswer {
1448*d5c09012SAndroid Build Coastguard Worker    // Output only. The piece of text from the `source` knowledge base document.
1449*d5c09012SAndroid Build Coastguard Worker    string answer = 1;
1450*d5c09012SAndroid Build Coastguard Worker
1451*d5c09012SAndroid Build Coastguard Worker    // The system's confidence score that this Knowledge answer is a good match
1452*d5c09012SAndroid Build Coastguard Worker    // for this conversational query, range from 0.0 (completely uncertain)
1453*d5c09012SAndroid Build Coastguard Worker    // to 1.0 (completely certain).
1454*d5c09012SAndroid Build Coastguard Worker    float confidence = 2;
1455*d5c09012SAndroid Build Coastguard Worker
1456*d5c09012SAndroid Build Coastguard Worker    // Output only. The corresponding FAQ question.
1457*d5c09012SAndroid Build Coastguard Worker    string question = 3;
1458*d5c09012SAndroid Build Coastguard Worker
1459*d5c09012SAndroid Build Coastguard Worker    // Output only. Indicates which Knowledge Document this answer was extracted
1460*d5c09012SAndroid Build Coastguard Worker    // from.
1461*d5c09012SAndroid Build Coastguard Worker    // Format: `projects/<Project ID>/locations/<Location
1462*d5c09012SAndroid Build Coastguard Worker    // ID>/agent/knowledgeBases/<Knowledge Base ID>/documents/<Document ID>`.
1463*d5c09012SAndroid Build Coastguard Worker    string source = 4;
1464*d5c09012SAndroid Build Coastguard Worker
1465*d5c09012SAndroid Build Coastguard Worker    // Output only. A map that contains metadata about the answer and the
1466*d5c09012SAndroid Build Coastguard Worker    // document from which it originates.
1467*d5c09012SAndroid Build Coastguard Worker    map<string, string> metadata = 5;
1468*d5c09012SAndroid Build Coastguard Worker
1469*d5c09012SAndroid Build Coastguard Worker    // Output only. The name of answer record, in the format of
1470*d5c09012SAndroid Build Coastguard Worker    // "projects/<Project ID>/locations/<Location ID>/answerRecords/<Answer
1471*d5c09012SAndroid Build Coastguard Worker    // Record ID>"
1472*d5c09012SAndroid Build Coastguard Worker    string answer_record = 6;
1473*d5c09012SAndroid Build Coastguard Worker  }
1474*d5c09012SAndroid Build Coastguard Worker
1475*d5c09012SAndroid Build Coastguard Worker  // Output only. The name of this suggestion.
1476*d5c09012SAndroid Build Coastguard Worker  // Format:
1477*d5c09012SAndroid Build Coastguard Worker  // `projects/<Project ID>/locations/<Location ID>/conversations/<Conversation
1478*d5c09012SAndroid Build Coastguard Worker  // ID>/participants/*/suggestions/<Suggestion ID>`.
1479*d5c09012SAndroid Build Coastguard Worker  string name = 1;
1480*d5c09012SAndroid Build Coastguard Worker
1481*d5c09012SAndroid Build Coastguard Worker  // Output only. Articles ordered by score in descending order.
1482*d5c09012SAndroid Build Coastguard Worker  repeated Article articles = 2;
1483*d5c09012SAndroid Build Coastguard Worker
1484*d5c09012SAndroid Build Coastguard Worker  // Output only. Answers extracted from FAQ documents.
1485*d5c09012SAndroid Build Coastguard Worker  repeated FaqAnswer faq_answers = 4;
1486*d5c09012SAndroid Build Coastguard Worker
1487*d5c09012SAndroid Build Coastguard Worker  // Output only. The time the suggestion was created.
1488*d5c09012SAndroid Build Coastguard Worker  google.protobuf.Timestamp create_time = 5;
1489*d5c09012SAndroid Build Coastguard Worker
1490*d5c09012SAndroid Build Coastguard Worker  // Output only. Latest message used as context to compile this suggestion.
1491*d5c09012SAndroid Build Coastguard Worker  //
1492*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1493*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1494*d5c09012SAndroid Build Coastguard Worker  string latest_message = 7;
1495*d5c09012SAndroid Build Coastguard Worker}
1496*d5c09012SAndroid Build Coastguard Worker
1497*d5c09012SAndroid Build Coastguard Worker// The request message for
1498*d5c09012SAndroid Build Coastguard Worker// [Participants.ListSuggestions][google.cloud.dialogflow.v2beta1.Participants.ListSuggestions].
1499*d5c09012SAndroid Build Coastguard Workermessage ListSuggestionsRequest {
1500*d5c09012SAndroid Build Coastguard Worker  option deprecated = true;
1501*d5c09012SAndroid Build Coastguard Worker
1502*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the participant to fetch suggestions for.
1503*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1504*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
1505*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
1506*d5c09012SAndroid Build Coastguard Worker
1507*d5c09012SAndroid Build Coastguard Worker  // Optional. The maximum number of items to return in a single page. The
1508*d5c09012SAndroid Build Coastguard Worker  // default value is 100; the maximum value is 1000.
1509*d5c09012SAndroid Build Coastguard Worker  int32 page_size = 2;
1510*d5c09012SAndroid Build Coastguard Worker
1511*d5c09012SAndroid Build Coastguard Worker  // Optional. The next_page_token value returned from a previous list request.
1512*d5c09012SAndroid Build Coastguard Worker  string page_token = 3;
1513*d5c09012SAndroid Build Coastguard Worker
1514*d5c09012SAndroid Build Coastguard Worker  // Optional. Filter on suggestions fields. Currently predicates on
1515*d5c09012SAndroid Build Coastguard Worker  // `create_time` and `create_time_epoch_microseconds` are supported.
1516*d5c09012SAndroid Build Coastguard Worker  // `create_time` only support milliseconds accuracy. E.g.,
1517*d5c09012SAndroid Build Coastguard Worker  // `create_time_epoch_microseconds > 1551790877964485` or
1518*d5c09012SAndroid Build Coastguard Worker  // `create_time > "2017-01-15T01:30:15.01Z"`
1519*d5c09012SAndroid Build Coastguard Worker  //
1520*d5c09012SAndroid Build Coastguard Worker  // For more information about filtering, see
1521*d5c09012SAndroid Build Coastguard Worker  // [API Filtering](https://aip.dev/160).
1522*d5c09012SAndroid Build Coastguard Worker  string filter = 4;
1523*d5c09012SAndroid Build Coastguard Worker}
1524*d5c09012SAndroid Build Coastguard Worker
1525*d5c09012SAndroid Build Coastguard Worker// The response message for
1526*d5c09012SAndroid Build Coastguard Worker// [Participants.ListSuggestions][google.cloud.dialogflow.v2beta1.Participants.ListSuggestions].
1527*d5c09012SAndroid Build Coastguard Workermessage ListSuggestionsResponse {
1528*d5c09012SAndroid Build Coastguard Worker  option deprecated = true;
1529*d5c09012SAndroid Build Coastguard Worker
1530*d5c09012SAndroid Build Coastguard Worker  // Required. The list of suggestions. There will be a maximum number of items
1531*d5c09012SAndroid Build Coastguard Worker  // returned based on the page_size field in the request. `suggestions` is
1532*d5c09012SAndroid Build Coastguard Worker  // sorted by `create_time` in descending order.
1533*d5c09012SAndroid Build Coastguard Worker  repeated Suggestion suggestions = 1;
1534*d5c09012SAndroid Build Coastguard Worker
1535*d5c09012SAndroid Build Coastguard Worker  // Optional. Token to retrieve the next page of results or empty if there are
1536*d5c09012SAndroid Build Coastguard Worker  // no more results in the list.
1537*d5c09012SAndroid Build Coastguard Worker  string next_page_token = 2;
1538*d5c09012SAndroid Build Coastguard Worker}
1539*d5c09012SAndroid Build Coastguard Worker
1540*d5c09012SAndroid Build Coastguard Worker// The request message for
1541*d5c09012SAndroid Build Coastguard Worker// [Participants.CompileSuggestion][google.cloud.dialogflow.v2beta1.Participants.CompileSuggestion].
1542*d5c09012SAndroid Build Coastguard Workermessage CompileSuggestionRequest {
1543*d5c09012SAndroid Build Coastguard Worker  option deprecated = true;
1544*d5c09012SAndroid Build Coastguard Worker
1545*d5c09012SAndroid Build Coastguard Worker  // Required. The name of the participant to fetch suggestion for.
1546*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1547*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/participants/<Participant ID>`.
1548*d5c09012SAndroid Build Coastguard Worker  string parent = 1;
1549*d5c09012SAndroid Build Coastguard Worker
1550*d5c09012SAndroid Build Coastguard Worker  // Optional. The name of the latest conversation message to compile suggestion
1551*d5c09012SAndroid Build Coastguard Worker  // for. If empty, it will be the latest message of the conversation.
1552*d5c09012SAndroid Build Coastguard Worker  //
1553*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1554*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1555*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2;
1556*d5c09012SAndroid Build Coastguard Worker
1557*d5c09012SAndroid Build Coastguard Worker  // Optional. Max number of messages prior to and including
1558*d5c09012SAndroid Build Coastguard Worker  // [latest_message] to use as context when compiling the
1559*d5c09012SAndroid Build Coastguard Worker  // suggestion. If zero or less than zero, 20 is used.
1560*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3;
1561*d5c09012SAndroid Build Coastguard Worker}
1562*d5c09012SAndroid Build Coastguard Worker
1563*d5c09012SAndroid Build Coastguard Worker// The response message for
1564*d5c09012SAndroid Build Coastguard Worker// [Participants.CompileSuggestion][google.cloud.dialogflow.v2beta1.Participants.CompileSuggestion].
1565*d5c09012SAndroid Build Coastguard Workermessage CompileSuggestionResponse {
1566*d5c09012SAndroid Build Coastguard Worker  option deprecated = true;
1567*d5c09012SAndroid Build Coastguard Worker
1568*d5c09012SAndroid Build Coastguard Worker  // The compiled suggestion.
1569*d5c09012SAndroid Build Coastguard Worker  Suggestion suggestion = 1;
1570*d5c09012SAndroid Build Coastguard Worker
1571*d5c09012SAndroid Build Coastguard Worker  // The name of the latest conversation message used to compile
1572*d5c09012SAndroid Build Coastguard Worker  // suggestion for.
1573*d5c09012SAndroid Build Coastguard Worker  //
1574*d5c09012SAndroid Build Coastguard Worker  // Format: `projects/<Project ID>/locations/<Location
1575*d5c09012SAndroid Build Coastguard Worker  // ID>/conversations/<Conversation ID>/messages/<Message ID>`.
1576*d5c09012SAndroid Build Coastguard Worker  string latest_message = 2;
1577*d5c09012SAndroid Build Coastguard Worker
1578*d5c09012SAndroid Build Coastguard Worker  // Number of messages prior to and including
1579*d5c09012SAndroid Build Coastguard Worker  // [latest_message][google.cloud.dialogflow.v2beta1.CompileSuggestionResponse.latest_message]
1580*d5c09012SAndroid Build Coastguard Worker  // to compile the suggestion. It may be smaller than the
1581*d5c09012SAndroid Build Coastguard Worker  // [CompileSuggestionRequest.context_size][google.cloud.dialogflow.v2beta1.CompileSuggestionRequest.context_size]
1582*d5c09012SAndroid Build Coastguard Worker  // field in the request if there aren't that many messages in the
1583*d5c09012SAndroid Build Coastguard Worker  // conversation.
1584*d5c09012SAndroid Build Coastguard Worker  int32 context_size = 3;
1585*d5c09012SAndroid Build Coastguard Worker}
1586*d5c09012SAndroid Build Coastguard Worker
1587*d5c09012SAndroid Build Coastguard Worker// Response messages from an automated agent.
1588*d5c09012SAndroid Build Coastguard Workermessage ResponseMessage {
1589*d5c09012SAndroid Build Coastguard Worker  // The text response message.
1590*d5c09012SAndroid Build Coastguard Worker  message Text {
1591*d5c09012SAndroid Build Coastguard Worker    // A collection of text responses.
1592*d5c09012SAndroid Build Coastguard Worker    repeated string text = 1;
1593*d5c09012SAndroid Build Coastguard Worker  }
1594*d5c09012SAndroid Build Coastguard Worker
1595*d5c09012SAndroid Build Coastguard Worker  // Indicates that the conversation should be handed off to a human agent.
1596*d5c09012SAndroid Build Coastguard Worker  //
1597*d5c09012SAndroid Build Coastguard Worker  // Dialogflow only uses this to determine which conversations were handed off
1598*d5c09012SAndroid Build Coastguard Worker  // to a human agent for measurement purposes. What else to do with this signal
1599*d5c09012SAndroid Build Coastguard Worker  // is up to you and your handoff procedures.
1600*d5c09012SAndroid Build Coastguard Worker  //
1601*d5c09012SAndroid Build Coastguard Worker  // You may set this, for example:
1602*d5c09012SAndroid Build Coastguard Worker  //
1603*d5c09012SAndroid Build Coastguard Worker  // * In the entry fulfillment of a CX Page if entering the page indicates
1604*d5c09012SAndroid Build Coastguard Worker  //   something went extremely wrong in the conversation.
1605*d5c09012SAndroid Build Coastguard Worker  // * In a webhook response when you determine that the customer issue can only
1606*d5c09012SAndroid Build Coastguard Worker  //   be handled by a human.
1607*d5c09012SAndroid Build Coastguard Worker  message LiveAgentHandoff {
1608*d5c09012SAndroid Build Coastguard Worker    // Custom metadata for your handoff procedure. Dialogflow doesn't impose
1609*d5c09012SAndroid Build Coastguard Worker    // any structure on this.
1610*d5c09012SAndroid Build Coastguard Worker    google.protobuf.Struct metadata = 1;
1611*d5c09012SAndroid Build Coastguard Worker  }
1612*d5c09012SAndroid Build Coastguard Worker
1613*d5c09012SAndroid Build Coastguard Worker  // Indicates that interaction with the Dialogflow agent has ended.
1614*d5c09012SAndroid Build Coastguard Worker  message EndInteraction {}
1615*d5c09012SAndroid Build Coastguard Worker
1616*d5c09012SAndroid Build Coastguard Worker  // Represents an audio message that is composed of both segments
1617*d5c09012SAndroid Build Coastguard Worker  // synthesized from the Dialogflow agent prompts and ones hosted externally
1618*d5c09012SAndroid Build Coastguard Worker  // at the specified URIs.
1619*d5c09012SAndroid Build Coastguard Worker  message MixedAudio {
1620*d5c09012SAndroid Build Coastguard Worker    // Represents one segment of audio.
1621*d5c09012SAndroid Build Coastguard Worker    message Segment {
1622*d5c09012SAndroid Build Coastguard Worker      // Content of the segment.
1623*d5c09012SAndroid Build Coastguard Worker      oneof content {
1624*d5c09012SAndroid Build Coastguard Worker        // Raw audio synthesized from the Dialogflow agent's response using
1625*d5c09012SAndroid Build Coastguard Worker        // the output config specified in the request.
1626*d5c09012SAndroid Build Coastguard Worker        bytes audio = 1;
1627*d5c09012SAndroid Build Coastguard Worker
1628*d5c09012SAndroid Build Coastguard Worker        // Client-specific URI that points to an audio clip accessible to the
1629*d5c09012SAndroid Build Coastguard Worker        // client.
1630*d5c09012SAndroid Build Coastguard Worker        string uri = 2;
1631*d5c09012SAndroid Build Coastguard Worker      }
1632*d5c09012SAndroid Build Coastguard Worker
1633*d5c09012SAndroid Build Coastguard Worker      // Whether the playback of this segment can be interrupted by the end
1634*d5c09012SAndroid Build Coastguard Worker      // user's speech and the client should then start the next Dialogflow
1635*d5c09012SAndroid Build Coastguard Worker      // request.
1636*d5c09012SAndroid Build Coastguard Worker      bool allow_playback_interruption = 3;
1637*d5c09012SAndroid Build Coastguard Worker    }
1638*d5c09012SAndroid Build Coastguard Worker
1639*d5c09012SAndroid Build Coastguard Worker    // Segments this audio response is composed of.
1640*d5c09012SAndroid Build Coastguard Worker    repeated Segment segments = 1;
1641*d5c09012SAndroid Build Coastguard Worker  }
1642*d5c09012SAndroid Build Coastguard Worker
1643*d5c09012SAndroid Build Coastguard Worker  // Represents the signal that telles the client to transfer the phone call
1644*d5c09012SAndroid Build Coastguard Worker  // connected to the agent to a third-party endpoint.
1645*d5c09012SAndroid Build Coastguard Worker  message TelephonyTransferCall {
1646*d5c09012SAndroid Build Coastguard Worker    // Endpoint to transfer the call to.
1647*d5c09012SAndroid Build Coastguard Worker    oneof endpoint {
1648*d5c09012SAndroid Build Coastguard Worker      // Transfer the call to a phone number
1649*d5c09012SAndroid Build Coastguard Worker      // in [E.164 format](https://en.wikipedia.org/wiki/E.164).
1650*d5c09012SAndroid Build Coastguard Worker      string phone_number = 1;
1651*d5c09012SAndroid Build Coastguard Worker
1652*d5c09012SAndroid Build Coastguard Worker      // Transfer the call to a SIP endpoint.
1653*d5c09012SAndroid Build Coastguard Worker      string sip_uri = 2;
1654*d5c09012SAndroid Build Coastguard Worker    }
1655*d5c09012SAndroid Build Coastguard Worker  }
1656*d5c09012SAndroid Build Coastguard Worker
1657*d5c09012SAndroid Build Coastguard Worker  // Required. The rich response message.
1658*d5c09012SAndroid Build Coastguard Worker  oneof message {
1659*d5c09012SAndroid Build Coastguard Worker    // Returns a text response.
1660*d5c09012SAndroid Build Coastguard Worker    Text text = 1;
1661*d5c09012SAndroid Build Coastguard Worker
1662*d5c09012SAndroid Build Coastguard Worker    // Returns a response containing a custom, platform-specific payload.
1663*d5c09012SAndroid Build Coastguard Worker    google.protobuf.Struct payload = 2;
1664*d5c09012SAndroid Build Coastguard Worker
1665*d5c09012SAndroid Build Coastguard Worker    // Hands off conversation to a live agent.
1666*d5c09012SAndroid Build Coastguard Worker    LiveAgentHandoff live_agent_handoff = 3;
1667*d5c09012SAndroid Build Coastguard Worker
1668*d5c09012SAndroid Build Coastguard Worker    // A signal that indicates the interaction with the Dialogflow agent has
1669*d5c09012SAndroid Build Coastguard Worker    // ended.
1670*d5c09012SAndroid Build Coastguard Worker    EndInteraction end_interaction = 4;
1671*d5c09012SAndroid Build Coastguard Worker
1672*d5c09012SAndroid Build Coastguard Worker    // An audio response message composed of both the synthesized Dialogflow
1673*d5c09012SAndroid Build Coastguard Worker    // agent responses and the audios hosted in places known to the client.
1674*d5c09012SAndroid Build Coastguard Worker    MixedAudio mixed_audio = 5;
1675*d5c09012SAndroid Build Coastguard Worker
1676*d5c09012SAndroid Build Coastguard Worker    // A signal that the client should transfer the phone call connected to
1677*d5c09012SAndroid Build Coastguard Worker    // this agent to a third-party endpoint.
1678*d5c09012SAndroid Build Coastguard Worker    TelephonyTransferCall telephony_transfer_call = 6;
1679*d5c09012SAndroid Build Coastguard Worker  }
1680*d5c09012SAndroid Build Coastguard Worker}
1681