{"version":3,"sources":["webpack:///./node_modules/@aws-amplify/ui-vue/node_modules/@aws-amplify/ui-components/dist/esm-es5/Translations-108d469f.js","webpack:///./node_modules/@aws-amplify/ui-vue/node_modules/@aws-amplify/ui-components/dist/esm-es5/constants-c8ecaa24.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/models/models_0.js","webpack:///./node_modules/@aws-amplify/interactions/lib-esm/Providers/InteractionsProvider.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/endpoints.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/runtimeConfig.shared.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/runtimeConfig.browser.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/LexRuntimeServiceClient.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/commands/PostTextCommand.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/commands/PostContentCommand.js","webpack:///./node_modules/@aws-amplify/interactions/lib-esm/Providers/AWSLexProviderHelper/convert.js","webpack:///./node_modules/@aws-amplify/interactions/lib-esm/Providers/AWSLexProvider.js","webpack:///./node_modules/@aws-amplify/interactions/lib-esm/Interactions.js","webpack:///./node_modules/@aws-amplify/ui-vue/node_modules/@aws-amplify/ui-components/dist/esm-es5/amplify-chatbot.entry.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/protocols/Aws_restJson1.js"],"names":["AuthStrings","InteractionsStrings","Translations","Object","assign","USERNAME_SUFFIX","EMAIL_SUFFIX","CODE_SUFFIX","PHONE_SUFFIX","PASSWORD_SUFFIX","COUNTRY_DIAL_CODE_SUFFIX","COUNTRY_DIAL_CODE_DEFAULT","AUTH_SOURCE_KEY","PHONE_EMPTY_ERROR_MESSAGE","NO_AUTH_MODULE_FOUND","NO_STORAGE_MODULE_FOUND","NO_INTERACTIONS_MODULE_FOUND","USER_NOT_SETUP_SOFTWARE_TOKEN_MFA","USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA","AUTH_CHANNEL","UI_AUTH_CHANNEL","TOAST_AUTH_ERROR_EVENT","AUTH_STATE_CHANGE_EVENT","FulfillmentState","MessageFormatType","DialogActionType","ConfirmationStatus","DialogState","ContentType","__assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","AbstractInteractionsProvider","options","_config","configure","config","debug","getProviderName","getCategory","defineProperty","get","enumerable","configurable","AWS_TEMPLATE","AWS_CN_TEMPLATE","AWS_ISO_TEMPLATE","AWS_ISO_B_TEMPLATE","AWS_US_GOV_TEMPLATE","AWS_REGIONS","Set","AWS_CN_REGIONS","AWS_ISO_REGIONS","AWS_ISO_B_REGIONS","AWS_US_GOV_REGIONS","defaultRegionInfoProvider","region","regionInfo","undefined","hostname","partition","signingService","has","replace","Promise","resolve","ClientSharedValues","apiVersion","disableHostPrefix","logger","regionInfoProvider","serviceId","urlParser","ClientDefaultValues","runtime","base64Decoder","base64Encoder","bodyLengthChecker","credentialDefaultProvider","_","reject","Error","defaultUserAgentProvider","clientVersion","version","maxAttempts","requestHandler","sha256","streamCollector","utf8Decoder","utf8Encoder","_super","LexRuntimeServiceClient","configuration","_this","_config_0","_config_1","_config_2","_config_3","_config_4","_config_5","_config_6","middlewareStack","use","destroy","ActiveContextTimeToLive","filterSensitiveLog","obj","ActiveContext","parameters","BadRequestException","ConflictException","DeleteSessionRequest","DeleteSessionResponse","InternalFailureException","LimitExceededException","NotFoundException","GetSessionRequest","DialogAction","slots","message","IntentSummary","GetSessionResponse","recentIntentSummaryView","map","item","sessionAttributes","dialogAction","activeContexts","BadGatewayException","DependencyFailedException","LoopDetectedException","NotAcceptableException","PostContentRequest","requestAttributes","PostContentResponse","RequestTimeoutException","UnsupportedMediaTypeException","PostTextRequest","inputText","IntentConfidence","PredictedIntent","Button","GenericAttachment","ResponseCard","SentimentResponse","PostTextResponse","alternativeIntents","PutSessionRequest","PutSessionResponse","PostTextCommand","input","resolveMiddleware","clientStack","serialize","deserialize","stack","concat","clientName","commandName","handlerExecutionContext","inputFilterSensitiveLog","outputFilterSensitiveLog","request","handle","context","output","PostContentCommand","convert","stream","Blob","ReadableStream","Response","arrayBuffer","then","buffer","Uint8Array","__extends","extendStatics","d","b","setPrototypeOf","__proto__","Array","__","constructor","create","__awaiter","thisArg","_arguments","P","generator","adopt","value","fulfilled","step","next","e","rejected","result","done","__generator","body","f","y","g","label","sent","trys","ops","verb","Symbol","iterator","v","op","TypeError","pop","push","AWSLexProvider","_botsCompleteCallback","reportBotStatus","data","botname","dialogState","setTimeout","onComplete","sendMessage","credentials","params","postTextCommand","err_1","content","messageType","postContentCommand","audioArray","err_2","_a","Credentials","lexRuntimeServiceClient","customUserAgent","botAlias","alias","botName","userId","identityId","send","contentType","inputStream","accept","audioStream","callback","ErrorEvent","InteractionsClass","_options","_pluggables","getModuleName","opt","Interactions","bots","aws_bots_config","bots_config","keys","isArray","forEach","bot","name","key","find","providerName","addPluggable","pluggable","botProvider","Amplify","register","ChatState","MessageFrom","ChatErrorType","__spreadArrays","il","r","k","a","j","jl","RECORDER_EXPORT_MIME_TYPE","DEFAULT_EXPORT_SAMPLE_RATE","FFT_SIZE","FFT_MAX_DECIBELS","FFT_MIN_DECIBELS","FFT_SMOOTHING_TIME_CONSTANT","mergeBuffers","bufferArray","recLength","Float32Array","offset","set","downsampleBuffer","recordSampleRate","exportSampleRate","sampleRateRatio","newLength","Math","round","offsetResult","offsetBuffer","nextOffsetBuffer","accum","count","floatTo16BitPCM","byteOffset","max","min","setInt16","writeString","view","string","setUint8","charCodeAt","encodeWAV","samples","audioSize","fmtSize","dataSize","totalByteSize","ArrayBuffer","DataView","setUint32","setUint16","exportBuffer","recBuffer","mergedBuffers","downsampledBuffer","encodedWav","audioBlob","type","AudioRecorder","streamBuffer","streamBufferLength","recording","init","isBrowser","window","AudioContext","webkitAudioContext","audioContext","navigator","mediaDevices","getUserMedia","audio","audioSupported","setupAudioNodes","catch","sourceNode","processorNode","analyserNode","resume","error","createMediaStreamSource","createScriptProcessor","onaudioprocess","audioProcessingEvent","inputBuffer","getChannelData","analyse","createAnalyser","minDecibels","maxDecibels","smoothingTimeConstant","connect","destination","startRecording","onSilence","visualizer","start","Date","now","stopRecording","clear","play","myBlob","res","rej","fileReader","FileReader","onload","playbackSource","disconnect","createBufferSource","successCallback","buf","onended","errorCallback","err","decodeAudioData","onerror","readAsArrayBuffer","stop","analyser","fftSize","bufferLength","dataArray","amplitude","time","getByteTimeDomainData","curr_value_time","newtime","elapsedTime","exportWAV","blob","sampleRate","visualize","canvas","getBoundingClientRect","width","height","canvasCtx","getContext","fillStyle","clearRect","draw","fillRect","lineWidth","color","getComputedStyle","document","documentElement","getPropertyValue","strokeStyle","beginPath","sliceWidth","x","moveTo","lineTo","stroke","requestAnimationFrame","amplifyChatbotCss","AmplifyChatbot","class_1","hostRef","clearOnComplete","conversationModeOn","botTitle","CHATBOT_TITLE","voiceEnabled","textEnabled","silenceTime","silenceThreshold","messages","text","chatState","Initial","messageJSX","messageList","class","from","SendingText","SendingVoice","client","Bot","User","chatCompleted","submitHandler","_event","sendTextMessage","componentWillLoad","validateProps","componentDidRender","element","shadowRoot","querySelector","scrollTop","scrollHeight","welcomeMessage","appendToChat","audioRecorder","setError","Recoverable","emit","reset","Unrecoverable","NO_BOT_NAME_ERROR","CHAT_DISABLED_ERROR","handleSubmit","event","preventDefault","handleMicButton","Listening","handleSilence","sendVoiceMessage","handleTextChange","target","handleCancelButton","handleToastClose","errorType","response","err_3","audioInput","interactionsMessage","err_4","inputTranscript","listeningFooterJSX","visualization","cancelButton","handleButtonClick","variant","icon","footerJSX","inputPlaceholder","TEXT_INPUT_PLACEHOLDER","VOICE_INPUT_PLACEHOLDER","textInput","placeholder","description","handleInputChange","evt","disabled","micButton","sendButton","errorToast","handleClose","render","onSubmit","style","serializeAws_restJson1PostContentCommand","headers","resolvedPath","labelValue","_b","protocol","port","_c","isSerializableHeaderValue","Buffer","fromObject","toString","endpoint","method","path","serializeAws_restJson1PostTextCommand","JSON","stringify","serializeAws_restJson1ActiveContextsList","serializeAws_restJson1StringMap","deserializeAws_restJson1PostContentCommand","contents","statusCode","deserializeAws_restJson1PostContentCommandError","$metadata","deserializeMetadata","botVersion","intentName","messageFormat","nluIntentConfidence","sentimentResponse","sessionId","slotToElicit","parsedOutput","errorCode","_d","_e","_f","_g","_h","_j","_k","_l","_m","_o","parsedBody","_p","_q","parseBody","loadRestJsonErrorCode","deserializeAws_restJson1BadGatewayExceptionResponse","deserializeAws_restJson1BadRequestExceptionResponse","deserializeAws_restJson1ConflictExceptionResponse","deserializeAws_restJson1DependencyFailedExceptionResponse","deserializeAws_restJson1InternalFailureExceptionResponse","deserializeAws_restJson1LimitExceededExceptionResponse","deserializeAws_restJson1LoopDetectedExceptionResponse","deserializeAws_restJson1NotAcceptableExceptionResponse","deserializeAws_restJson1NotFoundExceptionResponse","deserializeAws_restJson1RequestTimeoutExceptionResponse","deserializeAws_restJson1UnsupportedMediaTypeExceptionResponse","code","Code","Message","$fault","deserializeAws_restJson1PostTextCommand","deserializeAws_restJson1PostTextCommandError","responseCard","deserializeAws_restJson1ActiveContextsList","deserializeAws_restJson1IntentList","deserializeAws_restJson1IntentConfidence","deserializeAws_restJson1ResponseCard","deserializeAws_restJson1SentimentResponse","deserializeAws_restJson1StringMap","retryAfterSeconds","serializeAws_restJson1ActiveContext","serializeAws_restJson1ActiveContextParametersMap","timeToLive","serializeAws_restJson1ActiveContextTimeToLive","entries","reduce","acc","filter","entry","timeToLiveInSeconds","turnsToLive","deserializeAws_restJson1ActiveContext","deserializeAws_restJson1ActiveContextParametersMap","deserializeAws_restJson1ActiveContextTimeToLive","deserializeAws_restJson1Button","deserializeAws_restJson1GenericAttachment","attachmentLinkUrl","buttons","deserializeAws_restJson1listOfButtons","imageUrl","subTitle","title","deserializeAws_restJson1genericAttachmentList","score","deserializeAws_restJson1PredictedIntent","genericAttachments","sentimentLabel","sentimentScore","httpStatusCode","requestId","extendedRequestId","cfId","collectBody","streamBody","collectBodyString","getOwnPropertyNames","includes","size","encoded","parse","findKey","object","toLowerCase","sanitizeErrorCode","rawValue","cleanValue","indexOf","split","headerKey"],"mappings":"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","file":"js/chunk-16722cbe.ed8186c7.js","sourcesContent":["import { AuthErrorStrings } from '@aws-amplify/auth';\nvar AuthStrings;\n(function (AuthStrings) {\n AuthStrings[\"BACK_TO_SIGN_IN\"] = \"Back to Sign In\";\n AuthStrings[\"CHANGE_PASSWORD_ACTION\"] = \"Change\";\n AuthStrings[\"CHANGE_PASSWORD\"] = \"Change Password\";\n AuthStrings[\"CODE_LABEL\"] = \"Verification code\";\n AuthStrings[\"CODE_PLACEHOLDER\"] = \"Enter code\";\n AuthStrings[\"CONFIRM_SIGN_UP_CODE_LABEL\"] = \"Confirmation Code\";\n AuthStrings[\"CONFIRM_SIGN_UP_CODE_PLACEHOLDER\"] = \"Enter your code\";\n AuthStrings[\"CONFIRM_SIGN_UP_HEADER_TEXT\"] = \"Confirm Sign up\";\n AuthStrings[\"CONFIRM_SIGN_UP_LOST_CODE\"] = \"Lost your code?\";\n AuthStrings[\"CONFIRM_SIGN_UP_RESEND_CODE\"] = \"Resend Code\";\n AuthStrings[\"CONFIRM_SIGN_UP_SUBMIT_BUTTON_TEXT\"] = \"Confirm\";\n AuthStrings[\"CONFIRM_SMS_CODE\"] = \"Confirm SMS Code\";\n AuthStrings[\"CONFIRM_TOTP_CODE\"] = \"Confirm TOTP Code\";\n AuthStrings[\"CONFIRM\"] = \"Confirm\";\n AuthStrings[\"CREATE_ACCOUNT_TEXT\"] = \"Create account\";\n AuthStrings[\"EMAIL_LABEL\"] = \"Email Address *\";\n AuthStrings[\"EMAIL_PLACEHOLDER\"] = \"Enter your email address\";\n AuthStrings[\"FORGOT_PASSWORD_TEXT\"] = \"Forgot your password?\";\n AuthStrings[\"LESS_THAN_TWO_MFA_VALUES_MESSAGE\"] = \"Less than two MFA types available\";\n AuthStrings[\"NEW_PASSWORD_LABEL\"] = \"New password\";\n AuthStrings[\"NEW_PASSWORD_PLACEHOLDER\"] = \"Enter your new password\";\n AuthStrings[\"NO_ACCOUNT_TEXT\"] = \"No account?\";\n AuthStrings[\"USERNAME_REMOVE_WHITESPACE\"] = \"Username cannot contain whitespace\";\n AuthStrings[\"PASSWORD_REMOVE_WHITESPACE\"] = \"Password cannot start or end with whitespace\";\n AuthStrings[\"PASSWORD_LABEL\"] = \"Password *\";\n AuthStrings[\"PASSWORD_PLACEHOLDER\"] = \"Enter your password\";\n AuthStrings[\"PHONE_LABEL\"] = \"Phone Number *\";\n AuthStrings[\"PHONE_PLACEHOLDER\"] = \"(555) 555-1212\";\n AuthStrings[\"QR_CODE_ALT\"] = \"qrcode\";\n AuthStrings[\"RESET_PASSWORD_TEXT\"] = \"Reset password\";\n AuthStrings[\"RESET_YOUR_PASSWORD\"] = \"Reset your password\";\n AuthStrings[\"SELECT_MFA_TYPE_HEADER_TEXT\"] = \"Select MFA Type\";\n AuthStrings[\"SELECT_MFA_TYPE_SUBMIT_BUTTON_TEXT\"] = \"Verify\";\n AuthStrings[\"SEND_CODE\"] = \"Send Code\";\n AuthStrings[\"SUBMIT\"] = \"Submit\";\n AuthStrings[\"SETUP_TOTP_REQUIRED\"] = \"TOTP needs to be configured\";\n AuthStrings[\"SIGN_IN_ACTION\"] = \"Sign In\";\n AuthStrings[\"SIGN_IN_HEADER_TEXT\"] = \"Sign in to your account\";\n AuthStrings[\"SIGN_IN_TEXT\"] = \"Sign in\";\n AuthStrings[\"SIGN_IN_WITH_AMAZON\"] = \"Sign in with Amazon\";\n AuthStrings[\"SIGN_IN_WITH_AUTH0\"] = \"Sign in with Auth0\";\n AuthStrings[\"SIGN_IN_WITH_AWS\"] = \"Sign in with AWS\";\n AuthStrings[\"SIGN_IN_WITH_FACEBOOK\"] = \"Sign in with Facebook\";\n AuthStrings[\"SIGN_IN_WITH_GOOGLE\"] = \"Sign in with Google\";\n AuthStrings[\"SIGN_OUT\"] = \"Sign Out\";\n AuthStrings[\"SIGN_UP_EMAIL_PLACEHOLDER\"] = \"Email\";\n AuthStrings[\"SIGN_UP_HAVE_ACCOUNT_TEXT\"] = \"Have an account?\";\n AuthStrings[\"SIGN_UP_HEADER_TEXT\"] = \"Create a new account\";\n AuthStrings[\"SIGN_UP_PASSWORD_PLACEHOLDER\"] = \"Password\";\n AuthStrings[\"SIGN_UP_SUBMIT_BUTTON_TEXT\"] = \"Create Account\";\n AuthStrings[\"SIGN_UP_USERNAME_PLACEHOLDER\"] = \"Username\";\n AuthStrings[\"SKIP\"] = \"Skip\";\n AuthStrings[\"SUCCESS_MFA_TYPE\"] = \"Success! Your MFA Type is now:\";\n AuthStrings[\"TOTP_HEADER_TEXT\"] = \"Scan then enter verification code\";\n AuthStrings[\"TOTP_LABEL\"] = \"Enter Security Code:\";\n AuthStrings[\"TOTP_ISSUER\"] = \"AWSCognito\";\n AuthStrings[\"TOTP_SETUP_FAILURE\"] = \"TOTP Setup has failed\";\n AuthStrings[\"TOTP_SUBMIT_BUTTON_TEXT\"] = \"Verify Security Token\";\n AuthStrings[\"TOTP_SUCCESS_MESSAGE\"] = \"Setup TOTP successfully!\";\n AuthStrings[\"UNABLE_TO_SETUP_MFA_AT_THIS_TIME\"] = \"Failed! Unable to configure MFA at this time\";\n AuthStrings[\"USERNAME_LABEL\"] = \"Username *\";\n AuthStrings[\"USERNAME_PLACEHOLDER\"] = \"Enter your username\";\n AuthStrings[\"VERIFY_CONTACT_EMAIL_LABEL\"] = \"Email\";\n AuthStrings[\"VERIFY_CONTACT_HEADER_TEXT\"] = \"Account recovery requires verified contact information\";\n AuthStrings[\"VERIFY_CONTACT_PHONE_LABEL\"] = \"Phone Number\";\n AuthStrings[\"VERIFY_CONTACT_SUBMIT_LABEL\"] = \"Submit\";\n AuthStrings[\"VERIFY_CONTACT_VERIFY_LABEL\"] = \"Verify\";\n AuthStrings[\"ADDRESS_LABEL\"] = \"Address\";\n AuthStrings[\"ADDRESS_PLACEHOLDER\"] = \"Enter your address\";\n AuthStrings[\"NICKNAME_LABEL\"] = \"Nickname\";\n AuthStrings[\"NICKNAME_PLACEHOLDER\"] = \"Enter your nickname\";\n AuthStrings[\"BIRTHDATE_LABEL\"] = \"Birthday\";\n AuthStrings[\"BIRTHDATE_PLACEHOLDER\"] = \"Enter your birthday\";\n AuthStrings[\"PICTURE_LABEL\"] = \"Picture URL\";\n AuthStrings[\"PICTURE_PLACEHOLDER\"] = \"Enter your picture URL\";\n AuthStrings[\"FAMILY_NAME_LABEL\"] = \"Family Name\";\n AuthStrings[\"FAMILY_NAME_PLACEHOLDER\"] = \"Enter your family name\";\n AuthStrings[\"PREFERRED_USERNAME_LABEL\"] = \"Preferred Username\";\n AuthStrings[\"PREFERRED_USERNAME_PLACEHOLDER\"] = \"Enter your preferred username\";\n AuthStrings[\"GENDER_LABEL\"] = \"Gender\";\n AuthStrings[\"GENDER_PLACEHOLDER\"] = \"Enter your gender\";\n AuthStrings[\"PROFILE_LABEL\"] = \"Profile URL\";\n AuthStrings[\"PROFILE_PLACEHOLDER\"] = \"Enter your profile URL\";\n AuthStrings[\"GIVEN_NAME_LABEL\"] = \"First Name\";\n AuthStrings[\"GIVEN_NAME_PLACEHOLDER\"] = \"Enter your first name\";\n AuthStrings[\"ZONEINFO_LABEL\"] = \"Time zone\";\n AuthStrings[\"ZONEINFO_PLACEHOLDER\"] = \"Enter your time zone\";\n AuthStrings[\"LOCALE_LABEL\"] = \"Locale\";\n AuthStrings[\"LOCALE_PLACEHOLDER\"] = \"Enter your locale\";\n AuthStrings[\"UPDATED_AT_LABEL\"] = \"Updated At\";\n AuthStrings[\"UPDATED_AT_PLACEHOLDER\"] = \"Enter the time the information was last updated\";\n AuthStrings[\"MIDDLE_NAME_LABEL\"] = \"Middle Name\";\n AuthStrings[\"MIDDLE_NAME_PLACEHOLDER\"] = \"Enter your middle name\";\n AuthStrings[\"WEBSITE_LABEL\"] = \"Website\";\n AuthStrings[\"WEBSITE_PLACEHOLDER\"] = \"Enter your website\";\n AuthStrings[\"NAME_LABEL\"] = \"Full Name\";\n AuthStrings[\"NAME_PLACEHOLDER\"] = \"Enter your full name\";\n AuthStrings[\"PHOTO_PICKER_TITLE\"] = \"Picker Title\";\n AuthStrings[\"PHOTO_PICKER_HINT\"] = \"Ancillary text or content may occupy this space here\";\n AuthStrings[\"PHOTO_PICKER_PLACEHOLDER_HINT\"] = \"Placeholder hint\";\n AuthStrings[\"PHOTO_PICKER_BUTTON_TEXT\"] = \"Button\";\n AuthStrings[\"IMAGE_PICKER_TITLE\"] = \"Add Profile Photo\";\n AuthStrings[\"IMAGE_PICKER_HINT\"] = \"Preview the image before upload\";\n AuthStrings[\"IMAGE_PICKER_PLACEHOLDER_HINT\"] = \"Tap to image select\";\n AuthStrings[\"IMAGE_PICKER_BUTTON_TEXT\"] = \"Upload\";\n AuthStrings[\"PICKER_TEXT\"] = \"Pick a file\";\n AuthStrings[\"TEXT_FALLBACK_CONTENT\"] = \"Fallback Content\";\n AuthStrings[\"CONFIRM_SIGN_UP_FAILED\"] = \"Confirm Sign Up Failed\";\n AuthStrings[\"SIGN_UP_FAILED\"] = \"Sign Up Failed\";\n})(AuthStrings || (AuthStrings = {}));\nvar InteractionsStrings;\n(function (InteractionsStrings) {\n InteractionsStrings[\"CHATBOT_TITLE\"] = \"ChatBot Lex\";\n InteractionsStrings[\"TEXT_INPUT_PLACEHOLDER\"] = \"Write a message\";\n InteractionsStrings[\"VOICE_INPUT_PLACEHOLDER\"] = \"Click mic to speak\";\n InteractionsStrings[\"CHAT_DISABLED_ERROR\"] = \"Error: Either voice or text must be enabled for the chatbot\";\n InteractionsStrings[\"NO_BOT_NAME_ERROR\"] = \"Error: Bot name must be provided to ChatBot\";\n})(InteractionsStrings || (InteractionsStrings = {}));\nvar Translations = Object.assign(Object.assign(Object.assign({}, AuthStrings), AuthErrorStrings), InteractionsStrings);\nexport { Translations as T };\n","// Dictionaries\n// fieldId constants\nvar USERNAME_SUFFIX = 'username';\nvar EMAIL_SUFFIX = 'email';\nvar CODE_SUFFIX = 'code';\nvar PHONE_SUFFIX = 'phone';\nvar PASSWORD_SUFFIX = 'password';\n// Country Dial Code common constants\nvar COUNTRY_DIAL_CODE_SUFFIX = 'country-dial-code-select';\nvar COUNTRY_DIAL_CODE_DEFAULT = '+1';\n// Auth Keys\nvar AUTH_SOURCE_KEY = 'amplify-auth-source';\n// Error message Common Constants\nvar PHONE_EMPTY_ERROR_MESSAGE = 'Phone number can not be empty';\nvar NO_AUTH_MODULE_FOUND = 'No Auth module found, please ensure @aws-amplify/auth is imported';\nvar NO_STORAGE_MODULE_FOUND = 'No Storage module found, please ensure @aws-amplify/storage is imported';\nvar NO_INTERACTIONS_MODULE_FOUND = 'No Interactions module found, please ensure @aws-amplify/interactions is imported';\n// Select MFA Types Messages\nvar USER_NOT_SETUP_SOFTWARE_TOKEN_MFA = 'User has not set up software token mfa';\nvar USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA = 'User has not verified software token mfa';\n// Hub Events and Channels\nvar AUTH_CHANNEL = 'auth';\nvar UI_AUTH_CHANNEL = 'UI Auth';\nvar TOAST_AUTH_ERROR_EVENT = 'ToastAuthError';\nvar AUTH_STATE_CHANGE_EVENT = 'AuthStateChange';\nexport { AUTH_CHANNEL as A, COUNTRY_DIAL_CODE_SUFFIX as C, EMAIL_SUFFIX as E, NO_AUTH_MODULE_FOUND as N, PHONE_EMPTY_ERROR_MESSAGE as P, TOAST_AUTH_ERROR_EVENT as T, UI_AUTH_CHANNEL as U, AUTH_STATE_CHANGE_EVENT as a, PHONE_SUFFIX as b, NO_INTERACTIONS_MODULE_FOUND as c, NO_STORAGE_MODULE_FOUND as d, USER_NOT_SETUP_SOFTWARE_TOKEN_MFA as e, USER_NOT_VERIFIED_SOFTWARE_TOKEN_MFA as f, COUNTRY_DIAL_CODE_DEFAULT as g, AUTH_SOURCE_KEY as h, CODE_SUFFIX as i, PASSWORD_SUFFIX as j, USERNAME_SUFFIX as k };\n","import { __assign } from \"tslib\";\nimport { SENSITIVE_STRING, } from \"@aws-sdk/smithy-client\";\nexport var ActiveContextTimeToLive;\n(function (ActiveContextTimeToLive) {\n ActiveContextTimeToLive.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ActiveContextTimeToLive || (ActiveContextTimeToLive = {}));\nexport var ActiveContext;\n(function (ActiveContext) {\n ActiveContext.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.parameters && { parameters: SENSITIVE_STRING }))); };\n})(ActiveContext || (ActiveContext = {}));\nexport var BadRequestException;\n(function (BadRequestException) {\n BadRequestException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(BadRequestException || (BadRequestException = {}));\nexport var ConflictException;\n(function (ConflictException) {\n ConflictException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ConflictException || (ConflictException = {}));\nexport var DeleteSessionRequest;\n(function (DeleteSessionRequest) {\n DeleteSessionRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteSessionRequest || (DeleteSessionRequest = {}));\nexport var DeleteSessionResponse;\n(function (DeleteSessionResponse) {\n DeleteSessionResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteSessionResponse || (DeleteSessionResponse = {}));\nexport var InternalFailureException;\n(function (InternalFailureException) {\n InternalFailureException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InternalFailureException || (InternalFailureException = {}));\nexport var LimitExceededException;\n(function (LimitExceededException) {\n LimitExceededException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LimitExceededException || (LimitExceededException = {}));\nexport var NotFoundException;\n(function (NotFoundException) {\n NotFoundException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NotFoundException || (NotFoundException = {}));\nexport var GetSessionRequest;\n(function (GetSessionRequest) {\n GetSessionRequest.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetSessionRequest || (GetSessionRequest = {}));\nexport var FulfillmentState;\n(function (FulfillmentState) {\n FulfillmentState[\"FAILED\"] = \"Failed\";\n FulfillmentState[\"FULFILLED\"] = \"Fulfilled\";\n FulfillmentState[\"READY_FOR_FULFILLMENT\"] = \"ReadyForFulfillment\";\n})(FulfillmentState || (FulfillmentState = {}));\nexport var MessageFormatType;\n(function (MessageFormatType) {\n MessageFormatType[\"COMPOSITE\"] = \"Composite\";\n MessageFormatType[\"CUSTOM_PAYLOAD\"] = \"CustomPayload\";\n MessageFormatType[\"PLAIN_TEXT\"] = \"PlainText\";\n MessageFormatType[\"SSML\"] = \"SSML\";\n})(MessageFormatType || (MessageFormatType = {}));\nexport var DialogActionType;\n(function (DialogActionType) {\n DialogActionType[\"CLOSE\"] = \"Close\";\n DialogActionType[\"CONFIRM_INTENT\"] = \"ConfirmIntent\";\n DialogActionType[\"DELEGATE\"] = \"Delegate\";\n DialogActionType[\"ELICIT_INTENT\"] = \"ElicitIntent\";\n DialogActionType[\"ELICIT_SLOT\"] = \"ElicitSlot\";\n})(DialogActionType || (DialogActionType = {}));\nexport var DialogAction;\n(function (DialogAction) {\n DialogAction.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.slots && { slots: SENSITIVE_STRING })), (obj.message && { message: SENSITIVE_STRING }))); };\n})(DialogAction || (DialogAction = {}));\nexport var ConfirmationStatus;\n(function (ConfirmationStatus) {\n ConfirmationStatus[\"CONFIRMED\"] = \"Confirmed\";\n ConfirmationStatus[\"DENIED\"] = \"Denied\";\n ConfirmationStatus[\"NONE\"] = \"None\";\n})(ConfirmationStatus || (ConfirmationStatus = {}));\nexport var IntentSummary;\n(function (IntentSummary) {\n IntentSummary.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.slots && { slots: SENSITIVE_STRING }))); };\n})(IntentSummary || (IntentSummary = {}));\nexport var GetSessionResponse;\n(function (GetSessionResponse) {\n GetSessionResponse.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign(__assign({}, obj), (obj.recentIntentSummaryView && {\n recentIntentSummaryView: obj.recentIntentSummaryView.map(function (item) { return IntentSummary.filterSensitiveLog(item); }),\n })), (obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING })), (obj.dialogAction && { dialogAction: DialogAction.filterSensitiveLog(obj.dialogAction) })), (obj.activeContexts && { activeContexts: SENSITIVE_STRING }))); };\n})(GetSessionResponse || (GetSessionResponse = {}));\nexport var BadGatewayException;\n(function (BadGatewayException) {\n BadGatewayException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(BadGatewayException || (BadGatewayException = {}));\nexport var DependencyFailedException;\n(function (DependencyFailedException) {\n DependencyFailedException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DependencyFailedException || (DependencyFailedException = {}));\nexport var LoopDetectedException;\n(function (LoopDetectedException) {\n LoopDetectedException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LoopDetectedException || (LoopDetectedException = {}));\nexport var NotAcceptableException;\n(function (NotAcceptableException) {\n NotAcceptableException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NotAcceptableException || (NotAcceptableException = {}));\nexport var PostContentRequest;\n(function (PostContentRequest) {\n PostContentRequest.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign({}, obj), (obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING })), (obj.requestAttributes && { requestAttributes: SENSITIVE_STRING })), (obj.activeContexts && { activeContexts: SENSITIVE_STRING }))); };\n})(PostContentRequest || (PostContentRequest = {}));\nexport var DialogState;\n(function (DialogState) {\n DialogState[\"CONFIRM_INTENT\"] = \"ConfirmIntent\";\n DialogState[\"ELICIT_INTENT\"] = \"ElicitIntent\";\n DialogState[\"ELICIT_SLOT\"] = \"ElicitSlot\";\n DialogState[\"FAILED\"] = \"Failed\";\n DialogState[\"FULFILLED\"] = \"Fulfilled\";\n DialogState[\"READY_FOR_FULFILLMENT\"] = \"ReadyForFulfillment\";\n})(DialogState || (DialogState = {}));\nexport var PostContentResponse;\n(function (PostContentResponse) {\n PostContentResponse.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.message && { message: SENSITIVE_STRING })), (obj.activeContexts && { activeContexts: SENSITIVE_STRING }))); };\n})(PostContentResponse || (PostContentResponse = {}));\nexport var RequestTimeoutException;\n(function (RequestTimeoutException) {\n RequestTimeoutException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RequestTimeoutException || (RequestTimeoutException = {}));\nexport var UnsupportedMediaTypeException;\n(function (UnsupportedMediaTypeException) {\n UnsupportedMediaTypeException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UnsupportedMediaTypeException || (UnsupportedMediaTypeException = {}));\nexport var PostTextRequest;\n(function (PostTextRequest) {\n PostTextRequest.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign(__assign({}, obj), (obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING })), (obj.requestAttributes && { requestAttributes: SENSITIVE_STRING })), (obj.inputText && { inputText: SENSITIVE_STRING })), (obj.activeContexts && { activeContexts: SENSITIVE_STRING }))); };\n})(PostTextRequest || (PostTextRequest = {}));\nexport var IntentConfidence;\n(function (IntentConfidence) {\n IntentConfidence.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IntentConfidence || (IntentConfidence = {}));\nexport var PredictedIntent;\n(function (PredictedIntent) {\n PredictedIntent.filterSensitiveLog = function (obj) { return (__assign(__assign({}, obj), (obj.slots && { slots: SENSITIVE_STRING }))); };\n})(PredictedIntent || (PredictedIntent = {}));\nexport var ContentType;\n(function (ContentType) {\n ContentType[\"GENERIC\"] = \"application/vnd.amazonaws.card.generic\";\n})(ContentType || (ContentType = {}));\nexport var Button;\n(function (Button) {\n Button.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Button || (Button = {}));\nexport var GenericAttachment;\n(function (GenericAttachment) {\n GenericAttachment.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GenericAttachment || (GenericAttachment = {}));\nexport var ResponseCard;\n(function (ResponseCard) {\n ResponseCard.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ResponseCard || (ResponseCard = {}));\nexport var SentimentResponse;\n(function (SentimentResponse) {\n SentimentResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(SentimentResponse || (SentimentResponse = {}));\nexport var PostTextResponse;\n(function (PostTextResponse) {\n PostTextResponse.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign(__assign(__assign({}, obj), (obj.alternativeIntents && {\n alternativeIntents: obj.alternativeIntents.map(function (item) { return PredictedIntent.filterSensitiveLog(item); }),\n })), (obj.slots && { slots: SENSITIVE_STRING })), (obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING })), (obj.message && { message: SENSITIVE_STRING })), (obj.activeContexts && { activeContexts: SENSITIVE_STRING }))); };\n})(PostTextResponse || (PostTextResponse = {}));\nexport var PutSessionRequest;\n(function (PutSessionRequest) {\n PutSessionRequest.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign(__assign(__assign({}, obj), (obj.sessionAttributes && { sessionAttributes: SENSITIVE_STRING })), (obj.dialogAction && { dialogAction: DialogAction.filterSensitiveLog(obj.dialogAction) })), (obj.recentIntentSummaryView && {\n recentIntentSummaryView: obj.recentIntentSummaryView.map(function (item) { return IntentSummary.filterSensitiveLog(item); }),\n })), (obj.activeContexts && { activeContexts: SENSITIVE_STRING }))); };\n})(PutSessionRequest || (PutSessionRequest = {}));\nexport var PutSessionResponse;\n(function (PutSessionResponse) {\n PutSessionResponse.filterSensitiveLog = function (obj) { return (__assign(__assign(__assign({}, obj), (obj.message && { message: SENSITIVE_STRING })), (obj.activeContexts && { activeContexts: SENSITIVE_STRING }))); };\n})(PutSessionResponse || (PutSessionResponse = {}));\n//# sourceMappingURL=models_0.js.map","/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('AbstractInteractionsProvider');\nvar AbstractInteractionsProvider = /** @class */ (function () {\n function AbstractInteractionsProvider(options) {\n if (options === void 0) { options = {}; }\n this._config = options;\n }\n AbstractInteractionsProvider.prototype.configure = function (config) {\n if (config === void 0) { config = {}; }\n this._config = __assign(__assign({}, this._config), config);\n logger.debug(\"configure \" + this.getProviderName(), this._config);\n return this.options;\n };\n AbstractInteractionsProvider.prototype.getCategory = function () {\n return 'Interactions';\n };\n Object.defineProperty(AbstractInteractionsProvider.prototype, \"options\", {\n get: function () {\n return __assign({}, this._config);\n },\n enumerable: true,\n configurable: true\n });\n return AbstractInteractionsProvider;\n}());\nexport { AbstractInteractionsProvider };\n//# sourceMappingURL=InteractionsProvider.js.map","import { __assign } from \"tslib\";\n// Partition default templates\nvar AWS_TEMPLATE = \"runtime.lex.{region}.amazonaws.com\";\nvar AWS_CN_TEMPLATE = \"runtime.lex.{region}.amazonaws.com.cn\";\nvar AWS_ISO_TEMPLATE = \"runtime.lex.{region}.c2s.ic.gov\";\nvar AWS_ISO_B_TEMPLATE = \"runtime.lex.{region}.sc2s.sgov.gov\";\nvar AWS_US_GOV_TEMPLATE = \"runtime.lex.{region}.amazonaws.com\";\n// Partition regions\nvar AWS_REGIONS = new Set([\n \"af-south-1\",\n \"ap-east-1\",\n \"ap-northeast-1\",\n \"ap-northeast-2\",\n \"ap-south-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"ca-central-1\",\n \"eu-central-1\",\n \"eu-north-1\",\n \"eu-south-1\",\n \"eu-west-1\",\n \"eu-west-2\",\n \"eu-west-3\",\n \"me-south-1\",\n \"sa-east-1\",\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n \"us-west-2\",\n]);\nvar AWS_CN_REGIONS = new Set([\"cn-north-1\", \"cn-northwest-1\"]);\nvar AWS_ISO_REGIONS = new Set([\"us-iso-east-1\"]);\nvar AWS_ISO_B_REGIONS = new Set([\"us-isob-east-1\"]);\nvar AWS_US_GOV_REGIONS = new Set([\"us-gov-east-1\", \"us-gov-west-1\"]);\nexport var defaultRegionInfoProvider = function (region, options) {\n var regionInfo = undefined;\n switch (region) {\n // First, try to match exact region names.\n case \"ap-northeast-1\":\n regionInfo = {\n hostname: \"runtime.lex.ap-northeast-1.amazonaws.com\",\n partition: \"aws\",\n signingService: \"lex\",\n };\n break;\n case \"ap-southeast-1\":\n regionInfo = {\n hostname: \"runtime.lex.ap-southeast-1.amazonaws.com\",\n partition: \"aws\",\n signingService: \"lex\",\n };\n break;\n case \"ap-southeast-2\":\n regionInfo = {\n hostname: \"runtime.lex.ap-southeast-2.amazonaws.com\",\n partition: \"aws\",\n signingService: \"lex\",\n };\n break;\n case \"eu-central-1\":\n regionInfo = {\n hostname: \"runtime.lex.eu-central-1.amazonaws.com\",\n partition: \"aws\",\n signingService: \"lex\",\n };\n break;\n case \"eu-west-1\":\n regionInfo = {\n hostname: \"runtime.lex.eu-west-1.amazonaws.com\",\n partition: \"aws\",\n signingService: \"lex\",\n };\n break;\n case \"eu-west-2\":\n regionInfo = {\n hostname: \"runtime.lex.eu-west-2.amazonaws.com\",\n partition: \"aws\",\n signingService: \"lex\",\n };\n break;\n case \"us-east-1\":\n regionInfo = {\n hostname: \"runtime.lex.us-east-1.amazonaws.com\",\n partition: \"aws\",\n signingService: \"lex\",\n };\n break;\n case \"us-west-2\":\n regionInfo = {\n hostname: \"runtime.lex.us-west-2.amazonaws.com\",\n partition: \"aws\",\n signingService: \"lex\",\n };\n break;\n // Next, try to match partition endpoints.\n default:\n if (AWS_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n signingService: \"lex\",\n };\n }\n if (AWS_CN_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_CN_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-cn\",\n };\n }\n if (AWS_ISO_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso\",\n };\n }\n if (AWS_ISO_B_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_B_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso-b\",\n };\n }\n if (AWS_US_GOV_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_US_GOV_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-us-gov\",\n };\n }\n // Finally, assume it's an AWS partition endpoint.\n if (regionInfo === undefined) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n signingService: \"lex\",\n };\n }\n }\n return Promise.resolve(__assign({ signingService: \"lex\" }, regionInfo));\n};\n//# sourceMappingURL=endpoints.js.map","import { defaultRegionInfoProvider } from \"./endpoints\";\nimport { parseUrl } from \"@aws-sdk/url-parser\";\n/**\n * @internal\n */\nexport var ClientSharedValues = {\n apiVersion: \"2016-11-28\",\n disableHostPrefix: false,\n logger: {},\n regionInfoProvider: defaultRegionInfoProvider,\n serviceId: \"Lex Runtime Service\",\n urlParser: parseUrl,\n};\n//# sourceMappingURL=runtimeConfig.shared.js.map","import { __assign } from \"tslib\";\nimport packageInfo from \"./package.json\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { FetchHttpHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { invalidProvider } from \"@aws-sdk/invalid-dependency\";\nimport { DEFAULT_MAX_ATTEMPTS } from \"@aws-sdk/middleware-retry\";\nimport { fromBase64, toBase64 } from \"@aws-sdk/util-base64-browser\";\nimport { calculateBodyLength } from \"@aws-sdk/util-body-length-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { fromUtf8, toUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { ClientSharedValues } from \"./runtimeConfig.shared\";\n/**\n * @internal\n */\nexport var ClientDefaultValues = __assign(__assign({}, ClientSharedValues), { runtime: \"browser\", base64Decoder: fromBase64, base64Encoder: toBase64, bodyLengthChecker: calculateBodyLength, credentialDefaultProvider: function (_) { return function () { return Promise.reject(new Error(\"Credential is missing\")); }; }, defaultUserAgentProvider: defaultUserAgent({\n serviceId: ClientSharedValues.serviceId,\n clientVersion: packageInfo.version,\n }), maxAttempts: DEFAULT_MAX_ATTEMPTS, region: invalidProvider(\"Region is missing\"), requestHandler: new FetchHttpHandler(), sha256: Sha256, streamCollector: streamCollector, utf8Decoder: fromUtf8, utf8Encoder: toUtf8 });\n//# sourceMappingURL=runtimeConfig.browser.js.map","import { __assign, __extends } from \"tslib\";\nimport { ClientDefaultValues as __ClientDefaultValues } from \"./runtimeConfig\";\nimport { resolveEndpointsConfig, resolveRegionConfig, } from \"@aws-sdk/config-resolver\";\nimport { getContentLengthPlugin } from \"@aws-sdk/middleware-content-length\";\nimport { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\nimport { getAwsAuthPlugin, resolveAwsAuthConfig, } from \"@aws-sdk/middleware-signing\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { Client as __Client, } from \"@aws-sdk/smithy-client\";\n/**\n *

Amazon Lex provides both build and runtime endpoints. Each endpoint provides a set of\n * operations (API). Your conversational bot uses the runtime API to understand user utterances\n * (user input text or voice). For example, suppose a user says \"I want pizza\", your bot sends\n * this input to Amazon Lex using the runtime API. Amazon Lex recognizes that the user request is\n * for the OrderPizza intent (one of the intents defined in the bot). Then Amazon Lex engages in\n * user conversation on behalf of the bot to elicit required information (slot values, such as\n * pizza size and crust type), and then performs fulfillment activity (that you configured when\n * you created the bot). You use the build-time API to create and manage your Amazon Lex bot. For\n * a list of build-time operations, see the build-time API, .

\n */\nvar LexRuntimeServiceClient = /** @class */ (function (_super) {\n __extends(LexRuntimeServiceClient, _super);\n function LexRuntimeServiceClient(configuration) {\n var _this = this;\n var _config_0 = __assign(__assign({}, __ClientDefaultValues), configuration);\n var _config_1 = resolveRegionConfig(_config_0);\n var _config_2 = resolveEndpointsConfig(_config_1);\n var _config_3 = resolveAwsAuthConfig(_config_2);\n var _config_4 = resolveRetryConfig(_config_3);\n var _config_5 = resolveHostHeaderConfig(_config_4);\n var _config_6 = resolveUserAgentConfig(_config_5);\n _this = _super.call(this, _config_6) || this;\n _this.config = _config_6;\n _this.middlewareStack.use(getAwsAuthPlugin(_this.config));\n _this.middlewareStack.use(getRetryPlugin(_this.config));\n _this.middlewareStack.use(getContentLengthPlugin(_this.config));\n _this.middlewareStack.use(getHostHeaderPlugin(_this.config));\n _this.middlewareStack.use(getLoggerPlugin(_this.config));\n _this.middlewareStack.use(getUserAgentPlugin(_this.config));\n return _this;\n }\n LexRuntimeServiceClient.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return LexRuntimeServiceClient;\n}(__Client));\nexport { LexRuntimeServiceClient };\n//# sourceMappingURL=LexRuntimeServiceClient.js.map","import { __extends } from \"tslib\";\nimport { PostTextRequest, PostTextResponse } from \"../models/models_0\";\nimport { deserializeAws_restJson1PostTextCommand, serializeAws_restJson1PostTextCommand, } from \"../protocols/Aws_restJson1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Sends user input to Amazon Lex. Client applications can use this API to send requests to\n * Amazon Lex at runtime. Amazon Lex then interprets the user input using the machine learning model it\n * built for the bot.

\n *

In response, Amazon Lex returns the next message to convey to the user an\n * optional responseCard to display. Consider the following example messages:

\n * \n *\n *

Not all Amazon Lex messages require a user response. For example, a conclusion statement\n * does not require a response. Some messages require only a \"yes\" or \"no\" user response. In\n * addition to the message, Amazon Lex provides additional context about the message\n * in the response that you might use to enhance client behavior, for example, to display the\n * appropriate client user interface. These are the slotToElicit,\n * dialogState, intentName, and slots fields in the\n * response. Consider the following examples:

\n *\n * \n *\n *

In addition, Amazon Lex also returns your application-specific\n * sessionAttributes. For more information, see Managing Conversation Context.

\n */\nvar PostTextCommand = /** @class */ (function (_super) {\n __extends(PostTextCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function PostTextCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n PostTextCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"LexRuntimeServiceClient\";\n var commandName = \"PostTextCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: PostTextRequest.filterSensitiveLog,\n outputFilterSensitiveLog: PostTextResponse.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n PostTextCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1PostTextCommand(input, context);\n };\n PostTextCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1PostTextCommand(output, context);\n };\n return PostTextCommand;\n}($Command));\nexport { PostTextCommand };\n//# sourceMappingURL=PostTextCommand.js.map","import { __extends } from \"tslib\";\nimport { PostContentRequest, PostContentResponse } from \"../models/models_0\";\nimport { deserializeAws_restJson1PostContentCommand, serializeAws_restJson1PostContentCommand, } from \"../protocols/Aws_restJson1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Sends user input (text or speech) to Amazon Lex. Clients use this API to send text and audio\n * requests to Amazon Lex at runtime. Amazon Lex interprets the user input using the machine learning model\n * that it built for the bot.

\n *

The PostContent operation supports audio input at 8kHz and 16kHz. You can use\n * 8kHz audio to achieve higher speech recognition accuracy in telephone audio applications.

\n *

In response, Amazon Lex returns the next message to convey to the user. Consider the following\n * example messages:

\n * \n *

Not all Amazon Lex messages require a response from the user. For example, conclusion\n * statements do not require a response. Some messages require only a yes or no response. In\n * addition to the message, Amazon Lex provides additional context about the message in\n * the response that you can use to enhance client behavior, such as displaying the appropriate\n * client user interface. Consider the following examples:

\n * \n *

In addition, Amazon Lex also returns your application-specific sessionAttributes.\n * For more information, see Managing Conversation Context.

\n */\nvar PostContentCommand = /** @class */ (function (_super) {\n __extends(PostContentCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function PostContentCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n PostContentCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"LexRuntimeServiceClient\";\n var commandName = \"PostContentCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: PostContentRequest.filterSensitiveLog,\n outputFilterSensitiveLog: PostContentResponse.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n PostContentCommand.prototype.serialize = function (input, context) {\n return serializeAws_restJson1PostContentCommand(input, context);\n };\n PostContentCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_restJson1PostContentCommand(output, context);\n };\n return PostContentCommand;\n}($Command));\nexport { PostContentCommand };\n//# sourceMappingURL=PostContentCommand.js.map","export var convert = function (stream) {\n if (stream instanceof Blob || stream instanceof ReadableStream) {\n return new Response(stream)\n .arrayBuffer()\n .then(function (buffer) { return new Uint8Array(buffer); });\n }\n else {\n throw new Error('Readable is not supported.');\n }\n};\n//# sourceMappingURL=convert.js.map","/*\n * Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { AbstractInteractionsProvider } from './InteractionsProvider';\nimport { LexRuntimeServiceClient, PostTextCommand, PostContentCommand, } from '@aws-sdk/client-lex-runtime-service';\nimport { ConsoleLogger as Logger, Credentials, getAmplifyUserAgent, } from '@aws-amplify/core';\nimport { convert } from './AWSLexProviderHelper/convert';\nvar logger = new Logger('AWSLexProvider');\nvar AWSLexProvider = /** @class */ (function (_super) {\n __extends(AWSLexProvider, _super);\n function AWSLexProvider(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, options) || this;\n _this._botsCompleteCallback = {};\n return _this;\n }\n AWSLexProvider.prototype.getProviderName = function () {\n return 'AWSLexProvider';\n };\n AWSLexProvider.prototype.reportBotStatus = function (data, botname) {\n var _this = this;\n // Check if state is fulfilled to resolve onFullfilment promise\n logger.debug('postContent state', data.dialogState);\n if (data.dialogState === 'ReadyForFulfillment' ||\n data.dialogState === 'Fulfilled') {\n if (typeof this._botsCompleteCallback[botname] === 'function') {\n setTimeout(function () {\n return _this._botsCompleteCallback[botname](null, { slots: data.slots });\n }, 0);\n }\n if (this._config &&\n typeof this._config[botname].onComplete === 'function') {\n setTimeout(function () { return _this._config[botname].onComplete(null, { slots: data.slots }); }, 0);\n }\n }\n if (data.dialogState === 'Failed') {\n if (typeof this._botsCompleteCallback[botname] === 'function') {\n setTimeout(function () { return _this._botsCompleteCallback[botname]('Bot conversation failed'); }, 0);\n }\n if (this._config &&\n typeof this._config[botname].onComplete === 'function') {\n setTimeout(function () { return _this._config[botname].onComplete('Bot conversation failed'); }, 0);\n }\n }\n };\n AWSLexProvider.prototype.sendMessage = function (botname, message) {\n return __awaiter(this, void 0, void 0, function () {\n var credentials, params, postTextCommand, data, err_1, content, messageType, postContentCommand, data, audioArray, err_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this._config[botname]) {\n return [2 /*return*/, Promise.reject('Bot ' + botname + ' does not exist')];\n }\n return [4 /*yield*/, Credentials.get()];\n case 1:\n credentials = _a.sent();\n if (!credentials) {\n return [2 /*return*/, Promise.reject('No credentials')];\n }\n this.lexRuntimeServiceClient = new LexRuntimeServiceClient({\n region: this._config[botname].region,\n credentials: credentials,\n customUserAgent: getAmplifyUserAgent(),\n });\n if (!(typeof message === 'string')) return [3 /*break*/, 6];\n params = {\n botAlias: this._config[botname].alias,\n botName: botname,\n inputText: message,\n userId: credentials.identityId,\n };\n logger.debug('postText to lex', message);\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n postTextCommand = new PostTextCommand(params);\n return [4 /*yield*/, this.lexRuntimeServiceClient.send(postTextCommand)];\n case 3:\n data = _a.sent();\n this.reportBotStatus(data, botname);\n return [2 /*return*/, data];\n case 4:\n err_1 = _a.sent();\n return [2 /*return*/, Promise.reject(err_1)];\n case 5: return [3 /*break*/, 11];\n case 6:\n content = message.content, messageType = message.options.messageType;\n if (messageType === 'voice') {\n params = {\n botAlias: this._config[botname].alias,\n botName: botname,\n contentType: 'audio/x-l16; sample-rate=16000',\n inputStream: content,\n userId: credentials.identityId,\n accept: 'audio/mpeg',\n };\n }\n else {\n params = {\n botAlias: this._config[botname].alias,\n botName: botname,\n contentType: 'text/plain; charset=utf-8',\n inputStream: content,\n userId: credentials.identityId,\n accept: 'audio/mpeg',\n };\n }\n logger.debug('postContent to lex', message);\n _a.label = 7;\n case 7:\n _a.trys.push([7, 10, , 11]);\n postContentCommand = new PostContentCommand(params);\n return [4 /*yield*/, this.lexRuntimeServiceClient.send(postContentCommand)];\n case 8:\n data = _a.sent();\n return [4 /*yield*/, convert(data.audioStream)];\n case 9:\n audioArray = _a.sent();\n this.reportBotStatus(data, botname);\n return [2 /*return*/, __assign(__assign({}, data), { audioStream: audioArray })];\n case 10:\n err_2 = _a.sent();\n return [2 /*return*/, Promise.reject(err_2)];\n case 11: return [2 /*return*/];\n }\n });\n });\n };\n AWSLexProvider.prototype.onComplete = function (botname, callback) {\n if (!this._config[botname]) {\n throw new ErrorEvent('Bot ' + botname + ' does not exist');\n }\n this._botsCompleteCallback[botname] = callback;\n };\n return AWSLexProvider;\n}(AbstractInteractionsProvider));\nexport { AWSLexProvider };\n//# sourceMappingURL=AWSLexProvider.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nimport { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { AWSLexProvider } from './Providers';\nvar logger = new Logger('Interactions');\nvar InteractionsClass = /** @class */ (function () {\n /**\n * Initialize PubSub with AWS configurations\n *\n * @param {InteractionsOptions} options - Configuration object for Interactions\n */\n function InteractionsClass(options) {\n this._options = options;\n logger.debug('Interactions Options', this._options);\n this._pluggables = {};\n }\n InteractionsClass.prototype.getModuleName = function () {\n return 'Interactions';\n };\n /**\n *\n * @param {InteractionsOptions} options - Configuration object for Interactions\n * @return {Object} - The current configuration\n */\n InteractionsClass.prototype.configure = function (options) {\n var _this = this;\n var opt = options ? options.Interactions || options : {};\n logger.debug('configure Interactions', { opt: opt });\n this._options = __assign(__assign({ bots: {} }, opt), opt.Interactions);\n var aws_bots_config = this._options.aws_bots_config;\n var bots_config = this._options.bots;\n if (!Object.keys(bots_config).length && aws_bots_config) {\n // Convert aws_bots_config to bots object\n if (Array.isArray(aws_bots_config)) {\n aws_bots_config.forEach(function (bot) {\n _this._options.bots[bot.name] = bot;\n });\n }\n }\n // Check if AWSLex provider is already on pluggables\n if (!this._pluggables.AWSLexProvider &&\n bots_config &&\n Object.keys(bots_config)\n .map(function (key) { return bots_config[key]; })\n .find(function (bot) { return !bot.providerName || bot.providerName === 'AWSLexProvider'; })) {\n this._pluggables.AWSLexProvider = new AWSLexProvider();\n }\n Object.keys(this._pluggables).map(function (key) {\n _this._pluggables[key].configure(_this._options.bots);\n });\n return this._options;\n };\n InteractionsClass.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategory() === 'Interactions') {\n if (!this._pluggables[pluggable.getProviderName()]) {\n pluggable.configure(this._options.bots);\n this._pluggables[pluggable.getProviderName()] = pluggable;\n return;\n }\n else {\n throw new Error('Bot ' + pluggable.getProviderName() + ' already plugged');\n }\n }\n };\n InteractionsClass.prototype.send = function (botname, message) {\n return __awaiter(this, void 0, void 0, function () {\n var botProvider;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this._options.bots || !this._options.bots[botname]) {\n throw new Error('Bot ' + botname + ' does not exist');\n }\n botProvider = this._options.bots[botname].providerName || 'AWSLexProvider';\n if (!this._pluggables[botProvider]) {\n throw new Error('Bot ' +\n botProvider +\n ' does not have valid pluggin did you try addPluggable first?');\n }\n return [4 /*yield*/, this._pluggables[botProvider].sendMessage(botname, message)];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n InteractionsClass.prototype.onComplete = function (botname, callback) {\n if (!this._options.bots || !this._options.bots[botname]) {\n throw new Error('Bot ' + botname + ' does not exist');\n }\n var botProvider = this._options.bots[botname].providerName || 'AWSLexProvider';\n if (!this._pluggables[botProvider]) {\n throw new Error('Bot ' +\n botProvider +\n ' does not have valid pluggin did you try addPluggable first?');\n }\n this._pluggables[botProvider].onComplete(botname, callback);\n };\n return InteractionsClass;\n}());\nexport { InteractionsClass };\nexport var Interactions = new InteractionsClass(null);\nAmplify.register(Interactions);\n//# sourceMappingURL=Interactions.js.map","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { r as registerInstance, h, c as createEvent, H as Host, g as getElement } from './index-83f2275b.js';\nimport { Logger, browserOrNode, I18n } from '@aws-amplify/core';\nimport '@aws-amplify/auth';\nimport { T as Translations } from './Translations-108d469f.js';\nimport { c as NO_INTERACTIONS_MODULE_FOUND } from './constants-c8ecaa24.js';\nimport { Interactions } from '@aws-amplify/interactions';\n// AudioRecorder settings\nvar RECORDER_EXPORT_MIME_TYPE = 'application/octet-stream';\nvar DEFAULT_EXPORT_SAMPLE_RATE = 16000;\nvar FFT_SIZE = 2048; // window size in samples for Fast Fourier Transform (FFT)\nvar FFT_MAX_DECIBELS = -10; // maximum power value in the scaling range for the FFT analysis data\nvar FFT_MIN_DECIBELS = -90; // minimum power value in the scaling range for the FFT analysis data\nvar FFT_SMOOTHING_TIME_CONSTANT = 0.85; // averaging constant with the last analysis frame\n/**\n * Merges multiple buffers into one.\n */\nvar mergeBuffers = function (bufferArray, recLength) {\n var result = new Float32Array(recLength);\n var offset = 0;\n for (var i = 0; i < bufferArray.length; i++) {\n result.set(bufferArray[i], offset);\n offset += bufferArray[i].length;\n }\n return result;\n};\n/**\n * Downsamples audio to desired export sample rate.\n */\nvar downsampleBuffer = function (buffer, recordSampleRate, exportSampleRate) {\n if (exportSampleRate === recordSampleRate) {\n return buffer;\n }\n var sampleRateRatio = recordSampleRate / exportSampleRate;\n var newLength = Math.round(buffer.length / sampleRateRatio);\n var result = new Float32Array(newLength);\n var offsetResult = 0;\n var offsetBuffer = 0;\n while (offsetResult < result.length) {\n var nextOffsetBuffer = Math.round((offsetResult + 1) * sampleRateRatio);\n var accum = 0, count = 0;\n for (var i = offsetBuffer; i < nextOffsetBuffer && i < buffer.length; i++) {\n accum += buffer[i];\n count++;\n }\n result[offsetResult] = accum / count;\n offsetResult++;\n offsetBuffer = nextOffsetBuffer;\n }\n return result;\n};\n/**\n * converts raw audio values to 16 bit pcm.\n */\nvar floatTo16BitPCM = function (output, offset, input) {\n var byteOffset = offset;\n for (var i = 0; i < input.length; i++, byteOffset += 2) {\n var s = Math.max(-1, Math.min(1, input[i]));\n output.setInt16(byteOffset, s < 0 ? s * 0x8000 : s * 0x7fff, true);\n }\n};\n/**\n * Write given strings in big-endian order.\n */\nvar writeString = function (view, offset, string) {\n for (var i = 0; i < string.length; i++) {\n view.setUint8(offset + i, string.charCodeAt(i));\n }\n};\n/**\n * Encodes raw pcm audio into a wav file.\n */\nvar encodeWAV = function (samples, exportSampleRate) {\n /**\n * WAV file consists of three parts: RIFF header, WAVE subchunk, and data subchunk. We precompute the size of them.\n */\n var audioSize = samples.length * 2; // We use 16-bit samples, so we have (2 * sampleLength) bytes.\n var fmtSize = 24; // Byte size of the fmt subchunk: 24 bytes that the audio information that we'll set below.\n var dataSize = 8 + audioSize; // Byte size of the data subchunk: raw sound data plus 8 bytes for the subchunk descriptions.\n var totalByteSize = 12 + fmtSize + dataSize; // Byte size of the whole file, including the chunk header / descriptor.\n // create DataView object to write byte values into\n var buffer = new ArrayBuffer(totalByteSize); // buffer to write the chunk values in.\n var view = new DataView(buffer);\n /**\n * Start writing the .wav file. We write top to bottom, so byte offset (first numeric argument) increases strictly.\n */\n // RIFF header\n writeString(view, 0, 'RIFF'); // At offset 0, write the letters \"RIFF\"\n view.setUint32(4, fmtSize + dataSize, true); // At offset 4, write the size of fmt and data chunk size combined.\n writeString(view, 8, 'WAVE'); // At offset 8, write the format type \"WAVE\"\n // fmt subchunk\n writeString(view, 12, 'fmt '); //chunkdId 'fmt '\n view.setUint32(16, fmtSize - 8, true); // fmt subchunk size below this value. We set 8 bytes already, so subtract 8 bytes from fmtSize.\n view.setUint16(20, 1, true); // Audio format code, which is 1 for PCM.\n view.setUint16(22, 1, true); // Number of audio channels. We use mono, ie 1.\n view.setUint32(24, exportSampleRate, true); // Sample rate of the audio file.\n view.setUint32(28, exportSampleRate * 2, true); // Data rate, or # of data bytes per second. Since each sample is 2 bytes, this is 2 * sampleRate.\n view.setUint16(32, 2, true); // block align, # of bytes per sample including all channels, ie. 2 bytes.\n view.setUint16(34, 16, true); // bits per sample, ie. 16 bits\n // data subchunk\n writeString(view, 36, 'data'); // write the chunkId 'data'\n view.setUint32(40, audioSize, true); // Audio byte size\n floatTo16BitPCM(view, 44, samples); // raw pcm values then go here.\n return view;\n};\n/**\n * Given arrays of raw pcm audio, downsamples the audio to desired sample rate and encodes it to a wav audio file.\n *\n * @param recBuffer {Float32Array[]} - 2d float array containing the recorded raw audio\n * @param recLength {number} - total length of recorded audio\n * @param recordSampleRate {number} - sample rate of the recorded audio\n * @param exportSampleRate {number} - desired sample rate of the exported file\n */\nvar exportBuffer = function (recBuffer, recLength, recordSampleRate, exportSampleRate) {\n var mergedBuffers = mergeBuffers(recBuffer, recLength);\n var downsampledBuffer = downsampleBuffer(mergedBuffers, recordSampleRate, exportSampleRate);\n var encodedWav = encodeWAV(downsampledBuffer, exportSampleRate);\n var audioBlob = new Blob([encodedWav], {\n type: RECORDER_EXPORT_MIME_TYPE,\n });\n return audioBlob;\n};\nvar logger = new Logger('AudioRecorder');\nvar AudioRecorder = /** @class */ (function () {\n function AudioRecorder(options) {\n // input mic stream is stored in a buffer\n this.streamBuffer = [];\n this.streamBufferLength = 0;\n this.recording = false;\n this.options = options;\n }\n /**\n * This must be called first to enable audio context and request microphone access.\n * Once access granted, it connects all the necessary audio nodes to the context so that it can begin recording or playing.\n */\n AudioRecorder.prototype.init = function () {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!browserOrNode().isBrowser) return [3 /*break*/, 2];\n window.AudioContext =\n window.AudioContext || window.webkitAudioContext;\n this.audioContext = new AudioContext();\n return [4 /*yield*/, navigator.mediaDevices\n .getUserMedia({ audio: true })\n .then(function (stream) {\n _this.audioSupported = true;\n _this.setupAudioNodes(stream);\n })\n .catch(function () {\n _this.audioSupported = false;\n return Promise.reject('Audio is not supported');\n })];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n this.audioSupported = false;\n return [2 /*return*/, Promise.reject('Audio is not supported')];\n case 3: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Setup audio nodes after successful `init`.\n */\n AudioRecorder.prototype.setupAudioNodes = function (stream) {\n return __awaiter(this, void 0, void 0, function () {\n var err_1, sourceNode, processorNode, analyserNode;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.audioContext.resume()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n err_1 = _a.sent();\n logger.error(err_1);\n return [3 /*break*/, 3];\n case 3:\n sourceNode = this.audioContext.createMediaStreamSource(stream);\n processorNode = this.audioContext.createScriptProcessor(4096, 1, 1);\n processorNode.onaudioprocess = function (audioProcessingEvent) {\n if (!_this.recording)\n return;\n var stream = audioProcessingEvent.inputBuffer.getChannelData(0);\n _this.streamBuffer.push(new Float32Array(stream)); // set to a copy of the stream\n _this.streamBufferLength += stream.length;\n _this.analyse();\n };\n analyserNode = this.audioContext.createAnalyser();\n analyserNode.minDecibels = FFT_MIN_DECIBELS;\n analyserNode.maxDecibels = FFT_MAX_DECIBELS;\n analyserNode.smoothingTimeConstant = FFT_SMOOTHING_TIME_CONSTANT;\n sourceNode.connect(analyserNode);\n analyserNode.connect(processorNode);\n processorNode.connect(sourceNode.context.destination);\n this.analyserNode = analyserNode;\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Start recording audio and listen for silence.\n *\n * @param onSilence {SilenceHandler} - called whenever silence is detected\n * @param visualizer {Visualizer} - called with audio data on each audio process to be used for visualization.\n */\n AudioRecorder.prototype.startRecording = function (onSilence, visualizer) {\n return __awaiter(this, void 0, void 0, function () {\n var context, err_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.recording || !this.audioSupported)\n return [2 /*return*/];\n this.onSilence = onSilence || function () { };\n this.visualizer = visualizer || function () { };\n context = this.audioContext;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, context.resume()];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_2 = _a.sent();\n logger.error(err_2);\n return [3 /*break*/, 4];\n case 4:\n this.start = Date.now();\n this.recording = true;\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Pause recording\n */\n AudioRecorder.prototype.stopRecording = function () {\n if (!this.audioSupported)\n return;\n this.recording = false;\n };\n /**\n * Pause recording and clear audio buffer\n */\n AudioRecorder.prototype.clear = function () {\n this.stopRecording();\n this.streamBufferLength = 0;\n this.streamBuffer = [];\n };\n /**\n * Plays given audioStream with audioContext\n *\n * @param buffer {Uint8Array} - audioStream to be played\n */\n AudioRecorder.prototype.play = function (buffer) {\n var _this = this;\n if (!buffer || !this.audioSupported)\n return;\n var myBlob = new Blob([buffer]);\n return new Promise(function (res, rej) {\n var fileReader = new FileReader();\n fileReader.onload = function () {\n if (_this.playbackSource)\n _this.playbackSource.disconnect(); // disconnect previous playback source\n _this.playbackSource = _this.audioContext.createBufferSource();\n var successCallback = function (buf) {\n _this.playbackSource.buffer = buf;\n _this.playbackSource.connect(_this.audioContext.destination);\n _this.playbackSource.onended = function () {\n return res();\n };\n _this.playbackSource.start(0);\n };\n var errorCallback = function (err) {\n return rej(err);\n };\n _this.audioContext.decodeAudioData(fileReader.result, successCallback, errorCallback);\n };\n fileReader.onerror = function () { return rej(); };\n fileReader.readAsArrayBuffer(myBlob);\n });\n };\n /**\n * Stops playing audio if there's a playback source connected.\n */\n AudioRecorder.prototype.stop = function () {\n if (this.playbackSource) {\n this.playbackSource.stop();\n }\n };\n /**\n * Called after each audioProcess. Check for silence and give fft time domain data to visualizer.\n */\n AudioRecorder.prototype.analyse = function () {\n if (!this.audioSupported)\n return;\n var analyser = this.analyserNode;\n analyser.fftSize = FFT_SIZE;\n var bufferLength = analyser.fftSize;\n var dataArray = new Uint8Array(bufferLength);\n var amplitude = this.options.amplitude;\n var time = this.options.time;\n analyser.getByteTimeDomainData(dataArray);\n this.visualizer(dataArray, bufferLength);\n for (var i = 0; i < bufferLength; i++) {\n // Normalize between -1 and 1.\n var curr_value_time = dataArray[i] / 128 - 1.0;\n if (curr_value_time > amplitude || curr_value_time < -1 * amplitude) {\n this.start = Date.now();\n }\n }\n var newtime = Date.now();\n var elapsedTime = newtime - this.start;\n if (elapsedTime > time) {\n this.onSilence();\n }\n };\n /**\n * Encodes recorded buffer to a wav file and exports it to a blob.\n *\n * @param exportSampleRate {number} - desired sample rate of the exported buffer\n */\n AudioRecorder.prototype.exportWAV = function (exportSampleRate) {\n if (exportSampleRate === void 0) { exportSampleRate = DEFAULT_EXPORT_SAMPLE_RATE; }\n return __awaiter(this, void 0, void 0, function () {\n var recordSampleRate, blob;\n return __generator(this, function (_a) {\n if (!this.audioSupported)\n return [2 /*return*/];\n recordSampleRate = this.audioContext.sampleRate;\n blob = exportBuffer(this.streamBuffer, this.streamBufferLength, recordSampleRate, exportSampleRate);\n this.clear();\n return [2 /*return*/, blob];\n });\n });\n };\n return AudioRecorder;\n}());\nvar visualize = function (dataArray, bufferLength, canvas) {\n if (!canvas)\n return;\n if (!browserOrNode().isBrowser)\n throw new Error('Visualization is not supported on non-browsers.');\n var _a = canvas.getBoundingClientRect(), width = _a.width, height = _a.height;\n // need to update the default canvas width and height\n canvas.width = width;\n canvas.height = height;\n var canvasCtx = canvas.getContext('2d');\n canvasCtx.fillStyle = 'white';\n canvasCtx.clearRect(0, 0, width, height);\n var draw = function () {\n canvasCtx.fillRect(0, 0, width, height);\n canvasCtx.lineWidth = 1;\n var color = getComputedStyle(document.documentElement).getPropertyValue('--amplify-primary-color');\n canvasCtx.strokeStyle = !color || color === '' ? '#ff9900' : color; // TODO: try separate css variable\n canvasCtx.beginPath();\n var sliceWidth = (width * 1.0) / bufferLength;\n var x = 0;\n for (var i = 0; i < bufferLength || i % 3 === 0; i++) {\n var value = dataArray[i] / 128.0;\n var y = (value * height) / 2;\n if (i === 0) {\n canvasCtx.moveTo(x, y);\n }\n else {\n canvasCtx.lineTo(x, y);\n }\n x += sliceWidth;\n }\n canvasCtx.lineTo(canvas.width, canvas.height / 2);\n canvasCtx.stroke();\n };\n // Register our draw function with requestAnimationFrame.\n requestAnimationFrame(draw);\n};\nvar amplifyChatbotCss = \".bot .dot{background-color:var(--bot-dot-color)}.user .dot{background-color:var(--user-dot-color)}.dot-flashing{width:2.625rem}.dot-flashing .dot{display:inline-block;width:0.625rem;height:0.625rem;border-radius:10rem;opacity:0.65}.dot-flashing .left{-webkit-animation:dot-flashing 1s infinite alternate;animation:dot-flashing 1s infinite alternate;-webkit-animation-delay:0s;animation-delay:0s}.dot-flashing .middle{margin-left:0.375rem;margin-right:0.375rem;-webkit-animation:dot-flashing 1s infinite linear alternate;animation:dot-flashing 1s infinite linear alternate;-webkit-animation-delay:0.5s;animation-delay:0.5s}.dot-flashing .right{-webkit-animation:dot-flashing 1s infinite alternate;animation:dot-flashing 1s infinite alternate;-webkit-animation-delay:1s;animation-delay:1s}@-webkit-keyframes dot-flashing{0%{opacity:0.65}50%,100%{opacity:0.1}}@keyframes dot-flashing{0%{opacity:0.65}50%,100%{opacity:0.1}}:host{--width:28.75rem;--height:37.5rem;--header-color:var(--amplify-secondary-color);--header-size:var(--amplify-text-lg);--bot-background-color:rgb(230, 230, 230);--bot-text-color:black;--bot-dot-color:var(--bot-text-color);--user-background-color:var(--amplify-blue);--user-text-color:var(--amplify-white);--user-dot-color:var(--user-text-color)}.amplify-chatbot{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:column;flex-direction:column;background-color:var(--background-color);border-radius:0.375rem;-webkit-box-shadow:0.0625rem 0rem 0.25rem 0 rgba(0, 0, 0, 0.15);box-shadow:0.0625rem 0rem 0.25rem 0 rgba(0, 0, 0, 0.15);-webkit-box-sizing:border-box;box-sizing:border-box;font-family:var(--amplify-font-family);margin-bottom:1rem;width:100%;height:var(--height);max-width:var(--width)}@media (min-width: 672px){.amplify-chatbot{width:var(--width)}}.header{padding:1.25rem 0.375rem 1.25rem 0.375rem;color:var(--header-color);font-size:var(--header-size);font-weight:bold;text-align:center;word-wrap:break-word}.body{border-top:0.0625rem solid rgba(0, 0, 0, 0.05);padding:1.5rem 1rem 0 1rem;display:-ms-flexbox;display:flex;-ms-flex-positive:1;flex-grow:1;-ms-flex-direction:column;flex-direction:column;overflow:auto}.bubble{max-width:100%;padding:0.8em 1.4em;text-align:left;word-wrap:break-word;margin-bottom:0.625rem}.bot{margin-right:auto;background-color:var(--bot-background-color);color:var(--bot-text-color);border-radius:1.5rem 1.5rem 1.5rem 0}.user{margin-left:auto;background-color:var(--user-background-color);color:var(--user-text-color);border-radius:1.5rem 1.5rem 0 1.5rem}.footer{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;border-top:0.062rem solid rgba(0, 0, 0, 0.05);padding-right:0.625rem;min-height:3.125rem}.footer amplify-input{--border:none;--margin:0;-ms-flex-positive:1;flex-grow:1}canvas{margin-left:0.625rem;margin-right:0.625rem;-ms-flex-positive:1;flex-grow:1;height:3.125rem}.icon-button{--icon-height:1.25rem;--icon-fill:var(--amplify-primary-color);--padding:0.625rem;--width:auto}\";\n// enum for possible bot states\nvar ChatState;\n(function (ChatState) {\n ChatState[ChatState[\"Initial\"] = 0] = \"Initial\";\n ChatState[ChatState[\"Listening\"] = 1] = \"Listening\";\n ChatState[ChatState[\"SendingText\"] = 2] = \"SendingText\";\n ChatState[ChatState[\"SendingVoice\"] = 3] = \"SendingVoice\";\n ChatState[ChatState[\"Error\"] = 4] = \"Error\";\n})(ChatState || (ChatState = {}));\n// Message types\nvar MessageFrom;\n(function (MessageFrom) {\n MessageFrom[\"Bot\"] = \"bot\";\n MessageFrom[\"User\"] = \"user\";\n})(MessageFrom || (MessageFrom = {}));\n// Error types\nvar ChatErrorType;\n(function (ChatErrorType) {\n ChatErrorType[ChatErrorType[\"Recoverable\"] = 0] = \"Recoverable\";\n ChatErrorType[ChatErrorType[\"Unrecoverable\"] = 1] = \"Unrecoverable\";\n})(ChatErrorType || (ChatErrorType = {}));\nvar AmplifyChatbot = /** @class */ (function () {\n function class_1(hostRef) {\n var _this = this;\n registerInstance(this, hostRef);\n /** Clear messages when conversation finishes */\n this.clearOnComplete = false;\n /** Continue listening to users after they send the message */\n this.conversationModeOn = false;\n /** Text placed in the top header */\n this.botTitle = Translations.CHATBOT_TITLE;\n /** Whether voice chat is enabled */\n this.voiceEnabled = false;\n /** Whether text chat is enabled */\n this.textEnabled = true;\n /** Amount of silence (in ms) to wait for */\n this.silenceTime = 1500;\n /** Noise threshold between -1 and 1. Anything below is considered a silence. */\n this.silenceThreshold = 0.2;\n /** Messages in current session */\n this.messages = [];\n /** Text input box value */\n this.text = '';\n /** Current app state */\n this.chatState = ChatState.Initial;\n /**\n * Rendering methods\n */\n this.messageJSX = function (messages) {\n var messageList = messages.map(function (message) { return (h(\"div\", { class: \"bubble \" + message.from }, message.content)); });\n if (_this.chatState === ChatState.SendingText ||\n _this.chatState === ChatState.SendingVoice) {\n // if waiting for voice message, show animation on user side because app is waiting for transcript. Else put it on bot side.\n var client = _this.chatState === ChatState.SendingText\n ? MessageFrom.Bot\n : MessageFrom.User;\n messageList.push(h(\"div\", { class: \"bubble \" + client }, h(\"div\", { class: \"dot-flashing \" + client }, h(\"span\", { class: \"dot left\" }), h(\"span\", { class: \"dot middle\" }), h(\"span\", { class: \"dot right\" }))));\n }\n return messageList;\n };\n this.chatCompleted = createEvent(this, \"chatCompleted\", 7);\n }\n // Occurs when user presses enter in input box\n class_1.prototype.submitHandler = function (_event) {\n this.sendTextMessage();\n };\n /**\n * Lifecycle functions\n */\n class_1.prototype.componentWillLoad = function () {\n if (!Interactions || typeof Interactions.onComplete !== 'function') {\n throw new Error(NO_INTERACTIONS_MODULE_FOUND);\n }\n this.validateProps();\n };\n class_1.prototype.componentDidRender = function () {\n // scroll to the bottom if necessary\n var body = this.element.shadowRoot.querySelector('.body');\n body.scrollTop = body.scrollHeight;\n };\n class_1.prototype.validateProps = function () {\n var _this = this;\n if (!this.voiceEnabled && !this.textEnabled) {\n this.setError(Translations.CHAT_DISABLED_ERROR, ChatErrorType.Unrecoverable);\n return;\n }\n else if (!this.botName) {\n this.setError(Translations.NO_BOT_NAME_ERROR, ChatErrorType.Unrecoverable);\n return;\n }\n if (this.welcomeMessage)\n this.appendToChat(this.welcomeMessage, MessageFrom.Bot);\n // Initialize AudioRecorder if voice is enabled\n if (this.voiceEnabled) {\n this.audioRecorder = new AudioRecorder({\n time: this.silenceTime,\n amplitude: this.silenceThreshold,\n });\n this.audioRecorder.init().catch(function (err) {\n _this.setError(err, ChatErrorType.Recoverable);\n });\n }\n // Callback function to be called after chat is completed\n var onComplete = function (err, data) {\n _this.chatCompleted.emit({\n data: data,\n err: err,\n });\n if (_this.clearOnComplete) {\n _this.reset();\n }\n else {\n _this.chatState = ChatState.Initial;\n }\n };\n try {\n Interactions.onComplete(this.botName, onComplete);\n }\n catch (err) {\n this.setError(err, ChatErrorType.Unrecoverable);\n }\n };\n /**\n * Handlers\n */\n class_1.prototype.handleSubmit = function (event) {\n event.preventDefault();\n this.sendTextMessage();\n };\n class_1.prototype.handleMicButton = function () {\n var _this = this;\n if (this.chatState !== ChatState.Initial)\n return;\n this.audioRecorder.stop();\n this.chatState = ChatState.Listening;\n this.audioRecorder.startRecording(function () { return _this.handleSilence(); }, function (data, length) { return _this.visualizer(data, length); });\n };\n class_1.prototype.handleSilence = function () {\n var _this = this;\n this.chatState = ChatState.SendingVoice;\n this.audioRecorder.stopRecording();\n this.audioRecorder.exportWAV().then(function (blob) {\n _this.sendVoiceMessage(blob);\n });\n };\n class_1.prototype.handleTextChange = function (event) {\n var target = event.target;\n this.text = target.value;\n };\n class_1.prototype.handleCancelButton = function () {\n this.audioRecorder.clear();\n this.chatState = ChatState.Initial;\n };\n class_1.prototype.handleToastClose = function (errorType) {\n this.error = undefined; // clear error\n // if error is recoverable, reset the app state to initial\n if (errorType === ChatErrorType.Recoverable) {\n this.chatState = ChatState.Initial;\n }\n };\n /**\n * Visualization\n */\n class_1.prototype.visualizer = function (dataArray, bufferLength) {\n var canvas = this.element.shadowRoot.querySelector('canvas');\n visualize(dataArray, bufferLength, canvas);\n };\n /**\n * Interactions helpers\n */\n class_1.prototype.sendTextMessage = function () {\n return __awaiter(this, void 0, void 0, function () {\n var text, response, err_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.text.length === 0 || this.chatState !== ChatState.Initial)\n return [2 /*return*/];\n text = this.text;\n this.text = '';\n this.appendToChat(text, MessageFrom.User);\n this.chatState = ChatState.SendingText;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Interactions.send(this.botName, text)];\n case 2:\n response = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_3 = _a.sent();\n this.setError(err_3, ChatErrorType.Recoverable);\n return [2 /*return*/];\n case 4:\n if (response.message) {\n this.appendToChat(response.message, MessageFrom.Bot);\n }\n this.chatState = ChatState.Initial;\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.sendVoiceMessage = function (audioInput) {\n return __awaiter(this, void 0, void 0, function () {\n var interactionsMessage, response, err_4, dialogState;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n interactionsMessage = {\n content: audioInput,\n options: {\n messageType: 'voice',\n },\n };\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, Interactions.send(this.botName, interactionsMessage)];\n case 2:\n response = _a.sent();\n return [3 /*break*/, 4];\n case 3:\n err_4 = _a.sent();\n this.setError(err_4, ChatErrorType.Recoverable);\n return [2 /*return*/];\n case 4:\n this.chatState = ChatState.Initial;\n dialogState = response.dialogState;\n if (response.inputTranscript)\n this.appendToChat(response.inputTranscript, MessageFrom.User);\n this.appendToChat(response.message, MessageFrom.Bot);\n return [4 /*yield*/, this.audioRecorder\n .play(response.audioStream)\n .then(function () {\n // if conversationMode is on, chat is incomplete, and mic button isn't pressed yet, resume listening.\n if (_this.conversationModeOn &&\n dialogState !== 'Fulfilled' &&\n dialogState !== 'Failed' &&\n _this.chatState === ChatState.Initial) {\n _this.handleMicButton();\n }\n })\n .catch(function (err) { return _this.setError(err, ChatErrorType.Recoverable); })];\n case 5:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n class_1.prototype.appendToChat = function (content, from) {\n this.messages = __spreadArrays(this.messages, [\n {\n content: content,\n from: from,\n },\n ]);\n };\n /**\n * State control methods\n */\n class_1.prototype.setError = function (error, errorType) {\n var message = typeof error === 'string' ? error : error.message;\n this.chatState = ChatState.Error;\n this.error = { message: message, errorType: errorType };\n };\n class_1.prototype.reset = function () {\n this.chatState = ChatState.Initial;\n this.text = '';\n this.error = undefined;\n this.messages = [];\n if (this.welcomeMessage)\n this.appendToChat(this.welcomeMessage, MessageFrom.Bot);\n this.audioRecorder && this.audioRecorder.clear();\n };\n class_1.prototype.listeningFooterJSX = function () {\n var _this = this;\n var visualization = h(\"canvas\", { height: \"50\" });\n var cancelButton = (h(\"amplify-button\", { \"data-test\": \"chatbot-cancel-button\", handleButtonClick: function () { return _this.handleCancelButton(); }, class: \"icon-button\", variant: \"icon\", icon: \"ban\" }));\n return [visualization, cancelButton];\n };\n class_1.prototype.footerJSX = function () {\n var _this = this;\n if (this.chatState === ChatState.Listening)\n return this.listeningFooterJSX();\n var inputPlaceholder = this.textEnabled\n ? Translations.TEXT_INPUT_PLACEHOLDER\n : Translations.VOICE_INPUT_PLACEHOLDER;\n var textInput = (h(\"amplify-input\", { placeholder: I18n.get(inputPlaceholder), description: \"text\", handleInputChange: function (evt) { return _this.handleTextChange(evt); }, value: this.text, disabled: this.chatState === ChatState.Error || !this.textEnabled }));\n var micButton = this.voiceEnabled && (h(\"amplify-button\", { \"data-test\": \"chatbot-mic-button\", handleButtonClick: function () { return _this.handleMicButton(); }, class: \"icon-button\", variant: \"icon\", icon: \"microphone\", disabled: this.chatState === ChatState.Error ||\n this.chatState !== ChatState.Initial }));\n var sendButton = this.textEnabled && (h(\"amplify-button\", { \"data-test\": \"chatbot-send-button\", class: \"icon-button\", variant: \"icon\", icon: \"send\", handleButtonClick: function () { return _this.sendTextMessage(); }, disabled: this.chatState === ChatState.Error ||\n this.chatState !== ChatState.Initial }));\n return [textInput, micButton, sendButton];\n };\n class_1.prototype.errorToast = function () {\n var _this = this;\n if (!this.error)\n return;\n var _a = this.error, message = _a.message, errorType = _a.errorType;\n return (h(\"amplify-toast\", { message: I18n.get(message), handleClose: function () { return _this.handleToastClose(errorType); } }));\n };\n class_1.prototype.render = function () {\n var _this = this;\n return (h(Host, null, h(\"div\", { class: \"amplify-chatbot\" }, h(\"slot\", { name: \"header\" }, h(\"div\", { class: \"header\", \"data-test\": \"chatbot-header\" }, I18n.get(this.botTitle))), h(\"div\", { class: \"body\", \"data-test\": \"chatbot-body\" }, this.messageJSX(this.messages)), h(\"form\", { onSubmit: function (e) { return _this.handleSubmit(e); } }, h(\"div\", { class: \"footer\", \"data-test\": \"chatbot-footer\" }, this.footerJSX())), this.errorToast())));\n };\n Object.defineProperty(class_1.prototype, \"element\", {\n get: function () { return getElement(this); },\n enumerable: false,\n configurable: true\n });\n return class_1;\n}());\nAmplifyChatbot.style = amplifyChatbotCss;\nexport { AmplifyChatbot as amplify_chatbot };\n","import { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { HttpRequest as __HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { LazyJsonString as __LazyJsonString, extendedEncodeURIComponent as __extendedEncodeURIComponent, } from \"@aws-sdk/smithy-client\";\nexport var serializeAws_restJson1DeleteSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/session\";\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"DELETE\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1GetSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, query, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {};\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/session\";\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n query = __assign({}, (input.checkpointLabelFilter !== undefined && { checkpointLabelFilter: input.checkpointLabelFilter }));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"GET\",\n headers: headers,\n path: resolvedPath,\n query: query,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1PostContentCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign(__assign(__assign(__assign(__assign({ \"content-type\": \"application/octet-stream\", \"x-amz-content-sha256\": \"UNSIGNED-PAYLOAD\" }, (isSerializableHeaderValue(input.sessionAttributes) && {\n \"x-amz-lex-session-attributes\": Buffer.from(__LazyJsonString.fromObject(input.sessionAttributes)).toString(\"base64\"),\n })), (isSerializableHeaderValue(input.requestAttributes) && {\n \"x-amz-lex-request-attributes\": Buffer.from(__LazyJsonString.fromObject(input.requestAttributes)).toString(\"base64\"),\n })), (isSerializableHeaderValue(input.contentType) && { \"content-type\": input.contentType })), (isSerializableHeaderValue(input.accept) && { accept: input.accept })), (isSerializableHeaderValue(input.activeContexts) && {\n \"x-amz-lex-active-contexts\": Buffer.from(__LazyJsonString.fromObject(input.activeContexts)).toString(\"base64\"),\n }));\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/content\";\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n if (input.inputStream !== undefined) {\n body = input.inputStream;\n }\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1PostTextCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = {\n \"content-type\": \"application/json\",\n };\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/text\";\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n body = JSON.stringify(__assign(__assign(__assign(__assign({}, (input.activeContexts !== undefined &&\n input.activeContexts !== null && {\n activeContexts: serializeAws_restJson1ActiveContextsList(input.activeContexts, context),\n })), (input.inputText !== undefined && input.inputText !== null && { inputText: input.inputText })), (input.requestAttributes !== undefined &&\n input.requestAttributes !== null && {\n requestAttributes: serializeAws_restJson1StringMap(input.requestAttributes, context),\n })), (input.sessionAttributes !== undefined &&\n input.sessionAttributes !== null && {\n sessionAttributes: serializeAws_restJson1StringMap(input.sessionAttributes, context),\n })));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var serializeAws_restJson1PutSessionCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, resolvedPath, labelValue, labelValue, labelValue, body, _a, hostname, _b, protocol, port;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n headers = __assign({ \"content-type\": \"application/json\" }, (isSerializableHeaderValue(input.accept) && { accept: input.accept }));\n resolvedPath = \"/bot/{botName}/alias/{botAlias}/user/{userId}/session\";\n if (input.botName !== undefined) {\n labelValue = input.botName;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botName.\");\n }\n resolvedPath = resolvedPath.replace(\"{botName}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botName.\");\n }\n if (input.botAlias !== undefined) {\n labelValue = input.botAlias;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: botAlias.\");\n }\n resolvedPath = resolvedPath.replace(\"{botAlias}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: botAlias.\");\n }\n if (input.userId !== undefined) {\n labelValue = input.userId;\n if (labelValue.length <= 0) {\n throw new Error(\"Empty value provided for input HTTP label: userId.\");\n }\n resolvedPath = resolvedPath.replace(\"{userId}\", __extendedEncodeURIComponent(labelValue));\n }\n else {\n throw new Error(\"No value provided for input HTTP label: userId.\");\n }\n body = JSON.stringify(__assign(__assign(__assign(__assign({}, (input.activeContexts !== undefined &&\n input.activeContexts !== null && {\n activeContexts: serializeAws_restJson1ActiveContextsList(input.activeContexts, context),\n })), (input.dialogAction !== undefined &&\n input.dialogAction !== null && { dialogAction: serializeAws_restJson1DialogAction(input.dialogAction, context) })), (input.recentIntentSummaryView !== undefined &&\n input.recentIntentSummaryView !== null && {\n recentIntentSummaryView: serializeAws_restJson1IntentSummaryList(input.recentIntentSummaryView, context),\n })), (input.sessionAttributes !== undefined &&\n input.sessionAttributes !== null && {\n sessionAttributes: serializeAws_restJson1StringMap(input.sessionAttributes, context),\n })));\n return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n return [2 /*return*/, new __HttpRequest({\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n headers: headers,\n path: resolvedPath,\n body: body,\n })];\n }\n });\n}); };\nexport var deserializeAws_restJson1DeleteSessionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restJson1DeleteSessionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n botAlias: undefined,\n botName: undefined,\n sessionId: undefined,\n userId: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.botAlias !== undefined && data.botAlias !== null) {\n contents.botAlias = data.botAlias;\n }\n if (data.botName !== undefined && data.botName !== null) {\n contents.botName = data.botName;\n }\n if (data.sessionId !== undefined && data.sessionId !== null) {\n contents.sessionId = data.sessionId;\n }\n if (data.userId !== undefined && data.userId !== null) {\n contents.userId = data.userId;\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restJson1DeleteSessionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"BadRequestException\": return [3 /*break*/, 2];\n case \"com.amazonaws.lexruntimeservice#BadRequestException\": return [3 /*break*/, 2];\n case \"ConflictException\": return [3 /*break*/, 4];\n case \"com.amazonaws.lexruntimeservice#ConflictException\": return [3 /*break*/, 4];\n case \"InternalFailureException\": return [3 /*break*/, 6];\n case \"com.amazonaws.lexruntimeservice#InternalFailureException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.lexruntimeservice#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.lexruntimeservice#NotFoundException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restJson1GetSessionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restJson1GetSessionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n activeContexts: undefined,\n dialogAction: undefined,\n recentIntentSummaryView: undefined,\n sessionAttributes: undefined,\n sessionId: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.activeContexts !== undefined && data.activeContexts !== null) {\n contents.activeContexts = deserializeAws_restJson1ActiveContextsList(data.activeContexts, context);\n }\n if (data.dialogAction !== undefined && data.dialogAction !== null) {\n contents.dialogAction = deserializeAws_restJson1DialogAction(data.dialogAction, context);\n }\n if (data.recentIntentSummaryView !== undefined && data.recentIntentSummaryView !== null) {\n contents.recentIntentSummaryView = deserializeAws_restJson1IntentSummaryList(data.recentIntentSummaryView, context);\n }\n if (data.sessionAttributes !== undefined && data.sessionAttributes !== null) {\n contents.sessionAttributes = deserializeAws_restJson1StringMap(data.sessionAttributes, context);\n }\n if (data.sessionId !== undefined && data.sessionId !== null) {\n contents.sessionId = data.sessionId;\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restJson1GetSessionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, parsedBody, message;\n var _g;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n _a = [__assign({}, output)];\n _g = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_g.body = _h.sent(), _g)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"BadRequestException\": return [3 /*break*/, 2];\n case \"com.amazonaws.lexruntimeservice#BadRequestException\": return [3 /*break*/, 2];\n case \"InternalFailureException\": return [3 /*break*/, 4];\n case \"com.amazonaws.lexruntimeservice#InternalFailureException\": return [3 /*break*/, 4];\n case \"LimitExceededException\": return [3 /*break*/, 6];\n case \"com.amazonaws.lexruntimeservice#LimitExceededException\": return [3 /*break*/, 6];\n case \"NotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.lexruntimeservice#NotFoundException\": return [3 /*break*/, 8];\n }\n return [3 /*break*/, 10];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 11];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 11];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 11];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_h.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 11];\n case 10:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _h.label = 11;\n case 11:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restJson1PostContentCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restJson1PostContentCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n activeContexts: undefined,\n alternativeIntents: undefined,\n audioStream: undefined,\n botVersion: undefined,\n contentType: undefined,\n dialogState: undefined,\n inputTranscript: undefined,\n intentName: undefined,\n message: undefined,\n messageFormat: undefined,\n nluIntentConfidence: undefined,\n sentimentResponse: undefined,\n sessionAttributes: undefined,\n sessionId: undefined,\n slotToElicit: undefined,\n slots: undefined,\n };\n if (output.headers[\"content-type\"] !== undefined) {\n contents.contentType = output.headers[\"content-type\"];\n }\n if (output.headers[\"x-amz-lex-intent-name\"] !== undefined) {\n contents.intentName = output.headers[\"x-amz-lex-intent-name\"];\n }\n if (output.headers[\"x-amz-lex-nlu-intent-confidence\"] !== undefined) {\n contents.nluIntentConfidence = new __LazyJsonString(Buffer.from(output.headers[\"x-amz-lex-nlu-intent-confidence\"], \"base64\").toString(\"ascii\"));\n }\n if (output.headers[\"x-amz-lex-alternative-intents\"] !== undefined) {\n contents.alternativeIntents = new __LazyJsonString(Buffer.from(output.headers[\"x-amz-lex-alternative-intents\"], \"base64\").toString(\"ascii\"));\n }\n if (output.headers[\"x-amz-lex-slots\"] !== undefined) {\n contents.slots = new __LazyJsonString(Buffer.from(output.headers[\"x-amz-lex-slots\"], \"base64\").toString(\"ascii\"));\n }\n if (output.headers[\"x-amz-lex-session-attributes\"] !== undefined) {\n contents.sessionAttributes = new __LazyJsonString(Buffer.from(output.headers[\"x-amz-lex-session-attributes\"], \"base64\").toString(\"ascii\"));\n }\n if (output.headers[\"x-amz-lex-sentiment\"] !== undefined) {\n contents.sentimentResponse = output.headers[\"x-amz-lex-sentiment\"];\n }\n if (output.headers[\"x-amz-lex-message\"] !== undefined) {\n contents.message = output.headers[\"x-amz-lex-message\"];\n }\n if (output.headers[\"x-amz-lex-message-format\"] !== undefined) {\n contents.messageFormat = output.headers[\"x-amz-lex-message-format\"];\n }\n if (output.headers[\"x-amz-lex-dialog-state\"] !== undefined) {\n contents.dialogState = output.headers[\"x-amz-lex-dialog-state\"];\n }\n if (output.headers[\"x-amz-lex-slot-to-elicit\"] !== undefined) {\n contents.slotToElicit = output.headers[\"x-amz-lex-slot-to-elicit\"];\n }\n if (output.headers[\"x-amz-lex-input-transcript\"] !== undefined) {\n contents.inputTranscript = output.headers[\"x-amz-lex-input-transcript\"];\n }\n if (output.headers[\"x-amz-lex-bot-version\"] !== undefined) {\n contents.botVersion = output.headers[\"x-amz-lex-bot-version\"];\n }\n if (output.headers[\"x-amz-lex-session-id\"] !== undefined) {\n contents.sessionId = output.headers[\"x-amz-lex-session-id\"];\n }\n if (output.headers[\"x-amz-lex-active-contexts\"] !== undefined) {\n contents.activeContexts = new __LazyJsonString(Buffer.from(output.headers[\"x-amz-lex-active-contexts\"], \"base64\").toString(\"ascii\"));\n }\n data = output.body;\n contents.audioStream = data;\n return [2 /*return*/, Promise.resolve(contents)];\n });\n}); };\nvar deserializeAws_restJson1PostContentCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, parsedBody, message;\n var _p;\n return __generator(this, function (_q) {\n switch (_q.label) {\n case 0:\n _a = [__assign({}, output)];\n _p = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_p.body = _q.sent(), _p)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"BadGatewayException\": return [3 /*break*/, 2];\n case \"com.amazonaws.lexruntimeservice#BadGatewayException\": return [3 /*break*/, 2];\n case \"BadRequestException\": return [3 /*break*/, 4];\n case \"com.amazonaws.lexruntimeservice#BadRequestException\": return [3 /*break*/, 4];\n case \"ConflictException\": return [3 /*break*/, 6];\n case \"com.amazonaws.lexruntimeservice#ConflictException\": return [3 /*break*/, 6];\n case \"DependencyFailedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.lexruntimeservice#DependencyFailedException\": return [3 /*break*/, 8];\n case \"InternalFailureException\": return [3 /*break*/, 10];\n case \"com.amazonaws.lexruntimeservice#InternalFailureException\": return [3 /*break*/, 10];\n case \"LimitExceededException\": return [3 /*break*/, 12];\n case \"com.amazonaws.lexruntimeservice#LimitExceededException\": return [3 /*break*/, 12];\n case \"LoopDetectedException\": return [3 /*break*/, 14];\n case \"com.amazonaws.lexruntimeservice#LoopDetectedException\": return [3 /*break*/, 14];\n case \"NotAcceptableException\": return [3 /*break*/, 16];\n case \"com.amazonaws.lexruntimeservice#NotAcceptableException\": return [3 /*break*/, 16];\n case \"NotFoundException\": return [3 /*break*/, 18];\n case \"com.amazonaws.lexruntimeservice#NotFoundException\": return [3 /*break*/, 18];\n case \"RequestTimeoutException\": return [3 /*break*/, 20];\n case \"com.amazonaws.lexruntimeservice#RequestTimeoutException\": return [3 /*break*/, 20];\n case \"UnsupportedMediaTypeException\": return [3 /*break*/, 22];\n case \"com.amazonaws.lexruntimeservice#UnsupportedMediaTypeException\": return [3 /*break*/, 22];\n }\n return [3 /*break*/, 24];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1DependencyFailedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_restJson1LoopDetectedExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_restJson1NotAcceptableExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 18:\n _l = [{}];\n return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];\n case 19:\n response = __assign.apply(void 0, [__assign.apply(void 0, _l.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 20:\n _m = [{}];\n return [4 /*yield*/, deserializeAws_restJson1RequestTimeoutExceptionResponse(parsedOutput, context)];\n case 21:\n response = __assign.apply(void 0, [__assign.apply(void 0, _m.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 22:\n _o = [{}];\n return [4 /*yield*/, deserializeAws_restJson1UnsupportedMediaTypeExceptionResponse(parsedOutput, context)];\n case 23:\n response = __assign.apply(void 0, [__assign.apply(void 0, _o.concat([(_q.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 25];\n case 24:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _q.label = 25;\n case 25:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restJson1PostTextCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restJson1PostTextCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n activeContexts: undefined,\n alternativeIntents: undefined,\n botVersion: undefined,\n dialogState: undefined,\n intentName: undefined,\n message: undefined,\n messageFormat: undefined,\n nluIntentConfidence: undefined,\n responseCard: undefined,\n sentimentResponse: undefined,\n sessionAttributes: undefined,\n sessionId: undefined,\n slotToElicit: undefined,\n slots: undefined,\n };\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n if (data.activeContexts !== undefined && data.activeContexts !== null) {\n contents.activeContexts = deserializeAws_restJson1ActiveContextsList(data.activeContexts, context);\n }\n if (data.alternativeIntents !== undefined && data.alternativeIntents !== null) {\n contents.alternativeIntents = deserializeAws_restJson1IntentList(data.alternativeIntents, context);\n }\n if (data.botVersion !== undefined && data.botVersion !== null) {\n contents.botVersion = data.botVersion;\n }\n if (data.dialogState !== undefined && data.dialogState !== null) {\n contents.dialogState = data.dialogState;\n }\n if (data.intentName !== undefined && data.intentName !== null) {\n contents.intentName = data.intentName;\n }\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n if (data.messageFormat !== undefined && data.messageFormat !== null) {\n contents.messageFormat = data.messageFormat;\n }\n if (data.nluIntentConfidence !== undefined && data.nluIntentConfidence !== null) {\n contents.nluIntentConfidence = deserializeAws_restJson1IntentConfidence(data.nluIntentConfidence, context);\n }\n if (data.responseCard !== undefined && data.responseCard !== null) {\n contents.responseCard = deserializeAws_restJson1ResponseCard(data.responseCard, context);\n }\n if (data.sentimentResponse !== undefined && data.sentimentResponse !== null) {\n contents.sentimentResponse = deserializeAws_restJson1SentimentResponse(data.sentimentResponse, context);\n }\n if (data.sessionAttributes !== undefined && data.sessionAttributes !== null) {\n contents.sessionAttributes = deserializeAws_restJson1StringMap(data.sessionAttributes, context);\n }\n if (data.sessionId !== undefined && data.sessionId !== null) {\n contents.sessionId = data.sessionId;\n }\n if (data.slotToElicit !== undefined && data.slotToElicit !== null) {\n contents.slotToElicit = data.slotToElicit;\n }\n if (data.slots !== undefined && data.slots !== null) {\n contents.slots = deserializeAws_restJson1StringMap(data.slots, context);\n }\n return [2 /*return*/, Promise.resolve(contents)];\n }\n });\n}); };\nvar deserializeAws_restJson1PostTextCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;\n var _l;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _l = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"BadGatewayException\": return [3 /*break*/, 2];\n case \"com.amazonaws.lexruntimeservice#BadGatewayException\": return [3 /*break*/, 2];\n case \"BadRequestException\": return [3 /*break*/, 4];\n case \"com.amazonaws.lexruntimeservice#BadRequestException\": return [3 /*break*/, 4];\n case \"ConflictException\": return [3 /*break*/, 6];\n case \"com.amazonaws.lexruntimeservice#ConflictException\": return [3 /*break*/, 6];\n case \"DependencyFailedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.lexruntimeservice#DependencyFailedException\": return [3 /*break*/, 8];\n case \"InternalFailureException\": return [3 /*break*/, 10];\n case \"com.amazonaws.lexruntimeservice#InternalFailureException\": return [3 /*break*/, 10];\n case \"LimitExceededException\": return [3 /*break*/, 12];\n case \"com.amazonaws.lexruntimeservice#LimitExceededException\": return [3 /*break*/, 12];\n case \"LoopDetectedException\": return [3 /*break*/, 14];\n case \"com.amazonaws.lexruntimeservice#LoopDetectedException\": return [3 /*break*/, 14];\n case \"NotFoundException\": return [3 /*break*/, 16];\n case \"com.amazonaws.lexruntimeservice#NotFoundException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1DependencyFailedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_restJson1LoopDetectedExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_restJson1PutSessionCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n if (output.statusCode !== 200 && output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_restJson1PutSessionCommandError(output, context)];\n }\n contents = {\n $metadata: deserializeMetadata(output),\n activeContexts: undefined,\n audioStream: undefined,\n contentType: undefined,\n dialogState: undefined,\n intentName: undefined,\n message: undefined,\n messageFormat: undefined,\n sessionAttributes: undefined,\n sessionId: undefined,\n slotToElicit: undefined,\n slots: undefined,\n };\n if (output.headers[\"content-type\"] !== undefined) {\n contents.contentType = output.headers[\"content-type\"];\n }\n if (output.headers[\"x-amz-lex-intent-name\"] !== undefined) {\n contents.intentName = output.headers[\"x-amz-lex-intent-name\"];\n }\n if (output.headers[\"x-amz-lex-slots\"] !== undefined) {\n contents.slots = new __LazyJsonString(Buffer.from(output.headers[\"x-amz-lex-slots\"], \"base64\").toString(\"ascii\"));\n }\n if (output.headers[\"x-amz-lex-session-attributes\"] !== undefined) {\n contents.sessionAttributes = new __LazyJsonString(Buffer.from(output.headers[\"x-amz-lex-session-attributes\"], \"base64\").toString(\"ascii\"));\n }\n if (output.headers[\"x-amz-lex-message\"] !== undefined) {\n contents.message = output.headers[\"x-amz-lex-message\"];\n }\n if (output.headers[\"x-amz-lex-message-format\"] !== undefined) {\n contents.messageFormat = output.headers[\"x-amz-lex-message-format\"];\n }\n if (output.headers[\"x-amz-lex-dialog-state\"] !== undefined) {\n contents.dialogState = output.headers[\"x-amz-lex-dialog-state\"];\n }\n if (output.headers[\"x-amz-lex-slot-to-elicit\"] !== undefined) {\n contents.slotToElicit = output.headers[\"x-amz-lex-slot-to-elicit\"];\n }\n if (output.headers[\"x-amz-lex-session-id\"] !== undefined) {\n contents.sessionId = output.headers[\"x-amz-lex-session-id\"];\n }\n if (output.headers[\"x-amz-lex-active-contexts\"] !== undefined) {\n contents.activeContexts = new __LazyJsonString(Buffer.from(output.headers[\"x-amz-lex-active-contexts\"], \"base64\").toString(\"ascii\"));\n }\n data = output.body;\n contents.audioStream = data;\n return [2 /*return*/, Promise.resolve(contents)];\n });\n}); };\nvar deserializeAws_restJson1PutSessionCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;\n var _l;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _l = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"BadGatewayException\": return [3 /*break*/, 2];\n case \"com.amazonaws.lexruntimeservice#BadGatewayException\": return [3 /*break*/, 2];\n case \"BadRequestException\": return [3 /*break*/, 4];\n case \"com.amazonaws.lexruntimeservice#BadRequestException\": return [3 /*break*/, 4];\n case \"ConflictException\": return [3 /*break*/, 6];\n case \"com.amazonaws.lexruntimeservice#ConflictException\": return [3 /*break*/, 6];\n case \"DependencyFailedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.lexruntimeservice#DependencyFailedException\": return [3 /*break*/, 8];\n case \"InternalFailureException\": return [3 /*break*/, 10];\n case \"com.amazonaws.lexruntimeservice#InternalFailureException\": return [3 /*break*/, 10];\n case \"LimitExceededException\": return [3 /*break*/, 12];\n case \"com.amazonaws.lexruntimeservice#LimitExceededException\": return [3 /*break*/, 12];\n case \"NotAcceptableException\": return [3 /*break*/, 14];\n case \"com.amazonaws.lexruntimeservice#NotAcceptableException\": return [3 /*break*/, 14];\n case \"NotFoundException\": return [3 /*break*/, 16];\n case \"com.amazonaws.lexruntimeservice#NotFoundException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_restJson1BadGatewayExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_restJson1BadRequestExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_restJson1ConflictExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_restJson1DependencyFailedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_restJson1InternalFailureExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_restJson1LimitExceededExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_restJson1NotAcceptableExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_restJson1NotFoundExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nvar deserializeAws_restJson1BadGatewayExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BadGatewayException\",\n $fault: \"server\",\n $metadata: deserializeMetadata(parsedOutput),\n Message: undefined,\n };\n data = parsedOutput.body;\n if (data.Message !== undefined && data.Message !== null) {\n contents.Message = data.Message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1BadRequestExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"BadRequestException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1ConflictExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"ConflictException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1DependencyFailedExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"DependencyFailedException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n Message: undefined,\n };\n data = parsedOutput.body;\n if (data.Message !== undefined && data.Message !== null) {\n contents.Message = data.Message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1InternalFailureExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"InternalFailureException\",\n $fault: \"server\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1LimitExceededExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"LimitExceededException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n retryAfterSeconds: undefined,\n };\n if (parsedOutput.headers[\"retry-after\"] !== undefined) {\n contents.retryAfterSeconds = parsedOutput.headers[\"retry-after\"];\n }\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1LoopDetectedExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"LoopDetectedException\",\n $fault: \"server\",\n $metadata: deserializeMetadata(parsedOutput),\n Message: undefined,\n };\n data = parsedOutput.body;\n if (data.Message !== undefined && data.Message !== null) {\n contents.Message = data.Message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1NotAcceptableExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NotAcceptableException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1NotFoundExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"NotFoundException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1RequestTimeoutExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"RequestTimeoutException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_restJson1UnsupportedMediaTypeExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var contents, data;\n return __generator(this, function (_a) {\n contents = {\n name: \"UnsupportedMediaTypeException\",\n $fault: \"client\",\n $metadata: deserializeMetadata(parsedOutput),\n message: undefined,\n };\n data = parsedOutput.body;\n if (data.message !== undefined && data.message !== null) {\n contents.message = data.message;\n }\n return [2 /*return*/, contents];\n });\n}); };\nvar serializeAws_restJson1ActiveContext = function (input, context) {\n return __assign(__assign(__assign({}, (input.name !== undefined && input.name !== null && { name: input.name })), (input.parameters !== undefined &&\n input.parameters !== null && {\n parameters: serializeAws_restJson1ActiveContextParametersMap(input.parameters, context),\n })), (input.timeToLive !== undefined &&\n input.timeToLive !== null && {\n timeToLive: serializeAws_restJson1ActiveContextTimeToLive(input.timeToLive, context),\n }));\n};\nvar serializeAws_restJson1ActiveContextParametersMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_restJson1ActiveContextsList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return serializeAws_restJson1ActiveContext(entry, context);\n });\n};\nvar serializeAws_restJson1ActiveContextTimeToLive = function (input, context) {\n return __assign(__assign({}, (input.timeToLiveInSeconds !== undefined &&\n input.timeToLiveInSeconds !== null && { timeToLiveInSeconds: input.timeToLiveInSeconds })), (input.turnsToLive !== undefined && input.turnsToLive !== null && { turnsToLive: input.turnsToLive }));\n};\nvar serializeAws_restJson1DialogAction = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.fulfillmentState !== undefined &&\n input.fulfillmentState !== null && { fulfillmentState: input.fulfillmentState })), (input.intentName !== undefined && input.intentName !== null && { intentName: input.intentName })), (input.message !== undefined && input.message !== null && { message: input.message })), (input.messageFormat !== undefined && input.messageFormat !== null && { messageFormat: input.messageFormat })), (input.slotToElicit !== undefined && input.slotToElicit !== null && { slotToElicit: input.slotToElicit })), (input.slots !== undefined &&\n input.slots !== null && { slots: serializeAws_restJson1StringMap(input.slots, context) })), (input.type !== undefined && input.type !== null && { type: input.type }));\n};\nvar serializeAws_restJson1IntentSummary = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.checkpointLabel !== undefined &&\n input.checkpointLabel !== null && { checkpointLabel: input.checkpointLabel })), (input.confirmationStatus !== undefined &&\n input.confirmationStatus !== null && { confirmationStatus: input.confirmationStatus })), (input.dialogActionType !== undefined &&\n input.dialogActionType !== null && { dialogActionType: input.dialogActionType })), (input.fulfillmentState !== undefined &&\n input.fulfillmentState !== null && { fulfillmentState: input.fulfillmentState })), (input.intentName !== undefined && input.intentName !== null && { intentName: input.intentName })), (input.slotToElicit !== undefined && input.slotToElicit !== null && { slotToElicit: input.slotToElicit })), (input.slots !== undefined &&\n input.slots !== null && { slots: serializeAws_restJson1StringMap(input.slots, context) }));\n};\nvar serializeAws_restJson1IntentSummaryList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return serializeAws_restJson1IntentSummary(entry, context);\n });\n};\nvar serializeAws_restJson1StringMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeAws_restJson1ActiveContext = function (output, context) {\n return {\n name: output.name !== undefined && output.name !== null ? output.name : undefined,\n parameters: output.parameters !== undefined && output.parameters !== null\n ? deserializeAws_restJson1ActiveContextParametersMap(output.parameters, context)\n : undefined,\n timeToLive: output.timeToLive !== undefined && output.timeToLive !== null\n ? deserializeAws_restJson1ActiveContextTimeToLive(output.timeToLive, context)\n : undefined,\n };\n};\nvar deserializeAws_restJson1ActiveContextParametersMap = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeAws_restJson1ActiveContextsList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1ActiveContext(entry, context);\n });\n};\nvar deserializeAws_restJson1ActiveContextTimeToLive = function (output, context) {\n return {\n timeToLiveInSeconds: output.timeToLiveInSeconds !== undefined && output.timeToLiveInSeconds !== null\n ? output.timeToLiveInSeconds\n : undefined,\n turnsToLive: output.turnsToLive !== undefined && output.turnsToLive !== null ? output.turnsToLive : undefined,\n };\n};\nvar deserializeAws_restJson1Button = function (output, context) {\n return {\n text: output.text !== undefined && output.text !== null ? output.text : undefined,\n value: output.value !== undefined && output.value !== null ? output.value : undefined,\n };\n};\nvar deserializeAws_restJson1DialogAction = function (output, context) {\n return {\n fulfillmentState: output.fulfillmentState !== undefined && output.fulfillmentState !== null ? output.fulfillmentState : undefined,\n intentName: output.intentName !== undefined && output.intentName !== null ? output.intentName : undefined,\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n messageFormat: output.messageFormat !== undefined && output.messageFormat !== null ? output.messageFormat : undefined,\n slotToElicit: output.slotToElicit !== undefined && output.slotToElicit !== null ? output.slotToElicit : undefined,\n slots: output.slots !== undefined && output.slots !== null\n ? deserializeAws_restJson1StringMap(output.slots, context)\n : undefined,\n type: output.type !== undefined && output.type !== null ? output.type : undefined,\n };\n};\nvar deserializeAws_restJson1GenericAttachment = function (output, context) {\n return {\n attachmentLinkUrl: output.attachmentLinkUrl !== undefined && output.attachmentLinkUrl !== null\n ? output.attachmentLinkUrl\n : undefined,\n buttons: output.buttons !== undefined && output.buttons !== null\n ? deserializeAws_restJson1listOfButtons(output.buttons, context)\n : undefined,\n imageUrl: output.imageUrl !== undefined && output.imageUrl !== null ? output.imageUrl : undefined,\n subTitle: output.subTitle !== undefined && output.subTitle !== null ? output.subTitle : undefined,\n title: output.title !== undefined && output.title !== null ? output.title : undefined,\n };\n};\nvar deserializeAws_restJson1genericAttachmentList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1GenericAttachment(entry, context);\n });\n};\nvar deserializeAws_restJson1IntentConfidence = function (output, context) {\n return {\n score: output.score !== undefined && output.score !== null ? output.score : undefined,\n };\n};\nvar deserializeAws_restJson1IntentList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1PredictedIntent(entry, context);\n });\n};\nvar deserializeAws_restJson1IntentSummary = function (output, context) {\n return {\n checkpointLabel: output.checkpointLabel !== undefined && output.checkpointLabel !== null ? output.checkpointLabel : undefined,\n confirmationStatus: output.confirmationStatus !== undefined && output.confirmationStatus !== null\n ? output.confirmationStatus\n : undefined,\n dialogActionType: output.dialogActionType !== undefined && output.dialogActionType !== null ? output.dialogActionType : undefined,\n fulfillmentState: output.fulfillmentState !== undefined && output.fulfillmentState !== null ? output.fulfillmentState : undefined,\n intentName: output.intentName !== undefined && output.intentName !== null ? output.intentName : undefined,\n slotToElicit: output.slotToElicit !== undefined && output.slotToElicit !== null ? output.slotToElicit : undefined,\n slots: output.slots !== undefined && output.slots !== null\n ? deserializeAws_restJson1StringMap(output.slots, context)\n : undefined,\n };\n};\nvar deserializeAws_restJson1IntentSummaryList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1IntentSummary(entry, context);\n });\n};\nvar deserializeAws_restJson1listOfButtons = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_restJson1Button(entry, context);\n });\n};\nvar deserializeAws_restJson1PredictedIntent = function (output, context) {\n return {\n intentName: output.intentName !== undefined && output.intentName !== null ? output.intentName : undefined,\n nluIntentConfidence: output.nluIntentConfidence !== undefined && output.nluIntentConfidence !== null\n ? deserializeAws_restJson1IntentConfidence(output.nluIntentConfidence, context)\n : undefined,\n slots: output.slots !== undefined && output.slots !== null\n ? deserializeAws_restJson1StringMap(output.slots, context)\n : undefined,\n };\n};\nvar deserializeAws_restJson1ResponseCard = function (output, context) {\n return {\n contentType: output.contentType !== undefined && output.contentType !== null ? output.contentType : undefined,\n genericAttachments: output.genericAttachments !== undefined && output.genericAttachments !== null\n ? deserializeAws_restJson1genericAttachmentList(output.genericAttachments, context)\n : undefined,\n version: output.version !== undefined && output.version !== null ? output.version : undefined,\n };\n};\nvar deserializeAws_restJson1SentimentResponse = function (output, context) {\n return {\n sentimentLabel: output.sentimentLabel !== undefined && output.sentimentLabel !== null ? output.sentimentLabel : undefined,\n sentimentScore: output.sentimentScore !== undefined && output.sentimentScore !== null ? output.sentimentScore : undefined,\n };\n};\nvar deserializeAws_restJson1StringMap = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeMetadata = function (output) {\n var _a;\n return ({\n httpStatusCode: output.statusCode,\n requestId: (_a = output.headers[\"x-amzn-requestid\"]) !== null && _a !== void 0 ? _a : output.headers[\"x-amzn-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n });\n};\n// Collect low-level response body stream to Uint8Array.\nvar collectBody = function (streamBody, context) {\n if (streamBody === void 0) { streamBody = new Uint8Array(); }\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n// Encode Uint8Array data into string with utf-8.\nvar collectBodyString = function (streamBody, context) {\n return collectBody(streamBody, context).then(function (body) { return context.utf8Encoder(body); });\n};\nvar isSerializableHeaderValue = function (value) {\n return value !== undefined &&\n value !== null &&\n value !== \"\" &&\n (!Object.getOwnPropertyNames(value).includes(\"length\") || value.length != 0) &&\n (!Object.getOwnPropertyNames(value).includes(\"size\") || value.size != 0);\n};\nvar parseBody = function (streamBody, context) {\n return collectBodyString(streamBody, context).then(function (encoded) {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n });\n};\n/**\n * Load an error code for the aws.rest-json-1.1 protocol.\n */\nvar loadRestJsonErrorCode = function (output, data) {\n var findKey = function (object, key) { return Object.keys(object).find(function (k) { return k.toLowerCase() === key.toLowerCase(); }); };\n var sanitizeErrorCode = function (rawValue) {\n var cleanValue = rawValue;\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n var headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n return \"\";\n};\n//# sourceMappingURL=Aws_restJson1.js.map"],"sourceRoot":""}