1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884
|
// Code generated by smithy-go-codegen DO NOT EDIT.
package types
import (
smithydocument "github.com/aws/smithy-go/document"
)
// Contains information about the contexts that a user is using in a session. You
// can configure Amazon Lex V2 to set a context when an intent is fulfilled, or you
// can set a context using the , , or operations. Use a context to indicate to
// Amazon Lex V2 intents that should be used as follow-up intents. For example, if
// the active context is order-fulfilled , only intents that have order-fulfilled
// configured as a trigger are considered for follow up.
type ActiveContext struct {
// A list of contexts active for the request. A context can be activated when a
// previous intent is fulfilled, or by including the context in the request. If you
// don't specify a list of contexts, Amazon Lex V2 will use the current list of
// contexts for the session. If you specify an empty list, all contexts for the
// session are cleared.
//
// This member is required.
ContextAttributes map[string]string
// The name of the context.
//
// This member is required.
Name *string
// Indicates the number of turns or seconds that the context is active. Once the
// time to live expires, the context is no longer returned in a response.
//
// This member is required.
TimeToLive *ActiveContextTimeToLive
noSmithyDocumentSerde
}
// The time that a context is active. You can specify the time to live in seconds
// or in conversation turns.
type ActiveContextTimeToLive struct {
// The number of seconds that the context is active. You can specify between 5 and
// 86400 seconds (24 hours).
//
// This member is required.
TimeToLiveInSeconds *int32
// The number of turns that the context is active. You can specify up to 20 turns.
// Each request and response from the bot is a turn.
//
// This member is required.
TurnsToLive *int32
noSmithyDocumentSerde
}
// Represents a chunk of audio sent from the client application to Amazon Lex V2.
// The audio is all or part of an utterance from the user. Amazon Lex V2
// accumulates audio chunks until it recognizes a natural pause in speech before
// processing the input.
type AudioInputEvent struct {
// The encoding used for the audio chunk. You must use 8 KHz PCM 16-bit
// mono-channel little-endian format. The value of the field should be:
// audio/lpcm; sample-rate=8000; sample-size-bits=16; channel-count=1;
// is-big-endian=false
//
// This member is required.
ContentType *string
// An encoded stream of audio.
AudioChunk []byte
// A timestamp set by the client of the date and time that the event was sent to
// Amazon Lex V2.
ClientTimestampMillis int64
// A unique identifier that your application assigns to the event. You can use
// this to identify events in logs.
EventId *string
noSmithyDocumentSerde
}
// An event sent from Amazon Lex V2 to your client application containing audio to
// play to the user.
type AudioResponseEvent struct {
// A chunk of the audio to play.
AudioChunk []byte
// The encoding of the audio chunk. This is the same as the encoding configure in
// the contentType field of the ConfigurationEvent .
ContentType *string
// A unique identifier of the event sent by Amazon Lex V2. The identifier is in
// the form RESPONSE-N , where N is a number starting with one and incremented for
// each event sent by Amazon Lex V2 in the current session.
EventId *string
noSmithyDocumentSerde
}
// A button that appears on a response card show to the user.
type Button struct {
// The text that is displayed on the button.
//
// This member is required.
Text *string
// The value returned to Amazon Lex V2 when a user chooses the button.
//
// This member is required.
Value *string
noSmithyDocumentSerde
}
// Provides a score that indicates the confidence that Amazon Lex V2 has that an
// intent is the one that satisfies the user's intent.
type ConfidenceScore struct {
// A score that indicates how confident Amazon Lex V2 is that an intent satisfies
// the user's intent. Ranges between 0.00 and 1.00. Higher scores indicate higher
// confidence.
Score float64
noSmithyDocumentSerde
}
// The initial event sent from the application to Amazon Lex V2 to configure the
// conversation, including session and request attributes and the response content
// type.
type ConfigurationEvent struct {
// The message that Amazon Lex V2 returns in the response can be either text or
// speech based on the responseContentType value.
// - If the value is text/plain;charset=utf-8 , Amazon Lex V2 returns text in the
// response.
// - If the value begins with audio/ , Amazon Lex V2 returns speech in the
// response. Amazon Lex V2 uses Amazon Polly to generate the speech using the
// configuration that you specified in the requestContentType parameter. For
// example, if you specify audio/mpeg as the value, Amazon Lex V2 returns speech
// in the MPEG format.
// - If the value is audio/pcm , the speech returned is audio/pcm in 16-bit,
// little-endian format.
// - The following are the accepted values:
// - audio/mpeg
// - audio/ogg
// - audio/pcm
// - audio/* (defaults to mpeg)
// - text/plain; charset=utf-8
//
// This member is required.
ResponseContentType *string
// A timestamp set by the client of the date and time that the event was sent to
// Amazon Lex V2.
ClientTimestampMillis int64
// Determines whether Amazon Lex V2 should send audio responses to the client
// application. Set this field to false when the client is operating in a playback
// mode where audio responses are played to the user. If the client isn't operating
// in playback mode, such as a text chat application, set this to true so that
// Amazon Lex V2 doesn't wait for the prompt to finish playing on the client.
DisablePlayback bool
// A unique identifier that your application assigns to the event. You can use
// this to identify events in logs.
EventId *string
// Request-specific information passed between the client application and Amazon
// Lex V2. The namespace x-amz-lex: is reserved for special attributes. Don't
// create any request attributes for prefix x-amz-lex: .
RequestAttributes map[string]string
// The state of the user's session with Amazon Lex V2.
SessionState *SessionState
// A list of messages to send to the user. If you set the welcomeMessage field,
// you must also set the DialogAction (https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_DialogAction.html)
// structure's type (https://docs.aws.amazon.com/lexv2/latest/dg/API_runtime_DialogAction.html#lexv2-Type-runtime_DialogAction-type)
// field.
WelcomeMessages []Message
noSmithyDocumentSerde
}
// The next action that Amazon Lex V2 should take.
type DialogAction struct {
// The next action that the bot should take in its interaction with the user. The
// following values are possible:
// - Close – Indicates that there will not be a response from the user. For
// example, the statement "Your order has been placed" does not require a response.
//
// - ConfirmIntent – The next action is asking the user if the intent is complete
// and ready to be fulfilled. This is a yes/no question such as "Place the order?"
// - Delegate – The next action is determined by Amazon Lex V2.
// - ElicitIntent – The next action is to elicit an intent from the user.
// - ElicitSlot – The next action is to elicit a slot value from the user.
//
// This member is required.
Type DialogActionType
// Configures the slot to use spell-by-letter or spell-by-word style. When you use
// a style on a slot, users can spell out their input to make it clear to your bot.
//
// - Spell by letter - "b" "o" "b"
// - Spell by word - "b as in boy" "o as in oscar" "b as in boy"
// For more information, see Using spelling to enter slot values (https://docs.aws.amazon.com/lexv2/latest/dg/spelling-styles.html)
// .
SlotElicitationStyle StyleType
// The name of the slot that should be elicited from the user.
SlotToElicit *string
// The name of the constituent sub slot of the composite slot specified in
// slotToElicit that should be elicited from the user.
SubSlotToElicit *ElicitSubSlot
noSmithyDocumentSerde
}
// A notification from the client that it is disconnecting from Amazon Lex V2.
// Sending a DisconnectionEvent event is optional, but can help identify a
// conversation in logs.
type DisconnectionEvent struct {
// A timestamp set by the client of the date and time that the event was sent to
// Amazon Lex V2.
ClientTimestampMillis int64
// A unique identifier that your application assigns to the event. You can use
// this to identify events in logs.
EventId *string
noSmithyDocumentSerde
}
// A DTMF character sent from the client application. DTMF characters are
// typically sent from a phone keypad to represent numbers. For example, you can
// have Amazon Lex V2 process a credit card number input from a phone.
type DTMFInputEvent struct {
// The DTMF character that the user pressed. The allowed characters are A - D, 0 -
// 9, # and *.
//
// This member is required.
InputCharacter *string
// A timestamp set by the client of the date and time that the event was sent to
// Amazon Lex V2.
ClientTimestampMillis int64
// A unique identifier that your application assigns to the event. You can use
// this to identify events in logs.
EventId *string
noSmithyDocumentSerde
}
// The specific constituent sub slot of the composite slot to elicit in dialog
// action.
type ElicitSubSlot struct {
// The name of the slot that should be elicited from the user.
//
// This member is required.
Name *string
// The field is not supported.
SubSlotToElicit *ElicitSubSlot
noSmithyDocumentSerde
}
// Event that Amazon Lex V2 sends to indicate that the stream is still open
// between the client application and Amazon Lex V2
type HeartbeatEvent struct {
// A unique identifier of the event sent by Amazon Lex V2. The identifier is in
// the form RESPONSE-N , where N is a number starting with one and incremented for
// each event sent by Amazon Lex V2 in the current session.
EventId *string
noSmithyDocumentSerde
}
// A card that is shown to the user by a messaging platform. You define the
// contents of the card, the card is displayed by the platform. When you use a
// response card, the response from the user is constrained to the text associated
// with a button on the card.
type ImageResponseCard struct {
// The title to display on the response card. The format of the title is
// determined by the platform displaying the response card.
//
// This member is required.
Title *string
// A list of buttons that should be displayed on the response card. The
// arrangement of the buttons is determined by the platform that displays the
// button.
Buttons []Button
// The URL of an image to display on the response card. The image URL must be
// publicly available so that the platform displaying the response card has access
// to the image.
ImageUrl *string
// The subtitle to display on the response card. The format of the subtitle is
// determined by the platform displaying the response card.
Subtitle *string
noSmithyDocumentSerde
}
// The current intent that Amazon Lex V2 is attempting to fulfill.
type Intent struct {
// The name of the intent.
//
// This member is required.
Name *string
// Indicates whether the intent has been Confirmed , Denied , or None if the
// confirmation stage has not yet been reached.
ConfirmationState ConfirmationState
// A map of all of the slots for the intent. The name of the slot maps to the
// value of the slot. If a slot has not been filled, the value is null.
Slots map[string]Slot
// Indicates the fulfillment state for the intent. The meanings of each value are
// as follows:
// - Failed – The bot failed to fulfill the intent.
// - Fulfilled – The bot has completed fulfillment of the intent.
// - FulfillmentInProgress – The bot is in the middle of fulfilling the intent.
// - InProgress – The bot is in the middle of eliciting the slot values that are
// necessary to fulfill the intent.
// - ReadyForFulfillment – The bot has elicited all the slot values for the
// intent and is ready to fulfill the intent.
// - Waiting – The bot is waiting for a response from the user (limited to
// streaming conversations).
State IntentState
noSmithyDocumentSerde
}
// Contains the current state of the conversation between the client application
// and Amazon Lex V2.
type IntentResultEvent struct {
// A unique identifier of the event sent by Amazon Lex V2. The identifier is in
// the form RESPONSE-N , where N is a number starting with one and incremented for
// each event sent by Amazon Lex V2 in the current session.
EventId *string
// Indicates whether the input to the operation was text, speech, or from a
// touch-tone keypad.
InputMode InputMode
// A list of intents that Amazon Lex V2 determined might satisfy the user's
// utterance. Each interpretation includes the intent, a score that indicates how
// confident Amazon Lex V2 is that the interpretation is the correct one, and an
// optional sentiment response that indicates the sentiment expressed in the
// utterance.
Interpretations []Interpretation
// The bot member that is processing the intent.
RecognizedBotMember *RecognizedBotMember
// The attributes sent in the request.
RequestAttributes map[string]string
// The identifier of the session in use.
SessionId *string
// The state of the user's session with Amazon Lex V2.
SessionState *SessionState
noSmithyDocumentSerde
}
// An object containing information about an intent that Amazon Lex V2 determined
// might satisfy the user's utterance. The intents are ordered by the confidence
// score.
type Interpretation struct {
// A list of intents that might satisfy the user's utterance. The intents are
// ordered by the confidence score.
Intent *Intent
// Specifies the service that interpreted the input.
InterpretationSource InterpretationSource
// Determines the threshold where Amazon Lex V2 will insert the
// AMAZON.FallbackIntent , AMAZON.KendraSearchIntent , or both when returning
// alternative intents in a response. AMAZON.FallbackIntent and
// AMAZON.KendraSearchIntent are only inserted if they are configured for the bot.
NluConfidence *ConfidenceScore
// The sentiment expressed in an utterance. When the bot is configured to send
// utterances to Amazon Comprehend for sentiment analysis, this field contains the
// result of the analysis.
SentimentResponse *SentimentResponse
noSmithyDocumentSerde
}
// Container for text that is returned to the customer..
type Message struct {
// Indicates the type of response.
//
// This member is required.
ContentType MessageContentType
// The text of the message.
Content *string
// A card that is shown to the user by a messaging platform. You define the
// contents of the card, the card is displayed by the platform. When you use a
// response card, the response from the user is constrained to the text associated
// with a button on the card.
ImageResponseCard *ImageResponseCard
noSmithyDocumentSerde
}
// Event sent from the client application to Amazon Lex V2 to indicate that
// playback of audio is complete and that Amazon Lex V2 should start processing the
// user's input.
type PlaybackCompletionEvent struct {
// A timestamp set by the client of the date and time that the event was sent to
// Amazon Lex V2.
ClientTimestampMillis int64
// A unique identifier that your application assigns to the event. You can use
// this to identify events in logs.
EventId *string
noSmithyDocumentSerde
}
// Event sent from Amazon Lex V2 to indicate to the client application should stop
// playback of audio. For example, if the client is playing a prompt that asks for
// the user's telephone number, the user might start to say the phone number before
// the prompt is complete. Amazon Lex V2 sends this event to the client application
// to indicate that the user is responding and that Amazon Lex V2 is processing
// their input.
type PlaybackInterruptionEvent struct {
// The identifier of the event that contained the audio, DTMF, or text that caused
// the interruption.
CausedByEventId *string
// A unique identifier of the event sent by Amazon Lex V2. The identifier is in
// the form RESPONSE-N , where N is a number starting with one and incremented for
// each event sent by Amazon Lex V2 in the current session.
EventId *string
// Indicates the type of user input that Amazon Lex V2 detected.
EventReason PlaybackInterruptionReason
noSmithyDocumentSerde
}
// The bot member that processes the request.
type RecognizedBotMember struct {
// The identifier of the bot member that processes the request.
//
// This member is required.
BotId *string
// The name of the bot member that processes the request.
BotName *string
noSmithyDocumentSerde
}
// Provides an array of phrases that should be given preference when resolving
// values for a slot.
type RuntimeHintDetails struct {
// One or more strings that Amazon Lex V2 should look for in the input to the bot.
// Each phrase is given preference when deciding on slot values.
RuntimeHintValues []RuntimeHintValue
// A map of constituent sub slot names inside a composite slot in the intent and
// the phrases that should be added for each sub slot. Inside each composite slot
// hints, this structure provides a mechanism to add granular sub slot phrases.
// Only sub slot hints are supported for composite slots. The intent name,
// composite slot name and the constituent sub slot names must exist.
SubSlotHints map[string]RuntimeHintDetails
noSmithyDocumentSerde
}
// You can provide Amazon Lex V2 with hints to the phrases that a customer is
// likely to use for a slot. When a slot with hints is resolved, the phrases in the
// runtime hints are preferred in the resolution. You can provide hints for a
// maximum of 100 intents. You can provide a maximum of 100 slots. Before you can
// use runtime hints with an existing bot, you must first rebuild the bot. For more
// information, see Using runtime hints to improve recognition of slot values (https://docs.aws.amazon.com/lexv2/latest/dg/using-hints.html)
// .
type RuntimeHints struct {
// A list of the slots in the intent that should have runtime hints added, and the
// phrases that should be added for each slot. The first level of the slotHints
// map is the name of the intent. The second level is the name of the slot within
// the intent. For more information, see Using hints to improve accuracy (https://docs.aws.amazon.com/lexv2/latest/dg/using-hints.html)
// . The intent name and slot name must exist.
SlotHints map[string]map[string]RuntimeHintDetails
noSmithyDocumentSerde
}
// Provides the phrase that Amazon Lex V2 should look for in the user's input to
// the bot.
type RuntimeHintValue struct {
// The phrase that Amazon Lex V2 should look for in the user's input to the bot.
//
// This member is required.
Phrase *string
noSmithyDocumentSerde
}
// Provides information about the sentiment expressed in a user's response in a
// conversation. Sentiments are determined using Amazon Comprehend. Sentiments are
// only returned if they are enabled for the bot. For more information, see
// Determine Sentiment (https://docs.aws.amazon.com/comprehend/latest/dg/how-sentiment.html)
// in the Amazon Comprehend developer guide.
type SentimentResponse struct {
// The overall sentiment expressed in the user's response. This is the sentiment
// most likely expressed by the user based on the analysis by Amazon Comprehend.
Sentiment SentimentType
// The individual sentiment responses for the utterance.
SentimentScore *SentimentScore
noSmithyDocumentSerde
}
// The individual sentiment responses for the utterance.
type SentimentScore struct {
// The level of confidence that Amazon Comprehend has in the accuracy of its
// detection of the MIXED sentiment.
Mixed float64
// The level of confidence that Amazon Comprehend has in the accuracy of its
// detection of the NEGATIVE sentiment.
Negative float64
// The level of confidence that Amazon Comprehend has in the accuracy of its
// detection of the NEUTRAL sentiment.
Neutral float64
// The level of confidence that Amazon Comprehend has in the accuracy of its
// detection of the POSITIVE sentiment.
Positive float64
noSmithyDocumentSerde
}
// The state of the user's session with Amazon Lex V2.
type SessionState struct {
// One or more contexts that indicate to Amazon Lex V2 the context of a request.
// When a context is active, Amazon Lex V2 considers intents with the matching
// context as a trigger as the next intent in a session.
ActiveContexts []ActiveContext
// The next step that Amazon Lex V2 should take in the conversation with a user.
DialogAction *DialogAction
// The active intent that Amazon Lex V2 is processing.
Intent *Intent
// A unique identifier for a specific request.
OriginatingRequestId *string
// Hints for phrases that a customer is likely to use for a slot. Amazon Lex V2
// uses the hints to help determine the correct value of a slot.
RuntimeHints *RuntimeHints
// Map of key/value pairs representing session-specific context information. It
// contains application information passed between Amazon Lex V2 and a client
// application.
SessionAttributes map[string]string
noSmithyDocumentSerde
}
// A value that Amazon Lex V2 uses to fulfill an intent.
type Slot struct {
// When the shape value is List , it indicates that the values field contains a
// list of slot values. When the value is Scalar , it indicates that the value
// field contains a single value.
Shape Shape
// The constituent sub slots of a composite slot.
SubSlots map[string]Slot
// The current value of the slot.
Value *Value
// A list of one or more values that the user provided for the slot. For example,
// if a for a slot that elicits pizza toppings, the values might be "pepperoni" and
// "pineapple."
Values []Slot
noSmithyDocumentSerde
}
// Represents a stream of events between your application and Amazon Lex V2.
//
// The following types satisfy this interface:
//
// StartConversationRequestEventStreamMemberAudioInputEvent
// StartConversationRequestEventStreamMemberConfigurationEvent
// StartConversationRequestEventStreamMemberDisconnectionEvent
// StartConversationRequestEventStreamMemberDTMFInputEvent
// StartConversationRequestEventStreamMemberPlaybackCompletionEvent
// StartConversationRequestEventStreamMemberTextInputEvent
type StartConversationRequestEventStream interface {
isStartConversationRequestEventStream()
}
// Speech audio sent from your client application to Amazon Lex V2. Audio starts
// accumulating when Amazon Lex V2 identifies a voice and continues until a natural
// pause in the speech is found before processing.
type StartConversationRequestEventStreamMemberAudioInputEvent struct {
Value AudioInputEvent
noSmithyDocumentSerde
}
func (*StartConversationRequestEventStreamMemberAudioInputEvent) isStartConversationRequestEventStream() {
}
// Configuration information sent from your client application to Amazon Lex V2
type StartConversationRequestEventStreamMemberConfigurationEvent struct {
Value ConfigurationEvent
noSmithyDocumentSerde
}
func (*StartConversationRequestEventStreamMemberConfigurationEvent) isStartConversationRequestEventStream() {
}
// Event sent from the client application to indicate to Amazon Lex V2 that the
// conversation is over.
type StartConversationRequestEventStreamMemberDisconnectionEvent struct {
Value DisconnectionEvent
noSmithyDocumentSerde
}
func (*StartConversationRequestEventStreamMemberDisconnectionEvent) isStartConversationRequestEventStream() {
}
// DTMF information sent to Amazon Lex V2 by your application. Amazon Lex V2
// accumulates the DMTF information from when the user sends the first character
// and ends
// - when there's a pause longer that the value configured for the end timeout.
// - when there's a digit that is the configured end character.
// - when Amazon Lex V2 accumulates characters equal to the maximum DTMF
// character configuration.
type StartConversationRequestEventStreamMemberDTMFInputEvent struct {
Value DTMFInputEvent
noSmithyDocumentSerde
}
func (*StartConversationRequestEventStreamMemberDTMFInputEvent) isStartConversationRequestEventStream() {
}
// Event sent from the client application to Amazon Lex V2 to indicate that it has
// finished playing audio and that Amazon Lex V2 should start listening for user
// input.
type StartConversationRequestEventStreamMemberPlaybackCompletionEvent struct {
Value PlaybackCompletionEvent
noSmithyDocumentSerde
}
func (*StartConversationRequestEventStreamMemberPlaybackCompletionEvent) isStartConversationRequestEventStream() {
}
// Text sent from your client application to Amazon Lex V2. Each TextInputEvent is
// processed individually.
type StartConversationRequestEventStreamMemberTextInputEvent struct {
Value TextInputEvent
noSmithyDocumentSerde
}
func (*StartConversationRequestEventStreamMemberTextInputEvent) isStartConversationRequestEventStream() {
}
// Represents a stream of events between Amazon Lex V2 and your application.
//
// The following types satisfy this interface:
//
// StartConversationResponseEventStreamMemberAudioResponseEvent
// StartConversationResponseEventStreamMemberHeartbeatEvent
// StartConversationResponseEventStreamMemberIntentResultEvent
// StartConversationResponseEventStreamMemberPlaybackInterruptionEvent
// StartConversationResponseEventStreamMemberTextResponseEvent
// StartConversationResponseEventStreamMemberTranscriptEvent
type StartConversationResponseEventStream interface {
isStartConversationResponseEventStream()
}
// An event sent from Amazon Lex V2 to your client application containing audio to
// play to the user.
type StartConversationResponseEventStreamMemberAudioResponseEvent struct {
Value AudioResponseEvent
noSmithyDocumentSerde
}
func (*StartConversationResponseEventStreamMemberAudioResponseEvent) isStartConversationResponseEventStream() {
}
// Event that Amazon Lex V2 sends to indicate that the stream is still open
// between the client application and Amazon Lex V2
type StartConversationResponseEventStreamMemberHeartbeatEvent struct {
Value HeartbeatEvent
noSmithyDocumentSerde
}
func (*StartConversationResponseEventStreamMemberHeartbeatEvent) isStartConversationResponseEventStream() {
}
// Event sent from Amazon Lex V2 to the client application containing the current
// state of the conversation between the user and Amazon Lex V2.
type StartConversationResponseEventStreamMemberIntentResultEvent struct {
Value IntentResultEvent
noSmithyDocumentSerde
}
func (*StartConversationResponseEventStreamMemberIntentResultEvent) isStartConversationResponseEventStream() {
}
// Event sent from Amazon Lex V2 to indicate to the client application should stop
// playback of audio. For example, if the client is playing a prompt that asks for
// the user's telephone number, the user might start to say the phone number before
// the prompt is complete. Amazon Lex V2 sends this event to the client application
// to indicate that the user is responding and that Amazon Lex V2 is processing
// their input.
type StartConversationResponseEventStreamMemberPlaybackInterruptionEvent struct {
Value PlaybackInterruptionEvent
noSmithyDocumentSerde
}
func (*StartConversationResponseEventStreamMemberPlaybackInterruptionEvent) isStartConversationResponseEventStream() {
}
// The event sent from Amazon Lex V2 to your application with text to present to
// the user.
type StartConversationResponseEventStreamMemberTextResponseEvent struct {
Value TextResponseEvent
noSmithyDocumentSerde
}
func (*StartConversationResponseEventStreamMemberTextResponseEvent) isStartConversationResponseEventStream() {
}
// Event sent from Amazon Lex V2 to your client application that contains a
// transcript of voice audio.
type StartConversationResponseEventStreamMemberTranscriptEvent struct {
Value TranscriptEvent
noSmithyDocumentSerde
}
func (*StartConversationResponseEventStreamMemberTranscriptEvent) isStartConversationResponseEventStream() {
}
// The event sent from your client application to Amazon Lex V2 with text input
// from the user.
type TextInputEvent struct {
// The text from the user. Amazon Lex V2 processes this as a complete statement.
//
// This member is required.
Text *string
// A timestamp set by the client of the date and time that the event was sent to
// Amazon Lex V2.
ClientTimestampMillis int64
// A unique identifier that your application assigns to the event. You can use
// this to identify events in logs.
EventId *string
noSmithyDocumentSerde
}
// The event sent from Amazon Lex V2 to your application with text to present to
// the user.
type TextResponseEvent struct {
// A unique identifier of the event sent by Amazon Lex V2. The identifier is in
// the form RESPONSE-N , where N is a number starting with one and incremented for
// each event sent by Amazon Lex V2 in the current session.
EventId *string
// A list of messages to send to the user. Messages are ordered based on the order
// that you returned the messages from your Lambda function or the order that the
// messages are defined in the bot.
Messages []Message
noSmithyDocumentSerde
}
// Event sent from Amazon Lex V2 to your client application that contains a
// transcript of voice audio.
type TranscriptEvent struct {
// A unique identifier of the event sent by Amazon Lex V2. The identifier is in
// the form RESPONSE-N , where N is a number starting with one and incremented for
// each event sent by Amazon Lex V2 in the current session.
EventId *string
// The transcript of the voice audio from the user.
Transcript *string
noSmithyDocumentSerde
}
// Information about the value provided for a slot and Amazon Lex V2's
// interpretation.
type Value struct {
// The value that Amazon Lex V2 determines for the slot, given the user input. The
// actual value depends on the setting of the value selection strategy for the bot.
// You can choose to use the value entered by the user, or you can have Amazon Lex
// V2 choose the first value in the resolvedValues list.
//
// This member is required.
InterpretedValue *string
// The part of the user's response to the slot elicitation that Amazon Lex V2
// determines is relevant to the slot value.
OriginalValue *string
// A list of values that Amazon Lex V2 determines are possible resolutions for the
// user input. The first value matches the interpretedValue .
ResolvedValues []string
noSmithyDocumentSerde
}
type noSmithyDocumentSerde = smithydocument.NoSerde
// UnknownUnionMember is returned when a union member is returned over the wire,
// but has an unknown tag.
type UnknownUnionMember struct {
Tag string
Value []byte
noSmithyDocumentSerde
}
func (*UnknownUnionMember) isStartConversationRequestEventStream() {}
func (*UnknownUnionMember) isStartConversationResponseEventStream() {}
|