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