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