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