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/conversation_profile.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/participant.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/session.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/timestamp.proto"; 27*d5c09012SAndroid Build Coastguard Worker 28*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true; 29*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dialogflow.V2Beta1"; 30*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dialogflow/apiv2beta1/dialogflowpb;dialogflowpb"; 31*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 32*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "ConversationProto"; 33*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dialogflow.v2beta1"; 34*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DF"; 35*d5c09012SAndroid Build Coastguard Worker 36*d5c09012SAndroid Build Coastguard Worker// Service for managing 37*d5c09012SAndroid Build Coastguard Worker// [Conversations][google.cloud.dialogflow.v2beta1.Conversation]. 38*d5c09012SAndroid Build Coastguard Workerservice Conversations { 39*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dialogflow.googleapis.com"; 40*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 41*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 42*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/dialogflow"; 43*d5c09012SAndroid Build Coastguard Worker 44*d5c09012SAndroid Build Coastguard Worker // Creates a new conversation. Conversations are auto-completed after 24 45*d5c09012SAndroid Build Coastguard Worker // hours. 46*d5c09012SAndroid Build Coastguard Worker // 47*d5c09012SAndroid Build Coastguard Worker // Conversation Lifecycle: 48*d5c09012SAndroid Build Coastguard Worker // There are two stages during a conversation: Automated Agent Stage and 49*d5c09012SAndroid Build Coastguard Worker // Assist Stage. 50*d5c09012SAndroid Build Coastguard Worker // 51*d5c09012SAndroid Build Coastguard Worker // For Automated Agent Stage, there will be a dialogflow agent responding to 52*d5c09012SAndroid Build Coastguard Worker // user queries. 53*d5c09012SAndroid Build Coastguard Worker // 54*d5c09012SAndroid Build Coastguard Worker // For Assist Stage, there's no dialogflow agent responding to user queries. 55*d5c09012SAndroid Build Coastguard Worker // But we will provide suggestions which are generated from conversation. 56*d5c09012SAndroid Build Coastguard Worker // 57*d5c09012SAndroid Build Coastguard Worker // If 58*d5c09012SAndroid Build Coastguard Worker // [Conversation.conversation_profile][google.cloud.dialogflow.v2beta1.Conversation.conversation_profile] 59*d5c09012SAndroid Build Coastguard Worker // is configured for a dialogflow agent, conversation will start from 60*d5c09012SAndroid Build Coastguard Worker // `Automated Agent Stage`, otherwise, it will start from `Assist Stage`. And 61*d5c09012SAndroid Build Coastguard Worker // during `Automated Agent Stage`, once an 62*d5c09012SAndroid Build Coastguard Worker // [Intent][google.cloud.dialogflow.v2beta1.Intent] with 63*d5c09012SAndroid Build Coastguard Worker // [Intent.live_agent_handoff][google.cloud.dialogflow.v2beta1.Intent.live_agent_handoff] 64*d5c09012SAndroid Build Coastguard Worker // is triggered, conversation will transfer to Assist Stage. 65*d5c09012SAndroid Build Coastguard Worker rpc CreateConversation(CreateConversationRequest) returns (Conversation) { 66*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 67*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{parent=projects/*}/conversations" 68*d5c09012SAndroid Build Coastguard Worker body: "conversation" 69*d5c09012SAndroid Build Coastguard Worker additional_bindings { 70*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{parent=projects/*/locations/*}/conversations" 71*d5c09012SAndroid Build Coastguard Worker body: "conversation" 72*d5c09012SAndroid Build Coastguard Worker } 73*d5c09012SAndroid Build Coastguard Worker }; 74*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent,conversation"; 75*d5c09012SAndroid Build Coastguard Worker } 76*d5c09012SAndroid Build Coastguard Worker 77*d5c09012SAndroid Build Coastguard Worker // Returns the list of all conversations in the specified project. 78*d5c09012SAndroid Build Coastguard Worker rpc ListConversations(ListConversationsRequest) 79*d5c09012SAndroid Build Coastguard Worker returns (ListConversationsResponse) { 80*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 81*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{parent=projects/*}/conversations" 82*d5c09012SAndroid Build Coastguard Worker additional_bindings { 83*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{parent=projects/*/locations/*}/conversations" 84*d5c09012SAndroid Build Coastguard Worker } 85*d5c09012SAndroid Build Coastguard Worker }; 86*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 87*d5c09012SAndroid Build Coastguard Worker } 88*d5c09012SAndroid Build Coastguard Worker 89*d5c09012SAndroid Build Coastguard Worker // Retrieves the specific conversation. 90*d5c09012SAndroid Build Coastguard Worker rpc GetConversation(GetConversationRequest) returns (Conversation) { 91*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 92*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{name=projects/*/conversations/*}" 93*d5c09012SAndroid Build Coastguard Worker additional_bindings { 94*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{name=projects/*/locations/*/conversations/*}" 95*d5c09012SAndroid Build Coastguard Worker } 96*d5c09012SAndroid Build Coastguard Worker }; 97*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 98*d5c09012SAndroid Build Coastguard Worker } 99*d5c09012SAndroid Build Coastguard Worker 100*d5c09012SAndroid Build Coastguard Worker // Completes the specified conversation. Finished conversations are purged 101*d5c09012SAndroid Build Coastguard Worker // from the database after 30 days. 102*d5c09012SAndroid Build Coastguard Worker rpc CompleteConversation(CompleteConversationRequest) returns (Conversation) { 103*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 104*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{name=projects/*/conversations/*}:complete" 105*d5c09012SAndroid Build Coastguard Worker body: "*" 106*d5c09012SAndroid Build Coastguard Worker additional_bindings { 107*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{name=projects/*/locations/*/conversations/*}:complete" 108*d5c09012SAndroid Build Coastguard Worker body: "*" 109*d5c09012SAndroid Build Coastguard Worker } 110*d5c09012SAndroid Build Coastguard Worker }; 111*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "name"; 112*d5c09012SAndroid Build Coastguard Worker } 113*d5c09012SAndroid Build Coastguard Worker 114*d5c09012SAndroid Build Coastguard Worker // Batch ingests messages to conversation. Customers can use this RPC to 115*d5c09012SAndroid Build Coastguard Worker // ingest historical messages to conversation. 116*d5c09012SAndroid Build Coastguard Worker rpc BatchCreateMessages(BatchCreateMessagesRequest) 117*d5c09012SAndroid Build Coastguard Worker returns (BatchCreateMessagesResponse) { 118*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 119*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{parent=projects/*/conversations/*}/messages:batchCreate" 120*d5c09012SAndroid Build Coastguard Worker body: "*" 121*d5c09012SAndroid Build Coastguard Worker additional_bindings { 122*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{parent=projects/*/locations/*/conversations/*}/messages:batchCreate" 123*d5c09012SAndroid Build Coastguard Worker body: "*" 124*d5c09012SAndroid Build Coastguard Worker } 125*d5c09012SAndroid Build Coastguard Worker }; 126*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 127*d5c09012SAndroid Build Coastguard Worker } 128*d5c09012SAndroid Build Coastguard Worker 129*d5c09012SAndroid Build Coastguard Worker // Lists messages that belong to a given conversation. 130*d5c09012SAndroid Build Coastguard Worker // `messages` are ordered by `create_time` in descending order. To fetch 131*d5c09012SAndroid Build Coastguard Worker // updates without duplication, send request with filter 132*d5c09012SAndroid Build Coastguard Worker // `create_time_epoch_microseconds > 133*d5c09012SAndroid Build Coastguard Worker // [first item's create_time of previous request]` and empty page_token. 134*d5c09012SAndroid Build Coastguard Worker rpc ListMessages(ListMessagesRequest) returns (ListMessagesResponse) { 135*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 136*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{parent=projects/*/conversations/*}/messages" 137*d5c09012SAndroid Build Coastguard Worker additional_bindings { 138*d5c09012SAndroid Build Coastguard Worker get: "/v2beta1/{parent=projects/*/locations/*/conversations/*}/messages" 139*d5c09012SAndroid Build Coastguard Worker } 140*d5c09012SAndroid Build Coastguard Worker }; 141*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "parent"; 142*d5c09012SAndroid Build Coastguard Worker } 143*d5c09012SAndroid Build Coastguard Worker 144*d5c09012SAndroid Build Coastguard Worker // Suggest summary for a conversation based on specific historical messages. 145*d5c09012SAndroid Build Coastguard Worker // The range of the messages to be used for summary can be specified in the 146*d5c09012SAndroid Build Coastguard Worker // request. 147*d5c09012SAndroid Build Coastguard Worker rpc SuggestConversationSummary(SuggestConversationSummaryRequest) 148*d5c09012SAndroid Build Coastguard Worker returns (SuggestConversationSummaryResponse) { 149*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 150*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{conversation=projects/*/conversations/*}/suggestions:suggestConversationSummary" 151*d5c09012SAndroid Build Coastguard Worker body: "*" 152*d5c09012SAndroid Build Coastguard Worker additional_bindings { 153*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{conversation=projects/*/locations/*/conversations/*}/suggestions:suggestConversationSummary" 154*d5c09012SAndroid Build Coastguard Worker body: "*" 155*d5c09012SAndroid Build Coastguard Worker } 156*d5c09012SAndroid Build Coastguard Worker }; 157*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "conversation"; 158*d5c09012SAndroid Build Coastguard Worker } 159*d5c09012SAndroid Build Coastguard Worker 160*d5c09012SAndroid Build Coastguard Worker // Generates and returns a summary for a conversation that does not have a 161*d5c09012SAndroid Build Coastguard Worker // resource created for it. 162*d5c09012SAndroid Build Coastguard Worker rpc GenerateStatelessSummary(GenerateStatelessSummaryRequest) 163*d5c09012SAndroid Build Coastguard Worker returns (GenerateStatelessSummaryResponse) { 164*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 165*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{stateless_conversation.parent=projects/*}/suggestions:generateStatelessSummary" 166*d5c09012SAndroid Build Coastguard Worker body: "*" 167*d5c09012SAndroid Build Coastguard Worker additional_bindings { 168*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{stateless_conversation.parent=projects/*/locations/*}/suggestions:generateStatelessSummary" 169*d5c09012SAndroid Build Coastguard Worker body: "*" 170*d5c09012SAndroid Build Coastguard Worker } 171*d5c09012SAndroid Build Coastguard Worker }; 172*d5c09012SAndroid Build Coastguard Worker } 173*d5c09012SAndroid Build Coastguard Worker 174*d5c09012SAndroid Build Coastguard Worker // Get answers for the given query based on knowledge documents. 175*d5c09012SAndroid Build Coastguard Worker rpc SearchKnowledge(SearchKnowledgeRequest) 176*d5c09012SAndroid Build Coastguard Worker returns (SearchKnowledgeResponse) { 177*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 178*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{parent=projects/*}/suggestions:searchKnowledge" 179*d5c09012SAndroid Build Coastguard Worker body: "*" 180*d5c09012SAndroid Build Coastguard Worker additional_bindings { 181*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{parent=projects/*/locations/*}/suggestions:searchKnowledge" 182*d5c09012SAndroid Build Coastguard Worker body: "*" 183*d5c09012SAndroid Build Coastguard Worker } 184*d5c09012SAndroid Build Coastguard Worker additional_bindings { 185*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{conversation=projects/*/conversations/*}/suggestions:searchKnowledge" 186*d5c09012SAndroid Build Coastguard Worker body: "*" 187*d5c09012SAndroid Build Coastguard Worker } 188*d5c09012SAndroid Build Coastguard Worker additional_bindings { 189*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{conversation=projects/*/locations/*/conversations/*}/suggestions:searchKnowledge" 190*d5c09012SAndroid Build Coastguard Worker body: "*" 191*d5c09012SAndroid Build Coastguard Worker } 192*d5c09012SAndroid Build Coastguard Worker }; 193*d5c09012SAndroid Build Coastguard Worker } 194*d5c09012SAndroid Build Coastguard Worker} 195*d5c09012SAndroid Build Coastguard Worker 196*d5c09012SAndroid Build Coastguard Worker// Represents a conversation. 197*d5c09012SAndroid Build Coastguard Worker// A conversation is an interaction between an agent, including live agents 198*d5c09012SAndroid Build Coastguard Worker// and Dialogflow agents, and a support customer. Conversations can 199*d5c09012SAndroid Build Coastguard Worker// include phone calls and text-based chat sessions. 200*d5c09012SAndroid Build Coastguard Workermessage Conversation { 201*d5c09012SAndroid Build Coastguard Worker option (google.api.resource) = { 202*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Conversation" 203*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/conversations/{conversation}" 204*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/conversations/{conversation}" 205*d5c09012SAndroid Build Coastguard Worker }; 206*d5c09012SAndroid Build Coastguard Worker 207*d5c09012SAndroid Build Coastguard Worker // Enumeration of the completion status of the conversation. 208*d5c09012SAndroid Build Coastguard Worker enum LifecycleState { 209*d5c09012SAndroid Build Coastguard Worker // Unknown. 210*d5c09012SAndroid Build Coastguard Worker LIFECYCLE_STATE_UNSPECIFIED = 0; 211*d5c09012SAndroid Build Coastguard Worker 212*d5c09012SAndroid Build Coastguard Worker // Conversation is currently open for media analysis. 213*d5c09012SAndroid Build Coastguard Worker IN_PROGRESS = 1; 214*d5c09012SAndroid Build Coastguard Worker 215*d5c09012SAndroid Build Coastguard Worker // Conversation has been completed. 216*d5c09012SAndroid Build Coastguard Worker COMPLETED = 2; 217*d5c09012SAndroid Build Coastguard Worker } 218*d5c09012SAndroid Build Coastguard Worker 219*d5c09012SAndroid Build Coastguard Worker // Enumeration of the different conversation stages a conversation can be in. 220*d5c09012SAndroid Build Coastguard Worker // Reference: 221*d5c09012SAndroid Build Coastguard Worker // https://cloud.google.com/dialogflow/priv/docs/contact-center/basics#stages 222*d5c09012SAndroid Build Coastguard Worker enum ConversationStage { 223*d5c09012SAndroid Build Coastguard Worker // Unknown. Should never be used after a conversation is successfully 224*d5c09012SAndroid Build Coastguard Worker // created. 225*d5c09012SAndroid Build Coastguard Worker CONVERSATION_STAGE_UNSPECIFIED = 0; 226*d5c09012SAndroid Build Coastguard Worker 227*d5c09012SAndroid Build Coastguard Worker // The conversation should return virtual agent responses into the 228*d5c09012SAndroid Build Coastguard Worker // conversation. 229*d5c09012SAndroid Build Coastguard Worker VIRTUAL_AGENT_STAGE = 1; 230*d5c09012SAndroid Build Coastguard Worker 231*d5c09012SAndroid Build Coastguard Worker // The conversation should not provide responses, just listen and provide 232*d5c09012SAndroid Build Coastguard Worker // suggestions. 233*d5c09012SAndroid Build Coastguard Worker HUMAN_ASSIST_STAGE = 2; 234*d5c09012SAndroid Build Coastguard Worker } 235*d5c09012SAndroid Build Coastguard Worker 236*d5c09012SAndroid Build Coastguard Worker // Output only. The unique identifier of this conversation. 237*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 238*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>`. 239*d5c09012SAndroid Build Coastguard Worker string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 240*d5c09012SAndroid Build Coastguard Worker 241*d5c09012SAndroid Build Coastguard Worker // Output only. The current state of the Conversation. 242*d5c09012SAndroid Build Coastguard Worker LifecycleState lifecycle_state = 2 243*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 244*d5c09012SAndroid Build Coastguard Worker 245*d5c09012SAndroid Build Coastguard Worker // Required. The Conversation Profile to be used to configure this 246*d5c09012SAndroid Build Coastguard Worker // Conversation. This field cannot be updated. 247*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 248*d5c09012SAndroid Build Coastguard Worker // ID>/conversationProfiles/<Conversation Profile ID>`. 249*d5c09012SAndroid Build Coastguard Worker string conversation_profile = 3 [ 250*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 251*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 252*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/ConversationProfile" 253*d5c09012SAndroid Build Coastguard Worker } 254*d5c09012SAndroid Build Coastguard Worker ]; 255*d5c09012SAndroid Build Coastguard Worker 256*d5c09012SAndroid Build Coastguard Worker // Output only. Required if the conversation is to be connected over 257*d5c09012SAndroid Build Coastguard Worker // telephony. 258*d5c09012SAndroid Build Coastguard Worker ConversationPhoneNumber phone_number = 4 259*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 260*d5c09012SAndroid Build Coastguard Worker 261*d5c09012SAndroid Build Coastguard Worker // The stage of a conversation. It indicates whether the virtual agent or a 262*d5c09012SAndroid Build Coastguard Worker // human agent is handling the conversation. 263*d5c09012SAndroid Build Coastguard Worker // 264*d5c09012SAndroid Build Coastguard Worker // If the conversation is created with the conversation profile that has 265*d5c09012SAndroid Build Coastguard Worker // Dialogflow config set, defaults to 266*d5c09012SAndroid Build Coastguard Worker // [ConversationStage.VIRTUAL_AGENT_STAGE][google.cloud.dialogflow.v2beta1.Conversation.ConversationStage.VIRTUAL_AGENT_STAGE]; 267*d5c09012SAndroid Build Coastguard Worker // Otherwise, defaults to 268*d5c09012SAndroid Build Coastguard Worker // [ConversationStage.HUMAN_ASSIST_STAGE][google.cloud.dialogflow.v2beta1.Conversation.ConversationStage.HUMAN_ASSIST_STAGE]. 269*d5c09012SAndroid Build Coastguard Worker // 270*d5c09012SAndroid Build Coastguard Worker // If the conversation is created with the conversation profile that has 271*d5c09012SAndroid Build Coastguard Worker // Dialogflow config set but explicitly sets conversation_stage to 272*d5c09012SAndroid Build Coastguard Worker // [ConversationStage.HUMAN_ASSIST_STAGE][google.cloud.dialogflow.v2beta1.Conversation.ConversationStage.HUMAN_ASSIST_STAGE], 273*d5c09012SAndroid Build Coastguard Worker // it skips 274*d5c09012SAndroid Build Coastguard Worker // [ConversationStage.VIRTUAL_AGENT_STAGE][google.cloud.dialogflow.v2beta1.Conversation.ConversationStage.VIRTUAL_AGENT_STAGE] 275*d5c09012SAndroid Build Coastguard Worker // stage and directly goes to 276*d5c09012SAndroid Build Coastguard Worker // [ConversationStage.HUMAN_ASSIST_STAGE][google.cloud.dialogflow.v2beta1.Conversation.ConversationStage.HUMAN_ASSIST_STAGE]. 277*d5c09012SAndroid Build Coastguard Worker ConversationStage conversation_stage = 7; 278*d5c09012SAndroid Build Coastguard Worker 279*d5c09012SAndroid Build Coastguard Worker // Output only. The time the conversation was started. 280*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp start_time = 5 281*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 282*d5c09012SAndroid Build Coastguard Worker 283*d5c09012SAndroid Build Coastguard Worker // Output only. The time the conversation was finished. 284*d5c09012SAndroid Build Coastguard Worker google.protobuf.Timestamp end_time = 6 285*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = OUTPUT_ONLY]; 286*d5c09012SAndroid Build Coastguard Worker} 287*d5c09012SAndroid Build Coastguard Worker 288*d5c09012SAndroid Build Coastguard Worker// Represents a phone number for telephony integration. It allows for connecting 289*d5c09012SAndroid Build Coastguard Worker// a particular conversation over telephony. 290*d5c09012SAndroid Build Coastguard Workermessage ConversationPhoneNumber { 291*d5c09012SAndroid Build Coastguard Worker // Output only. The phone number to connect to this conversation. 292*d5c09012SAndroid Build Coastguard Worker string phone_number = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 293*d5c09012SAndroid Build Coastguard Worker} 294*d5c09012SAndroid Build Coastguard Worker 295*d5c09012SAndroid Build Coastguard Worker// The request message for 296*d5c09012SAndroid Build Coastguard Worker// [Conversations.CreateConversation][google.cloud.dialogflow.v2beta1.Conversations.CreateConversation]. 297*d5c09012SAndroid Build Coastguard Workermessage CreateConversationRequest { 298*d5c09012SAndroid Build Coastguard Worker // Required. Resource identifier of the project creating the conversation. 299*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location ID>`. 300*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 301*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 302*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 303*d5c09012SAndroid Build Coastguard Worker child_type: "dialogflow.googleapis.com/Conversation" 304*d5c09012SAndroid Build Coastguard Worker } 305*d5c09012SAndroid Build Coastguard Worker ]; 306*d5c09012SAndroid Build Coastguard Worker 307*d5c09012SAndroid Build Coastguard Worker // Required. The conversation to create. 308*d5c09012SAndroid Build Coastguard Worker Conversation conversation = 2 [(google.api.field_behavior) = REQUIRED]; 309*d5c09012SAndroid Build Coastguard Worker 310*d5c09012SAndroid Build Coastguard Worker // Optional. Identifier of the conversation. Generally it's auto generated by 311*d5c09012SAndroid Build Coastguard Worker // Google. Only set it if you cannot wait for the response to return a 312*d5c09012SAndroid Build Coastguard Worker // auto-generated one to you. 313*d5c09012SAndroid Build Coastguard Worker // 314*d5c09012SAndroid Build Coastguard Worker // The conversation ID must be compliant with the regression fomula 315*d5c09012SAndroid Build Coastguard Worker // `[a-zA-Z][a-zA-Z0-9_-]*` with the characters length in range of [3,64]. 316*d5c09012SAndroid Build Coastguard Worker // If the field is provided, the caller is resposible for 317*d5c09012SAndroid Build Coastguard Worker // 1. the uniqueness of the ID, otherwise the request will be rejected. 318*d5c09012SAndroid Build Coastguard Worker // 2. the consistency for whether to use custom ID or not under a project to 319*d5c09012SAndroid Build Coastguard Worker // better ensure uniqueness. 320*d5c09012SAndroid Build Coastguard Worker string conversation_id = 3 [(google.api.field_behavior) = OPTIONAL]; 321*d5c09012SAndroid Build Coastguard Worker} 322*d5c09012SAndroid Build Coastguard Worker 323*d5c09012SAndroid Build Coastguard Worker// The request message for 324*d5c09012SAndroid Build Coastguard Worker// [Conversations.ListConversations][google.cloud.dialogflow.v2beta1.Conversations.ListConversations]. 325*d5c09012SAndroid Build Coastguard Workermessage ListConversationsRequest { 326*d5c09012SAndroid Build Coastguard Worker // Required. The project from which to list all conversation. 327*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location ID>`. 328*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 329*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 330*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 331*d5c09012SAndroid Build Coastguard Worker child_type: "dialogflow.googleapis.com/Conversation" 332*d5c09012SAndroid Build Coastguard Worker } 333*d5c09012SAndroid Build Coastguard Worker ]; 334*d5c09012SAndroid Build Coastguard Worker 335*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of items to return in a single page. By 336*d5c09012SAndroid Build Coastguard Worker // default 100 and at most 1000. 337*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 338*d5c09012SAndroid Build Coastguard Worker 339*d5c09012SAndroid Build Coastguard Worker // Optional. The next_page_token value returned from a previous list request. 340*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 341*d5c09012SAndroid Build Coastguard Worker 342*d5c09012SAndroid Build Coastguard Worker // A filter expression that filters conversations listed in the response. In 343*d5c09012SAndroid Build Coastguard Worker // general, the expression must specify the field name, a comparison operator, 344*d5c09012SAndroid Build Coastguard Worker // and the value to use for filtering: 345*d5c09012SAndroid Build Coastguard Worker // <ul> 346*d5c09012SAndroid Build Coastguard Worker // <li>The value must be a string, a number, or a boolean.</li> 347*d5c09012SAndroid Build Coastguard Worker // <li>The comparison operator must be either `=`,`!=`, `>`, or `<`.</li> 348*d5c09012SAndroid Build Coastguard Worker // <li>To filter on multiple expressions, separate the 349*d5c09012SAndroid Build Coastguard Worker // expressions with `AND` or `OR` (omitting both implies `AND`).</li> 350*d5c09012SAndroid Build Coastguard Worker // <li>For clarity, expressions can be enclosed in parentheses.</li> 351*d5c09012SAndroid Build Coastguard Worker // </ul> 352*d5c09012SAndroid Build Coastguard Worker // Only `lifecycle_state` can be filtered on in this way. For example, 353*d5c09012SAndroid Build Coastguard Worker // the following expression only returns `COMPLETED` conversations: 354*d5c09012SAndroid Build Coastguard Worker // 355*d5c09012SAndroid Build Coastguard Worker // `lifecycle_state = "COMPLETED"` 356*d5c09012SAndroid Build Coastguard Worker // 357*d5c09012SAndroid Build Coastguard Worker // For more information about filtering, see 358*d5c09012SAndroid Build Coastguard Worker // [API Filtering](https://aip.dev/160). 359*d5c09012SAndroid Build Coastguard Worker string filter = 4; 360*d5c09012SAndroid Build Coastguard Worker} 361*d5c09012SAndroid Build Coastguard Worker 362*d5c09012SAndroid Build Coastguard Worker// The response message for 363*d5c09012SAndroid Build Coastguard Worker// [Conversations.ListConversations][google.cloud.dialogflow.v2beta1.Conversations.ListConversations]. 364*d5c09012SAndroid Build Coastguard Workermessage ListConversationsResponse { 365*d5c09012SAndroid Build Coastguard Worker // The list of conversations. There will be a maximum number of items 366*d5c09012SAndroid Build Coastguard Worker // returned based on the page_size field in the request. 367*d5c09012SAndroid Build Coastguard Worker repeated Conversation conversations = 1; 368*d5c09012SAndroid Build Coastguard Worker 369*d5c09012SAndroid Build Coastguard Worker // Token to retrieve the next page of results, or empty if there are no 370*d5c09012SAndroid Build Coastguard Worker // more results in the list. 371*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 372*d5c09012SAndroid Build Coastguard Worker} 373*d5c09012SAndroid Build Coastguard Worker 374*d5c09012SAndroid Build Coastguard Worker// The request message for 375*d5c09012SAndroid Build Coastguard Worker// [Conversations.GetConversation][google.cloud.dialogflow.v2beta1.Conversations.GetConversation]. 376*d5c09012SAndroid Build Coastguard Workermessage GetConversationRequest { 377*d5c09012SAndroid Build Coastguard Worker // Required. The name of the conversation. Format: 378*d5c09012SAndroid Build Coastguard Worker // `projects/<Project ID>/locations/<Location ID>/conversations/<Conversation 379*d5c09012SAndroid Build Coastguard Worker // ID>`. 380*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 381*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 382*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 383*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Conversation" 384*d5c09012SAndroid Build Coastguard Worker } 385*d5c09012SAndroid Build Coastguard Worker ]; 386*d5c09012SAndroid Build Coastguard Worker} 387*d5c09012SAndroid Build Coastguard Worker 388*d5c09012SAndroid Build Coastguard Worker// The request message for 389*d5c09012SAndroid Build Coastguard Worker// [Conversations.CompleteConversation][google.cloud.dialogflow.v2beta1.Conversations.CompleteConversation]. 390*d5c09012SAndroid Build Coastguard Workermessage CompleteConversationRequest { 391*d5c09012SAndroid Build Coastguard Worker // Required. Resource identifier of the conversation to close. 392*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 393*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>`. 394*d5c09012SAndroid Build Coastguard Worker string name = 1 [ 395*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 396*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 397*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Conversation" 398*d5c09012SAndroid Build Coastguard Worker } 399*d5c09012SAndroid Build Coastguard Worker ]; 400*d5c09012SAndroid Build Coastguard Worker} 401*d5c09012SAndroid Build Coastguard Worker 402*d5c09012SAndroid Build Coastguard Worker// The request message to create one Message. Currently it is only used in 403*d5c09012SAndroid Build Coastguard Worker// BatchCreateMessagesRequest. 404*d5c09012SAndroid Build Coastguard Workermessage CreateMessageRequest { 405*d5c09012SAndroid Build Coastguard Worker // Required. Resource identifier of the conversation to create message. 406*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 407*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>`. 408*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 409*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 410*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 411*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Conversation" 412*d5c09012SAndroid Build Coastguard Worker } 413*d5c09012SAndroid Build Coastguard Worker ]; 414*d5c09012SAndroid Build Coastguard Worker 415*d5c09012SAndroid Build Coastguard Worker // Required. The message to create. 416*d5c09012SAndroid Build Coastguard Worker // [Message.participant][google.cloud.dialogflow.v2beta1.Message.participant] 417*d5c09012SAndroid Build Coastguard Worker // is required. 418*d5c09012SAndroid Build Coastguard Worker Message message = 2 [(google.api.field_behavior) = REQUIRED]; 419*d5c09012SAndroid Build Coastguard Worker} 420*d5c09012SAndroid Build Coastguard Worker 421*d5c09012SAndroid Build Coastguard Worker// The request message for [Conversations.BatchCreateMessagesRequest][]. 422*d5c09012SAndroid Build Coastguard Workermessage BatchCreateMessagesRequest { 423*d5c09012SAndroid Build Coastguard Worker // Required. Resource identifier of the conversation to create message. 424*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 425*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>`. 426*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 427*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 428*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 429*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Conversation" 430*d5c09012SAndroid Build Coastguard Worker } 431*d5c09012SAndroid Build Coastguard Worker ]; 432*d5c09012SAndroid Build Coastguard Worker 433*d5c09012SAndroid Build Coastguard Worker // Required. A maximum of 300 messages can be created in a batch. 434*d5c09012SAndroid Build Coastguard Worker // [CreateMessageRequest.message.send_time][] is required. All created 435*d5c09012SAndroid Build Coastguard Worker // messages will have identical 436*d5c09012SAndroid Build Coastguard Worker // [Message.create_time][google.cloud.dialogflow.v2beta1.Message.create_time]. 437*d5c09012SAndroid Build Coastguard Worker repeated CreateMessageRequest requests = 2 438*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 439*d5c09012SAndroid Build Coastguard Worker} 440*d5c09012SAndroid Build Coastguard Worker 441*d5c09012SAndroid Build Coastguard Worker// The request message for [Conversations.BatchCreateMessagesResponse][]. 442*d5c09012SAndroid Build Coastguard Workermessage BatchCreateMessagesResponse { 443*d5c09012SAndroid Build Coastguard Worker // Messages created. 444*d5c09012SAndroid Build Coastguard Worker repeated Message messages = 1; 445*d5c09012SAndroid Build Coastguard Worker} 446*d5c09012SAndroid Build Coastguard Worker 447*d5c09012SAndroid Build Coastguard Worker// The request message for 448*d5c09012SAndroid Build Coastguard Worker// [Conversations.ListMessages][google.cloud.dialogflow.v2beta1.Conversations.ListMessages]. 449*d5c09012SAndroid Build Coastguard Workermessage ListMessagesRequest { 450*d5c09012SAndroid Build Coastguard Worker // Required. The name of the conversation to list messages for. 451*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 452*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>` 453*d5c09012SAndroid Build Coastguard Worker string parent = 1 [ 454*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 455*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 456*d5c09012SAndroid Build Coastguard Worker child_type: "dialogflow.googleapis.com/Message" 457*d5c09012SAndroid Build Coastguard Worker } 458*d5c09012SAndroid Build Coastguard Worker ]; 459*d5c09012SAndroid Build Coastguard Worker 460*d5c09012SAndroid Build Coastguard Worker // Optional. Filter on message fields. Currently predicates on `create_time` 461*d5c09012SAndroid Build Coastguard Worker // and `create_time_epoch_microseconds` are supported. `create_time` only 462*d5c09012SAndroid Build Coastguard Worker // support milliseconds accuracy. E.g., 463*d5c09012SAndroid Build Coastguard Worker // `create_time_epoch_microseconds > 1551790877964485` or 464*d5c09012SAndroid Build Coastguard Worker // `create_time > "2017-01-15T01:30:15.01Z"`. 465*d5c09012SAndroid Build Coastguard Worker // 466*d5c09012SAndroid Build Coastguard Worker // For more information about filtering, see 467*d5c09012SAndroid Build Coastguard Worker // [API Filtering](https://aip.dev/160). 468*d5c09012SAndroid Build Coastguard Worker string filter = 4; 469*d5c09012SAndroid Build Coastguard Worker 470*d5c09012SAndroid Build Coastguard Worker // Optional. The maximum number of items to return in a single page. By 471*d5c09012SAndroid Build Coastguard Worker // default 100 and at most 1000. 472*d5c09012SAndroid Build Coastguard Worker int32 page_size = 2; 473*d5c09012SAndroid Build Coastguard Worker 474*d5c09012SAndroid Build Coastguard Worker // Optional. The next_page_token value returned from a previous list request. 475*d5c09012SAndroid Build Coastguard Worker string page_token = 3; 476*d5c09012SAndroid Build Coastguard Worker} 477*d5c09012SAndroid Build Coastguard Worker 478*d5c09012SAndroid Build Coastguard Worker// The response message for 479*d5c09012SAndroid Build Coastguard Worker// [Conversations.ListMessages][google.cloud.dialogflow.v2beta1.Conversations.ListMessages]. 480*d5c09012SAndroid Build Coastguard Workermessage ListMessagesResponse { 481*d5c09012SAndroid Build Coastguard Worker // Required. The list of messages. There will be a maximum number of items 482*d5c09012SAndroid Build Coastguard Worker // returned based on the page_size field in the request. 483*d5c09012SAndroid Build Coastguard Worker // `messages` is sorted by `create_time` in descending order. 484*d5c09012SAndroid Build Coastguard Worker repeated Message messages = 1; 485*d5c09012SAndroid Build Coastguard Worker 486*d5c09012SAndroid Build Coastguard Worker // Optional. Token to retrieve the next page of results, or empty if there are 487*d5c09012SAndroid Build Coastguard Worker // no more results in the list. 488*d5c09012SAndroid Build Coastguard Worker string next_page_token = 2; 489*d5c09012SAndroid Build Coastguard Worker} 490*d5c09012SAndroid Build Coastguard Worker 491*d5c09012SAndroid Build Coastguard Worker// The request message for 492*d5c09012SAndroid Build Coastguard Worker// [Conversations.SuggestConversationSummary][google.cloud.dialogflow.v2beta1.Conversations.SuggestConversationSummary]. 493*d5c09012SAndroid Build Coastguard Workermessage SuggestConversationSummaryRequest { 494*d5c09012SAndroid Build Coastguard Worker // Required. The conversation to fetch suggestion for. 495*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 496*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>`. 497*d5c09012SAndroid Build Coastguard Worker string conversation = 1 [ 498*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 499*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 500*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Conversation" 501*d5c09012SAndroid Build Coastguard Worker } 502*d5c09012SAndroid Build Coastguard Worker ]; 503*d5c09012SAndroid Build Coastguard Worker 504*d5c09012SAndroid Build Coastguard Worker // The name of the latest conversation message used as context for 505*d5c09012SAndroid Build Coastguard Worker // compiling suggestion. If empty, the latest message of the conversation will 506*d5c09012SAndroid Build Coastguard Worker // be used. 507*d5c09012SAndroid Build Coastguard Worker // 508*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 509*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>/messages/<Message ID>`. 510*d5c09012SAndroid Build Coastguard Worker string latest_message = 3 [(google.api.resource_reference) = { 511*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Message" 512*d5c09012SAndroid Build Coastguard Worker }]; 513*d5c09012SAndroid Build Coastguard Worker 514*d5c09012SAndroid Build Coastguard Worker // Max number of messages prior to and including 515*d5c09012SAndroid Build Coastguard Worker // [latest_message] to use as context when compiling the 516*d5c09012SAndroid Build Coastguard Worker // suggestion. By default 500 and at most 1000. 517*d5c09012SAndroid Build Coastguard Worker int32 context_size = 4; 518*d5c09012SAndroid Build Coastguard Worker 519*d5c09012SAndroid Build Coastguard Worker // Parameters for a human assist query. Only used for POC/demo purpose. 520*d5c09012SAndroid Build Coastguard Worker AssistQueryParameters assist_query_params = 5; 521*d5c09012SAndroid Build Coastguard Worker} 522*d5c09012SAndroid Build Coastguard Worker 523*d5c09012SAndroid Build Coastguard Worker// The response message for 524*d5c09012SAndroid Build Coastguard Worker// [Conversations.SuggestConversationSummary][google.cloud.dialogflow.v2beta1.Conversations.SuggestConversationSummary]. 525*d5c09012SAndroid Build Coastguard Workermessage SuggestConversationSummaryResponse { 526*d5c09012SAndroid Build Coastguard Worker // Generated summary for a conversation. 527*d5c09012SAndroid Build Coastguard Worker message Summary { 528*d5c09012SAndroid Build Coastguard Worker // The summary content that is concatenated into one string. 529*d5c09012SAndroid Build Coastguard Worker string text = 1; 530*d5c09012SAndroid Build Coastguard Worker 531*d5c09012SAndroid Build Coastguard Worker // The summary content that is divided into sections. The key is the 532*d5c09012SAndroid Build Coastguard Worker // section's name and the value is the section's content. There is no 533*d5c09012SAndroid Build Coastguard Worker // specific format for the key or value. 534*d5c09012SAndroid Build Coastguard Worker map<string, string> text_sections = 4; 535*d5c09012SAndroid Build Coastguard Worker 536*d5c09012SAndroid Build Coastguard Worker // The name of the answer record. Format: 537*d5c09012SAndroid Build Coastguard Worker // "projects/<Project ID>/answerRecords/<Answer Record ID>" 538*d5c09012SAndroid Build Coastguard Worker string answer_record = 3 [(google.api.resource_reference) = { 539*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/AnswerRecord" 540*d5c09012SAndroid Build Coastguard Worker }]; 541*d5c09012SAndroid Build Coastguard Worker 542*d5c09012SAndroid Build Coastguard Worker // The baseline model version used to generate this summary. It is empty if 543*d5c09012SAndroid Build Coastguard Worker // a baseline model was not used to generate this summary. 544*d5c09012SAndroid Build Coastguard Worker string baseline_model_version = 5; 545*d5c09012SAndroid Build Coastguard Worker } 546*d5c09012SAndroid Build Coastguard Worker 547*d5c09012SAndroid Build Coastguard Worker // Generated summary. 548*d5c09012SAndroid Build Coastguard Worker Summary summary = 1; 549*d5c09012SAndroid Build Coastguard Worker 550*d5c09012SAndroid Build Coastguard Worker // The name of the latest conversation message used as context for 551*d5c09012SAndroid Build Coastguard Worker // compiling suggestion. 552*d5c09012SAndroid Build Coastguard Worker // 553*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 554*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>/messages/<Message ID>`. 555*d5c09012SAndroid Build Coastguard Worker string latest_message = 2 [(google.api.resource_reference) = { 556*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Message" 557*d5c09012SAndroid Build Coastguard Worker }]; 558*d5c09012SAndroid Build Coastguard Worker 559*d5c09012SAndroid Build Coastguard Worker // Number of messages prior to and including 560*d5c09012SAndroid Build Coastguard Worker // [last_conversation_message][] used to compile the suggestion. It may be 561*d5c09012SAndroid Build Coastguard Worker // smaller than the [SuggestSummaryRequest.context_size][] field in the 562*d5c09012SAndroid Build Coastguard Worker // request if there weren't that many messages in the conversation. 563*d5c09012SAndroid Build Coastguard Worker int32 context_size = 3; 564*d5c09012SAndroid Build Coastguard Worker} 565*d5c09012SAndroid Build Coastguard Worker 566*d5c09012SAndroid Build Coastguard Worker// The request message for 567*d5c09012SAndroid Build Coastguard Worker// [Conversations.GenerateStatelessSummary][google.cloud.dialogflow.v2beta1.Conversations.GenerateStatelessSummary]. 568*d5c09012SAndroid Build Coastguard Workermessage GenerateStatelessSummaryRequest { 569*d5c09012SAndroid Build Coastguard Worker // The minimum amount of information required to generate a Summary without 570*d5c09012SAndroid Build Coastguard Worker // having a Conversation resource created. 571*d5c09012SAndroid Build Coastguard Worker message MinimalConversation { 572*d5c09012SAndroid Build Coastguard Worker // Required. The messages that the Summary will be generated from. It is 573*d5c09012SAndroid Build Coastguard Worker // expected that this message content is already redacted and does not 574*d5c09012SAndroid Build Coastguard Worker // contain any PII. Required fields: {content, language_code, participant, 575*d5c09012SAndroid Build Coastguard Worker // participant_role} Optional fields: {send_time} If send_time is not 576*d5c09012SAndroid Build Coastguard Worker // provided, then the messages must be provided in chronological order. 577*d5c09012SAndroid Build Coastguard Worker repeated Message messages = 1 [(google.api.field_behavior) = REQUIRED]; 578*d5c09012SAndroid Build Coastguard Worker 579*d5c09012SAndroid Build Coastguard Worker // Required. The parent resource to charge for the Summary's generation. 580*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location ID>`. 581*d5c09012SAndroid Build Coastguard Worker string parent = 2 [ 582*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 583*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 584*d5c09012SAndroid Build Coastguard Worker type: "locations.googleapis.com/Location" 585*d5c09012SAndroid Build Coastguard Worker } 586*d5c09012SAndroid Build Coastguard Worker ]; 587*d5c09012SAndroid Build Coastguard Worker } 588*d5c09012SAndroid Build Coastguard Worker 589*d5c09012SAndroid Build Coastguard Worker // Required. The conversation to suggest a summary for. 590*d5c09012SAndroid Build Coastguard Worker MinimalConversation stateless_conversation = 1 591*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 592*d5c09012SAndroid Build Coastguard Worker 593*d5c09012SAndroid Build Coastguard Worker // Required. A ConversationProfile containing information required for Summary 594*d5c09012SAndroid Build Coastguard Worker // generation. 595*d5c09012SAndroid Build Coastguard Worker // Required fields: {language_code, security_settings} 596*d5c09012SAndroid Build Coastguard Worker // Optional fields: {agent_assistant_config} 597*d5c09012SAndroid Build Coastguard Worker ConversationProfile conversation_profile = 2 598*d5c09012SAndroid Build Coastguard Worker [(google.api.field_behavior) = REQUIRED]; 599*d5c09012SAndroid Build Coastguard Worker 600*d5c09012SAndroid Build Coastguard Worker // The name of the latest conversation message used as context for 601*d5c09012SAndroid Build Coastguard Worker // generating a Summary. If empty, the latest message of the conversation will 602*d5c09012SAndroid Build Coastguard Worker // be used. The format is specific to the user and the names of the messages 603*d5c09012SAndroid Build Coastguard Worker // provided. 604*d5c09012SAndroid Build Coastguard Worker string latest_message = 3 [(google.api.resource_reference) = { 605*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Message" 606*d5c09012SAndroid Build Coastguard Worker }]; 607*d5c09012SAndroid Build Coastguard Worker 608*d5c09012SAndroid Build Coastguard Worker // Max number of messages prior to and including 609*d5c09012SAndroid Build Coastguard Worker // [latest_message] to use as context when compiling the 610*d5c09012SAndroid Build Coastguard Worker // suggestion. By default 500 and at most 1000. 611*d5c09012SAndroid Build Coastguard Worker int32 max_context_size = 4; 612*d5c09012SAndroid Build Coastguard Worker} 613*d5c09012SAndroid Build Coastguard Worker 614*d5c09012SAndroid Build Coastguard Worker// The response message for 615*d5c09012SAndroid Build Coastguard Worker// [Conversations.GenerateStatelessSummary][google.cloud.dialogflow.v2beta1.Conversations.GenerateStatelessSummary]. 616*d5c09012SAndroid Build Coastguard Workermessage GenerateStatelessSummaryResponse { 617*d5c09012SAndroid Build Coastguard Worker // Generated summary for a conversation. 618*d5c09012SAndroid Build Coastguard Worker message Summary { 619*d5c09012SAndroid Build Coastguard Worker // The summary content that is concatenated into one string. 620*d5c09012SAndroid Build Coastguard Worker string text = 1; 621*d5c09012SAndroid Build Coastguard Worker 622*d5c09012SAndroid Build Coastguard Worker // The summary content that is divided into sections. The key is the 623*d5c09012SAndroid Build Coastguard Worker // section's name and the value is the section's content. There is no 624*d5c09012SAndroid Build Coastguard Worker // specific format for the key or value. 625*d5c09012SAndroid Build Coastguard Worker map<string, string> text_sections = 2; 626*d5c09012SAndroid Build Coastguard Worker 627*d5c09012SAndroid Build Coastguard Worker // The baseline model version used to generate this summary. It is empty if 628*d5c09012SAndroid Build Coastguard Worker // a baseline model was not used to generate this summary. 629*d5c09012SAndroid Build Coastguard Worker string baseline_model_version = 4; 630*d5c09012SAndroid Build Coastguard Worker } 631*d5c09012SAndroid Build Coastguard Worker 632*d5c09012SAndroid Build Coastguard Worker // Generated summary. 633*d5c09012SAndroid Build Coastguard Worker Summary summary = 1; 634*d5c09012SAndroid Build Coastguard Worker 635*d5c09012SAndroid Build Coastguard Worker // The name of the latest conversation message used as context for 636*d5c09012SAndroid Build Coastguard Worker // compiling suggestion. The format is specific to the user and the names of 637*d5c09012SAndroid Build Coastguard Worker // the messages provided. 638*d5c09012SAndroid Build Coastguard Worker string latest_message = 2 [(google.api.resource_reference) = { 639*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Message" 640*d5c09012SAndroid Build Coastguard Worker }]; 641*d5c09012SAndroid Build Coastguard Worker 642*d5c09012SAndroid Build Coastguard Worker // Number of messages prior to and including 643*d5c09012SAndroid Build Coastguard Worker // [last_conversation_message][] used to compile the suggestion. It may be 644*d5c09012SAndroid Build Coastguard Worker // smaller than the [GenerateStatelessSummaryRequest.context_size][] field in 645*d5c09012SAndroid Build Coastguard Worker // the request if there weren't that many messages in the conversation. 646*d5c09012SAndroid Build Coastguard Worker int32 context_size = 3; 647*d5c09012SAndroid Build Coastguard Worker} 648*d5c09012SAndroid Build Coastguard Worker 649*d5c09012SAndroid Build Coastguard Worker// The request message for 650*d5c09012SAndroid Build Coastguard Worker// [Conversations.SearchKnowledge][google.cloud.dialogflow.v2beta1.Conversations.SearchKnowledge]. 651*d5c09012SAndroid Build Coastguard Workermessage SearchKnowledgeRequest { 652*d5c09012SAndroid Build Coastguard Worker // The parent resource contains the conversation profile 653*d5c09012SAndroid Build Coastguard Worker // Format: 'projects/<Project ID>' or `projects/<Project 654*d5c09012SAndroid Build Coastguard Worker // ID>/locations/<Location ID>`. 655*d5c09012SAndroid Build Coastguard Worker string parent = 6; 656*d5c09012SAndroid Build Coastguard Worker 657*d5c09012SAndroid Build Coastguard Worker // Required. The natural language text query for knowledge search. 658*d5c09012SAndroid Build Coastguard Worker TextInput query = 1 [(google.api.field_behavior) = REQUIRED]; 659*d5c09012SAndroid Build Coastguard Worker 660*d5c09012SAndroid Build Coastguard Worker // Required. The conversation profile used to configure the search. 661*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 662*d5c09012SAndroid Build Coastguard Worker // ID>/conversationProfiles/<Conversation Profile ID>`. 663*d5c09012SAndroid Build Coastguard Worker string conversation_profile = 2 [ 664*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 665*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 666*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/ConversationProfile" 667*d5c09012SAndroid Build Coastguard Worker } 668*d5c09012SAndroid Build Coastguard Worker ]; 669*d5c09012SAndroid Build Coastguard Worker 670*d5c09012SAndroid Build Coastguard Worker // The ID of the search session. 671*d5c09012SAndroid Build Coastguard Worker // The session_id can be combined with Dialogflow V3 Agent ID retrieved from 672*d5c09012SAndroid Build Coastguard Worker // conversation profile or on its own to identify a search session. The search 673*d5c09012SAndroid Build Coastguard Worker // history of the same session will impact the search result. It's up to the 674*d5c09012SAndroid Build Coastguard Worker // API caller to choose an appropriate `Session ID`. It can be a random number 675*d5c09012SAndroid Build Coastguard Worker // or some type of session identifiers (preferably hashed). The length must 676*d5c09012SAndroid Build Coastguard Worker // not exceed 36 characters. 677*d5c09012SAndroid Build Coastguard Worker string session_id = 3; 678*d5c09012SAndroid Build Coastguard Worker 679*d5c09012SAndroid Build Coastguard Worker // The conversation (between human agent and end user) where the search 680*d5c09012SAndroid Build Coastguard Worker // request is triggered. Format: `projects/<Project ID>/locations/<Location 681*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>`. 682*d5c09012SAndroid Build Coastguard Worker string conversation = 4 [(google.api.resource_reference) = { 683*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Conversation" 684*d5c09012SAndroid Build Coastguard Worker }]; 685*d5c09012SAndroid Build Coastguard Worker 686*d5c09012SAndroid Build Coastguard Worker // The name of the latest conversation message when the request is 687*d5c09012SAndroid Build Coastguard Worker // triggered. 688*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<Location 689*d5c09012SAndroid Build Coastguard Worker // ID>/conversations/<Conversation ID>/messages/<Message ID>`. 690*d5c09012SAndroid Build Coastguard Worker string latest_message = 5 [(google.api.resource_reference) = { 691*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Message" 692*d5c09012SAndroid Build Coastguard Worker }]; 693*d5c09012SAndroid Build Coastguard Worker} 694*d5c09012SAndroid Build Coastguard Worker 695*d5c09012SAndroid Build Coastguard Worker// The response message for 696*d5c09012SAndroid Build Coastguard Worker// [Conversations.SearchKnowledge][google.cloud.dialogflow.v2beta1.Conversations.SearchKnowledge]. 697*d5c09012SAndroid Build Coastguard Workermessage SearchKnowledgeResponse { 698*d5c09012SAndroid Build Coastguard Worker // Most relevant snippets extracted from articles in the given knowledge base, 699*d5c09012SAndroid Build Coastguard Worker // ordered by confidence. 700*d5c09012SAndroid Build Coastguard Worker repeated SearchKnowledgeAnswer answers = 2; 701*d5c09012SAndroid Build Coastguard Worker 702*d5c09012SAndroid Build Coastguard Worker // The rewritten query used to search knowledge. 703*d5c09012SAndroid Build Coastguard Worker string rewritten_query = 3; 704*d5c09012SAndroid Build Coastguard Worker} 705*d5c09012SAndroid Build Coastguard Worker 706*d5c09012SAndroid Build Coastguard Worker// Represents a SearchKnowledge answer. 707*d5c09012SAndroid Build Coastguard Workermessage SearchKnowledgeAnswer { 708*d5c09012SAndroid Build Coastguard Worker // The type of the answer. 709*d5c09012SAndroid Build Coastguard Worker enum AnswerType { 710*d5c09012SAndroid Build Coastguard Worker // The answer has a unspecified type. 711*d5c09012SAndroid Build Coastguard Worker ANSWER_TYPE_UNSPECIFIED = 0; 712*d5c09012SAndroid Build Coastguard Worker 713*d5c09012SAndroid Build Coastguard Worker // The answer is from FAQ documents. 714*d5c09012SAndroid Build Coastguard Worker FAQ = 1; 715*d5c09012SAndroid Build Coastguard Worker 716*d5c09012SAndroid Build Coastguard Worker // The answer is from generative model. 717*d5c09012SAndroid Build Coastguard Worker GENERATIVE = 2; 718*d5c09012SAndroid Build Coastguard Worker 719*d5c09012SAndroid Build Coastguard Worker // The answer is from intent matching. 720*d5c09012SAndroid Build Coastguard Worker INTENT = 3; 721*d5c09012SAndroid Build Coastguard Worker } 722*d5c09012SAndroid Build Coastguard Worker 723*d5c09012SAndroid Build Coastguard Worker // The sources of the answers. 724*d5c09012SAndroid Build Coastguard Worker message AnswerSource { 725*d5c09012SAndroid Build Coastguard Worker // The title of the article. 726*d5c09012SAndroid Build Coastguard Worker string title = 1; 727*d5c09012SAndroid Build Coastguard Worker 728*d5c09012SAndroid Build Coastguard Worker // The URI of the article. 729*d5c09012SAndroid Build Coastguard Worker string uri = 2; 730*d5c09012SAndroid Build Coastguard Worker 731*d5c09012SAndroid Build Coastguard Worker // The relevant snippet of the article. 732*d5c09012SAndroid Build Coastguard Worker string snippet = 3; 733*d5c09012SAndroid Build Coastguard Worker } 734*d5c09012SAndroid Build Coastguard Worker 735*d5c09012SAndroid Build Coastguard Worker // The piece of text from the knowledge base documents that answers 736*d5c09012SAndroid Build Coastguard Worker // the search query 737*d5c09012SAndroid Build Coastguard Worker string answer = 1; 738*d5c09012SAndroid Build Coastguard Worker 739*d5c09012SAndroid Build Coastguard Worker // The type of the answer. 740*d5c09012SAndroid Build Coastguard Worker AnswerType answer_type = 2; 741*d5c09012SAndroid Build Coastguard Worker 742*d5c09012SAndroid Build Coastguard Worker // All sources used to generate the answer. 743*d5c09012SAndroid Build Coastguard Worker repeated AnswerSource answer_sources = 3; 744*d5c09012SAndroid Build Coastguard Worker 745*d5c09012SAndroid Build Coastguard Worker // The name of the answer record. 746*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/locations/<location ID>/answer 747*d5c09012SAndroid Build Coastguard Worker // Records/<Answer Record ID>` 748*d5c09012SAndroid Build Coastguard Worker string answer_record = 5; 749*d5c09012SAndroid Build Coastguard Worker} 750