{"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:
For a user input \"I would like a pizza\", Amazon Lex might return a response with a\n * message eliciting slot data (for example, PizzaSize): \"What size pizza would you like?\"\n *
\n *After the user provides all of the pizza order information, Amazon Lex might return a\n * response with a message to obtain user confirmation \"Proceed with the pizza order?\".\n *
\n *After the user replies to a confirmation prompt with a \"yes\", Amazon Lex might return\n * a conclusion statement: \"Thank you, your cheese pizza has been ordered.\".
\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:
If the message is to elicit slot data, Amazon Lex returns the following context\n * information:
\n *\n * dialogState
set to ElicitSlot
\n * intentName
set to the intent name in the current context
\n * slotToElicit
set to the slot name for which the message
is\n * eliciting information
\n * slots
set to a map of slots, configured for the intent, with currently\n * known values
If the message is a confirmation prompt, the dialogState
is set to\n * ConfirmIntent and SlotToElicit
is set to null.
If the message is a clarification prompt (configured for the intent) that indicates\n * that user intent is not understood, the dialogState
is set to ElicitIntent\n * and slotToElicit
is set to null.
In addition, Amazon Lex also returns your application-specific\n * sessionAttributes
. For more information, see Managing Conversation Context.
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.
In response, Amazon Lex returns the next message to convey to the user. Consider the following\n * example messages:
\n * For a user input \"I would like a pizza,\" Amazon Lex might return a response with a message\n * eliciting slot data (for example, PizzaSize
): \"What size pizza would you\n * like?\".
After the user provides all of the pizza order information, Amazon Lex might return a\n * response with a message to get user confirmation: \"Order the pizza?\".
\n *After the user replies \"Yes\" to the confirmation prompt, Amazon Lex might return a\n * conclusion statement: \"Thank you, your cheese pizza has been ordered.\".
\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:
If the message is to elicit slot data, Amazon Lex returns the following context\n * information:
\n *\n * x-amz-lex-dialog-state
header set to ElicitSlot
\n *
\n * x-amz-lex-intent-name
header set to the intent name in the current\n * context
\n * x-amz-lex-slot-to-elicit
header set to the slot name for which the\n * message
is eliciting information
\n * x-amz-lex-slots
header set to a map of slots configured for the intent\n * with their current values
If the message is a confirmation prompt, the x-amz-lex-dialog-state
\n * header is set to Confirmation
and the x-amz-lex-slot-to-elicit
\n * header is omitted.
If the message is a clarification prompt configured for the intent, indicating that\n * the user intent is not understood, the x-amz-dialog-state
header is set to\n * ElicitIntent
and the x-amz-slot-to-elicit
header is omitted.\n *
In addition, Amazon Lex also returns your application-specific sessionAttributes
.\n * For more information, see Managing Conversation Context.