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/agent.proto"; 24*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/audio_config.proto"; 25*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/context.proto"; 26*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/intent.proto"; 27*d5c09012SAndroid Build Coastguard Workerimport "google/cloud/dialogflow/v2beta1/session_entity_type.proto"; 28*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/duration.proto"; 29*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/field_mask.proto"; 30*d5c09012SAndroid Build Coastguard Workerimport "google/protobuf/struct.proto"; 31*d5c09012SAndroid Build Coastguard Workerimport "google/rpc/status.proto"; 32*d5c09012SAndroid Build Coastguard Workerimport "google/type/latlng.proto"; 33*d5c09012SAndroid Build Coastguard Worker 34*d5c09012SAndroid Build Coastguard Workeroption cc_enable_arenas = true; 35*d5c09012SAndroid Build Coastguard Workeroption csharp_namespace = "Google.Cloud.Dialogflow.V2Beta1"; 36*d5c09012SAndroid Build Coastguard Workeroption go_package = "cloud.google.com/go/dialogflow/apiv2beta1/dialogflowpb;dialogflowpb"; 37*d5c09012SAndroid Build Coastguard Workeroption java_multiple_files = true; 38*d5c09012SAndroid Build Coastguard Workeroption java_outer_classname = "SessionProto"; 39*d5c09012SAndroid Build Coastguard Workeroption java_package = "com.google.cloud.dialogflow.v2beta1"; 40*d5c09012SAndroid Build Coastguard Workeroption objc_class_prefix = "DF"; 41*d5c09012SAndroid Build Coastguard Workeroption (google.api.resource_definition) = { 42*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Session" 43*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/agent/sessions/{session}" 44*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/agent/environments/{environment}/users/{user}/sessions/{session}" 45*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/agent/sessions/{session}" 46*d5c09012SAndroid Build Coastguard Worker pattern: "projects/{project}/locations/{location}/agent/environments/{environment}/users/{user}/sessions/{session}" 47*d5c09012SAndroid Build Coastguard Worker}; 48*d5c09012SAndroid Build Coastguard Worker 49*d5c09012SAndroid Build Coastguard Worker// A service used for session interactions. 50*d5c09012SAndroid Build Coastguard Worker// 51*d5c09012SAndroid Build Coastguard Worker// For more information, see the [API interactions 52*d5c09012SAndroid Build Coastguard Worker// guide](https://cloud.google.com/dialogflow/docs/api-overview). 53*d5c09012SAndroid Build Coastguard Workerservice Sessions { 54*d5c09012SAndroid Build Coastguard Worker option (google.api.default_host) = "dialogflow.googleapis.com"; 55*d5c09012SAndroid Build Coastguard Worker option (google.api.oauth_scopes) = 56*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/cloud-platform," 57*d5c09012SAndroid Build Coastguard Worker "https://www.googleapis.com/auth/dialogflow"; 58*d5c09012SAndroid Build Coastguard Worker 59*d5c09012SAndroid Build Coastguard Worker // Processes a natural language query and returns structured, actionable data 60*d5c09012SAndroid Build Coastguard Worker // as a result. This method is not idempotent, because it may cause contexts 61*d5c09012SAndroid Build Coastguard Worker // and session entity types to be updated, which in turn might affect 62*d5c09012SAndroid Build Coastguard Worker // results of future queries. 63*d5c09012SAndroid Build Coastguard Worker // 64*d5c09012SAndroid Build Coastguard Worker // If you might use 65*d5c09012SAndroid Build Coastguard Worker // [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) 66*d5c09012SAndroid Build Coastguard Worker // or other CCAI products now or in the future, consider using 67*d5c09012SAndroid Build Coastguard Worker // [AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent] 68*d5c09012SAndroid Build Coastguard Worker // instead of `DetectIntent`. `AnalyzeContent` has additional 69*d5c09012SAndroid Build Coastguard Worker // functionality for Agent Assist and other CCAI products. 70*d5c09012SAndroid Build Coastguard Worker // 71*d5c09012SAndroid Build Coastguard Worker // Note: Always use agent versions for production traffic. 72*d5c09012SAndroid Build Coastguard Worker // See [Versions and 73*d5c09012SAndroid Build Coastguard Worker // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 74*d5c09012SAndroid Build Coastguard Worker rpc DetectIntent(DetectIntentRequest) returns (DetectIntentResponse) { 75*d5c09012SAndroid Build Coastguard Worker option (google.api.http) = { 76*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{session=projects/*/agent/sessions/*}:detectIntent" 77*d5c09012SAndroid Build Coastguard Worker body: "*" 78*d5c09012SAndroid Build Coastguard Worker additional_bindings { 79*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{session=projects/*/agent/environments/*/users/*/sessions/*}:detectIntent" 80*d5c09012SAndroid Build Coastguard Worker body: "*" 81*d5c09012SAndroid Build Coastguard Worker } 82*d5c09012SAndroid Build Coastguard Worker additional_bindings { 83*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{session=projects/*/locations/*/agent/sessions/*}:detectIntent" 84*d5c09012SAndroid Build Coastguard Worker body: "*" 85*d5c09012SAndroid Build Coastguard Worker } 86*d5c09012SAndroid Build Coastguard Worker additional_bindings { 87*d5c09012SAndroid Build Coastguard Worker post: "/v2beta1/{session=projects/*/locations/*/agent/environments/*/users/*/sessions/*}:detectIntent" 88*d5c09012SAndroid Build Coastguard Worker body: "*" 89*d5c09012SAndroid Build Coastguard Worker } 90*d5c09012SAndroid Build Coastguard Worker }; 91*d5c09012SAndroid Build Coastguard Worker option (google.api.method_signature) = "session,query_input"; 92*d5c09012SAndroid Build Coastguard Worker } 93*d5c09012SAndroid Build Coastguard Worker 94*d5c09012SAndroid Build Coastguard Worker // Processes a natural language query in audio format in a streaming fashion 95*d5c09012SAndroid Build Coastguard Worker // and returns structured, actionable data as a result. This method is only 96*d5c09012SAndroid Build Coastguard Worker // available via the gRPC API (not REST). 97*d5c09012SAndroid Build Coastguard Worker // 98*d5c09012SAndroid Build Coastguard Worker // If you might use 99*d5c09012SAndroid Build Coastguard Worker // [Agent Assist](https://cloud.google.com/dialogflow/docs/#aa) 100*d5c09012SAndroid Build Coastguard Worker // or other CCAI products now or in the future, consider using 101*d5c09012SAndroid Build Coastguard Worker // [StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.StreamingAnalyzeContent] 102*d5c09012SAndroid Build Coastguard Worker // instead of `StreamingDetectIntent`. `StreamingAnalyzeContent` has 103*d5c09012SAndroid Build Coastguard Worker // additional functionality for Agent Assist and other CCAI products. 104*d5c09012SAndroid Build Coastguard Worker // 105*d5c09012SAndroid Build Coastguard Worker // Note: Always use agent versions for production traffic. 106*d5c09012SAndroid Build Coastguard Worker // See [Versions and 107*d5c09012SAndroid Build Coastguard Worker // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 108*d5c09012SAndroid Build Coastguard Worker rpc StreamingDetectIntent(stream StreamingDetectIntentRequest) 109*d5c09012SAndroid Build Coastguard Worker returns (stream StreamingDetectIntentResponse) {} 110*d5c09012SAndroid Build Coastguard Worker} 111*d5c09012SAndroid Build Coastguard Worker 112*d5c09012SAndroid Build Coastguard Worker// The request to detect user's intent. 113*d5c09012SAndroid Build Coastguard Workermessage DetectIntentRequest { 114*d5c09012SAndroid Build Coastguard Worker // Required. The name of the session this query is sent to. Supported formats: 115*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/sessions/<Session ID>, 116*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent/sessions/<Session 117*d5c09012SAndroid Build Coastguard Worker // ID>`, 118*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/environments/<Environment ID>/users/<User 119*d5c09012SAndroid Build Coastguard Worker // ID>/sessions/<Session ID>`, 120*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location 121*d5c09012SAndroid Build Coastguard Worker // ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session 122*d5c09012SAndroid Build Coastguard Worker // ID>`, 123*d5c09012SAndroid Build Coastguard Worker // 124*d5c09012SAndroid Build Coastguard Worker // If `Location ID` is not specified we assume default 'us' location. If 125*d5c09012SAndroid Build Coastguard Worker // `Environment ID` is not specified, we assume default 'draft' environment 126*d5c09012SAndroid Build Coastguard Worker // (`Environment ID` might be referred to as environment name at some places). 127*d5c09012SAndroid Build Coastguard Worker // If `User ID` is not specified, we are using "-". It's up to the API caller 128*d5c09012SAndroid Build Coastguard Worker // to choose an appropriate `Session ID` and `User Id`. They can be a random 129*d5c09012SAndroid Build Coastguard Worker // number or some type of user and session identifiers (preferably hashed). 130*d5c09012SAndroid Build Coastguard Worker // The length of the `Session ID` and `User ID` must not exceed 36 characters. 131*d5c09012SAndroid Build Coastguard Worker // For more information, see the [API interactions 132*d5c09012SAndroid Build Coastguard Worker // guide](https://cloud.google.com/dialogflow/docs/api-overview). 133*d5c09012SAndroid Build Coastguard Worker // 134*d5c09012SAndroid Build Coastguard Worker // Note: Always use agent versions for production traffic. 135*d5c09012SAndroid Build Coastguard Worker // See [Versions and 136*d5c09012SAndroid Build Coastguard Worker // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 137*d5c09012SAndroid Build Coastguard Worker string session = 1 [ 138*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 139*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 140*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Session" 141*d5c09012SAndroid Build Coastguard Worker } 142*d5c09012SAndroid Build Coastguard Worker ]; 143*d5c09012SAndroid Build Coastguard Worker 144*d5c09012SAndroid Build Coastguard Worker // The parameters of this query. 145*d5c09012SAndroid Build Coastguard Worker QueryParameters query_params = 2; 146*d5c09012SAndroid Build Coastguard Worker 147*d5c09012SAndroid Build Coastguard Worker // Required. The input specification. It can be set to: 148*d5c09012SAndroid Build Coastguard Worker // 149*d5c09012SAndroid Build Coastguard Worker // 1. an audio config which instructs the speech recognizer how to process 150*d5c09012SAndroid Build Coastguard Worker // the speech audio, 151*d5c09012SAndroid Build Coastguard Worker // 152*d5c09012SAndroid Build Coastguard Worker // 2. a conversational query in the form of text, or 153*d5c09012SAndroid Build Coastguard Worker // 154*d5c09012SAndroid Build Coastguard Worker // 3. an event that specifies which intent to trigger. 155*d5c09012SAndroid Build Coastguard Worker QueryInput query_input = 3 [(google.api.field_behavior) = REQUIRED]; 156*d5c09012SAndroid Build Coastguard Worker 157*d5c09012SAndroid Build Coastguard Worker // Instructs the speech synthesizer how to generate the output 158*d5c09012SAndroid Build Coastguard Worker // audio. If this field is not set and agent-level speech synthesizer is not 159*d5c09012SAndroid Build Coastguard Worker // configured, no output audio is generated. 160*d5c09012SAndroid Build Coastguard Worker OutputAudioConfig output_audio_config = 4; 161*d5c09012SAndroid Build Coastguard Worker 162*d5c09012SAndroid Build Coastguard Worker // Mask for 163*d5c09012SAndroid Build Coastguard Worker // [output_audio_config][google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config] 164*d5c09012SAndroid Build Coastguard Worker // indicating which settings in this request-level config should override 165*d5c09012SAndroid Build Coastguard Worker // speech synthesizer settings defined at agent-level. 166*d5c09012SAndroid Build Coastguard Worker // 167*d5c09012SAndroid Build Coastguard Worker // If unspecified or empty, 168*d5c09012SAndroid Build Coastguard Worker // [output_audio_config][google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config] 169*d5c09012SAndroid Build Coastguard Worker // replaces the agent-level config in its entirety. 170*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask output_audio_config_mask = 7; 171*d5c09012SAndroid Build Coastguard Worker 172*d5c09012SAndroid Build Coastguard Worker // The natural language speech audio to be processed. This field 173*d5c09012SAndroid Build Coastguard Worker // should be populated iff `query_input` is set to an input audio config. 174*d5c09012SAndroid Build Coastguard Worker // A single request can contain up to 1 minute of speech audio data. 175*d5c09012SAndroid Build Coastguard Worker bytes input_audio = 5; 176*d5c09012SAndroid Build Coastguard Worker} 177*d5c09012SAndroid Build Coastguard Worker 178*d5c09012SAndroid Build Coastguard Worker// The message returned from the DetectIntent method. 179*d5c09012SAndroid Build Coastguard Workermessage DetectIntentResponse { 180*d5c09012SAndroid Build Coastguard Worker // The unique identifier of the response. It can be used to 181*d5c09012SAndroid Build Coastguard Worker // locate a response in the training example set or for reporting issues. 182*d5c09012SAndroid Build Coastguard Worker string response_id = 1; 183*d5c09012SAndroid Build Coastguard Worker 184*d5c09012SAndroid Build Coastguard Worker // The selected results of the conversational query or event processing. 185*d5c09012SAndroid Build Coastguard Worker // See `alternative_query_results` for additional potential results. 186*d5c09012SAndroid Build Coastguard Worker QueryResult query_result = 2; 187*d5c09012SAndroid Build Coastguard Worker 188*d5c09012SAndroid Build Coastguard Worker // If Knowledge Connectors are enabled, there could be more than one result 189*d5c09012SAndroid Build Coastguard Worker // returned for a given query or event, and this field will contain all 190*d5c09012SAndroid Build Coastguard Worker // results except for the top one, which is captured in query_result. The 191*d5c09012SAndroid Build Coastguard Worker // alternative results are ordered by decreasing 192*d5c09012SAndroid Build Coastguard Worker // `QueryResult.intent_detection_confidence`. If Knowledge Connectors are 193*d5c09012SAndroid Build Coastguard Worker // disabled, this field will be empty until multiple responses for regular 194*d5c09012SAndroid Build Coastguard Worker // intents are supported, at which point those additional results will be 195*d5c09012SAndroid Build Coastguard Worker // surfaced here. 196*d5c09012SAndroid Build Coastguard Worker repeated QueryResult alternative_query_results = 5; 197*d5c09012SAndroid Build Coastguard Worker 198*d5c09012SAndroid Build Coastguard Worker // Specifies the status of the webhook request. 199*d5c09012SAndroid Build Coastguard Worker google.rpc.Status webhook_status = 3; 200*d5c09012SAndroid Build Coastguard Worker 201*d5c09012SAndroid Build Coastguard Worker // The audio data bytes encoded as specified in the request. 202*d5c09012SAndroid Build Coastguard Worker // Note: The output audio is generated based on the values of default platform 203*d5c09012SAndroid Build Coastguard Worker // text responses found in the `query_result.fulfillment_messages` field. If 204*d5c09012SAndroid Build Coastguard Worker // multiple default text responses exist, they will be concatenated when 205*d5c09012SAndroid Build Coastguard Worker // generating audio. If no default platform text responses exist, the 206*d5c09012SAndroid Build Coastguard Worker // generated audio content will be empty. 207*d5c09012SAndroid Build Coastguard Worker // 208*d5c09012SAndroid Build Coastguard Worker // In some scenarios, multiple output audio fields may be present in the 209*d5c09012SAndroid Build Coastguard Worker // response structure. In these cases, only the top-most-level audio output 210*d5c09012SAndroid Build Coastguard Worker // has content. 211*d5c09012SAndroid Build Coastguard Worker bytes output_audio = 4; 212*d5c09012SAndroid Build Coastguard Worker 213*d5c09012SAndroid Build Coastguard Worker // The config used by the speech synthesizer to generate the output audio. 214*d5c09012SAndroid Build Coastguard Worker OutputAudioConfig output_audio_config = 6; 215*d5c09012SAndroid Build Coastguard Worker} 216*d5c09012SAndroid Build Coastguard Worker 217*d5c09012SAndroid Build Coastguard Worker// Represents the parameters of the conversational query. 218*d5c09012SAndroid Build Coastguard Workermessage QueryParameters { 219*d5c09012SAndroid Build Coastguard Worker // The time zone of this conversational query from the 220*d5c09012SAndroid Build Coastguard Worker // [time zone database](https://www.iana.org/time-zones), e.g., 221*d5c09012SAndroid Build Coastguard Worker // America/New_York, Europe/Paris. If not provided, the time zone specified in 222*d5c09012SAndroid Build Coastguard Worker // agent settings is used. 223*d5c09012SAndroid Build Coastguard Worker string time_zone = 1; 224*d5c09012SAndroid Build Coastguard Worker 225*d5c09012SAndroid Build Coastguard Worker // The geo location of this conversational query. 226*d5c09012SAndroid Build Coastguard Worker google.type.LatLng geo_location = 2; 227*d5c09012SAndroid Build Coastguard Worker 228*d5c09012SAndroid Build Coastguard Worker // The collection of contexts to be activated before this query is 229*d5c09012SAndroid Build Coastguard Worker // executed. 230*d5c09012SAndroid Build Coastguard Worker repeated Context contexts = 3; 231*d5c09012SAndroid Build Coastguard Worker 232*d5c09012SAndroid Build Coastguard Worker // Specifies whether to delete all contexts in the current session 233*d5c09012SAndroid Build Coastguard Worker // before the new ones are activated. 234*d5c09012SAndroid Build Coastguard Worker bool reset_contexts = 4; 235*d5c09012SAndroid Build Coastguard Worker 236*d5c09012SAndroid Build Coastguard Worker // Additional session entity types to replace or extend developer 237*d5c09012SAndroid Build Coastguard Worker // entity types with. The entity synonyms apply to all languages and persist 238*d5c09012SAndroid Build Coastguard Worker // for the session of this query. 239*d5c09012SAndroid Build Coastguard Worker repeated SessionEntityType session_entity_types = 5; 240*d5c09012SAndroid Build Coastguard Worker 241*d5c09012SAndroid Build Coastguard Worker // This field can be used to pass custom data to your webhook. 242*d5c09012SAndroid Build Coastguard Worker // Arbitrary JSON objects are supported. 243*d5c09012SAndroid Build Coastguard Worker // If supplied, the value is used to populate the 244*d5c09012SAndroid Build Coastguard Worker // `WebhookRequest.original_detect_intent_request.payload` 245*d5c09012SAndroid Build Coastguard Worker // field sent to your webhook. 246*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct payload = 6; 247*d5c09012SAndroid Build Coastguard Worker 248*d5c09012SAndroid Build Coastguard Worker // KnowledgeBases to get alternative results from. If not set, the 249*d5c09012SAndroid Build Coastguard Worker // KnowledgeBases enabled in the agent (through UI) will be used. 250*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`. 251*d5c09012SAndroid Build Coastguard Worker repeated string knowledge_base_names = 12; 252*d5c09012SAndroid Build Coastguard Worker 253*d5c09012SAndroid Build Coastguard Worker // Configures the type of sentiment analysis to perform. If not 254*d5c09012SAndroid Build Coastguard Worker // provided, sentiment analysis is not performed. 255*d5c09012SAndroid Build Coastguard Worker // Note: Sentiment Analysis is only currently available for Essentials Edition 256*d5c09012SAndroid Build Coastguard Worker // agents. 257*d5c09012SAndroid Build Coastguard Worker SentimentAnalysisRequestConfig sentiment_analysis_request_config = 10; 258*d5c09012SAndroid Build Coastguard Worker 259*d5c09012SAndroid Build Coastguard Worker // For mega agent query, directly specify which sub agents to query. 260*d5c09012SAndroid Build Coastguard Worker // If any specified sub agent is not linked to the mega agent, an error will 261*d5c09012SAndroid Build Coastguard Worker // be returned. If empty, Dialogflow will decide which sub agents to query. 262*d5c09012SAndroid Build Coastguard Worker // If specified for a non-mega-agent query, will be silently ignored. 263*d5c09012SAndroid Build Coastguard Worker repeated SubAgent sub_agents = 13; 264*d5c09012SAndroid Build Coastguard Worker 265*d5c09012SAndroid Build Coastguard Worker // This field can be used to pass HTTP headers for a webhook 266*d5c09012SAndroid Build Coastguard Worker // call. These headers will be sent to webhook along with the headers that 267*d5c09012SAndroid Build Coastguard Worker // have been configured through Dialogflow web console. The headers defined 268*d5c09012SAndroid Build Coastguard Worker // within this field will overwrite the headers configured through Dialogflow 269*d5c09012SAndroid Build Coastguard Worker // console if there is a conflict. Header names are case-insensitive. 270*d5c09012SAndroid Build Coastguard Worker // Google's specified headers are not allowed. Including: "Host", 271*d5c09012SAndroid Build Coastguard Worker // "Content-Length", "Connection", "From", "User-Agent", "Accept-Encoding", 272*d5c09012SAndroid Build Coastguard Worker // "If-Modified-Since", "If-None-Match", "X-Forwarded-For", etc. 273*d5c09012SAndroid Build Coastguard Worker map<string, string> webhook_headers = 14; 274*d5c09012SAndroid Build Coastguard Worker 275*d5c09012SAndroid Build Coastguard Worker // The platform of the virtual agent response messages. 276*d5c09012SAndroid Build Coastguard Worker // 277*d5c09012SAndroid Build Coastguard Worker // If not empty, only emits messages from this platform in the response. 278*d5c09012SAndroid Build Coastguard Worker // Valid values are the enum names of 279*d5c09012SAndroid Build Coastguard Worker // [platform][google.cloud.dialogflow.v2beta1.Intent.Message.platform]. 280*d5c09012SAndroid Build Coastguard Worker string platform = 18; 281*d5c09012SAndroid Build Coastguard Worker} 282*d5c09012SAndroid Build Coastguard Worker 283*d5c09012SAndroid Build Coastguard Worker// Represents the query input. It can contain either: 284*d5c09012SAndroid Build Coastguard Worker// 285*d5c09012SAndroid Build Coastguard Worker// 1. An audio config which instructs the speech recognizer how to process the 286*d5c09012SAndroid Build Coastguard Worker// speech audio. 287*d5c09012SAndroid Build Coastguard Worker// 288*d5c09012SAndroid Build Coastguard Worker// 2. A conversational query in the form of text. 289*d5c09012SAndroid Build Coastguard Worker// 290*d5c09012SAndroid Build Coastguard Worker// 3. An event that specifies which intent to trigger. 291*d5c09012SAndroid Build Coastguard Workermessage QueryInput { 292*d5c09012SAndroid Build Coastguard Worker // Required. The input specification. 293*d5c09012SAndroid Build Coastguard Worker oneof input { 294*d5c09012SAndroid Build Coastguard Worker // Instructs the speech recognizer how to process the speech audio. 295*d5c09012SAndroid Build Coastguard Worker InputAudioConfig audio_config = 1; 296*d5c09012SAndroid Build Coastguard Worker 297*d5c09012SAndroid Build Coastguard Worker // The natural language text to be processed. 298*d5c09012SAndroid Build Coastguard Worker TextInput text = 2; 299*d5c09012SAndroid Build Coastguard Worker 300*d5c09012SAndroid Build Coastguard Worker // The event to be processed. 301*d5c09012SAndroid Build Coastguard Worker EventInput event = 3; 302*d5c09012SAndroid Build Coastguard Worker 303*d5c09012SAndroid Build Coastguard Worker // The DTMF digits used to invoke intent and fill in parameter value. 304*d5c09012SAndroid Build Coastguard Worker TelephonyDtmfEvents dtmf = 4; 305*d5c09012SAndroid Build Coastguard Worker } 306*d5c09012SAndroid Build Coastguard Worker} 307*d5c09012SAndroid Build Coastguard Worker 308*d5c09012SAndroid Build Coastguard Worker// Represents the result of conversational query or event processing. 309*d5c09012SAndroid Build Coastguard Workermessage QueryResult { 310*d5c09012SAndroid Build Coastguard Worker // The original conversational query text: 311*d5c09012SAndroid Build Coastguard Worker // 312*d5c09012SAndroid Build Coastguard Worker // - If natural language text was provided as input, `query_text` contains 313*d5c09012SAndroid Build Coastguard Worker // a copy of the input. 314*d5c09012SAndroid Build Coastguard Worker // - If natural language speech audio was provided as input, `query_text` 315*d5c09012SAndroid Build Coastguard Worker // contains the speech recognition result. If speech recognizer produced 316*d5c09012SAndroid Build Coastguard Worker // multiple alternatives, a particular one is picked. 317*d5c09012SAndroid Build Coastguard Worker // - If automatic spell correction is enabled, `query_text` will contain the 318*d5c09012SAndroid Build Coastguard Worker // corrected user input. 319*d5c09012SAndroid Build Coastguard Worker string query_text = 1; 320*d5c09012SAndroid Build Coastguard Worker 321*d5c09012SAndroid Build Coastguard Worker // The language that was triggered during intent detection. 322*d5c09012SAndroid Build Coastguard Worker // See [Language 323*d5c09012SAndroid Build Coastguard Worker // Support](https://cloud.google.com/dialogflow/docs/reference/language) 324*d5c09012SAndroid Build Coastguard Worker // for a list of the currently supported language codes. 325*d5c09012SAndroid Build Coastguard Worker string language_code = 15; 326*d5c09012SAndroid Build Coastguard Worker 327*d5c09012SAndroid Build Coastguard Worker // The Speech recognition confidence between 0.0 and 1.0. A higher number 328*d5c09012SAndroid Build Coastguard Worker // indicates an estimated greater likelihood that the recognized words are 329*d5c09012SAndroid Build Coastguard Worker // correct. The default of 0.0 is a sentinel value indicating that confidence 330*d5c09012SAndroid Build Coastguard Worker // was not set. 331*d5c09012SAndroid Build Coastguard Worker // 332*d5c09012SAndroid Build Coastguard Worker // This field is not guaranteed to be accurate or set. In particular this 333*d5c09012SAndroid Build Coastguard Worker // field isn't set for StreamingDetectIntent since the streaming endpoint has 334*d5c09012SAndroid Build Coastguard Worker // separate confidence estimates per portion of the audio in 335*d5c09012SAndroid Build Coastguard Worker // StreamingRecognitionResult. 336*d5c09012SAndroid Build Coastguard Worker float speech_recognition_confidence = 2; 337*d5c09012SAndroid Build Coastguard Worker 338*d5c09012SAndroid Build Coastguard Worker // The action name from the matched intent. 339*d5c09012SAndroid Build Coastguard Worker string action = 3; 340*d5c09012SAndroid Build Coastguard Worker 341*d5c09012SAndroid Build Coastguard Worker // The collection of extracted parameters. 342*d5c09012SAndroid Build Coastguard Worker // 343*d5c09012SAndroid Build Coastguard Worker // Depending on your protocol or client library language, this is a 344*d5c09012SAndroid Build Coastguard Worker // map, associative array, symbol table, dictionary, or JSON object 345*d5c09012SAndroid Build Coastguard Worker // composed of a collection of (MapKey, MapValue) pairs: 346*d5c09012SAndroid Build Coastguard Worker // 347*d5c09012SAndroid Build Coastguard Worker // * MapKey type: string 348*d5c09012SAndroid Build Coastguard Worker // * MapKey value: parameter name 349*d5c09012SAndroid Build Coastguard Worker // * MapValue type: If parameter's entity type is a composite entity then use 350*d5c09012SAndroid Build Coastguard Worker // map, otherwise, depending on the parameter value type, it could be one of 351*d5c09012SAndroid Build Coastguard Worker // string, number, boolean, null, list or map. 352*d5c09012SAndroid Build Coastguard Worker // * MapValue value: If parameter's entity type is a composite entity then use 353*d5c09012SAndroid Build Coastguard Worker // map from composite entity property names to property values, otherwise, 354*d5c09012SAndroid Build Coastguard Worker // use parameter value. 355*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct parameters = 4; 356*d5c09012SAndroid Build Coastguard Worker 357*d5c09012SAndroid Build Coastguard Worker // This field is set to: 358*d5c09012SAndroid Build Coastguard Worker // 359*d5c09012SAndroid Build Coastguard Worker // - `false` if the matched intent has required parameters and not all of 360*d5c09012SAndroid Build Coastguard Worker // the required parameter values have been collected. 361*d5c09012SAndroid Build Coastguard Worker // - `true` if all required parameter values have been collected, or if the 362*d5c09012SAndroid Build Coastguard Worker // matched intent doesn't contain any required parameters. 363*d5c09012SAndroid Build Coastguard Worker bool all_required_params_present = 5; 364*d5c09012SAndroid Build Coastguard Worker 365*d5c09012SAndroid Build Coastguard Worker // Indicates whether the conversational query triggers a cancellation for slot 366*d5c09012SAndroid Build Coastguard Worker // filling. For more information, see the [cancel slot filling 367*d5c09012SAndroid Build Coastguard Worker // documentation](https://cloud.google.com/dialogflow/es/docs/intents-actions-parameters#cancel). 368*d5c09012SAndroid Build Coastguard Worker bool cancels_slot_filling = 21; 369*d5c09012SAndroid Build Coastguard Worker 370*d5c09012SAndroid Build Coastguard Worker // The text to be pronounced to the user or shown on the screen. 371*d5c09012SAndroid Build Coastguard Worker // Note: This is a legacy field, `fulfillment_messages` should be preferred. 372*d5c09012SAndroid Build Coastguard Worker string fulfillment_text = 6; 373*d5c09012SAndroid Build Coastguard Worker 374*d5c09012SAndroid Build Coastguard Worker // The collection of rich messages to present to the user. 375*d5c09012SAndroid Build Coastguard Worker repeated Intent.Message fulfillment_messages = 7; 376*d5c09012SAndroid Build Coastguard Worker 377*d5c09012SAndroid Build Coastguard Worker // If the query was fulfilled by a webhook call, this field is set to the 378*d5c09012SAndroid Build Coastguard Worker // value of the `source` field returned in the webhook response. 379*d5c09012SAndroid Build Coastguard Worker string webhook_source = 8; 380*d5c09012SAndroid Build Coastguard Worker 381*d5c09012SAndroid Build Coastguard Worker // If the query was fulfilled by a webhook call, this field is set to the 382*d5c09012SAndroid Build Coastguard Worker // value of the `payload` field returned in the webhook response. 383*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct webhook_payload = 9; 384*d5c09012SAndroid Build Coastguard Worker 385*d5c09012SAndroid Build Coastguard Worker // The collection of output contexts. If applicable, 386*d5c09012SAndroid Build Coastguard Worker // `output_contexts.parameters` contains entries with name 387*d5c09012SAndroid Build Coastguard Worker // `<parameter name>.original` containing the original parameter values 388*d5c09012SAndroid Build Coastguard Worker // before the query. 389*d5c09012SAndroid Build Coastguard Worker repeated Context output_contexts = 10; 390*d5c09012SAndroid Build Coastguard Worker 391*d5c09012SAndroid Build Coastguard Worker // The intent that matched the conversational query. Some, not 392*d5c09012SAndroid Build Coastguard Worker // all fields are filled in this message, including but not limited to: 393*d5c09012SAndroid Build Coastguard Worker // `name`, `display_name`, `end_interaction` and `is_fallback`. 394*d5c09012SAndroid Build Coastguard Worker Intent intent = 11; 395*d5c09012SAndroid Build Coastguard Worker 396*d5c09012SAndroid Build Coastguard Worker // The intent detection confidence. Values range from 0.0 397*d5c09012SAndroid Build Coastguard Worker // (completely uncertain) to 1.0 (completely certain). 398*d5c09012SAndroid Build Coastguard Worker // This value is for informational purpose only and is only used to 399*d5c09012SAndroid Build Coastguard Worker // help match the best intent within the classification threshold. 400*d5c09012SAndroid Build Coastguard Worker // This value may change for the same end-user expression at any time due to a 401*d5c09012SAndroid Build Coastguard Worker // model retraining or change in implementation. 402*d5c09012SAndroid Build Coastguard Worker // If there are `multiple knowledge_answers` messages, this value is set to 403*d5c09012SAndroid Build Coastguard Worker // the greatest `knowledgeAnswers.match_confidence` value in the list. 404*d5c09012SAndroid Build Coastguard Worker float intent_detection_confidence = 12; 405*d5c09012SAndroid Build Coastguard Worker 406*d5c09012SAndroid Build Coastguard Worker // Free-form diagnostic information for the associated detect intent request. 407*d5c09012SAndroid Build Coastguard Worker // The fields of this data can change without notice, so you should not write 408*d5c09012SAndroid Build Coastguard Worker // code that depends on its structure. 409*d5c09012SAndroid Build Coastguard Worker // The data may contain: 410*d5c09012SAndroid Build Coastguard Worker // 411*d5c09012SAndroid Build Coastguard Worker // - webhook call latency 412*d5c09012SAndroid Build Coastguard Worker // - webhook errors 413*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct diagnostic_info = 14; 414*d5c09012SAndroid Build Coastguard Worker 415*d5c09012SAndroid Build Coastguard Worker // The sentiment analysis result, which depends on the 416*d5c09012SAndroid Build Coastguard Worker // `sentiment_analysis_request_config` specified in the request. 417*d5c09012SAndroid Build Coastguard Worker SentimentAnalysisResult sentiment_analysis_result = 17; 418*d5c09012SAndroid Build Coastguard Worker 419*d5c09012SAndroid Build Coastguard Worker // The result from Knowledge Connector (if any), ordered by decreasing 420*d5c09012SAndroid Build Coastguard Worker // `KnowledgeAnswers.match_confidence`. 421*d5c09012SAndroid Build Coastguard Worker KnowledgeAnswers knowledge_answers = 18; 422*d5c09012SAndroid Build Coastguard Worker} 423*d5c09012SAndroid Build Coastguard Worker 424*d5c09012SAndroid Build Coastguard Worker// Represents the result of querying a Knowledge base. 425*d5c09012SAndroid Build Coastguard Workermessage KnowledgeAnswers { 426*d5c09012SAndroid Build Coastguard Worker // An answer from Knowledge Connector. 427*d5c09012SAndroid Build Coastguard Worker message Answer { 428*d5c09012SAndroid Build Coastguard Worker // Represents the system's confidence that this knowledge answer is a good 429*d5c09012SAndroid Build Coastguard Worker // match for this conversational query. 430*d5c09012SAndroid Build Coastguard Worker enum MatchConfidenceLevel { 431*d5c09012SAndroid Build Coastguard Worker // Not specified. 432*d5c09012SAndroid Build Coastguard Worker MATCH_CONFIDENCE_LEVEL_UNSPECIFIED = 0; 433*d5c09012SAndroid Build Coastguard Worker 434*d5c09012SAndroid Build Coastguard Worker // Indicates that the confidence is low. 435*d5c09012SAndroid Build Coastguard Worker LOW = 1; 436*d5c09012SAndroid Build Coastguard Worker 437*d5c09012SAndroid Build Coastguard Worker // Indicates our confidence is medium. 438*d5c09012SAndroid Build Coastguard Worker MEDIUM = 2; 439*d5c09012SAndroid Build Coastguard Worker 440*d5c09012SAndroid Build Coastguard Worker // Indicates our confidence is high. 441*d5c09012SAndroid Build Coastguard Worker HIGH = 3; 442*d5c09012SAndroid Build Coastguard Worker } 443*d5c09012SAndroid Build Coastguard Worker 444*d5c09012SAndroid Build Coastguard Worker // Indicates which Knowledge Document this answer was extracted from. 445*d5c09012SAndroid Build Coastguard Worker // Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base 446*d5c09012SAndroid Build Coastguard Worker // ID>/documents/<Document ID>`. 447*d5c09012SAndroid Build Coastguard Worker string source = 1 [(google.api.resource_reference) = { 448*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Document" 449*d5c09012SAndroid Build Coastguard Worker }]; 450*d5c09012SAndroid Build Coastguard Worker 451*d5c09012SAndroid Build Coastguard Worker // The corresponding FAQ question if the answer was extracted from a FAQ 452*d5c09012SAndroid Build Coastguard Worker // Document, empty otherwise. 453*d5c09012SAndroid Build Coastguard Worker string faq_question = 2; 454*d5c09012SAndroid Build Coastguard Worker 455*d5c09012SAndroid Build Coastguard Worker // The piece of text from the `source` knowledge base document that answers 456*d5c09012SAndroid Build Coastguard Worker // this conversational query. 457*d5c09012SAndroid Build Coastguard Worker string answer = 3; 458*d5c09012SAndroid Build Coastguard Worker 459*d5c09012SAndroid Build Coastguard Worker // The system's confidence level that this knowledge answer is a good match 460*d5c09012SAndroid Build Coastguard Worker // for this conversational query. 461*d5c09012SAndroid Build Coastguard Worker // NOTE: The confidence level for a given `<query, answer>` pair may change 462*d5c09012SAndroid Build Coastguard Worker // without notice, as it depends on models that are constantly being 463*d5c09012SAndroid Build Coastguard Worker // improved. However, it will change less frequently than the confidence 464*d5c09012SAndroid Build Coastguard Worker // score below, and should be preferred for referencing the quality of an 465*d5c09012SAndroid Build Coastguard Worker // answer. 466*d5c09012SAndroid Build Coastguard Worker MatchConfidenceLevel match_confidence_level = 4; 467*d5c09012SAndroid Build Coastguard Worker 468*d5c09012SAndroid Build Coastguard Worker // The system's confidence score that this Knowledge answer is a good match 469*d5c09012SAndroid Build Coastguard Worker // for this conversational query. 470*d5c09012SAndroid Build Coastguard Worker // The range is from 0.0 (completely uncertain) to 1.0 (completely certain). 471*d5c09012SAndroid Build Coastguard Worker // Note: The confidence score is likely to vary somewhat (possibly even for 472*d5c09012SAndroid Build Coastguard Worker // identical requests), as the underlying model is under constant 473*d5c09012SAndroid Build Coastguard Worker // improvement. It may be deprecated in the future. We recommend using 474*d5c09012SAndroid Build Coastguard Worker // `match_confidence_level` which should be generally more stable. 475*d5c09012SAndroid Build Coastguard Worker float match_confidence = 5; 476*d5c09012SAndroid Build Coastguard Worker } 477*d5c09012SAndroid Build Coastguard Worker 478*d5c09012SAndroid Build Coastguard Worker // A list of answers from Knowledge Connector. 479*d5c09012SAndroid Build Coastguard Worker repeated Answer answers = 1; 480*d5c09012SAndroid Build Coastguard Worker} 481*d5c09012SAndroid Build Coastguard Worker 482*d5c09012SAndroid Build Coastguard Worker// The top-level message sent by the client to the 483*d5c09012SAndroid Build Coastguard Worker// [Sessions.StreamingDetectIntent][google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent] 484*d5c09012SAndroid Build Coastguard Worker// method. 485*d5c09012SAndroid Build Coastguard Worker// 486*d5c09012SAndroid Build Coastguard Worker// Multiple request messages should be sent in order: 487*d5c09012SAndroid Build Coastguard Worker// 488*d5c09012SAndroid Build Coastguard Worker// 1. The first message must contain 489*d5c09012SAndroid Build Coastguard Worker// [session][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.session], 490*d5c09012SAndroid Build Coastguard Worker// [query_input][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_input] 491*d5c09012SAndroid Build Coastguard Worker// plus optionally 492*d5c09012SAndroid Build Coastguard Worker// [query_params][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_params]. 493*d5c09012SAndroid Build Coastguard Worker// If the client wants to receive an audio response, it should also contain 494*d5c09012SAndroid Build Coastguard Worker// [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config]. 495*d5c09012SAndroid Build Coastguard Worker// The message must not contain 496*d5c09012SAndroid Build Coastguard Worker// [input_audio][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.input_audio]. 497*d5c09012SAndroid Build Coastguard Worker// 2. If 498*d5c09012SAndroid Build Coastguard Worker// [query_input][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_input] 499*d5c09012SAndroid Build Coastguard Worker// was set to 500*d5c09012SAndroid Build Coastguard Worker// [query_input.audio_config][google.cloud.dialogflow.v2beta1.InputAudioConfig], 501*d5c09012SAndroid Build Coastguard Worker// all subsequent messages must contain 502*d5c09012SAndroid Build Coastguard Worker// [input_audio][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.input_audio] 503*d5c09012SAndroid Build Coastguard Worker// to continue with Speech recognition. If you decide to rather detect an 504*d5c09012SAndroid Build Coastguard Worker// intent from text input after you already started Speech recognition, 505*d5c09012SAndroid Build Coastguard Worker// please send a message with 506*d5c09012SAndroid Build Coastguard Worker// [query_input.text][google.cloud.dialogflow.v2beta1.QueryInput.text]. 507*d5c09012SAndroid Build Coastguard Worker// 508*d5c09012SAndroid Build Coastguard Worker// However, note that: 509*d5c09012SAndroid Build Coastguard Worker// 510*d5c09012SAndroid Build Coastguard Worker// * Dialogflow will bill you for the audio duration so far. 511*d5c09012SAndroid Build Coastguard Worker// * Dialogflow discards all Speech recognition results in favor of the 512*d5c09012SAndroid Build Coastguard Worker// input text. 513*d5c09012SAndroid Build Coastguard Worker// * Dialogflow will use the language code from the first message. 514*d5c09012SAndroid Build Coastguard Worker// 515*d5c09012SAndroid Build Coastguard Worker// After you sent all input, you must half-close or abort the request stream. 516*d5c09012SAndroid Build Coastguard Workermessage StreamingDetectIntentRequest { 517*d5c09012SAndroid Build Coastguard Worker // Required. The name of the session the query is sent to. 518*d5c09012SAndroid Build Coastguard Worker // Supported formats: 519*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/sessions/<Session ID>, 520*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location ID>/agent/sessions/<Session 521*d5c09012SAndroid Build Coastguard Worker // ID>`, 522*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/agent/environments/<Environment ID>/users/<User 523*d5c09012SAndroid Build Coastguard Worker // ID>/sessions/<Session ID>`, 524*d5c09012SAndroid Build Coastguard Worker // - `projects/<Project ID>/locations/<Location 525*d5c09012SAndroid Build Coastguard Worker // ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session 526*d5c09012SAndroid Build Coastguard Worker // ID>`, 527*d5c09012SAndroid Build Coastguard Worker // 528*d5c09012SAndroid Build Coastguard Worker // If `Location ID` is not specified we assume default 'us' location. If 529*d5c09012SAndroid Build Coastguard Worker // `Environment ID` is not specified, we assume default 'draft' environment. 530*d5c09012SAndroid Build Coastguard Worker // If `User ID` is not specified, we are using "-". It's up to the API caller 531*d5c09012SAndroid Build Coastguard Worker // to choose an appropriate `Session ID` and `User Id`. They can be a random 532*d5c09012SAndroid Build Coastguard Worker // number or some type of user and session identifiers (preferably hashed). 533*d5c09012SAndroid Build Coastguard Worker // The length of the `Session ID` and `User ID` must not exceed 36 characters. 534*d5c09012SAndroid Build Coastguard Worker // 535*d5c09012SAndroid Build Coastguard Worker // For more information, see the [API interactions 536*d5c09012SAndroid Build Coastguard Worker // guide](https://cloud.google.com/dialogflow/docs/api-overview). 537*d5c09012SAndroid Build Coastguard Worker // 538*d5c09012SAndroid Build Coastguard Worker // Note: Always use agent versions for production traffic. 539*d5c09012SAndroid Build Coastguard Worker // See [Versions and 540*d5c09012SAndroid Build Coastguard Worker // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 541*d5c09012SAndroid Build Coastguard Worker string session = 1 [ 542*d5c09012SAndroid Build Coastguard Worker (google.api.field_behavior) = REQUIRED, 543*d5c09012SAndroid Build Coastguard Worker (google.api.resource_reference) = { 544*d5c09012SAndroid Build Coastguard Worker type: "dialogflow.googleapis.com/Session" 545*d5c09012SAndroid Build Coastguard Worker } 546*d5c09012SAndroid Build Coastguard Worker ]; 547*d5c09012SAndroid Build Coastguard Worker 548*d5c09012SAndroid Build Coastguard Worker // The parameters of this query. 549*d5c09012SAndroid Build Coastguard Worker QueryParameters query_params = 2; 550*d5c09012SAndroid Build Coastguard Worker 551*d5c09012SAndroid Build Coastguard Worker // Required. The input specification. It can be set to: 552*d5c09012SAndroid Build Coastguard Worker // 553*d5c09012SAndroid Build Coastguard Worker // 1. an audio config which instructs the speech recognizer how to process 554*d5c09012SAndroid Build Coastguard Worker // the speech audio, 555*d5c09012SAndroid Build Coastguard Worker // 556*d5c09012SAndroid Build Coastguard Worker // 2. a conversational query in the form of text, or 557*d5c09012SAndroid Build Coastguard Worker // 558*d5c09012SAndroid Build Coastguard Worker // 3. an event that specifies which intent to trigger. 559*d5c09012SAndroid Build Coastguard Worker QueryInput query_input = 3 [(google.api.field_behavior) = REQUIRED]; 560*d5c09012SAndroid Build Coastguard Worker 561*d5c09012SAndroid Build Coastguard Worker // DEPRECATED. Please use 562*d5c09012SAndroid Build Coastguard Worker // [InputAudioConfig.single_utterance][google.cloud.dialogflow.v2beta1.InputAudioConfig.single_utterance] 563*d5c09012SAndroid Build Coastguard Worker // instead. If `false` (default), recognition does not cease until the client 564*d5c09012SAndroid Build Coastguard Worker // closes the stream. If `true`, the recognizer will detect a single spoken 565*d5c09012SAndroid Build Coastguard Worker // utterance in input audio. Recognition ceases when it detects the audio's 566*d5c09012SAndroid Build Coastguard Worker // voice has stopped or paused. In this case, once a detected intent is 567*d5c09012SAndroid Build Coastguard Worker // received, the client should close the stream and start a new request with a 568*d5c09012SAndroid Build Coastguard Worker // new stream as needed. This setting is ignored when `query_input` is a piece 569*d5c09012SAndroid Build Coastguard Worker // of text or an event. 570*d5c09012SAndroid Build Coastguard Worker bool single_utterance = 4 [deprecated = true]; 571*d5c09012SAndroid Build Coastguard Worker 572*d5c09012SAndroid Build Coastguard Worker // Instructs the speech synthesizer how to generate the output 573*d5c09012SAndroid Build Coastguard Worker // audio. If this field is not set and agent-level speech synthesizer is not 574*d5c09012SAndroid Build Coastguard Worker // configured, no output audio is generated. 575*d5c09012SAndroid Build Coastguard Worker OutputAudioConfig output_audio_config = 5; 576*d5c09012SAndroid Build Coastguard Worker 577*d5c09012SAndroid Build Coastguard Worker // Mask for 578*d5c09012SAndroid Build Coastguard Worker // [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config] 579*d5c09012SAndroid Build Coastguard Worker // indicating which settings in this request-level config should override 580*d5c09012SAndroid Build Coastguard Worker // speech synthesizer settings defined at agent-level. 581*d5c09012SAndroid Build Coastguard Worker // 582*d5c09012SAndroid Build Coastguard Worker // If unspecified or empty, 583*d5c09012SAndroid Build Coastguard Worker // [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config] 584*d5c09012SAndroid Build Coastguard Worker // replaces the agent-level config in its entirety. 585*d5c09012SAndroid Build Coastguard Worker google.protobuf.FieldMask output_audio_config_mask = 7; 586*d5c09012SAndroid Build Coastguard Worker 587*d5c09012SAndroid Build Coastguard Worker // The input audio content to be recognized. Must be sent if 588*d5c09012SAndroid Build Coastguard Worker // `query_input` was set to a streaming input audio config. The complete audio 589*d5c09012SAndroid Build Coastguard Worker // over all streaming messages must not exceed 1 minute. 590*d5c09012SAndroid Build Coastguard Worker bytes input_audio = 6; 591*d5c09012SAndroid Build Coastguard Worker 592*d5c09012SAndroid Build Coastguard Worker // If true, `StreamingDetectIntentResponse.debugging_info` will get populated. 593*d5c09012SAndroid Build Coastguard Worker bool enable_debugging_info = 8; 594*d5c09012SAndroid Build Coastguard Worker} 595*d5c09012SAndroid Build Coastguard Worker 596*d5c09012SAndroid Build Coastguard Worker// Cloud conversation info for easier debugging. 597*d5c09012SAndroid Build Coastguard Worker// It will get populated in `StreamingDetectIntentResponse` or 598*d5c09012SAndroid Build Coastguard Worker// `StreamingAnalyzeContentResponse` when the flag `enable_debugging_info` is 599*d5c09012SAndroid Build Coastguard Worker// set to true in corresponding requests. 600*d5c09012SAndroid Build Coastguard Workermessage CloudConversationDebuggingInfo { 601*d5c09012SAndroid Build Coastguard Worker // Number of input audio data chunks in streaming requests. 602*d5c09012SAndroid Build Coastguard Worker int32 audio_data_chunks = 1; 603*d5c09012SAndroid Build Coastguard Worker 604*d5c09012SAndroid Build Coastguard Worker // Time offset of the end of speech utterance relative to the 605*d5c09012SAndroid Build Coastguard Worker // beginning of the first audio chunk. 606*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration result_end_time_offset = 2; 607*d5c09012SAndroid Build Coastguard Worker 608*d5c09012SAndroid Build Coastguard Worker // Duration of first audio chunk. 609*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration first_audio_duration = 3; 610*d5c09012SAndroid Build Coastguard Worker 611*d5c09012SAndroid Build Coastguard Worker // Whether client used single utterance mode. 612*d5c09012SAndroid Build Coastguard Worker bool single_utterance = 5; 613*d5c09012SAndroid Build Coastguard Worker 614*d5c09012SAndroid Build Coastguard Worker // Time offsets of the speech partial results relative to the beginning of 615*d5c09012SAndroid Build Coastguard Worker // the stream. 616*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Duration speech_partial_results_end_times = 6; 617*d5c09012SAndroid Build Coastguard Worker 618*d5c09012SAndroid Build Coastguard Worker // Time offsets of the speech final results (is_final=true) relative to the 619*d5c09012SAndroid Build Coastguard Worker // beginning of the stream. 620*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Duration speech_final_results_end_times = 7; 621*d5c09012SAndroid Build Coastguard Worker 622*d5c09012SAndroid Build Coastguard Worker // Total number of partial responses. 623*d5c09012SAndroid Build Coastguard Worker int32 partial_responses = 8; 624*d5c09012SAndroid Build Coastguard Worker 625*d5c09012SAndroid Build Coastguard Worker // Time offset of Speaker ID stream close time relative to the Speech stream 626*d5c09012SAndroid Build Coastguard Worker // close time in milliseconds. Only meaningful for conversations involving 627*d5c09012SAndroid Build Coastguard Worker // passive verification. 628*d5c09012SAndroid Build Coastguard Worker int32 speaker_id_passive_latency_ms_offset = 9; 629*d5c09012SAndroid Build Coastguard Worker 630*d5c09012SAndroid Build Coastguard Worker // Whether a barge-in event is triggered in this request. 631*d5c09012SAndroid Build Coastguard Worker bool bargein_event_triggered = 10; 632*d5c09012SAndroid Build Coastguard Worker 633*d5c09012SAndroid Build Coastguard Worker // Whether speech uses single utterance mode. 634*d5c09012SAndroid Build Coastguard Worker bool speech_single_utterance = 11; 635*d5c09012SAndroid Build Coastguard Worker 636*d5c09012SAndroid Build Coastguard Worker // Time offsets of the DTMF partial results relative to the beginning of 637*d5c09012SAndroid Build Coastguard Worker // the stream. 638*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Duration dtmf_partial_results_times = 12; 639*d5c09012SAndroid Build Coastguard Worker 640*d5c09012SAndroid Build Coastguard Worker // Time offsets of the DTMF final results relative to the beginning of 641*d5c09012SAndroid Build Coastguard Worker // the stream. 642*d5c09012SAndroid Build Coastguard Worker repeated google.protobuf.Duration dtmf_final_results_times = 13; 643*d5c09012SAndroid Build Coastguard Worker 644*d5c09012SAndroid Build Coastguard Worker // Time offset of the end-of-single-utterance signal relative to the 645*d5c09012SAndroid Build Coastguard Worker // beginning of the stream. 646*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration single_utterance_end_time_offset = 14; 647*d5c09012SAndroid Build Coastguard Worker 648*d5c09012SAndroid Build Coastguard Worker // No speech timeout settings for the stream. 649*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration no_speech_timeout = 15; 650*d5c09012SAndroid Build Coastguard Worker 651*d5c09012SAndroid Build Coastguard Worker // Speech endpointing timeout settings for the stream. 652*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration endpointing_timeout = 19; 653*d5c09012SAndroid Build Coastguard Worker 654*d5c09012SAndroid Build Coastguard Worker // Whether the streaming terminates with an injected text query. 655*d5c09012SAndroid Build Coastguard Worker bool is_input_text = 16; 656*d5c09012SAndroid Build Coastguard Worker 657*d5c09012SAndroid Build Coastguard Worker // Client half close time in terms of input audio duration. 658*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration client_half_close_time_offset = 17; 659*d5c09012SAndroid Build Coastguard Worker 660*d5c09012SAndroid Build Coastguard Worker // Client half close time in terms of API streaming duration. 661*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration client_half_close_streaming_time_offset = 18; 662*d5c09012SAndroid Build Coastguard Worker} 663*d5c09012SAndroid Build Coastguard Worker 664*d5c09012SAndroid Build Coastguard Worker// The top-level message returned from the 665*d5c09012SAndroid Build Coastguard Worker// `StreamingDetectIntent` method. 666*d5c09012SAndroid Build Coastguard Worker// 667*d5c09012SAndroid Build Coastguard Worker// Multiple response messages can be returned in order: 668*d5c09012SAndroid Build Coastguard Worker// 669*d5c09012SAndroid Build Coastguard Worker// 1. If the `StreamingDetectIntentRequest.input_audio` field was 670*d5c09012SAndroid Build Coastguard Worker// set, the `recognition_result` field is populated for one 671*d5c09012SAndroid Build Coastguard Worker// or more messages. 672*d5c09012SAndroid Build Coastguard Worker// See the 673*d5c09012SAndroid Build Coastguard Worker// [StreamingRecognitionResult][google.cloud.dialogflow.v2beta1.StreamingRecognitionResult] 674*d5c09012SAndroid Build Coastguard Worker// message for details about the result message sequence. 675*d5c09012SAndroid Build Coastguard Worker// 676*d5c09012SAndroid Build Coastguard Worker// 2. The next message contains `response_id`, `query_result`, 677*d5c09012SAndroid Build Coastguard Worker// `alternative_query_results` and optionally `webhook_status` if a WebHook 678*d5c09012SAndroid Build Coastguard Worker// was called. 679*d5c09012SAndroid Build Coastguard Worker// 680*d5c09012SAndroid Build Coastguard Worker// 3. If `output_audio_config` was specified in the request or agent-level 681*d5c09012SAndroid Build Coastguard Worker// speech synthesizer is configured, all subsequent messages contain 682*d5c09012SAndroid Build Coastguard Worker// `output_audio` and `output_audio_config`. 683*d5c09012SAndroid Build Coastguard Workermessage StreamingDetectIntentResponse { 684*d5c09012SAndroid Build Coastguard Worker // The unique identifier of the response. It can be used to 685*d5c09012SAndroid Build Coastguard Worker // locate a response in the training example set or for reporting issues. 686*d5c09012SAndroid Build Coastguard Worker string response_id = 1; 687*d5c09012SAndroid Build Coastguard Worker 688*d5c09012SAndroid Build Coastguard Worker // The result of speech recognition. 689*d5c09012SAndroid Build Coastguard Worker StreamingRecognitionResult recognition_result = 2; 690*d5c09012SAndroid Build Coastguard Worker 691*d5c09012SAndroid Build Coastguard Worker // The selected results of the conversational query or event processing. 692*d5c09012SAndroid Build Coastguard Worker // See `alternative_query_results` for additional potential results. 693*d5c09012SAndroid Build Coastguard Worker QueryResult query_result = 3; 694*d5c09012SAndroid Build Coastguard Worker 695*d5c09012SAndroid Build Coastguard Worker // If Knowledge Connectors are enabled, there could be more than one result 696*d5c09012SAndroid Build Coastguard Worker // returned for a given query or event, and this field will contain all 697*d5c09012SAndroid Build Coastguard Worker // results except for the top one, which is captured in query_result. The 698*d5c09012SAndroid Build Coastguard Worker // alternative results are ordered by decreasing 699*d5c09012SAndroid Build Coastguard Worker // `QueryResult.intent_detection_confidence`. If Knowledge Connectors are 700*d5c09012SAndroid Build Coastguard Worker // disabled, this field will be empty until multiple responses for regular 701*d5c09012SAndroid Build Coastguard Worker // intents are supported, at which point those additional results will be 702*d5c09012SAndroid Build Coastguard Worker // surfaced here. 703*d5c09012SAndroid Build Coastguard Worker repeated QueryResult alternative_query_results = 7; 704*d5c09012SAndroid Build Coastguard Worker 705*d5c09012SAndroid Build Coastguard Worker // Specifies the status of the webhook request. 706*d5c09012SAndroid Build Coastguard Worker google.rpc.Status webhook_status = 4; 707*d5c09012SAndroid Build Coastguard Worker 708*d5c09012SAndroid Build Coastguard Worker // The audio data bytes encoded as specified in the request. 709*d5c09012SAndroid Build Coastguard Worker // Note: The output audio is generated based on the values of default platform 710*d5c09012SAndroid Build Coastguard Worker // text responses found in the `query_result.fulfillment_messages` field. If 711*d5c09012SAndroid Build Coastguard Worker // multiple default text responses exist, they will be concatenated when 712*d5c09012SAndroid Build Coastguard Worker // generating audio. If no default platform text responses exist, the 713*d5c09012SAndroid Build Coastguard Worker // generated audio content will be empty. 714*d5c09012SAndroid Build Coastguard Worker // 715*d5c09012SAndroid Build Coastguard Worker // In some scenarios, multiple output audio fields may be present in the 716*d5c09012SAndroid Build Coastguard Worker // response structure. In these cases, only the top-most-level audio output 717*d5c09012SAndroid Build Coastguard Worker // has content. 718*d5c09012SAndroid Build Coastguard Worker bytes output_audio = 5; 719*d5c09012SAndroid Build Coastguard Worker 720*d5c09012SAndroid Build Coastguard Worker // The config used by the speech synthesizer to generate the output audio. 721*d5c09012SAndroid Build Coastguard Worker OutputAudioConfig output_audio_config = 6; 722*d5c09012SAndroid Build Coastguard Worker 723*d5c09012SAndroid Build Coastguard Worker // Debugging info that would get populated when 724*d5c09012SAndroid Build Coastguard Worker // `StreamingDetectIntentRequest.enable_debugging_info` is set to true. 725*d5c09012SAndroid Build Coastguard Worker CloudConversationDebuggingInfo debugging_info = 8; 726*d5c09012SAndroid Build Coastguard Worker} 727*d5c09012SAndroid Build Coastguard Worker 728*d5c09012SAndroid Build Coastguard Worker// Contains a speech recognition result corresponding to a portion of the audio 729*d5c09012SAndroid Build Coastguard Worker// that is currently being processed or an indication that this is the end 730*d5c09012SAndroid Build Coastguard Worker// of the single requested utterance. 731*d5c09012SAndroid Build Coastguard Worker// 732*d5c09012SAndroid Build Coastguard Worker// While end-user audio is being processed, Dialogflow sends a series of 733*d5c09012SAndroid Build Coastguard Worker// results. Each result may contain a `transcript` value. A transcript 734*d5c09012SAndroid Build Coastguard Worker// represents a portion of the utterance. While the recognizer is processing 735*d5c09012SAndroid Build Coastguard Worker// audio, transcript values may be interim values or finalized values. 736*d5c09012SAndroid Build Coastguard Worker// Once a transcript is finalized, the `is_final` value is set to true and 737*d5c09012SAndroid Build Coastguard Worker// processing continues for the next transcript. 738*d5c09012SAndroid Build Coastguard Worker// 739*d5c09012SAndroid Build Coastguard Worker// If `StreamingDetectIntentRequest.query_input.audio_config.single_utterance` 740*d5c09012SAndroid Build Coastguard Worker// was true, and the recognizer has completed processing audio, 741*d5c09012SAndroid Build Coastguard Worker// the `message_type` value is set to `END_OF_SINGLE_UTTERANCE and the 742*d5c09012SAndroid Build Coastguard Worker// following (last) result contains the last finalized transcript. 743*d5c09012SAndroid Build Coastguard Worker// 744*d5c09012SAndroid Build Coastguard Worker// The complete end-user utterance is determined by concatenating the 745*d5c09012SAndroid Build Coastguard Worker// finalized transcript values received for the series of results. 746*d5c09012SAndroid Build Coastguard Worker// 747*d5c09012SAndroid Build Coastguard Worker// In the following example, single utterance is enabled. In the case where 748*d5c09012SAndroid Build Coastguard Worker// single utterance is not enabled, result 7 would not occur. 749*d5c09012SAndroid Build Coastguard Worker// 750*d5c09012SAndroid Build Coastguard Worker// ``` 751*d5c09012SAndroid Build Coastguard Worker// Num | transcript | message_type | is_final 752*d5c09012SAndroid Build Coastguard Worker// --- | ----------------------- | ----------------------- | -------- 753*d5c09012SAndroid Build Coastguard Worker// 1 | "tube" | TRANSCRIPT | false 754*d5c09012SAndroid Build Coastguard Worker// 2 | "to be a" | TRANSCRIPT | false 755*d5c09012SAndroid Build Coastguard Worker// 3 | "to be" | TRANSCRIPT | false 756*d5c09012SAndroid Build Coastguard Worker// 4 | "to be or not to be" | TRANSCRIPT | true 757*d5c09012SAndroid Build Coastguard Worker// 5 | "that's" | TRANSCRIPT | false 758*d5c09012SAndroid Build Coastguard Worker// 6 | "that is | TRANSCRIPT | false 759*d5c09012SAndroid Build Coastguard Worker// 7 | unset | END_OF_SINGLE_UTTERANCE | unset 760*d5c09012SAndroid Build Coastguard Worker// 8 | " that is the question" | TRANSCRIPT | true 761*d5c09012SAndroid Build Coastguard Worker// ``` 762*d5c09012SAndroid Build Coastguard Worker// Concatenating the finalized transcripts with `is_final` set to true, 763*d5c09012SAndroid Build Coastguard Worker// the complete utterance becomes "to be or not to be that is the question". 764*d5c09012SAndroid Build Coastguard Workermessage StreamingRecognitionResult { 765*d5c09012SAndroid Build Coastguard Worker // Type of the response message. 766*d5c09012SAndroid Build Coastguard Worker enum MessageType { 767*d5c09012SAndroid Build Coastguard Worker // Not specified. Should never be used. 768*d5c09012SAndroid Build Coastguard Worker MESSAGE_TYPE_UNSPECIFIED = 0; 769*d5c09012SAndroid Build Coastguard Worker 770*d5c09012SAndroid Build Coastguard Worker // Message contains a (possibly partial) transcript. 771*d5c09012SAndroid Build Coastguard Worker TRANSCRIPT = 1; 772*d5c09012SAndroid Build Coastguard Worker 773*d5c09012SAndroid Build Coastguard Worker // Message contains DTMF digits. 774*d5c09012SAndroid Build Coastguard Worker DTMF_DIGITS = 3; 775*d5c09012SAndroid Build Coastguard Worker 776*d5c09012SAndroid Build Coastguard Worker // This event indicates that the server has detected the end of the user's 777*d5c09012SAndroid Build Coastguard Worker // speech utterance and expects no additional speech. Therefore, the server 778*d5c09012SAndroid Build Coastguard Worker // will not process additional audio (although it may subsequently return 779*d5c09012SAndroid Build Coastguard Worker // additional results). The client should stop sending additional audio 780*d5c09012SAndroid Build Coastguard Worker // data, half-close the gRPC connection, and wait for any additional results 781*d5c09012SAndroid Build Coastguard Worker // until the server closes the gRPC connection. This message is only sent if 782*d5c09012SAndroid Build Coastguard Worker // `single_utterance` was set to `true`, and is not used otherwise. 783*d5c09012SAndroid Build Coastguard Worker END_OF_SINGLE_UTTERANCE = 2; 784*d5c09012SAndroid Build Coastguard Worker 785*d5c09012SAndroid Build Coastguard Worker // Message contains DTMF digits. Before a message with DTMF_DIGITS is sent, 786*d5c09012SAndroid Build Coastguard Worker // a message with PARTIAL_DTMF_DIGITS may be sent with DTMF digits collected 787*d5c09012SAndroid Build Coastguard Worker // up to the time of sending, which represents an intermediate result. 788*d5c09012SAndroid Build Coastguard Worker PARTIAL_DTMF_DIGITS = 4; 789*d5c09012SAndroid Build Coastguard Worker } 790*d5c09012SAndroid Build Coastguard Worker 791*d5c09012SAndroid Build Coastguard Worker // Type of the result message. 792*d5c09012SAndroid Build Coastguard Worker MessageType message_type = 1; 793*d5c09012SAndroid Build Coastguard Worker 794*d5c09012SAndroid Build Coastguard Worker // Transcript text representing the words that the user spoke. 795*d5c09012SAndroid Build Coastguard Worker // Populated if and only if `message_type` = `TRANSCRIPT`. 796*d5c09012SAndroid Build Coastguard Worker string transcript = 2; 797*d5c09012SAndroid Build Coastguard Worker 798*d5c09012SAndroid Build Coastguard Worker // If `false`, the `StreamingRecognitionResult` represents an 799*d5c09012SAndroid Build Coastguard Worker // interim result that may change. If `true`, the recognizer will not return 800*d5c09012SAndroid Build Coastguard Worker // any further hypotheses about this piece of the audio. May only be populated 801*d5c09012SAndroid Build Coastguard Worker // for `message_type` = `TRANSCRIPT`. 802*d5c09012SAndroid Build Coastguard Worker bool is_final = 3; 803*d5c09012SAndroid Build Coastguard Worker 804*d5c09012SAndroid Build Coastguard Worker // The Speech confidence between 0.0 and 1.0 for the current portion of audio. 805*d5c09012SAndroid Build Coastguard Worker // A higher number indicates an estimated greater likelihood that the 806*d5c09012SAndroid Build Coastguard Worker // recognized words are correct. The default of 0.0 is a sentinel value 807*d5c09012SAndroid Build Coastguard Worker // indicating that confidence was not set. 808*d5c09012SAndroid Build Coastguard Worker // 809*d5c09012SAndroid Build Coastguard Worker // This field is typically only provided if `is_final` is true and you should 810*d5c09012SAndroid Build Coastguard Worker // not rely on it being accurate or even set. 811*d5c09012SAndroid Build Coastguard Worker float confidence = 4; 812*d5c09012SAndroid Build Coastguard Worker 813*d5c09012SAndroid Build Coastguard Worker // An estimate of the likelihood that the speech recognizer will 814*d5c09012SAndroid Build Coastguard Worker // not change its guess about this interim recognition result: 815*d5c09012SAndroid Build Coastguard Worker // 816*d5c09012SAndroid Build Coastguard Worker // * If the value is unspecified or 0.0, Dialogflow didn't compute the 817*d5c09012SAndroid Build Coastguard Worker // stability. In particular, Dialogflow will only provide stability for 818*d5c09012SAndroid Build Coastguard Worker // `TRANSCRIPT` results with `is_final = false`. 819*d5c09012SAndroid Build Coastguard Worker // * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely 820*d5c09012SAndroid Build Coastguard Worker // unstable and 1.0 means completely stable. 821*d5c09012SAndroid Build Coastguard Worker float stability = 6; 822*d5c09012SAndroid Build Coastguard Worker 823*d5c09012SAndroid Build Coastguard Worker // Word-specific information for the words recognized by Speech in 824*d5c09012SAndroid Build Coastguard Worker // [transcript][google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.transcript]. 825*d5c09012SAndroid Build Coastguard Worker // Populated if and only if `message_type` = `TRANSCRIPT` and 826*d5c09012SAndroid Build Coastguard Worker // [InputAudioConfig.enable_word_info] is set. 827*d5c09012SAndroid Build Coastguard Worker repeated SpeechWordInfo speech_word_info = 7; 828*d5c09012SAndroid Build Coastguard Worker 829*d5c09012SAndroid Build Coastguard Worker // Time offset of the end of this Speech recognition result relative to the 830*d5c09012SAndroid Build Coastguard Worker // beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. 831*d5c09012SAndroid Build Coastguard Worker google.protobuf.Duration speech_end_offset = 8; 832*d5c09012SAndroid Build Coastguard Worker 833*d5c09012SAndroid Build Coastguard Worker // Detected language code for the transcript. 834*d5c09012SAndroid Build Coastguard Worker string language_code = 10; 835*d5c09012SAndroid Build Coastguard Worker 836*d5c09012SAndroid Build Coastguard Worker // DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`. 837*d5c09012SAndroid Build Coastguard Worker TelephonyDtmfEvents dtmf_digits = 5; 838*d5c09012SAndroid Build Coastguard Worker} 839*d5c09012SAndroid Build Coastguard Worker 840*d5c09012SAndroid Build Coastguard Worker// Represents the natural language text to be processed. 841*d5c09012SAndroid Build Coastguard Workermessage TextInput { 842*d5c09012SAndroid Build Coastguard Worker // Required. The UTF-8 encoded natural language text to be processed. 843*d5c09012SAndroid Build Coastguard Worker // Text length must not exceed 256 characters for virtual agent interactions. 844*d5c09012SAndroid Build Coastguard Worker string text = 1; 845*d5c09012SAndroid Build Coastguard Worker 846*d5c09012SAndroid Build Coastguard Worker // Required. The language of this conversational query. See [Language 847*d5c09012SAndroid Build Coastguard Worker // Support](https://cloud.google.com/dialogflow/docs/reference/language) 848*d5c09012SAndroid Build Coastguard Worker // for a list of the currently supported language codes. Note that queries in 849*d5c09012SAndroid Build Coastguard Worker // the same session do not necessarily need to specify the same language. 850*d5c09012SAndroid Build Coastguard Worker string language_code = 2; 851*d5c09012SAndroid Build Coastguard Worker} 852*d5c09012SAndroid Build Coastguard Worker 853*d5c09012SAndroid Build Coastguard Worker// Events allow for matching intents by event name instead of the natural 854*d5c09012SAndroid Build Coastguard Worker// language input. For instance, input `<event: { name: "welcome_event", 855*d5c09012SAndroid Build Coastguard Worker// parameters: { name: "Sam" } }>` can trigger a personalized welcome response. 856*d5c09012SAndroid Build Coastguard Worker// The parameter `name` may be used by the agent in the response: 857*d5c09012SAndroid Build Coastguard Worker// `"Hello #welcome_event.name! What can I do for you today?"`. 858*d5c09012SAndroid Build Coastguard Workermessage EventInput { 859*d5c09012SAndroid Build Coastguard Worker // Required. The unique identifier of the event. 860*d5c09012SAndroid Build Coastguard Worker string name = 1; 861*d5c09012SAndroid Build Coastguard Worker 862*d5c09012SAndroid Build Coastguard Worker // The collection of parameters associated with the event. 863*d5c09012SAndroid Build Coastguard Worker // 864*d5c09012SAndroid Build Coastguard Worker // Depending on your protocol or client library language, this is a 865*d5c09012SAndroid Build Coastguard Worker // map, associative array, symbol table, dictionary, or JSON object 866*d5c09012SAndroid Build Coastguard Worker // composed of a collection of (MapKey, MapValue) pairs: 867*d5c09012SAndroid Build Coastguard Worker // 868*d5c09012SAndroid Build Coastguard Worker // * MapKey type: string 869*d5c09012SAndroid Build Coastguard Worker // * MapKey value: parameter name 870*d5c09012SAndroid Build Coastguard Worker // * MapValue type: If parameter's entity type is a composite entity then use 871*d5c09012SAndroid Build Coastguard Worker // map, otherwise, depending on the parameter value type, it could be one of 872*d5c09012SAndroid Build Coastguard Worker // string, number, boolean, null, list or map. 873*d5c09012SAndroid Build Coastguard Worker // * MapValue value: If parameter's entity type is a composite entity then use 874*d5c09012SAndroid Build Coastguard Worker // map from composite entity property names to property values, otherwise, 875*d5c09012SAndroid Build Coastguard Worker // use parameter value. 876*d5c09012SAndroid Build Coastguard Worker google.protobuf.Struct parameters = 2; 877*d5c09012SAndroid Build Coastguard Worker 878*d5c09012SAndroid Build Coastguard Worker // Required. The language of this query. See [Language 879*d5c09012SAndroid Build Coastguard Worker // Support](https://cloud.google.com/dialogflow/docs/reference/language) 880*d5c09012SAndroid Build Coastguard Worker // for a list of the currently supported language codes. Note that queries in 881*d5c09012SAndroid Build Coastguard Worker // the same session do not necessarily need to specify the same language. 882*d5c09012SAndroid Build Coastguard Worker // 883*d5c09012SAndroid Build Coastguard Worker // This field is ignored when used in the context of a 884*d5c09012SAndroid Build Coastguard Worker // [WebhookResponse.followup_event_input][google.cloud.dialogflow.v2beta1.WebhookResponse.followup_event_input] 885*d5c09012SAndroid Build Coastguard Worker // field, because the language was already defined in the originating detect 886*d5c09012SAndroid Build Coastguard Worker // intent request. 887*d5c09012SAndroid Build Coastguard Worker string language_code = 3; 888*d5c09012SAndroid Build Coastguard Worker} 889*d5c09012SAndroid Build Coastguard Worker 890*d5c09012SAndroid Build Coastguard Worker// Configures the types of sentiment analysis to perform. 891*d5c09012SAndroid Build Coastguard Workermessage SentimentAnalysisRequestConfig { 892*d5c09012SAndroid Build Coastguard Worker // Instructs the service to perform sentiment analysis on 893*d5c09012SAndroid Build Coastguard Worker // `query_text`. If not provided, sentiment analysis is not performed on 894*d5c09012SAndroid Build Coastguard Worker // `query_text`. 895*d5c09012SAndroid Build Coastguard Worker bool analyze_query_text_sentiment = 1; 896*d5c09012SAndroid Build Coastguard Worker} 897*d5c09012SAndroid Build Coastguard Worker 898*d5c09012SAndroid Build Coastguard Worker// The result of sentiment analysis. Sentiment analysis inspects user input 899*d5c09012SAndroid Build Coastguard Worker// and identifies the prevailing subjective opinion, especially to determine a 900*d5c09012SAndroid Build Coastguard Worker// user's attitude as positive, negative, or neutral. 901*d5c09012SAndroid Build Coastguard Worker// For [Participants.DetectIntent][], it needs to be configured in 902*d5c09012SAndroid Build Coastguard Worker// [DetectIntentRequest.query_params][google.cloud.dialogflow.v2beta1.DetectIntentRequest.query_params]. 903*d5c09012SAndroid Build Coastguard Worker// For [Participants.StreamingDetectIntent][], it needs to be configured in 904*d5c09012SAndroid Build Coastguard Worker// [StreamingDetectIntentRequest.query_params][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_params]. 905*d5c09012SAndroid Build Coastguard Worker// And for 906*d5c09012SAndroid Build Coastguard Worker// [Participants.AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent] 907*d5c09012SAndroid Build Coastguard Worker// and 908*d5c09012SAndroid Build Coastguard Worker// [Participants.StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.StreamingAnalyzeContent], 909*d5c09012SAndroid Build Coastguard Worker// it needs to be configured in 910*d5c09012SAndroid Build Coastguard Worker// [ConversationProfile.human_agent_assistant_config][google.cloud.dialogflow.v2beta1.ConversationProfile.human_agent_assistant_config] 911*d5c09012SAndroid Build Coastguard Workermessage SentimentAnalysisResult { 912*d5c09012SAndroid Build Coastguard Worker // The sentiment analysis result for `query_text`. 913*d5c09012SAndroid Build Coastguard Worker Sentiment query_text_sentiment = 1; 914*d5c09012SAndroid Build Coastguard Worker} 915*d5c09012SAndroid Build Coastguard Worker 916*d5c09012SAndroid Build Coastguard Worker// The sentiment, such as positive/negative feeling or association, for a unit 917*d5c09012SAndroid Build Coastguard Worker// of analysis, such as the query text. See: 918*d5c09012SAndroid Build Coastguard Worker// https://cloud.google.com/natural-language/docs/basics#interpreting_sentiment_analysis_values 919*d5c09012SAndroid Build Coastguard Worker// for how to interpret the result. 920*d5c09012SAndroid Build Coastguard Workermessage Sentiment { 921*d5c09012SAndroid Build Coastguard Worker // Sentiment score between -1.0 (negative sentiment) and 1.0 (positive 922*d5c09012SAndroid Build Coastguard Worker // sentiment). 923*d5c09012SAndroid Build Coastguard Worker float score = 1; 924*d5c09012SAndroid Build Coastguard Worker 925*d5c09012SAndroid Build Coastguard Worker // A non-negative number in the [0, +inf) range, which represents the absolute 926*d5c09012SAndroid Build Coastguard Worker // magnitude of sentiment, regardless of score (positive or negative). 927*d5c09012SAndroid Build Coastguard Worker float magnitude = 2; 928*d5c09012SAndroid Build Coastguard Worker} 929