{"version":3,"sources":["webpack:///./node_modules/@aws-amplify/ui-components/dist/esm-es5/amplify-chatbot.entry.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-sdk/client-lex-runtime-service/node_modules/tslib/tslib.es6.js","webpack:///./node_modules/@aws-sdk/client-lex-runtime-service/dist/es/protocols/Aws_restJson1.js"],"names":["ChatState","MessageFrom","ChatErrorType","__awaiter","thisArg","_arguments","P","generator","adopt","value","resolve","Promise","reject","fulfilled","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","Symbol","iterator","this","n","v","op","TypeError","call","pop","length","push","__spreadArrays","s","i","il","arguments","r","Array","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","buffer","recordSampleRate","exportSampleRate","sampleRateRatio","newLength","Math","round","offsetResult","offsetBuffer","nextOffsetBuffer","accum","count","floatTo16BitPCM","output","input","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","Blob","type","logger","AudioRecorder","options","streamBuffer","streamBufferLength","recording","prototype","init","_this","_a","isBrowser","window","AudioContext","webkitAudioContext","audioContext","navigator","mediaDevices","getUserMedia","audio","stream","audioSupported","setupAudioNodes","catch","err_1","sourceNode","processorNode","analyserNode","resume","error","createMediaStreamSource","createScriptProcessor","onaudioprocess","audioProcessingEvent","inputBuffer","getChannelData","analyse","createAnalyser","minDecibels","maxDecibels","smoothingTimeConstant","connect","context","destination","startRecording","onSilence","visualizer","err_2","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","Uint8Array","amplitude","time","getByteTimeDomainData","curr_value_time","newtime","elapsedTime","exportWAV","blob","sampleRate","visualize","canvas","Error","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","map","message","class","from","content","SendingText","SendingVoice","client","Bot","User","chatCompleted","submitHandler","_event","sendTextMessage","componentWillLoad","onComplete","validateProps","componentDidRender","element","shadowRoot","querySelector","scrollTop","scrollHeight","botName","welcomeMessage","appendToChat","audioRecorder","setError","Recoverable","data","emit","reset","Unrecoverable","NO_BOT_NAME_ERROR","CHAT_DISABLED_ERROR","handleSubmit","event","preventDefault","handleMicButton","Listening","handleSilence","sendVoiceMessage","handleTextChange","target","handleCancelButton","handleToastClose","errorType","undefined","response","err_3","send","audioInput","interactionsMessage","err_4","dialogState","messageType","inputTranscript","audioStream","listeningFooterJSX","visualization","cancelButton","handleButtonClick","variant","icon","footerJSX","inputPlaceholder","TEXT_INPUT_PLACEHOLDER","VOICE_INPUT_PLACEHOLDER","textInput","placeholder","get","description","handleInputChange","evt","disabled","micButton","sendButton","errorToast","handleClose","render","name","onSubmit","Object","defineProperty","enumerable","configurable","style","FulfillmentState","MessageFormatType","DialogActionType","ConfirmationStatus","DialogState","ContentType","__assign","assign","p","hasOwnProperty","AbstractInteractionsProvider","_config","configure","config","debug","getProviderName","getCategory","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","hostname","partition","signingService","has","replace","ClientSharedValues","apiVersion","disableHostPrefix","regionInfoProvider","serviceId","urlParser","ClientDefaultValues","runtime","base64Decoder","base64Encoder","bodyLengthChecker","credentialDefaultProvider","defaultUserAgentProvider","clientVersion","version","maxAttempts","requestHandler","sha256","streamCollector","utf8Decoder","utf8Encoder","_super","LexRuntimeServiceClient","configuration","_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","IntentSummary","GetSessionResponse","recentIntentSummaryView","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","resolveMiddleware","clientStack","serialize","deserialize","stack","concat","clientName","commandName","handlerExecutionContext","inputFilterSensitiveLog","outputFilterSensitiveLog","request","handle","PostContentCommand","convert","ReadableStream","Response","arrayBuffer","__extends","extendStatics","d","b","setPrototypeOf","__proto__","__","constructor","create","AWSLexProvider","_botsCompleteCallback","reportBotStatus","botname","setTimeout","sendMessage","credentials","params","postTextCommand","postContentCommand","audioArray","Credentials","lexRuntimeServiceClient","customUserAgent","botAlias","alias","userId","identityId","contentType","inputStream","accept","callback","ErrorEvent","InteractionsClass","_options","_pluggables","getModuleName","opt","Interactions","bots","aws_bots_config","bots_config","keys","isArray","forEach","bot","key","find","providerName","addPluggable","pluggable","botProvider","Amplify","register","String","__read","o","m","ar","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-39a2e022.a9972ce8.js","sourcesContent":["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 } 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","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\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;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\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":""}