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