1// Copyright 2021 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15// Code generated by protoc-gen-go. DO NOT EDIT. 16// versions: 17// protoc-gen-go v1.26.0 18// protoc v3.12.2 19// source: google/cloud/dialogflow/v2beta1/session.proto 20 21package dialogflow 22 23import ( 24 context "context" 25 reflect "reflect" 26 sync "sync" 27 28 _ "google.golang.org/genproto/googleapis/api/annotations" 29 status "google.golang.org/genproto/googleapis/rpc/status" 30 latlng "google.golang.org/genproto/googleapis/type/latlng" 31 grpc "google.golang.org/grpc" 32 codes "google.golang.org/grpc/codes" 33 status1 "google.golang.org/grpc/status" 34 protoreflect "google.golang.org/protobuf/reflect/protoreflect" 35 protoimpl "google.golang.org/protobuf/runtime/protoimpl" 36 durationpb "google.golang.org/protobuf/types/known/durationpb" 37 fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb" 38 structpb "google.golang.org/protobuf/types/known/structpb" 39) 40 41const ( 42 // Verify that this generated code is sufficiently up-to-date. 43 _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) 44 // Verify that runtime/protoimpl is sufficiently up-to-date. 45 _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) 46) 47 48// Represents the system's confidence that this knowledge answer is a good 49// match for this conversational query. 50type KnowledgeAnswers_Answer_MatchConfidenceLevel int32 51 52const ( 53 // Not specified. 54 KnowledgeAnswers_Answer_MATCH_CONFIDENCE_LEVEL_UNSPECIFIED KnowledgeAnswers_Answer_MatchConfidenceLevel = 0 55 // Indicates that the confidence is low. 56 KnowledgeAnswers_Answer_LOW KnowledgeAnswers_Answer_MatchConfidenceLevel = 1 57 // Indicates our confidence is medium. 58 KnowledgeAnswers_Answer_MEDIUM KnowledgeAnswers_Answer_MatchConfidenceLevel = 2 59 // Indicates our confidence is high. 60 KnowledgeAnswers_Answer_HIGH KnowledgeAnswers_Answer_MatchConfidenceLevel = 3 61) 62 63// Enum value maps for KnowledgeAnswers_Answer_MatchConfidenceLevel. 64var ( 65 KnowledgeAnswers_Answer_MatchConfidenceLevel_name = map[int32]string{ 66 0: "MATCH_CONFIDENCE_LEVEL_UNSPECIFIED", 67 1: "LOW", 68 2: "MEDIUM", 69 3: "HIGH", 70 } 71 KnowledgeAnswers_Answer_MatchConfidenceLevel_value = map[string]int32{ 72 "MATCH_CONFIDENCE_LEVEL_UNSPECIFIED": 0, 73 "LOW": 1, 74 "MEDIUM": 2, 75 "HIGH": 3, 76 } 77) 78 79func (x KnowledgeAnswers_Answer_MatchConfidenceLevel) Enum() *KnowledgeAnswers_Answer_MatchConfidenceLevel { 80 p := new(KnowledgeAnswers_Answer_MatchConfidenceLevel) 81 *p = x 82 return p 83} 84 85func (x KnowledgeAnswers_Answer_MatchConfidenceLevel) String() string { 86 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 87} 88 89func (KnowledgeAnswers_Answer_MatchConfidenceLevel) Descriptor() protoreflect.EnumDescriptor { 90 return file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes[0].Descriptor() 91} 92 93func (KnowledgeAnswers_Answer_MatchConfidenceLevel) Type() protoreflect.EnumType { 94 return &file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes[0] 95} 96 97func (x KnowledgeAnswers_Answer_MatchConfidenceLevel) Number() protoreflect.EnumNumber { 98 return protoreflect.EnumNumber(x) 99} 100 101// Deprecated: Use KnowledgeAnswers_Answer_MatchConfidenceLevel.Descriptor instead. 102func (KnowledgeAnswers_Answer_MatchConfidenceLevel) EnumDescriptor() ([]byte, []int) { 103 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{5, 0, 0} 104} 105 106// Type of the response message. 107type StreamingRecognitionResult_MessageType int32 108 109const ( 110 // Not specified. Should never be used. 111 StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED StreamingRecognitionResult_MessageType = 0 112 // Message contains a (possibly partial) transcript. 113 StreamingRecognitionResult_TRANSCRIPT StreamingRecognitionResult_MessageType = 1 114 // Message contains DTMF digits. When the client gets the message, it 115 // should stop sending additional data, half-close the gRPC connection, and 116 // wait for any additional results until the server closes the gRPC. 117 // connection. 118 StreamingRecognitionResult_DTMF_DIGITS StreamingRecognitionResult_MessageType = 3 119 // Event indicates that the server has detected the end of the user's speech 120 // utterance and expects no additional speech. Therefore, the server will 121 // not process additional audio (although it may subsequently return 122 // additional results). The client should stop sending additional audio 123 // data, half-close the gRPC connection, and wait for any additional results 124 // until the server closes the gRPC connection. This message is only sent if 125 // `single_utterance` was set to `true`, and is not used otherwise. 126 StreamingRecognitionResult_END_OF_SINGLE_UTTERANCE StreamingRecognitionResult_MessageType = 2 127 // Message contains DTMF digits. Before a message with DTMF_DIGITS is sent, 128 // a message with PARTIAL_DTMF_DIGITS may be sent with DTMF digits collected 129 // up to the time of sending, which represents an intermediate result. 130 StreamingRecognitionResult_PARTIAL_DTMF_DIGITS StreamingRecognitionResult_MessageType = 4 131) 132 133// Enum value maps for StreamingRecognitionResult_MessageType. 134var ( 135 StreamingRecognitionResult_MessageType_name = map[int32]string{ 136 0: "MESSAGE_TYPE_UNSPECIFIED", 137 1: "TRANSCRIPT", 138 3: "DTMF_DIGITS", 139 2: "END_OF_SINGLE_UTTERANCE", 140 4: "PARTIAL_DTMF_DIGITS", 141 } 142 StreamingRecognitionResult_MessageType_value = map[string]int32{ 143 "MESSAGE_TYPE_UNSPECIFIED": 0, 144 "TRANSCRIPT": 1, 145 "DTMF_DIGITS": 3, 146 "END_OF_SINGLE_UTTERANCE": 2, 147 "PARTIAL_DTMF_DIGITS": 4, 148 } 149) 150 151func (x StreamingRecognitionResult_MessageType) Enum() *StreamingRecognitionResult_MessageType { 152 p := new(StreamingRecognitionResult_MessageType) 153 *p = x 154 return p 155} 156 157func (x StreamingRecognitionResult_MessageType) String() string { 158 return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x)) 159} 160 161func (StreamingRecognitionResult_MessageType) Descriptor() protoreflect.EnumDescriptor { 162 return file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes[1].Descriptor() 163} 164 165func (StreamingRecognitionResult_MessageType) Type() protoreflect.EnumType { 166 return &file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes[1] 167} 168 169func (x StreamingRecognitionResult_MessageType) Number() protoreflect.EnumNumber { 170 return protoreflect.EnumNumber(x) 171} 172 173// Deprecated: Use StreamingRecognitionResult_MessageType.Descriptor instead. 174func (StreamingRecognitionResult_MessageType) EnumDescriptor() ([]byte, []int) { 175 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{8, 0} 176} 177 178// The request to detect user's intent. 179type DetectIntentRequest struct { 180 state protoimpl.MessageState 181 sizeCache protoimpl.SizeCache 182 unknownFields protoimpl.UnknownFields 183 184 // Required. The name of the session this query is sent to. Supported formats: 185 // - `projects/<Project ID>/agent/sessions/<Session ID>, 186 // - `projects/<Project ID>/locations/<Location ID>/agent/sessions/<Session 187 // ID>`, 188 // - `projects/<Project ID>/agent/environments/<Environment ID>/users/<User 189 // ID>/sessions/<Session ID>`, 190 // - `projects/<Project ID>/locations/<Location 191 // ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session 192 // ID>`, 193 // 194 // If `Location ID` is not specified we assume default 'us' location. If 195 // `Environment ID` is not specified, we assume default 'draft' environment 196 // (`Environment ID` might be referred to as environment name at some places). 197 // If `User ID` is not specified, we are using "-". It's up to the API caller 198 // to choose an appropriate `Session ID` and `User Id`. They can be a random 199 // number or some type of user and session identifiers (preferably hashed). 200 // The length of the `Session ID` and `User ID` must not exceed 36 characters. 201 // For more information, see the [API interactions 202 // guide](https://cloud.google.com/dialogflow/docs/api-overview). 203 // 204 // Note: Always use agent versions for production traffic. 205 // See [Versions and 206 // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 207 Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"` 208 // The parameters of this query. 209 QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"` 210 // Required. The input specification. It can be set to: 211 // 212 // 1. an audio config 213 // which instructs the speech recognizer how to process the speech audio, 214 // 215 // 2. a conversational query in the form of text, or 216 // 217 // 3. an event that specifies which intent to trigger. 218 QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"` 219 // Instructs the speech synthesizer how to generate the output 220 // audio. If this field is not set and agent-level speech synthesizer is not 221 // configured, no output audio is generated. 222 OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,4,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"` 223 // Mask for [output_audio_config][google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config] indicating which settings in this 224 // request-level config should override speech synthesizer settings defined at 225 // agent-level. 226 // 227 // If unspecified or empty, [output_audio_config][google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config] replaces the agent-level 228 // config in its entirety. 229 OutputAudioConfigMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=output_audio_config_mask,json=outputAudioConfigMask,proto3" json:"output_audio_config_mask,omitempty"` 230 // The natural language speech audio to be processed. This field 231 // should be populated iff `query_input` is set to an input audio config. 232 // A single request can contain up to 1 minute of speech audio data. 233 InputAudio []byte `protobuf:"bytes,5,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"` 234} 235 236func (x *DetectIntentRequest) Reset() { 237 *x = DetectIntentRequest{} 238 if protoimpl.UnsafeEnabled { 239 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[0] 240 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 241 ms.StoreMessageInfo(mi) 242 } 243} 244 245func (x *DetectIntentRequest) String() string { 246 return protoimpl.X.MessageStringOf(x) 247} 248 249func (*DetectIntentRequest) ProtoMessage() {} 250 251func (x *DetectIntentRequest) ProtoReflect() protoreflect.Message { 252 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[0] 253 if protoimpl.UnsafeEnabled && x != nil { 254 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 255 if ms.LoadMessageInfo() == nil { 256 ms.StoreMessageInfo(mi) 257 } 258 return ms 259 } 260 return mi.MessageOf(x) 261} 262 263// Deprecated: Use DetectIntentRequest.ProtoReflect.Descriptor instead. 264func (*DetectIntentRequest) Descriptor() ([]byte, []int) { 265 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{0} 266} 267 268func (x *DetectIntentRequest) GetSession() string { 269 if x != nil { 270 return x.Session 271 } 272 return "" 273} 274 275func (x *DetectIntentRequest) GetQueryParams() *QueryParameters { 276 if x != nil { 277 return x.QueryParams 278 } 279 return nil 280} 281 282func (x *DetectIntentRequest) GetQueryInput() *QueryInput { 283 if x != nil { 284 return x.QueryInput 285 } 286 return nil 287} 288 289func (x *DetectIntentRequest) GetOutputAudioConfig() *OutputAudioConfig { 290 if x != nil { 291 return x.OutputAudioConfig 292 } 293 return nil 294} 295 296func (x *DetectIntentRequest) GetOutputAudioConfigMask() *fieldmaskpb.FieldMask { 297 if x != nil { 298 return x.OutputAudioConfigMask 299 } 300 return nil 301} 302 303func (x *DetectIntentRequest) GetInputAudio() []byte { 304 if x != nil { 305 return x.InputAudio 306 } 307 return nil 308} 309 310// The message returned from the DetectIntent method. 311type DetectIntentResponse struct { 312 state protoimpl.MessageState 313 sizeCache protoimpl.SizeCache 314 unknownFields protoimpl.UnknownFields 315 316 // The unique identifier of the response. It can be used to 317 // locate a response in the training example set or for reporting issues. 318 ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"` 319 // The selected results of the conversational query or event processing. 320 // See `alternative_query_results` for additional potential results. 321 QueryResult *QueryResult `protobuf:"bytes,2,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"` 322 // If Knowledge Connectors are enabled, there could be more than one result 323 // returned for a given query or event, and this field will contain all 324 // results except for the top one, which is captured in query_result. The 325 // alternative results are ordered by decreasing 326 // `QueryResult.intent_detection_confidence`. If Knowledge Connectors are 327 // disabled, this field will be empty until multiple responses for regular 328 // intents are supported, at which point those additional results will be 329 // surfaced here. 330 AlternativeQueryResults []*QueryResult `protobuf:"bytes,5,rep,name=alternative_query_results,json=alternativeQueryResults,proto3" json:"alternative_query_results,omitempty"` 331 // Specifies the status of the webhook request. 332 WebhookStatus *status.Status `protobuf:"bytes,3,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"` 333 // The audio data bytes encoded as specified in the request. 334 // Note: The output audio is generated based on the values of default platform 335 // text responses found in the `query_result.fulfillment_messages` field. If 336 // multiple default text responses exist, they will be concatenated when 337 // generating audio. If no default platform text responses exist, the 338 // generated audio content will be empty. 339 // 340 // In some scenarios, multiple output audio fields may be present in the 341 // response structure. In these cases, only the top-most-level audio output 342 // has content. 343 OutputAudio []byte `protobuf:"bytes,4,opt,name=output_audio,json=outputAudio,proto3" json:"output_audio,omitempty"` 344 // The config used by the speech synthesizer to generate the output audio. 345 OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,6,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"` 346} 347 348func (x *DetectIntentResponse) Reset() { 349 *x = DetectIntentResponse{} 350 if protoimpl.UnsafeEnabled { 351 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[1] 352 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 353 ms.StoreMessageInfo(mi) 354 } 355} 356 357func (x *DetectIntentResponse) String() string { 358 return protoimpl.X.MessageStringOf(x) 359} 360 361func (*DetectIntentResponse) ProtoMessage() {} 362 363func (x *DetectIntentResponse) ProtoReflect() protoreflect.Message { 364 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[1] 365 if protoimpl.UnsafeEnabled && x != nil { 366 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 367 if ms.LoadMessageInfo() == nil { 368 ms.StoreMessageInfo(mi) 369 } 370 return ms 371 } 372 return mi.MessageOf(x) 373} 374 375// Deprecated: Use DetectIntentResponse.ProtoReflect.Descriptor instead. 376func (*DetectIntentResponse) Descriptor() ([]byte, []int) { 377 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{1} 378} 379 380func (x *DetectIntentResponse) GetResponseId() string { 381 if x != nil { 382 return x.ResponseId 383 } 384 return "" 385} 386 387func (x *DetectIntentResponse) GetQueryResult() *QueryResult { 388 if x != nil { 389 return x.QueryResult 390 } 391 return nil 392} 393 394func (x *DetectIntentResponse) GetAlternativeQueryResults() []*QueryResult { 395 if x != nil { 396 return x.AlternativeQueryResults 397 } 398 return nil 399} 400 401func (x *DetectIntentResponse) GetWebhookStatus() *status.Status { 402 if x != nil { 403 return x.WebhookStatus 404 } 405 return nil 406} 407 408func (x *DetectIntentResponse) GetOutputAudio() []byte { 409 if x != nil { 410 return x.OutputAudio 411 } 412 return nil 413} 414 415func (x *DetectIntentResponse) GetOutputAudioConfig() *OutputAudioConfig { 416 if x != nil { 417 return x.OutputAudioConfig 418 } 419 return nil 420} 421 422// Represents the parameters of the conversational query. 423type QueryParameters struct { 424 state protoimpl.MessageState 425 sizeCache protoimpl.SizeCache 426 unknownFields protoimpl.UnknownFields 427 428 // The time zone of this conversational query from the 429 // [time zone database](https://www.iana.org/time-zones), e.g., 430 // America/New_York, Europe/Paris. If not provided, the time zone specified in 431 // agent settings is used. 432 TimeZone string `protobuf:"bytes,1,opt,name=time_zone,json=timeZone,proto3" json:"time_zone,omitempty"` 433 // The geo location of this conversational query. 434 GeoLocation *latlng.LatLng `protobuf:"bytes,2,opt,name=geo_location,json=geoLocation,proto3" json:"geo_location,omitempty"` 435 // The collection of contexts to be activated before this query is 436 // executed. 437 Contexts []*Context `protobuf:"bytes,3,rep,name=contexts,proto3" json:"contexts,omitempty"` 438 // Specifies whether to delete all contexts in the current session 439 // before the new ones are activated. 440 ResetContexts bool `protobuf:"varint,4,opt,name=reset_contexts,json=resetContexts,proto3" json:"reset_contexts,omitempty"` 441 // Additional session entity types to replace or extend developer 442 // entity types with. The entity synonyms apply to all languages and persist 443 // for the session of this query. 444 SessionEntityTypes []*SessionEntityType `protobuf:"bytes,5,rep,name=session_entity_types,json=sessionEntityTypes,proto3" json:"session_entity_types,omitempty"` 445 // This field can be used to pass custom data to your webhook. 446 // Arbitrary JSON objects are supported. 447 // If supplied, the value is used to populate the 448 // `WebhookRequest.original_detect_intent_request.payload` 449 // field sent to your webhook. 450 Payload *structpb.Struct `protobuf:"bytes,6,opt,name=payload,proto3" json:"payload,omitempty"` 451 // KnowledgeBases to get alternative results from. If not set, the 452 // KnowledgeBases enabled in the agent (through UI) will be used. 453 // Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base ID>`. 454 KnowledgeBaseNames []string `protobuf:"bytes,12,rep,name=knowledge_base_names,json=knowledgeBaseNames,proto3" json:"knowledge_base_names,omitempty"` 455 // Configures the type of sentiment analysis to perform. If not 456 // provided, sentiment analysis is not performed. 457 // Note: Sentiment Analysis is only currently available for Essentials Edition 458 // agents. 459 SentimentAnalysisRequestConfig *SentimentAnalysisRequestConfig `protobuf:"bytes,10,opt,name=sentiment_analysis_request_config,json=sentimentAnalysisRequestConfig,proto3" json:"sentiment_analysis_request_config,omitempty"` 460 // For mega agent query, directly specify which sub agents to query. 461 // If any specified sub agent is not linked to the mega agent, an error will 462 // be returned. If empty, Dialogflow will decide which sub agents to query. 463 // If specified for a non-mega-agent query, will be silently ignored. 464 SubAgents []*SubAgent `protobuf:"bytes,13,rep,name=sub_agents,json=subAgents,proto3" json:"sub_agents,omitempty"` 465 // This field can be used to pass HTTP headers for a webhook 466 // call. These headers will be sent to webhook along with the headers that 467 // have been configured through Dialogflow web console. The headers defined 468 // within this field will overwrite the headers configured through Dialogflow 469 // console if there is a conflict. Header names are case-insensitive. 470 // Google's specified headers are not allowed. Including: "Host", 471 // "Content-Length", "Connection", "From", "User-Agent", "Accept-Encoding", 472 // "If-Modified-Since", "If-None-Match", "X-Forwarded-For", etc. 473 WebhookHeaders map[string]string `protobuf:"bytes,14,rep,name=webhook_headers,json=webhookHeaders,proto3" json:"webhook_headers,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` 474} 475 476func (x *QueryParameters) Reset() { 477 *x = QueryParameters{} 478 if protoimpl.UnsafeEnabled { 479 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[2] 480 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 481 ms.StoreMessageInfo(mi) 482 } 483} 484 485func (x *QueryParameters) String() string { 486 return protoimpl.X.MessageStringOf(x) 487} 488 489func (*QueryParameters) ProtoMessage() {} 490 491func (x *QueryParameters) ProtoReflect() protoreflect.Message { 492 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[2] 493 if protoimpl.UnsafeEnabled && x != nil { 494 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 495 if ms.LoadMessageInfo() == nil { 496 ms.StoreMessageInfo(mi) 497 } 498 return ms 499 } 500 return mi.MessageOf(x) 501} 502 503// Deprecated: Use QueryParameters.ProtoReflect.Descriptor instead. 504func (*QueryParameters) Descriptor() ([]byte, []int) { 505 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{2} 506} 507 508func (x *QueryParameters) GetTimeZone() string { 509 if x != nil { 510 return x.TimeZone 511 } 512 return "" 513} 514 515func (x *QueryParameters) GetGeoLocation() *latlng.LatLng { 516 if x != nil { 517 return x.GeoLocation 518 } 519 return nil 520} 521 522func (x *QueryParameters) GetContexts() []*Context { 523 if x != nil { 524 return x.Contexts 525 } 526 return nil 527} 528 529func (x *QueryParameters) GetResetContexts() bool { 530 if x != nil { 531 return x.ResetContexts 532 } 533 return false 534} 535 536func (x *QueryParameters) GetSessionEntityTypes() []*SessionEntityType { 537 if x != nil { 538 return x.SessionEntityTypes 539 } 540 return nil 541} 542 543func (x *QueryParameters) GetPayload() *structpb.Struct { 544 if x != nil { 545 return x.Payload 546 } 547 return nil 548} 549 550func (x *QueryParameters) GetKnowledgeBaseNames() []string { 551 if x != nil { 552 return x.KnowledgeBaseNames 553 } 554 return nil 555} 556 557func (x *QueryParameters) GetSentimentAnalysisRequestConfig() *SentimentAnalysisRequestConfig { 558 if x != nil { 559 return x.SentimentAnalysisRequestConfig 560 } 561 return nil 562} 563 564func (x *QueryParameters) GetSubAgents() []*SubAgent { 565 if x != nil { 566 return x.SubAgents 567 } 568 return nil 569} 570 571func (x *QueryParameters) GetWebhookHeaders() map[string]string { 572 if x != nil { 573 return x.WebhookHeaders 574 } 575 return nil 576} 577 578// Represents the query input. It can contain either: 579// 580// 1. An audio config which 581// instructs the speech recognizer how to process the speech audio. 582// 583// 2. A conversational query in the form of text. 584// 585// 3. An event that specifies which intent to trigger. 586type QueryInput struct { 587 state protoimpl.MessageState 588 sizeCache protoimpl.SizeCache 589 unknownFields protoimpl.UnknownFields 590 591 // Required. The input specification. 592 // 593 // Types that are assignable to Input: 594 // *QueryInput_AudioConfig 595 // *QueryInput_Text 596 // *QueryInput_Event 597 // *QueryInput_Dtmf 598 Input isQueryInput_Input `protobuf_oneof:"input"` 599} 600 601func (x *QueryInput) Reset() { 602 *x = QueryInput{} 603 if protoimpl.UnsafeEnabled { 604 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[3] 605 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 606 ms.StoreMessageInfo(mi) 607 } 608} 609 610func (x *QueryInput) String() string { 611 return protoimpl.X.MessageStringOf(x) 612} 613 614func (*QueryInput) ProtoMessage() {} 615 616func (x *QueryInput) ProtoReflect() protoreflect.Message { 617 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[3] 618 if protoimpl.UnsafeEnabled && x != nil { 619 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 620 if ms.LoadMessageInfo() == nil { 621 ms.StoreMessageInfo(mi) 622 } 623 return ms 624 } 625 return mi.MessageOf(x) 626} 627 628// Deprecated: Use QueryInput.ProtoReflect.Descriptor instead. 629func (*QueryInput) Descriptor() ([]byte, []int) { 630 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{3} 631} 632 633func (m *QueryInput) GetInput() isQueryInput_Input { 634 if m != nil { 635 return m.Input 636 } 637 return nil 638} 639 640func (x *QueryInput) GetAudioConfig() *InputAudioConfig { 641 if x, ok := x.GetInput().(*QueryInput_AudioConfig); ok { 642 return x.AudioConfig 643 } 644 return nil 645} 646 647func (x *QueryInput) GetText() *TextInput { 648 if x, ok := x.GetInput().(*QueryInput_Text); ok { 649 return x.Text 650 } 651 return nil 652} 653 654func (x *QueryInput) GetEvent() *EventInput { 655 if x, ok := x.GetInput().(*QueryInput_Event); ok { 656 return x.Event 657 } 658 return nil 659} 660 661func (x *QueryInput) GetDtmf() *TelephonyDtmfEvents { 662 if x, ok := x.GetInput().(*QueryInput_Dtmf); ok { 663 return x.Dtmf 664 } 665 return nil 666} 667 668type isQueryInput_Input interface { 669 isQueryInput_Input() 670} 671 672type QueryInput_AudioConfig struct { 673 // Instructs the speech recognizer how to process the speech audio. 674 AudioConfig *InputAudioConfig `protobuf:"bytes,1,opt,name=audio_config,json=audioConfig,proto3,oneof"` 675} 676 677type QueryInput_Text struct { 678 // The natural language text to be processed. 679 Text *TextInput `protobuf:"bytes,2,opt,name=text,proto3,oneof"` 680} 681 682type QueryInput_Event struct { 683 // The event to be processed. 684 Event *EventInput `protobuf:"bytes,3,opt,name=event,proto3,oneof"` 685} 686 687type QueryInput_Dtmf struct { 688 // The DTMF digits used to invoke intent and fill in parameter value. 689 Dtmf *TelephonyDtmfEvents `protobuf:"bytes,4,opt,name=dtmf,proto3,oneof"` 690} 691 692func (*QueryInput_AudioConfig) isQueryInput_Input() {} 693 694func (*QueryInput_Text) isQueryInput_Input() {} 695 696func (*QueryInput_Event) isQueryInput_Input() {} 697 698func (*QueryInput_Dtmf) isQueryInput_Input() {} 699 700// Represents the result of conversational query or event processing. 701type QueryResult struct { 702 state protoimpl.MessageState 703 sizeCache protoimpl.SizeCache 704 unknownFields protoimpl.UnknownFields 705 706 // The original conversational query text: 707 // 708 // - If natural language text was provided as input, `query_text` contains 709 // a copy of the input. 710 // - If natural language speech audio was provided as input, `query_text` 711 // contains the speech recognition result. If speech recognizer produced 712 // multiple alternatives, a particular one is picked. 713 // - If automatic spell correction is enabled, `query_text` will contain the 714 // corrected user input. 715 QueryText string `protobuf:"bytes,1,opt,name=query_text,json=queryText,proto3" json:"query_text,omitempty"` 716 // The language that was triggered during intent detection. 717 // See [Language 718 // Support](https://cloud.google.com/dialogflow/docs/reference/language) 719 // for a list of the currently supported language codes. 720 LanguageCode string `protobuf:"bytes,15,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 721 // The Speech recognition confidence between 0.0 and 1.0. A higher number 722 // indicates an estimated greater likelihood that the recognized words are 723 // correct. The default of 0.0 is a sentinel value indicating that confidence 724 // was not set. 725 // 726 // This field is not guaranteed to be accurate or set. In particular this 727 // field isn't set for StreamingDetectIntent since the streaming endpoint has 728 // separate confidence estimates per portion of the audio in 729 // StreamingRecognitionResult. 730 SpeechRecognitionConfidence float32 `protobuf:"fixed32,2,opt,name=speech_recognition_confidence,json=speechRecognitionConfidence,proto3" json:"speech_recognition_confidence,omitempty"` 731 // The action name from the matched intent. 732 Action string `protobuf:"bytes,3,opt,name=action,proto3" json:"action,omitempty"` 733 // The collection of extracted parameters. 734 // 735 // Depending on your protocol or client library language, this is a 736 // map, associative array, symbol table, dictionary, or JSON object 737 // composed of a collection of (MapKey, MapValue) pairs: 738 // 739 // - MapKey type: string 740 // - MapKey value: parameter name 741 // - MapValue type: 742 // - If parameter's entity type is a composite entity: map 743 // - Else: depending on parameter value type, could be one of string, 744 // number, boolean, null, list or map 745 // - MapValue value: 746 // - If parameter's entity type is a composite entity: 747 // map from composite entity property names to property values 748 // - Else: parameter value 749 Parameters *structpb.Struct `protobuf:"bytes,4,opt,name=parameters,proto3" json:"parameters,omitempty"` 750 // This field is set to: 751 // 752 // - `false` if the matched intent has required parameters and not all of 753 // the required parameter values have been collected. 754 // - `true` if all required parameter values have been collected, or if the 755 // matched intent doesn't contain any required parameters. 756 AllRequiredParamsPresent bool `protobuf:"varint,5,opt,name=all_required_params_present,json=allRequiredParamsPresent,proto3" json:"all_required_params_present,omitempty"` 757 // Indicates whether the conversational query triggers a cancellation for slot 758 // filling. 759 CancelsSlotFilling bool `protobuf:"varint,21,opt,name=cancels_slot_filling,json=cancelsSlotFilling,proto3" json:"cancels_slot_filling,omitempty"` 760 // The text to be pronounced to the user or shown on the screen. 761 // Note: This is a legacy field, `fulfillment_messages` should be preferred. 762 FulfillmentText string `protobuf:"bytes,6,opt,name=fulfillment_text,json=fulfillmentText,proto3" json:"fulfillment_text,omitempty"` 763 // The collection of rich messages to present to the user. 764 FulfillmentMessages []*Intent_Message `protobuf:"bytes,7,rep,name=fulfillment_messages,json=fulfillmentMessages,proto3" json:"fulfillment_messages,omitempty"` 765 // If the query was fulfilled by a webhook call, this field is set to the 766 // value of the `source` field returned in the webhook response. 767 WebhookSource string `protobuf:"bytes,8,opt,name=webhook_source,json=webhookSource,proto3" json:"webhook_source,omitempty"` 768 // If the query was fulfilled by a webhook call, this field is set to the 769 // value of the `payload` field returned in the webhook response. 770 WebhookPayload *structpb.Struct `protobuf:"bytes,9,opt,name=webhook_payload,json=webhookPayload,proto3" json:"webhook_payload,omitempty"` 771 // The collection of output contexts. If applicable, 772 // `output_contexts.parameters` contains entries with name 773 // `<parameter name>.original` containing the original parameter values 774 // before the query. 775 OutputContexts []*Context `protobuf:"bytes,10,rep,name=output_contexts,json=outputContexts,proto3" json:"output_contexts,omitempty"` 776 // The intent that matched the conversational query. Some, not 777 // all fields are filled in this message, including but not limited to: 778 // `name`, `display_name`, `end_interaction` and `is_fallback`. 779 Intent *Intent `protobuf:"bytes,11,opt,name=intent,proto3" json:"intent,omitempty"` 780 // The intent detection confidence. Values range from 0.0 781 // (completely uncertain) to 1.0 (completely certain). 782 // This value is for informational purpose only and is only used to 783 // help match the best intent within the classification threshold. 784 // This value may change for the same end-user expression at any time due to a 785 // model retraining or change in implementation. 786 // If there are `multiple knowledge_answers` messages, this value is set to 787 // the greatest `knowledgeAnswers.match_confidence` value in the list. 788 IntentDetectionConfidence float32 `protobuf:"fixed32,12,opt,name=intent_detection_confidence,json=intentDetectionConfidence,proto3" json:"intent_detection_confidence,omitempty"` 789 // Free-form diagnostic information for the associated detect intent request. 790 // The fields of this data can change without notice, so you should not write 791 // code that depends on its structure. 792 // The data may contain: 793 // 794 // - webhook call latency 795 // - webhook errors 796 DiagnosticInfo *structpb.Struct `protobuf:"bytes,14,opt,name=diagnostic_info,json=diagnosticInfo,proto3" json:"diagnostic_info,omitempty"` 797 // The sentiment analysis result, which depends on the 798 // `sentiment_analysis_request_config` specified in the request. 799 SentimentAnalysisResult *SentimentAnalysisResult `protobuf:"bytes,17,opt,name=sentiment_analysis_result,json=sentimentAnalysisResult,proto3" json:"sentiment_analysis_result,omitempty"` 800 // The result from Knowledge Connector (if any), ordered by decreasing 801 // `KnowledgeAnswers.match_confidence`. 802 KnowledgeAnswers *KnowledgeAnswers `protobuf:"bytes,18,opt,name=knowledge_answers,json=knowledgeAnswers,proto3" json:"knowledge_answers,omitempty"` 803} 804 805func (x *QueryResult) Reset() { 806 *x = QueryResult{} 807 if protoimpl.UnsafeEnabled { 808 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[4] 809 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 810 ms.StoreMessageInfo(mi) 811 } 812} 813 814func (x *QueryResult) String() string { 815 return protoimpl.X.MessageStringOf(x) 816} 817 818func (*QueryResult) ProtoMessage() {} 819 820func (x *QueryResult) ProtoReflect() protoreflect.Message { 821 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[4] 822 if protoimpl.UnsafeEnabled && x != nil { 823 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 824 if ms.LoadMessageInfo() == nil { 825 ms.StoreMessageInfo(mi) 826 } 827 return ms 828 } 829 return mi.MessageOf(x) 830} 831 832// Deprecated: Use QueryResult.ProtoReflect.Descriptor instead. 833func (*QueryResult) Descriptor() ([]byte, []int) { 834 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{4} 835} 836 837func (x *QueryResult) GetQueryText() string { 838 if x != nil { 839 return x.QueryText 840 } 841 return "" 842} 843 844func (x *QueryResult) GetLanguageCode() string { 845 if x != nil { 846 return x.LanguageCode 847 } 848 return "" 849} 850 851func (x *QueryResult) GetSpeechRecognitionConfidence() float32 { 852 if x != nil { 853 return x.SpeechRecognitionConfidence 854 } 855 return 0 856} 857 858func (x *QueryResult) GetAction() string { 859 if x != nil { 860 return x.Action 861 } 862 return "" 863} 864 865func (x *QueryResult) GetParameters() *structpb.Struct { 866 if x != nil { 867 return x.Parameters 868 } 869 return nil 870} 871 872func (x *QueryResult) GetAllRequiredParamsPresent() bool { 873 if x != nil { 874 return x.AllRequiredParamsPresent 875 } 876 return false 877} 878 879func (x *QueryResult) GetCancelsSlotFilling() bool { 880 if x != nil { 881 return x.CancelsSlotFilling 882 } 883 return false 884} 885 886func (x *QueryResult) GetFulfillmentText() string { 887 if x != nil { 888 return x.FulfillmentText 889 } 890 return "" 891} 892 893func (x *QueryResult) GetFulfillmentMessages() []*Intent_Message { 894 if x != nil { 895 return x.FulfillmentMessages 896 } 897 return nil 898} 899 900func (x *QueryResult) GetWebhookSource() string { 901 if x != nil { 902 return x.WebhookSource 903 } 904 return "" 905} 906 907func (x *QueryResult) GetWebhookPayload() *structpb.Struct { 908 if x != nil { 909 return x.WebhookPayload 910 } 911 return nil 912} 913 914func (x *QueryResult) GetOutputContexts() []*Context { 915 if x != nil { 916 return x.OutputContexts 917 } 918 return nil 919} 920 921func (x *QueryResult) GetIntent() *Intent { 922 if x != nil { 923 return x.Intent 924 } 925 return nil 926} 927 928func (x *QueryResult) GetIntentDetectionConfidence() float32 { 929 if x != nil { 930 return x.IntentDetectionConfidence 931 } 932 return 0 933} 934 935func (x *QueryResult) GetDiagnosticInfo() *structpb.Struct { 936 if x != nil { 937 return x.DiagnosticInfo 938 } 939 return nil 940} 941 942func (x *QueryResult) GetSentimentAnalysisResult() *SentimentAnalysisResult { 943 if x != nil { 944 return x.SentimentAnalysisResult 945 } 946 return nil 947} 948 949func (x *QueryResult) GetKnowledgeAnswers() *KnowledgeAnswers { 950 if x != nil { 951 return x.KnowledgeAnswers 952 } 953 return nil 954} 955 956// Represents the result of querying a Knowledge base. 957type KnowledgeAnswers struct { 958 state protoimpl.MessageState 959 sizeCache protoimpl.SizeCache 960 unknownFields protoimpl.UnknownFields 961 962 // A list of answers from Knowledge Connector. 963 Answers []*KnowledgeAnswers_Answer `protobuf:"bytes,1,rep,name=answers,proto3" json:"answers,omitempty"` 964} 965 966func (x *KnowledgeAnswers) Reset() { 967 *x = KnowledgeAnswers{} 968 if protoimpl.UnsafeEnabled { 969 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[5] 970 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 971 ms.StoreMessageInfo(mi) 972 } 973} 974 975func (x *KnowledgeAnswers) String() string { 976 return protoimpl.X.MessageStringOf(x) 977} 978 979func (*KnowledgeAnswers) ProtoMessage() {} 980 981func (x *KnowledgeAnswers) ProtoReflect() protoreflect.Message { 982 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[5] 983 if protoimpl.UnsafeEnabled && x != nil { 984 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 985 if ms.LoadMessageInfo() == nil { 986 ms.StoreMessageInfo(mi) 987 } 988 return ms 989 } 990 return mi.MessageOf(x) 991} 992 993// Deprecated: Use KnowledgeAnswers.ProtoReflect.Descriptor instead. 994func (*KnowledgeAnswers) Descriptor() ([]byte, []int) { 995 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{5} 996} 997 998func (x *KnowledgeAnswers) GetAnswers() []*KnowledgeAnswers_Answer { 999 if x != nil { 1000 return x.Answers 1001 } 1002 return nil 1003} 1004 1005// The top-level message sent by the client to the 1006// [Sessions.StreamingDetectIntent][google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent] method. 1007// 1008// Multiple request messages should be sent in order: 1009// 1010// 1. The first message must contain 1011// [session][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.session], 1012// [query_input][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_input] plus optionally 1013// [query_params][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_params]. If the client 1014// wants to receive an audio response, it should also contain 1015// [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config]. 1016// The message must not contain 1017// [input_audio][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.input_audio]. 1018// 2. If [query_input][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_input] was set to 1019// [query_input.audio_config][google.cloud.dialogflow.v2beta1.InputAudioConfig], all subsequent 1020// messages must contain 1021// [input_audio][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.input_audio] to continue with 1022// Speech recognition. 1023// If you decide to rather detect an intent from text input after you 1024// already started Speech recognition, please send a message with 1025// [query_input.text][google.cloud.dialogflow.v2beta1.QueryInput.text]. 1026// 1027// However, note that: 1028// 1029// * Dialogflow will bill you for the audio duration so far. 1030// * Dialogflow discards all Speech recognition results in favor of the 1031// input text. 1032// * Dialogflow will use the language code from the first message. 1033// 1034// After you sent all input, you must half-close or abort the request stream. 1035type StreamingDetectIntentRequest struct { 1036 state protoimpl.MessageState 1037 sizeCache protoimpl.SizeCache 1038 unknownFields protoimpl.UnknownFields 1039 1040 // Required. The name of the session the query is sent to. 1041 // Supported formats: 1042 // - `projects/<Project ID>/agent/sessions/<Session ID>, 1043 // - `projects/<Project ID>/locations/<Location ID>/agent/sessions/<Session 1044 // ID>`, 1045 // - `projects/<Project ID>/agent/environments/<Environment ID>/users/<User 1046 // ID>/sessions/<Session ID>`, 1047 // - `projects/<Project ID>/locations/<Location 1048 // ID>/agent/environments/<Environment ID>/users/<User ID>/sessions/<Session 1049 // ID>`, 1050 // 1051 // If `Location ID` is not specified we assume default 'us' location. If 1052 // `Environment ID` is not specified, we assume default 'draft' environment. 1053 // If `User ID` is not specified, we are using "-". It's up to the API caller 1054 // to choose an appropriate `Session ID` and `User Id`. They can be a random 1055 // number or some type of user and session identifiers (preferably hashed). 1056 // The length of the `Session ID` and `User ID` must not exceed 36 characters. 1057 // 1058 // For more information, see the [API interactions 1059 // guide](https://cloud.google.com/dialogflow/docs/api-overview). 1060 // 1061 // Note: Always use agent versions for production traffic. 1062 // See [Versions and 1063 // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 1064 Session string `protobuf:"bytes,1,opt,name=session,proto3" json:"session,omitempty"` 1065 // The parameters of this query. 1066 QueryParams *QueryParameters `protobuf:"bytes,2,opt,name=query_params,json=queryParams,proto3" json:"query_params,omitempty"` 1067 // Required. The input specification. It can be set to: 1068 // 1069 // 1. an audio config which instructs the speech recognizer how to process 1070 // the speech audio, 1071 // 1072 // 2. a conversational query in the form of text, or 1073 // 1074 // 3. an event that specifies which intent to trigger. 1075 QueryInput *QueryInput `protobuf:"bytes,3,opt,name=query_input,json=queryInput,proto3" json:"query_input,omitempty"` 1076 // DEPRECATED. Please use [InputAudioConfig.single_utterance][google.cloud.dialogflow.v2beta1.InputAudioConfig.single_utterance] instead. 1077 // If `false` (default), recognition does not cease until the 1078 // client closes the stream. 1079 // If `true`, the recognizer will detect a single spoken utterance in input 1080 // audio. Recognition ceases when it detects the audio's voice has 1081 // stopped or paused. In this case, once a detected intent is received, the 1082 // client should close the stream and start a new request with a new stream as 1083 // needed. 1084 // This setting is ignored when `query_input` is a piece of text or an event. 1085 // 1086 // Deprecated: Do not use. 1087 SingleUtterance bool `protobuf:"varint,4,opt,name=single_utterance,json=singleUtterance,proto3" json:"single_utterance,omitempty"` 1088 // Instructs the speech synthesizer how to generate the output 1089 // audio. If this field is not set and agent-level speech synthesizer is not 1090 // configured, no output audio is generated. 1091 OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,5,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"` 1092 // Mask for [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config] indicating which settings in this 1093 // request-level config should override speech synthesizer settings defined at 1094 // agent-level. 1095 // 1096 // If unspecified or empty, [output_audio_config][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config] replaces the agent-level 1097 // config in its entirety. 1098 OutputAudioConfigMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=output_audio_config_mask,json=outputAudioConfigMask,proto3" json:"output_audio_config_mask,omitempty"` 1099 // The input audio content to be recognized. Must be sent if 1100 // `query_input` was set to a streaming input audio config. The complete audio 1101 // over all streaming messages must not exceed 1 minute. 1102 InputAudio []byte `protobuf:"bytes,6,opt,name=input_audio,json=inputAudio,proto3" json:"input_audio,omitempty"` 1103} 1104 1105func (x *StreamingDetectIntentRequest) Reset() { 1106 *x = StreamingDetectIntentRequest{} 1107 if protoimpl.UnsafeEnabled { 1108 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[6] 1109 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1110 ms.StoreMessageInfo(mi) 1111 } 1112} 1113 1114func (x *StreamingDetectIntentRequest) String() string { 1115 return protoimpl.X.MessageStringOf(x) 1116} 1117 1118func (*StreamingDetectIntentRequest) ProtoMessage() {} 1119 1120func (x *StreamingDetectIntentRequest) ProtoReflect() protoreflect.Message { 1121 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[6] 1122 if protoimpl.UnsafeEnabled && x != nil { 1123 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1124 if ms.LoadMessageInfo() == nil { 1125 ms.StoreMessageInfo(mi) 1126 } 1127 return ms 1128 } 1129 return mi.MessageOf(x) 1130} 1131 1132// Deprecated: Use StreamingDetectIntentRequest.ProtoReflect.Descriptor instead. 1133func (*StreamingDetectIntentRequest) Descriptor() ([]byte, []int) { 1134 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{6} 1135} 1136 1137func (x *StreamingDetectIntentRequest) GetSession() string { 1138 if x != nil { 1139 return x.Session 1140 } 1141 return "" 1142} 1143 1144func (x *StreamingDetectIntentRequest) GetQueryParams() *QueryParameters { 1145 if x != nil { 1146 return x.QueryParams 1147 } 1148 return nil 1149} 1150 1151func (x *StreamingDetectIntentRequest) GetQueryInput() *QueryInput { 1152 if x != nil { 1153 return x.QueryInput 1154 } 1155 return nil 1156} 1157 1158// Deprecated: Do not use. 1159func (x *StreamingDetectIntentRequest) GetSingleUtterance() bool { 1160 if x != nil { 1161 return x.SingleUtterance 1162 } 1163 return false 1164} 1165 1166func (x *StreamingDetectIntentRequest) GetOutputAudioConfig() *OutputAudioConfig { 1167 if x != nil { 1168 return x.OutputAudioConfig 1169 } 1170 return nil 1171} 1172 1173func (x *StreamingDetectIntentRequest) GetOutputAudioConfigMask() *fieldmaskpb.FieldMask { 1174 if x != nil { 1175 return x.OutputAudioConfigMask 1176 } 1177 return nil 1178} 1179 1180func (x *StreamingDetectIntentRequest) GetInputAudio() []byte { 1181 if x != nil { 1182 return x.InputAudio 1183 } 1184 return nil 1185} 1186 1187// The top-level message returned from the 1188// `StreamingDetectIntent` method. 1189// 1190// Multiple response messages can be returned in order: 1191// 1192// 1. If the input was set to streaming audio, the first one or more messages 1193// contain `recognition_result`. Each `recognition_result` represents a more 1194// complete transcript of what the user said. The last `recognition_result` 1195// has `is_final` set to `true`. 1196// 1197// 2. The next message contains `response_id`, `query_result`, 1198// `alternative_query_results` and optionally `webhook_status` if a WebHook 1199// was called. 1200// 1201// 3. If `output_audio_config` was specified in the request or agent-level 1202// speech synthesizer is configured, all subsequent messages contain 1203// `output_audio` and `output_audio_config`. 1204type StreamingDetectIntentResponse struct { 1205 state protoimpl.MessageState 1206 sizeCache protoimpl.SizeCache 1207 unknownFields protoimpl.UnknownFields 1208 1209 // The unique identifier of the response. It can be used to 1210 // locate a response in the training example set or for reporting issues. 1211 ResponseId string `protobuf:"bytes,1,opt,name=response_id,json=responseId,proto3" json:"response_id,omitempty"` 1212 // The result of speech recognition. 1213 RecognitionResult *StreamingRecognitionResult `protobuf:"bytes,2,opt,name=recognition_result,json=recognitionResult,proto3" json:"recognition_result,omitempty"` 1214 // The selected results of the conversational query or event processing. 1215 // See `alternative_query_results` for additional potential results. 1216 QueryResult *QueryResult `protobuf:"bytes,3,opt,name=query_result,json=queryResult,proto3" json:"query_result,omitempty"` 1217 // If Knowledge Connectors are enabled, there could be more than one result 1218 // returned for a given query or event, and this field will contain all 1219 // results except for the top one, which is captured in query_result. The 1220 // alternative results are ordered by decreasing 1221 // `QueryResult.intent_detection_confidence`. If Knowledge Connectors are 1222 // disabled, this field will be empty until multiple responses for regular 1223 // intents are supported, at which point those additional results will be 1224 // surfaced here. 1225 AlternativeQueryResults []*QueryResult `protobuf:"bytes,7,rep,name=alternative_query_results,json=alternativeQueryResults,proto3" json:"alternative_query_results,omitempty"` 1226 // Specifies the status of the webhook request. 1227 WebhookStatus *status.Status `protobuf:"bytes,4,opt,name=webhook_status,json=webhookStatus,proto3" json:"webhook_status,omitempty"` 1228 // The audio data bytes encoded as specified in the request. 1229 // Note: The output audio is generated based on the values of default platform 1230 // text responses found in the `query_result.fulfillment_messages` field. If 1231 // multiple default text responses exist, they will be concatenated when 1232 // generating audio. If no default platform text responses exist, the 1233 // generated audio content will be empty. 1234 // 1235 // In some scenarios, multiple output audio fields may be present in the 1236 // response structure. In these cases, only the top-most-level audio output 1237 // has content. 1238 OutputAudio []byte `protobuf:"bytes,5,opt,name=output_audio,json=outputAudio,proto3" json:"output_audio,omitempty"` 1239 // The config used by the speech synthesizer to generate the output audio. 1240 OutputAudioConfig *OutputAudioConfig `protobuf:"bytes,6,opt,name=output_audio_config,json=outputAudioConfig,proto3" json:"output_audio_config,omitempty"` 1241} 1242 1243func (x *StreamingDetectIntentResponse) Reset() { 1244 *x = StreamingDetectIntentResponse{} 1245 if protoimpl.UnsafeEnabled { 1246 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[7] 1247 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1248 ms.StoreMessageInfo(mi) 1249 } 1250} 1251 1252func (x *StreamingDetectIntentResponse) String() string { 1253 return protoimpl.X.MessageStringOf(x) 1254} 1255 1256func (*StreamingDetectIntentResponse) ProtoMessage() {} 1257 1258func (x *StreamingDetectIntentResponse) ProtoReflect() protoreflect.Message { 1259 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[7] 1260 if protoimpl.UnsafeEnabled && x != nil { 1261 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1262 if ms.LoadMessageInfo() == nil { 1263 ms.StoreMessageInfo(mi) 1264 } 1265 return ms 1266 } 1267 return mi.MessageOf(x) 1268} 1269 1270// Deprecated: Use StreamingDetectIntentResponse.ProtoReflect.Descriptor instead. 1271func (*StreamingDetectIntentResponse) Descriptor() ([]byte, []int) { 1272 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{7} 1273} 1274 1275func (x *StreamingDetectIntentResponse) GetResponseId() string { 1276 if x != nil { 1277 return x.ResponseId 1278 } 1279 return "" 1280} 1281 1282func (x *StreamingDetectIntentResponse) GetRecognitionResult() *StreamingRecognitionResult { 1283 if x != nil { 1284 return x.RecognitionResult 1285 } 1286 return nil 1287} 1288 1289func (x *StreamingDetectIntentResponse) GetQueryResult() *QueryResult { 1290 if x != nil { 1291 return x.QueryResult 1292 } 1293 return nil 1294} 1295 1296func (x *StreamingDetectIntentResponse) GetAlternativeQueryResults() []*QueryResult { 1297 if x != nil { 1298 return x.AlternativeQueryResults 1299 } 1300 return nil 1301} 1302 1303func (x *StreamingDetectIntentResponse) GetWebhookStatus() *status.Status { 1304 if x != nil { 1305 return x.WebhookStatus 1306 } 1307 return nil 1308} 1309 1310func (x *StreamingDetectIntentResponse) GetOutputAudio() []byte { 1311 if x != nil { 1312 return x.OutputAudio 1313 } 1314 return nil 1315} 1316 1317func (x *StreamingDetectIntentResponse) GetOutputAudioConfig() *OutputAudioConfig { 1318 if x != nil { 1319 return x.OutputAudioConfig 1320 } 1321 return nil 1322} 1323 1324// Contains a speech recognition result corresponding to a portion of the audio 1325// that is currently being processed or an indication that this is the end 1326// of the single requested utterance. 1327// 1328// Example: 1329// 1330// 1. transcript: "tube" 1331// 1332// 2. transcript: "to be a" 1333// 1334// 3. transcript: "to be" 1335// 1336// 4. transcript: "to be or not to be" 1337// is_final: true 1338// 1339// 5. transcript: " that's" 1340// 1341// 6. transcript: " that is" 1342// 1343// 7. message_type: `END_OF_SINGLE_UTTERANCE` 1344// 1345// 8. transcript: " that is the question" 1346// is_final: true 1347// 1348// Only two of the responses contain final results (#4 and #8 indicated by 1349// `is_final: true`). Concatenating these generates the full transcript: "to be 1350// or not to be that is the question". 1351// 1352// In each response we populate: 1353// 1354// * for `TRANSCRIPT`: `transcript` and possibly `is_final`. 1355// 1356// * for `END_OF_SINGLE_UTTERANCE`: only `message_type`. 1357type StreamingRecognitionResult struct { 1358 state protoimpl.MessageState 1359 sizeCache protoimpl.SizeCache 1360 unknownFields protoimpl.UnknownFields 1361 1362 // Type of the result message. 1363 MessageType StreamingRecognitionResult_MessageType `protobuf:"varint,1,opt,name=message_type,json=messageType,proto3,enum=google.cloud.dialogflow.v2beta1.StreamingRecognitionResult_MessageType" json:"message_type,omitempty"` 1364 // Transcript text representing the words that the user spoke. 1365 // Populated if and only if `message_type` = `TRANSCRIPT`. 1366 Transcript string `protobuf:"bytes,2,opt,name=transcript,proto3" json:"transcript,omitempty"` 1367 // If `false`, the `StreamingRecognitionResult` represents an 1368 // interim result that may change. If `true`, the recognizer will not return 1369 // any further hypotheses about this piece of the audio. May only be populated 1370 // for `message_type` = `TRANSCRIPT`. 1371 IsFinal bool `protobuf:"varint,3,opt,name=is_final,json=isFinal,proto3" json:"is_final,omitempty"` 1372 // The Speech confidence between 0.0 and 1.0 for the current portion of audio. 1373 // A higher number indicates an estimated greater likelihood that the 1374 // recognized words are correct. The default of 0.0 is a sentinel value 1375 // indicating that confidence was not set. 1376 // 1377 // This field is typically only provided if `is_final` is true and you should 1378 // not rely on it being accurate or even set. 1379 Confidence float32 `protobuf:"fixed32,4,opt,name=confidence,proto3" json:"confidence,omitempty"` 1380 // An estimate of the likelihood that the speech recognizer will 1381 // not change its guess about this interim recognition result: 1382 // 1383 // * If the value is unspecified or 0.0, Dialogflow didn't compute the 1384 // stability. In particular, Dialogflow will only provide stability for 1385 // `TRANSCRIPT` results with `is_final = false`. 1386 // * Otherwise, the value is in (0.0, 1.0] where 0.0 means completely 1387 // unstable and 1.0 means completely stable. 1388 Stability float32 `protobuf:"fixed32,6,opt,name=stability,proto3" json:"stability,omitempty"` 1389 // Word-specific information for the words recognized by Speech in 1390 // [transcript][google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.transcript]. Populated if and only if `message_type` = `TRANSCRIPT` and 1391 // [InputAudioConfig.enable_word_info] is set. 1392 SpeechWordInfo []*SpeechWordInfo `protobuf:"bytes,7,rep,name=speech_word_info,json=speechWordInfo,proto3" json:"speech_word_info,omitempty"` 1393 // Time offset of the end of this Speech recognition result relative to the 1394 // beginning of the audio. Only populated for `message_type` = `TRANSCRIPT`. 1395 SpeechEndOffset *durationpb.Duration `protobuf:"bytes,8,opt,name=speech_end_offset,json=speechEndOffset,proto3" json:"speech_end_offset,omitempty"` 1396 // Detected language code for the transcript. 1397 LanguageCode string `protobuf:"bytes,10,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 1398 // DTMF digits. Populated if and only if `message_type` = `DTMF_DIGITS`. 1399 DtmfDigits *TelephonyDtmfEvents `protobuf:"bytes,5,opt,name=dtmf_digits,json=dtmfDigits,proto3" json:"dtmf_digits,omitempty"` 1400} 1401 1402func (x *StreamingRecognitionResult) Reset() { 1403 *x = StreamingRecognitionResult{} 1404 if protoimpl.UnsafeEnabled { 1405 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[8] 1406 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1407 ms.StoreMessageInfo(mi) 1408 } 1409} 1410 1411func (x *StreamingRecognitionResult) String() string { 1412 return protoimpl.X.MessageStringOf(x) 1413} 1414 1415func (*StreamingRecognitionResult) ProtoMessage() {} 1416 1417func (x *StreamingRecognitionResult) ProtoReflect() protoreflect.Message { 1418 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[8] 1419 if protoimpl.UnsafeEnabled && x != nil { 1420 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1421 if ms.LoadMessageInfo() == nil { 1422 ms.StoreMessageInfo(mi) 1423 } 1424 return ms 1425 } 1426 return mi.MessageOf(x) 1427} 1428 1429// Deprecated: Use StreamingRecognitionResult.ProtoReflect.Descriptor instead. 1430func (*StreamingRecognitionResult) Descriptor() ([]byte, []int) { 1431 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{8} 1432} 1433 1434func (x *StreamingRecognitionResult) GetMessageType() StreamingRecognitionResult_MessageType { 1435 if x != nil { 1436 return x.MessageType 1437 } 1438 return StreamingRecognitionResult_MESSAGE_TYPE_UNSPECIFIED 1439} 1440 1441func (x *StreamingRecognitionResult) GetTranscript() string { 1442 if x != nil { 1443 return x.Transcript 1444 } 1445 return "" 1446} 1447 1448func (x *StreamingRecognitionResult) GetIsFinal() bool { 1449 if x != nil { 1450 return x.IsFinal 1451 } 1452 return false 1453} 1454 1455func (x *StreamingRecognitionResult) GetConfidence() float32 { 1456 if x != nil { 1457 return x.Confidence 1458 } 1459 return 0 1460} 1461 1462func (x *StreamingRecognitionResult) GetStability() float32 { 1463 if x != nil { 1464 return x.Stability 1465 } 1466 return 0 1467} 1468 1469func (x *StreamingRecognitionResult) GetSpeechWordInfo() []*SpeechWordInfo { 1470 if x != nil { 1471 return x.SpeechWordInfo 1472 } 1473 return nil 1474} 1475 1476func (x *StreamingRecognitionResult) GetSpeechEndOffset() *durationpb.Duration { 1477 if x != nil { 1478 return x.SpeechEndOffset 1479 } 1480 return nil 1481} 1482 1483func (x *StreamingRecognitionResult) GetLanguageCode() string { 1484 if x != nil { 1485 return x.LanguageCode 1486 } 1487 return "" 1488} 1489 1490func (x *StreamingRecognitionResult) GetDtmfDigits() *TelephonyDtmfEvents { 1491 if x != nil { 1492 return x.DtmfDigits 1493 } 1494 return nil 1495} 1496 1497// Represents the natural language text to be processed. 1498type TextInput struct { 1499 state protoimpl.MessageState 1500 sizeCache protoimpl.SizeCache 1501 unknownFields protoimpl.UnknownFields 1502 1503 // Required. The UTF-8 encoded natural language text to be processed. 1504 // Text length must not exceed 256 characters. 1505 Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"` 1506 // Required. The language of this conversational query. See [Language 1507 // Support](https://cloud.google.com/dialogflow/docs/reference/language) 1508 // for a list of the currently supported language codes. Note that queries in 1509 // the same session do not necessarily need to specify the same language. 1510 LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 1511} 1512 1513func (x *TextInput) Reset() { 1514 *x = TextInput{} 1515 if protoimpl.UnsafeEnabled { 1516 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[9] 1517 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1518 ms.StoreMessageInfo(mi) 1519 } 1520} 1521 1522func (x *TextInput) String() string { 1523 return protoimpl.X.MessageStringOf(x) 1524} 1525 1526func (*TextInput) ProtoMessage() {} 1527 1528func (x *TextInput) ProtoReflect() protoreflect.Message { 1529 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[9] 1530 if protoimpl.UnsafeEnabled && x != nil { 1531 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1532 if ms.LoadMessageInfo() == nil { 1533 ms.StoreMessageInfo(mi) 1534 } 1535 return ms 1536 } 1537 return mi.MessageOf(x) 1538} 1539 1540// Deprecated: Use TextInput.ProtoReflect.Descriptor instead. 1541func (*TextInput) Descriptor() ([]byte, []int) { 1542 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{9} 1543} 1544 1545func (x *TextInput) GetText() string { 1546 if x != nil { 1547 return x.Text 1548 } 1549 return "" 1550} 1551 1552func (x *TextInput) GetLanguageCode() string { 1553 if x != nil { 1554 return x.LanguageCode 1555 } 1556 return "" 1557} 1558 1559// Events allow for matching intents by event name instead of the natural 1560// language input. For instance, input `<event: { name: "welcome_event", 1561// parameters: { name: "Sam" } }>` can trigger a personalized welcome response. 1562// The parameter `name` may be used by the agent in the response: 1563// `"Hello #welcome_event.name! What can I do for you today?"`. 1564type EventInput struct { 1565 state protoimpl.MessageState 1566 sizeCache protoimpl.SizeCache 1567 unknownFields protoimpl.UnknownFields 1568 1569 // Required. The unique identifier of the event. 1570 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"` 1571 // The collection of parameters associated with the event. 1572 // 1573 // Depending on your protocol or client library language, this is a 1574 // map, associative array, symbol table, dictionary, or JSON object 1575 // composed of a collection of (MapKey, MapValue) pairs: 1576 // 1577 // - MapKey type: string 1578 // - MapKey value: parameter name 1579 // - MapValue type: 1580 // - If parameter's entity type is a composite entity: map 1581 // - Else: depending on parameter value type, could be one of string, 1582 // number, boolean, null, list or map 1583 // - MapValue value: 1584 // - If parameter's entity type is a composite entity: 1585 // map from composite entity property names to property values 1586 // - Else: parameter value 1587 Parameters *structpb.Struct `protobuf:"bytes,2,opt,name=parameters,proto3" json:"parameters,omitempty"` 1588 // Required. The language of this query. See [Language 1589 // Support](https://cloud.google.com/dialogflow/docs/reference/language) 1590 // for a list of the currently supported language codes. Note that queries in 1591 // the same session do not necessarily need to specify the same language. 1592 LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"` 1593} 1594 1595func (x *EventInput) Reset() { 1596 *x = EventInput{} 1597 if protoimpl.UnsafeEnabled { 1598 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[10] 1599 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1600 ms.StoreMessageInfo(mi) 1601 } 1602} 1603 1604func (x *EventInput) String() string { 1605 return protoimpl.X.MessageStringOf(x) 1606} 1607 1608func (*EventInput) ProtoMessage() {} 1609 1610func (x *EventInput) ProtoReflect() protoreflect.Message { 1611 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[10] 1612 if protoimpl.UnsafeEnabled && x != nil { 1613 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1614 if ms.LoadMessageInfo() == nil { 1615 ms.StoreMessageInfo(mi) 1616 } 1617 return ms 1618 } 1619 return mi.MessageOf(x) 1620} 1621 1622// Deprecated: Use EventInput.ProtoReflect.Descriptor instead. 1623func (*EventInput) Descriptor() ([]byte, []int) { 1624 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{10} 1625} 1626 1627func (x *EventInput) GetName() string { 1628 if x != nil { 1629 return x.Name 1630 } 1631 return "" 1632} 1633 1634func (x *EventInput) GetParameters() *structpb.Struct { 1635 if x != nil { 1636 return x.Parameters 1637 } 1638 return nil 1639} 1640 1641func (x *EventInput) GetLanguageCode() string { 1642 if x != nil { 1643 return x.LanguageCode 1644 } 1645 return "" 1646} 1647 1648// Configures the types of sentiment analysis to perform. 1649type SentimentAnalysisRequestConfig struct { 1650 state protoimpl.MessageState 1651 sizeCache protoimpl.SizeCache 1652 unknownFields protoimpl.UnknownFields 1653 1654 // Instructs the service to perform sentiment analysis on 1655 // `query_text`. If not provided, sentiment analysis is not performed on 1656 // `query_text`. 1657 AnalyzeQueryTextSentiment bool `protobuf:"varint,1,opt,name=analyze_query_text_sentiment,json=analyzeQueryTextSentiment,proto3" json:"analyze_query_text_sentiment,omitempty"` 1658} 1659 1660func (x *SentimentAnalysisRequestConfig) Reset() { 1661 *x = SentimentAnalysisRequestConfig{} 1662 if protoimpl.UnsafeEnabled { 1663 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[11] 1664 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1665 ms.StoreMessageInfo(mi) 1666 } 1667} 1668 1669func (x *SentimentAnalysisRequestConfig) String() string { 1670 return protoimpl.X.MessageStringOf(x) 1671} 1672 1673func (*SentimentAnalysisRequestConfig) ProtoMessage() {} 1674 1675func (x *SentimentAnalysisRequestConfig) ProtoReflect() protoreflect.Message { 1676 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[11] 1677 if protoimpl.UnsafeEnabled && x != nil { 1678 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1679 if ms.LoadMessageInfo() == nil { 1680 ms.StoreMessageInfo(mi) 1681 } 1682 return ms 1683 } 1684 return mi.MessageOf(x) 1685} 1686 1687// Deprecated: Use SentimentAnalysisRequestConfig.ProtoReflect.Descriptor instead. 1688func (*SentimentAnalysisRequestConfig) Descriptor() ([]byte, []int) { 1689 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{11} 1690} 1691 1692func (x *SentimentAnalysisRequestConfig) GetAnalyzeQueryTextSentiment() bool { 1693 if x != nil { 1694 return x.AnalyzeQueryTextSentiment 1695 } 1696 return false 1697} 1698 1699// The result of sentiment analysis. Sentiment analysis inspects user input 1700// and identifies the prevailing subjective opinion, especially to determine a 1701// user's attitude as positive, negative, or neutral. 1702// For [Participants.DetectIntent][], it needs to be configured in 1703// [DetectIntentRequest.query_params][google.cloud.dialogflow.v2beta1.DetectIntentRequest.query_params]. For 1704// [Participants.StreamingDetectIntent][], it needs to be configured in 1705// [StreamingDetectIntentRequest.query_params][google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_params]. 1706// And for [Participants.AnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.AnalyzeContent] and 1707// [Participants.StreamingAnalyzeContent][google.cloud.dialogflow.v2beta1.Participants.StreamingAnalyzeContent], it needs to be configured in 1708// [ConversationProfile.human_agent_assistant_config][google.cloud.dialogflow.v2beta1.ConversationProfile.human_agent_assistant_config] 1709type SentimentAnalysisResult struct { 1710 state protoimpl.MessageState 1711 sizeCache protoimpl.SizeCache 1712 unknownFields protoimpl.UnknownFields 1713 1714 // The sentiment analysis result for `query_text`. 1715 QueryTextSentiment *Sentiment `protobuf:"bytes,1,opt,name=query_text_sentiment,json=queryTextSentiment,proto3" json:"query_text_sentiment,omitempty"` 1716} 1717 1718func (x *SentimentAnalysisResult) Reset() { 1719 *x = SentimentAnalysisResult{} 1720 if protoimpl.UnsafeEnabled { 1721 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[12] 1722 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1723 ms.StoreMessageInfo(mi) 1724 } 1725} 1726 1727func (x *SentimentAnalysisResult) String() string { 1728 return protoimpl.X.MessageStringOf(x) 1729} 1730 1731func (*SentimentAnalysisResult) ProtoMessage() {} 1732 1733func (x *SentimentAnalysisResult) ProtoReflect() protoreflect.Message { 1734 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[12] 1735 if protoimpl.UnsafeEnabled && x != nil { 1736 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1737 if ms.LoadMessageInfo() == nil { 1738 ms.StoreMessageInfo(mi) 1739 } 1740 return ms 1741 } 1742 return mi.MessageOf(x) 1743} 1744 1745// Deprecated: Use SentimentAnalysisResult.ProtoReflect.Descriptor instead. 1746func (*SentimentAnalysisResult) Descriptor() ([]byte, []int) { 1747 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{12} 1748} 1749 1750func (x *SentimentAnalysisResult) GetQueryTextSentiment() *Sentiment { 1751 if x != nil { 1752 return x.QueryTextSentiment 1753 } 1754 return nil 1755} 1756 1757// The sentiment, such as positive/negative feeling or association, for a unit 1758// of analysis, such as the query text. 1759type Sentiment struct { 1760 state protoimpl.MessageState 1761 sizeCache protoimpl.SizeCache 1762 unknownFields protoimpl.UnknownFields 1763 1764 // Sentiment score between -1.0 (negative sentiment) and 1.0 (positive 1765 // sentiment). 1766 Score float32 `protobuf:"fixed32,1,opt,name=score,proto3" json:"score,omitempty"` 1767 // A non-negative number in the [0, +inf) range, which represents the absolute 1768 // magnitude of sentiment, regardless of score (positive or negative). 1769 Magnitude float32 `protobuf:"fixed32,2,opt,name=magnitude,proto3" json:"magnitude,omitempty"` 1770} 1771 1772func (x *Sentiment) Reset() { 1773 *x = Sentiment{} 1774 if protoimpl.UnsafeEnabled { 1775 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[13] 1776 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1777 ms.StoreMessageInfo(mi) 1778 } 1779} 1780 1781func (x *Sentiment) String() string { 1782 return protoimpl.X.MessageStringOf(x) 1783} 1784 1785func (*Sentiment) ProtoMessage() {} 1786 1787func (x *Sentiment) ProtoReflect() protoreflect.Message { 1788 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[13] 1789 if protoimpl.UnsafeEnabled && x != nil { 1790 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1791 if ms.LoadMessageInfo() == nil { 1792 ms.StoreMessageInfo(mi) 1793 } 1794 return ms 1795 } 1796 return mi.MessageOf(x) 1797} 1798 1799// Deprecated: Use Sentiment.ProtoReflect.Descriptor instead. 1800func (*Sentiment) Descriptor() ([]byte, []int) { 1801 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{13} 1802} 1803 1804func (x *Sentiment) GetScore() float32 { 1805 if x != nil { 1806 return x.Score 1807 } 1808 return 0 1809} 1810 1811func (x *Sentiment) GetMagnitude() float32 { 1812 if x != nil { 1813 return x.Magnitude 1814 } 1815 return 0 1816} 1817 1818// An answer from Knowledge Connector. 1819type KnowledgeAnswers_Answer struct { 1820 state protoimpl.MessageState 1821 sizeCache protoimpl.SizeCache 1822 unknownFields protoimpl.UnknownFields 1823 1824 // Indicates which Knowledge Document this answer was extracted from. 1825 // Format: `projects/<Project ID>/knowledgeBases/<Knowledge Base 1826 // ID>/documents/<Document ID>`. 1827 Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"` 1828 // The corresponding FAQ question if the answer was extracted from a FAQ 1829 // Document, empty otherwise. 1830 FaqQuestion string `protobuf:"bytes,2,opt,name=faq_question,json=faqQuestion,proto3" json:"faq_question,omitempty"` 1831 // The piece of text from the `source` knowledge base document that answers 1832 // this conversational query. 1833 Answer string `protobuf:"bytes,3,opt,name=answer,proto3" json:"answer,omitempty"` 1834 // The system's confidence level that this knowledge answer is a good match 1835 // for this conversational query. 1836 // NOTE: The confidence level for a given `<query, answer>` pair may change 1837 // without notice, as it depends on models that are constantly being 1838 // improved. However, it will change less frequently than the confidence 1839 // score below, and should be preferred for referencing the quality of an 1840 // answer. 1841 MatchConfidenceLevel KnowledgeAnswers_Answer_MatchConfidenceLevel `protobuf:"varint,4,opt,name=match_confidence_level,json=matchConfidenceLevel,proto3,enum=google.cloud.dialogflow.v2beta1.KnowledgeAnswers_Answer_MatchConfidenceLevel" json:"match_confidence_level,omitempty"` 1842 // The system's confidence score that this Knowledge answer is a good match 1843 // for this conversational query. 1844 // The range is from 0.0 (completely uncertain) to 1.0 (completely certain). 1845 // Note: The confidence score is likely to vary somewhat (possibly even for 1846 // identical requests), as the underlying model is under constant 1847 // improvement. It may be deprecated in the future. We recommend using 1848 // `match_confidence_level` which should be generally more stable. 1849 MatchConfidence float32 `protobuf:"fixed32,5,opt,name=match_confidence,json=matchConfidence,proto3" json:"match_confidence,omitempty"` 1850} 1851 1852func (x *KnowledgeAnswers_Answer) Reset() { 1853 *x = KnowledgeAnswers_Answer{} 1854 if protoimpl.UnsafeEnabled { 1855 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[15] 1856 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1857 ms.StoreMessageInfo(mi) 1858 } 1859} 1860 1861func (x *KnowledgeAnswers_Answer) String() string { 1862 return protoimpl.X.MessageStringOf(x) 1863} 1864 1865func (*KnowledgeAnswers_Answer) ProtoMessage() {} 1866 1867func (x *KnowledgeAnswers_Answer) ProtoReflect() protoreflect.Message { 1868 mi := &file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[15] 1869 if protoimpl.UnsafeEnabled && x != nil { 1870 ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) 1871 if ms.LoadMessageInfo() == nil { 1872 ms.StoreMessageInfo(mi) 1873 } 1874 return ms 1875 } 1876 return mi.MessageOf(x) 1877} 1878 1879// Deprecated: Use KnowledgeAnswers_Answer.ProtoReflect.Descriptor instead. 1880func (*KnowledgeAnswers_Answer) Descriptor() ([]byte, []int) { 1881 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP(), []int{5, 0} 1882} 1883 1884func (x *KnowledgeAnswers_Answer) GetSource() string { 1885 if x != nil { 1886 return x.Source 1887 } 1888 return "" 1889} 1890 1891func (x *KnowledgeAnswers_Answer) GetFaqQuestion() string { 1892 if x != nil { 1893 return x.FaqQuestion 1894 } 1895 return "" 1896} 1897 1898func (x *KnowledgeAnswers_Answer) GetAnswer() string { 1899 if x != nil { 1900 return x.Answer 1901 } 1902 return "" 1903} 1904 1905func (x *KnowledgeAnswers_Answer) GetMatchConfidenceLevel() KnowledgeAnswers_Answer_MatchConfidenceLevel { 1906 if x != nil { 1907 return x.MatchConfidenceLevel 1908 } 1909 return KnowledgeAnswers_Answer_MATCH_CONFIDENCE_LEVEL_UNSPECIFIED 1910} 1911 1912func (x *KnowledgeAnswers_Answer) GetMatchConfidence() float32 { 1913 if x != nil { 1914 return x.MatchConfidence 1915 } 1916 return 0 1917} 1918 1919var File_google_cloud_dialogflow_v2beta1_session_proto protoreflect.FileDescriptor 1920 1921var file_google_cloud_dialogflow_v2beta1_session_proto_rawDesc = []byte{ 1922 0x0a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 1923 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 1924 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 1925 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 1926 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 1927 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 1928 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 1929 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 1930 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1931 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 1932 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x19, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 1933 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x70, 0x72, 1934 0x6f, 0x74, 0x6f, 0x1a, 0x2b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 1935 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 1936 0x65, 0x74, 0x61, 0x31, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1937 0x1a, 0x32, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 1938 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 1939 0x31, 0x2f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x70, 1940 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2d, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 1941 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 1942 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x2e, 0x70, 0x72, 1943 0x6f, 0x74, 0x6f, 0x1a, 0x29, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 1944 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 1945 0x65, 0x74, 0x61, 0x31, 0x2f, 0x67, 0x63, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2c, 1946 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 1947 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 1948 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x39, 0x67, 0x6f, 1949 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 0x61, 0x6c, 0x6f, 1950 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x73, 0x65, 1951 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 1952 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1953 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 1954 0x6e, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1955 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x6d, 1956 0x61, 0x73, 0x6b, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 1957 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 1958 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 1959 0x72, 0x70, 0x63, 0x2f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 1960 0x1a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79, 0x70, 0x65, 0x2f, 0x6c, 0x61, 1961 0x74, 0x6c, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdc, 0x03, 0x0a, 0x13, 0x44, 1962 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 1963 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 1964 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 1965 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 1966 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 1967 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x53, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 1968 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 1969 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 1970 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 1971 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 1972 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x51, 0x0a, 0x0b, 1973 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 1974 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 1975 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 1976 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 1977 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 1978 0x62, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 1979 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 1980 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 1981 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 1982 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 1983 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 1984 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x18, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 1985 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 1986 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 1987 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 1988 0x6b, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 1989 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 1990 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x69, 1991 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x22, 0xb4, 0x03, 0x0a, 0x14, 0x44, 0x65, 1992 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 1993 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x69, 1994 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 1995 0x65, 0x49, 0x64, 0x12, 0x4f, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 1996 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 1997 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 1998 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 1999 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 2000 0x73, 0x75, 0x6c, 0x74, 0x12, 0x68, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 2001 0x69, 0x76, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 2002 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2003 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 2004 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 2005 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 2006 0x76, 0x65, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x39, 2007 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 2008 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2009 0x72, 0x70, 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x68, 2010 0x6f, 0x6f, 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 2011 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 2012 0x0b, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x62, 0x0a, 0x13, 2013 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 2014 0x66, 0x69, 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2015 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 2016 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 2017 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 2018 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 2019 0x22, 0xa7, 0x06, 0x0a, 0x0f, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 2020 0x74, 0x65, 0x72, 0x73, 0x12, 0x1b, 0x0a, 0x09, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x7a, 0x6f, 0x6e, 2021 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x74, 0x69, 0x6d, 0x65, 0x5a, 0x6f, 0x6e, 2022 0x65, 0x12, 0x36, 0x0a, 0x0c, 0x67, 0x65, 0x6f, 0x5f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 2023 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2024 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x4c, 0x61, 0x74, 0x4c, 0x6e, 0x67, 0x52, 0x0b, 0x67, 0x65, 2025 0x6f, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x44, 0x0a, 0x08, 0x63, 0x6f, 0x6e, 2026 0x74, 0x65, 0x78, 0x74, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 2027 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 2028 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 2029 0x6e, 0x74, 0x65, 0x78, 0x74, 0x52, 0x08, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 2030 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x73, 0x65, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 0x74, 2031 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x73, 0x65, 0x74, 0x43, 0x6f, 2032 0x6e, 0x74, 0x65, 0x78, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x14, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 2033 0x6e, 0x5f, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x73, 0x18, 0x05, 2034 0x20, 0x03, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 2035 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 2036 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x45, 0x6e, 2037 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x52, 0x12, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 2038 0x6e, 0x45, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x07, 2039 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 2040 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 2041 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x07, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 2042 0x30, 0x0a, 0x14, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x62, 0x61, 0x73, 2043 0x65, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x6b, 2044 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x42, 0x61, 0x73, 0x65, 0x4e, 0x61, 0x6d, 0x65, 2045 0x73, 0x12, 0x8a, 0x01, 0x0a, 0x21, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 2046 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 2047 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 2048 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 2049 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 2050 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 2051 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x1e, 2052 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 2053 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x48, 2054 0x0a, 0x0a, 0x73, 0x75, 0x62, 0x5f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x0d, 0x20, 0x03, 2055 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2056 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 2057 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x75, 0x62, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x09, 0x73, 2058 0x75, 0x62, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x6d, 0x0a, 0x0f, 0x77, 0x65, 0x62, 0x68, 2059 0x6f, 0x6f, 0x6b, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x18, 0x0e, 0x20, 0x03, 0x28, 2060 0x0b, 0x32, 0x44, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2061 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 2062 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 2063 0x65, 0x72, 0x73, 0x2e, 0x57, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 2064 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 2065 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x1a, 0x41, 0x0a, 0x13, 0x57, 0x65, 0x62, 0x68, 0x6f, 2066 0x6f, 0x6b, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 2067 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 2068 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 2069 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xc0, 0x02, 0x0a, 0x0a, 0x51, 2070 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x56, 0x0a, 0x0c, 0x61, 0x75, 0x64, 2071 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 2072 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 2073 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 2074 0x31, 0x2e, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 2075 0x69, 0x67, 0x48, 0x00, 0x52, 0x0b, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 2076 0x67, 0x12, 0x40, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 2077 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 2078 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 2079 0x31, 0x2e, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 0x00, 0x52, 0x04, 0x74, 2080 0x65, 0x78, 0x74, 0x12, 0x43, 0x0a, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x18, 0x03, 0x20, 0x01, 2081 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2082 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 2083 0x65, 0x74, 0x61, 0x31, 0x2e, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x48, 2084 0x00, 0x52, 0x05, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x12, 0x4a, 0x0a, 0x04, 0x64, 0x74, 0x6d, 0x66, 2085 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2086 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 2087 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 2088 0x6e, 0x79, 0x44, 0x74, 0x6d, 0x66, 0x45, 0x76, 0x65, 0x6e, 0x74, 0x73, 0x48, 0x00, 0x52, 0x04, 2089 0x64, 0x74, 0x6d, 0x66, 0x42, 0x07, 0x0a, 0x05, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x22, 0xbb, 0x08, 2090 0x0a, 0x0b, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x1d, 0x0a, 2091 0x0a, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 2092 0x09, 0x52, 0x09, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x12, 0x23, 0x0a, 0x0d, 2093 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0f, 0x20, 2094 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 2095 0x65, 0x12, 0x42, 0x0a, 0x1d, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x72, 0x65, 0x63, 0x6f, 2096 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 2097 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x1b, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 2098 0x52, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 2099 0x64, 0x65, 0x6e, 0x63, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 2100 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x37, 0x0a, 2101 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 2102 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2103 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 2104 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x61, 0x6c, 0x6c, 0x5f, 0x72, 0x65, 2105 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x5f, 0x70, 0x72, 2106 0x65, 0x73, 0x65, 0x6e, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18, 0x61, 0x6c, 0x6c, 2107 0x52, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x50, 0x72, 2108 0x65, 0x73, 0x65, 0x6e, 0x74, 0x12, 0x30, 0x0a, 0x14, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x73, 2109 0x5f, 0x73, 0x6c, 0x6f, 0x74, 0x5f, 0x66, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x15, 0x20, 2110 0x01, 0x28, 0x08, 0x52, 0x12, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x73, 0x53, 0x6c, 0x6f, 0x74, 2111 0x46, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x29, 0x0a, 0x10, 0x66, 0x75, 0x6c, 0x66, 0x69, 2112 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 2113 0x09, 0x52, 0x0f, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x54, 0x65, 2114 0x78, 0x74, 0x12, 0x62, 0x0a, 0x14, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 2115 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 2116 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 2117 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 2118 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 2119 0x65, 0x52, 0x13, 0x66, 0x75, 0x6c, 0x66, 0x69, 0x6c, 0x6c, 0x6d, 0x65, 0x6e, 0x74, 0x4d, 0x65, 2120 0x73, 0x73, 0x61, 0x67, 0x65, 0x73, 0x12, 0x25, 0x0a, 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 2121 0x6b, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 2122 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x40, 0x0a, 2123 0x0f, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 2124 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2125 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 2126 0x0e, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x50, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x12, 2127 0x51, 0x0a, 0x0f, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x78, 2128 0x74, 0x73, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2129 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 2130 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x65, 2131 0x78, 0x74, 0x52, 0x0e, 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x78, 2132 0x74, 0x73, 0x12, 0x3f, 0x0a, 0x06, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x0b, 0x20, 0x01, 2133 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 2134 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 2135 0x65, 0x74, 0x61, 0x31, 0x2e, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x69, 0x6e, 0x74, 2136 0x65, 0x6e, 0x74, 0x12, 0x3e, 0x0a, 0x1b, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x65, 2137 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 2138 0x63, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x02, 0x52, 0x19, 0x69, 0x6e, 0x74, 0x65, 0x6e, 0x74, 2139 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 2140 0x6e, 0x63, 0x65, 0x12, 0x40, 0x0a, 0x0f, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 2141 0x63, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 2142 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 2143 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x64, 0x69, 0x61, 0x67, 0x6e, 0x6f, 0x73, 0x74, 0x69, 2144 0x63, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x74, 0x0a, 0x19, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 2145 0x6e, 0x74, 0x5f, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x5f, 0x72, 0x65, 0x73, 0x75, 2146 0x6c, 0x74, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2147 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 2148 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 2149 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 2150 0x6c, 0x74, 0x52, 0x17, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 2151 0x6c, 0x79, 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5e, 0x0a, 0x11, 0x6b, 2152 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x5f, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 2153 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x31, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2154 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 2155 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 2156 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x52, 0x10, 0x6b, 0x6e, 0x6f, 0x77, 0x6c, 2157 0x65, 0x64, 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x22, 0xfd, 0x03, 0x0a, 0x10, 2158 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 2159 0x12, 0x52, 0x0a, 0x07, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 2160 0x0b, 0x32, 0x38, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2161 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 2162 0x74, 0x61, 0x31, 0x2e, 0x4b, 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6e, 0x73, 2163 0x77, 0x65, 0x72, 0x73, 0x2e, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x52, 0x07, 0x61, 0x6e, 0x73, 2164 0x77, 0x65, 0x72, 0x73, 0x1a, 0x94, 0x03, 0x0a, 0x06, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 2165 0x3f, 0x0a, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 2166 0x27, 0xfa, 0x41, 0x24, 0x0a, 0x22, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 2167 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 2168 0x44, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x52, 0x06, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 2169 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x61, 0x71, 0x5f, 0x71, 0x75, 0x65, 0x73, 0x74, 0x69, 0x6f, 0x6e, 2170 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x66, 0x61, 0x71, 0x51, 0x75, 0x65, 0x73, 0x74, 2171 0x69, 0x6f, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x18, 0x03, 0x20, 2172 0x01, 0x28, 0x09, 0x52, 0x06, 0x61, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x12, 0x83, 0x01, 0x0a, 0x16, 2173 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 2174 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x4d, 0x2e, 0x67, 2175 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 2176 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4b, 2177 0x6e, 0x6f, 0x77, 0x6c, 0x65, 0x64, 0x67, 0x65, 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x73, 0x2e, 2178 0x41, 0x6e, 0x73, 0x77, 0x65, 0x72, 0x2e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 2179 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x52, 0x14, 0x6d, 0x61, 0x74, 2180 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4c, 0x65, 0x76, 0x65, 2181 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 2182 0x64, 0x65, 0x6e, 0x63, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0f, 0x6d, 0x61, 0x74, 2183 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x22, 0x5d, 0x0a, 0x14, 2184 0x4d, 0x61, 0x74, 0x63, 0x68, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 0x63, 0x65, 0x4c, 2185 0x65, 0x76, 0x65, 0x6c, 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x41, 0x54, 0x43, 0x48, 0x5f, 0x43, 0x4f, 2186 0x4e, 0x46, 0x49, 0x44, 0x45, 0x4e, 0x43, 0x45, 0x5f, 0x4c, 0x45, 0x56, 0x45, 0x4c, 0x5f, 0x55, 2187 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x07, 0x0a, 0x03, 2188 0x4c, 0x4f, 0x57, 0x10, 0x01, 0x12, 0x0a, 0x0a, 0x06, 0x4d, 0x45, 0x44, 0x49, 0x55, 0x4d, 0x10, 2189 0x02, 0x12, 0x08, 0x0a, 0x04, 0x48, 0x49, 0x47, 0x48, 0x10, 0x03, 0x22, 0x94, 0x04, 0x0a, 0x1c, 2190 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 2191 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x43, 0x0a, 0x07, 2192 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x29, 0xe0, 2193 0x41, 0x02, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 2194 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 2195 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x07, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 2196 0x6e, 0x12, 0x53, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 2197 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2198 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 2199 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x50, 2200 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 2201 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x51, 0x0a, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 2202 0x69, 0x6e, 0x70, 0x75, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2b, 0x2e, 0x67, 0x6f, 2203 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 2204 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 2205 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0a, 0x71, 2206 0x75, 0x65, 0x72, 0x79, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x2d, 0x0a, 0x10, 0x73, 0x69, 0x6e, 2207 0x67, 0x6c, 0x65, 0x5f, 0x75, 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x18, 0x04, 0x20, 2208 0x01, 0x28, 0x08, 0x42, 0x02, 0x18, 0x01, 0x52, 0x0f, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x55, 2209 0x74, 0x74, 0x65, 0x72, 0x61, 0x6e, 0x63, 0x65, 0x12, 0x62, 0x0a, 0x13, 0x6f, 0x75, 0x74, 0x70, 2210 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 2211 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2212 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 2213 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 2214 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 0x70, 0x75, 2215 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x53, 0x0a, 0x18, 2216 0x6f, 0x75, 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 2217 0x66, 0x69, 0x67, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 2218 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 2219 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x15, 0x6f, 0x75, 0x74, 0x70, 2220 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x4d, 0x61, 0x73, 2221 0x6b, 0x12, 0x1f, 0x0a, 0x0b, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 2222 0x18, 0x06, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0a, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 2223 0x69, 0x6f, 0x22, 0xa9, 0x04, 0x0a, 0x1d, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 2224 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 2225 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 2226 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x72, 0x65, 0x73, 0x70, 0x6f, 2227 0x6e, 0x73, 0x65, 0x49, 0x64, 0x12, 0x6a, 0x0a, 0x12, 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 2228 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 2229 0x0b, 0x32, 0x3b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 2230 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 2231 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 2232 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x11, 2233 0x72, 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 2234 0x74, 0x12, 0x4f, 0x0a, 0x0c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 2235 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2236 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 2237 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 2238 0x65, 0x73, 0x75, 0x6c, 0x74, 0x52, 0x0b, 0x71, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 2239 0x6c, 0x74, 0x12, 0x68, 0x0a, 0x19, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 2240 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x18, 2241 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 2242 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 2243 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 2244 0x75, 0x6c, 0x74, 0x52, 0x17, 0x61, 0x6c, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x69, 0x76, 0x65, 2245 0x51, 0x75, 0x65, 0x72, 0x79, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x12, 0x39, 0x0a, 0x0e, 2246 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 0x6b, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x04, 2247 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x72, 0x70, 2248 0x63, 0x2e, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x0d, 0x77, 0x65, 0x62, 0x68, 0x6f, 0x6f, 2249 0x6b, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x6f, 0x75, 0x74, 0x70, 0x75, 2250 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0b, 0x6f, 2251 0x75, 0x74, 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x12, 0x62, 0x0a, 0x13, 0x6f, 0x75, 2252 0x74, 0x70, 0x75, 0x74, 0x5f, 0x61, 0x75, 0x64, 0x69, 0x6f, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 2253 0x67, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2254 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 2255 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x4f, 0x75, 0x74, 0x70, 0x75, 0x74, 2256 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52, 0x11, 0x6f, 0x75, 0x74, 2257 0x70, 0x75, 0x74, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x22, 0xa4, 2258 0x05, 0x0a, 0x1a, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x63, 0x6f, 2259 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x6a, 0x0a, 2260 0x0c, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 2261 0x01, 0x28, 0x0e, 0x32, 0x47, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 2262 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 2263 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x52, 2264 0x65, 0x63, 0x6f, 0x67, 0x6e, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 2265 0x2e, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x0b, 0x6d, 0x65, 2266 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x74, 0x72, 0x61, 2267 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0a, 0x74, 2268 0x72, 0x61, 0x6e, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 2269 0x66, 0x69, 0x6e, 0x61, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x46, 2270 0x69, 0x6e, 0x61, 0x6c, 0x12, 0x1e, 0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 0x65, 0x6e, 2271 0x63, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x02, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x64, 2272 0x65, 0x6e, 0x63, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 2273 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x73, 0x74, 0x61, 0x62, 0x69, 0x6c, 0x69, 2274 0x74, 0x79, 0x12, 0x59, 0x0a, 0x10, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x77, 0x6f, 0x72, 2275 0x64, 0x5f, 0x69, 0x6e, 0x66, 0x6f, 0x18, 0x07, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 2276 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 2277 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 2278 0x70, 0x65, 0x65, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x0e, 0x73, 2279 0x70, 0x65, 0x65, 0x63, 0x68, 0x57, 0x6f, 0x72, 0x64, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x45, 0x0a, 2280 0x11, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x5f, 0x65, 0x6e, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 2281 0x65, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2282 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x44, 0x75, 0x72, 0x61, 0x74, 2283 0x69, 0x6f, 0x6e, 0x52, 0x0f, 0x73, 0x70, 0x65, 0x65, 0x63, 0x68, 0x45, 0x6e, 0x64, 0x4f, 0x66, 2284 0x66, 0x73, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 2285 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 0x61, 0x6e, 2286 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x55, 0x0a, 0x0b, 0x64, 0x74, 0x6d, 2287 0x66, 0x5f, 0x64, 0x69, 0x67, 0x69, 0x74, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x34, 2288 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 2289 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 2290 0x2e, 0x54, 0x65, 0x6c, 0x65, 0x70, 0x68, 0x6f, 0x6e, 0x79, 0x44, 0x74, 0x6d, 0x66, 0x45, 0x76, 2291 0x65, 0x6e, 0x74, 0x73, 0x52, 0x0a, 0x64, 0x74, 0x6d, 0x66, 0x44, 0x69, 0x67, 0x69, 0x74, 0x73, 2292 0x22, 0x82, 0x01, 0x0a, 0x0b, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x54, 0x79, 0x70, 0x65, 2293 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x45, 0x53, 0x53, 0x41, 0x47, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 2294 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0e, 2295 0x0a, 0x0a, 0x54, 0x52, 0x41, 0x4e, 0x53, 0x43, 0x52, 0x49, 0x50, 0x54, 0x10, 0x01, 0x12, 0x0f, 2296 0x0a, 0x0b, 0x44, 0x54, 0x4d, 0x46, 0x5f, 0x44, 0x49, 0x47, 0x49, 0x54, 0x53, 0x10, 0x03, 0x12, 2297 0x1b, 0x0a, 0x17, 0x45, 0x4e, 0x44, 0x5f, 0x4f, 0x46, 0x5f, 0x53, 0x49, 0x4e, 0x47, 0x4c, 0x45, 2298 0x5f, 0x55, 0x54, 0x54, 0x45, 0x52, 0x41, 0x4e, 0x43, 0x45, 0x10, 0x02, 0x12, 0x17, 0x0a, 0x13, 2299 0x50, 0x41, 0x52, 0x54, 0x49, 0x41, 0x4c, 0x5f, 0x44, 0x54, 0x4d, 0x46, 0x5f, 0x44, 0x49, 0x47, 2300 0x49, 0x54, 0x53, 0x10, 0x04, 0x22, 0x44, 0x0a, 0x09, 0x54, 0x65, 0x78, 0x74, 0x49, 0x6e, 0x70, 2301 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x78, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 2302 0x52, 0x04, 0x74, 0x65, 0x78, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 2303 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 2304 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x7e, 0x0a, 0x0a, 0x45, 2305 0x76, 0x65, 0x6e, 0x74, 0x49, 0x6e, 0x70, 0x75, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 2306 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x37, 0x0a, 2307 0x0a, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 2308 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 2309 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0a, 0x70, 0x61, 0x72, 0x61, 2310 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x12, 0x23, 0x0a, 0x0d, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 2311 0x67, 0x65, 0x5f, 0x63, 0x6f, 0x64, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6c, 2312 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x61, 0x0a, 0x1e, 0x53, 2313 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 0x73, 0x69, 0x73, 2314 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x3f, 0x0a, 2315 0x1c, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x5f, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x74, 2316 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 2317 0x01, 0x28, 0x08, 0x52, 0x19, 0x61, 0x6e, 0x61, 0x6c, 0x79, 0x7a, 0x65, 0x51, 0x75, 0x65, 0x72, 2318 0x79, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x77, 2319 0x0a, 0x17, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x41, 0x6e, 0x61, 0x6c, 0x79, 2320 0x73, 0x69, 0x73, 0x52, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x12, 0x5c, 0x0a, 0x14, 0x71, 0x75, 0x65, 2321 0x72, 0x79, 0x5f, 0x74, 0x65, 0x78, 0x74, 0x5f, 0x73, 0x65, 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 2322 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2323 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 2324 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x74, 0x69, 0x6d, 2325 0x65, 0x6e, 0x74, 0x52, 0x12, 0x71, 0x75, 0x65, 0x72, 0x79, 0x54, 0x65, 0x78, 0x74, 0x53, 0x65, 2326 0x6e, 0x74, 0x69, 0x6d, 0x65, 0x6e, 0x74, 0x22, 0x3f, 0x0a, 0x09, 0x53, 0x65, 0x6e, 0x74, 0x69, 2327 0x6d, 0x65, 0x6e, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x18, 0x01, 0x20, 2328 0x01, 0x28, 0x02, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x09, 0x6d, 0x61, 2329 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x02, 0x52, 0x09, 0x6d, 2330 0x61, 0x67, 0x6e, 0x69, 0x74, 0x75, 0x64, 0x65, 0x32, 0x8d, 0x06, 0x0a, 0x08, 0x53, 0x65, 0x73, 2331 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0xe7, 0x03, 0x0a, 0x0c, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 2332 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 2333 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 2334 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 2335 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x35, 0x2e, 0x67, 2336 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 2337 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x44, 2338 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 2339 0x6e, 0x73, 0x65, 0x22, 0xe9, 0x02, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0xcc, 0x02, 0x22, 0x3b, 0x2f, 2340 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 2341 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 2342 0x74, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 2343 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x57, 0x22, 2344 0x52, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 2345 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x61, 0x67, 2346 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 2347 0x2f, 0x2a, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 2348 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 2349 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x4c, 0x22, 0x47, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 2350 0x61, 0x31, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 2351 0x65, 0x63, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 2352 0x2f, 0x2a, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 2353 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 2354 0x74, 0x3a, 0x01, 0x2a, 0x5a, 0x63, 0x22, 0x5e, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 2355 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x3d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 2356 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 2357 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 2358 0x6e, 0x74, 0x73, 0x2f, 0x2a, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x2a, 0x2f, 0x73, 0x65, 2359 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x2a, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x65, 0x63, 0x74, 2360 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x3a, 0x01, 0x2a, 0xda, 0x41, 0x13, 0x73, 0x65, 0x73, 0x73, 2361 0x69, 0x6f, 0x6e, 0x2c, 0x71, 0x75, 0x65, 0x72, 0x79, 0x5f, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x12, 2362 0x9c, 0x01, 0x0a, 0x15, 0x53, 0x74, 0x72, 0x65, 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 2363 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x3d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 2364 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 2365 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 2366 0x61, 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 2367 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x3e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2368 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 2369 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 0x2e, 0x53, 0x74, 0x72, 0x65, 0x61, 2370 0x6d, 0x69, 0x6e, 0x67, 0x44, 0x65, 0x74, 0x65, 0x63, 0x74, 0x49, 0x6e, 0x74, 0x65, 0x6e, 0x74, 2371 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x30, 0x01, 0x1a, 0x78, 2372 0xca, 0x41, 0x19, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 2373 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x59, 0x68, 2374 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 2375 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 2376 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 2377 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 2378 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x69, 2379 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x42, 0xff, 0x03, 0x0a, 0x23, 0x63, 0x6f, 0x6d, 2380 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2e, 0x64, 0x69, 2381 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 2382 0x42, 0x0c, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 2383 0x5a, 0x49, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 2384 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 2385 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2f, 0x64, 0x69, 2386 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2f, 0x76, 0x32, 0x62, 0x65, 0x74, 0x61, 0x31, 2387 0x3b, 0x64, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0xf8, 0x01, 0x01, 0xa2, 0x02, 2388 0x02, 0x44, 0x46, 0xaa, 0x02, 0x1f, 0x47, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x43, 0x6c, 0x6f, 2389 0x75, 0x64, 0x2e, 0x44, 0x69, 0x61, 0x6c, 0x6f, 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x56, 0x32, 2390 0x62, 0x65, 0x74, 0x61, 0x31, 0xea, 0x41, 0xd1, 0x02, 0x0a, 0x21, 0x64, 0x69, 0x61, 0x6c, 0x6f, 2391 0x67, 0x66, 0x6c, 0x6f, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 2392 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x70, 0x72, 2393 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 2394 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 2395 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 2396 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x61, 0x67, 2397 0x65, 0x6e, 0x74, 0x2f, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 2398 0x2f, 0x7b, 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x75, 2399 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 2400 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x12, 0x40, 2401 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 2402 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 2403 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 0x73, 0x65, 2404 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 2405 0x12, 0x68, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 2406 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 2407 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x2f, 2408 0x65, 0x6e, 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x65, 0x6e, 2409 0x76, 0x69, 0x72, 0x6f, 0x6e, 0x6d, 0x65, 0x6e, 0x74, 0x7d, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 2410 0x2f, 0x7b, 0x75, 0x73, 0x65, 0x72, 0x7d, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 2411 0x2f, 0x7b, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 2412 0x6f, 0x33, 2413} 2414 2415var ( 2416 file_google_cloud_dialogflow_v2beta1_session_proto_rawDescOnce sync.Once 2417 file_google_cloud_dialogflow_v2beta1_session_proto_rawDescData = file_google_cloud_dialogflow_v2beta1_session_proto_rawDesc 2418) 2419 2420func file_google_cloud_dialogflow_v2beta1_session_proto_rawDescGZIP() []byte { 2421 file_google_cloud_dialogflow_v2beta1_session_proto_rawDescOnce.Do(func() { 2422 file_google_cloud_dialogflow_v2beta1_session_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_cloud_dialogflow_v2beta1_session_proto_rawDescData) 2423 }) 2424 return file_google_cloud_dialogflow_v2beta1_session_proto_rawDescData 2425} 2426 2427var file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes = make([]protoimpl.EnumInfo, 2) 2428var file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes = make([]protoimpl.MessageInfo, 16) 2429var file_google_cloud_dialogflow_v2beta1_session_proto_goTypes = []interface{}{ 2430 (KnowledgeAnswers_Answer_MatchConfidenceLevel)(0), // 0: google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer.MatchConfidenceLevel 2431 (StreamingRecognitionResult_MessageType)(0), // 1: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.MessageType 2432 (*DetectIntentRequest)(nil), // 2: google.cloud.dialogflow.v2beta1.DetectIntentRequest 2433 (*DetectIntentResponse)(nil), // 3: google.cloud.dialogflow.v2beta1.DetectIntentResponse 2434 (*QueryParameters)(nil), // 4: google.cloud.dialogflow.v2beta1.QueryParameters 2435 (*QueryInput)(nil), // 5: google.cloud.dialogflow.v2beta1.QueryInput 2436 (*QueryResult)(nil), // 6: google.cloud.dialogflow.v2beta1.QueryResult 2437 (*KnowledgeAnswers)(nil), // 7: google.cloud.dialogflow.v2beta1.KnowledgeAnswers 2438 (*StreamingDetectIntentRequest)(nil), // 8: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest 2439 (*StreamingDetectIntentResponse)(nil), // 9: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse 2440 (*StreamingRecognitionResult)(nil), // 10: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult 2441 (*TextInput)(nil), // 11: google.cloud.dialogflow.v2beta1.TextInput 2442 (*EventInput)(nil), // 12: google.cloud.dialogflow.v2beta1.EventInput 2443 (*SentimentAnalysisRequestConfig)(nil), // 13: google.cloud.dialogflow.v2beta1.SentimentAnalysisRequestConfig 2444 (*SentimentAnalysisResult)(nil), // 14: google.cloud.dialogflow.v2beta1.SentimentAnalysisResult 2445 (*Sentiment)(nil), // 15: google.cloud.dialogflow.v2beta1.Sentiment 2446 nil, // 16: google.cloud.dialogflow.v2beta1.QueryParameters.WebhookHeadersEntry 2447 (*KnowledgeAnswers_Answer)(nil), // 17: google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer 2448 (*OutputAudioConfig)(nil), // 18: google.cloud.dialogflow.v2beta1.OutputAudioConfig 2449 (*fieldmaskpb.FieldMask)(nil), // 19: google.protobuf.FieldMask 2450 (*status.Status)(nil), // 20: google.rpc.Status 2451 (*latlng.LatLng)(nil), // 21: google.type.LatLng 2452 (*Context)(nil), // 22: google.cloud.dialogflow.v2beta1.Context 2453 (*SessionEntityType)(nil), // 23: google.cloud.dialogflow.v2beta1.SessionEntityType 2454 (*structpb.Struct)(nil), // 24: google.protobuf.Struct 2455 (*SubAgent)(nil), // 25: google.cloud.dialogflow.v2beta1.SubAgent 2456 (*InputAudioConfig)(nil), // 26: google.cloud.dialogflow.v2beta1.InputAudioConfig 2457 (*TelephonyDtmfEvents)(nil), // 27: google.cloud.dialogflow.v2beta1.TelephonyDtmfEvents 2458 (*Intent_Message)(nil), // 28: google.cloud.dialogflow.v2beta1.Intent.Message 2459 (*Intent)(nil), // 29: google.cloud.dialogflow.v2beta1.Intent 2460 (*SpeechWordInfo)(nil), // 30: google.cloud.dialogflow.v2beta1.SpeechWordInfo 2461 (*durationpb.Duration)(nil), // 31: google.protobuf.Duration 2462} 2463var file_google_cloud_dialogflow_v2beta1_session_proto_depIdxs = []int32{ 2464 4, // 0: google.cloud.dialogflow.v2beta1.DetectIntentRequest.query_params:type_name -> google.cloud.dialogflow.v2beta1.QueryParameters 2465 5, // 1: google.cloud.dialogflow.v2beta1.DetectIntentRequest.query_input:type_name -> google.cloud.dialogflow.v2beta1.QueryInput 2466 18, // 2: google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.v2beta1.OutputAudioConfig 2467 19, // 3: google.cloud.dialogflow.v2beta1.DetectIntentRequest.output_audio_config_mask:type_name -> google.protobuf.FieldMask 2468 6, // 4: google.cloud.dialogflow.v2beta1.DetectIntentResponse.query_result:type_name -> google.cloud.dialogflow.v2beta1.QueryResult 2469 6, // 5: google.cloud.dialogflow.v2beta1.DetectIntentResponse.alternative_query_results:type_name -> google.cloud.dialogflow.v2beta1.QueryResult 2470 20, // 6: google.cloud.dialogflow.v2beta1.DetectIntentResponse.webhook_status:type_name -> google.rpc.Status 2471 18, // 7: google.cloud.dialogflow.v2beta1.DetectIntentResponse.output_audio_config:type_name -> google.cloud.dialogflow.v2beta1.OutputAudioConfig 2472 21, // 8: google.cloud.dialogflow.v2beta1.QueryParameters.geo_location:type_name -> google.type.LatLng 2473 22, // 9: google.cloud.dialogflow.v2beta1.QueryParameters.contexts:type_name -> google.cloud.dialogflow.v2beta1.Context 2474 23, // 10: google.cloud.dialogflow.v2beta1.QueryParameters.session_entity_types:type_name -> google.cloud.dialogflow.v2beta1.SessionEntityType 2475 24, // 11: google.cloud.dialogflow.v2beta1.QueryParameters.payload:type_name -> google.protobuf.Struct 2476 13, // 12: google.cloud.dialogflow.v2beta1.QueryParameters.sentiment_analysis_request_config:type_name -> google.cloud.dialogflow.v2beta1.SentimentAnalysisRequestConfig 2477 25, // 13: google.cloud.dialogflow.v2beta1.QueryParameters.sub_agents:type_name -> google.cloud.dialogflow.v2beta1.SubAgent 2478 16, // 14: google.cloud.dialogflow.v2beta1.QueryParameters.webhook_headers:type_name -> google.cloud.dialogflow.v2beta1.QueryParameters.WebhookHeadersEntry 2479 26, // 15: google.cloud.dialogflow.v2beta1.QueryInput.audio_config:type_name -> google.cloud.dialogflow.v2beta1.InputAudioConfig 2480 11, // 16: google.cloud.dialogflow.v2beta1.QueryInput.text:type_name -> google.cloud.dialogflow.v2beta1.TextInput 2481 12, // 17: google.cloud.dialogflow.v2beta1.QueryInput.event:type_name -> google.cloud.dialogflow.v2beta1.EventInput 2482 27, // 18: google.cloud.dialogflow.v2beta1.QueryInput.dtmf:type_name -> google.cloud.dialogflow.v2beta1.TelephonyDtmfEvents 2483 24, // 19: google.cloud.dialogflow.v2beta1.QueryResult.parameters:type_name -> google.protobuf.Struct 2484 28, // 20: google.cloud.dialogflow.v2beta1.QueryResult.fulfillment_messages:type_name -> google.cloud.dialogflow.v2beta1.Intent.Message 2485 24, // 21: google.cloud.dialogflow.v2beta1.QueryResult.webhook_payload:type_name -> google.protobuf.Struct 2486 22, // 22: google.cloud.dialogflow.v2beta1.QueryResult.output_contexts:type_name -> google.cloud.dialogflow.v2beta1.Context 2487 29, // 23: google.cloud.dialogflow.v2beta1.QueryResult.intent:type_name -> google.cloud.dialogflow.v2beta1.Intent 2488 24, // 24: google.cloud.dialogflow.v2beta1.QueryResult.diagnostic_info:type_name -> google.protobuf.Struct 2489 14, // 25: google.cloud.dialogflow.v2beta1.QueryResult.sentiment_analysis_result:type_name -> google.cloud.dialogflow.v2beta1.SentimentAnalysisResult 2490 7, // 26: google.cloud.dialogflow.v2beta1.QueryResult.knowledge_answers:type_name -> google.cloud.dialogflow.v2beta1.KnowledgeAnswers 2491 17, // 27: google.cloud.dialogflow.v2beta1.KnowledgeAnswers.answers:type_name -> google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer 2492 4, // 28: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_params:type_name -> google.cloud.dialogflow.v2beta1.QueryParameters 2493 5, // 29: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.query_input:type_name -> google.cloud.dialogflow.v2beta1.QueryInput 2494 18, // 30: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config:type_name -> google.cloud.dialogflow.v2beta1.OutputAudioConfig 2495 19, // 31: google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest.output_audio_config_mask:type_name -> google.protobuf.FieldMask 2496 10, // 32: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.recognition_result:type_name -> google.cloud.dialogflow.v2beta1.StreamingRecognitionResult 2497 6, // 33: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.query_result:type_name -> google.cloud.dialogflow.v2beta1.QueryResult 2498 6, // 34: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.alternative_query_results:type_name -> google.cloud.dialogflow.v2beta1.QueryResult 2499 20, // 35: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.webhook_status:type_name -> google.rpc.Status 2500 18, // 36: google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse.output_audio_config:type_name -> google.cloud.dialogflow.v2beta1.OutputAudioConfig 2501 1, // 37: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.message_type:type_name -> google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.MessageType 2502 30, // 38: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.speech_word_info:type_name -> google.cloud.dialogflow.v2beta1.SpeechWordInfo 2503 31, // 39: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.speech_end_offset:type_name -> google.protobuf.Duration 2504 27, // 40: google.cloud.dialogflow.v2beta1.StreamingRecognitionResult.dtmf_digits:type_name -> google.cloud.dialogflow.v2beta1.TelephonyDtmfEvents 2505 24, // 41: google.cloud.dialogflow.v2beta1.EventInput.parameters:type_name -> google.protobuf.Struct 2506 15, // 42: google.cloud.dialogflow.v2beta1.SentimentAnalysisResult.query_text_sentiment:type_name -> google.cloud.dialogflow.v2beta1.Sentiment 2507 0, // 43: google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer.match_confidence_level:type_name -> google.cloud.dialogflow.v2beta1.KnowledgeAnswers.Answer.MatchConfidenceLevel 2508 2, // 44: google.cloud.dialogflow.v2beta1.Sessions.DetectIntent:input_type -> google.cloud.dialogflow.v2beta1.DetectIntentRequest 2509 8, // 45: google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent:input_type -> google.cloud.dialogflow.v2beta1.StreamingDetectIntentRequest 2510 3, // 46: google.cloud.dialogflow.v2beta1.Sessions.DetectIntent:output_type -> google.cloud.dialogflow.v2beta1.DetectIntentResponse 2511 9, // 47: google.cloud.dialogflow.v2beta1.Sessions.StreamingDetectIntent:output_type -> google.cloud.dialogflow.v2beta1.StreamingDetectIntentResponse 2512 46, // [46:48] is the sub-list for method output_type 2513 44, // [44:46] is the sub-list for method input_type 2514 44, // [44:44] is the sub-list for extension type_name 2515 44, // [44:44] is the sub-list for extension extendee 2516 0, // [0:44] is the sub-list for field type_name 2517} 2518 2519func init() { file_google_cloud_dialogflow_v2beta1_session_proto_init() } 2520func file_google_cloud_dialogflow_v2beta1_session_proto_init() { 2521 if File_google_cloud_dialogflow_v2beta1_session_proto != nil { 2522 return 2523 } 2524 file_google_cloud_dialogflow_v2beta1_agent_proto_init() 2525 file_google_cloud_dialogflow_v2beta1_audio_config_proto_init() 2526 file_google_cloud_dialogflow_v2beta1_context_proto_init() 2527 file_google_cloud_dialogflow_v2beta1_gcs_proto_init() 2528 file_google_cloud_dialogflow_v2beta1_intent_proto_init() 2529 file_google_cloud_dialogflow_v2beta1_session_entity_type_proto_init() 2530 if !protoimpl.UnsafeEnabled { 2531 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} { 2532 switch v := v.(*DetectIntentRequest); i { 2533 case 0: 2534 return &v.state 2535 case 1: 2536 return &v.sizeCache 2537 case 2: 2538 return &v.unknownFields 2539 default: 2540 return nil 2541 } 2542 } 2543 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} { 2544 switch v := v.(*DetectIntentResponse); i { 2545 case 0: 2546 return &v.state 2547 case 1: 2548 return &v.sizeCache 2549 case 2: 2550 return &v.unknownFields 2551 default: 2552 return nil 2553 } 2554 } 2555 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} { 2556 switch v := v.(*QueryParameters); i { 2557 case 0: 2558 return &v.state 2559 case 1: 2560 return &v.sizeCache 2561 case 2: 2562 return &v.unknownFields 2563 default: 2564 return nil 2565 } 2566 } 2567 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} { 2568 switch v := v.(*QueryInput); i { 2569 case 0: 2570 return &v.state 2571 case 1: 2572 return &v.sizeCache 2573 case 2: 2574 return &v.unknownFields 2575 default: 2576 return nil 2577 } 2578 } 2579 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} { 2580 switch v := v.(*QueryResult); i { 2581 case 0: 2582 return &v.state 2583 case 1: 2584 return &v.sizeCache 2585 case 2: 2586 return &v.unknownFields 2587 default: 2588 return nil 2589 } 2590 } 2591 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} { 2592 switch v := v.(*KnowledgeAnswers); i { 2593 case 0: 2594 return &v.state 2595 case 1: 2596 return &v.sizeCache 2597 case 2: 2598 return &v.unknownFields 2599 default: 2600 return nil 2601 } 2602 } 2603 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} { 2604 switch v := v.(*StreamingDetectIntentRequest); i { 2605 case 0: 2606 return &v.state 2607 case 1: 2608 return &v.sizeCache 2609 case 2: 2610 return &v.unknownFields 2611 default: 2612 return nil 2613 } 2614 } 2615 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} { 2616 switch v := v.(*StreamingDetectIntentResponse); i { 2617 case 0: 2618 return &v.state 2619 case 1: 2620 return &v.sizeCache 2621 case 2: 2622 return &v.unknownFields 2623 default: 2624 return nil 2625 } 2626 } 2627 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} { 2628 switch v := v.(*StreamingRecognitionResult); i { 2629 case 0: 2630 return &v.state 2631 case 1: 2632 return &v.sizeCache 2633 case 2: 2634 return &v.unknownFields 2635 default: 2636 return nil 2637 } 2638 } 2639 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} { 2640 switch v := v.(*TextInput); i { 2641 case 0: 2642 return &v.state 2643 case 1: 2644 return &v.sizeCache 2645 case 2: 2646 return &v.unknownFields 2647 default: 2648 return nil 2649 } 2650 } 2651 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} { 2652 switch v := v.(*EventInput); i { 2653 case 0: 2654 return &v.state 2655 case 1: 2656 return &v.sizeCache 2657 case 2: 2658 return &v.unknownFields 2659 default: 2660 return nil 2661 } 2662 } 2663 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} { 2664 switch v := v.(*SentimentAnalysisRequestConfig); i { 2665 case 0: 2666 return &v.state 2667 case 1: 2668 return &v.sizeCache 2669 case 2: 2670 return &v.unknownFields 2671 default: 2672 return nil 2673 } 2674 } 2675 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} { 2676 switch v := v.(*SentimentAnalysisResult); i { 2677 case 0: 2678 return &v.state 2679 case 1: 2680 return &v.sizeCache 2681 case 2: 2682 return &v.unknownFields 2683 default: 2684 return nil 2685 } 2686 } 2687 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} { 2688 switch v := v.(*Sentiment); i { 2689 case 0: 2690 return &v.state 2691 case 1: 2692 return &v.sizeCache 2693 case 2: 2694 return &v.unknownFields 2695 default: 2696 return nil 2697 } 2698 } 2699 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} { 2700 switch v := v.(*KnowledgeAnswers_Answer); i { 2701 case 0: 2702 return &v.state 2703 case 1: 2704 return &v.sizeCache 2705 case 2: 2706 return &v.unknownFields 2707 default: 2708 return nil 2709 } 2710 } 2711 } 2712 file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes[3].OneofWrappers = []interface{}{ 2713 (*QueryInput_AudioConfig)(nil), 2714 (*QueryInput_Text)(nil), 2715 (*QueryInput_Event)(nil), 2716 (*QueryInput_Dtmf)(nil), 2717 } 2718 type x struct{} 2719 out := protoimpl.TypeBuilder{ 2720 File: protoimpl.DescBuilder{ 2721 GoPackagePath: reflect.TypeOf(x{}).PkgPath(), 2722 RawDescriptor: file_google_cloud_dialogflow_v2beta1_session_proto_rawDesc, 2723 NumEnums: 2, 2724 NumMessages: 16, 2725 NumExtensions: 0, 2726 NumServices: 1, 2727 }, 2728 GoTypes: file_google_cloud_dialogflow_v2beta1_session_proto_goTypes, 2729 DependencyIndexes: file_google_cloud_dialogflow_v2beta1_session_proto_depIdxs, 2730 EnumInfos: file_google_cloud_dialogflow_v2beta1_session_proto_enumTypes, 2731 MessageInfos: file_google_cloud_dialogflow_v2beta1_session_proto_msgTypes, 2732 }.Build() 2733 File_google_cloud_dialogflow_v2beta1_session_proto = out.File 2734 file_google_cloud_dialogflow_v2beta1_session_proto_rawDesc = nil 2735 file_google_cloud_dialogflow_v2beta1_session_proto_goTypes = nil 2736 file_google_cloud_dialogflow_v2beta1_session_proto_depIdxs = nil 2737} 2738 2739// Reference imports to suppress errors if they are not otherwise used. 2740var _ context.Context 2741var _ grpc.ClientConnInterface 2742 2743// This is a compile-time assertion to ensure that this generated file 2744// is compatible with the grpc package it is being compiled against. 2745const _ = grpc.SupportPackageIsVersion6 2746 2747// SessionsClient is the client API for Sessions service. 2748// 2749// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. 2750type SessionsClient interface { 2751 // Processes a natural language query and returns structured, actionable data 2752 // as a result. This method is not idempotent, because it may cause contexts 2753 // and session entity types to be updated, which in turn might affect 2754 // results of future queries. 2755 // 2756 // Note: Always use agent versions for production traffic. 2757 // See [Versions and 2758 // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 2759 DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error) 2760 // Processes a natural language query in audio format in a streaming fashion 2761 // and returns structured, actionable data as a result. This method is only 2762 // available via the gRPC API (not REST). 2763 // 2764 // Note: Always use agent versions for production traffic. 2765 // See [Versions and 2766 // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 2767 StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error) 2768} 2769 2770type sessionsClient struct { 2771 cc grpc.ClientConnInterface 2772} 2773 2774func NewSessionsClient(cc grpc.ClientConnInterface) SessionsClient { 2775 return &sessionsClient{cc} 2776} 2777 2778func (c *sessionsClient) DetectIntent(ctx context.Context, in *DetectIntentRequest, opts ...grpc.CallOption) (*DetectIntentResponse, error) { 2779 out := new(DetectIntentResponse) 2780 err := c.cc.Invoke(ctx, "/google.cloud.dialogflow.v2beta1.Sessions/DetectIntent", in, out, opts...) 2781 if err != nil { 2782 return nil, err 2783 } 2784 return out, nil 2785} 2786 2787func (c *sessionsClient) StreamingDetectIntent(ctx context.Context, opts ...grpc.CallOption) (Sessions_StreamingDetectIntentClient, error) { 2788 stream, err := c.cc.NewStream(ctx, &_Sessions_serviceDesc.Streams[0], "/google.cloud.dialogflow.v2beta1.Sessions/StreamingDetectIntent", opts...) 2789 if err != nil { 2790 return nil, err 2791 } 2792 x := &sessionsStreamingDetectIntentClient{stream} 2793 return x, nil 2794} 2795 2796type Sessions_StreamingDetectIntentClient interface { 2797 Send(*StreamingDetectIntentRequest) error 2798 Recv() (*StreamingDetectIntentResponse, error) 2799 grpc.ClientStream 2800} 2801 2802type sessionsStreamingDetectIntentClient struct { 2803 grpc.ClientStream 2804} 2805 2806func (x *sessionsStreamingDetectIntentClient) Send(m *StreamingDetectIntentRequest) error { 2807 return x.ClientStream.SendMsg(m) 2808} 2809 2810func (x *sessionsStreamingDetectIntentClient) Recv() (*StreamingDetectIntentResponse, error) { 2811 m := new(StreamingDetectIntentResponse) 2812 if err := x.ClientStream.RecvMsg(m); err != nil { 2813 return nil, err 2814 } 2815 return m, nil 2816} 2817 2818// SessionsServer is the server API for Sessions service. 2819type SessionsServer interface { 2820 // Processes a natural language query and returns structured, actionable data 2821 // as a result. This method is not idempotent, because it may cause contexts 2822 // and session entity types to be updated, which in turn might affect 2823 // results of future queries. 2824 // 2825 // Note: Always use agent versions for production traffic. 2826 // See [Versions and 2827 // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 2828 DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error) 2829 // Processes a natural language query in audio format in a streaming fashion 2830 // and returns structured, actionable data as a result. This method is only 2831 // available via the gRPC API (not REST). 2832 // 2833 // Note: Always use agent versions for production traffic. 2834 // See [Versions and 2835 // environments](https://cloud.google.com/dialogflow/es/docs/agents-versions). 2836 StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error 2837} 2838 2839// UnimplementedSessionsServer can be embedded to have forward compatible implementations. 2840type UnimplementedSessionsServer struct { 2841} 2842 2843func (*UnimplementedSessionsServer) DetectIntent(context.Context, *DetectIntentRequest) (*DetectIntentResponse, error) { 2844 return nil, status1.Errorf(codes.Unimplemented, "method DetectIntent not implemented") 2845} 2846func (*UnimplementedSessionsServer) StreamingDetectIntent(Sessions_StreamingDetectIntentServer) error { 2847 return status1.Errorf(codes.Unimplemented, "method StreamingDetectIntent not implemented") 2848} 2849 2850func RegisterSessionsServer(s *grpc.Server, srv SessionsServer) { 2851 s.RegisterService(&_Sessions_serviceDesc, srv) 2852} 2853 2854func _Sessions_DetectIntent_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { 2855 in := new(DetectIntentRequest) 2856 if err := dec(in); err != nil { 2857 return nil, err 2858 } 2859 if interceptor == nil { 2860 return srv.(SessionsServer).DetectIntent(ctx, in) 2861 } 2862 info := &grpc.UnaryServerInfo{ 2863 Server: srv, 2864 FullMethod: "/google.cloud.dialogflow.v2beta1.Sessions/DetectIntent", 2865 } 2866 handler := func(ctx context.Context, req interface{}) (interface{}, error) { 2867 return srv.(SessionsServer).DetectIntent(ctx, req.(*DetectIntentRequest)) 2868 } 2869 return interceptor(ctx, in, info, handler) 2870} 2871 2872func _Sessions_StreamingDetectIntent_Handler(srv interface{}, stream grpc.ServerStream) error { 2873 return srv.(SessionsServer).StreamingDetectIntent(&sessionsStreamingDetectIntentServer{stream}) 2874} 2875 2876type Sessions_StreamingDetectIntentServer interface { 2877 Send(*StreamingDetectIntentResponse) error 2878 Recv() (*StreamingDetectIntentRequest, error) 2879 grpc.ServerStream 2880} 2881 2882type sessionsStreamingDetectIntentServer struct { 2883 grpc.ServerStream 2884} 2885 2886func (x *sessionsStreamingDetectIntentServer) Send(m *StreamingDetectIntentResponse) error { 2887 return x.ServerStream.SendMsg(m) 2888} 2889 2890func (x *sessionsStreamingDetectIntentServer) Recv() (*StreamingDetectIntentRequest, error) { 2891 m := new(StreamingDetectIntentRequest) 2892 if err := x.ServerStream.RecvMsg(m); err != nil { 2893 return nil, err 2894 } 2895 return m, nil 2896} 2897 2898var _Sessions_serviceDesc = grpc.ServiceDesc{ 2899 ServiceName: "google.cloud.dialogflow.v2beta1.Sessions", 2900 HandlerType: (*SessionsServer)(nil), 2901 Methods: []grpc.MethodDesc{ 2902 { 2903 MethodName: "DetectIntent", 2904 Handler: _Sessions_DetectIntent_Handler, 2905 }, 2906 }, 2907 Streams: []grpc.StreamDesc{ 2908 { 2909 StreamName: "StreamingDetectIntent", 2910 Handler: _Sessions_StreamingDetectIntent_Handler, 2911 ServerStreams: true, 2912 ClientStreams: true, 2913 }, 2914 }, 2915 Metadata: "google/cloud/dialogflow/v2beta1/session.proto", 2916} 2917